Energie auf höchstem Niveau

PDF- und SVG-Grafiken unter Windows für LaTeX aufbearbeiten

· von David Heinze · Lesedauer etwa 2 Minuten · (235 Wörter)
Batch Grafik LaTex PDF SVG Windows-Shell

Wer mit LaTeX arbeitet, schätzt sicher die Möglichkeit, Vektorgrafiken einzubinden. Ich persönlich stoße dabei immer wieder auf zwei Routine-Aufgaben, die sich auch unter Windows gut automatisieren lassen: Das Zuschneiden von PDF-Grafiken sowie die Umwandlung von SVG- in PDF-Grafiken.

Zuschneiden von PDF-Grafiken mit pdfcrop

Hierzu liefert MikTeX ein passendes tool (pdfcrop.exe), das nur noch automatisiert werden muss:

@ECHO OFF
SET pdfcrop=c:\program files (x86)\miktex 2.9\miktex\bin\pdfcrop.exe
SET param=--margin 10
SET outfolder=.\crop
 
IF NOT EXIST "%outfolder%" MKDIR %outfolder%
 
ECHO Runnning pdfcrop ...
FOR /f %%i in ('DIR *.pdf /b') DO (
    ECHO %%~i
    "%pdfcrop%" %param% %%~i %outfolder%\%%~i >nul
)
ECHO ... done.

Einfach die Anweisungen in Windows als .cmd-Datei abspeichern (ggf. Pfade und Parameter anpassen!) und in einen Ordner mit PDF-Bildern kopieren. Bei Aufruf werden alle PDf-Dateien im Ordner automatisch zugeschnitten und im Ordner %outfolder% abgespeichert.

SVG- in PDF-Datei umwandeln

Hier kommt die Open-Source-Software Inkscape zum Einsatz:

@ECHO OFF
SET inkscape=c:\Program Files (x86)\Inkscape\inkscape.exe
SET outfolder=.
 
IF NOT EXIST "%outfolder%" MKDIR %outfolder%
 
ECHO Runnning inkscape ...
FOR /f %%i in ('DIR *.svg /b') DO call :inkscape "%%i"
ECHO ... done.
 
:inkscape
(
    ECHO %~1
    set filename=%~n1
    "%inkscape%" -D -z --file=%filename%.svg --export-pdf="%outfolder%\%filename%.pdf" --export-latex
)

Auch hier: Einfach die Anweisungen in Windows als .cmd-Datei abspeichern (ggf. Pfade und Parameter anpassen!) und in einen Ordner mit SVG-Bildern kopieren. Bei Aufruf werden alle SVG-Dateien im Ordner automatisch in PDF-Dateien umgewandelt und im Ordner %outfolder% abgespeichert.

Alternativ lässt sich Inkscape auch direkt in LaTeX aufrufen.

Kommentare