5.1.7 Kontexte aneinander ausrichten
Neue Kontexte können über oder unter existierenden ausgerichtet werden. Das kann nützlich sein, wenn man eine Chorparitur oder Ossia schreiben will:
Kontexte wie PianoStaff können andere Kontexte innerhalb
enthalten. Kontexte, die als innere Kontexte akzeptiert werden,
werden in einer „accepts“-Liste für den bestimmten Kontext
definiert. Kontexte, die sich nicht in dieser Liste finden,
werden unter den äußeren Kontext gesetzt. Der
PianoStaff-Kontext etwa akzeptiert die Kontexte Staff
und FiguredBass innerhalb, aber beispielsweise keinen
Lyrics-(Gesangstext)-Kontext. In dem folgenden Beispiel
wird deshalb der Gesangstext unter das gesamte Klaviersystem
gesetzt, anstatt zwischen die beiden Notensysteme zu kommen:
\new PianoStaff
<<
\new Staff { e4 d c2 }
\addlyrics { Three blind mice }
\new Staff {
\clef "bass"
{ c,1 }
}
>>
Die „accepts“-Liste eines Kontextes kann verändert werden, so dass sie weitere innere Kontexte akzeptiert. Wenn also der Gesangstext als Teil eines Klaviersystems gesetzt werden soll, müsste man schreiben:
\new PianoStaff \with { \accepts Lyrics }
<<
\new Staff { e4 d c2 }
\addlyrics { Three blind mice }
\new Staff {
\clef "bass"
{ c,1 }
}
>>
Das Gegenteil von \accepts ist \denies; es bedeutet,
dass ein Kontext aus der \accepts-Liste gestrichen wird.