Peter B. West wrote:
There seem to be some misapprehensions about what you are attempting;
perhaps they are mine, so please clarify this. As I understand it, the
mature, well-documented technology is the line-breaking, as in "Breaking
Lines Into Paragraphs." Using this model for page-breaking is something
that has been speculated about, in particular by Plass. However, in
implementing this, you and the others are breaking new ground.
If this is the case, then it is quite inaccurate to describe the
page-breaking as mature, well-understood, well-documented and
well-behaved technology.
Is that fair?
As Manuel has quickly answered, the box-penalty-glue model can be applied
to both line breaking and page breaking, and this is already clearly
stated in the cited article.
In the Texbook you can find out that horizontal lists (representing the
content of paragraphs) and vertical lists (representing content in the
block progression direction) are made of the same elements: boxes, glues
and penalties.
So, I think we can surely state that the model suits the page breaking
problem too.
What Tex does not is performing Knuth's breaking algorithm in order to
produce page breaks: it performs instead a simpler algorithm. But this is
due to the resource limits existing at the moment when Tex was devised,
and in the cited paper Knuth explicitly says so.
The page breaking problem has some more difficulties, concerning objects
whose placement does not follow the "main flow", for example floating
figures; in this case, the difficulty is the other side of freedom (the
position of these objects has little constraints) and comes from trying to
place them in the "best" possible way, which could lead to high
computational complexity: should this be too much, it would be enough to
use a simpler strategy instead, for example placing them in the first page
where they fit, and the "problem" would be solved.
So, I think we can say that the algorithm can be applied without any
concern to page breaking too.
Regards
Lucat