+
+ %% TabStaff increase the staff-space, which in turn
+ %% increases beam thickness and spacing; beams are
+ %% too big. We have to adjust the beam settings:
+ \override Beam.beam-thickness = #0.32
+ \override Beam.length-fraction = #0.62
+ %% the same goes for tremolo beams
+ \override StemTremolo.beam-thickness = #0.32
+ %% NOTE: in lily/stem-tremolo.cc, we have length-fraction = 1,
+ %% and the tablature staff space is scaled (1.5 by default),
+ %% so we use the inversion of the scale factor:
+ \override StemTremolo.length-fraction = #(lambda (grob)
+ (/ 1 (ly:staff-symbol-staff-space grob)))
+ \override StemTremolo.beam-width = #stem-tremolo::calc-tab-width
+
+ %% make the Stems as short as possible to minimize their influence
+ %% on the slur::calc-control-points routine
+ \override Stem.no-stem-extend = ##t
+ \override Flag.style = #'no-flag
+ \override Stem.details = #'((lengths 0 0 0 0 0 0)
+ (beamed-lengths 0 0 0)
+ (beamed-minimum-free-lengths 0 0 0)
+ (beamed-extreme-minimum-free-lengths 0 0)
+ (stem-shorten 0 0))
+ %% after all, the stubs of the stems may still be visible, so ...
+ \override Stem.stencil = ##f
+ \override Flag.stencil = ##f
+ %% automatic beams should be suppressed for similar reasons ...
+ autoBeaming = ##f
+ %% remove beams, dots and rests ...
+ \override Beam.stencil = ##f
+ \override StemTremolo.stencil = ##f
+ \override Dots.stencil = ##f
+ \override Rest.stencil = ##f
+ \override MultiMeasureRest.stencil = ##f
+ \override MultiMeasureRestNumber.stencil = ##f
+ \override MultiMeasureRestText.stencil = ##f
+ %% ... all kinds of ties/slurs
+ \override Tie.stencil = ##f
+ \override RepeatTie.stencil = ##f
+ \override LaissezVibrerTie.stencil = ##f
+ \override Slur.stencil = #slur::draw-tab-slur
+ \override PhrasingSlur.stencil = ##f
+ %% 'tied to' fret numbers become invisible or parenthesized, respectively)
+ \override Tie.after-line-breaking = #tie::handle-tab-note-head
+ \override RepeatTie.after-line-breaking = #repeat-tie::handle-tab-note-head
+ %% ... and all kinds of markups, spanners etc.
+ \override TupletBracket.stencil = ##f
+ \override TupletNumber.stencil = ##f
+ \override DynamicText.stencil = ##f
+ \override DynamicTextSpanner.stencil = ##f
+ \override TextSpanner.stencil = ##f
+ \override Hairpin.stencil = ##f
+ \override Script.stencil = ##f
+ \override TextScript.stencil = ##f
+ \override Glissando.stencil = #glissando::draw-tab-glissando
+ %% the direction for glissando lines will be automatically corrected
+ \override Glissando.extra-dy = #glissando::calc-tab-extra-dy
+ \override Glissando.bound-details.right = #`((attach-dir . ,LEFT)
+ (padding . 0.3))
+ \override Glissando.bound-details.left = #`((attach-dir . ,RIGHT)
+ (padding . 0.3))
+ %% dead notes
+ \override TabNoteHead.glyph-name = #tab-note-head::calc-glyph-name
+ \override TabNoteHead.stencil = #tab-note-head::whiteout-if-style-set