我正在使用Python模块TexSoup来解析*.tex
文件。不幸的是,它似乎根本不起作用。它成功解析了文件,但示例从未返回预期值。为了演示起见,我使用了一个名为solution_length.py
from TexSoup import TexSoup
tex = """\\documentclass[12pt]{article}
\\begin{document}
\\begin{equation}
1 + 1
\\end{equation}
\\end{document}
"""
a = sum(len(a.string) for a in TexSoup(tex).find_all("\\begin{equation}"))
print(a)
返回
0
看来该项目仍然得到维护,但我无法使其正常运行。知道我在这里缺少什么吗?
from TexSoup import TexSoup
tex = r"""
\documentclass[12pt]{article}
\begin{document}
\begin{equation}
1 + 1
\end{equation}
\end{document}
"""
a = TexSoup(tex).count('equation')
print(a)
屈服
1
按预期。
注意,您需要正确处理tex源中的反斜杠,因此最原始的字符串是最简单的。count
专门用于计数实例,但是这些实例不是文档的子字符串,而是经过解析的构造。find_all
返回汤类节点上的迭代器:
b = TexSoup(tex).find_all('equation') print(type(next(b)))
给予
<class 'TexSoup.data.TexNode'>
及其内容由all
获得>
for i in b: for x in i.all: print(x)
给予
1 + 1