Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Dbenzhuser am Samstag, 23. Mai 2009, 18:59
-
Hallo allerseits!
Ich setze gerade ein paar Märsche, auf den Blättern geht es teilweise extrem eng zu. Leider geht Lilypond manchmal etwas großzügig mit dem (nicht vorhandenen) Platz um, für das folgende Problem habe ich bisher leider keine Lösung gefunden:
Ich brauche innerhalb einer Volta-Alternativ-Klammer Text, der oberhalb der Noten notiert werden soll. (unten ist kein Platz, da sind noch Lautstärkeangaben).
Obwohl zwischen den Noten und der Klammer massenweise Platz wäre verschiebt Lilypond die Klammer aber nach oben, und touchiert damit schon die Noten eine Zeile höher.
Im Anhang ist ein Bild zum Code.
\relative c'' {
\repeat "volta" 2 {a b c d}
\alternative {{a b c^"abc" d}{a b c d}}
}
\relative c'' {
\repeat "volta" 2 {a b c d}
\alternative {{a b c_"abc" d}{a b c d}}
}
Scheinbar setzt Lilypond die Klammern bündig über das höchste Objekt darunter, egal ob Notenhals oder Text, ohne aber zu überprüfen ob der Platz unter der Klammer damit wirklich ausgefüllt wird.
Könnte ich den Text unter die Noten schreiben wäre es gar kein Problem.
Ich habe schon per override versucht die Klammern nach unten zu bewegen, leider helfen zumindest diese Befehle nicht weiter
\override Score.VoltaBracket #'minimum-space = #0 %(oder welche Zahlenwerte auch immer, hatte keinen Einfluss)
\override Score.VoltaBracket #'padding = #0
Gibt es eine Möglichkeit diese Klammern nach unten zu verschieben?
Dank und Gruß,
Dbenzhuser
-
Ein anderer Ansatz, der schnell zum Ziel kommt, ist
"abc" seinem Räumlichkeit entledigen.
Das könnte zwar Kollisionsgefahr provozieren, aber es wird wohl gehen.
abc = \markup \with-dimensions #'(0 . 0) #'(0 . 0) "abc"
.
.
.
\alternative {{a b c^\abc d}{a b c d}}
Gruss
-
Super, funktioniert einwandfrei!
Dank und Gruß,
Dbenzhuser
-
Hallo,
ich möchte das Thema doch noch mal ausgraben, weil mir es mir auf den engen Notenblättern immer wieder vorkommt, dass mir die zu hohen Klammern Layoutprobleme bereiten.
Gibt es eine Möglichkeit die Klammer auf ihre normale Höhe herunterzurücken ohne Rücksicht auf den Inhalt darunter?
In 90% der Fälle kommen die Elemente der Klammer sowieso nicht in die Quere und sie weicht unnötig aus.
-
Habe jetzt eine Lösung gefunden, mit der ich wahrscheinlich leben kann.
Mit folgendem Code wird die Klammer bei mir direkt über das System gesetzt und Kollisionen ignoriert.
Wie genau es funktioniert weiß ich zwar nicht, aber der erste Befehl scheint die Klammer aus dem Fluss zu nehmen und positioniert sie mitten im System, mit dem zweiten Befehl wird sie dann wieder so weit nach oben gerückt, dass es passt.
\override Score.VoltaBracketSpanner #'no-alignment = ##f
\override Score.VoltaBracket #'extra-offset = #'(0 . 5.0)
Nachteil ist, dass man den Zahlenwert anpassen muss, wenn man z.B. mehrere Stimmen übereinander hat.
Einfacher ist daher vielleicht
\override Score.VoltaBracketSpanner #'X-extent = #'(0 . 0)
Auch hier muss man sich natürlich um eventuelle Kollisionen selbst kümmern.
Wenn also jemand doch noch einen Befehl kennt, mit dem Lilypond den Platz unter der Klammer (wenn ungenutzt) für Notenhälse, Beschriftungen, Artikulationszeichen, Triolenklammer, ... freigibt, immer her damit.