PerfectVector
Von Irene Kim9 Min. Lesezeit

SVG in LaTeX: Formen erhalten, Beschriftungen setzen

Wähle für deine SVG-Illustration PDF oder PDF plus LaTeX. Halte Beschriftungen bearbeitbar, verstehe Inkscape-Abhängigkeiten und prüfe das endgültige Dokument-PDF.

Auf dieser Seite

Entscheide für eine SVG-Illustration in LaTeX, wer ihre Beschriftungen rendern soll. Exportiere ein gewöhnliches PDF, wenn die vorhandene Typografie der Illustration passt. Verwende PDF plus LaTeX, wenn LaTeX die Beschriftungen zusammen mit dem Dokumenttext setzen soll.

Das Paket svg kann den Export über Inkscape automatisieren und anschließend die entstandenen Dateien einbinden. Es lässt die Konvertierung nicht entfallen, sondern verwaltet diesen Schritt für dich. Die Paketübersicht auf CTAN beschreibt die Trennung zwischen exportierter Grafik und von LaTeX gerendertem Text.

Bei einer vorbereiteten Illustration ist die hilfreiche Frage, ob ihre Formen und Formulierungen die nächste Überarbeitung überstehen. Behalte die SVG-Masterdatei, entscheide über die Behandlung der Beschriftungen und prüfe das zusammengesetzte Dokument in der vorgesehenen Größe. Wenn du dein Dokument in Python erzeugst, folge dem separaten Ablauf zum Platzieren von SVG-Grafik in ReportLab-PDFs, einschließlich expliziter Größenfestlegung und Prüfung der fertigen Datei.

Die Dateien wählen, die dein Dokument verwenden soll

Deine AnforderungAuslieferungswegWas du pflegst
Das vorhandene Erscheinungsbild der Illustration erhaltenEin gewöhnliches PDF exportieren und graphicx verwendenSVG-Masterdatei und exportiertes PDF
LaTeX die Beschriftungen setzen lassenPDF plus LaTeX exportierenSVG-Masterdatei und zusammengehöriges PDF/LaTeX-Paar
Exporte während der Dokumentkompilierung aktualisierenDas Paket svg mit Inkscape verwendenSVG-Quelle und Kompilierungsumgebung

Stell dir beispielsweise eine kleine Illustration einer Linse neben einer Karte vor. Ihre beiden Beschriftungen lauten schlicht „Lens“ und „Card“. Das Beispiel enthält keine Abmessungen, gemessenen Strahlen oder dargestellten Ergebnisse.

Ein Gutachter bittet dich, „Card“ in „Target card“ zu ändern. Die Grafik muss nicht neu gezeichnet werden, aber die längere Beschriftung braucht Platz. Das ist ein hilfreicher Überarbeitungstest: Kannst du die Wörter ändern, ohne Buchstabenformen nachzuzeichnen, und passt die neue Beschriftung weiterhin?

Eine Illustration von Linse und Karte, getrennt in Grafik und Textbeschriftungen und anschließend als beschriftete Abbildung zusammengesetzt
Illustration der Trennung bei PDF plus LaTeX: Zeichnungsgeometrie und Beschriftungstext sind separate Eingaben für eine zusammengesetzte Abbildung. Die Platzierung der Beschriftungen muss nach dem Satz weiterhin geprüft werden.

Weg 1: Ein gewöhnliches PDF exportieren

Verwende diesen Weg, wenn die Beschriftungen bereits richtig aussehen und nicht die Typografie des Dokuments übernehmen müssen.

Inkscapes PDF-Exportleitfaden beschreibt File → Save a Copy, die Auswahl von PDF und die Textausgabeoptionen. Behalte das originale SVG. Prüfe für gewöhnlichen durchsuchbaren Text die Schrifteinbettung. Buchstaben in Konturen umzuwandeln fixiert ihre Formen, entfernt aber ihre Rolle als bearbeitbarer Text.

Speichere dieses Beispiel als lens-card.pdf neben der Hauptdatei .tex. In einem LaTeX-Projekt mit PDF-Ausgabe lautet das grundlegende Einbindungsmuster:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=0.7\linewidth]{lens-card.pdf}
\end{document}

Das Paket graphicx und \includegraphics sind der dokumentierte Weg zur Bildeinbindung in Overleafs Bildleitfaden. Die Breite hier ist ein Layoutbeispiel, keine vorgeschriebene Abbildungsgröße.

Öffne das exportierte PDF, bevor du es dem Dokument hinzufügst. Prüfe, ob beide Objekte und Beschriftungen vorhanden sind. Kontrolliere die Abbildung nach der Kompilierung erneut: Eine in einer ganzseitigen Illustration lesbare Beschriftung kann in einer schmalen Spalte zu klein sein.

Wenn du die Beschriftung im SVG änderst, exportiere das PDF erneut. Halte die Namen eindeutig, damit das Dokument nicht weiterhin eine ältere Übergabekopie verwendet.

Weg 2: Grafik und LaTeX-Text gemeinsam exportieren

Verwende diesen Weg, wenn LaTeX die Abbildungsbeschriftungen setzen soll. Der Überblick zu PDF plus LaTeX erklärt, dass Zeichnung und Text getrennt behandelt werden, damit der Abbildungstext die Typografie des Dokuments verwenden kann.

Wähle im PDF-Exportdialog von Inkscape Omit text in PDF and create LaTeX file, wie im Exportleitfaden dokumentiert. Behalte die entstandenen Dateien lens-card.pdf und lens-card.pdf_tex zusammen. Wenn du nur das PDF öffnest, werden die ausgelassenen Beschriftungen nicht angezeigt.

Das Handbuch des Pakets svg, Abschnitt 2.5, dokumentiert \includeinkscape für bereits von Inkscape exportierte Dateien. Wenn das Paar neben deiner Hauptdatei .tex liegt, lautet das Einbindungsmuster:

\documentclass{article}
\usepackage{svg}
\begin{document}
\includeinkscape[width=0.7\linewidth]{lens-card.pdf_tex}
\end{document}

Dabei wird das vorbereitete Paar verwendet, statt das SVG während des Dokument-Builds zu exportieren. Behalte beim Verschieben des Projekts beide Dateien.

Vergleiche beim Beispiel mit Linse und Karte die Positionen der zusammengesetzten Beschriftungen mit der Illustrations-Masterdatei. Eine breitere Dokumentschrift kann „Target card“ näher an die Linse rücken, obwohl sich die exportierte Geometrie nicht geändert hat. Lass genügend Platz um Beschriftungen und teste eine längere Formulierung, bevor du das Layout fertigstellst.

Wenn die Buchstaben bereits in Pfade umgewandelt wurden, sind sie Grafikgeometrie. Behalte oder rekonstruiere die gewünschte Beschriftung als echten Text in der bearbeitbaren Masterdatei, wenn LaTeX sie setzen soll. Der SVG-Schriftleitfaden erklärt den Unterschied zwischen echtem Text und Buchstabenkonturen.

Weg 3: Das Paket svg während der Kompilierung exportieren lassen

Bei wiederholten Änderungen der Illustration kann der automatische Weg praktisch sein:

\documentclass{article}
\usepackage{svg}
\begin{document}
\includesvg[width=0.7\linewidth]{lens-card}
\end{document}

Hier ist die Quelle lens-card.svg. Das Pakethandbuch verlangt für den automatischen Export eine funktionierende Inkscape-Programmdatei und dokumentiert Shell-Escape zum Aufruf. Für ein vertrauenswürdiges lokales Projekt ist dieser Aufruf dokumentiert:

pdflatex --shell-escape main.tex

Shell-Escape erlaubt externe Befehle. Verwende es nur für vertrauenswürdige Projektquellen. Wenn deine Umgebung es nicht erlaubt, bereite die Exporte außerhalb des Builds vor und verwende einen der vorherigen Wege.

Die Paketeinstellung inkscapelatex=true trennt Text für das LaTeX-Rendering und ist der Standard. Setze inkscapelatex=false bei \includesvg, wenn du stattdessen den von Inkscape exportierten Text möchtest. Wähle dieses Verhalten bewusst, bevor du Beschriftungsgrößen anpasst.

Dies sind dokumentierte Einbindungsmuster. Teste den gewählten Weg in einer kleinen Kopie deines eigenen Projekts, bevor du ihn auf ein langes Dokument oder eine gemeinsame Vorlage anwendest.

Den fehlenden Teil diagnostizieren, bevor du Formate änderst

Was du siehstWas du zuerst prüfen solltest
Das SVG existiert, das erzeugte PDF fehlt aberOb der Export lief, Inkscape verfügbar und der Ausgabepfad korrekt ist
Grafik erscheint, Beschriftungen fehlen aberOb du nur das PDF aus einem PDF/LaTeX-Paar eingebunden hast
Beschriftungen überlappen oder haben unerwartete AbständeGewählten Textablauf, Dokumentschrift und verfügbaren Beschriftungsplatz
Ein PDF erzeugt textbezogene FehlerOb es an \input statt an einen Bildeinbindungsbefehl übergeben wurde
Die Abbildung hat unerwarteten Leerraum oder wird beschnittenExportbereich und Seitengrenzen der Grafik

Gehe dem ersten relevanten Compilerfehler nach, bevor du mehrere Einstellungen gleichzeitig änderst. Prüfe bei einer fehlenden Exportdatei diese Datei auf dem Datenträger. Prüfe bei einer falsch platzierten Beschriftung die zusammengesetzte Abbildung. Diese Prüfungen betreffen unterschiedliche Teile des Ablaufs.

Lade in einem Overleaf-Projekt die für deinen gewählten Weg benötigten Dateien hoch. Ein vorbereitetes PDF oder zusammengehöriges Exportpaar vermeidet den SVG-Export während der Kompilierung. Gehe nicht davon aus, dass eine lokale Installation, ein selbst gehosteter Server und ein gehostetes Projekt dieselben externen Werkzeuge bereitstellen.

Nur die Illustration rekonstruieren, die es braucht

Wenn du bereits ein bearbeitbares SVG hast, verwende es. Wenn die Quelle ein numerisches Diagramm ist, erzeuge die Abbildung erneut aus den Diagrammdaten und dem Quellcode. Erhalte Gleichungen und wissenschaftliche Beschriftungen als Text. Ihre Pixel nachzuzeichnen rekonstruiert nicht ihre Bedeutung. Folge bei einer in Python erzeugten Abbildung dem Ablauf zur Kombination von Matplotlib-Diagramm und SVG-Grafik, um ein separates Logo vor dem Dokumentexport als Pfade zu erhalten.

Vektorisierung ist in einem engeren Fall hilfreich: Die ursprüngliche Zeichnung fehlt und du hast nur eine Rasterkopie eines einfachen illustrativen Objekts. Beschneide eine Kopie auf die Grafik und halte Beschriftungen und Daten aus dem Nachzeichnen heraus. Mit PerfectVectors Vektorisierer für wissenschaftliche Illustrationen kannst du die Grafik als Vektorformen vorab ansehen und dünne Konturen, leere Öffnungen und unerwünschte Hintergrundbereiche prüfen. Lade das SVG herunter, ergänze die ursprünglichen Beschriftungen separat in deinem Editor und verwende den gewählten LaTeX-Auslieferungsweg.

Beim Beispiel mit Linse und Karte würde die Rekonstruktion die gezeichnete Linse oder Kartenkontur betreffen. Die Formulierung gehört in die Beschriftungsquelle. Ein Vektorkandidat muss nach dem PDF-Export und der Dokumenteinbindung weiterhin geprüft werden. Er liefert weder gemessene Geometrie noch eine Freigabe nach Publikationsrichtlinien.

Der Leitfaden zur Strichzeichnungsvorbereitung behandelt die Bereinigung von Rasterquellen. Wenn nur noch ein PDF existiert, hilft der PDF-zu-SVG-Leitfaden, vorhandenen Vektorinhalt von einer gescannten Seite zu unterscheiden, bevor du etwas nachzeichnest. Zur umfassenderen Quellenentscheidung siehe was Bildvektorisierung rekonstruiert.

Das zusammengesetzte Dokument prüfen und seine Quellen behalten

Führe den Test mit einer reinen Beschriftungsänderung in einer Kopie durch. Ändere „Card“ in „Target card“, aktualisiere bei Bedarf den Export und kompiliere das Dokument. Prüfe Schreibweise und Platzierung des Texts bei der endgültigen Abbildungsbreite. Stelle anschließend die gewünschte Formulierung wieder her.

Prüfe außerdem Öffnungen, dünne Linien und Exportgrenzen der Zeichnung. Inkscapes PDF-Exportleitfaden erklärt, dass Filtereffekte gerastert werden können. Ein PDF-Dateiname allein belegt daher nicht, dass jeder sichtbare Teil Vektorgeometrie ist.

Halte das bearbeitbare SVG und die vom Dokument verwendeten Dateien zusammen. Liefere bei einem PDF/LaTeX-Paar beide Dateien. Öffne genau die Projektkopie erneut, die du teilen möchtest, und wiederhole dort die Abbildungsprüfung.

FAQ

Kann ich ein SVG direkt in includegraphics einfügen? Exportiere für die hier beschriebenen Abläufe zuerst eine unterstützte Grafikdatei wie PDF oder verwende das Paket svg zur Verwaltung des Inkscape-Exports. Das Paket bindet weiterhin exportierte Grafik ein.

Warum hat mein exportiertes PDF keine Beschriftungen? Ein PDF-plus-LaTeX-Export lässt Beschriftungstext im PDF weg. Binde die passende LaTeX-Komponente ein, um die Abbildung zusammenzusetzen, oder exportiere ein gewöhnliches PDF, wenn du eine eigenständige Bilddatei möchtest.

Brauche ich Inkscape bei jedem Dokument-Build? Der automatische SVG-Export benötigt es in der Build-Umgebung. Ein zuvor exportiertes PDF oder PDF/LaTeX-Paar lässt sich einbinden, ohne diesen Export während der Kompilierung auszuführen.

Sollte ich einen Screenshot eines Diagramms für LaTeX nachzeichnen? Erzeuge numerische Diagramme erneut aus ihren Daten und dem Diagrammquellcode. Beschränke Nachzeichnen auf geeignete illustrative Grafik, deren bearbeitbare Quelle fehlt, und pflege Beschriftungen separat.

Quellen

  1. CTAN — Paket SVG — Automatischer Inkscape-Export und separat von LaTeX gerenderter Text.
  2. Inkscape — Eine PDF-Datei exportieren — PDF-Kopien, Textausgabeoptionen, Filtereffekte und Exportbereich.
  3. Overleaf — LaTeX-Code zum Einbinden von Bildern — Paket graphicx und Befehle zur Grafikeinbindung.
  4. CTAN — Überblick über den SVG- und Inkscape-Ablauf — PDF-plus-LaTeX-Ansatz für die Dokumenttypografie.
  5. Falk Hanisch und Philip Ilten — Handbuch des Pakets svg — Einbindung vorab exportierter Dateien, Anforderungen des automatischen Exports und Text-Rendering-Optionen.

Wähle, wie die Beschriftungen gesetzt werden sollen, und prüfe dann eine vollständige Abbildung in deinem Dokument. Wenn nur eine Rasterillustration übrig ist, bereite einen Vektorgrafikkandidaten vor, prüfe seine Formen, ergänze die Beschriftungen separat und kontrolliere das zusammengesetzte PDF.

Mehr aus dem Blog

Starte mit einer sauberen SVG,
die leichter zu bearbeiten ist