如何在 Sphinx :class: 角色后面添加复数-s

问题描述 投票:0回答:2

我一直有这个问题,我想写一个这样的文档字符串:

def foo(arg):
   '''Add ``arg`` to the list of :class:`foo.bar.baz.Argument`s.'''
   pass

但是,这不起作用,Sphinx 会警告

py:class reference target not found: foo.bar.baz.Argument`s

因此它将结束反引号后的

s
视为类名的一部分。例如,这种情况不会发生标点符号,如点
.
。 除了在类名和复数之间添加空格(这看起来很疯狂)之外,还有什么可以做的吗?

python-3.x python-sphinx
2个回答
14
投票

您应该能够使用反斜杠转义的空格

def foo(arg):
   r'''Add ``arg`` to the list of :class:`foo.bar.baz.Argument`\ s.'''
   pass

0
投票

与@mzjn的答案类似,但在Python的最新版本中,你必须包含两个反斜杠,例如:

def foo(arg):
   """Add ``arg`` to the list of :class:`foo.bar.baz.Argument`\\ s."""

如前所述,原始字符串(“r-string”)也可以用一个反斜杠完成这项工作:

def foo(arg):
   r"""Add ``arg`` to the list of :class:`foo.bar.baz.Argument`\ s."""
© www.soinside.com 2019 - 2024. All rights reserved.