Hello,
Here is what happens when \vcenter is encountered:
static
void
run_vcenter
(
void
)
{
scan_spec
(vcenter_group)
;
normal_paragraph
()
;
push_nest
()
;
mode
= -vmode;
prev_depth_par
= ignore_depth;
if
(every_vbox_par != null)
begin_token_list
(every_vbox_par, every_vbox_text)
;
}
So unlike other boxes is uses scan_spec and not scan_full_spec, which means it
cannot accept the attr and (b)dir keywords, and the directions registers are
not set to its direction
inside of it.
Then when it finishes we have:
void
finish_vcenter
(
void
)
{
halfword p;
unsave
()
;
save_ptr--;
p
= vpack
(vlink
(cur_list.head_field)
, saved_value
(
0
)
, saved_level
(
0
)
,
-1
)
;
pop_nest
()
;
p
= math_vcenter_group
(p)
;
tail_append
(p)
;
}
And because of the -1 in the last argument, its direction is determined by
\bodydirection,
unlike other boxes which in math context use \mathdirection if a (b)dir keyword
was not specified.
Why is that? It feels a bit inconsistent, and makes it a bit hard to follow
directions.
Thanks,
Udi_______________________________________________
dev-luatex mailing list -- [email protected]
To unsubscribe send an email to [email protected]