lilypond-devel
[Top][All Lists]
Advanced

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

Re: Page and line penalties


From: Werner LEMBERG
Subject: Re: Page and line penalties
Date: Fri, 07 Apr 2006 08:31:36 +0200 (CEST)

> My current working copy of lilypond does what you just said (using
> inverse rest durations for penalties).  I've done some testing and
> tweaking and I've come to the conclusion that penalties are a bad
> idea.  I think everything to do with page breaks, line breaks and
> page turns should be in terms of ALLOW, FORBID and FORCE.

Hmmm.

> For example, if incrementing the number of breakpoints in B
> increases F(B) then adding 2 to the number of breakpoints in B will
> only increase F(B) more.  This is good because it means that the
> user can change things predictably.  If the user decides to forbid
> one particular breakpoint, they can be confident that the music
> won't suddenly blow up to twice the number of pages.

TeX has exactly the same problem.  Interestingly, Knuth seems to have
accepted this.  Isn't it possible to provide default values for the
badness, stretchable and shrinkable space, and other parameters which
ensure a certain layout stableness?

> It's very difficult to find a nice balance that will work for a
> large number of cases.  I've been playing around with different page
> turning penalties and the outputs can very so wildly that it's very
> hard to pick one.

But this problem is inevitable if you insert more than a system can
hold, isn't it?  You should probably discuss this problem on
comp.text.tex -- there you find most of the TeX gurus who have dealt
with TeX's breaking algorithm.

> [...] I think the unpredictability and instability of the result
> make it not worthwhile trying to do this automatically.

I disagree.  Dense typesetting (this is, not having much shrinkable
horizontal space) will *always* cause large shifts of system and page
breaks.


    Werner




reply via email to

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