2

我正在按照 numpy 文档字符串指南编写我的文档字符串。然后我使用 sphinx 的 autodoc 来生成我的文档。在一些文档字符串中,我使用了 LaTeX 公式(sphinx.ext.mathjax)。这似乎\r意味着一些特别的东西,比如一条新线。如果我有以下命令:

"""
This :math:`\langle a, b\rangle` denotes the dot product of a and b
"""

它没有正确渲染。它将角度换成新行并给我一个错误:内联解释文本或短语参考起始字符串没有结束字符串 如果我用 \langle 替换 \rangle 一切正常。我怎样才能解决这个问题?

4

1 回答 1

4

解决方案是用双斜杠转义或在三引号中放置一个“r”(不带引号),这会禁用引号内斜杠的解释:

r"""
This :math:`\langle a, b\rangle` denotes the dot product of a and b
"""

有几个前缀会影响字符串文字的定义,请参阅Python 的文档

相关摘录:

反斜杠 () 字符用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符。

字符串和字节文字都可以选择以字母“r”或“R”作为前缀;此类字符串称为原始字符串,并将反斜杠视为文字字符。因此,在字符串文字中,原始字符串中的 '\U' 和 '\u' 转义不会被特殊处理。

于 2017-10-03T13:41:18.050 回答