선형대수 한 학기, 미분방정식 한 학기 — 그 사이 등장하는 수식의 절반이 행렬과 조건부 정의입니다. Word 의 수식 편집기로 3×3 행렬을 그리다 보면 괄호와 줄 간격이 매번 어긋나고, Google Docs 는 행렬 셀이 추가될 때마다 손이 갑니다. LaTeX 에서는 이 두 패턴이 pmatrix 와 cases 두 환경으로 깔끔하게 정리됩니다.
이전 글 #3 에서 그리스 문자와 수학 기호를 정리했다면, 이번 글에서는 그 기호들이 가장 많이 들어가는 자리 — 행렬 안과 조건부 정의의 오른쪽 — 의 환경 네 가지를 한 번에 짚습니다. 핵심은 괄호 모양은 환경 이름의 첫 글자, 셀 사이는 &, 행 사이는 \\ 두 규칙입니다.
1. pmatrix — 가장 흔한 소괄호 행렬
행렬은 matrix 계열 환경 안에 적습니다. 가장 자주 쓰는 것은 소괄호 ( ) 로 감싸는 pmatrix 입니다 (p 는 parenthesis).
1
2
3
4
5
6
7
\begin{equation}
A = \begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{pmatrix}
\end{equation}
출력:
\[A = \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} \tag{1}\]규칙은 두 줄로 요약됩니다.
- 열 구분자는
&— 한 행 안에서 셀을 나눕니다. - 행 구분자는
\\— 행을 다음 줄로 넘깁니다.
마지막 행 뒤에 \\ 를 붙이는 것은 선택입니다. 붙이면 살짝 아래쪽 여백이 생기는데, 행렬 아래에 글이 바로 이어질 때는 빼는 편이 깔끔합니다.
pmatrix 는 amsmath 패키지가 제공합니다. 프리앰블에 다음 한 줄이 들어가 있어야 합니다 (equation 환경을 쓰고 있다면 이미 있을 가능성이 높습니다).
1
\usepackage{amsmath}
1.1 첨자가 두 자리 이상이면 중괄호
행렬 안에서 가장 자주 깨지는 부분이 첨자입니다. 두 글자 이상의 아래첨자는 반드시 중괄호로 묶어야 합니다.
1
2
3
4
5
% 틀린 예 — a_1 과 두 변수 1 의 곱처럼 처리됩니다
a_11
% 올바른 예
a_{11}
이 규칙은 #2 에서 정리한 위·아래첨자 규칙 과 동일합니다. 행렬 셀이 늘어날수록 첨자 실수가 누적되므로 처음 적을 때부터 중괄호 습관을 들이는 편이 안전합니다.
2. bmatrix·Bmatrix — 괄호 모양만 다른 동기 환경
p 자리에 다른 글자를 넣으면 괄호 모양이 바뀝니다. 내부 문법 (& 열 구분, \\ 행 구분) 은 완전히 동일합니다.
| 환경 | 괄호 | 자주 쓰이는 곳 |
|---|---|---|
pmatrix | ( ) | 일반 행렬 (가장 흔함) |
bmatrix | [ ] | 대괄호 표기를 쓰는 교재·논문 |
Bmatrix | { } | 중괄호 — 거의 안 씀 |
matrix | 괄호 없음 | 정렬용 |
1
2
3
4
5
6
7
\begin{equation}
B = \begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{bmatrix}
\end{equation}
출력:
\[B = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \tag{2}\]pmatrix 와 bmatrix 중 어느 쪽을 쓸지는 소속 분야·학과의 관례 에 맞춥니다. 통계·기계학습은 대체로 bmatrix, 순수수학과 물리는 pmatrix 가 우세합니다. 한 논문 안에서 두 가지를 섞지만 않으면 됩니다.
\left( \begin{matrix} ... \end{matrix} \right)같이 괄호를 따로 감싸 수동으로 그릴 수도 있지만 권장하지 않습니다.pmatrix는 괄호 크기를 행렬 높이에 맞춰 자동 조정하고 셀 간격도 정돈해 줍니다. 직접 그리면 그 모든 보정을 손으로 해야 합니다.
3. vmatrix·Vmatrix — 행렬식과 노름
세로 막대 | | 와 이중 세로 막대 ‖ ‖ 는 의미가 다릅니다.
vmatrix— 단일 세로 막대| |. 행렬식 (determinant) 표기.Vmatrix— 이중 세로 막대‖ ‖. 노름 (norm) 표기.
3.1 행렬식 — vmatrix
1
2
3
4
5
6
\begin{equation}
\det(A) = \begin{vmatrix}
a & b \\
c & d
\end{vmatrix} = ad - bc
\end{equation}
출력:
\[\det(A) = \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc \tag{3}\]\det 명령어와 vmatrix 의 세로 막대는 둘 다 행렬식을 표현하지만 자리가 다릅니다. \det(A) 는 행렬 이름만 부를 때, vmatrix 는 성분을 직접 펼쳐서 보일 때 씁니다. 위 예처럼 두 표기를 등호로 연결하면 정의와 계산식을 한 줄에 보일 수 있습니다.
3.2 노름 — Vmatrix
1
2
3
4
5
6
\begin{equation}
\|\mathbf{x}\|_2 = \begin{Vmatrix}
x_1 \\ x_2 \\ x_3
\end{Vmatrix}_2
= \sqrt{x_1^2 + x_2^2 + x_3^2}
\end{equation}
Vmatrix 환경 자체에는 아래첨자가 없으니 노름의 차수 (예: _2 의 L2 노름) 는 환경 뒤에 적습니다. 통계·딥러닝 코드에 자주 등장하는 \|x\|_2 패턴입니다.
본문 인라인에서는 환경 대신 명령어 \|...\| 로 적는 경우가 더 흔합니다.
1
손실 함수는 $\|y - \hat{y}\|_2^2$ 의 형태입니다.
\| 은 이중 세로 막대 — 키보드의 파이프 | 한 개와는 다릅니다.
4. cases — 조건부 정의
함수의 조건부 정의 — “x 가 양수일 때 …, 음수일 때 …” — 는 cases 환경으로 적습니다. 행렬과 문법이 거의 같습니다.
1
2
3
4
5
6
\begin{equation}
f(x) = \begin{cases}
x^2 & \text{if } x \geq 0 \\
-x & \text{if } x < 0
\end{cases}
\end{equation}
출력:
\[f(x) = \begin{cases} x^2 & \text{if } x \geq 0 \\ -x & \text{if } x < 0 \end{cases} \tag{4}\]cases 의 특징은 왼쪽에만 중괄호 { 가 붙는다는 것 입니다. 오른쪽은 비어 있어 조건 텍스트가 그대로 흘러나가게 합니다. 행렬과 동일하게 & 가 열 구분자, \\ 가 행 구분자입니다 — 첫 열은 식, 두 번째 열은 조건입니다.
4.1 조건문에 한글·영문 텍스트 — text
조건 부분에 \text{} 를 쓰는 이유는 수식 환경 안에서 일반 텍스트가 이탤릭으로 잡히는 것을 막기 위해서입니다.
1
2
3
4
5
6
7
8
9
10
11
% 틀린 예 — if 가 i·f 두 변수의 곱처럼 보입니다
\begin{cases}
x^2 & if x \geq 0 \\
-x & if x < 0
\end{cases}
% 올바른 예
\begin{cases}
x^2 & \text{if } x \geq 0 \\
-x & \text{if } x < 0
\end{cases}
\text{if } 끝의 공백 한 칸 도 잊지 마세요. 수식 환경 안에서는 일반 공백이 무시되므로, 조건 텍스트 뒤에 이어지는 수식 (x \geq 0) 과 한 칸 띄려면 \text{} 안쪽에 공백을 박아두는 것이 깔끔합니다. \text{} 는 amsmath 가 제공합니다.
4.2 한국어 조건도 가능
조건 텍스트가 한국어여도 동일합니다.
1
2
3
4
\begin{cases}
x^2 & x \geq 0 \text{ 일 때} \\
-x & x < 0 \text{ 일 때}
\end{cases}
조사·어미는 \text{} 안에 넣고, 수식 변수는 바깥에 둡니다. 이렇게 분리하면 변수는 수식 스타일 (이탤릭) 로, 조사는 본문 스타일 (직립) 로 렌더링됩니다.
5. 자주 하는 실수 세 가지
5.1 열 구분자 누락
열 구분자 & 를 빼면 셀이 합쳐져 한 칸으로 출력됩니다. 컴파일 오류가 안 나서 발견이 어렵습니다.
1
2
3
4
5
6
7
8
9
10
11
% 틀린 예 — 첫 행이 한 셀로 처리됨
\begin{pmatrix}
a_{11} a_{12} \\
a_{21} & a_{22}
\end{pmatrix}
% 올바른 예
\begin{pmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{pmatrix}
5.2 행과 열의 개수가 들쭉날쭉
각 행의 & 개수는 동일해야 합니다. 한 행에서 셀이 모자라면 LaTeX 가 알아서 빈 셀을 채우지만, 보통은 컴파일 경고 (Underfull \hbox) 가 떠서 알아챌 수 있습니다. 일관성 있게 적는 것이 가장 안전합니다.
5.3 마지막 행 뒤 행 구분자의 미묘한 차이
1
2
3
4
5
% 마지막 \\ 있음 — 행렬 아래 여백이 살짝 더 큼
\begin{pmatrix} a & b \\ c & d \\ \end{pmatrix}
% 마지막 \\ 없음 — 본문이 바로 이어질 때 깔끔
\begin{pmatrix} a & b \\ c & d \end{pmatrix}
수식이 본문 한가운데에 들어갈 때는 마지막 \\ 를 빼는 쪽이 좋고, 행렬이 독립적으로 큰 박스처럼 자리할 때는 붙여도 무방합니다.
정리 — 환경 다섯 가지를 한 표에
| 환경 | 괄호 | 의미 | 자주 쓰이는 곳 |
|---|---|---|---|
pmatrix | ( ) | 일반 행렬 | 선형대수·물리 |
bmatrix | [ ] | 일반 행렬 (대괄호 관례) | 통계·기계학습 |
vmatrix | \| \| | 행렬식 | 2×2·3×3 직접 계산 |
Vmatrix | ‖ ‖ | 노름 | 통계·딥러닝 손실 함수 |
cases | { (좌만) | 조건부 정의 | 조각별 함수 |
다섯 가지 모두 내부 문법은 같습니다.
- 열 구분:
& - 행 구분:
\\ - 첨자 두 자리 이상: 중괄호
{}필수 - 조건 텍스트:
\text{}로 감싸기 (amsmath필요)
이 네 규칙만 손에 익히면, Word 에서 한 행씩 수동으로 그리던 행렬도, Google Docs 에서 못 그렸던 조건부 정의도 모두 LaTeX 코드 몇 줄로 정돈됩니다.
다음 글에서는 같은 amsmath 가 제공하는 또 하나의 핵심 환경 — 여러 줄 수식을 등호 기준으로 정렬하는 align — 을 정리합니다. 행렬 안의 & 와 align 의 & 는 의미가 다르다는 점이 미리 알아둘 만한 포인트입니다.
이전 글: #3 LaTeX 그리스 문자와 수학 기호 완전 정복 다음 글: #5 LaTeX align 환경으로 수식 정렬하기
Google Docs / Word 의 수식을 한 번에 깔끔하게 — LaTeXFlow Web 바로 가기 (sign-in 없이 즉시)