LaTeX 문서의 뼈대 — 빈 파일에서 논문 구조까지 한 번만 이해하면 끝
포스트
취소

LaTeX 문서의 뼈대 — 빈 파일에서 논문 구조까지 한 번만 이해하면 끝

LaTeX 를 처음 열면 대개 남의 템플릿을 받아 그 위에 글을 씁니다. 컴파일은 되는데, 어느 줄이 설정이고 어느 줄이 내용인지, 왜 어떤 명령은 위쪽에만 있고 어떤 건 아래쪽에만 있는지는 흐릿한 채로 지나갑니다. 그러다 줄 하나를 잘못 옮기면 Missing \begin{document} 같은 오류가 나고, 원인을 모른 채 이것저것 되돌려 봅니다.

그런데 이 구조는 한 번만 이해하면 그다음부터는 다시 볼 일이 없는 종류의 것입니다. 문서가 논문이든 보고서든 책이든, 모든 LaTeX 파일은 같은 뼈대를 공유하기 때문입니다. 이 글은 그 뼈대를 한 번에 정리합니다. 아직 Overleaf 를 켜 본 적이 없다면 Overleaf 10분 만에 시작하기 로 실행 환경을 먼저 만들고 오는 편이 좋습니다. 여기서는 실행이 아니라 구조를 다룹니다.

1. 두 영역 — 프리앰블과 본문

모든 LaTeX 문서는 두 부분으로 나뉩니다. 이것 하나가 이 글에서 가장 중요합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
% ── 프리앰블 (Preamble) ──────────────
\documentclass{article}

\usepackage{amsmath}
\usepackage{graphicx}

\title{문서 제목}
\author{저자 이름}
\date{\today}

% ── 본문 (Body) ─────────────────────
\begin{document}

\maketitle

여기에 실제 내용을 씁니다.

\end{document}

프리앰블\documentclass{} 부터 \begin{document} 직전까지입니다. 문서 전체에 걸친 설정을 두는 곳입니다 — 어떤 종류의 문서인지, 어떤 패키지를 불러올지, 제목·저자는 무엇인지. 독자가 보게 될 글자는 여기에 하나도 없습니다.

본문\begin{document}\end{document} 사이입니다. 독자가 보게 될 모든 것 — 텍스트·수식·표·그림 — 이 여기에 들어갑니다.

이 구분이 낯설다면 HTML 을 떠올리면 됩니다. <head> 에 메타데이터와 스타일을 넣고 <body> 에 실제 내용을 넣듯, LaTeX 는 프리앰블에 설정을, 본문에 내용을 둡니다. 역할이 정확히 대응합니다.

경계가 왜 중요한가

이 경계는 미관 문제가 아니라 컴파일러가 실제로 지키는 규칙입니다. 프리앰블은 선언만 허용되는 구간입니다. 공백과 주석을 뺀 글자가 하나라도 \begin{document} 위에 나타나면, 컴파일러는 “본문이 시작됐는데 아직 문서를 열지 않았다” 고 판단하고 멈춥니다. 이것이 Missing \begin{document} 오류의 정체입니다 — 제목 메모를 프리앰블에 그냥 적어 뒀거나, \usepackage 줄 뒤에 오타 문자가 붙었을 때 나옵니다. 이 오류를 로그에서 확인하고 고치는 자세한 흐름은 LaTeX 오류 메시지 해결 사전 2편 의 1부에 정리해 두었습니다.

거꾸로, 패키지 선언(\usepackage)을 본문 안에 쓰면 이것도 오류입니다. 패키지는 문서가 열리기 전에 모두 준비돼 있어야 하기 때문입니다. 설정은 위, 내용은 아래 — 이 한 줄만 지키면 대부분의 구조 오류가 사라집니다.

% 로 시작하는 줄은 주석이라 컴파일 시 무시됩니다. 설명을 달거나 한 줄을 잠시 꺼 둘 때 씁니다.

2. 문서 클래스 — article, report, book 중 무엇을 고를까

프리앰블의 첫 줄은 언제나 \documentclass{} 입니다. 이 한 줄이 문서의 전체 레이아웃과, 쓸 수 있는 섹션 명령의 종류까지 결정합니다. 자주 쓰는 세 가지만 알면 충분합니다.

클래스언제최상위 섹션특징
article논문·과제·짧은 보고서\section제목·목차가 간결. 대부분의 학술 논문
report졸업논문·기술 보고서\chapter챕터가 새 페이지에서 시작, 제목·목차가 별도 페이지
book단행본\part\chapter홀·짝 페이지 레이아웃, Part 단위 지원

핵심 갈림길은 \chapter 가 필요한가 입니다. 문서가 “장(章)” 으로 나뉠 만큼 길면 reportbook, 그렇지 않으면 article 입니다. article 에는 \chapter 자체가 없어서, article 로 시작해 놓고 \chapter 를 쓰면 Undefined control sequence 가 납니다. 클래스를 먼저 정하는 이유가 이것입니다 — 클래스가 섹션 명령의 목록을 정하기 때문입니다.

article 의 섹션 계층은 \section\subsection\subsubsection, reportbook 은 그 위에 \chapter 가 얹힙니다.

옵션 붙이기

클래스 이름 앞의 대괄호에 옵션을 넣습니다.

1
\documentclass[12pt, a4paper, twocolumn]{article}
  • 12pt — 기본 글자 크기 (기본값 10pt, 11pt 도 가능)
  • a4paper — A4 용지 (기본값은 US Letter 라, 한국에서 쓰면 거의 항상 지정)
  • twocolumn — 2단 편집
  • twoside — 양면 인쇄용 여백

a4paper 는 특히 기억해 둘 값입니다. 기본값이 US Letter 라, 지정하지 않으면 국내 규격과 미묘하게 어긋난 여백으로 조판됩니다.

학술지에 낼 때

학회나 저널에 투고할 때는 클래스 자체가 그쪽에서 제공하는 스타일 파일로 바뀝니다.

1
2
3
\documentclass{IEEEtran}              % IEEE 논문
\documentclass{acmart}                % ACM 논문
\documentclass[preprint]{elsarticle}  % Elsevier 논문

이때는 여백·글자 크기·저자 표기 형식이 스타일 파일에 이미 정해져 있으므로, geometry 로 여백을 직접 건드리는 등의 설정은 오히려 투고 규정을 어기게 됩니다. 스타일 파일을 받았다면 그 규칙을 따르는 게 원칙입니다.

3. 패키지 — 필요한 기능만 불러오기

LaTeX 의 기본 기능은 의도적으로 최소한입니다. 필요한 기능은 패키지로 그때그때 불러옵니다. 선언은 프리앰블에서 \usepackage{} 로 합니다.

1
2
3
4
5
\usepackage{amsmath}       % 고급 수식 환경 (align, cases 등)
\usepackage{graphicx}      % 그림 삽입 (\includegraphics)
\usepackage{hyperref}      % 클릭 가능한 링크·참조
\usepackage[margin=2.5cm]{geometry}   % 여백 2.5cm
\usepackage{kotex}         % 한국어

Overleaf 는 수천 개의 패키지를 내장하고 있어, \usepackage{} 만 선언하면 자동으로 로드됩니다. 별도 설치가 필요 없습니다. 옵션이 있으면 패키지 이름 앞 대괄호에 넣습니다 — \usepackage[margin=2.5cm]{geometry} 처럼.

처음에는 아래 정도를 프리앰블에 두고 시작하면 대부분의 문서를 씁니다.

패키지역할
amsmath수식 환경 확장 (align, cases)
amssymb수학 기호 추가 (\mathbb, \mathcal)
graphicx그림 삽입
hyperref링크·북마크·참조
geometry여백·용지 크기 조정
kotex한국어 폰트·줄바꿈
booktabs학술지 스타일 표

패키지 각각을 언제 어떻게 쓰는지는 별도 주제라 여기서는 목록만 둡니다. 어떤 패키지를 어떤 순서로 불러야 하는지 — 특히 hyperref 는 왜 대개 맨 마지막에 두는지 — 는 문서 완성도 패키지 글에서 따로 다룹니다.

4. 제목·저자·날짜 — 첫 페이지 만들기

논문 첫 페이지의 제목·저자·날짜는 프리앰블에 선언하고 본문에서 출력합니다. 선언과 출력이 나뉘어 있다는 점이 처음엔 어색한데, 앞의 프리앰블/본문 원칙을 그대로 따른 것입니다 — 정보는 설정이니 위에, 출력 명령은 내용이니 아래에.

1
2
3
4
5
6
7
% 프리앰블
\title{딥러닝을 활용한 한국어 텍스트 분류 연구}
\author{홍길동 \and 김철수}
\date{2026년 4월}

\begin{document}
\maketitle
  • \and — 저자가 여럿일 때 구분합니다.
  • \date{\today} — 컴파일하는 날짜가 자동으로 들어갑니다. 날짜를 비우려면 \date{} 로 빈 인자를 줍니다(그냥 생략하면 오늘 날짜가 나옵니다).
  • \maketitle — 선언해 둔 세 정보를 실제 제목 블록으로 조판합니다. 본문 맨 앞에 한 번 씁니다.

소속·이메일 붙이기

기본 article 에서 소속을 붙일 때는 \thanks{} 를 씁니다. 저자 이름 뒤에 각주처럼 달립니다.

1
2
3
\author{홍길동\thanks{한국대학교 컴퓨터공학과, \texttt{hong@korea.ac.kr}}
        \and
        김철수\thanks{서울대학교 AI 연구소}}

다만 학술지 스타일 파일을 쓸 때는 저자 정보 형식이 그쪽에 이미 정의돼 있어, \thanks 대신 전용 명령을 씁니다. IEEE 라면 이런 식입니다.

1
2
3
4
5
6
\author{
  \IEEEauthorblockN{홍길동}
  \IEEEauthorblockA{컴퓨터공학과\\
  한국대학교\\
  hong@korea.ac.kr}
}

이 명령들(\IEEEauthorblockN 등)은 IEEEtran 클래스가 제공하는 것이라, 다른 클래스에서는 동작하지 않습니다. 저자 표기가 뜻대로 안 나온다면 대개 클래스와 표기 명령이 안 맞은 경우입니다.

초록 넣기

초록은 abstract 환경으로, \maketitle 바로 다음에 씁니다.

1
2
3
4
5
6
7
8
9
10
\begin{document}
\maketitle

\begin{abstract}
본 연구는 딥러닝 모델을 활용하여 한국어 텍스트 분류 성능을 향상시키는
방법을 제안합니다. 실험 결과, 제안 방법이 기존 방법 대비 5.3\% 향상된
정확도를 달성함을 확인하였습니다.
\end{abstract}

\section{서론}

퍼센트 기호가 5.3\% 처럼 백슬래시와 함께 쓰인 데 주의하세요. % 는 LaTeX 에서 주석 기호라, 글자로 쓰려면 \% 로 이스케이프해야 합니다. 초록 다음에 키워드를 넣는 명령은 스타일 파일마다 다르므로, 투고 규정을 확인하는 편이 안전합니다.

5. 전체를 하나로 — 복사해 쓰는 최소 뼈대

지금까지의 조각을 모으면, 한국어 논문 한 편의 출발점으로 그대로 쓸 수 있는 골격이 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
\documentclass[12pt, a4paper]{article}

\usepackage{kotex}          % 한국어
\usepackage{amsmath}        % 수식
\usepackage{graphicx}       % 그림
\usepackage[margin=2.5cm]{geometry}   % 여백
\usepackage{hyperref}       % 링크 (관례상 마지막)

\title{연구 제목}
\author{저자 이름\thanks{소속, \texttt{email@example.com}}}
\date{\today}

\begin{document}
\maketitle

\begin{abstract}
초록을 여기에 씁니다.
\end{abstract}

\section{서론}
본문을 여기서 시작합니다.

\end{document}

이 골격만 있으면 이후 작업은 전부 본문을 채우는 일 입니다 — 문단을 쓰고, 표를 넣고, 그림을 걸고, 참고문헌을 붙이는. 뼈대 자체는 다시 손댈 일이 거의 없습니다.

정리

요소어디에요점
프리앰블\documentclass ~ \begin{document} 직전설정만. 여기에 본문 글자가 있으면 Missing \begin{document}
본문\begin{document} ~ \end{document}독자가 볼 내용만. 여기에 \usepackage 를 쓰면 오류
\documentclass프리앰블 첫 줄article(장 없음) / report·book(\chapter) 갈림
클래스 옵션[12pt, a4paper]한국에서는 a4paper 를 거의 항상 지정
\usepackage프리앰블필요한 기능만. Overleaf 는 자동 로드
\title·\author·\date프리앰블에 선언출력은 본문의 \maketitle
abstract\maketitle 다음환경 하나. 키워드 명령은 투고 규정 확인

문서의 뼈대는 논문이든 보고서든 같습니다. 클래스를 정하고(무엇을 쓸지), 패키지를 불러오고(무슨 기능이 필요한지), 제목 정보를 선언한 뒤(\maketitle), 본문을 채웁니다. 이 순서가 한 번 손에 붙으면, 새 문서를 시작할 때 빈 화면 앞에서 망설이는 일이 없어집니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

LaTeX 오류 메시지 해결 사전 2편 — 환경·참고문헌·그림·한글·레이아웃

LaTeX 표 만들기 — tabular 기본부터 booktabs 전문 표까지