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