Joe Neeman wrote:
I think the concatenation happens in parser.yy:847. Rather than creating
a new paper block every time \paper is seen, we just make a clone of the
most recent \paper block and start appending stuff to it. I don't think
there's a way (in the parser, at least) to tell when we've finished
dealing with all the paper blocks. Perhaps you'll need to normalize the
paper block a bit later on (like Book::process).

There remains another issue with bookparts: Consider a file like

\book {
 \bookpart {
    \paper {
       left-margin = 20 \mm
       right-margin = 40 \mm
    }
    music...
 }
  \bookpart {
     \paper {
        left-margin = 30 \mm
        right-margin = 30 \mm
    }
    more music...
 }
  \bookpart {
     ...
}

There's no top-level paper block, so default-paper will only contain what's stored in paper-defaults-init.ly. The ps output engine in framework-ps.scm:92, however, looks for a >global< line-width. Currently, this line-width is just the default line-width calculated in paper.scm (set-paper-dimensions) or, you can also do:

\paper {
line-width = 14232 \mm % Today I want to wallpaper my room with sheet music
}
\book {
  \bookpart {
     \paper {
         ...

This value will be written in the output ps file, but seems to have no effect.
To sum up: What's the intention of this line-width value in ps output files?

Cheers,
Michael


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to