[ << Abstände ] | [Anfang][Inhalt][Index] | [ Standardeinstellungen verändern >> ] |
[ < Explizite Positionierung von Systemen ] | [ Nach oben : Vertikale Abstände ] | [ Horizontale Abstände > ] |
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.
[ << Abstände ] | [Anfang][Inhalt][Index] | [ Standardeinstellungen verändern >> ] |
[ < Explizite Positionierung von Systemen ] | [ Nach oben : Vertikale Abstände ] | [ Horizontale Abstände > ] |