LuaLaTeX 中的 tex.sprint

LuaLaTeX 中的 tex.sprint

我想按XML文件打印文本。但是使用tex.sprint回车符时,回车符被删除,所有文本在 PDF 中都显示在一行中。如何避免这种情况?

我的ds.tex文件是

\documentclass{article}
\usepackage{luacode}

\begin{document}

\begin{luacode*}

local foo = require "lua/ds"
foo.flowDom("ds.xml")

\end{luacode*}

\end{document}

我的ds.xml文件是:

<?xml version="1.0"?>
<Root>
    <p>Hello World!</p>
</Root>

我的ds.lua文件是:

local function flowDom(xml)
    local function readfile(filename)
       local f = assert(io.open(filename, 'r'))
       local t = f:read('*all')
       f:close()
       return t
    end
    local json = utilities.json
    local domobject = require "luaxml-domobject"
    XMLIn = readfile(xml)
    local dom = domobject.parse(XMLIn)
        tex.sprint(XMLIn)
end
return { flowDom = flowDom }

在命令/终端提示符中我使用了:

lualatex ds.tex

答案1

如果您只是想打印文档中的 XML 文件,而不需要解析它,您可以使用\lstinputlisting

\documentclass{article}
\usepackage{listings}

\begin{document}

\lstinputlisting[language=XML]{ds.xml}

\end{document}

在此处输入图片描述

相关内容