Hello Henri.
insert ActualText within the
mlist_to_hlist callback
May be it's a very good idea,but how i can get text of formula. Because if i redefine $$ or $ or another commands,i can get text of formula,but how i can do it in node tree?
You asked a similar question about that before as well, but for
local_par instead of mlist

Thank you very mutch fore link to my question,because i couldn't found it,but in your example exist issue,because if in pdf document in paragraf more then one line,pdfliteral only inserted at the first line. Please,if it not difficult for you,fix this issue. here is a document where you can see this issue. Thank you very mutch for your help.

\documentclass[11pt]{amsart}
\usepackage{atbegshi}
\usepackage{luacode}
%\usepackage{tagpdf}
%\tagpdfsetup{tabsorder=structure,uncompress,activate-all,interwordspace=true}
%\pdfextension catalog{/Lang (ru-RU)}
\begin{luacode}
local local_par_counter=0
local BDC = node.new("whatsit","pdf_literal")
local EMC = node.new("whatsit","pdf_literal")
BDC.mode = 2
EMC.data = 'EMC'
EMC.mode = 2
function fields(par)
f,f0=node.fields(par.id,par.subtype),""
for _,c in ipairs(f) do
if c~=nil and par[c]~=nil then
f0=f0.."field "..c.." value "..tostring(par[c]).." "
end
end
return f0
end
function tag_local_par(parent, level)
    local head = parent.list
    while head do
texio.write_nl("type "..(node.type(head.id)~=nil and node.type(head.id) or "unknown"))
texio.write_nl("fields "..fields(head))
        if head.id == node.id"hlist" or head.id == node.id"vlist" then
            if head.list and head.list.id == node.id"local_par" then
                local par_list = head.list and head.list.next -- local_par should always be followed by a list
local_par_counter=local_par_counter+1
BDC.data = string.format('/Span <</ActualText(paragraph %s)>> BDC',local_par_counter)                 head.list = node.insert_before(head.list, head.list, node.copy(BDC))                 par_list = node.insert_after(par_list, node.tail(par_list), node.copy(EMC))
elseif head.list~=nil then
end
            tag_local_par(head, level + 1)
        end
        head = head.next
    end
end
\end{luacode}
\AtBeginShipout{\directlua{texio.write_nl("type "..node.type(tex.box["AtBeginShipoutBox"].id)) texio.write_nl("fields "..fields(tex.box["AtBeginShipoutBox"])) tag_local_par(tex.box["AtBeginShipoutBox"], 0)}}%
\begin{document}
a b c d e f g h
a $a_{n} = 0$ for some $n$, then show that either $a_{0} = 0$ or $a_{1} = 0$.
\end{document}

Reply via email to