docs:使用include指令时缺少图像(rst,sphinx)

时间:2018-05-09 19:58:52

标签: image documentation python-sphinx restructuredtext

我使用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 :(得分:1)

尝试将图像文件路径从相对路径更改为绝对路径。

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

来自reStructuredText Primer, Images

  

在Sphinx中使用时,给定的文件名(此处为gnu.png)必须相对于源文件,或绝对值,这意味着它们相对于顶级源目录。例如,文件sketch/spam.rst可以将图片images/spam.png称为../images/spam.png/images/spam.png

答案 1 :(得分:1)

我解决了这个问题。感谢Steve Piercy提出有用的问题。我不得不做两件事:

  1. 将所有图片移至<input>文件夹,与所有文档项目的距离相同,

  2. 重新组织我的项目文件夹以使其成为兄弟姐妹。

  3. 现在我的图片参考全部是:<button type="submit" class="btn btn-success"> <i class="fab fa-facebook fa-lg"></i> Facebook </button> 。 它有效!