LilyPond Benutzerhandbuch: 3.3.2 Verschiedene Editionen aus einer Quelldatei

### 3.3.2 Verschiedene Editionen aus einer Quelldatei

Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche Versionen einer Partitur aus der gleichen Quelldatei zu produzieren. Variablen werden am besten eingesetzt, wenn es darum geht, längere Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf verschiedene Weise zu kombinieren. Tag-Marken dagegen werden am besten eingesetzt, wenn eine von mehreren kurzen alternativen Notenabschnitten ausgewählt werden soll. Egal welche Methode am Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn die eigentlichen Noten und die Struktur der Partitur voneinander getrennt notiert werden – so kann die Struktur geändert werden, ohne dass man Änderungen an den Noten vornehmen muss.

#### Variablen benutzen

Wenn Notenabschnitt in Variablen definiert werden, können sie an unterschiedlichen Stellen in der Partitur eingesetzt werden, siehe auch Stücke durch Bezeichner organisieren. Zum Beispiel enthält eine Vokalpartitur für ein a cappella Stück oft einen Klavierauszug, der das Einüben einfacher macht. Der Klavierauszug enthält die gleichen Noten, sodass man sie nur einmal notieren muss. Noten aus zwei Variablen können auf einem System kombiniert werden, siehe Automatische Kombination von Stimmen. Hier ein Beispiel:

>     sopranoMusic = \relative c'' { a4 b c b8( a) }
>     altoMusic = \relative g' { e4 e e f }
>     tenorMusic = \relative c' { c4 b e d8( c) }
>     bassMusic = \relative c' { a4 gis a d, }
>     allLyrics = \lyricmode {King of glo -- ry }
>     <<
>       \new Staff = "Soprano" \sopranoMusic
>       \new Lyrics \allLyrics
>       \new Staff = "Alto" \altoMusic
>       \new Lyrics \allLyrics
>       \new Staff = "Tenor" {
>         \clef "treble_8"
>         \tenorMusic
>       }
>       \new Lyrics \allLyrics
>       \new Staff = "Bass" {
>         \clef "bass"
>         \bassMusic
>       }
>       \new Lyrics \allLyrics
>       \new PianoStaff <<
>         \new Staff = "RH" {
>           \set Staff.printPartCombineTexts = ##f
>           \partcombine
>           \sopranoMusic
>           \altoMusic
>         }
>         \new Staff = "LH" {
>           \set Staff.printPartCombineTexts = ##f
>           \clef "bass"
>           \partcombine
>           \tenorMusic
>           \bassMusic
>         }
>       >>
>     >>

Unterschiedliche Partituren, die entweder nur den Chor oder das Klavier zeigen, können produziert werden, indem die Struktur verändert wird; die Noten müssen dazu nicht verändert werden.

Für längere Partituren können Variablen in eigene Dateien notiert werden, die dann eingebunden werden, siehe LilyPond-Dateien einfügen.

#### Marken benutzen

Der `\tag #'TeilA`-Befehl markiert einen musikalischen Ausdruck mit der Bezeichnung TeilA. Ausdrücke, die auf diese Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt bzw. ausgefiltert werden. Das geschieht mit den Befehlen `\keepWithTag #'Bezeichnung` bzw. `\removeWithTag #'Bezeichnung`. Die Wirkung dieser Filter auf die markierten Notenabschnitte ist wie folgt:

Filter | Resultat
--- | ---
Markierte Noten mit vorgesetztem `\keepWithTag #'Bezeichnung` | Unmarkierte Noten und Noten mit der Marke Bezeichnung werden gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
Markierte Noten mit vorgesetztem `\removeWithTag #'Bezeichnung` | Unmarkierte Noten und Noten mit einer anderen Marke als Bezeichnung wird angezeigt, Noten markiert mit Bezeichnung werden nicht angezeigt.
Markierte Noten, weder mit vorgesetztem `\keepWithTag` noch `\removeWithTag` | Alle markierten und unmarkierten Noten werden angezeigt.

Die Argumente der Befehle `\tag`, `\keepWithTag` und `\removeWithTag` sollten ein Symbol sein (wie etwa `#'score` oder `#'part`), gefolgt von einem musikalischen Ausdruck.

Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:

>     music = \relative g' {
>       g8. c32 d
>       \tag #'trills { d8.\trill }
>       \tag #'expand { \repeat unfold 3 { e32 d } }
>       c32 d
>      }

>     \score {
>       \keepWithTag #'trills \music
>     }
>     \score {
>       \keepWithTag #'expand \music
>     }

Entsprechend können auch Abschnitte ausgeschlossen werden; das erfordert manchmal weniger Schreibarbeit:

>     music = \relative g' {
>       g8. c32 d
>       \tag #'trills { d8.\trill }
>       \tag #'expand {\repeat unfold 3 { e32 d } }
>       c32 d
>      }

>     \score {
>       \removeWithTag #'expand
>       \music
>     }
>     \score {
>       \removeWithTag #'trills
>       \music
>     }

Marken können auch auf Artikulationen, Text usw angewendet werden, indem man ihnen

>     -\tag #'your-tag

voranstellt (jedoch nach der Note, an die sie gebunden sind). Mit diesem Code etwa könnte man entweder Fingersatz oder aber einen Text ausgeben:

>     c1-\tag #'finger ^4
>     c1-\tag #'warn ^"Achtung!"

Mehrfache Marken können mithilfe von mehreren `\tag`-Befehlen notiert werden:

>     music = \relative c'' {
>       \tag #'a \tag #'both { a4 a a a }
>       \tag #'b \tag #'both { b4 b b b }
>     }
>     <<
>     \keepWithTag #'a \music
>     \keepWithTag #'b \music
>     \keepWithTag #'both \music
>     >>

Mehrfache `\removeWithTag`-Filter können auf einen musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche markierte Abschnitte aus dem Druckbild zu entfernen.

>     music = \relative c'' {
>     \tag #'A { a4 a a a }
>     \tag #'B { b4 b b b }
>     \tag #'C { c4 c c c }
>     \tag #'D { d4 d d d }
>     }
>     {
>     \removeWithTag #'B
>     \removeWithTag #'C
>     \music
>     }

Zwei oder mehr `\keepWithTag`-Filter in einem musikalischen Ausdruck bewirken, dass alle markierten Abschnitte entfernt werden, weil der erste Befehl alle markierten Abschnitt außer dem im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen eben genannten zusätzlich entfernt.

#### Siehe auch

Handbuch zum Lernen: Stücke durch Bezeichner organisieren.

Notationsreferenz: Automatische Kombination von Stimmen, LilyPond-Dateien einfügen.

#### Globale Einstellungen benutzen

Man kann globale Einstellungen aus einer externen Datei einfügen:

>     lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly

Einstellungsgruppen, wie etwa Seitengröße, Schriftart oder Schriftschnitt, können in eigenen Dateien gespeichert werden. Das ermöglicht es, aus der gleichen Partitur unterschiedliche Editionen zu erstellen bzw. Standardeinstellungen für eine ganze Anzahl von Partituren wiederzuverwenden, indem man einfach die entsprechende Einstellungsdatei angibt.

Diese Technik funktioniert auch gut für globale Formatierungen, wie behandelt in Globale Formatierung.

#### Siehe auch

Handbuch zum Lernen: Stücke durch Bezeichner organisieren, Globale Formatierung.

Notationsreferenz: LilyPond-Dateien einfügen.

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

#### LilyPond – Notationsreferenz