5.3.3 \override コマンド

特殊なタイプのコンテキスト プロパティがあります: グラフィカル オブジェクト記述です。グラフィカル オブジェクト記述には StudlyCaps という名前 (大文字で始まります) が付けられています。これらは、関連リストとして、ある特定の種類のグラフィカル オブジェクト用の ‘デフォルト設定’ を保持します。各グラフィカル オブジェクト記述の設定を調べるには、‘scm/define-grobs.scm’ を参照してください。各グラフィカル オブジェクト記述は \override を用いて変更します。

\override は、実際のところ、簡略化した記述です。

\override context.GrobName #'property = #value

これは、以下と等価です:

\set context.GrobName  =
  #(cons (cons 'property value)
         <previous value of context.GrobName>)

context.GrobName (alist) の値は、個々のグラフィカル オブジェクトのプロパティを初期化するために使用されます。グラフィカル オブジェクトは、Scheme スタイルの名前 (小文字の単語を - でつないだもの) のプロパティを持ちます。グラフィカル オブジェクト プロパティの値は、フォーマット処理の間ずっと変更されています: 基本的に、フォーマット処理は、コールバック関数を用いてプロパティを計算することに他なりません。

例えば、Stem オブジェクトの thickness プロパティをオーバライドすることによって、符幹の太さを太くすることができます:

c4 c
\override Voice.Stem #'thickness = #3.0
c4 c

[image of music]

\override でコンテキストを指定しなければ、最下位コンテキストが指定されます:

{ \override Staff.Stem #'thickness = #3.0
  <<
    {
      e4 e
      \override Stem #'thickness = #0.5
      e4 e
    } \\ {
      c4 c c c
    }
  >>
}

[image of music]

\override の効果は、\revert によって元に戻すことができます:

c4
\override Voice.Stem #'thickness = #3.0
c4 c
\revert Voice.Stem #'thickness
c4

[image of music]

\override\revert の効果は、その時点から影響を受けるコンテキストの中にあるすべてのグラフィカル オブジェクトに適用されます。

{
  <<
    {
      e4
      \override Staff.Stem #'thickness = #3.0
      e4 e e
    } \\ {
      c4 c c
      \revert Staff.Stem #'thickness
      c4
    }
  >>
}

[image of music]

\once\override と共に用いることで、カレントの時間ステップだけに効果を与えることができます:

{
  <<
    {
      \override Stem #'thickness = #3.0
      e4 e e e
    } \\ {
      c4
      \once \override Stem #'thickness = #3.0
      c4 c c
    }
  >>
}

[image of music]

参照

内部リファレンス: Backend


他の言語: English, deutsch, español, français

LilyPond — 記譜法リファレンス

inserted by FC2 system