개별 LaTeX 항 아래에 짧은 화살표와 설명 텍스트를 배치하려면 \underset와 amsmath의 두 행 \substack를 함께 사용하세요. 이 안내서에는 Mac 데스크톱 작업 흐름에 맞춘 완전한 문서와, 복잡한 수식에서 간격을 조정하는 방법이 담겨 있습니다.
amsmath로 주석 만들기
기본 배치는 세 단계로 구성됩니다. 대수 항, 그 아래를 향하는 위쪽 화살표, 화살표 아래의 짧은 레이블입니다. 화살표는 설명하는 항을 가리킵니다. amsmath 안내서는 밑에 내용을 배치하는 \underset과 여러 줄을 쌓는 \substack를 설명합니다. 이들을 결합하면 여기서 사용하는 주석이 만들어집니다. amsmath 패키지 사용자 안내서
LaTeX 설치가 제대로 작동하지 않는 Mac의 경우, LaTeX Project는 TeX 시스템과 문서 편집기를 포함하는 MacTeX를 권장합니다. 이미 LaTeX 문서를 문제없이 컴파일하고 있다면 해당 설치 환경을 사용하세요. LaTeX 설치하기
다음 완전한 문서를 LaTeX 편집기에서 annotations.tex로 저장하세요. pdfLaTeX로 컴파일한 뒤 결과 PDF를 확인하세요. 모든 레이블과 수식은 예시입니다.
\documentclass{article}
\usepackage{amsmath}
% First argument: mathematical term.
% Second argument: short text label.
\newcommand{\termnote}[2]{%
\underset{\substack{\uparrow\\\text{#2}}}{#1}%
}
\begin{document}
\[
F(x)=
\termnote{ax^2}{quadratic}
+\termnote{bx}{linear}
+\termnote{c}{constant}.
\]
\end{document}
이 예시는 ax^2, bx, c 각각에 별도의 주석을 답니다. 더하기 기호는 명령 인수 바깥에 있으므로 각 설명의 적용 범위가 명확합니다. 괄호로 묶은 수식 전체에 주석을 달려면 그 묶음을 첫 번째 인수로 전달하세요.
\termnote라는 이름은 이 문서에서 정의한 사용자 지정 명령이며, 패키지에 내장된 명령이 아닙니다. 이 정의는 문서화된 구성 요소를 조합합니다. \text 명령은 수학 모드 안에서 일반 텍스트를 표시하고 주변 수학 스타일에 맞춰 크기를 조정합니다. amstext 패키지
인수 순서 이해하기
\termnote{bx}{linear}는 “항 bx에 레이블 linear을 달아라”라고 읽으면 됩니다. 정의 안에서 \underset은 밑에 놓일 내용을 먼저 받고, 기준이 되는 항을 두 번째로 받습니다. \\는 화살표 행과 레이블 행을 구분합니다.
한 번만 주석을 달 경우에는 다음 수학 모드 조각이 해당 명령 호출과 같습니다. 위의 완전한 문서에서 수식 표시 구분자 안에 넣으세요.
\underset{\substack{\uparrow\\\text{linear}}}{bx}
문서 전체에서 화살표 방향을 일관되게 유지하세요. 위쪽 화살표는 설명이 그 위의 항을 가리킨다는 뜻입니다. 수식에서 설명으로 읽히도록 하려면 명령 정의에서 \uparrow을 \downarrow로 바꾸세요.
설명에 맞는 레이아웃 선택하기
패키지를 추가하기 전에 화살표가 무엇을 연결해야 하는지 정하세요. 한 항을 가리키는 주석, 수식 아래로 길게 뻗는 화살표, 등식의 행 사이 변환을 설명하는 화살표에는 각각 다른 구성이 필요합니다.
| 원하는 결과 | 적합한 구성 | 들어갈 위치 |
|---|---|---|
| 한 항 아래의 짧은 세로 화살표와 텍스트 | \underset, \substack, \text의 사용자 지정 조합 |
수학식 안 |
| 수식 아래의 가로 화살표 | amsmath의 \underrightarrow, \underleftarrow 또는 \underleftrightarrow |
화살표를 붙일 수식 주변 |
| 화살표 축 위나 아래에 텍스트가 있는 가로 화살표 | amsmath의 \xrightarrow 또는 \xleftarrow |
수학 객체 사이 |
| 연속된 등식 행 옆의 설명 화살표 | witharrows의 WithArrows 또는 DispWithArrows |
해당 패키지의 등식 정렬 환경 안 |
amsmath 안내서는 밑줄 화살표와 길이 조절형 화살표를 구분합니다. 전자는 수식에 장식을 더하고, 후자는 화살표에 붙는 레이블을 수용합니다. 어느 쪽도 첫 번째 예시의 세 단계 세로 주석을 자동으로 만들지는 않습니다. amsmath 패키지 사용자 안내서
witharrows 패키지는 WithArrows를 aligned과 비슷한 정렬 구성 요소로, DispWithArrows를 align와 비슷한 디스플레이 환경으로 설명합니다. 주된 레이아웃은 등식 행 오른쪽에 설명 화살표를 배치합니다. 개별 항 바로 아래에 레이블을 달려면 첫 번째 예시를 사용하고, 행 사이의 단계를 설명하려면 witharrows을 선택하세요. 일반 TeX 및 LaTeX용 witharrows 패키지
충돌을 피하면서 레이블 너비 조절하기
첫 번째 문서로 시작해 간격을 확인한 다음 조정하세요. constant 같은 레이블은 해당 항인 c보다 훨씬 넓을 수 있습니다. 이 추가 너비 때문에 짧은 수식이 벌어진 것처럼 보일 수 있지만, 설명을 위한 공간도 확보됩니다.
항 사이의 간격을 촘촘하게 유지해야 할 때 mathtools은 \mathclap을 제공합니다. 내용물을 너비가 0으로 처리되는 상자 안에 가운데 정렬합니다. 이 패키지는 amsmath을 불러오므로 수정한 문서에는 \usepackage{mathtools}만 필요합니다. mathtools 패키지, 2절 및 3.1.1절
비교를 위한 두 번째 완전한 문서는 다음과 같습니다. 레이블 너비만 감추며, 화살표는 주석 너비에 포함되어 측정됩니다.
\documentclass{article}
\usepackage{mathtools}
\newcommand{\compacttermnote}[2]{%
\underset{%
\substack{\uparrow\\\mathclap{\text{#2}}}%
}{#1}%
}
\begin{document}
\[
F(x)=
\compacttermnote{ax^2}{quadratic}
\quad+\quad
\compacttermnote{bx}{linear}
\quad+\quad
\compacttermnote{c}{constant}.
\]
\end{document}
너비가 0으로 처리된다고 해서 텍스트가 보이지 않는 것은 아닙니다. 레이블은 중심을 기준으로 양쪽으로 계속 뻗습니다. 따라서 대수식이 줄 안에 여유 있게 들어가더라도 이웃한 레이블이 겹칠 수 있습니다. 이 예시 레이아웃의 명시적 \quad 간격은 레이블 사이에 여유를 더합니다. 실제 수식을 확인한 후 조정하세요.
다음 순서로 결정하세요. 먼저 레이블을 짧게 줄이고, 일반 버전과 간결한 버전을 비교한 뒤, 필요한 곳에 의도적으로 간격을 더하세요. 설명에 여전히 문장이 필요하다면 그 문장은 주변 본문으로 옮기고 항 아래에는 짧은 식별자만 남기세요. 그러면 보통 크기로 읽을 때도 주석이 유용합니다.
주석이 달린 수식을 올바른 환경에 넣기
번호가 없는 수식 하나에는 위에 보인 것처럼 \[ ... \]을 사용하세요. 여러 행을 정렬하려면 문서 본문에서 align*을 사용하세요. aligned 환경은 바깥쪽 수학 환경 안에 넣어야 합니다. 이러한 경계는 amsmath 안내서에 설명되어 있습니다. amsmath 패키지 사용자 안내서, 3절
다음은 첫 번째 문서에 넣을 대체 수식 조각입니다. 기존 \termnote 정의를 사용합니다. 여는 구분자와 닫는 구분자를 포함해 기존 수식 전체를 바꾸세요.
\begin{align*}
F(x) &= ax^2+bx+c \\
&= \termnote{ax^2}{quadratic}
+\termnote{bx}{linear}
+\termnote{c}{constant}.
\end{align*}
주석이 달린 행을 다음 문단이나 수식과 함께 확인하세요. 레이블은 수학 기준선 아래로 공간을 더 차지하므로, 따로 볼 때 균형이 맞는 레이아웃도 긴 유도 과정에서는 답답해 보일 수 있습니다. 여러 항을 설명해야 한다면 디스플레이 수식을 사용하세요.
흔한 문제 진단하기
- 사용자 지정 명령을 정의하지 않았다는 오류:
\begin{document}보다 먼저\newcommand정의를 넣으세요. - 패키지 명령을 정의하지 않았다는 오류: 해당 패키지를 불러왔는지 확인하세요. 간결한 예시에서
\mathclap을 사용하려면mathtools이 필요합니다. - 잘못된 내용에 주석이 붙음: 첫 번째 인수 주변의 중괄호를 확인하세요. 계수와 지수를 포함하려면
\termnote{ax^2}{quadratic}를 사용하세요. - 레이블이 겹침: 일반 너비 버전으로 되돌리고 문구를 줄이거나 주석이 붙은 항 사이의 간격을 늘리세요.
- 정렬 중첩 오류가 발생함: 다른 디스플레이 안에
align*을 넣지 말고 위에 나온 완전한 환경 구성을 사용하세요.
이러한 일반 대수 항에는 항을 기준으로 유지하고 아래에 설명을 붙이는 명령을 사용하면 됩니다. amsmath 구현은 기준 항이 이항 연산자나 관계 연산자로 분류된 경우 그 분류도 유지하지만, 연산자에 주석을 달면 간격을 추가로 고려해야 합니다. 먼저 항 자체에 주석을 다세요. amsmath 패키지, 12절
예시는 문서에 나온 명령을 기준으로 확인했지만, 조사 환경에서는 컴파일하지 않았습니다. 더 큰 원고에 명령을 넣기 전에 Mac 설치 환경에서 문서 전체를 컴파일하세요.
일반 너비 버전을 시작점으로 유지하세요. 각 화살표가 해당 항을 명확히 가리키고 레이블을 읽을 수 있게 되면, 눈에 보이는 텍스트를 둘 공간이 충분한 경우에만 간결한 변형을 사용하세요.
출처
- LaTeX 설치하기 — LaTeX Project.
- amsmath 패키지 사용자 안내서 — American Mathematical Society 및 LaTeX Project.
- amstext 패키지 — LaTeX Project, CTAN 제공.
- mathtools 패키지 — Morten Høgholm, Lars Madsen 및 LaTeX3 Project, CTAN 제공.
- 일반 TeX 및 LaTeX용 witharrows 패키지 — F. Pantigny, CTAN 제공.
- amsmath 패키지 — LaTeX Project, CTAN 제공.