
Gostaria de entender completamente todas as diferenças entre usar o amsmath
ambiente cases
e usar o array
ambiente para escrever funções com casos.
Aqui está meu entendimento atual depois de ler outras perguntas no fórum:
array
vem com preenchimento à esquerda e à direita. Pode ser suprimido usando{@{}ll@{}}
como explicado emesta questão relacionada.array
cria problemas de espaçamento vertical que não entendo totalmente. Veresta questão relacionada.- Ambos
array
ecases
permitem alterar o espaço entre linhas usando, por exemplo,\\[2ex]
. - É muito mais fácil alterar o alinhamento das colunas com
array
do que comcases
. - A chave esquerda de
cases
parece ser mais alta que a chave esquerda dearray
. Mas não entendo por quê. - Usar
cases
é semanticamente mais apropriado. cases
requer carregamentoamsmath
No geral, parece que a versão padrão cases
é melhor, mas array
é mais personalizável.
Existem outras diferenças que estou perdendo? Existe algum aspecto de funções com casos que podem ser formatados usando um dos ambientes, mas não o outro?
\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}
O que eu realmente quero saber é qual dos dois ambientes é melhor e por quê. Uso array
há anos, mas estou pensando em mudar para cases
.
Responder1
O código para cases
in amsmath
é apenas
\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@{}}%
}
então é array
com uma especificação de coluna {@{}l@{\quad}l@{}}
e arraystretch de 1,2