LilyPond Benutzerhandbuch: 4.4.3 Vermeidung von vertikalen Zusammenstößen

### 4.4.3 Vermeidung von vertikalen Zusammenstößen

Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem gehören, und einige andere, die immer außerhalb des Notensystems positioniert werden sollten. Zu diesen letzteren gehören etwa Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als Objekte außerhalb des Systems bezeichnet werden können). LilyPonds Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem wie möglich, aber gerade so weit weg, dass sie nicht mit anderen Objekten zusammenstoßen.

Dabei setzt LilyPond die `outside-staff-priority`-Eigenschaft ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems ist: wenn `outside-staff-priority` eine Zahl ist, dann handelt es sich um ein Objekt außerhalb des Systems. Zusätzlich teilt `outside-staff-priority` noch mit, in welcher Reihenfolge die Objekte außerhalb des Systems gesetzt werden sollen.

Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems gehören. Dann werden die Objekte außerhalb des Systems nach dem Wert ihrer `outside-staff-priority` (in aufsteigender Anordnung) sortiert. Eins nach dem anderen werden diese Objekte schließlich genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen, die bereits platziert worden sind. Wenn also zwei Objekte außerhalb des Systems um den gleichen Platz streiten, wird das mit dem geringeren Wert von `outside-staff-priority` näher an das entsprechende Notensystem gesetzt.

>     \relative c'' {
>       c4_"Text"\pp
>       r2.
>       \once \override TextScript.outside-staff-priority = #1
>       c4_"Text"\pp % this time the text will be closer to the staff
>       r2.
>       % by setting outside-staff-priority to a non-number,
>       % we disable the automatic collision avoidance
>       \once \override TextScript.outside-staff-priority = ##f
>       \once \override DynamicLineSpanner.outside-staff-priority = ##f
>       c4_"Text"\pp % now they will collide
>     }

Der Platz, der zwischen einem Objekt außerhalb des Systems und dem vorhergehenden Objekt eingefügt werden kann (auch als padding bezeichnet), kann durch `outside-staff-padding` kontrolliert werden.

>     \once \override TextScript.outside-staff-padding = #0
>     a'^"This text is placed very close to the note"
>     \once \override TextScript.outside-staff-padding = #3
>     c^"This text is padded away from the previous text"
>     c^"This text is placed close to the previous text"

Standardmäßig werden Objekte außerhalb des Systems so gesetzt, dass sie eine horizontale Überschneidung mit einem der vorher gesetzten Grobs vermeiden. Das kann zu Situationen führen, in denen Objekte sehr dicht nebeneinander gesetzt werden. Der vertikale Platz zwischen Notensystemen kann auch gesetzt werden, sodass Objekte außerhalb des Systems ineinander greifen. Mit der Eigenschaft `outside-staff-horizontal-padding` können Objekte vertikal verschoben werden und derartige Situationen kommen nicht vor.

>     % the markup is too close to the following note
>     c4^"Text"
>     c4
>     c''2
>     % setting outside-staff-horizontal-padding fixes this
>     R1
>     \once \override TextScript.outside-staff-horizontal-padding = #1
>     c,,4^"Text"
>     c4
>     c''2

#### Siehe auch

Schnipsel: Spacing.

#### LilyPond – Notationsreferenz v2.22.2 (stabiler Zweig).