]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/expressive.itely
GDP: NR 2 Reorganisation: correct order of @includes
[lilypond.git] / Documentation / user / expressive.itely
index d6b4d7bf93bf9cf520a1ce8c6a5f55987fcd12d2..807370f24a045586840095a6e8f26549fbb5fb1d 100644 (file)
@@ -6,9 +6,13 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.38"
+
 @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::                    
+* New dynamic marks::           
 @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
@@ -106,33 +103,37 @@ c\fermata c^\fermata c_\fermata
 @cindex varcoda
 
 
-@commonprop
+@snippets
+
+@c Send these snippets to Valentin for the LSR.
 
-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:
+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[quote,ragged-right,verbatim]
-\relative c'' { c-+ }       
+@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 }
 
@@ -143,19 +144,25 @@ 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
@@ -174,98 +181,109 @@ MIDI rendering of the music.
 @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\!
@@ -274,17 +292,16 @@ 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}.
 
@@ -292,7 +309,17 @@ Vertical positioning of dynamics is handled by
 @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
@@ -303,243 +330,122 @@ the @code{staff-padding} property.
 \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
-
-@funindex \dynamicUp
-@code{\dynamicUp},
-@funindex \dynamicDown
-@code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
-
-
 @seealso
 
-Program 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
+@c TODO: Add hairpin to glossary.
 
-@menu
-* Ties::                        
-* Slurs::                       
-* Phrasing slurs::              
-* Breath marks::                
-* Falls and doits::             
-@end menu
+Music Glossary: @rglos{crescendo}, @rglos{decrescendo}.
 
-@node Ties
-@unnumberedsubsubsec Ties
+Learning Manual: @rlearning{Articulation and dynamics}.
 
-@cindex tie
-@funindex ~
+Snippets: @lsrdir{Expressive,Expressive-marks}
 
-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{~}
+Internals Reference: @internalsref{DynamicText},
+@internalsref{Hairpin}.  Vertical positioning of these symbols is
+handled by @internalsref{DynamicLineSpanner}.
 
-@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,
+@node New dynamic marks
+@subsubsection New dynamic marks
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
-<c~ e g~ b> <c e g b>
-@end lilypond
+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}.
 
-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
+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.
 
-@lilypond[quote,fragment,ragged-right]
-\time 3/4 c'2. c'2 ~ c'4
-@end lilypond
+@cindex make-dynamic-script
 
-@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
+@lilypond[quote,verbatim,ragged-right]
+sfzp = #(make-dynamic-script "sfzp")
+\relative c' {
+  c4 c c\sfzp c
 }
 @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}
-
+@cindex Dynamics, editorial
+@cindex Dynamics, parenthesis
 
-@commonprop
+It is also possible to print dynamics in round parenthesis or
+square brackets.  These are often used for adding editorial
+dynamics.
 
-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> |
+@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 }
 @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
+Snippets: @lsrdir{Expressive,Expressive-marks}
 
-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 Curves
+@subsection Curves
 
+@menu
+* Slurs::                       
+* Phrasing slurs::              
+* Breath marks::                
+* Falls and doits::             
+@end menu
 
 @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).
+@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}.
 
-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,
-
-@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},
@@ -554,22 +460,40 @@ can be achieved in LilyPond by setting @code{doubleSlurs},
 @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
 
@@ -577,12 +501,14 @@ 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}.
+@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},
@@ -594,26 +520,31 @@ You cannot have simultaneous phrasing slurs.
 
 @seealso
 
-Program reference: @internalsref{PhrasingSlur}.
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+Internals Reference: @internalsref{PhrasingSlur}
 
 
 @node Breath marks
-@unnumberedsubsubsec Breath marks
+@subsubsection Breath marks
+
+@cindex breath marks
+@funindex \breathe
 
-Breath marks are entered using @code{\breathe}
+Breath marks are entered using @code{\breathe}:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@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")
@@ -621,26 +552,58 @@ c'4
 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
 
-Falls and doits can be added to notes using the @code{\bendAfter}
-command,
+The dash (@tie{-}) following the note name is @emph{required} when
+writing @notation{falls} and @notation{doits}.
 
-@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
 
@@ -648,95 +611,118 @@ c4-\bendAfter #-3
 * 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}
+
+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}
 
-Example files:
-@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
+Internals Reference: @internalsref{Glissando}
 
 
-@refbugs
+@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}.
+
+
+@snippets
 
-When an arpeggio crosses staves, you may attach an arpeggio to the
-chords in both staves and set
-@internalsref{PianoStaff}.@code{connectArpeggios}
+In a @code{PianoStaff}, it is possible to let an arpeggio cross
+between the staves by setting the property
+@code{PianoStaff}.@code{connectArpeggios}.
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=1]
 \new PianoStaff <<
   \set PianoStaff.connectArpeggios = ##t
   \new Staff { <c' e g c>\arpeggio }
@@ -744,60 +730,108 @@ chords in both staves and set
 >>
 @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
@@ -805,7 +839,7 @@ The first argument is the main note.  The pitch of the second is
 printed as a stemless note head in parentheses.
 
 
-@refcommands
+@predefined
 
 @code{\startTrillSpan},
 @funindex \startTrillSpan
@@ -815,41 +849,8 @@ printed as a stemless note head in parentheses.
 
 @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}