Kunst, Geschick und Handwerk: Professioneller Formelsatz mit TeX

Nachdem im letzten Heft mit der Tabellengestaltung eine der besonderen Stärken von TeX herausgearbeitet wurde, wollen wir uns heute mit einer weiteren Besonderheit dieses Systems befassen, dem mathematischen Formelsatz.

Jeder, der in irgendeiner Weise mit der Mathematik befaßt ist, sieht sich früher oder später mit dem Problem konfrontiert, in einen Text mathematische Formeln zu integrieren. Leidvolle Erfahrungen sind hier schnell gesammelt. Bereits ein nachträglich eingefügtes Leerzeichen kann das mühsam entwickelte Layout ruinieren. Wie kaum ein anderes Programm ist TeX auf den Satz mathematischer Texte vorbereitet. Nicht nur die Vielzahl der mathematischen Schriftzeichen belegt dies. Vielmehr ist es die Tatsache, daß TeX die meisten der in der Mathematik verwendeten Strukturen standardmäßig unterstützt. Alle Besonderheiten des Schriftsatzes, die bei mathematischen Formeln auftreten (Symbole, Brüche, Klammern, griechische Buchstaben usw.) lassen sich unmittelbar aufrufen.

Gerade diese Flexibilität auf dem mathematischen Sektor macht es unmöglich, mit diesem Beitrag allen Leistungsmerkmalen gerecht zu werden. So beschränken sich unsere Ausführungen auf grundlegende Informationen zur Formelgestaltung und auf einige von LaTeX bereitgestellte Formelstrukturen. Dabei greifen wir auf die Überlegungen zum Tabellensatz zurück; beide Satztechniken lassen sich sogar verknüpfen. Doch beginnen wir am Anfang.

Intern besitzt jedes im Mathematik-Modus zulässige Zeichen neben dem üblichen Kodierungswert (0... 255) und dem Bedeutungswert (Familie; 0... 15) eine Kennung, die besagt, welcher Natur dieses Zeichen ist. TeX unterscheidet für mathematische Zeichen insgesamt 8 solcher Bearbeitungsklassen (0... 7). Die wichtigsten sind der binäre Operator (z.B.: + - *), der große Operator (z.B. Summenzeichen, Integralzeichen), die Relation (z.B. <, =), die öffnende beziehungsweise schließende Klammer, das Satzzeichen (z.B. Komma, Strichpunkt) und das »normale« Zeichen [1]. Solche Zusatzinformationen charakterisieren nicht nur die Funktion einzelner Formelelemente; mindestens ebenso wichtig ist ihre Bedeutung für die Abstandsberechnung, indem sie mitteilen, welcher Abstand zwischen den entsprechenden Gruppen zu setzen ist.

Bleiben wir noch einen Moment bei den fundamentalen TeX-Strukturen. Die drei Bestimmungsstücke für mathematische Zeichen (Kodierung, Familie und Bearbeitungsklasse) lassen sich als eine vierstellige Hexadezimalzahl darstellen, wobei die erste Ziffer die Klasse, die zweite Ziffer die Familie und die letzten beiden Ziffern den Zeichencode repräsentieren. Wer diese Notation einmal begriffen hat, kann die Zuweisung der Kategoriecodes zu Buchstaben, Ziffern usw., wie sie in den Format-Dateien (*.FMT) dokumentiert ist, leicht nachvollziehen. Und das ist noch nicht alles: Sogar die Modifikation der vorliegenden Zuordnungen ist möglich. Allgemein funktioniert dies mit dem Befehl \mathcode'\zeichen,='code. Dabei steht »Zeichen« für ein Zeichen wie »B« oder»!« und code für den beschriebenen, vierstelligen Hexadezimalcode. Zur Erläuterung ein Beispiel: \mathcode'+—'202B setzt das Zeichen »+«. Die führende 2 kennzeichnet die Funktion als binäre Operation. Gefunden wird es in der Schriftenfamilie 0 an der Position "2B. Eine Änderung ist nun keine Kunst mehr. Die Zuweisung \mathcode'+="313C macht aus dem Plus-Zeichen ein Kleiner-Zeichen. Im mathematischen Modus ($+$) wird es nunmehr als solches dargestellt. Daß es sich hierbei um eine Relation handelt, geht aus der ersten 3 hervor. Die Bedeutung der restlichen Zahlen sollte bekannt sein. Es empfiehlt sich, derart tiefgreifende Eingriffe mit der gebotenen Vorsicht zu realisieren. Am besten verwenden Sie bei solchen Modifikationen anfangs eine Klammerstruktur, da nach ihrem Verlassen die ursprüngliche Zuordnung wieder herstellt wird.

Wie geschaffen zum Ausprobieren ist der Befehl \mathchar"code.\mathchar"202B steuert unmittelbar die Codetabelle an und gibt das Plus-Zeichen aus. Alles andere wäre eine Überraschung. Außerdem kann man im Mathematiksatz - ähnlich wie im normalen Textsatz - mit \mathchardef persönliche mathematische Symbolbefehle definieren. Ein Beispiel für das Summenzeichen: \mathchardef\sum="1350. Diese Definition gefällt Ihnen nicht? Kein Problem. Mit \mathchardef\summe="1350 wird das Summenzeichen fortan mit"\summe" aufgerufen. An dieser Stelle sei auch noch einmal an den Befehl \mathop aus dem ersten Kursteil erinnert: Seine Funktion besteht ausschließlich darin, ein mathematisches Zeichen einer der eingangs genannten Bearbeitungsklassen („großer Operator“) zuzuweisen.

Mathematisches Environment

So hilfreich die skizzierten internen Operationen im Einzelfall sein können, im Rahmen der alltäglichen Textverarbeitung besteht nur selten Anlaß zur Verbesserung oder Eigengestaltung von Formeln oder Symbolen. Für gewöhnlich wird sich der Anwender mit solchen Unternehmungen daher nicht befassen. Seine Aufgabe beschränkt sich zunächst einmal darauf, eigene Formeln als solche zu kennzeichnen. Immer wenn Zeichen, die zu einem mathematischen Text gehören, in mathematische Gleichungen, mathematische Strukturen (array) oder Strukturklammern gesetzt werden sollen, ist ein mathematisches »environment« ...$, $...$$, (... )/ oder [... ]\ zu verwenden. Eine nähere Kennzeichnung dieser Umgebungen dürfte sich erübrigen, da sie TeX-Kennern zur Genüge vertraut sind. Ihr Setzen im Text hat das Umschalten des Compilers in den Mathe-Modus und eine Veränderung in der Abstandsberechnung zur Folge.

Gerade was die Veränderung der Abstände anbelangt, zeigt sich TeX äußerst flexibel. Per Voreinstellung fügt TeX automatisch kleine (\thinmuskip), mittlere (\medmuskip) oder große (\thickmuskip) Zwischenräume in Formeln ein. Eine weitergehende Einflußnahme auf die horizontalen Zwischenräume bieten folgende Kontrollsequenzen:

\, kleiner Zwischenraum = 3/18 em
: mittlerer Zwischenraum = 4/18 em \; großer Zwischenraum = 5/18 em
! negativer Zwischenraum = -3/18 em

Sollten Sie den Wunsch verspüren, eine Formel als Ganzes deutlicher hervorzuheben, können Sie sich in LaTeX diverser Steuerungsparameter bedienen. In Anlehnung an die tabular-Umgebung ist das Kommando \arraycolsep hervorzuheben, das die Breite des Spaltenzwischenraums bestimmt. \arraycolsep5mm schafft einen Zwischenraum von insgesamt einem Zentimeter. Zusätzliche vertikale Abstände lassen sich noch mit \abovedisplayskip und \belowdisplayskip schaffen.

Bild 1. Layoutoptimierung durch die Veränderung von Abständen und Schriftgrößen
Bild 2. Referenzen in TeX

Zwei Dinge sind bei der Anwendung von Stilparametern zu beachten: Einmal gelten sie teilweise nur für bestimmte Environments; und zum zweiten sind zumeist elastische Maßangaben sinnvoll. Zur Erinnerung: \belowdisplayskip1 mu plus0.5mu minus0.2mu bedeutet: Der Abstand, der unterhalb einer langen Formel und dem nachfolgenden Text eingefügt wird, ist gleich der Höhe mu (18mu = 1 em). Darüber hinaus läßt der Befehl TeX die Freiheit, zusätzliche Freiräume von 1.5mu bis 0.8mu einzufügen.

Wie sich durch eine Veränderung der TeX-Voreinstellungen die Abstände und damit das Layout als Ganzes auf einfache aber effektive Weise ändern läßt, geht aus Bild 1 hervor. Wird im oberen Teil der Abbildung der Leerraum im Mathematiksatz geändert, so kommt unten ein Umschalten der aktiven Schriftgröße zum Tragen.

Richtete sich das Interesse bislang auf die Formel selbst, so stellt sich nun die Frage, welche speziellen Fähigkeiten TeX aufweist, wenn es darum geht, Formeln und Gleichungssysteme im Text zu plazieren. Standardmäßig werden abgesetzte Formeln horizontal zentriert ausgegeben. Eine eventuelle Formelnummer erscheint rechtsbündig. Die Dokumentstil-Option fleqn gestattet es nun, die Formel linksbündig und mit einer wählbaren Einrücktiefe anzuordnen. Natürlich gilt eine solche Anordnung dann für das gesamte Dokument. Mit \mathindent kann man die mit der Option fleqn linksbündig angeordneten Formeln um den gewünschten Betrag nach rechts einrücken. Die Zuweisung mit Werten erfolgt durch eine Längenangabe unmittelbar hinter dem Befehl, z.B. \mathindent2cm. Wer die Formelnummern lieber einheitlich linksbündig sehen möchte, kann dies mit der Anweisung leqno in der Präambel festlegen.

Gerade in wissenschaftlichen Arbeiten, für die TeX bekanntlich besonders prädestiniert ist, sind Querverweise auf Formelstrukturen an der Tagesordnung. Kennzeichnet man seine Formel mit\label{Name}, hat man leichtes Spiel, zumal TeX sämtliche Nummern und Nummernbezüge eigenständig korrigiert. Damit lassen sich auch nachträglich ohne zusätzlichen Aufwand Formeln eintragen und verändern (vgl. Bild 2). Ursprünglich sollte dieser Kursteil noch eine ganze Reihe weiterer Anwendungen von TeX und LaTeX zeigen. Aus Platzgründen müssen wir diesen Teil jedoch leider auf die nächste Ausgabe verschieben. (wk)

Literatur:

[1] Donald E. Knuth. The TeXbook. Mol A. Computers and Typesetting., Addison Wesley, 1986.
[2] Norbert Schwarz. Einführung in TeX, 2. überarbeitete Auflage., Addison Wesley, 1988.

Bezugsquelle für TeX, LaTeX etc.: KonTRAST, Matthias Neumann. Zwickauerstr. 4, 5400 Koblenz


Klaus Konrad
Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]