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,则在每个节标签前面加上它所在文档的名称,后跟冒号。例如对于文档中出现的、在
Introdution部分的index.rst,生成的标签名为index:Introduction。当同名的章节标题出现在文档的不同部分中时,有助于避免造成歧义。
- autosectionlabel_maxdepth¶
- 类型:
int | None- 默认:
None
如果设置了该值, autosectionlabel 将根据章节的深度选择要标记的章节。例如,当
autosectionlabel_maxdepth设置为 1 时,仅为顶级章节生成标签,而较深的章节则不生成标签。默认值为None(即所有章节均生成标签)。
调试¶
WARNING: undefined label 警告表示您在 ref 中的引用拼写错误。使用 -vvv (参见 -v )调用 sphinx-build 将打印所有章节名称及其生成的标签。此输出有助于找到正确的引用标签。