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 again. > And what about > \ifnum\outputpenalty=\@M \else > \penalty\outputpenalty > \fi I think that would work. The point is that if TeX breaks the page *not* at a penalty (effective penalty=0) it flags that by setting \outputpenalty=10000 (which could never happen naturally). 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. You do not want to hold inserts when performing "supereject" (-20000), so you do need to release the inserts then. 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. -- Donald Arseneau [log in to unmask]