Cara memasukkan file gambar dalam file Sphinx + Latex Pdf

Aug 17 2020

Saya menggunakan alat Dokumentasi Sphinx bersama dengan LaTeX untuk menghasilkan file pdf.

Saat mencoba memasukkan gambar ke dalam file pdf, saya mendapatkan kesalahan berikut selama kompilasi:

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}
                                                  }
? 

Ini adalah beberapa variabel lingkungan utama:

A. Dalam conf.py saya , saya telah mendefinisikan path absolut sebagai:sys.path.insert(0, os.path.abspath('..'))

B. Ini adalah pohon direktori:

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. Untuk menyertakan gambar saya menggunakan yang berikut ini.

.. image:: /_static/img_file.*

D. Saya telah menyertakan graphix dalam conf.py pembukaan .

Mengapa saya mendapatkan kesalahan ini? Apa sumber dari begitu banyak tanda kutip "" "di pesan galat?

Edit

Saat membuka *.texfile di editor Tex , inilah yang ditunjukkan oleh fragmen kode dari bagian penyisipan gambar:

\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}} % ***

Menggunakan Quick Build, editor melempar kesalahan seperti di bawah ini:

! Paket pdftex.def Kesalahan: File `" "" {img_file} ". Jpg 'tidak ditemukan: ...

Namun, bila tanda kurung kurawal dari nama file gambar, {{img_file}.jpg}dihapus dan diubah menjadi (garis bertanda ***):

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

dokumen berhasil dikompilasi dan gambar dapat dilihat di file pdf.

Jika .texfile disimpan, file pdf di folder _build / latex / menampilkan gambar.

Jadi mengapa tanda kurung ekstra dimasukkan selama make latexpdfdari terminal?

Jawaban

Matt Aug 21 2020 at 07:15

Jangan letakkan gambar Anda di bawah _static. Ini adalah folder tujuan khusus, bukan untuk gambar. Misal membuat modules/execute/img/, memindahkan gambar ke sana, dan .. image:: img/my-image.png.