5.7.2 レイアウトの調整のために変数を使用する

オーバライド コマンドはしばしば長く、入力するのが大変なものになります。そして、それらは完全に正しく記述されなければなりません。同じオーバライドが何度も使用される場合、それらを保持する変数を定義すると非常に役に立ちます。

歌詞の中のある特定の単語をボールド イタリック体で譜刻することによって、それらを強調したいと仮定します。歌詞の中では、\italic\bold は (書式を) 変更したい単語や文と一緒に \markup ブロックの中に入れた場合にのみ機能しますが、それを毎回入力するのは大変です。埋め込む必要のある単語自体が、2 つのコマンドを簡単な変数を用いて使うことを妨げます。代替手段として、\override コマンドと \revert コマンドを使うことはできないでしょうか?

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

\revert Lyrics.LyricText.font-shape
\revert Lyrics.LyricText.font-series

これらも、強調する必要のある単語がたくさんある場合、入力するのが非常に大変です。しかしながら、これらは 2 つの変数として定義することができ、それらの変数で単語を囲むことによって使ってその単語を強調することができます。これらのオーバライドに変数を用いることのもう 1 つの利点は、ドットの両側にスペースを置く必要が無いことです。なぜなら、これらのオーバライドは \lyricmode の中で直接解釈されるわけではないからです。ここで変数を用いる例を挙げますが、実際には早く打ち込めるようにもっと短い変数名を使用します:

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'4 | e4. e8 g4 g    | a4   a   g  }
AltoMusic    = \relative { c'4 | c4. c8 e4 e    | f4   f   e  }
TenorMusic   = \relative  { e4 | g4. g8 c4.  b8 | a8 b c d e4 }
BassMusic    = \relative  { c4 | c4. c8 c4 c    | f8 g a b c4 }

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

VerseTwo = \lyricmode {
  O | \once \emphasize Christ, 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 }
    >>
  >>
}

[image of music]


GNU LilyPond 学習マニュアル v2.25.22 (development-branch).