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.


Reply via email to