Guide, node Updating translation committishes..
@end ignore
-@c \version "2.17.28"
+@c \version "2.17.30"
@ignore
GDP TODO list
> and prints page number -1 on the second page, for example.
-In 5.2.1 the @refbugs (line 495 in spacing.itely on master) it
-states:
-
-"@code{layout-set-staff-size} does not change the distance between
-the
-staff lines."
-
-Could we add a sentence:
-"Use instead the pair fontSize = #@var{N}
- \override StaffSymbol.staff-space = #(magstep
-@var{N})
-inside the Staff context to change the size of the font and the
-distance between
-staff lines accordingly."
-
-Actually I found, that the @internalsref{StaffSymbol} at line 481
-sends to an incomplete
-documentation. The property staff-space is not explained here. I
-thought Y-extent might be of
-help, but it is in turn explained by x-space which again is
-missing from the list. Who has the
-knowledge to fix this?
-
-
Clarify
http://code.google.com/p/lilypond/issues/detail?id=68
@unnumberedsubsubsec Setting the paper size
@q{A4} is the default value when no explicit paper size is set. However,
-there are two functions that can be used to change it
-@code{set-default-paper-size},
+there are two functions that can be used to change it:
+
+@table @code
+@item set-default-paper-size
@example
#(set-default-paper-size "quarto")
@end example
-which must always be placed at the toplevel scope. and
-@code{set-paper-size},
+which must always be placed at the toplevel scope, and
+
+@item set-paper-size
@example
\paper @{
@end example
which must always be placed in a @code{\paper} block.
+@end table
If the @code{set-default-paper-size} function is used in the toplevel
-scope, it must come before the any @code{\paper} block.
+scope, it must come before any @code{\paper} block.
@code{set-default-paper-size} sets the paper size for all pages,
whereas @code{set-paper-size} only sets the paper size for the pages
that the @code{\paper} block applies to. For example, if the
@item ragged-bottom
@funindex ragged-bottom
-If set to true, systems will not spread vertically down the page.
-This does not affect the last page. This should be set to true
-for pieces that have only two or three systems per page, for
-example orchestral scores.
+If this is set to true,
+systems will be set at their natural spacing, neither compressed
+nor stretched vertically to fit the page.
@item ragged-last-bottom
@funindex ragged-last-bottom
-If set to false, systems will spread vertically down the last
-page. Pieces that amply fill two pages or more should have this
-set to false. It also affects the last page of book parts, i.e.
-parts of a book created with @code{\bookpart} blocks.
+If this is set to false, then the last page,
+and the last page in each section created with a @code{\bookpart} block,
+will be vertically justified in the same way as the earlier pages.
@end table
@cindex font size, setting
@cindex staff size, setting
@funindex layout file
+@funindex magnification->font-size
+@funindex magstep
+@funindex set-global-staff-size
+@funindex layout-set-staff-size
-The default @strong{staff size} is set to 20 points.
-This may be changed in two ways:
+The default @strong{staff size} is 20 points, which corresponds to
+a staff height of 7.03mm (one point is equal to 100/7227 of an
+inch, or 2540/7227 mm). The staff size may be changed in three
+ways:
-To set the staff size globally for all scores in a file (or
-in a @code{book} block, to be precise), use @code{set-global-staff-size}.
+@enumerate
+
+@item
+To set the staff size globally for all scores in a file (or in a
+@code{\book} block, to be precise), use
+@code{set-global-staff-size}:
@example
#(set-global-staff-size 14)
@end example
@noindent
-This sets the global default size to 14pt staff height and scales all
-fonts accordingly.
+The above example sets the global default staff size to 14pt
+(4.92mm) and scales all fonts accordingly.
+
+@item
+To set the staff size for a single score within a book, use
+@code{layout-set-staff-size} inside that score's @code{\layout}
+block:
-To set the staff size individually for each score, use
@example
-\score@{
+\score @{
@dots{}
\layout @{
- #(layout-set-staff-size 15)
+ #(layout-set-staff-size 14)
@}
@}
@end example
+@item
+To set the staff size for a single staff within a system, set the
+staff's font-size and staff-space using units relative to the
+score's default staff size. Using relative units prevents the
+proportion of staff sizes from being altered if the default staff
+size is modified with @code{set-global-staff-size} or
+@code{layout-set-staff-size}.
+
+For example, traditionally engraved chamber music scores with
+piano often used 7mm piano staves while the other staves were up
+to 5/7 as large (if space allowed), or down to 3/5 as large (if
+space was cramped). To achieve the 5/7 proportion, use:
+
+@example
+\score @{
+ <<
+ \new Staff \with @{
+ fontSize = #(magnification->font-size 5/7)
+ \override StaffSymbol.staff-space = #5/7
+ @} @{ @dots{} @}
+ \new PianoStaff @{ @dots{} @}
+ >>
+@}
+@end example
+
+If you happen to know which @code{fontSize} you wish to use, you
+could use the following form:
+
+@example
+\score @{
+ <<
+ \new Staff \with @{
+ fontSize = -3
+ \override StaffSymbol.staff-space = #(magstep -3)
+ @} @{ @dots{} @}
+ \new PianoStaff @{ @dots{} @}
+ >>
+@}
+@end example
+
+To emulate the look of traditional engraving, it is best to avoid
+reducing the thickness of the staff lines.
+
+@end enumerate
+
+
+@subheading Automatic font weight at different sizes
+
The Feta font provides musical symbols at eight different
sizes. Each font is tuned for a different staff size: at a smaller size
the font becomes heavier, to match the relatively heavier staff lines.
The recommended font sizes are listed in the following table:
-@quotation
@multitable @columnfractions .15 .2 .22 .2
-
-@item @b{font name}
-@tab @b{staff height (pt)}
-@tab @b{staff height (mm)}
-@tab @b{use}
-
-@item feta11
-@tab 11.22
-@tab 3.9
-@tab pocket scores
-
-@item feta13
-@tab 12.60
-@tab 4.4
-@tab
-
-@item feta14
-@tab 14.14
-@tab 5.0
-@tab
-
-@item feta16
-@tab 15.87
-@tab 5.6
-@tab
-
-@item feta18
-@tab 17.82
-@tab 6.3
-@tab song books
-
-@item feta20
-@tab 20
-@tab 7.0
-@tab standard parts
-
-@item feta23
-@tab 22.45
-@tab 7.9
-@tab
-
-@item feta26
-@tab 25.2
-@tab 8.9
-@tab
-@c modern rental material?
-
+@item @b{font name} @tab @b{staff height (pt)} @tab @b{staff height (mm)} @tab @b{use}
+@item feta11 @tab 11.22 @tab 3.9 @tab pocket scores
+@item feta13 @tab 12.60 @tab 4.4 @tab
+@item feta14 @tab 14.14 @tab 5.0 @tab
+@item feta16 @tab 15.87 @tab 5.6 @tab
+@item feta18 @tab 17.82 @tab 6.3 @tab song books
+@item feta20 @tab 20 @tab 7.0 @tab standard parts
+@item feta23 @tab 22.45 @tab 7.9 @tab
+@item feta26 @tab 25.2 @tab 8.9 @tab @c modern rental material?
@end multitable
-@end quotation
-
-These fonts are available in any sizes. The context property
-@code{fontSize} and the layout property @code{staff-space} (in
-@rinternals{StaffSymbol}) can be used to tune the size for individual
-staves. The sizes of individual staves are relative to the global size.
@seealso
Notation Reference:
inserted at top-level, between scores and top-level markups.
There are also analogous settings to @code{ragged-right} and
-@code{ragged-last} which have the same effect on vertical spacing:
-@code{ragged-bottom} and @code{ragged-last-bottom}. If set to
-@code{#t} the systems on all pages or just the last page
-respectively will not be justified vertically. See
+@code{ragged-last} which have the same effect on vertical spacing.
+If @code{ragged-bottom} is set to @code{#t} the systems will not
+be justified vertically. When @code{ragged-last-bottom} is set
+to @code{#t}, as it is by default, empty space is allowed at the
+bottom of the final page (or the final page in each
+@code{\bookpart}). See
@ref{Fixed vertical spacing paper variables,,Fixed vertical spacing @code{@bs{}paper} variables}.
Page breaks are computed by the @code{page-breaking} function. LilyPond
alignToZero = \with {
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #zero-space
\override VerticalAxisGroup.nonstaff-nonstaff-spacing = #zero-space
+ \override VerticalAxisGroup.staff-affinity = #DOWN
+ \remove Text_engraver % avoid having two
+ \consists Text_engraver
}
lowerCaseChords = \with {
chordNameLowercaseMinor = ##t
}
-staffAffinityDown = \with {
- \override VerticalAxisGroup.staff-affinity = #DOWN
-}
labelContext =
#(define-music-function
(parser location context)
(string?)
- #{ s1*0^\markup { \typewriter #context } #})
+ #{ s1*0^\markup { \upright {\typewriter #context } } #})
\layout {
\context { \Dynamics \alignToZero }
\context { \FiguredBass \alignToZero }
\context { \Lyrics \alignToZero }
- \context { \NoteNames \alignToZero \staffAffinityDown }
- \context { \ChordNames \alignToZero
- \staffAffinityDown
- \lowerCaseChords }
- \context { \FretBoards \alignToZero \staffAffinityDown }
+ \context { \NoteNames \alignToZero }
+ \context { \ChordNames \alignToZero \lowerCaseChords }
+ \context { \FretBoards \alignToZero }
\context { \Score
- \override BarLine.stencil = ##f
+ \omit BarLine
\override DynamicText.self-alignment-X = #-1
\override FretBoard.X-offset = #1.75
- \override InstrumentName.minimum-Y-extent = #'(-2 . 2)
- \override InstrumentName.extra-offset = #'(0 . -0.5)
- \override TextScript.minimum-Y-extent = #'(-2 . 3)
- \override TimeSignature.stencil = ##f
+ \override InstrumentName.minimum-Y-extent = #'(-1 . 2)
+ \textLengthOn
+ \omit TimeSignature
}
}
%% These contexts have reference points at the baseline:
%% ChordNames, NoteNames, and Lyrics
<<
- \new ChordNames { \chords { g1:m } }
- \new NoteNames { s1 | g1 | }
- \new RhythmicStaff {
- \set RhythmicStaff.instrumentName = #"baseline "
- \textLengthOn
- \labelContext "ChordNames " s1 |
- \labelContext "NoteNames " s1 |
- \labelContext "Lyrics" s1 |
- }
- \new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
+ \new ChordNames { \chords { \labelContext "ChordNames" g1:m } }
+ \new NoteNames { s1 |\labelContext "NoteNames" g1 | }
+ \new Lyrics { \lyrics { \skip 1*2 | \labelContext "Lyrics" ghijk1 | } }
+ \new RhythmicStaff \with { instrumentName = #"baseline " } s1*3
>>
%% The reference point for Dynamics is the midline of 'm' in the font
<<
- \new RhythmicStaff {
- \set RhythmicStaff.instrumentName = #"mid-height "
- \labelContext "Dynamics" s1*3
- }
- \new Dynamics { s1\mp s\fp }
+ \new Dynamics { \labelContext "Dynamics" s1\mp s\fp }
+ \new RhythmicStaff \with { instrumentName = #"mid-height " } s1*3
>>
%% The reference point for FiguredBass is its highest point
<<
- \new RhythmicStaff {
- \set RhythmicStaff.instrumentName = #"highest point "
- \labelContext "FiguredBass" s1
- }
- \new FiguredBass { \figuremode { <6 5>1 } }
+ \new FiguredBass { \labelContext "FiguredBass" \figuremode { <6 5>1 } }
+ \new RhythmicStaff \with { instrumentName = #"highest point " } s1
>>
%% The reference point for FretBoards is the top line
\include "predefined-guitar-fretboards.ly"
<<
- \new FretBoards { \chordmode { e1 } }
- \new RhythmicStaff {
- \set RhythmicStaff.instrumentName = #"top line "
- \labelContext "FretBoards " s1
- }
+ \new FretBoards { \labelContext "FretBoards" \chordmode { e1 } }
+ \new RhythmicStaff \with { instrumentName = #"top line " } s1
>>
@end lilypond
fixed amount of space (which is controlled by
@code{shortest-duration-space} in the @rinternals{SpacingSpanner}
object). The longer the duration, the more space it gets: doubling a
-duration adds a fixed amount (this amount is controlled by
-@code{spacing-increment}) of space to the note.
+duration adds @code{spacing-increment} of space to the note.
For example, the following piece contains lots of half, quarter, and
8th notes; the eighth note is followed by 1 note head width (NHW).
We start with the following one-measure example, which uses classical
spacing with ragged-right turned on.
+@c The initial pitch is not necessary as long as RhythmicStaff is
+@c not preceded by other material in the score, but we don't want
+@c to explain that.
@lilypond[quote,verbatim,ragged-right]
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
}
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
\new RhythmicStaff {
- \tuplet 9/8 { c'8 c' c' c' c' c' c' c' c' }
+ \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
}
>>
}
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
\new RhythmicStaff {
- \tuplet 9/8 { c'8 c' c' c' c' c' c' c' c' }
+ \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
}
>>
\layout {
\score {
<<
\new RhythmicStaff {
- c'2 c'16 c' c' c' \tuplet 5/4 { c'16 c' c' c' c' }
+ c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
}
\new RhythmicStaff {
- \tuplet 9/8 { c'8 c' c' c' c' c' c' c' c' }
+ \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
}
>>
\layout {
@lilypond[quote,verbatim,ragged-right]
\new Staff {
\set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
- c''8 c'' c'' \clef alto d' d'2
+ c''8 8 8 \clef alto d'2 2
}
\new Staff {
\set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
\override Score.SpacingSpanner.strict-note-spacing = ##t
- c''8 c'' c'' \clef alto d' d'2
+ c''8 8 8 \clef alto d'2 2
}
@end lilypond