Cómo incluir archivos de imagen en archivos Sphinx + Latex PDF
Estoy usando la herramienta de documentación Sphinx junto con LaTeX para generar archivos pdf.
Al intentar incluir imágenes en el archivo pdf, aparece el siguiente error durante la compilación:
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}
}
?
Estas son algunas variables de entorno clave:
A. En mi conf.py , he definido la ruta absoluta como:sys.path.insert(0, os.path.abspath('..'))
B. Este es el árbol de directorios:
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. Para incluir la imagen estoy usando lo siguiente.
.. image:: /_static/img_file.*
D. He incluido Graphix en el conf.py
preámbulo .
¿Por qué recibo este error? ¿Cuál es el origen de tantas "" "citas en el mensaje de error?
Editar
Al abrir el *.tex
archivo en el editor Tex , esto es lo que muestra el fragmento de código de la sección de inserción de imágenes:
\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}} % ***
Al usar Quick Build
, el editor arroja un error como en:
! Paquete pdftex.def Error: Archivo `" "" {img_file} ". Jpg 'no encontrado: ...
Sin embargo, cuando {{img_file}.jpg}
se eliminan los corchetes del nombre del archivo de imagen y se cambia a (línea marcada con ***):
\noindent{\hspace*{\fill}\sphinxincludegraphics{img_file.jpg}}
% ***
el documento se compila correctamente y la imagen se puede ver en el archivo pdf.
Si el .tex
archivo está guardado, el archivo pdf en la carpeta _build / latex / muestra la imagen.
Entonces, ¿por qué se insertan los soportes adicionales make latexpdf
desde el terminal?
Respuestas
No coloques tus imágenes debajo _static
. Es una carpeta de propósito especial, no para imágenes. Por ejemplo modules/execute/img/
, crear , mover la imagen allí y .. image:: img/my-image.png
.