> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/de/ausfuhrliche-artikel/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# Der TeX-Stammbaum: LaTeX, pdfTeX, XeTeX, LuaTeX und ConTeXt

Die Geschichte von LaTeX reicht bis ins Jahr 1977 zurück, als Donald Knuth erstmals den Bedarf an einem hochwertigen Satzprogramm erkannte. Es ist ein bemerkenswertes Zeugnis für die Qualität von LaTeX, dass das System, das er damals konzipierte, auch heute noch das beste Werkzeug für diese Aufgabe ist, obwohl in den Jahrzehnten seither viele nützliche Ergänzungen hinzugekommen sind. Tatsächlich ist LaTeX eine dieser Ergänzungen des ursprünglichen Systems, das Donald Knuth entwickelt hat und das hieß [TeX](http://www.tug.org/).

Um in der LaTeX-Welt Ansehen zu haben, musst du es mit einem großen T und X schreiben und es wie Lay-Tech aussprechen. Das liegt daran, dass das X in TeX eigentlich ein großes Chi (χ) aus dem Griechischen ist. Latex mit normaler Großschreibung und Aussprache ist eine Art Gummi!

## Das ursprüngliche TeX

Es gibt eine große Familie von Werkzeugen, die heute von TeX abgeleitet sind, und auf den ersten Blick kann das wie eine Liste von Unsinnswörtern wirken: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt und so weiter. Der Vorfahr all dieser ist natürlich Knuths ursprüngliches TeX-Programm. Dieses nimmt ein Dokument in reinem Text entgegen und verwandelt es in ein wunderschön gesetztes Dokument. Knuth war beim Satz ziemlich eigen, und die Liebe zum Detail in TeX ist deutlich sichtbar. Ein Beispiel für ein TeX-Dokument könnte etwa so aussehen:

```latex
\TeX{} ist gut darin, Wörter wie `fjord', `efficiency',
und `fiasco' zu setzen. Es ist auch gut darin, Mathematik wie
$a^2 + b^2 = c^2$.
\bye
```

Die Ausgabe davon, nachdem man sie durch das TeX-Programm laufen ließ, ist:

![Texsample.png](/files/fa3b31172dbce546cdf8e7844c527fbae426773c)

Beachte, wie die Kombinationen der Buchstaben 'fi', 'fj' und 'ff' in den Beispielwörtern auf angenehme Weise ineinander übergehen und wie die mathematischen Symbole gut verteilt sind. In größerem Maßstab leistet TeX bei der Zeilenumbruchssetzung an den passenden Stellen sehr gute Arbeit, um sauber ausgerichteten Text zu erzeugen, mit Silbentrennungen, wo es angebracht ist.

Es setzt nicht nur Text schön, es hat auch eine Auswahl an Befehlen, wie zum Beispiel `\bye` und `\TeX` im obigen Beispiel. Diese können einfache Dinge tun, wie die Schriftgröße ändern oder die Anordnung des Textes verändern, aber auch weitaus mächtigere Dinge, wie eine Abschnittszählung für Querverweise auf deinen Seiten zu führen oder automatisch ein Inhaltsverzeichnis aufzubauen. Das TeX-Programm hat etwa 300 integrierte Befehle, aber weitere Befehle können darin definiert werden. Donald Knuth schrieb innerhalb von TeX noch etwa 600 weitere nützliche Befehle in einem Paket namens Plain TeX, das einige gängige Satzaufgaben erleichtert.

## LaTeX

Die Befehle in TeX und Plain TeX sind noch immer ziemlich grundlegend, und es ist nicht einfach, damit komplizierte Dinge zu tun. Um dabei zu helfen, schuf Leslie Lamport [LaTeX](http://www.latex-project.org/) Anfang der 1980er Jahre, um eine höherstufige Sprache zum Arbeiten als TeX bereitzustellen. LaTeX ist eine Menge von Befehlen, die in Bezug auf die zugrunde liegenden TeX-Befehle definiert sind, oft auf vielen, vielen Abstraktionsebenen. Alle Befehle, die du in einem LaTeX-Dokument verwendest, sind darunter eigentlich nur komplizierte Mengen von TeX-Befehlen, außer natürlich, du verwendest direkt einen TeX-Befehl! Konzepte wie Pakete (`\usepackage{...}`), Umgebungen (`\begin{environment} ... \end{environment}`), und Dokumentklassen (`\documentclass{...}`) wurden alle von Leslie Lamport in LaTeX eingeführt.

Durch die Schaffung eines standardisierten Paketsystems für LaTeX ließ Leslie Lamport die Community enorm wachsen. Es gibt inzwischen Tausende und Abertausende von LaTeX-Paketen, mit denen du alles Mögliche setzen kannst, von Unterabbildungen bis zu Strickmustern. Es gibt auch viele Dokumentklassen für verschiedene Arten von Dokumenten, egal ob du ein Buch, einen Laborbericht oder einen Lebenslauf schreibst. Viele Verlage und Zeitschriften haben ihre eigenen benutzerdefinierten Dokumentklassen, die ihre Dokumente so gestalten, wie sie es möchten.

## pdfTeX

Das TeX-Programm ist für eine über 20 Jahre alte Software bemerkenswert stabil; Knuth erklärte 1989, dass es funktionsmäßig vollständig sei, und seitdem wurden nur noch Fehler behoben. Natürlich hat das die bedeutende und fortlaufende Entwicklung von LaTeX nicht aufgehalten, weil dieses in TeX selbst geschrieben ist. Tatsächlich hat die Stabilität von TeX dazu geführt, dass Pakete wie LaTeX, die darauf aufbauen, gedeihen konnten.

Das soll nicht heißen, dass das zugrunde liegende TeX-Programm in den letzten 20 Jahren keine Fortschritte gemacht hat. Ganz im Gegenteil: Verbesserungen wurden nur eben neben TeX vorgenommen, während das ursprüngliche TeX stabil blieb. Die wichtigste Verbesserung der 1990er Jahre war die Schaffung von [pdfTeX](http://www.tug.org/applications/pdftex/) von Hàn Thế Thành für seine Doktorarbeit. Das ursprüngliche TeX-Programm gibt das gesetzte Dokument in ein eigenes Format namens DVI (DeVice Independent format) aus, das später in eine PostScript-Datei zum Drucken umgewandelt werden kann. Allerdings kam das PDF-Format 1993 auf und heute sieht man klar, dass es als besseres Format gegenüber PostScript gewonnen hat. Es gibt viele Funktionen, die PDF besser machen, etwa Hyperlinks zwischen Abschnitten, einen Metadatenbereich, mit dem du im linken Bereich deines PDF-Viewers ein Inhaltsverzeichnis sehen kannst, und Unterstützung für eine breitere und modernere Palette von Bildformaten. pdfTeX ist eine Modifikation von TeX, die es ermöglicht, direkt in PDF auszugeben und so diese zusätzlichen Funktionen zu nutzen.

Wenn du heute eine LaTeX-Distribution auf deinem System installierst, kommt sie tatsächlich mit zwei verschiedenen Programmen: `tex`, und `pdftex`Es bringt außerdem noch zwei weitere Programme mit: `latex` und `pdflatex`aber das sind eigentlich nur Wrapper um `tex` und `pdftex` bzw. Diese laden zunächst die LaTeX-Pakete, bevor sie dein Dokument verarbeiten, sind darunter aber immer noch TeX. Wenn du `latex` oder `tex` dann erhältst du eine DVI-Datei, die du in eine PostScript-Datei oder ein PDF umwandeln kannst, aber wenn du `pdflatex` wird dir direkt ein PDF ausgegeben.

Meistens, `pdftex` und `pdflatex` sind Verbesserungen gegenüber `tex` und `latex`; es gibt jedoch einen Nachteil. Das ursprüngliche TeX und das DVI-Format unterstützen Encapsulated-PostScript-Dateien (`.eps`), da diese leicht in PostScript-Dateien eingebunden werden können (die durch Konvertieren von `.dvi` Dateien in PostScript mit [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)erzeugt werden). Allerdings `pdftex` kann EPS-Dateien nicht einbinden, und du solltest stattdessen PDFs verwenden (die aus EPS-Dateien mit dem Befehl `epstopdf` erzeugt werden können, der im Allgemeinen mit LaTeX-Distributionen mitgeliefert wird). Als Ausgleich für diesen Nachteil fügt pdfTeX allerdings Unterstützung für `.png`, `.jpg` und `.pdf` Bilder hinzu, während das ursprüngliche TeX nur .eps unterstützt (über [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX und LuaTeX

Bisher haben wir gesehen, dass sich TeX seit seinem Beginn auf zwei verschiedene Arten entwickelt hat: mit der Ergänzung leichter zu verwendender Befehle auf dem ursprünglichen System (LaTeX) und mit Aktualisierungen des zugrunde liegenden Programms zur Unterstützung von PDF-Ausgabe (pdfTeX). Die Geschichte endet dort jedoch nicht, und es gibt fortgesetzte Bemühungen, TeX zu modernisieren. 2004 schuf Jonathon Kew [XeTeX](http://tug.org/xetex/), das eine weitere Modifikation der zugrunde liegenden TeX-Engine ist, diesmal um eine breitere Palette von Zeichen zu unterstützen, nicht nur einfache englische Zahlen und Buchstaben, und um Unterstützung für moderne Schriftformate einzuschließen. Das macht das Schreiben in Fremdsprachen viel einfacher und erlaubt dir außerdem, in LaTeX Schriftarten zu verwenden, die traditionell nur deinem Textverarbeitungsprogramm zur Verfügung standen.

[LuaTeX](http://www.luatex.org/) ist der Versuch, das ursprüngliche TeX-Programm um eine sinnvollere Programmiersprache zu erweitern. Zwar kann man theoretisch aus TeX heraus absolut alles tun, praktisch ist es jedoch eine sehr unbeholfene Programmiersprache, mit der man arbeiten muss, falls man sie überhaupt als Programmiersprache bezeichnen kann. Vieles im Inneren von LaTeX ist kompliziert und für Außenstehende schwer zu verstehen, weil man nur in TeX arbeiten muss. LuaTeX wird um die namensgebende Skriptsprache Lua erweitert, eine einfache und stabile Sprache, ideal zum Schreiben komplizierter Makros. Stand 2012 befindet es sich noch in aktiver Entwicklung und seine API kann sich ändern, aber es ist trotzdem sehr gut nutzbar.

## ConTeXt

Wir haben LaTeX als Erweiterung der in TeX verfügbaren Befehle erwähnt, aber es ist nicht das einzige Paket, das TeX in bedeutender Weise erweitert hat. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) ist ein weiteres System, das 1990 von Hans Hagen geschaffen wurde. LaTeX zielt darauf ab, den Benutzer davon zu entlasten, Entscheidungen über Typografie und Layout treffen zu müssen (du tippst `\section` und `\emph` ein, aber du musst dir keine Gedanken darüber machen, was diese bewirken - das bleibt der Dokumentklasse oder dem Layout überlassen). ConTeXt hingegen zielt darauf ab, eine einfache Schnittstelle für fortgeschrittene typografische Funktionen bereitzustellen. Leider weiß ich über ConTeXt nicht so viel, wie ich gern würde, also kann ich dazu nicht viel weiter ausführen, aber wenn ich jemals dazu komme, damit mehr zu experimentieren, werde ich meine Erkenntnisse aufschreiben.

Als letzte historische Anmerkung sollte ich noch [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) erwähnen, das eine Erweiterung der Plain-TeX-Makros war und von der American Mathematical Society (AMS) von 1982 bis 1985 verwendet wurde. Sein Erbe lebt in AMS-LaTeX-Paketen fort, die ein fester Bestandteil vieler LaTeX-Dokumente sind: `\usepackage{amsmath}`.

## Die Zukunft

Was wird die Zukunft für TeX und LaTeX bereithalten? Ich weiß es noch nicht, aber wie Alan Kay einmal sagte:

> Der beste Weg, die Zukunft vorherzusagen, ist, sie zu erfinden.

Mit ShareLaTeX hoffen wir, TeX und LaTeX in eine dritte Richtung zu verbessern, indem wir den LaTeX-Arbeitsablauf deutlich verbessern. Obwohl LaTeX über 20 Jahre alt ist, ist es immer noch größtenteils ein Befehlszeilenprogramm, das in einem umständlichen Zyklus aus Schreiben, Kompilieren und Überprüfen der Ausgabe verwendet werden muss. Methoden der Zusammenarbeit bestehen oft eher aus umständlichen E-Mail-Nachrichten als aus den optimierten Prozessen, die für Textverarbeitung wie Google Documents verfügbar sind.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/de/ausfuhrliche-artikel/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
