User:Lilipond/Lilypond/Vertical Spacing
Es gibt Notensysteme (wie Staff, RhythmicStaff, MensuralStaff... ), gruppierte Notensysteme (wie StaffGroup
, PianoStaff
, GrandStaff
, ...) und Nicht-Notensysteme (wie Lyrics
, ChordNames
, Dynamics
usw.).
Die Abstände von Nicht-Notensystemzeilen und Notenzeilen innerhalb einer Gruppe werden durch VerticalAxisGroup
und VerticalAlignment
festgelegt, die vertikale Platzierung zwischen einzelnen Systemgruppen, Partituren, Beschriftungen usw. und den Rändern wird durch \paper
-Variablen kontrolliert. Das heißt, dass nur über \paper
-Variable festgelegt kann, wie viel Abstand zwischen zwei Notensystemen liegen soll.
Oft quetscht Lilypond die Notenzeilen innerhalb einer Gruppe zusammen und lässt viel Platz zwischen den Systemen.
Bei Nicht-Notensystemzeilen entscheidet VerticalAxisGroup.staff-affinity
darüber, welches nächstgelegene Notensystem related ist und welches nicht, unabhängig davon, was musikalisch tatsächlich der Fall ist. Grenzt ein Nicht-Notensystem an andere Nicht-Notensysteme, so sind die Werte VerticalAxisGroup.nonstaff-relatedstaff-spacing
und VerticalAxisGroup.nonstaff-unrelatedstaff-spacing
ohne Effekt!
In das \layout
des jeweiligen Contexts kann man folgende Variablen schreiben:
\override VerticalAxisGroup.xxx.basic-distance = #12
\override VerticalAxisGroup.xxx.minimum-distance = #8
\override VerticalAxisGroup.xxx.padding = #1
xxx
kann folgende Werte annehmen:
staff-staff-spacing
default-staff-staff-spacing
nonstaff-relatedstaff-spacing
nonstaff-unrelatedstaff-spacing
nonstaff-nonstaff-spacing
padding
kann auch negative Werte annehmen.
Man kann die Abstandsdefinitionen auch direkt in die Noten schreiben, beispielsweise
\override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #14
Eine \layout
Anweisung für ein Nicht-Notensystem kann daher folgendermaßen ausschauen:
\layout {
\context {
\Lyrics
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-nonstaff-spacing.minimum-distance = #5
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.minimum-distance = #2
\override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.minimum-distance = #10
}
}
Wenn ein eigener Context definiert wurde, muss er im Layout gleich heißen wie in der Definition.
\layout {
\context {
\UpperChords
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #-1
}
}
Links
[edit]Tipp
[edit]Den automatischen Randausgleich abschalten und schauen, wie Lilypond die Zeilen aufteilt.
\paper {
ragged-bottom = ##t
ragged-last-bottom = ##t
}