python - 将 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 而不是字符串。
解决方案
TeXSoup 开发人员已在 GitHub 中回答了这个问题。他说只需将 TexSoup 对象包含在 str() 中:
with open("out.tex", "w") as f:
f.write(str(soup))
推荐阅读
- java - Thymeleaf 表单验证
- javascript - 如何在窗口环境中获取我的 JavaScript UMD 包的完整字符串?`.toString()` 不起作用
- amazon-web-services - 通过 API Gateway 公开在 EKS 中运行的 Kubernetes 服务
- json - 如何在 Swift 中使用 Codable 解析 JSON?
- css - Safari 忽略 CSS :not() 规则
- azure - 我可以将 Azure 交互模式用于 azure-cli-ml 扩展吗?
- ios - Object-c 在变量的值改变后运行代码,怎么办?
- java - 编码毕达哥拉斯定理
- swift - 如何在 Kotlin 中扩展 Activity,例如在 Swift 中扩展 UIViewController
- gradle - Gitlab CI 缓存更新