Small improvements/fixes
This commit is contained in:
parent
913b7150e1
commit
6f92838e19
@ -23,6 +23,14 @@ lua.get_functions_table()[funcid] = function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function shallow_copy(t)
|
||||||
|
local tt = {}
|
||||||
|
for k,v in next, t do
|
||||||
|
tt[k] = v
|
||||||
|
end
|
||||||
|
return tt
|
||||||
|
end
|
||||||
|
|
||||||
-- Possible flag values:
|
-- Possible flag values:
|
||||||
-- 0: Normal (This is the only supported one in display mode)
|
-- 0: Normal (This is the only supported one in display mode)
|
||||||
-- 1: Like 0, result is display math
|
-- 1: Like 0, result is display math
|
||||||
@ -48,14 +56,16 @@ local function save_result(xml, display)
|
|||||||
mlist_result, mlist_display = xml, display
|
mlist_result, mlist_display = xml, display
|
||||||
token.put_next(filename_token)
|
token.put_next(filename_token)
|
||||||
local filename = token.scan_argument()
|
local filename = token.scan_argument()
|
||||||
|
local tracing = tex.count.tracingmathml > 1
|
||||||
|
local xml_root = (filename ~= '' or tracing) and make_root(shallow_copy(xml), display and 0 or 2)
|
||||||
if filename ~= '' then
|
if filename ~= '' then
|
||||||
assert(io.open(filename, 'w'))
|
assert(io.open(filename, 'w'))
|
||||||
:write(write_xml(make_root({[0] = 'mrow', xml}, display and 0 or 2), true):sub(2) .. '\n')
|
:write(write_xml(xml_root, true):sub(2) .. '\n')
|
||||||
:close()
|
:close()
|
||||||
end
|
end
|
||||||
if tex.count.tracingmathml > 1 then
|
if tracing then
|
||||||
-- Here xml gets wrapped in an mrow to avoid modifying it.
|
-- Here xml gets wrapped in an mrow to avoid modifying it.
|
||||||
texio.write_nl(write_xml(make_root({[0] = 'mrow', xml}, display and 0 or 2)) .. '\n')
|
texio.write_nl(write_xml(xml_root) .. '\n')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -81,7 +91,7 @@ luatexbase.add_to_callback('pre_mlist_to_hlist_filter', function(mlist, style)
|
|||||||
save_result(xml, style == 'display' or flag & 1 == 1)
|
save_result(xml, style == 'display' or flag & 1 == 1)
|
||||||
end
|
end
|
||||||
if flag & 8 == 8 then
|
if flag & 8 == 8 then
|
||||||
write_struct(make_root(mlist_result, mlist_display and 0 or 2))
|
write_struct(make_root(shallow_copy(xml), (style == 'display' or flag & 1 == 1) and 0 or 2))
|
||||||
end
|
end
|
||||||
if style == 'text' then
|
if style == 'text' then
|
||||||
local startmath = tex.nest.top.tail
|
local startmath = tex.nest.top.tail
|
||||||
|
Loading…
Reference in New Issue
Block a user