问题描述
我想在 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 (将#修改为@)