PDF steht für "Portable Document Format" und ist ein Dateiformat, das meines Wissens ursprünglich von Firma Adobe veröffentlicht wurde. Die meisten kennen es wahrscheinlich durch den kostenlosen Acrobat Reader, der zum Öffnen von PDF-Dateien dient. Erstellen kann er sie aber nicht - dafür braucht man die nicht kostenlose Vollversion von Acrobat oder andere Programme - dazu gleich mehr.
In gewisser Hinsicht ist PDF das Gegenstück zum HTML-Standard. HTML ist dadurch gekennzeichnet, daß der Autor des Textes sehr wenig Kontrolle darüber hat, wie der Browser des Lesers seinen Text interpretiert. Das macht HTML sehr flexibel und mag ein Grund für den Siegeszug des WWW sein; HTML-Dokumente sind (sofern sie nicht spezielle Erweiterungen nutzen) unter einer Unzahl von Betriebssystemen, auf jedem Monitor jeder Größe, auch auf Nur-Text-Anzeigen problemlos lesbar - der Browser sorgt für Umbrüche, Formatierung, Plazierung der Abbildungen und insgesamt für die Darstellung auf dem Monitor.
PDF-Dokumente hingegen brauchen spezielle Betrachter wie den Acrobat Reader (oder xpdf oder andere mehr). Damit aber werden dann die Dokumente genau so angezeigt, wie sie ursprünglich layoutet wurden, in derselben Schrift, mit den Abbildungen an derselben Stelle, denselben Umbrüchen usw. Wer also Wert darauf legt, daß der Leser seines Dokuments nicht nur den Inhalt, sondern auch das Layout des Dokuments exakt übertragen bekommt, ist mit PDF gut beraten.
PDF ist ein sehr mächtiges Dateiformat, das die Einbindung von Grafiken, von Hyperlinks, die Erstellung von Bookmarks und Thumbnails erlaubt. All dies geht weit über das hinaus, was ich hier beschreiben kann. Ich werde hier einen Abriß über die Erstellung von PDF-Dateien mit den Mitteln von TeX und seinen Freunden geben und einige einfache Features zeigen. Einen Anspruch auf Vollständigkeit erhebt das nicht.
pdfTeX ist eine "Erweiterung" (so die Autoren) von TeX, die sehr weitgehend mit dem üblichen TeX/LaTeX kompatibel und - im Gegensatz zum originären LaTeX - in der Lage ist, PDF-Dokumente zu erzeugen. Autoren sind Han The Thanh (der mir verzeihen möge, daß die Akzente in seinem Namen meine HTML-Kenntnisse übersteigen), Sebastian Rahtz und Hans Hagen.
Tatsächlich kann pdfTeX noch viel mehr. Da man mit pdfTeX wahlweise PDF- oder den LaTeX-üblichen DVI-Output erzeugen kann, gibt es daher Leute, die nur mit pdfTeX arbeiten und die sagen, es sei de facto die neuere und bessere "Version" von LaTeX. Die Autoren von pdfTeX selbst bezeichnen pdfTeX hingegen ausdrücklich als Beta-Software.
Vermutlich ist pdfTeX Bestandteil Deiner TeX-Distribution. Falls nicht, dann ist u.a. hier zu finden.
pdfTeX bietet, wie gesagt, einige Möglichkeiten, die LaTeX nicht hat. Die prinzipielle Bedienung ist supereinfach: Wenn ein LaTeX-Quelltext vorliegt, dann sagt man nicht: latex filename, sondern: pdflatex filename, und dann wird aus demselben Quelltext ein PDF-Dokument im selben Verzeichnis erstellt. So einfach ist das, pdfTeX wird in den allerallermeisten Fällen einen bestehenden LaTeX-Quelltext völlig problemlos übersetzen.
Jedenfalls gilt das so, wenn die üblicherweise im TeX-System installierten Standard-Fonts verwendet werden. pdfTeX sollte mit Vektorschriften wie Type-1-Fonts oder TTF-Fonts von Windows verwendet werden; die Standard-TeX-Schriften sollten aber in einer üblichen Installation auch als Type-1 vorliegen. Komplizierter wird es, wenn andere Schriften verwendet werden; die werden von pdfTeX evtl. nur in schlechter Qualität eingebunden.
Alternativ kann man pdfLaTeX auch anweisen, DVI-Output zu produzieren: indem man zu Anfang des Quelltextes, z. B. hinter den Dokumentklassenbefehl,
\pdfoutput=0
setzt. Das ist dann von Bedeutung, wenn man features benutzen möchte, die nur pdfTeX bietet (wie optischen Randausgleich, Verwendung von JPG-Grafiken oder TTF-Schriften, trotzdem aber den Output als DVI benötigt.
\pdfoutput=1 stellt die PDF-Ausgabe wieder ein. Es ist kein Problem, so hin- und herzuschalten, aber man muß eben jedesmal den Quelltext ändern und neu übersetzen.
LaTeX selbst kann kein PDF erzeugen.
Programme zum Betrachten von PDF-Dateien sind zwar problemlos erhältlich, aber nicht unbedingt standardmäßig auf jedem Rechner installiert. Der klassische PDF-Viewer ist der Acrobat Reader von Adobe, der auf den Webseiten dieser Firma für viele Betriebssysteme und in vielen Sprachen kostenlos heruntergeladen werden kann. Er ist auch auf vielen Computerzeitungs- oder Programm-CDs, weil heutzutage viele Dokumentationen von Programmen als PDF beigegeben werden. Es gibt aber auch viele andere PDF-Betrachter. Ein weiteres Beispiel wäre xpdf für X unter Linux. Ihre Vor- und Nachteile werden zum Beispiel hier gelegentlich diskutiert.
Die eigentliche Besonderheit ist natürlich die Erstellung von PDF-Dokumenten. Aber pdf(La)TeX ermöglicht auch einiges, was mit üblichem LaTeX nicht möglich ist.
Das ist Typographie für Genießer. Sieh' Dir einmal irgendeinen in Blocksatz geschriebenen Text an, und achte auf den rechten Rand des Textes oder einer Spalte. Alles in einer geraden Linie, natürlich, soll ja auch so sein. Aber diese gerade Linie hat bei genauer Betrachtung "Löcher", nämlich an den Trennstrichen oder z.B. bei Kommata am Spaltenrand: Hier ist die gleichmäßige Schwärzung des Textblocks durchbrochen, weil für einen Trennstrich o. ä. nicht so viel Druckerschwärze aufs Papier kommt. Optischer Randausgleich bedeutet, hier einen ausgeglicheneren Eindruck zu schaffen, indem Trennstriche usw. ein wenig über den Spaltenrand hinaus gesetzt werden.
Im üblichen Druck wird optischer Randausgleich kaum jemals verwendet (ein klassisches Beispiel wäre jedoch etwa das Werk "Erfreuliche Drucksachen durch gute Typographie" von Jan Tschichold aus dem MaroVerlag Augsburg). Mit dem klassischen LaTeX ist das auch nicht zu erreichen, aber mit pdfTeX kann man mit dem Paket pdfcprot (steht für character protrusion) von Carsten Schurig recht einfach optischen Randausgleich setzen. Zu finden ist es z. B. hier. Erwähnt sei noch, daß der optische Randausgleich theoretisch natürlich für jeden Schriftart je nach deren Dicke usw. speziell zu berechnen wäre und daß pdfcprot bislang m. W. die Kerning-Anpassungen nur für die Schriftart Palatino enthält, aber sie gelten als recht gut auch für andere einigermaßen gängige Schriften passend.
So geht's: Man schreibe
\usepackage[activate]{pdfcprot} in die Präambel
Wenn pdfTeX dabei die Ausgabe als DVI erstellen soll, dann heißt der Befehl:
\usepackage[activate,DVIoutput]{pdfcprot}
Das Paket bietet auch komplexere Möglichkeiten der Einstellung an, im Rahmen derer z. B. der Randausgleich nur für einzelne Schriftstile wie nur für kursive Stellen eingestellt werden kann. Dies und weitere Optionen sind nach Installation in der Dokumentationsdatei pdfcprot.dvi zu finden.
Wer hinter die Kulissen schauen möchte, kann sich die Datei pplmnT1.cpa ansehen. Sie enthält die Kerning-Informationen und kann ggf. als Muster für eigene Anpassungen dienen.
Das Einbinden von Grafiken in TeX-Dokumente ist nicht ganz einfach. Der einfachste Weg ist, an der gewünschten Stelle den Befehl \includegraphics zu setzen. Dafür muß in der Präambel
\usepackage[pdftex]{graphicx}
(ja, mit 'cx'!) geladen werden. Allerdings braucht LaTeX einzubindende Grafiken möglichst im Format EPS (und kann das verbreitete Format JP(E)G nicht verwenden). Mit pdfTeX hingegen ist problemlos und mit prinzipiell gleicher Befehlssyntax das gängigere Format JPG zu verwenden.
pdfTeX hingegen kann wiederum mit EPS nicht umgehen. Hierüber wird stolpern, wer wechselnd denselben Quelltext mit pdfLaTeX und LaTeX übersetzen will (etwa, weil er die Ausgabe als DVI und PDF braucht) und dabei den kompletten Namen der Grafikdatei angibt:
\includegraphics{mypic.jpg} oder \includegraphics{mypic.jpg}
Dieses Problem ist leicht zu umgehen: LaTeX wählt als default EPS aus, wenn vorhanden, pdfLaTeX dagegen JPG. Wenn man also sein Bild in beiden Versionen (EPS und JPG) unter demselben Dateinamen im relevanten Verzeichnis bereit hält, dann bindet man es mit
\includegraphics{mypic}
also ohne Extension, ein und der jeweilige Compiler sucht sich die richtige Version automatisch aus.
Ein elegantes Feature von pdfTeX ist, daß man unter Verwendung des Pakets hyperref funktionierende, anklickbare Hyperlinks in sein PDF-Dokument einbinden kann. Das heißt, der Acrobat Reader - oder welchen anderen PDF-Viewer Du auch gerade verwendest - öffnet bei Anklicken des Links den Standard-Internetbrowser des Systems, und darin wird dann der angegebene Link geöffnet.
Muß ich betonen, daß man dafür eine offene Internetverbindung braucht? Außerdem fragt zumindest mein Firewall dann nach, ob der Reader ein anderes Programm starten darf - das muß man dann eben erlauben. Letztlich mag es Kombinationen von Viewer und Browser geben, wo das so nicht funktioniert, aber mein Eindruck ist, daß es sehr oft ganz problemlos klappt.
Die Handhabung ist einfach:
In die Präambel gehört das Einbinden des Pakets:
\usepackage[pdftex,colorlinks=true,urlcolor=blue]{hyperref}
[hier stellen wir außerdem gerade blau als Farbe der Links ein]
und ein Aufruf im Text funktioniert dann so:
\href{http://www.anydomain.com/anydocument.html}{Angezeigter Text des Links}
Das führt nach Übersetzung zu folgendem Ergebnis: Der Betrachter des Dokuments sieht in blau den "angezeigten Text", kann darauf klicken und bekommt dann im Browser anydocument.html live aus dem Internet angezeigt.
Ich verrate Euch auch noch eine persönliche Lieblingsanwendung hiervon: Seit ich hierauf gestoßen bin, verschicke ich vor Urlaubsreisen einen Reiseplan als PDF an Freunde, die es interessieren könnte. Ich baue dann Links zu Hotel-Webseiten, zu Webcams vor Ort oder beispielsweise zu einem Online-Wetterdienst aus der Gegend ein - wer mag, kann sich dann ein Bild machen, was ich so vorhabe oder - unterwegs - gerade treibe.
Falls ich Euch damit neugierig gemacht habe: Ich zeige hier mal ein abgespecktes Beispiel. (Um bestimmt niemandes Copyright, Recht am Bild o. ä. zu verletzen, verlinke ich hier aber nur auf ein paar eigene Fotos im Verzeichnis dieses Dokuments, das ist aber ohne jede Bedeutung für's Prinzip.). Diesem PDF liegt folgender Quelltext zugrunde:
Quelltext (Linux) Quelltext (DOS)
Stand 04/2005