【问题标题】:Ampersand in Python to LaTeXPython中的&符号到LaTeX
【发布时间】:2021-09-23 23:55:59
【问题描述】:

我想使用 Python 生成的字符串自动生成 LaTeX 文档。该文档包含一个 LaTeX 表格:

\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表格中分隔列单元格。

我希望表格看起来像:

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

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

【问题讨论】:

    标签: python latex ampersand


    【解决方案1】:

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

    另外,看起来 chevron 是小胡子的实现,its documentation

    默认情况下,所有变量都是 HTML 转义的。如果要返回未转义的 HTML,请使用三重小胡子:{{{name}}}。

    也许这值得一试。

    【讨论】:

      猜你喜欢
      • 2018-07-26
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 2017-04-26
      • 2019-04-14
      • 1970-01-01
      相关资源
      最近更新 更多