似乎如果您的标签名称中有下划线(例如 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 上 打开了一个问题。