@cindex easy notation
@cindex Hal Leonard
-The @q{easy play} note head includes a note name inside the head. It is
-used in music for beginners
+The @q{easy play} note head includes a note name inside the head.
+It is used in music for beginners
@lilypond[quote,ragged-right,verbatim,fragment,staffsize=26]
\setEasyHeads
@end lilypond
The command @code{\setEasyHeads} overrides settings for the
-@internalsref{NoteHead} object. To make the letters readable, it has
-to be printed in a large font size. To print with a larger font, see
-@ref{Setting the staff size}.
+@internalsref{NoteHead} object. To make the letters readable, it
+has to be printed in a large font size. To print with a larger
+font, see @ref{Setting the staff size}.
@refcommands
@cindex note heads, shape
-In shape note head notation, the shape of the note head corresponds
-to the harmonic function of a note in the scale. This notation was
-popular in the 19th century American song books.
+In shape note head notation, the shape of the note head
+corresponds to the harmonic function of a note in the scale. This
+notation was popular in the 19th century American song books.
Shape note heads can be produced by setting @code{\aikenHeads} or
@code{\sacredHarpHeads}, depending on the style desired.
c8 d4. e8 a2 g1
@end lilypond
-Shapes are determined on the step in the scale, where the base of the
-scale is determined by the @code{\key} command
+Shapes are determined on the step in the scale, where the base of
+the scale is determined by the @code{\key} command
@funindex \key
@funindex shapeNoteStyles
@funindex \aikenHeads
@funindex \sacredHarpHeads
-Shape note heads are implemented through the @code{shapeNoteStyles}
-property. Its value is a vector of symbols. The k-th element indicates
-the style to use for the k-th step of the scale. Arbitrary
-combinations are possible, e.g.
+Shape note heads are implemented through the
+@code{shapeNoteStyles} property. Its value is a vector of
+symbols. The k-th element indicates the style to use for the k-th
+step of the scale. Arbitrary combinations are possible, e.g.
@lilypond[verbatim,relative=1,fragment]
- \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond)
- c8 d4. e8 a2 g1
+\set shapeNoteStyles =
+ ##(cross triangle fa #f mensural xcircle diamond)
+c8 d4. e8 a2 g1
@end lilypond
@node Improvisation
@unnumberedsubsubsec Improvisation
-Improvisation is sometimes denoted with slashed note heads. Such note
-heads can be created by adding a @internalsref{Pitch_squash_engraver}
-to the @internalsref{Voice} context. Then, the
-following command
+Improvisation is sometimes denoted with slashed note heads. Such
+note heads can be created by adding a
+@internalsref{Pitch_squash_engraver} to the @internalsref{Voice}
+context. Then, the following command
@example
\set squashedPosition = #0
switches on the slashes.
There are shortcuts @code{\improvisationOn} (and an accompanying
-@code{\improvisationOff}) for this command sequence. They are used in
-the following example
+@code{\improvisationOff}) for this command sequence. They are
+used in the following example
@lilypond[verbatim,ragged-right,quote]
\new Voice \with {
@cindex note heads, special
Different noteheads are used by various instruments for various
-meanings -- crosses are used for @q{parlato} with vocalists, stopped
-notes on guitar; diamonds are used for harmonics on string instruments,
-etc. There is a shorthand (@code{\harmonic}) for diamond shapes; the
-other notehead styles are produced by tweaking the property
+meanings -- crosses are used for @q{parlato} with vocalists,
+stopped notes on guitar; diamonds are used for harmonics on string
+instruments, etc. There is a shorthand (@code{\harmonic}) for
+diamond shapes; the other notehead styles are produced by tweaking
+the property
@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
c4 d
@end lilypond
@noindent
-To see all notehead styles, please see
-@ref{Note head styles}.
+To see all notehead styles, please see @ref{Note head styles}.
@seealso
slurs.
Internally, the @code{fontSize} context property will cause the
-@code{font-size} property to be set in all layout objects. The value
-of @code{font-size} is a number indicating the size relative to the
-standard size for the current staff height. Each step up is an
-increase of approximately 12% of the font size. Six steps is exactly a
-factor two. The Scheme function @code{magstep} converts a
-@code{font-size} number to a scaling factor. The @code{font-size}
-property can also be set directly, so that only certain layout objects are
-affected.
+@code{font-size} property to be set in all layout objects. The
+value of @code{font-size} is a number indicating the size relative
+to the standard size for the current staff height. Each step up
+is an increase of approximately 12% of the font size. Six steps
+is exactly a factor two. The Scheme function @code{magstep}
+converts a @code{font-size} number to a scaling factor. The
+@code{font-size} property can also be set directly, so that only
+certain layout objects are affected.
@lilypond[quote,fragment,relative=1,verbatim]
c8
Font size changes are achieved by scaling the design size that is
closest to the desired size. The standard font size (for
-@code{font-size} equals 0), depends on the standard staff height. For
-a 20pt staff, a 10pt font is selected.
+@code{font-size} equals 0), depends on the standard staff height.
+For a 20pt staff, a 10pt font is selected.
-The @code{font-size} property can only be set on layout objects that
-use fonts. These are the ones supporting the
+The @code{font-size} property can only be set on layout objects
+that use fonts. These are the ones supporting the
@internalsref{font-interface} layout interface.
@refcommands
@cindex finger change
Fingering instructions can be entered using
+
@example
@var{note}-@var{digit}
@end example
+
For finger changes, use markup texts
@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
You can use the thumb-script to indicate that a note should be
played with the thumb (e.g., in cello music)
+
@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
<a_\thumb a'-3>8 <b_\thumb b'-3>
@end lilypond
-Fingerings for chords can also be added to individual notes
-of the chord by adding them after the pitches
+Fingerings for chords can also be added to individual notes of the
+chord by adding them after the pitches
+
@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
< c-1 e-2 g-3 b-5 >4
@end lilypond
@commonprop
-You may exercise greater control over fingering chords by
-setting @code{fingeringOrientations}
+You may exercise greater control over fingering chords by setting
+@code{fingeringOrientations}
@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
\set fingeringOrientations = #'(left down)
<c-1 es-2 g-4 bes-5 > 4
@end lilypond
-Using this feature, it is also possible to put fingering instructions
-very close to note heads in monophonic music,
+Using this feature, it is also possible to put fingering
+instructions very close to note heads in monophonic music,
@lilypond[verbatim,ragged-right,quote,fragment]
\set fingeringOrientations = #'(right)
@funindex \hideNotes
@funindex \unHideNotes
-Hidden (or invisible or transparent) notes can be useful in preparing theory
-or composition exercises.
+
+Hidden (or invisible or transparent) notes can be useful in
+preparing theory or composition exercises.
@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
c4 d4
@node Coloring objects
@unnumberedsubsubsec Coloring objects
-Individual objects may be assigned colors. You may use the
-color names listed in the @ref{List of colors}.
+Individual objects may be assigned colors. You may use the color
+names listed in the @ref{List of colors}.
@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
\override NoteHead #'color = #red
e
@end lilypond
-The full range of colors defined for X11 can be accessed by using the
-Scheme function x11-color. The function takes one argument that can be a
-symbol
+The full range of colors defined for X11 can be accessed by using
+the Scheme function x11-color. The function takes one argument
+that can be a symbol
@example
\override Beam #'color = #(x11-color 'MediumTurquoise)
\override Beam #'color = #(x11-color "MediumTurquoise")
@end example
-The first form is quicker to write and is more efficient. However, using
-the second form it is possible to access X11 colors by the multi-word
-form of its name
+The first form is quicker to write and is more efficient.
+However, using the second form it is possible to access X11 colors
+by the multi-word form of its name
@example
\override Beam #'color = #(x11-color "medium turquoise")
@end example
-If x11-color cannot make sense of the parameter then the color returned
-defaults to black. It should be obvious from the final score that
-something is wrong.
+If x11-color cannot make sense of the parameter then the color
+returned defaults to black. It should be obvious from the final
+score that something is wrong.
-This example illustrates the use of x11-color. Notice that the stem
-color remains black after being set to (x11-color 'Boggle), which is
-deliberate nonsense.
+This example illustrates the use of x11-color. Notice that the
+stem color remains black after being set to (x11-color 'Boggle),
+which is deliberate nonsense.
@lilypond[quote,ragged-right,verbatim]
{
@refbugs
-Not all x11 colors are distinguishable in a web browser. For web use
-normal colors are recommended.
+Not all x11 colors are distinguishable in a web browser. For web
+use normal colors are recommended.
-An x11 color is not necessarily exactly the same shade as a similarly
-named normal color.
+An x11 color is not necessarily exactly the same shade as a
+similarly named normal color.
Notes in a chord cannot be colored with @code{\override}; use
@code{\tweak} instead. See @ref{Objects connected to the input},
@cindex notes, ghost
@cindex notes, parenthesized
-Objects may be parenthesized by prefixing @code{\parenthesize} to the music
-event,
+Objects may be parenthesized by prefixing @code{\parenthesize} to
+the music event,
@lilypond[relative=2,fragment,verbatim,ragged-right]
<
@unnumberedsubsubsec Ambitus
@cindex ambitus
-The term @emph{ambitus} denotes a range of pitches for a given voice
-in a part of music. It may also denote the pitch range that a musical
-instrument is capable of playing. Ambits are printed on vocal parts,
-so performers can easily determine it meets their capabilities.
+The term @emph{ambitus} denotes a range of pitches for a given
+voice in a part of music. It may also denote the pitch range that
+a musical instrument is capable of playing. Ambits are printed on
+vocal parts, so performers can easily determine it meets their
+capabilities.
-Ambits are denoted at the beginning of a piece near the initial clef.
-The range is graphically specified by two note heads that represent the
-minimum and maximum pitch. To print such ambits, add the
-@internalsref{Ambitus_engraver} to the @internalsref{Voice} context,
-for example,
+Ambits are denoted at the beginning of a piece near the initial
+clef. The range is graphically specified by two note heads that
+represent the minimum and maximum pitch. To print such ambits,
+add the @internalsref{Ambitus_engraver} to the
+@internalsref{Voice} context, for example,
@example
\layout @{
}
@end lilypond
-If you have multiple voices in a single staff and you want a single
-ambitus per staff rather than per each voice, add the
-@internalsref{Ambitus_engraver} to the @internalsref{Staff} context
-rather than to the @internalsref{Voice} context. Here is an example,
+If you have multiple voices in a single staff and you want a
+single ambitus per staff rather than per each voice, add the
+@internalsref{Ambitus_engraver} to the @internalsref{Staff}
+context rather than to the @internalsref{Voice} context. Here is
+an example,
@lilypond[verbatim,ragged-right,quote]
\new Staff \with {
@end example
@noindent
-This code moves the ambitus to the left. The same effect could have
-been achieved with @code{extra-offset}, but then the formatting system
-would not reserve space for the moved object.
+This code moves the ambitus to the left. The same effect could
+have been achieved with @code{extra-offset}, but then the
+formatting system would not reserve space for the moved object.
@seealso
@unnumberedsubsubsec Stems
Whenever a note is found, a @internalsref{Stem} object is created
-automatically. For whole notes and rests, they are also created but
-made invisible.
+automatically. For whole notes and rests, they are also created
+but made invisible.
@refcommands
@node Balloon help
@unnumberedsubsubsec Balloon help
-Elements of notation can be marked and named with the help of a square
-balloon. The primary purpose of this feature is to explain notation.
+Elements of notation can be marked and named with the help of a
+square balloon. The primary purpose of this feature is to explain
+notation.
The following example demonstrates its use.
@noindent
There are two music functions, @code{balloonText} and
@code{balloonGrobText}. The latter takes the name of the grob to
-adorn, while the former may be used as an articulation on a note.
+adorn, while the former may be used as an articulation on a note.
The other arguments are the offset and the text of the label.
@cindex balloon
@node Grid lines
@unnumberedsubsubsec Grid lines
-Vertical lines can be drawn between staves synchronized with
-the notes.
+Vertical lines can be drawn between staves synchronized with the
+notes.
@lilypond[ragged-right,quote,verbatim]
\layout {
@cindex Sheet music, empty
@cindex Staves, blank sheet
-A blank music sheet can be produced also by using invisible notes, and
-removing @code{Bar_number_engraver}.
+A blank music sheet can be produced also by using invisible notes,
+and removing @code{Bar_number_engraver}.
@lilypond[quote,verbatim]
@commonprop
The vertical ordering of scripts is controlled with the
-@code{script-priority} property. The lower this number, the closer it
-will be put to the note. In this example, the
+@code{script-priority} property. The lower this number, the
+closer it will be put to the note. In this example, the
@internalsref{TextScript} (the sharp symbol) first has the lowest
-priority, so it is put lowest in the first example. In the second, the
-prall trill (the @internalsref{Script}) has the lowest, so it is on the
-inside. When two objects have the same priority, the order in which
-they are entered decides which one comes first.
+priority, so it is put lowest in the first example. In the
+second, the prall trill (the @internalsref{Script}) has the
+lowest, so it is on the inside. When two objects have the same
+priority, the order in which they are entered decides which one
+comes first.
@lilypond[verbatim,relative=3,ragged-right,fragment,quote]
\once \override TextScript #'script-priority = #-100
Absolute dynamic marks are specified using a command after a note
@code{c4\ff}. The available dynamic marks are @code{\ppppp},
-@code{\pppp}, @code{\ppp},
-@code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
-@code{\fff}, @code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff},
-@code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.
+@code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p}, @code{\mp},
+@code{\mf}, @code{\f}, @code{\ff}, @code{\fff}, @code{\ffff},
+@code{\fp}, @code{\sf}, @code{\sff}, @code{\sp}, @code{\spp},
+@code{\sfz}, and @code{\rfz}.
@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
@code{\!} or an absolute dynamic. A decrescendo is started with
@code{\>} and is also terminated with @code{\!} or an absolute
dynamic. @code{\cr} and @code{\decr} may be used instead of
-@code{\<} and @code{\>}. Because these marks are bound to notes, you must
-use spacer notes if multiple marks are needed during one note
+@code{\<} and @code{\>}. Because these marks are bound to notes,
+you must use spacer notes if multiple marks are needed during one
+note
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c\< c\! d\> e\!
@noindent
A hairpin normally starts at the left edge of the beginning note
-and ends on the right edge of the ending note. If the ending
-note falls on the downbeat, the hairpin ends on the immediately
+and ends on the right edge of the ending note. If the ending note
+falls on the downbeat, the hairpin ends on the immediately
preceding barline. This may be modified by setting the
@code{hairpinToBarline} property,
c4\< c2. c4\!
@end lilypond
-In some situations the @code{\espressivo} articulation mark may
-be suitable to indicate a crescendo and decrescendo on the one note,
+In some situations the @code{\espressivo} articulation mark may be
+suitable to indicate a crescendo and decrescendo on the one note,
@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c2 b4 a g1\espressivo
@end lilypond
-This may give rise to very short hairpins. Use @code{minimum-length}
-in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
+This may give rise to very short hairpins. Use
+@code{minimum-length} in
+@internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
example
@example
a'2\< a a a\!\mf
@end lilypond
-To create new dynamic marks or text that should be aligned
-with dynamics, see @ref{New dynamic marks}.
+To create new dynamic marks or text that should be aligned with
+dynamics, see @ref{New dynamic marks}.
Vertical positioning of dynamics is handled by
@internalsref{DynamicLineSpanner}.
@commonprop
-Dynamics that occur at, begin on, or end on, the same note
-will be vertically aligned. If you want to ensure that dynamics
-are aligned when they do not occur on the same note, you can
-increase the @code{staff-padding} property.
+Dynamics that occur at, begin on, or end on, the same note will be
+vertically aligned. If you want to ensure that dynamics are
+aligned when they do not occur on the same note, you can increase
+the @code{staff-padding} property.
@example
\override DynamicLineSpanner #'staff-padding = #4
@end example
-You may also use this property if the dynamics are colliding
-with other notation.
+You may also use this property if the dynamics are colliding with
+other notation.
-Crescendi and decrescendi that end on the first note of a
-new line are not printed. To change this behavior, use
+Crescendi and decrescendi that end on the first note of a new line
+are not printed. To change this behavior, use
@example
\override Score.Hairpin #'after-line-breaking = ##t
@end example
Text style dynamic changes (such as @emph{cresc.} and @emph{dim.})
-are printed with a
-dashed line showing their extent. To surpress printing this line, use
+are printed with a dashed line showing their extent. To surpress
+printing this line, use
@example
\override DynamicTextSpanner #'dash-period = #-1.0
@seealso
-Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}.
-Vertical positioning of these symbols is handled by
-@internalsref{DynamicLineSpanner}.
+Program reference: @internalsref{DynamicText},
+@internalsref{Hairpin}. Vertical positioning of these symbols is
+handled by @internalsref{DynamicLineSpanner}.
@node Curves
@cindex tie
@funindex ~
-A tie connects two adjacent note heads of the same pitch. The tie in
-effect extends the length of a note. Ties should not be confused with
-slurs, which indicate articulation, or phrasing slurs, which indicate
-musical phrasing. A tie is entered using the tilde symbol @samp{~}
+A tie connects two adjacent note heads of the same pitch. The tie
+in effect extends the length of a note. Ties should not be
+confused with slurs, which indicate articulation, or phrasing
+slurs, which indicate musical phrasing. A tie is entered using
+the tilde symbol @samp{~}
@lilypond[quote,ragged-right,fragment,verbatim]
e' ~ e' <c' e' g'> ~ <c' e' g'>
@end lilypond
-When a tie is applied to a chord, all note heads whose pitches match
-are connected. When no note heads match, no ties will be created. Chords
-may be partially tied by placing the tie inside the chord,
+When a tie is applied to a chord, all note heads whose pitches
+match are connected. When no note heads match, no ties will be
+created. Chords may be partially tied by placing the tie inside
+the chord,
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
<c~ e g~ b> <c e g b>
@end lilypond
A tie is just a way of extending a note duration, similar to the
-augmentation dot. The following example shows two ways of notating
-exactly the same concept
+augmentation dot. The following example shows two ways of
+notating exactly the same concept
@lilypond[quote,fragment,ragged-right]
\time 3/4 c'2. c'2 ~ c'4
@end lilypond
@noindent
-Ties are used either when the note crosses a bar line, or when dots
-cannot be used to denote the rhythm. When using ties, larger note
-values should be aligned to subdivisions of the measure, such as
+Ties are used either when the note crosses a bar line, or when
+dots cannot be used to denote the rhythm. When using ties, larger
+note values should be aligned to subdivisions of the measure, such
+as
@lilypond[fragment,quote,ragged-right]
\relative {
}
@end lilypond
-If you need to tie a lot of notes over bars, it may be easier to use
-automatic note splitting (see @ref{Automatic note splitting}). This
-mechanism automatically splits long notes, and ties them across bar
-lines.
+If you need to tie a lot of notes over bars, it may be easier to
+use automatic note splitting (see @ref{Automatic note splitting}).
+This mechanism automatically splits long notes, and ties them
+across bar lines.
@funindex \repeatTie
When a second alternative of a repeat starts with a tied note, you
-have to repeat the tie. This can be achieved with @code{\repeatTie},
+have to repeat the tie. This can be achieved with
+@code{\repeatTie},
@lilypond[fragment,quote,ragged-right,relative=2]
r <c e g>\repeatTie
@commonprop
-Ties are sometimes used to write out arpeggios. In this case, two tied
-notes need not be consecutive. This can be achieved by setting the
-@code{tieWaitForNote} property to true. The same feature is also useful,
-for example, to tie a tremolo to a chord. For example,
+Ties are sometimes used to write out arpeggios. In this case, two
+tied notes need not be consecutive. This can be achieved by
+setting the @code{tieWaitForNote} property to true. The same
+feature is also useful, for example, to tie a tremolo to a chord.
+For example,
@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
\set tieWaitForNote = ##t
e8~ c~ a~ f~ <e' c a f>2
@end lilypond
-Ties may be engraved manually by changing the @code{tie-configuration}
-property. The first number indicates the distance from the center
-of the staff in staff-spaces, and the second number indicates the
-direction (1=up, -1=down).
+Ties may be engraved manually by changing the
+@code{tie-configuration} property. The first number indicates the
+distance from the center of the staff in staff-spaces, and the
+second number indicates the direction (1=up, -1=down).
@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
<c e g>2~ <c e g> |
@refbugs
-Switching staves when a tie is active will not produce a slanted tie.
+Switching staves when a tie is active will not produce a slanted
+tie.
Changing clefs or octavations during a tie is not really
well-defined. In these cases, a slur may be preferable.
@end lilypond
The direction of a slur can be specified with
-@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is
-either @code{Up}, @code{Down}, or @code{Neutral} (automatically
+@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either
+@code{Up}, @code{Down}, or @code{Neutral} (automatically
selected).
However, there is a convenient shorthand for forcing slur
@commonprop
-Some composers write two slurs when they want legato chords. This can
-be achieved in LilyPond by setting @code{doubleSlurs},
+Some composers write two slurs when they want legato chords. This
+can be achieved in LilyPond by setting @code{doubleSlurs},
@lilypond[verbatim,ragged-right,relative,fragment,quote]
\set doubleSlurs = ##t
@cindex phrasing marks
A phrasing slur (or phrasing mark) connects notes and is used to
-indicate a musical sentence. It is written using @code{\(} and @code{\)}
-respectively
+indicate a musical sentence. It is written using @code{\(} and
+@code{\)} respectively
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
\time 6/4 c'\( d( e) f( e) d\)
Typographically, the phrasing slur behaves almost exactly like a
normal slur. However, they are treated as different objects. A
-@code{\slurUp} will have no effect on a phrasing slur; instead, use
-@code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
+@code{\slurUp} will have no effect on a phrasing slur; instead,
+use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
@code{\phrasingSlurNeutral}.
You cannot have simultaneous phrasing slurs.
@cindex Laissez vibrer
@cindex Ties, laissez vibrer
-L.v. ties (laissez vibrer) indicate that notes must not be damped at the
-end. It is used in notation for piano, harp and other string and
-percussion instruments. They can be entered using @code{\laissezVibrer},
+L.v. ties (laissez vibrer) indicate that notes must not be damped
+at the end. It is used in notation for piano, harp and other
+string and percussion instruments. They can be entered using
+@code{\laissezVibrer},
@lilypond[fragment,ragged-right,verbatim,relative=1]
<c f g>\laissezVibrer
@commonprop
The glyph of the breath mark can be tuned by overriding the
-@code{text} property of the @code{BreathingSign} layout object with
-any markup text. For example,
+@code{text} property of the @code{BreathingSign} layout object
+with any markup text. For example,
+
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
c'4
\override BreathingSign #'text
@cindex Glissando
@funindex \glissando
-A glissando is a smooth change in pitch. It is denoted by a line or a
-wavy line between two notes. It is requested by attaching
+A glissando is a smooth change in pitch. It is denoted by a line
+or a wavy line between two notes. It is requested by attaching
@code{\glissando} to a note
@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
@refbugs
-Printing text over the line (such as @emph{gliss.}) is not supported.
+Printing text over the line (such as @emph{gliss.}) is not
+supported.
@node Arpeggio
@commonprop
-When an arpeggio crosses staves, you may attach an arpeggio to the chords
-in both staves and set
+When an arpeggio crosses staves, you may attach an arpeggio to the
+chords in both staves and set
@internalsref{PianoStaff}.@code{connectArpeggios}
@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
@refbugs
It is not possible to mix connected arpeggios and unconnected
-arpeggios in one @internalsref{PianoStaff} at the same point in time.
+arpeggios in one @internalsref{PianoStaff} at the same point in
+time.
@node Trills
@unnumberedsubsubsec Trills
-Short trills are printed like normal articulation; see @ref{Articulations}.
+Short trills are printed like normal articulation; see
+@ref{Articulations}.
Long running trills are made with @code{\startTrillSpan} and
@code{\stopTrillSpan},
@cindex Pitched trills
-Trills that should be executed on an explicitly specified pitch can be
-typeset with the command @code{pitchedTrill},
+Trills that should be executed on an explicitly specified pitch
+can be typeset with the command @code{pitchedTrill},
@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
\pitchedTrill c4\startTrillSpan fis
@end lilypond
@noindent
-The first argument is the main note. The pitch of the second
-is printed as a stemless note head in parentheses.
+The first argument is the main note. The pitch of the second is
+printed as a stemless note head in parentheses.
@refcommands
@node Analysis brackets
@unnumberedsubsubsec Analysis brackets
+
@cindex brackets
@cindex phrasing brackets
@cindex musicological analysis
@cindex note grouping bracket
-Brackets are used in musical analysis to indicate structure in musical
-pieces. LilyPond supports a simple form of nested horizontal
-brackets. To use this, add the @internalsref{Horizontal_bracket_engraver}
-to @internalsref{Staff} context. A bracket is started with
-@code{\startGroup} and closed with @code{\stopGroup}
+Brackets are used in musical analysis to indicate structure in
+musical pieces. LilyPond supports a simple form of nested
+horizontal brackets. To use this, add the
+@internalsref{Horizontal_bracket_engraver} to @internalsref{Staff}
+context. A bracket is started with @code{\startGroup} and closed
+with @code{\stopGroup}
@lilypond[quote,ragged-right,verbatim]
\score {
@node Repeats
@section Repeats
-Repetition is a central concept in music, and multiple notations exist
-for repetitions.
+Repetition is a central concept in music, and multiple notations
+exist for repetitions.
@menu
* Writing repeats::
\alternative { {f2 d} {f\repeatTie f,} }
@end lilypond
-It is possible to shorten volta brackets
-by setting @code{voltaSpannerDuration}. In the next example, the
-bracket only lasts one measure, which is a duration of 3/4.
+It is possible to shorten volta brackets by setting
+@code{voltaSpannerDuration}. In the next example, the bracket
+only lasts one measure, which is a duration of 3/4.
@lilypond[verbatim,ragged-right,quote]
\relative c''{
}
@end lilypond
-If you want to start a repeat at the beginning of a line and have a
-double bar at the end of the previous line, use
+If you want to start a repeat at the beginning of a line and have
+a double bar at the end of the previous line, use
@example
@dots{} \bar "||:" \break
having the @code{\alternative} belong to the inner @code{\repeat}.
For clarity, it is advisable to use braces in such situations.
-Timing information is not remembered at the start of an alternative,
-so after a repeat timing information must be reset by hand; for
-example, by setting @code{Score.measurePosition} or entering
-@code{\partial}. Similarly, slurs or ties are also not repeated.
+Timing information is not remembered at the start of an
+alternative, so after a repeat timing information must be reset by
+hand; for example, by setting @code{Score.measurePosition} or
+entering @code{\partial}. Similarly, slurs or ties are also not
+repeated.
@cindex repeats
-LilyPond has one syntactic construct for specifying different types of
-repeats. The syntax is
+LilyPond has one syntactic construct for specifying different
+types of repeats. The syntax is
@example
\repeat @var{variant} @var{repeatcount} @var{repeatbody}
@noindent
where each @var{alternative} is a music expression. If you do not
-give enough alternatives for all of the repeats, the first alternative
-is assumed to be played more than once.
+give enough alternatives for all of the repeats, the first
+alternative is assumed to be played more than once.
The following types of repetition are supported
@item volta
Repeats are not written out, but alternative endings (volte) are
-printed, left to right with brackets. This is the standard notation
-for repeats with alternatives. These are not played in MIDI output by
-default.
+printed, left to right with brackets. This is the standard
+notation for repeats with alternatives. These are not played in
+MIDI output by default.
@item tremolo
-Make tremolo beams. These are not played in MIDI output by default.
+Make tremolo beams. These are not played in MIDI output by
+default.
@item percent
-Make beat or measure repeats. These look like percent signs. These
-are not played in MIDI output by default. Percent repeats must be
-declared within a @code{Voice} context.
+Make beat or measure repeats. These look like percent signs.
+These are not played in MIDI output by default. Percent repeats
+must be declared within a @code{Voice} context.
@end table
@funindex repeatCommands
-The property @code{repeatCommands} can be used to control the layout of
-repeats. Its value is a Scheme list of repeat commands.
+The property @code{repeatCommands} can be used to control the
+layout of repeats. Its value is a Scheme list of repeat commands.
@table @asis
@item @code{start-repeat}
Print a @code{:|} bar line.
@item @code{(volta @var{text})}
-Print a volta bracket saying @var{text}: The text can be specified as
-a text string or as a markup text, see @ref{Text markup}. Do not
-forget to change the font, as the default number font does not contain
-alphabetic characters;
+Print a volta bracket saying @var{text}: The text can be specified
+as a text string or as a markup text, see @ref{Text markup}. Do
+not forget to change the font, as the default number font does not
+contain alphabetic characters;
@item @code{(volta #f)}
Stop a running volta bracket.
@seealso
Program reference: @internalsref{VoltaBracket},
-@internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic}, and
-@internalsref{UnfoldedRepeatedMusic}.
+@internalsref{RepeatedMusic}, @internalsref{VoltaRepeatedMusic},
+and @internalsref{UnfoldedRepeatedMusic}.
@node Repeats and MIDI
@unnumberedsubsubsec Repeats and MIDI
@end lilypond
When creating a score file using @code{\unfoldRepeats} for MIDI,
-it is necessary to make two @code{\score} blocks: one for MIDI (with
-unfolded repeats) and one for notation (with volta, tremolo, and
-percent repeats). For example,
+it is necessary to make two @code{\score} blocks: one for MIDI
+(with unfolded repeats) and one for notation (with volta, tremolo,
+and percent repeats). For example,
@example
\score @{
@cindex tremolo beams
-To place tremolo marks between notes, use @code{\repeat} with tremolo
-style
+To place tremolo marks between notes, use @code{\repeat} with
+tremolo style
+
@lilypond[quote,verbatim,ragged-right]
\new Voice \relative c' {
\repeat tremolo 8 { c16 d16 }
Tremolo marks can also be put on a single note. In this case, the
note should not be surrounded by braces.
+
@lilypond[quote,verbatim,ragged-right]
\repeat tremolo 4 c'16
@end lilypond
-Similar output is obtained using the tremolo subdivision, described in
-@ref{Tremolo subdivisions}.
+Similar output is obtained using the tremolo subdivision,
+described in @ref{Tremolo subdivisions}.
@seealso
In this manual: @ref{Tremolo subdivisions}, @ref{Repeats}.
-Program reference: @internalsref{Beam}, @internalsref{StemTremolo}.
+Program reference: @internalsref{Beam},
+@internalsref{StemTremolo}.
@node Tremolo subdivisions
@funindex tremoloFlags
Tremolo marks can be printed on a single note by adding
-@q{@code{:}[@var{number}]} after the note. The number indicates the
-duration of the subdivision, and it must be at least 8. A
-@var{length} value of 8 gives one line across the note stem. If the
-length is omitted, the last value (stored in @code{tremoloFlags}) is
-used
+@q{@code{:}[@var{number}]} after the note. The number indicates
+the duration of the subdivision, and it must be at least 8. A
+@var{length} value of 8 gives one line across the note stem. If
+the length is omitted, the last value (stored in
+@code{tremoloFlags}) is used
@lilypond[quote,ragged-right,verbatim,fragment]
c'2:8 c':32 | c': c': |
@refbugs
-Tremolos entered in this way do not carry over into the MIDI output.
+Tremolos entered in this way do not carry over into the MIDI
+output.
@seealso
@cindex percent repeats
@cindex measure repeats
-In the @code{percent} style, a note pattern can be repeated. It is
-printed once, and then the pattern is replaced with a special sign.
-Patterns of one and two measures are replaced by percent-like signs,
-patterns that divide the measure length are replaced by slashes.
-Percent repeats must be declared within a @code{Voice} context.
+In the @code{percent} style, a note pattern can be repeated. It
+is printed once, and then the pattern is replaced with a special
+sign. Patterns of one and two measures are replaced by
+percent-like signs, patterns that divide the measure length are
+replaced by slashes. Percent repeats must be declared within a
+@code{Voice} context.
@lilypond[quote,verbatim,ragged-right]
\new Voice \relative c' {
}
@end lilypond
-Measure repeats of more than 2 measures get a counter, if you switch
-on the @code{countPercentRepeats} property,
+Measure repeats of more than 2 measures get a counter, if you
+switch on the @code{countPercentRepeats} property,
@lilypond[relative=2,fragment,quote,verbatim,ragged-right]
\new Voice {
@node Staff notation
@section Staff notation
-Notes, dynamic signs, etc., are grouped
-with a set of horizontal lines, called a staff (plural @q{staves}). In
-LilyPond, these lines are drawn using a separate layout object called
-@code{staff symbol}.
+Notes, dynamic signs, etc., are grouped with a set of horizontal
+lines, called a staff (plural @q{staves}). In LilyPond, these
+lines are drawn using a separate layout object called @code{staff
+symbol}.
Two or more staves can be grouped vertically in a
@internalsref{GrandStaff}, a @internalsref{StaffGroup}, or a
@end lilypond
@item
-In a @internalsref{StaffGroup}, the barlines
-will be drawn through all the staves, but the group is started with a
-bracket.
+In a @internalsref{StaffGroup}, the barlines will be drawn through
+all the staves, but the group is started with a bracket.
@lilypond[verbatim,ragged-right,quote]
\new StaffGroup
@end lilypond
@item
-In a @internalsref{ChoirStaff}, the group is started with a bracket,
-but bar lines are not connected.
+In a @internalsref{ChoirStaff}, the group is started with a
+bracket, but bar lines are not connected.
@lilypond[verbatim,ragged-right,quote]
\new ChoirStaff
@end lilypond
@item
-If no context is specified, the default properties for the score will
-be used: the group is started with a vertical line, and the bar lines are
-not connected.
+If no context is specified, the default properties for the score
+will be used: the group is started with a vertical line, and the
+bar lines are not connected.
@lilypond[verbatim,ragged-right,quote]
\relative <<
@lsr{staff,staff-brackets.ly}
@c snippet 137
-More complex nesting can be accomplished using the property
-@internalsref{systemStartDelimiterHierarchy}:
-
@commonprop
-
-System start delimiters may be deeply nested,
+More complex nesting can be accomplished using the property
+@internalsref{systemStartDelimiterHierarchy}. System start
+delimiters may be deeply nested,
@lilypond[quote,ragged-right,verbatim]
\new StaffGroup
\relative <<
\set StaffGroup.systemStartDelimiterHierarchy
- = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
+ = #'(SystemStartSquare (SystemStartBracket a
+ (SystemStartSquare b)) d)
\new Staff { c1 }
\new Staff { c1 }
\new Staff { c1 }
@lsr{staff,changing-the-number-of-lines-in-a-staff.ly} and
@lsr{staff,changing-the-staff-size.ly}.
-In addition, staves may be started and stopped at will. This is done
-with @code{\startStaff} and @code{\stopStaff}.
+In addition, staves may be started and stopped at will. This is
+done with @code{\startStaff} and @code{\stopStaff}.
@lilypond[verbatim,relative=2,fragment]
b4 b
@cindex staves, hiding
In orchestral scores, staff lines that only have rests are usually
-removed; this saves some space. This style is called @q{French Score}.
-For @internalsref{Lyrics},
-@internalsref{ChordNames} and @internalsref{FiguredBass}, this is
-switched on by default. When the lines of these contexts turn out
-empty after the line-breaking process, they are removed.
+removed; this saves some space. This style is called @q{French
+Score}. For @internalsref{Lyrics}, @internalsref{ChordNames} and
+@internalsref{FiguredBass}, this is switched on by default. When
+the lines of these contexts turn out empty after the line-breaking
+process, they are removed.
For normal staves, a specialized @internalsref{Staff} context is
available, which does the same: staves containing nothing (or only
-multi-measure rests) are removed. The context definition is stored in
-@code{\RemoveEmptyStaffContext} variable. Observe how the second staff
-in this example disappears in the second line
+multi-measure rests) are removed. The context definition is
+stored in @code{\RemoveEmptyStaffContext} variable. Observe how
+the second staff in this example disappears in the second line
@lilypond[quote,ragged-right,verbatim]
\layout {
}
@end lilypond
-The first system shows all staves in full. If empty staves should be
-removed from the first system too, set @code{remove-first} to true in
-@internalsref{VerticalAxisGroup}.
+The first system shows all staves in full. If empty staves should
+be removed from the first system too, set @code{remove-first} to
+true in @internalsref{VerticalAxisGroup}.
@example
\override Score.VerticalAxisGroup #'remove-first = ##t
@end example
-To remove other types of contexts, use @code{\AncientRemoveEmptyStaffContext}
-or @code{\RemoveEmptyRhythmicStaffContext}.
+To remove other types of contexts, use
+@code{\AncientRemoveEmptyStaffContext} or
+@code{\RemoveEmptyRhythmicStaffContext}.
-Another application of the @code{\RemoveEmptyStaffContext} is to make ossia
-sections, i.e., alternative melodies on a separate piece of staff, with
-help of a Frenched staff. See @ref{Staff symbol}.
+Another application of the @code{\RemoveEmptyStaffContext} is to
+make ossia sections, i.e., alternative melodies on a separate
+piece of staff, with help of a Frenched staff. See @ref{Staff
+symbol}.
You can make the staff lines invisible by removing the
@code{Staff_symbol_engraver} from the @code{Staff} context.
@cindex metronome marking
Metronome settings can be entered as follows
+
@example
\tempo @var{duration} = @var{per-minute}
@end example
-In the MIDI output, they are interpreted as a tempo change. In the
-layout output, a metronome marking is printed
+In the MIDI output, they are interpreted as a tempo change. In
+the layout output, a metronome marking is printed
+
@funindex \tempo
@lilypond[quote,ragged-right,verbatim,fragment]
@commonprop
-To change the tempo in the MIDI output without printing anything, make
-the metronome marking invisible
-@example
-\once \override Score.MetronomeMark #'transparent = ##t
-@end example
+To change the tempo in the MIDI output without printing anything,
+make the metronome marking invisible @example \once \override
+Score.MetronomeMark #'transparent = ##t @end example
To print other metronome markings, use these markup commands
@lilypond[quote,ragged-right,verbatim,relative,fragment]
@refbugs
-Collisions are not checked. If you have notes above the top line of
-the staff (or notes with articulations, slurs, text, etc), then the
-metronome marking may be printed on top of musical symbols. If this
-occurs, increase the padding of the metronome mark to place it
-further away from the staff.
+Collisions are not checked. If you have notes above the top line
+of the staff (or notes with articulations, slurs, text, etc), then
+the metronome marking may be printed on top of musical symbols.
+If this occurs, increase the padding of the metronome mark to
+place it further away from the staff.
@example
\override Score.MetronomeMark #'padding = #2.5
@node Instrument names
@unnumberedsubsubsec Instrument names
-In an orchestral score, instrument names are printed at the left side
-of the staves.
+In an orchestral score, instrument names are printed at the left
+side of the staves.
-This can be achieved by setting @internalsref{Staff}.@code{instrumentName}
-and @internalsref{Staff}.@code{shortInstrumentName}, or
+This can be achieved by setting
+@internalsref{Staff}.@code{instrumentName} and
+@internalsref{Staff}.@code{shortInstrumentName}, or
@internalsref{PianoStaff}.@code{instrumentName} and
-@internalsref{PianoStaff}.@code{shortInstrumentName}. This will print text
-before the start of the staff. For the first staff, @code{instrumentName}
-is used. If set, @code{shortInstrumentName} is used for the following
-staves.
+@internalsref{PianoStaff}.@code{shortInstrumentName}. This will
+print text before the start of the staff. For the first staff,
+@code{instrumentName} is used. If set, @code{shortInstrumentName}
+is used for the following staves.
@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
\set Staff.instrumentName = "Ploink "
c''
@end lilypond
-You can also use markup texts to construct more complicated instrument
-names, for example
+You can also use markup texts to construct more complicated
+instrument names, for example
@lilypond[quote,fragment,verbatim,ragged-right]
\set Staff.instrumentName = \markup {
c''1
@end lilypond
-If you wish to center the instrument names, you must center all of them
-individually:
+If you wish to center the instrument names, you must center all of
+them individually:
@lilypond[quote,verbatim,ragged-right]
{ <<
c''1
}
\new Staff {
- \set Staff.instrumentName = \markup{ \center-align { Vibraphone }}
+ \set Staff.instrumentName =
+ \markup{ \center-align { Vibraphone }}
c''1
}
>>
\new StaffGroup \relative
<<
\new Staff {
- \set Staff.instrumentName = \markup { \hcenter-in #10 "blabla" }
+ \set Staff.instrumentName =
+ \markup { \hcenter-in #10 "blabla" }
c1 c1
}
\new Staff {
- \set Staff.instrumentName = \markup { \hcenter-in #10 "blo" }
+ \set Staff.instrumentName =
+ \markup { \hcenter-in #10 "blo" }
c1 c1
}
>>
@end lilypond
-To add instrument names to other contexts (such as @code{GrandStaff},
-@code{ChoirStaff}, or @code{StaffGroup}), the engraver must
-be added to that context.
+To add instrument names to other contexts (such as
+@code{GrandStaff}, @code{ChoirStaff}, or @code{StaffGroup}), the
+engraver must be added to that context.
@example
\layout@{
@end example
@noindent
-More information about adding and removing engravers can
-be found in @ref{Modifying context plug-ins}.
+More information about adding and removing engravers can be found
+in @ref{Modifying context plug-ins}.
Instrument names may be changed in the middle of a piece,
@cindex cues
-With quotations, fragments of other parts can be inserted into a part
-directly. Before a part can be quoted, it must be marked especially as
-quotable. This is done with the @code{\addQuote} command.
+With quotations, fragments of other parts can be inserted into a
+part directly. Before a part can be quoted, it must be marked
+especially as quotable. This is done with the @code{\addQuote}
+command.
@example
\addQuote @var{name} @var{music}
@noindent
-Here, @var{name} is an identifying string. The @var{music} is any kind
-of music. Here is an example of @code{\addQuote}
+Here, @var{name} is an identifying string. The @var{music} is any
+kind of music. Here is an example of @code{\addQuote}
@example
\addQuote clarinet \relative c' @{
@end example
This command must be entered at toplevel, i.e., outside any music
-blocks. Typically, one would use an already defined music event as the
-@var{music}:
+blocks. Typically, one would use an already defined music event
+as the @var{music}:
@example
clarinet = \relative c' @{
@end example
-After calling @code{\addQuote}, the quotation may then be done with
-@code{\quoteDuring} or @code{\cueDuring},
+After calling @code{\addQuote}, the quotation may then be done
+with @code{\quoteDuring} or @code{\cueDuring},
@example
\quoteDuring #@var{name} @var{music}
@end example
-During a part, a piece of music can be quoted with the @code{\quoteDuring}
-command.
+During a part, a piece of music can be quoted with the
+@code{\quoteDuring} command.
@example
\quoteDuring #"clarinet" @{ s2. @}
@end example
-This would cite three quarter notes (the duration of @code{s2.}) of
-the previously added @code{clarinet} voice.
+This would cite three quarter notes (the duration of @code{s2.})
+of the previously added @code{clarinet} voice.
More precisely, it takes the current time-step of the part being
printed, and extracts the notes at the corresponding point of the
-@code{\addQuote}d voice. Therefore, the argument to @code{\addQuote}
-should be the entire part of the voice to be quoted, including any
-rests at the beginning.
+@code{\addQuote}d voice. Therefore, the argument to
+@code{\addQuote} should be the entire part of the voice to be
+quoted, including any rests at the beginning.
-It is possible to use another music expression instead of @code{s}, thus
-creating a polyphonic section, but this may not always give the desired
-result.
+It is possible to use another music expression instead of
+@code{s}, thus creating a polyphonic section, but this may not
+always give the desired result.
-Quotations take into account the transposition of both source and target
-instruments, if they are specified using the @code{\transposition} command.
+Quotations take into account the transposition of both source and
+target instruments, if they are specified using the
+@code{\transposition} command.
@lilypond[quote,ragged-right,verbatim]
\addQuote clarinet \relative c' {
}
@end lilypond
-The type of events that are present in the quoted music can be trimmed with
-the @code{quotedEventTypes} property. The default value is
-@code{(note-event rest-event)}, which means that only notes and
-rests of the quoted voice end up in the @code{\quoteDuring}.
-Setting
+The type of events that are present in the quoted music can be
+trimmed with the @code{quotedEventTypes} property. The default
+value is @code{(note-event rest-event)}, which means that only
+notes and rests of the quoted voice end up in the
+@code{\quoteDuring}. Setting
@example
\set Staff.quotedEventTypes =
@end example
@noindent
-will quote notes (but no rests), together with scripts and dynamics.
+will quote notes (but no rests), together with scripts and
+dynamics.
@refbugs
-Only the contents of the first @internalsref{Voice} occurring in an
-@code{\addQuote} command will be considered for quotation, so
+Only the contents of the first @internalsref{Voice} occurring in
+an @code{\addQuote} command will be considered for quotation, so
@var{music} can not contain @code{\new} and @code{\context Voice}
statements that would switch to a different Voice.
-Quoting grace notes is broken and can even cause LilyPond to crash.
+Quoting grace notes is broken and can even cause LilyPond to
+crash.
Quoting nested triplets may result in poor notation.
-In earlier versions of LilyPond (pre 2.11), @code{addQuote} was written
-entirely in lower-case letters: @code{\addquote}.
+In earlier versions of LilyPond (pre 2.11), @code{addQuote} was
+written entirely in lower-case letters: @code{\addquote}.
@seealso
In this manual: @ref{Instrument transpositions}.
-Examples: @lsr{parts,quote.ly}, @lsr{parts,quote-transportation.ly}
+Examples: @lsr{parts,quote.ly},
+@lsr{parts,quote-transportation.ly}
Program reference: @internalsref{QuoteMusic}.
@cindex cues, formatting
-The previous section deals with inserting notes from another voice.
-There is a more advanced music function called @code{\cueDuring},
-which makes formatting cue notes easier.
+The previous section deals with inserting notes from another
+voice. There is a more advanced music function called
+@code{\cueDuring}, which makes formatting cue notes easier.
The syntax is
@end example
This will insert notes from the part @var{name} into a
-@internalsref{Voice} called @code{cue}. This happens simultaneously
-with @var{music}, which usually is a rest. When the cue notes start,
-the staff in effect becomes polyphonic for a moment. The argument
-@var{updown} determines whether the cue notes should be notated as a
-first or second voice.
+@internalsref{Voice} called @code{cue}. This happens
+simultaneously with @var{music}, which usually is a rest. When
+the cue notes start, the staff in effect becomes polyphonic for a
+moment. The argument @var{updown} determines whether the cue
+notes should be notated as a first or second voice.
@lilypond[verbatim,ragged-right]
@itemize @bullet
@item
Cue notes have smaller font sizes.
+
@item
- the cued part is marked with the instrument playing the cue.
+the cued part is marked with the instrument playing the cue.
+
@item
- when the original part takes over again, this should be marked with
- the name of the original instrument.
+when the original part takes over again, this should be marked
+with the name of the original instrument.
Any other changes introduced by the cued part should also be
-undone. For example, if the cued instrument plays in a different clef,
-the original clef should be stated once again.
+undone. For example, if the cued instrument plays in a different
+clef, the original clef should be stated once again.
@end itemize
-The macro @code{\transposedCueDuring} is
-useful to add cues to instruments which use a completely different
-octave range (for example, having a cue of a piccolo flute within
-a contra bassoon part).
+The macro @code{\transposedCueDuring} is useful to add cues to
+instruments which use a completely different octave range (for
+example, having a cue of a piccolo flute within a contra bassoon
+part).
@lilypond[verbatim,ragged-right,quote]
picc = \relative c''' {
@node Text
@section Text
-This section explains how to include text (with various formatting) in
-your scores.
+This section explains how to include text (with various
+formatting) in your scores.
@cindex Text, other languages
-To write accented and special text (such as characters from other languages),
-simply
-insert the characters directly into the lilypond file. The file must be
-saved as UTF-8. For more information, see @ref{Text encoding}.
+To write accented and special text (such as characters from other
+languages), simply insert the characters directly into the
+lilypond file. The file must be saved as UTF-8. For more
+information, see @ref{Text encoding}.
@lilypond[fragment,ragged-right,staffsize=16,quote]
c'4^\markup { bla \bold bla }
@cindex text items, non-empty
@cindex non-empty texts
-It is possible to place arbitrary strings of text or @ref{Text markup},
-above or below notes by using a string @code{c^"text"}. By default,
-these indications do not influence the note spacing, but by using the
-command @code{\fatText}, the widths will be taken into account
+It is possible to place arbitrary strings of text or @ref{Text
+markup}, above or below notes by using a string @code{c^"text"}.
+By default, these indications do not influence the note spacing,
+but by using the command @code{\fatText}, the widths will be taken
+into account
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
c4^"longtext" \fatText c4_"longlongtext" c4
c'4^\markup { bla \bold bla }
@end lilypond
-The @code{\markup} is described in more detail in
-@ref{Text markup}.
+The @code{\markup} is described in more detail in @ref{Text
+markup}.
@refcommands
@commonprop
-Checking to make sure that text scripts and lyrics are within the margins is
-a relatively large computational task. To speed up processing, lilypond does
-not perform such calculations by default; to enable it, use
+Checking to make sure that text scripts and lyrics are within the
+margins is a relatively large computational task. To speed up
+processing, lilypond does not perform such calculations by
+default; to enable it, use
@example
\override Score.PaperColumn #'keep-inside-line = ##t
@unnumberedsubsubsec Text and line spanners
Some performance indications, e.g., @i{rallentando} and
-@i{accelerando} and @i{trills} are written as text and are extended
-over many measures with lines, sometimes dotted or wavy.
+@i{accelerando} and @i{trills} are written as text and are
+extended over many measures with lines, sometimes dotted or wavy.
-These all use the same routines as the glissando for drawing the texts
-and the lines, and tuning their behavior is therefore also done in the
-same way. It is done with a spanner, and the routine responsible for
-drawing the spanners is @code{ly:line-interface::print}. This
-routine determines the exact location of the two @i{span
-points} and draws a line in between, in the style requested.
+These all use the same routines as the glissando for drawing the
+texts and the lines, and tuning their behavior is therefore also
+done in the same way. It is done with a spanner, and the routine
+responsible for drawing the spanners is
+@code{ly:line-interface::print}. This routine determines the
+exact location of the two @i{span points} and draws a line in
+between, in the style requested.
-Here is an example of the different line styles available, and how to
-tune them.
+Here is an example of the different line styles available, and how
+to tune them.
@lilypond[relative=2,ragged-right,verbatim,fragment]
d2 \glissando d'2
d,2 \glissando d'2
@end lilypond
-The information that determines the end-points is computed on-the-fly
-for every graphic object, but it is possible to override these.
+The information that determines the end-points is computed
+on-the-fly for every graphic object, but it is possible to
+override these.
@lilypond[relative=2,ragged-right,verbatim,fragment]
e2 \glissando f
The @code{Glissando} object, like any other using the
@code{ly:line-interface::print} routine, carries a nested
association list. In the above statement, the value for @code{Y}
-is set to @code{-2} for the association list corresponding to the right
-end point. Of course, it is also possible to adjust the left side with
-@code{left} instead of @code{right}.
+is set to @code{-2} for the association list corresponding to the
+right end point. Of course, it is also possible to adjust the
+left side with @code{left} instead of @code{right}.
If @code{Y} is not set, the value is computed from the vertical
position of right attachment point of the spanner.
-In case of a line break, the values for the span-points are extended
-with contents of the @code{left-broken} and @code{right-broken}
-sublists, for example
+In case of a line break, the values for the span-points are
+extended with contents of the @code{left-broken} and
+@code{right-broken} sublists, for example
@lilypond[relative=2,ragged-right,verbatim,fragment]
\override Glissando #'breakable = ##T
@table @code
@item Y
This sets the Y-coordinate of the end point, in staff space. By
-default, it is the center of the bound object, so for a glissando it
-points to the vertical center of the note head.
+default, it is the center of the bound object, so for a glissando
+it points to the vertical center of the note head.
-For horizontal spanners, such as text spanner and trill spanners, it
-is hardcoded to 0.
+For horizontal spanners, such as text spanner and trill spanners,
+it is hardcoded to 0.
@item attach-dir
This determines where the line starts and ends in X-direction,
recommended to use @code{text}.
@item text
-This is a markup that is evaluated to yield stencil. It is
-used to put @i{cresc.} and @i{tr} on horizontal spanners.
+This is a markup that is evaluated to yield stencil. It is used
+to put @i{cresc.} and @i{tr} on horizontal spanners.
@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\override TextSpanner #'bound-details #'left #'text
Without setting this, the stencil is simply put there at the
end-point, as defined by the @code{X} and @code{Y} sub properties.
Setting either @code{stencil-align-dir-y} or @code{stencil-offset}
-will move the symbol at the edge relative to the end point of the line
+will move the symbol at the edge relative to the end point of the
+line
@lilypond[relative=1,fragment,verbatim]
-\override TextSpanner #'bound-details #'left #'stencil-align-dir-y = #DOWN
-\override TextSpanner #'bound-details #'right #'stencil-align-dir-y = #UP
-
-\override TextSpanner #'bound-details #'left #'text = #"gggg"
-\override TextSpanner #'bound-details #'right #'text = #"hhhh"
+\override TextSpanner #'bound-details
+ #'left #'stencil-align-dir-y = #DOWN
+\override TextSpanner #'bound-details
+ #'right #'stencil-align-dir-y = #UP
+
+\override TextSpanner #'bound-details
+ #'left #'text = #"gggg"
+\override TextSpanner #'bound-details
+ #'right #'text = #"hhhh"
c4^\startTextSpan c c c \stopTextSpan
@end lilypond
@item arrow
-Setting this sub property to @code{#t} produce an arrowhead at the end
-of the line.
+Setting this sub property to @code{#t} produce an arrowhead at the
+end of the line.
@item padding
-This sub property controls the space between the specified end-point
-of the line and the actual end. Without padding, a glissando would
-start and end in the center of each note head.
+This sub property controls the space between the specified
+end-point of the line and the actual end. Without padding, a
+glissando would start and end in the center of each note head.
@end table
Program reference: @internalsref{TextSpanner},
@internalsref{Glissando}, @internalsref{VoiceFollower},
-@internalsref{TrillSpanner}, @internalsref{line-spanner-interface}.
+@internalsref{TrillSpanner},
+@internalsref{line-spanner-interface}.
-Examples: @lsr{expressive,line-styles.ly}, @lsr{expressive,line-arrows.ly}
+Examples: @lsr{expressive,line-styles.ly},
+@lsr{expressive,line-arrows.ly}
@node Text spanners
@cindex Text spanners
-Some performance indications, e.g., @i{rallentando} or @i{accelerando},
-are written as text and are extended over many measures with dotted
-lines. Such texts are created using text spanners; attach
-@code{\startTextSpan} and @code{\stopTextSpan} to the first and last
-notes of the spanner.
+Some performance indications, e.g., @i{rallentando} or
+@i{accelerando}, are written as text and are extended over many
+measures with dotted lines. Such texts are created using text
+spanners; attach @code{\startTextSpan} and @code{\stopTextSpan} to
+the first and last notes of the spanner.
-The string to be printed, as well as the style, is set through object
-properties
+The string to be printed, as well as the style, is set through
+object properties
@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
c1
@cindex bar lines, symbols on
@funindex \mark
-The @code{\mark} command is primarily used for
-@ref{Rehearsal marks},
-but it can also be used to put signs like coda,
-segno, and fermata on a bar line. Use @code{\markup} to
-access the appropriate symbol (symbols are listed in
-@ref{The Feta font}).
+The @code{\mark} command is primarily used for @ref{Rehearsal
+marks}, but it can also be used to put signs like coda, segno, and
+fermata on a bar line. Use @code{\markup} to access the
+appropriate symbol (symbols are listed in @ref{The Feta font}).
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
@noindent
@code{\mark} is only typeset above the top stave of the score. If
you specify the @code{\mark} command at a bar line, the resulting
-mark is placed above the bar line. If you specify it in the middle
-of a bar, the resulting mark is positioned between notes. If it is
-specified before the beginning of a score line, it is placed
-before the first note of the line. Finally, if the mark occurs at
-a line break, the mark will be printed at the
-beginning of the next line.
+mark is placed above the bar line. If you specify it in the
+middle of a bar, the resulting mark is positioned between notes.
+If it is specified before the beginning of a score line, it is
+placed before the first note of the line. Finally, if the mark
+occurs at a line break, the mark will be printed at the beginning
+of the next line.
+
@c IMO this is a bug; hopefully it'll be fixed soon, so I can
@c delete this sentence. -gp
-If there is no next line, then the mark will not be printed at all.
+If there is no next line, then the mark will not be printed at
+all.
@commonprop
#'break-visibility = #begin-of-line-invisible
@end example
-@code{\mark} is often useful for adding text to the end of bar. In
-such cases, changing the @code{#'self-alignment} is very useful
+@code{\mark} is often useful for adding text to the end of bar.
+In such cases, changing the @code{#'self-alignment} is very useful
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
\override Score.RehearsalMark
\mark "D.S. al Fine "
@end lilypond
-Text marks may be aligned with notation objects other than
-bar lines,
+Text marks may be aligned with notation objects other than bar
+lines,
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
\relative {
@code{staff-bar}, @code{left-edge}, @code{key-cancellation},
@code{key-signature}, and @code{time-signature}.
-The text marks will, by default, be aligned with the middle of the notation
-object, but this can be changed by overriding the
-@code{break-align-anchor-alignment} and
-@code{break-align-anchor} properties for the appropriate grob.
+The text marks will, by default, be aligned with the middle of the
+notation object, but this can be changed by overriding the
+@code{break-align-anchor-alignment} and @code{break-align-anchor}
+properties for the appropriate grob.
@lilypond[fragment,quote,ragged-right,verbatim]
{
@node New dynamic marks
@unnumberedsubsubsec New dynamic marks
-It is possible to print new dynamic marks or text that should be aligned
-with dynamics. Use @code{make-dynamic-script} to create these
-marks. Note that the dynamic font only contains the characters
-@code{f,m,p,r,s} and @code{z}.
+It is possible to print new dynamic marks or text that should be
+aligned with dynamics. Use @code{make-dynamic-script} to create
+these marks. Note that the dynamic font only contains the
+characters @code{f,m,p,r,s} and @code{z}.
Some situations (such as dynamic marks) have preset font-related
-properties. If you are creating text in such situations, it
-is advisable to cancel those properties with
-@code{normal-text}. See @ref{Overview of text markup commands},
-for more details.
+properties. If you are creating text in such situations, it is
+advisable to cancel those properties with @code{normal-text}. See
+@ref{Overview of text markup commands}, for more details.
@cindex make-dynamic-script
@cindex Dynamics, editorial
@cindex Dynamics, parenthesis
-It is also possible to print dynamics in round parenthesis or square
-brackets. These are often used for adding editorial dynamics.
+It is also possible to print dynamics in round parenthesis or
+square brackets. These are often used for adding editorial
+dynamics.
@lilypond[quote,verbatim,ragged-right]
rndf = \markup{ \center-align {\line { \bold{\italic (}
}
@end lilypond
-A @code{\markup} command can also be placed on its own, away from any
-@code{\score} block, see @ref{Multiple scores in a book}.
+A @code{\markup} command can also be placed on its own, away from
+any @code{\score} block, see @ref{Multiple scores in a book}.
@lilypond[quote,ragged-right,verbatim]
\markup{ Here is some text. }
@cindex font switching
-The markup in the example demonstrates font switching commands. The
-command @code{\bold} and @code{\italic} apply to the first following
-word only; to apply a command to more than one word, enclose the
-words with braces,
+The markup in the example demonstrates font switching commands.
+The command @code{\bold} and @code{\italic} apply to the first
+following word only; to apply a command to more than one word,
+enclose the words with braces,
@example
\markup @{ \bold @{ hi there @} @}
\markup @{ is \italic @{ anyone @} home @}
@end example
-In markup mode you can compose expressions, similar to mathematical
-expressions, XML documents, and music expressions. You can stack
-expressions grouped vertically with the command @code{\column}.
-Similarly, @code{\center-align} aligns texts by their center lines:
+In markup mode you can compose expressions, similar to
+mathematical expressions, XML documents, and music expressions.
+You can stack expressions grouped vertically with the command
+@code{\column}. Similarly, @code{\center-align} aligns texts by
+their center lines:
@lilypond[quote,verbatim,fragment,relative=1]
c1^\markup { \column { a bbbb \line { c d } } }
c1^\markup { \line { a b c } }
@end lilypond
-Lists with no previous command are not kept distinct. The expression
+Lists with no previous command are not kept distinct. The
+expression
@example
\center-align @{ @{ a b @} @{ c d @} @}
c4^\markup{ \center-align { \line { on one line } } }
@end lilypond
-Markups can be stored in variables and these variables
-may be attached to notes, like
+Markups can be stored in variables and these variables may be
+attached to notes, like
+
@example
allegro = \markup @{ \bold \large @{ Allegro @} @}
@{ a^\allegro b c d @}
@end example
-Some objects have alignment procedures of their own, which cancel out
-any effects of alignments applied to their markup arguments as a
-whole. For example, the @internalsref{RehearsalMark} is horizontally
-centered, so using @code{\mark \markup @{ \left-align .. @}} has no
-effect.
+Some objects have alignment procedures of their own, which cancel
+out any effects of alignments applied to their markup arguments as
+a whole. For example, the @internalsref{RehearsalMark} is
+horizontally centered, so using @code{\mark \markup @{ \left-align
+.. @}} has no effect.
In addition, vertical placement is performed after creating the
-text markup object. If you wish to move an entire piece of markup,
-you need to use the #'padding property or create an @q{anchor} point
-inside the markup (generally with @code{\hspace #0}).
+text markup object. If you wish to move an entire piece of
+markup, you need to use the #'padding property or create an
+@q{anchor} point inside the markup (generally with @code{\hspace
+#0}).
@lilypond[quote,verbatim,fragment,relative=1]
\fatText
@end lilypond
Some situations (such as dynamic marks) have preset font-related
-properties. If you are creating text in such situations, it
-is advisable to cancel those properties with
-@code{normal-text}. See @ref{Overview of text markup commands},
-for more details.
+properties. If you are creating text in such situations, it is
+advisable to cancel those properties with @code{normal-text}. See
+@ref{Overview of text markup commands}, for more details.
@seealso
@refbugs
Kerning or generation of ligatures is only done when the @TeX{}
-backend is used. In this case, LilyPond does not account for them so
-texts will be spaced slightly too wide.
+backend is used. In this case, LilyPond does not account for them
+so texts will be spaced slightly too wide.
Syntax errors for markup mode are confusing.
@node Nested scores
@unnumberedsubsubsec Nested scores
-It is possible to nest music inside markups, by adding a @code{\score}
-block to a markup expression. Such a score must contain a @code{\layout}
-block.
+It is possible to nest music inside markups, by adding a
+@code{\score} block to a markup expression. Such a score must
+contain a @code{\layout} block.
@lilypond[quote,verbatim,ragged-right]
\relative {
@node Page wrapping text
@unnumberedsubsubsec Page wrapping text
-Whereas @code{\markup} is used to enter a non-breakable block of text,
-@code{\markuplines} can be used at top-level to enter lines of text that
-can spread over multiple pages:
+
+Whereas @code{\markup} is used to enter a non-breakable block of
+text, @code{\markuplines} can be used at top-level to enter lines
+of text that can spread over multiple pages:
@verbatim
\markuplines {
}
@end verbatim
-@code{\markuplines} accepts a list of markup, that is either the result
-of a markup list command, or a list of markups or of markup lists. The
-built-in markup list commands are described in
+@code{\markuplines} accepts a list of markup, that is either the
+result of a markup list command, or a list of markups or of markup
+lists. The built-in markup list commands are described in
@ref{Overview of text markup list commands}.
@seealso
-This manual: @ref{Overview of text markup list commands},
-@ref{New markup list command definition}.
+This manual: @ref{Overview of text markup list commands}, @ref{New
+markup list command definition}.
@refcommands
By setting the object properties described below, you can select a
font from the preconfigured font families. LilyPond has default
support for the feta music fonts. Text fonts are selected through
-Pango/FontConfig. The serif font defaults to New Century Schoolbook,
-the sans and typewriter to whatever the Pango installation defaults
-to.
+Pango/FontConfig. The serif font defaults to New Century
+Schoolbook, the sans and typewriter to whatever the Pango
+installation defaults to.
@itemize @bullet
@item @code{font-encoding}
-is a symbol that sets layout of the glyphs. This should only be set to
-select different types of non-text fonts, e.g.
+is a symbol that sets layout of the glyphs. This should only be
+set to select different types of non-text fonts, e.g.
@code{fetaBraces} for piano staff braces, @code{fetaMusic} the
-standard music font, including ancient glyphs, @code{fetaDynamic} for
-dynamic signs and @code{fetaNumber} for the number font.
+standard music font, including ancient glyphs, @code{fetaDynamic}
+for dynamic signs and @code{fetaNumber} for the number font.
@item @code{font-family}
-is a symbol indicating the general class of the typeface. Supported are
-@code{roman} (Computer Modern), @code{sans}, and @code{typewriter}.
+is a symbol indicating the general class of the typeface.
+Supported are @code{roman} (Computer Modern), @code{sans}, and
+@code{typewriter}.
@item @code{font-shape}
is a symbol indicating the shape of the font. There are typically
@code{italic}, @code{caps}, and @code{upright}.
@item @code{font-series}
-is a symbol indicating the series of the font. There are typically
-several font series for each font family and shape. Choices are
-@code{medium} and @code{bold}.
+is a symbol indicating the series of the font. There are
+typically several font series for each font family and shape.
+Choices are @code{medium} and @code{bold}.
@end itemize
-Fonts selected in the way sketched above come from a predefined style
-sheet. If you want to use a font from outside the style sheet,
-then set the
-@code{font-name} property,
+Fonts selected in the way sketched above come from a predefined
+style sheet. If you want to use a font from outside the style
+sheet, then set the @code{font-name} property,
@lilypond[fragment,verbatim]
{
@end lilypond
@noindent
-Any font can be used, as long as it is available to Pango/FontConfig.
-To get a full list of all available fonts, run the command
+Any font can be used, as long as it is available to
+Pango/FontConfig. To get a full list of all available fonts, run
+the command
+
@example
lilypond -dshow-available-fonts blabla
@end example
-(the last argument of the command can be anything, but has to be present).
+
+(the last argument of the command can be anything, but has to be
+present).
The size of the font may be set with the @code{font-size}
@cindex font magnification
-It is also possible to change the default font family for the entire
-document. This is done by calling the @code{make-pango-font-tree} from
-within the @code{\paper} block. The function takes names for the font
-families to use for roman, sans serif and monospaced text. For
-example,
+It is also possible to change the default font family for the
+entire document. This is done by calling the
+@code{make-pango-font-tree} from within the @code{\paper} block.
+The function takes names for the font families to use for roman,
+sans serif and monospaced text. For example,
@cindex font families, setting
@cindex Pango