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[1] kontrolliert. Das heißt, dass nur über \paper-Variable festgelegt werden kann, wie viel Abstand zwischen zwei Notensystemen liegen soll.
Oft quetscht Lilypond die Systeme 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 als das Referenzsystem gelten soll („related“) und welches nicht, unabhängig davon, was musikalisch tatsächlich der Fall ist. Grenzt das Nicht-Notensystem an andere Nicht-Notensysteme, so sind die Werte VerticalAxisGroup.nonstaff-relatedstaff-spacing
und VerticalAxisGroup.nonstaff-unrelatedstaff-spacing
ohne Effekt!
Anwendung
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 Anweisung auch in die Noten schreiben, beispielsweise
\override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #14
Layout-Anweisung für ein Nicht-Notensystem
\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
}
}
Layout-Anweisung für eigenen Context
Wenn ein eigener Context definiert wurde, muss er in der Layout-Anweisung genauso heißen wie in der Definition.
\layout {
\context {
\UpperChords
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #-1
}
}
Automatische Umbrüche verbieten
\override Score.NonMusicalPaperColumn.line-break-permission = ##f
\override Score.NonMusicalPaperColumn.page-break-permission = ##f