是否有用于解析 LaTeX 的 python 模块?

是否有用于解析 LaTeX 的 python 模块?

我正在寻找编写修改 LaTeX 源文件的 Python 程序。为此,我希望有一个基本的 Python 解析器,它可以可靠地读取和写入 LaTeX 文件,同时维护树。如果它不是完整的实现,我没问题,但我需要它来处理 LaTeX 奇怪的引用规则和{}符号。正则表达式对此不起作用,因为括号可以递归。

编辑:

我主要想处理递归括号,这就是为什么我需要一个解析器,而不是一个简单的词法分析器。也就是说,我希望能够将其注册\foo{}为我关心的命令并捕获:

\foo{this is the foo argument}

但我也希望能够捕捉到:

\foo{this is \emph{really} the foo argument}

有没有这样的 python 模块?

答案1

请查看乳胶步行器吡拉西坦可以帮助:

from pylatexenc.latexwalker import LatexWalker

w = LatexWalker(r"\foo{this is \emph{really} the foo argument}")
(nodelist, pos, len_) = w.get_latex_nodes(pos=0)

print(nodelist[0].macroname)
print(nodelist[1].latex_verbatim())

>>> foo
{this is \emph{really} the foo argument}

相关内容