Kategorie:Vertical Spacing

Aus Lilypond Wiki
Wechseln zu: Navigation, Suche

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|\paper-Variable festgelegt 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 related ist 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!

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

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
  }
}

So kann man erreichen, dass die Akkordbezeichnungen in das Notensystem geschrieben werden

Links

Tipp

Den automatischen Randausgleich abschalten und schauen, wie Lilypond die Zeilen aufteilt.

\paper {
  ragged-bottom = ##t
  ragged-last-bottom = ##t
}