]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/expressive.itely
Merge branch 'master' of ssh+git://hanwen@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / user / expressive.itely
index b8188910330f7a3e9d7cc0fd73bdc369080b81b0..3aa252c270b09933fe33a76322e55af8fb4981ca 100644 (file)
@@ -9,6 +9,9 @@
 @node Expressive marks
 @section Expressive marks
 
+@lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
+{expressive-headword.ly}
+
 @menu
 * Attached to notes::           
 * Curves::                      
 
 
 @menu
-* Articulations::               
+* Articulations and ornamentations::  
 * Dynamics::                    
 @end menu
 
-@node Articulations
-@unnumberedsubsubsec Articulations
+@node 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.  They are added to a
-note by adding a dash and the character signifying the
-articulation.
-
-See @ref{List of articulations}.
-
-@lilypond[quote,ragged-right,verbatim,fragment]
-\override TextScript  #'font-family = #'typewriter
-\override TextScript  #'font-shape = #'upright
-c''4-._"c-."      s4
-c''4--_"c--"      s4
-c''4-+_"c-+"      s4
-c''4-|_"c-|"      s4
-c''4->_"c->"      s4
-c''4-^_"c-^"      s4
-c''4-__"c-_"      s4      
-@end lilypond
+different characteristics of the performance.  All these symbols
+can be attached to a note using the syntax
+@var{note}@code{\}@var{name}.
+
+The possible values for @var{name} are listed in @ref{List of
+articulations}.
+
+Some of these articulations have shorthands for easier entry.
+Shorthands are appended to the note name, and their syntax
+consists of a dash (@code{-}) followed by a symbol signifying the
+articulation.  The available shorthands are:
+
+@itemize
+@item
+@code{-^} (@notation{marcato})
+
+@item
+@code{-+} (@notation{stopped})
 
-The meanings of these shorthands can be changed.  See
-@file{ly/@/script@/-init@/.ly} for examples.
+@item
+@code{--} (@notation{tenuto})
 
-The script is 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.
+@item
+@code{-|} (@notation{staccatissimo})
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-c''4^^ c''4_^
+@item
+@code{->} (@notation{accent})
+
+@item
+@code{-.} (@notation{staccato})
+
+@item
+@code{-_} (@notation{portato})
+
+@end itemize
+
+and their corresponding output:
+
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c4-^  c-+  c--  c-|
+c->   c-.  c-_
 @end lilypond
 
-Other symbols can be added using the syntax
-@var{note}@code{\}@var{name}.  Again, they
-can be forced up or down using @code{^} and @code{_},
-e.g.,
+The marks are automatically placed, but the direction can be
+forced as well.  Like other pieces of LilyPond code,
+@code{_}@tie{}will place them below the staff, and@tie{}@code{^}
+will place them above.  This applies both to the shorthands and
+the fully named articulations.  For the shorthands, the dash
+itself should be omitted; the direction signs replace it:
 
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c4^^ c4_^
 c\fermata c^\fermata c_\fermata
 @end lilypond
 
+
 @cindex accent
 @cindex marcato
 @cindex staccatissimo
@@ -104,17 +125,33 @@ c\fermata c^\fermata c_\fermata
 
 @commonprop
 
+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
+
 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 }
 
@@ -125,7 +162,10 @@ a4^\prall^\markup { \sharp }
 
 @seealso
 
-Program reference: @internalsref{Script}.
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+Internals Reference: @internalsref{Script},
+@internalsref{TextScript}.
 
 
 @refbugs
@@ -135,9 +175,9 @@ MIDI rendering of the music.
 
 
 @node Dynamics
-@unnumberedsubsubsec Dynamics
+@subsubsection Dynamics
 
-@cindex Dynamics
+@cindex dynamics
 @funindex \pppp
 @funindex \ppp
 @funindex \pp
@@ -156,98 +196,117 @@ 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}.
+@code{\sfz}, and @code{\rfz}.  The dynamic marks can be placed
+above or below the staff with@tie{}@code{_} and@tie{}@code{^},
+just like articulation marks.
 
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
-c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c2\ppp c\mp
+c\rfz c^\mf
+c_\spp c_\staccato^\ff
 @end lilypond
 
 @funindex \<
 @funindex \>
 @funindex \!
 
-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{\>}.  Because these marks are bound to notes,
-you must use spacer notes if multiple marks are needed during one
-note
+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 @q{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.  To lengthen them, use
+for example @code{minimum-length} in
+@internalsref{Voice}.@internalsref{Hairpin}:
+
+@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,
+preceding bar line.  This may be modified by setting the
+@code{hairpinToBarline} property:
+@cindex hairpin
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+e4\< e2. e1\!
 \set hairpinToBarline = ##f
-c4\< c2. c4\!
+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,
+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
 
-This may give rise to very short hairpins.  Use
-@code{minimum-length} in
-@internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
-example
-
-@example
-\override Voice.Hairpin #'minimum-length = #5
-@end example
-
 @cindex al niente
 @cindex niente, al
 
 Hairpins may be printed with a circled tip (al niente notation) by
-setting the @code{circled-tip} property,
+setting the @code{circled-tip} property:
 
-@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 also use text saying @emph{cresc.} instead of hairpins
+You can use text saying @emph{cresc.}, @emph{decr.}, or
+@emph{dim.} 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]
+@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
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+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 = #'dashed-line
-a'2\< a a a\!\mf
+\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
@@ -257,9 +316,19 @@ Vertical positioning of dynamics is handled by
 @internalsref{DynamicLineSpanner}.
 
 
+@refcommands
+
+@funindex \dynamicUp
+@code{\dynamicUp},
+@funindex \dynamicDown
+@code{\dynamicDown},
+@funindex \dynamicNeutral
+@code{\dynamicNeutral}.
+
+
 @commonprop
 
-Dynamics that occur at, begin on, or end on, the same note will be
+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.
@@ -268,11 +337,14 @@ 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 end on the first note of a new line
-are not printed.  To change this behavior, use
+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
 
 @example
 \override Score.Hairpin #'after-line-breaking = ##t
@@ -287,19 +359,16 @@ printing this line, use
 @end example
 
 
-@refcommands
+@seealso
 
-@funindex \dynamicUp
-@code{\dynamicUp},
-@funindex \dynamicDown
-@code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
+Music Glossary: @rglos{hairpin}, @rglos{crescendo},
+@rglos{decrescendo}.
 
+Learning Manual: @rlearning{Articulation and dynamics}.
 
-@seealso
+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}.
 
@@ -308,181 +377,33 @@ handled by @internalsref{DynamicLineSpanner}.
 @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
+@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,
+selected).  The shorthands are also available: by
+adding@tie{}@code{_} or@tie{}@code{^} before the opening
+parentheses, the direction is also set.
 
-@lilypond[relative=2,ragged-right,quote,verbatim,fragment]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
 c4_( c) c^( c)
 @end lilypond
 
@@ -490,17 +411,6 @@ 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}.
 
 
-@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
 
 @funindex \slurUp
@@ -516,22 +426,36 @@ can be achieved in LilyPond by setting @code{doubleSlurs},
 @funindex \slurSolid
 @code{\slurSolid}.
 
+
+@commonprop
+
+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}.
+Snippets: @lsrdir{Expressive,Expressive-marks}
+
+Internals Reference: @internalsref{Slur}.
 
 
 @node Phrasing slurs
-@unnumberedsubsubsec Phrasing slurs
+@subsubsection Phrasing slurs
 
 @cindex phrasing slurs
 @cindex phrasing marks
 
 A phrasing slur (or phrasing mark) connects notes and is used to
 indicate a musical sentence.  It is written using @code{\(} and
-@code{\)} respectively
+@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
 
@@ -539,7 +463,8 @@ 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}, or use the shorthands@tie{}@code{_}
+and@tie{}@code{^}.
 
 You cannot have simultaneous phrasing slurs.
 
@@ -556,15 +481,17 @@ 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
 
-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
 
@@ -575,7 +502,7 @@ 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")
@@ -585,24 +512,24 @@ d4
 
 @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
 
 Falls and doits can be added to notes using the @code{\bendAfter}
 command,
 
-@lilypond[fragment,ragged-right,relative=2]
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
 c4-\bendAfter #+5
 c4-\bendAfter #-3
 @end lilypond
 
-
 @node Lines
 @subsection Lines
 
@@ -610,32 +537,31 @@ 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
+@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
 
-@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, }
 >>
@@ -645,10 +571,15 @@ I = \once \override NoteColumn #'ignore-collision = ##t
 
 @seealso
 
-Program reference: @internalsref{Glissando}.
+Music Glossary: @rglos{falls}, @rglos{doits}.
 
-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}
+
+Internals Reference: @internalsref{Glissando}.
 
 
 @refbugs
@@ -658,47 +589,64 @@ 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
+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 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
 
 
+@refcommands
+
+@code{\arpeggio},
+@funindex \arpeggioUp
+@code{\arpeggioUp},
+@funindex \arpeggioDown
+@code{\arpeggioDown},
+@funindex \arpeggioNeutral
+@code{\arpeggioNeutral},
+@funindex \arpeggioBracket
+@code{\arpeggioBracket}.
+
+
 @commonprop
 
-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 }
@@ -706,60 +654,97 @@ 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.
+Notation Reference: @ref{Ties}, for writing out arpeggios.
+
+Snippets: @lsrdir{Expressive,Expressive-marks}
 
-Program reference: @internalsref{Arpeggio}.
+Internals Reference: @internalsref{Arpeggio},
+@internalsref{PianoStaff}.
 
 
 @refbugs
 
 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}.
+Short trills are printed with @code{\trill} like normal
+articulation; see @ref{Articulations and ornamentations}.
 
 Long running trills are made with @code{\startTrillSpan} and
-@code{\stopTrillSpan},
+@code{\stopTrillSpan}.  In the following example, it is shown in
+the common combination with grace notes.  If a more precise
+control of the placement of the grace notes is needed, see
+@ref{Grace notes}.
 
-@lilypond[verbatim,ragged-right,relative=2,quote,fragment]
-\new Voice {
-  << { c1 \startTrillSpan }
-     { s2. \grace { d16[\stopTrillSpan e] } } >>
-  c4 }
+@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+c1 \afterGrace
+d1\startTrillSpan { c16[\stopTrillSpan d] }
+c4
 @end lilypond
 
-@cindex Pitched trills
+@cindex pitched trills
 
 Trills that should be executed on an explicitly specified pitch
-can be typeset with the command @code{pitchedTrill},
+can be typeset with the command @code{pitchedTrill}, and the
+syntax @code{\pitchedTrill} @var{mainnote}@code{\startTrillSpan}
+@var{trillnote} @var{endnote} @code{\stopTrillSpan}.
 
-@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
@@ -777,41 +762,6 @@ 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}.
-
-
+Snippets: @lsrdir{Expressive,Expressive-marks}
 
+Internals Reference: @internalsref{TrillSpanner}.