Fehlt ein schließendes $, zeigt LaTeX nicht auf die Stelle des Fehlers. Es läuft bis zum Absatzende, meldet ! Missing $ inserted. und setzt die Wörter kursiv zusammengeklebt. Genau darin liegt das Wesen des Mathematikmodus in LaTeX: Er schaltet nicht die Schrift um, sondern die Regeln selbst. Getippte Leerzeichen verschwinden, Buchstaben werden zu Variablennamen, und + und = erhalten einen festgelegten Abstand. Diese Seite ordnet die beiden Zugänge – $…$ und \(…\) innerhalb einer Zeile, \[…\] auf einer eigenen Zeile –, erklärt, warum allein $$…$$ zu meiden ist, und warum ein gewöhnliches Wort in einer Formel \text{} braucht.
Was sich im Mathematikmodus tatsächlich ändert
Drei Dinge ändern sich: Getippte Leerzeichen verschwinden, jeder Buchstabe wird zum Variablennamen in mathematischer Kursive, und jedes Zeichen erhält eine Klasse, aus der sein Abstand berechnet wird. Deshalb liefern a+b und a + b haargenau dieselbe Ausgabe, und deshalb ergibt log x das Wort „logx“ – das Produkt der vier Variablen l, o, g und x. Als Funktion \log x geschrieben, steht der Name aufrecht und vor dem x erscheint ein schmaler Zwischenraum. Dieselben drei Buchstaben, für TeX zwei völlig verschiedene Dinge.
% identical output: spaces in the source are ignored
$a+b$ \qquad $a + b$
% "logx" (four variables) vs. the function name
$log x$ \qquad $\log x$Diese Klassen gehören zu den zentralen Mechanismen von TeX. Alles in einer Formel wird als gewöhnliches Atom, großer Operator, binärer Operator, Relation, Öffnung, Schließung oder Satzzeichen einsortiert, und der Abstand zwischen zwei Nachbarn wird aus dem Klassenpaar in einer Tabelle nachgeschlagen. = ist eine Relation und trägt daher beidseitig \thickmuskip – voreingestellt 5mu. In einem 10pt-Dokument entsprechen 18mu einem Geviert, also 10pt; der Zwischenraum beträgt somit 2,78pt je Seite. Die Zahl muss man sich nicht merken, den Gedanken schon: Abstand ergibt sich aus Bedeutung. Von Hand fügt man Raum mit \, (schmaler Zwischenraum), \;, \quad und \qquad ein.
Diese Regeln gelten nur im Mathematikmodus. Deshalb ist \to oder \alpha mitten im Fließtext ein Fehler und nicht bloß unschön: Außerhalb des Mathematikmodus existiert die Abstandsregel gar nicht. Schreibt man A \to B in den Textkörper, antwortet pdflatex mit ! Missing $ inserted. Wer ein mathematisches Zeichen will, muss zuerst in den Mathematikmodus – womit wir bei den Zugängen wären.
Inline-Mathematik: $…$ oder \(…\)
Die Ausgabe ist identisch. Verschieden ist nur, was bei einem Fehler passiert. $ hat in TeX den Kategoriecode 3 – „math shift“ –, und dasselbe eine Zeichen öffnet und schließt: $ ist ein Umschalter, keine Klammer. \( und \) dagegen sind in latex.ltx als zwei getrennte Makros definiert, die jeweils prüfen, ob gerade Mathematikmodus herrscht. Deshalb verhalten sich beide völlig unterschiedlich, wenn ein Begrenzer fehlt.
% one closing $ dropped: this compiles, and prints "We compare xandyinthetext."
We compare $x and $y$ in the text.
% the same mistake with \( \): pdflatex stops on this very line
We compare \( x and \( y \) in the text.Die erste Zeile oben ist gerade deshalb beängstigend, weil sie durchläuft. TeX liest alles vom ersten $ bis zum zweiten als Formel, wirft die Leerzeichen in „x and “ fort, setzt es kursiv, und das übrig gebliebene $ stolpert schließlich am Absatzende mit ! Missing $ inserted. – die gemeldete Zeilennummer zeigt auf \end{document}, und auf der Seite steht „We compare xandyinthetext.“ Die zweite Zeile enthält denselben Fehler, doch das zweite \( bemerkt, dass der Mathematikmodus bereits offen ist, und meldet ! LaTeX Error: Bad math environment delimiter. in eben dieser Zeile. Keinen langen Absatz absuchen zu müssen, ist in der Praxis ein größerer Unterschied, als es klingt.
Praktisch heißt das: In neuen Dokumenten, zumal mathematiklastigen, \(…\) zur Voreinstellung machen. Das kurze $…$ wird überall verstanden und ist völlig brauchbar, wenn der Editor die Paare einfärbt – kein Grund, ein bestehendes Manuskript umzuschreiben. Die Umgebungsform \begin{math}…\end{math} leistet dasselbe, ist für den Zeileninnenraum aber viel zu lang und wird kaum verwendet. Ein literales Dollarzeichen im Text schreibt man als \$.
Abgesetzte Formeln setzt man mit \[…\]
Eine wichtige oder umfangreiche Formel wird aus dem Absatz gehoben und auf eine eigene Zeile gesetzt. Ohne Nummer ist das \[ … \], mit Nummer die equation-Umgebung. \[…\] ist exakt dasselbe wie die Umgebungsform displaymath: standardmäßig zentriert, linksbündig, sobald die Dokumentklasse die Option fleqn erhält. Darüber und darunter fügt LaTeX \abovedisplayskip und \belowdisplayskip ein – in einem 10pt-Dokument je 10pt –, und diese Luft macht den Eindruck einer abgesetzten Formel aus.
The following identity holds.
\[
\int_0^1 x^2 \, dx = \frac{1}{3}
\]
It is one of the first integrals anyone computes.Eine Tatsache lässt den Rest einrasten: Wird amsmath geladen, ersetzen sich \[ und \] durch die Umgebung equation* selbst – die letzten beiden Zeilen von amsmath.sty lauten \DeclareRobustCommand{\[}{\begin{equation*}} und \DeclareRobustCommand{\]}{\end{equation*}}. Unter amsmath hat die Frage „\[…\] oder equation*?“ also keinen Inhalt: Es ist dasselbe. Zwischen equation und \[…\] entscheidet allein, ob eine Nummer gewünscht ist.
| Form | Nummeriert | Hinweise |
|---|---|---|
\[ … \] | nein | die LaTeX-Form; unter amsmath ist es equation* |
displaymath | nein | Umgebungsform, identisch mit \[ \]; ausführlich, selten genutzt |
equation | ja | automatisch nummeriert; mit \label und \ref oder \eqref referenzierbar |
equation* | nein | benötigt amsmath; das, was \[ \] dann ist |
$$ … $$ | nein | die plain-TeX-Form; nicht verwenden (nächster Abschnitt) |
Warum ausgerechnet $$…$$ zu meiden ist
$$…$$ ist die Art von plain TeX, eine abgesetzte Formel zu eröffnen, und LaTeX hat sie nie für Autorinnen und Autoren dokumentiert. Verboten ist sie nicht – LaTeX verwendet sie intern. In latex.ltx steht \def\equation{$$\refstepcounter{equation}}; equation und eqnarray beruhen also beide auf $$. Das Problem: Tippt man selbst $$, läuft man an LaTeX’ Makroschicht vorbei – und genau dort sitzen die Klassenoptionen und die Mechanik von amsmath.
- Die Option
fleqnwirkt nicht mehr.fleqn.clodefiniert genau vier Dinge neu –\[,\],equationundeqnarray– und rührt$$nie an. Gemessen in einemarticlemit[fleqn]:\[a=b\]beginnt 25pt vom linken Rand,$$a=b$$bleibt zentriert – 135pt Unterschied auf der Seite. - Der vertikale Abstand ändert sich. Steht
\[am Absatzanfang, schiebt es still eine unsichtbare Box von 0,6 der Zeilenbreite ein, bevor es$$ausführt. Der Kunstgriff soll TeX glauben machen, die vorangehende Zeile sei lang gewesen; ohne ihn wählt TeX die kurze Variante (\belowdisplayshortskip, 6pt). In der Messung fiel die$$-Fassung darunter um genau 4pt enger aus. \qedherelandet an der falschen Stelle. Setzt man\qedherean die letzte Formel einer amsthm-proof-Umgebung, sitzt das Beweisendezeichen innerhalb von\[…\]am rechten Rand. Innerhalb von$$…$$klebt es dagegen an der Formel und verschiebt die ganze Anzeige aus der Mitte.- Alles, was amsmath ergänzt, entfällt. Da
\[unter amsmath ebenequation*ist, wirft$$das Fundament weg, auf dem\tag,\qedhereund das automatische Ausweichen der Gleichungsnummern stehen.
Der Short Math Guide for LaTeX der AMS (Version 2.0, 2017/12/22, in TeX Live 2024 enthalten) vertritt dieselbe Linie: Er rät nachdrücklich von $$ ab und nennt zwei Gründe – die Schreibweise ist nirgends als Teil des LaTeX-Befehlssatzes dokumentiert, und sie stört das korrekte Arbeiten von Funktionen wie fleqn. Die Zusammenfassung ist kurz. Ohne Nummer: \[…\]. Mit Nummer: equation. Übernimmt man ein Manuskript voller $$, ersetzt man sie am besten sofort maschinell; der Tag, an dem fleqn oder eine Beweisumgebung hinzukommt, verläuft dann ruhig.
Wörter in der Formel: warum \text{} nötig ist
Da Buchstaben im Mathematikmodus Variablen sind, ist if das Produkt aus i und f und area das Produkt von vier Variablen. Um ein Wort als Wort zu setzen – aufrecht und mit korrektem Abstand –, nimmt man \text{…} aus amsmath. Sein Inhalt wird in der Textschrift mit Textabständen gesetzt, und getippte Leerzeichen darin bleiben erhalten: \text{ for all } behält beidseitig Luft. Umgekehrt schaltet $…$ innerhalb von \text{…} diesen Ausschnitt wieder in den Mathematikmodus.
\[
f(x) = x^2 \quad \text{for all } x \in \mathbb{R},
\qquad v_{\text{max}} = 3.
\]Der Vorteil von \text ist, dass es der Größe seiner Umgebung folgt. Die Definition in amstext.sty verteilt mit \mathchoice auf die vier Kontexte – Display, Text, Index und doppelter Index – jeweils eine eigene Schriftgröße. Misst man das „max“ in v_{\text{max}} oben, ist es 6,19pt hoch, also Indexgröße; dasselbe als \mbox{max} geschrieben ergibt 8,85pt und sitzt in voller Textgröße im Index, deutlich zu groß für seine Nachbarn. \mbox ist der allgemeine Befehl „steck das in eine Box“ und war nie ein mathematisches Werkzeug. \text fällt im Textmodus auf \mbox zurück und ist daher auch in Makros sicher, die in beiden Modi laufen können. Fehlt amsmath, erscheint ! Undefined control sequence.
Textstil und Displaystil: warum dieselbe Formel anders aussieht
Der Mathematikmodus kennt vier Stile, und TeX wählt aus dem Kontext: Textstil innerhalb einer Zeile, klein genug, um die Zeilenhöhe nicht zu sprengen; Displaystil auf eigener Zeile, mit Raum zum Atmen; Skriptstil für einen Index; Skriptskriptstil für den Index eines Index. Deshalb setzt dasselbe \sum_{i=1}^{n} seine Grenzen inline klein rechts neben das Zeichen und in der abgesetzten Formel groß darüber und darunter.
- Summen- und Integralgrenzen: Im Displaystil stehen die Grenzen von
\sumüber und unter dem Zeichen, im Textstil rechts daneben. Bei\intverhält es sich genauso. - Brüche:
\fracist im Displaystil groß, im Textstil klein und gedrängt. Um die Größe unabhängig vom Kontext festzulegen, nimmt man\dfracund\tfracaus amsmath. - Indizes: Jede Verschachtelungsebene verkleinert sich um eine Stufe; unter dem Skriptskriptstil geht es nicht weiter.
Von Hand lässt sich der Stil mit \displaystyle, \textstyle, \scriptstyle und \scriptscriptstyle umschalten. Der übliche Fall ist $\displaystyle\sum_{i=1}^{n} i$, wenn die Grenzen einer Summe mitten im Satz über und unter dem Zeichen stehen sollen. Vorsicht jedoch: Verstreut man \displaystyle im Fließtext, werden die Zeilenhöhen ungleich und der Absatz wellt sich. Faustregel: nur dort einsetzen, wo eine bestimmte Formel es wirklich braucht.
% limits sit at the right of the sign
Inline: $\sum_{i=1}^{n} i$
% limits forced above and below
Forced: $\displaystyle\sum_{i=1}^{n} i$Funktionsnamen sind Befehle: \sin, \log, \lim
Aus den obigen Regeln folgt: sin x schreibt das Produkt aus s, i, n und x. Richtig ist ein eigener Befehl wie \sin. LaTeX definiert die gängigen Funktions- und Operatornamen vor; alle werden aufrecht gesetzt und tragen automatisch einen schmalen Zwischenraum nach sich. Die Buchstaben mit \mathrm{sin} bloß aufrecht zu stellen, bringt diesen Raum nicht – gemessen lässt \log x 1,8pt zwischen „log“ und „x“, während \mathrm{log} x als zusammengeklebtes „logx“ erscheint.
- Trigonometrisch und hyperbolisch:
\sin\cos\tan\cot\sec\csc;\sinh\cosh\tanh\coth; Umkehrfunktionen\arcsin\arccos\arctan. - Logarithmen und Exponentialfunktion:
\log\ln\lg\exp. - Grenzwerte und Schranken:
\lim\limsup\liminf\sup\inf\max\min\varinjlim\varprojlim. - Algebra und Übriges:
\arg\det\dim\gcd\ker\hom\deg\Pr; Modulo mit\bmodund\pmod.
\[
\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^{n} = e,
\qquad \sin^2\theta + \cos^2\theta = 1.
\]Ein Teil dieser Liste – unter anderem \lim, \max, \min, \sup, \inf, \det, \gcd, \Pr – setzt den Index im Displaystil direkt darunter. Deshalb steht die Bedingung von \lim_{n\to\infty} in einer abgesetzten Formel unter „lim“ und inline rechts unten. Für einen Operator, der nicht auf der Liste steht – etwa rank oder Hom –, definiert man sich mit \operatorname{…} und \DeclareMathOperator aus amsmath einen eigenen; davon handelt die amsmath-Seite.