यह makefile उपयोग करने के लिए स्वचालित रूप से उचित उत्पादन प्रारूपों का निर्माण संभव है।
using Sphinx with SVG and LaTeX PDF output के लिए एक समान प्रक्रिया का प्रदर्शन करने वाला एक ट्यूटोरियल भी उपलब्ध है।
अपने .rst स्रोत में छवि filename wildcard option का प्रयोग करें।
.. image:: my_image.*
उपयोग इंकस्केप निर्माण समय में पीडीएफ़ और PNG का में अपने स्रोत छवियों कन्वर्ट करने के लिए।
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
अंत में, clean
, latex
और latexpdf
नियम अपडेट संबंधित छवि लक्ष्य पर निर्भरता के लिए:
...
clean: clean-images
...
html: images-png
...
latex: images-pdf
...
latexpdf: images-pdf
...
आप अपने Makefile के लिए निम्न कोड जोड़कर निर्माण समय में स्वचालित रूप से यह कर सकते हैं अब आप make images
टाइप करके अपनी छवियां बना सकते हैं और उन्हें make clean-images
से साफ़ कर सकते हैं। make html
, make latex
और make latexpdf
का उपयोग करके स्वचालित रूप से सुनिश्चित हो जाएगा कि आपकी छवियां अद्यतित हैं।
एक समस्या यह है कि स्फिंक्स HTML आउटपुट में पीएनजी पर एसवीजी को पसंद करने के लिए डिफ़ॉल्ट है। आप इसे conf.py
फ़ाइल में प्रीफ़्रिस ओवरराइड करके ठीक कर सकते हैं।
आयात के बाद, अपने conf.py
फ़ाइल के शीर्ष के पास निम्न पंक्तियां जोड़ें।
# 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']
@mzjn धन्यवाद ..केवल :: वही है जो मैं देख रहा था :) मुझे इसे दस्तावेज़ों में देखना याद है और सोच रहा है कि मुझे किसी दिन इसकी आवश्यकता होगी और फिर मैं तुरंत इसे भूल गया और इसे फिर से नहीं मिला! चीयर्स! –
बिल्कुल सही! यह एक पीडीएफ का उपयोग छवि के रूप में करने के लिए एचटीएमएल बिल्डर एक एसवीजी, और लाटेक्स का उपयोग करने के लिए काम करता है। – davidjb