]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/expressive.itely
Update for expressive.itely
[lilypond.git] / Documentation / user / expressive.itely
index 8cc02866781c2c1146ff4bb26ea4e9d107068cf7..5f4f3f03963ce2c4842eeaf817979bfb2760f832 100644 (file)
@@ -6,11 +6,15 @@
     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,ragged-right,line-width=16\cm,staffsize=16]
-{expressive-headword.ly}
+@lilypondfile[quote]{expressive-headword.ly}
+
+This section lists various expressive marks that can be
+created in a score.
 
 @menu
 * Attached to notes::           
 @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::           
 @end menu
 
 @node Articulations and ornamentations
 @unnumberedsubsubsec 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}. 
-
-The possible values for @var{name} are listed in @ref{List of
-articulations}.
-
-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:
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c4-.  c--   c-+   c-|   
-c->   c-^   c-_         
-@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, the dash itself should be
-omitted; the shorthand signs replace it:
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c4^^ c4_^
-c\fermata c^\fermata c_\fermata
-@end lilypond
-
-
-@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
@@ -95,77 +65,83 @@ c\fermata c^\fermata c_\fermata
 @cindex coda
 @cindex varcoda
 
+A variety of symbols that denote articulations, ornamentations,
+and other performance indications can be attached to a note using
+this syntax:
 
-@commonprop
+@example
+@var{note}\@var{name}
+@end example
 
-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 possible values for @var{name} are listed in @ref{List of
+articulations}.  For example:
 
-@lilypond[quote,ragged-right,verbatim]
-\relative c'' { c-+ }       
-dashPlus = "trill"
-\relative c'' { c-+ }       
+@lilypond[verbatim,quote,relative=2]
+c4\staccato c\mordent b2\turn
+c1\fermata
 @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
-priority, so it is put lowest in the first example.  In the
-second, the prall trill (the @internalsref{Script}) has the
-lowest, so it is on the inside.  When two objects have the same
-priority, the order in which they are entered decides which one
-comes first.
-
-
-@commonprop
-
-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:
-
-@lilypond[quote,ragged-right,verbatim]
-\relative c'' { c-+ }       
-dashPlus = "trill"
-\relative c'' { c-+ }       
-@end lilypond
+@cindex marcato
+@cindex stopped
+@cindex tenuto
+@cindex staccatissimo
+@cindex accent
+@cindex staccato
+@cindex portato
 
-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
-priority, so it is put lowest in the first example.  In the
-second, the prall trill (the @internalsref{Script}) has the
-lowest, so it is on the inside.  When two objects have the same
-priority, the order in which they are entered decides which one
-comes first.
-
-@lilypond[verbatim,relative=3,ragged-right,fragment,quote]
-\once \override TextScript #'script-priority = #-100
-a4^\prall^\markup { \sharp }
-
-\once \override Script #'script-priority = #-100
-a4^\prall^\markup { \sharp }
+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,relative=2]
+c4-^  c-+  c--  c-|
+c4->  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{Direction and placement}.
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{modifying-default-values-for-articulation-shorthand-notation.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{controlling-the-vertical-ordering-of-scripts.ly}
+
 
 @seealso
 
-Snippets: @lsrdir{expressive}
+Music Glossary:
+@rglos{tenuto},
+@rglos{accent},
+@rglos{staccato},
+@rglos{portato}.
+
+Notation Reference:
+@ref{Direction and placement},
+@ref{List of articulations}.
 
-Internals Reference: @internalsref{Script}.
+Installed Files:
+@file{scm/@/script@/.scm}.
 
+Snippets:
+@rlsr{Expressive marks}.
 
-@refbugs
+Internals Reference:
+@rinternals{Script},
+@rinternals{TextScript}.
+
+
+@knownissues
 
 These signs appear in the printed output but have no effect on the
 MIDI rendering of the music.
@@ -174,7 +150,10 @@ MIDI rendering of the music.
 @node Dynamics
 @unnumberedsubsubsec Dynamics
 
-@cindex Dynamics
+@cindex absolute dynamics
+@cindex dynamics
+@cindex dynamics, absolute
+@funindex \ppppp
 @funindex \pppp
 @funindex \ppp
 @funindex \pp
@@ -193,186 +172,253 @@ 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},
-@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. 
-
-@lilypond[quote,verbatim,ragged-right,fragment,relative=2]
-c2\ppp c\mp 
-c\rfz c^\mf
-c_\spp c_\staccato^\ff
+Absolute dynamic marks are specified using a command after a note,
+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}.  The 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
+c2\rfz c^\mf
+c2_\spp c^\ff
 @end lilypond
 
+@cindex hairpin
 @funindex \<
 @funindex \>
 @funindex \!
+@funindex \cr
+@funindex \decr
+
+A @notation{crescendo} mark is started with @code{\<} and
+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
 
-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{\>}.  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.
+Spacer rests are needed to engrave multiple marks on one note.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c\< c\! d\> e\!
-<< f1 { s4 s4\< s4\! \> s4\! } >>
+@lilypond[verbatim,quote,relative=2]
+c4\< 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:
+@cindex espressivo articulation
 
-@example
-\override Voice.Hairpin #'minimum-length = #5
-@end example
+In some situations the @code{\espressivo} articulation mark may be
+the appropriate choice to indicate a crescendo and decrescendo on
+one note:
 
-@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 bar line.  This may be modified by setting the
-@code{hairpinToBar line} property,
-@cindex Hairpin
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-e4\< e2. e1\!
-\set hairpinToBarline = ##f
-e4\< e2. e1\!
+@lilypond[verbatim,quote,relative=2]
+c2 b4 a
+g1\espressivo
 @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:
+@cindex crescendo
+@cindex decrescendo
+@cindex diminuendo
+
+Crescendos and decrescendos can be engraved as textual markings
+instead of hairpins.  The built-in commands that enable these text
+modes are @code{\setTextCresc}, @code{\setTextDecresc},
+@code{\setTextDecr}, and @code{\setTextDim}.  The corresponding
+@code{\setHairpinCresc}, @code{\setHairpinDim}, and
+@code{\setHairpinDecresc} commands will revert to hairpins again:
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c2 b4 a g1\espressivo
+@lilypond[verbatim,quote,relative=2]
+c4\< d e f\!
+e4\> d c b\!
+\setTextCresc
+c4\< d e f\!
+\setTextDecresc
+e4\> d c b\!
+\setHairpinCresc
+c4\< d e f\!
 @end lilypond
 
+To create new absolute dynamic marks or text that should be
+aligned with dynamics, see @ref{New dynamic marks}.
+
+Vertical positioning of dynamics is handled by
+@rinternals{DynamicLineSpanner}.
+
+
+@predefined
+
+@funindex \dynamicUp
+@code{\dynamicUp},
+@funindex \dynamicDown
+@code{\dynamicDown},
+@funindex \dynamicNeutral
+@code{\dynamicNeutral},
+@funindex \setTextCresc
+@code{\setTextCresc},
+@funindex \setTextDim
+@code{\setTextDim},
+@funindex \setTextDecr
+@code{\setTextDecr},
+@funindex \setTextDecresc
+@code{\setTextDecresc},
+@funindex \setHairpinCresc
+@code{\setHairpinCresc},
+@funindex \setHairpinDim
+@code{\setHairpinDim},
+@funindex \setHairpinDecresc
+@code{\setHairpinDecresc}.
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{setting-hairpin-behavior-at-bar-lines.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{setting-the-minimum-length-of-hairpins.ly}
+
 @cindex al niente
 @cindex niente, al
 
-Hairpins may be printed with a circled tip (al niente notation) by
-setting the @code{circled-tip} property:
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{printing-hairpins-using-al-niente-notation.ly}
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\override Hairpin #'circled-tip = ##t
-c2\< c\!
-c4\> c\< c2\!
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{vertically-aligning-dynamics-across-multiple-notes.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{hiding-the-extender-line-for-text-dynamics.ly}
 
-@cindex crescendo
-@cindex decrescendo
-@cindex diminuendo
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-text-and-spanner-styles-for-text-dynamics.ly}
 
-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]
-\setTextCresc
-c\< d e f\!
-\setHairpinCresc
-e\> d c b\!
-\setTextDecresc
-e\> d e f\!
-%  FIXME: uncomment after 2.11.36
-%\setTextDecr
-%c\> d e f\!
-\setTextDim
-e\> d c b\!
-@end lilypond
+@seealso
 
-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[quote,ragged-right,fragment,relative=1,verbatim]
-\set crescendoText = \markup { \italic "cresc. poco" }
-\set crescendoSpanner = #'dotted-line
-a'2\< a a a a a a a\!\mf
-@end lilypond
+@c TODO: Add hairpin to glossary.
 
+Music Glossary:
+@rglos{crescendo},
+@rglos{decrescendo}.
 
-To create new dynamic marks or text that should be aligned with
-dynamics, see @ref{New dynamic marks}.
+Learning Manual:
+@rlearning{Articulation and dynamics}.
 
-Vertical positioning of dynamics is handled by
-@internalsref{DynamicLineSpanner}.
+Notation Reference:
+@ref{Direction and placement},
+@ref{New dynamic marks}.
 
+Snippets:
+@rlsr{Expressive marks}.
 
-@commonprop
+Internals Reference:
+@rinternals{DynamicText},
+@rinternals{Hairpin},
+@rinternals{DynamicLineSpanner}.
 
-Dynamics that occur at, begin on, or end on the same note will be
-vertically aligned.  If you want to ensure that dynamics are
-aligned when they do not occur on the same note, you can increase
-the @code{staff-padding} property.
 
-@example
-\override DynamicLineSpanner #'staff-padding = #4
-@end example
+@node New dynamic marks
+@unnumberedsubsubsec New dynamic marks
 
-You may also use this property if the dynamics are colliding with
-other notation.
+@cindex new dynamic marks
+@cindex dynamic marks, new
 
-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
+The easiest way to create dynamic indications is to use
+@code{\markup} objects.
 
-@example
-\override Score.Hairpin #'after-line-breaking = ##t
-@end example
+@lilypond[verbatim,quote]
+moltoF = \markup { molto \dynamic f }
 
-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
+\relative c' {
+  <d e>16 <d e>
+  <d e>2.._\moltoF
+}
+@end lilypond
 
-@example
-\override DynamicTextSpanner #'dash-period = #-1.0
-@end example
+@cindex dynamics, editorial
+@cindex dynamics, parenthesis
 
+Markup mode makes possible, for instance, to add
+editorial dynamics, printed in round parenthesis or square
+brackets.  Its syntax is described in @ref{Formatting text}.
 
-@refcommands
+@lilypond[verbatim,quote]
+roundf = \markup { \center-align { \line { \bold { \italic ( }
+         \dynamic f \bold { \italic ) } } } }
+boxf = \markup { \bracket { \dynamic f } }
+\relative c' {
+  c1_\roundf
+  c1_\boxf
+}
+@end lilypond
 
-@funindex \dynamicUp
-@code{\dynamicUp},
-@funindex \dynamicDown
-@code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
+Markup objects are treated differently from authentic dynamic marks.
+Defining dynamic objects that will be entered and printed exactly like
+standard dynamic marks is also possible, using the following function:
 
+@cindex make-dynamic-script
 
-@seealso
+@lilypond[verbatim,quote]
+sfzp = #(make-dynamic-script "sfzp")
+\relative c' {
+  c4 c c\sfzp c
+}
+@end lilypond
 
-Snippets: @lsrdir{expressive}
+@noindent
+Note that the dynamic font only contains the characters 
+@code{f,m,p,r,s} and @code{z}.  To switch to other font families,
+it is necessary to use markup mode in its Scheme form, as
+explained in @ref{Markup construction in Scheme}.
+
+@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
+
+@noindent
+Font settings in markup mode are described in
+@ref{Common markup commands}.
 
-Internals Reference: @internalsref{DynamicText},
-@internalsref{Hairpin}.  Vertical positioning of these symbols is
-handled by @internalsref{DynamicLineSpanner}.
-Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo}
 
-@c TODO: add link to LM directions
+@seealso
+
+Notation Reference:
+@ref{Formatting text},
+@ref{Common markup commands},
+@ref{Markup construction in Scheme}.
+
+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::              
@@ -383,43 +429,45 @@ Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo}
 @node Slurs
 @unnumberedsubsubsec Slurs
 
-@cindex Slurs
+@cindex slurs
 
-A slur indicates that notes are to be played bound or
-@emph{legato}.  They are entered using parentheses:
+@notation{Slurs} are entered using parentheses:
 
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
-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} (automatically
-selected).  The shorthands are also available: by adding
-@code{_} or @code{^} before the opening parentheses, the direction
-is also set.  
+Slurs may be manually placed above or below the notes, see
+@ref{Direction and placement}.
 
-@lilypond[relative=2,ragged-right,quote,verbatim,fragment]
-c4_( c) c^( c)
+@lilypond[verbatim,quote,relative=2]
+c2( d)
+\slurDown
+c2( d)
+\slurNeutral
+c2( d)
 @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}.
-
+Phrasing slurs must be used to print more than one slur at once.
+For details, see @ref{Phrasing slurs}.
 
-@commonprop
+Slurs can be solid, dotted, or dashed.  Solid is the default slur
+style:
 
-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> )
+@lilypond[verbatim,quote,relative=1]
+c4( e g2)
+\slurDashed
+g4( e c2)
+\slurDotted
+c4( e g2)
+\slurSolid
+g4( e c2)
 @end lilypond
 
 
-@refcommands
+@predefined
 
 @funindex \slurUp
 @code{\slurUp},
@@ -434,11 +482,27 @@ can be achieved in LilyPond by setting @code{doubleSlurs},
 @funindex \slurSolid
 @code{\slurSolid}.
 
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{using-double-slurs-for-legato-chords.ly}
+
+
 @seealso
 
-Snippets: @lsrdir{expressive}
+Music Glossary:
+@rglos{slur}.
+
+Notation Reference:
+@ref{Direction and placement},
+@ref{Phrasing slurs}.
 
-Internals Reference: @internalsref{Slur}.
+Snippets:
+@rlsr{Expressive marks}.
+
+Internals Reference:
+@rinternals{Slur}.
 
 
 @node Phrasing slurs
@@ -446,26 +510,34 @@ Internals Reference: @internalsref{Slur}.
 
 @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
+@notation{Phrasing slurs} (or phrasing marks) that indicate a
+musical sentence are written using the commands @code{\(} and
 @code{\)} respectively:
 
-@lilypond[quote,ragged-right,fragment,verbatim,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}, or use the shorthands @code{_} and
-@code{^}.
+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
+slurs may be manually placed above or below the notes, see
+@ref{Direction and placement}.
+
+@lilypond[verbatim,quote,relative=1]
+c4\( g' c,( b) | c1\)
+\phrasingSlurUp
+c4\( g' c,( b) | c1\)
+@end lilypond
 
-You cannot have simultaneous phrasing slurs.
+Simultaneous phrasing slurs are not permitted.
 
 
-@refcommands
+@predefined
 
 @funindex \phrasingSlurUp
 @code{\phrasingSlurUp},
@@ -477,59 +549,119 @@ You cannot have simultaneous phrasing slurs.
 
 @seealso
 
-Snippets: @lsrdir{expressive}
+Notation Reference:
+@ref{Direction and placement}.
 
-Internals Reference: @internalsref{PhrasingSlur}.
+Snippets:
+@rlsr{Expressive marks}.
+
+Internals Reference:
+@rinternals{PhrasingSlur}.
 
 
 @node Breath marks
 @unnumberedsubsubsec Breath marks
 
-Breath marks are entered using @code{\breathe}
+@cindex breath marks
+@funindex \breathe
+
+Breath marks are entered using @code{\breathe}:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-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}.
 
-@commonprop
 
-The glyph of the breath mark can be tuned by overriding the
-@code{text} property of the @code{BreathingSign} layout object
-with any markup text.  For example,
+@snippets
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
-c'4
-\override BreathingSign #'text
-  = #(make-musicglyph-markup "scripts.rvarcomma")
-\breathe
-d4
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-breath-mark-symbol.ly}
+
+@cindex caesura
+@cindex railroad tracks
+
+@c input/new snippet
+@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@c {inserting-a-caesura.ly}
+
+Caesura marks can be created by overriding the @code{'text}
+property of the @code{BreathingSign} object.  A curved caesura
+mark is also available.
+
+@lilypond[verbatim,quote,relative=2]
+\override BreathingSign #'text =
+  #(make-musicglyph-markup "scripts.caesura.straight")
+c8 e4. \breathe g8. e16 c4
+
+\override BreathingSign #'text =
+  #(make-musicglyph-markup "scripts.caesura.curved")
+g8 e'4. \breathe g8. e16 c4
 @end lilypond
 
+
 @seealso
 
-Snippets: @lsrdir{expressive}
+Notation Reference:
+@ref{Divisiones}.
 
-Internals Reference: @internalsref{BreathingSign}.
+Snippets:
+@rlsr{Expressive marks}.
+@c @lsr{expressive,breathing-sign.ly}.
 
-Examples: @lsr{expressive,breathing-sign.ly}
+Internals Reference:
+@rinternals{BreathingSign}.
 
 
 @node Falls and doits
 @unnumberedsubsubsec Falls and doits
 
-Falls and doits can be added to notes using the @code{\bendAfter}
-command,
-
-@lilypond[fragment,ragged-right,relative=2]
-\override Score.SpacingSpanner #'shortest-duration-space = #3.0
-c4-\bendAfter #+5
-c4-\bendAfter #-3
+@cindex falls
+@cindex doits
+@funindex \bendAfter
+
+@notation{Falls} and @notation{doits} can be added to notes using
+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,relative=2]
+c2-\bendAfter #+4
+c2-\bendAfter #-4
+c2-\bendAfter #+8
+c2-\bendAfter #-8
 @end lilypond
 
+The dash (@tie{-}) immediately preceding the @code{\bendAfter}
+command is @emph{required} when writing falls and doits.
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{adjusting-the-shape-of-falls-and-doits.ly}
+
+
+@seealso
+
+@c TODO: add falls and doits to glossary.
+@c Music Glossary:
+@c @rglos{falls},
+@c @rglos{doits}.
+
+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::                    
@@ -539,45 +671,46 @@ c4-\bendAfter #-3
 @node Glissando
 @unnumberedsubsubsec 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 created by attaching @code{\glissando}
+to a note:
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-c2\glissando c'
-\override Glissando #'style = #'zigzag
+@lilypond[verbatim,quote,relative=2]
+g2\glissando g'
 c2\glissando c,
 @end lilypond
 
-@commonprop
+Different styles of glissandi can be created.  For details, see
+@ref{Line styles}.
 
+@snippets
 
-@lilypond[quote,ragged-right,verbatim]
-I = \once \override NoteColumn #'ignore-collision = ##t
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{contemporary-glissando.ly}
 
-\relative <<
-  { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
-  { \oneVoice \I c2 \glissando \I d, }
->>
-@end lilypond
 
+@seealso
 
+Music Glossary:
+@rglos{glissando}.
 
-@seealso
+Notation Reference:
+@ref{Line styles}.
 
-Snippets: @lsrdir{expressive}
+Snippets:
+@rlsr{Expressive marks}.
 
-Internals Reference: @internalsref{Glissando}.
+@c FIXME: I need to figure out what's up with these.  -gp
+@c @lsr{expressive,glissando.ly},
+@c @lsr{expressive,line-styles.ly}
 
-Glossary: @rglos{falls}, @rglos{doits}
-Example files:
-@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
+Internals Reference:
+@rinternals{Glissando}.
 
 
-@refbugs
+@knownissues
 
 Printing text over the line (such as @emph{gliss.}) is not
 supported.
@@ -586,105 +719,65 @@ supported.
 @node Arpeggio
 @unnumberedsubsubsec 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 the chord:
+@cindex chord, broken
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-<c e g c>\arpeggio
-@end lilypond
+An @notation{arpeggio} on a chord (also known as a broken chord)
+is denoted by appending @code{\arpeggio} to the chord construct:
 
-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]
-\arpeggioBracket
-<c' e g c>\arpeggio
+@lilypond[verbatim,quote,relative=1]
+<c e g c>1\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[quote,ragged-right,fragment,relative=1,verbatim]
-\new Voice {
-  \arpeggioUp
-  <c e g c>\arpeggio
-  \arpeggioDown
-  <c e g c>\arpeggio
-  \arpeggioNeutral
-  <c e g c>\arpeggio
-}
+The direction of an arpeggio is indicated by adding an arrowhead
+to the wiggly line.  The commands @code{\arpeggioUp} and
+@code{\arpeggioDown} are used for this task.
+@code{\arpeggioNeutral} reverts back to an arrow-less arpeggio:
+
+@lilypond[verbatim,quote,relative=1]
+\arpeggioUp
+<c e g c>2\arpeggio
+\arpeggioDown
+<c e g c>2\arpeggio
+\arpeggioNeutral
+<c e g c>1\arpeggio
 @end lilypond
 
+The command @code{\arpeggioBracket} can be used to create a square
+bracket on the left of a chord, indicating that the chord should
+@emph{not} be arpeggiated.  @code{\arpeggioNeutral} reverts back
+to a regular arpeggio:
 
-@commonprop
-
-In a @code{PianoStaff}, it is possible to let an arpeggio cross
-between the staves by setting the property
-@internalsref{PianoStaff}.@code{connectArpeggios}. 
-
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-\new PianoStaff <<
-  \set PianoStaff.connectArpeggios = ##t
-  \new Staff { <c' e g c>\arpeggio }
-  \new Staff { \clef bass <c,, e g>\arpeggio }
->>
+@lilypond[verbatim,quote,relative=1]
+<c e g c>2
+\arpeggioBracket
+<c e g c>2\arpeggio
+\arpeggioNeutral
+<c e g c>1\arpeggio
 @end lilypond
 
-The same can be accomplished in contexts other than
-@code{PianoStaff} if the @code{Span_arpeggio_engraver} is included
-in the Score context.
-
-@lilypond[quote,ragged-right,verbatim]
-\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
+A @emph{parenthesis} style bracket may be attached to a chord
+construct instead of a square bracket.
 
-Similarly,  an arpeggio can be drawn across notes in
-different voices on the same staff if the Span_arpeggio_engraver
-is moved to the Staff context:
-
-@lilypond[quote,ragged-right,verbatim]
-\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
+@c Maybe create a new \arpeggioParen command, or something
+@c like that. -pm
 
+@lilypond[verbatim,quote,relative=1]
+<c e g c>2
+\override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur
+\override Arpeggio #'X-extent = #ly:grob::stencil-width
+<c e g c>2\arpeggio
+\arpeggioNeutral
+<c e g c>1\arpeggio
+@end lilypond
 
+Arpeggios can be explicitly written out with ties.  For more
+information, see @ref{Ties}.
 
-@refcommands
+@predefined
 
+@funindex \arpeggio
 @code{\arpeggio},
 @funindex \arpeggioUp
 @code{\arpeggioUp},
@@ -696,60 +789,88 @@ is moved to the Staff context:
 @code{\arpeggioBracket}.
 
 
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-cross-staff-arpeggios-in-a-piano-staff.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-cross-staff-arpeggios-in-other-contexts.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-arpeggios-across-notes-in-different-voices.ly}
+
+
 @seealso
 
-Notation manual: @ref{Ties}, for writing out arpeggios.
+Music Glossary:
+@rglos{arpeggio}.
+
+Notation Reference:
+@ref{Ties}.
 
-Snippets: @lsrdir{expressive}
+Snippets:
+@rlsr{Expressive marks}.
 
-Internals Reference: @internalsref{Arpeggio}.
+Internals Reference:
+@rinternals{Arpeggio},
+@rinternals{PianoStaff}.
 
 
-@refbugs
+@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.
 
+The parenthesis-style arpeggio brackets do not work for
+cross-staff arpeggios.
+
 
 @node Trills
 @unnumberedsubsubsec Trills
 
-Short trills are printed with @code{\trill} like normal
-articulation; see @ref{Articulations and ornamentations}.
+@cindex trills
+@funindex \trill
+
+Short @notation{trills} without an extender line are printed with
+@code{\trill}; see @ref{Articulations and ornamentations}.
 
 Long running trills are made with @code{\startTrillSpan} and
-@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}.
+@code{\stopTrillSpan}.  In the following example, a long running
+trill is shown combined with grace notes.  To achieve precise
+control of the placement of the grace notes, see @ref{Grace
+notes}.
 
-@lilypond[verbatim,ragged-right,relative=2,quote,fragment]
-\relative c''
-{c1 \afterGrace 
+@lilypond[verbatim,quote,relative=2]
+c1 \afterGrace
 d1\startTrillSpan { c16[\stopTrillSpan d] }
-c4 }
+c4
 @end lilypond
 
-@cindex Pitched trills
+@cindex pitched trills
+@cindex trills, pitched
 
 Trills that should be executed on an explicitly specified pitch
-can be typeset with the command @code{pitchedTrill}, and the
-syntax @code{\pitchedTrill} @var{mainnote}@code{\startTrillSpan}
-@var{trillnote} @var{endnote} @code{\stopTrillSpan}.
+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
 
-@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
+@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.
 
 
-@refcommands
+@predefined
 
 @code{\startTrillSpan},
 @funindex \startTrillSpan
@@ -759,10 +880,15 @@ printed as a stemless note head in parentheses.
 
 @seealso
 
-Snippets: @lsrdir{expressive}
-
-Internals Reference: @internalsref{TrillSpanner}.
-
+Music Glossary:
+@rglos{trill}.
 
+Notation Reference:
+@ref{Articulations and ornamentations},
+@ref{Grace notes}.
 
+Snippets:
+@rlsr{Expressive marks}.
 
+Internals Reference:
+@rinternals{TrillSpanner}.