[ << スペースの問題 ] | [Top][Contents][Index] | [ デフォルトを変更する >> ] |
[ < 高さが自動の 1 行の改ページ ] | [ Up : 改ページ ] | [ 垂直方向のスペース > ] |
最適ページめくり
しばしば、2 枚目のページ (横書きの本を開いたときの右側のページ) の終わりに休符を置くための改ページ構成が必要になります。こうすることで、演奏者は音符を見失うことなくページをめくることができます。ly:page-turn-breaking
関数はページの混み合いや広がりすぎを最小にする改ページを見つけ出そうと試みますが、ページめくりを特定の場所だけに置くための制約を受けます。
この改ページ関数を使うには、2 つのステップがあります。最初に、改ページ で説明されているように、\paper
ブロックの中でこの関数を有効にする必要があります。次に、この関数に改ページを許可したい場所を教える必要があります。
2 番目のステップを達成するには、2 つの方法があります。1 つ目の方法では、入力ファイルの適当な場所に \allowPageTurn
を挿入することによって、ページめくりの許可を手動で指定します。
この方法では手間がかかりすぎる場合は、Page_turn_engraver
を
Staff
あるいは Voice
コンテキストに追加します。Page_turn_engraver
はコンテキストをスキャンして音符の無いセクションを探します
(休符を探すわけではなく、音符の無い部分を探すということに注意してください。単一譜の多声で、ボイスの 1 つが休符を持つ場合に、Page_turn_engraver
に渡されないようにするためです。)
Page_turn_engraver
は音符を持たない十分に長いセクションを見つけると、‘特殊な’ 小節線 (2 重小節線など) がないかぎりは、そのセクションの最後の小節線のところに \allowPageTurn
を挿入します。‘特殊な’ 小節線がある場合には、\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 = \musicLength 2*5 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
参照
記譜法リファレンス:
改行のための \paper
変数
コード断片集: Spacing
既知の問題と警告
score の中に配置する Page_turn_engraver
は 1 つだけにするべきです。複数の Page_turn_engraver
がある場合、互いに干渉し合います。
参照
記譜法リファレンス: 垂直方向のスペース
コード断片集: Spacing