文档:使用 include 指令时缺少图像(RST、狮身人面像)



我正在使用rst/sphinx生成文档,并且引用文件中的图像出现问题。

include指令可以很好地引入 rst 文件,但我没有得到从包含的文件中引用的图像。

我的结构是这样的:

/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

还有其他想法吗?

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

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

从重新结构化文本入门,图像:

在狮身人面像中使用时,给定的文件名(此处为gnu.png(必须相对于源文件,或者绝对,这意味着它们相对于顶部源目录。例如,文件sketch/spam.rst可以将图像images/spam.png引用为../images/spam.png/images/spam.png

我解决了这个问题。 感谢史蒂夫·皮尔西提出有用的问题。 我必须做两件事:

  1. 将所有图像移动到与所有文档项目保持相同相对距离的shared_images文件夹中,以及

  2. 重新组织我的项目文件夹,使它们成为同级。

现在我的图像参考都是:../../../shared_images/. 它有效!