수식의 괄호나 세로줄 안에 키가 큰 분수나 행렬이 들어가면, 보통 크기의 구분 기호는 너무 작아 보입니다. LaTeX에는 두 가지 도구가 있습니다. 내용의 높이에 맞춰 구분 기호를 자동으로 늘리는 \left … \right, 그리고 손으로 네 단계 크기를 고르는 \big \Big \bigg \Bigg입니다. 이 페이지에서는 둘의 사용 구분, 한쪽만 비우는 “보이지 않는 구분 기호”, 늘어나는 중간 구분선 \middle, 그리고 구분 기호 목록을 정리합니다.
\left … \right로 자동 크기 조정
가장 쉬운 방법은 여는 구분 기호 앞에 \left, 닫는 구분 기호 앞에 \right를 두는 것입니다. LaTeX가 내용의 높이를 재고, 구분 기호를 내용을 딱 덮을 만큼 늘립니다. \left 또는 \right 바로 뒤에 쓴 문자가 실제 구분 기호입니다. 소괄호는 ( ), 대괄호는 [ ], 중괄호는(아래 설명처럼) \{ \}, 꺾쇠괄호는 \langle \rangle을 씁니다.
\[
\left( \frac{a^2 + b^2}{c^2} \right)
\qquad
\left[ \sum_{k=1}^{n} \frac{1}{k} \right]
\]첫 번째는 높은 분수를 감싸도록 소괄호가 위아래로 늘어나 분수 높이에 정확히 맞습니다. 그대로 ( \frac{a^2+b^2}{c^2} )라고 쓰면 괄호는 보통 한 글자 높이뿐이라 큰 분수 옆에 작은 괄호가 떠 있는 모양이 됩니다. 두 번째도 마찬가지로 합 기호가 들어간 내용에 맞춰 대괄호가 늘어납니다.
중요한 규칙이 두 가지 있습니다. 첫째, \left와 \right는 반드시 쌍으로 써야 합니다. 하나를 빠뜨리면 컴파일 오류가 납니다. 둘째, 짝이 되는 구분 기호가 같은 종류일 필요는 없습니다. \left( … \right]처럼 소괄호로 열고 대괄호로 닫는 반열린 구간 표기도 가능합니다. \left … \right로 감싼 범위는 하나의 묶음(그룹)이 되며, 그 안의 출력에는 줄바꿈을 넣을 수 없습니다. 긴 수식을 줄바꿈하려면 정렬 환경의 각 줄에서 쌍을 완결해야 합니다.
\left … \right는 편리하지만, 원하는 것보다 약간 큰 구분 기호를 고르는 경향이 있습니다. 또한 각 구분 기호가 inner atom으로 취급되기 때문에 연산자나 관계 기호 주변에서 기대하는 세밀한 간격이 어긋날 수 있습니다. 항상 사용하면 괄호가 지나치게 커 보이거나 여러 줄에서 크기가 맞지 않을 수 있으므로, 아래의 수동 크기와 나누어 씁니다.
보이지 않는 구분 기호(.로 한쪽 비우기)
\left와 \right는 항상 쌍으로 써야 하지만, 때로는 한쪽에만 구분 기호를 표시하고 싶을 수 있습니다. 그럴 때는 비우고 싶은 쪽의 \left 또는 \right 바로 뒤에 마침표 .를 둡니다. .는 “아무것도 그리지 않는 구분 기호”(null delimiter)로 취급되어 쌍 규칙을 만족하면서 그쪽에는 아무것도 표시하지 않습니다.
\[
\left. \frac{dy}{dx} \right|_{x=0}
\qquad
\left. \frac{x^3}{3} \right|_{0}^{1}
\]이는 평가 세로줄(“x=0에서 평가”)을 만드는 대표적인 방법입니다. 왼쪽의 \left.는 아무것도 그리지 않고, 오른쪽의 \right|만 내용 높이에 맞춰 늘어난 세로줄이 되며 오른쪽 아래에 x=0이 붙습니다. 두 번째 예에서는 세로줄이 분수 x^3/3의 높이에 맞춰 늘어나고, 아래에 0, 위에 1이 붙어 정적분 평가에서 익숙한 모양이 됩니다. f(x) \big|_{0}^{1}처럼 수동 크기의 세로줄을 쓰는 방법도 있으며(다음 절), 이쪽은 짝이 되는 \left가 필요 없습니다.
늘어나는 구분선 \middle
집합 조건 제시 표기 { x | condition }처럼 바깥쪽 구분 기호 안쪽에 세로줄 같은 구분선을 두고, 그것도 괄호와 같은 높이까지 늘리고 싶을 때가 있습니다. \left … \right 사이에는 \middle 뒤에 임의의 구분 기호를 원하는 만큼 둘 수 있습니다. \middle|라고 쓰면 바깥 중괄호와 같은 높이로 늘어난 세로줄이 가운데에 들어갑니다.
\[
\left\{\, x \in \mathbb{R} \;\middle|\; x^2 < \frac{1}{2} \,\right\}
\]이 예에서는 바깥 중괄호가 내용(키 큰 분수 포함)에 맞춰 늘어나고, \middle|의 세로줄도 같은 높이까지 늘어나 좌우 조건을 깔끔하게 나눕니다. 그냥 |를 쓰면 세로줄이 한 글자 높이에 머물러 늘어난 중괄호와 비교해 눈에 띄게 작아 보입니다. \middle은 \left/\right와 함께 있을 때만 사용할 수 있으며 단독으로는 쓸 수 없습니다.
수동 크기: \big \Big \bigg \Bigg
\big \Big \bigg \Bigg는 네 단계 중에서 크기를 직접 고르게 해 줍니다. 이 순서대로 커지며, \big(처럼 바로 뒤에 구분 기호를 씁니다. \big은 보통 구분 기호보다 조금 큰 정도라 줄 간격을 넓히지 않고 인라인에서도 사용할 수 있습니다. \Big은 대략 1.5배 높고, \bigg / \Bigg는 더 커서 별행 수식에 더 알맞습니다.
왜 자동 \left … \right 대신 수동 크기를 고를까요? 주된 이유는 세 가지입니다. 첫째, 여러 줄에서 크기를 맞출 수 있음입니다. \left … \right는 각 줄의 내용 높이에 따라 크기가 바뀌므로 쌓인 식에서 괄호 높이가 달라지기 쉽지만, 수동 크기는 모든 줄을 같은 단계로 고정할 수 있습니다. 둘째, 지나치게 큰 괄호를 피할 수 있음입니다. 내용이 조금만 높아도 \left … \right가 한 단계 큰 괄호를 고르는 경우, \big 정도로 억제할 수 있습니다. 셋째는 간격 제어이며, 여기서는 아래의 l/r 형태가 핵심입니다.
\big 같은 그대로의 형태는 구분 기호를 “ordinary atom”으로 조판하므로 앞뒤에 불필요한 간격이 들어갑니다. 이를 여는/닫는 괄호로 올바르게 조판하려면 여는 쪽에는 \bigl, 닫는 쪽에는 \bigr을 사용합니다(l은 left, r은 right이며, 각 크기에 \Bigl/\Bigr, \biggl/\biggr, \Biggl/\Biggr가 있습니다). l/r이 붙은 형태는 여는/닫는 구분 기호로 취급되어 앞 항과의 사이에 불필요한 공백을 넣지 않습니다. 또한 조건제시 표기의 세로줄처럼 가운데에 관계 기호로 둘 때는 \bigm| 같은 m(middle) 형태를 쓰면 양쪽에 관계 기호로서 적절한 간격이 들어갑니다.
\[
\bigl( a \bigr)
\quad
\Bigl( b \Bigr)
\quad
\biggl( c \biggr)
\quad
\Biggl( d \Biggr)
\]
\[
\biggl\{\, x \bigm| x > 0 \,\biggr\}
\]첫 줄은 같은 소괄호가 왼쪽에서 오른쪽으로 단계적으로 커지는 모습을 보여 줍니다(내용 높이와 관계없이 지정한 단계의 높이로 조판됨). 둘째 줄은 \biggl\{ … \biggr\}로 크기를 고정한 중괄호 안에 \bigm| 세로줄을 관계 기호로 둔 조건제시 표기입니다. 수동 크기는 \bigl( \Bigl[ \,\cdots\, \Bigr] \bigr)처럼 중첩 괄호에서 안쪽 쌍을 한 단계 크게 하여 구분하기 쉽게 만드는 데도 적합합니다.
구분 기호 목록
표에는 \left/\right 또는 \big 계열 바로 뒤에 둘 수 있는 주요 구분 기호를 정리했습니다. 소괄호, 대괄호, 슬래시는 키보드에서 직접 입력하지만, { }는 LaTeX 예약 문자이므로 수식 안에서도 구분 기호로 중괄호를 내려면 \{ \}라고 써야 합니다. 단일 세로줄은 |(\vert도 같음), 이중 세로줄은 \|(\Vert도 같음)입니다. 꺾쇠괄호는 반드시 \langle \rangle을 사용하고 키보드의 < >로 대신하지 마세요. < >는 관계 기호(부등호)로 취급되어 앞뒤에 관계 기호용 간격이 들어가므로 괄호처럼 보이지 않습니다.
| 명령 | 출력 | 비고 |
|---|---|---|
( ) | 소괄호 ( ) | 직접 입력. 가장 일반적 |
[ ] | 대괄호 [ ] | 직접 입력. \lbrack \rbrack도 같음 |
\{ \} | 중괄호 { } | { }는 예약 문자. 괄호로는 \{ \}라고 씀 |
\langle \rangle | 꺾쇠괄호 ⟨ ⟩ | 내적이나 브라-켓에 사용. < >와 다름 |
| | 단일 세로줄 | | 절댓값 등. \vert도 같음 |
\| | 이중 세로줄 ‖ | 노름 등. \Vert도 같음 |
\lfloor \rfloor | 바닥 함수 ⌊ ⌋ | 내림(가장 큰 정수) |
\lceil \rceil | 천장 함수 ⌈ ⌉ | 올림(가장 작은 정수) |
\backslash | 역슬래시 \ | 몫집합 등에 사용. /는 짝의 오른쪽 |
\uparrow \downarrow | 위/아래 화살표 ↑ ↓ | 이중선: \Uparrow \Downarrow. \updownarrow도 있음 |
\lgroup \rgroup | 그룹 괄호 ⟮ ⟯ | 굵은 둥근 괄호 모양. 큰 표시용 |
\lmoustache \rmoustache | 콧수염 괄호 ⎰ ⎱ | 큰 중괄호의 위/아래 절반 |
절댓값, 노름과 \DeclarePairedDelimiter
절댓값과 노름에서 단순히 |x| 또는 \|x\|라고 쓰면 LaTeX가 각 |가 여는 쪽인지 닫는 쪽인지 판단하지 못해 간격이 어긋날 수 있습니다. amsmath는 좌우를 구분하는 명령을 제공합니다. 절댓값은 여는 \lvert / 닫는 \rvert, 노름은 여는 \lVert / 닫는 \rVert를 쓰면 여는/닫는 괄호로서 올바른 간격으로 조판됩니다.
그렇다고 매번 \left\lvert … \right\rvert라고 쓰는 것은 번거롭습니다. mathtools package의 \DeclarePairedDelimiter를 쓰면 여는 기호, 닫는 기호, 자동 크기, 수동 크기를 하나의 명령으로 묶을 수 있습니다. 프리앰블에서 정의해 두면 본문에서는 \abs{x}와 \norm{v}라고 쓸 수 있고, 별표가 붙은 \abs*{…} \norm*{…}는 내부에서 \left … \right를 호출해 내용에 맞춰 늘어납니다. 별표 없는 형태는 보통 크기이며, [\big] 같은 선택 인수로 수동 크기도 고를 수 있습니다.
\usepackage{mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
% 本文では:
\[
\abs{x} \le \abs*{\frac{a}{b}}, \qquad \norm*{\frac{v}{2}}
\]여기서 \abs{x}는 보통 크기의 절댓값이고, \abs*{\frac{a}{b}}는 분수 높이에 맞춰 늘어난 세로줄로 분수를 감싼 절댓값입니다. \norm*{…}도 마찬가지로 이중 세로줄이 내용에 맞춰 늘어납니다. 같은 구분 기호를 문서에서 여러 번 쓴다면 이렇게 한 번 정의해 두는 것이 확실하며, 간격과 크기도 일관됩니다. 자세한 내용은 mathtools 페이지를 참고하세요.