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}}}.
也许这值得一试。
我想使用 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}}}.
也许这值得一试。