Ссылка на фигуры с числами в Сфинксе и реструктуре

StackOverflow https://stackoverflow.com/questions/2686310

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top