]> 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 bb2c81e7ce8c38209e069906fda9fdbed37c026d..fce608a7c86883bcf1d8f37f66851cbf7af1f45c 100644 (file)
@@ -6,7 +6,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.51"
+@c \version "2.12.0"
 
 
 @node Pitches
 
 
 @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
 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
 
 
 @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
 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
 
 
 @end menu
 
 
@@ -47,7 +47,9 @@ mode.  In most cases, relative mode will be more convenient.
 @cindex pitches
 @cindex absolute
 @cindex absolute octave specification
 @cindex pitches
 @cindex absolute
 @cindex absolute octave specification
+@cindex octave specification, absolute
 @cindex absolute octave entry
 @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
 
 A pitch name is specified using lowercase letters@tie{}@code{a}
 through@tie{}@code{g}.  The note names @code{c} to @code{b} are
@@ -62,6 +64,7 @@ d e f g
 @end lilypond
 
 @cindex octave changing mark
 @end lilypond
 
 @cindex octave changing mark
+
 @funindex '
 @funindex ,
 
 @funindex '
 @funindex ,
 
@@ -79,8 +82,8 @@ c, c,, e, g
 d,, d, d c
 @end lilypond
 
 d,, d, d c
 @end lilypond
 
-@seealso
 
 
+@seealso
 Music Glossary:
 @rglos{Pitch names}.
 
 Music Glossary:
 @rglos{Pitch names}.
 
@@ -93,7 +96,11 @@ Snippets:
 
 @cindex relative
 @cindex relative octave entry
 
 @cindex relative
 @cindex relative octave entry
+@cindex octave entry, relative
 @cindex relative octave specification
 @cindex relative octave specification
+@cindex ocatve specification, relative
+
+@funindex relative
 @funindex \relative
 
 When octaves are specified in absolute mode it is easy to
 @funindex \relative
 
 When octaves are specified in absolute mode it is easy to
@@ -168,6 +175,50 @@ large intervals:
 }
 @end lilypond
 
 }
 @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
 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
@@ -202,7 +253,6 @@ that each interval contains.
 
 
 @seealso
 
 
 @seealso
-
 Music Glossary:
 @rglos{fifth},
 @rglos{interval},
 Music Glossary:
 @rglos{fifth},
 @rglos{interval},
@@ -220,16 +270,14 @@ Internals Reference:
 
 @cindex relative octave entry and transposition
 @cindex transposition and relative octave entry
 
 @cindex relative octave entry and transposition
 @cindex transposition and relative octave entry
+
 @funindex \transpose
 @funindex \transpose
+@funindex transpose
 @funindex \chordmode
 @funindex \chordmode
+@funindex chordmode
 @funindex \relative
 @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},
 
 @c DEPRECATED
 If no @var{startpitch} is specified for @code{\relative},
@@ -256,6 +304,7 @@ see @rlearning{Accidentals and key signatures}.}
 
 @cindex note names, Dutch
 @cindex note names, default
 
 @cindex note names, Dutch
 @cindex note names, default
+@cindex default note names
 @cindex sharp
 @cindex flat
 @cindex double sharp
 @cindex sharp
 @cindex flat
 @cindex double sharp
@@ -263,6 +312,7 @@ see @rlearning{Accidentals and key signatures}.}
 @cindex double flat
 @cindex flat, double
 @cindex natural sign
 @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
 
 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
@@ -285,7 +335,8 @@ a4 aes a2
 @end lilypond
 
 @cindex quarter tones
 @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:
 
 Quarter tones may be added; the following is a series of Cs with
 increasing pitches:
@@ -300,11 +351,13 @@ ceseh1 ces ceh c cih cis cisih
 @cindex accidental, cautionary
 @cindex accidental, parenthesized
 @cindex reminder accidental
 @cindex accidental, cautionary
 @cindex accidental, parenthesized
 @cindex reminder accidental
-@funindex ?
 @cindex cautionary accidental
 @cindex parenthesized accidental
 @cindex cautionary accidental
 @cindex parenthesized accidental
+
+@funindex ?
 @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
 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
@@ -335,8 +388,11 @@ cis
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {preventing-extra-naturals-from-being-automatically-added.ly}
 
 @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},
 Music Glossary:
 @rglos{sharp},
 @rglos{flat},
@@ -350,14 +406,14 @@ Learning Manual:
 
 Notation Reference:
 @ref{Automatic accidentals},
 
 Notation Reference:
 @ref{Automatic accidentals},
-@ref{Annotational accidentals},
+@ref{Annotational accidentals (musica ficta)},
 @ref{Note names in other languages}.
 
 Snippets:
 @rlsr{Pitches}.
 
 Internals Reference:
 @ref{Note names in other languages}.
 
 Snippets:
 @rlsr{Pitches}.
 
 Internals Reference:
-@rinternals{Accidental_engraver}, 
+@rinternals{Accidental_engraver},
 @rinternals{Accidental},
 @rinternals{AccidentalCautionary},
 @rinternals{accidental-interface}.
 @rinternals{Accidental},
 @rinternals{AccidentalCautionary},
 @rinternals{accidental-interface}.
@@ -377,60 +433,89 @@ any standard.
 @node Note names in other languages
 @unnumberedsubsubsec Note names in other languages
 
 @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 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 c d e f g a bes b
-  @tab -is @tab -es @tab -isis @tab -eses
-@item arabic.ly
+@item @file{arabic.ly}
   @tab do re mi fa sol la sib si
   @tab do re mi fa sol la sib si
-  @tab -d @tab -b @tab -dd @tab -bb
-@item catalan.ly
+@item @file{catalan.ly}
   @tab do re mi fa sol la sib si
   @tab do re mi fa sol la sib si
-  @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
-@item deutsch.ly
+@item @file{deutsch.ly}
   @tab c d e f g a b h
   @tab c d e f g a b h
-  @tab -is @tab -es @tab -isis @tab -eses
-@item english.ly
+@item @file{english.ly}
   @tab c d e f g a bf b
   @tab c d e f g a bf b
-  @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
-    @tab -ff/-flatflat
-@item espanol.ly
+@item @file{espanol.ly}
   @tab do re mi fa sol la sib si
   @tab do re mi fa sol la sib si
-  @tab -s @tab -b @tab -ss @tab -bb
-@item italiano.ly
+@item @file{italiano.ly}
   @tab do re mi fa sol la sib si
   @tab do re mi fa sol la sib si
-  @tab -d @tab -b @tab -dd @tab -bb
-@item norsk.ly
+@item @file{norsk.ly}
+  @tab c d e f g a b h
+@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 c d e f g a b h
+@item @file{svenska.ly}
+  @tab c d e f g a b h
+@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 @file{catalan.ly}
+  @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
+@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
   @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
     @tab -essess/-eses
-@item portugues.ly
-  @tab do re mi fa sol la sib si
+@item @file{portugues.ly}
   @tab -s @tab -b @tab -ss @tab -bb
   @tab -s @tab -b @tab -ss @tab -bb
-@item suomi.ly
-  @tab c d e f g a b h
+@item @file{suomi.ly}
   @tab -is @tab -es @tab -isis @tab -eses
   @tab -is @tab -es @tab -isis @tab -eses
-@item svenska.ly
-  @tab c d e f g a b h
+@item @file{svenska.ly}
   @tab -iss @tab -ess @tab -ississ @tab -essess
   @tab -iss @tab -ess @tab -ississ @tab -essess
-@item vlaams.ly
-  @tab do re mi fa sol la sib si
+@item @file{vlaams.ly}
   @tab -k @tab -b @tab -kk @tab -bb
 @end multitable
   @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
 
 In Dutch, @code{aes} is contracted to @code{as}, but both forms
 are accepted in LilyPond.  Similarly, both @code{es} and
@@ -457,36 +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.
 
 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
 
   @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
   @tab -ih @tab -eh @tab -isih @tab -eseh
-@item arabic.ly
-  @tab do re mi fa sol la sib si
+@item @file{arabic.ly}
   @tab -sd @tab -sb @tab -dsd @tab -bsb
   @tab -sd @tab -sb @tab -dsd @tab -bsb
-@item deutsch.ly
-  @tab c d e f g a b h
+@item @file{deutsch.ly}
   @tab -ih @tab -eh @tab -isih @tab -eseh
   @tab -ih @tab -eh @tab -isih @tab -eseh
-@item english.ly
-  @tab c d e f g a bf b
+@item @file{english.ly}
   @tab -qs @tab -qf @tab -tqs @tab -tqf
   @tab -qs @tab -qf @tab -tqs @tab -tqf
-@item italiano.ly
-  @tab do re mi fa sol la sib si
+@item @file{espanol.ly}
+  @tab -cs @tab -cb @tab -tcs @tab -tcb
+@item @file{italiano.ly}
   @tab -sd @tab -sb @tab -dsd @tab -bsb
   @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
   @tab -sqt @tab -bqt @tab -stqt @tab -btqt
 @end multitable
-@end smallexample
+@end quotation
 
 
 @seealso
 
 
 @seealso
-
 Music Glossary:
 @rglos{Pitch names}.
 
 Music Glossary:
 @rglos{Pitch names}.
 
@@ -500,8 +579,8 @@ Snippets:
 This section discusses how to modify pitches.
 
 @menu
 This section discusses how to modify pitches.
 
 @menu
-* Octave checks::               
-* Transpose::                   
+* Octave checks::
+* Transpose::
 @end menu
 
 @node Octave checks
 @end menu
 
 @node Octave checks
@@ -509,8 +588,12 @@ This section discusses how to modify pitches.
 
 @cindex octave correction
 @cindex octave check
 
 @cindex octave correction
 @cindex octave check
+@cindex control pitch
+
 @funindex =
 @funindex \octaveCheck
 @funindex =
 @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
 
 In relative mode, it is easy to forget an octave changing mark.
 Octave checks make such errors easier to find by displaying a
@@ -566,7 +649,6 @@ checks fail, but the second one does not fail.
 
 
 @seealso
 
 
 @seealso
-
 Snippets:
 @rlsr{Pitches}.
 
 Snippets:
 @rlsr{Pitches}.
 
@@ -584,7 +666,9 @@ Internals Reference:
 @cindex transposition of notes
 @cindex pitches, transposition of
 @cindex notes, transposition of
 @cindex transposition of notes
 @cindex pitches, transposition of
 @cindex notes, transposition of
+
 @funindex \transpose
 @funindex \transpose
+@funindex transpose
 
 A music expression can be transposed with @code{\transpose}.  The
 syntax is
 
 A music expression can be transposed with @code{\transpose}.  The
 syntax is
@@ -600,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.
 
 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.
 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.
@@ -649,8 +736,6 @@ music = \relative c' { c d e f }
 }
 @end lilypond
 
 }
 @end lilypond
 
-@cindex transposing instruments
-@cindex instruments, transposing
 
 @code{\transpose} may also be used in a different way, to input
 written notes for a transposing instrument.  The previous examples
 
 @code{\transpose} may also be used in a different way, to input
 written notes for a transposing instrument.  The previous examples
@@ -687,8 +772,8 @@ see @ref{Instrument transpositions}.
 
 
 @seealso
 
 
 @seealso
-
 Notation Reference:
 Notation Reference:
+@ref{Relative octave entry},
 @ref{Instrument transpositions}.
 
 Snippets:
 @ref{Instrument transpositions}.
 
 Snippets:
@@ -697,9 +782,13 @@ Snippets:
 Internals Reference:
 @rinternals{TransposedMusic}.
 
 Internals Reference:
 @rinternals{TransposedMusic}.
 
+
 @funindex \transpose
 @funindex \transpose
+@funindex transpose
 @funindex \chordmode
 @funindex \chordmode
+@funindex chordmode
 @funindex \relative
 @funindex \relative
+@funindex relative
 
 @knownissues
 
 
 @knownissues
 
@@ -708,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}.
 
 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
 @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
 
 @end menu
 
 
 @node Clef
 @unnumberedsubsubsec Clef
 
-@funindex \clef
 @cindex G clef
 @cindex C clef
 @cindex F clef
 @cindex G clef
 @cindex C clef
 @cindex F clef
@@ -749,16 +836,19 @@ This section discusses how to alter the output of pitches.
 @cindex clef, C
 @cindex clef, F
 @cindex clef, treble
 @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, 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.
 
 
 The clef may be altered.  Middle C is shown in every example.
 
@@ -795,14 +885,26 @@ c2 c
 c2 c
 \clef tab
 c2 c
 c2 c
 \clef tab
 c2 c
+
+\break
+
+\clef G
+c2 c
+\clef F
+c2 c
+\clef C
+c2 c
+
 @end lilypond
 
 @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 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,
 
 By adding@tie{}@code{_8} or@tie{}@code{^8} to the clef name, the
 clef is transposed one octave down or up, respectively,
@@ -827,9 +929,8 @@ c2 c
 
 
 @seealso
 
 
 @seealso
-
 Notation Reference:
 Notation Reference:
-@ref{Ancient clefs}.
+@ref{Mensural clefs}, @ref{Gregorian clefs}.
 
 Snippets:
 @rlsr{Pitches}.
 
 Snippets:
 @rlsr{Pitches}.
@@ -845,7 +946,9 @@ Internals Reference:
 @unnumberedsubsubsec Key signature
 
 @cindex key signature
 @unnumberedsubsubsec Key signature
 
 @cindex key signature
+
 @funindex \key
 @funindex \key
+@funindex key
 
 @c duplicated in Key signature and Accidentals
 @warning{New users are sometimes confused about accidentals and
 
 @c duplicated in Key signature and Accidentals
 @warning{New users are sometimes confused about accidentals and
@@ -864,16 +967,35 @@ at the start of the staff.  The key signature may be altered:
 @end example
 
 @funindex \major
 @end example
 
 @funindex \major
+@funindex major
 @funindex \minor
 @funindex \minor
+@funindex minor
 @funindex \ionian
 @funindex \ionian
+@funindex ionian
 @funindex \locrian
 @funindex \locrian
+@funindex locrian
 @funindex \aeolian
 @funindex \aeolian
+@funindex aeolian
 @funindex \mixolydian
 @funindex \mixolydian
+@funindex mixolydian
 @funindex \lydian
 @funindex \lydian
+@funindex lydian
 @funindex \phrygian
 @funindex \phrygian
+@funindex phrygian
 @funindex \dorian
 @funindex \dorian
+@funindex dorian
+
 @cindex church modes
 @cindex modes
 @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,
 
 Here, @var{mode} should be @code{\major} or @code{\minor} to get a
 key signature of @var{pitch}-major or @var{pitch}-minor,
@@ -900,7 +1022,6 @@ fis
 
 
 @seealso
 
 
 @seealso
-
 Music Glossary:
 @rglos{church mode},
 @rglos{scordatura}.
 Music Glossary:
 @rglos{church mode},
 @rglos{scordatura}.
@@ -930,6 +1051,10 @@ Internals Reference:
 @cindex 8ve
 @cindex octavation
 
 @cindex 8ve
 @cindex octavation
 
+@funindex set-octavation
+@funindex \ottava
+@funindex ottava
+
 @notation{Ottava brackets} introduce an extra transposition of an
 octave for the staff:
 
 @notation{Ottava brackets} introduce an extra transposition of an
 octave for the staff:
 
@@ -952,7 +1077,6 @@ The @code{ottava} function also takes -1 (for 8va bassa),
 
 
 @seealso
 
 
 @seealso
-
 Music Glossary:
 @rglos{octavation}.
 
 Music Glossary:
 @rglos{octavation}.
 
@@ -965,7 +1089,6 @@ Internals Reference:
 @rinternals{ottava-bracket-interface}.
 
 
 @rinternals{ottava-bracket-interface}.
 
 
-
 @node Instrument transpositions
 @unnumberedsubsubsec Instrument transpositions
 
 @node Instrument transpositions
 @unnumberedsubsubsec Instrument transpositions
 
@@ -974,7 +1097,9 @@ Internals Reference:
 @cindex transposing instrument
 @cindex MIDI
 @cindex MIDI transposition
 @cindex transposing instrument
 @cindex MIDI
 @cindex MIDI transposition
+
 @funindex \transposition
 @funindex \transposition
+@funindex transposition
 
 When typesetting scores that involve transposing instruments, some
 parts can be typeset in a different pitch than the
 
 When typesetting scores that involve transposing instruments, some
 parts can be typeset in a different pitch than the
@@ -1006,8 +1131,8 @@ playing in unison.
 \new GrandStaff <<
   \new Staff = "violin" {
     \relative c'' {
 \new GrandStaff <<
   \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'
 
       % not strictly necessary, but a good reminder
       \transposition c'
 
@@ -1018,7 +1143,7 @@ playing in unison.
   \new Staff = "clarinet" {
     \relative c'' {
       \set Staff.instrumentName = \markup { Cl (B\flat) }
   \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
       \transposition bes
 
       \key d \major
@@ -1033,7 +1158,7 @@ example, a clarinetist may switch from an A clarinet to a B-flat
 clarinet.
 
 @lilypond[verbatim,quote,relative=2]
 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
 \key a \major
 \transposition a
 c d e f
@@ -1048,7 +1173,6 @@ c2 g
 
 
 @seealso
 
 
 @seealso
-
 Music Glossary:
 @rglos{concert pitch},
 @rglos{transposing instrument}.
 Music Glossary:
 @rglos{concert pitch},
 @rglos{transposing instrument}.
@@ -1069,7 +1193,10 @@ Snippets:
 @cindex accidentals, automatic
 @cindex automatic accidentals
 @cindex default accidental style
 @cindex accidentals, automatic
 @cindex automatic accidentals
 @cindex default accidental style
+
 @funindex set-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
 
 There are many different conventions on how to typeset
 accidentals.  LilyPond provides a function to specify which
@@ -1096,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:
 
 The following accidental styles are supported.  To demonstrate
 each style, we use the following example:
 
+
 @lilypond[verbatim,quote]
 musicA = {
   <<
 @lilypond[verbatim,quote]
 musicA = {
   <<
@@ -1169,6 +1297,8 @@ both staves.
 @cindex default accidental style
 @cindex accidental style, 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
 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
@@ -1231,6 +1361,8 @@ musicB = {
 @cindex accidental style, modern-cautionary
 @cindex modern-cautionary 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
 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
@@ -1297,6 +1429,8 @@ musicB = {
 @cindex accidentals, modern style
 @cindex modern style accidentals
 
 @cindex accidentals, modern style
 @cindex 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
 two exceptions that serve to avoid ambiguity: after temporary
 This rule corresponds to the common practice in the twentieth
 century.  It prints the same accidentals as @code{default}, with
 two exceptions that serve to avoid ambiguity: after temporary
@@ -1359,6 +1493,7 @@ musicB = {
 @cindex modern cautionary accidental style
 @cindex modern style accidentals
 @cindex modern style cautionary accidentals
 @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}
 @funindex modern-cautionary
 
 This rule is similar to @code{modern}, but the @q{extra}
@@ -1422,6 +1557,7 @@ musicB = {
 @cindex modern accidental style
 @cindex modern accidentals
 @cindex multivoice accidentals
 @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
 @funindex modern-voice
 
 This rule is used for multivoice accidentals to be read both by
@@ -1482,6 +1618,7 @@ musicB = {
 @cindex accidental style, cautionary, modern voice
 @cindex accidental style, modern voice cautionary
 @cindex accidental style, voice, modern cautionary
 @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
 @funindex modern-voice-cautionary
 
 @item modern-voice-cautionary
@@ -1545,6 +1682,8 @@ musicB = {
 @cindex piano accidental style
 @cindex piano accidentals
 
 @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
 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
@@ -1601,7 +1740,6 @@ musicB = {
 
 @item piano-cautionary
 
 
 @item piano-cautionary
 
-@funindex piano-cautionary
 @cindex accidentals, piano cautionary
 @cindex cautionary accidentals, piano
 @cindex piano cautionary accidentals
 @cindex accidentals, piano cautionary
 @cindex cautionary accidentals, piano
 @cindex piano cautionary accidentals
@@ -1609,6 +1747,8 @@ musicB = {
 @cindex cautionary accidental style, piano
 @cindex piano cautionary accidental style
 
 @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.
 
 This is the same as @code{piano} but with the extra accidentals
 typeset as cautionaries.
 
@@ -1657,12 +1797,252 @@ musicB = {
 }
 @end lilypond
 
 }
 @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
 
 @item no-reset
 
-@funindex no-reset accidental style
 @cindex accidental style, no reset
 @cindex 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:
 
 This is the same as @code{default} but with accidentals lasting
 @q{forever} and not only within the same measure:
 
@@ -1714,14 +2094,16 @@ musicB = {
 
 @item forget
 
 
 @item forget
 
-@funindex forget accidental style
 @cindex forget accidental style
 @cindex accidental style, forget
 
 @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
 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 = {
 
 @lilypond[quote]
 musicA = {
@@ -1777,7 +2159,6 @@ musicB = {
 
 
 @seealso
 
 
 @seealso
-
 Snippets:
 @rlsr{Pitches}.
 
 Snippets:
 @rlsr{Pitches}.
 
@@ -1852,7 +2233,6 @@ printed if they are not part of the key signature.
 
 
 @seealso
 
 
 @seealso
-
 Music Glossary:
 @rglos{ambitus}.
 
 Music Glossary:
 @rglos{ambitus}.
 
@@ -1882,10 +2262,10 @@ ambitus.
 This section suggests ways of altering note heads.
 
 @menu
 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
 @end menu
 
 @node Special note heads
@@ -1906,6 +2286,8 @@ This section suggests ways of altering note heads.
 @cindex note head styles
 @cindex styles, note heads
 
 @cindex note head styles
 @cindex styles, note heads
 
+@funindex cross
+
 Note heads may be altered:
 
 @lilypond[verbatim,quote,relative=2]
 Note heads may be altered:
 
 @lilypond[verbatim,quote,relative=2]
@@ -1926,8 +2308,8 @@ inside chords:
 @noindent
 To see all note head styles, see @ref{Note head styles}.
 
 @noindent
 To see all note head styles, see @ref{Note head styles}.
 
-@seealso
 
 
+@seealso
 Snippets:
 @rlsr{Pitches}.
 
 Snippets:
 @rlsr{Pitches}.
 
@@ -1958,6 +2340,11 @@ Internals Reference:
 @cindex easy play note heads
 @cindex note heads, easy play
 
 @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
 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
@@ -1974,14 +2361,14 @@ font, see @ref{Setting the staff size}.
 }
 @end lilypond
 
 }
 @end lilypond
 
+
 @predefined
 @predefined
+@code{\easyHeadsOn},
+@code{\easyHeadsOff}.
+@endpredefined
 
 
-@funindex \easyHeadsOn
-@funindex \easyHeadsOff
-@code{\easyHeadsOn}, @code{\easyHeadsOff}
 
 @seealso
 
 @seealso
-
 Notation Reference:
 @ref{Setting the staff size}.
 
 Notation Reference:
 @ref{Setting the staff size}.
 
@@ -2004,10 +2391,13 @@ Internals Reference:
 @cindex shape notes
 @cindex Aiken shape note heads
 @cindex sacred harp note heads
 @cindex shape notes
 @cindex Aiken shape note heads
 @cindex sacred harp note heads
+
 @funindex \key
 @funindex \key
-@funindex shapeNoteStyles
+@funindex key
 @funindex \aikenHeads
 @funindex \aikenHeads
+@funindex aikenHeads
 @funindex \sacredHarpHeads
 @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
 
 In shape note head notation, the shape of the note head
 corresponds to the harmonic function of a note in the scale.  This
@@ -2024,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.
 
 Shapes are typeset according to the step in the scale, where the
 base of the scale is determined by the @code{\key} command.
 
+
 @predefined
 @predefined
+@code{\aikenHeads},
+@code{\sacredHarpHeads}.
+@endpredefined
 
 
-@funindex \aikenHeads
-@funindex \sacredHarpHeads
-@code{\aikenHeads}, @code{\sacredHarpHeads}
 
 @snippets
 
 
 @snippets
 
@@ -2038,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}.
 
 @noindent
 To see all note head styles, see @ref{Note head styles}.
 
-@seealso
 
 
+@seealso
 Snippets:
 @rlsr{Pitches}.
 
 Snippets:
 @rlsr{Pitches}.
 
@@ -2061,6 +2452,11 @@ Internals Reference:
 @cindex note heads, improvisation
 @cindex note heads, slashed
 
 @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:
 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:
@@ -2081,14 +2477,12 @@ rhythm.  Such note heads can be created:
 
 
 @predefined
 
 
 @predefined
+@code{\improvisationOn},
+@code{\improvisationOff}.
+@endpredefined
 
 
-@funindex \improvisationOn
-@funindex \improvisationOff
-
-@code{\improvisationOn}, @code{\improvisationOff}
 
 @seealso
 
 @seealso
-
 Snippets:
 @rlsr{Pitches}.
 
 Snippets:
 @rlsr{Pitches}.