+ local split_dir_whatsit, split_dir_head
+ local cat_lp = luatexbase.catcodetables['latex-package']
+ local sprint, scan_int, tex_getbox = tex.sprint, token.scan_int, tex.getbox
+ function luatexja.direction.vsplit()
+ local n = scan_int();
+ local p = to_direct(tex_getbox(n))
+ split_dir_head = nil
+ if p then
+ local bh = getlist(p)
+ if getid(bh)==id_whatsit and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR
+ and node_next(bh) then
+ ltjs.list_dir = has_attr(bh, attr_dir)
+ local q = node_next(p)
+ setfield(p, 'head', node_remove(bh,bh,bh))
+ split_dir_head = bh
+ end
+ end
+ sprint(cat_lp, '\\ltj@@orig@vsplit' .. tostring(n))
+ end