]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/fretted-strings.itely
Add todo from issue tracker.
[lilypond.git] / Documentation / user / fretted-strings.itely
index a5e60967b7aa7001f81d867ab49cfa1f4fa6ea1b..73d4d4757fa8cd95dce5130f15c0e58ffcff1e12 100644 (file)
 
 @node Fretted string instruments
 @section Fretted string instruments
-@c@node Guitar
-@c@section Guitar
 
 @cindex tablature
 @cindex guitar tablature
 
 @menu
-* Guitar sections::             
+* Common notation for fretted strings::
+* Guitar::
+* Banjo::
 @end menu
 
-@node Guitar sections
-@subsection Guitar sections
+@node Common notation for fretted strings
+@subsection Common notation for fretted strings
 
 @menu
-* String number indications::   
-* Tablatures basic::            
-* Non-guitar tablatures::       
-* Banjo tablatures::            
-* Fret diagrams::               
-* Right hand fingerings::       
-* Other guitar issues::         
+* References for fretted strings::
+* String number indications::
+* Default tablatures::
+* Custom tablatures::
+* Fret diagrams::
+* Right hand fingerings::
 @end menu
 
+@node References for fretted strings
+@subsubsection References for fretted strings
+
+@c TODO Add refs
+TBC
+
 @node String number indications
 @subsubsection String number indications
 
 @cindex String numbers
 
-String numbers can be added to chords, by indicating the string number
-with @code{\}@var{number},
+The string on which a note should be played may be indicated by
+appending @code{\}@tie{}@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=2]
+<c\5>4 <e\4> <g\3>2
+<c,\5 e\4 g\3>1
+@end lilypond
+
+Although fingering is covered in detail elsewhere, it is worth noting
+here how fingerings and string indications behave together, since
+guitar music often incorporates both at once.  The usual convention
+is to place the fingering closest to the note, then the string 
+indication outside the fingering.  This is controlled by the order in 
+which the two items appear:
 
-@lilypond[relative,relative=1,ragged-right,fragment]
-<c\1 e\2 g\3>
+@lilypond[verbatim,quote,relative=2]
+<g\3-0>2
+<g-0\3>
 @end lilypond
 
+@snippets
+
+@ignore
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{controlling-the-placement-of-chord-fingerings.ly}
+@end ignore
 
 @seealso
 
-Internals Reference: @internalsref{StringNumber},
+Internals Reference: @rinternals{StringNumber},
 @c @lsr{guitar/,string-number.ly}.
 
 
-@node Tablatures basic
-@subsubsection Tablatures basic
-@cindex Tablatures basic
+@node Default tablatures
+@subsubsection Default tablatures
+@cindex Tablatures, basic
+@cindex Tablatures, default
 
 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.
+numbers indicating on which string and fret a note must be played.  
+LilyPond offers limited support for tablature.
 
 The string number associated to a note is given as a backslash
 followed by a number, e.g., @code{c4\3} for a C quarter on the third
 string.  By default, string 1 is the highest one, and the tuning
 defaults to the standard guitar tuning (with 6 strings).  The notes
-are printed as tablature, by using @internalsref{TabStaff} and
-@internalsref{TabVoice} contexts
+are printed as tablature, by using @rinternals{TabStaff} and
+@rinternals{TabVoice} contexts
 
 @lilypond[quote,ragged-right,fragment,verbatim]
 \new TabStaff {
@@ -88,6 +117,7 @@ e16 fis gis a b4
 \set TabStaff.minimumFret = #8
 e16 fis gis a b4
 @end example
+
 @lilypond[quote,ragged-right]
 frag = {
   \key e \major
@@ -114,7 +144,7 @@ initialize the @code{TabStaff} with this code:
 
 @seealso
 
-Internals Reference: @internalsref{TabNoteHead}, @internalsref{TabStaff}, @internalsref{TabVoice}.
+Internals Reference: @rinternals{TabNoteHead}, @rinternals{TabStaff}, @rinternals{TabVoice}.
 
 @knownissues
 
@@ -139,9 +169,9 @@ melodia = \partcombine { e4 g g g }{ e4 e e e }
 @end lilypond
 
 
-@node Non-guitar tablatures
-@subsubsection Non-guitar tablatures
-@cindex Non-guitar tablatures
+@node Custom tablatures
+@subsubsection Custom tablatures
+@cindex Tablatures, custom
 
 You can change the tuning of the strings.  A string tuning is given as
 a Scheme list with one integer number for each string, the number
@@ -179,7 +209,7 @@ Some other predefined tunings are @code{guitar-open-g-tuning},
 
 The file @file{scm/@/output@/-lib@/.scm} contains the predefined string
 tunings.
-Internals Reference: @internalsref{Tab_note_heads_engraver}.
+Internals Reference: @rinternals{Tab_note_heads_engraver}.
 
 @knownissues
 
@@ -187,53 +217,23 @@ No guitar special effects have been implemented.
 
 
 
-@node Banjo tablatures
-@subsubsection Banjo tablatures
-@cindex Banjo tablatures
-
-LilyPond has basic support for five stringed banjo.  When making tablatures
-for five stringed banjo, use the banjo tablature format function to get
-correct
-fret numbers for the fifth string:
-
-@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
-
-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
-
-The file @file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.
-
-
 @node Fret diagrams
 @subsubsection Fret diagrams
 @cindex fret diagrams
 @cindex chord diagrams
 
-Fret diagrams can be added to music as a markup to the desired note.  The
-markup contains information about the desired fret diagram, as shown in the
-following example
+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 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 {
@@ -242,8 +242,10 @@ following example
   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 5 4 3) 
+                               (place-fret 4 4 4)
+                               (place-fret 3 3 2) 
+                               (place-fret 2 2 1)
                                (place-fret 1 2 1))
     }
   }
@@ -259,30 +261,34 @@ following example
 }
 @end lilypond
 
-
-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}.
-
 You can set a number of graphical properties according to your preference.
 Details about the property interface to fret diagrams are found at
-@internalsref{fret-diagram-interface}.
+@rinternals{fret-diagram-interface}.
 
 
 @seealso
 
-Examples: @c @lsrdir{guitar}
 
 
 @node Right hand fingerings
 @subsubsection Right hand fingerings
 
-Right hand fingerings in chords can be entered using
-@code{@var{note}-\rightHandFinger @var{finger}}
+Right-hand fingerings @var{p-i-m-a} can be entered using 
+@code{<@var{note}-\rightHandFinger @var{finger} >}.
+The right-hand fingering indication must occur within a @code{<>} chord 
+construct for it to be printed in the score, even if it is a single note.  
+There must be a hyphen after the note and the space
+before the closing @code{>}.
+
 
-@lilypond[verbatim,fragment,relative=2]
-  <c-\rightHandFinger #1 e-\rightHandFinger #2 >
+@lilypond[quote,ragged-right,fragment,verbatim]
+\relative c' {
+  <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 brevity, you can abbreviate @code{\rightHandFinger} to something
@@ -292,13 +298,13 @@ short, for example @code{RH},
 #(define RH rightHandFinger)
 @end example
 
-@cindex fingerings, right hand, for guitar 
+@cindex fingerings, right hand, for guitar
 @cindex right hand fingerings for guitar
+
 @snippets
 
-You may exercise greater control over right handing fingerings by
-setting @code{strokeFingerOrientations},
+You may exercise greater control over the placement of right-hand 
+fingerings by setting @code{strokeFingerOrientations},
 
 @lilypond[quote,verbatim,ragged-right,fragment,relative=1]
 #(define RH rightHandFinger)
@@ -319,20 +325,52 @@ The letters used for the fingerings are contained in the property
 #(define RH rightHandFinger)
 {
   \set strokeFingerOrientations = #'(right)
-  \override StrokeFinger #'digit-names = ##("x" "y" "z" "!" "@") 
+  \override StrokeFinger #'digit-names = ##("x" "y" "z" "!" "@")
   <c-\RH #5 >4
-  <c-\RH "@">4  
+  <c-\RH "@">4
+  <c-\RH #2 >4
+  <c-\RH "z">4
+}
+@end lilypond
+
+This example combines left-hand fingering, string indication, and 
+right-hand fingering
+
+@lilypond[quote,ragged-right,fragment,verbatim]
+#(define RH rightHandFinger)
+\relative c' {
+  <c-3\5-\RH #1 >4 
+  <e-2\4-\RH #2 > 
+  <g-0\3-\RH #3 > 
+  <c-1\2-\RH #4 >
 }
 @end lilypond
 
 @seealso
 
-Internals Reference: @internalsref{StrokeFinger}
+Internals Reference: @rinternals{StrokeFinger}
+
+
+@node Guitar
+@subsection Guitar
+
+@c TODO Make a snippet based on
+@c http://www.nabble.com/Creating-a-nice-formatted-Chords-%2B-Lyrics-layout-for-guitar-players-to13829430.html
+@c and include it somewhere -td
+
+@menu
+* Guitar tablatures::
+* Indicating position and barring::
+@end menu
 
+@node Guitar tablatures
+@subsubsection Guitar tablatures
 
+@c TODO Add text
+TBC
 
-@node Other guitar issues
-@subsubsection Other guitar issues
+@node Indicating position and barring
+@subsubsection Indicating position and barring
 
 This example demonstrates how to include guitar position and
 barring indications.
@@ -356,4 +394,51 @@ pitch.  It is notated with cross note heads; this is
 demonstrated in @ref{Special note heads}.
 
 
+@node Banjo
+@subsection Banjo
+
+@menu Banjo tablatures
+* Banjo tablatures::
+@end menu
+
+@node Banjo tablatures
+@subsubsection Banjo tablatures
+@cindex Banjo tablatures
+
+LilyPond has basic support for five stringed banjo.  When making tablatures
+for five stringed banjo, use the banjo tablature format function to get
+correct
+fret numbers for the fifth string:
+
+@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
+
+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
+
+The file @file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.
+
+
+