LilyPond Handbuch zum Lernen: 4.4.2 within-staff (Objekte innerhalb des Notensystems)

### 4.4.2 within-staff (Objekte innerhalb des Notensystems)

Es wurde schon gezeigt, wie die Befehle `\voiceXXX` die Richtung von Bögen, Fingersatz und allen anderen Objekten beeinflusst, die von der Richtung der Notenhälsen abhängen – siehe Stimmen explizit beginnen. Diese Befehle sind nötig, wenn polyphone Musik geschrieben wird, damit sich die einzelnen Melodielinien klar abzeichnen. Es kann aber von Zeit zu Zeit nötig sein, dieses automatische Verhalten zu verändern. Das kann entweder für ganze Abschnitte, aber genauso auch nur für eine einzelne Note vorgenommen werden. Die Eigenschaft, die die Richtung bestimmt, ist die `direction`-Eigenschaft eines jeden Layout-Objekts. Es soll erst erklärt werden, was sie bewirkt und dann eine Anzahl an fertigen Befehlen für die üblicheren Situationen präsentiert werden, mit denen Sie gleich loslegen können.

Manche Layout-Objekte, wie Legato- und Bindebögen, biegen sich oder zeigen entweder nach oben oder nach unten, andere, wie Hälse und Fähnchen, verändern auch die Position rechts oder links, je nach der Richtung, in die sie zeigen. Das wird automatisch berücksichtigt, wenn die `direction`-Eigenschaft verändert wird.

#### The `direction`-Eigenschaft (Richtung)

Das folgende Beispiel zeigt im ersten Takt die Standardeinstellung für Legatobögen, die bei hohen Noten oberhalb, bei tiefen Noten indessen unterhalb platziert werden. Im nächsten Takt werden beide Bögen nach unten gezwungen, im darauf folgenden Takt nach oben, um schließlich wieder auf den Standard eingestellt zu werden.

>     a'4( g') c''( a') |
>     \override Slur.direction = #DOWN
>     a'4( g') c''( a') |
>     \override Slur.direction = #UP
>     a'4( g') c''( a') |
>     \revert Slur.direction
>     a'4( g') c''( a') |

Wir haben hier die Konstanten `DOWN` und `UP` eingesetzt. Sie haben die Werte `-1` bzw. `+1`, und diese numerischen Werte können ebenso benutzt werden. Auch der Wert `0` kann in manchen Fällen benutzt werden. Er bedeutet für die Legatobögen das gleiche wie `UP`, für einige andere Objekte jedoch „zentriert“. Es gibt hierzu die Konstante `CENTER`, die den Wert `0` hat.

Es gibt aber einfachere Befehle, die normalerweise benutzt werden. Hier eine Tabelle der häufigsten. Die Bedeutung des Befehls wird erklärt, wenn sie nicht selbstverständlich ist.

Runter/Links | Rauf/Rechts | Rückgängig | Wirkung
--- | --- | --- | ---
`\arpeggioArrowDown` | `\arpeggioArrowUp` | `\arpeggioNormal` | Arpeggio mit Pfeil nach unten, oben oder ohne Pfeil
`\dotsDown` | `\dotsUp` | `\dotsNeutral` | Richtung der Verschiebung eines Punktes, um Notenlinien zu vermeiden
`\dynamicDown` | `\dynamicUp` | `\dynamicNeutral` | Position der Dynamik-Bezeichnung relativ zum System
`\phrasingSlurDown` | `\phrasingSlurUp` | `\phrasingSlurNeutral` | Befehl für Richtung von Phrasierungsbögen
`\slurDown` | `\slurUp` | `\slurNeutral` | Befehl für Richtung von Legatobögen
`\stemDown` | `\stemUp` | `\stemNeutral` | Befehl für Richtung von Hälsen
`\textSpannerDown` | `\textSpannerUp` | `\textSpannerNeutral` | Position von Textbeschriftungen, die als Strecker eingegeben werden
`\tieDown` | `\tieUp` | `\tieNeutral` | Befehl für Richtung von Bindebögen
`\tupletDown` | `\tupletUp` | `\tupletNeutral` | Befehl für Richtung von Klammern/Zahlen der N-tolen

Die neutralen/normalen Varianten dieser Befehle verwenden intern `\revert` und können daher nicht mit einem vorangestellten `\once` benutzt werden. Wenn Sie die Wirkung eines der anderen Befehle (die intern `\override` verwenden) auf eine einzige Noten begrenzen wollen, müssen Sie ihm ein `\once` voranstellen, genauso wie Sie es auch bei einem expliziten `\override` machen würden.

Falls nur ein einziges Layout Objekt nach oben oder unten gezwungen werden soll, können auch die Richtungsindikatoren `^` oder `_` verwendet werden:

>     a'4( g') c''( a') |
>     a'4^( g') c''_( a') |

#### Fingersatz

Die Positionierung von Fingersatz kann auch durch den Wert seiner `direction`-Eigenschaft beeinflusst werden, aber eine Veränderung von `direction` hat keinen Einfluss auf Akkorde. es gibt auch hier besondere Befehle, mit denen der Fingersatz von einzelnen Noten in Akkorden kontrolliert werden kann, wobei mögliche Positionen über, unter der Note und rechts bzw. links von ihr sind.

Zunächst die Wirkungsweise von `direction` auf den Fingersatz: im ersten Takt der Standard, dann die Wirkung von `DOWN` (runter) und `UP` (hinauf).

>     \relative {
>       c''4-5 a-3 f-1 c'-5 |
>       \override Fingering.direction = #DOWN
>       c4-5 a-3 f-1 c'-5 |
>       \override Fingering.direction = #UP
>       c4-5 a-3 f-1 c'-5 |
>     }

Eine Beeinflussung der `direction`-Eigenschaft ist jedoch nicht die einfachste Art, Fingersatzbezeichnungen manuell über oder unter das System zu setzen. Normalerweise bietet es sich an, `_` oder `^` anstelle von `-` vor der Fingersatz-Zahl zu benutzen. Hier das vorherigen Beispiel mit dieser Methode:

>     \relative {
>       c''4-5 a-3 f-1 c'-5 |
>       c4_5 a_3 f_1 c'_5 |
>       c4^5 a^3 f^1 c'^5 |
>     }

Die `direction`-Eigenschaft wirkt sich nicht auf Akkorde aus, während die Präfixe `_` und `^` funktionieren. Standardmäßig wird der Fingersatz automatisch entweder über oder unter dem Akkord gesetzt:

>     \relative {
>       <c''-5 g-3>4
>       <c-5 g-3 e-2>4
>       <c-5 g-3 e-2 c-1>4
>     }

aber das kann manuell geändert werden, um einzelne Fingersatzanweisungen nach oben oder unten zu zwingen:

>     \relative {
>       <c''-5 g-3 e-2 c-1>4
>       <c^5 g_3 e_2 c_1>4
>       <c^5 g^3 e^2 c_1>4
>     }

Noch bessere Kontrolle über die Positionierung von Fingersatz für einzelne Noten in einem Akkord ist mit dem `\set fingeringOrientations`-Befehl möglich. Die Syntax lautet:

>     \set fingeringOrientations = #'([up] [left/right] [down])

`\set`wird benutzt, weil `fingeringOrientations` eine Eigenschaft des `Voice`-Kontextes ist, erstellt und eingesetzt vom `New_fingering_engraver`.

Die Eigenschaft kann als Wert eine Liste mit einem bis drei Einträgen haben. Damit wird bestimmt, ob Fingersatz oberhalb gesetzt werden kann (wenn `up` in der Liste auftaucht), darunter (wenn`down` auftaucht), links (wenn `left` auftaucht) oder rechts (wenn `right` auftaucht). Wenn andererseits ein Wert nicht auftaucht, wir auch kein Fingersatz in dieser Richtung gesetzt. LilyPond nimmt diese Beschränkung als Bedingung und errechnet die besten Positionen für die Noten des nächsten Akkordes. Die seitliche Positionierung kann nur auf einer Seite des Akkordes geschehen, nicht auf beiden gleichzeitig, es kann also nur entweder `left` oder `right` auftreten, nicht beide gleichzeitig.

Achtung: Damit eine einzelne Note mit diesem Befehl beeinflusst werden kann, muss sie als ein „Ein-Noten-Akkord“ geschrieben werden, indem einfache spitze Klammern um die Note positioniert werden.

Hier ein paar Beispiele:

>     \relative {
>       \set fingeringOrientations = #'(left)
>       <f'-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(up left down)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(up left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(right)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>     }

Wenn die Fingersatzbezeichnung zu gedrungen aussieht, kann auch die Schriftgröße (`font-size`) verringert werden. Der Standardwert kann aus dem `Fingering`-Objekt in der IR entnommen werden, er ist `-5`, versuchen wir es also mit `-7`.

>     \relative {
>       \override Fingering.font-size = #-7
>       \set fingeringOrientations = #'(left)
>       <f'-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(up left down)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(up left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(right)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>     }

#### LilyPond – Learning Manual v2.22.2 (stabiler Zweig).