sphinx.ext.autosectionlabel
– 允许通过标题引用章节¶
在 1.4 版本中添加。
默认情况下,对章节的交叉引用使用标签 (参见 ref
)。此扩展允许您改为通过标题引用章节。
例如
A Plain Title
-------------
This is the text of the section.
It refers to the section title, see :ref:`A Plain Title`.
在内部,此扩展为每个章节生成标签。如果在整个文档中使用相同的章节名称,则默认情况下将使用任何一个作为目标。autosectionlabel_prefix_document
配置变量可用于使在不同文档中多次出现的标题变得唯一。
配置¶
- autosectionlabel_prefix_document¶
- 类型:
布尔值
- 默认值:
False
设置为 True 以在每个章节标签前加上它所在的文档的名称,后跟一个冒号。例如,对于文档
index.rst
中名为Introduction
的章节,标签为index:Introduction
。当相同的章节标题出现在不同的文档中时,这对于避免歧义非常有用。
- autosectionlabel_maxdepth¶
- 类型:
int | None
- 默认值:
None
如果设置,autosectionlabel 会根据深度选择要标记的章节。例如,当
autosectionlabel_maxdepth
设置为 1 时,仅为顶级章节生成标签,而更深层次的章节则不标记。它默认为None
(即,所有章节都标记)。
调试¶
WARNING: undefined label
表示您在 ref
中的引用拼写错误。使用 -vvv
调用 sphinx-build (参见 -v
) 将打印所有章节名称以及为其生成的标签。此输出可以帮助找到正确的引用标签。