5.1.7 Reihenfolge des Kontextlayouts
Kontexte werden in einer Systemgruppe normalerweise von oben nach unten positioniert in der Reihenfolge, wie sie in der Quelldatei auftreten. Wenn Kontext verschachtelt ewrden, enthält der äußere Kontexte geschachtelte innere Kontexte, wie in der Quelldatei angegeben, vorausgesetzt, die inneren Kontexte befinden sich auch in der „accepts“-Liste. Geschachtelte Kontexte, die nicht in dieser „accepts“-Liste enthalten sind, werden unterhalb des äußeren Kontextes neu positioniert, anstatt innerhalb von ihm gesetzt zu werden.
Die „accepts“-Liste eines Kontextes kann mit dem Befehlen
\accepts
und \denies
verändert werden. \accepts
fügt einen Kontext zur „accepts“-Liste, und \denies
entfernt einen Kontext aus der Liste. Akkordbezeichnungen sollen
beispielsweise normalerweise nicht innerhalb eines Staff
-Kontextes
geschachtelt werden, sodass der ChordNames
-Kontext nicht
automatisch in der „accepts“-Liste des Staff
-Kontextes
geführt ist. Wenn er aber benötigt wird, kann er hinzugefügt werden:
\score { \new Staff { c' d' e' f' \chords { d1:m7 b1:min7.5- } } }
\score { \new Staff { c' d' e' f' \chords { d1:m7 b1:min7.5- } } \layout { \context { \Staff \accepts "ChordNames" } } }
\denies
wird vorrangig eingesetzt, wenn ein neuer Kontext
basierend auf einem existierenden erstellt wird, aber sein
Schachtelungsverhalten sich unterscheidet. Der
VaticanaStaff
-Kontext beispielsweise basiert auf dem
Staff
-Kontext, hat aber den VaticanaVoice
-Kontext
anstellt des Voice
-Kontexts in seiner „accepts“-Liste.
Zur Erinnerung: ein Kontext wird automatisch erstellt, wenn ein Befehl auftritt, der in den aktuellen Kontexten nicht enthalten sein kann. Dass kann zu unerwarteten neuen Systemgruppen oder Partituren führen.
Siehe auch
Handbuch zur Benutzung: Ein zusätzliches System erscheint.
Installierte Dateien: ‘ly/engraver-init.ly’.
Andere Sprachen: English, español, français, italiano, 日本語.
About automatic language selection.