[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: two-pass doc

From: Graham Percival
Subject: Re: two-pass doc
Date: Sun, 01 Oct 2006 20:32:10 -0700
User-agent: Thunderbird (Macintosh/20060909)

Nicolas Sceaux wrote:

Here is a documentation for the two-pass spacing technique.
Would an English speaking person review it before I commit it?

Thanks!  I made two changes (below); please commit.

One question, though: what's the difference between two-pass spacing and \layout{ragged-bottom=##f} ? As far as I understand, they both stretch systems so they fill the page.

- Graham


Index: page.itely
RCS file: /cvsroot/lilypond/lilypond/Documentation/user/page.itely,v
retrieving revision 1.11
diff -u -r1.11 page.itely
--- page.itely  22 Sep 2006 08:12:22 -0000      1.11
+++ page.itely  1 Oct 2006 13:05:51 -0000
@@ -460,6 +460,7 @@
* Vertical spacing of piano staves:: * Vertical spacing between systems:: * Controlling spacing of individual systems:: +* Two-pass vertical spacing::
 @end menu
@@ -610,6 +611,56 @@
address@hidden Two-pass vertical spacing
address@hidden Two-pass vertical spacing
+In order to automatically stretch systems so that they should fill the
+space left on a page, a two-pass technique can be used:

address@hidden in the first pass, the amount of vertical space used to increase each +system height in computed, and dumped to a file;

@item In the first pass, the amount of vertical space used to increase the height of each system is computed and dumped to a file.

address@hidden in the second run, this page layout file is read to actually +stretch the systems when they are drawn.

@item In the second pass, the systems are stretched according to the
data in the page layout file.

address@hidden enumerate
+To allow this behaviour, a @code{tweak-key} variable has to be set in
+each score @code{\layout} block, and the tweaks included in each score
+music, using the @code{\scoreTweak} music function.
+%% include the generated page layout file:
+\score {
+  \new StaffGroup <<
+    \new Staff <<
+      %% Include this score tweaks:
+      \scoreTweak "scoreA"
+ { \clef french c''1 \break c''1 } + >>
+    \new Staff { \clef soprano g'1 g'1 }
+    \new Staff { \clef mezzosoprano e'1 e'1 }
+    \new Staff { \clef alto g1 g1 }
+    \new Staff { \clef bass c1 c1 }
+  >>
+  \header {
+    piece = "Score with tweaks"
+  }
+  %% Define how to name the tweaks for this score:
+  \layout { #(define tweak-key "scoreA") }
address@hidden verbatim
address@hidden quotation
+For the first pass, the @code{dump-tweaks} option should be set to
+generate the page layout file.
+lilypond -b null -d dump-tweaks <file>.ly
+lilypond <file>.ly
address@hidden example
@node Horizontal spacing
 @section Horizontal Spacing


lilypond-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]