]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/chords.itely
Merge master into nested-bookparts
[lilypond.git] / Documentation / user / chords.itely
index a26064547ff4f9866246827f99c8811423344f99..3382c43d2f7f73b0cb3ab48b5d1551edb1b7a427 100644 (file)
@@ -6,20 +6,22 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.11.61"
 
 
 @node Chord notation
 @section Chord notation
 
-Chords can be entered in chord mode, which recognizes some
-traditional European chord naming conventions.  Chord names can also
-be displayed.  In addition, figured bass notation can be displayed.
+@lilypondfile[quote]{chords-headword.ly}
+
+Chords can be entered either as normal notes or in chord mode and displayed
+using a variety of traditional European chord naming conventions.  Chord
+names and figured bass notation can also be displayed.
 
 @menu
-* Chord mode::                  
-* Displaying chords::           
-* Figured bass::                
+* Chord mode::
+* Displaying chords::
+* Figured bass::
 @end menu
 
 
@@ -32,9 +34,9 @@ Chord mode is used to enter chords using an indicator of the chord
 structure, rather than the chord pitches.
 
 @menu
-* Chord mode overview::         
-* Common chords::               
-* Extended and altered chords::  
+* Chord mode overview::
+* Common chords::
+* Extended and altered chords::
 @end menu
 
 @node Chord mode overview
@@ -61,12 +63,12 @@ Chords entered using chord mode are music elements, and can be
 transposed just like chords entered using simultaneous music.
 
 Chord mode and note mode can be mixed in sequential music:
+
 @lilypond[verbatim,quote,ragged-right,relative=1]
-{ <c e g>2 < g b d >
-  \chordmode { c2 f}
-  < c e g > < g' b d >
-  \chordmode { f g}
-}
+<c e g>2 <g b d>
+\chordmode { c2 f }
+<c e g>2 <g' b d>
+\chordmode { f2 g }
 @end lilypond
 
 
@@ -89,18 +91,16 @@ chord mode comes first, the note mode will create a new @code{Staff}
 context.
 
 @lilypond[verbatim,quote,ragged-right,relative=1]
-{
-  \chordmode { c2 f}
-  < c e g > < g' b d >
-}
+\chordmode { c2 f }
+<c e g>2 <g' b d>
 @end lilypond
 
 To avoid this behavior, explicitly create the @code{Staff} context:
 
 @lilypond[verbatim,quote,ragged-right,relative=1]
 \new Staff {
-  \chordmode { c2 f}
-  < c e g > < g' b d >
+  \chordmode { c2 f }
+  <c e g>2  <g' b d>
 }
 @end lilypond
 
@@ -127,7 +127,7 @@ Minor, augmented, and diminished triads are entered by placing
 \chordmode { c2:m f4:aug g:dim }
 @end lilypond
 
-Seventh chords may be created:
+Seventh chords can be created:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
 \chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
@@ -139,35 +139,94 @@ Seventh chords may be created:
 @funindex m
 
 The table belows shows the actions of the quality modifiers on
-triads and seventh chords.
-
-@table @code
+triads and seventh chords.  A more complete table of modifier usage
+is found at @ref{Common chord modifiers}.
+
+@c @table @code
+@multitable @columnfractions .2 .4 .3
+
+@item
+@b{Modifier}
+@tab
+@b{Action}
+@tab
+@b{Example}
+
+@item
+None
+@tab
+The default action; produces a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1
+}
+@end lilypond
 
-@item m
+@item 
+m, m7
+@tab
 The minor chord.  This modifier lowers the 3rd and (if present) the
 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:m c:m7
+}
+@end lilypond
 
-@item dim
+
+@item 
+dim, dim7
+@tab
 The diminished chord.  This modifier lowers the 3rd, 5th and (if
 present) the 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:dim c:dim7
+}
+@end lilypond
 
-@item aug
+@item 
+aug
+@tab
 The augmented chord.  This modifier raises the 5th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:aug
+}
+@end lilypond
 
-@item maj
+@item 
+maj, maj7
+@tab
 The major 7th chord.  This modifier adds a raised 7th step.  The
 @code{7} following @code{maj} is optional.  Do NOT use this modifier
 to create a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:maj c:maj7
+}
+@end lilypond
 
-@end table
+@end multitable
 
-@c TODO -- perhaps add warning about c and c:maj being different, while
-@c   c:maj and c:maj7 are the same
 
 @seealso
 
+Notation Reference:
+@ref{Common chord modifiers}.
+
 Snippets:
-@rlsr{Chords}
+@rlsr{Chords}.
 
 @node Extended and altered chords
 @unnumberedsubsubsec Extended and altered chords
@@ -190,18 +249,24 @@ larger value is interpreted as 13.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
 \chordmode {
-  c:2 c:3 c:4 c:5
-  c:6 c:7 c:8 c:9
-  c:10 c:11 c:12 c:13
+  c1:2 c:3 c:4 c:5
+  c1:6 c:7 c:8 c:9
+  c1:10 c:11 c:12 c:13
+  c1:14
 }
 @end lilypond
 
+@noindent
+Note that both @code{c:5} and @code{c} produce a C major triad.
+
 Since an unaltered 11 does not sound good when combined with an
 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
 is added explicitly).
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
-\chordmode { c1:13 c:13.11 c:m13 }
+\chordmode {
+  c1:13 c:13.11 c:m13
+}
 @end lilypond
 
 @cindex additions, in chords
@@ -210,35 +275,45 @@ Individual steps can be added to a chord.  Additions follow the
 extent and are prefixed by a dot (@code{.}).
 
 @lilypond[quote,verbatim,fragment,relative=1]
-\chordmode { c1:5.6 c:3.7.8 c:3.6.13 }
+\chordmode {
+  c1:5.6 c:3.7.8 c:3.6.13
+}
 @end lilypond
 
 Added steps can be as high as desired.
 
 @lilypond[quote,verbatim,fragment,relative=1]
-\chordmode { c4:5.15 c:5.20 c:5.25 c:5.30 }
+\chordmode {
+  c4:5.15 c:5.20 c:5.25 c:5.30
+}
 @end lilypond
 
 @cindex chord steps, altering
 
 Added chord steps can be altered by suffixing a @code{-} or @code{+}
 sign to the number.  To alter a step that is automatically included
-as part of the basic chode structure, add it as an altered step.
+as part of the basic chord structure, add it as an altered step.
 
 @lilypond[quote,verbatim,fragment,relative=1]
-\chordmode { c1:7+ c:5+.3- c:3-.5-.7- }
+\chordmode {
+  c1:7+ c:5+.3- c:3-.5-.7-
+}
 @end lilypond
 
 @cindex removals, in chords
 
 @funindex ^
 
-A step to be removed from the chord  must come at the end of a
-modifier string and be prefixed by @code{^}.  Only one removal with @code{^}
-is allowed in a modifier string.
+Following any steps to be added, a series of steps to be removed 
+is introduced in a modifier string with a prefix of @code{^}.  
+If more than one step is to be removed, the steps to be
+removed are separated by @code{.} following the
+initial @code{^}. 
 
 @lilypond[quote,verbatim,fragment,relative=1]
-\chordmode { c1^3 c:7^5 c:9^3.5 }
+\chordmode {
+  c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
+}
 @end lilypond
 
 @funindex sus
@@ -250,12 +325,11 @@ chord.  @code{sus} is equivalent to @code{^3}; @code{sus4} is
 equivalent to @code{.4^3}.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c1:sus c:sus2 c:sus4 c:5.4^3 }
+\chordmode {
+  c1:sus c:sus2 c:sus4 c:5.4^3
+}
 @end lilypond
 
-It is possible to remove the 3rd step with @code{sus} and remove
-another step with @code{^} in one modifier string.
-
 @funindex /
 @cindex chord inversions
 @cindex bass note, for chords
@@ -265,7 +339,9 @@ chord) and added bass notes can be specified by appending
 @code{/}@var{pitch} to the chord.
 
 @lilypond[quote,ragged-right,fragment,verbatim, relative=2]
-\chordmode { c1 c/g c/f }
+\chordmode {
+  c1 c/g c/f
+}
 @end lilypond
 
 @funindex /+
@@ -274,11 +350,20 @@ A bass note that is part of the chord can be added, instead of
 moved as part of an inversion, by using @code{/+}@var{pitch}.
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-\chordmode { c1 c/+g c/+f }
+\chordmode {
+  c1 c/g c/+g
+}
 @end lilypond
 
+Chord modifiers that can be used to produce a variety of
+standard chords are shown in 
+@ref{Common chord modifiers}.
+
 @seealso
 
+Notation Reference:
+@ref{Common chord modifiers}.
+
 Snippets:
 @rlsr{Chords}
 
@@ -292,10 +377,15 @@ interpreted last.
 \chordmode { c1:5.5-.5+ }
 @end lilypond
 
-Only one step can be removed from a chord.  If a chord with multiple
-removed steps is desired, it must be built through addition of
-multiple steps.
+Only the second inversion can be created by adding a bass
+note.  The first inversion requires changing the root of
+the chord.
 
+@lilypond[quote,ragged-right,verbatim,fragment]
+\chordmode {
+  c'1: c':/g e:6-3-^5 e:m6-^5
+}
+@end lilypond
 
 @node Displaying chords
 @subsection Displaying chords
@@ -304,8 +394,8 @@ Chords can be displayed by name, in addition to the standard display
 as notes on a staff.
 
 @menu
-* Printing chord names::        
-* Customizing chord names::     
+* Printing chord names::
+* Customizing chord names::
 @end menu
 
 @node Printing chord names
@@ -319,50 +409,17 @@ Chord names are printed in the @code{ChordNames} context:
 
 @lilypond[verbatim,quote,relative=1,ragged-right]
 \new ChordNames {
-  \chordmode { c2 f4. g8 }
-}
-@end lilypond
-
-Both chord names and the notes can be displayed:
-
-@lilypond[verbatim,quote,ragged-right]
-myChords = \relative c'{
-  \chordmode { c2 f4. g8 }
-}
-<<
-  \new ChordNames {
-    \chordmode { c2 f4. g8 }
+  \chordmode {
+    c2 f4. g8
   }
-  {
-    \chordmode { c2 f4. g8 }
-  }
->>
-@end lilypond
-
-Setting @rinternals{ChordNames}.@code{chordChanges} to true causes
-chords names to be displayed only when the chord changes or at
-the start of a new line
-
-@lilypond[quote,verbatim,ragged-right]
-harmonies = \chordmode {
-  c1:m c:m \break c:m c:m d
 }
-<<
-  \new ChordNames {
-    \set chordChanges = ##t
-    \harmonies
-  }
-  \new Staff {
-    \relative c' { \harmonies }
-  }
->>
 @end lilypond
 
 Chords can be entered as simultaneous notes or through the use of
 chord mode.  The displayed chord name will be the same, regardless
 of the mode of entry, unless there are inversions or added bass notes:
 
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[verbatim,quote,relative=1]
 <<
   \new ChordNames {
     <c e g>2  <f bes c>
@@ -383,45 +440,34 @@ of the mode of entry, unless there are inversions or added bass notes:
 
 @funindex{\chords}
 
-@code{\chords} is a shortcut method used to change the input mode to
-@code{\chordmode} and create a @code{ChordNames} context, with the
-following result:
+@code{\chords @{ ... @}} is a shortcut notation for
+@code{\new ChordNames @{ \chordmode @{ ... @} @}}.
 
 @lilypond[verbatim,quote,ragged-right, relative=1]
-\chords { c2 f4.:m g8:maj7 }
+\chords {
+  c2 f4.:m g8:maj7
+}
 @end lilypond
 
-@cindex lead sheet
-
-When put together, chord names, a melody, and lyrics form a lead
-sheet:
-
-@lilypond[verbatim,quote,ragged-right]
-<<
-  \chords { c2 g:sus4 f e }
-  \relative c'' {
-    a4 e c8 e r4
-    b2 c4( d)
+@lilypond[verbatim,quote,ragged-right, relative=1]
+\new ChordNames {
+  \chordmode {
+    c2 f4.:m g8:maj7
   }
-  \addlyrics { One day this shall be free __ }
->>
+}
 @end lilypond
 
 @snippets
 
-@c TODO -- replace this with a snippets
-To add bar indications in the @code{ChordNames}
-context, add @rinternals{Bar_engraver}.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{showing-chords-at-changes.ly}
+
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@c {adding-bar-lines-to-chordnames-context.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{simple-lead-sheet.ly}
 
-@lilypond[ragged-right,verbatim]
-\new ChordNames \with {
-  \override BarLine #'bar-size = #4
-  \consists "Bar_engraver"
-}
-\chordmode {
-  f1:maj7 f:7 bes:7 c:maj7 ees e
-}
-@end lilypond
 
 @seealso
 
@@ -438,6 +484,8 @@ Snippets:
 
 Internals Reference:
 @rinternals{ChordNames},
+@rinternals{ChordName},
+@rinternals{Chord_name_engraver},
 @rinternals{Volta_engraver},
 @rinternals{Bar_engraver}.
 
@@ -457,17 +505,21 @@ traditions use different names for the same set of chords.  There
 are also different symbols displayed for a given chord name.   The
 names and symbols displayed for chord names are customizable.
 
-@cindex Banter
 @cindex jazz chords
 @cindex chords, jazz
 
-The default chord name layout is a system for Jazz music, proposed
-by Klaus Ignatzek (see @ref{Literature list}).  There are also two
-other chord name schemes implemented: an alternate Jazz chord
-notation, and a systematic scheme called Banter chords.  The
-alternate Jazz notation is also shown on the chart in @ref{Chord
+The basic chord name layout is a system for Jazz music, proposed
+by Klaus Ignatzek (see @ref{Literature list}).  The chord naming
+system can be modified as described below.  An alternate jazz
+chord system has been developed using these modifications.
+The Ignatzek and alternate
+Jazz notation are shown on the chart in @ref{Chord
 name chart}.
 
+@c TODO --  Change this so we don't have a non-verbatim example.
+@c  Make short example in docs, then move longer example to
+@c  appendix, where the length of the snippet won't matter.
+
 In addition to the different naming systems, different note names
 are used for the root in different languages.  The predefined
 variables @code{\germanChords}, @code{\semiGermanChords},
@@ -476,7 +528,7 @@ The effect is demonstrated here:
 
 @lilypondfile[ragged-right]{chord-names-languages.ly}
 
-If none of the default settings give the desired output, the chord
+If none of the existing settings give the desired output, the chord
 name display can be tuned through the following properties.
 
 @table @code
@@ -496,7 +548,7 @@ this property.
 @item majorSevenSymbol
 
 This property contains the markup object used to follow the output
-of @code{chordRootNamer} to dentify a major 7 chord. Predefined
+of @code{chordRootNamer} to identify a major 7 chord. Predefined
 options are @code{whiteTriangleMarkup} and
 @code{blackTriangleMarkup}.
 
@@ -517,16 +569,7 @@ bass note can be printed in lower case.
 
 Different parts of a chord name are normally separated by a slash.
 By setting @code{chordNameSeparator}, you can use any desired markup
-for a separator, e.g.,
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chords {
-  c:7sus4
-  \set chordNameSeparator
-    = \markup { \typewriter "|" }
-  c:7sus4
-}
-@end lilypond
+for a separator.
 
 @funindex chordNameExceptions
 
@@ -534,25 +577,24 @@ for a separator, e.g.,
 
 This property is a list of pairs.  The first item in each pair
 is a set of pitches used to identify the steps present in the chord.
-The second item is a markups that will follow the @code{chordRootNamer}
-output to create the chord name.  See @code{FIXME -- future ref to snippet}
-for information on creating this list.
+The second item is a markup that will follow the @code{chordRootNamer}
+output to create the chord name.
 
 @funindex chordPrefixSpacer
 @item chordPrefixSpacer
 
 The @q{m} for minor chords is usually printed immediately to the
-right of the root of the chord.  By setting
-@code{chordPrefixSpacer}, you can fix a spacer between the root
-and @q{m}.  The spacer is not used when the root is altered.
+right of the root of the chord.  A spacer can be placed between
+the root and @q{m} by setting @code{chordPrefixSpacer}.
+The spacer is not used when the root is altered.
 
 @end table
 
 @predefined
 
 @funindex major seven symbols
-@code{\whiteTriangleMarkup}
-@code{\blackTriangleMarkup}
+@code{\whiteTriangleMarkup},
+@code{\blackTriangleMarkup},
 @funindex \germanChords
 @code{\germanChords},
 @funindex \semiGermanChords
@@ -564,31 +606,31 @@ and @q{m}.  The spacer is not used when the root is altered.
 
 
 @snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{chord-names-jazz.ly}
 
+@cindex exceptions, chord names.
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chord-name-exceptions.ly}
-@cindex exceptions, chord names.
 
+@c TODO - tweak snippet to use \blackTriangleMarkup as well
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chord-name-major7.ly}
 
-@c  This has yet to be approved
-@ignore
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{adding-bars-to-chordnames.ly)
-@end ignore
+{adding-bar-lines-to-chordnames-context.ly}
 
-@c This has yet to be made a docs snippet
-@ignore
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-(volta-brackets-over-chord-names.ly)
-@end ignore
+{volta-below-chords.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-chord-separator.ly}
 
 
 @seealso
 
+Notation Reference:
+@ref{Chord name chart},
+@ref{Common chord modifiers}.
+
 Installed Files:
 @file{scm/@/chords@/-ignatzek@/.scm},
 @file{scm/@/chord@/-entry@/.scm},
@@ -597,8 +639,8 @@ Installed Files:
 Snippets:
 @rlsr{Chords}.
 
-Internals Reference:
-@c @rinternals{}.
+@c Internals Reference:
+@c @r internals{}.
 
 @knownissues
 
@@ -610,8 +652,8 @@ inversions or bass notes.
 
 @lilypond[quote,ragged-right,verbatim]
 myChords = \relative c' {
-  \chordmode{ c1 c/g c/f }
-  <c e g> <g c e> <f c' e g>
+  \chordmode { c1 c/g c/f }
+  <c e g>1 <g c e> <f c' e g>
 }
 <<
   \new ChordNames { \myChords }
@@ -623,187 +665,250 @@ myChords = \relative c' {
 @node Figured bass
 @subsection Figured bass
 
+@lilypondfile[quote]{figured-bass-headword.ly}
+
+Figured bass notation can be displayed.
+
 @menu
-* Introduction to figured bass::  
-* Entering figured bass::       
-* Displaying figured bass::     
+* Introduction to figured bass::
+* Entering figured bass::
+* Displaying figured bass::
 @end menu
 
 @node Introduction to figured bass
-@subsubsection Introduction to figured bass
+@unnumberedsubsubsec Introduction to figured bass
 
 @cindex Basso continuo
+@cindex Thorough bass
+@cindex Figured bass
+@cindex Bass, thorough
+@cindex Bass, figured
 
 @c TODO: musicological blurb about FB
 
-LilyPond has support for figured bass
+
+LilyPond has support for figured bass, also called thorough bass
+or basso continuo:
 
 @lilypond[quote,ragged-right,verbatim,fragment]
 <<
   \new Voice { \clef bass dis4 c d ais g fis}
-  \new FiguredBass \figuremode {
-    < 6 >4 < 7\+ >8 < 6+ [_!] >
-    < 6 >4 <6 5 [3+] >
-    < _ >4 < 6 5/>4
+  \new FiguredBass {
+    \figuremode {
+      < 6 >4 < 7\+ >8 < 6+ [_!] >
+      < 6 >4 <6 5 [3+] >
+      < _ >4 < 6 5/>4
+    }
   }
 >>
 @end lilypond
 
 The support for figured bass consists of two parts: there is an
-input mode, introduced by @code{\figuremode}, where you can enter
-bass figures as numbers, and there is a context named
-@rinternals{FiguredBass} that takes care of making
-@rinternals{BassFigure} objects.
+input mode, introduced by @code{\figuremode}, that accepts
+entry of bass figures, and there is a context named
+@code{FiguredBass} that takes care of displaying
+@code{BassFigure} objects.  Figured bass can also be displayed
+in @code{Staff} contexts.
+
+@code{\figures@{ ... @}} is a shortcut notation for
+@code{\new FiguredBass @{ \figuremode @{ ... @} @}}.
+
 
 Although the support for figured bass may superficially resemble chord
-support, it is much simpler.  The @code{\figuremode} mode simply
-stores the numbers and @rinternals{FiguredBass} context prints them
-as entered.  There is no conversion to pitches and no realizations of
-the bass are played in the MIDI file.
+support, it is much simpler.  @code{\figuremode} mode simply
+stores the figures and the @code{FiguredBass} context prints them
+as entered.  There is no conversion to pitches.
 
-Internally, the code produces markup texts.  You can use any of the
-markup text properties to override formatting.  For example, the
-vertical spacing of the figures may be set with @code{baseline-skip}.
+@ignore
+Figures are created as markup texts.  Any of the standard markup
+properties can be used to modify the display of figures.  For
+example, the vertical spacing of the figures may be set with
+@code{baseline-skip}.
+@end ignore
 
+@seealso
+
+Music Glossary:
+@rglos{figured bass}.
+
+Snippets:
+@rlsr{Chords}
 
-@menu
-* Entering figured bass::
-* Displaying figured bass::
-@end menu
 
 @node Entering figured bass
 @unnumberedsubsubsec Entering figured bass
 
+@code{\figuremode} is used to switch the input mode to figure mode.
+More information on different input modes can be
+found at @ref{Input modes}.
+
+In figure mode, a group of bass figures is delimited by
+@code{<} and @code{>}.  The duration is entered after the @code{>}.
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\new FiguredBass {
+  \figuremode {
+    <6 4>2
+  }
+}
+@end lilypond
+
+
+Accidentals (including naturals) can be added to figures:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+  <7! 6+ 4-> <5++> <3-->
+}
+@end lilypond
+
+Augmented and diminished steps can be indicated:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+  <6\+ 5/> <7/>
+}
+@end lilypond
+
+A backward slash through a figure (typically used for raised
+sixth steps) can be created:
 
-In figures input mode, a group of bass figures is delimited by
-@code{<} and @code{>}.  The duration is entered after the @code{>}
-@example
-<4 6>2
-@end example
-@lilypond[quote,ragged-right,fragment]
-\new FiguredBass
-\figuremode { <4 6>2 }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+  <6> <6\\>
+}
 @end lilypond
 
-Accidentals are added when you append @code{-}, @code{!}, and @code{+}
-to the numbers.  A plus sign is added when you append @code{\+}, and
-diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
+Vertical spaces and brackets can be be included in figures:
 
-@example
-<4- 6+ 7!>3 <5++> <3--> <7/> r <6\+ 5/>
-@end example
-@lilypond[quote,ragged-right,fragment]
-\figures { <4- 6+ 7!>4 <5++> <3--> <7/> r <6\+ 5/> }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+  <[12 _!] 8 [6  4]>
+}
 @end lilypond
 
-Spaces may be inserted by using @code{_}.  Brackets are
-introduced with @code{[} and @code{]}.  You can also include text
-strings and text markups, see @ref{Text markup commands}.
+Any text markup can be inserted as a figure:
 
-@example
-< [4 6] 8 [_! 12] >4 < 5 \markup @{ \number 6 \super (1) @} >
-@end example
-@lilypond[quote,ragged-right,fragment]
-\new FiguredBass
-\figuremode { < [4 6] 8 [_! 12] >4 < 5 \markup{ \tiny \number 6 \super (1)} > }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+  <\markup { \tiny \number 6 \super (1) } 5>
+}
 @end lilypond
 
+@c NOTE: We need to include notes any time we use extenders to
+@c avoid extraneous staff creation due to Staff.use... in
+@c \bassFigureExtendersOn
 
-It is also possible to use continuation lines for repeated figures,
+Continuation lines can be used to indicate repeated figures:
 
-@lilypond[verbatim,relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment]
 <<
-  \new Staff {
+  {
     \clef bass
-    c4 c c
+    e4 d c b,
+    e4 d c b,
   }
   \figures {
-    \set useBassFigureExtenders = ##t
-    <4 6>4 <3 6> <3 7>
+    \bassFigureExtendersOn
+    <6 4>4 <6 3> <7 3> <7 3>
+    \bassFigureExtendersOff
+    <6 4>4 <6 3> <7 3> <7 3>
   }
 >>
 @end lilypond
 
 @noindent
-In this case, the extender lines always replace existing figures.
+In this case, the extender lines replace existing figures,
+unless the continuation lines have been explicitly terminated.
 
-The @code{FiguredBass} context doesn't pay attention to the actual
-bass line.  As a consequence, you may have to insert extra figures to
-get extender lines below all notes, and you may have to add @code{\!}
-to avoid getting an extender line, e.g.
-
-@lilypond[relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment]
 <<
-  \new Voice
   \figures {
-    \set useBassFigureExtenders = ##t
-    <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
+    \bassFigureExtendersOn
+    <6 4>4 <6 4> <6\! 4\!> <6 4>
   }
   {
     \clef bass
-    f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
+    d4 d c c
   }
 >>
 @end lilypond
 
-When using continuation lines, common figures are always put in the
-same vertical position.  When this is unwanted, you can insert a rest
-with @code{r}.  The rest will clear any previous alignment.  For
-example, you can write
-
-@example
-<4 6>8 r8
-@end example
+The table below summarizes the figure modifiers available.
+
+@multitable @columnfractions .1 .5 .4
+
+@item
+@b{Modifier}
+@tab
+@b{Purpose}
+@tab
+@b{Example}
+
+@item
++, -, !
+@tab
+Accidentals
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <7! 6+ 4-> <5++> <3-->
+}
+@end lilypond
 
-@noindent
-instead of
-@example
-<4 6>4
-@end example
+@item
+\+, /
+@tab
+Augmented and diminished steps
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <6\+ 5/> <7/>
+}
+@end lilypond
 
-Accidentals and plus signs can appear before or after the numbers,
-depending on the @code{figuredBassAlterationDirection} and
-@code{figuredBassPlusDirection}
-properties
+@item
+\\
+@tab
+Raised sixth step
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <6\\>
+}
+@end lilypond
 
-@lilypond
+@item
+\!
+@tab
+End of continuation line
+@tab
+@lilypond[line-width=4\cm]
+<<
   \figures {
-    <6\+> <5+> <6 4-> r
-    \set figuredBassAlterationDirection = #1
-    <6\+> <5+> <6 4-> r
-    \set figuredBassPlusDirection = #1
-    <6\+> <5+> <6 4-> r
-    \set figuredBassAlterationDirection = #-1
-    <6\+> <5+> <6 4-> r
+    \bassFigureExtendersOn
+    <6 4> <6 4> <6\! 4\!> <6 4>
   }
+  {
+    \clef bass
+    d d c c
+  }
+>>
 @end lilypond
 
+@end multitable
 
-Figured bass can also be added to @code{Staff} contexts
-directly.  In this case, their vertical position is adjusted
-automatically.
-
-@lilypond[ragged-right,fragment,quote]
-<<
-  \new Staff = someUniqueName
-  \relative c'' {
-    c4 c'8 r8 c,4 c'
-  }
 
-  %% send to existing Staff.
-  \context Staff = someUniqueName
-  \figuremode {
-    <4>4 <6 10>8 s8
 
-    \set Staff.useBassFigureExtenders = ##t
-    <4 6>4 <4 6>
-  }
->>
-@end lilypond
+@predefined
+@cindex figured bass extender lines
+@code{\bassFigureExtendersOn},
+@code{\bassFigureExtendersOff}.
 
-@c @predefined
 
-@c @snippets
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-positions-of-figured-bass-alterations.ly}
 
 @seealso
 @c Music Glossary:
@@ -813,7 +918,7 @@ automatically.
 @c @rlearning{}.
 
 @c Notation Reference:
-@c @ruser{}.
+@c @ref{}.
 
 @c Application Usage:
 @c @rprogram{}.
@@ -821,20 +926,94 @@ automatically.
 @c Installed Files:
 @c @file{}.
 
-@c Snippets:
-@c @rlsr{}.
+Snippets:
+@rlsr{Chords}.
 
-@c Internals Reference:
-@c @rinternals{}.
+Internals Reference:
+@rinternals{BassFigure},
+@rinternals{BassFigureAlignment},
+@rinternals{BassFigureLine},
+@rinternals{BassFigureBracket},
+@rinternals{BassFigureContinuation},
+@rinternals{FiguredBass}.
 
 @c @knownissues
 
 @node Displaying figured bass
 @unnumberedsubsubsec Displaying figured bass
 
-Figured bass is displayed using the @code{FiguredBass} context.
+Figured bass can be displayed using the @code{FiguredBass} context,
+or in most staff contexts.
+
+When displayed in a @code{FiguredBass} context, the vertical location
+of the figures is independent of the notes on the staff.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+  \relative c'' {
+    c4 c'8 r8 c,4 c'
+  }
+  \new FiguredBass {
+    \figuremode {
+      <4>4 <10 6>8 s8
+      <6 4>4 <6 4>
+    }
+  }
+>>
+@end lilypond
+
+@noindent
+In the example above, the @code{FiguredBass} context must be
+explicitly instantiated to avoid creating a second (empty) staff.
+
+
+Figured bass can also be added to @code{Staff} contexts
+directly.  In this case, the vertical position of the
+figures is adjusted automatically.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+  \new Staff = myStaff
+  \figuremode {
+    <4>4 <10 6>8 s8
+    <6 4>4 <6 4>
+  }
+  %% Put notes on same Staff as figures
+  \context Staff = myStaff
+  {
+    \clef bass
+    c4 c'8 r8 c4 c'
+  }
+>>
+@end lilypond
+
+
+When added in a @code{Staff} context, figured bass can be displayed above
+or below the staff.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+  \new Staff = myStaff
+  \figuremode {
+    <4>4 <10 6>8 s8
+    \bassFigureStaffAlignmentDown
+    <6 4>4 <6 4>
+  }
+  %% Put notes on same Staff as figures
+  \context Staff = myStaff
+  {
+    \clef bass
+    c4 c'8 r8 c4 c'
+  }
+>>
+@end lilypond
 
-@c @predefined
+
+@predefined
+@cindex figured bass alignment
+@code{\bassFigureStaffAlignmentDown},
+@code{\bassFigureStaffAlignmentUp},
+@code{\bassFigureStaffAlignmentNeutral}.
 
 @c @snippets
 
@@ -846,7 +1025,7 @@ Figured bass is displayed using the @code{FiguredBass} context.
 @c @rlearning{}.
 
 @c Notation Reference:
-@c @ruser{}.
+@c @ref{}.
 
 @c Application Usage:
 @c @rprogram{}.
@@ -854,11 +1033,11 @@ Figured bass is displayed using the @code{FiguredBass} context.
 @c Installed Files:
 @c @file{}.
 
-@c Snippets:
-@c @rlsr{}.
+Snippets:
+@rlsr{Chords}.
 
 Internals Reference:
-@rinternals{NewBassFigure},
+@rinternals{BassFigure},
 @rinternals{BassFigureAlignment},
 @rinternals{BassFigureLine},
 @rinternals{BassFigureBracket},
@@ -867,18 +1046,62 @@ Internals Reference:
 
 @knownissues
 
-By default, this method produces figures above the notes.  To get
-figures below the notes, use
+To ensure that continuation lines work properly, it is
+safest to use the same rhythm in the figure line as in
+the bass line.
 
-@example
-\override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
-@end example
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+  {
+    \clef bass
+    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
+  }
+  \figures {
+    \bassFigureExtendersOn
+    % The extenders are correct here, with the same rhythm as the bass
+    \repeat unfold 4 { <6 4->16. <6 4->32 }
+    <5>8. r16 <6>8 <6\! 5->
+  }
+>>
+<<
+  {
+    \clef bass
+    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
+  }
+  \figures {
+    \bassFigureExtendersOn
+    % The extenders are incorrect here, even though the timing is the same
+    <6 4->4 <6 4->4
+    <5>8. r16 <6>8 <6\! 5->
+  }
+>>
+@end lilypond
 
-When using figured bass above the staff with extender lines and
-@code{implicitBassFigures} the lines may become swapped around.
-Maintaining order consistently will be impossible when multiple figures
-have overlapping extender lines.  To avoid this problem, please
-use @code{stacking-dir} on @code{BassFigureAlignment}.
+When using extender lines, adjacent figures with the same number in
+a different figure location can cause the figure positions to invert.
 
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis4 g g, e' }
+  \figures {
+    \bassFigureExtendersOn
+    <6 5>4 <5\! 4> < 5 _!> <6>
+  }
+>>
+@end lilypond
+
+To avoid this problem, simply turn on extenders after the figure that
+begins the extender line and turn them off at the end of the extender line.
+
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis4 g g, e' }
+  \figures {
+    <6 5>4 <5 4>
+    \bassFigureExtendersOn
+    < 5 _!>4 <6>
+    \bassFigureExtendersOff
+  }
+>>
+@end lilypond
 
-@seealso