如何解决在渲染到 LaTeX 数据之前将过滤器应用于 jinja2 模板
我想在 jinja 将数据呈现为由 LaTeX 生成器读取的数据之前对数据应用过滤器,对于上下文,这就是问题:
def safe_tex(text: str) -> str:
special_chars = ['&','%','$','_','{','}','#']
for char in special_chars:
text = text.replace(char,"\\" + char)
return text
这样做有效的是转义任何已定义的字符,以便在呈现并放入 LaTeX 时,我可以将特殊字符用作常规字符串。
目前我已经能够通过使用 jinja 的过滤器功能在模板中做到这一点,如下所示:
\begin{document}
Company: {{company.name|safe_tex}}
\end{document}
渲染到:
\begin{document}
Company: AT\\&T
\end{document}
这对于公司名称是 AT&T 来说很好用(因为我需要为 LaTeX 转义“&”字符以生成正确的文档)但是我如何在我的 Python 环境中执行此操作以避免必须每次都在模板中执行?
(LaTeX 模板可以达到数千行,因此,我想避免在每个可能出现特殊字符的地方都应用过滤器)
非常感谢:)
乔希
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。