Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 3a7b4dfc766af1222d90c7f03a0844e6 > files > 7741

lilypond-doc-2.11.57-1mdv2009.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- header_tag -->
<html lang="en">
<head>
<title>Optimal page turning - GNU LilyPond Notation Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="GNU LilyPond Notation Reference">
<meta name="generator" content="makeinfo 4.11">
<link title="Top" rel="start" href="index.fr.html#Top">
<link rel="up" href="Breaks.fr.html#Breaks" title="Breaks">
<link rel="prev" href="Optimal-page-breaking.fr.html#Optimal-page-breaking" title="Optimal page breaking">
<link rel="next" href="Minimal-page-breaking.fr.html#Minimal-page-breaking" title="Minimal page breaking">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1999--2007 by the authors

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.1 or any later version published by the Free Software
     Foundation; with no Invariant Sections.  A copy of the license is
     included in the section entitled ``GNU Free Documentation
     License''.
   -->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
hr { border:0; height:1; color: #000000; background-color: #000000; }
/* hr {
  border:  none;
  height: 1px;
  color: #666666;
  background-color: #666666;
}
body {
  border-left: 1px solid #666666;
  border-right: 1px solid #666666;
  color: #332d28;
  margin-right: auto;
  margin-left: auto;
  width: 60em;
  list-style-type: square;
  font-family: Arial,Helvetica,sans-serif;
  padding-right: 1em;
  padding-left: 1em;
}
a {
  border-bottom: 1px dashed #344242;
  text-decoration: none;
  color: #344242;
}
a:link {
  text-decoration: none;
}
a:visited {
  border-bottom: 1px dashed #666666;
  color: #666666;
}
a:active {
  border-bottom: 1px solid #00cccc;
  color: #00cccc;
}
a:hover {
  border-bottom: 1px solid #1d7b85;
  color: #1d7b85;
}
blockquote {
  border: 1px solid #cccccc;
  padding: 3px;
  width: 40em;
}
.node {
  border-left: 1px solid #666666;
  margin: -0.5em 0px 1em;
  padding: 2px 1px 0px;
  font-style: italic;
}
.node a {
  border:  none;
  text-decoration: underline;
  font-style: normal;
  font-weight: bold;
}
.verbatim {
  font-family: "Courier New",Courier,monospace;
}
.unnumberedsubsubsec {
  font-size: large;
  color: #1d7b85;
}
.subsubheading {
  font-size: large;
  color: #3b220d;
}
.contents {
  border: 1px dashed #339999;
  margin: 3px 2em;
  list-style-type: square;
  padding-right: 1em;
  width: 40em;
  background-color: #fcfff9;
}
.contents a {
  border-bottom: 1px dashed #423d34;
  text-decoration: none;
  color: #423d34;
}
.contents a:visited {
  border-bottom: 1px dashed #666666;
  color: #666666;
}
.contents a:active {
  border-bottom: 1px solid #f0d86d;
  color: #f0d86d;
}
.contents a:hover {
  border-bottom: 1px solid #3b220d;
  color: #3b220d;
}
.menu {
  border-left: 1px dashed #339999;
  margin: 3px 2em 1em;
  list-style-type: square;
  padding-left: 1.4em;
  width: 40em;
}
.unnumbered {
}
h2 {
  font-size: x-large;
  color: #1d7b85;
}
*/
--></style>
</head>
<BODY BGCOLOR=WHITE TEXT=BLACK>

<div class="node">
<p>
<a name="Optimal-page-turning"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="Minimal-page-breaking.fr.html#Minimal-page-breaking">Minimal page breaking</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Optimal-page-breaking.fr.html#Optimal-page-breaking">Optimal page breaking</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Breaks.fr.html#Breaks">Breaks</a>
<hr>
</div>

<h4 class="subsection">4.3.4 Optimal page turning</h4>

<p><a name="index-ly_003apage_002dturn_002dbreaking-2552"></a><a name="index-ly_003apage_002dturn_002dbreaking-2553"></a>

   <p>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 <code>ly:page-turn-breaking</code> 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.

   <p>There are two steps to using this page breaking function.  First, you
must enable it in the <code>\paper</code> block, as explained in <a href="Page-breaking.fr.html#Page-breaking">Page breaking</a>.  Then you must tell the function where you would like to allow
page breaks.

   <p>There are two ways to achieve the second step.  First, you can specify each
potential page turn manually, by inserting <code>\allowPageTurn</code> into your
input file at the appropriate places.

   <p>If this is too tedious, you can add a <code>Page_turn_engraver</code> to a Staff or
Voice context.  The <code>Page_turn_engraver</code> 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 <code>Page_turn_engraver</code>).  When it finds
a sufficiently long section without notes, the <code>Page_turn_engraver</code> will
insert an <code>\allowPageTurn</code> at the final bar line in that section, unless
there is a &lsquo;special&rsquo; bar line (such as a double bar), in which case the
<code>\allowPageTurn</code> will be inserted at the final &lsquo;special&rsquo; bar line in
the section.

   <p><a name="index-minimumPageTurnLength-2554"></a><a name="index-minimumPageTurnLength-2555"></a>
The <code>Page_turn_engraver</code> reads the context property
<code>minimumPageTurnLength</code> to determine how long a note-free section must
be before a page turn is considered.  The default value for
<code>minimumPageTurnLength</code> is <code>#(ly:make-moment 1 1)</code>.  If you want
to disable page turns, you can set it to something very large.

<pre class="example">\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
}
</pre>
   <p><a name="index-minimumRepeatLengthForPageTurn-2556"></a><a name="index-minimumRepeatLengthForPageTurn-2557"></a>
The <code>Page_turn_engraver</code> 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 <code>Page_turn_engraver</code> can also disable
page turns if the repeat is very short.  If you set the context property
<code>minimumRepeatLengthForPageTurn</code> then the <code>Page_turn_engraver</code> will
only allow turns in repeats whose duration is longer than this value.

   <p>The page turning commands, <code>\pageTurn</code>, <code>\noPageTurn</code> and
<code>\allowPageTurn</code>, may also be used at top-level, between scores and
top-level markups.

<p class="noindent">

<h5 class="subsubheading">Predefined commands</h5>

<p><a name="index-g_t_005cpageTurn-2558"></a><a name="index-g_t_005cpageTurn-2559"></a>
<code>\pageTurn</code>
<a name="index-g_t_005cnoPageTurn-2560"></a><a name="index-g_t_005cnoPageTurn-2561"></a>
<code>\noPageTurn</code>
<a name="index-g_t_005callowPageTurn-2562"></a><a name="index-g_t_005callowPageTurn-2563"></a>
<code>\allowPageTurn</code>

<p class="noindent">

<h5 class="subsubheading">Known issues and warnings</h5>

<p>There should only be one <code>Page_turn_engraver</code> in a score.  If there is more
than one, they will interfere with each other.

   <!-- footer_tag --><br><hr>
<div class="node">
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Minimal-page-breaking.fr.html#Minimal-page-breaking">Minimal page breaking</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Optimal-page-breaking.fr.html#Optimal-page-breaking">Optimal page breaking</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Breaks.fr.html#Breaks">Breaks</a>
</div>

<div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;">
<p>
<font size="-1">
Cette page documente LilyPond-2.11.57 (branche de développement).
<br>
<address>
Rapportez toute anomalie en français à <a href="mailto:lilypond-user-fr@gnu.org">lilypond-user-fr@gnu.org</a> ou en anglais à <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a> </address>
<br>
Vos <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions à propos de la documentation</a> sont les bienvenues.
</font>
</p>
</div>

</BODY></html>