4.3.4 最適ページめくり

しばしば、2 枚目のページ (横書きの本を開いたときの右側のページ) の終わりに休符を置くための改ページ構成が必要になります。こうすることで、演奏者は音符を見失うことなくページをめくることができます。ly:page-turn-breaking 関数はページの混み合いや広がりすぎを最小にする改ページを見つけ出そうと試みますが、ページめくりを特定の場所だけに置くための制約を受けます。

この改ページ関数を使うには、2 つのステップがあります。最初に、改ページ で説明されているように、\paper ブロックの中でこの関数を使用可能にする必要があります。次に、この関数に改ページを許可したい場所を教える必要があります。

2 番目のステップを達成するには、2 つの方法があります。1 つ目の方法では、入力ファイルの適当な場所に \allowPageTurn を挿入することによって、潜在的なページめくりを手動で指定します。

この方法では手間がかかりすぎる場合は、Page_turn_engraverStaff あるいは Voice コンテキストに追加します。Page_turn_engraver はコンテキストをスキャンして音符の無いセクションを探します (これは休符を探すわけではないということに注意してください。これは音符の無い部分を探します。ボイスの 1 つが休符を持つ単一譜の多声が Page_turn_engraver に渡されないようにするためです。) Page_turn_engraver は音符を持たない十分に長いセクションを見つけると、‘特殊な’ 小節線 (2 重小節線など) がないかぎりは、そのセクションの最後の小節線のところに \allowPageTurn を挿入します。

Page_turn_engraver はコンテキスト プロパティ minimumPageTurnLength を読み込んで、どれくらい音符が無いセクションが続いたらページめくりを考慮するかを決定します。minimumPageTurnLength のデフォルト値は #(ly:make-moment 1 1) です。ページめくりを不可にしたいのならば、minimumPageTurnLength に非常に大きな値をセットします。

\new Staff \with { \consists "Page_turn_engraver" }
{
  a4 b c d |
  R1 | % ここでページめくりが許可されます
  a4 b c d |
  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
  R1 | % ここではページめくりは許可されません
  a4 b r2 |
  R1*2 | % ここでページめくりが許可されます
  a1
}

Page_turn_engraver は volta 繰り返しを検出します。繰り返しの開始と終わりにページめくりを行うのに十分な時間がある場合にのみ、その繰り返しの最中でのページめくりが許可されます。繰り返しが非常に短い場合、Page_turn_engraver はページめくりを不可にする可能性があります。コンテキスト プロパティ minimumRepeatLengthForPageTurn をセットした場合、この値よりも長い演奏時間を持つ繰り返しに対してのみ、Page_turn_engraver は繰り返しの最中でページめくりを許可します。

ページめくりコマンド \pageTurn, \noPageTurn それに \allowPageTurn は、最上位レベルで – score と最上位のマークアップの間で – 使用される場合もあります。

定義済みコマンド

\pageTurn, \noPageTurn, \allowPageTurn

参照

コード断片集: Spacing

既知の問題と警告

score の中に配置する Page_turn_engraver は 1 つだけにするべきです。複数の Page_turn_engraver がある場合、互いに干渉し合います。


他の言語: English, deutsch, español, français

LilyPond — 記譜法リファレンス

inserted by FC2 system