Das ist natürlich auch eine Möglichkeit. Ich persönlich liebe es allerdings, wenn die Dinge skriptgesteuert möglichst automatisch und vor allem ohne zusätzliches manuelles Eingreifen ein akzeptables Ergebnis liefern.
Ich habe jetzt ein wenig mit Harm's Funktion Erfahrung sammeln können und stelle fest, in 99.x% aller Fälle brauche ich für die Beschriftung der Klammer das folgende markup:
\fontsize #-3 \italic " 3 "Also dachte ich, ich tausche die Reihenfolge der Parameter in der Funktion single-hbracket und mache arg-for-bracket optional mit obigem default Wert.
Aber offensichtlich bin ich mit den Feinheiten der gemischten Lilypond und Scheme Syntax noch nicht hinreichend vertraut, um das syntaktisch korrekt aufzuschreiben.
Hier nochmal die originale Funktion:
\version "2.18.2
#(define-markup-command (single-hbracket layout props arg-for-bracket arg)
(markup? markup?)
#:properties ((padding 0)
(direction UP)
(right-left-lengthen '(-0.3 . 0.3))
(potrusion 0.3))
#:category graphic
(let* ((th 0.1) ;; todo: take from GROB.
(m (interpret-markup layout props arg))
(stil-add (interpret-markup layout props arg-for-bracket)))
(define
(add-bracket-to-stencil
stil add-to-bracket-stil
axis thick
protrusion direction
right-left-lengthen padding)
"Add a bracket to @var{stil}, producing a new stencil."
(let* ((ext
(coord-translate
(ly:stencil-extent stil axis)
right-left-lengthen))
(other-axis (lambda (a) (remainder (+ a 1) 2)))
(bracket (ly:bracket axis ext thick (* -1 direction protrusion)))
(bracket-length
(interval-length (ly:stencil-extent bracket X)))
(bracket
(ly:stencil-add
bracket
(stencil-whiteout
(ly:stencil-translate-axis
(centered-stencil add-to-bracket-stil)
(+ (/ bracket-length 2) (car right-left-lengthen))
X)))))
(ly:stencil-combine-at-edge
stil
(other-axis axis)
direction
bracket
padding)))
(add-bracket-to-stencil
m stil-add
X th
(+ potrusion (* 2.5 th)) direction
right-left-lengthen (+ padding th))))
\markup {
one two three
\single-hbracket \line { one two three }
\single-hbracket \line { one two three } " 2 "
}
Bei meinen Experimenten hatte ich lediglich den Kopf variiert, daher folgen hier auch nur die betroffenen vorderen Zeilen:
#(define-markup-command (single-hbracket layout props arg arg-for-bracket)
(markup? markup? #"\\fontsize #-3 \\italic \" 3 \"")
#(define-markup-command (single-hbracket layout props arg arg-for-bracket)
(markup? markup? "\\fontsize #-3 \\italic \" 3 \"")
#(define-markup-command (single-hbracket layout props arg)
(markup?)
#:properties ((padding 0)
(direction UP)
(right-left-lengthen '(-0.3 . 0.3))
(potrusion 0.3)
(arg-for-bracket "\\fontsize #-3 \\italic \" 3 \""))
Keine der Versionen funktioniert, wenngleich die letzte wenigstens syntaktisch korrekt ist. Semantisch allerdings nicht

Wie schreibe ich das korrekt auf ?
Liebe Grüße,
Michael