Ссылка на фигуры с числами в Сфинксе и реструктуре
-
30-09-2019 - |
Вопрос
При написании RST, который будет обработан с Сфинкс, Я не могу получить вывод SPHINX LATEX, чтобы использовать цифры номера при ссылке на фигуры. Например, этот код:
The lemmings are attacking, as can be seen in :ref:`figlem`.
.. _figlem:
.. figure:: _static/lemming_invasion.*
They're coming!
Будет преобразован в это:
Лемминги атакуют, как можно увидеть в Они идут!
/ изображение идет сюда /
Рисунок 1.1: Они приходят!
Но то, что я хочу, это «стандартный» латексный способ ссылочных фигур, как это:
Лемминги атакуют, как видно на рисунке 1.1
Как мне добиться этого? Код, который в настоящее время использую, это то, что рекомендует ручное руководство SPHINX, но он не производит вывод, который я хочу.
Решение
То ногой Расширение делает именно это. Я попробовал, и это сработало для меня.
Другие советы
В последних версиях SPHINX (1.3+) фигуры нумерации и ссылки на них из текста было немного проще, как поддержка для него встроена встроенная.
В вашем тексте вы можете сделать что-то вроде:
.. _label:
.. figure:: images/figure.*
At :numref:`label` you can see...
Конечный результат должен быть что-то вроде «на рис. 1.1, вы можете увидеть ...». Эта техника работает как с выходом HTML по умолчанию, так и на выходе из латекса.
В твоем conf.py
Файл, обязательно установите флаг numfig = True
. Отказ Есть также параметры конфигурации для текстового формата ссылок (numfig_format
а также numfig_secnum_depth
).
Использованная литература:
Чтобы расширить принятый ответ, вы можете быстро получить эту настройку следующим образом. Поставить numfig.py
Файл в вашем source
каталог. Затем открыть conf.py
и растрескивание линии, которая говорит
sys.path.insert(0, os.path.abspath('.'))
Затем добавьте 'numfig'
к тому extensions
список.
Использовать в вашем rst
Документ, сначала маркируйте свою цифру (например, fig-main
):
.. _fig-main:
.. figure:: main.png
This is the figure caption.
Наконец, вы можете ссылаться на его цифр, используя :num:
Директива, как это:
Refer to the main figure (Figure :num:`fig-main`).
Я думаю, что ссылка на фигуры еще не реализованы в покое, но вот обходной путь http://article.gmane.org/gmane.text.docutils.User/5623. Это дает тебе ближе.
Можно использовать сырой латексный код, встроенный. Для приведенного выше примера роль сырого латекса сначала определяется и чем используется для ссылки на фигуру с \ref{}
латексная команда и установить ярлык на фигуру с \label{}
латексная команда.
Следующее должно работать:
.. role:: raw-latex(raw)
:format: latex
The lemmings are attacking, as can be seen in :ref:`figlem`
on figure :raw-latex:`\ref{pic:lem}`.
.. _figlem:
.. figure:: _static/lemming_invasion.*
They're coming! :raw-latex:`\label{pic:lem}`
Обратите внимание, что то \label{}
Команда появится внутри заголовка в файле Tex, но он все еще приемлемо, по крайней мере, pdflatex
. Отказ Также обратите внимание, что должно быть хотя бы одно пространство до :raw-latex
.