Uwe Lück <[log in to unmask]> writes:
> 1. I have solved my practical problem. I still don't know
> what exactly happened before -- I don't care. As a hint:
> It has worked since I have run \outputpenalty=-10004
> with \holdinginserts>0 (I reported before that otherwise
> the \footins box isn't empty with the ensuing
> \outputenalty=-10002, in spite of \holdinginserts>0).
> 2. With simply switching \holdinginserts as sketched
> before, you create another bug (well, wait:). \@specialoutput
> measures the \footins box ..., so in adding floats it doesn't
> take account of any footnotes after \holdinginserts>0.
If you set \holdinginserts, of course you should not pass the page
data on to the "real" output routine: it will wack up all its
accounting. Special penalties are a problem. Strictly speaking, they
need to get reinserted, then the whole list reprocessed without
holdinginserts, the special routine called, and the holdinginserts
> I have made an example giving an awkward outcome
> -- guess: a float that better should have waited for footnotes,
> but one may wonder how real-life this is, I am preparing
> something perhaps more digestible, may be for CTAN or
> what someone suggests ...
You must _only_ _ever_ use \holdinginserts with _identical_ page
parameters, in particular the same \vsize as when doing the real run.
If you don't, the decisions which inserts to float and which ones to
split (and where) would differ.
> however, this seems to favour what Frank Mittelbach (at least some
> frank from latex-bugs...) expressed in latex/3370: the rewriting
> will be done for LaTeX3, not 2e.
Frank will be glad to hear that, I am sure.
David Kastrup, Kriemhildstr. 15, 44793 Bochum