Comment inclure des fichiers image dans des fichiers Sphinx + Latex Pdf
J'utilise l'outil de documentation Sphinx avec LaTeX pour générer des fichiers pdf.
En essayant d'inclure des images dans le fichier pdf, j'obtiens l'erreur suivante lors de la compilation:
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}
}
?
Voici quelques variables d'environnement clés:
A. Dans mon conf.py , j'ai défini le chemin absolu comme suit :sys.path.insert(0, os.path.abspath('..'))
B. Voici l'arborescence des répertoires:
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. Pour inclure l'image, j'utilise ce qui suit.
.. image:: /_static/img_file.*
D. J'ai inclus graphix dans le conf.py
préambule .
Pourquoi ai-je cette erreur? Quelle est la source de tant de citations "" "dans le message d'erreur?
Éditer
À l'ouverture du *.tex
fichier dans l' éditeur Tex, voici ce que montre le fragment de code de la section d'insertion d'image:
\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}} % ***
En utilisant le Quick Build
, l'éditeur renvoie une erreur comme ci-dessous:
! Erreur package pdftex.def: Fichier `" "" {img_file} ". Jpg 'introuvable: ...
Cependant, lorsque les accolades du nom du fichier image {{img_file}.jpg}
sont supprimées et remplacées par (ligne marquée ***):
\noindent{\hspace*{\fill}\sphinxincludegraphics{img_file.jpg}}
% ***
le document se compile avec succès et l'image peut être vue dans le fichier pdf.
Si le .tex
fichier est enregistré, le fichier pdf dans le dossier _build / latex / affiche l'image.
Alors pourquoi les crochets supplémentaires sont-ils insérés à make latexpdf
partir du terminal?
Réponses
Ne placez pas vos images sous _static
. C'est un dossier à usage spécial, pas pour les images. Par exemple, créez modules/execute/img/
, déplacez l'image là-bas et .. image:: img/my-image.png
.