документы: отсутствующие изображения при использовании директив include (первый, сфинкс) - PullRequest
0 голосов
/ 09 мая 2018

Я создаю документы, используя rst / sphinx, и у меня проблема с изображениями в ссылочных файлах.

Директива include хорошо работает для ввода первых файлов, но я не получаю изображения, на которые сами ссылаются из включенных файлов.

Моя структура такая:

   /documentation
        /master_doc
            /source
                pointer_file.rst  
                    and this file calls file.rst:
                    include:: ../../doc_a/source/file.rst
        /documents
             /doc_a
                  /source
                       /images
                            picture.jpg
                       file.rst
                             includes a figure ref:
                             .. figure:: images/picture.jpg

Когда я строю из doc_a каталога, я получаю текст + изображение. Все хорошо. Но когда я строю из каталога master_doc, куда входит директива include, я получаю только текст, а изображение отсутствует в сборке.

Как я могу это исправить? Я не хочу дублировать все мои изображения в обоих каталогах, и это единственная вещь, которая работает в настоящее время.

*** РЕДАКТИРОВАТЬ: Добавлены детали в структуру проекта выше, поскольку предложенное исправление ниже еще не работает

Я попробовал все следующее в ответ на предложение в первом комментарии, и ничего из этого не сработало:

.. figure:: /documentation/documents/doc_a/source/images/picture.jpg

и

.. figure:: /documents/doc_a/source/images/picture.jpg

и

.. figure:: /doc_a/source/images/picture.jpg

Есть еще идеи?

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Я решил эту проблему. Спасибо Стиву Пирси за то, что он задал полезные вопросы. Я должен был сделать 2 вещи:

  1. переместить все изображения в папку shared_images, на одинаковое относительное расстояние от всех проектов документов, и

  2. реорганизовать папки моего проекта, чтобы сделать их братьями и сестрами.

Теперь все ссылки на мои изображения: ../../../shared_images/. Это работает!

0 голосов
/ 09 мая 2018

Попробуйте изменить путь к файлу изображения с относительного на абсолютный.

.. figure:: /doc_a/source/images/picture.jpg

С reStructuredText Primer, Изображения :

При использовании в Sphinx указанное имя файла (здесь gnu.png) должно быть либо относительно исходного файла, либо абсолютным, что означает, что они относятся к верхнему исходному каталогу. Например, файл sketch/spam.rst может ссылаться на изображение images/spam.png как ../images/spam.png или /images/spam.png.

...