--- DE-TeX-FAQ Beginn Teil 3 ---



   Fragen und Antworten (FAQ) über das Textsatzsystem TeX und DANTE,
             Deutschsprachige Anwendervereinigung TeX e.V.


            Bernd Raichle, Rolf Niepraschk und Thomas Hafner


                     Version 72 vom September 2003

------------------------------------------------------------------------


3 Textsatzsystem TeX - Übersicht


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.
METAPOSTist 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-Emacsoder 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 http://www.xs4all.nl/~nederwar/tex/LaTeX2ConTeXt.pdf
ConTeXt:: 
 


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     http://www.tug.org/applications/hyperref/
(aktuell): 
thumbpdf:    CTAN: support/thumbpdf/
TeX and      Solving Font Problems
PDF: 
             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   ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/unplugged/pdftex.dante01.pdf
in pdfTeX: 
Timothy van
Zandt's      http://zandtwerk.insead.fr/tex2pdf.html
notes: 
Creating
quality
Adobe PDF    http://www.adobe.com/support/techdocs/543e.htm
files from
TeX with
DVIPS: 
PDF
Reference
Manual,      http://partners.adobe.com/asn/developer/PDFS/TN/PDFSPEC.PDF
Version
1.3: 
Thomas
Feuerstack:
Acrobat/PDF  ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/unplugged/AcS01.pdf
...eine
Einführung: 
Udo
Schuermann:
Linux        http://ringlord.com/publications/latex-pdf-howto/
LaTeX-PDF
HOW-TO: 
 


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 Ende Teil 3 ---
