ラベル名にアンダースコアが含まれている場合(のようにfig_logo
)、スフィンクスはこれをマイナスに置き換えます(-
これは、ラテックスがアンダースコアを使用している場合に奇妙な動作をすることがあるため、これは理にかなっています)。そのため、ラテックスは参照されているラベルを見つけることができません。
これは、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 で問題を開きました。