[ << Spacing issues ] | [Top][Contents][Index] | [ Changing defaults >> ] |
[ < One-line-auto-height page breaking ] | [ Up : Page breaking ] | [ Vertical spacing > ] |
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 \musicLength 1
.
If you want to disable page turns, 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 = \musicLength 2*5 R1 | % a page turn will not be allowed here a4 b r2 | R1*2 | % a page turn will be allowed here a1 }
When using volta repeats, the Page_turn_engraver
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. If the repeat is too
short then the Page_turn_engraver
can be used to disable
page turns by setting an appropriate value for the context property
minimumRepeatLengthForPageTurn
. In this case the
Page_turn_engraver
will only allows turns in repeats whose
duration is longer than the value specified.
The page turning commands, \pageTurn
, \noPageTurn
and
\allowPageTurn
, may also be used at top-level, in top-level
markups and between scores.
Predefined commands
\pageTurn
,
\noPageTurn
,
\allowPageTurn
.
See also
Notation Reference:
\paper
variables for line breaking.
Snippets: Spacing.
Known issues and warnings
Use only one Page_turn_engraver
per score. If there are
more, they will interfere with each other.
See also
Notation Reference: Vertical spacing.
Snippets: Spacing.
[ << Spacing issues ] | [Top][Contents][Index] | [ Changing defaults >> ] |
[ < One-line-auto-height page breaking ] | [ Up : Page breaking ] | [ Vertical spacing > ] |