
amsmath
환경 을 사용하는 것과 환경 cases
을 사용하여 array
케이스가 있는 함수를 작성하는 것의 모든 차이점을 완전히 이해하고 싶습니다 .
포럼에서 다른 질문을 읽은 후 현재 이해한 내용은 다음과 같습니다.
array
왼쪽과 오른쪽에 패딩이 함께 제공됩니다.{@{}ll@{}}
에 설명된 대로 사용하여 억제할 수 있습니다.이 관련 질문.array
내가 완전히 이해하지 못하는 수직 간격 문제가 발생합니다. 보다이 관련 질문.array
및 둘 다cases
예를 들어 를 사용하여 줄 사이의 간격을 변경할 수 있습니다\\[2ex]
.array
를 사용하는 것보다 을 사용 하여 열 정렬을 변경하는 것이 훨씬 쉽습니다cases
.- 의 왼쪽 버팀대가
cases
의 왼쪽 버팀대보다 더 큰 것 같습니다array
. 하지만 왜 그런지 이해가 안 돼요. - 사용하는 것이
cases
의미상 더 적절합니다. cases
로딩이 필요합니다amsmath
cases
전반적으로 의 기본 버전이 더 나은 것처럼 보이지만 array
더 많은 사용자 정의가 가능합니다.
내가 놓친 다른 차이점이 있습니까? 환경 중 하나를 사용하여 형식을 지정할 수 있지만 다른 환경은 사용할 수 없는 사례가 있는 함수의 측면이 있습니까?
\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}
제가 정말로 알고 싶은 것은 두 환경 중 어느 것이 더 나은지, 그 이유는 무엇인지입니다. 몇년째 사용하고 있는데 array
로 전환을 고려하고 있습니다 cases
.
답변1
cases
in 의 코드는 amsmath
다음과 같습니다.
\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@{}}%
}
따라서 array
열 사양은 1.2 {@{}l@{\quad}l@{}}
이고 arraystretch는 1.2 입니다.