Abschnittsweise Funktionen in LaTeX: cases, Bedingungen und Nummern

BlogEasyLaTeXVeröffentlicht am

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.

LaTeX
\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“.
  • cases erzeugt die linke Klammer bereits. Fügen Sie kein weiteres \left\{ hinzu. Die Umgebung muss im Mathematikmodus stehen, etwa in \[...\] oder equation. Mehrzeilige Definitionen sind meist als abgesetzte Formel besser lesbar.

In dieser Stufenfunktion umfasst otherwise bei reellem Definitionsbereich alle x <= 0, einschließlich null:

LaTeX
\[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:

LaTeX
\[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:

LaTeX
\[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:

LaTeX
\[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

BedarfAufbauPaket und Verschachtelung
Keine Nummercases in \[...\]amsmath
Eine Nummer für die Definitioncases in equationVerweise mit \label und \eqref
Eigene Nummer pro FallnumcasesPaket cases; selbst eine abgesetzte Formelumgebung
Buchstabenzusätze innerhalb einer GruppesubnumcasesPaket 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:

LaTeX
\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

SymptomPrüfenKorrektur
Fehler im Mathematikmodus oder bei der AusrichtungÄußere Umgebung und amsmathPaket und äußere Umgebung des vollständigen Beispiels wiederherstellen
Environment dcases undefinedNur amsmath geladenmathtools laden
Werte und Bedingungen laufen zusammenFehlendes &Ein & pro Zeile zwischen Wert und Bedingung
Fälle erscheinen in einer ZeileFehlendes \\Zwei Backslashes zwischen den Fällen ergänzen
Extra alignment tab oder ähnliche MeldungZu viele &Gewöhnliches cases auf zwei Spalten beschränken
Englische Wörter kursiv, Leerzeichen fehlenWörter im MathematikmodusIn cases \text{...} verwenden
Zwei linke KlammernManuell 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:

Shell
pdflatex -interaction=nonstopmode -halt-on-error main.texpdflatex -interaction=nonstopmode -halt-on-error main.tex

Prü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

LaTeX: abschnittsweise Funktionen mit cases und dcases | EasyLaTeX