Die stencil
-Eigenschaft (Matrize)
Diese Eigenschaft kontrolliert die Erscheinung der Taktstriche,
indem sie das Symbol bestimmt, das ausgegeben werden soll.
Wie bei vielen anderen Eigenschaften auch, kann sie so
eingestellt werden, dass sie nichts ausgibt, indem ihr Wert
auf #f
(falsch) gesetzt wird. Ein Versuch also,
wie vorher, indem wir den impliziten Kontext (Voice
)
auslassen:
\relative { \time 12/16 \override BarLine.stencil = ##f c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
Die Taktstriche werden aber immer noch angezeigt. Was ist da
falsch gelaufen? Gehen Sie zurück zur IR und schauen Sie auf
die Seite, die die Eigenschaften für BarLine
angibt.
Oben auf der Seite steht: „Barline objects are created
by the following engraver(s): Bar_engraver“. Schauen Sie sich die
Bar_engraver
-Seite an. Unten auf der Seite steht
eine Liste der Kontexte, in denen der Takt-Engraver
funktioniert. Alle Kontexte sind Staff
-Typen (also
Notensystem-Typen). Der Grund, warum der
\override
-Befehl nicht funktioniert hat, liegt
also darin, dass das Taktstrich-Objekt (BarLine
) sich nicht
im Voice
-Kontext befindet. Wenn der Kontext
falsch angegeben wird, bewirkt der Befehl einfach gar
nichts. Keine Fehlermeldung wird ausgegeben und auch
nichts in die Log-Datei geschrieben. Versuchen wir also,
den richtigen Kontext mit anzugeben:
\relative { \time 12/16 \override Staff.BarLine.stencil = ##f c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
Jetzt sind die Taktstriche wirklich verschwunden. Setzen der
stencil
-Eigenschaft auf #f
wird derart häufig verwendet,
dass es dafür einen eigenen Befehl gibt, \omit
:
\relative { \time 12/16 \omit Staff.BarLine c''4 b8 c d16 c d8 | g,8 a16 b8 c d4 e16 | e8 }
Es sollte jedoch beachtet werden, dass das Setzen der
stencil
-Eigenschaft auf #f
zu Fehlerhinweisen führen
kann, wenn die Dimensionen des Objekts für die richtige Behandlung
benötigt werden. Zum Beispiel werden Fehler ausgegeben, wenn
die stencil
-Eigenschaft des NoteHead
-Objekts auf
#f
gesetzt wird. Wenn dieser Fall auftritt, kann anstatt
dessen die point-stencil
-Funktion benutzt werden, welche
den Stencil auf ein Objekt mit der Größe Null setzt:
\relative { c''4 c \once \override NoteHead.stencil = #point-stencil c4 c }