]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/notation.itely
Minor editing.
[lilypond.git] / Documentation / user / notation.itely
index 02aada2296543a3a2d15c305c8cdb3ab1fda9430..14665f888aca7e13f76f54f3d97fdb0ef143f7aa 100644 (file)
@@ -13,24 +13,24 @@ by LilyPond.  It is intended as a reference for users who are already
 somewhat familiar with LilyPond.
 
 @menu
-* Note entry::
-* Easier music entry::
-* Staff notation::
-* Polyphony::
-* Beaming::
-* Accidentals::
-* Expressive marks::
-* Repeats::
-* Rhythmic music::
-* Piano music::
-* Vocal music::
-* Other instrument specific notation::
-* Tablatures::
-* Popular music::
-* Orchestral music::
-* Ancient notation::
-* Contemporary notation::
-* Educational use::
+* Note entry::                  
+* Easier music entry::          
+* Staff notation::              
+* Polyphony::                   
+* Beaming::                     
+* Accidentals::                 
+* Expressive marks::            
+* Repeats::                     
+* Rhythmic music::              
+* Piano music::                 
+* Vocal music::                 
+* Other instrument specific notation::  
+* Tablatures::                  
+* Popular music::               
+* Orchestral music::            
+* Ancient notation::            
+* Contemporary notation::       
+* Educational use::             
 @end menu
 
 @c FIXME: Note entry vs Music entry at top level menu is confusing.
@@ -43,19 +43,19 @@ This section is about basic notation elements like notes, rests, and
 related constructs, such as stems, tuplets and ties.
 
 @menu
-* Notes::
-* Pitches::
-* Chromatic alterations::
-* Micro tones::
-* Chords::
-* Rests::
-* Skips::
-* Durations::
-* Augmentation dots::
-* Scaling durations::
-* Stems::
-* Ties::
-* Tuplets::
+* Notes::                       
+* Pitches::                     
+* Chromatic alterations::       
+* Micro tones::                 
+* Chords::                      
+* Rests::                       
+* Skips::                       
+* Durations::                   
+* Augmentation dots::           
+* Scaling durations::           
+* Stems::                       
+* Ties::                        
+* Tuplets::                     
 @end menu
 
 
@@ -107,6 +107,17 @@ 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
@@ -581,11 +592,11 @@ website for more information.
 
 
 @menu
-* Relative octaves::
-* Octave check::
-* Bar check::
-* Skipping corrected music::
-* Automatic note splitting::
+* Relative octaves::            
+* Octave check::                
+* Bar check::                   
+* Skipping corrected music::    
+* Automatic note splitting::    
 @end menu
 
 
@@ -839,16 +850,16 @@ such as key signatures, clefs and time signatures.
 @cindex Staff notation
 
 @menu
-* Staff symbol::
-* Key signature::
-* Clef::
-* Ottava brackets::
-* Time signature::
-* Partial measures::
-* Unmetered music::
-* Bar lines::
-* Time administration::
-* Controlling formatting of prefatory matter::
+* Staff symbol::                
+* Key signature::               
+* Clef::                        
+* Ottava brackets::             
+* Time signature::              
+* Partial measures::            
+* Unmetered music::             
+* Bar lines::                   
+* Time administration::         
+* Controlling formatting of prefatory matter::  
 @end menu
 
 @node Staff symbol
@@ -918,6 +929,24 @@ 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}.
@@ -997,18 +1026,21 @@ example,
 
 This command is equivalent to setting @code{clefGlyph},
 @code{clefPosition} (which controls the Y position of the clef),
-@code{centralCPosition} and @code{clefOctavation}.  A clef is printed
+@code{middleCPosition} and @code{clefOctavation}.  A clef is printed
 when any of these properties are changed.  The following example shows
 possibilities when setting properties manually.
 
+@ignore
+should to be fixed very quickly  -gp
+
 @lilypond[quote,raggedright,verbatim]
 {
-  \set Staff.clefGlyph = #"clefs-F"
+  \set Staff.clefGlyph = #"clefs.F"
   \set Staff.clefPosition = #2
   c'4
-  \set Staff.clefGlyph = #"clefs-G"
+  \set Staff.clefGlyph = #"clefs.G"
   c'4
-  \set Staff.clefGlyph = #"clefs-C"
+  \set Staff.clefGlyph = #"clefs.C"
   c'4
   \set Staff.clefOctavation = #7
   c'4
@@ -1017,9 +1049,12 @@ possibilities when setting properties manually.
   c'4
   \clef "bass"
   c'4
+  \set Staff.middleCPosition = #4
+  c'4
 }
 @end lilypond
 
+@end ignore
 
 @seealso
 
@@ -1336,15 +1371,17 @@ indefinitely.
 Timing can be changed by setting any of these variables explicitly.
 In the next example, the 4/4 time signature is printed, but
 @code{measureLength} is set to 5/4.  After a while, the measure is
-shortened by 1/8, by setting @code{measurePosition} to -3/8 at 2/4 in
-the measure, so the next bar line will fall at 2/4 + 3/8.
+shortened by 1/8, by setting @code{measurePosition} to 7/8 at 2/4
+in the measure, so the next bar line will fall at 2/4 + 3/8.  The
+3/8 arises because 5/4 normally has 10/8, but we have manually
+set the measure position to be 7/8 and 10/8 - 7/8 = 3/8.
 
 @lilypond[quote,raggedright,verbatim,relative,fragment]
 \set Score.measureLength = #(ly:make-moment 5 4)
 c1 c4
 c1 c4
 c4 c4
-\set Score.measurePosition = #(ly:make-moment -3 8)
+\set Score.measurePosition = #(ly:make-moment 7 8)
 b8 b b
 c4 c1
 @end lilypond
@@ -1353,8 +1390,9 @@ c4 c1
 @node Controlling formatting of prefatory matter
 @subsection Controlling formatting of prefatory matter
 
-TODO: Somebody needs to explain this example, but I don't know what
-they're trying to do, so it won't be me.  -gp
+@c  This section will be moved to somewhere else soon. -gp
+This example demonstrates how to place prefatory matter
+(such as the clef and key signature) at the end of a line.
 
 @lilypond[quote,verbatim]
 \transpose c c' {
@@ -1394,7 +1432,7 @@ a piece of music.  Polyphony in LilyPond refers to having more than
 one voice on the same staff.
 
 @menu
-* Writing polyphonic music::
+* Writing polyphonic music::    
 @end menu
 
 @node Writing polyphonic music
@@ -1419,7 +1457,21 @@ voices are sometimes called ``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
-appropriately.
+appropriately.  Specifically,
+
+@example
+<< \upper \\ \lower >>
+@end example
+
+@noindent
+is equivalent to
+
+@example
+<<
+  \context Voice = "1" @{ \voiceOne \upper @}
+  \context Voice = "2" @{ \voiceTwo \lower @}
+>>
+@end example
 
 @cindex @code{\voiceOne}
 @cindex @code{\voiceFour}
@@ -1441,6 +1493,11 @@ a stem directions and horizontal shift for each part
 The command @code{\oneVoice} will revert back to the normal setting.
 @cindex @code{\oneVoice}
 
+Defining voices (either with the separator @code{\\} or with
+@code{\voiceXXX}) will set the direction of stems, slurs, ties,
+articulations, text annotations, augmentation dots of dotted
+notes, and fingerings.  @code{\voiceOne} makes these objects
+point upwards, while @code{\voiceTwo} makes them point down.
 
 Normally, note heads with a different number of dots are not merged, but
 when the object property @code{merge-differently-dotted} is set in
@@ -1556,10 +1613,10 @@ grouped.
 
 @cindex Automatic beams
 @menu
-* Automatic beams::
-* Manual beams::
-* Setting automatic beam behavior::
-* Beam formatting::
+* Automatic beams::             
+* Manual beams::                
+* Setting automatic beam behavior::  
+* Beam formatting::             
 @end menu
 
 @node Automatic beams
@@ -1689,12 +1746,15 @@ or at durations specified by the properties in
 @code{autoBeamSettings}.  The defaults for @code{autoBeamSettings}
 are defined in @file{scm/@/auto@/-beam@/.scm}.
 
-The value of @code{autoBeamSettings} is changed with two functions,
+The value of @code{autoBeamSettings} is changed with three functions,
 @example
 #(override-auto-beam-setting
    '(@var{be} @var{p} @var{q} @var{n} @var{m}) @var{a} @var{b}
    [@var{context}])
-#(revert-auto-beam-setting '(@var{be} @var{p} @var{q} @var{n} @var{m}))
+#(score-override-auto-beam-setting
+   '(@var{be} @var{p} @var{q} @var{n} @var{m}) @var{a} @var{b})
+#(revert-auto-beam-setting '(@var{be} @var{p} @var{q} @var{n} @var{m})
+   [@var{context}])
 @end example
 Here, @var{be} is the symbol @code{begin} or @code{end}, and
 @var{context} is an optional context (default: @code{'Voice}).  It
@@ -1705,7 +1765,9 @@ to a time signature (wildcards `@code{* *}' may be entered to
 designate all time signatures), @var{a}/@var{b} is a duration.  By
 default, this command changes settings for the current voice.  It is
 also possible to adjust settings at higher contexts, by adding a
-@var{context} argument.
+@var{context} argument.  @code{score-override-auto-beam-setting} is
+equal to @code{override-auto-beam-setting} with the argument
+@var{context} set to @code{'Score}.
 
 For example, if automatic beams should end on every quarter note, use
 the following
@@ -1809,7 +1871,7 @@ This section describes how to change the way that accidentals are
 inserted automatically before notes.
 
 @menu
-* Automatic accidentals::
+* Automatic accidentals::       
 @end menu
 
 @node Automatic accidentals
@@ -1965,19 +2027,19 @@ Expressive marks help musicians to bring more to the music than simple
 notes and rhythms.
 
 @menu
-* Slurs::
-* Phrasing slurs::
-* Breath marks::
-* Metronome marks::
-* Text scripts::
-* Text spanners::
-* Analysis brackets::
-* Articulations::
-* Running trills::
-* Fingering instructions::
-* Grace notes::
-* Glissando::
-* Dynamics::
+* Slurs::                       
+* Phrasing slurs::              
+* Breath marks::                
+* Metronome marks::             
+* Text scripts::                
+* Text spanners::               
+* Analysis brackets::           
+* Articulations::               
+* Running trills::              
+* Fingering instructions::      
+* Grace notes::                 
+* Glissando::                   
+* Dynamics::                    
 @end menu
 
 @node Slurs
@@ -2278,6 +2340,7 @@ c\fermata c^\fermata c_\fermata
 @cindex accent
 @cindex marcato
 @cindex staccatissimo
+@cindex espressivo
 @cindex fermata
 @cindex stopped
 @cindex staccato
@@ -2508,8 +2571,28 @@ every eighth grace note
 
 
 
-If you want to end a note with a grace, the standard trick is to put
-the grace notes after a ``space note''
+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. 
+
+@lilypond[raggedright, verbatim,relative=2,fragment]
+c1 \afterGrace d1 { c16[ d] } c4   
+@end lilypond
+
+This will put the grace notes after a ``space'' lasting 3/4 of the
+length of the main note. The fraction 3/4 can be changed by setting
+@code{afterGraceFraction}, ie.
+
+@example
+afterGraceFraction = #(cons 7 8) 
+@end example
+
+@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 {
@@ -2524,6 +2607,8 @@ 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,
@@ -2683,9 +2768,13 @@ is an example how to do it
 
 @lilypond[quote,raggedright,fragment,relative=2,verbatim]
 \setTextCresc
-c \< d e f\!
+c\< d e f\!
 \setHairpinCresc
 e\> d c b\!
+\setTextDecresc
+c\> d e f\!
+\setTextDim
+e\> d c b\!
 @end lilypond
 
 @cindex crescendo
@@ -2700,6 +2789,9 @@ a'2\< a a a\!\mf
 
 @cindex diminuendo
 
+To create new dynamic marks or text that should be aligned
+with dynamics, see @ref{New dynamic marks}.
+
 
 @refcommands
 
@@ -2730,13 +2822,13 @@ Repetition is a central concept in music, and multiple notations exist
 for repetitions.
 
 @menu
-* Repeat types::
-* Repeat syntax::
-* Repeats and MIDI::
-* Manual repeat commands::
-* Tremolo repeats::
-* Tremolo subdivisions::
-* Measure repeats::
+* Repeat types::                
+* Repeat syntax::               
+* Repeats and MIDI::            
+* Manual repeat commands::      
+* Tremolo repeats::             
+* Tremolo subdivisions::        
+* Measure repeats::             
 @end menu
 
 @node Repeat types
@@ -2771,7 +2863,8 @@ Make tremolo beams.  These are not played in MIDI output by default.
 
 @item percent
 Make beat or measure repeats.  These look like percent signs.  These
-are not played in MIDI output by default.
+are not played in MIDI output by default.  Percent repeats must be
+declared within a Voice context.
 
 @end table
 
@@ -2844,8 +2937,10 @@ Examples:
 
 Brackets for the repeat are normally only printed over the topmost
 staff.  This can be adjusted by setting the @code{voltaOnThisStaff}
-property @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly},
-@inputfileref{input/@/regression,volta@/-chord@/-names@/.ly}.
+property; see @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly}.
+
+@c not necessary
+@c @inputfileref{input/@/regression,volta@/-chord@/-names@/.ly}.
 
 
 @refbugs
@@ -3029,7 +3124,8 @@ Elsewhere: @internalsref{StemTremolo}, @internalsref{TremoloEvent}.
 In the @code{percent} style, a note pattern can be repeated.  It is
 printed once, and then the pattern is replaced with a special sign.
 Patterns of one and two measures are replaced by percent-like signs,
-patterns that divide the measure length are replaced by slashes
+patterns that divide the measure length are replaced by slashes.
+Percent repeats must be declared within a @code{Voice} context.
 
 @lilypond[quote,verbatim,raggedright]
 \new Voice \relative c' {
@@ -3053,9 +3149,9 @@ Rhythmic music is primarily used for percussion and drum notation, but it can
 also be used to show the rhythms of melodies.
 
 @menu
-* Showing melody rhythms::
-* Entering percussion::
-* Percussion staves::
+* Showing melody rhythms::      
+* Entering percussion::         
+* Percussion staves::           
 @end menu
 
 
@@ -3334,12 +3430,12 @@ handle this cross-staffing behavior.  In this section we discuss the
 
 
 @menu
-* Automatic staff changes::
-* Manual staff switches::
-* Pedals::
-* Arpeggio::
-* Staff switch lines::
-* Cross staff stems::
+* Automatic staff changes::     
+* Manual staff switches::       
+* Pedals::                      
+* Arpeggio::                    
+* Staff switch lines::          
+* Cross staff stems::           
 @end menu
 
 @refbugs
@@ -3684,13 +3780,14 @@ for complex vocal music.
 
 
 @menu
-* Setting simple songs::
-* Entering lyrics::
-* Hyphens and extenders::
-* The Lyrics context::
-* Flexibility in alignment::
-* More stanzas::
-* Ambitus::
+* Setting simple songs::        
+* Entering lyrics::             
+* Hyphens and extenders::       
+* The Lyrics context::          
+* Flexibility in alignment::    
+* More stanzas::                
+* Ambitus::                     
+* Other vocal issues::          
 @end menu
 
 @node Setting simple songs
@@ -3728,7 +3825,7 @@ More stanzas can be added by adding more
 
 The @code{\addlyrics} command is actually just a convienient way
 to write a more complicated LilyPond structure that sets up the
-lyrics.  You should use @code{\addlyrics} unless you need to
+lyrics.  You should use @code{\addlyrics} unless you need to do
 fancy things, in which case you should investigate
 @code{\lyricsto} or @code{\lyricmode}.
 
@@ -3742,9 +3839,13 @@ is the same as
 
 @example
 \context Voice = blah @{ music @}
-\lyricsto "blah" \lyricsmode \new lyrics @{ LYRICS @}
+\lyricsto "blah" \new lyrics @{ LYRICS @}
 @end example
 
+@refbugs
+
+@code{\addlyrics} cannot handle polyphony.
+
 
 @node Entering lyrics
 @subsection Entering lyrics
@@ -3772,7 +3873,7 @@ is that a word can end with @code{@}}.  The following example is
 usually a mistake in the input file.  The syllable includes a @code{@}}, so the
 opening brace is not balanced
 @example
-\lyricmode @{ twinkle @}
+\lyricmode @{ twinkle@}
 @end example
 
 @cindex @code{\property}, in @code{\lyricmode}
@@ -3843,6 +3944,50 @@ indicated with a horizontal line centered between a syllable and the
 next one.  Such a line is called an extender line, and it is entered as
 @code{__}.
 
+@ignore
+FIXME: check that this compiles and displays correctly.  I don't want
+to commit this part blindly.
+
+In tighly engraved music, hyphens can be removed.  In some languages
+(e.g. German and Hungarian), hyphens should not disappear, since
+spelling depends on hyphenation.  For that purpose, hyphens can be
+forced to remain by overriding @code{minimum-length} of
+the @code{LyricHyphen} grob.
+
+(code from 2.2)
+\score {
+<<    \notes \new Staff \relative c'' { \time 1/4 c16[ c c  c]
+\time 1/4
+c16[ c c c]
+\time 1/4
+c16[ c c c]
+
+}
+    \lyrics \new Lyrics \with {
+       % Otherwise lyrics are so far apart that hyphens don't disappear
+       \override SeparationItem #'padding = #0.0
+       }{ bla -- bla -- bla -- bla --
+          bla -- bla -- bla -- bla --
+
+          \override LyricHyphen  #'minimum-length = #0.7
+          \override LyricHyphen  #'spacing-procedure =
+                  #Hyphen_spanner::set_spacing_rods
+
+          bla -- bla -- bla -- bla 
+       }>>
+    \paper   {
+       indent = 0.0 \cm
+       linewidth = 3.4 \cm
+
+       \context {
+           \StaffContext \remove "Time_signature_engraver"
+       }
+       
+    }
+      
+}
+@end ignore
+
 
 @seealso
 
@@ -3850,8 +3995,6 @@ Program reference: @internalsref{HyphenEvent},
 @internalsref{ExtenderEvent}, @internalsref{LyricHyphen}, and
 @internalsref{LyricExtender}
 
-Examples: @inputfileref{input/@/test,lyric@/-hyphen@/-retain@/.ly}.
-
 
 
 @node The Lyrics context
@@ -3985,7 +4128,7 @@ Here is an example demonstrating manual lyric durations,
 @cindex choral score
 
 A complete example of a SATB score setup is in section
-@ref{Small ensembles}.
+@ref{Vocal ensembles}.
 
 
 @refcommands
@@ -3999,11 +4142,13 @@ A complete example of a SATB score setup is in section
 Program reference: @internalsref{LyricCombineMusic},
 @internalsref{Lyrics}, @internalsref{Melisma_translator}.
 
-Examples: @ref{Small ensembles},
-@inputfileref{input/@/regression,lyric@/-combine@/-new@/.ly},
+
+@inputfileref{input/@/regression,lyric@/-combine@/-new@/.ly}.
 @c TODO: make separate section for melismata
-@inputfileref{input/@/test,lyrics@/-melisma@/-variants@/.ly}.
-@inputfileref{input/@/test,lyrics@/-melisma@/-faster@/.ly}.
+
+@c  I can't find these examples in 2.0 or 2.2; remove. -gp
+@c @inputfileref{input/@/test,lyrics@/-melisma@/-variants@/.ly}.
+@c @inputfileref{input/@/test,lyrics@/-melisma@/-faster@/.ly}.
 
 @refbugs
 
@@ -4246,9 +4391,12 @@ ambitus per staff rather than per each voice, add the
 rather than to the @internalsref{Voice} context.  Here is an example,
 
 @lilypond[verbatim,raggedright,quote]
-\new Staff <<
+\new Staff \with {
+  \consists "Ambitus_engraver"
+}
+<<
   \new Voice \with {
-    \consists "Ambitus_engraver"
+    \remove "Ambitus_engraver"
   } \relative c'' {
     \override Ambitus #'X-offset-callbacks
       = #(list (lambda (grob axis) -1.0))
@@ -4256,7 +4404,7 @@ rather than to the @internalsref{Voice} context.  Here is an example,
     c4 a d e f2
   }
   \new Voice \with {
-    \consists "Ambitus_engraver"
+    \remove "Ambitus_engraver"
   } \relative c' {
     \voiceTwo
     es4 f g as b2
@@ -4290,6 +4438,61 @@ Examples: @inputfileref{input/@/regression,ambitus@/.ly}.
 There is no collision handling in the case of multiple per-voice
 ambitus.
 
+@node Other vocal issues
+@subsection Other vocal issue
+
+@ignore
+yeah, I'm giving up somewhat by stuffing a bunch of things in
+here.  But at least they're in the manual now; it's easier to
+move them around in the manual once they're already here.
+
+Besides, if users complain about everything stuffed in here, I
+can ask them for specific instructions about where to move these
+examples, and that might get them more involved in the docs.  -gp
+@end ignore
+
+You can display alternate (or divisi) lyrics by naming voice
+contexts and attaching lyrics to those specific contexts.
+
+@lilypond[verbatim,raggedright,quote]
+\score{ <<
+  \context Voice = "melody" {
+    \relative c' {
+      c4
+      <<
+        { \voiceOne c8 e }
+        \context Voice = splitpart { \voiceTwo c4 }
+      >>
+      \oneVoice c4 c | c
+    }
+  }
+  \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
+  \new Lyrics \lyricsto "splitpart" { shall }
+>> }
+@end lilypond
+
+
+You can use this trick to display different lyrics for a repeated
+section.
+
+@lilypond[verbatim,raggedright,quote]
+\score{ <<
+  \context Voice = melody \relative c' {
+    c2 e | g e | c1 |
+    \context Voice = verse \repeat volta 2 {c4 d e f | g1 | }
+    a2 b | c1}
+  \lyricsto melody  \context Lyrics = mainlyrics \lyricmode {
+    do mi sol mi do
+    la si do }
+  \lyricsto verse \context Lyrics = mainlyrics \lyricmode {
+   do re mi fa sol }
+  \lyricsto verse \context Lyrics = repeatlyrics \lyricmode {
+   dodo rere mimi fafa solsol }
+>>
+}
+@end lilypond
+
+
 @node Other instrument specific notation, Tablatures, Vocal music, Notation manual
 @section Other instrument specific notation
 
@@ -4297,7 +4500,7 @@ This section includes extra information for writing string music, and may
 include extra information for other instruments in the future.
 
 @menu
-* Harmonic notes::
+* Harmonic notes::              
 @end menu
 
 @node Harmonic notes, , Other instrument specific notation, Other instrument specific notation
@@ -4326,8 +4529,8 @@ indicating on which string and fret a note must be played.  LilyPond
 offers limited support for tablature.
 
 @menu
-* Tablatures basic::
-* Non-guitar tablatures::
+* Tablatures basic::            
+* Non-guitar tablatures::       
 @end menu
 
 @node Tablatures basic, Non-guitar tablatures, Tablatures, Tablatures
@@ -4425,11 +4628,11 @@ Program reference: @internalsref{Tab_note_heads_engraver}.
 This section discusses issues that arise when writing popular music.
 
 @menu
-* Chord names::
-* Chords mode::
-* Printing chord names::
-* Fret diagrams::
-* Improvisation::
+* Chord names::                 
+* Chords mode::                 
+* Printing chord names::        
+* Fret diagrams::               
+* Improvisation::               
 @end menu
 
 @node Chord names, Chords mode, Popular music, Popular music
@@ -4757,8 +4960,7 @@ chart}.  Turning on these styles is described in the input file
 
 Examples: @inputfileref{input/@/regression,chord@/-name@/-major7@/.ly},
 @inputfileref{input/@/regression,chord@/-name@/-exceptions@/.ly},
-@inputfileref{input/@/test,chord@/-names@/-jazz@/.ly},
-@inputfileref{input/@/test,chords@/-without@/-melody@/.ly}.
+@inputfileref{input/@/test,chord@/-names@/-jazz@/.ly}.
 
 
 Init files: @file{scm/@/chords@/-ignatzek@/.scm}, and
@@ -4867,19 +5069,19 @@ some common problems in orchestral music.
 
 
 @menu
-* System start delimiters::
-* Aligning to cadenzas::
-* Rehearsal marks::
-* Bar numbers::
-* Instrument names::
-* Transpose::
-* Instrument transpositions::
-* Multi measure rests::
-* Automatic part combining::
-* Hiding staves::
-* Different editions from one source::
-* Quoting other voices::
-* Formatting cue notes::
+* System start delimiters::     
+* Aligning to cadenzas::        
+* Rehearsal marks::             
+* Bar numbers::                 
+* Instrument names::            
+* Transpose::                   
+* Instrument transpositions::   
+* Multi measure rests::         
+* Automatic part combining::    
+* Hiding staves::               
+* Different editions from one source::  
+* Quoting other voices::        
+* Formatting cue notes::        
 @end menu
 
 @node System start delimiters
@@ -4995,8 +5197,6 @@ c1 \mark \default
 @c umm, is the manual the right place for feature requests?  :)  -gp
 @c FIXME - should make that tunable.
 
-To use boxed bar numbers instead of letters, see @ref{Bar numbers}.
-
 The mark is incremented automatically if you use @code{\mark
 \default}, but you can also use an integer argument to set the mark
 manually.  The value to use is stored in the property
@@ -5012,19 +5212,16 @@ few measures, it is set to function that produces a boxed number.
 \set Score.markFormatter = #format-mark-numbers
 c1 \mark \default
 c1 \mark \default
-\set Score.markFormatter
-   = #(lambda (mark context)
-       (make-bold-markup
-        (make-box-markup (number->string mark))))
+\set Score.markFormatter = #format-mark-box-numbers
 c1 \mark \default
 c1 \mark \default
 c1
 @end lilypond
 
 The file @file{scm/@/translation@/-functions@/.scm} contains the definitions
-of @code{format-mark-numbers} (the default format) and
-@code{format-mark-letters}.  These can be used as inspiration for other
-formatting functions.
+of @code{format-mark-numbers} (the default format), @code{format-mark-box-numbers},
+@code{format-mark-letters} and @code{format-mark-box-letters}.
+These can be used as inspiration for other formatting functions.
 
 
 @cindex coda on bar line
@@ -5041,9 +5238,13 @@ c1 \mark \markup { \musicglyph #"scripts-ufermata" }
 c1
 @end lilypond
 
-In the case of a line break, marks must also be printed at the end of
-the line, and not at the beginning.  Use the following to force that
-behavior
+If the mark occurs at a line break, the mark will be printed at the
+beginning of the next line.
+@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
+@c  delete this sentence.   -gp
+If there is no next line, then the mark will not be printed at all.
+To print the mark at the end of the current line, use
+
 @example
 \override Score.RehearsalMark
   #'break-visibility = #begin-of-line-invisible
@@ -5153,8 +5354,8 @@ names, for example
 
 @lilypond[quote,fragment,verbatim,raggedright]
 \set Staff.instrument = \markup {
-  \column < "Clarinetti"
-            { "in B" \smaller \flat } > }
+  \column { "Clarinetti"
+            \line { "in B" \smaller \flat } } }
 c''1
 @end lilypond
 
@@ -5427,7 +5628,7 @@ The first @code{g} appears only once, although it was
 specified twice (once in each part).  Stem, slur, and tie directions are
 set automatically, depending whether there is a solo or unisono.  The
 first part (with context called @code{one}) always gets up stems, and
-`solo', while the second (called @code{two}) always gets down stems and
+`Solo', while the second (called @code{two}) always gets down stems and
 `Solo II'.
 
 If you just want the merging parts, and not the textual markings, you
@@ -5442,6 +5643,20 @@ may set the property @code{printPartCombineTexts} to false
 >>
 @end lilypond
 
+To change the text that is printed for solos or merging, you may
+set the @code{soloText}, @code{soloIIText}, and @code{aDueText}
+properties.
+
+@lilypond[quote,verbatim,raggedright,fragment,relative=2]
+\new Staff <<
+  \set Score.soloText = #"ichi"
+  \set Score.soloIIText = #"ni"
+  \set Score.aDueText = #"tachi"
+  \partcombine
+    \relative g' { g4 g a( b) r }
+    \relative g' { g4 g r r f }
+>>
+@end lilypond
 
 Both arguments to @code{\partcombine} will be interpreted as
 @internalsref{Voice} contexts.  If using relative octaves,
@@ -5524,6 +5739,7 @@ staff.  See @inputfileref{input/@/test,ossia@/.ly} for an example.
 @node Different editions from one source
 @subsection Different editions from one source
 
+@cindex tag
 The @code{\tag} command marks music expressions with a name.  These
 tagged expressions can be filtered out later.  With this mechanism it
 is possible to make different versions of the same music source.
@@ -5557,6 +5773,8 @@ c1-\tag #'part ^4
 
 This defines a note with a conditional fingering indication.
 
+@cindex keepWithTag
+@cindex removeWithTag
 By applying the @code{\keepWithTag} and @code{\removeWithTag}
 commands, tagged expressions can be filtered.  For example,
 @example
@@ -5849,19 +6067,19 @@ up during the baroque period.
 Here are all suptopics at a glance:
 
 @menu
-* Ancient note heads::
-* Ancient accidentals::
-* Ancient rests::
-* Ancient clefs::
-* Ancient flags::
-* Ancient time signatures::
-* Ancient articulations::
-* Custodes::
-* Divisiones::
-* Ligatures::
-* Gregorian Chant contexts::
-* Mensural contexts::
-* Figured bass::
+* Ancient note heads::          
+* Ancient accidentals::         
+* Ancient rests::               
+* Ancient clefs::               
+* Ancient flags::               
+* Ancient time signatures::     
+* Ancient articulations::       
+* Custodes::                    
+* Divisiones::                  
+* Ligatures::                   
+* Gregorian Chant contexts::    
+* Mensural contexts::           
+* Figured bass::                
 @end menu
 
 
@@ -5922,24 +6140,24 @@ select ancient accidentals.   Supported styles are
 {
   \fatText
   s^\markup {
-    \column <
+    \column {
       "vaticana"
-      { " " \musicglyph #"accidentals-vaticana-1"
-      " " \musicglyph #"accidentals-vaticana0" }
-    >
-    \column <
+      \line { " " \musicglyph #"accidentals-vaticana-1"
+        " " \musicglyph #"accidentals-vaticana0" }
+    }
+    \column {
       "medicaea"
-      { " " \musicglyph #"accidentals-medicaea-1" }
-    >
-    \column <
+      \line { " " \musicglyph #"accidentals-medicaea-1" }
+    }
+    \column {
       "hufnagel"
-      { " " \musicglyph #"accidentals-hufnagel-1" }
-    >
-    \column <
+      \line { " " \musicglyph #"accidentals-hufnagel-1" }
+    }
+    \column {
       "mensural"
-      { " " \musicglyph #"accidentals-mensural-1"
-      " " \musicglyph #"accidentals-mensural1" }
-    >
+      \line { " " \musicglyph #"accidentals-mensural-1"
+        " " \musicglyph #"accidentals-mensural1" }
+    }
   }
 }
 \layout {
@@ -5983,7 +6201,7 @@ Examples: @inputfileref{input/@/test,ancient@/-accidentals@/.ly}.
 
 
 Use the @code{style} property of grob @internalsref{Rest} to select
-ancient accidentals.   Supported styles are @code{classical},
+ancient rests.   Supported styles are @code{classical},
 @code{neomensural}, and @code{mensural}.  @code{classical} differs
 from the @code{default} style only in that the quarter rest looks like
 a horizontally mirrored 8th rest.  The @code{neomensural} style suits
@@ -6436,22 +6654,22 @@ supported are @code{vaticana}, @code{medicaea}, @code{hufnagel}, and
 
 @lilypond[quote,raggedright,fragment]
 \new Lyrics \lyricmode {
-  \markup { \column <
+  \markup { \column {
     \typewriter "vaticana"
-    { " " \musicglyph #"custodes-vaticana-u0" }
-  > }
-  \markup { \column <
+    \line { " " \musicglyph #"custodes-vaticana-u0" }
+  } }
+  \markup { \column {
     \typewriter "medicaea"
-    { " " \musicglyph #"custodes-medicaea-u0" }
-  >}
-  \markup { \column <
+    \line { " " \musicglyph #"custodes-medicaea-u0" }
+  }}
+  \markup { \column {
     \typewriter "hufnagel"
-    { " " \musicglyph #"custodes-hufnagel-u0" }
-  >}
-  \markup { \column <
+    \line { " " \musicglyph #"custodes-hufnagel-u0" }
+  }}
+  \markup { \column {
     \typewriter "mensural"
-    { " " \musicglyph #"custodes-mensural-u0" }
-  >}
+    \line { " " \musicglyph #"custodes-mensural-u0" }
+  }}
 }
 @end lilypond
 
@@ -6559,8 +6777,8 @@ Augmentum dots within ligatures are not handled correctly.
 
 
 @menu
-* White mensural ligatures::
-* Gregorian square neumes ligatures::
+* White mensural ligatures::    
+* Gregorian square neumes ligatures::  
 @end menu
 
 @node White mensural ligatures
@@ -7638,10 +7856,11 @@ LilyPond has limited support for figured bass
 
 @lilypond[quote,raggedright,verbatim,fragment]
 <<
-  \context Voice { \clef bass dis4 c d ais }
+  \context Voice { \clef bass dis4 c d ais g fis}
   \context FiguredBass \figuremode {
     < 6 >4 < 7 >8 < 6+ [_!] >
     < 6 >4 <6 5 [3+] >
+    < _ >4 < 6 >4
   }
 >>
 @end lilypond
@@ -7716,10 +7935,10 @@ LilyPond is limited.
 
 
 @menu
-* Polymetric notation::
-* Clusters::
-* Special fermatas::
-* Feathered beams::
+* Polymetric notation::         
+* Clusters::                    
+* Special fermatas::            
+* Feathered beams::             
 @end menu
 
 @node Polymetric notation
@@ -7734,9 +7953,9 @@ created with a markup text.  This markup text is inserted in the
 % create 2/4 + 5/8
 tsMarkup =\markup {
   \number {
-    \column < "2" "4" >
+    \column { "2" "4" }
     \musicglyph #"scripts-stopped"
-    \bracket \column < "5" "8" >
+    \bracket \column { "5" "8" }
   }
 }
 
@@ -7963,10 +8182,11 @@ With the amount of control that LilyPond offers, one can make great
 teaching tools in addition to great musical scores.
 
 @menu
-* Balloon help::
-* Blank music sheet::
-* Hidden notes::
-* Easy Notation note heads::
+* Balloon help::                
+* Blank music sheet::           
+* Hidden notes::                
+* Shaped note heads ::          
+* Easy Notation note heads::    
 @end menu
 
 @node Balloon help
@@ -8063,6 +8283,43 @@ as possible.
 @end lilypond
 
 
+@node Shaped note heads 
+@subsection Shaped note heads 
+
+In shaped note head notation, the shape of the note head corresponds
+to the harmonic function of a note in the scale. This notation was
+popular in the 19th century American song books.
+
+Shaped note heads can be produced by setting @code{\aikenHeads} or
+@code{\sacredHarpHeads}, depending on the style desired.
+
+@lilypond[verbatim,relative=1,fragment]
+  \aikenHeads
+  c8 d4 e8 a2 g1
+  \sacredHarpHeads
+  c8 d4. e8 a2 g1
+@end lilypond
+
+Shapes are determined on the step in the scale, where the base of the
+scale is determined by  the @code{\key} command
+
+@findex \key
+@findex shapeNoteStyles
+@findex \aikenHeads
+@findex \sacredHarpHeads
+
+Shaped note heads are implemented through the @code{shapeNoteStyles}
+property. Its value is a vector of symbols. The k-th element indicates
+the style to use for the k-th step of the scale. Arbitrary
+combinations  are possible, eg.,
+
+
+@lilypond[verbatim,relative=1,fragment]
+  \set shapeNoteStyles  = ##(cross triangle fa #f mensural xcircle diamond)
+  c8 d4. e8 a2 g1
+@end lilypond
+
+
 @node Easy Notation note heads
 @subsection Easy Notation note heads