@end menu
-@anchor{Multi measure rests}
-@unnumberedsubsubsec Multi measure rests
-
-@cindex multi measure rests
-@cindex full measure rests
-@cindex Rests, multi measure
-@cindex Rests, full measure
-@cindex whole rests for a full measure
-@funindex R
-
-Rests for one full measure (or many bars) are entered using @samp{R}. It
-is specifically meant for full bar rests and for entering parts: the rest
-can expand to fill a score with rests, or it can be printed as a single
-multi-measure rest. This expansion is controlled by the property
-@code{Score.skipBars}. If this is set to true, empty measures will not
-be expanded, and the appropriate number is added automatically
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\time 4/4 r1 | R1 | R1*2 \time 3/4 R2. \time 2/4 R2 \time 4/4
-\set Score.skipBars = ##t R1*17 R1*4
-@end lilypond
-
-The @code{1} in @code{R1} is similar to the duration notation used for
-notes. Hence, for time signatures other than 4/4, you must enter other
-durations. This can be done with augmentation dots or fractions
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\set Score.skipBars = ##t
-\time 3/4
-R2. | R2.*2
-\time 13/8
-R1*13/8
-R1*13/8*12 |
-\time 10/8 R4*5*4 |
-@end lilypond
-
-An @code{R} spanning a single measure is printed as either a whole rest
-or a breve, centered in the measure regardless of the time signature.
-
-If there are only a few measures of rest, LilyPond prints @q{church rests}
-(a series of rectangles) in the staff. To replace that with a simple
-rest, use @code{MultiMeasureRest.expand-limit}.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\set Score.skipBars = ##t
-R1*2 | R1*5 | R1*9
-\override MultiMeasureRest #'expand-limit = 1
-R1*2 | R1*5 | R1*9
-@end lilypond
-
-@cindex text on multi-measure rest
-@cindex script on multi-measure rest
-@cindex fermata on multi-measure rest
-
-Texts can be added to multi-measure rests by using the
-@var{note}-@code{markup} syntax @ref{Text markup}.
-A variable (@code{\fermataMarkup}) is provided for
-adding fermatas
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-\set Score.skipBars = ##t
-\time 3/4
-R2.*10^\markup { \italic "ad lib." }
-R2.^\fermataMarkup
-@end lilypond
-
-Warning! This text is created by @code{MultiMeasureRestText}, not
-@code{TextScript}.
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-\override TextScript #'padding = #5
-R1^"low"
-\override MultiMeasureRestText #'padding = #5
-R1^"high"
-@end lilypond
-
-If you want to have text on the left end of a multi-measure rest,
-attach the text to a zero-length skip note, i.e.,
-
-@example
-s1*0^"Allegro"
-R1*4
-@end example
-
-
-@seealso
-
-Program reference: @internalsref{MultiMeasureRestMusicGroup},
-@internalsref{MultiMeasureRest}.
-
-The layout object @internalsref{MultiMeasureRestNumber} is for the
-default number, and @internalsref{MultiMeasureRestText} for user
-specified texts.
-
-
-@refbugs
-
-It is not possible to use fingerings (e.g., @code{R1-4}) to put numbers
-over multi-measure rests. And the pitch of multi-measure rests (or
-staff-centered rests) can not be influenced.
-
-@cindex condensing rests
-
-There is no way to automatically condense multiple rests into a single
-multi-measure rest. Multi-measure rests do not take part in rest
-collisions.
-
-Be careful when entering multi-measure rests followed by whole
-notes. The following will enter two notes lasting four measures each
-@example
-R1*4 cis cis
-@end example
-When @code{skipBars} is set, the result will look OK, but the bar
-numbering will be off.
-
-
@anchor{Metronome marks}
@unnumberedsubsubsec Metronome marks
@end example
-@anchor{Rehearsal marks}
-@unnumberedsubsubsec Rehearsal marks
-
-@cindex Rehearsal marks
-@funindex \mark
-
-To print a rehearsal mark, use the @code{\mark} command
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c1 \mark \default
-c1 \mark \default
-c1 \mark #8
-c1 \mark \default
-c1 \mark \default
-@end lilypond
-
-@noindent
-The letter@tie{}@q{I} is skipped in accordance with engraving traditions.
-If you wish to include the letter @q{I}, then use
-
-@example
-\set Score.markFormatter = #format-mark-alphabet
-@end example
-
-The mark is incremented automatically if you use @code{\mark
-\default}, but you can also use an integer argument to set the mark
-manually. The value to use is stored in the property
-@code{rehearsalMark}.
-
-The style is defined by the property @code{markFormatter}. It is a
-function taking the current mark (an integer) and the current context
-as argument. It should return a markup object. In the following
-example, @code{markFormatter} is set to a canned procedure. After a
-few measures, it is set to function that produces a boxed number.
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-\set Score.markFormatter = #format-mark-numbers
-c1 \mark \default
-c1 \mark \default
-\set Score.markFormatter = #format-mark-box-numbers
-c1 \mark \default
-c1 \mark \default
-c1
-@end lilypond
-
-The file @file{scm/@/translation@/-functions@/.scm} contains the definitions
-of @code{format-mark-numbers} (the default format),
-@code{format-mark-box-numbers},
-@code{format-mark-letters} and @code{format-mark-box-letters}.
-These can be used as inspiration for other formatting functions.
-
-You may use @code{format-mark-barnumbers}, @code{format-mark-box-barnumbers},
-and @code{format-mark-circle-barnumbers} to get bar numbers instead of
-incremented numbers or letters.
-
-Other styles of rehearsal mark can be specified manually
-
-@example
-\mark "A1"
-@end example
-
-@noindent
-@code{Score.markFormatter} does not affect marks specified in this manner.
-However, it is possible to apply a @code{\markup} to the string.
-
-@example
-\mark \markup@{ \box A1 @}
-@end example
-
-@cindex segno
-@cindex coda
-@cindex D.S al Fine
-
-Music glyphs (such as the segno sign) may be printed inside
-a @code{\mark}
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative]
-c1 \mark \markup { \musicglyph #"scripts.segno" }
-c1 \mark \markup { \musicglyph #"scripts.coda" }
-c1 \mark \markup { \musicglyph #"scripts.ufermata" }
-c1
-@end lilypond
-
-@noindent
-See @ref{The Feta font}, for a list of symbols which may be
-printed with @code{\musicglyph}.
-
-For common tweaks to the positioning of rehearsal marks, see @ref{Text marks}.
-
-@seealso
-
-This manual: @ref{Text marks}.
-
-Program reference: @internalsref{RehearsalMark}.
-
-Init files: @file{scm/@/translation@/-functions@/.scm} contains the
-definition of @code{format-mark-numbers} and
-@code{format-mark-letters}. They can be used as inspiration for other
-formatting functions.
-
-Examples: @lsr{parts,rehearsal-mark-numbers.ly}
-
-
-@anchor{Bar numbers}
-@unnumberedsubsubsec Bar numbers
-
-@cindex Bar numbers
-@cindex measure numbers
-@funindex currentBarNumber
-
-Bar numbers are printed by default at the start of the line. The
-number itself is stored in the @code{currentBarNumber} property, which
-is normally updated automatically for every measure.
-
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
-\repeat unfold 4 {c4 c c c} \break
-\set Score.currentBarNumber = #50
-\repeat unfold 4 {c4 c c c}
-@end lilypond
-
-Bar numbers may only be printed at bar lines; to print a bar
-number at the beginning of a piece, an empty bar line must
-be added
-
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
-\set Score.currentBarNumber = #50
-\bar ""
-\repeat unfold 4 {c4 c c c} \break
-\repeat unfold 4 {c4 c c c}
-@end lilypond
-
-Bar numbers can be typeset at regular intervals instead of at the
-beginning of each line. This is illustrated in the following example,
-whose source is available as
-@lsr{staff,making-bar-numbers-appear-at-regular-intervals.ly}.
-
-@lilypondfile[ragged-right,quote]{bar-number-regular-interval.ly}
-
-Bar numbers can be removed entirely by removing the Bar number
-engraver from the score.
-
-@lilypond[verbatim,ragged-right,quote]
-\layout {
- \context {
- \Score
- \remove "Bar_number_engraver"
- }
-}
-\relative c''{
-c4 c c c \break
-c4 c c c
-}
-@end lilypond
-
-
-@seealso
-
-Program reference: @internalsref{BarNumber}.
-
-Examples: @lsrdir{staff}
-
-
-@refbugs
-
-Bar numbers can collide with the @internalsref{StaffGroup} bracket, if
-there is one at the top. To solve this, the
-@code{padding} property of @internalsref{BarNumber} can be
-used to position the number correctly.
-
-
@anchor{Instrument names}
@unnumberedsubsubsec Instrument names
-@anchor{Aligning to cadenzas}
-@unnumberedsubsubsec Aligning to cadenzas
-
-In an orchestral context, cadenzas present a special problem:
-when constructing a score that includes a cadenza, all other
-instruments should skip just as many notes as the length of the
-cadenza, otherwise they will start too soon or too late.
-
-A solution to this problem are the functions @code{mmrest-of-length}
-and @code{skip-of-length}. These Scheme functions take a piece of music
-as argument, and generate a @code{\skip} or multi-rest, exactly as
-long as the piece. The use of @code{mmrest-of-length} is demonstrated
-in the following example.
-
-@lilypond[verbatim,ragged-right,quote]
-cadenza = \relative c' {
- c4 d8 << { e f g } \\ { d4. } >>
- g4 f2 g4 g
-}
-
-\new GrandStaff <<
- \new Staff { \cadenza c'4 }
- \new Staff {
- #(ly:export (mmrest-of-length cadenza))
- c'4
- }
->>
-@end lilypond
-
-
@node Contemporary notation
@end menu
-@anchor{Polymetric notation}
-@unnumberedsubsubsec Polymetric notation
-
-@cindex double time signatures
-@cindex signatures, polymetric
-@cindex polymetric signatures
-@cindex meter, polymetric
-
-Double time signatures are not supported explicitly, but they can be
-faked. In the next example, the markup for the time signature is
-created with a markup text. This markup text is inserted in the
-@internalsref{TimeSignature} grob. See also
-@lsr{contemporary,compound-time-signature}.
-
-@lilypond[verbatim,ragged-right]
-% create 2/4 + 5/8
-tsMarkup =\markup {
- \override #'(baseline-skip . 2) \number {
- \column { "2" "4" }
- \vcenter "+"
- \bracket \column { "5" "8" }
- }
-}
-
-{
- \override Staff.TimeSignature #'stencil = #ly:text-interface::print
- \override Staff.TimeSignature #'text = #tsMarkup
- \time 3/2
- c'2 \bar ":" c'4 c'4.
-}
-@end lilypond
-
-Each staff can also have its own time signature. This is done by
-moving the @internalsref{Timing_translator} to the @internalsref{Staff}
-context.
-
-@example
-\layout @{
- \context @{ \Score
- \remove "Timing_translator"
- \remove "Default_bar_line_engraver"
- @}
- \context @{
- \Staff
- \consists "Timing_translator"
- \consists "Default_bar_line_engraver"
- @}
-
-@}
-@end example
-
-
-Now, each staff has its own time signature.
-@example
-<<
- \new Staff @{
- \time 3/4
- c4 c c | c c c |
- @}
- \new Staff @{
- \time 2/4
- c4 c | c c | c c
- @}
- \new Staff @{
- \time 3/8
- c4. c8 c c c4. c8 c c
- @}
->>
-@end example
-
-@lilypond[quote,ragged-right]
-\layout{
- \context{
- \Score
- \remove "Timing_translator"
- \remove "Default_bar_line_engraver"
- }
- \context{ \Staff
- \consists "Timing_translator"
- \consists "Default_bar_line_engraver"
- }
-}
-
-\relative c' <<
- \new Staff {
- \time 3/4
- c4 c c | c c c |
- }
- \new Staff {
- \time 2/4
- c4 c | c c | c c
- }
- \new Staff {
- \time 3/8
- c4. c8 c c c4. c8 c c
- }
->>
-@end lilypond
-
-
-A different form of polymetric notation is where note lengths have
-different values across staves.
-
-This notation can be created by setting a common time signature for
-each staff but replacing it manually using
-@code{timeSignatureFraction} to the desired fraction. Then the printed
-durations in each staff are scaled to the common time signature.
-The latter is done with @code{\compressMusic}, which is used similar
-to @code{\times}, but does not create a tuplet bracket. The syntax is
-@example
-\compressMusic #'(@var{numerator} . @var{denominator}) @var{musicexpr}
-@end example
-
-
-
-In this example, music with the time signatures of 3/4, 9/8, and 10/8 are
-used in parallel. In the second staff, shown durations are multiplied by
-2/3, so that 2/3 * 9/8 = 3/4, and in the third staff, shown durations are
-multiplied by 3/5, so that 3/5 * 10/8 = 3/4.
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-\relative c' { <<
- \new Staff {
- \time 3/4
- c4 c c | c c c |
- }
- \new Staff {
- \time 3/4
- \set Staff.timeSignatureFraction = #'(9 . 8)
- \compressMusic #'(2 . 3)
- \repeat unfold 6 { c8[ c c] }
- }
- \new Staff {
- \time 3/4
- \set Staff.timeSignatureFraction = #'(10 . 8)
- \compressMusic #'(3 . 5) {
- \repeat unfold 2 { c8[ c c] }
- \repeat unfold 2 { c8[ c] }
- | c4. c4. \times 2/3 { c8 c c } c4
- }
- }
->> }
-@end lilypond
-
-
-
-
-@refbugs
-
-When using different time signatures in parallel, the spacing is
-aligned vertically, but bar lines distort the regular spacing.
-
-
-@anchor{Time administration}
-@unnumberedsubsubsec Time administration
-
-@cindex Time administration
-
-Time is administered by the @internalsref{Time_signature_engraver},
-which usually lives in the @internalsref{Score} context. The
-bookkeeping deals with the following variables
-
-@table @code
-@item currentBarNumber
-The measure number.
-
-@item measureLength
-The length of the measures in the current time signature. For a 4/4
-time this is@tie{}1, and for 6/8 it is 3/4.
-
-@item measurePosition
-The point within the measure where we currently are. This quantity
-is reset to@tie{}0 whenever it exceeds @code{measureLength}. When that
-happens, @code{currentBarNumber} is incremented.
-
-@item timing
-If set to true, the above variables are updated for every time
-step. When set to false, the engraver stays in the current measure
-indefinitely.
-@end table
-
-Timing can be changed by setting any of these variables explicitly.
-In the next example, the 4/4 time signature is printed, but
-@code{measureLength} is set to 5/4. After a while, the measure is
-shortened by 1/8, by setting @code{measurePosition} to 7/8 at 2/4
-in the measure, so the next bar line will fall at 2/4 + 3/8. The
-3/8 arises because 5/4 normally has 10/8, but we have manually
-set the measure position to be 7/8 and 10/8 - 7/8 = 3/8.
-
-@lilypond[quote,ragged-right,verbatim,relative,fragment]
-\set Score.measureLength = #(ly:make-moment 5 4)
-c1 c4
-c1 c4
-c4 c4
-\set Score.measurePosition = #(ly:make-moment 7 8)
-b8 b b
-c4 c1
-@end lilypond
-
-@noindent
-As the example illustrates, @code{ly:make-moment n m} constructs a
-duration of n/m of a whole note. For example, @code{ly:make-moment 1 8} is
-an eighth
-note duration and @code{ly:make-moment 7 16} is the duration of
-seven sixteenths notes.
-
-
-@anchor{Proportional notation (introduction)}
-@unnumberedsubsubsec Proportional notation (introduction)
-@cindex Proportional notation
-
-See @ref{Proportional notation}.
-
-
-TODO: remove all this stuff?
-
-Notes can be spaced proportionally to their time-difference by
-assigning a duration to @code{proportionalNotationDuration}
-
-@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
-<<
- \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
- \new Staff { c8[ c c c c c] c4 c2 r2 }
- \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
->>
-@end lilypond
-
-Setting this property only affects the ideal spacing between
-consecutive notes. For true proportional notation, the following
-settings are also required.
-
-@itemize @bullet
-
-@item True proportional notation requires that symbols are allowed to
-overstrike each other. That is achieved by removing the
-@internalsref{Separating_line_group_engraver} from
-@internalsref{Staff} context.
-
-@item Spacing influence of prefatory matter (clefs, bar lines, etc.)
-is removed by setting the @code{strict-note-spacing} property to
-@code{#t} in @internalsref{SpacingSpanner} grob.
-
-@item Optical spacing tweaks are switched by setting
-@code{uniform-stretching} in @internalsref{SpacingSpanner} to true.
-
-
-@end itemize
-
-@seealso
-
-Examples: @lsr{spacing,proportional@/-spacing@/.ly},
-@lsr{spacing,proportional@/-strict@/-grace@/-notes@/.ly}, and
-@lsr{spacing,proportional@/-strict@/-notespacing@/.ly}
-
-An example of strict proportional notation is in the
-example file @file{input/proportional.ly}.
-
@anchor{Clusters}
@unnumberedsubsubsec Clusters
Program reference: @internalsref{NoteHead}.
-@anchor{Feathered beams}
-@unnumberedsubsubsec Feathered beams
-
-Feathered beams are printed by setting the @code{grow-direction}
-property of a @code{Beam}. The @code{\featherDurations} function
-can be used to adjust note durations.
-
-@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
-\override Beam #'grow-direction = #LEFT
-\featherDurations #(ly:make-moment 5 4)
-{
- c16[ c c c c c c]
-}
-@end lilypond
-
-@refbugs
-
-The @code{\featherDurations} command only works with very short
-music snippets.
-
@anchor{Improvisation}
@unnumberedsubsubsec Improvisation
This chapter explains how to use basic notation features.
@menu
-* Rhythms::
* Polyphony::
* Staff notation::
* Connecting notes::
-@anchor{Rests}
-@unnumberedsubsubsec Rests
-@cindex Rests
-
-@funindex \rest
-@funindex r
-
-Rests are entered like notes with the note name @code{r}
-
-@lilypond[fragment,quote,ragged-right,verbatim]
-r1 r2 r4 r8
-@end lilypond
-
-Whole bar rests, centered in middle of the bar,
-must be done with multi-measure rests. They can be used for a
-single bar as well as many bars, and are discussed in
-@ref{Multi measure rests}.
-
-To explicitly specify a rest's vertical position, write a note
-followed by @code{\rest}. A rest will be placed in the position
-where the note would appear,
-
-@lilypond[fragment,quote,ragged-right,verbatim]
-a'4\rest d'4\rest
-@end lilypond
-
-@noindent
-This makes manual formatting of
-polyphonic music much easier, since the automatic rest collision
-formatter will leave these rests alone.
-
-@seealso
-
-Program reference: @internalsref{Rest}.
-
-
-@anchor{Skips}
-@unnumberedsubsubsec Skips
-
-@cindex Skip
-@cindex Invisible rest
-@cindex Space note
-@funindex \skip
-@funindex s
-
-An invisible rest (also called a @q{skip}) can be entered like a note
-with note name @samp{s} or with @code{\skip @var{duration}}
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-a4 a4 s4 a4 \skip 1 a4
-@end lilypond
-
-The @code{s} syntax is only available in note mode and chord mode. In
-other situations, for example, when entering lyrics, you should use
-the @code{\skip} command
-
-@lilypond[quote,ragged-right,verbatim]
-<<
- \relative { a'2 a2 }
- \new Lyrics \lyricmode { \skip 2 bla2 }
->>
-@end lilypond
-
-The skip command is merely an empty musical placeholder. It does not
-produce any output, not even transparent output.
-
-The @code{s} skip command does create @internalsref{Staff} and
-@internalsref{Voice} when necessary, similar to note and rest
-commands. For example, the following results in an empty staff.
-
-@lilypond[quote,ragged-right,verbatim]
-{ s4 }
-@end lilypond
-
-The fragment @code{@{ \skip 4 @} } would produce an empty page.
-
-@seealso
-
-Program reference: @internalsref{SkipMusic}.
-
-
-
-@node Rhythms
-@section Rhythms
-
-This section discusses rhythms, durations, and bars.
-
-@menu
-* Durations::
-* Augmentation dots::
-* Tuplets::
-* Scaling durations::
-* Bar check::
-* Barnumber check::
-* Automatic note splitting::
-@end menu
-
-
-@anchor{Durations}
-@unnumberedsubsubsec Durations
-
-@cindex duration
-@funindex \longa
-@funindex \breve
-@funindex \maxima
-
-In Note, Chord, and Lyrics mode, durations are designated by numbers and
-dots: durations are entered as their reciprocal values. For example, a
-quarter note is entered using a @code{4} (since it is a 1/4 note), while
-a half note is entered using a @code{2} (since it is a 1/2 note). For
-notes longer than a whole you must use the @code{\longa} and
-@code{\breve} commands
-
-@example
-c'\breve
-c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
-r\longa r\breve
-r1 r2 r4 r8 r16 r32 r64 r64
-@end example
-
-@lilypond[quote]
-\score {
-\relative c'' {
- a\breve*1/2 \autoBeamOff
- a1 a2 a4 a8 a16 a32 a64 a64
- \bar "empty"
- \break
- r\longa*1/4 r\breve *1/2
- r1 r2 r4 r8 r16 r32 r64 r64
- }
- \layout {
- ragged-right = ##t
- indent=0\mm
- \context {
- \Score
- \remove "Bar_number_engraver"
- }
- \context {
- \Staff
- \remove "Clef_engraver"
- \override StaffSymbol #'transparent = ##t
- \override TimeSignature #'transparent = ##t
- \override BarLine #'transparent = ##t
- \consists "Pitch_squash_engraver"
- }
- }
-}
-@end lilypond
-
-If the duration is omitted then it is set to the previously entered
-duration. The default for the first note is a quarter note.
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-{ a a a2 a a4 a a1 a }
-@end lilypond
-
-
-@anchor{Augmentation dots}
-@unnumberedsubsubsec Augmentation dots
-
-@funindex .
-
-To obtain dotted note lengths, simply add a dot (@samp{.}) to
-the number. Double-dotted notes are produced in a similar way.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-a'4 b' c''4. b'8 a'4. b'4.. c''8.
-@end lilypond
-
-@refcommands
-
-Dots are normally moved up to avoid staff lines, except in polyphonic
-situations. The following commands may be used to force a particular
-direction manually
-
-@funindex \dotsUp
-@code{\dotsUp},
-@funindex \dotsDown
-@code{\dotsDown},
-@funindex \dotsNeutral
-@code{\dotsNeutral}.
-
-@seealso
-
-Program reference: @internalsref{Dots}, and @internalsref{DotColumn}.
-
-
-@anchor{Tuplets}
-@unnumberedsubsubsec Tuplets
-
-@cindex tuplets
-@cindex triplets
-@funindex \times
-
-Tuplets are made out of a music expression by multiplying all durations
-with a fraction
-
-@example
-\times @var{fraction} @var{musicexpr}
-@end example
-
-@noindent
-The duration of @var{musicexpr} will be multiplied by the fraction.
-The fraction's denominator will be printed over the notes, optionally
-with a bracket. The most common tuplet is the triplet in which 3
-notes have the length of 2, so the notes are 2/3 of their written
-length
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-g'4 \times 2/3 {c'4 c' c'} d'4 d'4
-@end lilypond
-
-Tuplets may be nested, for example,
-
-@lilypond[fragment,ragged-right,verbatim,relative=2]
-\override TupletNumber #'text = #tuplet-number::calc-fraction-text
-\times 4/6 {
- a4 a
- \times 3/5 { a a a a a }
-}
-@end lilypond
-
-@refcommands
-
-@funindex \tupletUp
-@code{\tupletUp},
-@funindex \tupletDown
-@code{\tupletDown},
-@funindex \tupletNeutral
-@code{\tupletNeutral}.
-
-
-@commonprop
-
-@funindex tupletNumberFormatFunction
-@cindex tuplet formatting
-
-The property @code{tupletSpannerDuration} specifies how long each
-bracket should last. With this, you can make lots of tuplets while
-typing @code{\times} only once, thus saving lots of typing. In the next
-example, there are two triplets shown, while @code{\times} was only
-used once
-
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
-\set tupletSpannerDuration = #(ly:make-moment 1 4)
-\times 2/3 { c8 c c c c c }
-@end lilypond
-
-@noindent
-For more information about @code{make-moment}, see
-@ref{Time administration}.
-
-The format of the number is determined by the property @code{text} in
-@code{TupletNumber}. The default prints only the denominator, but if
-it is set to the function @code{tuplet-number::calc-fraction-text},
-@var{num}:@var{den} will be printed instead.
-
-To avoid printing tuplet numbers, use
-
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
-\times 2/3 { c8 c c } \times 2/3 { c8 c c }
-\override TupletNumber #'transparent = ##t
-\times 2/3 { c8 c c } \times 2/3 { c8 c c }
-@end lilypond
-
-Use the @code{\tweak} function to override nested tuplets beginning at the
-same music moment. In this example, @code{\tweak} specifies fraction
-text for the
-outer @code{TupletNumber} and denominator text for the @code{TupletNumber}
-of the first of the three inner tuplets.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff {
- \tweak #'text #tuplet-number::calc-fraction-text
- \times 4/3 {
- \tweak #'text #tuplet-number::calc-denominator-text
- \times 2/3 { c'8[ c'8 c'8] }
- \times 2/3 { c'8[ c'8 c'8] }
- \times 2/3 { c'8[ c'8 c'8] }
- }
-}
-@end lilypond
-
-Here @code{\tweak} and @code{\override} work together to specify
-@code{TupletBracket} direction. The first @code{\tweak} positions
-the @code{TupletBracket} of the outer
-tuplet above the staff. The second @code{\tweak} positions the
-@code{TupletBracket} of the first of the three inner tuplets below the
-staff. Note that this pair of @code{\tweak} functions affects only
-the outer tuplet and the first of the three inner tuplets because only
-those two tuplets begin at the same music moment. We use @code{\override}
-in the usual way to position the @code{TupletBrackets} of
-the second and third of the inner tuplets below the staff.
-
-@lilypond[quote,ragged-right,verbatim]
-\new Staff {
- \tweak #'text #tuplet-number::calc-fraction-text
- \tweak #'direction #up
- \times 4/3 {
- \tweak #'direction #down
- \times 2/3 { c'8[ c'8 c'8] }
- \override TupletBracket #'direction = #down
- \times 2/3 { c'8[ c'8 c'8] }
- \times 2/3 { c'8[ c'8 c'8] }
- }
-}
-@end lilypond
-
-Tuplet brackets can be made to run to prefatory matter or
-the next note
-
-@lilypond[ragged-right]
-\new RhythmicStaff {
- \set tupletFullLength = ##t
- \time 4/4
- \times 4/5 {
- c4 c1
- }
- \set tupletFullLengthNote = ##t
- \time 2/4
- \times 2/3 {
- c4 c c
- }
- \time 3/4
- c4
-}
-@end lilypond
-
-
-@seealso
-
-Program reference: @internalsref{TupletBracket},
-@internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
-
-
-
-@anchor{Scaling durations}
-@unnumberedsubsubsec Scaling durations
-
-You can alter the length of duration by a fraction @var{N/M}
-appending @samp{*@var{N/M}} (or @samp{*@var{N}} if @var{M=1}). This
-will not affect the appearance of the notes or rests produced. These
-may be combined such as @samp{*M*N}.
-
-In the following example, the first three notes take up exactly two
-beats, but no triplet bracket is printed.
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\time 2/4
-a4*2/3 gis4*2/3 a4*2/3
-a4 a4 a4*2
-b16*4 c4
-@end lilypond
-
-
-@seealso
-
-This manual: @ref{Tuplets}.
-
-
-@anchor{Bar check}
-@unnumberedsubsubsec Bar check
-
-@cindex Bar check
-@funindex barCheckSynchronize
-@funindex |
-
-Bar checks help detect errors in the durations. A bar check is
-entered using the bar symbol, @samp{|}. Whenever it is encountered
-during interpretation, it should fall on a measure boundary. If it
-does not, a warning is printed. In the next example, the second bar
-check will signal an error
-@example
-\time 3/4 c2 e4 | g2 |
-@end example
-
-Bar checks can also be used in lyrics, for example
-
-@example
-\lyricmode @{
- \time 2/4
- Twin -- kle | Twin -- kle
-@}
-@end example
-
-Failed bar checks are caused by entering incorrect
-durations. Incorrect durations often completely garble up the score,
-especially if the score is polyphonic, so a good place to start correcting
-input is by scanning for failed bar checks and incorrect durations.
-
-@funindex |
-@funindex pipeSymbol
-
-It is also possible to redefine the meaning of @code{|}. This is done
-by assigning a music expression to @code{pipeSymbol},
-
-@lilypond[quote,ragged-right,verbatim]
-pipeSymbol = \bar "||"
-
-{ c'2 c' | c'2 c' }
-@end lilypond
-
-
-@anchor{Barnumber check}
-@unnumberedsubsubsec Barnumber check
-
-When copying large pieces of music, it can be helpful to check that
-the LilyPond bar number corresponds to the original that you are
-entering from. This can be checked with @code{\barNumberCheck}, for
-example,
-
-@verbatim
-\barNumberCheck #123
-@end verbatim
-
-@noindent
-will print a warning if the @code{currentBarNumber} is not 123 when it
-is processed.
-
-
-@anchor{Automatic note splitting}
-@unnumberedsubsubsec Automatic note splitting
-
-Long notes can be converted automatically to tied notes. This is done
-by replacing the @internalsref{Note_heads_engraver} by the
-@internalsref{Completion_heads_engraver}.
-In the following examples, notes crossing the bar line are split and tied.
-
-@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
-\new Voice \with {
- \remove "Note_heads_engraver"
- \consists "Completion_heads_engraver"
-} {
- c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
-}
-@end lilypond
-
-This engraver splits all running notes at the bar line, and inserts
-ties. One of its uses is to debug complex scores: if the measures are
-not entirely filled, then the ties exactly show how much each measure
-is off.
-
-If you want to allow line breaking on the bar lines where
-@internalsref{Completion_heads_engraver} splits notes, you must
-also remove @internalsref{Forbid_line_break_engraver}.
-
-
-@refbugs
-
-Not all durations (especially those containing tuplets) can be
-represented exactly with normal notes and dots, but the engraver will
-not insert tuplets.
-
-@code{Completion_heads_engraver} only affects notes; it does not split
-rests.
-
-
-@seealso
-
-Program reference: @internalsref{Completion_heads_engraver}.
-
-
@node Polyphony
@section Polyphony
* Clef::
* Key signature::
* Time signature::
-* Partial measures::
* Bar lines::
* Unmetered music::
* System start delimiters::
@end menu
-@anchor{Time signature}
-@unnumberedsubsubsec Time signature
-
-@cindex Time signature
-@cindex meter
-@funindex \time
-
-Time signature indicates the metrum of a piece: a regular pattern of
-strong and weak beats. It is denoted by a fraction at the start of the
-staff.
-
-The time signature is set with the @code{\time} command
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\time 2/4 c'2 \time 3/4 c'2.
-@end lilypond
-
-@commonprop
-
-The symbol that is printed can be customized with the @code{style}
-property. Setting it to @code{#'()} uses fraction style for 4/4 and
-2/2 time,
-
-@lilypond[fragment,quote,ragged-right,verbatim]
-\time 4/4 c'1
-\time 2/2 c'1
-\override Staff.TimeSignature #'style = #'()
-\time 4/4 c'1
-\time 2/2 c'1
-@end lilypond
-
-There are many more options for its layout. See @ref{Ancient time
-signatures}, for more examples.
-
-@code{\time} sets the property @code{timeSignatureFraction},
-@code{beatLength} and @code{measureLength} in the @code{Timing}
-context, which is normally aliased to @internalsref{Score}. The
-property @code{measureLength} determines where bar lines should be
-inserted, and how automatic beams should be generated. Changing the
-value of @code{timeSignatureFraction} also causes the symbol to be
-printed.
-
-More options are available through the Scheme function
-@code{set-time-signature}. In combination with the
-@internalsref{Measure_grouping_engraver}, it will create
-@internalsref{MeasureGrouping} signs. Such signs ease reading
-rhythmically complex modern music. In the following example, the 9/8
-measure is subdivided in 2, 2, 2 and 3. This is passed to
-@code{set-time-signature} as the third argument @code{(2 2 2 3)}
-
-@lilypond[quote,ragged-right,verbatim]
-\score {
- \relative c'' {
- #(set-time-signature 9 8 '(2 2 2 3))
- g8[ g] d[ d] g[ g] a8[( bes g]) |
- #(set-time-signature 5 8 '(3 2))
- a4. g4
- }
- \layout {
- \context {
- \Staff
- \consists "Measure_grouping_engraver"
- }
- }
-}
-@end lilypond
-
-
-@seealso
-
-Program reference: @internalsref{TimeSignature}, and
-@internalsref{Timing_translator}.
-
-Examples: @lsr{contemporary,compound-time-signature.ly}.
-
-
-@refbugs
-
-Automatic beaming does not use the measure grouping specified with
-@code{set-time-signature}.
-
-
-@anchor{Partial measures}
-@unnumberedsubsubsec Partial measures
-
-@cindex anacrusis
-@cindex upbeat
-@cindex partial measure
-@cindex measure, partial
-@cindex shorten measures
-@funindex \partial
-
-Partial measures, such as an anacrusis or upbeat, are entered using the
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\partial 16*5 c16 cis d dis e | a2. c,4 | b2
-@end lilypond
-
-The syntax for this command is
-
-@example
-\partial @var{duration}
-@end example
-
-where @code{duration} is the rhythmic length to be added before
-the next bar.
-
-This is internally translated into
-
-@example
-\set Timing.measurePosition = -@var{length of duration}
-@end example
-
-The property @code{measurePosition} contains a rational number
-indicating how much of the measure has passed at this point. Note
-that this is a negative number; @code{\partial 4} is internally
-translated to mean @qq{there is a quarter note left in the bar.}
-
-
-@refbugs
-
-This command does not take into account grace notes at the start of
-the music. When a piece starts with graces notes in the pickup, then
-the @code{\partial} should follow the grace notes
-
-@lilypond[verbatim,quote,ragged-right,relative,fragment]
-\grace f16
-\partial 4
-g4
-a2 g2
-@end lilypond
-
-@code{\partial} is only intended to be used at the beginning of a
-piece. If you use it after the beginning, some odd warnings may
-occur.
-
-
-@anchor{Bar lines}
-@unnumberedsubsubsec Bar lines
-
-@cindex Bar lines
-@funindex \bar
-@cindex measure lines
-@cindex repeat bars
-
-Bar lines delimit measures, but are also used to indicate
-repeats. Normally they are inserted automatically. Line
-breaks may only happen on bar lines.
-
-Special types of bar lines can be forced with the @code{\bar} command
-
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-c4 \bar "|:" c4
-@end lilypond
-
-The following bar types are available
-
-@lilypondfile[ragged-right,quote]{bar-lines.ly}
-
-In addition, you can specify @code{"||:"}, which is equivalent to
-@code{"|:"} except at line breaks, where it gives a double bar line at
-the end of the line and a start repeat at the beginning of the next
-line.
-
-To allow a line break where there is no visible bar line, use
-
-@example
-\bar ""
-@end example
-
-@noindent
-This will insert an invisible bar line and allow line breaks at this
-point (without increasing the bar number counter).
-
-In scores with many staves, a @code{\bar} command in one staff is
-automatically applied to all staves. The resulting bar lines are
-connected between different staves of a @code{StaffGroup},
-@code{PianoStaff}, or @code{GrandStaff}.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-<<
- \new StaffGroup <<
- \new Staff {
- e'4 d'
- \bar "||"
- f' e'
- }
- \new Staff { \clef bass c4 g e g }
- >>
- \new Staff { \clef bass c2 c2 }
->>
-@end lilypond
-
-
-@commonprop
-
-@funindex whichBar
-@funindex repeatCommands
-@funindex defaultBarType
-
-The command @code{\bar }@var{bartype} is a short cut for doing
-@code{\set Timing.whichBar = }@var{bartype}. Whenever @code{whichBar}
-is set to a string, a bar line of that type is created.
-
-A bar line is created whenever the @code{whichBar} property is set.
-At the start of a measure it is set to the contents of
-@code{Timing.defaultBarType}. The contents of @code{repeatCommands} are
-used
-to override default measure bars.
-
-You are encouraged to use @code{\repeat} for repetitions. See
-@ref{Repeats}.
-
-
-@seealso
-
-In this manual: @ref{Repeats}, @ref{System start delimiters}.
-
-Program reference: @internalsref{BarLine} (created at
-@internalsref{Staff} level), @internalsref{SpanBar} (across staves).
-
-
-@anchor{Unmetered music}
-@unnumberedsubsubsec Unmetered music
-
-@cindex cadenza
-@funindex \cadenzaOn
-@funindex \cadenzaOff
-
-Bar lines and bar numbers are calculated automatically. For unmetered
-music (cadenzas, for example), this is not desirable. To turn off
-automatic bar lines and bar numbers, use the commands @code{\cadenzaOn}
-and @code{\cadenzaOff}.
-
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
-c4 d e d
-\cadenzaOn
-c4 c d8 d d f4 g4.
-\cadenzaOff
-\bar "|"
-d4 e d c
-@end lilypond
-
-
-@refbugs
-
-LilyPond will only insert line breaks and page breaks at a
-barline. Unless the unmetered music ends before the end of
-the staff line, you will need to insert
-invisible bar lines
-
-@example
-\bar ""
-@end example
-
-@noindent
-to indicate where breaks can occur.
-
-
@anchor{System start delimiters}
@unnumberedsubsubsec System start delimiters
@lsr{connecting,laissez-vibrer-ties.ly}
-@anchor{Automatic beams}
-@unnumberedsubsubsec Automatic beams
-
-LilyPond inserts beams automatically
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
-@end lilypond
-
-When these automatic decisions are not good enough, beaming can be
-entered explicitly. It is also possible to define beaming patterns
-that differ from the defaults. See @ref{Setting automatic beam behavior},
-for details.
-
-Individual notes may be marked with @code{\noBeam} to prevent them
-from being beamed
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\time 2/4 c8 c\noBeam c c
-@end lilypond
-
-
-@seealso
-
-Program reference: @internalsref{Beam}.
-
-
-@anchor{Manual beams}
-@unnumberedsubsubsec Manual beams
-
-@cindex beams, manual
-@funindex ]
-@funindex [
-
-In some cases it may be necessary to override the automatic beaming
-algorithm. For example, the autobeamer will not put beams over rests
-or bar lines. Such beams are specified manually by marking the begin
-and end point with @code{[} and @code{]}
-
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-{
- r4 r8[ g' a r8] r8 g[ | a] r8
-}
-@end lilypond
-
-
-@commonprop
-
-@funindex stemLeftBeamCount
-@funindex stemRightBeamCount
-
-
-LilyPond can automatically determine beaming patterns within a beam,
-but this automatic behavior can sometimes produce odd results;
-therefore the @code{stemLeftBeamCount} and @code{stemRightBeamCount} properties can
-be used to override the defaults. If
-either property is set, its value will be used only once, and then it
-is erased.
-
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-{
- f8[ r16
- f g a]
- f8[ r16
- \set stemLeftBeamCount = #1
- f g a]
-}
-@end lilypond
-
-The property @code{subdivideBeams} can be set in order to subdivide
-all 16th or shorter beams at beat positions, as defined by the
-@code{beatLength} property.
-
-@lilypond[fragment,quote,relative=2,verbatim]
-c16[ c c c c c c c]
-\set subdivideBeams = ##t
-c16[ c c c c c c c]
-\set Score.beatLength = #(ly:make-moment 1 8)
-c16[ c c c c c c c]
-@end lilypond
-@funindex subdivideBeams
-
-@noindent
-For more information about @code{make-moment}, see
-@ref{Time administration}.
-
-Line breaks are normally forbidden when beams cross bar lines. This
-behavior can be changed by setting @code{breakable}.
-
-@funindex breakable
-
-@cindex beams and line breaks
-@cindex beams, kneed
-@cindex kneed beams
-@cindex auto-knee-gap
-
-Kneed beams are inserted automatically when a large gap is detected
-between the note heads. This behavior can be tuned through the
-@code{auto-knee-gap} object.
-
-
-@refbugs
-
-Automatically kneed cross-staff beams cannot be used together with
-hidden staves. See @ref{Hiding staves}.
-
-@c Is this still true with skyline spacing stuff? -J.Mandereau
-Beams do not avoid collisions with symbols around the notes, such as
-texts and accidentals.
-
-
-@anchor{Grace notes}
-@unnumberedsubsubsec Grace notes
-
-@funindex \grace
-@cindex ornaments
-@cindex grace notes
-@cindex appoggiatura
-@cindex acciaccatura
-
-Grace notes are ornaments that are written out. The most common ones
-are acciaccatura, which should be played as very short. It is denoted
-by a slurred small note with a slashed stem. The appoggiatura is a
-grace note that takes a fixed fraction of the main note, and is
-denoted as a slurred note in small print without a slash. They
-are entered with the commands @code{\acciaccatura} and
-@code{\appoggiatura}, as demonstrated in the following example
-
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-b4 \acciaccatura d8 c4 \appoggiatura e8 d4
-\acciaccatura { g16[ f] } e4
-@end lilypond
-
-Both are special forms of the @code{\grace} command. By prefixing this
-keyword to a music expression, a new one is formed, which will be
-printed in a smaller font and takes up no logical time in a measure.
-
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-c4 \grace c16 c4
-\grace { c16[ d16] } c2 c4
-@end lilypond
-
-@noindent
-Unlike @code{\acciaccatura} and @code{\appoggiatura}, the
-@code{\grace} command does not start a slur.
-
-@cindex timing, internal
-
-Internally, timing for grace notes is done using a second, @q{grace}
-timing. Every point in time consists of two rational numbers: one
-denotes the logical time, one denotes the grace timing. The above
-example is shown here with timing tuples
-
-@lilypond[quote,ragged-right]
-<<
- \relative c''{
- c4 \grace c16 c4 \grace {
- c16[ d16] } c2 c4
- }
- \new Lyrics \lyricmode {
- \override LyricText #'font-family = #'typewriter
-
- \markup { (0,0) } 4
- \grace { \markup {
- ( \fraction 1 4 , \fraction -1 16 ) } 16 }
- \markup { (\fraction 1 4 , 0 ) } 4
- \grace {
- \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
- \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
- }
- \markup { ( \fraction 2 4 , 0 ) }
- }
->>
-@end lilypond
-
-The placement of grace notes is synchronized between different staves.
-In the following example, there are two sixteenth grace notes for
-every eighth grace note
-
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \grace { c16[ d e f] } e4 }
- \new Staff { c4 \grace { g8[ b] } c4 } >>
-@end lilypond
-
-@funindex \afterGrace
-
-If you want to end a note with a grace, use the @code{\afterGrace}
-command. It takes two arguments: the main note, and the grace notes
-following the main note.
-
-@lilypond[ragged-right, verbatim,relative=2,fragment]
-c1 \afterGrace d1 { c16[ d] } c4
-@end lilypond
-
-This will put the grace notes after a @q{space} lasting 3/4 of the
-length of the main note. The fraction 3/4 can be changed by setting
-@code{afterGraceFraction}, ie.
-
-@example
-#(define afterGraceFraction (cons 7 8))
-@end example
-
-@noindent
-will put the grace note at 7/8 of the main note.
-
-The same effect can be achieved manually by doing
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\new Voice {
- << { d1^\trill_( }
- { s2 \grace { c16[ d] } } >>
- c4)
-}
-@end lilypond
-
-@noindent
-By adjusting the duration of the skip note (here it is a half-note),
-the space between the main-note and the grace is adjusted.
-
-A @code{\grace} music expression will introduce special typesetting settings,
-for example, to produce smaller type, and set directions. Hence, when
-introducing layout tweaks, they should be inside the grace expression,
-for example,
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\new Voice {
- \acciaccatura {
- \stemDown
- f16->
- \stemNeutral
- }
- g4
-}
-@end lilypond
-
-@noindent
-The overrides should also be reverted inside the grace expression.
-
-The layout of grace expressions can be changed throughout the music
-using the function @code{add-grace-property}. The following example
-undefines the @code{Stem} direction for this grace, so that stems do not
-always point up.
-
-@example
-\new Staff @{
- #(add-grace-property 'Voice 'Stem 'direction '())
- @dots{}
-@}
-@end example
-
-@noindent
-Another option is to change the variables @code{startGraceMusic},
-@code{stopGraceMusic}, @code{startAcciaccaturaMusic},
-@code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
-@code{stopAppoggiaturaMusic}. More information is in the file
-@file{ly/@/grace@/-init@/.ly}.
-
-@noindent
-The slash through the stem in acciaccaturas can be obtained
-in other situations by @code{\override Stem #'stroke-style = #"grace"}.
-
-
-@commonprop
-
-Grace notes may be forced to use floating spacing,
-
-@lilypond[relative=2,ragged-right]
-<<
- \override Score.SpacingSpanner #'strict-grace-spacing = ##t
- \new Staff {
- c'4
- \afterGrace
- c'4
- { c'16[ c'8 c'16] }
- c'4
- }
- \new Staff {
- c'16[ c'16 c'16 c'16]
- c'16[ c'16 c'16 c'16]
- c'4
- }
->>
-@end lilypond
-
-
-@seealso
-
-Program reference: @internalsref{GraceMusic}.
-
-
-@refbugs
-
-A score that starts with a @code{\grace} expression needs an explicit
-@code{\new Voice} declaration, otherwise the main note and the grace
-note end up on different staves.
-
-Grace note synchronization can also lead to surprises. Staff notation,
-such as key signatures, bar lines, etc., are also synchronized. Take
-care when you mix staves with grace notes and staves without, for example,
-
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
- \new Staff { c4 \bar "|:" d4 } >>
-@end lilypond
-
-@noindent
-This can be remedied by inserting grace skips of the corresponding
-durations in the other staves. For the above example
-
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
- \new Staff { c4 \bar "|:" \grace s16 d4 } >>
-@end lilypond
-
-Grace sections should only be used within sequential music
-expressions. Nesting or juxtaposing grace sections is not supported,
-and might produce crashes or other errors.
-
-
@node Expressive marks
@section Expressive marks
This chapter explains how to create musical notation.
@menu
-* Pitches:: Writing the pitches of notes.
+* Pitches:: Writing and display the pitches of notes.
+* Rhythms:: Writing and displaying the durations of notes.
@end menu
@include pitch.itely
+@include rhythms.itely
+
--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; -*-
+
+@node Rhythms
+@section Rhythms
+
+This section discusses rhythms, durations, and bars.
+
+@menu
+* Writing rhythms::
+* Writing rests::
+* Displaying rhythms::
+* Beams::
+* Bars::
+* Special rhythmic concerns::
+@end menu
+
+
+@node Writing rhythms
+@subsection Writing rhythms
+
+@anchor{Durations}
+@unnumberedsubsubsec Durations
+
+@cindex duration
+@funindex \longa
+@funindex \breve
+@funindex \maxima
+
+In Note, Chord, and Lyrics mode, durations are designated by numbers and
+dots: durations are entered as their reciprocal values. For example, a
+quarter note is entered using a @code{4} (since it is a 1/4 note), while
+a half note is entered using a @code{2} (since it is a 1/2 note). For
+notes longer than a whole you must use the @code{\longa} and
+@code{\breve} commands
+
+@example
+c'\breve
+c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
+r\longa r\breve
+r1 r2 r4 r8 r16 r32 r64 r64
+@end example
+
+@lilypond[quote]
+\score {
+\relative c'' {
+ a\breve*1/2 \autoBeamOff
+ a1 a2 a4 a8 a16 a32 a64 a64
+ \bar "empty"
+ \break
+ r\longa*1/4 r\breve *1/2
+ r1 r2 r4 r8 r16 r32 r64 r64
+ }
+ \layout {
+ ragged-right = ##t
+ indent=0\mm
+ \context {
+ \Score
+ \remove "Bar_number_engraver"
+ }
+ \context {
+ \Staff
+ \remove "Clef_engraver"
+ \override StaffSymbol #'transparent = ##t
+ \override TimeSignature #'transparent = ##t
+ \override BarLine #'transparent = ##t
+ \consists "Pitch_squash_engraver"
+ }
+ }
+}
+@end lilypond
+
+If the duration is omitted then it is set to the previously entered
+duration. The default for the first note is a quarter note.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+{ a a a2 a a4 a a1 a }
+@end lilypond
+
+
+@anchor{Augmentation dots}
+@unnumberedsubsubsec Augmentation dots
+
+@funindex .
+
+To obtain dotted note lengths, simply add a dot (@samp{.}) to
+the number. Double-dotted notes are produced in a similar way.
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+a'4 b' c''4. b'8 a'4. b'4.. c''8.
+@end lilypond
+
+@refcommands
+
+Dots are normally moved up to avoid staff lines, except in polyphonic
+situations. The following commands may be used to force a particular
+direction manually
+
+@funindex \dotsUp
+@code{\dotsUp},
+@funindex \dotsDown
+@code{\dotsDown},
+@funindex \dotsNeutral
+@code{\dotsNeutral}.
+
+@seealso
+
+Program reference: @internalsref{Dots}, and @internalsref{DotColumn}.
+
+
+@anchor{Tuplets}
+@unnumberedsubsubsec Tuplets
+
+@cindex tuplets
+@cindex triplets
+@funindex \times
+
+Tuplets are made out of a music expression by multiplying all durations
+with a fraction
+
+@example
+\times @var{fraction} @var{musicexpr}
+@end example
+
+@noindent
+The duration of @var{musicexpr} will be multiplied by the fraction.
+The fraction's denominator will be printed over the notes, optionally
+with a bracket. The most common tuplet is the triplet in which 3
+notes have the length of 2, so the notes are 2/3 of their written
+length
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+g'4 \times 2/3 {c'4 c' c'} d'4 d'4
+@end lilypond
+
+Tuplets may be nested, for example,
+
+@lilypond[fragment,ragged-right,verbatim,relative=2]
+\override TupletNumber #'text = #tuplet-number::calc-fraction-text
+\times 4/6 {
+ a4 a
+ \times 3/5 { a a a a a }
+}
+@end lilypond
+
+@refcommands
+
+@funindex \tupletUp
+@code{\tupletUp},
+@funindex \tupletDown
+@code{\tupletDown},
+@funindex \tupletNeutral
+@code{\tupletNeutral}.
+
+
+@commonprop
+
+@funindex tupletNumberFormatFunction
+@cindex tuplet formatting
+
+The property @code{tupletSpannerDuration} specifies how long each
+bracket should last. With this, you can make lots of tuplets while
+typing @code{\times} only once, thus saving lots of typing. In the next
+example, there are two triplets shown, while @code{\times} was only
+used once
+
+@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
+\set tupletSpannerDuration = #(ly:make-moment 1 4)
+\times 2/3 { c8 c c c c c }
+@end lilypond
+
+@noindent
+For more information about @code{make-moment}, see
+@ref{Time administration}.
+
+The format of the number is determined by the property @code{text} in
+@code{TupletNumber}. The default prints only the denominator, but if
+it is set to the function @code{tuplet-number::calc-fraction-text},
+@var{num}:@var{den} will be printed instead.
+
+To avoid printing tuplet numbers, use
+
+@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
+\times 2/3 { c8 c c } \times 2/3 { c8 c c }
+\override TupletNumber #'transparent = ##t
+\times 2/3 { c8 c c } \times 2/3 { c8 c c }
+@end lilypond
+
+Use the @code{\tweak} function to override nested tuplets beginning at the
+same music moment. In this example, @code{\tweak} specifies fraction
+text for the
+outer @code{TupletNumber} and denominator text for the @code{TupletNumber}
+of the first of the three inner tuplets.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+ \tweak #'text #tuplet-number::calc-fraction-text
+ \times 4/3 {
+ \tweak #'text #tuplet-number::calc-denominator-text
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ }
+}
+@end lilypond
+
+Here @code{\tweak} and @code{\override} work together to specify
+@code{TupletBracket} direction. The first @code{\tweak} positions
+the @code{TupletBracket} of the outer
+tuplet above the staff. The second @code{\tweak} positions the
+@code{TupletBracket} of the first of the three inner tuplets below the
+staff. Note that this pair of @code{\tweak} functions affects only
+the outer tuplet and the first of the three inner tuplets because only
+those two tuplets begin at the same music moment. We use @code{\override}
+in the usual way to position the @code{TupletBrackets} of
+the second and third of the inner tuplets below the staff.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff {
+ \tweak #'text #tuplet-number::calc-fraction-text
+ \tweak #'direction #up
+ \times 4/3 {
+ \tweak #'direction #down
+ \times 2/3 { c'8[ c'8 c'8] }
+ \override TupletBracket #'direction = #down
+ \times 2/3 { c'8[ c'8 c'8] }
+ \times 2/3 { c'8[ c'8 c'8] }
+ }
+}
+@end lilypond
+
+Tuplet brackets can be made to run to prefatory matter or
+the next note
+
+@lilypond[ragged-right]
+\new RhythmicStaff {
+ \set tupletFullLength = ##t
+ \time 4/4
+ \times 4/5 {
+ c4 c1
+ }
+ \set tupletFullLengthNote = ##t
+ \time 2/4
+ \times 2/3 {
+ c4 c c
+ }
+ \time 3/4
+ c4
+}
+@end lilypond
+
+
+@seealso
+
+Program reference: @internalsref{TupletBracket},
+@internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
+
+
+
+@anchor{Scaling durations}
+@unnumberedsubsubsec Scaling durations
+
+You can alter the length of duration by a fraction @var{N/M}
+appending @samp{*@var{N/M}} (or @samp{*@var{N}} if @var{M=1}). This
+will not affect the appearance of the notes or rests produced. These
+may be combined such as @samp{*M*N}.
+
+In the following example, the first three notes take up exactly two
+beats, but no triplet bracket is printed.
+
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+\time 2/4
+a4*2/3 gis4*2/3 a4*2/3
+a4 a4 a4*2
+b16*4 c4
+@end lilypond
+
+
+@seealso
+
+This manual: @ref{Tuplets}.
+
+
+@node Writing rests
+@subsection Writing rests
+
+@anchor{Rests}
+@unnumberedsubsubsec Rests
+@cindex Rests
+
+@funindex \rest
+@funindex r
+
+Rests are entered like notes with the note name @code{r}
+
+@lilypond[fragment,quote,ragged-right,verbatim]
+r1 r2 r4 r8
+@end lilypond
+
+Whole bar rests, centered in middle of the bar,
+must be done with multi-measure rests. They can be used for a
+single bar as well as many bars, and are discussed in
+@ref{Multi measure rests}.
+
+To explicitly specify a rest's vertical position, write a note
+followed by @code{\rest}. A rest will be placed in the position
+where the note would appear,
+
+@lilypond[fragment,quote,ragged-right,verbatim]
+a'4\rest d'4\rest
+@end lilypond
+
+@noindent
+This makes manual formatting of
+polyphonic music much easier, since the automatic rest collision
+formatter will leave these rests alone.
+
+@seealso
+
+Program reference: @internalsref{Rest}.
+
+
+@anchor{Skips}
+@unnumberedsubsubsec Skips
+
+@cindex Skip
+@cindex Invisible rest
+@cindex Space note
+@funindex \skip
+@funindex s
+
+An invisible rest (also called a @q{skip}) can be entered like a note
+with note name @samp{s} or with @code{\skip @var{duration}}
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+a4 a4 s4 a4 \skip 1 a4
+@end lilypond
+
+The @code{s} syntax is only available in note mode and chord mode. In
+other situations, for example, when entering lyrics, you should use
+the @code{\skip} command
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+ \relative { a'2 a2 }
+ \new Lyrics \lyricmode { \skip 2 bla2 }
+>>
+@end lilypond
+
+The skip command is merely an empty musical placeholder. It does not
+produce any output, not even transparent output.
+
+The @code{s} skip command does create @internalsref{Staff} and
+@internalsref{Voice} when necessary, similar to note and rest
+commands. For example, the following results in an empty staff.
+
+@lilypond[quote,ragged-right,verbatim]
+{ s4 }
+@end lilypond
+
+The fragment @code{@{ \skip 4 @} } would produce an empty page.
+
+@seealso
+
+Program reference: @internalsref{SkipMusic}.
+
+
+@anchor{Multi measure rests}
+@unnumberedsubsubsec Multi measure rests
+
+@cindex multi measure rests
+@cindex full measure rests
+@cindex Rests, multi measure
+@cindex Rests, full measure
+@cindex whole rests for a full measure
+@funindex R
+
+Rests for one full measure (or many bars) are entered using @samp{R}. It
+is specifically meant for full bar rests and for entering parts: the rest
+can expand to fill a score with rests, or it can be printed as a single
+multi-measure rest. This expansion is controlled by the property
+@code{Score.skipBars}. If this is set to true, empty measures will not
+be expanded, and the appropriate number is added automatically
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\time 4/4 r1 | R1 | R1*2 \time 3/4 R2. \time 2/4 R2 \time 4/4
+\set Score.skipBars = ##t R1*17 R1*4
+@end lilypond
+
+The @code{1} in @code{R1} is similar to the duration notation used for
+notes. Hence, for time signatures other than 4/4, you must enter other
+durations. This can be done with augmentation dots or fractions
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\set Score.skipBars = ##t
+\time 3/4
+R2. | R2.*2
+\time 13/8
+R1*13/8
+R1*13/8*12 |
+\time 10/8 R4*5*4 |
+@end lilypond
+
+An @code{R} spanning a single measure is printed as either a whole rest
+or a breve, centered in the measure regardless of the time signature.
+
+If there are only a few measures of rest, LilyPond prints @q{church rests}
+(a series of rectangles) in the staff. To replace that with a simple
+rest, use @code{MultiMeasureRest.expand-limit}.
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\set Score.skipBars = ##t
+R1*2 | R1*5 | R1*9
+\override MultiMeasureRest #'expand-limit = 1
+R1*2 | R1*5 | R1*9
+@end lilypond
+
+@cindex text on multi-measure rest
+@cindex script on multi-measure rest
+@cindex fermata on multi-measure rest
+
+Texts can be added to multi-measure rests by using the
+@var{note}-@code{markup} syntax @ref{Text markup}.
+A variable (@code{\fermataMarkup}) is provided for
+adding fermatas
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\set Score.skipBars = ##t
+\time 3/4
+R2.*10^\markup { \italic "ad lib." }
+R2.^\fermataMarkup
+@end lilypond
+
+Warning! This text is created by @code{MultiMeasureRestText}, not
+@code{TextScript}.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\override TextScript #'padding = #5
+R1^"low"
+\override MultiMeasureRestText #'padding = #5
+R1^"high"
+@end lilypond
+
+If you want to have text on the left end of a multi-measure rest,
+attach the text to a zero-length skip note, i.e.,
+
+@example
+s1*0^"Allegro"
+R1*4
+@end example
+
+
+@seealso
+
+Program reference: @internalsref{MultiMeasureRestMusicGroup},
+@internalsref{MultiMeasureRest}.
+
+The layout object @internalsref{MultiMeasureRestNumber} is for the
+default number, and @internalsref{MultiMeasureRestText} for user
+specified texts.
+
+
+@refbugs
+
+It is not possible to use fingerings (e.g., @code{R1-4}) to put numbers
+over multi-measure rests. And the pitch of multi-measure rests (or
+staff-centered rests) can not be influenced.
+
+@cindex condensing rests
+
+There is no way to automatically condense multiple rests into a single
+multi-measure rest. Multi-measure rests do not take part in rest
+collisions.
+
+Be careful when entering multi-measure rests followed by whole
+notes. The following will enter two notes lasting four measures each
+@example
+R1*4 cis cis
+@end example
+When @code{skipBars} is set, the result will look OK, but the bar
+numbering will be off.
+
+
+
+@node Displaying rhythms
+@subsection Displaying rhythms
+
+@anchor{Time signature}
+@unnumberedsubsubsec Time signature
+
+@cindex Time signature
+@cindex meter
+@funindex \time
+
+Time signature indicates the metrum of a piece: a regular pattern of
+strong and weak beats. It is denoted by a fraction at the start of the
+staff.
+
+The time signature is set with the @code{\time} command
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+\time 2/4 c'2 \time 3/4 c'2.
+@end lilypond
+
+@commonprop
+
+The symbol that is printed can be customized with the @code{style}
+property. Setting it to @code{#'()} uses fraction style for 4/4 and
+2/2 time,
+
+@lilypond[fragment,quote,ragged-right,verbatim]
+\time 4/4 c'1
+\time 2/2 c'1
+\override Staff.TimeSignature #'style = #'()
+\time 4/4 c'1
+\time 2/2 c'1
+@end lilypond
+
+There are many more options for its layout. See @ref{Ancient time
+signatures}, for more examples.
+
+@code{\time} sets the property @code{timeSignatureFraction},
+@code{beatLength} and @code{measureLength} in the @code{Timing}
+context, which is normally aliased to @internalsref{Score}. The
+property @code{measureLength} determines where bar lines should be
+inserted, and how automatic beams should be generated. Changing the
+value of @code{timeSignatureFraction} also causes the symbol to be
+printed.
+
+More options are available through the Scheme function
+@code{set-time-signature}. In combination with the
+@internalsref{Measure_grouping_engraver}, it will create
+@internalsref{MeasureGrouping} signs. Such signs ease reading
+rhythmically complex modern music. In the following example, the 9/8
+measure is subdivided in 2, 2, 2 and 3. This is passed to
+@code{set-time-signature} as the third argument @code{(2 2 2 3)}
+
+@lilypond[quote,ragged-right,verbatim]
+\score {
+ \relative c'' {
+ #(set-time-signature 9 8 '(2 2 2 3))
+ g8[ g] d[ d] g[ g] a8[( bes g]) |
+ #(set-time-signature 5 8 '(3 2))
+ a4. g4
+ }
+ \layout {
+ \context {
+ \Staff
+ \consists "Measure_grouping_engraver"
+ }
+ }
+}
+@end lilypond
+
+
+@seealso
+
+Program reference: @internalsref{TimeSignature}, and
+@internalsref{Timing_translator}.
+
+Examples: @lsr{contemporary,compound-time-signature.ly}.
+
+
+@refbugs
+
+Automatic beaming does not use the measure grouping specified with
+@code{set-time-signature}.
+
+
+@anchor{Upbeats}
+@unnumberedsubsubsec Upbeats
+
+@cindex anacrusis
+@cindex upbeat
+@cindex partial measure
+@cindex measure, partial
+@cindex shorten measures
+@funindex \partial
+
+Partial measures, such as an anacrusis or upbeat, are entered using the
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\partial 16*5 c16 cis d dis e | a2. c,4 | b2
+@end lilypond
+
+The syntax for this command is
+
+@example
+\partial @var{duration}
+@end example
+
+where @code{duration} is the rhythmic length to be added before
+the next bar.
+
+This is internally translated into
+
+@example
+\set Timing.measurePosition = -@var{length of duration}
+@end example
+
+The property @code{measurePosition} contains a rational number
+indicating how much of the measure has passed at this point. Note
+that this is a negative number; @code{\partial 4} is internally
+translated to mean @qq{there is a quarter note left in the bar.}
+
+
+@refbugs
+
+This command does not take into account grace notes at the start of
+the music. When a piece starts with graces notes in the pickup, then
+the @code{\partial} should follow the grace notes
+
+@lilypond[verbatim,quote,ragged-right,relative,fragment]
+\grace f16
+\partial 4
+g4
+a2 g2
+@end lilypond
+
+@code{\partial} is only intended to be used at the beginning of a
+piece. If you use it after the beginning, some odd warnings may
+occur.
+
+
+@anchor{Unmetered music}
+@unnumberedsubsubsec Unmetered music
+
+@cindex cadenza
+@funindex \cadenzaOn
+@funindex \cadenzaOff
+
+Bar lines and bar numbers are calculated automatically. For unmetered
+music (cadenzas, for example), this is not desirable. To turn off
+automatic bar lines and bar numbers, use the commands @code{\cadenzaOn}
+and @code{\cadenzaOff}.
+
+@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+c4 d e d
+\cadenzaOn
+c4 c d8 d d f4 g4.
+\cadenzaOff
+\bar "|"
+d4 e d c
+@end lilypond
+
+
+@refbugs
+
+LilyPond will only insert line breaks and page breaks at a
+barline. Unless the unmetered music ends before the end of
+the staff line, you will need to insert
+invisible bar lines
+
+@example
+\bar ""
+@end example
+
+@noindent
+to indicate where breaks can occur.
+
+
+@anchor{Polymetric notation}
+@unnumberedsubsubsec Polymetric notation
+
+@cindex double time signatures
+@cindex signatures, polymetric
+@cindex polymetric signatures
+@cindex meter, polymetric
+
+Double time signatures are not supported explicitly, but they can be
+faked. In the next example, the markup for the time signature is
+created with a markup text. This markup text is inserted in the
+@internalsref{TimeSignature} grob. See also
+@lsr{contemporary,compound-time-signature}.
+
+@lilypond[verbatim,ragged-right]
+% create 2/4 + 5/8
+tsMarkup =\markup {
+ \override #'(baseline-skip . 2) \number {
+ \column { "2" "4" }
+ \vcenter "+"
+ \bracket \column { "5" "8" }
+ }
+}
+
+{
+ \override Staff.TimeSignature #'stencil = #ly:text-interface::print
+ \override Staff.TimeSignature #'text = #tsMarkup
+ \time 3/2
+ c'2 \bar ":" c'4 c'4.
+}
+@end lilypond
+
+Each staff can also have its own time signature. This is done by
+moving the @internalsref{Timing_translator} to the @internalsref{Staff}
+context.
+
+@example
+\layout @{
+ \context @{ \Score
+ \remove "Timing_translator"
+ \remove "Default_bar_line_engraver"
+ @}
+ \context @{
+ \Staff
+ \consists "Timing_translator"
+ \consists "Default_bar_line_engraver"
+ @}
+
+@}
+@end example
+
+
+Now, each staff has its own time signature.
+@example
+<<
+ \new Staff @{
+ \time 3/4
+ c4 c c | c c c |
+ @}
+ \new Staff @{
+ \time 2/4
+ c4 c | c c | c c
+ @}
+ \new Staff @{
+ \time 3/8
+ c4. c8 c c c4. c8 c c
+ @}
+>>
+@end example
+
+@lilypond[quote,ragged-right]
+\layout{
+ \context{
+ \Score
+ \remove "Timing_translator"
+ \remove "Default_bar_line_engraver"
+ }
+ \context{ \Staff
+ \consists "Timing_translator"
+ \consists "Default_bar_line_engraver"
+ }
+}
+
+\relative c' <<
+ \new Staff {
+ \time 3/4
+ c4 c c | c c c |
+ }
+ \new Staff {
+ \time 2/4
+ c4 c | c c | c c
+ }
+ \new Staff {
+ \time 3/8
+ c4. c8 c c c4. c8 c c
+ }
+>>
+@end lilypond
+
+
+A different form of polymetric notation is where note lengths have
+different values across staves.
+
+This notation can be created by setting a common time signature for
+each staff but replacing it manually using
+@code{timeSignatureFraction} to the desired fraction. Then the printed
+durations in each staff are scaled to the common time signature.
+The latter is done with @code{\compressMusic}, which is used similar
+to @code{\times}, but does not create a tuplet bracket. The syntax is
+@example
+\compressMusic #'(@var{numerator} . @var{denominator}) @var{musicexpr}
+@end example
+
+
+
+In this example, music with the time signatures of 3/4, 9/8, and 10/8 are
+used in parallel. In the second staff, shown durations are multiplied by
+2/3, so that 2/3 * 9/8 = 3/4, and in the third staff, shown durations are
+multiplied by 3/5, so that 3/5 * 10/8 = 3/4.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\relative c' { <<
+ \new Staff {
+ \time 3/4
+ c4 c c | c c c |
+ }
+ \new Staff {
+ \time 3/4
+ \set Staff.timeSignatureFraction = #'(9 . 8)
+ \compressMusic #'(2 . 3)
+ \repeat unfold 6 { c8[ c c] }
+ }
+ \new Staff {
+ \time 3/4
+ \set Staff.timeSignatureFraction = #'(10 . 8)
+ \compressMusic #'(3 . 5) {
+ \repeat unfold 2 { c8[ c c] }
+ \repeat unfold 2 { c8[ c] }
+ | c4. c4. \times 2/3 { c8 c c } c4
+ }
+ }
+>> }
+@end lilypond
+
+
+@refbugs
+
+When using different time signatures in parallel, the spacing is
+aligned vertically, but bar lines distort the regular spacing.
+
+
+@anchor{Automatic note splitting}
+@unnumberedsubsubsec Automatic note splitting
+
+Long notes can be converted automatically to tied notes. This is done
+by replacing the @internalsref{Note_heads_engraver} by the
+@internalsref{Completion_heads_engraver}.
+In the following examples, notes crossing the bar line are split and tied.
+
+@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
+\new Voice \with {
+ \remove "Note_heads_engraver"
+ \consists "Completion_heads_engraver"
+} {
+ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
+}
+@end lilypond
+
+This engraver splits all running notes at the bar line, and inserts
+ties. One of its uses is to debug complex scores: if the measures are
+not entirely filled, then the ties exactly show how much each measure
+is off.
+
+If you want to allow line breaking on the bar lines where
+@internalsref{Completion_heads_engraver} splits notes, you must
+also remove @internalsref{Forbid_line_break_engraver}.
+
+
+@refbugs
+
+Not all durations (especially those containing tuplets) can be
+represented exactly with normal notes and dots, but the engraver will
+not insert tuplets.
+
+@code{Completion_heads_engraver} only affects notes; it does not split
+rests.
+
+
+@seealso
+
+Program reference: @internalsref{Completion_heads_engraver}.
+
+
+
+
+@node Beams
+@subsection Beams
+
+@anchor{Automatic beams}
+@unnumberedsubsubsec Automatic beams
+
+LilyPond inserts beams automatically
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
+@end lilypond
+
+When these automatic decisions are not good enough, beaming can be
+entered explicitly. It is also possible to define beaming patterns
+that differ from the defaults. See @ref{Setting automatic beam behavior},
+for details.
+
+Individual notes may be marked with @code{\noBeam} to prevent them
+from being beamed
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\time 2/4 c8 c\noBeam c c
+@end lilypond
+
+
+@seealso
+
+Program reference: @internalsref{Beam}.
+
+
+@anchor{Manual beams}
+@unnumberedsubsubsec Manual beams
+
+@cindex beams, manual
+@funindex ]
+@funindex [
+
+In some cases it may be necessary to override the automatic beaming
+algorithm. For example, the autobeamer will not put beams over rests
+or bar lines. Such beams are specified manually by marking the begin
+and end point with @code{[} and @code{]}
+
+@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+{
+ r4 r8[ g' a r8] r8 g[ | a] r8
+}
+@end lilypond
+
+
+@commonprop
+
+@funindex stemLeftBeamCount
+@funindex stemRightBeamCount
+
+
+LilyPond can automatically determine beaming patterns within a beam,
+but this automatic behavior can sometimes produce odd results;
+therefore the @code{stemLeftBeamCount} and @code{stemRightBeamCount} properties can
+be used to override the defaults. If
+either property is set, its value will be used only once, and then it
+is erased.
+
+@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+{
+ f8[ r16
+ f g a]
+ f8[ r16
+ \set stemLeftBeamCount = #1
+ f g a]
+}
+@end lilypond
+
+The property @code{subdivideBeams} can be set in order to subdivide
+all 16th or shorter beams at beat positions, as defined by the
+@code{beatLength} property.
+
+@lilypond[fragment,quote,relative=2,verbatim]
+c16[ c c c c c c c]
+\set subdivideBeams = ##t
+c16[ c c c c c c c]
+\set Score.beatLength = #(ly:make-moment 1 8)
+c16[ c c c c c c c]
+@end lilypond
+@funindex subdivideBeams
+
+@noindent
+For more information about @code{make-moment}, see
+@ref{Time administration}.
+
+Line breaks are normally forbidden when beams cross bar lines. This
+behavior can be changed by setting @code{breakable}.
+
+@funindex breakable
+
+@cindex beams and line breaks
+@cindex beams, kneed
+@cindex kneed beams
+@cindex auto-knee-gap
+
+Kneed beams are inserted automatically when a large gap is detected
+between the note heads. This behavior can be tuned through the
+@code{auto-knee-gap} object.
+
+
+@refbugs
+
+Automatically kneed cross-staff beams cannot be used together with
+hidden staves. See @ref{Hiding staves}.
+
+@c Is this still true with skyline spacing stuff? -J.Mandereau
+Beams do not avoid collisions with symbols around the notes, such as
+texts and accidentals.
+
+
+@anchor{Feathered beams}
+@unnumberedsubsubsec Feathered beams
+
+Feathered beams are printed by setting the @code{grow-direction}
+property of a @code{Beam}. The @code{\featherDurations} function
+can be used to adjust note durations.
+
+@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
+\override Beam #'grow-direction = #LEFT
+\featherDurations #(ly:make-moment 5 4)
+{
+ c16[ c c c c c c]
+}
+@end lilypond
+
+@refbugs
+
+The @code{\featherDurations} command only works with very short
+music snippets.
+
+
+@node Bars
+@subsection Bars
+
+
+@anchor{Bar check}
+@unnumberedsubsubsec Bar check
+
+@cindex Bar check
+@funindex barCheckSynchronize
+@funindex |
+
+Bar checks help detect errors in the durations. A bar check is
+entered using the bar symbol, @samp{|}. Whenever it is encountered
+during interpretation, it should fall on a measure boundary. If it
+does not, a warning is printed. In the next example, the second bar
+check will signal an error
+@example
+\time 3/4 c2 e4 | g2 |
+@end example
+
+Bar checks can also be used in lyrics, for example
+
+@example
+\lyricmode @{
+ \time 2/4
+ Twin -- kle | Twin -- kle
+@}
+@end example
+
+Failed bar checks are caused by entering incorrect
+durations. Incorrect durations often completely garble up the score,
+especially if the score is polyphonic, so a good place to start correcting
+input is by scanning for failed bar checks and incorrect durations.
+
+@funindex |
+@funindex pipeSymbol
+
+It is also possible to redefine the meaning of @code{|}. This is done
+by assigning a music expression to @code{pipeSymbol},
+
+@lilypond[quote,ragged-right,verbatim]
+pipeSymbol = \bar "||"
+
+{ c'2 c' | c'2 c' }
+@end lilypond
+
+
+@anchor{Bar lines}
+@unnumberedsubsubsec Bar lines
+
+@cindex Bar lines
+@funindex \bar
+@cindex measure lines
+@cindex repeat bars
+
+Bar lines delimit measures, but are also used to indicate
+repeats. Normally they are inserted automatically. Line
+breaks may only happen on bar lines.
+
+Special types of bar lines can be forced with the @code{\bar} command
+
+@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+c4 \bar "|:" c4
+@end lilypond
+
+The following bar types are available
+
+@lilypondfile[ragged-right,quote]{bar-lines.ly}
+
+In addition, you can specify @code{"||:"}, which is equivalent to
+@code{"|:"} except at line breaks, where it gives a double bar line at
+the end of the line and a start repeat at the beginning of the next
+line.
+
+To allow a line break where there is no visible bar line, use
+
+@example
+\bar ""
+@end example
+
+@noindent
+This will insert an invisible bar line and allow line breaks at this
+point (without increasing the bar number counter).
+
+In scores with many staves, a @code{\bar} command in one staff is
+automatically applied to all staves. The resulting bar lines are
+connected between different staves of a @code{StaffGroup},
+@code{PianoStaff}, or @code{GrandStaff}.
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+<<
+ \new StaffGroup <<
+ \new Staff {
+ e'4 d'
+ \bar "||"
+ f' e'
+ }
+ \new Staff { \clef bass c4 g e g }
+ >>
+ \new Staff { \clef bass c2 c2 }
+>>
+@end lilypond
+
+
+@commonprop
+
+@funindex whichBar
+@funindex repeatCommands
+@funindex defaultBarType
+
+The command @code{\bar }@var{bartype} is a short cut for doing
+@code{\set Timing.whichBar = }@var{bartype}. Whenever @code{whichBar}
+is set to a string, a bar line of that type is created.
+
+A bar line is created whenever the @code{whichBar} property is set.
+At the start of a measure it is set to the contents of
+@code{Timing.defaultBarType}. The contents of @code{repeatCommands} are
+used
+to override default measure bars.
+
+You are encouraged to use @code{\repeat} for repetitions. See
+@ref{Repeats}.
+
+
+@seealso
+
+In this manual: @ref{Repeats}, @ref{System start delimiters}.
+
+Program reference: @internalsref{BarLine} (created at
+@internalsref{Staff} level), @internalsref{SpanBar} (across staves).
+
+
+@anchor{Bar numbers}
+@unnumberedsubsubsec Bar numbers
+
+@cindex Bar numbers
+@cindex measure numbers
+@funindex currentBarNumber
+
+Bar numbers are printed by default at the start of the line. The
+number itself is stored in the @code{currentBarNumber} property, which
+is normally updated automatically for every measure.
+
+@lilypond[verbatim,ragged-right,quote,fragment,relative]
+\repeat unfold 4 {c4 c c c} \break
+\set Score.currentBarNumber = #50
+\repeat unfold 4 {c4 c c c}
+@end lilypond
+
+Bar numbers may only be printed at bar lines; to print a bar
+number at the beginning of a piece, an empty bar line must
+be added
+
+@lilypond[verbatim,ragged-right,quote,fragment,relative]
+\set Score.currentBarNumber = #50
+\bar ""
+\repeat unfold 4 {c4 c c c} \break
+\repeat unfold 4 {c4 c c c}
+@end lilypond
+
+Bar numbers can be typeset at regular intervals instead of at the
+beginning of each line. This is illustrated in the following example,
+whose source is available as
+@lsr{staff,making-bar-numbers-appear-at-regular-intervals.ly}.
+
+@lilypondfile[ragged-right,quote]{bar-number-regular-interval.ly}
+
+Bar numbers can be removed entirely by removing the Bar number
+engraver from the score.
+
+@lilypond[verbatim,ragged-right,quote]
+\layout {
+ \context {
+ \Score
+ \remove "Bar_number_engraver"
+ }
+}
+\relative c''{
+c4 c c c \break
+c4 c c c
+}
+@end lilypond
+
+
+@seealso
+
+Program reference: @internalsref{BarNumber}.
+
+Examples: @lsrdir{staff}
+
+
+@refbugs
+
+Bar numbers can collide with the @internalsref{StaffGroup} bracket, if
+there is one at the top. To solve this, the
+@code{padding} property of @internalsref{BarNumber} can be
+used to position the number correctly.
+
+
+@anchor{Barnumber check}
+@unnumberedsubsubsec Barnumber check
+
+When copying large pieces of music, it can be helpful to check that
+the LilyPond bar number corresponds to the original that you are
+entering from. This can be checked with @code{\barNumberCheck}, for
+example,
+
+@verbatim
+\barNumberCheck #123
+@end verbatim
+
+@noindent
+will print a warning if the @code{currentBarNumber} is not 123 when it
+is processed.
+
+
+@anchor{Rehearsal marks}
+@unnumberedsubsubsec Rehearsal marks
+
+@cindex Rehearsal marks
+@funindex \mark
+
+To print a rehearsal mark, use the @code{\mark} command
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+c1 \mark \default
+c1 \mark \default
+c1 \mark #8
+c1 \mark \default
+c1 \mark \default
+@end lilypond
+
+@noindent
+The letter@tie{}@q{I} is skipped in accordance with engraving traditions.
+If you wish to include the letter @q{I}, then use
+
+@example
+\set Score.markFormatter = #format-mark-alphabet
+@end example
+
+The mark is incremented automatically if you use @code{\mark
+\default}, but you can also use an integer argument to set the mark
+manually. The value to use is stored in the property
+@code{rehearsalMark}.
+
+The style is defined by the property @code{markFormatter}. It is a
+function taking the current mark (an integer) and the current context
+as argument. It should return a markup object. In the following
+example, @code{markFormatter} is set to a canned procedure. After a
+few measures, it is set to function that produces a boxed number.
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+\set Score.markFormatter = #format-mark-numbers
+c1 \mark \default
+c1 \mark \default
+\set Score.markFormatter = #format-mark-box-numbers
+c1 \mark \default
+c1 \mark \default
+c1
+@end lilypond
+
+The file @file{scm/@/translation@/-functions@/.scm} contains the definitions
+of @code{format-mark-numbers} (the default format),
+@code{format-mark-box-numbers},
+@code{format-mark-letters} and @code{format-mark-box-letters}.
+These can be used as inspiration for other formatting functions.
+
+You may use @code{format-mark-barnumbers}, @code{format-mark-box-barnumbers},
+and @code{format-mark-circle-barnumbers} to get bar numbers instead of
+incremented numbers or letters.
+
+Other styles of rehearsal mark can be specified manually
+
+@example
+\mark "A1"
+@end example
+
+@noindent
+@code{Score.markFormatter} does not affect marks specified in this manner.
+However, it is possible to apply a @code{\markup} to the string.
+
+@example
+\mark \markup@{ \box A1 @}
+@end example
+
+@cindex segno
+@cindex coda
+@cindex D.S al Fine
+
+Music glyphs (such as the segno sign) may be printed inside
+a @code{\mark}
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative]
+c1 \mark \markup { \musicglyph #"scripts.segno" }
+c1 \mark \markup { \musicglyph #"scripts.coda" }
+c1 \mark \markup { \musicglyph #"scripts.ufermata" }
+c1
+@end lilypond
+
+@noindent
+See @ref{The Feta font}, for a list of symbols which may be
+printed with @code{\musicglyph}.
+
+For common tweaks to the positioning of rehearsal marks, see @ref{Text marks}.
+
+@seealso
+
+This manual: @ref{Text marks}.
+
+Program reference: @internalsref{RehearsalMark}.
+
+Init files: @file{scm/@/translation@/-functions@/.scm} contains the
+definition of @code{format-mark-numbers} and
+@code{format-mark-letters}. They can be used as inspiration for other
+formatting functions.
+
+Examples: @lsr{parts,rehearsal-mark-numbers.ly}
+
+
+@node Special rhythmic concerns
+@subsection Special rhythmic concerns
+
+
+@anchor{Grace notes}
+@unnumberedsubsubsec Grace notes
+
+@funindex \grace
+@cindex ornaments
+@cindex grace notes
+@cindex appoggiatura
+@cindex acciaccatura
+
+Grace notes are ornaments that are written out. The most common ones
+are acciaccatura, which should be played as very short. It is denoted
+by a slurred small note with a slashed stem. The appoggiatura is a
+grace note that takes a fixed fraction of the main note, and is
+denoted as a slurred note in small print without a slash. They
+are entered with the commands @code{\acciaccatura} and
+@code{\appoggiatura}, as demonstrated in the following example
+
+@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
+b4 \acciaccatura d8 c4 \appoggiatura e8 d4
+\acciaccatura { g16[ f] } e4
+@end lilypond
+
+Both are special forms of the @code{\grace} command. By prefixing this
+keyword to a music expression, a new one is formed, which will be
+printed in a smaller font and takes up no logical time in a measure.
+
+@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
+c4 \grace c16 c4
+\grace { c16[ d16] } c2 c4
+@end lilypond
+
+@noindent
+Unlike @code{\acciaccatura} and @code{\appoggiatura}, the
+@code{\grace} command does not start a slur.
+
+@cindex timing, internal
+
+Internally, timing for grace notes is done using a second, @q{grace}
+timing. Every point in time consists of two rational numbers: one
+denotes the logical time, one denotes the grace timing. The above
+example is shown here with timing tuples
+
+@lilypond[quote,ragged-right]
+<<
+ \relative c''{
+ c4 \grace c16 c4 \grace {
+ c16[ d16] } c2 c4
+ }
+ \new Lyrics \lyricmode {
+ \override LyricText #'font-family = #'typewriter
+
+ \markup { (0,0) } 4
+ \grace { \markup {
+ ( \fraction 1 4 , \fraction -1 16 ) } 16 }
+ \markup { (\fraction 1 4 , 0 ) } 4
+ \grace {
+ \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
+ \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
+ }
+ \markup { ( \fraction 2 4 , 0 ) }
+ }
+>>
+@end lilypond
+
+The placement of grace notes is synchronized between different staves.
+In the following example, there are two sixteenth grace notes for
+every eighth grace note
+
+@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
+<< \new Staff { e4 \grace { c16[ d e f] } e4 }
+ \new Staff { c4 \grace { g8[ b] } c4 } >>
+@end lilypond
+
+@funindex \afterGrace
+
+If you want to end a note with a grace, use the @code{\afterGrace}
+command. It takes two arguments: the main note, and the grace notes
+following the main note.
+
+@lilypond[ragged-right, verbatim,relative=2,fragment]
+c1 \afterGrace d1 { c16[ d] } c4
+@end lilypond
+
+This will put the grace notes after a @q{space} lasting 3/4 of the
+length of the main note. The fraction 3/4 can be changed by setting
+@code{afterGraceFraction}, ie.
+
+@example
+#(define afterGraceFraction (cons 7 8))
+@end example
+
+@noindent
+will put the grace note at 7/8 of the main note.
+
+The same effect can be achieved manually by doing
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\new Voice {
+ << { d1^\trill_( }
+ { s2 \grace { c16[ d] } } >>
+ c4)
+}
+@end lilypond
+
+@noindent
+By adjusting the duration of the skip note (here it is a half-note),
+the space between the main-note and the grace is adjusted.
+
+A @code{\grace} music expression will introduce special typesetting settings,
+for example, to produce smaller type, and set directions. Hence, when
+introducing layout tweaks, they should be inside the grace expression,
+for example,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\new Voice {
+ \acciaccatura {
+ \stemDown
+ f16->
+ \stemNeutral
+ }
+ g4
+}
+@end lilypond
+
+@noindent
+The overrides should also be reverted inside the grace expression.
+
+The layout of grace expressions can be changed throughout the music
+using the function @code{add-grace-property}. The following example
+undefines the @code{Stem} direction for this grace, so that stems do not
+always point up.
+
+@example
+\new Staff @{
+ #(add-grace-property 'Voice 'Stem 'direction '())
+ @dots{}
+@}
+@end example
+
+@noindent
+Another option is to change the variables @code{startGraceMusic},
+@code{stopGraceMusic}, @code{startAcciaccaturaMusic},
+@code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
+@code{stopAppoggiaturaMusic}. More information is in the file
+@file{ly/@/grace@/-init@/.ly}.
+
+@noindent
+The slash through the stem in acciaccaturas can be obtained
+in other situations by @code{\override Stem #'stroke-style = #"grace"}.
+
+
+@commonprop
+
+Grace notes may be forced to use floating spacing,
+
+@lilypond[relative=2,ragged-right]
+<<
+ \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+ \new Staff {
+ c'4
+ \afterGrace
+ c'4
+ { c'16[ c'8 c'16] }
+ c'4
+ }
+ \new Staff {
+ c'16[ c'16 c'16 c'16]
+ c'16[ c'16 c'16 c'16]
+ c'4
+ }
+>>
+@end lilypond
+
+
+@seealso
+
+Program reference: @internalsref{GraceMusic}.
+
+
+@refbugs
+
+A score that starts with a @code{\grace} expression needs an explicit
+@code{\new Voice} declaration, otherwise the main note and the grace
+note end up on different staves.
+
+Grace note synchronization can also lead to surprises. Staff notation,
+such as key signatures, bar lines, etc., are also synchronized. Take
+care when you mix staves with grace notes and staves without, for example,
+
+@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
+<< \new Staff { e4 \bar "|:" \grace c16 d4 }
+ \new Staff { c4 \bar "|:" d4 } >>
+@end lilypond
+
+@noindent
+This can be remedied by inserting grace skips of the corresponding
+durations in the other staves. For the above example
+
+@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
+<< \new Staff { e4 \bar "|:" \grace c16 d4 }
+ \new Staff { c4 \bar "|:" \grace s16 d4 } >>
+@end lilypond
+
+Grace sections should only be used within sequential music
+expressions. Nesting or juxtaposing grace sections is not supported,
+and might produce crashes or other errors.
+
+
+@anchor{Aligning to cadenzas}
+@unnumberedsubsubsec Aligning to cadenzas
+
+In an orchestral context, cadenzas present a special problem:
+when constructing a score that includes a cadenza, all other
+instruments should skip just as many notes as the length of the
+cadenza, otherwise they will start too soon or too late.
+
+A solution to this problem are the functions @code{mmrest-of-length}
+and @code{skip-of-length}. These Scheme functions take a piece of music
+as argument, and generate a @code{\skip} or multi-rest, exactly as
+long as the piece. The use of @code{mmrest-of-length} is demonstrated
+in the following example.
+
+@lilypond[verbatim,ragged-right,quote]
+cadenza = \relative c' {
+ c4 d8 << { e f g } \\ { d4. } >>
+ g4 f2 g4 g
+}
+
+\new GrandStaff <<
+ \new Staff { \cadenza c'4 }
+ \new Staff {
+ #(ly:export (mmrest-of-length cadenza))
+ c'4
+ }
+>>
+@end lilypond
+
+
+@anchor{Time administration}
+@unnumberedsubsubsec Time administration
+
+@cindex Time administration
+
+Time is administered by the @internalsref{Time_signature_engraver},
+which usually lives in the @internalsref{Score} context. The
+bookkeeping deals with the following variables
+
+@table @code
+@item currentBarNumber
+The measure number.
+
+@item measureLength
+The length of the measures in the current time signature. For a 4/4
+time this is@tie{}1, and for 6/8 it is 3/4.
+
+@item measurePosition
+The point within the measure where we currently are. This quantity
+is reset to@tie{}0 whenever it exceeds @code{measureLength}. When that
+happens, @code{currentBarNumber} is incremented.
+
+@item timing
+If set to true, the above variables are updated for every time
+step. When set to false, the engraver stays in the current measure
+indefinitely.
+@end table
+
+Timing can be changed by setting any of these variables explicitly.
+In the next example, the 4/4 time signature is printed, but
+@code{measureLength} is set to 5/4. After a while, the measure is
+shortened by 1/8, by setting @code{measurePosition} to 7/8 at 2/4
+in the measure, so the next bar line will fall at 2/4 + 3/8. The
+3/8 arises because 5/4 normally has 10/8, but we have manually
+set the measure position to be 7/8 and 10/8 - 7/8 = 3/8.
+
+@lilypond[quote,ragged-right,verbatim,relative,fragment]
+\set Score.measureLength = #(ly:make-moment 5 4)
+c1 c4
+c1 c4
+c4 c4
+\set Score.measurePosition = #(ly:make-moment 7 8)
+b8 b b
+c4 c1
+@end lilypond
+
+@noindent
+As the example illustrates, @code{ly:make-moment n m} constructs a
+duration of n/m of a whole note. For example, @code{ly:make-moment 1 8} is
+an eighth
+note duration and @code{ly:make-moment 7 16} is the duration of
+seven sixteenths notes.
+
+
+@anchor{Proportional notation (introduction)}
+@unnumberedsubsubsec Proportional notation (introduction)
+@cindex Proportional notation
+
+See @ref{Proportional notation}.
+
+
+TODO: remove all this stuff?
+
+Notes can be spaced proportionally to their time-difference by
+assigning a duration to @code{proportionalNotationDuration}
+
+@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
+<<
+ \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
+ \new Staff { c8[ c c c c c] c4 c2 r2 }
+ \new Staff { c2 \times 2/3 { c8 c c } c4 c1 }
+>>
+@end lilypond
+
+Setting this property only affects the ideal spacing between
+consecutive notes. For true proportional notation, the following
+settings are also required.
+
+@itemize @bullet
+
+@item True proportional notation requires that symbols are allowed to
+overstrike each other. That is achieved by removing the
+@internalsref{Separating_line_group_engraver} from
+@internalsref{Staff} context.
+
+@item Spacing influence of prefatory matter (clefs, bar lines, etc.)
+is removed by setting the @code{strict-note-spacing} property to
+@code{#t} in @internalsref{SpacingSpanner} grob.
+
+@item Optical spacing tweaks are switched by setting
+@code{uniform-stretching} in @internalsref{SpacingSpanner} to true.
+
+
+@end itemize
+
+@seealso
+
+Examples: @lsr{spacing,proportional@/-spacing@/.ly},
+@lsr{spacing,proportional@/-strict@/-grace@/-notes@/.ly}, and
+@lsr{spacing,proportional@/-strict@/-notespacing@/.ly}
+
+An example of strict proportional notation is in the
+example file @file{input/proportional.ly}.
+
+