[luatex] Multi-paragraph insert confuses linebreak filters.
taco at elvenkind.com
Thu Aug 5 12:04:25 CEST 2010
On 08/05/2010 11:38 AM, Paul Isambert wrote:
> The problem, as you can see, is that the paragraph of the second insert, with
> the explicit \par command, "thinks" it is in the main vertical list.
I can (almost/hopefully) explain why that is so: the page builder is
called from various bits in the input processing, like at the end
of a \par, or the start of a display, or the end of an \insert or
\vbox or \hbox, or when a \vskip is encountered at bottom level, etc.
Such calls trigger the callback handling is there is something that
is actually added to the vertical list (either main or an insert).
In some cases, the context is quite clear, like in your first example,
where it is triggered by the } that ends the \insert. But it is also
triggered by a \par command, and those are processed independently at
a different spot in the program, where it is not easy to deduce that
this is actually in the middle of an isert. In those cases, an empty
context argument is passed to the callback.
The reason why you don't see another 'insert' is because at that point,
there is actually nothing added to the main vertical list.
I can try to improve the context discovery, but I am not sure whether
it will work as expected soon: this list addition code was spread
all over TeX, and not much work has been done yet to reorganize it.
More information about the luatex