[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < \overrideProperty コマンド ] | [ Up : 調整手段 ] | [ \single 接頭辞 > ] |
\tweak
コマンド
利用可能な最後の調整コマンドは \tweak
です。これは同じ音楽タイミングで発生するいくつかのオブジェクトのうち、1 つのオブジェクトだけを選択してプロパティを変更したい場合に使用します
– 例えば、和音の中にある 1 つの音符のプロパティを変更する場合です。\override
コマンドを使用すると和音の中にあるすべての音符に影響を与えます。一方、\tweak
は入力ストリームの中でその \tweak
のすぐ後にある要素 1 つだけに影響を与えます。
ここで例を挙げます。C メジャー コードの中にある真ん中の音符 (ミドル E) の符頭のサイズを変更したいとします。まず最初に、\once \override
だとどうなるか見てみましょう:
\relative { <c' e g>4 \once \override NoteHead.font-size = #-3 <c e g>4 <c e g>4 }
このオーバライドは和音の中にあるすべての符頭に影響を与えています。これは和音の中にあるすべての音符が同じ タイミング で起こるためであり、\once
のアクションは \override
と同様に同じタイミングで起こる、指定されたタイプすべてのレイアウト オブジェクトへのオーバライドに適用されます。
\tweak
コマンドはこれとは異なるやり方で処理されます。これは入力ストリームの中ですぐ後に続く要素にだけ作用します。最もシンプルな形式の \tweak
コマンドは、コマンドの直後にある要素から直接作成されるオブジェクト
– 本質的に符頭とアーティキュレーション – にだけ効果を持ちます。
それでは例に戻り、この方法で和音の真ん中の音符のサイズを変更します:
\relative { <c' e g>4 <c \tweak font-size #-3 e g>4 }
\tweak
の構文は \override
コマンドの構文とは異なるということに注意してください。コンテキストを指定しません – 実際、指定するとエラーになります。コンテキストとレイアウト オブジェクトはどちらも入力ストリームの中で後に続く要素によって示されます。さらに、イコール記号を使うべきではないということに注意してください。そのため、簡単な形式の \tweak
コマンドは以下のようになります:
\tweak layout-property #value
さらに、\tweak
コマンドは一連のアーティキュレーションの中にあるただ 1 つのアーティキュレーションを変更されるためにも使用できます。ここに例を挙げます:
a'4^"Black" -\tweak color #red ^"Red" -\tweak color #green _"Green"
\tweak
コマンドはアーティキュレーション マークの前に配置する必要があることに注意してください。なぜなら、調整された表記がアーティキュレーションとして適用される必要があるためです。複数の向き記号 (^
または _
) で上書きした場合、最後に適用される左端の記号が勝ち残ります。
符幹や臨時記号などのオブジェクトは後になってから作成されるもので、\tweak
コマンドの後に続くイベントから直接作成されません。そのような直接作成されないオブジェクトの場合、明示的にレイアウト
オブジェクト名を指定して LilyPond がそれらのオブジェクトの起源を追跡できるようにすることで、\tweak
で調整することができます:
<\tweak Accidental.color #red cis''4 \tweak Accidental.color #green es'' g''>
この長い形式の \tweak
コマンドは以下のように記述することができます:
\tweak LayoutObject.layout-property #value
さらに、\tweak
コマンドは、同時に起こるネストされた連符記号のセットのうちの 1 つの見た目を変更するためにも使用されます。以下の例では、長い連符記号と 3 つの短い連符記号のうちの最初の連符記号が同時に起こります。そのため、\override
コマンドだと両方の連符記号に適用されてしまいます。この例では、\tweak
は 2 つの連符記号を区別するために使用されています。最初の \tweak
コマンドは長い連符記号を音符の上に置くことを指定していて、2 番目の \tweak
コマンドは最初の短い連符記号の数字を赤で描くことを指定しています。
\relative c'' { \tweak direction #up \tuplet 3/4 { \tweak color #red \tuplet 3/2 { c8[ c c] } \tuplet 3/2 { c8[ c c] } \tuplet 3/2 { c8[ c c] } } }
ネストされた連符が同時に起こらない場合、それらの見た目は \override
コマンドを用いた通常通りの方法で変更されるかもしれません:
\relative { \tuplet 3/2 { c'8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text \tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t \tuplet 3/2 { c8[ c c] } \tuplet 3/2 { c8[ c c] } } }
参照
記譜法リファレンス: The tweak command
[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < \overrideProperty コマンド ] | [ Up : 調整手段 ] | [ \single 接頭辞 > ] |