If Fase Logo

mit Google im Archiv der If Fase

Ausgabe 22 vom 1. November 2007 (als PDF):

24. Oktober 2007 – Thomas Arbeiter, Ludger Humbert

LaTeX – Teil 22: PSfrag

In einer Reihe von Artikeln in der If Fase werden nützliche Elemente von LaTeX vorgestellt, die erprobt sind und bei der Arbeit der Informatiklehrerin eingesetzt werden.

In den bisher vorgelegten zweiundzwanzig Teilen der Artikelserie – Ausgaben 0 … 21: rhinodidactics.de/Archiv – finden Sie Hinweise und Anmerkungen zu den Themen: Installation, grundlegende Arbeitsweisen, Quellen zu Dokumentationen, Arbeit mit KOMAscript, PSTricks, Erstellung von Arbeitsblättern, Struktogrammen, Automatengraphen, Elemente von UML, Barcodes, Formularerstellung, Zitieren, Abbildungen, ER Diagramme (mehrfach), Fragen der [Mikro-]Typografie, Setzen von Briefen Graphiken mit LaTeX erstellen, sowie Einbinden von Lizenzbedingungen in LaTeX-Quelltexte sowie in PDF-Dokumente. Mit der hier vorliegenden Ausgabe 22 wird thematisiert, wie dafür Sorge getragen werden kann, dass eingebundene Vektorgrafiken innerhalb der Grafik so beschriftet werden, dass die in LaTeX übliche, hervorragende Qualität auch in den Grafiken einen guten Textsatz erlaubt.

Besonders hervorzuheben ist, dass der Beitrag wesentlich von einem Referendar gestaltet wurde, dem die Vorstellung dieses Themas ein Anliegen ist.

PSfrag – Einsatzgebiete

Mit LaTeX lassen sich Dokumente erzeugen, die optisch hervorragend aussehen und professionell wirken. Dieser Eindruck kann jedoch schnell zunichte gemacht werden, wenn »LaTeX-fremde« Elemente im Dokument angezeigt werden sollen oder müssen. Bilder, Zeichnungen und Diagramme sind nur einige Beispiele, die zu Problemen in der Darstellung führen können. Dabei sind im Allgemeinen weniger die Grafiken selbst das Problem, sondern Beschriftungen innerhalb der Zeichnungen, die sich vom »normalen« Text des Dokumentes mitunter stark unterscheiden. Stammen die Zeichnungen dann noch aus verschiedenen Quellen oder wird die Größe geändert, so ergibt sich ein unansehliches Durcheinander von Schrifttypen und -größen.

Abhilfe kann hier das LaTeX-Paket PSfrag schaffen. Es ersetzt Textelemente in EPS-Grafiken durch beliebige LaTeX-Elemente, so dass für Beschriftungen innerhalb eingefügter Grafiken nicht nur die gewünschte Schrift zur Verfügung steht, sondern komplexe LaTeX-Konstrukte eingebettet werden können. Dabei ist die Handhabung dieses Paketes kinderleicht.

PSfrag – Voraussetzungen

Zunächst muss die einzufügende Zeichnung als Vektorgrafik im EPS-Format vorliegen. Außerdem müssen in der Grafik an der Stelle, an der später LaTeX-Elemente auftauchen sollen, Zeichenketten stehen. Wichtig ist dabei, dass das Programm, welches die Vektorgrafik erstellt hat, die Zeichenketten als Zeichen und nicht als Bitmap speichert. Nur dann kann PSfrag die Zeichenketten in der Grafik finden und geeignet ersetzen.

Neben den beschriebenen Anforderungen an die einzufügende Grafik muss gewährleistet sein, dass das Paket PSfrag in die vorhandene LaTeX-Distribution korrekt eingebunden ist. In weit verbreiteten Distributionen MikTeX, TeX live und teTeX ist PSfrag bereits integriert. Andernfalls sind die entsprechenden Dateien unter www.ctan.org/tex-archive/help/Catalogue/entries/psfrag.html zu finden.

PSfrag – Benutzung

Zunächst wird PSfrag durch \usepackage{psfrag} in der Präambel in das LaTeX-Dokument eingebunden. Mit \includegraphics{grafik} kann nun – wie gewohnt – jede beliebige Postscript-Grafiken eingefüg werden. Wird jedoch vor \includegraphics die Anweisung


\psfrag{irgendwas}{$\sum\limits_{i=1}^{n}i$}

geschrieben, so wird in der Abbildung die Zeichenkette »irgendwas« durch die LaTeX-Anweisung in der zweiten geschweiften Klammer ersetzt – im Beispiel also durch das Summenzeichen. PSfrag wird die entsprechenden Zeichenketten in sämtlichen nachfolgenden Abbildungen ersetzen, sofern diese in der gleichen geschlossenen Umgebung wie der \psfrag-Befehl – oder darin eingebetteten Umgebungen – stehen. So wird PSfrag bei folgendem Programmcode

\begin{figure}

\psfrag{tag1}{\textbf{Hier steht irgendetwas}}

\includegraphics{grafik1}

\includegraphics{grafik2}

\end{figure}

\includegraphics{grafik3}

in den Abbildungen grafik1.eps und grafik2.eps die Zeichenkette »tag1« durch den fettgedruckten Text »Hier steht irgendetwas« ersetzen; grafik3.eps erscheint hingegen – da außerhalb der figure-Umgebung – unverändert. Selbstverständlich können auch mehrere verschiedene Zeichenketten durch entsprechend viele \psfrag-Befehle in einer Abbildung ersetzt werden.

Weiterhin ist zu erwähnen, dass die psfrag-Anweisung parametrisiert werden kann. Die vollständige Befehlssyntax lautet


\psfrag{tag}[posn][psposn][scale][rot]{Ersetzungstext}

Dies ermöglicht eine genaue Positionierung des Ersetzungstextes. Es gibt außerdem noch eine Stern-Version von PSfrag, mit der Textelemente in einer Postscript-Grafik mehrfach ersetzt werden können.

PSfrag – Probleme mit pdflatex

Dokumente, in denen mit dem Paket PSfrag gearbeitet wird, können prinzipiell nicht mit pdflatex übersetzt werden, da pdflatex keine Schnittstellen zu Postscript besitzt. In dieser Situation werden Nutzer, die solche Anforderungen formulieren, häfig aktiv und erstellen zumindest für ihren Anwendungsbereich Lösungen in Form von kleine Programmen, die die auftretenden Schwierigkeiten lösen. Hier wird auf zwei dieser Möglichkeit hingewiesen: Um PDF-Dokumente zu erzeugen, kann ps2pdf oder eine (etwas umständlichere) Möglichkeit genutzt werden, die unter www.tat.physik.uni-tuebingen.de/~vogel/fragmaster/main.html.de.

Die zu bearbeitende EPS-Datei

Die zu bearbeitende EPS-Datei: Vorher

Die Bearbeitung


\includegraphics[width=.47\textwidth]{psf-demo}

\hfill

\begin{psfrags}

  \psfragscanon

  \psfrag{x1}[br][  ]{\LaTeX} \psfrag{x2}[br][br]{\LaTeX}

  \psfrag{x3}[br][tl]{\LaTeX} \psfrag{x4}[br][Br]{\LaTeX}

  \psfrag{x5}[Br][ r][1.15][45]{\Huge\LaTeX}

  \psfrag{x6}[tl][ l][1.15][45]{\Huge\LaTeX}

  \includegraphics[width=.47\textwidth]{psf-demo}

\end{psfrags}
Die zu bearbeitende EPS-Datei

Die bearbeitete EPS-Datei: Nachher

Fazit

Mit PSfrag ist es möglich, optisch ansprechende Grafiken in LaTeX-Dokumente einzufügen. Dabei ist die Handhabung kinderleicht und sollte auch LaTeX-Anfängern sofort gelingen. Lösbare Probleme treten auf, wenn man auf pdflatex angewiesen ist. In diesem Fall müssen die Änderungen außerhalb direkt auf den EPS-Dateien vorgenommen werden, die in PDF-Dateien umgewandelt werden müssen, damit sie von pdflatex eingebaut werden.

PSfrag – Verweise 

Dokumentation und Downloadmöglichkeit: www.ctan.org/tex-archive/help/Catalogue/entries/psfrag.html

PSfrag mit pdflatex: www.tat.physik.uni-tuebingen.de/~vogel/fragmaster/main.html.de

Die hier veröffentlichten Inhalte stellen keine Meinungsäußerungen der Studienseminare Hamm Arnsberg dar.
© Redaktion If Fase