On 3/29/11, James Lowe <james.l...@datacore.com> wrote: > However if I move the \header { breakbefore = ##t } anywhere else from this > specific place I get an 'unexepcted \header' error.. for instance: > > \book { > \header { title = "Hello" } > \score { > \header { breakbefore = ##t } > \repeat unfold 10 { e'' e'' e'' e'' } > } > \score { > \repeat unfold 10 { b' b' b' b' } > } > } > > The header is still inside the \score { } but this fails.
Yes, because a score must start with a music expression. LM 3? > Also if I put it in the second \score construct like so: > > \book { > \header { title = "Hello" } > \score { > \repeat unfold 10 { e'' e'' e'' e'' } > } > \score { > \repeat unfold 10 { b' b' b' b' } > \header { breakbefore = ##t } > } > } > > I get the title on the page 1 with the first score and the second score on a > new page - 2 pages instead of 3. That seems to be expected -- there's a break before the second score? > If I add a second 'header' making the assumption that the breakbefore will > break the *previous* header, then this: > > \book { > \header { title = "hello" } > \score { > \repeat unfold 10 { e'' e'' e'' e'' } > \header { title = "goodbye" } > } > \score { > \repeat unfold 10 { b' b' b' b' } > \header { breakbefore = ##t } > } > } > > Outputs the same as the one previous (I get no "goodbye" in my title). Did you turn on print-all-headers ? If not, then IIRC a \header{} inside a \book{} will only print the piece and opus fields. > If I try to move my real header inside the \score { } > > \book { > \score { > \repeat unfold 10 { e'' e'' e'' e'' } > \header { title = "goodbye" } > } > \score { > \repeat unfold 10 { b' b' b' b' } > \header { breakbefore = ##t } > } > } > > Then I get 2 pages but no titles at all. Sounds like the print-all-headers thing. > So I really don't know what use this is as > > 1. It only allows one \header { } title to be displayed - even if you add > different \header { } components (i.e. poet = or instrument = etc) they > don't print. Nothing to do with breakbefore; this is strictly a matter of headers in general. > 2. You must put the \breakbefore in a *very* specific place else it does > nothing or gives you a compilation error. You cannot just put it 'anywhere' > inside the score and you have to put it in the 'first' and then in a place > after the notes. You "must" place it anywhere a \header is valid. Again, nothing to do with breakbefore in particular; this is just a general issue of lilypond input syntax. I know it's a bit iffy seeing a \header {breakbefore==#t} which affects the "previous" music expression... think about it this way: a \score{} is a "simultaneous" expression. The music expression, and any optional \header{}, \layout{}, and \midi{} all "happen" at the "same time". > So I'm struggling to see the point of this breakbefore and wonder if anyone > really uses it in this context. I think the problem lies in the general docs about input syntax, and print-all-headers. I'm more concerned about the first point -- could you read Learning 3.1 How LilyPond input files work and look for the missing info? (hmm... I almost wonder if we should have a "learning week" -- we really encourage people to read the Learning manual against, regardless of their ability level. Highly advanced users won't learn anything but might suggest improvements, while anybody who isn't one of the top 10 lilypond users in the world are almost guaranteed to learn something they missed the first few times reading it!) Cheers, - Graham _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel