[ << Grundbegriffe ] | [Top][Contents][Index] | [ Die Ausgabe verbessern >> ] |
[ < Kontexteigenschaften verändern ] | [ Up : Kontexte und Engraver ] | [ Erweiterung der Vorlagen > ] |
4.3.5 Engraver hinzufügen und entfernen
Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern (Stempeln) beinhaltet, von denen ein jeder einen bestimmten Teil des fertigen Notensatzes produziert, wie z. B. Taktstriche, Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus einem Kontext entfernt wird, kann er seine Objekte nicht länger produzieren. Das ist eine eher grobe Methode, die Notenausgabe zu beeinflussen, aber es kann von großem Nutzen sein.
Einen einzelnen Kontext verändern
Um einen Engraver von einem einzelnen Kontext zu entfernen,
wir der \with
-Befehl eingesetzt, direkt hinter
den Befehl zur Kontext-Erstellung geschrieben, wie
in dem vorigen Abschnitt gezeigt.
Als ein Beispiel wollen wir das Beispiel aus dem letzten
Abschnitt produzieren, aber die Notenlinien entfernen. Erinnern
Sie sich, dass die Notenlinien vom Staff_symbol_engraver
erstellt werden.
\new Staff \with { \remove Staff_symbol_engraver } \relative { c'4 d \set fontSize = #-4 % make note heads smaller e4 f | \set fontSize = #2.5 % make note heads larger g4 a \unset fontSize % return to default size b4 c | }
Engraver können auch zu einem bestimmten Kontext hinzugefügt werden. Dies geschieht mit dem Befehl
\consists Engraver_bezeichnung
welcher auch wieder innerhalb der \with
-Umgebung
gesetzt wird. Einige Chorpartituren zeigen einen
Ambitus direkt zu Beginn der ersten Notenzeile, um
den Stimmumfang des Stückes anzuzeigen, siehe auch
ambitus. Der Ambitus wird vom
Ambitus_engraver
erstellt, der normalerweise
in keinem Kontext enthalten ist. Wenn wir
ihn zum Voice
-Kontext hinzufügen, errechnet
er automatisch den Stimmumfang für diese einzelne Stimme
und zeigt ihn an:
\new Staff << \new Voice \with { \consists Ambitus_engraver } { \relative { \voiceOne c''4 a b g } } \new Voice { \relative { \voiceTwo c'4 e d f } } >>
wenn wir den Ambitus-Engraver allerdings zum
Staff
-Kontext hinzufügen, wird der Stimmumfang aller
Stimmen in diesem Notensystem errechnet:
\new Staff \with { \consists Ambitus_engraver } << \new Voice { \relative { \voiceOne c''4 a b g } } \new Voice { \relative { \voiceTwo c'4 e d f } } >>
Alle Kontexte des gleichen Typs verändern
Die vorigen Beispiele zeigen, wie man Engraver in einem
bestimmten Kontext hinzufügen oder entfernen kann. Es ist
auch möglich, Engraver in jedem Kontext eines bestimmten
Typs hinzuzufügen oder zu entfernen. Dazu werden die
Befehle in dem entsprechenden Kontext in einer
\layout
-Umgebung gesetzt. Wenn wir also z. B.
den Ambitus für jedes Notensystem in einer Partitur
mit vier Systemen anzeigen wollen, könnte das so aussehen:
\score { << \new Staff { \relative { c''4 a b g } } \new Staff { \relative { c'4 a b g } } \new Staff { \clef "G_8" \relative { c'4 a b g } } \new Staff { \clef "bass" \relative { c4 a b g } } >> \layout { \context { \Staff \consists Ambitus_engraver } } }
Die Werte der Kontext-Eigenschaften können auch für
alle Kontexte eines bestimmten Typs auf die gleiche
Weise geändert werden, indem der \set
-Befehl in
einer \context
-Umgebung angewendet wird.
Siehe auch
Notationsreferenz: Umgebungs-Plugins verändern, Die Standardeinstellungen von Kontexten ändern.
Bekannte Probleme und Warnungen
Die Stem_engraver
und Beam_engraver
fügen ihre
Objekte an Notenköpfe an. Wenn der Note_heads_engraver
entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine
Hälse oder Bögen dargestellt.
[ << Grundbegriffe ] | [Top][Contents][Index] | [ Die Ausgabe verbessern >> ] |
[ < Kontexteigenschaften verändern ] | [ Up : Kontexte und Engraver ] | [ Erweiterung der Vorlagen > ] |