LilyPond Benutzerhandbuch: 5.1.2 Kontexte erstellen

### 5.1.2 Kontexte erstellen

In Partituren mit einer Stimme und einem System werden die Kontexte normalerweise automatisch erstellt. In komplizierteren Partituren muss man sie aber direkt erstellen. Es gibt drei Möglichkeiten, Kontexte zu erstellen:

- Der einfachste Befehl ist `\new`. Er wird zusammen mit dem Kontextnamen vor einem musikalischen Ausdruck eingesetzt, etwa

  >     \new Kontext musik. Ausdruck

  wobei Kontext eine Kontextbezeichnung (wie `Staff` oder `Voice`) ist. Dieser Befehl erstellt einen neuen Kontext und beginnt mit der Auswertung von musik. Ausdruck innerhalb dieses Kontextes.

  Eine praktische Anwendung von `\new` ist eine Partitur mit vielen Systemen. Jede Stimme wird auf einem eigenen System notiert, das mit `\new Staff` begonnen wird.

  >     <<
  >       \new Staff { c4 c }
  >       \new Staff { d4 d }
  >     >>

  Der `\new`-Befehl kann den Kontext auch benennen:

  >     \new Kontext = ID musik. Ausdruck

  Dieser vom Benutzer definierte Name wird aber auch nur wirklich benutzt, wenn nicht vorher schon der gleiche Name definiert worden ist.

- Ähnlich dem `\new`-Befehl wird auch mit dem `\context`-Befehl ein musikalischer Ausdruck in einen Kontext umgeleitet. Diesem Kontext wird ein expliziter Name zugewiesen. Die Syntax lautet:

  >     \context Kontext = ID musik. Ausdruck

  Diese Art von Befehl sucht nach einem existierenden Kontext vom Typus Kontext mit der Bezeichnung ID. Wenn ein derartiger Kontext nicht existiert, wird ein neuer Kontext mit der entsprechenden Bezeichnung erstellt. Das ist nützlich, wenn auf den Kontext später zurückverwiesen werden soll. Um etwa Gesangstext zu einer Melodie hinzuzufügen, wird die Melodie in einem bezeichneten Kontext notiert:

  >     \context Voice = "Tenor" musik. Ausdruck

  sodass der Text an den Noten ausgerichtet werden kann:

  >     \new Lyrics \lyricsto "Tenor" Gesangstext

  Eine andere Möglichkeit für bezeichnete Kontexte ist es, zwei unterschiedliche musikalische Ausdrücke in einen Kontext zu verschmelzen. Im nächsten Beispiel werden Artikulationszeichen und Noten getrennt notiert:

  >     Noten = { c4 c4 }
  >     Artik = { s4-. s4-> }

  Dann werden sie kombiniert, indem sie dem selben `Voice`-Kontext zugewiesen werden:

  >     <<
  >       \new Staff \context Voice = "A" \Noten
  >       \context Voice = "A" \Artik
  >     >>

  Durch diesen Mechanismus ist es möglich eine Urtextausgabe zu erstellen, mit der optionalen Möglichkeit, bestimmte zusätzliche Artikulationszeichen zu den gleichen Noten hinzuzufügen und so eine editierte Ausgabe zu erhalten.

- Der dritte Befehl, um Kontexte zu erstellen, ist:

  >     \context Kontext musik. Ausdruck

  Dies entspricht dem `\context` mit `= ID`, aber hier wird ein beliebiger Kontext des Typs Kontext gesucht und der musikalische Ausdruck darin ausgewertet, unabhängig von der Bezeichnung, die dem Kontext gegeben wurde.

  Diese Variante wird bei musikalischen Ausdrücken benutzt, die auf verschiedenen Ebenen interpretiert werden können. Beispielsweise der `\applyOutput`-Befehl (siehe @ref{Eine Funktion auf alle Layout-Objekte anwenden}). Ohne einen expliziten `\context` wird die Ausgabe normalerweise einem `Voice`-Kontext zugewiesen:

  >     \applyOutput #'Kontext #Funktion   % auf Voice anwenden

  Damit aber die Funktion auf `Score`- oder `Staff`-Ebene interpretiert wird, muss folgende Form benutzt werden:

  >     \applyOutput #'Score #Funktion
  >     \applyOutput #'Staff #Funktion

Andere Sprachen: English, español, 日本語.

#### LilyPond – Notationsreferenz