EPS einfach automatisch erzeugen
Jeder, der LaTeX unter Windows nutzt, kennt das Problem: Die meisten Anwendungen, mit denen man seine Graphiken erstellt, können kein Encapsulated PostScript (EPS) exportieren, und wenn man sich einen PostScript-Drucker einrichtet, stimmt die BoundingBox nicht und man muss jedes Mal per Hand nacharbeiten, was sich bei einer großen Anzahl von Graphiken als überaus lästig erweist. Doch Abhilfe naht. Denn ähnlich wie das Erzeugen von PDF lässt sich auch diese Aufgabe automatisieren.
Die Originalfassung dieser Anleitung entstand im April 2008. Nach mehreren Aktualisierungen gibt’s jetzt (2013) die (für mich) funktionierende Fassung für Windows 7 64-bit.
Danke an zahlreiche Kommentatoren, die zur aktuellen Fassung der Anleitung beigetragen haben. Wenn Ihnen diese Anleitung hilft, dann interessiert Sie bestimmt auch das LaTeX-Lern-Buch.
Bevor Sie loslegen
Wie lange verwenden Sie schon LaTeX? Wie oft erzeugen Sie neue EPS-Grafiken? Wenn die Antworten eher »kurz« und »ab und an« lautet, dann brauchen Sie nicht weiterzulesen. Richten Sie dann einfach einen PostScript-Drucker in eine Datei ein und konvertieren das Ergebnis mittels GSview und Ghostscript manuell.
Zutaten
Folgendes wird benötigt:
- GhostScript. Unterliegt der GPL und gibt’s von der Ghostscript Website. Einfach nach „Obtaining the latest GPL version“ und dann nach der Windows-Version Ausschau halten.
- RedMon 1.9 Redirection Port Monitor unter der AFPL von Russel Langs Seite. Am besten auf deutsch ziehen, dann gibt es mit den Erklärungen hier keine Probleme.
- ps2eps, von Roland Bless ist ein Perlskript, welches PostScript in Encapsulated PostScript transformiert. Liegt in jedem Spiegel des CTAN-Archiv, die Kurzbeschreibung im TeX Catalogue.
- Perl. Am einfachsten nimmt man hier die Distribution ActivePerl von ActiveState. Kleiner Tipp: Beim Herunterladen muß man keine persönlichen Daten angeben, man kann auch so auf „Weiter“ klicken.
Installation der Zutaten
- GhostScript installieren. Die Standardwerte der Installation können alle übernommen werden. Danach muss noch das Verzeichnis
c:\gs\gs9.04\bin
(oder wo auch immer hininstalliert wurde) in den Suchpfad aufgenommen werden. Also in Start → Einstellungen → Systemsteuerung → System → Erweitert → Umgebungsvariablen der Zeile PATH den entsprechenden Verzeichnisnamen hinzufügen. Wichtig: Die Umgebungsvariable des Systems ändern, nur die des Benutzers reicht nicht aus. - Das RedMon Ziparchiv in ein neues, dauerhaftes Verzeichnis entpacken und setup64.exe aufrufen. Dies installiert einen weiteren verfügbaren Druckeranschlusstyp.
- ActivePerl installieren. Im Prinzip können alle Voreinstellungen übernommen werden, wer jedoch Platz sparen will, kann in der Ausstattungsauswahl alles abwählen, was sich abwählen lässt.
- Aus dem ps2eps-Zip-Archiv die Datei bin\win32\bbox.exe in ein Verzeichnis entpacken, das bereits im Suchpfad enthalten ist. Im Zweifelsfall also das Verzeichnis, in das Sie auch Ghostscript installiert haben, also c:\gs\gs9.04\bin. Als zweites die Datei bin\ps2eps entpacken in ein beliebiges Verzeichnis. Bei mir ist dies in beiden Fällen c:\tools\bin, tut aber nichts zur Sache.
Einrichten des EPS Druckers
Die Einrichtung geht nun wie folgt von statten:
- Einen neuen Drucker einrichten:Start → Einstellungen → Drucker → Neuer Drucker.
- Lokalen Drucker ohne automatische Erkennung wählen.
- Einen neuen Anschluss hinzufügen vom Typ „Redirected Port“.
- Bei Druckertreiber auswählen zunächst Windows Update klicken, ein wenig warten.
Dann aus der Gruppe »Generic« den 35PPM PS wählen. Für Windows Vista stattdessen den Apple Color LaserWriter 12/600.
- Der Druckername wird am besten „EPS Drucker“
- Keine Testseite drucken lassen.
- Mit Rechtsklick auf den Drucker die Druckereigenschaften öffnen und den Reiter Anschlüsse wählen. Den neu erstellten Anschluss konfigurieren wie folgt:
- Als Programm wählen Sie C:\Windows\system32\cmd.exe, oder wo auch immer das Windowsverzeichnis beheimatet ist.
- Als Argumente geben Sie ein:
/c perl.exe c:\tools\bin\ps2eps -f -q -B -P -F -C > "%1"
Was bei mir c:\tools\bin heißt, ist natürlich zu ersetzen durch das Verzeichnis, wo Sie das ps2eps-Skript hinkopiert haben. - Als Ausgabe wählen Sie „Prompt for filename“.
- Der Ablauf ist „Hintergrund“.
- Die „Ausführung als Benutzer“ ist nicht aktiv (anders als im Screenshot!).
- Nur für Windows Vista und niedriger: Für den neu angelegten „EPS Drucker“ die Druckereigenschaften öffnen.
- Im Reiter Erweitert die Standardwerte öffnen und bei Erweitert-PostScript-Optionen als Ausgabeoption „Eingekapselter Postscript (EPS)“ wählen. Außerdem muss unter „Farbverwaltung“ der Wert für „ICM-Methode“ auf „ICM ausgeschaltet“ gesetzt werden, da es sonst zu Farbverfälschungen kommen kann.
- Im Reiter Geräteeinstellungen geben Sie bei Verfügbarer Postscript-Speicher als Zahl 32767 ein.
Fertig. Zum Testen einfach aus irgendeiner Anwendung heraus auf den neuen „EPS Drucker“ drucken, als Dateiname die Erweiterung .eps angeben. Die erzeugten Dateien lassen sich problemlos mit epstopdf nach PDF wandeln.
[latexbuchamz]
Benutzung
Die meisten Anwendungen unterstützen beim Drucken eine Option der Art „Nur Auswahl drucken“, genau diese kann benutzt werden, um einzelne Teile in ein EPS zu gießen. Beim Acrobat Reader beispielsweise bedient man sich dazu des „Schnappschuß-Werkzeugs“.
Versalzen?
Sollte etwas nicht gehen, sind folgende Fehler wahrscheinlich:
- Die PostScript-Ausgabe in Windows Vista steht nicht auf „Eingekapselter Postscript (EPS)“. Beheben in den Druckereigenschaften.
- Der Anschluß verweist nicht auf den richtigen Pfad zu cmd.exe. Beheben in den Anschlußeigenschaften.
- Das Programmargument verweist nicht auf den richtigen Pfad zu ps2eps. Beheben in den Anschlußeigenschaften.
- bbox.exe ist in einem Verzeichnis installiert, das nicht im Suchpfad enthalten ist. Umkopieren.
- Irgendein Datei- oder Verzeichnisname enthält ein Leerzeichen. Das ist generell zu vermeiden.
- Irgendeine Option für Ghostscript wurde in falscher Groß-/Kleinschreibung angegeben. Bitte korrigieren, Ghostscript will genau die Schreibweise!
Sollte noch ein anderer Fehler auftreten, so empfehle ich, Google oder Google Groups zu konsultieren und zu sehen, ob jemand anders schon auf dasselbe Problem gestoßen ist. In den Anschlusseigenschaften kann ein Logfile mit Debug angegeben werden, welches dann mehr Informationen bietet. Mit diesem gestaltet sich die Fehlersuche wesentlich einfacher.
Schreiben Sie einen Kommentar