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

[image of music]

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
    }
  >>
}

[image of music]

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

[image of music]

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
    }
  >>
}

[image of music]

\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
    }
  >>
}

[image of music]

Siehe auch

Referenz der Interna: Backend.


LilyPond – Notationsreferenz v2.23.82 (Entwicklungszweig).