| [ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index] | [ Notationsübersicht >> ] |
| [ < Der set-Befehl ] | [ Nach oben : Eigenschaften verändern ] | [ Der tweak-Befehl > ] |
5.3.3 Der \\override-Befehl
Es gibt eine besondere Art von Kontexteigenschaft: die Grob-Beschreibung.
Grob-Beschreibungen werden mit GroßGroßbuchstabe benannt. Sie
enthalten „Standardeinstellungen“ für ein bestimmtes Grob als eine
assoziative Liste. Siehe ‘scm/define-grobs.scm’ für die
Einstellungen aller Grob-Beschreibungen. Grob-Beschreibungen werden
mit \override verändert.
\override ist eigentlich eine Kurzform, der Befehl
\override Kontext.GrobBezeichnung #'Eigenschaft = #Wert
ist äquivalent zu
\set Kontext.GrobBezeichnung =
#(cons (cons 'Eigenschaft Wert)
<vorheriger Wert von Kontext.GrobBezeichnung>)
Der Wert von Kontext.GrobBezeichnung (die assoz. Liste „alist“) wird benutzt um die Eigenschaften von individuellen Grobs
zu initialisieren. Grobs haben Eigenschaften, die im Scheme-Stil mit
bindestrich-wörtern benannt sind. Diese Werte der Grob-Eigenschaften
verändern sich während des Notensetzens: LilyPonds Notensatz heißt im
Grunde, die Eigenschaften mit Callback-Fuktionen auszurechnen.
Beispielsweise kann die Dicke eines Notenhalses verändert werden, indem
man die thickness-Eigenschaft des Stem-Objekts verändert:
c4 c \override Voice.Stem.thickness = #3.0 c4 c
Wenn kein Kontext angegeben wird, wird der tiefste aktuelle Kontext benutzt:
{ \override Staff.Stem.thickness = #3.0
<<
{
e4 e
\override Stem.thickness = #0.5
e4 e
} \\ {
c4 c c c
}
>>
}
Die Auswirkungen von \override können mit \revert wieder
rückgängig gemacht werden:
c4 \override Voice.Stem.thickness = #3.0 c4 c \revert Voice.Stem.thickness c4
Die Auswirkungen von \override und \revert wirken sich auf alle
Grobs im entsprechenden Kontext aber der Stelle aus, an der sie gesetzt werden:
{
<<
{
e4
\override Staff.Stem.thickness = #3.0
e4 e e
} \\ {
c4 c c
\revert Staff.Stem.thickness
c4
}
>>
}
\once kann zusammen mit \override benutzt werden,
um nur den aktuellen Zeitwert zu verändern:
{
<<
{
\override Stem.thickness = #3.0
e4 e e e
} \\ {
c4
\once \override Stem.thickness = #3.0
c4 c c
}
>>
}
Siehe auch
Referenz der Interna: Backend.
| [ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index] | [ Notationsübersicht >> ] |
| [ < Der set-Befehl ] | [ Nach oben : Eigenschaften verändern ] | [ Der tweak-Befehl > ] |