Die Kontrolle von TeX

Das Escapezeichen

Wie schon im an anderer Stelle gesagt, haben Computertastaturen viel zu wenig Tasten, als dass mit ihnen alles getippt werden könnte, was man vielleicht in der Ausgabe sehen will. Abgesehen von z.B. griechischen Buchstaben, können das alle möglichen Zeichen sein, die man vielleicht in einem Brief oder einem Buch schreiben will, die aber auf der Tastatur nicht vorhanden sind.

TeX kann wesentlich mehr ausgeben, als nur die Zeichen, welche die Tastatur bereit hält. Um zwischen Zeichen, die einfach ausgegeben werden sollen und denen, die etwas anderes bewirken sollen, unterscheiden zu können, gibt es in TeX ein sogenanntes Escapezeichen. Dieses bewirkt, dass TeX das, was diesem Escapezeichen folgt, nicht mehr als auszugebenden Text, sondern als einen Befehl versteht. Grundsätzlich können alle Zeichen, die mit der Tastatur eingegeben werden können, diese Rolle übernehmen, aber es hat sich gezeigt, dass der Gegenschrägstrich (\) dazu am besten geeignet ist. Er kommt in normalen Texten so selten vor, dass man ihn hervorragend für den gewünschten Zweck verwenden kann.

Um einem möglichen Mißverständnis vorzubeugen: Manche Comutertastaturen haben eine Taste, die mit 'Escape' (oder auch nur 'Esc') beschriftet sind. Die Verwendung dieser Taste bringt nicht den Gegenschrägstrich hervor, der in TeX als Escapezeichen verwendet wird.

Unmittelbar hinter dem Gegenschrägstrich kann angegeben werden, was TeX tun soll, TeX also ein Befehl gegeben werden. Ein solcher Befehl könnte zum Beispiel:

\input fritz

sein. Ein weiteres Beispiel sieht man in:

Sch\"on

Bei diesem Beispiel sorgt TeX dafür, dass der vorletzte Buchstabe, also das 'o' zu einem 'ö' wird.

Kontrollbefehle

Es gibt zwei verschiedene Arten von Befehlen für TeX. Zum einen diejenigen, wie '\input'. Sie bestehen aus dem Escapezeichen (\) und einer Folge von einem oder mehreren Buchstaben, denen ein Leerzeichen oder ein anderes Zeichen, das kein Buchstabe ist, folgt.

Das abschließende Leezeichen oder der Nicht-Buchstabe sind nötig, denn TeX kann nicht von alleine erkennen, wann ein Kontrollbefehl beendet ist. Hätte man z.B. oben statt '\input fritz' die Eingabe als '\inputfritz' gestaltet, dann würde TeX die Eingabe damit quittieren, dass es einen unbekannten Befehl gefunden habe.

Zu den Buchstaben, die TeX als solche erkennt, gehöhren die Buchstaben 'a' bis 'z' und die Buchstaben 'A' bis 'Z'. Die Zeichen für die Ziffern ('0' bis '9') gehöhren für TeX nicht zu den Buchstaben. Daher können sie auch nicht in Kontrollbefehlen verwendet werden.

Kontrollzeichen

Anders ist das bei '\'' oder '\"'. Diese Kontrollbefehle gehören zu den Kontrollzeichen. Sie bestehen aus dem Escapezeichen und einem Zeichen, das kein Buchstabe ist. Da hier dem Kontrollbefehl immer nur ein Zeichen folgt, muss nach den Kontrollzeichen kein Leerzeichen eingegeben werden, weil TeX das Ende der Kontrollzeichen selber erkennen kann.

Leerzeichen und Kontrollbefehle

Wenn ein Leerzeichen hinter einem Kontrollbefehl kommt, dann wird der Kontrollbefehl damit beendet. TeX nimmt dieses Leerzeichen aber auch nur als Beendigung des Kontrollbefehls und nicht als Leerzeichen, das im Text auftauchen soll.

Später wird nun noch gezeigt, dass TeX mehrere Leerzeichen immer zu einem zusammenfasst. Damit ergibt sich aber dann das Problem, dass man hinter einem Kontrollbefehl kein Leerzeichen angeben kann, auch nicht, indem man mehrere Leerzeichen eingibt. Die Lösung liegt in einem weiteren Kontrollzeichen, dem '\ '. Dieses Kontrollzeichen erzwingt die Ausgabe eines Leerzeichens.

Neben dem Kontrollzeichen '\ ' werden auch die Kontrolzeichen '\<tab>' und '\<return>' standardmäßig so definiert, wie '\ ' und man sollte diese Definition auch so belassen, denn in einer Textdatei sind sie nur schwer unterscheidbar und würden daher zu ziemlicher Verwirrung führen, wenn man sie umbenennen würde.

Normalerweise wird es selten nötig sein ein erzwungenes Leerzeichen in ihren Text einzubauen. In manchen Fällen ist es aber notwendig. Hierzu ein einfaches Beispiel: Das Logo von TeX wird mit dem Befehl '\TeX' erzeugt. Fügt man hinter diesem Logo kein erzwungenes Leerzeichen ein, dann erhält man ein Ergebnis, das man sicher nicht haben will. Die Eingabe von:

\TeX ist klasse!

Ergäbe das folgende Ergebnis:

Das Wort 'ist' 'klebt' an dem Logo.

Nun könnte man einwenden, dass man dann doch nur hinter dem Logo immer einen weiteren Gegenschrägstrich angeben muss, und die Sache hat sich erledigt, aber das funktioniert auch nicht, denn wenn man folgendes eingibt:

Ich arbeite gerne mit '\TeX\'.

Dann erhält man:

Man kann sich denken, was passiert ist. '\'' ist ein Kontrollzeichen, das dem Folgezeichen einen Akzent Acute aufsetzt und genau das ist hier geschehen, allerdings wurde der Akzent an einer Stelle plaziert, wo man ihn nun wirklich nicht haben will.

Computer sind wirklich gut darin Befehle auszuführen, allerdings nicht gut darin Befehle zu verstehen.

Wieviele Befehle gibt es?

TeX kennt ungefähr 900 Befehle im 'eingebauten' Vokabular. Sie brauchen aber keine Angst zu haben, dass sie diese alle auswendig lernen müssen, bevor sie mit TeX arbeiten können, da manche davon wirklich nur sehr selten gebraucht werden, wenn einmal sehr unübliche Dinge gesetzt werden sollen. Außerdem sind die meisten Kontrollbefehle in Gruppen zusammengefasst, die man leicht unterscheiden kann. Eine große Gruppe von diesen Befehlen dient alleine dazu spezielle Buchstaben auszugeben. So wird der Befehl: '\pi' nur gebraucht, um das Zeichen 'π' auszugeben. Analog dienen die Befehle '\Pi' für 'Π', '\aleph' für 'ℵ', '\infty' für '∞', '\le' für '≤', '\ge' für '≥', '\ne' für '≠', '\oplus' für '⊕', '\otimes' für '⊗'.

Achten sie darauf, dass in TeX die Kontrollbefehle zwischen Groß- und Kleinschreibung unterscheidet. Dies ist z.B. an den beiden Befehlen: '\pi' sowie '\Pi' gut sichtbar.

Neben diesen 900 Befehlen, die TeX von Haus aus kennt, können aber auch noch weitere definiert werden. In einem späteren Kapitel wird gezeigt, wie das geht.

Ungefähr 300 der Kontrollbefehle von TeX sind sogenannte 'Primitive'. Das sind Befehle, die nicht weiter zerlegt werden können, sondern direkt wirken. Der Befehl '\input' gehöhrt zu diesen Primitiven, während z.B. die Befehle '\"' und '\'' mit Hilfe des Befehls '\accent' gebildet wurden.

Die Primitive sollte normalerweise nicht so oft genutzt werden. Zum einen, weil sie wirklich primitiv sind, der Hauptgrund ist aber ein anderer. Wenn man mithilfe der Primitive 'größere' Befehle definiert, dann braucht nur die Definition geändert zu werden, wenn man die Wirkung des Befehls verändern möchte. Würde man statt dessen bei jedem Auftreten die ganze Folge von Primitiven eingeben, dann hätte man viel mehr zu und bei einem Änderungswunsch alle vorkommenden Befehlsketten zu ändern

Der Kontrollbefehl '\show' kann dazu genutzt werden, einen Befehl wieder auseinander zu nehmen. Wird er mit einem Primitiv aufgerufen, dann gibt er einfach nur zurück, dass es sich um ein Primitiv handelt. Wird er mit einem zusammengesetzten Befehl aufgerufen, dann wird dessen Definition ausgegeben.

Beispiel:
\show\kern ergibt: \kern=\kerm, weil '\kern ein Primitiv ist.
Bei:
\show\thinspace wird \thinspace=macro: \kern .16667em ausgegeben, denn '\thinspace' ist ein mit \kern gebildeter zusammengesetzter Befehl.

Normalerweise werden sie TeX so kennenlernen, dass es neben den 300 Primitiven noch 600 weitere zusammengesetzte Befehle kennt. Diese Befehle werden alle in einer Datei definiert, die 'plain.tex' heißt. Diese Datei wird standardmäßig mit in TeX eingebunden. So erklärt sich die Zahl von 900 Befehlen, die TeX kennt. Man kann natürlich diese Grunddefinitionen auch ändern, aber für den Anfang sollten diese ausreichen und unverändert übernommen werden.