Python 中的 & 符号转换为 LaTeX

Ampersand in Python to LaTeX

我想使用 Python 生成的字符串自动生成 LaTeX 文档。该文档在 LaTeX 中包含 table:

\begin{table}
\begin{tabular}{|c|c|}
\hline
Index & Value \
\hline
{{ }}
\end{tabular}
\end{table}

在占位符 {{ }} 中输入由 Python:

生成的字符串
content = "1 & 3.0 \\ \hline\n 2 & 5.0 \\ \hline\n"

我使用chevron包和chevron.render将字符串内容输入TEX文件。

我得到的结果是:

也就是说,我得到“amp;”打印在每个单元格中。 “放大器”指的是在 LaTeX tables.

中用于分隔列单元格的字符 &

我希望 table 看起来像:

玩弄它,问题的根源是 chevron,用 amp; 替换 &,可能是为了转义 HTML 和 XML 文档中的 &。

我尝试将完整文件作为字符串并使用 Python string.replace("amp;", " & ")。这似乎可行,但这不是“教科书解决方案”。有没有更简洁的方法来解决这个问题?

我不熟悉 chevron,但它看起来 像是转义字符,这在 HTML 中具有特殊含义。当输出为 LaTeX 时,这很可能会造成混淆,因为它的转义需求完全不同。

此外,chevron 似乎是 mustache 的一个实现,its documentation

All variables are HTML escaped by default. If you want to return unescaped HTML, use the triple mustache: {{{name}}}.

也许这值得一试。