sphinx.ext.autosectionlabel
-- 允许通过标题引用章节¶
Added in version 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¶
- Type:
bool
- Default:
False
为每个章节标签添加所在文档的名称,后跟一个冒号。例如,对于名为
Introduction
的章节,它出现在文档index.rst
中,标签为index:Introduction
。当相同的章节标题出现在不同文档中时,有助于避免歧义。
- autosectionlabel_maxdepth¶
- Type:
int | None
- Default:
None
如果设置了,autosectionlabel 通过其深度选择要标记的章节。例如,当
autosectionlabel_maxdepth
设置为 1 时,仅为顶级章节生成标签,而深层章节不会被标记。默认为None
(即所有章节都被标记)。
调试¶
WARNING: undefined label
表示您在 ref
中引用的内容拼写错误。使用 -vvv
(参见 -v
)调用 sphinx-build 将打印所有章节名称以及为其生成的标签。此输出有助于找到正确的引用标签。