Pythons TexSoup无法解析文档

问题描述 投票:1回答:1

我正在使用Python模块TexSoup来解析*.tex文件。不幸的是,它似乎根本不起作用。它成功解析了文件,但示例从未返回预期值。为了演示起见,我使用了一个名为solution_length.py

的Python示例
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

看来该项目仍然得到维护,但我无法使其正常运行。知道我在这里缺少什么吗?

python latex
1个回答
1
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.