防止LaTeX输出中特殊字符被转义

0 投票
1 回答
516 浏览
提问于 2025-05-01 18:19

默认情况下,Sphinx生成的LaTeX输出会对LaTeX标记进行转义。这意味着如果我写:

Normal text

.. only:: latex

   \textbf{latex only text}

在执行完 make latexpdf 命令后,结果会变成

Normal text

textbf\{latex only text\}

在LaTeX中。因此,所有字符都被转义了,这样就不再是有效的LaTeX代码了。那么,有没有办法直接将LaTeX代码传递到Sphinx生成的tex源文件中呢?

最小可重现示例(MWE)是先运行 sphinx-quickstart 并接受默认设置,然后在 index.rst 的某个地方输入上面的ReST代码,最后用 make latexpdf 来构建这个项目(在Windows上用 make.bat latexpdf)。

暂无标签

1 个回答

2

你想要的是 raw 指令:

.. raw:: latex

   \textbf{latex only text}

如果你只想在 LaTeX 输出中看到这段文字,你需要把它和 only 指令结合起来使用。

撰写回答