]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/expressive.itely
Merge branch 'master' of ssh+git://git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / user / expressive.itely
index 0d5a2a9646937bcdff4e732d9d9eccca04ad0cd9..e0003fc452866dbd7a4c957083ff0cdf0448d11c 100644 (file)
@@ -6,84 +6,50 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.12.0"
+
 @node Expressive marks
 @section Expressive marks
 
+@lilypondfile[quote]{expressive-headword.ly}
+
+This section lists various expressive marks that can be
+created in a score.
+
 @menu
-* Attached to notes::           
-* Curves::                      
-* Lines::                       
+* Attached to notes::
+* Curves::
+* Lines::
 @end menu
 
 
 @node Attached to notes
 @subsection Attached to notes
 
+This section explains how to create expressive marks that are
+attached to notes: articulations, ornamentations, and dynamics.
+Methods to create new dynamic markings are also discussed.
 
 @menu
-* Articulations::               
-* Dynamics::                    
+* Articulations and ornamentations::
+* Dynamics::
+* New dynamic marks::
 @end menu
 
-@node Articulations
-@unnumberedsubsubsec Articulations
+@node Articulations and ornamentations
+@unnumberedsubsubsec Articulations and ornamentations
 
-@cindex Articulations
+@cindex articulations
+@cindex ornamentation
 @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
-
-The meanings of these shorthands can be changed.  See
-@file{ly/@/script@/-init@/.ly} for examples.
-
-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.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-c''4^^ c''4_^
-@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.,
-
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-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
 @cindex organ pedal marks
+@cindex pedal marks, organ
 @cindex turn
 @cindex open
 @cindex stopped
@@ -101,395 +67,543 @@ c\fermata c^\fermata c_\fermata
 @cindex coda
 @cindex varcoda
 
+@funindex -
 
-@commonprop
+A variety of symbols that denote articulations, ornamentations,
+and other performance indications can be attached to a note using
+this syntax:
 
-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.
+@example
+@var{note}\@var{name}
+@end example
 
-@lilypond[verbatim,relative=3,ragged-right,fragment,quote]
-\once \override TextScript #'script-priority = #-100
-a4^\prall^\markup { \sharp }
+The possible values for @var{name} are listed in @ref{List of
+articulations}.  For example:
 
-\once \override Script #'script-priority = #-100
-a4^\prall^\markup { \sharp }
+@lilypond[verbatim,quote,relative=2]
+c4\staccato c\mordent b2\turn
+c1\fermata
 @end lilypond
 
+@cindex marcato
+@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 @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-.  c2-_
+@end lilypond
+
+The rules for the default placement of articulations are defined
+in @file{scm/@/script@/.scm}.  Articulations and ornamentations
+may be manually placed above or below the staff, see
+@ref{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}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-a-delayed-turn.ly}
 
 @seealso
+Music Glossary:
+@rglos{tenuto},
+@rglos{accent},
+@rglos{staccato},
+@rglos{portato}.
 
-Program reference: @internalsref{Script}.
+Notation Reference:
+@ref{Direction and placement},
+@ref{List of articulations},
+@ref{Trills}.
 
+Installed Files:
+@file{scm/@/script@/.scm}.
 
-@refbugs
+Snippets:
+@rlsr{Expressive marks}.
 
-These signs appear in the printed output but have no effect on the
-MIDI rendering of the music.
+Internals Reference:
+@rinternals{Script},
+@rinternals{TextScript}.
 
 
 @node Dynamics
 @unnumberedsubsubsec Dynamics
 
-@cindex Dynamics
+@cindex absolute dynamics
+@cindex dynamics
+@cindex dynamics, absolute
+
+@funindex \ppppp
+@funindex ppppp
 @funindex \pppp
+@funindex pppp
 @funindex \ppp
+@funindex ppp
 @funindex \pp
+@funindex pp
 @funindex \p
+@funindex p
 @funindex \mp
+@funindex mp
 @funindex \mf
+@funindex mf
 @funindex \f
+@funindex f
 @funindex \ff
+@funindex ff
 @funindex \fff
+@funindex fff
 @funindex \ffff
+@funindex ffff
 @funindex \fp
+@funindex fp
 @funindex \sf
+@funindex sf
 @funindex \sff
+@funindex sff
 @funindex \sp
+@funindex sp
 @funindex \spp
+@funindex spp
 @funindex \sfz
+@funindex sfz
 @funindex \rfz
-
-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}.
-
-@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
+@funindex rfz
+
+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
+@cindex crescendo
+@cindex decrescendo
+@cindex diminuendo
+
 @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
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c\< c\! d\> e\!
-<< f1 { s4 s4\< s4\! \> s4\! } >>
+@funindex \cr
+@funindex cr
+@funindex \decr
+@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
 
-@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,
+Spacer rests are needed to engrave multiple marks on one note.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\set hairpinToBarline = ##f
-c4\< c2. c4\!
-@end lilypond
-
-In some situations the @code{\espressivo} articulation mark may
-be suitable to indicate a crescendo and decrescendo on the one note,
+@cindex multiple dynamic marks on one note
+@cindex dynamic marks, multiple on one note
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-c2 b4 a g1\espressivo
+@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
-
-@cindex al niente
-@cindex niente, al
+@funindex \espressivo
+@funindex espressivo
 
-Hairpins may be printed with a circled tip (al niente notation) by
-setting the @code{circled-tip} property,
+In some situations the @code{\espressivo} articulation mark may be
+the appropriate choice to indicate a crescendo and decrescendo on
+one note:
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\override Hairpin #'circled-tip = ##t
-c2\< c\!
-c4\> c\< c2\!
+@lilypond[verbatim,quote,relative=2]
+c2 b4 a
+g1\espressivo
 @end lilypond
 
 
-@cindex crescendo
-@cindex decrescendo
-@cindex diminuendo
-
-You can also use text saying @emph{cresc.} instead of hairpins
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\setTextCresc
-c\< d e f\!
-\setHairpinCresc
-e\> d c b\!
-\setTextDecresc
-c\> d e f\!
-\setTextDim
-e\> d c b\!
+@funindex \crescTextCresc
+@funindex crescTextCresc
+@funindex \dimTextDecresc
+@funindex dimTextDecresc
+@funindex \dimTextDecr
+@funindex dimTextDecr
+@funindex \dimTextDim
+@funindex dimTextDim
+@funindex \crescHairpin
+@funindex crescHairpin
+@funindex \dimHairpin
+@funindex dimHairpin
+
+Crescendos and decrescendos can be engraved as textual markings
+instead of hairpins.  Dashed lines are printed to indicate their
+extent.  The built-in commands that enable these text modes are
+@code{\crescTextCresc}, @code{\dimTextDecresc},
+@code{\dimTextDecr}, and @code{\dimTextDim}.  The corresponding
+@code{\crescHairpin} and @code{\dimHairpin} commands will revert
+to hairpins again:
+
+@lilypond[verbatim,quote,relative=2]
+\crescTextCresc
+c2\< d | e f\!
+\dimTextDecresc
+e2\> d | c b\!
+\crescHairpin
+c2\< d | e f\!
+\dimHairpin
+e2\> d\!
 @end lilypond
 
-You can also supply your own texts
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-\set crescendoText = \markup { \italic "cresc. poco" }
-\set crescendoSpanner = #'dashed-line
-a'2\< a a a\!\mf
-@end lilypond
 
-To create new dynamic marks or text that should be aligned
-with dynamics, see @ref{New dynamic marks}.
+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
-@internalsref{DynamicLineSpanner}.
+@cindex dynamics, vertical positioning
+@cindex vertical positioning of dynamics
 
+@funindex DynamicLineSpanner
 
-@commonprop
 
-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.
+Vertical positioning of dynamics is handled by
+@rinternals{DynamicLineSpanner}.
+@funindex \dynamicUp
+@funindex dynamicUp
+@funindex \dynamicDown
+@funindex dynamicDown
+@funindex \dynamicNeutral
+@funindex dynamicNeutral
 
-@example
-\override DynamicLineSpanner #'staff-padding = #4
-@end example
 
-You may also use this property if the dynamics are colliding
-with other notation.
+@predefined
+@code{\dynamicUp},
+@code{\dynamicDown},
+@code{\dynamicNeutral},
+@code{\crescTextCresc},
+@code{\dimTextDim},
+@code{\dimTextDecr},
+@code{\dimTextDecresc},
+@code{\crescHairpin},
+@code{\dimHairpin}.
+@endpredefined
 
-Crescendi and decrescendi that end on the first note of a
-new line are not printed.  To change this behavior, use
 
-@example
-\override Score.Hairpin #'after-line-breaking = ##t
-@end example
+@snippets
 
-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
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{setting-hairpin-behavior-at-bar-lines.ly}
 
-@example
-\override DynamicTextSpanner #'dash-period = #-1.0
-@end example
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{setting-the-minimum-length-of-hairpins.ly}
 
+@cindex al niente
+@cindex niente, al
 
-@refcommands
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{printing-hairpins-using-al-niente-notation.ly}
 
-@funindex \dynamicUp
-@code{\dynamicUp},
-@funindex \dynamicDown
-@code{\dynamicDown},
-@funindex \dynamicNeutral
-@code{\dynamicNeutral}.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{vertically-aligned-dynamics-and-textscripts.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{hiding-the-extender-line-for-text-dynamics.ly}
 
-@seealso
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-text-and-spanner-styles-for-text-dynamics.ly}
 
-Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}.
-Vertical positioning of these symbols is handled by
-@internalsref{DynamicLineSpanner}.
 
+@seealso
+Music Glossary:
+@rglos{al niente},
+@rglos{crescendo},
+@rglos{decrescendo},
+@rglos{hairpin}.
 
-@node Curves
-@subsection Curves
+Learning Manual:
+@rlearning{Articulation and dynamics}.
 
-@menu
-* Ties::                        
-* Slurs::                       
-* Phrasing slurs::              
-* Laissez vibrer ties::         
-* Breath marks::                
-* Falls and doits::             
-@end menu
+Notation Reference:
+@ref{Direction and placement},
+@ref{New dynamic marks},
+@ref{What goes into the MIDI output?},
+@ref{Controlling MIDI dynamics}.
 
-@node Ties
-@unnumberedsubsubsec Ties
+Snippets:
+@rlsr{Expressive marks}.
 
-@cindex tie
-@funindex ~
+Internals Reference:
+@rinternals{DynamicText},
+@rinternals{Hairpin},
+@rinternals{DynamicLineSpanner}.
 
-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
+@node New dynamic marks
+@unnumberedsubsubsec New dynamic marks
 
-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,
+@cindex new dynamic marks
+@cindex dynamic marks, new
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
-<c~ e g~ b> <c e g b>
-@end lilypond
+The easiest way to create dynamic indications is to use
+@code{\markup} objects.
 
-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[verbatim,quote]
+moltoF = \markup { molto \dynamic f }
 
-@lilypond[quote,fragment,ragged-right]
-\time 3/4 c'2. c'2 ~ c'4
+\relative c' {
+  <d e>16_\moltoF <d e>
+  <d e>2..
+}
 @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
+@cindex dynamics, editorial
+@cindex dynamics, parenthesis
+@cindex editorial dynamics
+@funindex \bracket
+@funindex bracket
+@funindex \dynamic
+@funindex dynamic
+
+In markup mode, editorial dynamics (within parentheses or square
+brackets) can be created.  The syntax for markup mode is described
+in @ref{Formatting text}.
+
+@lilypond[verbatim,quote]
+roundF = \markup { \center-align \concat { \bold { \italic ( }
+           \dynamic f \bold { \italic ) } } }
+boxF = \markup { \bracket { \dynamic f } }
+\relative c' {
+  c1_\roundF
+  c1_\boxF
 }
 @end lilypond
 
-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 make-dynamic-script
+@funindex make-dynamic-script
 
-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},
+Simple, centered dynamic marks are easily created with the
+@code{make-dynamic-script} function.  The dynamic font only
+contains the characters @code{f,m,p,r,s} and @code{z}.
 
-@lilypond[fragment,quote,ragged-right,relative=2]
-r <c e g>\repeatTie
+@lilypond[verbatim,quote]
+sfzp = #(make-dynamic-script "sfzp")
+\relative c' {
+  c4 c c\sfzp c
+}
 @end lilypond
 
-@cindex repeating ties
-@cindex volta brackets and ties
-
-@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
+In general, @code{make-dynamic-script} takes any markup object as
+its argument.  In the following example, using
+@code{make-dynamic-script} ensures the vertical alignment of
+markup objects and hairpins that are attached to the same note
+head.
+
+@lilypond[verbatim,quote]
+roundF = \markup { \center-align \concat {
+           \normal-text { \bold { \italic ( } }
+           \dynamic f
+           \normal-text { \bold { \italic ) } } } }
+boxF = \markup { \bracket { \dynamic f } }
+roundFdynamic = #(make-dynamic-script roundF)
+boxFdynamic = #(make-dynamic-script boxF)
+\relative c' {
+  c4_\roundFdynamic\< d e f
+  g,1_\boxFdynamic
+}
 @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).
+The Scheme form of markup mode may be used instead.  Its syntax is
+explained in @ref{Markup construction in Scheme}.
 
-@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[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
 
-
-@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}.
+Font settings in markup mode are described in
+@ref{Selecting font and font size}.
 
 
 @seealso
+Notation Reference:
+@ref{Formatting text},
+@ref{Selecting font and font size},
+@ref{Markup construction in Scheme},
+@ref{What goes into the MIDI output?},
+@ref{Controlling MIDI dynamics}.
 
-In this manual: @ref{Automatic note splitting}.
-
-Program reference: @internalsref{Tie}.
-
+Snippets:
+@rlsr{Expressive marks}.
 
-@refbugs
 
-Switching staves when a tie is active will not produce a slanted tie.
+@node Curves
+@subsection Curves
 
-Changing clefs or octavations during a tie is not really
-well-defined.  In these cases, a slur may be preferable.
+This section explains how to create various expressive marks that
+are curved: normal slurs, phrasing slurs, breath marks, falls, and
+doits.
 
+@menu
+* Slurs::
+* Phrasing slurs::
+* Breath marks::
+* Falls and doits::
+@end menu
 
 @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
 
-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).
+@cindex slurs, manual placement
+@cindex slurs, below notes
+@cindex slurs, above notes
+@funindex \slurDown
+@funindex slurDown
+@funindex \slurNeutral
+@funindex slurNeutral
 
-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,
+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}.
-
-
-@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> )
+@cindex phrasing slur
+@cindex multiple slurs
+@cindex simultaneous slurs
+@cindex slur, phrasing
+@cindex slurs, multiple
+@cindex slurs, simultaneous
+
+Simultaneous or overlapping slurs are not permitted, but a phrasing
+slur can overlap a slur.  This permits two slurs to be printed at
+once.  For details, see @ref{Phrasing slurs}.
+
+@cindex slur style
+@cindex solid slur
+@cindex dotted slur
+@cindex dashed slur
+@cindex slur, solid
+@cindex slur, dotted
+@cindex slur, dashed
+@cindex solid slur
+@cindex dotted slur
+@cindex dashed slur
+@cindex sytle, slur
+@funindex \slurDashed
+@funindex slurDashed
+@funindex \slurDotted
+@funindex slurDotted
+@funindex \slurSolid
+@funindex slurSolid
+
+Slurs can be solid, dotted, or dashed.  Solid is the default slur
+style:
+
+@lilypond[verbatim,quote,relative=1]
+c4( e g2)
+\slurDashed
+g4( e c2)
+\slurDotted
+c4( e g2)
+\slurSolid
+g4( e c2)
 @end lilypond
 
+@funindex \slurUp
+@funindex slurUp
 
-@refcommands
 
-@funindex \slurUp
+@predefined
 @code{\slurUp},
-@funindex \slurDown
 @code{\slurDown},
-@funindex \slurNeutral
 @code{\slurNeutral},
-@funindex \slurDashed
 @code{\slurDashed},
-@funindex \slurDotted
 @code{\slurDotted},
-@funindex \slurSolid
 @code{\slurSolid}.
+@endpredefined
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{using-double-slurs-for-legato-chords.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{positioning-text-markups-inside-slurs.ly}
 
 @seealso
+Music Glossary:
+@rglos{slur}.
+
+Learning Manual:
+@rlearning{On the un-nestedness of brackets and ties}.
+
+Notation Reference:
+@ref{Direction and placement},
+@ref{Phrasing slurs}.
+
+Snippets:
+@rlsr{Expressive marks}.
 
-Program reference: @internalsref{Slur}.
+Internals Reference:
+@rinternals{Slur}.
 
 
 @node Phrasing slurs
@@ -497,309 +611,430 @@ Program reference: @internalsref{Slur}.
 
 @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
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
-\time 6/4 c'\( d( e) f( e) d\)
+@cindex slur, phrasing
+@cindex mark, phrasing
+@funindex \(
+@funindex \)
+
+@notation{Phrasing slurs} (or phrasing marks) that indicate a
+musical sentence are written using the commands @code{\(} and
+@code{\)} respectively:
+
+@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}.
-
-You cannot have simultaneous phrasing slurs.
+@funindex \phrasingSlurUp
+@funindex phrasingSlurUp
+@funindex \phrasingSlurDown
+@funindex phrasingSlurDown
+@funindex \phrasingSlurNeutral
+@funindex phrasingSlurNeutral
+@funindex phrasingSlurDashed
+@funindex \phrasingSlurDashed
+@funindex \phrasingSlurDotted
+@funindex phrasingSlurDotted
+@funindex \phrasingSlurSolid
+@funindex phrasingSlurSolid
+
+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
 
+@cindex simultaneous phrasing slurs
+@cindex multiple phrasing slurs
+@cindex slurs, simultaneous phrasing
+@cindex slurs, multiple phrasing
+@cindex phrasing slurs, simultaneous
+@cindex phrasing slurs, multiple
+
+Simultaneous or overlapping phrasing slurs are not permitted.
+
+Phrasing slurs can be solid, dotted, or dashed.  Solid is the default
+style for phrasing slurs:
+
+@lilypond[verbatim,quote,relative=1]
+c4\( e g2\)
+\phrasingSlurDashed
+g4\( e c2\)
+\phrasingSlurDotted
+c4\( e g2\)
+\phrasingSlurSolid
+g4\( e c2\)
+@end lilypond
 
-@refcommands
 
-@funindex \phrasingSlurUp
+@predefined
 @code{\phrasingSlurUp},
-@funindex \phrasingSlurDown
 @code{\phrasingSlurDown},
-@funindex \phrasingSlurNeutral
-@code{\phrasingSlurNeutral}.
+@code{\phrasingSlurNeutral},
+@code{\phrasingSlurDashed},
+@code{\phrasingSlurDotted},
+@code{\phrasingSlurSolid}.
+@endpredefined
 
 
 @seealso
+Learning Manual:
+@rlearning{On the un-nestedness of brackets and ties}.
 
-Program reference: @internalsref{PhrasingSlur}.
+Notation Reference:
+@ref{Direction and placement}.
 
+Snippets:
+@rlsr{Expressive marks}.
 
-@node Laissez vibrer ties
-@unnumberedsubsubsec Laissez vibrer ties
-@cindex Laissez vibrer
-@cindex Ties, laissez vibrer
+Internals Reference:
+@rinternals{PhrasingSlur}.
 
-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
+@node Breath marks
+@unnumberedsubsubsec Breath marks
 
-@seealso
+@cindex breath marks
+@cindex pause mark
+@funindex \breathe
+@funindex breathe
 
-Program reference:
-@internalsref{LaissezVibrerTie}
-@internalsref{LaissezVibrerTieColumn}
+Breath marks are entered using @code{\breathe}:
 
-Example files:
-@lsr{connecting,laissez-vibrer-ties.ly}
+@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}.
 
-@node Breath marks
-@unnumberedsubsubsec Breath marks
 
-Breath marks are entered using @code{\breathe}
+@snippets
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-c'4 \breathe d4
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-breath-mark-symbol.ly}
 
+@cindex caesura
+@cindex railroad tracks
 
-@commonprop
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{inserting-a-caesura.ly}
 
-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]
-c'4
-\override BreathingSign #'text
-  = #(make-musicglyph-markup "scripts.rvarcomma")
-\breathe
-d4
-@end lilypond
 
 @seealso
+Music Glossary:
+@rglos{caesura}.
+
+Notation Reference:
+@ref{Divisiones}.
 
-Program reference: @internalsref{BreathingSign}.
+Snippets:
+@rlsr{Expressive marks}.
 
-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
+@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 @code{-} 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
+Music Glossary:
+@rglos{fall},
+@rglos{doit}.
+
+Snippets:
+@rlsr{Expressive marks}.
+
 
 @node Lines
 @subsection Lines
 
+This section explains how to create various expressive marks that
+follow a linear path: glissandos, arpeggios, and trills.
+
 @menu
-* Glissando::                   
-* Arpeggio::                    
-* Trills::                      
-* Analysis brackets::           
+* Glissando::
+* Arpeggio::
+* Trills::
 @end menu
 
 @node Glissando
 @unnumberedsubsubsec Glissando
 
-@cindex Glissando
+@cindex glissando
 @funindex \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
 
+Different styles of glissandi can be created.  For details, see
+@ref{Line styles}.
 
-@commonprop
-
-@lilypond[quote,ragged-right,verbatim]
-I = \once \override NoteColumn #'ignore-collision = ##t
-
-\relative <<
-  { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
-  { \oneVoice \I c2 \glissando \I d, }
->>
-@end lilypond
+@snippets
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{contemporary-glissando.ly}
 
 
 @seealso
+Music Glossary:
+@rglos{glissando}.
+
+Notation Reference:
+@ref{Line styles}.
 
-Program reference: @internalsref{Glissando}.
+Snippets:
+@rlsr{Expressive marks}.
 
-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.
+Printing text over the line (such as @notation{gliss.}) is not
+supported.
 
 
 @node Arpeggio
 @unnumberedsubsubsec Arpeggio
 
-@cindex Arpeggio
+@cindex arpeggio
 @cindex broken chord
-@funindex \arpeggio
+@cindex chord, broken
 
-You can specify an arpeggio sign (also known as broken chord) on a
-chord by attaching an @code{\arpeggio} to a chord
+@funindex \arpeggio
+@funindex arpeggio
+@funindex \arpeggioArrowUp
+@funindex arpeggioArrowUp
+@funindex \arpeggioArrowDown
+@funindex arpeggioArrowDown
+@funindex \arpeggioNormal
+@funindex arpeggioNormal
+
+An @notation{arpeggio} on a chord (also known as a broken chord)
+is denoted by appending @code{\arpeggio} to the chord construct:
+
+@lilypond[verbatim,quote,relative=1]
+<c e g c>1\arpeggio
+@end lilypond
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-<c e g c>\arpeggio
+Different types of arpeggios may be written.
+@code{\arpeggioNormal} reverts to a normal arpeggio:
+
+@lilypond[verbatim,quote,relative=1]
+<c e g c>2\arpeggio
+\arpeggioArrowUp
+<c e g c>2\arpeggio
+\arpeggioArrowDown
+<c e g c>2\arpeggio
+\arpeggioNormal
+<c e g c>2\arpeggio
 @end lilypond
 
-A square bracket on the left indicates that the player should not
-arpeggiate the chord
+@cindex arpeggio symbols, special
+@cindex special arpeggio symbols
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-\arpeggioBracket
-<c' e g c>\arpeggio
-@end lilypond
+@funindex \arpeggioBracket
+@funindex arpeggioBracket
+@funindex \arpeggioParenthesis
+@funindex arpeggioParenthesis
 
-The direction of the arpeggio is sometimes denoted by adding an
-arrowhead to the wiggly line
+Special @emph{bracketed} arpeggio symbols can be created:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-\new Voice {
-  \arpeggioUp
-  <c e g c>\arpeggio
-  \arpeggioDown
-  <c e g c>\arpeggio
-}
+@lilypond[verbatim,quote,relative=1]
+<c e g c>2
+\arpeggioBracket
+<c e g c>2\arpeggio
+\arpeggioParenthesis
+<c e g c>2\arpeggio
+\arpeggioNormal
+<c e g c>2\arpeggio
 @end lilypond
 
+Arpeggios can be explicitly written out with ties.  For more
+information, see @ref{Ties}.
 
-@commonprop
 
-When an arpeggio crosses staves, you may attach an arpeggio to the chords
-in both staves and set
-@internalsref{PianoStaff}.@code{connectArpeggios}
+@predefined
+@code{\arpeggio},
+@code{\arpeggioArrowUp},
+@code{\arpeggioArrowDown},
+@code{\arpeggioNormal},
+@code{\arpeggioBracket},
+@code{\arpeggioParenthesis}.
+@endpredefined
 
-@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 }
->>
-@end lilypond
 
-@c TODO: cross-voice arpeggio example?
-@c such an example is already in LSR -J.Mandereau
+@snippets
 
-@refcommands
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-cross-staff-arpeggios-in-a-piano-staff.ly}
 
-@code{\arpeggio},
-@funindex \arpeggioUp
-@code{\arpeggioUp},
-@funindex \arpeggioDown
-@code{\arpeggioDown},
-@funindex \arpeggioNeutral
-@code{\arpeggioNeutral},
-@funindex \arpeggioBracket
-@code{\arpeggioBracket}.
+@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
+Music Glossary:
+@rglos{arpeggio}.
 
-Notation manual: @ref{Ties}, for writing out arpeggios.
+Notation Reference:
+@ref{Ties}.
 
-Program reference: @internalsref{Arpeggio}.
+Snippets:
+@rlsr{Expressive marks}.
 
+Internals Reference:
+@rinternals{Arpeggio},
+@rinternals{PianoStaff}.
 
-@refbugs
+
+@knownissues
+
+@cindex cross-staff parenthesis-style arpeggio
+@cindex arpeggio, parenthesis-style, cross-staff
+@cindex arpeggio, cross-staff parenthesis-style
 
 It is not possible to mix connected arpeggios and unconnected
-arpeggios in one @internalsref{PianoStaff} at the same point in time.
+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 like normal articulation; see @ref{Articulations}.
+@cindex trills
 
-Long running trills are made with @code{\startTrillSpan} and
-@code{\stopTrillSpan},
+@funindex \trill
+@funindex trill
+@funindex \startTrillSpan
+@funindex startTrillSpan
+@funindex \stopTrillSpan
+@funindex stopTrillSpan
 
-@lilypond[verbatim,ragged-right,relative=2,quote,fragment]
-\new Voice {
-  << { c1 \startTrillSpan }
-     { s2. \grace { d16[\stopTrillSpan e] } } >>
-  c4 }
-@end lilypond
+Short @notation{trills} without an extender line are printed with
+@code{\trill}; see @ref{Articulations and ornamentations}.
 
-@cindex Pitched trills
+Longer trills with an extender line are made with
+@code{\startTrillSpan} and @code{\stopTrillSpan}:
 
-Trills that should be executed on an explicitly specified pitch can be
-typeset with the command @code{pitchedTrill},
+@lilypond[verbatim,quote,relative=2]
+d1~\startTrillSpan
+d1
+c2\stopTrillSpan r2
+@end lilypond
+
+In the following example, a trill is combined with grace notes.
+The syntax of this construct and the method to precisely position
+the grace notes are described in @ref{Grace notes}.
 
-@lilypond[ragged-right,verbatim,fragment,relative=1,quote]
-\pitchedTrill c4\startTrillSpan fis
-f\stopTrillSpan
+@lilypond[verbatim,quote,relative=2]
+c1 \afterGrace
+d1\startTrillSpan { c32[ d]\stopTrillSpan }
+e2 r2
 @end lilypond
 
-@noindent
-The first argument is the main note.  The pitch of the second
-is printed as a stemless note head in parentheses.
+@cindex pitched trills
+@cindex trills, pitched
+@funindex \pitchedTrill
+@funindex pitchedTrill
 
+Trills that require an auxiliary note with an explicit pitch can
+be typeset with the @code{\pitchedTrill} command.  The first
+argument is the main note, and the second is the @emph{trilled}
+note, printed as a stemless note head in parentheses.
 
-@refcommands
+@lilypond[verbatim,quote,relative=1]
+\pitchedTrill e2\startTrillSpan fis
+d\stopTrillSpan
+@end lilypond
 
-@code{\startTrillSpan},
-@funindex \startTrillSpan
-@code{\stopTrillSpan}.
-@funindex \stopTrillSpan
+@cindex pitched trill with forced accidental
+@cindex trill, pitched with forced accidental
+@cindex accidental, forced for pitched trill
+
+In the following example, the second pitched trill is ambiguous;
+the accidental of the trilled note is not printed.  As a
+workaround, the accidentals of the trilled notes can be forced.
+The second measure illustrates this method:
+
+@lilypond[verbatim,quote,relative=2]
+\pitchedTrill eis4\startTrillSpan fis
+g\stopTrillSpan
+\pitchedTrill eis4\startTrillSpan fis
+g\stopTrillSpan
+\pitchedTrill eis4\startTrillSpan fis
+g\stopTrillSpan
+\pitchedTrill eis4\startTrillSpan fis!
+g\stopTrillSpan
+@end lilypond
 
 
-@seealso
+@predefined
+@code{\startTrillSpan},
+@code{\stopTrillSpan}.
+@endpredefined
 
-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
+Music Glossary:
+@rglos{trill}.
 
-Program reference: @internalsref{HorizontalBracket}.
+Notation Reference:
+@ref{Articulations and ornamentations},
+@ref{Grace notes}.
 
+Snippets:
+@rlsr{Expressive marks}.
 
+Internals Reference:
+@rinternals{TrillSpanner}.