GNU LilyPond Benutzerhandbuch: 1.6.2 Modifying single staves

### 1.6.2 Modifying single staves

Dieser Abschnitt zeigt, wie man bestimmte Eigenschaften eines Systems ändert – etwa die Anzahld der Notenlinien oder die Größe des Systems. Es werden auch Methoden dargestellt, ein System zu beginnen und zu beenden sowie eine Methode, Ossia-Systeme zu erstellen.

#### Staff symbol

Die Linien eines Notensystems gehören zu dem `StaffSymbol`-(NotensystemSymbol)-Grob. `StaffSymbol`-Eigenschaften können verändert werden, um die Erscheinung des Notensystems zu beeinflussen, aber sie müssen gesetzt werden, bevor das System erstellt wird.

Die Anzahl der Notenlinien kann verändert werden. Die Position des Notenschlüssels und die Position von c’ können geändert werden, um dem neuen System zu entsprechen. Eine Erklärung findet sich im Schnipselabschnit in Clef.

>     \new Staff \with {
>       \override StaffSymbol #'line-count = #3
>     }
>     { d4 d d d }

Die Liniendicke der Notenlinien kann verändert werden. Die Dicke der Hilfslinien und Notenhälse wird auch beeinflusst, weil sie von der Notenliniendicke abhängen.

>     \new Staff \with {
>       \override StaffSymbol #'thickness = #3
>     }
>     { e4 d c b }

Die Dicke der Hilfslinien kann auch unabhängig von der Notenliniendicke verändert werden. Die zwei Zahlen in dem Beispiel sind Faktoren, mit denen die Notenlinien-Dicke und der Notenlinienabstand multipliziert werden. Die Addition beider Werte ergibt die Dicke der Hilfslinien.

>     \new Staff \with {
>       \override StaffSymbol #'ledger-line-thickness = #'(1 . 0.2)
>     }
>     { e4 d c b }

Der Abstand zwischen Notenlinien kann verändert werden. Diese Einstellung wirkt sich auch auf den Abstand der Hilfslinien aus.

>     \new Staff \with {
>       \override StaffSymbol #'staff-space = #1.5
>     }
>     { a4 b c d }

Weitere Einzelheiten zu den Eigenschaften von `StaffSymbol` findet sich in staff-symbol-interface.

Veränderungen der Eigenschaften eines Notensystems mitten in einer Partitur können zwischen die Befehle `\stopStaff` und `\startStaff` gesetzt werden:

>     c2 c
>     \stopStaff
>     \override Staff.StaffSymbol #'line-count = #2
>     \startStaff
>     b2 b
>     \stopStaff
>     \revert Staff.StaffSymbol #'line-count
>     \startStaff
>     a2 a

Die Befehle `\startStaff` und `\stopStaff` können benutzt werden, um ein Notensystem irgendwo zu beenden oder zu beginnen.

>     c4 b a2
>     \stopStaff
>     b4 c d2
>     \startStaff
>     e4 d c2

#### Predefined commands

`\startStaff`, `\stopStaff`.

#### Selected Snippets

Making some staff lines thicker than the others

For pedagogical purposes, a staff line can be thickened (e.g., the middle line, or to emphasize the line of the G clef). This can be achieved by adding extra lines very close to the line that should be emphasized, using the `line-positions` property of the `StaffSymbol` object.

>     {
>       \override Staff.StaffSymbol #'line-positions = #'(-4 -2 -0.2 0 0.2 2 4)
>       d'4 e' f' g'
>     }

#### See also

Glossar: line, ledger line, staff.

Notationsreferenz: Clef.

Schnipsel: Staff notation.

Referenz der Interna: StaffSymbol, staff-symbol-interface.

#### Known issues and warnings

Wenn die vertikale Position der Notenlinien manuell verändert wird, werden Taktlinien immer auf der Position 0 zentriert. Somit muss die Distanz der äußeren Notenlinien vom Zentrum des Systems gleichgroß sein.

#### Ossia staves

Ossia-Systeme können gesetzt werden, indem zwei gleichzeitige Notensysteme an der entsprechenden Position erstellt werden:

>     \new Staff \relative c'' {
>       c4 b d c
>       <<
>         { c4 b d c }
>         \new Staff { e4 d f e }
>       >>
>       c4 b c2
>     }

Dieses Beispiel ist aber normalerweise nicht erwünscht. Um Ossia-Systeme zu setzen, die sich über dem eigentlichen System befinden, keine Takt- und Schlüsselangaben haben und kleiner gesetzt sind, müssen einige Optimierungen angewendet werden. Im Handbuch zum Lernen wird eine Technik vorgestellt, mit der das gewünschte Ergebnis erreicht werden kann, beginnend in Nesting music expressions.

Das Beispiel unten setzt die `alignAboveContext`-(oberhalbAusrichtenKontext)-Eigenschaft ein, um den Ossia-Abschnitt auszurichten. Diese Methode bietet sich an, wenn nur einige Ossia-Systeme benötigt werden.

>     \new Staff = main \relative c'' {
>       c4 b d c
>       <<
>         { c4 b d c }

>         \new Staff \with {
>           \remove "Time_signature_engraver"
>           alignAboveContext = #"main"
>           fontSize = #-3
>           \override StaffSymbol #'staff-space = #(magstep -3)
>           \override StaffSymbol #'thickness = #(magstep -3)
>           firstClef = ##f
>         }
>         { e4 d f e }
>       >>
>       c4 b c2
>     }

Wenn mehrere isolierte Ossia-Systeme gebraucht werden, kann es günstiger sein, einen leeren `Staff`-Kontext mit einer spezifischen Kontextidentifikation zu erstellen. Die Ossia-Abschnitte werden dann erstellt, indem dieser Kontext aufgerufen wird und mit `\startStaff` und `\stopStaff` an den richtigen Stellen sichtbar gemacht wird. Der Vorteil dieser Methode zeigt sich, wenn man längere Stücke setzt.

>     <<
>       \new Staff = ossia \with {
>         \remove "Time_signature_engraver"
>         \override Clef #'transparent = ##t
>         fontSize = #-3
>         \override StaffSymbol #'staff-space = #(magstep -3)
>         \override StaffSymbol #'thickness = #(magstep -3)
>       }
>       { \stopStaff s1*6 }

>       \new Staff \relative c' {
>         c4 b c2
>         <<
>           { e4 f e2 }
>           \context Staff = ossia {
>             \startStaff e4 g8 f e2 \stopStaff
>           }
>         >>
>         g4 a g2 \break
>         c4 b c2
>         <<
>           { g4 a g2 }
>           \context Staff = ossia {
>             \startStaff g4 e8 f g2 \stopStaff
>           }
>         >>
>         e4 d c2
>       }
>     >>

Man kann auch den `\RemoveEmptyStaffContext`-Befehl einsetzen, um Ossia-Systeme zu erstellen. Diese Methode eignet sich am besten, wenn nach dem Ossia sofort ein Zeilenumbruch erfolgt. In diesem Fall müssen auch keine unsichtbaren Pausen eingesetzt werden; es reicht, `\startStaff` und `\stopStaff` einzusetzen. Mehr Information zu `\RemoveEmptyStaffContext` findet sich in Hiding staves.

>     <<
>       \new Staff = ossia \with {
>         \remove "Time_signature_engraver"
>         \override Clef #'transparent = ##t
>         fontSize = #-3
>         \override StaffSymbol #'staff-space = #(magstep -3)
>         \override StaffSymbol #'thickness = #(magstep -3)
>       }
>       \new Staff \relative c' {
>         c4 b c2
>         e4 f e2
>         g4 a g2 \break
>         <<
>           { c4 b c2 }
>           \context Staff = ossia {
>             c4 e8 d c2 \stopStaff
>           }
>         >>
>         g4 a g2
>         e4 d c2
>       }
>     >>

>     \layout {
>       \context {
>         \RemoveEmptyStaffContext
>         \override VerticalAxisGroup #'remove-first = ##t
>       }
>     }

#### Selected Snippets

Vertically aligning ossias and lyrics

This snippet demonstrates the use of the context properties `alignBelowContext` and `alignAboveContext` to control the positioning of lyrics and ossias.

>     \paper {
>       ragged-right = ##t
>     }

>     \relative c' <<
>       \new Staff = "1" { c4 c s2 }
>       \new Staff = "2" { c4 c s2 }
>       \new Staff = "3" { c4 c s2 }
>       { \skip 2
>         <<
>           \lyrics {
>             \set alignBelowContext = #"1"
>             lyrics4 below
>           }
>           \new Staff \with {
>             alignAboveContext = #"3"
>             fontSize = #-2
>             \override StaffSymbol #'staff-space = #(magstep -2)
>             \remove "Time_signature_engraver"
>           } {
>             \times 4/6 {
>               \override TextScript #'padding = #3
>               c8[^"ossia above" d e d e f]
>             }
>           }
>         >>
>       }
>     >>

#### See also

Glossar: ossia, staff, Frenched staff.

Handbuch zum Lernen: Nesting music expressions, Size of objects, Length and thickness of objects.

Notationsreferenz: Hiding staves.

Schnipsel: Staff notation.

Referenz der Interna: StaffSymbol.

#### Hiding staves

Die Notenlinien können entfernt werden, indem der `Staff_symbol_engraver` aus dem `Staff`-Kontext entfernt wird. Alternativ kann auch `\stopStaff` eingesetzt werden.

>     \new Staff \with {
>       \remove "Staff_symbol_engraver"
>     }
>     \relative c''' { a8 f e16 d c b a2 }

Leere Systeme können versteckt werden, wenn der `\RemoveEmptyStaffContext`-Befehl im `\layout`-Abschnitt benutzt wird. In großen Orchesterpartituren wird dies oft verwendet, um die leeren Systeme von gerade nicht spielenden Instrumenten zu verstecken. In der Standardeinstellung werden alle leeren Notenzeilen außer die des ersten Systems entfernt.

Achtung: Eine Notenzeile gilt als leer, wenn sie nur Ganztaktpausen, unsichtbare Noten, `skip`-Befehle oder eine Kombination der drei enthält.

>     \layout {
>       \context {
>         \RemoveEmptyStaffContext
>       }
>     }

>     \relative c' <<
>       \new Staff {
>         e4 f g a \break
>         b1 \break
>         a4 b c2
>       }
>       \new Staff {
>         c,4 d e f \break
>         R1 \break
>         f4 g c,2
>       }
>     >>

`\RemoveEmptyStaffContext` kann auch eingesetzt werden, um Ossiaabschnitte zu erstellen. Zu Einzelheiten, siehe Ossia staves.

Der `\AncientRemoveEmptyStaffContext`-Befehl kann benutzt werden, um leere Takte in Notation der Alten Musik zu entfernen. Gleichermaßen kann `\RemoveEmptyRhythmicStaffContext` eingesetzt werden, um leere Takte in einem `RhythmicStaff`-Kontext zu entfernen.

#### Predefined commands

`\RemoveEmptyStaffContext`, `\AncientRemoveEmptyStaffContext`, `\RemoveEmptyRhythmicStaffContext`.

#### Selected Snippets

Removing the first empty line

The first empty staff can also be removed from the score by setting the `VerticalAxisGroup` property `remove-first`. This can be done globally inside the `\layout` block, or locally inside the specific staff that should be removed. In the latter case, you have to specify the context (`Staff` applies only to the current staff) in front of the property.

The lower staff of the second staff group is not removed, because the setting applies only to the specific staff inside of which it is written.

>     \layout {
>       \context {
>         \RemoveEmptyStaffContext
>         % To use the setting globally, uncomment the following line:
>         % \override VerticalAxisGroup #'remove-first = ##t
>       }
>     }
>     \new StaffGroup <<
>       \new Staff \relative c' {
>         e4 f g a \break
>         c1
>       }
>       \new Staff {
>         % To use the setting globally, comment this line,
>         % uncomment the line in the \layout block above
>         \override Staff.VerticalAxisGroup #'remove-first = ##t
>         R1 \break
>         R
>       }
>     >>
>     \new StaffGroup <<
>       \new Staff \relative c' {
>         e4 f g a \break
>         c1
>       }
>       \new Staff {
>         R1 \break
>         R
>       }
>     >>

#### See also

Glossar: Frenched staff.

Notationsreferenz: Staff symbol, Ossia staves.

Schnipsel: Staff notation.

Referenz der Interna: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver.

#### Known issues and warnings

Wenn man den `Staff_symbol_engraver` entfernt, werden auch die Taktlinien entfernt. Wenn eine sichtbare Taktlinie angefordert wird, kann es zu Formatierungsfehlern kommen. In diesem Fall sollten folgende Befehle eingesetzt werden, anstatt den Engraver zu entfernen:

>     \override StaffSymbol #'stencil = ##f
>     \override NoteHead #'no-ledgers = ##t

Other languages: English, español.

#### Notation Reference