2

我正在使用 Sphinx 文档工具和 LaTeX 来生成 pdf 文件。

在尝试在 pdf 文件中包含图像时,我在编译过程中遇到以下错误:

LaTeX Warning: File `{img_file}.jpg' not found on input line 920.


! Package pdftex.def Error: File `"""{img_file}".jpg' not found: using dra
ft setting.

See the pdftex.def package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.920 ...phinxincludegraphics{{img_file}.jpg}
                                                  }
? 

这些是一些关键的环境变量:

A.在我的conf.py中,我将绝对路径定义为:sys.path.insert(0, os.path.abspath('..'))

B. 这是目录树:

docs/           # (Sphinx) Documentation folder 
    _build/
    _static/
        css/
        images/
           abc.jpg
        img_file.jpg          <= This image file is in the root ("_static") directory
    _templates/
    conf.py
    index.rst
    modules/                  <= Folder containing my source (.rst) files
        execute/
            file_with_image.rst           <= I am trying to put the image in this source file
            some_other_file.rst

C. 为了包括我正在使用以下的图像。

.. image:: /_static/img_file.*

D.我已将graphix包含在conf.py 序言中。

为什么我会收到此错误?错误消息中这么多“””引号的来源是什么?

编辑

在Tex编辑器中打开*.tex文件时,图像插入部分的代码片段显示如下:

\subsection{Add Image}
\label{\detokenize{modules/aud_execution/add_image_with_image_directive:add-image}}\label{\detokenize{modules/aud_execution/add_image_with_image_directive::doc}}
\sphinxstylestrong{Adding an image}

Example of image usage using “image” directive:

\noindent{\hspace*{\fill}\sphinxincludegraphics{{img_file}.jpg}} % ***

使用Quick Build,编辑器会抛出如下错误:

!包 pdftex.def 错误:找不到文件 `"""{img_file}".jpg':...

但是,当图像文件名中的大括号{{img_file}.jpg}被删除并将其更改为(标记为 *** 的行):

\noindent{\hspace*{\fill}\sphinxincludegraphics{img_file.jpg}}% ***

文档编译成功,可以在 pdf 文件中看到图像。

如果.tex文件被保存,_build/latex/文件夹中的 pdf 文件会显示图像。

那么为什么在make latexpdf从终端插入额外的支架?

4

1 回答 1

0

不要将图像放在_static. 它是专用文件夹,不用于图像。例如创建modules/execute/img/,将图像移动到那里,然后.. image:: img/my-image.png

于 2020-08-21T07:15:42.183 回答