LilyPond Handbuch zum Lernen: 4.6.2 Variablen für Optimierungen einsetzen

### 4.6.2 Variablen für Optimierungen einsetzen

`\override`-Befehle sind oft lang und mühsam zu tippen, und sie müssen immer absolut richtig sein. Wenn derselbe Befehl mehrere Male benutzt werden muss, lohnt es sich oft schon, eine Variable zu definieren, in der er sich befindet.

Als Beispiel sollen einige Worte im Gesangstext fett und kursiv hervorgehoben werden. Die Befehle `\italic` und `\bold` funktionieren im Gesangstext-Kontext nur, wenn sie gleichzeitig mit den Wörtern, auf die sie angewendet werden sollen, zusätzlich in eine `\markup`-Umgebung eingeschlossen werden. Durch diese Einbettung können einzelne Wörter nicht einfach zu einer Variable umgeformt werden. Als Alternative versuchen wir, einen Befehl mit `\override` und `\revert` zu konstruieren.

>     \override Lyrics . LyricText #'font-shape = #'italic
>     \override Lyrics . LyricText #'font-series = #'bold

>     \revert Lyrics . LyricText #'font-shape
>     \revert Lyrics . LyricText #'font-series

Das wäre natürlich noch viel mühsamer, wenn viele Wörter eine Hervorhebung benötigen. Anstelle dieser Befehlsketten können wir jedoch zwei Variablen definieren. Mit ihnen und dem entsprechenden Wort in geschweiften Klammern erreichen wir den gewünschten Effekt. Ein weiterer Vorteil ist, dass in diesem Fall die Leerzeichen um die Punkte herum nicht benötigt werden, weil sie nicht innerhalb des `lyricmode`-Kontextes interpretiert werden. Hier ein Beispiel; die Bezeichnungen können natürlich auch kürzer sein, um noch weniger schreiben zu müssen:

>     emphasize = {
>       \override Lyrics.LyricText #'font-shape = #'italic
>       \override Lyrics.LyricText #'font-series = #'bold
>     }
>     normal = {
>       \revert Lyrics.LyricText #'font-shape
>       \revert Lyrics.LyricText #'font-series
>     }

>     global = { \key c \major \time 4/4 \partial 4 }

>     SopranoMusic = \relative c' { c4 | e4. e8 g4 g    | a4   a   g  }
>     AltoMusic    = \relative c' { c4 | c4. c8 e4 e    | f4   f   e  }
>     TenorMusic   = \relative c  { e4 | g4. g8 c4.  b8 | a8 b c d e4 }
>     BassMusic    = \relative c  { c4 | c4. c8 c4 c    | f8 g a b c4 }

>     VerseOne = \lyrics {
>       E -- | ter -- nal \emphasize Fa -- ther, | \normal strong to save,
>     }

>     VerseTwo = \lyricmode {
>       O | \emphasize Christ, \normal whose voice the | wa -- ters heard,
>     }

>     VerseThree = \lyricmode {
>       O | \emphasize Ho -- ly Spi -- rit, | \normal who didst brood
>     }

>     VerseFour = \lyricmode {
>       O | \emphasize Tri -- ni -- ty \normal of | love and pow'r
>     }

>     \score {
>       \new ChoirStaff <<
>         \new Staff <<
>           \clef "treble"
>           \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
>           \new Voice = "Alto" { \voiceTwo \AltoMusic }
>           \new Lyrics \lyricsto "Soprano" { \VerseOne }
>           \new Lyrics \lyricsto "Soprano" { \VerseTwo }
>           \new Lyrics \lyricsto "Soprano" { \VerseThree }
>           \new Lyrics \lyricsto "Soprano" { \VerseFour }
>         >>
>         \new Staff <<
>           \clef "bass"
>           \new Voice = "Tenor" { \voiceOne \TenorMusic }
>           \new Voice = "Bass"  { \voiceTwo \BassMusic }
>         >>
>       >>
>     }

Andere Sprachen: English, česky, español, français, italiano, 日本語, nederlands.

#### LilyPond – Learning Manual