gpt4 book ai didi

python - 为 Jinja2 和 LaTeX 转义斜杠

转载 作者:行者123 更新时间:2023-12-04 17:52:30 29 4
gpt4 key购买 nike

我正在尝试使用 python 脚本使用 LaTeX 和 Jinja2 进行报告自动化。我设法用 .txt 文件中的一些数据填充了一个简单的表格。

我想在我的数据文件中使用包含字符“/”的变量名称。然而 python 解释/.我尝试使用从几个网站获取的过滤器,但我无法逃脱它。

我的 key 如下:<RF/Freq> .我要求 Jinja 找出“<”和“>”之间的术语,我在 LaTeX 模板中也有相同的术语。

这就是我目前的过滤器:

LATEX_SUBS = (
(re.compile(r'\\'), r'\\textbackslash'),
(re.compile(r'([{}_#%&$])'), r'\\\1'),
(re.compile(r'~'), r'\~{}'),
(re.compile(r'\^'), r'\^{}'),
(re.compile(r'"'), r"''"),
(re.compile(r'\.\.\.+'), r'\\ldots'),
(re.compile(r'/'), r'\/')
)

def escape_tex(value):
newval = value
for pattern, replacement in LATEX_SUBS:
newval = pattern.sub(replacement, newval)
return newval

但是 Jinja 返回: jinja2.exceptions.UndefinedError: 'RF' is undefined

有关信息,我的 latex 模板包含:

\documentclass[12pt,a4paper]{article} 
\begin{document}
\begin{tabular}{c|c}
Test & Result \\
\hline

Frequency & <RF\Freq | escape_tex>

\end{tabular}
\end{document}

我尝试了在 SE 或其他网站上找到的多种解决方案,但都没有成功。

最佳答案

据我所知,你不能。在尝试在 Jinja 模板中使用它们之前,您必须替换标识符中 Python 不喜欢的字符。

关于python - 为 Jinja2 和 LaTeX 转义斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43495728/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com