Abschnittsweise Funktionen in LaTeX: cases, Bedingungen und Nummern
Für eine abschnittsweise definierte Funktion in LaTeX laden Sie amsmath und verwenden cases im Mathematikmodus. Schreiben Sie zuerst den Funktionswert, trennen Sie die Bedingung mit & ab und beginnen Sie den nächsten Fall mit \\. Innerhalb von equation erhält die gesamte Definition eine Gleichungsnummer.
Ein vollständiges Beispiel
Speichern Sie diesen Inhalt als main.tex und kompilieren Sie mit pdfLaTeX. Dieses article-Dokument benötigt nur amsmath. Das eigenständige Paket mit dem Namen cases ist hierfür nicht erforderlich.
\documentclass[a4paper,11pt]{article}\usepackage{amsmath}\begin{document}\begin{equation}\label{eq:absolute} |x| = \begin{cases} x, & \text{if } x \ge 0, \\ -x, & \text{if } x < 0. \end{cases}\end{equation}See equation~\eqref{eq:absolute}.\end{document}Das PDF sollte eine linke geschweifte Klammer, zwei Zeilen mit Werten und Bedingungen sowie eine Nummer für die gesamte Definition zeigen. Nach dem Auflösen der Verweise stimmt die Nummer im Satz mit der Gleichungsnummer überein. Null gehört zum ersten Fall, negative Zahlen zum zweiten. Jede reelle Eingabe ist genau einmal erfasst.
Aufbauskizze: Links steht der Funktionswert, rechts seine Bedingung. Der Grenzpunkt 0 gehört zur ersten Zeile.
Bedingungen ausrichten und Fälle trennen
&trennt zwei linksbündige Spalten. Einrückungen im Quelltext richten die Spalten im PDF nicht aus.\\beginnt den nächsten Fall. Nach der letzten Zeile wird es normalerweise weggelassen. Ein gewöhnlicher Zeilenumbruch im Quelltext erzeugt keine neue Formelzeile.\text{if }setzt das englische Wort als normalen Text. Lassen Sie das Leerzeichen innerhalb der Klammern stehen, damit Abstand zur mathematischen Bedingung entsteht.\text{otherwise}bedeutet „sonst“.caseserzeugt die linke Klammer bereits. Fügen Sie kein weiteres\left\{hinzu. Die Umgebung muss im Mathematikmodus stehen, etwa in\[...\]oderequation. Mehrzeilige Definitionen sind meist als abgesetzte Formel besser lesbar.
In dieser Stufenfunktion umfasst otherwise bei reellem Definitionsbereich alle x <= 0, einschließlich null:
\[s(x)=\begin{cases} 1, & \text{if } x > 0, \\ 0, & \text{otherwise}.\end{cases}\]Mathematische Zeichen bleiben im Mathematikmodus. Als Mathematik eingegebenes if wird zu kursiven Variablen ohne normale Wortabstände. Umgekehrt verliert eine vollständig als Text eingegebene Bedingung ihren mathematischen Satz. Für die rechte Spalte von dcases* gilt eine andere Regel.
Beispiel für eine wissenschaftliche Arbeit: Huber-Verlust
Sei r ein reelles Residuum und δ > 0 der Schwellenwert. Der Huber-Verlust verwendet für kleine Residuen einen quadratischen Term, für größere einen im Absolutbetrag des Residuums linearen Term:
\[L_{\delta}(r) =\begin{cases} \frac{1}{2}r^2, & \text{if } |r| \le \delta, \\ \delta\left(|r|-\frac{1}{2}\delta\right), & \text{if } |r| > \delta.\end{cases}\]Der erste Fall schließt |r| = δ ein; der zweite gilt nur für |r| > δ. Am Übergang ergeben beide Ausdrücke δ²/2, doch die Bedingungen ordnen den Punkt nur dem ersten Fall zu. Für δ = 1 liefern die Residuen r = 0, 1 und 2 die Verluste 0, 0.5 und 1.5.
Notieren Sie beim Anpassen den Definitionsbereich und prüfen Sie alle Übergänge. Zwei strenge Ungleichungen können einen Grenzpunkt auslassen; zwei Bedingungen mit Gleichheitszeichen können sich überlappen. Eine erfolgreiche Kompilierung prüft diese mathematischen Bedingungen nicht.
Kleine Brüche: cases oder dcases?
Das gewöhnliche cases verwendet \textstyle. Brüche mit \frac bleiben daher auch in einer abgesetzten Formel klein. Für größere Brüche, Summen oder Integrale ersetzen Sie in der Präambel \usepackage{amsmath} durch \usepackage{mathtools} und verwenden dcases. mathtools lädt amsmath automatisch.
Fügen Sie dieses Fragment in den Textteil eines Dokuments mit mathtools ein, um dieselbe Funktion in beiden Varianten zu vergleichen:
\[g(x)=\begin{cases} \frac{1}{1+x^2}, & x \ge 0, \\ 0, & x < 0.\end{cases}\qquadg(x)=\begin{dcases} \frac{1}{1+x^2}, & x \ge 0, \\ 0, & x < 0.\end{dcases}\]
Stilvergleich als Skizze: Definition und Bedingungen bleiben gleich. dcases setzt den Bruch im abgesetzten Mathematikstil größer und erhöht den Zeilenabstand. Prüfen Sie die tatsächliche Ausgabe in Ihrer Vorlage.
Soll nur ein Bruch größer werden, können Sie in cases \frac durch \dfrac ersetzen. Das ändert diesen Bruch; dcases setzt die Ausdrücke der Fälle im abgesetzten Stil. Kontrollieren Sie Abstände und verfügbare Breite, besonders bei schmalen Spalten.
Die rechte Spalte von dcases* ist Text
In dcases bleibt die Bedingungsspalte im Mathematikmodus, Wörter brauchen also \text{...}. In dcases* ist die rechte Spalte normaler Text. Mathematische Bedingungen werden deshalb mit $...$ eingeschlossen:
\[g(x)=\begin{dcases*} \frac{1}{1+x^2}, & if $x \ge 0$, \\ 0, & otherwise.\end{dcases*}\]Beide Varianten stammen aus mathtools. Passen Sie beim Wechsel des Umgebungsnamens auch die rechte Spalte an.
Die Definition oder jeden Fall nummerieren
| Bedarf | Aufbau | Paket und Verschachtelung |
|---|---|---|
| Keine Nummer | cases in \[...\] | amsmath |
| Eine Nummer für die Definition | cases in equation | Verweise mit \label und \eqref |
| Eigene Nummer pro Fall | numcases | Paket cases; selbst eine abgesetzte Formelumgebung |
| Buchstabenzusätze innerhalb einer Gruppe | subnumcases | Paket cases, etwa (1a) und (1b) |
Meist reicht eine Nummer für die gesamte Definition. Sollen einzelne Fälle zitiert werden, laden Sie \usepackage{amsmath} und \usepackage{cases} in der Präambel und fügen anschließend ein:
\begin{numcases}{h(x)=} x, & if $x \ge 0$ \label{eq:positive} \\ -x, & if $x < 0$ \label{eq:negative}\end{numcases}See equations~\eqref{eq:positive} and~\eqref{eq:negative}.Das Argument {h(x)=} steht links von der Klammer. Die rechte Spalte ist standardmäßig Text; mathematische Bedingungen benötigen $...$. Setzen Sie numcases nicht zusätzlich in equation oder \[...\]. Jedes \label verweist auf die Nummer seiner Zeile. Für Buchstabenzusätze wechseln Sie zu subnumcases und prüfen die Verweise erneut.
Weitere Regeln finden Sie unter Gleichungsnummern und Verweise.
Häufige Probleme beheben
| Symptom | Prüfen | Korrektur |
|---|---|---|
| Fehler im Mathematikmodus oder bei der Ausrichtung | Äußere Umgebung und amsmath | Paket und äußere Umgebung des vollständigen Beispiels wiederherstellen |
Environment dcases undefined | Nur amsmath geladen | mathtools laden |
| Werte und Bedingungen laufen zusammen | Fehlendes & | Ein & pro Zeile zwischen Wert und Bedingung |
| Fälle erscheinen in einer Zeile | Fehlendes \\ | Zwei Backslashes zwischen den Fällen ergänzen |
Extra alignment tab oder ähnliche Meldung | Zu viele & | Gewöhnliches cases auf zwei Spalten beschränken |
| Englische Wörter kursiv, Leerzeichen fehlen | Wörter im Mathematikmodus | In cases \text{...} verwenden |
| Zwei linke Klammern | Manuell ergänztes \left\{ | Nur die von cases erzeugte Klammer behalten |
Verweise zeigen ?? | Label, nummerierte Umgebung, Kompilierläufe | \label prüfen, erneut kompilieren und Protokoll lesen |
Ein Symptom kann mehrere Ursachen haben. Beginnen Sie mit dem ersten Fehler im Protokoll und dem benachbarten Quelltext.
Lokal oder in EasyLaTeX prüfen
Mit TeX Live oder MiKTeX führen Sie im Verzeichnis von main.tex diese Befehle aus:
pdflatex -interaction=nonstopmode -halt-on-error main.texpdflatex -interaction=nonstopmode -halt-on-error main.texPrüfen Sie main.log auf Fehler, nicht aufgelöste Verweise und Overfull \hbox. Öffnen Sie das neu erzeugte main.pdf und kontrollieren Sie Klammer, Bedingungen, Bruchgrößen und Nummerierung. Die drei Residuen für δ = 1 helfen außerdem, einen falsch übertragenen Koeffizienten im Huber-Beispiel zu erkennen.
In EasyLaTeX fügen Sie das Beispiel in die Hauptdatei des Projekts ein und prüfen deren Auswahl. Wählen Sie für dieses englische article-Beispiel pdfLaTeX. Warten Sie auf das Ende der Kompilierung. Bei Problemen helfen das Bug-Panel und Original Log. Sie können Agent den betreffenden Quelltext und das Protokoll zur Fehlersuche geben; prüfen Sie Änderungen und kompilieren Sie erneut. Behalten Sie bei bestehenden mehrsprachigen Dokumenten oder Zeitschriftenvorlagen die passenden Compiler- und Vorlageneinstellungen bei.
Das vollständige Minimaldokument und die fünf weiteren Codefragmente wurden mit pdfLaTeX auf TeXLive.net kompiliert; Protokolle und PDFs wurden geprüft. Sie wurden nicht im Produktcompiler oder in einer bestimmten Zeitschriftenvorlage getestet. Prüfen Sie beim Einbau in ein Manuskript die Paketkompatibilität und das aktuelle PDF.
Weiterführend: Indizes, Brüche, Klammern und Matrizen, Formelumbruch und Kompilierfehler beheben.
Quellen
- amsmath-Benutzerhandbuch: Mathematikumgebungen,
cases,\textund Textstil. - Offizielle mathtools-Dokumentation:
dcasesund Sternvarianten. - Dokumentation zum Paket cases:
numcases,subnumcasesund Bedingungsspalten.