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) 将打印所有章节名称以及为其生成的标签。此输出可以帮助找到正确的引用标签。