Tag-Archiv „Vektorgrafik“

Inkscape-Vektorgrafiken versionieren

14.09.2008 Grafik, Tutorials Kommentieren

Arbeitet man an etwas umfangreicheren Vektorgrafiken – etwa weil sich diese sehr gut als PDF in LaTeX-Dokumente integrieren lassen – kann es manchmal ganz sinnvoll sein, diese mit Versionsnummern zu versehen. Wenn man dies nicht von Hand machen möchte, bietet sich dazu eine entsprechende Versionsverwaltung an. Nachfolgend möchte ich kurz beschreiben, wie man Inkscape-Vektorgrafiken mit Subversion (SVN) verwalten kann (Wobei ich auf Details zum Umgang mit Subversion oder Inkscape verzichten werde.). Dabei machen wir uns zunutze, dass SVG-Grafiken XML-Dokumente sind und Texte in der Grafik in der Datei im Klartext auftaucht (Anmerkung: Mit komprimierten SVG-Grafiken geht es nicht.).

Grafik vorbereiten

Als erstes müssen wir für Subversion ein Keyword in die Grafik einfügen, welches anschließend bei jedem Commit durch die aktuelle Revision ersetzt wird. Hier bietet sich $Rev$ an. Selbstverständlich kann hier auch $Id$ oder eines der anderen von Subversion unterstützen Keywords genutzt werden.

svn:keywords Property setzen

Anschließend muss Subversion noch mitgeteilt werden, dass es bei jedem Commit das Keyword $Rev$ mit der aktuellen Revision ersetzen soll (selbstverständlich muss zuvor ein Repository angelegt, die Grafik importiert und ausgecheckt worden sein). Mit dem folgenden Befehl auf der Kommandozeile teilt man Subversion mit, dass $Rev$ als Keyword behandelt werden soll:

$ svn propset svn:keywords "Rev" Beispiel.svg

Grafikbearbeitung fortsetzen und Änderungen einchecken

Jetzt kann man wie gewohnt an der Grafik weiterarbeiten, mit dem Unterschied, dass man nach getaner Arbeit sein Werk im Repository aktualisieren sollte, damit das ganze mit der Versionierung auch seinen Sinn hat:

$svn commit -m "Orangefarbenes Ding eingebaut"

Da Subversion das Keyword brav ersetzt, hat man immer die aktuelle Revisionsnummer in der Grafik stehen. Abgesehen davon kann man natürlich jederzeit auf ältere Versionen zurückgreifen und entsprechende Tags oder Branches erstellen. Man kann eben all die Vorteile der Versionsverwaltung mit Subversion nutzen. Leider bemerkt Inkscape (anders als etwa gedit) eine zwischenzeitliche Änderung der gespeicherten Datei nicht, weshalb man darauf achten sollte Inkscape vor dem Commit zu schließen, da man sonst mit der falschen Versionsnummer in der Grafik weiterarbeitet.

Übrigens: Möchte man, dass die Versionsinformation mit auf ausgedruckten oder exportierten Grafiken landet, dann sollte man bei Inkscape den entsprechenden Keyword-Text auf und nicht, wie im Screenshot zu sehen, neben der Seite platzieren.

(e)ps-Dateien für pdfLaTeX aufbereiten

16.04.2008 Merkblätter 1 Kommentar

Will man in seinen LaTeX-Dokumenten Vektorgrafiken im (e)ps-Format verwenden und das Dokument mit pdfLaTeX direkt als PDF ausgeben, hat man das Problem, dass pdfLaTeX nicht mit (e)ps-Dateien umgehen kann. Um die Grafiken dennoch nutzen zu können, muss man sie vorher in PDFs umwandeln. Neben der einer manuellen Konvertierung per Ghostscript, bei der in einem ersten Schritt die Größe der Ausgangsdatei ermittelt:

gs -q -dNOPAUSE -sDEVICE=bbox input.eps -c quit

und anschließend mit diesen Informationen die Datei mit den richtigen Abmessungen ins Zielformat:

gs -q -dNOPAUSE -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=400 -dDEVICEHEIGHTPOINTS=300 -dAutoRotatePages=/None -sOutputFile=output.pdf input.eps -c quit

konvertiert wird, gibt es auch das nette Kommandozeilen-Tool epstopdf, das direkt in der richtigen Größe konvertiert. Bei Ubuntu Gutsy Gibbon befindet sich epstopdf im Paket texlive-extra-utils. Durch das Einbinden des gleichnamigen Packages über

\usepackage{epstopdf}

kann die Konvertierung von eingebundenen eps-Dateien auch automatisch während des Übersetzungsvorgangs des LaTeX-Dokuments erfolgen. Sofern man die Grafik aber nicht ständig ändern muss, spart man durch einmaliges Konvertieren und Einbinden des fertigen PDFs bei jedem Übersetzungsvorgang Zeit.

Zum Seitenanfang