\override コマンド

我々はすでに コンテキスト プロパティを変更するエングラーバを追加 / 削除するコンテキスト のプロパティを変更したり、エングラーバ を追加/削除したりするために使用するコマンド \set\with を見てきました。ここでは更に重要ないくつかのコマンドについて見ていきます。

レイアウト オブジェクト のプロパティを変更するためのコマンドは \override です。このコマンドは LilyPond の奥深くにある内部プロパティを変更しなければならないため、これまで見てきたコマンドのように単純な構文ではありません。どのコンテキストの中にあるどのオブジェクトのどのプロパティを変更しなければならないのか、そこにセットする新しい値を何にするのかを正確に知っている必要があります。どのようにこれを行うのかを見ていきましょう。

このコマンドの一般的な構文は以下のようなものです:

\override Context.LayoutObject.layout-property = #value

これは Context コンテキストのメンバである LayoutObject という名前のレイアウトの layout-property という名前のプロパティに値 value をセットします。

必要とされているコンテキストが明白であり、それが最下位レベルのコンテキストである – つまり、Voice, ChordNamesLyrics である – 場合、その Context は省略可能であり (そして通常は省略されます)、この後の例の多くでも省略します。後ほど、コンテキストを指定しなければならない場合について見ていきます。

これから後のセクションでは広範囲に亘るプロパティとそれらの値を扱います – プロパティのタイプ を参照してください。しかしながら、このセクションではそれらのフォーマットとコマンドの使い方を示すために、容易に理解できる簡単なプロパティと値をいくつか使用してみるだけです。

LilyPond の基本的な表記は文字列やマークアップだけでなく、音符や演奏時間のような音楽要素です。数字、シンボル、リストなどのより具体的な表記は ‘Scheme モード’ で処理されます – 表記の先頭に ‘#’ を記述することでこのモードが呼び出されます。Scheme モードについての更なる情報は LilyPond Scheme syntax を参照してください。

\override は調整で用いられる最も一般的なコマンドであり、本章の残りの大半を使ってこのコマンドの使用例を示します。まずは符頭の色を変更する簡単な例を挙げます:

\relative {
  c'4 d
  \override NoteHead.color = #red
  e4 f |
  \override NoteHead.color = #green
  g4 a b c |
}

[image of music]

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