From Federico Bruni:
--snip--
In the following example of \tabChordRepeats:
http://lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-fretted-strings#index-_005ctabChordRepeats
the purpose is showing that the strings/fret numbers used in TabStaff are kept when using q only if \tabChordRepeats is used. This chord:
<gis cis b>
will turn into 2-4-6 frets from 2nd to 4th string, while these chords:
<gis cis b-0> <gis cis b\2>
will turn into 0-6-6 frets from 2nd to 4th string, as in the documentation.
I believe that we should explain what's happening in a straightforward manner.
I would rewrite this parapraph this way (english speakers, please rewrite properly my words):
Chord constructs can be repeated by the chord repetition symbol
@code{q}, as explained in @ref{Chord repetition}. In combination
with tabulatures, its behavior of removing string and finger
numbers alongside with other events may lead to unwanted results,
e.g. different fret positions. The command @code{\tabChordRepeats}
will keep the fingering consistent across repetitions. In the
following example, the default fingering for this chord (without
fingering indications) would be gis on 4th string, b on 3rd string,
cis on 2nd string. As we use b-0, b will be on second string and
cis will move to 3rd string. @code{\tabChordRepeats} allows to
keep the same fingering in the following q chords:
@lilypond[quote,verbatim] guitar = \relative { r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4 } \new StaffGroup << \new Staff { \clef "treble_8" \guitar } \new TabStaff { \tabChordRepeats \guitar } >> @end lilypond
--snip--
Diff: