@end itemize
-
@seealso
Notation Reference:
@ref{Fingering instructions},
@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.}
+appending @code{\@var{number}} to a note.
@lilypond[verbatim,quote,relative=0]
\clef "treble_8"
-<c\5>4 <e\4> <g\3>2
+c4\5 e\4 g2\3
<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:
+placement can be controlled by the order in which the two items appear
+in the code @emph{only} if they appear inside of an explicit chord:
+applied to whole chords or single notes @emph{outside} of chords,
+fingerings are placed using a different mechanism.
@lilypond[verbatim,quote,relative=1]
\clef "treble_8"
-<g\3-0>2
+g4\3-0
+g-0\3
+<g\3-0>
<g-0\3>
@end lilypond
@lilypondfile[verbatim,quote,texidoc,doctitle]
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
-
@seealso
Notation Reference:
@ref{Fingering instructions}.
@cindex fret
@funindex minimumFret
+@funindex restrainOpenStrings
By default pitches are assigned to the lowest playing position on the
fret-board (first position). Open strings are automatically preferred.
-If you would like a certain pitch to be played on a specific string
-you can add a string number indication to the pitch name. If you
-define pitch names and string numbers without a chord construct
-(@code{<>}) the string number indications do not appear in traditional
-notation. It is much more comfortable to define the playing position
-by using the value of @code{minimumFret}. The default value for
-minimumFret is 0.
+If you would like a certain pitch to be played on a specific string you
+can add a string number indication to the pitch name. If you don't want
+to have string number indications appear in traditional notation, you
+can override the respective stencil. Usually it will be more
+comfortable to define the playing position by using the value of
+@code{minimumFret}. The default value for minimumFret is 0.
+Even when @code{minimumFret} is set, open strings are used whenever
+possible. This behaviour can be changed by setting @code{restrainOpenStrings}
+to @code{#t}.
@lilypond[quote,ragged-right,verbatim]
+\layout { \override Voice.StringNumber #'stencil = ##f }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
c16 d e f g4
c,16\5 d\5 e\4 f\4 g4\4
\set TabStaff.minimumFret = #5
+ \set TabStaff.restrainOpenStrings = ##t
c,16 d e f g4
}
>>
@end lilypond
-@funindex \tabChordRepetition
+@funindex \tabChordRepeats
+@funindex \chordRepeats
@cindex Chord, repetition
@cindex repetition, using @code{q}
Chord constructs can be repeated by the chord repetition symbol
-@code{q}. To use this feature in combination with tablature,
-@code{\tabChordRepetition} is provided. It preserves the string
-information explicitly given within chord constructs so repeated chords
-get identical tablature representations.
+@code{q}. In combination with tabulatures, its behavior of removing
+string and finger numbers alongside with other events is cumbersome, so
+you'll want to run
+@example
+\chordRepeats #'(string-number-event fingering-event)
+@end example
+explicitly on music expressions in tabulature using @ref{Chord
+repetition}. This particular command is so common that it is available
+as @code{\tabChordRepeats}.
@lilypond[quote,verbatim]
-\tabChordRepetition
-
guitar = \relative c' {
- r8 <gis\4 cis\3 b\2>~ q4 q8~ q q4
+ r8 <gis-2 cis-3 b-0>~ q4 q8~ q q4
}
\new StaffGroup <<
\new Staff {
\clef "treble_8"
- \override Voice.StringNumber #'transparent = ##t
\guitar
}
\new TabStaff {
- \guitar
+ \tabChordRepeats \guitar
}
>>
@end lilypond
pitches:
@lilypond[verbatim,quote]
+\layout { \override Voice.StringNumber #'stencil = ##f }
firstHarmonic = {
- <d'\4\harmonic>4
- <g'\3\harmonic>4
- <b'\2\harmonic>2
+ d'4\4\harmonic
+ g'4\3\harmonic
+ b'2\2\harmonic
}
\score {
<<
}
@end lilypond
-Note that the command @code{\harmonic} must always be defined
-inside a chord construct. It only makes sense for open-string harmonics
+Note that the command @code{\harmonic} must always be attached to single
+notes (possibly inside of a chord) instead of whole chords.
+It only makes sense for open-string harmonics
in the 12th fret. All other harmonics should be calculated by LilyPond.
This can be achieved by indicating the fret where a finger of the
fretting hand should touch a string.
Guitar special effects are limited to harmonics and slides.
+
@node Custom tablatures
@unnumberedsubsubsec Custom tablatures
@lilypond[quote,ragged-right,verbatim]
<<
- \new Staff {
+ \new Voice \with {
+ \override StringNumber #'stencil = ##f
+ } {
\clef "bass_8"
\relative c, {
c4 d e f
}
}
- \new TabStaff {
- \set TabStaff.stringTunings = #bass-tuning
+ \new TabStaff \with {
+ stringTunings = #bass-tuning
+ } {
\relative c, {
c4 d e f
}
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 @file{ly/string-tuning-init.ly}.
+are found in @file{ly/string-tunings-init.ly}.
@funindex stringTuning
@funindex \stringTuning
@ref{Scheme functions}.
Installed Files:
-@file{ly/string-tuning-init.ly}
+@file{ly/string-tunings-init.ly},
@file{scm/tablature.scm}.
Snippets:
cases for instruments where string pitches do not vary
monotonically with string number, such as ukuleles.
+
@node Fret diagram markups
@unnumberedsubsubsec Fret diagram markups
@node Predefined fret diagrams
@unnumberedsubsubsec Predefined fret diagrams
-
@cindex fret diagrams
@cindex fret diagrams, ukulele
@cindex fret diagrams, mandolin
@lilypondfile[verbatim,quote,texidoc,doctitle]
{fretboards-alternate-tables.ly}
-
@seealso
Notation Reference:
@ref{Custom tablatures},
@code{\predefinedFretboardsOn}.
@endpredefined
-
@seealso
Notation Reference:
@ref{Custom tablatures}.
@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.
+Right-hand fingerings @var{p-i-m-a} must be entered using
+@code{\rightHandFinger} followed by a number.
-@warning{There @strong{must} be a hyphen before
-@code{@bs{}rightHandFinger} and a space before the closing @code{>}.}
+@warning{If the number is entered in Scheme notation, remember to append
+a space before following it with a closing @code{>} or similar.}
@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
+c4\rightHandFinger #1
+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)
+RH=#rightHandFinger
@end example
@lilypondfile[verbatim,quote,texidoc,doctitle]
{fingerings,-string-indications,-and-right-hand-fingerings.ly}
-
@seealso
Snippets:
@rlsr{Fretted strings}.
e16 b g d
@end lilypond
-
@seealso
Notation Reference:
@ref{Text spanners}.
@end example
@seealso
+Installed Files:
+@file{ly/string-tunings-init.ly}.
+
Snippets:
@rlsr{Fretted strings}.
-
-Installed Files:
-@file{ly/string-tunings-init.ly}