]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/fretted-strings.itely
resolve merge
[lilypond.git] / Documentation / user / fretted-strings.itely
diff --git a/Documentation/user/fretted-strings.itely b/Documentation/user/fretted-strings.itely
deleted file mode 100644 (file)
index cf2d5f0..0000000
+++ /dev/null
@@ -1,1332 +0,0 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
-@ignore
-    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
-
-    When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
-@end ignore
-
-@c \version "2.12.0"
-
-@node Fretted string instruments
-@section Fretted string instruments
-
-@lilypondfile[quote]{fretted-headword.ly}
-
-This section discusses several aspects of music notation that are unique
-to fretted string instruments.
-
-@cindex tablature
-@cindex tablature, guitar
-@cindex tablature, banjo
-@cindex guitar tablature
-@cindex banjo tablature
-
-@menu
-* Common notation for fretted strings::
-* Guitar::
-* Banjo::
-@end menu
-
-@node Common notation for fretted strings
-@subsection Common notation for fretted strings
-
-This section discusses common notation that is unique
-to fretted string instruments.
-
-@menu
-* References for fretted strings::
-* String number indications::
-* Default tablatures::
-* Custom tablatures::
-* Fret diagram markups::
-* Predefined fret diagrams::
-* Automatic fret diagrams::
-* Right-hand fingerings::
-@end menu
-
-@node References for fretted strings
-@unnumberedsubsubsec References for fretted strings
-
-Music for fretted string instruments is normally notated on
-a single staff, either in traditional music notation or in
-tablature.  Sometimes the two types are combined, and it is
-especially common in popular music to use chord diagrams above
-a staff of traditional notation.  The guitar and the banjo are
-transposing instruments, sounding an octave lower than written.
-Scores for these instruments should use the @code{"treble_8"} clef.
-Some other elements pertinent to fretted string instruments
-are covered elsewhere:
-
-@itemize
-@item Fingerings are indicated as shown in @ref{Fingering instructions}.
-
-@item Instructions for @notation{Laissez vibrer} ties
-as well as ties on arpeggios and tremolos can be found in
-@ref{Ties}.
-
-@item Instructions for handling multiple voices can be found
-in @ref{Collision resolution}.
-
-@item Instructions for indicating harmonics can be found in
-@ref{Harmonics}.
-
-@end itemize
-
-
-@seealso
-Notation Reference:
-@ref{Fingering instructions},
-@ref{Ties},
-@ref{Collision resolution},
-@ref{Instrument names},
-@ref{Writing music in parallel},
-@ref{Arpeggio},
-@ref{List of articulations},
-@ref{Clef}.
-
-
-@node String number indications
-@unnumberedsubsubsec String number indications
-
-@cindex string numbers
-@cindex string vs. fingering numbers
-@cindex fingering vs. string numbers
-
-The string on which a note should be played may be indicated by
-appending @code{\@var{number}} to a note inside a chord construct
-@code{<>}.
-
-@warning{String numbers @strong{must} be defined inside a chord
-construct even if there is only a single note.}
-
-@lilypond[verbatim,quote,relative=0]
-\clef "treble_8"
-<c\5>4 <e\4> <g\3>2
-<c,\5 e\4 g\3>1
-@end lilypond
-
-When fingerings and string indications are used together, their
-placement is controlled by the order in which the two items appear
-in the code:
-
-@lilypond[verbatim,quote,relative=1]
-\clef "treble_8"
-<g\3-0>2
-<g-0\3>
-@end lilypond
-
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{controlling-the-placement-of-chord-fingerings.ly}
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{allowing-fingerings-to-be-printed-inside-the-staff.ly}
-
-
-@seealso
-Notation Reference:
-@ref{Fingering instructions}.
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals{StringNumber},
-@rinternals{Fingering}.
-
-
-@node Default tablatures
-@unnumberedsubsubsec Default tablatures
-
-@cindex tablatures, basic
-@cindex tablatures, default
-
-@funindex TabStaff
-@funindex TabVoice
-
-Tablature notation is used for notating music for plucked string
-instruments.  Pitches are not denoted with note heads, but by
-numbers indicating on which string and fret a note must be played.
-LilyPond offers limited support for tablature.
-
-The string number associated with a note is given as a backslash
-followed by a number.  By default, string 1 is the highest,
-and the tuning defaults to the standard guitar tuning (with 6 strings).
-The notes are printed as tablature, by using @code{TabStaff} and
-@code{TabVoice} contexts
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\new TabStaff {
-  a,4\5 c'\2 a\3 e'\1
-  e\4 c'\2 a\3 e'\1
-}
-@end lilypond
-
-@funindex minimumFret
-
-@cindex fret
-
-
-When no string is specified for a note, the note is assigned to
-the highest string that can generate the note with a fret number
-greater than or equal to the value of @code{minimumFret}.
-The default value for @code{minimumFret} is 0.
-
-
-@lilypond[quote,ragged-right,verbatim]
-\new StaffGroup <<
-   \new Staff \relative c {
-     \clef "treble_8"
-     c16 d e f g4
-     c,16 d e f g4
-   }
-   \new TabStaff \relative c {
-     c16 d e f g4
-     \set TabStaff.minimumFret = #5
-     c,16 d e f g4
-   }
->>
-@end lilypond
-
-@cindex harmonic indications in tablature notation
-@cindex tablature and harmonic indications
-@cindex slides in tablature notation
-@cindex tablature and slides
-
-Harmonic indications and slides can be added to tablature
-notation.
-
-@lilypond[fragment, verbatim, quote, relative=1]
-\new TabStaff {
-  \new TabVoice {
-    <c g'\harmonic> d\2\glissando e\2
-  }
-}
-@end lilypond
-
-
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{stem-and-beam-behavior-in-tablature.ly}
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{polyphony-in-tablature.ly}
-
-
-@seealso
-Notation Reference:
-@ref{Stems}.
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals{TabNoteHead},
-@rinternals{TabStaff},
-@rinternals{TabVoice},
-@rinternals{Beam}.
-
-
-@knownissues
-
-Chords are not handled in a special way, and hence the automatic
-string selector may easily select the same string for two notes in
-a chord.
-
-In order to handle @code{\partcombine}, a @code{TabStaff} must use
-specially-created voices:
-
-@lilypond[quote,ragged-right,verbatim]
-melodia = \partcombine { e4 g g g }{ e4 e e e }
-<<
-  \new TabStaff <<
-    \new TabVoice = "one" s1
-    \new TabVoice = "two" s1
-    \new TabVoice = "shared" s1
-    \new TabVoice = "solo" s1
-    { \melodia }
-  >>
->>
-@end lilypond
-
-Guitar special effects are limited to harmonics and slides.
-
-@node Custom tablatures
-@unnumberedsubsubsec Custom tablatures
-
-@cindex tablatures, custom
-@cindex tablature, banjo
-@cindex tablature, mandolin
-@cindex tablature, bass guitar
-@cindex tablature, predefined string tunings
-@cindex fretted instruments, predefined string tunings
-@cindex predefined string tunings for fretted instruments
-
-@funindex StringTunings
-
-LilyPond tabulature automatically calculates the fret for
-a note based on the string to which the note is assigned.
-In order to do this, the tuning of the strings must be
-specified.  The tuning of the strings is given in the
-@code{StringTunings} property.
-
-LilyPond comes with predefined string tunings for banjo, mandolin,
-guitar and bass guitar.  Lilypond automatically sets the correct
-transposition for predefined tunings.  The following example is
-for bass guitar, which sounds an octave lower than written.
-
-@lilypond[quote,ragged-right,verbatim]
-<<
-  \new Staff {
-    \clef "bass_8"
-    \relative c, {
-      c4 d e f
-    }
-  }
-  \new TabStaff {
-    \set TabStaff.stringTunings = #bass-tuning
-    \relative c, {
-      c4 d e f
-    }
-  }
->>
-@end lilypond
-
-The default string tuning is @code{guitar-tuning}, which
-is the standard EADGBE tuning.  Some other predefined tunings are
-@code{guitar-open-g-tuning}, @code{mandolin-tuning} and
-@code{banjo-open-g-tuning}.  The predefined string tunings
-are found in @code{scm/output-lib.scm}.
-
-A string tuning is a Scheme list of string pitches,
-one for each string, ordered by string number from 1 to N,
-where string 1 is at the top of the tablature staff and
-string N is at the bottom.  This ordinarily results in ordering
-from highest pitch to lowest pitch, but some instruments
-(e.g. ukulele) do not have strings ordered by pitch.
-
-A string pitch in a string tuning list is the pitch difference
-of the open string from middle C measured in semitones.  The
-string pitch must be an integer.  Lilypond calculates the actual
-pitch of the string by adding the string tuning pitch to the
-actual pitch for middle C.
-
-LilyPond automatically calculates the number of strings in the
-@code{TabStaff} as the number of elements in @code{stringTunings}.
-
-Any desired string tuning can be created.  For example, we can
-define a string tuning for a four-string instrument with pitches
-of @code{a''},  @code{d''},  @code{g'}, and @code{c'}:
-
-
-@lilypond[quote,verbatim]
-mynotes = {
-    c'4 e' g' c'' |
-    e'' g'' b'' c'''
-}
-
-<<
-  \new Staff {
-    \clef treble
-    \mynotes
-  }
-  \new TabStaff {
-    \set TabStaff.stringTunings = #'(21 14 7 0)
-    \mynotes
-  }
->>
-@end lilypond
-
-
-@seealso
-Installed Files:
-@file{scm/output-lib.scm}.
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals{Tab_note_heads_engraver}.
-
-
-@node Fret diagram markups
-@unnumberedsubsubsec Fret diagram markups
-
-@cindex fret diagrams
-@cindex chord diagrams
-@cindex diagrams, fret
-@cindex diagrams, chord for fretted instruments
-@cindex fret diagrams, custom
-@cindex custom fret diagrams
-
-Fret diagrams can be added to music as a markup to the desired
-note.  The markup contains information about the desired fret
-diagram.  There are three different fret-diagram markup
-interfaces: standard, terse, and verbose.  The three interfaces
-produce equivalent markups, but have varying amounts of
-information in the markup string.  Details about the markup
-interfaces are found at @ref{Text markup commands}.
-
-The standard fret diagram markup string indicates the string
-number and the fret number for each dot to be placed on the string.
-In addition, open and unplayed (muted) strings can be indicated.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
-      \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
-    < d a d' f'> ^\markup
-      \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
-  }
->>
-@end lilypond
-
-@cindex barre indications
-
-Barre indications can be added to the diagram from
-the fret-diagram markup string.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       f1 g
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < f, c f a c' f'>1 ^\markup
-      \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
-    < g, d g b d' g'> ^\markup
-      \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
-  }
->>
-@end lilypond
-
-@cindex fret-diagram markup
-
-@funindex fret-diagram
-@funindex \fret-diagram
-
-The size of the fret diagram, and the number of frets in the diagram
-can be changed in the fret-diagram markup string.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       f1 g
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < f, c f a c' f'>1 ^\markup
-      \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
-    < g, b, d g b g'> ^\markup
-      \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
-  }
->>
-@end lilypond
-
-The number of strings in a fret diagram can be changed to accomodate
-different instruments such as banjos and ukeleles with the fret-diagram
-markup string.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       a1
-     }
-  }
-  \context Staff {
-        %% A chord for ukelele
-    a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
-  }
->>
-@end lilypond
-
-Fingering indications can be added, and the location of fingering labels
-can be controlled by the fret-diagram markup string.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
-      \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
-    < d a d' f'> ^\markup
-      \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
-  }
->>
-@end lilypond
-
-Dot radius and dot position can be controlled with the fret-diagram
-markup string.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
-      \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
-    < d a d' f'> ^\markup
-      \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
-  }
->>
-@end lilypond
-
-@cindex fret-diagram-terse markup
-
-@funindex fret-diagram-terse
-@funindex \fret-diagram-terse
-
-The fret-diagram-terse markup string omits string numbers; the string
-number is implied by the presence of semicolons.  There is one semicolon
-for each string in the diagram.  The first semicolon corresponds to the
-highest string number and the last semicolon corresponds to the first string.
-Mute strings, open strings, and fret numbers can be indicated.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
-      \fret-diagram-terse #"x;3;2;o;1;o;"
-    < d a d' f'> ^\markup
-      \fret-diagram-terse #"x;x;o;2;3;1;"
-  }
->>
-@end lilypond
-
-Barre indicators can be included in the fret-diagram-terse markup string.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       f1 g
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < f, c f a c' f'>1 ^\markup
-      \fret-diagram-terse #"1-(;3;3;2;1;1-);"
-    < g, d g b d' g'> ^\markup
-      \fret-diagram-terse #"3-(;5;5;4;3;3-);"
-  }
->>
-@end lilypond
-
-Fingering indications can be included in the fret-diagram-terse markup string.
-
-@c Need to use override to enable fingerings to show this -- can we do so?
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context Staff {
-    \override Voice.TextScript
-      #'(fret-diagram-details finger-code) = #'below-string
-    \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
-      \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
-    < d a d' f'> ^\markup
-      \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
-  }
->>
-@end lilypond
-
-Other fret diagram properties must be adjusted using @code{\override} when using
-the fret-diagram-terse markup.
-
-@cindex fret-diagram-verbose markup
-
-@funindex fret-diagram-verbose
-@funindex \fret-diagram-verbose
-
-The fret-diagram-verbose markup string is in the format of a Scheme list.  Each
-element of the list indicates an item to be placed on the fret diagram.
-
-@lilypond[quote, verbatim]
-<<  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
-      \fret-diagram-verbose #'(
-        (mute 6)
-        (place-fret 5 3)
-        (place-fret 4 2)
-        (open 3)
-        (place-fret 2 1)
-        (open 1)
-      )
-    < d a d' f'> ^\markup
-      \fret-diagram-verbose #'(
-        (mute 6)
-        (mute 5)
-        (open 4)
-        (place-fret 3 2)
-        (place-fret 2 3)
-        (place-fret 1 1)
-      )
-  }
->>
-@end lilypond
-
-Fingering indications and barres can be included in a
-fret-diagram-verbose markup string.  Unique to the 
-fret-diagram-verbose interface is a capo indication that 
-can be placed on the fret diagram.  The capo indication is
-a thick bar that covers all strings.  The fret with the
-capo will be the lowest fret in the fret diagram.
-
-@c \override is necessary to make fingering visible
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       f1 g c
-     }
-  }
-  \context Staff {
-    \clef "treble_8"
-    \override Voice.TextScript
-      #'(fret-diagram-details finger-code) = #'below-string
-
-    < f, c f a c' f'>1 ^\markup
-      \fret-diagram-verbose #'(
-        (place-fret 6 1)
-        (place-fret 5 3)
-        (place-fret 4 3)
-        (place-fret 3 2)
-        (place-fret 2 1)
-        (place-fret 1 1)
-        (barre 6 1 1)
-      )
-    < g, b, d g b g'> ^\markup
-      \fret-diagram-verbose #'(
-        (place-fret 6 3 2)
-        (place-fret 5 2 1)
-        (open 4)
-        (open 3)
-        (open 2)
-        (place-fret 1 3 3)
-      )
-    < c e g c' e'> ^\markup
-      \fret-diagram-verbose #'(
-        (capo 3)
-        (mute 6)
-        (place-fret 4 5 1)
-        (place-fret 3 5 2)
-        (place-fret 2 5 3)
-      )
-   }
->>
-@end lilypond
-
-All other fret diagram properties must be adjusted using @code{\override}
-when using the fret-diagram-verbose markup.
-
-@ignore
-The following example shows the three fret-diagram markup
-interfaces, along with examples of common tweaks.  For example,
-the size of the verbose fret diagram is reduced to 0.75, and the
-finger indications are specified to appear below the diagram.  The
-terse diagram includes tweaks to specify placement of finger code
-and color of dots.
-
-@lilypond[verbatim,ragged-right,quote]
-\new Voice {
-  \clef "treble_8"
-  d^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
-  d d d
-  fis^\markup \override #'(size . 0.75) {
-    \override #'(finger-code . below-string) {
-      \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
-                               (place-fret 5 4 3)
-                               (place-fret 4 4 4)
-                               (place-fret 3 3 2)
-                               (place-fret 2 2 1)
-                               (place-fret 1 2 1))
-    }
-  }
-  fis fis fis
-  c^\markup \override #'(dot-radius . 0.35) {
-    \override #'(finger-code . in-dot) {
-      \override #'(dot-color . white) {
-        \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
-      }
-    }
-  }
-  c c c
-}
-@end lilypond
-@end ignore
-
-@cindex customized fret diagram
-@cindex fret diagram, customized
-@cindex diagram, fret, customized
-
-@funindex fret-diagram-interface
-
-The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a fret diagram
-markup, the interface properties belong to @code{Voice.TextScript}.
-
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{customizing-markup-fret-diagrams.ly}
-
-
-@seealso
-Notation Reference:
-@ref{Text markup commands}.
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals{fret-diagram-interface}.
-
-
-@node Predefined fret diagrams
-@unnumberedsubsubsec Predefined fret diagrams
-
-
-@cindex fret diagrams
-@cindex chord diagrams
-
-@funindex FretBoards
-@funindex stringTunings
-
-Fret diagrams can be displayed using the @code{FretBoards} context.  By
-default, the @code{FretBoards} context will display fret diagrams that
-are stored in a lookup table:
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-\context FretBoards {
-  \chordmode {
-    c1 d
-  }
-}
-@end lilypond
-
-The default predefined fret diagrams are contained in the file
-@code{predefined-guitar-fretboards.ly}.  Fret diagrams are
-stored based on the pitches of a chord and the value of
-@code{stringTunings} that is currently in use.
-@code{predefined-guitar-fretboards.ly} contains predefined
-fret diagrams only for @code{guitar-tuning}.  Predefined fret
-diagrams can be added for other instruments or other tunings
-by following the examples found in
-@code{predefined-guitar-fretboards.ly}.
-
-Chord pitches can be entered
-either as simultaneous music or using chord mode (see
-@ref{Chord mode overview}).
-
-@lilypond[verbatim, ragged-right,quote]
-\include "predefined-guitar-fretboards.ly"
-\context FretBoards {
-  \chordmode {c1}
-  <c' e' g'>1
-}
-@end lilypond
-
-@cindex chord names with fret diagrams
-@cindex fret diagrams with chord names
-
-@funindex ChordNames
-@funindex chordmode
-@funindex \chordmode
-
-It is common that both chord names and fret diagrams are displayed together.
-This is achieved by putting a @code{ChordNames} context in parallel with
-a @code{FretBoards} context and giving both contexts the same music.
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-mychords = \chordmode{
-  c1 f g
-}
-
-<<
-  \context ChordNames {
-    \mychords
-  }
-  \context FretBoards {
-    \mychords
-  }
->>
-@end lilypond
-
-@cindex transposing fret diagrams
-@cindex fret diagrams, transposing
-@cindex diagrams, fret, transposing
-
-Predefined fret diagrams are transposable, as long as a diagram for the
-transposed chord is stored in the fret diagram table.
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-mychords = \chordmode{
-  c1 f g
-}
-
-mychordlist = {
-  \mychords
-  \transpose c e { \mychords}
-}
-<<
-  \context ChordNames {
-    \mychordlist
-  }
-  \context FretBoards {
-    \mychordlist
-  }
->>
-@end lilypond
-
-
-The predefined fret diagram table contains seven chords (major, minor,
-augmented, diminished, dominant seventh, major seventh, minor seventh)
-for each of 17 keys.  A complete list of the predefined fret diagrams is
-shown in @ref{Predefined fretboard diagrams}.  If there is no entry in
-the table for a chord, the FretBoards engraver will calculate a
-fret-diagram using the automatic fret diagram functionality described in
-@ref{Automatic fret diagrams}.
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-mychords = \chordmode{
-  c1 c:9
-}
-
-<<
-  \context ChordNames {
-    \mychords
-  }
-  \context FretBoards {
-    \mychords
-  }
->>
-@end lilypond
-
-@cindex fret diagrams, adding custom
-@cindex custom fret diagrams, adding
-@cindex adding custom fret diagrams
-
-Fret diagrams can be added to the fret diagram table.  To add a diagram,
-you must specify the chord for the diagram, the tuning to be used, and 
-a definition for the diagram.  The diagram definition can be either a
-fret-diagram-terse definition string or a fret-diagram-verbose
-marking list.
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-
-\storePredefinedDiagram \chordmode {c:9}
-                        #guitar-tuning
-                        #"x;3-2;2-1;3-3;3-4;x;"
-
-mychords = \chordmode{
-  c1 c:9
-}
-
-<<
-  \context ChordNames {
-    \mychords
-  }
-  \context FretBoards {
-    \mychords
-  }
->>
-@end lilypond
-
-Different fret diagrams for the same chord name can be stored using different
-octaves of pitches.  The different octave should be at least two octaves
-above or below the default octave, because the octaves above and  below the
-default octave are used for transposing fretboards.
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-
-\storePredefinedDiagram \chordmode {c''}
-                        #guitar-tuning
-                        #(offset-fret 2 (chord-shape 'bes guitar-tuning))
-
-mychords = \chordmode{
-  c1 c''
-}
-
-<<
-  \context ChordNames {
-    \mychords
-  }
-  \context FretBoards {
-    \mychords
-  }
->>
-@end lilypond
-
-@cindex fretted instruments, chord shapes
-@cindex chord shapes for fretted instruments
-
-@funindex \addChordShape
-@funindex add ChordShape
-@funindex storePredefinedDiagram
-@funindex \storePredefinedDiagram
-
-In addition to fret diagrams, LilyPond stores an internal list of chord
-shapes.  The chord shapes are fret diagrams that can be shifted along
-the neck to different posistions to provide different chords.  Chord
-shapes can be added to the internal list and then used to define
-predefined fret diagrams.  Because they can be moved to various
-positions on the neck, chord shapes will normally not contain
-any open strings.  Like fret diagrams, chord shapes can be
-entered as either fret-diagram-terse strings or fret-diagram-verbose
-marking lists.
-
-@lilypond[verbatim, ragged-right, quote]
-\include "predefined-guitar-fretboards.ly"
-
-% add a new chord shape
-
-\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
-
-% add some new chords based on the power chord shape
-
-\storePredefinedDiagram \chordmode {f''}
-                        #guitar-tuning
-                        #(chord-shape 'powerf guitar-tuning) 
-\storePredefinedDiagram \chordmode {g''}
-                        #guitar-tuning
-                        #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
-
-mychords = \chordmode{
-  f1 f'' g g''
-}
-
-<<
-  \context ChordNames {
-    \mychords
-  }
-  \context FretBoards {
-    \mychords
-  }
->>
-@end lilypond
-
-The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a
-predefined fret diagram, the interface properties belong to
-@code{FretBoards.FretBoard}.
-
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{customizing-fretboard-fret-diagrams.ly}
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{defining-predefined-fretboards-for-other-instruments.ly}
-
-
-@seealso
-Notation Reference:
-@ref{Custom tablatures},
-@ref{Automatic fret diagrams},
-@ref{Chord mode overview},
-@ref{Predefined fretboard diagrams}.
-
-Installed Files:
-@file{ly/predefined-guitar-fretboards.ly},
-@file{ly/predefined-guitar-ninth-fretboards.ly}.
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals {fret-diagram-interface}.
-
-
-@node Automatic fret diagrams
-@unnumberedsubsubsec Automatic fret diagrams
-
-@cindex fret diagrams, automatic
-@cindex chord diagrams, automatic
-@cindex automatic fret diagrams
-@cindex automatic chord diagrams
-
-Fret diagrams can be automatically created from entered notes using the
-@code{FretBoards} context.  If no predefined diagram is available for
-the entered notes in the active @code{stringTunings}, this context
-calculates strings and frets that can be used to play the notes.
-
-@lilypond[quote,ragged-right,verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       f1 g
-     }
-  }
-  \context FretBoards {
-    < f, c f a c' f'>1
-    < g,\6 b, d g b g'>
-  }
-  \context Staff {
-    \clef "treble_8"
-    < f, c f a c' f'>1
-    < g, b, d g b' g'>
-  }
->>
-@end lilypond
-
-@funindex predefinedFretboardsOff
-@funindex \predefinedFretboardsOff
-@funindex predefinedFretboardsOn
-@funindex \predefinedFretboardsOn
-
-As no predefined diagrams are loaded by default, automatic calculation
-of fret diagrams is the default behavior.  Once default diagrams are
-loaded, automatic calculation can be enabled and disabled with predefined
-commands:
-
-@lilypond[quote,ragged-right,verbatim]
-
-\storePredefinedDiagram <c e g c' e'>
-                        #guitar-tuning
-                        #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 c c
-     }
-  }
-  \context FretBoards {
-    <c e g c' e'>1
-    \predefinedFretboardsOff
-    <c e g c' e'>
-    \predefinedFretboardsOn
-    <c e g c' e'>
-  }
-  \context Staff {
-    \clef "treble_8"
-    <c e g c' e'>1
-    <c e g c' e'>
-    <c e g c' e'>
-  }
->>
-@end lilypond
-
-
-
-Sometimes the fretboard calculator will be unable to find
-an accceptable diagram.  This can often be remedied by
-manually assigning a note to a string.  In many cases, only one
-note need be manually placed on a string; the rest of
-the notes will then be placed appropriately by the @code{FretBoards}
-context.
-
-@cindex fret diagrams, adding fingerings
-@cindex fingerings, adding to fret diagrams
-
-Fingerings can be added to FretBoard fret diagrams.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
-  \context FretBoards {
-    < c-3 e-2 g c'-1 e' > 1
-    < d a-2 d'-3 f'-1>
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1
-    < d a d' f'>
-  }
->>
-@end lilypond
-
-The minimum fret to be used in calculating strings and frets for
-the FretBoard context can be set with the @code{minimumFret}
-property.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode {
-       d1:m d:m
-     }
-  }
-  \context FretBoards {
-    < d a d' f'>
-    \set FretBoards.minimumFret = #5
-    < d a d' f'>
-  }
-  \context Staff {
-    \clef "treble_8"
-    < d a d' f'>
-    < d a d' f'>
-  }
->>
-@end lilypond
-
-The strings and frets for the @code{FretBoards} context depend
-on the @code{stringTunings} property, which has the same meaning
-as in the TabStaff context.  See @ref{Custom tablatures} for
-information on the @code{stringTunings} property.
-
-The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a
-@code{FretBoards} fret diagram, the interface properties belong to
-@code{FretBoards.FretBoard}.
-
-
-@predefined
-@code{\predefinedFretboardsOff},
-@code{\predefinedFretboardsOn}.
-@endpredefined
-
-
-@seealso
-Notation Reference:
-@ref{Custom tablatures}.
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals {fret-diagram-interface}.
-
-
-@node Right-hand fingerings
-@unnumberedsubsubsec Right-hand fingerings
-
-@cindex fretted instruments, right hand fingerings
-@cindex fingerings, right hand for fretted instruments
-@cindex right hand fingerings for fretted instruments
-
-@funindex rightHandFinger
-@funindex \rightHandFinger
-
-Right-hand fingerings @var{p-i-m-a} must be entered within a
-chord construct @code{<>} for them to be printed in the score,
-even when applied to a single note.
-
-@warning{There @strong{must} be a hyphen after the note and a space
-before the closing @code{>}.}
-
-@lilypond[quote,verbatim,relative=0]
-\clef "treble_8"
-<c-\rightHandFinger #1 >4
-<e-\rightHandFinger #2 >
-<g-\rightHandFinger #3 >
-<c-\rightHandFinger #4 >
-<c,-\rightHandFinger #1 e-\rightHandFinger #2
-  g-\rightHandFinger #3 c-\rightHandFinger #4 >1
-@end lilypond
-
-For convenience, you can abbreviate @code{\rightHandFinger} to something
-short, for example @code{RH},
-
-@example
-#(define RH rightHandFinger)
-@end example
-
-
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{placement-of-right-hand-fingerings.ly}
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{fingerings,-string-indications,-and-right-hand-fingerings.ly}
-
-
-@seealso
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals{StrokeFinger}.
-
-
-@node Guitar
-@subsection Guitar
-
-Most of the notational issues associated with guitar music are
-covered sufficiently in the general fretted strings section, but there
-are a few more worth covering here.  Occasionally users want to
-create songbook-type documents having only lyrics with chord
-indications above them.  Since Lilypond is a music typesetter,
-it is not recommended for documents that have no music notation
-in them.  A better alternative is a word processor, text editor,
-or, for experienced users, a typesetter like GuitarTeX.
-
-@menu
-* Indicating position and barring::
-* Indicating harmonics and dampened notes::
-@end menu
-
-@node Indicating position and barring
-@unnumberedsubsubsec Indicating position and barring
-
-@cindex indicating position and barring for fretted instruments
-@cindex fretted instruments, indicating position and barring
-
-This example demonstrates how to include guitar position and
-barring indications.
-
-@lilypond[quote,ragged-right,fragment,verbatim,relative=0]
-\clef "treble_8"
-b16 d g b e
-\textSpannerDown
-\override TextSpanner #'(bound-details left text) = #"XII "
-  g16\startTextSpan
-  b16 e g e b g\stopTextSpan
-e16 b g d
-@end lilypond
-
-
-@seealso
-Notation Reference:
-@ref{Text spanners}.
-
-Snippets:
-@rlsr{Fretted strings},
-@rlsr{Expressive marks}.
-
-
-@node Indicating harmonics and dampened notes
-@unnumberedsubsubsec Indicating harmonics and dampened notes
-
-@cindex fretted instruments, dampened notes
-@cindex fretted instruments, harmonics
-@cindex dampened notes on fretted instruments
-@cindex harmonics on fretted instruments
-
-Special note heads can be used to indicate dampened notes or
-harmonics.  Harmonics are normally further explained with a
-text markup.
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\relative c' {
-  \clef "treble_8"
-  \override Staff.NoteHead #'style = #'cross
-  g8 a b c b4
-  \override Staff.NoteHead #'style = #'harmonic-mixed
-  d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
-}
-@end lilypond
-
-
-@seealso
-Snippets:
-@rlsr{Fretted strings}.
-
-Notation Reference:
-@ref{Special note heads},
-@ref{Note head styles}.
-
-
-@node Banjo
-@subsection Banjo
-
-@menu
-* Banjo tablatures::
-@end menu
-
-@node Banjo tablatures
-@unnumberedsubsubsec Banjo tablatures
-
-@cindex banjo tablatures
-@cindex tablature, banjo
-
-LilyPond has basic support for the five-string banjo.  When making tablatures
-for five-string banjo, use the banjo tablature format function to get
-correct fret numbers for the fifth string:
-
-@c due to crazy intervals of banjo music, absolute pitch is recommended
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\new TabStaff <<
-  \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
-  \set TabStaff.stringTunings = #banjo-open-g-tuning
-  {
-    \stemDown
-    g8 d' g'\5 a b g e d' |
-    g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
-    g4
-  }
->>
-@end lilypond
-
-@cindex banjo tunings
-@cindex tunings, banjo
-
-@funindex banjo-c-tuning
-@funindex banjo-modal-tuning
-@funindex banjo-open-d-tuning
-@funindex banjo-open-dm-tuning
-@funindex four-string-banjo
-
-A number of common tunings for banjo are predefined in LilyPond:
-@code{banjo-c-tuning} (gCGBD), @code{banjo-modal-tuning} (gDGCD),
-@code{banjo-open-d-tuning} (aDF#AD) and @code{banjo-open-dm-tuning}
-(aDFAD).
-
-These tunings may be converted to four-string banjo tunings using the
-@code{four-string-banjo} function:
-
-@example
-\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
-@end example
-
-
-@seealso
-Snippets:
-@rlsr{Fretted strings}.
-
-The file @file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.