
Ich möchte alle Unterschiede zwischen der Verwendung der amsmath
Umgebung cases
und der Verwendung der array
Umgebung zum Schreiben von Funktionen mit Fällen vollständig verstehen.
Hier ist mein aktueller Kenntnisstand, nachdem ich andere Fragen im Forum gelesen habe:
array
kommt mit Polsterung auf der linken und rechten Seite. Es kann unterdrückt werden,{@{}ll@{}}
wie indiese verwandte Frage.array
führt zu vertikalen Abstandsproblemen, die ich nicht ganz verstehe. Siehediese verwandte Frage.- Sowohl
array
als auchcases
ermöglichen das Ändern des Zeilenabstands, beispielsweise mit\\[2ex]
. - Es ist viel einfacher, die Ausrichtung von Spalten mit zu ändern
array
als mitcases
. - Die linke Klammer von
cases
scheint höher zu sein als die linke Klammer vonarray
. Aber ich verstehe nicht, warum. - Die Verwendung
cases
ist semantisch angemessener. cases
erfordert Ladenamsmath
Insgesamt scheint die Standardversion cases
besser zu sein, lässt sich aber array
besser anpassen.
Gibt es noch andere Unterschiede, die ich übersehen habe? Gibt es einen Aspekt von Funktionen mit Fällen, der mit einer der Umgebungen formatiert werden kann, mit der anderen jedoch nicht?
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
|x| =
\begin{cases}
x & \text{if}\ x\geq 0\\
-x & \text{if}\ x<0\\
\end{cases}.
\]
\end{document}
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
|x| =
\left\{\begin{array}{ll}
x & \text{if}\ x\geq 0\\
-x & \text{if}\ x<0\\
\end{array}\right..
\]
\end{document}
Was ich wirklich wissen möchte, ist, welche der beiden Umgebungen besser ist und warum. Ich verwende sie array
seit Jahren, überlege aber, auf umzusteigen cases
.
Antwort1
Der Code für cases
in amsmath
ist einfach
\renewenvironment{cases}{%
\matrix@check\cases\env@cases
}{%
\endarray\right.%
}
\def\env@cases{%
\let\@ifnextchar\new@ifnextchar
\left\lbrace
\def\arraystretch{1.2}%
\array{@{}l@{\quad}l@{}}%
}
so ist es array
mit einer Spaltenangabe von {@{}l@{\quad}l@{}}
und Arraystretch von 1,2