[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < 譜外部オブジェクト ] | [ Up : 譜外部オブジェクト ] | [ \textLengthOn コマンド > ] |
outside-staff-priority
プロパティ
小さな値の outside-staff-priority
プロパティを持つオブジェクトは譜の近くに配置され、他の譜外部オブジェクトは衝突を避けるのに必要な分だけ離されます。outside-staff-priority
は grob-interface
の中で定義されているため、すべてのレイアウト オブジェクトのプロパティです。デフォルトでは、すべての譜内部オブジェクトの outside-staff-priority
は
#f
にセットされていて、譜外部オブジェクトが作成されたときにその譜外部オブジェクトの outside-staff-priority
に適当な数値がセットされます。以下の表はいくつかの一般的な譜外部オブジェクトのデフォルトの
outside-staff-priority
値を示しています。
レイアウト オブジェクト | 優先度 | 以下のオブジェクトの配置を制御する: |
---|---|---|
RehearsalMark | 1500 | リハーサル記号 |
MetronomeMark | 1000 | メトロノーム記号 |
SostenutoPedalLineSpanner | 1000 | ペダル記号 |
SustainPedalLineSpanner | 1000 | |
UnaCordaPedalLineSpanner | 1000 | |
MeasureCounter | 750 | 小節番号 |
VoltaBracketSpanner | 600 | Volta (番号付きのリピート) の囲み |
InstrumentSwitch | 500 | 楽器を変更するテキスト |
TextScript | 450 | マークアップ テキスト |
MultiMeasureRestText | 450 | 複数小節にわたる休符上のテキスト |
CombineTextScript | 450 | パート結合のテキスト |
OttavaBracket | 400 | オッターバ (オクターブを上下させる記号) の囲み |
TextSpanner | 350 | テキスト スパナ |
DynamicLineSpanner | 250 | すべての強弱記号 |
BarNumber | 100 | 小節番号 |
TrillSpanner | 50 | トリル記号 |
AccidentalSuggestion | 0 | 注釈的な臨時記号 (音符の上に付く臨時記号、ムジカ・フィクタ) |
これらのうちのいくつかのデフォルトでの配置を示している例を挙げます。
% 以降のテキスト スパナの詳細を設定します \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % 強弱記号を譜の上に配置します \dynamicUp % オッターバ囲みの開始 \ottava #1 c''4 \startTextSpan % 強弱テキストとヘアピンを付け加えます c''4\pp\< c''4 % テキスト スクリプトを付け加えます c''4^Text | c''4 c'' % 強弱テキストを付け加え、強弱ヘアピンを終わらせます c''4\ff c'' \stopTextSpan | % オッターバ囲みを終わらせます \ottava #0 c'4 c' c' c' |
この例はテキスト スパナ – 音楽の上に置かれる延長線付きのテキスト – の作成方法についても示しています。スパナは \startTextSpan
コマンドから
\stopTextSpan
コマンドまで延び、テキストのフォーマットは
\override TextSpanner
コマンドによって定義されます。詳細は テキスト スパナ を参照してください。
この例はさらにオッターバ囲みを作成する方法についても示しています。
outside-staff-priority
のデフォルト値による配置があなたの望みに合わない場合、いずれかのオブジェクトの優先度をオーバライドすることになるかもしれません。上記の例で、オッターバ囲みをテキスト スパナの下に配置したいとします。すべきことは、OttavaBracket
は Staff
コンテキストの中に作成されるということを思い出し、OttavaBracket
の優先度を内部リファレンスか上記の表で調べて、それを TextSpanner
の値よりも小さくすることです:
% 以降のテキスト スパナの詳細を設定します \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % 強弱記号を譜の上に配置します \dynamicUp % 以降のオッターバ囲みをテキスト スパナの下に配置します \once \override Staff.OttavaBracket.outside-staff-priority = #340 % オッターバ囲みの開始 \ottava #1 c''4 \startTextSpan % 強弱テキストを付け加えます c''4\pp % 強弱の線スパナを付け加えます c''4\< % テキスト スクリプトを付け加えます c''4^Text | c''4 c'' % 強弱テキストを付け加えます c''4\ff c'' \stopTextSpan | % オッターバ囲みを終わらせます \ottava #0 c'4 c' c' c' |
これらのオブジェクトのいくつか
– 特に、小節番号、メトロノーム記号、それにリハーサル記号 –
はデフォルトでは Score
コンテキストの中にあるため、それらのプロパティをオーバライドする場合は適切なコンテキストを指定する必要があることに注意してください。
スラーはデフォルトでは譜内部オブジェクトに分類されています。しかしながら、譜の上部に配置された音符に付くスラーはしばしば譜の上に表示されます。このことは、スラーがまず最初に配置されるため、アーティキュレーションなどの譜外部オブジェクトをあまりにも高い位置に押し上げる可能性があります。アーティキュレーションの avoid-slur
プロパティに
'inside
をセットすることでアーティキュレーションをスラーよりも内側に配置することができます。しかし、avoid-slur
プロパティはアーティキュレーションの
outside-staff-priority
が #f
にセットされている場合にのみ効果を持ちます。代替手段として、スラーの outside-staff-priority
に数値をセットすることによって、スラーを他の譜外部オブジェクトとともに
outside-staff-priority
値に従って配置することができます。ここで、2 つの方法の効果を示す例を挙げます:
\relative c'' { c4( c^\markup { \tiny \sharp } d4.) c8 | c4( \once \override TextScript.avoid-slur = #'inside \once \override TextScript.outside-staff-priority = ##f c4^\markup { \tiny \sharp } d4.) c8 | \once \override Slur.outside-staff-priority = #500 c4( c^\markup { \tiny \sharp } d4.) c8 | }
outside-staff-priority
は、個々のオブジェクトの垂直方向の配置を制御するために使用することもできます。しかしながら、その結果は常に望み通りになるわけではありません。自動配置 にある例で “Text3” を “Text4” の上に配置したいとします。すべきことは TextScript
の優先度を内部リファレンスか上記の表で調べて、“Text3” の優先度を大きくすることです:
c''2^"Text1" c''2^"Text2" | \once \override TextScript.outside-staff-priority = #500 c''2^"Text3" c''2^"Text4" |
これはたしかに “Text3” を “Text4” の上に配置しています。しかし、“Text3”を “Text2” の上に配置して、“Text4” を押し下げてもいます。おそらく、これはそれほど望ましい結果ではないでしょう。本当に望んでいることは、すべての注釈を譜の上に譜から同じ距離だけ離して配置することです。そうするには明らかに、テキストのためにもっと広いスペースを確保するために、音符を水平方向に広げる必要があります。これは \textLengthOn
コマンドを用いることで達成できます。
[ << 出力を調整する ] | [Top][Contents][Index] | [ テンプレート >> ] |
[ < 譜外部オブジェクト ] | [ Up : 譜外部オブジェクト ] | [ \textLengthOn コマンド > ] |