https://issues.apache.org/bugzilla/show_bug.cgi?id=46489





--- Comment #4 from Andreas L. Delmelle <adelme...@apache.org>  2009-03-22 
11:52:36 PST ---

In the meantime, I tracked the origin of the superfluous penalty to
BlockStackingLM.getNextKnuthElements() (line 350). Avoiding its creation and
insertion into the result list does not solve the matter, although we might
fare better in general if we only call addInBetweenBreak() in case the
returnedList, whose elements will be appended after that call, does not itself
already start with a forced break. (A similar thing happens in FlowLM, by the
way...)

The real issue is that the restarting point is set to the index of the penalty
representing the last page-break. Better put: the restarting point is always
set to right *before* the last page-break, instead of the immediately *after*. 
No problem for a regular break-possibility, but this generates the side-effect
of the extra page if the break was forced. 
Therefore, I'm thinking that the newStartPos variable in
PageBreaker.doPhase3WithLastPage() should unconditionally be set to
(pb.getLeafPos() + 1).

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to