image - 文档:使用包含指令(rst,sphinx)时缺少图像
问题描述
我正在使用 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
在 Sphinx 中使用时,给定的文件名(此处
gnu.png
)必须是相对于源文件的,或者是绝对的,这意味着它们是相对于顶级源目录的。例如,该文件sketch/spam.rst
可以将图像images/spam.png
称为../images/spam.png
或/images/spam.png
。
推荐阅读
- java - 如何在java中运行程序10000次并找到平均值?
- c++ - create_directory("/MyPath/.MyFolder") 没有创建目录;预计会创建一个隐藏目录
- amazon-web-services - 如何允许桌面应用程序和 Web 应用程序与 RDS SQL Server 实例连接?
- html - AJAX Post 请求答案未到达但显示在网络中
- amazon-web-services - 创建 EMR 集群时出错,EMR 服务角色无效
- python - 如何使它不打印超过 x 出现次数
- mysql - 插入转储 MySQL MariaDB
- java - 了解java代码中最小生成树的一部分
- javascript - 我可以使用 google v8 在 C++ 回调函数中获取 JavaScript 函数的源文本吗?
- python - 在 Dask 中,有没有办法在依赖项可用时处理它们,例如 multiprocessing.imap_unordered?