]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/expressive.itely
lilypond-book robustness: ensure EOL at the end of @verbatim
[lilypond.git] / Documentation / user / expressive.itely
index 807370f24a045586840095a6e8f26549fbb5fb1d..56904b0067206e54fbdb1b3098d45101105e8ae7 100644 (file)
@@ -6,35 +6,68 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.12.0"
 
 @node Expressive marks
 @section Expressive marks
 
 @lilypondfile[quote]{expressive-headword.ly}
 
+This section lists various expressive marks that can be
+created in a score.
+
 @menu
-* Attached to notes::           
-* Curves::                      
-* Lines::                       
+* Attached to notes::
+* Curves::
+* Lines::
 @end menu
 
 
 @node Attached to notes
 @subsection Attached to notes
 
+This section explains how to create expressive marks that are
+attached to notes: articulations, ornamentations, and dynamics.
+Methods to create new dynamic markings are also discussed.
+
 @menu
-* Articulations and ornamentations::  
-* Dynamics::                    
-* New dynamic marks::           
+* Articulations and ornamentations::
+* Dynamics::
+* New dynamic marks::
 @end menu
 
 @node Articulations and ornamentations
-@subsubsection Articulations and ornamentations
+@unnumberedsubsubsec Articulations and ornamentations
 
 @cindex articulations
+@cindex ornamentation
 @cindex scripts
 @cindex ornaments
+@cindex espressivo
+@cindex fermata
+@cindex upbow
+@cindex downbow
+@cindex foot marks
+@cindex organ pedal marks
+@cindex pedal marks, organ
+@cindex turn
+@cindex open
+@cindex stopped
+@cindex flageolet
+@cindex reverseturn
+@cindex trill
+@cindex prall
+@cindex mordent
+@cindex prallprall
+@cindex prallmordent
+@cindex prall, up
+@cindex prall, down
+@cindex thumb marking
+@cindex segno
+@cindex coda
+@cindex varcoda
+
+@funindex -
 
 A variety of symbols that denote articulations, ornamentations,
 and other performance indications can be attached to a note using
@@ -47,13 +80,12 @@ this syntax:
 The possible values for @var{name} are listed in @ref{List of
 articulations}.  For example:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
 c4\staccato c\mordent b2\turn
 c1\fermata
 @end lilypond
 
 @cindex marcato
-@cindex stopped
 @cindex tenuto
 @cindex staccatissimo
 @cindex accent
@@ -62,795 +94,1046 @@ c1\fermata
 
 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[verbatim,quote,ragged-right,fragment,relative=2]
+consists of a dash @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[verbatim,quote,relative=2]
 c4-^  c-+  c--  c-|
-c->   c-.  c-_
+c4->  c-.  c2-_
 @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 espressivo
-@cindex fermata
-@cindex upbow
-@cindex downbow
-@cindex foot marks
-@cindex organ pedal marks
-@cindex turn
-@cindex open
-@cindex stopped
-@cindex flageolet
-@cindex reverseturn
-@cindex trill
-@cindex prall
-@cindex mordent
-@cindex prallprall
-@cindex prallmordent
-@cindex prall, up
-@cindex prall, down
-@cindex thumb marking
-@cindex segno
-@cindex coda
-@cindex varcoda
+may be manually placed above or below the staff; see
+@ref{Direction and placement}.
 
 
 @snippets
 
-@c Send these snippets to Valentin for the LSR.
-
-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-+ }
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{modifying-default-values-for-articulation-shorthand-notation.ly}
 
-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{TextScript} (the sharp symbol) first has the lowest
-priority, so it is put lowest in the first example.  In 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,quote,ragged-right,fragment,relative=3]
-\once \override TextScript #'script-priority = #-100
-a4^\prall^\markup { \sharp }
-
-\once \override Script #'script-priority = #-100
-a4^\prall^\markup { \sharp }
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{controlling-the-vertical-ordering-of-scripts.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-a-delayed-turn.ly}
 
 @seealso
-
-Music Glossary: @rglos{tenuto}, @rglos{accent}, @rglos{staccato},
+Music Glossary:
+@rglos{tenuto},
+@rglos{accent},
+@rglos{staccato},
 @rglos{portato}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Notation Reference:
+@ref{Direction and placement},
+@ref{List of articulations},
+@ref{Trills}.
 
-Internals Reference: @internalsref{Script},
-@internalsref{TextScript}.
+Installed Files:
+@file{scm/@/script@/.scm}.
 
+Snippets:
+@rlsr{Expressive marks}.
 
-@knownissues
-
-These signs appear in the printed output but have no effect on the
-MIDI rendering of the music.
+Internals Reference:
+@rinternals{Script},
+@rinternals{TextScript}.
 
 
 @node Dynamics
-@subsubsection Dynamics
+@unnumberedsubsubsec Dynamics
 
+@cindex absolute dynamics
 @cindex dynamics
+@cindex dynamics, absolute
+
+@funindex \ppppp
+@funindex ppppp
 @funindex \pppp
+@funindex pppp
 @funindex \ppp
+@funindex ppp
 @funindex \pp
+@funindex pp
 @funindex \p
+@funindex p
 @funindex \mp
+@funindex mp
 @funindex \mf
+@funindex mf
 @funindex \f
+@funindex f
 @funindex \ff
+@funindex ff
 @funindex \fff
+@funindex fff
 @funindex \ffff
+@funindex ffff
 @funindex \fp
+@funindex fp
 @funindex \sf
+@funindex sf
 @funindex \sff
+@funindex sff
 @funindex \sp
+@funindex sp
 @funindex \spp
+@funindex spp
 @funindex \sfz
+@funindex sfz
 @funindex \rfz
+@funindex rfz
 
 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 may be manually
-placed above or below the staff, see @ref{Controlling direction
-and placement}.
-
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+such as @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}.  Dynamic marks may be
+manually placed above or below the staff; see @ref{Direction and
+placement}.
+
+@lilypond[verbatim,quote,relative=2]
 c2\ppp c\mp
-c\rfz c^\mf
-c_\spp c_\staccato^\ff
+c2\rfz c^\mf
+c2_\spp c^\ff
 @end lilypond
 
 @cindex hairpin
+@cindex crescendo
+@cindex decrescendo
+@cindex diminuendo
+
 @funindex \<
 @funindex \>
 @funindex \!
 @funindex \cr
+@funindex cr
 @funindex \decr
+@funindex decr
 
 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[verbatim,quote,ragged-right,fragment,relative=2]
-c\< c\! d\> e\!
-<< f1 { s4 s4\< s4\! \> s4\! } >>
+terminated with @code{\!}, an absolute dynamic, or an additional
+crescendo or decrescendo mark.  A @notation{decrescendo} mark is
+started with @code{\>} and is also terminated with @code{\!}, an
+absolute dynamic, or another crescendo or decrescendo mark.
+@code{\cr} and @code{\decr} may be used instead of @code{\<} and
+@code{\>}.  @notation{Hairpins} are engraved by default using this
+notation.
+
+@lilypond[verbatim,quote,relative=2]
+c2\< c\!
+d2\< d\f
+e2\< e\>
+f2\> f\!
+e2\> e\mp
+d2\> d\>
+c1\!
 @end lilypond
 
-This may give rise to very short hairpins.  To lengthen them, the
-following code can be used, for example:
+Spacer rests are needed to engrave multiple marks on one note.
 
-@example
-\override Voice.Hairpin #'minimum-length = #5
-@end example
+@cindex multiple dynamic marks on one note
+@cindex dynamic marks, multiple on one note
 
-@noindent
-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\!
+@lilypond[verbatim,quote,relative=2]
+c4\< c\! d\> e\!
+<< f1 { s4 s4\< s4\> s4\! } >>
 @end lilypond
 
-@cindex espressivo, articulation
+@cindex espressivo articulation
+
+@funindex \espressivo
+@funindex espressivo
 
 In some situations the @code{\espressivo} articulation mark may be
-suitable to indicate a crescendo and decrescendo on the one note:
+the appropriate choice to indicate a crescendo and decrescendo on
+one note:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c2 b4 a g1\espressivo
+@lilypond[verbatim,quote,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):
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-\override Hairpin #'circled-tip = ##t
-c2\< c\!
-c4\> c\< c2\!
+@funindex \crescTextCresc
+@funindex crescTextCresc
+@funindex \dimTextDecresc
+@funindex dimTextDecresc
+@funindex \dimTextDecr
+@funindex dimTextDecr
+@funindex \dimTextDim
+@funindex dimTextDim
+@funindex \crescHairpin
+@funindex crescHairpin
+@funindex \dimHairpin
+@funindex dimHairpin
+
+Crescendos and decrescendos can be engraved as textual markings
+instead of hairpins.  Dashed lines are printed to indicate their
+extent.  The built-in commands that enable these text modes are
+@code{\crescTextCresc}, @code{\dimTextDecresc},
+@code{\dimTextDecr}, and @code{\dimTextDim}.  The corresponding
+@code{\crescHairpin} and @code{\dimHairpin} commands will revert
+to hairpins again:
+
+@lilypond[verbatim,quote,relative=2]
+\crescTextCresc
+c2\< d | e f\!
+\dimTextDecresc
+e2\> d | c b\!
+\crescHairpin
+c2\< d | e f\!
+\dimHairpin
+e2\> d\!
 @end lilypond
 
-@cindex crescendo
-@cindex decrescendo
-@cindex diminuendo
-@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\!
-@end lilypond
 
-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
-properties are @code{hairpin}, @code{line}, @code{dashed-line},
-and @code{dotted-line}.  If unset, a hairpin crescendo is used:
-
-@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 absolute dynamic marks or text that should be
+aligned with dynamics, see @ref{New dynamic marks}.
+
+@cindex dynamics, vertical positioning
+@cindex vertical positioning of dynamics
+
+@funindex DynamicLineSpanner
 
-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}.
+@rinternals{DynamicLineSpanner}.
+@funindex \dynamicUp
+@funindex dynamicUp
+@funindex \dynamicDown
+@funindex dynamicDown
+@funindex \dynamicNeutral
+@funindex dynamicNeutral
 
 
 @predefined
-
-@funindex \dynamicUp
 @code{\dynamicUp},
-@funindex \dynamicDown
 @code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
+@code{\dynamicNeutral},
+@code{\crescTextCresc},
+@code{\dimTextDim},
+@code{\dimTextDecr},
+@code{\dimTextDecresc},
+@code{\crescHairpin},
+@code{\dimHairpin}.
+@endpredefined
 
 
 @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
-aligned when they do not occur on the same note, you can increase
-the @code{staff-padding} property.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{setting-hairpin-behavior-at-bar-lines.ly}
 
-@example
-\override DynamicLineSpanner #'staff-padding = #4
-@end example
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{setting-the-minimum-length-of-hairpins.ly}
 
-@noindent
-You may also use this property if the dynamics are colliding with
-other notation.
+@cindex al niente
+@cindex niente, al
 
-@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
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{printing-hairpins-using-al-niente-notation.ly}
 
-@example
-\override Score.Hairpin #'after-line-breaking = ##t
-@end example
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{vertically-aligned-dynamics-and-textscripts.ly}
 
-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
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{hiding-the-extender-line-for-text-dynamics.ly}
 
-@example
-\override DynamicTextSpanner #'dash-period = #-1.0
-@end example
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-text-and-spanner-styles-for-text-dynamics.ly}
 
 
 @seealso
+Music Glossary:
+@rglos{al niente},
+@rglos{crescendo},
+@rglos{decrescendo},
+@rglos{hairpin}.
 
-@c TODO: Add hairpin to glossary.
-
-Music Glossary: @rglos{crescendo}, @rglos{decrescendo}.
+Learning Manual:
+@rlearning{Articulation and dynamics}.
 
-Learning Manual: @rlearning{Articulation and dynamics}.
+Notation Reference:
+@ref{Direction and placement},
+@ref{New dynamic marks},
+@ref{What goes into the MIDI output?},
+@ref{Controlling MIDI dynamics}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Snippets:
+@rlsr{Expressive marks}.
 
-Internals Reference: @internalsref{DynamicText},
-@internalsref{Hairpin}.  Vertical positioning of these symbols is
-handled by @internalsref{DynamicLineSpanner}.
+Internals Reference:
+@rinternals{DynamicText},
+@rinternals{Hairpin},
+@rinternals{DynamicLineSpanner}.
 
 
 @node New dynamic marks
-@subsubsection New dynamic marks
+@unnumberedsubsubsec New dynamic marks
+
+@cindex new dynamic marks
+@cindex dynamic marks, new
+
+The easiest way to create dynamic indications is to use
+@code{\markup} objects.
+
+@lilypond[verbatim,quote]
+moltoF = \markup { molto \dynamic f }
 
-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}.
+\relative c' {
+  <d e>16_\moltoF <d e>
+  <d e>2..
+}
+@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{Text markup commands}, for more details.
+@cindex dynamics, editorial
+@cindex dynamics, parenthesis
+@cindex editorial dynamics
+@funindex \bracket
+@funindex bracket
+@funindex \dynamic
+@funindex dynamic
+
+In markup mode, editorial dynamics (within parentheses or square
+brackets) can be created.  The syntax for markup mode is described
+in @ref{Formatting text}.
+
+@lilypond[verbatim,quote]
+roundF = \markup { \center-align \concat { \bold { \italic ( }
+           \dynamic f \bold { \italic ) } } }
+boxF = \markup { \bracket { \dynamic f } }
+\relative c' {
+  c1_\roundF
+  c1_\boxF
+}
+@end lilypond
 
 @cindex make-dynamic-script
+@funindex make-dynamic-script
 
-@lilypond[quote,verbatim,ragged-right]
+Simple, centered dynamic marks are easily created with the
+@code{make-dynamic-script} function.
+
+@lilypond[verbatim,quote]
 sfzp = #(make-dynamic-script "sfzp")
 \relative c' {
   c4 c c\sfzp c
 }
 @end lilypond
 
-@cindex Dynamics, editorial
-@cindex Dynamics, parenthesis
+In general, @code{make-dynamic-script} takes any markup object as its
+argument.  The dynamic font only contains the characters
+@code{f,m,p,r,s} and @code{z}, so if a dynamic mark that includes
+plain text or punctuation symbols is desired, markup commands that
+reverts font family and font encoding to normal text should be used,
+for example @code{\normal-text}.  The interest of using
+@code{make-dynamic-script} instead of an ordinary markup is ensuring
+the vertical alignment of markup objects and hairpins that are
+attached to the same note head.
+
+@lilypond[verbatim,quote]
+roundF = \markup { \center-align \concat {
+           \normal-text { \bold { \italic ( } }
+           \dynamic f
+           \normal-text { \bold { \italic ) } } } }
+boxF = \markup { \bracket { \dynamic f } }
+mfEspress = \markup { \center-align \line {
+              \hspace #3.7 mf \normal-text \italic espress. } }
+roundFdynamic = #(make-dynamic-script roundF)
+boxFdynamic = #(make-dynamic-script boxF)
+mfEspressDynamic = #(make-dynamic-script mfEspress)
+\relative c' {
+  c4_\roundFdynamic\< d e f
+  g,1~_\boxFdynamic\>
+  g
+  g'~\mfEspressDynamic
+  g
+}
+@end lilypond
 
-It is also possible to print dynamics in round parenthesis or
-square brackets.  These are often used for adding editorial
-dynamics.
+The Scheme form of markup mode may be used instead.  Its syntax is
+explained in @ref{Markup construction in Scheme}.
 
-@lilypond[quote,verbatim,ragged-right]
-rndf = \markup{ \center-align {\line { \bold{\italic (}
-  \dynamic f \bold{\italic )} }} }
-boxf = \markup{ \bracket { \dynamic f } }
-{ c'1_\rndf c'1_\boxf }
+@lilypond[verbatim,quote]
+moltoF = #(make-dynamic-script
+            (markup #:normal-text "molto"
+                    #:dynamic "f"))
+\relative c' {
+  <d e>16 <d e>
+  <d e>2..\moltoF
+}
 @end lilypond
 
+Font settings in markup mode are described in
+@ref{Selecting font and font size}.
+
+
 @seealso
+Notation Reference:
+@ref{Formatting text},
+@ref{Selecting font and font size},
+@ref{Markup construction in Scheme},
+@ref{What goes into the MIDI output?},
+@ref{Controlling MIDI dynamics}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Snippets:
+@rlsr{Expressive marks}.
 
 
 @node Curves
 @subsection Curves
 
+This section explains how to create various expressive marks that
+are curved: normal slurs, phrasing slurs, breath marks, falls, and
+doits.
+
 @menu
-* Slurs::                       
-* Phrasing slurs::              
-* Breath marks::                
-* Falls and doits::             
+* Slurs::
+* Phrasing slurs::
+* Breath marks::
+* Falls and doits::
 @end menu
 
 @node Slurs
-@subsubsection Slurs
+@unnumberedsubsubsec Slurs
 
 @cindex slurs
 
-A @notation{slur} indicates that notes are to be played bound or
-@emph{legato}.  They are entered using parentheses:
+@notation{Slurs} are entered using parentheses:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-f( g a) a8 b( a4 g2 f4)
+@lilypond[verbatim,quote,relative=2]
+f4( g a) a8 b(
+a4 g2 f4)
 <c e>2( <b d>2)
 @end lilypond
 
-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} (@code{Neutral} is the
-default).  Slurs may be manually placed above or below the staff,
-see @ref{Controlling direction and placement}.
+@cindex slurs, manual placement
+@cindex slurs, below notes
+@cindex slurs, above notes
+@funindex \slurDown
+@funindex slurDown
+@funindex \slurNeutral
+@funindex slurNeutral
+
+Slurs may be manually placed above or below the staff; see
+@ref{Direction and placement}.
+
+@cindex phrasing slur
+@cindex multiple slurs
+@cindex simultaneous slurs
+@cindex slur, phrasing
+@cindex slurs, multiple
+@cindex slurs, simultaneous
+
+Simultaneous or overlapping slurs are not permitted, but a phrasing
+slur can overlap a slur.  This permits two slurs to be printed at
+once.  For details, see @ref{Phrasing slurs}.
+
+@cindex slur style
+@cindex slur, solid
+@cindex slur, dotted
+@cindex slur, dashed
+@cindex solid slur
+@cindex dotted slur
+@cindex dashed slur
+@cindex style, slur
+@funindex \slurDashed
+@funindex slurDashed
+@funindex \slurDotted
+@funindex slurDotted
+@funindex \slurSolid
+@funindex slurSolid
+
+Slurs can be solid, dotted, or dashed.  Solid is the default slur
+style:
+
+@lilypond[verbatim,quote,relative=1]
+c4( e g2)
+\slurDashed
+g4( e c2)
+\slurDotted
+c4( e g2)
+\slurSolid
+g4( e c2)
+@end lilypond
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c4_( c) c^( c)
+@funindex \slurHalfDashed
+@funindex slurHalfDashed
+@funindex \slurHalfSolid
+@funindex slurHalfSolid
+@cindex slur, half dashed and half solid
+
+Slurs can also be made half-dashed (the first half dashed, the
+second half solid) or half-solid (the first half solid, the second
+half dashed):
+
+@lilypond[verbatim,quote,relative=1]
+c4( e g2)
+\slurHalfDashed
+g4( e c2)
+\slurHalfSolid
+c4( e g2)
+\slurSolid
+g4( e c2)
 @end lilypond
 
-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}.
+@funindex \slurDashPattern
+@funindex slurDashPattern
+@cindex slur, defining dash patterns
+
+Custom dash patterns for slurs can be defined:
+
+@lilypond[verbatim,quote,relative=1]
+c4( e g2)
+\slurDashPattern #0.7 #0.75
+g4( e c2)
+\slurDashPattern #0.5 #2.0
+c4( e g2)
+\slurSolid
+g4( e c2)
+@end lilypond
 
 
-@predefined
 
 @funindex \slurUp
+@funindex slurUp
+
+
+@predefined
 @code{\slurUp},
-@funindex \slurDown
 @code{\slurDown},
-@funindex \slurNeutral
 @code{\slurNeutral},
-@funindex \slurDashed
 @code{\slurDashed},
-@funindex \slurDotted
 @code{\slurDotted},
-@funindex \slurSolid
+@code{\slurHalfDashed},
+@code{\slurHalfSolid},
+@code{\slurDashPattern},
 @code{\slurSolid}.
+@endpredefined
 
 
 @snippets
 
-Some composers write two slurs when they want legato chords.  This
-can be achieved in LilyPond by setting @code{doubleSlurs},
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{using-double-slurs-for-legato-chords.ly}
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-\set doubleSlurs = ##t
-<c e>4 ( <d f> <c e> <d f> )
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{positioning-text-markups-inside-slurs.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{making-slurs-with-complex-dash-structure.ly}
 
 @seealso
+Music Glossary:
+@rglos{slur}.
+
+Learning Manual:
+@rlearning{On the un-nestedness of brackets and ties}.
 
-Music Glossary: @rglos{slur}
+Notation Reference:
+@ref{Direction and placement},
+@ref{Phrasing slurs}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Snippets:
+@rlsr{Expressive marks}.
 
-Internals Reference: @internalsref{Slur}.
+Internals Reference:
+@rinternals{Slur}.
 
 
 @node Phrasing slurs
-@subsubsection Phrasing slurs
+@unnumberedsubsubsec Phrasing slurs
 
 @cindex phrasing slurs
 @cindex phrasing marks
+@cindex slur, phrasing
+@cindex mark, phrasing
 @funindex \(
 @funindex \)
 
-A phrasing slur (or phrasing mark) connects notes and is used to
-indicate a musical sentence.  It is written using @code{\(} and
+@notation{Phrasing slurs} (or phrasing marks) that indicate a
+musical sentence are written using the commands @code{\(} and
 @code{\)} respectively:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-\time 6/4 c'\( d( e) f( e) d\)
+@lilypond[verbatim,quote,relative=2]
+c4\( d( e) f(
+e2) d\)
 @end lilypond
 
-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{\phrasingSlurNeutral}.  Phrasing slurs may be manually
-placed above or below the staff, see @ref{Controlling direction
-and placement}.
+@funindex \phrasingSlurUp
+@funindex phrasingSlurUp
+@funindex \phrasingSlurDown
+@funindex phrasingSlurDown
+@funindex \phrasingSlurNeutral
+@funindex phrasingSlurNeutral
+
+Typographically, a 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.  Phrasing
+may be manually placed above or below the staff; see
+@ref{Direction and placement}.
+
+@cindex simultaneous phrasing slurs
+@cindex multiple phrasing slurs
+@cindex slur, simultaneous phrasing
+@cindex slur, multiple phrasing
+@cindex phrasing slur, simultaneous
+@cindex phrasing slur, multiple
+
+Simultaneous or overlapping phrasing slurs are not permitted.
+
+@funindex phrasingSlurDashed
+@funindex \phrasingSlurDashed
+@funindex \phrasingSlurDotted
+@funindex phrasingSlurDotted
+@funindex \phrasingSlurSolid
+@funindex phrasingSlurSolid
+@cindex phrasing slur, dashed
+@cindex dashed phrasing slur
+@cindex phrasing slur, dotted
+@cindex dotted phrasing slurs
+@cindex slur, dashed phrasing
+@cindex slur, dotted phrasing
+
+Phrasing slurs can be solid, dotted, or dashed.  Solid is the default
+style for phrasing slurs:
+
+@lilypond[verbatim,quote,relative=1]
+c4\( e g2\)
+\phrasingSlurDashed
+g4\( e c2\)
+\phrasingSlurDotted
+c4\( e g2\)
+\phrasingSlurSolid
+g4\( e c2\)
+@end lilypond
 
-You cannot have simultaneous phrasing slurs.
+@funindex phrasingSlurHalfDashed
+@funindex \phrasingSlurHalfDashed
+@funindex \phrasingSlurHalfSolid
+@funindex phrasingSlurHalfSolid
+@cindex phrasing slur, half solid and half dashed
+@cindex slur, half solid and half dashed phrasing
+
+Phrasing slurs can also be made half-dashed (the first half dashed, the
+second half solid) or half-solid (the first half solid, the second
+half dashed):
+
+@lilypond[verbatim,quote,relative=1]
+c4\( e g2\)
+\phrasingSlurHalfDashed
+g4\( e c2\)
+\phrasingSlurHalfSolid
+c4\( e g2\)
+\phrasingSlurSolid
+g4\( e c2\)
+@end lilypond
 
+@funindex \phrasingSlurDashPattern
+@funindex phrasingSlurDashPattern
+@cindex phrasing slur, defining dash patterns
+@cindex slur, phrasing, defining dash patterns
+@cindex slur, definind dash patterns for phrasing
+
+Custom dash patterns for phrasing slurs can be defined:
+
+@lilypond[verbatim,quote,relative=1]
+c4\( e g2\)
+\phrasingSlurDashPattern #0.7 #0.75
+g4\( e c2\)
+\phrasingSlurDashPattern #0.5 #2.0
+c4\( e g2\)
+\phrasingSlurSolid
+g4\( e c2\)
+@end lilypond
 
-@predefined
+Dash pattern definitions for phrasing slurs have the same structure
+as dash pattern definitions for slurs.  For more information about
+complex dash patterns, see the snippets under @ref{Slurs}.
 
-@funindex \phrasingSlurUp
+@predefined
 @code{\phrasingSlurUp},
-@funindex \phrasingSlurDown
 @code{\phrasingSlurDown},
-@funindex \phrasingSlurNeutral
-@code{\phrasingSlurNeutral}.
+@code{\phrasingSlurNeutral},
+@code{\phrasingSlurDashed},
+@code{\phrasingSlurDotted},
+@code{\phrasingSlurHalfDashed},
+@code{\phrasingSlurHalfSolid},
+@code{\phrasingSlurDashPattern},
+@code{\phrasingSlurSolid}.
+@endpredefined
 
 
 @seealso
+Learning Manual:
+@rlearning{On the un-nestedness of brackets and ties}.
+
+Notation Reference:
+@ref{Direction and placement},
+@ref{Slurs}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Snippets:
+@rlsr{Expressive marks}.
 
-Internals Reference: @internalsref{PhrasingSlur}
+Internals Reference:
+@rinternals{PhrasingSlur}.
 
 
 @node Breath marks
-@subsubsection Breath marks
+@unnumberedsubsubsec Breath marks
 
 @cindex breath marks
+@cindex pause mark
 @funindex \breathe
+@funindex breathe
 
 Breath marks are entered using @code{\breathe}:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-c'4 \breathe d4
+@lilypond[verbatim,quote,relative=2]
+c2. \breathe d4
 @end lilypond
 
+Musical indicators for breath marks in ancient notation,
+divisiones, are supported.  For details, see @ref{Divisiones}.
+
 
 @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,
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-breath-mark-symbol.ly}
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-c'4
-\override BreathingSign #'text
-  = #(make-musicglyph-markup "scripts.rvarcomma")
-\breathe
-d4
-@end lilypond
+@cindex caesura
+@cindex railroad tracks
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{inserting-a-caesura.ly}
 
 
 @seealso
+Music Glossary:
+@rglos{caesura}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
-@c @lsr{expressive,breathing-sign.ly}.
+Notation Reference:
+@ref{Divisiones}.
 
-Internals Reference: @internalsref{BreathingSign}
+Snippets:
+@rlsr{Expressive marks}.
+
+Internals Reference:
+@rinternals{BreathingSign}.
 
 
 @node Falls and doits
-@subsubsection Falls and doits
+@unnumberedsubsubsec Falls and doits
 
 @cindex falls
 @cindex doits
 @funindex \bendAfter
+@funindex bendAfter
 
 @notation{Falls} and @notation{doits} can be added to notes using
-the @code{\bendAfter} command:
+the @code{\bendAfter} command.  The direction of the fall or doit
+is indicated with a plus or minus (up or down).  The number
+indicates the pitch interval that the fall or doit will extend
+@emph{beyond} the main note.
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
 c2-\bendAfter #+4
-c-\bendAfter #-4
-c-\bendAfter #+8
-c-\bendAfter #-8
+c2-\bendAfter #-4
+c2-\bendAfter #+8
+c2-\bendAfter #-8
 @end lilypond
 
-The dash (@tie{-}) following the note name is @emph{required} when
-writing @notation{falls} and @notation{doits}.
+The dash @code{-} immediately preceding the @code{\bendAfter}
+command is @emph{required} when writing falls and doits.
 
 
 @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
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{adjusting-the-shape-of-falls-and-doits.ly}
 
 
 @seealso
+Music Glossary:
+@rglos{fall},
+@rglos{doit}.
 
-@c TODO: add falls and doits to glossary.
-@c Music Glossary: @rglos{falls}, @rglos{doits}.
-
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Snippets:
+@rlsr{Expressive marks}.
 
 
 @node Lines
 @subsection Lines
 
+This section explains how to create various expressive marks that
+follow a linear path: glissandos, arpeggios, and trills.
+
 @menu
-* Glissando::                   
-* Arpeggio::                    
-* Trills::                      
+* Glissando::
+* Arpeggio::
+* Trills::
 @end menu
 
 @node Glissando
-@subsubsection Glissando
+@unnumberedsubsubsec Glissando
 
 @cindex glissando
 @funindex \glissando
+@funindex glissando
 
-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:
+A @notation{glissando} is created by attaching @code{\glissando}
+to a note:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c2\glissando c'
-\override Glissando #'style = #'zigzag
+@lilypond[verbatim,quote,relative=2]
+g2\glissando g'
 c2\glissando c,
 @end lilypond
 
+Different styles of glissandi can be created.  For details, see
+@ref{Line styles}.
 
 @snippets
 
-@lilypond[verbatim,quote,ragged-right]
-I = \once \override NoteColumn #'ignore-collision = ##t
-
-\relative c' <<
-  { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
-  { \oneVoice \I c2 \glissando \I d, }
->>
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{contemporary-glissando.ly}
 
 
 @seealso
+Music Glossary:
+@rglos{glissando}.
 
-Music Glossary: @rglos{glissando}
-
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Notation Reference:
+@ref{Line styles}.
 
-@c FIXME: I need to figure out what's up with these.  -gp
-@c @lsr{expressive,glissando.ly},
-@c @lsr{expressive,line-styles.ly}
+Snippets:
+@rlsr{Expressive marks}.
 
-Internals Reference: @internalsref{Glissando}
+Internals Reference:
+@rinternals{Glissando}.
 
 
 @knownissues
 
-Printing text over the line (such as @emph{gliss.}) is not
+Printing text over the line (such as @notation{gliss.}) is not
 supported.
 
 
 @node Arpeggio
-@subsubsection Arpeggio
+@unnumberedsubsubsec Arpeggio
 
 @cindex arpeggio
 @cindex broken chord
+@cindex chord, broken
 
-You can specify an @notation{arpeggio} (also known as a
-@notation{broken chord}) on a chord by attaching an
-@code{\arpeggio} to the chord:
+@funindex \arpeggio
+@funindex arpeggio
+@funindex \arpeggioArrowUp
+@funindex arpeggioArrowUp
+@funindex \arpeggioArrowDown
+@funindex arpeggioArrowDown
+@funindex \arpeggioNormal
+@funindex arpeggioNormal
+
+An @notation{arpeggio} on a chord (also known as a broken chord)
+is denoted by appending @code{\arpeggio} to the chord construct:
+
+@lilypond[verbatim,quote,relative=1]
+<c e g c>1\arpeggio
+@end lilypond
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-<c e g c>\arpeggio
+Different types of arpeggios may be written.
+@code{\arpeggioNormal} reverts to a normal arpeggio:
+
+@lilypond[verbatim,quote,relative=1]
+<c e g c>2\arpeggio
+\arpeggioArrowUp
+<c e g c>2\arpeggio
+\arpeggioArrowDown
+<c e g c>2\arpeggio
+\arpeggioNormal
+<c e g c>2\arpeggio
 @end lilypond
 
-A square bracket on the left, denoted by @code{\arpeggioBracket},
-is used to indicate that the chord should @emph{not} be
-arpeggiated:
+@cindex arpeggio symbols, special
+@cindex special arpeggio symbols
+
+@funindex \arpeggioBracket
+@funindex arpeggioBracket
+@funindex \arpeggioParenthesis
+@funindex arpeggioParenthesis
+@funindex \arpeggioParenthesisDashed
+@funindex arpeggioParenthesisDashed
+
+Special @emph{bracketed} arpeggio symbols can be created:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
+@lilypond[verbatim,quote,relative=1]
+<c e g c>2
 \arpeggioBracket
-<c e g c>\arpeggio
+<c e g c>2\arpeggio
+\arpeggioParenthesis
+<c e g c>2\arpeggio
+\arpeggioParenthesisDashed
+<c e g c>2\arpeggio
+\arpeggioNormal
+<c e g c>2\arpeggio
 @end lilypond
 
-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[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
+The dash properties of the parenthesis arpeggio are controlled
+with the @code{'dash-details} property, which is described at @ref{Slurs}.
 
+Arpeggios can be explicitly written out with ties.  For more
+information, see @ref{Ties}.
 
-@predefined
 
-@funindex \arpeggio
+@predefined
 @code{\arpeggio},
-@funindex \arpeggioUp
-@code{\arpeggioUp},
-@funindex \arpeggioDown
-@code{\arpeggioDown},
-@funindex \arpeggioNeutral
-@code{\arpeggioNeutral},
-@funindex \arpeggioBracket
-@code{\arpeggioBracket}.
+@code{\arpeggioArrowUp},
+@code{\arpeggioArrowDown},
+@code{\arpeggioNormal},
+@code{\arpeggioBracket},
+@code{\arpeggioParenthesis}
+@code{\arpeggioParenthesisDashed}.
+@endpredefined
 
 
 @snippets
 
-In a @code{PianoStaff}, it is possible to let an arpeggio cross
-between the staves by setting the property
-@code{PianoStaff}.@code{connectArpeggios}.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-cross-staff-arpeggios-in-a-piano-staff.ly}
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-\new PianoStaff <<
-  \set PianoStaff.connectArpeggios = ##t
-  \new Staff { <c' e g c>\arpeggio }
-  \new Staff { \clef bass <c,, e g>\arpeggio }
->>
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-cross-staff-arpeggios-in-other-contexts.ly}
 
-The same can be accomplished in contexts other than
-@code{PianoStaff} if the @code{Span_arpeggio_engraver} is included
-in the Score context.
-
-@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
-
-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
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-arpeggios-across-notes-in-different-voices.ly}
 
 
 @seealso
+Music Glossary:
+@rglos{arpeggio}.
 
-@c TODO: Add 'broken chord' to glossary.
-
-Music Glossary: @rglos{arpeggio}
+Notation Reference:
+@ref{Slurs},
+@ref{Ties}.
 
-Notation Reference: @ref{Ties}, for writing out arpeggios.
+Snippets:
+@rlsr{Expressive marks}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
-
-Internals Reference: @internalsref{Arpeggio},
-@internalsref{PianoStaff}.
+Internals Reference:
+@rinternals{Arpeggio},
+@rinternals{Slur},
+@rinternals{PianoStaff}.
 
 
 @knownissues
 
+@cindex cross-staff parenthesis-style arpeggio
+@cindex arpeggio, parenthesis-style, cross-staff
+@cindex arpeggio, cross-staff parenthesis-style
+
 It is not possible to mix connected arpeggios and unconnected
 arpeggios in one @code{PianoStaff} at the same point in
 time.
 
+The parenthesis-style arpeggio brackets do not work for
+cross-staff arpeggios.
+
 
 @node Trills
-@subsubsection Trills
+@unnumberedsubsubsec Trills
 
 @cindex trills
+
 @funindex \trill
+@funindex trill
+@funindex \startTrillSpan
+@funindex startTrillSpan
+@funindex \stopTrillSpan
+@funindex stopTrillSpan
 
-Short @notation{trills} are printed with @code{\trill} like normal
-articulation; see @ref{Articulations and ornamentations}.
+Short @notation{trills} without an extender line are printed with
+@code{\trill}; see @ref{Articulations and ornamentations}.
 
-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}.
+Longer trills with an extender line are made with
+@code{\startTrillSpan} and @code{\stopTrillSpan}:
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
+d1~\startTrillSpan
+d1
+c2\stopTrillSpan r2
+@end lilypond
+
+In the following example, a trill is combined with grace notes.
+The syntax of this construct and the method to precisely position
+the grace notes are described in @ref{Grace notes}.
+
+@lilypond[verbatim,quote,relative=2]
 c1 \afterGrace
-d1\startTrillSpan { c16[\stopTrillSpan d] }
-c4
+d1\startTrillSpan { c32[ d]\stopTrillSpan }
+e2 r2
 @end lilypond
 
 @cindex pitched trills
+@cindex trills, pitched
+@funindex \pitchedTrill
+@funindex pitchedTrill
 
-@notation{Trills} that should be executed on an explicitly
-specified pitch can be typeset with the command
-@code{\pitchedTrill} using the following syntax:
-
-@example
-@code{\pitchedTrill} @var{mainnote} @code{\startTrillSpan}
-@var{trillnote} @var{endnote} @code{\stopTrillSpan}
-@end example
+Trills that require an auxiliary note with an explicit pitch can
+be typeset with the @code{\pitchedTrill} command.  The first
+argument is the main note, and the second is the @emph{trilled}
+note, printed as a stemless note head in parentheses.
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
-\pitchedTrill e2 \startTrillSpan fis
+@lilypond[verbatim,quote,relative=1]
+\pitchedTrill e2\startTrillSpan fis
 d\stopTrillSpan
 @end lilypond
 
-@noindent
-The first argument is the main note.  The pitch of the second is
-printed as a stemless note head in parentheses.
+@cindex pitched trill with forced accidental
+@cindex trill, pitched with forced accidental
+@cindex accidental, forced for pitched trill
+
+In the following example, the second pitched trill is ambiguous;
+the accidental of the trilled note is not printed.  As a
+workaround, the accidentals of the trilled notes can be forced.
+The second measure illustrates this method:
+
+@lilypond[verbatim,quote,relative=2]
+\pitchedTrill eis4\startTrillSpan fis
+g\stopTrillSpan
+\pitchedTrill eis4\startTrillSpan fis
+g\stopTrillSpan
+\pitchedTrill eis4\startTrillSpan fis
+g\stopTrillSpan
+\pitchedTrill eis4\startTrillSpan fis!
+g\stopTrillSpan
+@end lilypond
 
 
 @predefined
-
 @code{\startTrillSpan},
-@funindex \startTrillSpan
 @code{\stopTrillSpan}.
-@funindex \stopTrillSpan
+@endpredefined
 
 
 @seealso
+Music Glossary:
+@rglos{trill}.
+
+Notation Reference:
+@ref{Articulations and ornamentations},
+@ref{Grace notes}.
 
-Music Glossary: @rglos{trill}
+Snippets:
+@rlsr{Expressive marks}.
 
-Snippets: @lsrdir{Expressive,Expressive-marks}
+Internals Reference:
+@rinternals{TrillSpanner}.
 
-Internals Reference: @internalsref{TrillSpanner}