5.1.5 コンテキストのデフォルト設定を変更する

プロパティを変更する で説明したように、コンテキストとグラフィカル オブジェクトのプロパティを \set コマンドや \override コマンドで変更することができます。これらのコマンドは音楽イベントを生成して、楽譜処理中にコマンドが出現するポイントで変更に効果を発揮させます。

対照的に、このセクションではコンテキストが作成された時点でコンテキストとグラフィカル オブジェクトのプロパティの デフォルト 値を変更する方法を説明します。これを行う方法は 2 つあります。1 つはある特定のタイプの全コンテキストのデフォルト値を変更する方法で、もう 1 つはただ 1 つのコンテキストのインスタンスのデフォルト値を変更する方法です。


同じタイプの全コンテキストを変更する

Score, Staff, Voice, その他のコンテキストにおいてデフォルトで使用されるコンテキスト設定は、\layout ブロックの中の\context ブロックでで指定することができます。\layout ブロックは、それを適用する \score ブロックの中で、かつ、音楽表記の後に配置する必要があります。

\layout {
  \context {
    \Voice
    [すべての Voice コンテキストのコンテキスト設定]
  }
  \context {
    \Staff
    [context settings for all Staff contexts]
  }
}

以下のタイプの設定を指定することができます:

プロパティ設定コマンドは、\context ブロックで囲まずに、\layout ブロックの中に配置することができます。そのような設定は、指定されたタイプの任意のコンテキストの開始時にプロパティ設定コマンドをインクルードするのと等価です。コンテキストを指定しない場合、すべての 下位コンテキストに影響を与えます -- 下位コンテキスト - ボイス を参照してください。\layout ブロックの中でのプロパティ設定コマンドの構文は、音楽ストリームの中で同じコマンドを記述するのと同じです。

\score {
  \new Staff {
    \relative c'' {
      a4^"Smaller font" a a a
      a4 a a a
    }
  }
  \layout {
    \accidentalStyle dodecaphonic
    \set fontSize = #-4
    \override Voice.Stem.thickness = #4.0
  }
}

[image of music]


指定したコンテキストだけを変更する

\with ブロックで指定したコンテキスト インスタンスのコンテキスト プロパティだけを変更することができます。他の全ての同じタイプのコンテキスト インスタンスは、LilyPond に組み込まれてスコープ内の \layout ブロックによって変更されたデフォルト設定のままです。\with ブロックは \new context-type コマンドの直後に配置する必要があります:

\new Staff
\with {
  [このコンテキスト インスタンスだけに適用されるコンテキスト設定]
} {
...
}

以下のタイプの設定を指定することができます:


適用順序

ある特定のタイミングで適用されるプロパティの値は以下のように決定されます:

参照

学習マニュアル: Modifying context properties

記譜法リファレンス: コンテキストの説明, 下位コンテキスト - ボイス, \set コマンド, \override コマンド, \layout ブロック


他の言語: English, deutsch, español, français, italiano
About automatic language selection.

LilyPond — 記譜法リファレンス v2.17.97 (開発版).