Vertical Spacing

Zur Navigation springen Zur Suche springen

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!

Als Kontext ist der jeweilige Name des Contexts maßgeblich, dessen Abstände man beeinflussen will. Wenn ich Lyrictext verschieben will, muss ich Lyrics.VerticalAxisGroup schreiben, nicht GrandStaff oder StaffGroup.

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

Links