Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.42"
+@c \version "2.14.0"
@ignore
GDP TODO list
@table @code
+@cindex page numbers, auto-numbering
@item auto-first-page-number
@funindex auto-first-page-number
will result in the first page number remaining as is or being
increased by one. Default: @code{#f}.
+@cindex page numbers, specify the first
@item first-page-number
@funindex first-page-number
If set to true, a page number is printed on the first page.
+@cindex page numbers, suppress
@item print-page-number
@funindex print-page-number
The relative importance of page (vertical) spacing and line
(horizontal) spacing. High values will make page spacing more
-important. Default: @code{#10}.
+important. Default: @code{10}.
@item print-all-headers
@funindex print-all-headers
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
+@code{#t} the systems on all pages or just the last page
respectively will not be justified vertically. See
@ref{Fixed vertical spacing \paper variables}.
The @code{Page_turn_engraver} reads the context property
@code{minimumPageTurnLength} to determine how long a note-free section must
be before a page turn is considered. The default value for
-@code{minimumPageTurnLength} is @code{#(ly:make-moment 1 1)}. If you want
+@code{minimumPageTurnLength} is @code{(ly:make-moment 1 1)}. If you want
to disable page turns, you can set it to something very large.
@example
@node Within-system spacing properties
@unnumberedsubsubsec Within-system spacing properties
+@funindex staff-affinity
+@funindex staffgroup-staff-spacing
+@funindex staff-staff-spacing
+@funindex nonstaff-unrelatedstaff-spacing
+@funindex nonstaff-relatedstaff-spacing
+@funindex nonstaff-nonstaff-spacing
+@funindex default-staff-staff-spacing
+@funindex minimum-Y-extent
+@funindex extra-offset
+@funindex self-alignment-X
+@funindex X-offset
+@funindex VerticalAxisGroup
+
The within-system vertical spacing mechanisms are controlled by
two sets of grob properties. The first set is associated with the
@code{VerticalAxisGroup} grob, which is created by all staves and
spaced. Note that @code{@var{item2}} is not necessarily below
@code{@var{item1}}; for example,
@code{nonstaff-relatedstaff-spacing} will measure upwards from the
-non-staff line if @code{staff-affinity} is @code{#UP}.
+non-staff line if @code{staff-affinity} is @code{UP}.
Each distance is measured between the @emph{reference points} of
the two items. The reference point for a staff is the vertical
\context { \Dynamics \alignToZero }
\context { \FiguredBass \alignToZero }
\context { \Lyrics \alignToZero }
- \context { \NoteNames \alignToZero }
- \context { \ChordNames \alignToZero \lowerCaseChords }
+ \context { \NoteNames \alignToZero \staffAffinityDown }
+ \context { \ChordNames \alignToZero
+ \staffAffinityDown
+ \lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
\override BarLine #'stencil = ##f
\new RhythmicStaff {
\set RhythmicStaff.instrumentName = #"baseline "
\textLengthOn
- \labelContext "ChordNames" s1 |
- \labelContext "NoteNames" s1 |
+ \labelContext "ChordNames " s1 |
+ \labelContext "NoteNames " s1 |
\labelContext "Lyrics" s1 |
}
\new Lyrics { \lyrics { \skip 1*2 | ghijk1 | } }
\set RhythmicStaff.instrumentName = #"vertical center "
\labelContext "Dynamics" s1*3
}
- \new Dynamics { s2\mp s\fp }
+ \new Dynamics { s1\mp s\fp }
>>
%% The reference point for FiguredBass is its highest point
@end lilypond
Each of the vertical spacing grob properties (except
-@code{staff-affinity}) uses the same alist structure
-as the @code{\paper} spacing variables discussed in
+@code{staff-affinity}) uses the same alist structure as the
+@code{\paper} spacing variables discussed in
@ref{Flexible vertical spacing \paper variables}. Specific methods
for modifying alists are discussed in @ref{Modifying alists}.
Grob properties should be adjusted with an @code{\override} inside
@code{DOWN}; those at the bottom should use @code{UP}. Setting
@code{staff-affinity} for a staff causes it to be treated as a
non-staff line. Setting @code{staff-affinity} to @code{#f} causes
-a non-staff line to be treated as a staff.
-
-@c TODO: verify last clause below ("even if other...")
+a non-staff line to be treated as a staff. Setting
+@code{staff-affinity} to @code{UP}, @code{CENTER}, or @code{DOWN}
+causes a staff to be spaced as a non-staff line.
@item nonstaff-relatedstaff-spacing
The distance between the current non-staff line and the nearest
@code{CENTER}, then @code{nonstaff-relatedstaff-spacing} is used
for the nearest staves on @emph{both} sides, even if other
non-staff lines appear between the current one and either of the
-staves.
+staves. This means that the placement of a non-staff line depends
+on both the surrounding staves and the surrounding non-staff lines.
+Setting the @code{stretchability} of one of these types of spacing to
+a small value will make that spacing dominate. Setting the
+@code{stretchability} to a large value will make that spacing have
+little effect.
@item nonstaff-nonstaff-spacing
The distance between the current non-staff line and the next
@end table
@seealso
-Installed Files:
-@file{ly/engraver-init.ly},
-@file{scm/define-grobs.scm}.
+Notation Reference:
+@ref{Flexible vertical spacing \paper variables},
+@ref{Modifying alists}.
Internals Reference:
@rinternals{Contexts},
@rinternals{VerticalAxisGroup},
@rinternals{StaffGrouper}.
+Installed Files:
+@file{ly/engraver-init.ly},
+@file{scm/define-grobs.scm}.
+
@node Spacing of ungrouped staves
@unnumberedsubsubsec Spacing of ungrouped staves
duration is taken as the basis for the spacing, with the stipulation
that this shortest duration should always be equal to or shorter than
an 8th note. The shortest duration is printed when you run
-@code{lilypond} with the @code{--verbose} option.
+@code{lilypond} with the @option{--verbose} option.
These durations may also be customized. If you set the
@code{common-shortest-duration} in @rinternals{SpacingSpanner}, then
which is the reference duration against that all music will be spaced.
The LilyPond Scheme function @code{make-moment} takes two arguments
-- a numerator and denominator which together express some fraction of
-a whole note. The call @code{#(ly:make-moment 1 20)} therefore produces
+a whole note. The call @code{(ly:make-moment 1 20)} therefore produces
a reference duration of a twentieth note. Values such as
-@code{#(ly:make-moment 1 16)}, @code{#(ly:make-moment 1 8)}, and
-@code{#(ly:make-moment 3 97)} are all possible as well.
+@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)}, and
+@code{(ly:make-moment 3 97)} are all possible as well.
How do we select the right reference duration to pass to
@code{proportionalNotationDuration}? Usually by a process of trial