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.
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.
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.
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.
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 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}
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