Weiter: Überlappende Notation in Ordnung bringen, NachOben: Kollision von Objekten
Es wird vielleicht eine Überraschung sein, aber LilyPond ist nicht perfekt. Einige Notationselemente können sich überschneiden. Das ist nicht schön, aber zum Glück sehr selten. Normalerweise müssen die Objekte zur Klarheit oder aus ästhetischen Gründen verschoben werden – sie könnten besser aussehen, wenn sie etwas zusätzlichen Platz erhalten.
Es gibt im Grunde drei Herangehensweisen, überlappende Notation zu verbessern. Man sollte sie in der folgenden Reihenfolge anwenden:
\override
-Befehl positioniert werden. Die Vorteile
von Änderungen dieser Art sind a) dass einige Objekte
automatisch verschoben werden, wenn es nötig ist Platz zu
schaffen und b) ein einziges \override
sich auf
alle Fälle eines Objekttyps bezieht. Zu diesen Eigenschaften
gehören:
direction
(Richtung)
Das wurde schon detailliert behandelt, siehe within-staff (Objekte innerhalb des Notensystems).
padding
, left-padding
,
right-padding
, staff-padding
(Verschiebung)
Wenn ein Objekt platziert wird, bestimmt der Wert seiner
padding
-(Füllungs)-Eigenschaft die Größe des
Abstandes, der zwischen dem Objekt selber und dem
Objekt, relativ zu welchem es positioniert wird, gelassen
werden muss. Dabei zählt der padding
-Wert
des Objektes, das platziert werden soll, der padding
-Wert
des Objektes, das schon gesetzt wurde, wird hingegegen
ignoriert. Abstände mit padding
können zu
allen Objekten hinzugefügt werden, die das
side-position-interface
unterstützen.
Anstelle von padding
wird die Position von
Versetzungszeichengruppen durch die Eigenschaften
left-padding
und right-padding
bestimmt.
Diese Eigenschaften werden im
AccidentalPlacement
-(Versetzungszeichen-Positionierungs)-Objekt
gefunden, das sich innerhalb des Staff-Kontexts
befindet. Während des Notensatzes werden die Notenköpfe
zuerst gesetzt und dann die Versetzungszeichen, wenn denn
welche gesetzt werden, durch die right-padding
-Eigenschaft
auf die linke Seite der Notenköpfe positioniert, um die Entfernung
von den Notenköpfen zu bestimmen. Also nur die
right-padding
-(Verschiebung nach rechts)-Eigenschaft des
AccidentalPlacement
-Objekts hat Einfluss auf die
Positionierung der Versetzungszeichen.
Die staff-padding
-(Verschiebung zum System)-Eigenschaft
ist sehr ähnlich wie die padding
-Eigenschaft:
padding
bestimmt den Minimalabstand zwischen
einem Objekt, das das side-position-interface
unterstützt, und dem nächsten anderen Objekt (normalerweise
die Note oder Notenlinie); staff-padding
dagegen
wirkt nur auf Objekte die immer außerhalb des Notensystems
sind – damit wird der minimale Abstand bestimmt, der
zwischen dem Objekt und dem Notensystem gelassen werden
soll. staff-padding
hat also keinen Einfluss
auf Objekte, die relativ zu einer Note positioniert werden, sondern
nur auf solche, die zum System relativ stehen. Wenn es mit einem
anderen Objekt eingesetzt wird, erhält man keine Fehlermeldung, aber
der Befehl hat auch keine Auswirkungen.
Um herauszufinden, welche padding
-Eigenschaft für
das bestimmte Objekt nötig, ist, das Sie verschieben wollen,
müssen Sie in der IR nach den Objekt-Eigenschaften schauen.
Dabei sollten Sie bedenken, dass sich die padding
-Eigenschaften
nicht unbedingt in dem Objekt selber befinden, schauen Sie
also auch in Objekten nach, die offensichtlich Ähnlichkeiten
haben.
Alle padding
-Werte werden in Notenlinienabständen
gemessen. Für die meisten Objekte ist der Wert ungefähr auf
1.0 oder weniger gesetzt (das variiert von Objekt zu Objekt).
Der Wert kann geändert werden, wenn ein größerer (oder
kleinerer) Abstand gewünscht wird.
self-alignment-X
(Selbstpositionierung)
Diese Eigenschaft kann benutzt werden, um ein Objekt
nach links, rechts oder zentriert an dem Referenzpunkt des Objekts
auszurichten, an das es verknüpft ist. Es kann bei allen
Objekten benutzt werden, die das self-alignment-interface
unterstützen. Das sind üblicherweise Objekte, die Text
enthalten. Die möglichen Werte der Eigenschaft sind LEFT
,
RIGHT
oder CENTER
. Alternativ kann ein
numerischer Wert zwischen -1
und +1
bestimmt werden: -1
heißt linksbündig, +1
rechtsbündig und Zahlen dazwischen bewegen den Text
schrittweise von links nach rechts. Zahlen größer als
1
können angegeben werdne, um den Text
noch weiter nach links zu bewegen, oder weniger als -1
,
um ihn weiter nach rechts zu schieben. Eine Änderung
um 1
des Wertes entspricht einer Bewegung um
die halbe Textbreite.
extra-spacing-width
(zusätzliche Breite)
Diese Eigenschaft steht für alle Objekte zur Verfügung, die
das item-interface
unterstützen. Es braucht zwei
Zahlen als Argument, die erste wird zur rechten Ausdehnung,
die zweite zur linken Ausdehnung hinzugerechnet. Negative
Zahlen verschieben die Ausdehnung nach rechts, positive nach
links, um also ein Objekt zu verbreitern, muss die erste
Zahl negativ und die zweite positiv sein. Allerdings beachten
nicht alle Objekte beide Zahlen. Das
accidental
-(Versetzungszeichen)-Objekt etwa beachtet
nur erste Zahl für die linke Ausdehnung.
staff-position
(Notensystempositionierung)
staff-position
ist eine Eigenschaft des
staff-symbol-referencer-interface
, die von Objekten unterstützt
wird, die relativ zum Notensystem (engl. staff) positioniert werden.
Hiermit wird die vertikale Position eines Objekts relativ zur
Mittellinie des Systems in halben Notenlinienabständen angegeben.
Das ist sehr nützlich, um Zusammenstöße zwischen Layout-Objekten
wie Ganztaktpausen, Bögen und Noten in verschiedenen Stimmen
zu lösen.
force-hshift
(vertikale Verschiebung erzwingen)
Eng beeinander stehende Noten in einem Akkord oder Noten, die zum
gleichen Zeitpunkt in unterschiedlichen Stimmen stehen, werden
in zwei oder manchmal auch mehr Kolumnen gesetzt, um Kollisionen
zu umgehen. Diese Kolumnen werden Notenkolumnen genannt;
ein NoteColumn
-Objekt wird erstellt um die Noten in den
Kolumnen zu setzen.
Die force-hshift
-(erzwinge horizontale Verschiebung)-Eigenschaft
ist eine Eigenschaft von NoteColumn
(bzw. vom
note-column-interface
). Eine Veränderung dieser Eigenschaft
macht es möglich, eine Notenkolumne zu verschieben, dabei gilt als
Einheit die Breite einer Kolumne, also die Breite des Notenkopfes der
ersten Stimme. Diese Eigenschaft kann in Situationen benutzt werden,
in denen die normalen \shiftOn
-Befehle (siehe auch
Stimmen explizit beginnen) das Problem nicht beseitigen.
Diese Eigenschaft ist besser in solchen Fällen zu verwenden als die
extra-offset
-Eigenschaft, weil man die richtige Entfernung nicht
in Notenlinienabständen ausrechnen muss. Wenn eine Note in eine
Notenkolumne oder aus ihr heraus geschoben wird, werden auch andere
Funktionen beeinflusst, wie etwa die Verschmelzung von Notenköpfen.
extra-offset (zusätzlicher Abstand)
grob-interface
unterstützt. Sie braucht ein Zahlenpaar,
das die exakte Verschiebung in horizontaler und vertikaler Richtung
bezeichnet. Negative Zahlen verschieben das Objekt nach links oder
unten. Die Einheit sind Notenlinienabstände. Die zusätzliche
Positionierung wird vorgenommen, nachdem alle anderen Objekte
platziert sind, weshalb ein Objekt irgendwohin verschoben werden
kann, ohne den restlichen Satz zu beeinflussen.
positions (Position)
positions
-Eigenschaft verändert worden ist, wird der
Bogen aus der Liste gewählt, der der gewünschten Position am
nächsten kommt.
Ein bestimmtes Objekt hat vielleicht nicht alle dieser Eigenschaften. Darum ist es nötig, in der IR nachzuschlagen, welche Eigenschaften ein bestimmtes Objekt unterstützt.
Hier ist eine Liste an Objekten, die am wahrscheinlichsten an einer Kollision beteiligt sind, daneben findet sich die Bezeichnung des Objektes, mit der Sie es in der IR finden, um zu bestimmen, welche Eigenschaften benutzt werden können, um es zu verschieben.
Objekttyp | Objektbezeichnung
|
---|---|
Articulationszeichen | Script
|
Balken | Beam
|
Dynamikzeichen (vertikal) | DynamicLineSpanner
|
Dynamikzeichen (horizontal) | DynamicText
|
Fingersatz | Fingering
|
Übungs-/Textmarken | RehearsalMark
|
Legatobögen | Slur
|
Text z. B. ^"text" | TextScript
|
Bindebögen | Tie
|
N-tolen | TupletBracket
|