LilyPond 記譜法リファレンス: 4.1.4 可変な垂直方向の \paper スペース変数

### 4.1.4 可変な垂直方向の `\paper` スペース変数

たいていの場合、ある要素間 (マージン、タイトル、システム、score 等の間) の垂直方向の間隔は、状況に応じて伸びたり縮んだりするよう、可変であることが好まれます。いくつかの `\paper` 変数 (以下でリスト アップします) は、長さを微調整することができます。

このセクションで説明する `\paper` 変数は、個々のシステム内にある譜のスペースを制御しないということに注意してください。システム内のスペースは、普通は `\score` ブロックや `\score` ブロックの中に配置される設定を通じて、グラフィカル オブジェクトのプロパティによって制御されます。システム内部の可変な垂直方向のスペース を参照してください。

#### 可変な垂直方向スペース連想リストの構造

可変な垂直方向の `\paper` スペース変数は、それぞれが 4 つの キー を保持する連想配列 (association list) です:

- `basic-distance` – 2 つの要素の 参照ポイント 間の垂直方向の間隔。単位は譜スペースです。衝突が生じない場合は、伸縮されません。(タイトルまたは最上位の) マークアップの参照ポイントは最も上の箇所です。システムの参照ポイントは、譜線を持たない (`Lyrics` コンテキスト等) であっても、最も近くにある `StaffSymbol` の垂直方向の中心です。`basic-distance` の値が `padding` や `minimum-distance` よりも小さいと無意味になります。なぜなら、間隔が `padding` や `minimum-distance` よりも小さくなることはないからです。
- `minimum-distance` – 2 つの要素の参照ポイント間で、圧縮が起こる場合に許容される最小の垂直方向の間隔。単位は譜スペースです。`minimum-distance` の値が `padding`よりも小さいと無意味になります。なぜなら、間隔が `padding`よりも小さくなることはないからです。
- `padding` – 2 つの要素間の境界ボックス (または輪郭) の間に必要な、垂直方向の最小の間隔。単位は譜スペースです。
- `stretchability` – 間隔の伸び率。0 の場合、間隔は広がりません (衝突が生じない限りは)。正の値の場合、ある間隔の `stretchability` 値は他の間隔の `stretchability` との相対関係になります。例えば、ある間隔の `stretchability` 値がもう一つの間隔の `stretchability` の 2 倍である場合、間隔の広がり方は 2 倍になります。値は 0 以上の有限数でなければなりません。`+inf.0` は `programming_error` を引き起こし、無視されます。一方、`1.0e7` はほとんど無限の広がり方となります。値が設定されなければ、デフォルト値が設定されます。間隔の 縮み 率をユーザが直接設定することはできず、(`basic-distance` - `minimum-distance`) であることに注意してください。

譜がページの下端まで広がらない設定の場合、間隔は以下の中の最大値となります:

- `basic-distance`,
- `minimum-distance`,
- `padding` + 衝突を回避するのに必要な最小の距離

複数ページの楽譜で、最後のページの楽譜がページ下端まで広がらない場合、最後のページのスペースは前のページと同じです。

配列リストを変更する方法は、連想配列を変更する で説明します。以下の例は、連想配列を変更する 2 つの方法を提示しています。最初の宣言はキー値を個別に変更していて、2 つ目は変数全体を再定義しています:

>     \paper {
>       system-system-spacing.basic-distance = #8
>       score-system-spacing =
>         #'((basic-distance . 12)
>            (minimum-distance . 6)
>            (padding . 1)
>            (stretchability . 12))
>     }

#### 可変な垂直方向の `\paper` スペース変数のリスト

以下の変数の名前は `upper-lower-spacing` という形式で、`upper` 要素と `lower` 要素との間隔です。間隔の距離は 2 つの要素の参照ポイント間です (上記の連想配列構造の説明を参照してください)。変数名の中の ‘`markup`’ は タイトル マークアップ (`bookTitleMarkup` や `scoreTitleMarkup`) と 最上位のマークアップ (ファイル構造) の両方を指します。すべての間隔の距離の単位は譜スペースです。

デフォルト設定は ‘`ly/paper-defaults-init.ly`’ で定義しています。

`markup-system-spacing`

  (タイトルまたは最上位の) マークアップと、その後に続くシステムとの間隔。

`score-markup-spacing`

  score の最後のシステムと、その後に続く (タイトルまたは最上位の) マークアップとの間隔

`score-system-spacing`

  score の最後のシステムと、その後に score の最初のシステムとの間隔 – score と score の間に (タイトルまたは最上位の) マークアップが無い場合。

`system-system-spacing`

  同じ score の中にある 2 つのシステムの間隔。

`markup-markup-spacing`

  2 つの (タイトルまたは最上位の) マークアップの間隔。

`last-bottom-spacing`

  ページの最後のシステムまたは最上位のマークアップから、印刷可能エリアの下端 (つまり、ボトム マージンの上端) までの距離。

`top-system-spacing`

  印刷可能エリアの上端 (つまり、トップ マージンの下端) から、ページの最初のシステムまでの距離 – 間に (タイトルまたは最上位の) マークアップが無い場合。

`top-markup-spacing`

  印刷可能エリアの上端 (つまり、トップ マージンの下端) から、ページの最初の (タイトルまたは最上位の) までの距離 – 間にシステムが無い場合。

#### 参照

記譜法リファレンス: システム内部の可変な垂直方向のスペース

インストールされているファイル: ‘`ly/paper-defaults-init.ly`’

コード断片集: Spacing

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

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