I'm very, very glad about guru Donald Arseneau's technical and
Something (part of which) may belong to the list:
At 21:09 25.03.05, you wrote:
>Uwe Lück <[log in to unmask]> writes:
>Triggering the output routine with \holdinginserts>0 means
>*nothing* is put in the footins box. If you ship out the
>page contents, the inserts are lost.
Yes, *nothing* is put in... yet:
Sorry, what I painfully found: \marginpar (e.g., usually) first gives
\outputpenalty=-10004. I thought: this doesn't call \@reinserts,
so I can keep \holdinginserts>0 here. Yet \outputpenalty=-10002
(or - 10003) comes next. Here I render \holdinginserts non-positive.
Yet the \footins box has been filled with the previous run of \output
(\outputpenalty=-10004), and it now -- in spite of \holdinginserts>0
-- keeps its content -- it is not emptied (as one test of mine shows),
and I'm sure the \insert's have been removed with the previous
\output run. -- And so, if I don't change \@reinserts, it reinserts
the previous \footins box content, contrary to my intention.
So I conclude that, with \outputpenalty=-10004, I have to render
\holdinginserts non-positive and rerun \output.
But then, the LaTeX output routine just does nothing (if I'm right,
it just restores the previous situation). According to the
documentation of the present LaTeX version, \outputpenalty=-10004
is to ensure that a footnote split is output on the next page.
I wonder how this feature changes when \output meets
\outputpenalyty=-10004 with \holdinginserts>0. So I wonder what to
do with split footnotes as soon as I use \holdinginserts in general.
Indeed I don't understand the previous treatment of split footnotes
so far. According to the TeXbook (p. 125), they are placed at (or near)
the top of the next list of contributions anyway, and what could one
do more to ensure that they are printed soon?
>The output triggering has to be rewritten to usually keep
>\holdinginserts=1, until a page is ready to ship out (normal
>output), then temporarily set \holdinginserts=0 and recycle
>the page contents (\unvbox255 etc). Then the next invocation
>of the output routine can ship out the page. That's what
>the answer in 3719 appears to do. What is wrong with it?
>I see a misuse of \outputpenalty, which may be the only
>This probably doesn't belong on this list, so email me.
I've learnt using \holdinginserts from Stephan Boettcher's
lineno.sty (which uses other values of \holdinginserts than 0
and 1, cf. another mail of mine).
What from latex/3719 puzzles or puzzled me:
1. At first, I thought the only problem of the present LaTeX
output routine were \@reinserts, so the proposal to keep a
positive \holdinginserts for *every* \@specialoutput seemed
to be wrong to me. Indeed, I still think that \clearpage
-- which is run with \outputpenalty=-10001 and at the same
time is a "\@specialoutput" -- urgently needs a
non-positive \holdinginserts. -- OK, my present guess is
that \output must be rerun with non-positive \holdinginserts
just if \outputpenalty is one of 10000, -10000 or -10001.
I don't want to deny that \outputpenalty=-10004 needs
a change, yet I wonder which.
2. The proposal of latex/3719 includes \let\@reinserts\relax,
and this broke my installation. (I.e.: If I use it, page-breaking
is refused at all, otherwise the \@reinserts bug keeps working.)
Yet this may be due to my special use with lineno.sty, and I
will investigate this problem on my own. At present, I think
lineno.sty should not change \@reinserts at all, lineno.sty
should just care that it never presents a non-void box to
\@reinserts. -- I.e.: At the present stage of my work, I'm not
trying to correct LaTeX, I'm just trying to prevent lineno.sty
from doing LaTeX's mistake. I plan to try to correct LaTeX
as soon as I have achieved my former objective.
3. I had wondered about \output@setup@vsize after
\@specialoutput in latex/3719, but here I have possibly
just misinterpreted the LaTeX code known to me earlier.
Thanks and best,