[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der override-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ set versus override > ] |
5.3.4 Der \tweak
-Befehl
In einigen Fällen ist es möglich, mit einem abgekürzten Befehl
graphische Objekte zu verändern. Wenn Objekte direkt von einem
Element des Quelltextes erstellt werden, kann der \tweak
-Befehl
eingesetzt werden:
< c \tweak #'color #red d g \tweak #'duration-log #1 a > 4 -\tweak #'padding #8 -^
Die hauptsächliche Benutzung von \tweak
ist dann, wenn
man nur ein Element von einer Ansammlung an Elementen verändern
will, die alle zum gleichen musikalischen Moment beginnen. Das
kann eine Noten in einem Akkord sein, oder eine von mehreren
Triolenklammern, die zur gleichen Zeit beginnen.
Eine Einleitung der Syntax für den \tweak
Befehl findet
sich in
Optimierungsmethoden.
Der \tweak
-Befehl verändert die Eigenschaft des folgenden
Objekts direkt, ohne dass die Bezeichnung des Objekts (Grobs) oder
des Kontextes angegeben werden muss. Damit das funktioniert, muss
das Objekt direkt auf den \tweak
-Befehl folgen, auf das
er sich auswirken soll. Das ist in manchen Fällen nicht gegeben,
da viele Objekte durch LilyPond automatisch eingesetzt werden.
Wenn etwa eine Note interpretiert wird, die nicht Teil eines
Akkords ist, fügt LilyPond implizit einen ChordEvent
vor die Note ein, sodass der \tweak
-Befehl von der
Note getrennt wird. Wenn aber Akkord-Klammern um die Note
und den \tweak
-Befehl gesetzt werden, folgt der
ChordEvent
auf den \tweak
-Befehl und befindet
sich deshalb direkt vor der Note, auf die er einwirken soll,
sodass die Veränderung funktioniert.
An einem Beispiel demonstriert: Das funktioniert:
<\tweak #'color #red c>4
und das nicht:
\tweak #'color #red c4
Wenn mehrere gleichartige Elemente zum gleichen musikalischen
Moment auftreten, kann der \override
-Befehl nicht
benutzt werden, um nur einen von ihnen zu verändern: hier braucht
man den \tweak
-Befehl. Elemente, die mehrfach zum
gleichen musikalischen Moment auftreten können sind unter Anderem:
- Notenköpfe von Noten innerhalb eines Akkordes
- Artikulationszeichen an einer einzelnen Note
- Bindebögen zwischen Noten eines Akkordes
- Llammern für rhythmische Verhältnisse (wie Triolen), die zur gleichen Zeit beginnen
\tweak
kann eingesetzt werden, um ein einzelnes Element aus der Gruppe
zu verändern.
Der \tweak
-Befehl kann nicht eingesetzt werden, um
Hälse, Balken oder Versetzungszeichen zu verändern, weil diese
später durch den Notenkopf erstellt werden und nicht direkt durch
den Quelltext. \tweak
kann auch nicht verwendet werden,
um Schlüssel oder Taktarten zu verändern, denn sie werden von
dem \tweak
-Befehl während der Interpretation durch
automatisches Einfügen von zusätzlichen Kontextelementen getrennt.
Der \tweak
-Befehl kann aber als Alternative des
\override
-Befehls eingesetzt werden, wenn die zu verändernden
Elemente keine zusätzlichen impliziten Elemente während der
Interpretation hinzufügen. Legatobögen können also auch auf
die folgende Weise verändert werden:
c-\tweak #'thickness #5 ( d e f)
Mehrere \tweak
-Befehle können vor ein Notatioselement
gesetzt werden und alle werden interpretiert:
c -\tweak #'style #'dashed-line -\tweak #'dash-fraction #0.2 -\tweak #'thickness #3 -\tweak #'color #red \glissando f'
Der Strom der musikalischen Ereignisse (engl. music stream), der aus
dem Quelltext erstellt wird, und zu dem auch die automatisch eingefügten
Elemente gehören, kann betrachtet werden, siehe
@ref{Musikalische Funktionen darstellen}. Das kann nützlich sein,
wenn man herausfinden will, was mit dem \tweak
-Befehl
verändert werden kann.
Siehe auch
Handbuch zum Lernen: Optimierungsmethoden.
Notationsreferenz: @ref{Musikalische Funktionen darstellen}.
Bekannte Probleme und Warnungen
Der \tweak
-Befehl kann nicht innerhalb von einer Variable eingesetzt werden.
Der \tweak
-Befehl kann nicht innerhalb von \lyricmode
eingesetzt werden.
Der \tweak
-Befehl kann nicht benutzt werden, um die Kontrollpunkte
eines von mehreren Bindebögen eines Akkorden zu verändern. Anstelle dessen
wird der erste Bogen verändert, der in der Eingabedatei auftritt.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der override-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ set versus override > ] |