[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal: page breaking protocol
From: |
Nicolas Sceaux |
Subject: |
Re: Proposal: page breaking protocol |
Date: |
Sat, 29 Jul 2006 13:40:00 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (darwin) |
Joe Neeman <address@hidden> writes:
>> Today, the page breaking function (optimal-page-breaks) does the page
>> breaking + computes the page stencils + calls the page post process
>> function. This means that every alternate page breaking function has to
>> do the same.
> That's funny, I hadn't noticed before. In my page-breaking algorithms, I
> only do the page breaking and it still works for some reason. I'll
> investigate this further.
That may be because the memoization function page-stencil is called
later, and computes the stencils. But I doubt that annotations work.
>> Benefits:
>> - introduce page breaks between pieces or markups
>> - some pages inside the book can be ragged-bottom, which is nice to
>> separate chapters or acts of an opera for instance.
>
> I think that the best way to do the first is to add support within the
> page breaker. My breakers support \pageBreak at the end of a score. They
> would also support breaking after markups if there were a way to set
> 'page-turn-permission = 'force in the markup Prob.
But these things could be implemented once for all page breakers, in
order to have a consistent behaviour. And that would solve the problem
of the non-existent way of setting break penalties for markups.
BTW, setting a page break inside a score, and at the top level, is not
the same thing. One is a burden, and not the other: suppose one uses the
same score in different books, and wants a page break after the score in
one book but not in the other. IMHO, between-scores-or-markups
page breaks belong to the book (at top level), not to the score.
> The second sounds very handy, though.
>> The signature of page breaking functions changes [...]
>
> There are some conflicts between the way you've done things and the way
> I've done things. For my page-breaking algorithms, the page breaker
> needs to be able to control the way that lines are broken within scores.
> Therefore, it can't accept a lines parameter because that implies that
> the lines are already created.
Today, the page breaking function (as defined by the page-breaking
variable in the \paper block) already takes the `lines' and `paper-book'
arguments, so this is not how I've done things, but how they already
are. I just propose to add the three last arguments.
Ahem. I have not noticed that in your patch you change this interface,
sorry. Then what I described above should belong to the page breaker,
indeed. I'll see what can be done when your patch is commited.
nicolas