Resim dosyaları Sphinx + Latex Pdf dosyalarına nasıl eklenir?

Aug 17 2020

LaTeX ile birlikte Sphinx Documentation aracını pdf dosyaları oluşturmak için kullanıyorum.

Resimleri pdf dosyasına eklemeye çalışırken, derleme sırasında şu hatayı alıyorum:

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

Bunlar bazı temel ortam değişkenleridir:

A. Benim içinde conf.py , ben tanımladığınız mutlak yolunu olarak:sys.path.insert(0, os.path.abspath('..'))

B. Bu dizin ağacıdır:

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. Görüntüyü dahil etmek için aşağıdakileri kullanıyorum.

.. image:: /_static/img_file.*

D. Ben dahil ettik GRAPHIX içinde conf.py önsözünde .

Neden bu hatayı alıyorum? Hata mesajındaki bu kadar çok "" "alıntıların kaynağı nedir?

Düzenle

*.texDosyayı Tex düzenleyicide açarken, görüntü ekleme bölümündeki kod parçasının gösterdiği şey budur:

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

Kullanılması Quick Build, editör altında olduğu hatayı atar:

! Paket pdftex.def Hatası: Dosya "" "" {img_file} ". Jpg 'bulunamadı: ...

Ancak, görüntü dosyası adındaki küme parantezleri {{img_file}.jpg}kaldırıldığında ve şu şekilde değiştirildiğinde (satır *** ile işaretli):

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

belge başarıyla derlenir ve görüntü pdf dosyasında görülebilir.

Eğer .texdosyanın kaydedildiği, pdf dosyası _build / lateks / klasör gösterileri görüntüsü.

Öyleyse neden ekstra parantezler make latexpdfterminalden ekleniyor?

Yanıtlar

Matt Aug 21 2020 at 07:15

Resimlerinizi altına yerleştirmeyin _static. Görüntüler için değil, özel amaçlı bir klasördür. Örneğin modules/execute/img/, görüntü oluşturun , oraya taşıyın ve .. image:: img/my-image.png.