
Me gustaría comprender completamente todas las diferencias entre usar el amsmath
entorno cases
y usar el array
entorno para escribir funciones con casos.
Aquí está mi comprensión actual después de leer otras preguntas en el foro:
array
Viene con acolchado a la izquierda y a la derecha. Se puede suprimir usando{@{}ll@{}}
como se explica enesta pregunta relacionada.array
crea problemas de espaciado vertical que no entiendo del todo. Veresta pregunta relacionada.- Ambos
array
ycases
permiten cambiar el espacio entre líneas usando, por ejemplo,\\[2ex]
. - Es mucho más fácil cambiar la alineación de las columnas con
array
que concases
. - El tirante izquierdo de
cases
parece ser más alto que el tirante izquierdo dearray
. Pero no entiendo por qué. - Usar
cases
es semánticamente más apropiado. cases
requiere cargaamsmath
En general, parece que la versión predeterminada cases
es mejor, pero array
es más personalizable.
¿Hay otras diferencias que me faltan? ¿Existe algún aspecto de funciones con casos que se pueda formatear usando uno de los entornos pero no el otro?
\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}
Lo que realmente quiero saber es cuál de los dos entornos es mejor y por qué. Lo he estado usando array
durante años, pero estoy considerando cambiarme a cases
.
Respuesta1
El código para cases
in amsmath
es solo
\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@{}}%
}
lo mismo ocurre array
con una especificación de columna {@{}l@{\quad}l@{}}
y un tramo de matriz de 1,2