Es posible utilizar el makefile para construir automáticamente los formatos de salida adecuados.
También hay un tutorial que muestra un proceso similar para using Sphinx with SVG and LaTeX PDF output.
Use la imagen filename wildcard option en su .prima fuente.
.. image:: my_image.*
uso de Inkscape para convertir sus imágenes de origen en archivos PDF y PNG en la acumulación de tiempo. Usted puede hacer esto de forma automática a la acumulación de tiempo añadiendo el siguiente código a su Makefile:
SOURCEDIR = source
#IMAGEDIRS can be a list of directories that contain SVG files and are relative to the SOURCEDIR
IMAGEDIRS = _images
# SVG to PDF conversion
SVG2PDF = inkscape
SVG2PDF_FLAGS = -C
# SVG to PNG conversion
SVG2PNG = inkscape
SVG2PNG_FLAGS = -C -d=90 --export-background-opacity=\#00
# Pattern rule for converting SVG to PDF
%.pdf : %.svg
$(SVG2PDF) $(SVG2PDF_FLAGS) -f $< -A [email protected]
# Pattern rule for converting SVG to PNG
%.png : %.svg
$(SVG2PNG) $(SVG2PNG_FLAGS) -f $< -e [email protected]
# Build a list of SVG files to convert to PDFs
PDFs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.pdf,$(wildcard $(SOURCEDIR)/$(dir)/*.svg)))
# Build a list of SVG files to convert to PNGs
PNGs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.png,$(wildcard $(SOURCEDIR)/$(dir)/*.svg)))
# Make a rule to build the PDFs
images-pdf: $(PDFs)
# Make a rule to build the PNGs
images-png: $(PNGs)
# Make a rule to build the images
images: images-pdf images-png
clean-pdf:
-rm $(PDFs)
clean-png:
-rm $(PNGs)
clean-images: clean-pdf clean-png
Por último, actualizar las normas clean
, latex
y latexpdf
a tener una dependencia de los respectivos objetivos de imagen:
...
clean: clean-images
...
html: images-png
...
latex: images-pdf
...
latexpdf: images-pdf
...
Ahora puedes construir tus imágenes escribiendo make images
y limpiarlas con make clean-images
. Al usar make html
, make latex
y make latexpdf
, se asegurará automáticamente de que sus imágenes estén actualizadas.
Un problema es que Sphinx prefiera preferir SVG a PNG en la salida HTML. Puede solucionar esto anulando preferece en su archivo conf.py
.
Agregue las siguientes líneas cerca de la parte superior de su archivo conf.py
, después de las importaciones.
# Redefine supported_image_types for the HTML builder
from sphinx.builders.html import StandaloneHTMLBuilder
StandaloneHTMLBuilder.supported_image_types = ['image/png', 'image/svg+xml',
'image/gif', 'image/jpeg']
Gracias @mzjn ..solo :: es exactamente lo que estaba buscando :) Recuerdo verlo en los documentos y pensé que lo necesitaría algún día y luego lo olvidé de inmediato y no pude encontrarlo de nuevo. ¡Salud! –
¡Perfecto! Esto funciona para que el constructor de HTML use un SVG y LaTeX para usar un PDF como una imagen. – davidjb