| [ << Spacing issues ] | [トップ][目次][インデックス][ ? ] | [ Changing defaults >> ] | ||
| [ < Optimal page breaking ] | [ 上へ : Breaks ] | [ Minimal page breaking > ] | ||
4.3.4 Optimal page turning
Often it is necessary to find a page breaking configuration so that there is
a rest at the end of every second page. This way, the musician can turn the
page without having to miss notes. The ly:page-turn-breaking function
attempts to find a page breaking minimizing cramping and stretching, but with
the additional restriction that it is only allowed to introduce page turns
in specified places.
There are two steps to using this page breaking function. First, you
must enable it in the \paper block, as explained in Page breaking. Then you must tell the function where you would like to allow
page breaks.
There are two ways to achieve the second step. First, you can specify each
potential page turn manually, by inserting \allowPageTurn into your
input file at the appropriate places.
If this is too tedious, you can add a Page_turn_engraver to a Staff or
Voice context. The Page_turn_engraver will scan the context for
sections without notes (note that it does not scan for rests; it scans for
the absence of notes. This is so that single-staff polyphony with rests in one
of the parts does not throw off the Page_turn_engraver). When it finds
a sufficiently long section without notes, the Page_turn_engraver will
insert an \allowPageTurn at the final bar line in that section, unless
there is a ‘special’ bar line (such as a double bar), in which case the
\allowPageTurn will be inserted at the final ‘special’ bar line in
the section.
The Page_turn_engraver reads the context property
minimumPageTurnLength to determine how long a note-free section must
be before a page turn is considered. The default value for
minimumPageTurnLength is #(ly:make-moment 1 1). If you want
to disable page turns, you can set it to something very large.
\new Staff \with { \consists "Page_turn_engraver" }
{
a4 b c d |
R1 | % a page turn will be allowed here
a4 b c d |
\set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
R1 | % a page turn will not be allowed here
a4 b r2 |
R1*2 | % a page turn will be allowed here
a1
}
The Page_turn_engraver detects volta repeats. It will only allow a page
turn during the repeat if there is enough time at the beginning and end of the
repeat to turn the page back. The Page_turn_engraver can also disable
page turns if the repeat is very short. If you set the context property
minimumRepeatLengthForPageTurn then the Page_turn_engraver will
only allow turns in repeats whose duration is longer than this value.
The page turning commands, \pageTurn, \noPageTurn and
\allowPageTurn, may also be used at top-level, between scores and
top-level markups.
定義済みコマンド
\pageTurn,
\noPageTurn,
\allowPageTurn.
参照
Snippets: Spacing.
既知の問題と警告
There should only be one Page_turn_engraver in a score. If there is more
than one, they will interfere with each other.
| [ << Spacing issues ] | [トップ][目次][インデックス][ ? ] | [ Changing defaults >> ] | ||
| [ < Optimal page breaking ] | [ 上へ : Breaks ] | [ Minimal page breaking > ] | ||