如何在Sphinx中正确使用Numref表?

2022-04-21 00:00:00 python python-sphinx

问题描述

我正在尝试通过Sphinx文档中的编号引用一个表。我为该表指定了一个名称,然后尝试使用numref,但它错误地显示了该表的标签("MODULES_CLASSES")而不是其编号。

.. _modules_classes:

.. table:: Modules and their corresponding abstract classes

[table content]

Modules and their corresponding abstract classes are presented on table :numref:`modules_classes`.

我也试过这样做,就像我在网上找到的一个例子,但结果是一样的:

.. table:: Modules and their corresponding abstract classes
    :name: modules_classes

在我看来,我不需要导入numfig包,因为它默认包含在Sphinx中。使用命令:ref:显示表格的标题,因此我理解引用是正确的。有人能指出我做错了什么吗?


解决方案

补救方法是在conf.py中设置numfig = True。如果没有此设置,在运行sphinx-Build时,您应该会看到一条消息,提示"警告:数字文件已禁用。:数字参考文件:已忽略"。

这适用于HTML和LaTeX输出。请参见https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-numfig。

相关文章