[luatex] void box
Paul Isambert
zappathustra at free.fr
Wed Feb 8 07:43:40 CET 2012
Andreas Matthias <andreas.matthias at gmail.com> a écrit:
>
> Patrick Gundlach wrote:
> > you can say: node.new("hlist")
Thank you Patrick, I always forget that.
> >
> >
> >> curr = list
> >>
> >> for i=0,5 do
> >> n = node.new(node.id('glyph'))
> >> n.font=1
> >> n.char=97+i
> >>
> >> curr.next = n
> >> curr = n
> >> end
> >
>
> Well, if the first node is missing, I have to check inside the
> loop for each created node whether or not it becomes the head
> of the list. I think the code is much clearer without additional
> if-clauses. And one can always remove the very first node
> afterwards. -- Okay, maybe not a big advantage. But this was
> the reason why I started to look for a suitable header of a
> node list, i.e. an empty or void box. And I was astonished to
> realize that I didn't know what a \voidb at x really was.
Actually, you can do without a dummy head and without conditionals:
local list
for i = 0, 5 do
local n = node.new("glyph")
n.font = 1
n.char = 97+i
list = node.insert_after(list, nil, n)
end
That's because node.insert_after can take `nil' as its first argument
(in which case it simply returns the `added' node) ... a functionality
I didn't understand what it was good for until now!
(I've added local's because I didn't know whether you're naturally light
on them, which is *very bad*, or you just omit them for examples.)
Best,
Paul
More information about the luatex
mailing list