Guide, node Updating translation committishes..
@end ignore
-@c \version "2.16.0"
+@c \version "2.17.6"
@ignore
GDP TODO list
Could we add a sentence:
"Use instead the pair fontSize = #@var{N}
- \override StaffSymbol #'staff-space = #(magstep
+ \override StaffSymbol.staff-space = #(magstep
@var{N})
inside the Staff context to change the size of the font and the
distance between
@code{\paper} variables that deal with page layout are discussed
in later sections. The markup definitions that deal with headers,
footers, and titles are discussed in
-@ref{Custom headers footers and titles}.
+@ref{Custom titles headers and footers}.
Most @code{\paper} variables will only work in a @code{\paper}
block. The few that will also work in a @code{\layout} block are
@seealso
Notation Reference:
@ref{Paper size and automatic scaling},
-@ref{Custom headers footers and titles},
+@ref{Custom titles headers and footers},
@ref{The \layout block}.
Installed Files:
indent = 2\cm
\context @{
\StaffGroup
- \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
+ \override StaffGrouper.staff-staff-spacing.basic-distance = #8
@}
\context @{
\Voice
- \override TextScript #'padding = #1
- \override Glissando #'thickness = #3
+ \override TextScript.padding = #1
+ \override Glissando.thickness = #3
@}
@}
@end example
\layout @{
\context @{
\Voice
- \override TextScript #'color = #magenta
- \override Glissando #'thickness = #1.5
+ \override TextScript.color = #magenta
+ \override Glissando.thickness = #1.5
@}
@}
@end example
layoutVariable = \layout @{
\context @{
\Voice
- \override NoteHead #'font-size = #4
+ \override NoteHead.font-size = #4
@}
@}
@end example
it will hold the current @code{\layout} configuration with the
-@code{NoteHead #'font-size} override added, but this combination
+@code{NoteHead.font-size} override added, but this combination
is @emph{not} saved as the new current configuration. Be aware
that the @q{current configuration} is read when the variable is
defined and not when it is used, so the content of the variable
\layoutVariable
\context @{
\Voice
- \override NoteHead #'color = #red
+ \override NoteHead.color = #red
@}
@}
@end example
consist of:
@example
- TextScript #'padding = #1
- TextScript #'color = #magenta
- Glissando #'thickness = #1.5
- NoteHead #' font-size = #4
- NoteHead #' color = #red
+ TextScript.padding = #1
+ TextScript.color = #magenta
+ Glissando.thickness = #1.5
+ NoteHead.font-size = #4
+ NoteHead.color = #red
@end example
plus the @code{indent} and the @code{StaffGrouper} overrides.
only
@example
- NoteHead #' font-size= #4 % (written in the variable definition)
- NoteHead #' color = #red % (added after the use of the variable)
+ NoteHead.font-size = #4 % (written in the variable definition)
+ NoteHead.color = #red % (added after the use of the variable)
@end example
If carefully planned, @code{\layout} variables can be a valuable tool
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} \relative c'' {
<<
{ c2. \times 2/3 { c4 c c } c2. | }
Similarly, line breaks are normally forbidden when beams cross bar
lines. This behavior can be changed by setting
-@code{\override Beam #'breakable = ##t}:
+@code{\override Beam.breakable = ##t}:
@lilypond[quote,ragged-right,relative=2,verbatim]
-\override Beam #'breakable = ##t
+\override Beam.breakable = ##t
c2. c8[ c | \break
c8 c] c2. |
@end lilypond
>>
@end example
-@c TODO Check this
-A linebreaking configuration can be saved as a @file{.ly} file
-automatically. This allows vertical alignments to be stretched to
-fit pages in a second formatting run. This is fairly new and
-complicated. More details are available in
-@rlsr{Spacing}.
-
@predefined
@funindex \break
commands. There are two commands to override this behavior:
@example
-\override NonMusicalPaperColumn #'line-break-permission = ##f
-\override NonMusicalPaperColumn #'page-break-permission = ##f
+\override NonMusicalPaperColumn.line-break-permission = ##f
+\override NonMusicalPaperColumn.page-break-permission = ##f
@end example
When @code{line-break-permission} is overridden to false, Lily will insert
\layout {
\context {
\Score
- \override NonMusicalPaperColumn #'line-break-permission = ##f
- \override NonMusicalPaperColumn #'page-break-permission = ##f
+ \override NonMusicalPaperColumn.line-break-permission = ##f
+ \override NonMusicalPaperColumn.page-break-permission = ##f
}
}
}
\score {
\new Staff <<
\new Voice {
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
s1 * 2 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 35))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 35))
s1 * 3 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 70))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 70))
s1 * 6 \break
- \overrideProperty "Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 105))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 105))
s1 * 5 \break
}
\new Voice {
#(define zero-space '((padding . -inf.0) (basic-distance . 0)))
alignToZero = \with {
- \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = #zero-space
- \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = #zero-space
+ \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #zero-space
+ \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #zero-space
}
lowerCaseChords = \with {
chordNameLowercaseMinor = ##t
}
staffAffinityDown = \with {
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
}
labelContext =
#(define-music-function
\lowerCaseChords }
\context { \FretBoards \alignToZero \staffAffinityDown }
\context { \Score
- \override BarLine #'stencil = ##f
- \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 BarLine.stencil = ##f
+ \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
}
}
@example
\new Staff \with @{
- \override VerticalAxisGroup #'default-staff-staff-spacing
- #'basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@} @{ @dots{} @}
\new Staff \with @{
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 10)
(minimum-distance . 9)
(padding . 1)
\layout @{
\context @{
\Staff
- \override VerticalAxisGroup #'default-staff-staff-spacing
- #'basic-distance = #10
+ \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
@}
@}
@end example
\layout {
\context {
\Staff
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 8)
(minimum-distance . 7)
(padding . 1))
% By setting 'padding to a negative value, staves can be made to
% collide. The lowest acceptable value for 'basic-distance is 0.
\new Staff \with {
- \override VerticalAxisGroup #'default-staff-staff-spacing =
+ \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 3.5)
(padding . -10))
} { \clef bass g2 r | }
\layout {
\context {
\Score
- \override StaffGrouper #'staff-staff-spacing #'padding = #0
- \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #0
+ \override StaffGrouper.staff-staff-spacing.basic-distance = #1
}
}
<<
\new PianoStaff \with {
- \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
+ \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
} <<
\new Staff { c'1 }
\new Staff { c'1 }
\layout {
\context {
\Lyrics
- \override VerticalAxisGroup
- #'nonstaff-nonstaff-spacing #'stretchability = #1000
+ \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
}
}
\new StaffGroup
<<
\new Staff \with {
- \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
+ \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
} { c'1 }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #UP
+ \override VerticalAxisGroup.staff-affinity = #UP
} \lyricmode { up }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #CENTER
+ \override VerticalAxisGroup.staff-affinity = #CENTER
} \lyricmode { center }
\new Lyrics \with {
- \override VerticalAxisGroup #'staff-affinity = #DOWN
+ \override VerticalAxisGroup.staff-affinity = #DOWN
} \lyricmode { down }
\new Staff { c'1 }
>>
amount of vertical padding between staves and systems.
It is possible to approach vertical spacing in a different way
-using @code{NonMusicalPaperColumn #'line-break-system-details}.
+using @code{NonMusicalPaperColumn.line-break-system-details}.
While the flexible vertical spacing mechanisms specify vertical
-padding, @code{NonMusicalPaperColumn #'line-break-system-details}
+padding, @code{NonMusicalPaperColumn.line-break-system-details}
can specify exact vertical positions on the page.
-@code{NonMusicalPaperColumn #'line-break-system-details} accepts
+@code{NonMusicalPaperColumn.line-break-system-details} accepts
an associative list of three different settings:
@itemize
@code{\overrideProperty} command:
@example
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((Y-offset . 40))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20)
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
(Y-offset . 40))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((alignment-distances . (15)))
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((alignment-distances . (15)))
-\overrideProperty NonMusicalPaperColumn
- #'line-break-system-details #'((X-offset . 20)
+\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)
(Y-offset . 40)
(alignment-distances . (15)))
@end example
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 40))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 80))
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 80))
s1*5 \break
}
\new Voice { \repeat unfold 15 { c'4 c' c' c' } }
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 20)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20)
(alignment-distances . (15)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 60)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
(alignment-distances . (15)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 100)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100)
(alignment-distances . (15)))
s1*5 \break
}
<<
\new Staff <<
\new Voice {
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 0)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0)
(alignment-distances . (30 10)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 60)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)
(alignment-distances . (10 10)))
s1*5 \break
- \overrideProperty #"Score.NonMusicalPaperColumn"
- #'line-break-system-details #'((Y-offset . 100)
+ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100)
(alignment-distances . (10 30)))
s1*5 \break
}
of the distance between adjacent staff lines. Positive values move staves
and lyrics up, negative values move staves and lyrics down.
-@item Because the @code{NonMusicalPaperColumn #'line-break-system-details}
+@item Because the @code{NonMusicalPaperColumn.line-break-system-details}
settings given here allow the positioning of staves and systems anywhere
on the page, it is possible to violate paper or margin boundaries or even
to print staves or systems on top of one another. Reasonable values
@lilypond[quote,ragged-right,relative=2,verbatim]
c4_"Text"\pp
r2.
-\once \override TextScript #'outside-staff-priority = #1
+\once \override TextScript.outside-staff-priority = #1
c4_"Text"\pp % this time the text will be closer to the staff
r2.
% by setting outside-staff-priority to a non-number,
% we disable the automatic collision avoidance
-\once \override TextScript #'outside-staff-priority = ##f
-\once \override DynamicLineSpanner #'outside-staff-priority = ##f
+\once \override TextScript.outside-staff-priority = ##f
+\once \override DynamicLineSpanner.outside-staff-priority = ##f
c4_"Text"\pp % now they will collide
@end lilypond
@code{outside-staff-padding}.
@lilypond[quote,ragged-right,relative=2,verbatim,staffsize=18]
-\once \override TextScript #'outside-staff-padding = #0
+\once \override TextScript.outside-staff-padding = #0
a'^"This text is placed very close to the note"
-\once \override TextScript #'outside-staff-padding = #3
+\once \override TextScript.outside-staff-padding = #3
c^"This text is padded away from the previous text"
c^"This text is placed close to the previous text"
@end lilypond
c''2
% setting outside-staff-horizontal-padding fixes this
R1
-\once \override TextScript #'outside-staff-horizontal-padding = #1
+\once \override TextScript.outside-staff-horizontal-padding = #1
c,,4^"Text"
c4
c''2
{
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4 |
- \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
- \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
+ \override Staff.NoteSpacing.stem-spacing-correction = #1.5
+ \override Staff.StaffSpacing.stem-spacing-correction = #1.5
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4 |
}
adjusting the padding value as necessary.
@example
- \override Score.NonMusicalPaperColumn #'padding = #10
+ \override Score.NonMusicalPaperColumn.padding = #10
@end example
No work-around exists for decreasing the amount of space.
\layout {
\context {
\Score
- \override SpacingSpanner
- #'base-shortest-duration = #(ly:make-moment 1 16)
+ \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
}
}
}
By default, spacing in tuplets depends on various non-duration
factors (such as accidentals, clef changes, etc). To disregard
such symbols and force uniform equal-duration spacing, use
-@code{Score.SpacingSpanner #'uniform-stretching}. This
+@code{Score.SpacingSpanner.uniform-stretching}. This
property can only be changed at the beginning of a score,
@lilypond[quote,ragged-right,verbatim]
\layout {
\context {
\Score
- \override SpacingSpanner #'uniform-stretching = ##t
+ \override SpacingSpanner.uniform-stretching = ##t
}
}
}
regard for clefs, bar lines, and grace notes,
@lilypond[quote,ragged-right,relative=2,verbatim]
-\override Score.SpacingSpanner #'strict-note-spacing = ##t
+\override Score.SpacingSpanner.strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
@end lilypond
@item @code{proportionalNotationDuration}
@item @code{uniform-stretching}
@item @code{strict-note-spacing}
-@item @code{\remove Separating_line_group_engraver}
-@item @code{\override PaperColumn #'used = ##t}
+@item @code{\remove "Separating_line_group_engraver"}
+@item @code{\override PaperColumn.used = ##t}
@end itemize
In the examples that follow, we explore these five different
\context {
\Score
proportionalNotationDuration = #(ly:make-moment 1 20)
- \override SpacingSpanner #'uniform-stretching = ##t
+ \override SpacingSpanner.uniform-stretching = ##t
}
}
}
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
\new Staff {
\set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
- \override Score.SpacingSpanner #'strict-note-spacing = ##t
+ \override Score.SpacingSpanner.strict-note-spacing = ##t
c''8
c''8
c''8
that frequently appear in proportional scores. These include:
@itemize
-@item @code{\override SpacingSpanner #'strict-grace-spacing = ##t}
+@item @code{\override SpacingSpanner.strict-grace-spacing = ##t}
@item @code{tupletFullLength = ##t}
-@item @code{\override Beam #'breakable = ##t}
-@item @code{\override Glissando #'breakable = ##t}
-@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@item @code{\override Beam.breakable = ##t}
+@item @code{\override Glissando.breakable = ##t}
+@item @code{\override TextSpanner.breakable = ##t}
+@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
These settings space grace notes strictly, extend tuplet brackets to
@lilypond[verbatim,quote,relative=1]
e4 c g\f c
-e4 c g-\tweak #'X-offset #-2.7 -\tweak #'Y-offset #2.5 \f c
+e4 c g-\tweak X-offset #-2.7 -\tweak Y-offset #2.5 \f c
@end lilypond
@item
\layout {
\context {
\Score
- \override SpacingSpanner
- #'common-shortest-duration = #(ly:make-moment 1 2)
+ \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2)
}
}
}