@node Expressive marks
@section Expressive marks
+@lilypondfile[quote]{expressive-headword.ly}
+
@menu
* Attached to notes::
* Curves::
@node Attached to notes
@subsection Attached to notes
-
@menu
* Articulations and ornamentations::
* Dynamics::
@end menu
@node Articulations and ornamentations
-@unnumberedsubsubsec Articulations and ornamentations
+@subsubsection Articulations and ornamentations
-@cindex Articulations
+@cindex articulations
@cindex scripts
@cindex ornaments
-A variety of symbols can appear above and below notes to indicate
-different characteristics of the performance. All these symbols
-can be attached to a note using the syntax @var{note}@code{\}@var{name}.
+A variety of symbols that denote articulations, ornamentations,
+and other performance indications can be attached to a note using
+this syntax:
-The possible values for @var{name} are listed in @ref{List of
-articulations}.
+@example
+@var{note}\@var{name}
+@end example
-Some of these articulations have shorthands for easier entry. They
-are used by adding a dash and the character signifying
-the articulation to the note name. The available shorthands and
-their output are:
+The possible values for @var{name} are listed in @ref{List of
+articulations}. For example:
-@example
-\relative c'' @{
-c-. c-- c-+ c-|
-c-> c-^ c-_ @}
-@end example
-
-@lilypond[quote,ragged-right,fragment]
-\override TextScript #'font-family = #'typewriter
-\override TextScript #'font-shape = #'upright
-c''4-._"c-."
-c''4--_"c--"
-c''4-+_"c-+"
-c''4-|_"c-|"
-c''4->_"c->"
-c''4-^_"c-^"
-c''4-__"c-_"
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c4\staccato c\mordent b2\turn
+c1\fermata
@end lilypond
-The marks are automatically placed, but the direction can be
-forced as well. Like other pieces of LilyPond code, @code{_} will
-place them below the staff, and @code{^} will place them above.
-This applies both to the shorthands and the fully named
-articulations. For the shorthands, @code{_} and @code{^} replace
-the dash:
+@cindex marcato
+@cindex stopped
+@cindex tenuto
+@cindex staccatissimo
+@cindex accent
+@cindex staccato
+@cindex portato
+
+Some of these articulations have shorthands for easier entry.
+Shorthands are appended to the note name, and their syntax
+consists of a dash (@tie{}@code{-}) followed by a symbol
+signifying the articulation. Predefined shorthands exist for
+@notation{marcato}, @notation{stopped}, @notation{tenuto},
+@notation{staccatissimo}, @notation{accent}, @notation{staccato},
+and @notation{portato}. Their corresponding output appears as
+follows:
-@lilypond[quote,ragged-right,fragment,verbatim]
-c''4^^ c''4_^
-c\fermata c^\fermata c_\fermata
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c4-^ c-+ c-- c-|
+c-> c-. c-_
@end lilypond
+The rules for the default placement of articulations are defined
+in @file{scm/@/script@/.scm}. Articulations and ornamentations
+may be manually placed above or below the staff, see
+@ref{Controlling direction and placement}.
-@cindex accent
-@cindex marcato
-@cindex staccatissimo
@cindex espressivo
@cindex fermata
-@cindex stopped
-@cindex staccato
-@cindex portato
-@cindex tenuto
@cindex upbow
@cindex downbow
@cindex foot marks
@cindex varcoda
-@commonprop
+@snippets
-The meanings of the shorthands can be changed. They are defined
-in @file{ly/@/script@/-init@/.ly}, where the variables
-@code{DashDot}, @code{DashDash}, @code{DashPlus}, @code{DashBar},
-@code{DashLarger}, @code{DashHat}, and @code{DashUnderscore}
-are associated with the default articulation marks. If you want,
-e.g., @code{-+} to produce a trill instead of a "+", you can
-redefine the variable in your document:
+@c Send these snippets to Valentin for the LSR.
-@lilypond[quote,ragged-right,verbatim]
-\relative c'' { c-+ }
+The shorthands are defined in @file{ly/@/script@/-init@/.ly},
+where the variables @code{dashHat}, @code{dashPlus},
+@code{dashDash}, @code{dashBar}, @code{dashLarger},
+@code{dashDot}, and @code{dashUnderscore} are assigned default
+values. The default values for the shorthands can be modified.
+For example, to associate the @code{-+} (@code{dashPlus})
+shorthand with the @notation{trill} symbol instead of the default
+@notation{+} symbol, assign the value @code{trill} to the variable
+@code{dashPlus}:
+
+@lilypond[verbatim,quote,ragged-right]
+\relative c'' { c-+ }
dashPlus = "trill"
-\relative c'' { c-+ }
+\relative c'' { c-+ }
@end lilypond
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
-@internalsref{TextScript} (the sharp symbol) first has the lowest
+@code{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
+second, the @notation{prall trill} (the @code{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]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=3]
\once \override TextScript #'script-priority = #-100
a4^\prall^\markup { \sharp }
@seealso
-Program reference: @internalsref{Script}.
+Music Glossary: @rglos{tenuto}, @rglos{accent}, @rglos{staccato},
+@rglos{portato}.
+
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+Internals Reference: @internalsref{Script},
+@internalsref{TextScript}.
-@refbugs
+@knownissues
These signs appear in the printed output but have no effect on the
MIDI rendering of the music.
@node Dynamics
-@unnumberedsubsubsec Dynamics
+@subsubsection Dynamics
-@cindex Dynamics
+@cindex dynamics
@funindex \pppp
@funindex \ppp
@funindex \pp
@funindex \sfz
@funindex \rfz
-Absolute dynamic marks are specified using a command after a note
-@code{c4\ff}. The available dynamic marks are @code{\ppppp},
+Absolute dynamic marks are specified using a command after a note,
+like @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}. The dynamic marks can be placed
-above or below the staff with @code{_} and @code{^}, just like
-articulation marks.
+@code{\sfz}, and @code{\rfz}. The dynamic marks may be manually
+placed above or below the staff, see @ref{Controlling direction
+and placement}.
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-c2\ppp c\mp
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c2\ppp c\mp
c\rfz c^\mf
c_\spp c_\staccato^\ff
@end lilypond
+@cindex hairpin
@funindex \<
@funindex \>
@funindex \!
+@funindex \cr
+@funindex \decr
-A crescendo mark is started with @code{\<} and terminated with
-@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{\>}.
+A @notation{crescendo} mark is started with @code{\<} and
+terminated with @code{\!} or an absolute dynamic. A
+@notation{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{\>}. They
+can be engraved either using a graphical sign (a
+@notation{hairpin}), or with textual signs.
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]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
c\< c\! d\> e\!
<< f1 { s4 s4\< s4\! \> s4\! } >>
@end lilypond
-This may give rise to very short hairpins. Use
-@code{minimum-length} in
-@internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
-example:
+This may give rise to very short hairpins. To lengthen them, the
+following code can be used, for example:
@example
\override Voice.Hairpin #'minimum-length = #5
@end example
@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
-preceding barline. This may be modified by setting the
-@code{hairpinToBarline} property,
-@cindex Hairpin
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+A @notation{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 @notation{hairpin} ends
+on the immediately preceding bar line. The following example
+illustrates this behavior:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
e4\< e2. e1\!
\set hairpinToBarline = ##f
e4\< e2. e1\!
@end lilypond
@cindex espressivo, articulation
+
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]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
c2 b4 a g1\espressivo
@end lilypond
@cindex al niente
@cindex niente, al
-Hairpins may be printed with a circled tip (al niente notation) by
-setting the @code{circled-tip} property:
+Hairpins may be printed with a circled tip (al niente notation):
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
\override Hairpin #'circled-tip = ##t
c2\< c\!
c4\> c\< c2\!
@end lilypond
-
@cindex crescendo
@cindex decrescendo
@cindex diminuendo
-
-You can use text saying @emph{cresc.} instead of hairpins with the
-commands \setTextCresc, \setTextDim, and \setTextDecresc. The
-corresponding \setHairpinCresc, \setHairpinDim, and
-\setHairpinDecresc will revert to hairpins again:
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@funindex \setTextCresc
+@funindex \setTextDim
+@funindex \setTextDecresc
+@funindex \setHairpinCresc
+@funindex \setHairpinDim
+@funindex \setHairpinDecresc
+
+You can use text saying @notation{cresc.}, @notation{decr.}, or
+@notation{dim.} instead of hairpins with the commands
+@code{\setTextCresc}, @code{\setTextDim}, and
+@code{\setTextDecresc}. The corresponding
+@code{\setHairpinCresc}, @code{\setHairpinDim}, and
+@code{\setHairpinDecresc} will revert to hairpins again:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
\setTextCresc
c\< d e f\!
\setHairpinCresc
e\> d c b\!
\setTextDecresc
+e\> d e f\!
+\setTextDecr
c\> d e f\!
\setTextDim
e\> d c b\!
You can also supply your own texts and change the style of the
spanner line with the properties @code{\crescendoText},
@code{\crescendoSpanner}, @code{\decrescendoText}, and
-@code{\decrescendoSpanner}. Available values for the spanner
+@code{\decrescendoSpanner}. Available values for the spanner
properties are @code{hairpin}, @code{line}, @code{dashed-line},
-and @code{dotted-line}. If unset, a hairpin crescendo is used:
+and @code{dotted-line}. If unset, a hairpin crescendo is used:
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
\set crescendoText = \markup { \italic "cresc. poco" }
\set crescendoSpanner = #'dotted-line
a'2\< a a a a a a a\!\mf
@end lilypond
-
To create new dynamic marks or text that should be aligned with
dynamics, see @ref{New dynamic marks}.
@internalsref{DynamicLineSpanner}.
-@commonprop
+@predefined
+
+@funindex \dynamicUp
+@code{\dynamicUp},
+@funindex \dynamicDown
+@code{\dynamicDown},
+@funindex \dynamicNeutral
+@code{\dynamicNeutral}.
+
+
+@snippets
Dynamics that occur at, begin on, or end on the same note will be
vertically aligned. If you want to ensure that dynamics are
\override DynamicLineSpanner #'staff-padding = #4
@end example
+@noindent
You may also use this property if the dynamics are colliding with
other notation.
-Crescendi and decrescendi that cross a line break will be
-continued on the second line. If they end on the first note of a
-new line, nothing will be printed on that line. To change this
-behavior, use
+@notation{Crescendi} and @notation{decrescendi} that cross a line
+break will be continued on the second line. If they end on the
+first note of a new line, nothing will be printed on that line.
+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
+Text style dynamic changes (such as @notation{cresc.} and
+@notation{dim.}) are printed with a dashed line showing their
+extent. To suppress printing this line, use
@example
\override DynamicTextSpanner #'dash-period = #-1.0
@end example
-@refcommands
+@seealso
-@funindex \dynamicUp
-@code{\dynamicUp},
-@funindex \dynamicDown
-@code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
+@c TODO: Add hairpin to glossary.
+Music Glossary: @rglos{crescendo}, @rglos{decrescendo}.
-@seealso
+Learning Manual: @rlearning{Articulation and dynamics}.
+
+Snippets: @lsrdir{Expressive,Expressive-marks}
-Program reference: @internalsref{DynamicText},
+Internals Reference: @internalsref{DynamicText},
@internalsref{Hairpin}. Vertical positioning of these symbols is
handled by @internalsref{DynamicLineSpanner}.
-Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo}
@node Curves
@subsection Curves
@menu
-* Ties::
* Slurs::
* Phrasing slurs::
* Breath marks::
* Falls and doits::
@end menu
-@node Ties
-@unnumberedsubsubsec Ties
-
-@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{~}
-
-@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,
-
-@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
-
-@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
-
-@lilypond[fragment,quote,ragged-right]
-\relative {
- r8 c8 ~ c2 r4 | r8^"not" c2 ~ c8 r4
-}
-@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.
-
-@funindex \repeatTie
-@cindex repeating ties
-@cindex volta brackets and ties
-
-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},
-
-@lilypond[fragment,quote,ragged-right,relative=2]
-r <c e g>\repeatTie
-@end lilypond
-
-@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},
-
-@lilypond[fragment,ragged-right,verbatim,relative=1]
-<c f g>\laissezVibrer
-@end lilypond
-
-@seealso
-
-Program reference:
-@internalsref{LaissezVibrerTie}
-@internalsref{LaissezVibrerTieColumn}
-
-Example files:
-@lsr{connecting,laissez-vibrer-ties.ly}
-
-
-@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,
-
-@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
-\set tieWaitForNote = ##t
-\grace { c16[~ e~ g]~ } <c, e g>2
-\repeat tremolo 8 { c32~ c'~ } <c c,>1
-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).
-
-@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
-<c e g>2~ <c e g> |
-\override TieColumn #'tie-configuration =
- #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
-<c e g>~ <c e g> |
-@end lilypond
-
-
-@refcommands
-
-
-@funindex \tieUp
-@code{\tieUp},
-@funindex \tieDown
-@code{\tieDown},
-@funindex \tieNeutral
-@code{\tieNeutral},
-@funindex \tieDotted
-@code{\tieDotted},
-@funindex \tieDashed
-@code{\tieDashed},
-@funindex \tieSolid
-@code{\tieSolid}.
-
-
-@seealso
-
-In this manual: @ref{Automatic note splitting}.
-
-Program reference: @internalsref{Tie}.
-
-
-@refbugs
-
-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.
-
-
@node Slurs
-@unnumberedsubsubsec Slurs
+@subsubsection Slurs
-@cindex Slurs
+@cindex slurs
-A slur indicates that notes are to be played bound or
-@emph{legato}. They are entered using parentheses
+A @notation{slur} indicates that notes are to be played bound or
+@emph{legato}. They are entered using parentheses:
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
f( g a) a8 b( a4 g2 f4)
<c e>2( <b d>2)
@end lilypond
-The direction of a slur can be specified with
+Just as with ties, 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
-selected).
-
-However, there is a convenient shorthand for forcing slur
-directions. By adding @code{_} or @code{^} before the opening
-parentheses, the direction is also set. For example,
+@code{Up}, @code{Down}, or @code{Neutral} (@code{Neutral} is the
+default). Slurs may be manually placed above or below the staff,
+see @ref{Controlling direction and placement}.
-@lilypond[relative=2,ragged-right,quote,verbatim,fragment]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
c4_( c) c^( c)
@end lilypond
-Only one slur can be printed at once. If you need to print a long
-slur over a few small slurs, please see @ref{Phrasing slurs}.
+Using this method, only one slur can be printed at once. To print
+a long slur over a few small slurs, see @ref{Phrasing slurs}.
-@commonprop
-
-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
-<c e>4 ( <d f> <c e> <d f> )
-@end lilypond
-
-
-@refcommands
+@predefined
@funindex \slurUp
@code{\slurUp},
@funindex \slurSolid
@code{\slurSolid}.
+
+@snippets
+
+Some composers write two slurs when they want legato chords. This
+can be achieved in LilyPond by setting @code{doubleSlurs},
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
+\set doubleSlurs = ##t
+<c e>4 ( <d f> <c e> <d f> )
+@end lilypond
+
+
@seealso
-Program reference: @internalsref{Slur}.
+Music Glossary: @rglos{slur}
+
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+Internals Reference: @internalsref{Slur}.
@node Phrasing slurs
-@unnumberedsubsubsec Phrasing slurs
+@subsubsection Phrasing slurs
@cindex phrasing slurs
@cindex phrasing marks
+@funindex \(
+@funindex \)
A phrasing slur (or phrasing mark) connects notes and is used to
indicate a musical sentence. It is written using @code{\(} and
-@code{\)} respectively
+@code{\)} respectively:
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
\time 6/4 c'\( d( e) f( e) d\)
@end lilypond
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{\phrasingSlurNeutral}.
+@code{\phrasingSlurNeutral}. Phrasing slurs may be manually
+placed above or below the staff, see @ref{Controlling direction
+and placement}.
You cannot have simultaneous phrasing slurs.
-@refcommands
+@predefined
@funindex \phrasingSlurUp
@code{\phrasingSlurUp},
@seealso
-Program reference: @internalsref{PhrasingSlur}.
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+Internals Reference: @internalsref{PhrasingSlur}
@node Breath marks
-@unnumberedsubsubsec Breath marks
+@subsubsection Breath marks
-Breath marks are entered using @code{\breathe}
+@cindex breath marks
+@funindex \breathe
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+Breath marks are entered using @code{\breathe}:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
c'4 \breathe d4
@end lilypond
-@commonprop
+@snippets
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,
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
c'4
\override BreathingSign #'text
= #(make-musicglyph-markup "scripts.rvarcomma")
d4
@end lilypond
+
@seealso
-Program reference: @internalsref{BreathingSign}.
+Snippets: @lsrdir{Expressive,Expressive-marks}
+@c @lsr{expressive,breathing-sign.ly}.
-Examples: @lsr{expressive,breathing-sign.ly}
+Internals Reference: @internalsref{BreathingSign}
@node Falls and doits
-@unnumberedsubsubsec Falls and doits
+@subsubsection Falls and doits
+
+@cindex falls
+@cindex doits
+@funindex \bendAfter
+
+@notation{Falls} and @notation{doits} can be added to notes using
+the @code{\bendAfter} command:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c2-\bendAfter #+4
+c-\bendAfter #-4
+c-\bendAfter #+8
+c-\bendAfter #-8
+@end lilypond
+
+The dash (@tie{-}) following the note name is @emph{required} when
+writing @notation{falls} and @notation{doits}.
-Falls and doits can be added to notes using the @code{\bendAfter}
-command,
-@lilypond[fragment,ragged-right,relative=2]
+@snippets
+
+The @code{shortest-duration-space} property may have to be tweaked
+to adjust the shape of @notation{falls} and @notation{doits}.
+
+@c Fix this snippet. The tweak does not work. -pm
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
\override Score.SpacingSpanner #'shortest-duration-space = #3.0
c4-\bendAfter #+5
c4-\bendAfter #-3
@end lilypond
+@seealso
+
+@c TODO: add falls and doits to glossary.
+@c Music Glossary: @rglos{falls}, @rglos{doits}.
+
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+
@node Lines
@subsection Lines
* Glissando::
* Arpeggio::
* Trills::
-* Analysis brackets::
@end menu
@node Glissando
-@unnumberedsubsubsec Glissando
+@subsubsection Glissando
-@cindex Glissando
+@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
-@code{\glissando} to a note
+A @notation{glissando} is a smooth change in pitch. It is denoted
+by a line or a wavy line between two notes. A
+@notation{glissando} is created by attaching @code{\glissando} to
+a note:
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
c2\glissando c'
\override Glissando #'style = #'zigzag
c2\glissando c,
@end lilypond
-@commonprop
+@snippets
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[verbatim,quote,ragged-right]
I = \once \override NoteColumn #'ignore-collision = ##t
-\relative <<
+\relative c' <<
{ \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
{ \oneVoice \I c2 \glissando \I d, }
>>
@end lilypond
-
@seealso
-Program reference: @internalsref{Glissando}.
+Music Glossary: @rglos{glissando}
-Example files:
-@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
+Snippets: @lsrdir{Expressive,Expressive-marks}
+@c FIXME: I need to figure out what's up with these. -gp
+@c @lsr{expressive,glissando.ly},
+@c @lsr{expressive,line-styles.ly}
-@refbugs
+Internals Reference: @internalsref{Glissando}
+
+
+@knownissues
Printing text over the line (such as @emph{gliss.}) is not
supported.
@node Arpeggio
-@unnumberedsubsubsec Arpeggio
+@subsubsection Arpeggio
-@cindex Arpeggio
+@cindex arpeggio
@cindex broken chord
-@funindex \arpeggio
-You can specify an arpeggio sign (also known as broken chord) on a
-chord by attaching an @code{\arpeggio} to a chord
+You can specify an @notation{arpeggio} (also known as a
+@notation{broken chord}) on a chord by attaching an
+@code{\arpeggio} to the chord:
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
<c e g c>\arpeggio
@end lilypond
-A square bracket on the left indicates that the player should not
-arpeggiate the chord
+A square bracket on the left, denoted by @code{\arpeggioBracket},
+is used to indicate that the chord should @emph{not} be
+arpeggiated:
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
\arpeggioBracket
-<c' e g c>\arpeggio
+<c e g c>\arpeggio
@end lilypond
-The direction of the arpeggio is sometimes denoted by adding an
-arrowhead to the wiggly line
+The direction of the arpeggio can be denoted by adding an
+arrowhead to the wiggly line. This is done with the commands
+@code{arpeggioUp} and @code{arpeggioDown}. @code{arpeggioNeutral}
+reverts to the arrow-less version:
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
\new Voice {
\arpeggioUp
<c e g c>\arpeggio
\arpeggioDown
<c e g c>\arpeggio
+ \arpeggioNeutral
+ <c e g c>\arpeggio
}
@end lilypond
-@commonprop
+@predefined
+
+@funindex \arpeggio
+@code{\arpeggio},
+@funindex \arpeggioUp
+@code{\arpeggioUp},
+@funindex \arpeggioDown
+@code{\arpeggioDown},
+@funindex \arpeggioNeutral
+@code{\arpeggioNeutral},
+@funindex \arpeggioBracket
+@code{\arpeggioBracket}.
-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]
+@snippets
+
+In a @code{PianoStaff}, it is possible to let an arpeggio cross
+between the staves by setting the property
+@code{PianoStaff}.@code{connectArpeggios}.
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
\new PianoStaff <<
\set PianoStaff.connectArpeggios = ##t
\new Staff { <c' e g c>\arpeggio }
>>
@end lilypond
-@c TODO: cross-voice arpeggio example?
-@c such an example is already in LSR -J.Mandereau
+The same can be accomplished in contexts other than
+@code{PianoStaff} if the @code{Span_arpeggio_engraver} is included
+in the Score context.
-@refcommands
+@lilypond[verbatim,quote,ragged-right]
+\score {
+ \new StaffGroup {
+ \set Score.connectArpeggios = ##t
+ <<
+ \new Voice \relative c' {
+ <e g>4\arpeggio
+ }
+ \new Voice \relative c {
+ \clef bass
+ <c e>4\arpeggio
+ }
+ >>
+ }
+ \layout {
+ \context {
+ \Score
+ \consists "Span_arpeggio_engraver"
+ }
+ }
+}
+@end lilypond
-@code{\arpeggio},
-@funindex \arpeggioUp
-@code{\arpeggioUp},
-@funindex \arpeggioDown
-@code{\arpeggioDown},
-@funindex \arpeggioNeutral
-@code{\arpeggioNeutral},
-@funindex \arpeggioBracket
-@code{\arpeggioBracket}.
+Similarly, an arpeggio can be drawn across notes in different
+voices on the same staff if the @code{Span_arpeggio_engraver} is
+moved to the Staff context:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff
+\with {
+ \consists "Span_arpeggio_engraver"
+} \relative c' {
+ \set Staff.connectArpeggios = ##t
+ <<
+ {<e' g>4\arpeggio <d f> <d f>2 }
+ \\
+ {<d, f>2\arpeggio <g b>2 }
+ >>
+}
+@end lilypond
@seealso
-Notation manual: @ref{Ties}, for writing out arpeggios.
+@c TODO: Add 'broken chord' to glossary.
+
+Music Glossary: @rglos{arpeggio}
-Program reference: @internalsref{Arpeggio}.
+Notation Reference: @ref{Ties}, for writing out arpeggios.
+Snippets: @lsrdir{Expressive,Expressive-marks}
-@refbugs
+Internals Reference: @internalsref{Arpeggio},
+@internalsref{PianoStaff}.
+
+
+@knownissues
It is not possible to mix connected arpeggios and unconnected
-arpeggios in one @internalsref{PianoStaff} at the same point in
+arpeggios in one @code{PianoStaff} at the same point in
time.
@node Trills
-@unnumberedsubsubsec Trills
+@subsubsection Trills
-Short trills are printed like normal articulation; see
-@ref{Articulations and ornamentations}.
+@cindex trills
+@funindex \trill
-Long running trills are made with @code{\startTrillSpan} and
-@code{\stopTrillSpan},
+Short @notation{trills} are printed with @code{\trill} like normal
+articulation; see @ref{Articulations and ornamentations}.
-@lilypond[verbatim,ragged-right,relative=2,quote,fragment]
-\new Voice {
- << { c1 \startTrillSpan }
- { s2. \grace { d16[\stopTrillSpan e] } } >>
- c4 }
+Long running @notation{trills} are made with
+@code{\startTrillSpan} and @code{\stopTrillSpan}. In the
+following example, a long running @notation{trill} is shown
+combined with grace notes. To achieve precise control of the
+placement of the grace notes, see @ref{Grace notes}.
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c1 \afterGrace
+d1\startTrillSpan { c16[\stopTrillSpan d] }
+c4
@end lilypond
-@cindex Pitched trills
+@cindex pitched trills
+
+@notation{Trills} that should be executed on an explicitly
+specified pitch can be typeset with the command
+@code{\pitchedTrill} using the following syntax:
-Trills that should be executed on an explicitly specified pitch
-can be typeset with the command @code{pitchedTrill},
+@example
+@code{\pitchedTrill} @var{mainnote} @code{\startTrillSpan}
+@var{trillnote} @var{endnote} @code{\stopTrillSpan}
+@end example
-@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
-\pitchedTrill c4\startTrillSpan fis
-f\stopTrillSpan
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
+\pitchedTrill e2 \startTrillSpan fis
+d\stopTrillSpan
@end lilypond
@noindent
printed as a stemless note head in parentheses.
-@refcommands
+@predefined
@code{\startTrillSpan},
@funindex \startTrillSpan
@seealso
-Program reference: @internalsref{TrillSpanner}.
-
-
-@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}
-
-@lilypond[quote,ragged-right,verbatim]
-\score {
- \relative c'' {
- c4\startGroup\startGroup
- c4\stopGroup
- c4\startGroup
- c4\stopGroup\stopGroup
- }
- \layout {
- \context {
- \Staff \consists "Horizontal_bracket_engraver"
-}}}
-@end lilypond
-
-@seealso
-
-Program reference: @internalsref{HorizontalBracket}.
-
+Music Glossary: @rglos{trill}
+Snippets: @lsrdir{Expressive,Expressive-marks}
+Internals Reference: @internalsref{TrillSpanner}