]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/basic-notation.itely
Begin Trevor's spacing chapter rewrite.
[lilypond.git] / Documentation / user / basic-notation.itely
index fd5d6efefa8f27c6f74a6d95d4e69ea7a925a76b..06ac1b5580f52f2a41656638561204d54c74660c 100644 (file)
@@ -1,5 +1,12 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
+@ignore
+    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+
 
 @c A menu is needed before every deeper *section nesting of @node's; run
 @c     M-x texinfo-all-menus-update
 
 @c A menu is needed before every deeper *section nesting of @node's; run
 @c     M-x texinfo-all-menus-update
@@ -13,7 +20,7 @@ This chapter explains how to use basic notation features.
 @menu
 * Pitches::                     
 * Rhythms::                     
 @menu
 * Pitches::                     
 * Rhythms::                     
-* Multiple notes at once::      
+* Polyphony::                   
 * Staff notation::              
 * Connecting notes::            
 * Expressive marks::            
 * Staff notation::              
 * Connecting notes::            
 * Expressive marks::            
@@ -32,7 +39,7 @@ This section discusses how to specify the pitch of notes.
 * Accidentals::                 
 * Cautionary accidentals::      
 * Micro tones::                 
 * Accidentals::                 
 * Cautionary accidentals::      
 * Micro tones::                 
-* Notes names in other languages::  
+* Note names in other languages::  
 * Relative octaves::            
 * Octave check::                
 * Transpose::                   
 * Relative octaves::            
 * Octave check::                
 * Transpose::                   
@@ -68,9 +75,9 @@ c1
 @funindex ,
 
 The optional octave specification takes the form of a series of
 @funindex ,
 
 The optional octave specification takes the form of a series of
-single quote (`@code{'}') characters or a series of comma
-(`@code{,}') characters.  Each @code{'} raises the pitch by one
-octave; each @code{,} lowers the pitch by an octave.
+single quote (@samp{'}) characters or a series of comma
+(@samp{,}) characters.  Each @samp{'} raises the pitch by one
+octave; each @samp{,} lowers the pitch by an octave.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \clef treble
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \clef treble
@@ -117,11 +124,11 @@ suffix; a natural pitch is shown as a simple note name
 a4 aes a2
 @end lilypond
 
 a4 aes a2
 @end lilypond
 
-The input @code{d e f} is interpreted as ``print a D-natural,
-E-natural, and an F-natural,'' regardless of the key
+The input @code{d e f} is interpreted as @q{print a D-natural,
+E-natural, and an F-natural,} regardless of the key
 signature.  For more information about the distinction between
 musical content and the presentation of that content, see
 signature.  For more information about the distinction between
 musical content and the presentation of that content, see
-@ref{More about pitches}.
+@ref{Accidentals and key signatures}.
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative]
 \key d \major
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative]
 \key d \major
@@ -167,7 +174,7 @@ print them manually.  A reminder accidental
 can be forced by adding an exclamation mark @code{!}
 after the pitch.  A cautionary accidental
 (i.e., an accidental within parentheses) can be obtained by adding the
 can be forced by adding an exclamation mark @code{!}
 after the pitch.  A cautionary accidental
 (i.e., an accidental within parentheses) can be obtained by adding the
-question mark `@code{?}' after the pitch.  These extra accidentals
+question mark @samp{?} after the pitch.  These extra accidentals
 can be used to produce natural signs, too.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
 can be used to produce natural signs, too.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
@@ -205,8 +212,8 @@ three-quarter flats, so LilyPond's symbol does not conform to any
 standard.
 
 
 standard.
 
 
-@node Notes names in other languages
-@subsection Notes names in other languages
+@node Note names in other languages
+@subsection Note names in other languages
 
 There are predefined sets of note names for various other languages.
 To use them, include the language specific init file.  For
 
 There are predefined sets of note names for various other languages.
 To use them, include the language specific init file.  For
@@ -335,7 +342,8 @@ There is also an octave check that produces no visible output.  The syntax
 @end example
 
 This checks that @var{pitch} (without quotes) yields @var{pitch} (with
 @end example
 
 This checks that @var{pitch} (without quotes) yields @var{pitch} (with
-quotes) in @code{\relative} mode.  If not, a warning is printed, and the
+quotes) in @code{\relative} mode compared to the note given in the
+@code{\relative} command.  If not, a warning is printed, and the
 octave is corrected.  The @var{pitch} is not printed as a note.
 
 In the example below, the first check passes without incident, since
 octave is corrected.  The @var{pitch} is not printed as a note.
 
 In the example below, the first check passes without incident, since
@@ -421,7 +429,7 @@ mus = { \key d \major cis d fis g }
 
 @code{\transpose} may also be used to input written notes for a
 transposing instrument.  Pitches are normally entered into LilyPond
 
 @code{\transpose} may also be used to input written notes for a
 transposing instrument.  Pitches are normally entered into LilyPond
-in C (or ``concert pitch''), but they may be entered in another
+in C (or @q{concert pitch}), but they may be entered in another
 key.  For example, when entering music for a B-flat trumpet which
 begins on concert D, one would write
 
 key.  For example, when entering music for a B-flat trumpet which
 begins on concert D, one would write
 
@@ -442,6 +450,8 @@ existing music with another @code{transpose}
 
 Program reference: @internalsref{TransposedMusic}.
 
 
 Program reference: @internalsref{TransposedMusic}.
 
+Example: @inputfileref{input/@/test,smart@/-transpose@/.ly}.
+
 
 @refbugs
 
 
 @refbugs
 
@@ -496,8 +506,8 @@ Program reference: @internalsref{Rest}.
 @funindex \skip
 @funindex s
 
 @funindex \skip
 @funindex s
 
-An invisible rest (also called a `skip') can be entered like a note
-with note name `@code{s}' or with @code{\skip @var{duration}}
+An invisible rest (also called a @q{skip}) can be entered like a note
+with note name @samp{s} or with @code{\skip @var{duration}}
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
 a4 a4 s4 a4 \skip 1 a4
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
 a4 a4 s4 a4 \skip 1 a4
@@ -613,7 +623,7 @@ duration.  The default for the first note is a quarter note.
 
 @funindex .
 
 
 @funindex .
 
-To obtain dotted note lengths, simply add a dot (`@code{.}') to
+To obtain dotted note lengths, simply add a dot (@samp{.}) to
 the number.  Double-dotted notes are produced in a similar way.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 the number.  Double-dotted notes are produced in a similar way.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
@@ -666,7 +676,7 @@ g'4 \times 2/3 {c'4 c' c'} d'4 d'4
 Tuplets may be nested, for example,
 
 @lilypond[fragment,ragged-right,verbatim,relative=2]
 Tuplets may be nested, for example,
 
 @lilypond[fragment,ragged-right,verbatim,relative=2]
-\set tupletNumberFormatFunction = #fraction-tuplet-formatter
+\override TupletNumber #'text = #tuplet-number::calc-fraction-text
 \times 4/6 {
   a4 a
   \times 3/5 { a a a a a }
 \times 4/6 {
   a4 a
   \times 3/5 { a a a a a }
@@ -703,11 +713,10 @@ used once
 For more information about @code{make-moment}, see
 @ref{Time administration}.
 
 For more information about @code{make-moment}, see
 @ref{Time administration}.
 
-The format of the number is determined by the property
-@code{tupletNumberFormatFunction}.  The default prints only the
-denominator, but if it is set to the Scheme function
-@code{fraction-tuplet-formatter}, @var{num}:@var{den} will be printed
-instead.
+The format of the number is determined by the property @code{text} in
+@code{TupletNumber}.  The default prints only the denominator, but if
+it is set to the function @code{tuplet-number::calc-fraction-text},
+@var{num}:@var{den} will be printed instead.
 
 To avoid printing tuplet numbers, use
 
 
 To avoid printing tuplet numbers, use
 
@@ -717,21 +726,39 @@ To avoid printing tuplet numbers, use
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
 @end lilypond
 
 \times 2/3 { c8 c c } \times 2/3 { c8 c c }
 @end lilypond
 
+Tuplet brackets can be made to run to prefatory matter or
+the next note
+
+@lilypond[ragged-right]
+\new RhythmicStaff {
+  \set tupletFullLength = ##t
+  \time 4/4
+  \times 4/5 {
+    c4 c1
+  }
+  \set tupletFullLengthNote = ##t
+  \time 2/4
+  \times 2/3 {
+    c4 c c 
+  }
+  \time 3/4
+  c4 
+}
+@end lilypond
+
 
 @seealso
 
 Program reference: @internalsref{TupletBracket},
 @internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
 
 
 @seealso
 
 Program reference: @internalsref{TupletBracket},
 @internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}.
 
-Examples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}.
-
 
 
 @node Scaling durations
 @subsection Scaling durations
 
 You can alter the length of duration by a fraction @var{N/M}
 
 
 @node Scaling durations
 @subsection Scaling durations
 
 You can alter the length of duration by a fraction @var{N/M}
-appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}).  This
+appending @samp{*@var{N/M}} (or @samp{*@var{N}} if @var{M=1}).  This
 will not affect the appearance of the notes or rests produced.
 
 In the following example, the first three notes take up exactly two
 will not affect the appearance of the notes or rests produced.
 
 In the following example, the first three notes take up exactly two
@@ -757,7 +784,7 @@ This manual: @ref{Tuplets}
 @funindex |
 
 Bar checks help detect errors in the durations.  A bar check is
 @funindex |
 
 Bar checks help detect errors in the durations.  A bar check is
-entered using the bar symbol, `@code{|}'.  Whenever it is encountered
+entered using the bar symbol, @samp{|}.  Whenever it is encountered
 during interpretation, it should fall on a measure boundary.  If it
 does not, a warning is printed.  In the next example, the second bar
 check will signal an error
 during interpretation, it should fall on a measure boundary.  If it
 does not, a warning is printed.  In the next example, the second bar
 check will signal an error
@@ -831,6 +858,10 @@ ties.  One of its uses is to debug complex scores: if the measures are
 not entirely filled, then the ties exactly show how much each measure
 is off.
 
 not entirely filled, then the ties exactly show how much each measure
 is off.
 
+If you want to allow line breaking on the bar lines where
+@internalsref{Completion_heads_engraver} splits notes, you must
+also remove @internalsref{Forbid_line_breaks_engraver}.
+
 
 @refbugs
 
 
 @refbugs
 
@@ -844,15 +875,11 @@ rests.
 
 @seealso
 
 
 @seealso
 
-Examples: @inputfileref{input/@/regression,completion@/-heads@/.ly}.
-
-@noindent
-
 Program reference: @internalsref{Completion_heads_engraver}.
 
 
 Program reference: @internalsref{Completion_heads_engraver}.
 
 
-@node Multiple notes at once
-@section Multiple notes at once
+@node Polyphony
+@section Polyphony
 
 Polyphony in music refers to having more than one voice occurring in
 a piece of music.  Polyphony in LilyPond refers to having more than
 
 Polyphony in music refers to having more than one voice occurring in
 a piece of music.  Polyphony in LilyPond refers to having more than
@@ -936,7 +963,7 @@ them simultaneously, separating the voices with @code{\\}
 @end lilypond
 
 The separator causes @internalsref{Voice} contexts@footnote{Polyphonic
 @end lilypond
 
 The separator causes @internalsref{Voice} contexts@footnote{Polyphonic
-voices are sometimes called ``layers'' in other notation packages}
+voices are sometimes called @q{layers} in other notation packages}
 @cindex layers
 to be instantiated.  They bear the names @code{"1"}, @code{"2"}, etc.  In
 each of these contexts, vertical direction of slurs, stems, etc., is set
 @cindex layers
 to be instantiated.  They bear the names @code{"1"}, @code{"2"}, etc.  In
 each of these contexts, vertical direction of slurs, stems, etc., is set
@@ -986,6 +1013,7 @@ to the note immediately preceding it.
 @code{noteD} is relative to @code{noteC}, not @code{noteB} or
 @code{noteA}.
 
 @code{noteD} is relative to @code{noteC}, not @code{noteB} or
 @code{noteA}.
 
+
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
@@ -1088,13 +1116,29 @@ the music.
 }
 @end lilypond
 
 }
 @end lilypond
 
+In some instances of complex polyphonic music, you may need additional
+voices to avoid collisions between notes.  Additional voices are added
+by defining an identifier, as shown below:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
+
+\relative c''' <<
+  { \voiceOne g4 ~  \stemDown g32[ f( es d c b a b64 )g] } \\
+  { \voiceThree  b4} \\
+  { \voiceFive d,} \\
+  { \voiceTwo g,}
+>>
+@end lilypond
+
 
 @node Collision Resolution
 @subsection Collision Resolution
 
 Normally, note heads with a different number of dots are not merged, but
 when the object property @code{merge-differently-dotted} is set in
 
 @node Collision Resolution
 @subsection Collision Resolution
 
 Normally, note heads with a different number of dots are not merged, but
 when the object property @code{merge-differently-dotted} is set in
-the @internalsref{NoteCollision} object, they are merged
+the @internalsref{NoteCollision} object, they are merged:
+
 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
 \new Voice << {
   g8 g8
 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
 \new Voice << {
   g8 g8
@@ -1105,7 +1149,8 @@ the @internalsref{NoteCollision} object, they are merged
 @end lilypond
 
 Similarly, you can merge half note heads with eighth notes, by setting
 @end lilypond
 
 Similarly, you can merge half note heads with eighth notes, by setting
-@code{merge-differently-headed}
+@code{merge-differently-headed}:
+
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \new Voice << {
   c8 c4.
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \new Voice << {
   c8 c4.
@@ -1114,6 +1159,10 @@ Similarly, you can merge half note heads with eighth notes, by setting
 c8 c4. } \\ { c2 c2 } >>
 @end lilypond
 
 c8 c4. } \\ { c2 c2 } >>
 @end lilypond
 
+@noindent
+@code{merge-differently-headed} and @code{merge-differently-dotted}
+only apply to opposing stem directions (ie. Voice 1 & 2).
+
 LilyPond also vertically shifts rests that are opposite of a stem,
 for example
 
 LilyPond also vertically shifts rests that are opposite of a stem,
 for example
 
@@ -1121,6 +1170,30 @@ for example
 \new Voice << c''4 \\ r4 >>
 @end lilypond
 
 \new Voice << c''4 \\ r4 >>
 @end lilypond
 
+If three or more notes line up in the same column,
+@code{merge-differently-headed} cannot
+successfully complete the merge of the two notes that should be merged.
+To allow the merge to work properly, apply a @code{\shift} to the note that
+should not be merged.  In the first measure of following example,
+@code{merge-differently-headed} does not work (the half-note head is
+solid).  In the second measure, @code{\shiftOn} is applied to move the
+top @code{g} out of the column, and @code{merge-differently-headed}
+works properly.
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+\override Staff.NoteCollision #'merge-differently-headed = ##t
+<<
+  { d=''2 g2 } \\
+  { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
+  { \voiceFour e,,2 e'2}
+>>
+<<
+  { d'=''2 \shiftOn g2 } \\ 
+  { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\
+  { \voiceFour e,,2 e'2}
+>>
+@end lilypond
+
 
 @refcommands
 
 
 @refcommands
 
@@ -1142,8 +1215,9 @@ for example
 @funindex \shiftOnnn
 @code{\shiftOnnn},
 @funindex \shiftOff
 @funindex \shiftOnnn
 @code{\shiftOnnn},
 @funindex \shiftOff
-@code{\shiftOff}: these commands specify in what chords of the current
-voice should be shifted.  The outer voices (normally: voice one and
+@code{\shiftOff}: these commands specify the
+degree to which chords of the current voice should be shifted.
+The outer voices (normally: voice one and
 two) have @code{\shiftOff}, while the inner voices (three and four)
 have @code{\shiftOn}.  @code{\shiftOnn} and @code{\shiftOnnn} define
 further shift levels.
 two) have @code{\shiftOff}, while the inner voices (three and four)
 have @code{\shiftOn}.  @code{\shiftOnn} and @code{\shiftOnnn} define
 further shift levels.
@@ -1170,13 +1244,6 @@ be used to override typesetting decisions.
 Program reference: the objects responsible for resolving collisions are
 @internalsref{NoteCollision} and @internalsref{RestCollision}.
 
 Program reference: the objects responsible for resolving collisions are
 @internalsref{NoteCollision} and @internalsref{RestCollision}.
 
-Examples:
-@inputfileref{input/@/regression,collision@/-dots@/.ly},
-@inputfileref{input/@/regression,collision@/-head-chords@/.ly},
-@inputfileref{input/@/regression,collision@/-heads@/.ly},
-@inputfileref{input/@/regression,collision@/-mesh@/.ly}, and
-@inputfileref{input/@/regression,collisions@/.ly}.
-
 
 @refbugs
 
 
 @refbugs
 
@@ -1347,7 +1414,7 @@ command
 
 Here, @var{type} should be @code{\major} or @code{\minor} to get
 @var{pitch}-major or @var{pitch}-minor, respectively.  You may also
 
 Here, @var{type} should be @code{\major} or @code{\minor} to get
 @var{pitch}-major or @var{pitch}-minor, respectively.  You may also
-use the standard mode names (also called ``church modes''): @code{\ionian},
+use the standard mode names (also called @q{church modes}): @code{\ionian},
 @code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
 @code{\phrygian}, and @code{\dorian}.
 
 @code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
 @code{\phrygian}, and @code{\dorian}.
 
@@ -1357,7 +1424,7 @@ can be specified by setting this property directly.
 
 Accidentals and key signatures often confuse new users, because
 unaltered notes get natural signs depending on the key signature.  For
 
 Accidentals and key signatures often confuse new users, because
 unaltered notes get natural signs depending on the key signature.  For
-more information, see @ref{Accidentals} or @ref{More about pitches}.
+more information, see @ref{Accidentals} or @ref{Accidentals and key signatures}.
 
 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
 \key g \major
 
 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
 \key g \major
@@ -1507,7 +1574,7 @@ This is internally translated into
 The property @code{measurePosition} contains a rational number
 indicating how much of the measure has passed at this point.  Note
 that this is a negative number; @code{\partial 4} is internally
 The property @code{measurePosition} contains a rational number
 indicating how much of the measure has passed at this point.  Note
 that this is a negative number; @code{\partial 4} is internally
-translated to mean ``there is a quarter note left in the bar''.
+translated to mean @qq{there is a quarter note left in the bar.}
 
 
 @refbugs
 
 
 @refbugs
@@ -1523,6 +1590,10 @@ g4
 a2 g2
 @end lilypond
 
 a2 g2
 @end lilypond
 
+@code{\partial} is only intended to be used at the beginning of a
+piece.  If you use it after the beginning, some odd warnings may
+occur.
+
 
 @node Bar lines
 @subsection Bar lines
 
 @node Bar lines
 @subsection Bar lines
@@ -1559,11 +1630,12 @@ To allow a line break where there is no visible bar line, use
 
 @noindent
 This will insert an invisible bar line and allow line breaks at this
 
 @noindent
 This will insert an invisible bar line and allow line breaks at this
-point.  This also increases the bar number counter.
+point (without increasing the bar number counter).
 
 In scores with many staves, a @code{\bar} command in one staff is
 automatically applied to all staves.  The resulting bar lines are
 
 In scores with many staves, a @code{\bar} command in one staff is
 automatically applied to all staves.  The resulting bar lines are
-connected between different staves of a StaffGroup
+connected between different staves of a @code{StaffGroup},
+@code{PianoStaff}, or @code{ChoirStaff}.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 <<
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 <<
@@ -1607,8 +1679,6 @@ In this manual: @ref{Repeats}, @ref{System start delimiters}.
 Program reference: @internalsref{BarLine} (created at
 @internalsref{Staff} level), @internalsref{SpanBar} (across staves).
 
 Program reference: @internalsref{BarLine} (created at
 @internalsref{Staff} level), @internalsref{SpanBar} (across staves).
 
-Examples: @inputfileref{input/@/test,bar@/-lines@/.ly},
-
 
 @node Unmetered music
 @subsection Unmetered music
 
 @node Unmetered music
 @subsection Unmetered music
@@ -1717,13 +1787,31 @@ in every context, and that type is determined by the property
 @internalsref{systemStartDelimiter}.
 
 
 @internalsref{systemStartDelimiter}.
 
 
+@commonprop
+
+System start delimiters may be deeply nested,
+
+@lilypond[quote,ragged-right,verbatim]
+\new StaffGroup 
+\relative <<
+  \set StaffGroup.systemStartDelimiterHierarchy
+    = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+>>
+@end lilypond
+
+
 @node Staff symbol
 @subsection Staff symbol
 
 @cindex adjusting staff symbol
 
 Notes, dynamic signs, etc., are grouped
 @node Staff symbol
 @subsection Staff symbol
 
 @cindex adjusting staff symbol
 
 Notes, dynamic signs, etc., are grouped
-with a set of horizontal lines, called a staff (plural `staves').  In
+with a set of horizontal lines, called a staff (plural @q{staves}).  In
 LilyPond, these lines are drawn using a separate layout object called
 @code{staff symbol}.
 
 LilyPond, these lines are drawn using a separate layout object called
 @code{staff symbol}.
 
@@ -1746,8 +1834,7 @@ b b
 @end lilypond
 
 In combination with Frenched staves, this may be used to typeset ossia
 @end lilypond
 
 In combination with Frenched staves, this may be used to typeset ossia
-sections. An example is in @inputfileref{input/@/test@/,ossia.ly},
-shown here
+sections. An example is shown here
 
 @cindex ossia
 
 
 @cindex ossia
 
@@ -1765,7 +1852,7 @@ Program reference: @internalsref{StaffSymbol}.
 Examples: @inputfileref{input/@/test,staff@/-lines@/.ly},
 @inputfileref{input/@/test@/,ossia.ly},
 @inputfileref{input/@/test,staff@/-size@/.ly},
 Examples: @inputfileref{input/@/test,staff@/-lines@/.ly},
 @inputfileref{input/@/test@/,ossia.ly},
 @inputfileref{input/@/test,staff@/-size@/.ly},
-@inputfileref{input/@/regression,staff@/-line@/-positions@/.ly}.
+@lsr{staff,staff-line-positions.ly}
 
 
 @node Writing music in parallel
 
 
 @node Writing music in parallel
@@ -1789,6 +1876,47 @@ Music for multiple parts can be interleaved
 >>
 @end lilypond
 
 >>
 @end lilypond
 
+This works quite well for piano music
+
+@lilypond[quote,verbatim]
+music = {
+  \key c \major
+  \time 4/4
+  \parallelMusic #'(voiceA voiceB voiceC voiceD) {
+    % Bar 1
+    r8  g'16[ c''] e''[ g' c'' e''] r8  g'16[ c''] e''[ g' c''
+e''] |
+    c'2                                 c'2 |
+    r8  a16[ d'] f'[ a d' f']       r8  a16[ d'] f'[ a d' f'] |
+    c2                                  c2 |
+
+    % Bar 2
+    a'8 b'      c'' d''    e'' f''    g'' a'' |
+    d'4         d'         d'         d' |
+    c16 d e f   d e f g    e f g a    f g a b |
+    a,4         a,4        a,4        a,4 |
+
+    % Bar 3 ...
+  }
+}
+
+\score {
+  \new PianoStaff <<
+    \music
+    \new Staff <<
+      \voiceA \\
+      \voiceB
+    >>
+    \new Staff {
+      \clef bass
+      <<
+        \voiceC \\
+        \voiceD
+      >>
+    }
+  >>
+}
+@end lilypond
 
 
 @node Connecting notes
 
 
 @node Connecting notes
@@ -1816,14 +1944,19 @@ This section deals with notation that affects groups of notes.
 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
 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 `@code{~}'
+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
 
 @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.
+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
 
 A tie is just a way of extending a note duration, similar to the
 augmentation dot.  The following example shows two ways of notating
@@ -1849,6 +1982,8 @@ automatic note splitting (see @ref{Automatic note splitting}).  This
 mechanism automatically splits long notes, and ties them across bar
 lines.
 
 mechanism automatically splits long notes, and ties them across bar
 lines.
 
+@funindex \repeatTie
+
 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},
 
 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},
 
@@ -1866,10 +2001,23 @@ 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,
 
 @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]
+@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
 \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
 
 
 @end lilypond
 
 
@@ -1896,17 +2044,14 @@ In this manual: @ref{Automatic note splitting}.
 
 Program reference: @internalsref{Tie}.
 
 
 Program reference: @internalsref{Tie}.
 
-Examples:
-@inputfileref{input/@/regression,tie-arpeggio.ly}
-@inputfileref{input/@/regression,tie-manual.ly}
-
-
-
 
 @refbugs
 
 Switching staves when a tie is active will not produce a slanted 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
 @subsection Slurs
 
 @node Slurs
 @subsection Slurs
@@ -2027,7 +2172,7 @@ Program reference:
 @internalsref{LaissezVibrerTieColumn}
 
 Example files:
 @internalsref{LaissezVibrerTieColumn}
 
 Example files:
-@inputfileref{input/regression,laissez-vibrer-tie.ly}
+@lsr{connecting,laissez-vibrer-ties.ly}
 
 
 @node Automatic beams
 
 
 @node Automatic beams
@@ -2115,9 +2260,10 @@ For more information about @code{make-moment}, see
 @ref{Time administration}.
 
 Line breaks are normally forbidden when beams cross bar lines.  This
 @ref{Time administration}.
 
 Line breaks are normally forbidden when beams cross bar lines.  This
-behavior can be changed by setting @code{allowBeamBreak}.
+behavior can be changed by setting @code{breakable}.
+
+@funindex breakable
 
 
-@funindex allowBeamBreak
 @cindex beams and line breaks
 @cindex beams, kneed
 @cindex kneed beams
 @cindex beams and line breaks
 @cindex beams, kneed
 @cindex kneed beams
@@ -2171,7 +2317,7 @@ c4 \grace c16 c4
 Unlike @code{\acciaccatura} and @code{\appoggiatura}, the
 @code{\grace} command does not start a slur.
 
 Unlike @code{\acciaccatura} and @code{\appoggiatura}, the
 @code{\grace} command does not start a slur.
 
-Internally, timing for grace notes is done using a second, `grace'
+Internally, timing for grace notes is done using a second, @q{grace}
 timing.  Every point in time consists of two rational numbers: one
 denotes the logical time, one denotes the grace timing.  The above
 example is shown here with timing tuples
 timing.  Every point in time consists of two rational numbers: one
 denotes the logical time, one denotes the grace timing.  The above
 example is shown here with timing tuples
@@ -2217,7 +2363,7 @@ following the main note.
 c1 \afterGrace d1 { c16[ d] } c4
 @end lilypond
 
 c1 \afterGrace d1 { c16[ d] } c4
 @end lilypond
 
-This will put the grace notes after a ``space'' lasting 3/4 of the
+This will put the grace notes after a @q{space} lasting 3/4 of the
 length of the main note.  The fraction 3/4 can be changed by setting
 @code{afterGraceFraction}, ie.
 
 length of the main note.  The fraction 3/4 can be changed by setting
 @code{afterGraceFraction}, ie.
 
@@ -2284,6 +2430,30 @@ Another option is to change the variables @code{startGraceMusic},
 The slash through the stem in acciaccaturas can be obtained
 in other situations by @code{\override Stem  #'stroke-style = #"grace"}.
 
 The slash through the stem in acciaccaturas can be obtained
 in other situations by @code{\override Stem  #'stroke-style = #"grace"}.
 
+
+@commonprop
+
+Grace notes may be forced to use floating spacing,
+
+@lilypond[relative=2,ragged-right]
+<<
+  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+  \new Staff {
+     c'4
+     \afterGrace
+     c'4
+     { c'16[ c'8 c'16] }
+     c'4
+  }  
+  \new Staff {
+     c'16[ c'16 c'16 c'16]
+     c'16[ c'16 c'16 c'16]
+     c'4
+  }
+>>
+@end lilypond
+
+
 @seealso
 
 Program reference: @internalsref{GraceMusic}.
 @seealso
 
 Program reference: @internalsref{GraceMusic}.
@@ -2332,6 +2502,7 @@ notes and rhythms.
 * Trills::                      
 * Glissando::                   
 * Arpeggio::                    
 * Trills::                      
 * Glissando::                   
 * Arpeggio::                    
+* Falls and doits::             
 @end menu
 
 
 @end menu
 
 
@@ -2490,7 +2661,7 @@ very close to note heads in monophonic music,
 
 Program reference: @internalsref{Fingering}.
 
 
 Program reference: @internalsref{Fingering}.
 
-Examples: @inputfileref{input/@/regression,finger@/-chords@/.ly}.
+Examples: @lsr{expressive,fingering-chords.ly}
 
 
 @node Dynamics
 
 
 @node Dynamics
@@ -2544,8 +2715,16 @@ c\< c\! d\> e\!
 @end lilypond
 
 @noindent
 @end lilypond
 
 @noindent
-A hairpin starts at the left edge of the beginning note and ends on the
-right edge of the ending note.
+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,
+
+@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,
 
 In some situations the @code{\espressivo} articulation mark may
 be suitable to indicate a crescendo and decrescendo on the one note,
@@ -2562,6 +2741,19 @@ example
 \override Voice.Hairpin #'minimum-length = #5
 @end 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,
+
+@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+\override Hairpin #'circled-tip = ##t
+c2\< c\!
+c4\> c\< c2\!
+@end lilypond
+
+
 @cindex crescendo
 @cindex decrescendo
 @cindex diminuendo
 @cindex crescendo
 @cindex decrescendo
 @cindex diminuendo
@@ -2664,7 +2856,7 @@ d4
 
 Program reference: @internalsref{BreathingSign}.
 
 
 Program reference: @internalsref{BreathingSign}.
 
-Examples: @inputfileref{input/@/regression,breathing@/-sign@/.ly}.
+Examples: @lsr{expressive,breathing-sign.ly}
 
 
 @node Trills
 
 
 @node Trills
@@ -2730,7 +2922,9 @@ c2\glissando c,
 
 Program reference: @internalsref{Glissando}.
 
 
 Program reference: @internalsref{Glissando}.
 
-Example files: @file{input/@/regression/@/glissando@/.ly}.
+Example files:
+@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
+
 
 
 @refbugs
 
 
 @refbugs
@@ -2814,7 +3008,17 @@ It is not possible to mix connected arpeggios and unconnected
 arpeggios in one @internalsref{PianoStaff} at the same point in time.
 
 
 arpeggios in one @internalsref{PianoStaff} at the same point in time.
 
 
+@node Falls and doits
+@subsection 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
+@end lilypond
 
 
 @node Repeats
 
 
 @node Repeats
@@ -2854,12 +3058,6 @@ printed, left to right with brackets.  This is the standard notation
 for repeats with alternatives.  These are not played in MIDI output by
 default.
 
 for repeats with alternatives.  These are not played in MIDI output by
 default.
 
-@ignore
-@item fold
-Alternative endings are written stacked.  This has limited use but may be
-used to typeset two lines of lyrics in songs with repeats, see
-@inputfileref{input,star-spangled-banner@/.ly}.
-@end ignore
 
 @item tremolo
 Make tremolo beams.  These are not played in MIDI output by default.
 
 @item tremolo
 Make tremolo beams.  These are not played in MIDI output by default.
@@ -2875,6 +3073,10 @@ declared within a @code{Voice} context.
 @node Repeat syntax
 @subsection Repeat syntax
 
 @node Repeat syntax
 @subsection Repeat syntax
 
+@cindex volta
+@cindex prima volta
+@cindex seconda volta
+
 LilyPond has one syntactic construct for specifying different types of
 repeats.  The syntax is
 
 LilyPond has one syntactic construct for specifying different types of
 repeats.  The syntax is
 
@@ -2899,6 +3101,7 @@ give enough alternatives for all of the repeats, the first alternative
 is assumed to be played more than once.
 
 Standard repeats are used like this
 is assumed to be played more than once.
 
 Standard repeats are used like this
+
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
 \repeat volta 2 { c4 d e f }
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
 \repeat volta 2 { c4 d e f }
@@ -2906,6 +3109,7 @@ c1
 @end lilypond
 
 With alternative endings
 @end lilypond
 
 With alternative endings
+
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
 \repeat volta 2 {c4 d e f}
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 c1
 \repeat volta 2 {c4 d e f}
@@ -2914,7 +3118,7 @@ c1
 
 In the following example, the first ending is not a complete
 bar (it only had 3 beats).  The beginning of the second ending
 
 In the following example, the first ending is not a complete
 bar (it only had 3 beats).  The beginning of the second ending
-contains the 4th beat from the first ending.  This ``extra''
+contains the 4th beat from the first ending.  This @q{extra}
 beat in the second ending is due to the first time ending,
 and has nothing to do with the @code{\partial} at the
 beginning of the example.
 beat in the second ending is due to the first time ending,
 and has nothing to do with the @code{\partial} at the
 beginning of the example.
@@ -2927,6 +3131,16 @@ beginning of the example.
 }
 @end lilypond
 
 }
 @end lilypond
 
+@funindex \repeatTie
+
+Ties may be added to a second ending,
+
+@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+c1
+\repeat volta 2 {c4 d e f ~ }
+\alternative { {f2 d} {f\repeatTie f,} }
+@end lilypond
+
 It is possible to shorten volta brackets
 by setting @code{voltaSpannerDuration}.  In the next example, the
 bracket only lasts one measure, which is a duration of 3/4.
 It is possible to shorten volta brackets
 by setting @code{voltaSpannerDuration}.  In the next example, the
 bracket only lasts one measure, which is a duration of 3/4.
@@ -2949,7 +3163,9 @@ Examples:
 
 Brackets for the repeat are normally only printed over the topmost
 staff.  This can be adjusted by setting the @code{voltaOnThisStaff}
 
 Brackets for the repeat are normally only printed over the topmost
 staff.  This can be adjusted by setting the @code{voltaOnThisStaff}
-property; see @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly}.
+property; see
+
+@lsr{repeats,volta@/-multi@/-staff@/.ly}.
 
 
 @refbugs
 
 
 @refbugs
@@ -2975,6 +3191,8 @@ so after a repeat timing information must be reset by hand; for
 example, by setting @code{Score.measurePosition} or entering
 @code{\partial}.  Similarly, slurs or ties are also not repeated.
 
 example, by setting @code{Score.measurePosition} or entering
 @code{\partial}.  Similarly, slurs or ties are also not repeated.
 
+Volta brackets are not vertically aligned.
+
 
 @node Repeats and MIDI
 @subsection Repeats and MIDI
 
 @node Repeats and MIDI
 @subsection Repeats and MIDI
@@ -3091,9 +3309,6 @@ In this manual: @ref{Tremolo subdivisions}, @ref{Repeats}.
 
 Program reference: @internalsref{Beam}, @internalsref{StemTremolo}.
 
 
 Program reference: @internalsref{Beam}, @internalsref{StemTremolo}.
 
-Example files: @inputfileref{input/@/regression,chord@/-tremolo@/.ly},
-@inputfileref{input/@/regression,stem@/-tremolo@/.ly}.
-
 
 @node Tremolo subdivisions
 @subsection Tremolo subdivisions
 
 @node Tremolo subdivisions
 @subsection Tremolo subdivisions
@@ -3102,7 +3317,7 @@ Example files: @inputfileref{input/@/regression,chord@/-tremolo@/.ly},
 @funindex tremoloFlags
 
 Tremolo marks can be printed on a single note by adding
 @funindex tremoloFlags
 
 Tremolo marks can be printed on a single note by adding
-`@code{:}[@var{number}]' after the note.  The number indicates the
+@q{@code{:}[@var{number}]} after the note.  The number indicates the
 duration of the subdivision, and it must be at least 8.  A
 @var{length} value of 8 gives one line across the note stem.  If the
 length is omitted, the last value (stored in @code{tremoloFlags}) is
 duration of the subdivision, and it must be at least 8.  A
 @var{length} value of 8 gives one line across the note stem.  If the
 length is omitted, the last value (stored in @code{tremoloFlags}) is