首页 > 解决方案 > 将 TexSoup 树转换回 LaTeX

问题描述

我一直在测试一个名为 TexSoup 的 Python 模块,我发现它在解析 LaTeX 文档时非常有用。它还可以改变它们的结构和内容。但是,我无法将生成的 TeXSoup 对象转换回字符串,我可以将其输出为 LaTeX 文档。

假设我有以下 Python 脚本,它从 中删除空格pagenotes

from TexSoup import TexSoup
with open("input.tex") as f:
    tex_doc = f.read()
soup = TexSoup(tex_doc)
for n in soup.find_all(r'pagenote'):
    content = n.args[0].string
    n.args[0].string = content.strip()

如何写soup回文件?这不起作用:

with open("out.tex", "w") as f:
    f.write(soup)

因为soup是 TexNode 而不是字符串。

标签: pythonlatex

解决方案


TeXSoup 开发人员已在 GitHub 中回答了这个问题。他说只需将 TexSoup 对象包含在 str() 中:

with open("out.tex", "w") as f:
    f.write(str(soup))

推荐阅读