문서 구조, 제목 및 목차

문서를 \section 이나 \chapter 같은 명령으로 나누면 LaTeX 가 제목의 모양, 번호, 목차를 자동으로 맞추어 줍니다. 이 장은 단순히 명령 이름을 외우는 데 그치지 않고, 독자가 길을 잃지 않는 구조를 어떻게 만들지 다룹니다. 제목의 계층, 번호가 붙는 방식과 제어, 부록과 앞/뒤 부분의 전환, 그리고 목차 만드는 방법까지 차례로 봅니다.

제목 계층

제목은 명령 하나로 만듭니다. 예를 들어 \section{Introduction} 이라고 쓰면 클래스가 정한 글꼴과 앞뒤 간격으로 “1 Introduction” 같은 번호 붙은 절 제목이 조판됩니다. 제목에는 계층(level) 이 있으며, 위에서 아래로 \part, \chapter, \section, \subsection, \subsubsection, \paragraph, \subparagraph 의 7단계입니다. 각 단계에는 정수 level 값 이 붙고, 이 값이 아래에서 볼 번호 붙이기와 목차 깊이 제어의 기준이 됩니다. 제목은 글자를 굵게 보이게 하는 장식이 아니라, 독자에게 논리의 현재 위치를 알려 주는 표지입니다.

중요한 주의점이 하나 있습니다. \chapterbookreport 클래스에만 있습니다. article 클래스에는 장이라는 단위가 없으므로, article 에서 최상위 제목은 보통 \section 입니다. \part 는 모든 클래스에서 쓸 수 있지만, article 에서는 level 0이고 book/report 에서는 \chapter 위의 level −1입니다.

명령level 값구분사용 가능한 클래스
\part−1(book/report), 0(article)모든 클래스
\chapter0book / report 만
\section1모든 클래스
\subsection2소절모든 클래스
\subsubsection3하위 소절모든 클래스
\paragraph4단락 제목(본문에 이어 붙음)모든 클래스
\subparagraph5하위 단락 제목(본문에 이어 붙음)모든 클래스

\part 부터 \subsubsection 까지는 독립된 줄의 제목이 되지만, \paragraph\subparagraph 는 성격이 다릅니다. 제목 뒤에 줄바꿈을 넣지 않고 그대로 본문이 이어지는 행내 제목(run-in heading)입니다. 단락 앞에 짧은 작은 제목을 두고 싶을 때 사용합니다.

latex
\documentclass{report}   % \chapter が使える
\begin{document}
\chapter{序論}
\section{背景}
\subsection{先行研究}
\paragraph{要点}ここから本文が続きます。
\end{document}

제목을 지나치게 세분하면 오히려 읽기 어려워집니다. 논문이라면 “장”으로 큰 논점을 나누고, “절”로 독자가 따라갈 절차를 구분하며, “소절”은 보조 설명이 정말 필요할 때만 쓰는 정도에서 시작하면 됩니다. \paragraph 까지 번호를 붙이는 설계는 사양서나 표준 문서에는 유효하지만, 일반 보고서에서는 목차가 무거워지기 쉽습니다.

번호 붙이기 제어

제목 번호는 LaTeX 가 자동으로 붙입니다. 어느 깊이까지 번호를 붙일지는 secnumdepth 카운터가 결정합니다. 이는 “번호를 붙일 최하위 단계의 level 값”을 나타냅니다. 예를 들어 secnumdepth 가 1이면 \section(level 1)까지 번호가 붙고, \subsection(level 2) 이하는 번호 없는 제목이 됩니다. 기본값은 article 에서 3, book/report 에서 2 이며, 변경은 \setcounter{secnumdepth}{3} 처럼 프리앰블에서 합니다(book 에서 subsubsection 까지 번호를 붙이고 싶을 때 흔한 설정입니다).

특정 제목 하나만 번호를 없애고 싶다면 명령의 별표 붙은 형식 을 씁니다. \section*{Acknowledgements} 처럼 * 를 붙이면 그 제목은 번호가 붙지 않고 목차에도 들어가지 않습니다. “서론”, “감사의 글”, “결론”처럼 번호가 어색한 제목에 자주 사용합니다. 번호는 없애되 목차에는 싣고 싶다면 아래에서 설명하는 \addcontentsline 과 함께 씁니다.

또 하나 기억할 것은 선택 인수 입니다. \section[Short title for the TOC]{Long title shown in the body} 라고 쓰면 본문 제목에는 긴 제목이, 목차와 머리글에는 [ ] 안의 짧은 제목이 사용됩니다. 긴 제목을 목차에서 간결하게 보이고 싶을 때 유용합니다.

latex
\setcounter{secnumdepth}{3}        % 小々節まで番号を付ける
\section{結果と考察}                 % 番号付き:例「3 結果と考察」
\section*{謝辞}                      % 番号なし・目次にも出ない
\section[手法]{提案手法の詳細な定式化}  % 目次には「手法」と出る

부록과 앞부분·본문·뒷부분

본문 뒤에 부록을 둘 때는 부록이 시작되는 위치에서 \appendix 를 한 번 씁니다. 이것은 제목을 만드는 명령이 아니라 번호 붙이기를 전환하는 스위치 입니다. 이후의 장·절 번호가 초기화되고 표시가 A, B, C … 같은 영문자로 바뀝니다. \appendix 뒤에는 평소처럼 \chapter\section 으로 부록 제목을 쓰면 됩니다.

book 클래스에는 책을 세 부분으로 나누는 전용 명령이 있습니다. \frontmatter 는 앞부분(서문, 목차 등)을 시작하며, 쪽 번호를 소문자 로마 숫자(i, ii, …)로 하고 장에는 번호를 붙이지 않습니다(장 제목은 목차에 실립니다). \mainmatter 는 본문을 시작하고, 쪽 번호를 아라비아 숫자로 되돌려 1부터 다시 세며 장 번호도 되살립니다. \backmatter 는 뒷부분(참고문헌, 색인 등)을 표시하며, 쪽 번호는 계속 이어 가고 장 번호는 다시 붙이지 않습니다.

latex
\documentclass{book}
\begin{document}
\frontmatter            % i, ii, … 章は番号なし
\tableofcontents
\mainmatter             % 1, 2, … 章を番号付きで
\chapter{序論}
\appendix               % 以降の章は A, B, …
\chapter{記号一覧}
\backmatter             % 参考文献・索引など
\end{document}

목차 만들기

목차는 \tableofcontents 를 두기만 하면 생성됩니다. 원리는 이렇습니다. LaTeX 는 처리 중 각 제목의 정보를 보조 파일 .toc 에 쓰고, 다음 처리에서 그것을 읽어 목차를 조판합니다. 따라서 올바른 목차를 얻으려면 최소 두 번 컴파일해야 합니다(첫 번째 실행에서는 목차가 아직 비어 있거나 오래된 상태입니다). latexmk 같은 빌드 도구는 필요한 횟수만큼 자동으로 반복합니다.

목차에 어느 깊이까지 실을지는 tocdepth 카운터가 정합니다. 의미는 secnumdepth 와 같아서, “목차에 실을 최하위 단계의 level 값”입니다. 예를 들어 \setcounter{tocdepth}{1} 이면 \section(level 1)까지 목차에 나오고, \subsection(level 2) 이하는 생략됩니다. 기본값은 역시 article 에서 3, book/report 에서 2 입니다. 번호 깊이(secnumdepth)와 목차 깊이(tocdepth)는 따로 설정할 수 있다는 점에 주의하세요.

그림 목록과 표 목록도 같은 흐름으로 만들 수 있습니다. \listoffigures 는 그림 목록을, \listoftables 는 표 목록을 만들며, 각각 .lof.lot 보조 파일을 사용합니다(역시 여러 번 컴파일이 필요합니다).

별표 붙은 제목처럼 자동으로 실리지 않는 항목을 수동으로 목차에 추가 하려면 \addcontentsline{ext}{unit}{text} 를 씁니다. 첫 번째 인수 ext 는 대상 파일 확장자(목차는 toc, 그림 목록은 lof, 표 목록은 lot), 두 번째 unit 은 항목 종류(section, chapter, figure 등), 세 번째 text 는 실을 문자열입니다. 행이 아닌 임의의 소재(여백 등)를 끼워 넣고 싶다면 \addtocontents{ext}{text} 를 씁니다.

latex
\tableofcontents
\setcounter{tocdepth}{2}                       % 小節まで目次に載せる

\section*{はじめに}                            % 星付きは自動では載らない
\addcontentsline{toc}{section}{はじめに}        % 手動で目次に追加

\listoffigures                                % 図目次
\addtocontents{lof}{\protect\vspace{2ex}}      % 図目次に空きを差し込む

구조가 깨졌을 때 보는 법

  • 소절 번호가 3.0.1 처럼 보이면 report 또는 book 문서에서 첫 \chapter 앞에 \section 이나 \subsection 이 있지 않은지 확인합니다.
  • 목차가 오래되었거나 비어 있다면 .toc 가 쓰이고 다시 읽히도록 최소 두 번 컴파일합니다. latexmk 는 이를 자동으로 처리합니다.
  • 별표 붙은 제목을 목차에 싣고 싶다면 제목 바로 뒤에 \addcontentsline 을 둡니다. 쪽 번호가 중요하다면 쪽 나눔과의 위치 관계도 확인합니다.
  • 부록 번호가 기대와 다르면 \appendix 는 제목이 아니라 스위치라는 점을 기억하고, 첫 부록 제목 바로 앞에 한 번만 둡니다.