]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/basic-notation.itely
* Documentation/user/basic-notation.itely (Barnumber check): add section.
[lilypond.git] / Documentation / user / basic-notation.itely
index 41aa2070383aefc2eae9bf6a563d22dc0767146c..b91855fbd428e1450b0d4278ad40a5223aa72e72 100644 (file)
@@ -5,6 +5,7 @@
 @c     M-x texinfo-all-menus-update
 @c to automatically fill in these menus before saving changes
 
+
 @node Basic notation
 @chapter Basic notation
 
@@ -12,9 +13,9 @@ This chapter explains how to use all basic notation features.
 
 @menu
 * Note entry::                  
-* Easier music entry::          
+* Alternate music entry::       
 * Staff notation::              
-* More than notes::             
+* Connecting notes::            
 * Expressive marks::            
 * Polyphony::                   
 * Repeats::                     
@@ -47,6 +48,8 @@ related constructs, such as stems, tuplets and ties.
 @node Notes
 @subsection Notes
 
+@cindex Note specification
+@cindex entering notes
 
 A note is printed by specifying its pitch and then its duration,
 
@@ -54,14 +57,16 @@ A note is printed by specifying its pitch and then its duration,
 cis'4 d'8 e'16 c'16
 @end lilypond
 
+@seealso
+
+This manual: @ref{Pitches}, @ref{Durations}
+
 
 @node Pitches
 @subsection Pitches
 
 @cindex Pitch names
-@cindex Note specification
 @cindex pitches
-@cindex entering notes
 
 The most common syntax for pitch entry is used for standard notes and
 @code{\chordmode} modes.  In these modes, pitches may be designated by
@@ -70,7 +75,7 @@ names.  The notes are specified by the letters @code{a} through
 to @code{b}.  The pitch @code{c} is an octave below middle C and the
 letters span the octave above that C
 
-@lilypond[quote,fragment,verbatim]
+@lilypond[quote,fragment,verbatim,raggedright]
 \clef bass
 a,4 b, c d e f g a b c' d' e' \clef treble f' g' a' b' c''
 @end lilypond
@@ -84,7 +89,7 @@ single quote (`@code{'}') characters or a series of comma
 octave; each @code{,} lowers the pitch by an octave
 
 @lilypond[quote,raggedright,fragment,verbatim]
-c' c'' es' g' as' gisis' ais'
+c' c'' e' g d'' d'
 @end lilypond
 
 @cindex note names, Dutch
@@ -104,17 +109,6 @@ cis
 cisis
 @end lilypond
 
-In accordance with standard typsetting rules, a natural sign is printed
-before a sharp or flat if a previous accidental needs to be
-cancelled.  To change this behaviour, use
-@code{\set Staff.extraNatural = ##f}
-
-@lilypond[fragment,quote,raggedright,verbatim,relative=2]
-ceses4 ces cis c
-\set Staff.extraNatural = ##f
-ceses4 ces cis c
-@end lilypond
-
 There are predefined sets of note names for various other languages.
 To use them, include the language specific init file.  For
 example: @code{\include "english.ly"}.  The available language files
@@ -136,24 +130,38 @@ espanol.ly     do  re  mi  fa  sol la  sib si  -s          -b
 @end example
 
 
-@seealso
+@commonprop
+
+In accordance with standard typsetting rules, a natural sign is printed
+before a sharp or flat if a previous accidental needs to be
+cancelled.  To change this behaviour, use
+@code{\set Staff.extraNatural = ##f}
+
+@lilypond[fragment,quote,raggedright,verbatim,relative=2]
+ceses4 ces cis c
+\set Staff.extraNatural = ##f
+ceses4 ces cis c
+@end lilypond
+
 
-Program reference: @internalsref{NoteEvent}, and @internalsref{NoteHead}.
+@seealso
 
+Program reference: @internalsref{LedgerLineSpanner}, @internalsref{NoteHead}.
 
 
 @node Cautionary accidentals
 @subsection Cautionary accidentals 
 
-Normally accidentals are printed automatically, but you may also
-print them manually.  A reminder accidental
 @cindex reminder accidental
 @cindex @code{?}
-can be forced by adding an exclamation mark @code{!}
-after the pitch.  A cautionary accidental
 @cindex cautionary accidental
 @cindex parenthesized accidental
 @cindex @code{!}
+
+Normally accidentals are printed automatically, but you may also
+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
 question mark `@code{?}' after the pitch.
 
@@ -172,17 +180,18 @@ ways.  For more information, refer to @ref{Automatic accidentals}.
 @node Micro tones
 @subsection Micro tones
 
-Half-flats and half-sharps are formed by adding @code{-eh} and
-@code{-ih}; the following is a series of Cs with increasing pitches
-
 @cindex quarter tones
 @cindex semi-flats, semi-sharps
 
+Half-flats and half-sharps are formed by adding @code{-eh} and
+@code{-ih}; the following is a series of Cs with increasing pitches
+
 @lilypond[verbatim,raggedright,quote,relative=2,fragment]
-{ ceseh ceh cih cisih }
+\set Staff.extraNatural = ##f
+ceseh ceh cih cisih
 @end lilypond
 
-Micro tones are also exported to the MIDI file
+Micro tones are also exported to the MIDI file.
 
 
 @refbugs
@@ -190,8 +199,10 @@ Micro tones are also exported to the MIDI file
 There are no generally accepted standards for denoting three quarter
 flats, so LilyPond's symbol does not conform to any standard.
 
+
 @node Chords
 @subsection Chords
+
 @cindex Chords
 
 A chord is formed by a enclosing a set of pitches in @code{<} and
@@ -213,7 +224,7 @@ For more information about chords, see @ref{Chord names}.
 @cindex @code{\rest}
 @cindex @code{r}
 
-Rests are entered like notes, with the note name @code{r}
+Rests are entered like notes with the note name @code{r}
 
 @lilypond[fragment,quote,raggedright,verbatim]
 r1 r2 r4 r8
@@ -236,18 +247,18 @@ a'4\rest d'4\rest
 
 @seealso
 
-Program reference: @internalsref{RestEvent}, and @internalsref{Rest}.
+Program reference: @internalsref{Rest}.
 
 
-@c FIXME: naming.
 @node Skips
 @subsection Skips
+
 @cindex Skip
 @cindex Invisible rest
 @cindex Space note
-
 @cindex @code{\skip}
 @cindex @code{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}}
 
@@ -261,8 +272,8 @@ the @code{\skip} command
 
 @lilypond[quote,raggedright,verbatim]
 <<
-  \relative { a'2 a1 }
-  \new Lyrics \lyricmode { \skip 2 bla1 }
+  \relative { a'2 a2 }
+  \new Lyrics \lyricmode { \skip 2 bla2 }
 >>
 @end lilypond
 
@@ -281,20 +292,17 @@ The fragment @code{@{ \skip 4 @} } would produce an empty page.
 
 @seealso
 
-Program reference: @internalsref{SkipEvent}, @internalsref{SkipMusic}.
-
+Program reference: @internalsref{SkipMusic}.
 
 
 @node Durations
 @subsection Durations
 
-
 @cindex duration
 @cindex @code{\longa}
 @cindex @code{\breve}
 @cindex @code{\maxima}
 
-
 In Note, Chord, and Lyrics mode, durations are designated by numbers and
 dots: durations are entered as their reciprocal values.  For example, a
 quarter note is entered using a @code{4} (since it is a 1/4 note), while
@@ -341,11 +349,11 @@ duration.  The default for the first note is a quarter note.
 @end lilypond
 
 
-
 @node Augmentation dots
 @subsection Augmentation dots
 
 @cindex @code{.}
+
 To obtain dotted note lenghts, simply add a dot (`@code{.}') to
 the number.  Double-dotted notes are produced in a similar way.
 
@@ -381,7 +389,6 @@ Program reference: @internalsref{Dots}, and @internalsref{DotColumn}.
 Tuplets are made out of a music expression by multiplying all durations
 with a fraction
 
-@cindex @code{\times}
 @example
 \times @var{fraction} @var{musicexpr}
 @end example
@@ -397,6 +404,21 @@ length
 g'4 \times 2/3 {c'4 c' c'} d'4 d'4
 @end lilypond
 
+@refcommands
+
+@cindex @code{\tupletUp}
+@code{\tupletUp},
+@cindex @code{\tupletDown}
+@code{\tupletDown},
+@cindex @code{\tupletNeutral}
+@code{\tupletNeutral}.
+
+
+@commonprop
+
+@cindex @code{tupletNumberFormatFunction}
+@cindex tuplet formatting
+
 The property @code{tupletSpannerDuration} specifies how long each
 bracket should last.  With this, you can make lots of tuplets while
 typing @code{\times} only once, thus saving lots of typing.  In the next
@@ -414,27 +436,11 @@ denominator, but if it is set to the Scheme function
 @code{fraction-tuplet-formatter}, @var{num}:@var{den} will be printed
 instead.
 
-@cindex @code{tupletNumberFormatFunction}
-@cindex tuplet formatting
-
-@refcommands
-
-@cindex @code{\tupletUp}
-@code{\tupletUp},
-@cindex @code{\tupletDown}
-@code{\tupletDown},
-@cindex @code{\tupletNeutral}
-@code{\tupletNeutral}.
 
 @seealso
 
-User manual: @ref{Changing context properties on the fly} for the
-@code{\set} command.
-
-
 Program reference: @internalsref{TupletBracket}, and @internalsref{TimeScaledMusic}.
 
-Examples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}.
 
 @refbugs
 
@@ -465,8 +471,9 @@ b16*4 c4
 This manual: @ref{Tuplets}
 
 
-@node Easier music entry
-@section Easier music entry
+
+@node Alternate music entry
+@section Alternate music entry
 @cindex Music entry
 
 This section deals with tricks and features of the input language that
@@ -478,22 +485,23 @@ It is also possible to enter and edit music using other programs, such as
 GUI interfaces or MIDI sequencers.  Refer to the LilyPond
 website for more information.
 
-
 @menu
 * Relative octaves::            
 * Octave check::                
+* Transpose::                   
 * Bar check::                   
+* Barnumber check::             
 * Skipping corrected music::    
 * Automatic note splitting::    
 @end menu
 
 
-
-
 @node Relative octaves
 @subsection Relative octaves
+
 @cindex Relative
-@cindex relative octave specification
+@cindex Relative octave specification
+@cindex @code{\relative}
 
 Octaves are specified by adding @code{'} and @code{,} to pitch names.
 When you copy existing music, it is easy to accidentally put a pitch
@@ -501,7 +509,6 @@ in the wrong octave and hard to find such an error.  The relative
 octave mode prevents these errors by making the mistakes much
 larger: a single error puts the rest of the piece off by one octave
 
-@cindex @code{\relative}
 @example
 \relative @var{startpitch} @var{musicexpr}
 @end example
@@ -555,32 +562,31 @@ to determine the first note of the next chord
 
 The pitch after the @code{\relative} contains a note name.
 
-
 The relative conversion will not affect @code{\transpose},
 @code{\chordmode} or @code{\relative} sections in its argument.  To use
 relative within transposed music, an additional @code{\relative} must
 be placed inside @code{\transpose}.
 
+
 @node Octave check
 @subsection Octave check
 
+@cindex Octave check
 
 Octave checks make octave errors easier to correct: a note may be
 followed by @code{=}@var{quotes} which indicates what its absolute
 octave should be.  In the following example,
+
 @example
 \relative c'' @{ c='' b=' d,='' @}
 @end example
 
 @noindent
-@c take care with @code, adds confusing quotes.
 the @code{d} will generate a warning, because a @code{d''} is expected
-(because @code{b'} to @code{d''} is only a third), but a @code{d}' is
+(because @code{b'} to @code{d''} is only a third), but a @code{d'} is
 found.  In the output, the octave is corrected to be a @code{d''} and
 the next note is calculated relative to @code{d''} instead of @code{d'}.
 
-
-
 There is also a syntax that is separate from the notes.  The syntax
 
 @example
@@ -609,7 +615,7 @@ once again.
 
 The octave of a note following an octave check is determined with
 respect to the note preceding it.  In the next fragment, the last note
-is a @code{a'}, above middle C.  That means that the @code{\octave}
+is an @code{a'}, above middle C.  That means that the @code{\octave}
 check passes successfully, so the check could be deleted without changing
 the output of the piece.
 
@@ -621,11 +627,90 @@ the output of the piece.
 }
 @end lilypond
 
+
+@node Transpose
+@subsection Transpose
+
+@cindex Transpose
+@cindex transposition of pitches
+@cindex @code{\transpose}
+
+A music expression can be transposed with @code{\transpose}.  The
+syntax is
+@example
+\transpose @var{from} @var{to} @var{musicexpr}
+@end example
+
+This means that @var{musicexpr} is transposed by the interval between
+the pitches @var{from} and @var{to}: any note with pitch @code{from}
+is changed to @code{to}.
+
+For example, consider a piece written in the key of D-major.  If
+this piece is a little too low for its performer, it can be
+transposed up to E-major with
+@example
+\transpose d e @dots{}
+@end example
+
+Consider a part written for violin (a C instrument).  If
+this part is to be played on the A clarinet, the following
+transposition will produce the appropriate part
+
+@example
+\transpose a c @dots{}
+@end example
+
+@code{\transpose} distinguishes between enharmonic pitches: both
+@code{\transpose c cis} or @code{\transpose c des} will transpose up
+half a tone.  The first version will print sharps and the second
+version will print flats
+
+@lilypond[quote,raggedright,verbatim]
+mus = { \key d \major cis d fis g }
+\context Staff {
+  \clef "F" \mus
+  \clef "G"
+  \transpose c g' \mus
+  \transpose c f' \mus
+}
+@end 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
+key.  For example, when entering music for a B-flat trumpet which
+begins on concert D, one would write
+
+@example
+\transpose c bes @{ e4 @dots{} @}
+@end example
+
+To print this music in B-flat again (ie producing a trumpet part,
+instead of a concert pitch conductor's score) you would wrap the
+existing music with another @code{transpose}
+
+@example
+\transpose bes c @{ \transpose c bes @{ e4 @dots{} @} @}
+@end example
+
+
+@seealso
+
+Program reference: @internalsref{TransposedMusic}.
+
+
+@refbugs
+
+If you want to use both @code{\transpose} and @code{\relative},
+you must put @code{\transpose} outside of @code{\relative}, since
+@code{\relative} will have no effect music that appears inside a
+@code{\transpose}.
+
+
 @node Bar check
 @subsection Bar check
-@cindex Bar check
 
-@cindex bar check
+@cindex Bar check
 @cindex @code{barCheckSynchronize}
 @cindex @code{|}
 
@@ -647,15 +732,10 @@ Bar checks can also be used in lyrics, for example
 @}
 @end example
 
-
-@cindex @code{skipTypesetting}
-
 Failed bar checks are caused by entering incorrect
 durations.  Incorrect durations often completely garble up the score,
 especially if the score is polyphonic, so a good place to start correcting
-input is by scanning for failed bar checks and incorrect durations.  To
-speed up this process, the @code{skipTypesetting} feature may be
-used.  It is described in the next section.
+input is by scanning for failed bar checks and incorrect durations.
 
 @cindex @code{|}
 @cindex @code{pipeSymbol}
@@ -666,18 +746,53 @@ by assigning a music expression to @code{pipeSymbol},
 @lilypond[quote,raggedright,verbatim]
 pipeSymbol = \bar "||"
 
-{ c'2 c' | c'2 c }
+{ c'2 c' | c'2 c' }
 @end lilypond
 
 
+@node Barnumber check
+@subsection Barnumber check
+
+When copying large pieces of music, it can be helpful to check that
+the LilyPond bar number corresponds to the original that you are
+entering from.  This can be checked with @code{\barNumberCheck}, for
+example, 
+
+@verbatim
+\barNumberCheck #123
+@end verbatim
+
+@noindent
+will print a warning if the @code{currentBarNumber} is not 123 when it
+is processed.
+
+
 @node Skipping corrected music
 @subsection Skipping corrected music
 
-The property @code{Score.skipTypesetting} can be used to switch on and
-off typesetting completely during the interpretation phase.  When
-typesetting is switched off, the music is processed much more
-quickly.  This can be used to skip over the parts of a score that
-have already been checked for errors
+
+@cindex @code{skipTypesetting}
+@cindex @code{showLastLength}
+
+When entering or copying music, only the music near the end (where you
+are adding notes) is interesting to view and correct.  To speed up
+this correction process, it is possible to skip typesetting of all but
+the last few measures. This is achieved by putting
+
+@verbatim
+showLastLength = R1*5
+\score { ... }
+@end verbatim
+
+@noindent
+in your source file. This will render only the last 5 measures
+(assuming 4/4 time signature) of every @code{\score} in the input
+file. For longer pieces, rendering only a small part is often an order
+of magnitude quicker than rendering it completely
+
+Skipping parts of a score can be controlled in a more fine-grained
+fashing with the property @code{Score.skipTypesetting}.  When it is
+set, no typesetting is performed at all.
 
 @lilypond[quote,fragment,raggedright,verbatim]
 \relative c'' {
@@ -691,6 +806,7 @@ have already been checked for errors
 In polyphonic music, @code{Score.skipTypesetting} will affect all
 voices and staves, saving even more time.
 
+
 @node Automatic note splitting
 @subsection Automatic note splitting
 
@@ -699,7 +815,6 @@ by replacing the @internalsref{Note_heads_engraver} by the
 @internalsref{Completion_heads_engraver}.
 In the following examples, notes crossing the bar line are split and tied.
 
-
 @lilypond[quote,fragment,verbatim,relative=1,linewidth=12\cm]
 \new Voice \with {
   \remove "Note_heads_engraver"
@@ -714,12 +829,17 @@ 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.
 
+
 @refbugs
 
 Not all durations (especially those containing tuplets) can be
 represented exactly with normal notes and dots, but the engraver will
 not insert tuplets.
 
+@code{Completion_heads_engraver} only affects notes; it does not split
+rests.
+
+
 @seealso
 
 Examples: @inputfileref{input/@/regression,completion@/-heads@/.ly}.
@@ -730,170 +850,71 @@ Program reference: @internalsref{Completion_heads_engraver}.
 
 
 
-
 @node Staff notation
 @section Staff notation
 
+@cindex Staff notation
+
 This section describes music notation that occurs on staff level,
 such as key signatures, clefs and time signatures.
 
-@cindex Staff notation
-
 @menu
-* Staff symbol::                
-* Key signature::               
 * Clef::                        
+* Key signature::               
 * Time signature::              
 * Partial measures::            
-* Unmetered music::             
 * Bar lines::                   
+* Unmetered music::             
 * System start delimiters::     
+* Staff symbol::                
 @end menu
 
 
-@node Staff symbol
-@subsection Staff symbol
-
-@cindex adjusting staff symbol
-
-Notes, dynamic signs, etc., are grouped
-with a set of horizontal lines, into a staff (plural `staves').  In our
-system, these lines are drawn using a separate layout object called
-staff symbol.
-
-
-@cindex staff lines, setting number of
-@cindex staff lines, setting thickness of
-@cindex thickness of staff lines, setting
-@cindex number of staff lines, setting
-
-@seealso
-
-Program reference: @internalsref{StaffSymbol}.
-
-Examples: @inputfileref{input/@/test,staff@/-lines@/.ly},
-@inputfileref{input/@/test,staff@/-size@/.ly}.
-
-@refbugs
-
-If a staff is ended halfway a piece, the staff symbol may not end
-exactly on the bar line.
-
-
-@node Key signature
-@subsection Key signature
-@cindex Key signature
-
-@cindex @code{\key}
-
-The key signature indicates the tonality in which a piece is played.  It
-is denoted by a set of alterations (flats or sharps) at the start of the
-staff.
-
-
-Setting or changing the key signature is done with the @code{\key}
-command
-@example
-@code{\key} @var{pitch} @var{type}
-@end example
-
-@cindex @code{\minor}
-@cindex @code{\major}
-@cindex @code{\minor}
-@cindex @code{\ionian}
-@cindex @code{\locrian}
-@cindex @code{\aeolian}
-@cindex @code{\mixolydian}
-@cindex @code{\lydian}
-@cindex @code{\phrygian}
-@cindex @code{\dorian}
-
-Here, @var{type} should be @code{\major} or @code{\minor} to get
-@var{pitch}-major or @var{pitch}-minor, respectively.
-The standard mode names @code{\ionian},
-@code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
-@code{\phrygian}, and @code{\dorian} are also defined.
-
-This command sets the context property
-@internalsref{Staff}.@code{keySignature}.  Non-standard key signatures
-can be specified by setting this property directly.
-
-A natural sign is printed to cancel any previous accidentals.  This
-can be suppressed by setting the @code{Staff.printKeyCancellation}
-property.
-
-@lilypond[quote,raggedright,fragment,verbatim,relative=2]
-{
-  \key d \major
-  a b cis d
-  \key g \minor
-  a bes c d
-  \set Staff.printKeyCancellation = ##f
-  \key d \major
-  a b cis d
-  \key g \minor
-  a bes c d
-}
-@end lilypond
-
-Accidentals and key signatures often confuse new users, because
-unaltered notes get natural signs depending on the key signature.  For
-more information, see @ref{More about pitches}.
-
-@seealso
-
-Program reference: @internalsref{KeyChangeEvent},
-@internalsref{KeyCancellation} and @internalsref{KeySignature}.
-
-@cindex @code{keySignature}
-
-
 @node Clef
 @subsection Clef
+
 @cindex @code{\clef}
 
 The clef indicates which lines of the staff correspond to which
-pitches.
+pitches.  The clef is set with the @code{\clef} command
 
-
-The clef can be set with the @code{\clef} command
 @lilypond[quote,raggedright,fragment,verbatim]
 { c''2 \clef alto g'2 }
 @end lilypond
 
-Supported clef-names include
-@c Moved standard clefs to the top /MB
-@table @code
 @cindex treble clef
 @cindex violin clef
-@item treble, violin, G, G2
-G clef on 2nd line
-@item alto, C
 @cindex alto clef
- C clef on 3rd line
-@item tenor
 @cindex tenor clef
- C clef on 4th line.
-@item bass, F
 @cindex bass clef
+@cindex french clef
+@cindex soprano clef
+@cindex mezzosoprano clef
+@cindex baritone clef
+@cindex varbaritone clef
+@cindex subbass clef
+
+Supported clefs finclude
+@table @code
+@item treble, violin, G, G2
+ G clef on 2nd line
+@item alto, C
+ C clef on 3rd line
+@item tenor
+ C clef on 4th line.
+@item bass, F
  F clef on 4th line
 @item french
-@cindex french clef
  G clef on 1st line, so-called French violin clef
 @item soprano
-@cindex soprano clef
  C clef on 1st line
 @item mezzosoprano
-@cindex mezzosoprano clef
  C clef on 2nd line
 @item baritone
-@cindex baritone clef
  C clef on 5th line
 @item varbaritone
-@cindex varbaritone clef
  F clef on 3rd line
 @item subbass
-@cindex subbass clef
  F clef on 5th line
 @item percussion
  percussion clef
@@ -907,13 +928,15 @@ transposed one octave down or up, respectively, and @code{_15} and
 must be enclosed in quotes when it contains underscores or digits.  For
 example,
 
-
 @cindex choral tenor clef
 @lilypond[quote,raggedright,verbatim,fragment,relative=1]
 \clef "G_8" c4
 @end lilypond
 
-This command is equivalent to setting @code{clefGlyph},
+
+@commonprop
+
+The command @code{\clef "treble_8"} is equivalent to setting @code{clefGlyph},
 @code{clefPosition} (which controls the Y position of the clef),
 @code{middleCPosition} and @code{clefOctavation}.  A clef is printed
 when any of these properties are changed.  The following example shows
@@ -940,16 +963,83 @@ possibilities when setting properties manually.
 }
 @end lilypond
 
+
 @seealso
 
 Program reference: @internalsref{Clef}.
 
 
+@node Key signature
+@subsection Key signature
+
+@cindex Key signature
+@cindex @code{\key}
+
+The key signature indicates the tonality in which a piece is played.  It
+is denoted by a set of alterations (flats or sharps) at the start of the
+staff.
+
+Setting or changing the key signature is done with the @code{\key}
+command
+
+@example
+@code{\key} @var{pitch} @var{type}
+@end example
+
+@cindex @code{\minor}
+@cindex @code{\major}
+@cindex @code{\minor}
+@cindex @code{\ionian}
+@cindex @code{\locrian}
+@cindex @code{\aeolian}
+@cindex @code{\mixolydian}
+@cindex @code{\lydian}
+@cindex @code{\phrygian}
+@cindex @code{\dorian}
+@cindex church modes
+
+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},
+@code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
+@code{\phrygian}, and @code{\dorian}.
+
+This command sets the context property
+@code{Staff.keySignature}.  Non-standard key signatures
+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
+more information, see @ref{More about pitches}.
+
+
+@commonprop
+
+A natural sign is printed to cancel any previous accidentals.  This
+can be suppressed by setting the @code{Staff.printKeyCancellation}
+property.
+
+@lilypond[quote,fragment,raggedright,fragment,verbatim,relative=2]
+\key d \major
+a b cis d
+\key g \minor
+a bes c d
+\set Staff.printKeyCancellation = ##f
+\key d \major
+a b cis d
+\key g \minor
+a bes c d
+@end lilypond
+
+
+@seealso
 
+Program reference: @internalsref{KeyCancellation}, @internalsref{KeySignature}.
 
 
 @node Time signature
 @subsection Time signature
+
 @cindex Time signature
 @cindex meter
 @cindex @code{\time}
@@ -958,13 +1048,14 @@ Time signature indicates the metrum of a piece: a regular pattern of
 strong and weak beats.  It is denoted by a fraction at the start of the
 staff.
 
+The time signature is set with the @code{\time} command
 
-The time signature is set or changed by the @code{\time}
-command
 @lilypond[quote,raggedright,fragment,verbatim]
 \time 2/4 c'2 \time 3/4 c'2.
 @end lilypond
 
+@commonprop
+
 The symbol that is printed can be customized with the @code{style}
 property.  Setting it to @code{#'()} uses fraction style for 4/4 and
 2/2 time,
@@ -977,13 +1068,10 @@ property.  Setting it to @code{#'()} uses fraction style for 4/4 and
 \time 2/2 c'1
 @end lilypond
 
-
-
 There are many more options for its layout.  See @ref{Ancient time
 signatures} for more examples.
 
-
-This command sets the property @code{timeSignatureFraction},
+@code{\time} sets the property @code{timeSignatureFraction},
 @code{beatLength} and @code{measureLength} in the @code{Timing}
 context, which is normally aliased to @internalsref{Score}.  The
 property @code{measureLength} determines where bar lines should be
@@ -1018,7 +1106,7 @@ measure is subdivided in 2, 2, 2 and 3.  This is passed to
 
 @seealso
 
-Program reference: @internalsref{TimeSignature}, and @internalsref{Timing_engraver}.
+Program reference: @internalsref{TimeSignature}, and @internalsref{Timing_translator}.
 
 
 @refbugs
@@ -1026,33 +1114,39 @@ Program reference: @internalsref{TimeSignature}, and @internalsref{Timing_engrav
 Automatic beaming does not use the measure grouping specified with
 @code{set-time-signature}.
 
+
 @node Partial measures
 @subsection Partial measures
-@cindex Partial
+
 @cindex anacrusis
+@cindex upbeat
 @cindex partial measure
 @cindex measure, partial
 @cindex shorten measures
 @cindex @code{\partial}
 
-Partial measures, for example in upsteps, are entered using the
-@code{\partial} command
+Partial measures, such as an anacrusis or upbeat, are entered using the
+
 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
 \partial 16*5 c16 cis d dis e | a2. c,4 | b2
 @end lilypond
 
 The syntax for this command is
+
 @example
 \partial @var{duration}
 @end example
+
 This is internally translated into
+
 @example
 \set Timing.measurePosition = -@var{length of duration}
 @end example
-@cindex @code{|}
+
 The property @code{measurePosition} contains a rational number
 indicating how much of the measure has passed at this point.
 
+
 @refbugs
 
 This command does not take into account grace notes at the start of
@@ -1060,75 +1154,49 @@ the music.  When a piece starts with graces notes in the pickup, then
 the @code{\partial} should follow the grace notes
 
 @lilypond[verbatim,quote,raggedright,relative,fragment]
-{
-  \grace f16
-  \partial 4
-  g4
-  a2 g2
-}
+\grace f16
+\partial 4
+g4
+a2 g2
 @end lilypond
 
 
-@node Unmetered music
-@subsection Unmetered music
-
-@cindex @code{\bar}
-
-Bar lines and bar numbers are calculated automatically.  For unmetered
-music (cadenzas, for example), this is not desirable.  By setting
-@code{Score.timing} to false, this automatic timing can be switched
-off.  Empty bar lines,
-
-@example
-\bar ""
-@end example
-
-@noindent
-indicate where line breaks can occur.
-
-@refcommands
-
-@cindex @code{\cadenzaOn}
-@code{\cadenzaOn},
-@cindex @code{\cadenzaOff}
-@code{\cadenzaOff}.
-
-
-
-
 @node Bar lines
 @subsection Bar lines
-@cindex Bar lines
 
+@cindex Bar lines
 @cindex @code{\bar}
 @cindex measure lines
 @cindex repeat bars
 
-
-Bar lines delimit measures, but are also used to indicate repeats.
-Normally, they are inserted automatically.  Line breaks may only
-happen on bar lines.
+Bar lines delimit measures, but are also used to indicate
+repeats.  Normally they are inserted automatically.  Line
+breaks may only happen on bar lines.
 
 Special types of bar lines can be forced with the @code{\bar} command
-@c
+
 @lilypond[quote,raggedright,relative=2,fragment,verbatim]
 c4 \bar "|:" c4
 @end lilypond
 
 The following bar types are available
+
 @lilypondfile[raggedright,quote]{bar-lines.ly}
 
-For allowing line breaks, there is a special command,
+To allow a line break where there is no visible bar line, use
+
 @example
 \bar ""
 @end example
-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.
 
 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 @internalsref{StaffGroup}
-@c
+connected between different staves of a StaffGroup
+
 @lilypond[quote,raggedright,fragment,verbatim]
 <<
   \context StaffGroup <<
@@ -1143,6 +1211,9 @@ connected between different staves of a @internalsref{StaffGroup}
 >>
 @end lilypond
 
+@cindex @code{whichBar}
+@cindex @code{repeatCommands}
+@cindex @code{defaultBarType}
 
 The command @code{\bar }@var{bartype} is a short cut for doing
 @code{\set Timing.whichBar = }@var{bartype}.  Whenever @code{whichBar}
@@ -1153,37 +1224,70 @@ At the start of a measure it is set to the contents of
 @code{Timing.defaultBarType}.  The contents of @code{repeatCommands} are used
 to override default measure bars.
 
-@cindex @code{whichBar}
-@cindex @code{repeatCommands}
-@cindex @code{defaultBarType}
-
 You are encouraged to use @code{\repeat} for repetitions.  See
 @ref{Repeats}.
 
 
-
 @seealso
 
 In this manual: @ref{Repeats}, @ref{System start delimiters}.
 
-
 Program reference: @internalsref{BarLine} (created at
 @internalsref{Staff} level), @internalsref{SpanBar} (across staves).
 
-@cindex bar lines at start of system
-@cindex start of system
+Examples: @inputfileref{input/@/test,bar@/-lines@/.ly},
 
 
+@node Unmetered music
+@subsection Unmetered music
 
-Examples: @inputfileref{input/@/test,bar@/-lines@/.ly},
+@cindex cadenza
+@cindex @code{\cadenzaOn}
+@cindex @code{\cadenzaOff}
 
+Bar lines and bar numbers are calculated automatically.  For unmetered
+music (cadenzas, for example), this is not desirable.  To turn off
+automatic bar lines and bar numbers, use the commands @code{\cadenzaOn}
+and @code{\cadenzaOff}.
+
+@lilypond[verbatim,quote,raggedright,relative=2,fragment]
+c4 d e d
+\cadenzaOn
+c4 c d8 d d f4 g4.
+\cadenzaOff
+\bar "|"
+d4 e d c
+@end lilypond
+
+
+@refbugs
+
+LilyPond will only insert page breaks at a barline.  Unless the unmetered
+music ends before the end of the staff line, you will need to insert
+invisible bar lines
+
+@example
+\bar ""
+@end example
+
+@noindent
+to indicate where line breaks can occur.
 
 
 @node System start delimiters
 @subsection System start delimiters
 
+@cindex start of system
+@cindex Staff, multiple
+@cindex bracket, vertical
+@cindex brace, vertical
+@cindex grand staff
+@cindex staff group
+@cindex staff, choir
+
 Many scores consist of more than one staff.  These staves can be
-joined in three different ways
+joined in four different ways
+
 @itemize @bullet
 @item The group is started with a brace at the left, and bar lines are
 connected.  This is done with the @internalsref{GrandStaff} context.
@@ -1196,7 +1300,6 @@ connected.  This is done with the @internalsref{GrandStaff} context.
 >>
 @end lilypond
 
-
 @item The group is started with a bracket, and bar lines are connected.
 This is done with the
 @internalsref{StaffGroup} context
@@ -1209,6 +1312,16 @@ This is done with the
 >>
 @end lilypond
 
+@item The group is started with a bracket, but bar lines are not
+connected.  This is done with the @internalsref{ChoirStaff} context.
+
+@lilypond[verbatim,raggedright,quote]
+\new ChoirStaff
+\relative <<
+  \new Staff { c1 c }
+  \new Staff { c c }
+>>
+@end lilypond
 
 @item The group is started with a vertical line.  Bar lines are not
 connected.  This is the default for the score.
@@ -1219,15 +1332,8 @@ connected.  This is the default for the score.
   \new Staff { c c }
 >>
 @end lilypond
-
 @end itemize
 
-@cindex Staff, multiple
-@cindex bracket, vertical
-@cindex brace, vertical
-@cindex grand staff
-@cindex staff group
-
 
 @seealso
 
@@ -1238,25 +1344,76 @@ in every context, and that type is determined by the property
 @code{systemStartDelimiter}.
 
 
-@node More than notes
-@section More than notes
-@c silly title; should change.
+@node Staff symbol
+@subsection Staff symbol
 
-This section deals with notation that affects more than one note.
+@cindex adjusting staff symbol
+
+Notes, dynamic signs, etc., are grouped
+with a set of horizontal lines, called a staff (plural `staves').  In
+LilyPond, these lines are drawn using a separate layout object called
+staff symbol.
+
+The staff symbol may be tuned in the number, thickness and distance
+of lines, using properties.  This is demonstrated in the example files
+@inputfileref{input/@/test,staff@/-lines@/.ly},
+@inputfileref{input/@/test,staff@/-size@/.ly}.
+
+In addition, staves may be started and stopped at will. This is done
+with @code{\startStaff} and @code{\stopStaff}.
+
+@lilypond[verbatim,relative=2,fragment]
+b4 b
+\override Staff.StaffSymbol #'line-count = 2
+\stopStaff \startStaff
+b b
+\revert Staff.StaffSymbol #'line-count
+\stopStaff \startStaff
+b b  
+@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
+
+@cindex ossia
+
+@lilypondfile{ossia.ly}
+
+@cindex staff lines, setting number of
+@cindex staff lines, setting thickness of
+@cindex thickness of staff lines, setting
+@cindex number of staff lines, setting
+
+@seealso
+
+Program reference: @internalsref{StaffSymbol}.
+
+Examples: @inputfileref{input/@/test,staff@/-lines@/.ly},
+@inputfileref{input/@/test@/,ossia.ly},
+@inputfileref{input/@/test,staff@/-size@/.ly}.
+
+
+
+@node Connecting notes
+@section Connecting notes
+
+This section deals with notation that affects groups of notes.
 
 @menu
 * Ties::                        
+* Slurs::                       
+* Phrasing slurs::              
 * Automatic beams::             
 * Manual beams::                
 * Grace notes::                 
-* Fingering instructions::      
 @end menu
 
+
 @node Ties
 @subsection Ties
 
-@cindex Tie
-@cindex ties
+@cindex tie
 @cindex @code{~}
 
 A tie connects two adjacent note heads of the same pitch.  The tie in
@@ -1274,7 +1431,7 @@ are connected.  When no note heads match, no ties will be created.
 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
-@c
+
 @lilypond[quote,fragment,raggedright]
 \time 3/4 c'2. c'2 ~ c'4
 @end lilypond
@@ -1295,6 +1452,9 @@ automatic note splitting (see @ref{Automatic note splitting}).  This
 mechanism automatically splits long notes, and ties them across bar
 lines.
 
+
+@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.  For example,
@@ -1316,17 +1476,20 @@ notes need not be consecutive.  This can be achieved by setting the
 @code{\tieNeutral},
 @cindex @code{\tieDotted}
 @code{\tieDotted},
+@cindex @code{\tieDashed}
+@code{\tieDashed},
 @cindex @code{\tieSolid}
 @code{\tieSolid}.
 
+
 @seealso
 
 In this manual: @ref{Automatic note splitting}.
 
-Program reference: @internalsref{TieEvent}, @internalsref{Tie}.
+Program reference: @internalsref{Tie}.
 
-@refbugs
 
+@refbugs
 
 Switching staves when a tie is active will not produce a slanted tie.
 
@@ -1334,6 +1497,105 @@ Formatting of ties is a difficult subject.  The results are often not
 optimal.
 
 
+@node Slurs
+@subsection Slurs
+
+@cindex Slurs
+
+A slur indicates that notes are to be played bound or
+@emph{legato}.  They are entered using parentheses
+
+@lilypond[quote,raggedright,relative=2,fragment,verbatim]
+f( g a) a8 b( a4 g2 f4)
+<c e>2( <b d>2)
+@end lilypond
+
+The direction of a slur can be specified with
+@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is
+either @code{Up}, @code{Down}, or @code{Neutral} (automatically
+selected).
+
+However, there is a convenient shorthand for forcing slur
+directions.  By adding @code{_} or @code{^} before the opening
+parentheses, the direction is also set.  For example,
+
+@lilypond[relative=2,raggedright,quote,verbatim,fragment]
+c4_( c) c^( c)
+@end lilypond
+
+Only one slur can be printed at once.  If you need to print a long
+slur over a few small slurs, please see @ref{Phrasing slurs}.
+
+
+@commonprop
+
+Some composers write two slurs when they want legato chords.  This can
+be achieved in LilyPond by setting @code{doubleSlurs},
+
+@lilypond[verbatim,raggedright,relative,fragment,quote]
+\set doubleSlurs = ##t
+<c e>4 ( <d f> <c e> <d f> )
+@end lilypond
+
+
+@refcommands
+
+@cindex @code{\slurUp}
+@code{\slurUp},
+@cindex @code{\slurDown}
+@code{\slurDown},
+@cindex @code{\slurNeutral}
+@code{\slurNeutral},
+@cindex @code{\slurDashed}
+@code{\slurDashed},
+@cindex @code{\slurDotted}
+@code{\slurDotted},
+@cindex @code{\slurSolid}
+@code{\slurSolid}.
+
+@seealso
+
+Program reference: @seeinternals{Slur}.
+
+
+@node Phrasing slurs
+@subsection Phrasing slurs
+
+@cindex phrasing slurs
+@cindex phrasing marks
+
+A phrasing slur (or phrasing mark) connects notes and is used to
+indicate a musical sentence.  It is written using @code{\(} and @code{\)}
+respectively
+
+@lilypond[quote,raggedright,fragment,verbatim,relative=1]
+\time 6/4 c'\( d( e) f( e) 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.
+
+
+@refcommands
+
+@cindex @code{\phrasingSlurUp}
+@code{\phrasingSlurUp},
+@cindex @code{\phrasingSlurDown}
+@code{\phrasingSlurDown},
+@cindex @code{\phrasingSlurNeutral}
+@code{\phrasingSlurNeutral}.
+
+
+@seealso
+
+Program reference: @internalsref{PhrasingSlur}.
+
+
 @node Automatic beams
 @subsection Automatic beams
 
@@ -1345,9 +1607,10 @@ LilyPond inserts beams automatically
 
 When these automatic decisions are not good enough, beaming can be
 entered explicitly.  It is also possible to define beaming patterns
-that differ from the defaults.
+that differ from the defaults.  See @ref{Setting automatic beam behavior}
+for details.
 
-Individual notes may be marked with @code{\noBeam}, to prevent them
+Individual notes may be marked with @code{\noBeam} to prevent them
 from being beamed
 
 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
@@ -1362,6 +1625,7 @@ Program reference: @internalsref{Beam}.
 
 @node Manual beams
 @subsection Manual beams
+
 @cindex beams, manual
 @cindex @code{]}
 @cindex @code{[}
@@ -1377,7 +1641,11 @@ and end point with @code{[} and @code{]}
 }
 @end lilypond
 
+
+@commonprop
+
 @cindex @code{stemLeftBeamCount}
+@cindex @code{stemRightBeamCount}
 
 Normally, beaming patterns within a beam are determined automatically.
 If necessary, the properties @code{stemLeftBeamCount} and
@@ -1394,14 +1662,11 @@ is erased
       f g a]
 }
 @end lilypond
-@cindex @code{stemRightBeamCount}
-
 
 The property @code{subdivideBeams} can be set in order to subdivide
 all 16th or shorter beams at beat positions, as defined by the
 @code{beatLength} property.
 
-
 @lilypond[fragment,quote,relative=2,verbatim]
 c16[ c c c c c c c]
 \set subdivideBeams = ##t
@@ -1411,38 +1676,27 @@ c16[ c c c c c c c]
 @end lilypond
 @cindex @code{subdivideBeams}
 
-Normally, line breaks are forbidden when beams cross bar lines.  This
+Line breaks are normally forbidden when beams cross bar lines.  This
 behavior can be changed by setting @code{allowBeamBreak}.
 
 @cindex @code{allowBeamBreak}
 @cindex beams and line breaks
-
 @cindex beams, kneed
 @cindex kneed beams
 @cindex auto-knee-gap
 
 
-@seealso
-
-User manual: @ref{Changing context properties on the fly} for the
-@code{\set} command
-
-
 @refbugs
 
-@cindex Frenched staves
-Kneed beams are inserted automatically, when a large gap is detected
+Kneed beams are inserted automatically when a large gap is detected
 between the note heads.  This behavior can be tuned through the object.
 
-
 Automatically kneed cross-staff beams cannot be used together with
 hidden staves.  See @ref{Hiding staves}.
 
 Beams do not avoid collisions with symbols around the notes, such as
 texts and accidentals.
 
-@c FIXME.
-
 
 @node Grace notes
 @subsection Grace notes
@@ -1450,6 +1704,8 @@ texts and accidentals.
 @cindex @code{\grace}
 @cindex ornaments
 @cindex grace notes
+@cindex appoggiatura
+@cindex acciaccatura
 
 Grace notes are ornaments that are written out.  The most common ones
 are acciaccatura, which should be played as very short.  It is denoted
@@ -1459,10 +1715,6 @@ denoted as a slurred note in small print without a slash.  They
 are entered with the commands @code{\acciaccatura} and
 @code{\appoggiatura}, as demonstrated in the following example
 
-
-@cindex appoggiatura
-@cindex acciaccatura
-
 @lilypond[quote,raggedright,relative=2,verbatim,fragment]
 b4 \acciaccatura d8 c4 \appoggiatura e8 d4
 \acciaccatura { g16[ f] } e4
@@ -1508,7 +1760,6 @@ example is shown here with timing tuples
 >>
 @end lilypond
 
-
 The placement of grace notes is synchronized between different staves.
 In the following example, there are two sixteenth grace notes for
 every eighth grace note
@@ -1518,8 +1769,6 @@ every eighth grace note
    \new Staff { c4 \grace { g8[ b] } c4 } >>
 @end lilypond
 
-
-
 If you want to end a note with a grace, use the @code{\afterGrace}
 command.  It takes two arguments: the main note, and the grace notes
 following the main note. 
@@ -1539,10 +1788,8 @@ afterGraceFraction = #(cons 7 8)
 @noindent
 will put the grace note at 7/8 of the main note. 
 
-
 The same effect can be achieved manually by doing
 
-
 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
 \context Voice {
   << { d1^\trill_( }
@@ -1555,9 +1802,6 @@ The same effect can be achieved manually by doing
 By adjusting the duration of the skip note (here it is a half-note),
 the space between the main-note and the grace is adjusted.
 
-
-
-
 A @code{\grace} section will introduce special typesetting settings,
 for example, to produce smaller type, and set directions.  Hence, when
 introducing layout tweaks, they should be inside the grace section,
@@ -1582,242 +1826,74 @@ undefines the Stem direction for this grace, so stems do not always
 point up.
 
 @example
-\new Staff @{
-  #(add-grace-property 'Voice 'Stem 'direction '())
-  @dots{}
-@}
-@end example
-
-@noindent
-Another option is to change the variables @code{startGraceMusic},
-@code{stopGraceMusic}, @code{startAcciaccaturaMusic},
-@code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
-@code{stopAppoggiaturaMusic}.  More information is in the file
-@file{ly/@/grace@/-init@/.ly}.
-
-
-@seealso
-
-Program reference: @internalsref{GraceMusic}.
-
-@refbugs
-
-A score that starts with a @code{\grace} section needs an explicit
-@code{\context Voice} declaration, otherwise the main note and the grace
-note end up on different staves.
-
-Grace note synchronization can also lead to surprises.  Staff notation,
-such as key signatures, bar lines, etc., are also synchronized.  Take
-care when you mix staves with grace notes and staves without, for example,
-
-@lilypond[quote,raggedright,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
-   \new Staff { c4 \bar "|:" d4 } >>
-@end lilypond
-
-@noindent
-This can be remedied by inserting grace skips, for the above example
-
-@example
-\new Staff @{ c4 \bar "|:" \grace s16 d4 @}
-@end example
-
-Grace sections should only be used within sequential music
-expressions.  Nesting or juxtaposing grace sections is not supported,
-and might produce crashes or other errors.
-
-
-@node Fingering instructions
-@subsection Fingering instructions
-
-@cindex fingering
-
-Fingering instructions can be entered using
-@example
-@var{note}-@var{digit}
-@end example
-For finger changes, use markup texts
-
-@lilypond[quote,verbatim,raggedright,fragment,relative=1]
-c4-1 c-2 c-3 c-4
-c^\markup { \finger "2-3" }
-@end lilypond
-
-@cindex finger change
-@cindex scripts
-@cindex superscript
-@cindex subscript
-
-You can use the thumb-script to indicate that a note should be
-played with the thumb (e.g., in cello music)
-@lilypond[quote,verbatim,raggedright,fragment,relative=2]
-<a_\thumb a'-3>8 <b_\thumb b'-3>
-@end lilypond
-
-Fingerings for chords can also be added to individual notes
-of the chord by adding them after the pitches
-@lilypond[quote,verbatim,raggedright,fragment,relative=2]
-< c-1 e-2 g-3 b-5 >4
-@end lilypond
-
-@noindent
-In this case, setting @code{fingeringOrientations} will put fingerings next
-to note heads
-
-@lilypond[quote,verbatim,raggedright,fragment,relative=1]
-\set fingeringOrientations = #'(left down)
-<c-1 es-2 g-4 bes-5 > 4
-\set fingeringOrientations = #'(up right down)
-<c-1 es-2 g-4 bes-5 > 4
-@end lilypond
-
-Using this feature, it is also possible to put fingering instructions
-very close to note heads in monophonic music,
-
-@lilypond[verbatim,raggedright,quote,fragment]
-\set fingeringOrientations = #'(right)
-<es'-2>4
-@end lilypond
-
-
-@seealso
-
-Program reference: @internalsref{FingerEvent}, and @internalsref{Fingering}.
-
-Examples: @inputfileref{input/@/regression,finger@/-chords@/.ly}.
-
-
-
-
-@node Expressive marks
-@section Expressive marks
-
-Expressive marks help musicians to bring more to the music than simple
-notes and rhythms.
-
-@menu
-* Slurs::                       
-* Phrasing slurs::              
-* Articulations::               
-* Dynamics::                    
-* Breath marks::                
-* Running trills::              
-* Glissando::                   
-* Arpeggio::                    
-@end menu
-
-
-@node Slurs
-@subsection Slurs
-@cindex Slurs
-
-A slur indicates that notes are to be played bound or @emph{legato}.
-
-They are entered using parentheses
-@lilypond[quote,raggedright,relative=2,fragment,verbatim]
-f( g a) a8 b( a4 g2 f4)
-<c e>2( <b d>2)
-@end lilypond
-
-The direction of a slur can be set with the
-generic commands
-
-@example
-\override Slur #'direction = #UP
-\slurUp            % shortcut for the previous line
-@end example
-
-@noindent
-However, there is a convenient shorthand for forcing slur
-directions.  By adding @code{_} or @code{^} before the opening
-parentheses, the direction is also set.  For example,
-
-@lilypond[relative=2,raggedright,quote,verbatim,fragment]
-c4_( c) c^( c)
-@end lilypond
-
-Some composers write two slurs when they want legato chords.  This can
-be achieved in LilyPond by setting @code{doubleSlurs},
-
-@lilypond[verbatim,raggedright,relative,fragment,quote]
-\set doubleSlurs = ##t
-<c e>4 ( <d f> <c e> <d f> )
-@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}.
-
-
-@refcommands
+\new Staff @{
+  #(add-grace-property 'Voice 'Stem 'direction '())
+  @dots{}
+@}
+@end example
 
+@noindent
+Another option is to change the variables @code{startGraceMusic},
+@code{stopGraceMusic}, @code{startAcciaccaturaMusic},
+@code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
+@code{stopAppoggiaturaMusic}.  More information is in the file
+@file{ly/@/grace@/-init@/.ly}.
 
-@cindex @code{\slurUp}
-@code{\slurUp},
-@cindex @code{\slurDown}
-@code{\slurDown},
-@cindex @code{\slurNeutral}
-@code{\slurNeutral},
-@cindex @code{\slurDashed}
-@code{\slurDashed},
-@cindex @code{\slurDotted}
-@code{\slurDotted},
-@cindex @code{\slurSolid}
-@code{\slurSolid}.
 
 @seealso
 
-Program reference: @seeinternals{Slur}, and @internalsref{SlurEvent}.
+Program reference: @internalsref{GraceMusic}.
 
 
-@node Phrasing slurs
-@subsection Phrasing slurs
+@refbugs
 
-@cindex phrasing slurs
-@cindex phrasing marks
+A score that starts with a @code{\grace} section needs an explicit
+@code{\context Voice} declaration, otherwise the main note and the grace
+note end up on different staves.
 
-A phrasing slur (or phrasing mark) connects chords and is used to
-indicate a musical sentence.  It is written using @code{\(} and @code{\)}
-respectively
+Grace note synchronization can also lead to surprises.  Staff notation,
+such as key signatures, bar lines, etc., are also synchronized.  Take
+care when you mix staves with grace notes and staves without, for example,
 
-@lilypond[quote,raggedright,fragment,verbatim,relative=1]
-\time 6/4 c'\( d( e) f( e) d\)
+@lilypond[quote,raggedright,relative=2,verbatim,fragment]
+<< \new Staff { e4 \bar "|:" \grace c16 d4 }
+   \new Staff { c4 \bar "|:" d4 } >>
 @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}.
-
-The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurNeutral}
-will only affect normal slurs and not phrasing slurs.
+@noindent
+This can be remedied by inserting grace skips, for the above example
 
-You cannot have simultaneous phrasing slurs.
+@example
+\new Staff @{ c4 \bar "|:" \grace s16 d4 @}
+@end example
 
-@refcommands
+Grace sections should only be used within sequential music
+expressions.  Nesting or juxtaposing grace sections is not supported,
+and might produce crashes or other errors.
 
-@cindex @code{\phrasingSlurUp}
-@code{\phrasingSlurUp},
-@cindex @code{\phrasingSlurDown}
-@code{\phrasingSlurDown},
-@cindex @code{\phrasingSlurNeutral}
-@code{\phrasingSlurNeutral}.
 
-@seealso
 
-Program reference: see also @internalsref{PhrasingSlur}, and
-@internalsref{PhrasingSlurEvent}.
+@node Expressive marks
+@section Expressive marks
 
-@refbugs
+Expressive marks help musicians to bring more to the music than simple
+notes and rhythms.
 
-Putting phrasing slurs over rests leads to spurious warnings.
+@menu
+* Articulations::               
+* Fingering instructions::      
+* Dynamics::                    
+* Breath marks::                
+* Running trills::              
+* Glissando::                   
+* Arpeggio::                    
+@end menu
 
 
 @node Articulations
 @subsection Articulations
-@cindex Articulations
 
-@cindex articulations
+@cindex Articulations
 @cindex scripts
 @cindex ornaments
 
@@ -1831,12 +1907,10 @@ articulation.  They are demonstrated here
 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,raggedright,fragment,verbatim]
 c''4^^ c''4_^
 @end lilypond
@@ -1850,8 +1924,6 @@ e.g.,
 c\fermata c^\fermata c_\fermata
 @end lilypond
 
-
-
 @cindex accent
 @cindex marcato
 @cindex staccatissimo
@@ -1887,6 +1959,8 @@ Here is a chart showing all scripts available,
 @lilypondfile[raggedright,quote]{script-chart.ly}
 
 
+@commonprop
+
 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
@@ -1896,7 +1970,6 @@ 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,raggedright,fragment,quote]
 \once \override TextScript #'script-priority = #-100
 a4^\prall^\markup { \sharp }
@@ -1906,11 +1979,10 @@ a4^\prall^\markup { \sharp }
 @end lilypond
 
 
-
-
 @seealso
 
-Program reference: @internalsref{ScriptEvent}, and @internalsref{Script}.
+Program reference: @internalsref{Script}.
+
 
 @refbugs
 
@@ -1918,12 +1990,68 @@ These signs appear in the printed output but have no effect on the
 MIDI rendering of the music.
 
 
-@node Dynamics
-@subsection Dynamics
-@cindex Dynamics
+@node Fingering instructions
+@subsection Fingering instructions
+
+@cindex fingering
+@cindex finger change
+
+Fingering instructions can be entered using
+@example
+@var{note}-@var{digit}
+@end example
+For finger changes, use markup texts
+
+@lilypond[quote,verbatim,raggedright,fragment,relative=1]
+c4-1 c-2 c-3 c-4
+c^\markup { \finger "2 - 3" }
+@end lilypond
+
+You can use the thumb-script to indicate that a note should be
+played with the thumb (e.g., in cello music)
+@lilypond[quote,verbatim,raggedright,fragment,relative=2]
+<a_\thumb a'-3>8 <b_\thumb b'-3>
+@end lilypond
+
+Fingerings for chords can also be added to individual notes
+of the chord by adding them after the pitches
+@lilypond[quote,verbatim,raggedright,fragment,relative=2]
+< c-1 e-2 g-3 b-5 >4
+@end lilypond
+
+
+@commonprop
+
+You may exercise greater control over fingering chords by
+setting @code{fingeringOrientations}
+
+@lilypond[quote,verbatim,raggedright,fragment,relative=1]
+\set fingeringOrientations = #'(left down)
+<c-1 es-2 g-4 bes-5 > 4
+\set fingeringOrientations = #'(up right down)
+<c-1 es-2 g-4 bes-5 > 4
+@end lilypond
+
+Using this feature, it is also possible to put fingering instructions
+very close to note heads in monophonic music,
+
+@lilypond[verbatim,raggedright,quote,fragment]
+\set fingeringOrientations = #'(right)
+<es'-2>4
+@end lilypond
+
+
+@seealso
+
+Program reference: @internalsref{Fingering}.
+
+Examples: @inputfileref{input/@/regression,finger@/-chords@/.ly}.
 
 
+@node Dynamics
+@subsection Dynamics
 
+@cindex Dynamics
 @cindex @code{\ppp}
 @cindex @code{\pp}
 @cindex @code{\p}
@@ -1941,12 +2069,11 @@ MIDI rendering of the music.
 @cindex @code{\sfz}
 @cindex @code{\rfz}
 
-
 Absolute dynamic marks are specified using a command after a note
 @code{c4\ff}.  The available dynamic marks are @code{\ppp},
 @code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
 @code{\fff}, @code{\fff}, @code{\fp}, @code{\sf}, @code{\sff},
-@code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}
+@code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.
 
 @lilypond[quote,verbatim,raggedright,fragment,relative=2]
 c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
@@ -1955,9 +2082,7 @@ c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz
 
 @cindex @code{\<}
 @cindex @code{\>}
-@cindex @code{\"!}
-
-
+@cindex @code{\!}
 
 A crescendo mark is started with @code{\<} and terminated with
 @code{\!} or an absolute dynamic.  A decrescendo is started with
@@ -1977,8 +2102,11 @@ example
 \override Staff.Hairpin #'minimum-length = #5
 @end example
 
-You can also use a text saying @emph{cresc.} instead of hairpins.  Here
-is an example how to do it
+@cindex crescendo
+@cindex decrescendo
+@cindex diminuendo
+
+You can also use a text saying @emph{cresc.} instead of hairpins
 
 @lilypond[quote,raggedright,fragment,relative=2,verbatim]
 \setTextCresc
@@ -1991,9 +2119,6 @@ c\> d e f\!
 e\> d c b\!
 @end lilypond
 
-@cindex crescendo
-@cindex decrescendo
-
 You can also supply your own texts
 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
 \set crescendoText = \markup { \italic "cresc. poco" }
@@ -2001,8 +2126,6 @@ You can also supply your own texts
 a'2\< a a a\!\mf
 @end lilypond
 
-@cindex diminuendo
-
 To create new dynamic marks or text that should be aligned
 with dynamics, see @ref{New dynamic marks}.
 
@@ -2016,28 +2139,26 @@ with dynamics, see @ref{New dynamic marks}.
 @cindex @code{\dynamicNeutral}
 @code{\dynamicNeutral}.
 
-@cindex direction, of dynamics
 
 @seealso
 
-Program reference: @internalsref{CrescendoEvent},
-@internalsref{DecrescendoEvent}, and
-@internalsref{AbsoluteDynamicEvent}.
+Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}.
+Vertical positioning of these symbols is handled by
+@internalsref{DynamicLineSpanner}.
 
-Dynamics are @internalsref{DynamicText} and @internalsref{Hairpin}
-objects.  Vertical positioning of these symbols is handled by the
-@internalsref{DynamicLineSpanner} object.
 
 @node Breath marks
 @subsection Breath marks
 
 Breath marks are entered using @code{\breathe}
 
-
 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
 c'4 \breathe d4
 @end lilypond
 
+
+@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,
@@ -2051,8 +2172,7 @@ d4
 
 @seealso
 
-Program reference: @internalsref{BreathingSign},
-@internalsref{BreathingSignEvent}.
+Program reference: @internalsref{BreathingSign}.
 
 Examples: @inputfileref{input/@/regression,breathing@/-sign@/.ly}.
 
@@ -2063,7 +2183,6 @@ Examples: @inputfileref{input/@/regression,breathing@/-sign@/.ly}.
 Long running trills are made with @code{\startTrillSpan} and
 @code{\stopTrillSpan},
 
-
 @lilypond[verbatim,raggedright,relative=2,quote,fragment]
 \new Voice {
   << { c1 \startTrillSpan }
@@ -2071,6 +2190,7 @@ Long running trills are made with @code{\startTrillSpan} and
   c4 }
 @end lilypond
 
+
 @refcommands
 
 @code{\startTrillSpan},
@@ -2078,18 +2198,16 @@ Long running trills are made with @code{\startTrillSpan} and
 @code{\stopTrillSpan}.
 @cindex @code{\stopTrillSpan}
 
-@seealso
-
-Program reference: @internalsref{TrillSpanner},
-@internalsref{TrillSpanEvent}.
 
+@seealso
 
+Program reference: @internalsref{TrillSpanner}.
 
 
 @node Glissando
 @subsection Glissando
-@cindex Glissando
 
+@cindex Glissando
 @cindex @code{\glissando}
 
 A glissando is a smooth change in pitch.  It is denoted by a line or a
@@ -2097,17 +2215,19 @@ wavy line between two notes.  It is requested by attaching
 @code{\glissando} to a note
 
 @lilypond[quote,raggedright,fragment,relative=2,verbatim]
-c\glissando c'
+c2\glissando c'
+\override Glissando #'style = #'zigzag
+c2\glissando c,
 @end lilypond
 
+
 @seealso
 
-Program reference: @internalsref{Glissando}, and @internalsref{GlissandoEvent}.
+Program reference: @internalsref{Glissando}.
 
 Example files: @file{input/@/regression/@/glissando@/.ly}.
 
 
-
 @refbugs
 
 Printing text over the line (such as @emph{gliss.}) is not supported.
@@ -2115,29 +2235,24 @@ Printing text over the line (such as @emph{gliss.}) is not supported.
 
 @node Arpeggio
 @subsection Arpeggio
-@cindex Arpeggio
 
+@cindex Arpeggio
 @cindex broken chord
 @cindex @code{\arpeggio}
 
 You can specify an arpeggio sign (also known as broken chord) on a
 chord by attaching an @code{\arpeggio} to a chord
 
-
 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
 <c e g c>\arpeggio
 @end lilypond
 
-When an arpeggio crosses staves, you attach an arpeggio to the chords
-in both staves, and set
-@internalsref{PianoStaff}.@code{connectArpeggios}
+A square bracket on the left indicates that the player should not
+arpeggiate the chord
 
 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
-\context PianoStaff <<
-  \set PianoStaff.connectArpeggios = ##t
-  \new Staff { <c' e g c>\arpeggio }
-  \new Staff { \clef bass <c,, e g>\arpeggio }
->>
+\arpeggioBracket
+<c' e g c>\arpeggio
 @end lilypond
 
 The direction of the arpeggio is sometimes denoted by adding an
@@ -2152,19 +2267,24 @@ arrowhead to the wiggly line
 }
 @end lilypond
 
-A square bracket on the left indicates that the player should not
-arpeggiate the chord
 
-@c todo: ugh, lousy typography.  Look for real example. --hwn
+@commonprop
+
+When an arpeggio crosses staves, you may attach an arpeggio to the chords
+in both staves and set
+@internalsref{PianoStaff}.@code{connectArpeggios}
 
 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
-\arpeggioBracket
-<c' e g c>\arpeggio
+\context PianoStaff <<
+  \set PianoStaff.connectArpeggios = ##t
+  \new Staff { <c' e g c>\arpeggio }
+  \new Staff { \clef bass <c,, e g>\arpeggio }
+>>
 @end lilypond
 
+
 @refcommands
 
-@cindex @code{\arpeggio}
 @code{\arpeggio},
 @cindex @code{\arpeggioUp}
 @code{\arpeggioUp},
@@ -2175,13 +2295,12 @@ arpeggiate the chord
 @cindex @code{\arpeggioBracket}
 @code{\arpeggioBracket}.
 
+
 @seealso
 
 Notation manual: @ref{Ties}, for writing out arpeggios.
 
-Program reference: @internalsref{ArpeggioEvent},
-@internalsref{Arpeggio}.
-
+Program reference: @internalsref{Arpeggio}.
 
 
 @refbugs
@@ -2204,8 +2323,10 @@ one voice on the same staff.
 * Collision Resolution::        
 @end menu
 
+
 @node Basic polyphony
 @subsection Basic polyphony
+
 @cindex polyphony
 
 The easiest way to enter fragments with more than one voice on a staff
@@ -2216,11 +2337,12 @@ them simultaneously, separating the voices with @code{\\}
 
 @lilypond[quote,verbatim,fragment]
 \new Staff \relative c' {
-       c16 d e f
-       << { g4 f e | d2 e2 } \\
-       { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
-       { s2. | s4 b4 c2 }
-       >>
+  c16 d e f
+  <<
+    { g4 f e | d2 e2 } \\
+    { r8 e4 d c8 ~ | c b16 a b8 g ~ g2 } \\
+    { s2. | s4 b4 c2 }
+  >>
 }
 @end lilypond
 
@@ -2234,33 +2356,43 @@ appropriately.
 These voices are all seperate from the voice that contains the notes just 
 outside the @code{<< \\ >>} construct.  This should be noted when making 
 changes at the voice level.  This also means that slurs and ties cannot go 
-into or out of a @code{<< \\ >>} construct.  
-Conversely, parallel voices from separate @code{<< \\ >>} constructs on the 
-same staff are the the same voice.  
-Here is the same example, with different noteheads for each voice.  
-Note that the change to the note-head style in the main voice does not affect
+into or out of a @code{<< \\ >>} construct.  Conversely, parallel voices
+from separate @code{<< \\ >>} constructs on the same staff are the the
+same voice.  Here is the same example, with different noteheads for each
+voice.  Note that the change to the note-head style in the main voice does not affect
 the inside of the @code{<< \\ >>} constructs.  Also, the change to the second
 voice in the first @code{<< \\ >>} construct is effective in the second
 @code{<< \\ >>}, and the voice is tied accross the two constructs.
 
 @lilypond[quote,verbatim,fragment]
 \new Staff \relative c' {
-       \override NoteHead #'style = #'cross
-       c16 d e f
-       <<      
-               { g4 f e } \\
-               { \override NoteHead #'style = #'triangle
-                       r8 e4 d c8 ~ 
-               }
-       >> |
-       <<
-               { d2 e2 } \\ 
-               { c8 b16 a b8 g ~ g2 } \\
-               { \override NoteHead #'style = #'slash s4 b4 c2 }
-       >>
+  \override NoteHead #'style = #'cross
+  c16 d e f
+  <<   
+    { g4 f e } \\
+    { \override NoteHead #'style = #'triangle
+    r8 e4 d c8 ~ }
+  >> |
+  <<
+    { d2 e2 } \\ 
+    { c8 b16 a b8 g ~ g2 } \\
+    { \override NoteHead #'style = #'slash s4 b4 c2 }
+  >>
 }
 @end lilypond
 
+Polyphony does not change the relationship of notes within a
+@code{\relative @{ @}} block.  Each note is calculated relative
+to the note immediately preceding it.
+
+@example
+\relative @{ noteA << noteB \\ noteC >> noteD @}
+@end example
+
+@code{noteC} is relative to @code{noteB}, not @code{noteA};
+@code{noteD} is relative to @code{noteC}, not @code{noteB} or
+@code{noteA}.
+
 @node Explicitly instantiating voices
 @subsection Explicitly instantiating voices
 
@@ -2284,16 +2416,12 @@ is equivalent to
 >>
 @end example
 
-@cindex @code{\voiceOne}
-@cindex @code{\voiceFour}
-
 The @code{\voiceXXX} commands set the direction of stems, slurs, ties,
 articulations, text annotations, augmentation dots of dotted
 notes, and fingerings.  @code{\voiceOne} and @code{\voiceThree} make
 these objects point upwards, while @code{\voiceTwo} and @code{\voiceFour}
 make them point downwards.  
 The command @code{\oneVoice} will revert back to the normal setting.
-@cindex @code{\oneVoice}
 
 An expression that appears directly inside a @code{<< >>} belongs to 
 the main voice.  This is useful when extra voices appear while the main
@@ -2303,41 +2431,41 @@ melody is now in a single voice context.
 
 @lilypond[quote,raggedright,verbatim]
 \new Staff \relative c' {
-       \override NoteHead #'style = #'cross
-       c16 d e f 
-       \voiceOne
-       <<      
-               { g4 f e | d2 e2}
-               \context Voice="1" { \voiceTwo
-                       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 
-                       \oneVoice
-               }
-               \new Voice { \voiceThree 
-                       s2. | s4 b4 c2 
-                       \oneVoice
-               }
-       >>
-       \oneVoice
+  \override NoteHead #'style = #'cross
+  c16 d e f 
+  \voiceOne
+  <<   
+    { g4 f e | d2 e2 }
+    \context Voice="1" { \voiceTwo
+      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 
+      \oneVoice
+    }
+    \new Voice { \voiceThree 
+      s2. | s4 b4 c2 
+      \oneVoice
+    }
+  >>
+  \oneVoice
 }
 @end lilypond
 
 The correct definition of the voices allows the melody to be slurred.
 @lilypond[quote,raggedright,verbatim]
 \new Staff \relative c' {
-       c16^( d e f 
-       \voiceOne
-       <<      
-               { g4 f e | d2 e2) }  
-               \context Voice="1" { \voiceTwo
-                       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 
-                       \oneVoice
-               }
-               \new Voice { \voiceThree 
-                       s2. s4 b4 c2 
-                       \oneVoice
-               }
-       >>
-       \oneVoice
+  c16^( d e f 
+  \voiceOne
+  <<   
+    { g4 f e | d2 e2) }  
+    \context Voice="1" { \voiceTwo
+      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 
+      \oneVoice
+    }
+    \new Voice { \voiceThree 
+      s2. s4 b4 c2 
+      \oneVoice
+    }
+  >>
+  \oneVoice
 }
 @end lilypond
 
@@ -2347,26 +2475,27 @@ the music.
 
 @lilypond[quote,raggedright,verbatim]
 \new Staff \relative c' {
-       c16^( d e f 
-       \voiceOne
-       <<      
-               { g4 f e | d2 e2) }  
-               \context Voice="1" { \voiceTwo
-                       r8 e4 d c8 ~ | 
-                       <<
-                               {c8 b16 a b8 g ~ g2} 
-                               \new Voice { \voiceThree 
-                                       s4 b4 c2 
-                                       \oneVoice
-                               }
-                       >>
-                       \oneVoice
-               }
-       >>
-       \oneVoice
+  c16^( d e f 
+  \voiceOne
+  <<   
+    { g4 f e | d2 e2) }  
+    \context Voice="1" { \voiceTwo
+      r8 e4 d c8 ~ | 
+      <<
+        {c8 b16 a b8 g ~ g2} 
+        \new Voice { \voiceThree 
+          s4 b4 c2 
+          \oneVoice
+        }
+      >>
+    \oneVoice
+    }
+  >>
+  \oneVoice
 }
 @end lilypond
 
+
 @node Collision Resolution
 @subsection Collision Resolution
 
@@ -2402,8 +2531,6 @@ for example
 
 @refcommands
 
-
-
 @cindex @code{\oneVoice}
 @code{\oneVoice},
 @cindex @code{\voiceOne}
@@ -2415,8 +2542,6 @@ for example
 @cindex @code{\voiceFour}
 @code{\voiceFour}.
 
-
-
 @cindex @code{\shiftOn}
 @code{\shiftOn},
 @cindex @code{\shiftOnn}
@@ -2430,7 +2555,6 @@ two) have @code{\shiftOff}, while the inner voices (three and four)
 have @code{\shiftOn}.  @code{\shiftOnn} and @code{\shiftOnnn} define
 further shift levels.
 
-
 When LilyPond cannot cope, the @code{force-hshift}
 property of the @internalsref{NoteColumn} object and pitched rests can
 be used to override typesetting decisions.
@@ -2448,7 +2572,6 @@ be used to override typesetting decisions.
 @end lilypond
 
 
-
 @seealso
 
 Program reference: the objects responsible for resolving collisions are
@@ -2464,7 +2587,6 @@ Examples:
 
 @refbugs
 
-
 When using @code{merge-differently-headed} with an upstem eighth or a
 shorter note, and a downstem half note, the eighth note gets the wrong
 offset.
@@ -2492,6 +2614,7 @@ for repetitions.
 * Measure repeats::             
 @end menu
 
+
 @node Repeat types
 @subsection Repeat types
 
@@ -2518,7 +2641,6 @@ used to typeset two lines of lyrics in songs with repeats, see
 @inputfileref{input,star-spangled-banner@/.ly}.
 @end ignore
 
-@c tremolo, beamed
 @item tremolo
 Make tremolo beams.  These are not played in MIDI output by default.
 
@@ -2529,10 +2651,10 @@ declared within a Voice context.
 
 @end table
 
+
 @node Repeat syntax
 @subsection Repeat syntax
 
-
 LilyPond has one syntactic construct for specifying different types of
 repeats.  The syntax is
 
@@ -2543,10 +2665,15 @@ repeats.  The syntax is
 If you have alternative endings, you may add
 @cindex @code{\alternative}
 @example
-\alternative @{ @var{alternative1}
-               @var{alternative2}
-               @var{alternative3} @dots{} @}
+\alternative @{
+  @var{alternative1}
+  @var{alternative2}
+  @var{alternative3}
+  @dots{}
+@}
 @end example
+
+@noindent
 where each @var{alternative} is a music expression.  If you do not
 give enough alternatives for all of the repeats, the first alternative
 is assumed to be played more than once.
@@ -2565,7 +2692,6 @@ c1
 \alternative { {d2 d} {f f,} }
 @end lilypond
 
-
 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
 \context Staff {
   \partial 4
@@ -2578,8 +2704,6 @@ 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.
 
-
-
 @lilypond[verbatim,raggedright,quote]
 \relative c''{
   \time 3/4
@@ -2600,12 +2724,11 @@ 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}.
 
-@c not necessary
-@c @inputfileref{input/@/regression,volta@/-chord@/-names@/.ly}.
-
 
 @refbugs
 
+@cindex repeat, ambiguous
+
 A nested repeat like
 
 @example
@@ -2619,9 +2742,6 @@ is ambiguous, since it is is not clear to which @code{\repeat} the
 @code{\alternative} belongs.  This ambiguity is resolved by always
 having the @code{\alternative} belong to the inner @code{\repeat}.
 For clarity, it is advisable to use braces in such situations.
-@cindex ambiguity
-
-
 
 Timing information is not remembered at the start of an alternative,
 so after a repeat timing information must be reset by hand, for
@@ -2629,20 +2749,19 @@ example by setting @code{Score.measurePosition} or entering
 @code{\partial}.  Similarly, slurs or ties are also not repeated.
 
 
-
-
 @node Repeats and MIDI
 @subsection Repeats and MIDI
 
 @cindex expanding repeats
+@cindex @code{\unfoldRepeats}
 
 With a little bit of tweaking, all types of repeats can be present
 in the MIDI output.  This is achieved by applying the
-@code{\unfoldrepeats} music function.  This functions changes all
+@code{\unfoldRepeats} music function.  This functions changes all
 repeats to unfold repeats.
 
 @lilypond[quote,verbatim,fragment,linewidth=8.0\cm]
-\unfoldrepeats {
+\unfoldRepeats {
   \repeat tremolo 8 {c'32 e' }
   \repeat percent 2 { c''8 d'' }
   \repeat volta 2 {c'4 d' e' f'}
@@ -2654,7 +2773,7 @@ repeats to unfold repeats.
 \bar "|."
 @end lilypond
 
-When creating a score file using @code{\unfoldrepeats} for midi, then
+When creating a score file using @code{\unfoldRepeats} for midi, then
 it is necessary to make two @code{\score} blocks.  One for MIDI (with
 unfolded repeats) and one for notation (with volta, tremolo, and
 percent repeats).  For example,
@@ -2665,11 +2784,12 @@ percent repeats).  For example,
   \layout @{ .. @}
 @}
 \score @{
-  \unfoldrepeats @var{..music..}
+  \unfoldRepeats @var{..music..}
   \midi @{ .. @}
 @}
 @end example
 
+
 @node Manual repeat commands
 @subsection Manual repeat commands
 
@@ -2704,7 +2824,6 @@ c4 c4
 @end lilypond
 
 
-
 @seealso
 
 Program reference: @internalsref{VoltaBracket}, @internalsref{RepeatedMusic},
@@ -2712,8 +2831,10 @@ Program reference: @internalsref{VoltaBracket}, @internalsref{RepeatedMusic},
 @internalsref{UnfoldedRepeatedMusic}, and
 @internalsref{FoldedRepeatedMusic}.
 
+
 @node Tremolo repeats
 @subsection Tremolo repeats
+
 @cindex tremolo beams
 
 To place tremolo marks between notes, use @code{\repeat} with tremolo
@@ -2735,19 +2856,20 @@ note should not be surrounded by braces.
 Similar output is obtained using the tremolo subdivision, described in
 @ref{Tremolo subdivisions}.
 
+
 @seealso
 
 In this manual: @ref{Tremolo subdivisions}, @ref{Repeats}.
 
-Program reference: tremolo beams are @internalsref{Beam} objects.  Single stem
-tremolos are @internalsref{StemTremolo} objects.  The music expression is
-@internalsref{TremoloEvent}.
+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
+
 @cindex tremolo marks
 @cindex @code{tremoloFlags}
 
@@ -2762,19 +2884,18 @@ used
 c'2:8 c':32 | c': c': |
 @end lilypond
 
-@c [TODO: stok is te kort bij 32en]
-@c   somebody want to translate that into English?
-@c   `Stem is too short for 32nds' (wl)
 
 @refbugs
 
 Tremolos entered in this way do not carry over into the MIDI output.
 
+
 @seealso
 
 In this manual: @ref{Tremolo repeats}.
 
-Elsewhere: @internalsref{StemTremolo}, @internalsref{TremoloEvent}.
+Elsewhere: @internalsref{StemTremolo}.
+
 
 @node Measure repeats
 @subsection Measure repeats
@@ -2795,11 +2916,10 @@ Percent repeats must be declared within a @code{Voice} context.
 }
 @end lilypond
 
+
 @seealso
 
 Program reference: @internalsref{RepeatSlash}, @internalsref{PercentRepeat},
 @internalsref{PercentRepeatedMusic}, and
 @internalsref{DoublePercentRepeat}.
 
-
-