6

我正在尝试使用 latexpdf 输出在我的 Sphinx 文档项目中使用编号的数字。我安装了在这里找到的 Sphinx numfig.py 扩展https://bitbucket.org/arjones6/sphinx-numfig

但是,每当我使用 :num: 应该提供与图形编号的交叉引用的标签时,我都会得到以下信息

第一次

.. _fig_logo:


.. figure:: logo.*

        Example of a figure

Reference to logo :num:`figure #fig_logo`

生成输出:

参考标志图??

难道我做错了什么?

4

1 回答 1

7

似乎如果您的标签名称中有下划线(例如 in fig_logo),sphinx 会用减号 ( 替换它-,这是有道理的,因为在带有下划线的情况下,乳胶有时会表现得很奇怪),而引用仍然使用下划线。由于这个原因,乳胶找不到引用的标签。

这是 sphinx 生成的 tex 代码:

\includegraphics{logo.png}
\caption{Example of a figure}\label{index:fig-logo}\end{figure}

Reference to logo \hyperref[index:fig_logo]{figure  \ref*{index:fig_logo}}

fig-logo(注意作为标签和fig_logo作为参考之间的区别。)

例如,如果您用减号替换下划线

.. _fig-logo:


.. figure:: logo.png

        Example of a figure

Reference to logo :num:`figure #fig-logo`

tex 代码如下所示:

\includegraphics{pandas_bar.png}
\caption{Example of a figure}\label{index:fig-logo}\end{figure}

Reference to logo \hyperref[index:fig-logo]{figure  \ref*{index:fig-logo}}

在生成的pdf中,这被解决为

参考标志图1

更新

如果您不想更改可以更新的所有标签numfig:添加该行就足够了

target = target.replace('_', '-')

就在您的扩展副本中的第27行之前。

我在 bitbucket 上 打开了一个问题。

于 2013-02-26T18:52:57.323 回答