Я работаю над проектом Sphinx для документации программного обеспечения, которая включает в себя много цифр. Я использую «numref» для ссылки на картинки. В HTML работает нормально. В LaTex я получаю рис. Есть только несколько вопросов о numref в Интернете, и ответы не помогли мне. Кто-нибудь может сказать мне, что я делаю неправильно?
Я установил среду Sphinx с помощью sphinx-quickstart. Соответствующие строки из моего conf.py:
# Conf.py
# Automatic numbering
numfig = True
# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
'papersize': 'a4paper',
# The font size ('10pt', '11pt' or '12pt').
#
'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
# 'preamble': '',
# Latex figure (float) alignment
# 'figure_align': 'htbp',
'figure_align': 'H' # disable floating
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'PDF_Test.tex', 'PDF generation',
'Niels de Nies', 'manual'),
]
Мой источник (index.rst) выглядит следующим образом:
#########################
Sphinx numref Test
#########################
My first chapter
----------------
The purpose of this test is to get the numref of figures working in LaTex.
Section 1
~~~~~~~~~
.. figure:: ../images/hippo.png
:name: hippo
:numref:`hippo` Hippopotamus
The figure above (:numref:`hippo`) shows an illuminated hippopotamus.
The 'numref' works fine in HTML, but results in Fig. ?? with LaTex
Below the alternative way using a label. The results are exactly the same:
Perfect for HTML, but undefined reference for latexpdf
.. _fig_hippo:
.. figure:: ../images/hippo.png
:name: hippo
:numref:`fig_hippo` Hippopotamus
В командной строке LaTeX показывает:
=== TeX engine is 'pdfTeX'
Latexmk: Index file 'PDF_Test.idx' was written
Latexmk: Log file says output to 'PDF_Test.pdf'
Latexmk: List of undefined refs and citations:
Reference `index:hippo' on page 1 undefined on input line 111
Reference `index:hippo' on page 1 undefined on input line 113
Latexmk: Summary of warnings from last run of (pdf)latex:
Latex failed to resolve 2 reference(s)
Latexmk: All targets () are up-to-date
В сгенерированном PDF_Test.tex следующие строки создают проблему:
\hyperref[\detokenize{index:hippo}]{Fig.\@ \ref{\detokenize{index:hippo}}} Hippopotamus
The figure above (\hyperref[\detokenize{index:hippo}]{Fig.\@ \ref{\detokenize{index:hippo}}}) shows an illuminated hippopotamus.
Кто-нибудь может подсказать, как это исправить?