5.5.5 改行するスパナを変更する


\alterBroken を使用する

スパナが改行や改ページにまたがる場合、それぞれの部分は元のスパナの属性を受け継ぎます。そのため、通常と同じようにスパナを変更することで、改行するスパナの各部分を変更することができます。下の例では thickness をオーバライドしていますが、改行するスラーの両方の部分が変更されています。

\relative c'' {
  r2
  \once\override Slur.thickness = 10
  c8( d e f
  \break
  g8 f e d) r2
}

[image of music]

\alterBroken コマンドを用いることで、改行するスパナの各部分をそれぞれ独立して変更することができます。このコマンドはスパナのプロパティを \override あるいは \tweak することができます。

\alterBroken の構文は:

[-]\alterBroken property values item

引数 values は値のリストを取り、スパナの各部分に対応します。itemSlurStaff.PianoPedalBracket のような Grob の名前である場合、結果はその Grob の \override となります。item が “(” や “[” のような音楽表記である場合、\tweak が適用された音楽表記が出力されます。

\tweak 形では前にハイフンが必要です。\alterBroken\override として用いる場合には、ハイフンを付けないでください。

\override として使用する場合、\alterBroken\once\temporary を前置することができ、\revert で元に戻すことができます ( Intermediate substitution functions を参照してください)。

次のコードは、前の例におけるスラーの各部分をそれぞれ \override しています。

\relative c'' {
  r2
  \alterBroken thickness #'(10 1) Slur
  c8( d e f
  \break
  g8 f e d) r2
}

[image of music]

\alterBroken コマンドは全てのスパナに対して用いることができます (例えば Tie, PhrasingSlur, Beam, TextSpanner などです)。例えば、校訂譜を作成する際には、原典に無いスラーを追加する際に点線で表示させたいことがあります。次の例ではこれをどのように実現するかを示しており、今回は \tweak 形を用いています:

% 空リストが dash-definition のデフォルト設定であり、
% 繋がった曲線が出力されます
\relative {
  c''2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e
  \break
  g2 e\)
}

[image of music]

\alterBroken において、values のリストの各要素がスパナの各部分のプロパティに影響するということは重要です。もしスパナの要素数よりも少ない数の値がセットされていた場合、残りの部分は空リストがセットされたとして扱われます。この時、プロパティのデフォルト値が空リストではない場合には意図しない結果をもたらす可能性があります。そのような場合には、各部分について正しい値をセットしてください。

既知の問題と警告

レイアウトが変更された場合、改行の位置も変更されることがあります。このように改行位置が変更されて、スパナの跨る行数が増減した場合、\alterBroken の設定は適切ではなくなるでしょう。明示的に \break を用いることによってこれを防止します。

\alterBroken コマンドは、direction のように、改行処理の前にアクセスされるプロパティに対しては効果がありません。

参照

拡張: Difficult tweaks


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