하나의 LaTeX 수식에서 정렬된 단계 사이에 cases 블록을 넣으려면 cases을 aligned의 한 행 안에 넣은 다음 전체 구조를 equation으로 감싸세요. 이렇게 하면 등호가 정렬되고 전체 유도 과정에 수식 번호 하나가 붙습니다.

이 가이드는 조각별 함수 표현식 위아래에 일반적인 대수 단계를 배치하려는 Mac 사용자, 즉 .tex 문서를 편집하는 사용자를 위한 것입니다. 주요 예제는 amsmath만 사용하며, 대안은 mathtools 또는 독립적으로 가운데 정렬된 블록이 적절한 경우를 설명합니다.

단계와 cases를 하나의 정렬된 수식으로 유지하려면 어떻게 하나요?

세 단계로 중첩하세요. equation은 전체 디스플레이를 포함하고, aligned는 유도 과정을 배열하며, cases은 한 행에 중괄호로 묶인 표현식을 제공합니다. 공식 가이드에서는 aligned을 포함하는 표현식 안에 들어가는 구성 요소로 설명하며, aligned과 cases 모두 수학 모드에 있어야 한다고 안내합니다. amsmath 패키지 사용자 가이드의 3.7절을 참조하세요.

다음은 완전한 문서입니다. n은 정수이고 a은 스칼라라고 합시다. n가 짝수이든 홀수이든 식의 값은 a입니다. cases 블록은 그 중간 추론을 보여 줍니다.

\documentclass{article}
\usepackage{amsmath}

\begin{document}
Let \(n\) be an integer and \(a\) be a scalar.
\begin{equation}
\label{eq:cases-chain}
\begin{aligned}
S(n) &= a\bigl[(-1)^n+1-(-1)^n\bigr] \\
     &= a(-1)^n+a\bigl(1-(-1)^n\bigr) \\
     &= \begin{cases}
          a+0,   & \text{if } n \text{ is even}, \\
          -a+2a, & \text{if } n \text{ is odd}
        \end{cases} \\
     &= a.
\end{aligned}
\end{equation}
The result is recorded in \eqref{eq:cases-chain}.
\end{document}

이 예제는 바깥쪽 네 행으로 읽으면 됩니다. 처음 두 행은 식을 전개하고, 세 번째 행은 홀짝 여부에 따라 값을 계산하며, 네 번째 행은 공통 결과를 제시합니다. 두 경우 모두 a으로 정리되므로 마지막 등식은 모든 정수 n에 적용됩니다. 이 대수식은 설명을 위한 예시이므로, 자신의 유도 과정에 쓰이는 식과 조건으로 바꾸세요.

어떤 앰퍼샌드와 줄바꿈이 각 환경에 속하나요?

바깥쪽 &=은 각 등호 앞의 정렬 지점을 표시합니다. cases 안에서는 앰퍼샌드가 각 경우의 표현식과 조건을 구분합니다. 두 수준의 역할은 다릅니다. cases 블록에는 여러 경우의 행이 들어가지만, 블록 자체는 바깥 행 하나의 일부를 차지합니다. 패키지는 amsmath 패키지 문서에 나온 것처럼 cases를 왼쪽 중괄호가 있는 두 열 배열로 구현합니다.

이 예제에서 핵심이 되는 전환은 \end{cases} \\입니다. cases을 닫으면 조각별 표현식이 끝나고, 이어지는 \\은 바깥쪽 aligned 행을 끝냅니다. 그러면 다음 &= a가 앞서 나온 등호 아래에서 시작할 수 있습니다. cases 안의 줄바꿈은 다른 경우의 행으로만 이동합니다.

예제를 수정할 때는 먼저 이 구조를 유지하세요. 한 번에 한 경우의 표현식이나 조건만 바꾸고 결과를 살펴보세요. 그러면 예상과 다른 배치가 바깥쪽 유도 과정에서 비롯된 것인지 조각별 표현식 자체에서 비롯된 것인지 파악하기 쉽습니다.

Mac에서 예제를 사용하려면 어떻게 하나요?

작동하는 LaTeX 배포판과 소스 편집기가 필요합니다. 이미 TeXShop을 사용 중이라면, TeXShop은 편집기와 PDF 미리보기를 제공하며 조판에 TeX Live를 사용합니다. 개발자의 TeXShop 소개 페이지에 따르면 기본 PDF 작업 흐름은 pdftex과 pdflatex을 사용합니다.

  1. 새 소스 문서를 만들고 전체 예제를 붙여 넣으세요.
  2. cases-between-steps.tex으로 저장하세요.
  3. pdflatex 같은 LaTeX 조판 엔진을 사용하세요.
  4. TeXShop의 Typeset 메뉴에서 Typeset을 선택하세요. TeXShop 변경 사항에 설명된 대로 이 명령은 현재 문서를 조판합니다.
  5. 수식 참조가 해결되지 않았다면 다시 조판한 다음 PDF를 확인하세요.

미리보기에서 세 가지를 확인하세요. 바깥쪽 등호가 하나의 세로 열로 정렬되는지, 중괄호가 두 경우만 감싸는지, 유도 과정에 수식 번호가 하나만 붙는지 살펴보세요. 또한 수학식이 편집 후에도 올바르게 유지되었는지 확인하기 위해 두 조건과 마지막 행도 읽어 보세요.

이 예제들은 문서를 대조해 확인했지만, 여기서는 LaTeX 엔진을 사용할 수 없어 컴파일하지 않았습니다. 더 큰 프로젝트에 포함하기 전에 이 작은 독립 문서를 먼저 시험해 보세요.

어떤 환경과 패키지를 선택해야 하나요?

단계 간의 관계에 따라 바깥쪽 구조를 선택하세요. 하나로 이어지는 등식의 연쇄라면 정렬을 공유하는 구조 하나를 유지하세요. cases 블록 위아래에 있는 별도의 그룹을 각각 배치하면 되는 경우에는 다음 절에 나오는 독립적으로 가운데 정렬하는 대안을 사용하세요.

원하는 결과 구조 패키지
등호 정렬을 공유하고 수식 번호 하나 사용 equation 안에 aligned을 넣고, 내부에 cases을 중첩 amsmath
독립적으로 가운데 정렬된 그룹에 수식 번호 하나 사용 equation 안에 gathered을 넣고 블록을 중첩 amsmath
cases 행 전체에서 더 큰 분수 사용 cases을 dcases으로 교체 mathtools
텍스트 형식의 조건 자동 사용 cases* 또는 dcases* 사용 mathtools

간결한 구성 요소는 amsmath 사용자 가이드에 설명되어 있고, 추가 cases 변형 환경은 mathtools 패키지의 3.4.3절에 설명되어 있습니다.

cases를 dcases로 바꾸는 경우는 언제인가요?

일반 cases은 텍스트 스타일 수학을 사용합니다. mathtools 환경 dcases은 디스플레이 스타일을 사용하므로 분수에 더 넉넉한 공간이 필요할 때 유용합니다. mathtools을 불러오면 amsmath도 함께 불러옵니다. 별표가 붙은 dcases* 변형은 두 번째 열을 텍스트로 처리합니다. 그 열에 수학적 조건을 쓰려면 인라인 수학 구분자를 사용하세요. 이러한 동작은 mathtools 패키지에 설명되어 있습니다.

다음의 완전한 대안 예제는 분수를 사용합니다. 정수 n의 경우 첫 번째 행의 분모는 3 또는 1이므로 두 경우 모두 정의됩니다.

\documentclass{article}
\usepackage{mathtools}

\begin{document}
Let \(n\) be an integer and \(a\) be a scalar.
\begin{equation}
\begin{aligned}
T(n) &= \frac{2a}{2+(-1)^n} \\
     &= \begin{dcases}
          \frac{2a}{3}, & \text{if } n \text{ is even}, \\
          2a,          & \text{if } n \text{ is odd}
        \end{dcases} \\
     &= \frac{a}{1+\frac{1}{2}(-1)^n}.
\end{aligned}
\end{equation}
\end{document}

여기서는 각 경우의 스타일을 바꿔도 바깥쪽 배치는 그대로 유지됩니다. 각 경우를 간결하게 표시하려면 cases을 선택하고, 분수에 디스플레이 스타일이 적합하면 dcases을 선택하세요. cases 또는 dcases을 사용할 때는 설명 문구를 \text{...} 안에 두세요. 별표가 붙은 변형에서는 설명 문구를 두 번째 열에 바로 쓰면 됩니다.

블록을 위아래로 쌓기만 하면 되는 경우에는 어떻게 하나요?

위쪽과 아래쪽 그룹에 각자의 정렬이 필요하다면 gathered을 사용하세요. 이는 가이드에 설명된 간결한 구성 요소를 활용하는 방법입니다. 각 aligned 그룹은 이를 감싸는 gathered 구조의 한 행이 됩니다. amsmath 정렬 구성 요소를 참조하세요.

\documentclass{article}
\usepackage{amsmath}

\begin{document}
Let \(n\) be an integer and \(a,b\) be scalars.
\begin{equation}
\begin{gathered}
  \begin{aligned}
    S(n) &= a\bigl[(-1)^n+1-(-1)^n\bigr] \\
         &= a(-1)^n+a\bigl(1-(-1)^n\bigr)
  \end{aligned} \\
  S(n)=\begin{cases}
         a+0,   & \text{if } n \text{ is even}, \\
         -a+2a, & \text{if } n \text{ is odd}
       \end{cases} \\
  \begin{aligned}
    S(n)   &= a, \\
    S(n)+b &= a+b.
  \end{aligned}
\end{gathered}
\end{equation}
\end{document}

이 배치에서는 위쪽 그룹, 가운데 표현식, 아래쪽 그룹의 가로 위치를 의도적으로 각각 따로 지정합니다. 각 그룹의 등호가 서로 일치할 필요는 없습니다. S(n)을 반복해 관계를 명시하고, 마지막 행에는 결과에서 도출되는 결론을 추가합니다.

하나로 이어지는 등호 열이 필요하다면 첫 번째 예제로 돌아가세요. aligned 그룹은 같은 수식 안에 있다는 이유만으로 정렬 지점을 공유할 수 없습니다.

일반적인 배치 문제를 어떻게 진단하나요?

바깥에서 안쪽 순서로 살펴보세요. 번호가 매겨진 디스플레이를 확인하고, 그다음 행을 만드는 구조, 마지막으로 cases 블록을 확인하세요. 간격을 조정하기 전에 다음 순서로 진단하세요.

  • 아래쪽 단계가 cases 블록 옆에 표시됨: \end{cases} 바로 뒤에 바깥쪽 \\이 있는지 확인하세요.
  • 이어지는 행이 중괄호 아래에 표시됨: 해당 행 앞에 \end{cases}가 있는지 확인하세요.
  • 위쪽과 아래쪽 등호가 서로 맞지 않음: 등호가 서로 다른 aligned 그룹에 속하는지 확인하세요. 정렬을 공유하려면 바깥쪽 aligned 하나를 사용하세요.
  • 문서에서 잘못된 중첩을 보고함: equation 안에 align이 있는지 확인하세요. 그 위치에서는 하위 aligned 환경을 사용하세요.
  • 분수가 너무 작아 보임: dcases을 고려하고 mathtools을 불러오세요.

중첩 진단의 근거는 잘못 중첩된 수식 구조에 대한 패키지의 복구 동작입니다. 이 경우 aligned로 대체됩니다. amsmath 패키지 문서를 참조하세요. 분수 대안은 mathtools cases 문서를 따릅니다.

cases 블록 뒤에 약간의 간격을 더하려면 바깥 행의 끝을 \end{cases} \\[4pt]으로 바꾸세요. 제시한 간격은 시작점으로 보여 주는 예시입니다. 또한 수학 환경 안에 빈 줄을 넣지 말고, 마지막 행 끝에는 행 종료용 \\를 생략하세요. 이러한 관례는 amsmath 사용자 가이드의 3.1절과 3.9절에 설명되어 있습니다.

페이지 나눔에는 상당한 제약이 있습니다. aligned과 gathered은 나눌 수 없는 구조를 이루므로 \allowdisplaybreaks은 이 구조를 페이지 사이에서 분할하지 않습니다. 유도 과정이 유난히 길다면 이 명령으로 중첩된 배치를 나누려 하지 말고 디스플레이 구조를 다시 구성하세요. 이 제약은 페이지 나눔에 관한 amsmath 안내에 설명되어 있습니다.

일반적인 짧은 유도 과정에는 equation 하나, aligned 하나, 그리고 중첩된 cases 행 하나로 시작하세요. cases 블록 뒤에 바깥쪽 줄바꿈을 두고, 모든 경우의 조건을 확인하세요. 가로 정렬이나 수학적 크기를 다르게 해야 할 때만 다른 구조로 바꾸세요.

출처