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¶
- 类型:
bool- 默认:
False
如果为True,则每个章节标签都会以其所在文档的名称为前缀,后跟一个冒号。例如,对于出现在文档
index.rst中的名为Introduction的章节,标签为index:Introduction。当不同文档中出现相同的章节标题时,这对于避免歧义非常有用。
- autosectionlabel_maxdepth¶
- 类型:
int | None- 默认:
无
如果设置,autosectionlabel 将根据其深度选择要标记的章节。例如,当
autosectionlabel_maxdepth设置为 1 时,只为顶层章节生成标签,更深层的章节不会被标记。它默认为None(即所有章节都被标记)。
调试¶
WARNING: undefined label 表示您在 ref 中的引用拼写错误。使用 -vvv (参见 -v)调用 sphinx-build 将打印所有章节名称以及为它们生成的标签。此输出可以帮助找到正确的引用标签。