Die Umwandlung von LaTeX-Formeln in Grafiken

LaTeX-Anwender stehen oft vor dem Problem, dass Formeln und Matrizen in der gewohnt guten Qualität auch in Präsentationen oder auf Webseiten präsentiert werden sollen. Sicher kann man auch mit anderen Programmen Formelbilder oder andere Graphikobjekte erzeugen. Aber Hand aufs Herz: will man das wirklich?
Dieser Artikel soll Wege zeigen, um aus LaTeX-Dokumenten qualitativ hochwertige Bitmaps mit Matrizen oder Formeln zu erstellen. Die Bitmaps können in Präsentationen, auf Webseiten oder auch in bestimmten Wortverarbeitungsprogrammen eingesetzt werden. Die Webseite wird bei Bedarf ergänzt, wenn weitere Fragen vorliegen. Ich freue mich auch über Fehlermeldungen und Anregungen.

Welche Werkzeuge werden benötigt?

Die notwendigen Werkzeuge findet man in jeder ordentlichen Linux-Distribution und sie liegen auch für die Cygwin-Plattform vor. Im einzelnen wurden für diesen Artikel folgende Programme verwendet: Ich habe die notwendigen Schritte in den letzten Jahren auch mit Vorgängerversionen der genannten Programme abgearbeitet. Wenn keine gravierenden Fehler auftreten, ist es also nicht notwendig, dafür ein größeres Download zu starten :-) Die Beispieldokumente und -scripte dieser Webseite kann man sich natürlich als tgz-Archiv herunterladen und in ein leeres Verzeichnis entpacken (siehe unten).

In welchen Schritten wird die Konvertierung durchgeführt?

Bei der Arbeit mit LaTeX oder pdfLaTeX entstehen im allgemeinen hochwertige Vektorgrafiken und Texte im PostScript- oder PDF-Format, die erst beim Druck gerastert werden. Für Präsentationen und Webseiten muss man aber in der Regel Rastergrafiken erzeugen. Das ist auch kein Problem, weil die Quelldatei dabei nicht verloren geht. Wir gehen folgende Schritte:
  1. Formelsatz mit LaTeX
  2. Compilieren von LaTeX nach PDF oder PostScript
  3. Rastern mit GhostScript
  4. Konvertieren mit ImageMagick in das gewünschte Format.
Linux-Benutzer wissen, dass man sich solche Arbeiten automatisieren kann. Daher werden diese Schritte in einige kleine Shell- und Perlscripte verpackt. Zur Erstellung von Matrizen aus Textdateien empfehle ich awk oder Perl.

Das Setzen der Formel mit LaTeX

Zuerst sollten die Formeln in LaTeX vorliegen und in ein Minimaldokument verpackt werden. Der Formelsatz mit LaTeX ist nicht Gegenstand dieses Beitrags. Als Beispiele verwende ich bewusst einfache Formeln. Das folgende Minimalbeispiel zeigt die Summenformel für die natürlichen Zahlen, die man in jedem Tafelwerk finden sollte:
Dieses Beispiel wurde mit dem folgenden LaTeX-Quelltext erzeugt...

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{mathpazo}
\usepackage[scaled=0.92]{helvet}
\usepackage{amsmath}
\begin{document}
\thispagestyle{empty}
   $ 1 + 2 + 3 + 4 + \ldots + n =
   \overset{n}{\underset{k=1}{\sum}}k = \cfrac{n}{2}(n+1) $
\end{document}

... und mit folgenden Befehlen übersetzt:

latex beispiel01.tex
dvips beispiel01.dvi -o beispiel01.ps
gs -r300x300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4
   -sDEVICE=bmp16m -sOutputFile=beispiel01.bmp
   -dBATCH -dNOPAUSE beispiel01.ps

Die GhostScript-Optionen gehören dabei natürlich alle in eine Zeile.
Bis dahin funktioniert alles wie bei jeder Anwendung von LaTeX. Auch die Anwendung von pdfLaTeX ist natürlich möglich.

Die Bildverarbeitung mit ImageMagick

Nun wird die entstandene Grafik unter Anwendung von ImageMagick zuerst beschnitten und dann skaliert. Das Beschneiden wird mit dem Programm mogrify vorgenommen. Das Skalieren erfolgt mit dem Programm convert.


mogrify  -crop 0x0 beispiel01.bmp
convert  -bordercolor white -border 20x20 
         -antialias -quality 100
         -geometry 35%x35%  
          beispiel01.bmp beispiel01.png

Die Zusammenfassung der Befehle in einem Shellscript

Alle Schritte sind in zwei kleinen Shellscripten zusammengefasst, die in dem Archiv formeln.tgz zu finden sind. Das erste arbeitet mit LaTeX und dvips, das zweite mit pdfLaTeX. Testen Sie das zweite Shellscript mit ./formel02.sh beispiel01.tex - Sie erhalten in diesem Fall ein PNG und ein JPEG mit der oben gezeigten Formel.

Hinweis

Der Autor bemüht sich um die möglichst fehlerfreie Gestaltung aller Scripte, Bilder, Beispiele und Webseiten. Sollten Sie doch einen Fehler finden, dann bitte ich Sie um eine kurze Nachricht per Mail. Die Webseiten sollten mit Browsern aus den letzten zwei bis drei Jahren gut lesbar sein.
© Stefan Lagotzki     <stefan@lagotzki.de>     zuletzt aktualisiert am 01.06.2003