Donald Arseneau <[log in to unmask]> writes:
> Uwe Lück <[log in to unmask]> writes:
>> At 13:30 26.03.05, you [David Kastrup] wrote:
>> >Donald Arseneau <[log in to unmask]> writes:
>> > > The problem with \penalty\outputpenalty is that \outputpenalty=10000
>> > > and prevents the same page break instead of forcing the same break.
>> >Well, when rebreaking, I find that using \pagediscards seems like the
>> >best thing to do. Then you get the same vertical list again, unless
>> >\outputpenalty is less than 10000, in which case you need to reinsert
>> >it in front of the discards (it will be replaced with \nobreak in the
>> >\pagediscards in this case).
>> And where is \pagediscards available? (Not by a Google search on CTAN.)
> \pagediscards is an etex primitive (built-in) command. David is
> probably right (since he has been looking at that stuff) but I
> don't see the benefit, since we want to get the same page break
If we are aiming for the same break, indeed the pagediscards are not
interesting. Indeed, as opposed to splitdiscards, the page discards
are what has been removed at the _start_ of the current output page,
not after it. So the pagediscards are only interesting if the
_previous_ break might need reversal.
Which is what I have to do in my sort of setup, so I probably confused
the requirements there with those of the simpler case presented here.
> I see no reason to reproduce the exact output penalty, since you are
> looking to get the same page break, so I would probably put a
> negative penalty there.
As the sort of a note aside: a forced penalty will lead to different
values of \pagetotal, \pageshrink and so on (more useful values,
actually), so if you have some subordinate output routine looking at
those values, it might make different decisions.
> There are references to \footins in \@specialoutput that have to be
> rewritten for the case when \holdinginserts is holding the
> inserts. (The whole point of holding them is that they do *not* come
> out when cycling through \@specialoutput.)
> I'm not sure that it is even possible to maintain the \@pageht
> methods when using \holdinginserts.
The page break decisions including splits of insertions and limiting
of insertion material to the respective dimen remain the same. It is
just that the material does not make it into the boxes, but stays in
insertion items in box255.
David Kastrup, Kriemhildstr. 15, 44793 Bochum