lilypond-devel
[Top][All Lists]

## Re: Pagebreak in lilypond-book

 From: Graham Percival Subject: Re: Pagebreak in lilypond-book Date: Mon, 09 May 2005 07:31:58 -0700

On 9-May-05, at 6:12 AM, Mats Bengtsson wrote:
Graham Percival wrote:
An alternative would be to use \book for each piece individually, keeping the headers in LaTeX. Currently \book forces a newpage, so I'd need to turn that
off somehow.

??? When I try it here, I get a separate output PDF file for each
\book{...}. Bug or feature?
How can I use it to get all the resulting scores in the same file as
you describe it?

Actually, I haven't tried more than one \book{} in a .lytex file; I couldn't
get the first one to work.

You should have better results if you use \book; inside a lilypond-book document, \book will output each page as a single .eps , so \pageBreak will probably work.

I have only partial success here. When trying the example attached at
the end of this email, I only get the first score line of the first
page, the second one is lost. On the second page, I get the desired
two score lines. Please debug and fix before version 2.6!

The second line of the first page _is_ in the .eps file. My guess is that
the "high above" text pushes it too low, and the second line gets cut
off by the bottom margin.

You didn't mention this, so I'm not certain if you see the same behavior: On fink 2.5.23 (and your test file) my first page consists of only "Hello!";
there's a pagebreak, then the "high above" and one line of music on page
2. It would great if this was tweakable; if breakbefore (or firstbreakbefore)
is false, don't insert a pagebreak before the \book.

What if I use an embedded LaTeX \newpage?
lilypond-book produces a .tex file that includes a "whole piece" .tex file. That
"whole piece" .tex file includes many .eps files.  If there's a
\markup{ \\newpage }
halfway through the .ly file, wouldn't it end up halfway through the .eps files ?
or would it end up at the beginning or end of the .eps files?
With the default treatment in lilypond-book, where each score line
is typeset in its own .eps file, it would be extremely tricky to
implement a \lpbookPageBreak, since then lilypond would have to
report information back to lilypond-book on where it should insert
the page break.

OK, I understand that now. I was previously thinking that the .eps wasn't
completely compiled; in other words,

{
c4 c c c \break
d^\markup{ \postscript #"foo" } d d d \break
e e e e
}

would result in a .tex that looked something like this:
\include{picture1.eps}
\include{picture2.eps}
foo
\include{picture3.eps}
(and "foo" could be the TeX or postscript newpage command)

In other words, I guess I forgot that .eps stood for encapsulated _postscript_. :)
Oh well.

However, if you use the completely undocumented feature that you only
get one .eps file per page if you enclose your \score in a \book,
then you could use normal \pageBreak, as soon as the bugs have been
fixed.

If I can retain my LaTeX text at the beginning (and ending) of the pages, great.

In other words,

Page1:
LaTeX foo
+----+
|book |
+-----+

Page 2:
+-----+
|     |
|     |
|     |
+-----+

Page 3:
+-----+
|     |
+-----+
LaTeX foo

Cheers,
- Graham