]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/chords.itely
lilypond-book robustness: ensure EOL at the end of @verbatim
[lilypond.git] / Documentation / user / chords.itely
index a6a163e0ed9f2dba31161f1767835cd59c04f1b3..c1b6c03d75729d3b3bb9bfe2e562806ea1716591 100644 (file)
@@ -6,15 +6,17 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.12.0"
 
 
 @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::
@@ -59,19 +61,21 @@ found at @ref{Input modes}.
 
 Chords entered using chord mode are music elements, and can be
 transposed just like chords entered using simultaneous music.
+@code{\chordmode} is absolute, as @code{\relative} has no effect
+on @code{chordmode} blocks. However, in @code{\chordmode} the
+absolute pitches are one octave higher than in note mode.
 
 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
 
 
 @seealso
-
 Music Glossary:
 @rglos{chord}.
 
@@ -82,6 +86,7 @@ Notation Reference:
 Snippets:
 @rlsr{Chords}
 
+
 @knownissues
 
 When chord mode and note mode are mixed in sequential music, and
@@ -89,16 +94,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
 
@@ -137,35 +142,105 @@ Seventh chords can be created:
 @funindex m
 
 The table belows shows the actions of the quality modifiers on
-triads and seventh chords.
+triads and seventh chords.  The default seventh step added to
+chords is a minor or flatted seventh, which makes the dominant
+seventh the basic seventh chord.  All alterations are relative to
+the dominant seventh.  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
 
-@table @code
+@item
+m, m7
+@tab
+The minor chord.  This modifier lowers the 3rd.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:m c:m7
+}
+@end lilypond
 
-@item m
-The minor chord.  This modifier lowers the 3rd and (if present) the
-7th step.
 
-@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},
+@ref{Extended and altered chords}.
 
 Snippets:
-@rlsr{Chords}
+@rlsr{Chords}.
+
+@knownissues
+Only one quality modifier should be used per chord, typically on the
+highest step present in the chord.  Chords with more than quality
+modifier will be parsed without an error or warning, but the results
+are unpredictable.  Chords that cannot be achieved with a single
+quality modifier should be altered by individual pitches, as described
+in @ref{Extended and altered chords}.
+
 
 @node Extended and altered chords
 @unnumberedsubsubsec Extended and altered chords
@@ -181,6 +256,8 @@ or create an inversion.
 The first number following the @code{:} is taken to be the extent
 of the chord.  The chord is constructed by sequentially adding
 thirds to the root until the specified number has been reached.
+Note that the seventh step added as part of an extended chord will be the
+minor or flatted seventh, not the major seventh.
 If the extent is not a third (e.g., 6), thirds are added up to the
 highest third below the extent, and then the step of the extent is
 added.  The largest possible value for the extent is 13.  Any
@@ -188,14 +265,15 @@ 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 @code{c:5} is identical to @code{c} -- both produce a C major triad.
+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
@@ -210,7 +288,9 @@ is added explicitly).
 @cindex additions, in chords
 
 Individual steps can be added to a chord.  Additions follow the
-extent and are prefixed by a dot (@code{.}).
+extent and are prefixed by a dot (@code{.}).  The basic seventh
+step added to a chord is the minor or flatted seventh, rather than
+the major seventh.
 
 @lilypond[quote,verbatim,fragment,relative=1]
 \chordmode {
@@ -230,7 +310,7 @@ Added steps can be as high as desired.
 
 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 {
@@ -242,13 +322,15 @@ as part of the basic chode structure, add it as an altered step.
 
 @funindex ^
 
-A step to be removed from the chord indicated in a
-modifier string with a prefix of @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
+  c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
 }
 @end lilypond
 
@@ -266,9 +348,6 @@ equivalent to @code{.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
@@ -294,11 +373,19 @@ moved as part of an inversion, by using @code{/+}@var{pitch}.
 }
 @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}
 
+
 @knownissues
 
 Each step can only be present in a chord once.  The following
@@ -309,12 +396,9 @@ 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 first inversion can be created by adding a bass note.  The
-second inversion requires changing the root of the chord.
+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 {
@@ -373,10 +457,34 @@ of the mode of entry, unless there are inversions or added bass notes:
 >>
 @end lilypond
 
+@cindex no chord symbol
+@cindex N.C. symbol
+@cindex indicating No Chord in ChordNames
+
+Rests passed to a @code{ChordNames} context will cause the
+@code{noChordSymbol} markup to be displayed.
+
+@lilypond[verbatim, quote, relative=1]
+<<
+  \new ChordNames \chordmode {
+    c1
+    r1
+    g1
+    c1
+  }
+  \new Score \chordmode {
+    c1
+    r1
+    g1
+    c1
+  }
+>>
+@end lilypond
+
 @funindex{\chords}
 
 @code{\chords @{ ... @}} is a shortcut notation for
-@code{\new ChordNames @{\chordmode @{ ... @}@}}.
+@code{\new ChordNames @{ \chordmode @{ ... @} @}}.
 
 @lilypond[verbatim,quote,ragged-right, relative=1]
 \chords {
@@ -405,23 +513,23 @@ of the mode of entry, unless there are inversions or added bass notes:
 
 
 @seealso
-
 Music Glossary:
 @rglos{chord}.
 
-
 Notation Reference:
 @ref{Writing music in parallel}.
 
-
 Snippets:
 @rlsr{Chords}.
 
 Internals Reference:
 @rinternals{ChordNames},
+@rinternals{ChordName},
+@rinternals{Chord_name_engraver},
 @rinternals{Volta_engraver},
 @rinternals{Bar_engraver}.
 
+
 @knownissues
 
 Chords containing inversions or altered bass notes are not named
@@ -438,15 +546,15 @@ 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.
@@ -461,7 +569,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
@@ -481,7 +589,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}.
 
@@ -510,21 +618,21 @@ for a separator.
 
 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}
+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
 
+@predefined
 @funindex major seven symbols
 @code{\whiteTriangleMarkup},
 @code{\blackTriangleMarkup},
@@ -536,6 +644,7 @@ and @q{m}.  The spacer is not used when the root is altered.
 @code{\italianChords},
 @funindex \frenchChords
 @code{\frenchChords}.
+@endpredefined
 
 
 @snippets
@@ -548,33 +657,20 @@ and @q{m}.  The spacer is not used when the root is altered.
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chord-name-major7.ly}
 
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {adding-bars-to-chordnames.ly)
-
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {volta-brackets-over-chord-names.ly}
-
-@c TODO  convert to snippet
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {changing-chord-separator.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{adding-bar-lines-to-chordnames-context.ly}
 
-The separator between different parts of a chord name
-can be set to any markup.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{volta-below-chords.ly}
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chords {
-  c:7sus4
-  \set chordNameSeparator
-    = \markup { \typewriter "|" }
-  c:7sus4
-}
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-chord-separator.ly}
 
 
 @seealso
-
 Notation Reference:
-@ref{Chord name chart}.
+@ref{Chord name chart},
+@ref{Common chord modifiers}.
 
 Installed Files:
 @file{scm/@/chords@/-ignatzek@/.scm},
@@ -587,6 +683,7 @@ Snippets:
 @c Internals Reference:
 @c @r internals{}.
 
+
 @knownissues
 
 Chord names are determined from both the pitches that are present
@@ -597,8 +694,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 }
@@ -610,6 +707,8 @@ myChords = \relative c' {
 @node Figured bass
 @subsection Figured bass
 
+@lilypondfile[quote]{figured-bass-headword.ly}
+
 Figured bass notation can be displayed.
 
 @menu
@@ -629,6 +728,7 @@ Figured bass notation can be displayed.
 
 @c TODO: musicological blurb about FB
 
+
 LilyPond has support for figured bass, also called thorough bass
 or basso continuo:
 
@@ -653,7 +753,7 @@ entry of bass figures, and there is a context named
 in @code{Staff} contexts.
 
 @code{\figures@{ ... @}} is a shortcut notation for
-@code{\new FiguredBass @{\figuremode @{ ... @}@}}.
+@code{\new FiguredBass @{ \figuremode @{ ... @} @}}.
 
 
 Although the support for figured bass may superficially resemble chord
@@ -661,10 +761,21 @@ 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.
 
+@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}
+
 
 @node Entering figured bass
 @unnumberedsubsubsec Entering figured bass
@@ -684,6 +795,7 @@ In figure mode, a group of bass figures is delimited by
 }
 @end lilypond
 
+
 Accidentals (including naturals) can be added to figures:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
@@ -692,7 +804,7 @@ Accidentals (including naturals) can be added to figures:
 }
 @end lilypond
 
-Augmented and diminished steps can be indicated.
+Augmented and diminished steps can be indicated:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
@@ -701,17 +813,14 @@ Augmented and diminished steps can be indicated.
 @end lilypond
 
 A backward slash through a figure (typically used for raised
-sixth steps) can be created.
+sixth steps) can be created:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-<6>
-% FIXME: broken.
-  %<6\\>
+  <6> <6\\>
 }
 @end lilypond
 
-
 Vertical spaces and brackets can be be included in figures:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
@@ -720,16 +829,15 @@ Vertical spaces and brackets can be be included in figures:
 }
 @end lilypond
 
-
 Any text markup can be inserted as a figure:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-  <  \markup{ \tiny \number 6 \super (1)} 5 >
+  <\markup { \tiny \number 6 \super (1) } 5>
 }
 @end lilypond
 
-@c TODO We need to include notes any time we use extenders to
+@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
 
@@ -739,14 +847,14 @@ Continuation lines can be used to indicate repeated figures:
 <<
   {
     \clef bass
-    e d c b,
-    e d c b,
+    e4 d c b,
+    e4 d c b,
   }
   \figures {
     \bassFigureExtendersOn
-    <6 4> <6 3> <7 3> <7 3>
+    <6 4>4 <6 3> <7 3> <7 3>
     \bassFigureExtendersOff
-    <6 4> <6 3> <7 3> <7 3>
+    <6 4>4 <6 3> <7 3> <7 3>
   }
 >>
 @end lilypond
@@ -756,6 +864,68 @@ In this case, the extender lines replace existing figures,
 unless the continuation lines have been explicitly terminated.
 
 @lilypond[verbatim,quote,ragged-right,fragment]
+<<
+  \figures {
+    \bassFigureExtendersOn
+    <6 4>4 <6 4> <6\! 4\!> <6 4>
+  }
+  {
+    \clef bass
+    d4 d c c
+  }
+>>
+@end lilypond
+
+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
+
+@item
+\+, /
+@tab
+Augmented and diminished steps
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <6\+ 5/> <7/>
+}
+@end lilypond
+
+@item
+\\
+@tab
+Raised sixth step
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <6\\>
+}
+@end lilypond
+
+@item
+\!
+@tab
+End of continuation line
+@tab
+@lilypond[line-width=4\cm]
 <<
   \figures {
     \bassFigureExtendersOn
@@ -768,48 +938,52 @@ unless the continuation lines have been explicitly terminated.
 >>
 @end lilypond
 
+@end multitable
 
 
 @predefined
 @cindex figured bass extender lines
 @code{\bassFigureExtendersOn},
 @code{\bassFigureExtendersOff}.
+@endpredefined
 
 
 @snippets
-@c TODO  Fix this snippet -- Plus direction should be RIGHT.
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {changing-the-positions-of-figured-bass-alterations.ly}
 
+
 @seealso
 @c Music Glossary:
 @c @rglos{}.
-
+@c
 @c Learning Manual:
 @c @rlearning{}.
-
+@c
 @c Notation Reference:
-@c @ruser{}.
-
+@c @ref{}.
+@c
 @c Application Usage:
 @c @rprogram{}.
-
+@c
 @c Installed Files:
 @c @file{}.
-
+@c
 Snippets:
 @rlsr{Chords}.
 
 Internals Reference:
-@rinternals{NewBassFigure},
+@rinternals{BassFigure},
 @rinternals{BassFigureAlignment},
 @rinternals{BassFigureLine},
 @rinternals{BassFigureBracket},
 @rinternals{BassFigureContinuation},
 @rinternals{FiguredBass}.
 
+
 @c @knownissues
 
+
 @node Displaying figured bass
 @unnumberedsubsubsec Displaying figured bass
 
@@ -842,11 +1016,6 @@ Figured bass can also be added to @code{Staff} contexts
 directly.  In this case, the vertical position of the
 figures is adjusted automatically.
 
-@c TODO add a second paragraph to show direction change.  First
-@c   example should be UP (default), second should be DOWN.
-
-@c  TODO change to use predefined command once it is added to
-@c  property-init.ly  -cds
 @lilypond[verbatim,ragged-right,fragment,quote]
 <<
   \new Staff = myStaff
@@ -864,7 +1033,7 @@ figures is adjusted automatically.
 @end lilypond
 
 
-When added in a Staff context, figured bass can be displayed above
+When added in a @code{Staff} context, figured bass can be displayed above
 or below the staff.
 
 @lilypond[verbatim,ragged-right,fragment,quote]
@@ -885,59 +1054,45 @@ or below the staff.
 @end lilypond
 
 
-@ignore
-@c I don't understand this -cs
-When using continuation lines, common figures are always put in the
-same vertical position.  When this is unwanted, you can insert a rest.
-The rest will clear any previous alignment.  For
-example, you can write
-
-@example
-<6 4>8 r8
-@end example
-
-@noindent
-instead of
-@example
-<4 6>4
-@end example
-@end ignore
-
 @predefined
 @cindex figured bass alignment
 @code{\bassFigureStaffAlignmentDown},
 @code{\bassFigureStaffAlignmentUp},
 @code{\bassFigureStaffAlignmentNeutral}.
+@endpredefined
+
+
+@c @snippets
 
-@snippets
 
 @seealso
 @c Music Glossary:
 @c @rglos{}.
-
+@c
 @c Learning Manual:
 @c @rlearning{}.
-
+@c
 @c Notation Reference:
-@c @ruser{}.
-
+@c @ref{}.
+@c
 @c Application Usage:
 @c @rprogram{}.
-
+@c
 @c Installed Files:
 @c @file{}.
-
-@c Snippets:
-@rlsr{Figured Bass}.
+@c
+Snippets:
+@rlsr{Chords}.
 
 Internals Reference:
-@rinternals{NewBassFigure},
+@rinternals{BassFigure},
 @rinternals{BassFigureAlignment},
 @rinternals{BassFigureLine},
 @rinternals{BassFigureBracket},
 @rinternals{BassFigureContinuation},
 @rinternals{FiguredBass}.
 
+
 @knownissues
 
 To ensure that continuation lines work properly, it is
@@ -948,38 +1103,54 @@ the bass line.
 <<
   {
     \clef bass
-    \repeat unfold 4 {f16. g32} f8. es16 d8 es
+    \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}
+    \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
+    \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
-    %\repeat unfold 4 {<6 4->16. <6 4->32}
     <5>8. r16 <6>8 <6\! 5->
   }
 >>
 @end lilypond
 
-@c I have no idea what this means -cds
-@c A predefined command for changing this has been proposed -cds
-@c TODO -- put stacking direction snippet here -cds
-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