[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der tweak-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ Nützliche Konzepte und Eigenschaften > ] |
5.3.5 \set
versus \override
Es wurden zwei unterschiedliche Methoden vorgestellt, mit denen
Eigenschaften verändert werden können: \set
und
\override
. Im Grunde genommen gibt es auch zwei
unterschiedliche Arten von Eigenschaften.
Kontexte können Eigenschaften haben, deren Bezeichnungen
üblicherweise dem Schema kleinGroß
folgen. Derartige
Eigenschaften sind vor allen Dingen für die Übersetzung der
Musik in Notation zuständig, beispielsweise localKeySignature
(um zu bestimmen, ob Versetzungszeichen ausgegeben werden
müssen), measurePosition
(um zu bestimmen, ob eine
Taktlinie gesetzt werden muss). Kontexteigenschaften können
ihren Wert verändern, während ein Musikstück ausgewertet wird;
measurePosition
(Taktposition) ist ein gutes Beispiel
hierfür. Kontexteigenschaften werden mit dem Befehl \set
verändert.
Dann gibt es einen Spezialtyp der Kontexeigenschaften: die
Elementbeschreibung. Diese Eigenschaften werden mit
GroßGroß
benannt (beginnen also auch mit einem
Großbuchstaben). Sie beinhalten die Standardeinstellungen
für die besagten graphischen Objekte in Form einer
Assosiationsliste. Siehe auch die Datei ‘scm/define-grobs.scm’
für ein Beispiel zu diesen Einstellungen. Elementbeschreibungen
können mit dem Befehl \override
verändert werden.
\override
ist eigentlich eine Abkürzung:
\override Kontext.Bezeichnung #'Eigenschaft = #Wert
entspricht mehr oder weniger:
\set Kontext.Bezeichnung #'Eigenschaft = #(cons (cons 'Eigenschaft Wert) <voriger Wert von Kontext)
Der Wert von context
(die „alist“) wird benutzt, um
die Eigenschaften von einzelnen Grobs zu initiieren. Grobs haben
auch Eigenschaften, die im Scheme-Stil benannt werden, also
wort-mit-bindestrich
. Die Werte der Grob-Eigenschaften
ändern sich während des Formatierungsprozesses: Formatierung
läuft im Prinzip darauf hinaus, Eigenschaften zu errechnen, indem
Callback-Funktionen eingesetzt werden.
fontSize
ist eine besondere Eigenschaft: sie entspricht
\override ... #'font-size
für alle möglichen Objekte.
Weil es sich hier um eine globale Änderung handelt, wurde
die spezielle Form (die mit \set
verändert wird) erstellt.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der tweak-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ Nützliche Konzepte und Eigenschaften > ] |