Danke für deine Antwort - das Argument mit den Notenabständen macht schon Sinn, aber wenn sich die \overrides häufen, kommt man schon mal auf die Idee eine Abkürzung zu nehmen...
Ein ähnlicher Fall sind ja die Dynamikangaben selber: bei mehr als einem Zeichen kollidieren diese am Anfang eines Taktes gerne mit dem Taktstrich (innerhalb einer Intrumentengruppe, wenn die Taktstriche durchgezogen sind).
Dehalb einmal ganz allgemein gefragt:
Würde es einen Weg geben, (im layout-block?) Bedingungen zu formulieren, nach denen dann z.B BarLine #'X-extent vergrößert wird, um keine Kollision zuzulassen?
Oder, dass der Hairpin #'minimum-extent erweitert wird, falls es eine 'zu-kurz' Warnung gibt. Also so eine Art relatives Layout.
Oder ist das paradox, weil jede Bedingung mehr Stress an anderer Stelle erzeugt?
by the way : die Funktion, die Du im Thread 'Legatobogen horizontal ausdehnen' geschrieben hast geht auch mit Hairpins - es war mir bisher nicht bekannt, wie man die Endpunkte getrennt voneinander so einfach verschieben kann. Hier die geguttenbergte Version:
Besten Dank
\version "2.15.21"
extendHairpin =
#(define-music-function (parser location x) (pair?)
#{
\once \override Hairpin #'stencil = #(lambda (grob)
(let* ((hairpin-stencil (ly:hairpin::print grob))
(hairpin-ext (ly:stencil-extent hairpin-stencil X))
(hairpin-length (interval-length hairpin-ext))
(new-hairpin-length (+ hairpin-length (- (cdr x)(car x))))
(scale-factor (/ new-hairpin-length hairpin-length))
(new-hairpin-stencil (ly:stencil-scale hairpin-stencil scale-factor 1))
(new-hairpin-ext (ly:stencil-extent new-hairpin-stencil X))
;; (new-hairpin-length (interval-length new-hairpin-ext))
(x-corr (- (car hairpin-ext) (car new-hairpin-ext)))
(x-shift (car x))
)
(begin
(newline)
(display hairpin-ext)(newline)
(display hairpin-length)(newline)
(display new-hairpin-ext)(newline)
(display new-hairpin-length)
(ly:stencil-translate-axis
new-hairpin-stencil
(+ x-corr x-shift)
X)
)
))
#})
\paper{indent=30\mm}
\relative c'' {
\set Staff.instrumentName = "extendHairpin"
% Der Anfangspunkt des Hairpins soll um 2 Staffspaces nach links,
% der Endpunkt um 2 nach rechts verschoben werden:
r \extendHairpin #'(-2 . 2) f \< f r f f \! r f
}