LilyPond 記譜法リファレンス: 5.5.5 改行するスパナを変更する

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

#### `\alterBroken` を使用する

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

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

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

`\alterBroken` の構文は:

>     [-]\alterBroken property values item

引数 values は値のリストを取り、スパナの各部分に対応します。item が `Slur` や `Staff.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
>     }

`\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\)
>     }

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

#### 既知の問題と警告

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

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

#### 参照

拡張: Difficult tweaks

#### LilyPond — 記譜法リファレンス v2.24.4 (安定版).

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス