# [Dev-luatex] vpack_filter shipout mode?

Lincikas linuxss at list.ru
Sun Aug 22 19:01:14 CEST 2010

Fri, 20 Aug 2010 15:57:45 +0200 письмо от Hans Hagen <pragma at wxs.nl>:

> On 20-8-2010 2:16, linuxss wrote:
> > Hi, Hans,
> > I've got almost the same output, as I used 'pre_output_filter' callback
> > and a function on a \output command.
> >
> > 1)
> > \newtoks\oldoutput
> > \oldoutput=\expandafter{\the\output}
> > \output{
> > \directlua{node_check(tex.box[255], 'shipout')}
> > \the\oldoutput
> > }
> >
> > 2) callback.add('pre_output_filter', node_check, 'info')
> >
> > and I can't see here table and page number nodes.
> > pre_output_filter sounds like the all output should be prepared :)
> > if I use 'vpack_filter' i see all the nodes of the page.
> >
> > so that means, that 'vpack_filter' is closer to shipout then
> > pre_output_filter?
> > I thought is has to be in reverse :)
> >
> > question: when the pages and table are inserted into \box 255?
>
> I have no clue what your node_check does.
>
> Anyhow, there is no concept of a page number node and table node, a
> pagenumber is just a bunch of glyphs and a table becomes a collection of
> boxes (hlist/vlist) nodes.
>
> If you recurse over the node list then you will undoubtely see them,
> just as regular full tex tracing can show them.
>
> When pages are inserted depends on your macro package ... normally the
> pagebuilder does that (regular tex code, nothing built into the engine)
> and the same is true for a table, once the alignment is done it becomes
> boxes in the mvl or wrapped into some other box and again it ends up in
> the mvl. So, no magic there.
>
> Hans
>
>
> -----------------------------------------------------------------
>                                            Hans Hagen | PRAGMA ADE
>                Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>      tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
>                                               | www.pragma-pod.nl
> -----------------------------------------------------------------

node_check() does a simple node traversing and runs throe the hlists/vlist
recursively.
the function shows all the nodes (table, figure, page number, etc.) when i use a vpack_filter.
but with pre_output_filter i couldn't see all the nodes (using the same function).

I'll try to figure out everything after holidays. thanks a lot!

(sorry for my English)

Linas