방정식 그룹 전체와 개별 방정식을 참조하려면 amsmath을 불러오고, 번호가 매겨진 디스플레이를 subequations로 감싼 다음, 그 래퍼 바로 안쪽에 그룹 레이블을 둡니다. 번호가 매겨진 각 행에 별도의 레이블을 붙인 다음, \eqref로 어느 수준이든 인용합니다. amsmath 사용자 안내서, §3.11.
이 안내서는 Mac에서 LaTeX 문서를 편집하며 “계 (1)”과 “방정식 (1b)” 같은 참조가 필요한 사용자를 위한 것입니다. 예제에서는 추상 대수식을 사용하며, 방정식마다 별도로 번호를 매기는 환경과 여러 줄을 배치하기만 하는 환경을 구분합니다.
그룹 참조와 개별 방정식 참조 만들기
먼저 작동하는 LaTeX 설치 환경을 준비합니다. LaTeX Project는 MacTeX를 LaTeX, 완전한 TeX 시스템, 문서 편집기를 포함하는 Mac 배포판으로 소개합니다. 아래 번호 매기기 기법은 amsmath 패키지에서 가져왔습니다. LaTeX 설치하기; CTAN: amsmath.
LaTeX 편집기에서 다음 전체 문서를 equation-group.tex로 저장합니다. 중요한 위치는 \begin{subequations} 바로 뒤, 안쪽 align가 시작되기 전에 \label{eq:system}을 두는 것입니다. 패키지 안내서는 부모 번호를 가져오기 위한 이 위치를 명시적으로 설명합니다. amsmath 사용자 안내서, §3.11.3.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Consider the system~\eqref{eq:system}:
\begin{subequations}\label{eq:system}
\begin{align}
a+b &= c \label{eq:sum} \\
a-b &= d \label{eq:difference} \\
2a &= c+d \label{eq:combined}
\end{align}
\end{subequations}
The whole group is system~\eqref{eq:system}.
The second relation is equation~\eqref{eq:difference}.
Together, equations~\eqref{eq:sum} and~\eqref{eq:difference}
give equation~\eqref{eq:combined}.
\begin{equation}\label{eq:next}
2b=c-d
\end{equation}
The next equation is~\eqref{eq:next}.
\end{document}
LaTeX가 참조 정보를 기록한 다음 읽을 수 있도록 주 파일을 두 번 컴파일합니다. pdflatex을 사용할 수 있고 작업 디렉터리에 저장한 파일이 있을 때는 터미널에서 다음 명령을 실행합니다. LaTeX가 보조 파일을 사용하므로 첫 실행에서는 참조가 ??로 표시될 수 있습니다. LearnLaTeX: 상호 참조.
pdflatex -halt-on-error equation-group.tex
pdflatex -halt-on-error equation-group.tex
이 독립 문서에서 예상되는 참조 결과는 아래와 같습니다. 이는 문서화된 번호 매기기 동작에 따른 예상이며, 로컬에서 컴파일한 결과를 보고하는 것이 아닙니다. 조사 환경에서는 LaTeX 컴파일러를 사용할 수 없었습니다.
| 참조 명령 | 예상 결과 | 가리키는 대상 |
|---|---|---|
\eqref{eq:system} |
(1) |
그룹 전체 |
\eqref{eq:sum} |
(1a) |
첫 번째 방정식 |
\eqref{eq:difference} |
(1b) |
두 번째 방정식 |
\eqref{eq:combined} |
(1c) |
세 번째 방정식 |
\eqref{eq:next} |
(2) |
그룹 뒤의 방정식 |
구현을 보면 번호의 순서를 알 수 있습니다. subequations에 들어가면 부모 방정식 번호가 증가하고 저장된 다음 하위 카운터가 시작됩니다. 래퍼를 벗어나면 주 카운터는 부모 값으로 복원됩니다. 따라서 부모 (1) 아래에 하위 방정식 세 개가 있으면 그 뒤의 일반 방정식은 (2)이 됩니다. amsmath 패키지, §15.
참조 대상에 맞는 환경 선택하기
배치를 선택하기 전에 독자가 무엇을 인용할 수 있어야 하는지 정합니다. 그룹 전체인지, 각 방정식인지, 여러 줄로 나뉜 하나의 식인지 결정합니다. 이 선택 안내는 패키지 문서의 구분을 적용합니다. amsmath 사용자 안내서, §§3.2–3.7.
| 독자가 원하는 것 | 지원되는 구조 | 번호가 매겨지는 대상 |
|---|---|---|
| 그룹과 정렬된 각 방정식 인용 | subequations로 align 감싸기 |
부모와 번호가 매겨진 행 |
| 따로 가운데 정렬된 방정식 그룹 인용 | subequations로 gather 감싸기 |
부모와 번호가 매겨진 방정식 |
| 산문으로 구분된 관련 디스플레이 인용 | 번호가 매겨진 여러 디스플레이를 하나의 subequations로 감싸기 |
부모와 각 디스플레이 |
| 여러 줄로 된 식 하나 인용 | equation 안에 split 또는 aligned 넣기 |
방정식 번호 하나 |
| 자동 번호 없이 정렬된 행 표시 | align* |
자동 행 번호 없음 |
aligned이 개별 하위 방정식을 만들지 않는 이유
aligned은 바깥쪽 수학 환경 안에서 사용하는 구성 요소입니다. aligned과 함께 equation을 사용하면 바깥쪽 방정식에 번호가 붙지만, 각 행을 별도로 번호가 매겨진 대상으로 만들지는 않습니다. 각 행을 개별적으로 참조하려면 subequations 안에서 align을 선택합니다. 안내서는 이러한 디스플레이 환경과 그 안에서 사용하는 하위 구성 요소를 구분합니다. amsmath 사용자 안내서, §3.7.
유용한 계획 방법은 먼저 참조할 문장을 작성해 보는 것입니다. “계 (1)의 두 번째 방정식”이 필요하다면 첫 번째 예제가 두 참조 대상을 모두 제공합니다. “방정식 (1)의 유도 과정”만 필요하다면 번호가 하나인 여러 줄 디스플레이로 충분할 수 있습니다. 레이블을 추가하기 전에 구조를 선택하면 의도한 참조 대상을 분명히 할 수 있습니다.
별도의 디스플레이를 하나의 그룹으로 유지하기
래퍼 안에는 방정식 사이에 산문을 넣을 수 있습니다. 패키지에 포함된 하위 번호 방정식 예제는 여러 수학 환경을 사용한 그룹 디스플레이와 함께 이 방식도 보여 줍니다. 관련된 마지막 디스플레이 뒤에서 래퍼를 닫습니다. 하위 번호 방정식 예제.
두 번째 전체 문서는 다음과 같습니다. 첫 번째 하위 방정식은 출력상 두 줄을 차지하지만 참조 대상은 하나이며, 두 번째 하위 방정식은 문장 뒤에 별도의 디스플레이로 표시됩니다.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{subequations}\label{eq:identities}
\begin{equation}\label{eq:expansion}
\begin{split}
(a+b)^2 &= a^2+2ab+b^2 \\
&= (a-b)^2+4ab
\end{split}
\end{equation}
A related identity is
\begin{equation}\label{eq:product}
(a+b)(a-b)=a^2-b^2.
\end{equation}
\end{subequations}
The group is~\eqref{eq:identities}.
Its members are~\eqref{eq:expansion} and~\eqref{eq:product}.
\end{document}
이 독립 예제에서는 그룹 참조가 (1)이고, 구성원 참조는 (1a)와 (1b)일 것으로 예상됩니다. split 안의 중간 행에는 독립 번호가 없습니다. 첫 번째 문서와 번호 매기기를 비교하려면 이 예제를 별도 파일로 저장합니다. 패키지에 포함된 예제에서도 여러 줄 식 하나에 하위 번호 하나가 붙습니다. 하위 번호 방정식 예제.
잘못되었거나 해결되지 않은 참조 진단하기
카운터를 바꾸거나 본문에 번호를 직접 입력하기 전에 증상을 확인합니다. 다음 순서에 따라 참조 검색 문제와 선택한 환경이 의도한 참조 대상과 맞지 않는 문제를 구분할 수 있습니다.
- PDF에
??가 표시되면 다시 컴파일합니다. 참조는 이전 실행에서 생성된 보조 정보를 읽어 옵니다. 문제가 계속되면 참조 키의 철자와 레이블을 비교합니다. LearnLaTeX: 상호 참조. - 그룹 참조에 문자가 붙으면 레이블 위치를 확인합니다. 부모 레이블은
\begin{subequations}바로 뒤에 둡니다. 각 하위 레이블은 번호가 매겨진 행에서\\앞에 두고, 마지막 행에서는\end{align}앞에 둡니다. amsmath 사용자 안내서, §3.11.3. - 각 행에 별도의 번호가 없으면 환경을 확인합니다.
equation안의aligned블록은 바깥쪽 참조 대상 하나를 제공합니다. 각 행을 참조해야 한다면 첫 번째 예제의 구조를 사용합니다. amsmath 사용자 안내서, §3.7. - 관련 없는 방정식에 문자 접미사가 붙으면 래퍼의 끝을 확인합니다. 래퍼 안에서 번호가 매겨지는 모든 항목이 하위 번호 순서에 포함됩니다.
\end{subequations}을 의도한 그룹의 실제 끝으로 옮깁니다. 하위 번호 방정식 예제.
예제를 응용할 때는 eq:system, eq:difference처럼 의미가 드러나는 키를 사용합니다. eq: 접두사는 작성자를 위한 명명 규칙입니다. LaTeX는 이 접두사를 사용해 레이블이 어떤 종류의 대상을 가리키는지 판단하지 않습니다. 그 맥락은 레이블의 위치가 정합니다. LearnLaTeX: 상호 참조.
편집 후에도 참조가 유지되는지 확인하기
문서를 처음 컴파일한 뒤, 그룹 앞에 일반 번호 방정식 하나를 넣는 간단한 편집을 해 봅니다. 참조 변경 경고가 사라질 때까지 다시 컴파일한 다음 그룹 참조, 하위 참조 하나, 뒤따르는 방정식을 확인합니다. 첫 번째 예제에서는 각각 (2), (2b), (3)으로 바뀌어야 합니다. 이는 패키지의 카운터 동작에 따라 예상한 예시입니다. amsmath 패키지, §15.
이 편집은 레이블을 사용하는 이유를 확인해 줍니다. 번호가 바뀌어도 참조 문장이 의도한 방정식을 계속 가리켜야 합니다. 부모 레이블은 래퍼의 시작 부분에 두고, 인용할 각 하위 항목에는 번호가 매겨진 참조 대상을 지정합니다. 더 큰 원고에 적용할 때는 완성된 예제를 간단한 비교 문서로 활용합니다.
출처
- amsmath 패키지 사용자 안내서 — American Mathematical Society 및 LaTeX Project.
- amsmath 패키지 — CTAN을 통해 배포되는 LaTeX Project 자료.
- 주 방정식 번호; 하위 번호 방정식; align, gather 및 기타 AMS-LaTeX 환경 테스트 — CTAN을 통해 배포되는 amsmath 패키지 문서.
- 상호 참조 — LearnLaTeX.
- LaTeX 설치하기 — LaTeX Project.
- amsmath — LaTeX용 AMS 수학 기능 — CTAN.