]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/pitches.itely
lilypond-book robustness: ensure EOL at the end of @verbatim
[lilypond.git] / Documentation / user / pitches.itely
index f615cdbe0595fe9517b3e5613f843892ed785e90..fce608a7c86883bcf1d8f37f66851cbf7af1f45c 100644 (file)
@@ -6,7 +6,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.12.0"
 
 
 @node Pitches
@@ -18,10 +18,10 @@ This section discusses how to specify the pitch of notes.  There
 are three steps to this process: input, modification, and output.
 
 @menu
-* Writing pitches::             
-* Changing multiple pitches::   
-* Displaying pitches::          
-* Note heads::                  
+* Writing pitches::
+* Changing multiple pitches::
+* Displaying pitches::
+* Note heads::
 @end menu
 
 
@@ -33,10 +33,10 @@ different ways to place notes in octaves: absolute and relative
 mode.  In most cases, relative mode will be more convenient.
 
 @menu
-* Absolute octave entry::       
-* Relative octave entry::       
-* Accidentals::                 
-* Note names in other languages::  
+* Absolute octave entry::
+* Relative octave entry::
+* Accidentals::
+* Note names in other languages::
 @end menu
 
 
@@ -47,6 +47,9 @@ mode.  In most cases, relative mode will be more convenient.
 @cindex pitches
 @cindex absolute
 @cindex absolute octave specification
+@cindex octave specification, absolute
+@cindex absolute octave entry
+@cindex octave entry, absolute
 
 A pitch name is specified using lowercase letters@tie{}@code{a}
 through@tie{}@code{g}.  The note names @code{c} to @code{b} are
@@ -60,6 +63,8 @@ g a b c
 d e f g
 @end lilypond
 
+@cindex octave changing mark
+
 @funindex '
 @funindex ,
 
@@ -77,8 +82,8 @@ c, c,, e, g
 d,, d, d c
 @end lilypond
 
-@seealso
 
+@seealso
 Music Glossary:
 @rglos{Pitch names}.
 
@@ -90,7 +95,12 @@ Snippets:
 @unnumberedsubsubsec Relative octave entry
 
 @cindex relative
+@cindex relative octave entry
+@cindex octave entry, relative
 @cindex relative octave specification
+@cindex ocatve specification, relative
+
+@funindex relative
 @funindex \relative
 
 When octaves are specified in absolute mode it is easy to
@@ -165,6 +175,50 @@ large intervals:
 }
 @end lilypond
 
+When @code{\relative} blocks are nested, the innermost
+@code{\relative} block applies.
+
+@lilypond[verbatim,quote]
+\relative c' {
+  c d e f
+  \relative c'' {
+    c d e f
+  }
+}
+@end lilypond
+
+@code{\relative} has no effect on @code{\chordmode} blocks.
+
+@lilypond[verbatim,quote]
+\new Staff {
+  \relative c''' {
+    \chordmode { c1 }
+  }
+  \chordmode { c1 }
+}
+@end lilypond
+
+@code{\relative} is not allowed inside of @code{\chordmode} blocks.
+
+Music inside a @code{\transpose} block is absolute unless a
+@code{\relative} is included.
+
+@lilypond[verbatim,quote]
+\relative c' {
+  d e
+  \transpose f g {
+    d e
+    \relative c' {
+      d e
+    }
+  }
+}
+@end lilypond
+
+
+@cindex chords and relative octave entry
+@cindex relative octave entry and chords
+
 If the preceding item is a chord, the first note of the chord is
 used as the reference point for the octave placement of a
 following note or chord.  Inside chords, the next note is always
@@ -199,7 +253,6 @@ that each interval contains.
 
 
 @seealso
-
 Music Glossary:
 @rglos{fifth},
 @rglos{interval},
@@ -215,16 +268,16 @@ Internals Reference:
 @rinternals{RelativeOctaveMusic}.
 
 
+@cindex relative octave entry and transposition
+@cindex transposition and relative octave entry
+
 @funindex \transpose
+@funindex transpose
 @funindex \chordmode
+@funindex chordmode
 @funindex \relative
+@funindex relative
 
-@knownissues
-
-The relative conversion will not affect @code{\transpose},
-@code{\chordmode} or @code{\relative} sections in its argument.
-To use relative mode within transposed music, an additional
-@code{\relative} must be placed inside @code{\transpose}.
 
 @c DEPRECATED
 If no @var{startpitch} is specified for @code{\relative},
@@ -251,6 +304,7 @@ see @rlearning{Accidentals and key signatures}.}
 
 @cindex note names, Dutch
 @cindex note names, default
+@cindex default note names
 @cindex sharp
 @cindex flat
 @cindex double sharp
@@ -258,6 +312,7 @@ see @rlearning{Accidentals and key signatures}.}
 @cindex double flat
 @cindex flat, double
 @cindex natural sign
+@cindex natural pitch
 
 A @notation{sharp} pitch is made by adding @code{is} to the note
 name, and a @notation{flat} pitch by adding @code{es}.  As you
@@ -280,7 +335,8 @@ a4 aes a2
 @end lilypond
 
 @cindex quarter tones
-@cindex semi-flats, semi-sharps
+@cindex semi-flats
+@cindex semi-sharps
 
 Quarter tones may be added; the following is a series of Cs with
 increasing pitches:
@@ -295,11 +351,13 @@ ceseh1 ces ceh c cih cis cisih
 @cindex accidental, cautionary
 @cindex accidental, parenthesized
 @cindex reminder accidental
-@funindex ?
 @cindex cautionary accidental
 @cindex parenthesized accidental
+
+@funindex ?
 @funindex !
 
+
 Normally accidentals are printed automatically, but you may also
 print them manually.  A reminder accidental can be forced by
 adding an exclamation mark@tie{}@code{!} after the pitch.  A
@@ -312,6 +370,9 @@ natural signs.
 cis cis cis! cis? c c c! c?
 @end lilypond
 
+@cindex accidental on tied note
+@cindex tied note, accidental
+
 Accidentals on tied notes are only printed at the beginning of a
 new system:
 
@@ -327,8 +388,11 @@ cis
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {preventing-extra-naturals-from-being-automatically-added.ly}
 
-@seealso
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{makam-example.ly}
 
+
+@seealso
 Music Glossary:
 @rglos{sharp},
 @rglos{flat},
@@ -342,19 +406,22 @@ Learning Manual:
 
 Notation Reference:
 @ref{Automatic accidentals},
-@ref{Annotational accidentals},
+@ref{Annotational accidentals (musica ficta)},
 @ref{Note names in other languages}.
 
 Snippets:
 @rlsr{Pitches}.
 
 Internals Reference:
-@rinternals{Accidental_engraver}, 
+@rinternals{Accidental_engraver},
 @rinternals{Accidental},
 @rinternals{AccidentalCautionary},
 @rinternals{accidental-interface}.
 
 
+@cindex accidental, quarter-tone
+@cindex quarter-tone accidental
+
 @knownissues
 
 There are no generally accepted standards for denoting
@@ -366,57 +433,89 @@ any standard.
 @node Note names in other languages
 @unnumberedsubsubsec Note names in other languages
 
-There are predefined sets of note names for various other
-languages.  To use them, include the language-specific init file.
-For example, to use English notes names, add
-@w{@code{\include "english.ly"}} to the top of the input file.
-The available language files and the note names they define are:
-
 @cindex note names, other languages
 @cindex pitch names, other languages
+@cindex language, note names in other
+@cindex language, pitch names in other
 
-@smallexample
-@multitable {nederlands.ly} {do re mi fa sol la sib si} {-iss/-is} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses}
-@headitem Language
-  @tab Note names
-  @tab sharp @tab flat @tab double sharp @tab double flat
-@item nederlands.ly
+There are predefined sets of note and accidental names for various
+other languages.  To use them, include the language-specific init
+file listed below.  For example, to use English note names, add
+@code{@w{\include "english.ly"}} to the input file.
+
+@warning{Because some other include files (such as @code{@w{predefined-fretboards.ly}})
+use default (Nederlands) note names, the @code{@bs{}include}
+command for the language file should be placed after all other
+LilyPond distribution files.}
+
+The available language files and the note names they define are:
+
+@quotation
+@multitable {@file{nederlands.ly}} {do re mi fa sol la sib si}
+@headitem Language File
+  @tab Note Names
+@item @file{nederlands.ly}
   @tab c d e f g a bes b
-  @tab -is @tab -es @tab -isis @tab -eses
-@item english.ly
-  @tab c d e f g a bf b
-  @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
-    @tab -ff/-flatflat
-@item deutsch.ly
+@item @file{arabic.ly}
+  @tab do re mi fa sol la sib si
+@item @file{catalan.ly}
+  @tab do re mi fa sol la sib si
+@item @file{deutsch.ly}
   @tab c d e f g a b h
-  @tab -is @tab -es @tab -isis @tab -eses
-@item norsk.ly
+@item @file{english.ly}
+  @tab c d e f g a bf b
+@item @file{espanol.ly}
+  @tab do re mi fa sol la sib si
+@item @file{italiano.ly}
+  @tab do re mi fa sol la sib si
+@item @file{norsk.ly}
   @tab c d e f g a b h
-  @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
-    @tab -essess/-eses
-@item svenska.ly
+@item @file{portugues.ly}
+  @tab do re mi fa sol la sib si
+@item @file{suomi.ly}
   @tab c d e f g a b h
-  @tab -iss @tab -ess @tab -ississ @tab -essess
-@item suomi.ly
+@item @file{svenska.ly}
   @tab c d e f g a b h
-  @tab -is @tab -es @tab -isis @tab -eses
-@item italiano.ly
+@item @file{vlaams.ly}
   @tab do re mi fa sol la sib si
+@end multitable
+@end quotation
+
+@noindent
+and the accidental suffixes they define are:
+
+@quotation
+@multitable {@file{nederlands.ly}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses}
+@headitem Language File
+  @tab sharp @tab flat @tab double sharp @tab double flat
+@item @file{nederlands.ly}
+  @tab -is @tab -es @tab -isis @tab -eses
+@item @file{arabic.ly}
   @tab -d @tab -b @tab -dd @tab -bb
-@item catalan.ly
-  @tab do re mi fa sol la sib si
+@item @file{catalan.ly}
   @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
-@item espanol.ly
-  @tab do re mi fa sol la sib si
-  @tab -s @tab -b @tab -ss @tab -bb
-@item portugues.ly
-  @tab do re mi fa sol la sib si
+@item @file{deutsch.ly}
+  @tab -is @tab -es @tab -isis @tab -eses
+@item @file{english.ly}
+  @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
+    @tab -ff/-flatflat
+@item @file{espanol.ly}
+  @tab -s @tab -b @tab -ss/-x @tab -bb
+@item @file{italiano.ly}
+  @tab -d @tab -b @tab -dd @tab -bb
+@item @file{norsk.ly}
+  @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
+    @tab -essess/-eses
+@item @file{portugues.ly}
   @tab -s @tab -b @tab -ss @tab -bb
-@item vlaams.ly
-  @tab do re mi fa sol la sib si
+@item @file{suomi.ly}
+  @tab -is @tab -es @tab -isis @tab -eses
+@item @file{svenska.ly}
+  @tab -iss @tab -ess @tab -ississ @tab -essess
+@item @file{vlaams.ly}
   @tab -k @tab -b @tab -kk @tab -bb
 @end multitable
-@end smallexample
+@end quotation
 
 In Dutch, @code{aes} is contracted to @code{as}, but both forms
 are accepted in LilyPond.  Similarly, both @code{es} and
@@ -430,6 +529,12 @@ a2 as e es a ases e eses
 @end lilypond
 
 
+@cindex microtones
+@cindex semi-sharp
+@cindex semi-flat
+@cindex sesqui-sharp
+@cindex sesqui-flat
+
 Some music uses microtones whose alterations are fractions of a
 @q{normal} sharp or flat.  The note names for quarter-tones
 defined in the various language files are listed in the following
@@ -437,33 +542,30 @@ table.  Here the prefixes @notation{semi-} and @notation{sesqui-}
 mean @q{half} and @q{one and a half}, respectively.  For the other
 languages, no special names have been defined yet.
 
-@smallexample
-@multitable {nederlands.ly} {do re mi fa sol la sib si} {-iss/-is} {-ess/-es} {-ississ/-isis} {-ississ/-isis}
-@headitem Language
-  @tab Note names
+@quotation
+@multitable {@file{nederlands.ly}} {@b{semi-sharp}} {@b{semi-flat}} {@b{sesqui-sharp}} {@b{sesqui-flat}}
+@headitem Language File
   @tab semi-sharp @tab semi-flat @tab sesqui-sharp @tab sesqui-flat
 
-@item nederlands.ly
-  @tab c d e f g a bes b
+@item @file{nederlands.ly}
   @tab -ih @tab -eh @tab -isih @tab -eseh
-@item english.ly
-  @tab c d e f g a bf b
-  @tab -qs @tab -qf @tab -tqs @tab -tqf
-@item deutsch.ly
-  @tab c d e f g a b h
+@item @file{arabic.ly}
+  @tab -sd @tab -sb @tab -dsd @tab -bsb
+@item @file{deutsch.ly}
   @tab -ih @tab -eh @tab -isih @tab -eseh
-@item italiano.ly
-  @tab do re mi fa sol la sib si
+@item @file{english.ly}
+  @tab -qs @tab -qf @tab -tqs @tab -tqf
+@item @file{espanol.ly}
+  @tab -cs @tab -cb @tab -tcs @tab -tcb
+@item @file{italiano.ly}
   @tab -sd @tab -sb @tab -dsd @tab -bsb
-@item portugues.ly
-  @tab do re mi fa sol la sib si
+@item @file{portugues.ly}
   @tab -sqt @tab -bqt @tab -stqt @tab -btqt
 @end multitable
-@end smallexample
+@end quotation
 
 
 @seealso
-
 Music Glossary:
 @rglos{Pitch names}.
 
@@ -477,8 +579,8 @@ Snippets:
 This section discusses how to modify pitches.
 
 @menu
-* Octave checks::               
-* Transpose::                   
+* Octave checks::
+* Transpose::
 @end menu
 
 @node Octave checks
@@ -486,8 +588,12 @@ This section discusses how to modify pitches.
 
 @cindex octave correction
 @cindex octave check
+@cindex control pitch
+
 @funindex =
-@funindex \octave
+@funindex \octaveCheck
+@funindex octaveCheck
+@funindex controlpitch
 
 In relative mode, it is easy to forget an octave changing mark.
 Octave checks make such errors easier to find by displaying a
@@ -500,7 +606,7 @@ the @code{=}@tie{}symbol.  This example will generate a warning
 octave @code{d''} instead of @code{d'} as indicated by the octave
 correction.
 
-@lilypond[verbatim,quote,fragment]
+@lilypond[verbatim,quote]
 \relative c'' {
   c2 d='4 d
   e2 f
@@ -508,7 +614,7 @@ correction.
 @end lilypond
 
 The octave of notes may also be checked with the
-@code{\octave}@tie{}@var{controlpitch} command.
+@code{\octaveCheck}@tie{}@var{controlpitch} command.
 @var{controlpitch} is specified in absolute mode.  This checks
 that the interval between the previous note and the
 @var{controlpitch} is within a fourth (i.e., the normal
@@ -516,34 +622,33 @@ calculation of relative mode).  If this check fails, a warning is
 printed, but the previous note is not changed.  Future notes are
 relative to the @var{controlpitch}.
 
-@lilypond[verbatim,quote,fragment]
+@lilypond[verbatim,quote]
 \relative c'' {
   c2 d
-  \octave c'
+  \octaveCheck c'
   e2 f
 }
 @end lilypond
 
-Compare the two bars below.  The first and third @code{\octave}
+Compare the two bars below.  The first and third @code{\octaveCheck}
 checks fail, but the second one does not fail.
 
-@lilypond[verbatim,quote,fragment]
+@lilypond[verbatim,quote]
 \relative c'' {
   c4 f g f
 
   c4
-  \octave c'
+  \octaveCheck c'
   f
-  \octave c'
+  \octaveCheck c'
   g
-  \octave c'
+  \octaveCheck c'
   f
 }
 @end lilypond
 
 
 @seealso
-
 Snippets:
 @rlsr{Pitches}.
 
@@ -555,9 +660,15 @@ Internals Reference:
 @unnumberedsubsubsec Transpose
 
 @cindex transpose
+@cindex transposing
 @cindex transposition
 @cindex transposition of pitches
+@cindex transposition of notes
+@cindex pitches, transposition of
+@cindex notes, transposition of
+
 @funindex \transpose
+@funindex transpose
 
 A music expression can be transposed with @code{\transpose}.  The
 syntax is
@@ -573,6 +684,9 @@ with pitch @var{frompitch} is changed to @var{topitch} and any
 other note is transposed by the same interval.  Both pitches are
 entered in absolute mode.
 
+@warning{Music inside a @code{@bs{}transpose} block is absolute
+unless a @code{@bs{}relative} is included in the block.}
+
 Consider a piece written in the key of D-major.  It can be
 transposed up to E-major; note that the key signature is
 automatically transposed as well.
@@ -586,6 +700,9 @@ automatically transposed as well.
 }
 @end lilypond
 
+@cindex transposing instruments
+@cindex instruments, transposing
+
 If a part written in C (normal @notation{concert pitch}) is to be
 played on the A clarinet (for which an A is notated as a C and
 thus sounds a minor third lower than notated), the appropriate
@@ -612,14 +729,13 @@ the notes will remain on the same scale step, the second version
 will print flats on the scale step above.
 
 @lilypond[verbatim,quote]
-mus = \relative c' { c d e f }
+music = \relative c' { c d e f }
 \new Staff {
-  \transpose c cis { \mus }
-  \transpose c des { \mus }
+  \transpose c cis { \music }
+  \transpose c des { \music }
 }
 @end lilypond
 
-@cindex transposing instruments
 
 @code{\transpose} may also be used in a different way, to input
 written notes for a transposing instrument.  The previous examples
@@ -656,8 +772,8 @@ see @ref{Instrument transpositions}.
 
 
 @seealso
-
 Notation Reference:
+@ref{Relative octave entry},
 @ref{Instrument transpositions}.
 
 Snippets:
@@ -666,9 +782,13 @@ Snippets:
 Internals Reference:
 @rinternals{TransposedMusic}.
 
+
 @funindex \transpose
+@funindex transpose
 @funindex \chordmode
+@funindex chordmode
 @funindex \relative
+@funindex relative
 
 @knownissues
 
@@ -677,26 +797,24 @@ The relative conversion will not affect @code{\transpose},
 To use relative mode within transposed music, an additional
 @code{\relative} must be placed inside @code{\transpose}.
 
-
 @node Displaying pitches
 @subsection Displaying pitches
 
 This section discusses how to alter the output of pitches.
 
 @menu
-* Clef::                        
-* Key signature::               
-* Ottava brackets::             
-* Instrument transpositions::   
-* Automatic accidentals::       
-* Ambitus::                     
+* Clef::
+* Key signature::
+* Ottava brackets::
+* Instrument transpositions::
+* Automatic accidentals::
+* Ambitus::
 @end menu
 
 
 @node Clef
 @unnumberedsubsubsec Clef
 
-@funindex \clef
 @cindex G clef
 @cindex C clef
 @cindex F clef
@@ -718,16 +836,19 @@ This section discusses how to alter the output of pitches.
 @cindex clef, C
 @cindex clef, F
 @cindex clef, treble
-@cindex clef, violin 
-@cindex clef, alto 
+@cindex clef, violin
+@cindex clef, alto
 @cindex clef, tenor
-@cindex clef, bass 
-@cindex clef, french 
-@cindex clef, soprano 
-@cindex clef, mezzosoprano 
-@cindex clef, baritone 
-@cindex clef, varbaritone 
-@cindex subbass clef, subbass 
+@cindex clef, bass
+@cindex clef, french
+@cindex clef, soprano
+@cindex clef, mezzosoprano
+@cindex clef, baritone
+@cindex clef, varbaritone
+@cindex subbass clef, subbass
+
+@funindex \clef
+@funindex clef
 
 The clef may be altered.  Middle C is shown in every example.
 
@@ -764,14 +885,26 @@ c2 c
 c2 c
 \clef tab
 c2 c
+
+\break
+
+\clef G
+c2 c
+\clef F
+c2 c
+\clef C
+c2 c
+
 @end lilypond
 
-Further supported clefs are described under @ref{Ancient clefs}.
+Further supported clefs are described under @ref{Mensural clefs}
+and @ref{Gregorian clefs}.
 
 @cindex transposing clefs
 @cindex clef, transposing
 @cindex octave transposition
 @cindex choral tenor clef
+@cindex tenor clef, choral
 
 By adding@tie{}@code{_8} or@tie{}@code{^8} to the clef name, the
 clef is transposed one octave down or up, respectively,
@@ -796,9 +929,8 @@ c2 c
 
 
 @seealso
-
 Notation Reference:
-@ref{Ancient clefs}.
+@ref{Mensural clefs}, @ref{Gregorian clefs}.
 
 Snippets:
 @rlsr{Pitches}.
@@ -814,7 +946,9 @@ Internals Reference:
 @unnumberedsubsubsec Key signature
 
 @cindex key signature
+
 @funindex \key
+@funindex key
 
 @c duplicated in Key signature and Accidentals
 @warning{New users are sometimes confused about accidentals and
@@ -833,16 +967,35 @@ at the start of the staff.  The key signature may be altered:
 @end example
 
 @funindex \major
+@funindex major
 @funindex \minor
+@funindex minor
 @funindex \ionian
+@funindex ionian
 @funindex \locrian
+@funindex locrian
 @funindex \aeolian
+@funindex aeolian
 @funindex \mixolydian
+@funindex mixolydian
 @funindex \lydian
+@funindex lydian
 @funindex \phrygian
+@funindex phrygian
 @funindex \dorian
+@funindex dorian
+
 @cindex church modes
 @cindex modes
+@cindex major
+@cindex minor
+@cindex ionian
+@cindex locrian
+@cindex aeolian
+@cindex mixolydian
+@cindex lydian
+@cindex phrygian
+@cindex dorian
 
 Here, @var{mode} should be @code{\major} or @code{\minor} to get a
 key signature of @var{pitch}-major or @var{pitch}-minor,
@@ -869,7 +1022,6 @@ fis
 
 
 @seealso
-
 Music Glossary:
 @rglos{church mode},
 @rglos{scordatura}.
@@ -899,18 +1051,22 @@ Internals Reference:
 @cindex 8ve
 @cindex octavation
 
+@funindex set-octavation
+@funindex \ottava
+@funindex ottava
+
 @notation{Ottava brackets} introduce an extra transposition of an
 octave for the staff:
 
 @lilypond[verbatim,quote,relative=2]
 a'2 b
-#(set-octavation 1)
+\ottava #1
 a b
-#(set-octavation 0)
+\ottava #0
 a b
 @end lilypond
 
-The @code{set-octavation} function also takes -1 (for 8va bassa),
+The @code{ottava} function also takes -1 (for 8va bassa),
 2@tie{}(for 15ma), and -2 (for 15ma bassa) as arguments.
 
 
@@ -921,7 +1077,6 @@ The @code{set-octavation} function also takes -1 (for 8va bassa),
 
 
 @seealso
-
 Music Glossary:
 @rglos{octavation}.
 
@@ -934,7 +1089,6 @@ Internals Reference:
 @rinternals{ottava-bracket-interface}.
 
 
-
 @node Instrument transpositions
 @unnumberedsubsubsec Instrument transpositions
 
@@ -942,7 +1096,10 @@ Internals Reference:
 @cindex transposition, instrument
 @cindex transposing instrument
 @cindex MIDI
+@cindex MIDI transposition
+
 @funindex \transposition
+@funindex transposition
 
 When typesetting scores that involve transposing instruments, some
 parts can be typeset in a different pitch than the
@@ -972,10 +1129,10 @@ playing in unison.
 
 @lilypond[verbatim,quote]
 \new GrandStaff <<
-  \new Staff = "Vln" {
+  \new Staff = "violin" {
     \relative c'' {
-      \set Staff.instrumentName = "Vln"
-      \set Staff.midiInstrument = "violin"
+      \set Staff.instrumentName = #"Vln"
+      \set Staff.midiInstrument = #"violin"
       % not strictly necessary, but a good reminder
       \transposition c'
 
@@ -986,7 +1143,7 @@ playing in unison.
   \new Staff = "clarinet" {
     \relative c'' {
       \set Staff.instrumentName = \markup { Cl (B\flat) }
-      \set Staff.midiInstrument = "clarinet"
+      \set Staff.midiInstrument = #"clarinet"
       \transposition bes
 
       \key d \major
@@ -1001,7 +1158,7 @@ example, a clarinetist may switch from an A clarinet to a B-flat
 clarinet.
 
 @lilypond[verbatim,quote,relative=2]
-\set Staff.instrumentName = "Cl (A)"
+\set Staff.instrumentName = #"Cl (A)"
 \key a \major
 \transposition a
 c d e f
@@ -1016,7 +1173,6 @@ c2 g
 
 
 @seealso
-
 Music Glossary:
 @rglos{concert pitch},
 @rglos{transposing instrument}.
@@ -1037,7 +1193,10 @@ Snippets:
 @cindex accidentals, automatic
 @cindex automatic accidentals
 @cindex default accidental style
+
 @funindex set-accidental-style
+@funindex voice
+@funindex default
 
 There are many different conventions on how to typeset
 accidentals.  LilyPond provides a function to specify which
@@ -1064,6 +1223,7 @@ style in all staves of the current @code{StaffGroup}, use:
 The following accidental styles are supported.  To demonstrate
 each style, we use the following example:
 
+
 @lilypond[verbatim,quote]
 musicA = {
   <<
@@ -1133,6 +1293,12 @@ both staves.
 @c don't use verbatim in this table.
 @table @code
 @item default
+
+@cindex default accidental style
+@cindex accidental style, default
+
+@funindex default
+
 This is the default typesetting behavior.  It corresponds to
 eighteenth-century common practice: accidentals are remembered to
 the end of the measure in which they occur and only in their own
@@ -1187,6 +1353,16 @@ musicB = {
 @end lilypond
 
 @item voice
+
+@cindex accidental style, voice
+@cindex voice accidental style
+@cindex accidental style, modern
+@cindex modern accidental style
+@cindex accidental style, modern-cautionary
+@cindex modern-cautionary accidental style
+
+@funindex voice
+
 The normal behavior is to remember the accidentals at
 @code{Staff}-level.  In this style, however, accidentals are
 typeset individually for each voice.  Apart from that, the rule is
@@ -1249,9 +1425,11 @@ musicB = {
 @end lilypond
 
 @item modern
+
 @cindex accidentals, modern style
 @cindex modern style accidentals
-@funindex modern style accidentals
+
+@funindex modern
 
 This rule corresponds to the common practice in the twentieth
 century.  It prints the same accidentals as @code{default}, with
@@ -1309,11 +1487,13 @@ musicB = {
 @end lilypond
 
 @item modern-cautionary
+
 @cindex accidentals, modern cautionary style
 @cindex modern accidental style
 @cindex modern cautionary accidental style
 @cindex modern style accidentals
 @cindex modern style cautionary accidentals
+
 @funindex modern-cautionary
 
 This rule is similar to @code{modern}, but the @q{extra}
@@ -1370,12 +1550,14 @@ musicB = {
 @end lilypond
 
 @item modern-voice
+
 @cindex accidental style, modern
 @cindex accidentals, modern
 @cindex accidentals, multivoice
 @cindex modern accidental style
 @cindex modern accidentals
 @cindex multivoice accidentals
+
 @funindex modern-voice
 
 This rule is used for multivoice accidentals to be read both by
@@ -1436,7 +1618,9 @@ musicB = {
 @cindex accidental style, cautionary, modern voice
 @cindex accidental style, modern voice cautionary
 @cindex accidental style, voice, modern cautionary
+
 @funindex modern-voice-cautionary
+
 @item modern-voice-cautionary
 
 This rule is the same as @code{modern-voice}, but with the extra
@@ -1492,11 +1676,14 @@ musicB = {
 @end lilypond
 
 @item piano
+
 @cindex accidental style, piano
 @cindex accidentals, piano
 @cindex piano accidental style
 @cindex piano accidentals
 
+@funindex piano
+
 This rule reflects twentieth-century practice for piano notation.
 Its behavior is very similar to @code{modern} style, but here
 accidentals also get canceled across the staves in the same
@@ -1552,7 +1739,7 @@ musicB = {
 @end lilypond
 
 @item piano-cautionary
-@funindex #(set-accidental-style 'piano-cautionary)
+
 @cindex accidentals, piano cautionary
 @cindex cautionary accidentals, piano
 @cindex piano cautionary accidentals
@@ -1560,6 +1747,8 @@ musicB = {
 @cindex cautionary accidental style, piano
 @cindex piano cautionary accidental style
 
+@funindex piano-cautionary
+
 This is the same as @code{piano} but with the extra accidentals
 typeset as cautionaries.
 
@@ -1608,11 +1797,252 @@ musicB = {
 }
 @end lilypond
 
+
+@item neo-modern
+
+@cindex neo-modern accidental style
+@cindex accidental style, neo-modern
+
+@funindex neo-modern
+
+This rule reproduces a common practice in contemporary music:
+accidentals are printed like with @code{modern}, but they are printed
+again if the same note appears later in the same measure -- except
+if the note is immediately repeated.
+
+@lilypond[quote]
+musicA = {
+  <<
+    \relative c' {
+      cis'8 fis, d'4 <a cis>8 f bis4 |
+      cis2. <c, g'>4 |
+    }
+    \\
+    \relative c' {
+      ais'2 cis, |
+      fis8 b a4 cis2 |
+    }
+  >>
+}
+
+musicB = {
+  \clef bass
+  \new Voice {
+    \voiceTwo \relative c' {
+      <fis, a cis>4
+      \change Staff = up
+      cis'
+      \change Staff = down
+      <fis, a>
+      \change Staff = up
+      dis' |
+      \change Staff = down
+      <fis, a cis>4 gis <f a d>2 |
+    }
+  }
+}
+
+\new PianoStaff {
+  <<
+    \context Staff = "up" {
+      #(set-accidental-style 'neo-modern)
+      \musicA
+    }
+    \context Staff = "down" {
+      #(set-accidental-style 'neo-modern)
+      \musicB
+    }
+  >>
+}
+@end lilypond
+
+@item neo-modern-cautionary
+
+@cindex neo-modern-cautionary accidental style
+@cindex accidental style, neo-modern-cautionary
+
+@funindex neo-modern-cautionary
+
+This rule is similar to @code{neo-modern}, but the extra
+accidentals are printed as cautionary accidentals.
+
+@lilypond[quote]
+musicA = {
+  <<
+    \relative c' {
+      cis'8 fis, d'4 <a cis>8 f bis4 |
+      cis2. <c, g'>4 |
+    }
+    \\
+    \relative c' {
+      ais'2 cis, |
+      fis8 b a4 cis2 |
+    }
+  >>
+}
+
+musicB = {
+  \clef bass
+  \new Voice {
+    \voiceTwo \relative c' {
+      <fis, a cis>4
+      \change Staff = up
+      cis'
+      \change Staff = down
+      <fis, a>
+      \change Staff = up
+      dis' |
+      \change Staff = down
+      <fis, a cis>4 gis <f a d>2 |
+    }
+  }
+}
+
+\new PianoStaff {
+  <<
+    \context Staff = "up" {
+      #(set-accidental-style 'neo-modern-cautionary)
+      \musicA
+    }
+    \context Staff = "down" {
+      #(set-accidental-style 'neo-modern-cautionary)
+      \musicB
+    }
+  >>
+}
+@end lilypond
+
+
+@item dodecaphonic
+
+@cindex dodecaphonic accidental style
+@cindex dodecaphonic style, neo-modern
+
+@funindex dodecaphonic
+
+This rule reflects a practice introduced by composers at
+the beginning of the 20th century, in an attempt to
+abolish the hierarchy between natural and non-natural notes.
+With this style, @emph{every} note gets an accidental sign,
+including natural signs.
+
+@lilypond[quote]
+musicA = {
+  <<
+    \relative c' {
+      cis'8 fis, d'4 <a cis>8 f bis4 |
+      cis2. <c, g'>4 |
+    }
+    \\
+    \relative c' {
+      ais'2 cis, |
+      fis8 b a4 cis2 |
+    }
+  >>
+}
+
+musicB = {
+  \clef bass
+  \new Voice {
+    \voiceTwo \relative c' {
+      <fis, a cis>4
+      \change Staff = up
+      cis'
+      \change Staff = down
+      <fis, a>
+      \change Staff = up
+      dis' |
+      \change Staff = down
+      <fis, a cis>4 gis <f a d>2 |
+    }
+  }
+}
+
+\new PianoStaff {
+  <<
+    \context Staff = "up" {
+      #(set-accidental-style 'dodecaphonic)
+      \musicA
+    }
+    \context Staff = "down" {
+      #(set-accidental-style 'dodecaphonic)
+      \musicB
+    }
+  >>
+}
+@end lilypond
+
+
+@item teaching
+
+@cindex teaching accidental style
+@cindex accidental style, teaching
+
+@funindex teaching
+
+This rule is intended for students, and makes it easy to create
+scale sheets with automagically created cautionary accidentals.
+Accidentals are printed like with @code{modern}, but cautionary
+accidentals are added for all sharp or flat tones specified by the
+key signature, except if the note is immediately repeated.
+
+@lilypond[quote]
+musicA = {
+  <<
+    \relative c' {
+      cis'8 fis, d'4 <a cis>8 f bis4 |
+      cis2. <c, g'>4 |
+    }
+    \\
+    \relative c' {
+      ais'2 cis, |
+      fis8 b a4 cis2 |
+    }
+  >>
+}
+
+musicB = {
+  \clef bass
+  \new Voice {
+    \voiceTwo \relative c' {
+      <fis, a cis>4
+      \change Staff = up
+      cis'
+      \change Staff = down
+      <fis, a>
+      \change Staff = up
+      dis' |
+      \change Staff = down
+      <fis, a cis>4 gis <f a d>2 |
+    }
+  }
+}
+
+\new PianoStaff {
+  <<
+    \context Staff = "up" {
+      \key fis \minor
+      #(set-accidental-style 'teaching)
+      \musicA
+    }
+    \context Staff = "down" {
+      \key fis \minor
+      #(set-accidental-style 'teaching)
+      \musicB
+    }
+  >>
+}
+@end lilypond
+
+
+
 @item no-reset
-@funindex no-reset accidental style
+
 @cindex accidental style, no reset
 @cindex no reset accidental style
 
+@funindex no-reset
+
 This is the same as @code{default} but with accidentals lasting
 @q{forever} and not only within the same measure:
 
@@ -1663,14 +2093,17 @@ musicB = {
 @end lilypond
 
 @item forget
-@funindex forget accidental style
+
 @cindex forget accidental style
 @cindex accidental style, forget
 
+@funindex forget
+
 This is the opposite of @code{no-reset}: Accidentals are not
 remembered at all -- and hence all accidentals are typeset
 relative to the key signature, regardless of what came before in
-the music:
+the music.  Unlike @code{dodecaphonic}, this rule never prints
+any naturals.
 
 @lilypond[quote]
 musicA = {
@@ -1726,7 +2159,6 @@ musicB = {
 
 
 @seealso
-
 Snippets:
 @rlsr{Pitches}.
 
@@ -1801,7 +2233,6 @@ printed if they are not part of the key signature.
 
 
 @seealso
-
 Music Glossary:
 @rglos{ambitus}.
 
@@ -1831,10 +2262,10 @@ ambitus.
 This section suggests ways of altering note heads.
 
 @menu
-* Special note heads::          
-* Easy notation note heads::    
-* Shape note heads::            
-* Improvisation::               
+* Special note heads::
+* Easy notation note heads::
+* Shape note heads::
+* Improvisation::
 @end menu
 
 @node Special note heads
@@ -1852,6 +2283,10 @@ This section suggests ways of altering note heads.
 @cindex parlato note heads
 @cindex harmonic note heads
 @cindex guitar note heads
+@cindex note head styles
+@cindex styles, note heads
+
+@funindex cross
 
 Note heads may be altered:
 
@@ -1873,8 +2308,8 @@ inside chords:
 @noindent
 To see all note head styles, see @ref{Note head styles}.
 
-@seealso
 
+@seealso
 Snippets:
 @rlsr{Pitches}.
 
@@ -1896,6 +2331,7 @@ Internals Reference:
 @unnumberedsubsubsec Easy notation note heads
 
 @cindex note heads, practice
+@cindex practice note heads
 @cindex note heads, easy notation
 @cindex easy notation
 @cindex Hal Leonard
@@ -1904,6 +2340,11 @@ Internals Reference:
 @cindex easy play note heads
 @cindex note heads, easy play
 
+@funindex \easyHeadsOn
+@funindex easyHeadsOn
+@funindex \easyHeadsOff
+@funindex easyHeadsOff
+
 The @q{easy play} note head includes a note name inside the head.
 It is used in music for beginners.  To make the letters readable,
 it should be printed in a large font size.  To print with a larger
@@ -1920,14 +2361,14 @@ font, see @ref{Setting the staff size}.
 }
 @end lilypond
 
+
 @predefined
+@code{\easyHeadsOn},
+@code{\easyHeadsOff}.
+@endpredefined
 
-@funindex \easyHeadsOn
-@funindex \easyHeadsOff
-@code{\easyHeadsOn}, @code{\easyHeadsOff}
 
 @seealso
-
 Notation Reference:
 @ref{Setting the staff size}.
 
@@ -1950,10 +2391,13 @@ Internals Reference:
 @cindex shape notes
 @cindex Aiken shape note heads
 @cindex sacred harp note heads
+
 @funindex \key
-@funindex shapeNoteStyles
+@funindex key
 @funindex \aikenHeads
+@funindex aikenHeads
 @funindex \sacredHarpHeads
+@funindex sacredHarpHeads
 
 In shape note head notation, the shape of the note head
 corresponds to the harmonic function of a note in the scale.  This
@@ -1970,11 +2414,12 @@ c, d e f g a b c
 Shapes are typeset according to the step in the scale, where the
 base of the scale is determined by the @code{\key} command.
 
+
 @predefined
+@code{\aikenHeads},
+@code{\sacredHarpHeads}.
+@endpredefined
 
-@funindex \aikenHeads
-@funindex \sacredHarpHeads
-@code{\aikenHeads}, @code{\sacredHarpHeads}
 
 @snippets
 
@@ -1984,8 +2429,8 @@ base of the scale is determined by the @code{\key} command.
 @noindent
 To see all note head styles, see @ref{Note head styles}.
 
-@seealso
 
+@seealso
 Snippets:
 @rlsr{Pitches}.
 
@@ -2007,6 +2452,11 @@ Internals Reference:
 @cindex note heads, improvisation
 @cindex note heads, slashed
 
+@funindex \improvisationOn
+@funindex improvisationOn
+@funindex \improvisationOff
+@funindex improvisationOff
+
 Improvisation is sometimes denoted with slashed note heads, where
 the performer may choose any pitch but should play the specified
 rhythm.  Such note heads can be created:
@@ -2027,14 +2477,12 @@ rhythm.  Such note heads can be created:
 
 
 @predefined
+@code{\improvisationOn},
+@code{\improvisationOff}.
+@endpredefined
 
-@funindex \improvisationOn
-@funindex \improvisationOff
-
-@code{\improvisationOn}, @code{\improvisationOff}
 
 @seealso
-
 Snippets:
 @rlsr{Pitches}.