`Zurück zu:` 2 Anwendervereinigungen, Tagungen, Literatur
`Hoch zu:` Inhalt
`Weiter zu:` 4 Textsatzsystem TeX - Bezugsquellen
`Mehr zu TeX et al.:` DANTE e.V.

DE-TeX-FAQ (Version 72 vom September 2003)
Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner

# 3 Textsatzsystem TeX - Übersicht

- 3.1 Grundlegendes
- 3.1.1 Was ist TeX?
- 3.1.2 Was ist METAFONT?
- 3.1.3 Worin besteht der Unterschied zwischen IniTeX und VirTeX bzw. zwischen IniMF und VirMF? Was ist eine sogenannte Format-, was eine Base-Datei?
- 3.1.4 Was ist eine dvi-Datei, was ist ein dvi-Treiber, was ist der DVI-Treiberstandard?
- 3.1.5 Wozu dienen Dateien mit der Namensendung ,.xyz`?
- 3.1.6 Welche TeX-/METAFONT-/METAPOST-Versionen sind aktuell?
- 3.1.7 Was ist TDS, die ,TeX Directory Structure`?
- 3.2 Welche TeX-Formate gibt es? Was ist LaTeX?
- 3.2.1 Was ist ein (TeX-)Format?
- 3.2.2 Was ist Plain-TeX?
- 3.2.3 Was ist LaTeX, LaTeX2e und LaTeX 2.09?
- 3.2.4 Welche (La)TeX-Makropakete gibt es?
- 3.2.5 Was ist AmS-TeX, AmS-LaTeX und LAMSTeX? Was sind die AmS-Fonts?
- 3.2.6 Was ist Texinfo?
- 3.2.7 Was ist ConTeXt?
- 3.3 Welche TeX-Weiterentwicklungen gibt es?
- 3.3.1 Was ist `TeX-XeT` bzw. `TeX--XeT`?
- 3.3.2 Was ist MLTeX?
- 3.3.3 Was ist NTS?
- 3.3.4 Was ist e-TeX? Was ist Eetex?
- 3.3.5 Was ist Omega?
- 3.3.6 Was ist pdfTeX?
- 3.3.7 Was ist ,ant`?

  ## 3.1 Grundlegendes

  ### 3.1.1 Was ist TeX?

  TeX ist ein Textsatzsystem, das von Prof. Dr. Donald E. Knuth entwickelt wurde.

  Der Unterschied zu einer Textverarbeitung ist, daß hier Text nicht nur verarbeitet, sondern auch gesetzt wird. Dies wird beispielsweise durch das tiefergestellte E in dem Logo von TeX symbolisiert. Diese Möglichkeit wird in dem vorliegenden Text durch das kleingeschriebene ,e` angedeutet. Außerdem dient die Schreibweise TeX zur Unterscheidung von TEX.

  Aussprache: TeX wird nicht so ausgesprochen, wie es geschrieben wird! Aufgrund der griechischen Wurzel ,tau epsilon chi` spricht man das ,X` in TeX wie ein ch- oder k-Laut, niemals wie ein ,x`. Man spricht: ,tech` wie in Technik.

  Persönliche Informationen über Donald E. Knuth, über seine Pläne und wichtige Hinweise für die Benutzer von TeX und Leser seiner Bücher kann man auf Knuths WWW-Seite

  `http://www-cs-faculty.stanford.edu/~knuth/`
  finden.

  ### 3.1.2 Was ist METAFONT?

  METAFONT ist wie TeX von Prof. Dr. Donald E. Knuth entwickelt worden. Es erlaubt die Beschreibung einer Schrift oder einer Schriftfamilie durch ein Programm, den sogenannten Meta-Font. Aus diesem Meta-Font kann METAFONT nach Wahl verschiedener Parameter Schriften generieren, die TeX verwenden kann.

  Um mit TeX zu arbeiten, ist METAFONT nicht zwingend erforderlich. Es ist auch möglich, beispielsweise mit PostScript-Schriften zu arbeiten. TeX benötigt von einer Schrift nur die Maße der einzelnen Zeichen und weitere schriftabhängige Parameter, wie beispielsweise die Breite eines Wortzwischenraumes. Diese Informationen entnimmt TeX einer TeX-Font-Metric-(tfm)-Datei.

  METAPOST ist ein aus METAFONT abgeleitetes Programm zum Erstellen von PostScript-Zeichnungen (siehe Frage 9.1.4).

  ### 3.1.3 Worin besteht der Unterschied zwischen IniTeX und VirTeX bzw. zwischen IniMF und VirMF? Was ist eine sogenannte Format-, was eine Base-Datei?

  IniTeX und VirTeX sind beides Varianten des Programmes TeX, wobei IniTeX Code für zusätzliche Initialisierungsroutinen und erweiterte Datenstrukturen enthält, um beispielsweise Trennmusterdateien zu laden und in kompakter Form wieder abzuspeichern oder eine Formatdatei zu erzeugen. IniTeX wird dazu verwendet, die TeX-internen Datenstrukturen zu initialisieren - daher der Name -, größere Makropakete wie LaTeX, Schriftdateien und Trennmuster zu laden und in einer kompakten, schnell wieder ladbaren Form, in der sogenannten Formatdatei, abzuspeichern. Formatdateien haben die Dateinamensendung ,`.fmt`` und den Vorgang, eine Formatdatei mit IniTeX zu erzeugen, nennt man auch ,ein Format dumpen`.

  Die zusätzlichen Routinen und Datenstrukturen sind beim normalen Gebrauch von TeX nicht notwendig, so daß diese in der VirTeX-Variante nicht vorhanden sind. Dadurch kann man in VirTeX, dem ,virgin` oder jungfräulichem TeX, Speicherplatz sparen oder diesen für andere Zwecke einzusetzen. VirTeX wird in den meisten TeX-Implementierungen unter dem Namen ,tex` aufgerufen, IniTeX entweder als ,,`initex``` oder über eine spezielle Kommandozeilenoption wie ,,`tex -i``` oder ,,`tex -ini```.

  Analog zu IniTeX und VirTeX gibt es auch von METAFONT zwei Programmvarianten namens IniMF und VirMF. Statt Formatdatei heißt die von IniMF erzeugte Datei Basedatei und besitzt die Dateinamensendung ,`.base`` (oder ,`.bas``).

  Der Aufbau der Format- und Basedateien ist nicht standardisiert! Er ist sowohl von der Implementierung, von der TeX- und MF-Version als auch für dieselbe TeX- und MF-Version von verschiedenen Compile-Zeit-Parametern abhängig. Diese Dateien sollen von TeX bzw. MF möglichst schnell geladen werden können, so daß Implementierer hier betriebssystem- und implementierungsabhängige Optimierungen vornehmen können.

  ### 3.1.4 Was ist eine dvi-Datei, was ist ein dvi-Treiber, was ist der DVI-Treiberstandard?

  TeX erzeugt als wichtigste Ausgabe eine dvi-Datei. Das Akronym ,dvi` steht für ,DeVice-Independent`, d.h. der interpretierte Inhalt dieser Datei kann auf fast jedem möglichen Ausgabegerät ausgegeben werden. Ein dvi-Treiber, ein spezielles Programm, liest eine dvi-Datei und wandelt die in ihr enthaltenen Informationen in Steuerinformationen für einen speziellen Drucker (z.B. in PostScript oder in PCL) oder zur Anzeige am Bildschirm für ein spezielles Fenstersystem (wie X11) oder Bildschirmtreiber.

  Besonders hervorzuheben ist an TeX, daß jede TeX-Implementierung für dieselbe Eingabe (also Dokument, verwendete Makros, Schriften, Trennmuster etc.) unabhängig vom Ausgabegerät und dessen Auflösung immer dieselbe dvi-Datei erzeugt. TeX wählt also immer denselben Absatz- und Seitenumbruch und dieselbe Plazierung von Zeichen, Linien usw. auf der Seite.

  dvi-Dateien enthalten alle Informationen, die zum Ausdruck oder zur Anzeige der erzeugten Seiten notwendig sind. Jedoch sind in einer dvi-Datei nicht die tatsächlichen Lettern der verwendeten Schriften und das mit `\special`-Anweisungen eingebunde Material, wie Grafiken, enthalten. Diese müssen vom dvi-Treiber aus anderen Quellen, wie z.B. pk-Dateien bei Schriften, gelesen und an das Ausgabegerät geschickt werden. dvi-Dateien verwenden die TeX-interne Zeichenkodierung. So liegt beispielsweise der Argumenttext einer `\special`-Anweisung in der dvi-Datei als eine in ASCII kodierte Zeichenkette vor.

  Die dokumentierte Source des Programms ,dvitype` dient gleichzeitig als Referenzbeschreibung des dvi-Formats. Eine bessere, weil mit den Mindestanforderungen an einen dvi-Treiber versehene Referenz ist der

  DVI-Treiberstandard, Level 0
  den man in CTAN: `dviware/driv-standard/level-0/` finden kann. In diesem Standard findet man im Anhang neben einer Kopie der dvi-Beschreibung aus ,dvitype` noch die entsprechenden Beschreibungen des tfm-, gf- und pk-Formates. Weitere Papiere, Berichte, Vorschläge etc. findet man in CTAN: `dviware/driv-standard/papers/`.

  Als ein Projekt der NTG-Future-Group (siehe Diskussionsliste 1.3.4) laufen unter dem Titel ,,DVI3 a new DVI standard`` Arbeiten zur Vervollkommnung und Weiterentwicklung des DVI-Standards. Nähere Informationen findet man unter `http://dvi3.tiepmiep.dk/` und `http://userpage.fu-berlin.de/~burnus/dviview/`.

  ### 3.1.5 Wozu dienen Dateien mit der Namensendung ,.xyz`?

  Die einzelnen Programme und TeX-Formate des Textsatzsystems TeX verwenden sehr viele Dateien mit unterschiedlichen Namensendungen. Damit auch ein Anfänger relativ schnell einen Überblick erhält, folgt hier eine Auflistung der häufigsten bzw. wichtigsten Dateinamensendungen, sortiert nach Programmen, TeX-Formaten und weitverbreiteten Implementierungen.

  (Plain-)TeX:
    .tex
      Standarddateinamensendung für alle Arten von TeX-Eingabedateien, einige Makropakete wie LaTeX verwenden andere Namensendungen, um zwischen Dokument- und den notwendigen Makrodefinitionsdateien zu unterscheiden
    .fmt
      TeX-Formatdatei (siehe Frage 3.1.3)
    .dvi
      TeX-Ausgabedatei, enthält formatiertes Dokument (siehe Frage 3.1.4)
    .pool, .poo
      ,String-Pool`-Datei, wird von IniTeX oder IniMF benötigt.
    .log
      Protokolldatei eines TeX- oder MF-Laufs.
    .lis
      Protokolldatei eines TeX- oder MF-Laufs unter dem Betriebssystem OpenVMS.
  METAFONT, Fonts und Tools:
    .mf
      MF-Eingabedatei
    .base
    .bas
      MF-Formatdatei (siehe Frage 3.1.3)
    .tfm
      MF-Ausgabe: TeX Font Metric (siehe Frage 9.1.2)
    .*gf
      MF-Ausgabe: ,generic font` (siehe Frage 9.1.2)
    .*pk
      ,packed raster` (siehe Frage 9.1.2)
    .*pxl
      ,pixel` (siehe Frage 9.1.2): veraltetes, durch ,.*pk`-Dateien abgelöstes Font-Bitmap-Format
    .pl
      ,property list`, lesbare Darstellung der in einer tfm-Datei enthaltenen Informationen
    .vf
      ,virtual font` (siehe Frage 9.1.3)
    .vpl
      ,virtual font property list` (siehe Frage 9.1.3)
  METAPOST:
    .mp
      METAPOST-Eingabedatei
    .mem
      METAPOST-Formatdatei (analog zu .fmt bzw. .base)
    .mps
      METAPOST-Ausgabedatei; eine eps-Datei, die aufgrund ihrer bekannten und einfachen Struktur mit Hilfe von TeX-Makros in das pdf-Format wandelbar ist.
    .mpx
      METAPOST-Eingabedatei, entstanden durch Aufruf von ,DVItoMP`.
  Omega:
    .otp
      ,Omega translation process`, definiert Umkodierungsfilter
    .ocp
      ,Omega compiled process`, compilierte Version einer .otp-Datei
    .ofm
      ,Omega TeX font metric`, erweiterte Version des .tfm-Formats für Omega
    .opl
      ,Omega property list`, lesbare Darstellung einer .ofm-Datei
    .ovf
      ,Omega virtual font`, erweiterte Version des .vf-Formats
    .ovp
      ,Omega virtual font property list`, lesbare Darstellung einer .ovf-Datei
  BibTeX:
    .bst
      BibTeX-Style, enthält Anweisungen an BibTeX, wie die Literaturangaben aus der .bib-Datei in die .bbl-Datei geschrieben werden sollen
    .bib
      BibTeX-Datenbank
    .blg
      Protokolldatei eines BibTeX-Laufs
    .bbl
      BibTeX-Ausgabe, meist in einer Form, die von LaTeX eingelesen werden kann
  MakeIndex:
    .ist
      MakeIndex-Style, enthält Anweisungen, wie aus den Einträgen in der .idx/.glo-Datei die .ind/.gls-Datei generiert werden soll
    .idx
      Index-Datei, enthält die unsortierten Indexeinträge
    .ind
      MakeIndex-Ausgabe: fertig erstellter Index
    .glo
      Glossar-Datei, enthält analog zur .idx-Datei die unsortierten Glossareinträge
    .gls
      MakeIndex-Ausgabe: fertig erstelltes Wörterverzeichnis/Glossar
    .ilg
      Protokolldatei eines MakeIndex-Laufs
  Texinfo (TeX-Format):
    .texi
    .texinfo
    .txi
      GNU-Texinfo-Dokumentquelldatei
  docstrip-Archive (nicht nur für LaTeX-Makropakete verwendbar):
    .dtx
      docstrip-Archivdatei (siehe Frage 5.1.3), kann mit dem in TeX geschriebenem Programm ,docstrip` entpackt werden. (docstrip: CTAN: `macros/latex/base/docstrip.dtx` und CTAN: `macros/latex/base/docstrip.ins`)

      Historisch: Diese Archive hatten anfänglich die Namensendung .doc

    .ins
      Instruktionsdatei zum Entpacken eines docstrip-Archivs (siehe Frage 5.1.3); zum Entpacken reicht der Aufruf ,,tex filename.ins``, manchmal auch ,,latex filename.ins``; näheres bitte der mitgelieferten Dokumentation entnehmen!
    .drv
      ,Treiber`-Datei, für einige .dtx-Dateien zur Formatierung der Dokumentation mit LaTeX verwendet
    .fdd
      docstrip-Archiv der LaTeX-.fd-Dateien
    .mbs
      docstrip-Archiv der Master-Bibliography-BibTeX-Styles des Pakets ,custom-bib` (siehe Frage 7.2.2)
  LaTeX (TeX-Format):
    .aux
      Hilfsdatei, enthält Querverweise etc.
    .toc
      Inhaltsverzeichnis
    .lof
      Verzeichnis der Abbildungen
    .lot
      Verzeichnis der Tafeln
    .ltx
      Dokumentquelldatei, alternativ zur Namensendung .tex (auch für LaTeX-Kernel-Dateien)
    .cls
    .clo
      TeX-Eingabedatei mit Definitionen für die Dokumentenklasse und die entsprechenden Klassen-Optionen
    .sty
      TeX-Eingabedatei mit Definitionen eines LaTeX-Pakets; in LaTeX 2.09 wurde diese Namensendung sowohl für Styles (in 2e: Klassen) als auch Style-Options (in 2e: Pakete) benutzt
    .fd
      TeX-Eingabedatei mit Font-Definition, enthält Tabellen, mit denen die LaTeX-Spezifikation einer Schrift mittels Encoding, Family, Series und Shape auf den Namen einer .tfm-Datei abgebildet wird. Der Name der .fd-Datei besteht aus Encoding und Family.
    .def
      Runtime-Module des LaTeX-Kernels, die bei Bedarf geladen werden (,,`latex209.def``` für Kompatibilitätsmodus, ,,`slides.def``` für SliTeX), ebenso für einige Pakete, wie beispielsweise für ,inputenc`, ,fontenc` und ,graphics`.
    .cfg
      TeX-Eingabedatei mit Konfigurationsinformation
    .ldf
      TeX-Eingabedatei mit der Language-Definition für eine Sprache mit ihren Dialekten des babel-Pakets. (Historisch: in älteren Babel-Versionen in .sty-Dateien)
  MusiXTeX, PMX, M-Tx:
    .mx1
      MusiXTeX-Ausgabe der 1. Phase als Eingabe für das Programm MusiXFLX, das den Zeilenumbruch der Noten herstellt
    .mx2
      MusiXFLX-Ausgabe als Eingabe für die 2. MusiXTeX-Phase
    .mxl
      MusiXFLX-Log-Datei
    .pmx
      PMX-Eingabedaten
    .mtx
      M-Tx-Eingabedaten
  PostScript-Schriften:
    .afm
      Adobe Font Metric, in lesbarer ASCII-Darstellung
    .pfm
      Printer Font Metric, in Windows-Darstellung
    .pfa
      PostScript-Type-1-Schriftschnittprogramm in ASCII-Format, enthält das Type-1-Programm zum Zeichnen jeder Letter
    .pfb
      PostScript-Type-1-Schriftschnittprogramm in Binärformat
  TeX-Implementierungen und Gerätetreiber:
    .tcp
      TeX-Code-Page-Definition (emTeX).
    .tcx
      TeX-Code-Page-Definition (web2c v7.0, noch im Teststadium!)
    .enc
      Encoding-Dateien für PostScript-Schriften (dvips)
    .map
      Zuordnungstabellen für Fontnamen

  Eine zwangsläufig unvollständige Liste von Dateinamensendungen kann man auch im Buch ,Der LaTeX-Begleiter` bzw. ,LaTeX Companion` und im Buch ,Making TeX Work` (siehe Frage 2.4.1) und in ,The Components of TeX` von Joachim Schrod (siehe Frage 2.4.2) finden.

  ### 3.1.6 Welche TeX-/METAFONT-/METAPOST-Versionen sind aktuell?

  Derzeit sind die folgenden Versionen aktuell:

  TeX: | 3.14159 | (seit März 1995)
  `plain.tex`: | 3.1415926 | (seit August 1998)
  METAFONT: | 2.7182 | (seit August 1998)
  `plain.mf`: | 2.71 | (seit Juni 1993)
  METAPOST: | 0.641 | (seit März 1998) (?)
  `dvitomp.web`: | 0.64 | (seit Januar 1998)
  `plain.mp`: | 0.64 | (seit Januar 1998)
  CM-Fonts: | - | (wichtige Änderungen 1992,
  |  | kleinere Änderungen März 1995,
  |  | kleinere Änderungen August 1998)
  `tangle.web` | 4.4 | (seit Februar 1993)
  `weave.web` | 4.4 | (seit Januar 1992)
  `webmac.tex` | 4.1 | (seit Mai 1990)

  Neue Versionen von TeX und METAFONT werden von Donald E. Knuth nur noch in immer größer werdenden zeitlichen Abständen erstellt, so daß man ältere Versionen auf alle Fälle durch die neueste Version ersetzen sollte.

  Leider hat Knuth für die CM-Fonts keine Versionsnummer vergeben, so daß es schwieriger ist, die Versionen mit den meist nur geringen Änderungen auseinanderzuhalten. Da Knuth umfangreichere Änderungen an den CM-Fonts im Frühjahr 1992 durchgeführt hat, sollte man alle älteren CM-Font-Versionen auf die neue Version bringen. Erkennbar sind die alten Versionen beispielweise am horizontalen Querstrich am Fuß des großen kalligraphischen T ,`$`\mathcal``{T}`$`` (bzw. ,`$`{`\cal` T}`$``), der in der neuen Version fehlt oder an der rundlicheren, s-förmigeren Form des kleinen Deltas ,`$`\delta`$``, da in neueren Versionen der obere Bogen nun etwas winkliger ausgeführt wurde. Die aktuelle Version der CM-Font-Dateien erkennt man an folgenden Zeilen:

      % THIS IS THE OFFICIAL COMPUTER MODERN SOURCE FILE cmr10.mf BY D E KNUTH.
      % IT MUST NOT BE MODIFIED IN ANY WAY UNLESS THE FILE NAME IS CHANGED!

  ACHTUNG: TeX-Pakete, wie emTeX, vergeben meist noch eine eigene Versionsnummer für TeX und MF. Man sollte die oben angegebene, offizielle Versionsnummer nicht mit diesen verwechseln.

  ### 3.1.7 Was ist TDS, die ,TeX Directory Structure`?

  Hauptfunktion von TDS ist die Festlegung einer Grundstruktur für ein TeX-System. In dieser kann TeX samt Hilfswerkzeugen, Makropaketen, Fonts etc. systematisch geordnet und damit für alle Installationen und Systeme gleich und einheitlich untergebracht werden. Somit können implementierungsunabhängige Teile beispielsweise auch über NFS-Mounts oder von CD-ROM für alle Systeme zur Verfügung gestellt werden. Die von TDS festgelegte Grundstruktur ist offen, kann also jederzeit für weitere Applikationen erweitert werden.

  Der TDS-Standard richtet sich primär an TeX-Systemadministratoren und Personen, die TeX-Distributionen zusammenstellen. Wenn Entwickler eines TeX-Pakets von einer generell gültigen Verzeichnisstruktur ausgehen können, kann auch die Installation eines Pakets leichter automatisiert oder zumindest mit sehr präzisen Anweisungen versehen werden. Für Endbenutzer ist eine solche wohldefinierte Systemstruktur ebenfalls von Interesse, wenn sie sich mit der Ausstattung des Systems, das sie benutzen, näher vertraut machen wollen.

  Der aktuelle TDS-Vorschlag ist in verschiedenen Dateiformaten (DVI, PostScript, HTML, Texinfo etc.) in CTAN: `tds/` zu finden. Eine exemplarische Implementierung des Standards stellt die CD-ROM ,,TeX Live`` dar.

  TDS: | CTAN: `tds/`

  ## 3.2 Welche TeX-Formate gibt es? Was ist LaTeX?

  ### 3.2.1 Was ist ein (TeX-)Format?

  Das Programm TeX besteht aus einem Teil, mit dem Text und mathematische Formeln gesetzt, Absätze umbrochen und alles zu Seiten zusammenmontiert wird, und aus einem Makroprozessor. Dieser Makroprozessor stellt eine mächtige, wenn auch für die meisten eine eher ungewohnte Programmiermöglichkeit dar, mit der man den sehr einfachen Befehlssatz von TeX durch eigene benutzerfreundlichere Makros ergänzen kann. Einen abgeschlossenen Satz von solchen Makros nennt man Format. Eine Formatdatei ist eine mit IniTeX durch ,Dumpen` erzeugte Datei, die diese Makros enthält (siehe Frage 3.1.3). Meist wird der Formatname auch für das Programm VirTeX verwendet, wenn man die zugehörige Formatdatei lädt, so daß man bei Verwendung des Formatnamens diese Mehrdeutigkeit bedenken sollte.

  Ohne vom Benutzer definierte Makros besitzt TeX nur ca. 300 primitive ,control sequences`. Davon sind ungefähr die Hälfte Anweisungen, die andere Hälfte Parameter. Für einen Autor sind diese Anweisungen alleine zu einfach und dürftig, so daß es ratsam ist, als Autor mächtigere und damit einfacher benutzbare Anweisungen in Form von Makros zu verwenden.

  ### 3.2.2 Was ist Plain-TeX?

  Donald E. Knuth hat für TeX ein Makropaket namens Plain-TeX erstellt und diese Makros im Buch ,The TeXbook` beschrieben. Dabei stellt Plain-TeX einen minimalen Satz an Makros dar, um TeX sinnvoll verwenden zu können. Zusätzlich enthält Plain-TeX einige Makros, wie ,`\beginsection`` oder ,`\proclaim``, die man als Beispiel für komplexere Anweisungen ansehen kann.

  Wenn jemand sagt, daß er ,,TeX programmiert``, so meint er normalerweise, daß er in TeX und den Plain-TeX-Makros programmiert.

  ### 3.2.3 Was ist LaTeX, LaTeX2e und LaTeX 2.09?

  LaTeX ist ein in den Jahren 1982-1986 von Leslie Lamport geschriebenes Makropaket für TeX. Es erlaubt dem Autor eines Dokuments, die einzelnen Teile gemäß ihrer logischen Bedeutung, wie z.B. ,Überschrift`, ,Aufzählung`, ,Aufzählungspunkt` usw., zu markieren. Anhand dieser Markierungen, dem sogenannten ,Markup` oder der Text-Auszeichnung, kann (La)TeX das Dokument unter Verwendung eines vorgefertigten Layouts in Buchdruck-Qualität setzen und mittels sogenannter Geräte-Treiber ausdrucken.

  Fast 10 Jahre war LaTeX in der Version 2.09 aktuell, wobei es zuletzt immer mehr inkompatible Erweiterungen gab. Seit dem Juni 1994 ist LaTeX2e die aktuelle Version. Diese wurde regelmäßig im Juni und Dezember jeden Jahres auf den neuesten Stand gebracht. Ab Juni 2000 gibt es nurmehr einmal jährlich eine neue Version.

  Wenn in dieser FAQ von LaTeX die Rede ist, so ist immer LaTeX2e und nicht LaTeX 2.09 gemeint.

  ### 3.2.4 Welche (La)TeX-Makropakete gibt es?

  Es gibt mehrere unterschiedlich umfangreiche und gewartete Übersichten über (La)TeX-Makropakete, die im folgenden ohne Wertung aufgezählt werden:

  - The LaTeX Catalogue
    CTAN: `help/Catalogue/catalogue.html`
  - (La)TeX Navigator
    `http://tex.loria.fr`
  - LaTeX-Paketliste von Harald Axel Sommerfeldt
    `http://www.axel-sommerfeldt.de/latex/`
  - Liste von Kerstin Schiebel
    `http://www.gsi.de/computing/TeX/latexsty.html`
  - Die Bücher ,,Der LaTeX-Begleiter``, ,,The LaTeX Companion`` und ,,The LaTeX Graphics Companion`` stellen viele Pakete vor. Diese Übersicht kann jedoch naturgemäß nicht aktuell und vollständig sein.

  ### 3.2.5 Was ist AmS-TeX, AmS-LaTeX und LAMSTeX? Was sind die AmS-Fonts?

  AmS-TeX ist ein in den Jahren 1983-1985 von Michael D. Spivak für die American Mathematical Society (AmS) geschriebenes Makropaket, das auf Plain-TeX basiert. Es erweitert Plain-TeX um sehr viele für den mathematischen Formelsatz notwendige Konstrukte. Dieses Makropaket wird im Buch ,The Joy of TeX` von Michael Spivak (2. Auflage, AmS, 1990, ISBN 0-821-82997-1) beschrieben.

  Mit der weiteren Verbreitung von LaTeX entwickelt die AmS seit 1990 mehrere auf LaTeX basierende Makropakete, die unter dem Namen AmS-LaTeX zusammemgefaßt werden. Diese LaTeX-Pakete stellen einem Autor einen Großteil der in AmS-TeX enthaltenen Konstrukte zur Verfügung.

  LAMSTeX nennt sich Michael Spivaks Anpassung von AmS-TeX an LaTeX, die jedoch nur einen sehr kleinen Nutzerkreis hat und nicht weit verbreitet ist.

  Für den mathematischen Formelsatz fehlen den von Donald E. Knuth erstellten Schriften weitere dringend notwendige Zeichen. Diese werden durch die AmS-Fonts zur Verfügung gestellt, die u.a. weitere CM-Schriften, Euler-, ,msam`-, ,msbm`- und kyrillische Schriften enthalten.

  ### 3.2.6 Was ist Texinfo?

  Texinfo ist ein Dokumentationssystem, das zur Dokumentation der GNU-Sofware verwendet wird. Die Dokumentation wird dabei in einer Quelldatei mit der Dateinamensendung ,`.texi`` (oder ,`.txi`` bzw. ,`.texinfo``) abgelegt, aus der einerseits sogenannte ,info`-Dateien, einem on-line mit dem GNU-Emacs oder dem Programm ,info` lesbarer Hypertext, erzeugt werden können. Andererseits stellt die Quelldatei eine TeX-Datei dar, zu deren Formatierung mit Plain-TeX zu Beginn das Texinfo-Makropaket ,,`texinfo.tex``` automatisch hinzugeladen wird. Mit den Programmen ,makeinfo` (aus dem Paket Texinfo seit Version 4.0) und ,texi2html` ist die Konvertierung nach HTML möglich. Texinfo basiert auf Plain-TeX.

  Texinfo: | `http://www.texinfo.org`
  | CTAN: `macros/texinfo`

  ### 3.2.7 Was ist ConTeXt?

  ConTeXt ist ein von Hans Hagen geschriebenes Makropaket für TeX. Es erlaubt, ähnlich wie LaTeX, das Erstellen von Texten mit Hilfe von Strukturmakros (Überschrift u.ä.). Bei der Erstellung wurde auf eine leichte Benutzbarkeit und Flexibilität geachtet, zudem wird die Erstellung interaktiver Texte unterstützt. Eine Besonderheit ist die multilinguale Schnittstelle, die z.B. niederländisch, englisch und deutsch unterstützt, sowie das Setzen von multilingualen Unterschriften (,Tabelle` statt ,Table` u.ä.).

  ConTeXt: | `http://www.pragma-ade.nl/`
  | `http://www.ntg.nl/context/`
  | CTAN: `macros/context/`
  Berend de Boer: LaTeX in proper ConTeXt:: | `http://www.xs4all.nl/~nederwar/tex/LaTeX2ConTeXt.pdf`

  ## 3.3 Welche TeX-Weiterentwicklungen gibt es?

  ### 3.3.1 Was ist `TeX-XeT` bzw. `TeX--XeT`?

  Donald E. Knuth und Pierre MacKay entwickelten eine TeX-Erweiterung namens TeX-XeT, die es erlaubt, Texte, die von links nach rechts geschrieben werden, mit Texten, die von rechts nach links (Bsp: arabisch, hebräisch) geschrieben werden, beliebig zu mischen. TeX-XeT erzeugt jedoch sogenannte ivd-Dateien, d.h. dvi-Dateien mit zusätzlichen dvi-Codes, die von üblichen dvi-Treibern nicht verstanden werden und damit zu Fehlern oder zum Abbruch des dvi-Treibers führen. Diese ivd-Dateien benötigen daher spezielle dvi-Treiber oder sie können mit dem Programm ,ivd2dvi` in gewöhnliche dvi-Dateien konvertiert werden. Die TeX-Änderungen für TeX-XeT wurden in einem Artikel in TUGboat 8, 1987 (S. 14-15) veröffentlicht.

  `TeX--XeT` ist eine `TeX-XeT`-Reimplementierung von Peter Breitenlohner. Im Unterschied zu `TeX-XeT` erzeugt `TeX--XeT` gewöhnliche dvi-Dateien, die somit von jedem dvi-Treiber gelesen werden können. Die neueste verbesserte Version von `TeX--XeT` ist seit Version 1 Bestandteil von e-TeX (siehe Frage 3.3.4).

  `TeX--XeT`: | CTAN: `systems/knuth/tex--xet/`
  ivd2dvi: | CTAN: `dviware/ivd2dvi/`

  ### 3.3.2 Was ist MLTeX?

  MLTeX ist eine TeX-Erweiterung von Michael J. Ferguson, die es ermöglicht, daß auch mit den üblichen CM-Schriften Trennmuster mit akzentuierten Zeichen verwendet und damit Wörter mit akzentuierten Zeichen getrennt werden können. In Standard-TeX ist dies nicht möglich, da es notwendig ist, daß die verwendete Schriften diese akzentuierten Zeichen enthalten (siehe Frage 5.3.2). In MLTeX wird vorgegaukelt, daß die akzentuierten Zeichen in den Schriften existieren, diese aber dann durch sogenannte ,character substitutions`, die mit dem neuen Primitiv `\charsubdef` definiert werden, durch tatsächlich in der Schrift vorhandene Zeichen zusammengebaut. Bei Verwendung von T1-kodierten Schriften, wie z.B. die EC-Schriften, ist MLTeX nicht mehr notwendig.

  MLTeX hat sich aus verschiedenen Gründen hauptsächlich im französischsprachigen Raum verbreitet. Aktuell ist Version 2.2 vom Dezember 1995 von Bernd Raichle, der die weitere Pflege von MLTeX übernommen hat. Ältere Versionen haben verschiedene Programmfehler, die u.a. zu Problemen führen, falls MLTeX mit nichtlateinischen Schriften (z.B. mit ArabTeX) verwendet wird. Mit ,,`mltextst.tex``` gibt es eine Testdatei, um eine MLTeX-Implementierung auf die bekannten Fehler zu testen.

  Zur einfachen Nutzung der Fähigkeiten von MLTeX unter LaTeX gibt es seit Dezember 1998 das LaTeX-Paket ,mltex`.

  MLTeX: | CTAN: `systems/generic/mltex/`
  mltextst.tex: | CTAN: `systems/generic/mltex/mltextst.tex`
  mltex: | CTAN: `macros/latex/contrib/mltex`

  ### 3.3.3 Was ist NTS?

  TeX, METAFONT und die anderen Programme von Prof. Knuth wurden von ihm in ihrem jetzigen Zustand eingefroren. Es werden nur noch Fehler entfernt, jedoch wird es keine grundlegenden Änderungen und Weiterentwicklungen dieser Programme geben. Momentan gibt es mehrere Projekte, die die Weiterentwicklung des Textsatzsystems TeX zum Ziel haben.

  ,NTS` (oder das ,New Typesetting System`) wird von der NTS-Gruppe unter Leitung von Phil Taylor geplant. NTS ist eine radikale Neuentwicklung eines Textsatzsystems, das jedoch weiterhin einen TeX-Kompatibilitätsmodus haben wird. Die Realisierung von NTS ist langfristig über mehrere Jahre angelegt, da hierzu größere Ressourcen notwendig sind und erst beschafft werden müssen.

  Momentan wird eine erste Version von NTS in der Programmiersprache Java implementiert. Diese Version wird vollständig TeX-kompatibel sein und noch keine Erweiterungen besitzen, jedoch durch die modularere Programmierung leichter erweiterbar sein. Dieser erste Prototyp soll bis Mitte 2000 fertiggestellt sein, im Frühjahr 2000 liefen bereits alle Teile außer denjenigen, die den Tabellensatz bewerkstelligen. Die endgültige Version wurde im Mai 2001 an die TeX-Welt verteilt.

  Weitergehendes existiert momentan nur als Konzept und in Form einer Liste von Anforderungen und Erweiterungswünschen.

  NTS: | `http://nts.tug.org/`

  ### 3.3.4 Was ist e-TeX? Was ist Eetex?

  Unter dem Namen ,e-TeX` (extended/enhanced TeX) wird unter der Leitung von Peter Breitenlohner TeX um dringend benötigte Erweiterungen ergänzt. Ein wichtiges Ziel von e-TeX ist dabei, weiterhin 100% kompatibel zu TeX zu bleiben, solange die Erweiterungen nicht benutzt werden. Die Entwicklung basiert auf dem aktuellen TeX-Quellcode in einem durch WEB-Konstrukte erweiterten Standard-Pascal, so daß dies und die genannte Zielsetzung gewisse Beschränkungen, wie der Verzicht auf eine dynamische Speicherverwaltung, auferlegt, was grundlegende Neuerungen in e-TeX anbelangt. Die erste Version von e-TeX wurde im Oktober 1996 auf der Mitgliederversammlung von DANTE e.V. in Hamburg veröffentlicht. Fertig benutzbare Implementierungen sind u.a. für VMS, MS-DOS (PublicTeX), Windows 95/NT (Win32-Web2c), Amiga (AmiWeb2C) und Unix (Web2c v7.x mit Patches zur Integration von e-TeX) verfügbar.

  Eetex ist die ,,Spielwiese`` der NTG-Future-Group (siehe Diskussionsliste 1.3.4). Diese TeX-Erweiterung basiert auf e-TeX, erweitert dieses jedoch um weitere vorgeschlagene Primitive. Das Programm ist jedoch weder stabil noch fehlerfrei, sondern dient dazu, Erweiterungsvorschläge in einem Prototypen auszutesten. Die erste Version enthält Primitive zur leichteren und schnelleren Verarbeitung von Listen und einen speziellen SGML-Lesemodus. Das Programm wird momentan nur fertig für MS-DOS, Windows 95 und Linux verteilt.

  e-TeX: | CTAN: `systems/e-tex/`
  Eetex: | `http://www.elvenkind.com/~taco/eetex/`

  ### 3.3.5 Was ist Omega?

  Omega ist neben NTS/e-TeX das zweite Projekt, das sich mit der Weiterentwicklung von TeX beschäftigt.

  ,Omega` wird von John Plaice und Yannis Haralambous entwickelt und ist Anfang Dezember 1995 in einer zweiten Version veröffentlicht worden. Als Basis von Omega dient der Quellcode von TeX und METAFONT, wobei beide Programme um die Möglichkeit erweitert wurden, intern Zeichen in UNICODE zu repräsentieren (pro Zeichen 16 bit statt 8 bit). Durch die Verwendung von UNICODE und von sogenannten Ein- und Ausgabe-Filtern wird eine Anpassung an verschiedene Sprachen sehr einfach. So kann beispielsweise durch Wahl von entsprechenden Filtern ein Dokument sehr einfach in arabischer Schrift gesetzt werden, in der ein einzelnes Zeichen abhängig vom Kontext in bis zu vier möglichen Darstellungen gesetzt wird.

  Omega: | `http://omega.cse.unsw.edu.au/`
  | CTAN: `systems/omega/`

  ### 3.3.6 Was ist pdfTeX?

  ,pdfTeX`, das vormals TeX2PDF hieß, ist eine TeX-Variante, mit der man sowohl die üblichen DVI-Dateien als auch direkt Dateien in Adobes Portable-Document-Format, kurz PDF, erzeugen kann. Um die zusätzlichen Möglichkeiten, wie Hyperlinks, Anmerkungen etc., die PDF bietet, auch nutzen zu können, wurden weitere PDF-Primitive dem Makroprogrammierer zur Verfügung gestellt. Das Makropaket ,hyperref` unterstützt pdfTeX, wobei die Benutzung von pdfTeX automatisch erkannt wird, aber auch durch die Option ,pdftex` angegeben werden kann.

  pdfTeX wurde von Hàn Thê Thành entwickelt und Ende Februar 1997 in ersten Testversionen veröffentlicht. Seitdem weist pdfTeX eine gute Stabilität auf. Es wurden jedoch seitdem Funktionen hinzugefügt, die dazu führten, daß sich Details auf Makroebene änderten. Dies führt dazu, daß ältere Versionen von Makropaketen für pdfTeX nicht mehr fehlerfrei mit neueren pdfTeX-Versionen laufen.

  pdfTeX: | `http://www.tug.org/applications/pdftex/`
  pdfTeX: | `http://freshmeat.net/projects/pdftex/`
  | CTAN: `systems/pdftex/`
  | (Source für Web2c v7.x, Binaries für einige Systeme)
  hyperref: | CTAN: `macros/latex/contrib/hyperref`
  hyperref (aktuell): | `http://www.tug.org/applications/hyperref/`
  thumbpdf: | CTAN: `support/thumbpdf/`
  TeX and PDF: | Solving Font Problems
  | `http://web.mit.edu/etheses/www/tex/texpdf.html`
  AcroTeX: | Hinweise zu LaTeX und PDF
  | `http://www.math.uakron.edu/~dpstory/acrotex.html`
  Einführung in pdfTeX: | `ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/unplugged/pdftex.dante01.pdf`
  Timothy van Zandt's notes: | `http://zandtwerk.insead.fr/tex2pdf.html`
  Creating quality Adobe PDF files from TeX with DVIPS: | `http://www.adobe.com/support/techdocs/543e.htm`
  PDF Reference Manual, Version 1.3: | `http://partners.adobe.com/asn/developer/PDFS/TN/PDFSPEC.PDF`
  Thomas Feuerstack: Acrobat/PDF ...eine Einführung: | `ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/unplugged/AcS01.pdf`
  Udo Schuermann: Linux LaTeX-PDF HOW-TO: | `http://ringlord.com/publications/latex-pdf-howto/`

  ### 3.3.7 Was ist ,ant`?

  ,ant`, geschrieben von Achim Blumensath, ist ein Scheme-basierter Ersatz für TeX, der nicht mit dem Ziel vollständiger Kompatibilität, sondern dem eines flexiblen und sauberen Designs entwickelt wurde.

  Bei der aktuellen Version handelt es sich um einen pre-alpha Prototyp, der als Diskussionsgrundlage und als Testumgebung für neue Satzalgorithmen dienen soll.

  ant: | `http://www-mgi.informatik.rwth-aachen.de/~blume/Download.html`

  DE-TeX-FAQ (Version 72 vom September 2003)
  Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner