LaTeX는 문서를 명령어로 조판하는 도구입니다. 처음에는 \begin, \section, \label 같은 문법이 낯설지만, 실제로 자주 쓰는 패턴은 생각보다 반복됩니다. LaTeX Project가 설명하듯 LaTeX는 문서의 구조와 표현을 분리해 고품질 조판을 돕는 시스템이며, Overleaf 역시 기본 구조를 익히면 브라우저에서 빠르게 문서를 작성하고 컴파일할 수 있는 학습 자료를 제공합니다.1 2
이 글은 LaTeX를 깊게 이론적으로 설명하기 위한 글이 아닙니다. 문법이 기억나지 않을 때 다시 들어와서 확인하고, 필요한 예제를 복사해 바로 수정할 수 있도록 자주 쓰는 용어와 명령어를 한곳에 정리한 기술 블로그용 기초 노트입니다.
빠르게 찾아보기
아래 표는 이 글에서 다루는 LaTeX 기초 항목을 한 번에 찾기 위한 색인입니다. 원하는 작업이 생기면 왼쪽 열에서 먼저 찾고, 오른쪽 예제를 기준으로 본문을 확인하면 됩니다.
| 하고 싶은 작업 | 먼저 볼 명령어·환경 | 예시 |
|---|---|---|
| 문서 시작하기 | \documentclass, \begin{document} | \documentclass{article} |
| 패키지 불러오기 | \usepackage{} | \usepackage{amsmath} |
| 제목 만들기 | \title, \author, \date, \maketitle | \maketitle |
| 섹션 나누기 | \section, \subsection | \section{Introduction} |
| 굵게·기울임 | \textbf, \textit, \emph | \textbf{bold} |
| 인라인 수식 | $...$ | $x_i^2$ |
| 번호 있는 수식 | equation, \label, \eqref | \begin{equation} |
| 여러 줄 수식 | align | \begin{align} |
| 그림 넣기 | figure, \includegraphics | \includegraphics[width=...] |
| 표 만들기 | table, tabular, booktabs | \toprule |
| 번호 참조 | \label, \ref, \eqref | Figure~\ref{fig:sample} |
| 인용하기 | \cite, BibTeX | \cite{kim2026} |
| 특수문자 쓰기 | \%, \_, \& | 100\% |
1. 최소 문서 구조
LaTeX 문서는 보통 preamble과 document 환경으로 나뉩니다. preamble에는 문서 클래스와 패키지를 선언하고, document 환경에는 실제 본문을 작성합니다.
\documentclass{article}
\begin{document}
Hello, LaTeX.
\end{document}
\documentclass는 문서의 전체 형식을 정합니다. 가장 기본적인 문서는 article로 시작하면 충분합니다. IEEE 형식이 필요할 때는 IEEEtran 같은 별도 클래스를 사용할 수 있지만, 처음 LaTeX 문법을 익힐 때는 article이 가장 단순합니다.
| 문서 클래스 | 용도 | 메모 |
|---|---|---|
article | 짧은 글, 보고서, 논문 초안 | 가장 기본적으로 쓰기 좋음 |
report | 장문 보고서 | chapter 구조 사용 가능 |
book | 책 | 장·절 단위의 긴 문서 |
beamer | 발표 자료 | 슬라이드 제작용 |
IEEEtran | IEEE 양식 문서 | IEEE 템플릿 기반 문서에 사용 |
2. preamble에서 자주 쓰는 패키지
패키지는 LaTeX의 기능을 확장합니다. 수식, 그림, 표, 링크, 참고문헌처럼 자주 쓰는 기능은 패키지로 불러온 뒤 사용합니다. 예를 들어 amsmath는 LaTeX에서 수학식 작성 기능을 확장하는 대표 패키지이고, graphicx는 이미지 삽입, hyperref는 링크와 PDF 메타 정보를 다룰 때 자주 사용됩니다.3 4 5
\documentclass{article}
% 수식
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
% 그림과 표
\usepackage{graphicx}
\usepackage{booktabs}
% 링크
\usepackage{hyperref}
\hypersetup{hidelinks=true}
\begin{document}
...
\end{document}
| 패키지 | 역할 | 자주 쓰는 이유 |
|---|---|---|
amsmath | 수식 환경 확장 | align, gather, split 사용 |
amssymb | 수학 기호 추가 | \mathbb, \therefore 등 |
amsfonts | 수학 폰트 추가 | 집합 기호 표현에 유용 |
graphicx | 이미지 삽입 | \includegraphics 사용 |
booktabs | 깔끔한 표 선 | \toprule, \midrule, \bottomrule 사용 |
hyperref | 링크와 PDF 북마크 | URL, 참조 링크 처리 |
cite | 숫자 인용 정리 | [1]--[3] 같은 인용 압축 |
3. 제목과 기본 메타 정보
문서 제목은 \title, 작성자는 \author, 날짜는 \date로 적습니다. 실제로 제목을 출력하려면 본문에서 \maketitle을 호출해야 합니다.
\documentclass{article}
\title{My First LaTeX Document}
\author{Jonghwan Kim}
\date{\today}
\begin{document}
\maketitle
본문을 여기에 작성합니다.
\end{document}
날짜를 비우고 싶다면 \date{}처럼 작성합니다. \today는 컴파일 시점의 날짜를 자동으로 출력합니다.
4. 섹션과 문단
LaTeX에서 문서 구조는 제목 명령어로 나눕니다. 가장 자주 쓰는 것은 \section, \subsection, \subsubsection입니다.
\section{Introduction}
본문입니다.
\subsection{Background}
하위 주제입니다.
\subsubsection{Notation}
더 작은 단위의 주제입니다.
문단은 빈 줄로 구분합니다. 줄을 바꾸기 위해 매번 \\를 쓰기보다, 문단이 바뀌는 지점에 빈 줄을 넣는 방식이 자연스럽습니다.
| 명령어 | 의미 | 번호 표시 여부 |
|---|---|---|
\section{} | 큰 절 | 표시 |
\subsection{} | 하위 절 | 표시 |
\subsubsection{} | 더 작은 하위 절 | 표시 |
\section*{} | 번호 없는 큰 절 | 표시 안 함 |
\paragraph{} | 짧은 소제목 | 문단형 제목 |
5. 텍스트 서식
본문에서 자주 쓰는 텍스트 서식은 아래 정도만 기억해도 충분합니다.
\textbf{굵은 글씨}
\textit{기울임 글씨}
\emph{강조}
\texttt{monospace}
\underline{밑줄}
| 명령어 | 출력 의미 | 사용 예 |
|---|---|---|
\textbf{} | 굵게 | 핵심 용어 강조 |
\textit{} | 기울임 | 외래어, 변수명 설명 |
\emph{} | 문맥상 강조 | 강조 스타일은 클래스에 따라 달라질 수 있음 |
\texttt{} | 고정폭 글꼴 | 코드, 파일명, 명령어 |
\underline{} | 밑줄 | 일반 문서에서는 과하게 쓰지 않는 편이 좋음 |
6. 특수문자
LaTeX에는 명령어에 쓰이는 특수문자가 있습니다. 본문에 그대로 쓰면 오류가 나거나 의도와 다르게 해석될 수 있으므로, 아래처럼 이스케이프해서 입력합니다.
| 쓰고 싶은 문자 | LaTeX 입력 | 메모 |
|---|---|---|
% | \% | % 뒤는 주석으로 처리됨 |
$ | \$ | 수식 모드 기호 |
& | \& | 표 정렬 문자 |
# | \# | 매크로 인자 기호 |
_ | \_ | 수식 첨자 기호 |
{ | \{ | 그룹 시작 |
} | \} | 그룹 종료 |
\ | \textbackslash{} | 백슬래시 출력 |
정확도는 95\%입니다.
파일명은 model\_v1.py입니다.
A \& B 조건을 비교합니다.
7. 수식 기초
짧은 수식은 문장 안에서 $...$로 작성합니다. 문장과 분리해서 가운데에 배치하려면 equation 환경을 사용합니다.
텍스트 안의 인라인 수식은 $E = mc^2$처럼 작성합니다.
\begin{equation}
E = mc^2
\label{eq:energy}
\end{equation}
| 목적 | 입력 | 메모 |
|---|---|---|
| 인라인 수식 | $x + y$ | 문장 안에 들어감 |
| 번호 있는 수식 | equation | \label과 함께 사용 |
| 번호 없는 수식 | \[ x + y \] | 간단한 표시 수식 |
| 수식 참조 | \eqref{eq:name} | 괄호 포함 번호 참조 |
8. 자주 쓰는 수학 기호
수식은 한 번에 외우기 어렵기 때문에, 자주 쓰는 기호를 표로 모아두고 필요할 때 확인하는 편이 좋습니다.
| 의미 | LaTeX 입력 | 예시 |
|---|---|---|
| 첨자 | x_i | $x_i$ |
| 위첨자 | x^2 | $x^2$ |
| 분수 | \frac{a}{b} | $a/b$ |
| 제곱근 | \sqrt{x} | $\sqrt{x}$ |
| 합 | \sum_{i=1}^{n} | 합 기호 |
| 적분 | \int_a^b | 적분 기호 |
| 극한 | \lim_{n \to \infty} | 극한 |
| 곱 | \prod_{i=1}^{n} | 곱 기호 |
| 실수 집합 | \mathbb{R} | amssymb 필요 |
| 원소 | \in | 집합 원소 |
| 부분집합 | \subseteq | 부분집합 |
| 화살표 | \rightarrow, \Rightarrow | 방향·함의 |
| 대략 같음 | \approx | 근사 |
| 같지 않음 | \neq | 부등 |
x_i^2
\frac{a}{b}
\sqrt{x}
\sum_{i=1}^{n} x_i
\int_a^b f(x)\,dx
\lim_{n \to \infty} a_n
\mathbb{R}^{n \times m}
9. 여러 줄 수식과 정렬
수식을 여러 줄로 정렬할 때는 amsmath 패키지의 align 환경을 사용합니다. 정렬 기준이 되는 위치에 &를 넣고, 줄 끝에는 \\를 넣습니다.
\begin{align}
y &= ax + b \\
&= a(x - x_0) + y_0.
\end{align}
번호가 필요 없는 줄에는 \notag 또는 \nonumber를 사용할 수 있습니다.
\begin{align}
L &= \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \notag \\
&= \|y - \hat{y}\|_2^2.
\end{align}
| 환경 | 용도 | 메모 |
|---|---|---|
equation | 한 줄 번호 수식 | 가장 기본 |
align | 여러 줄 정렬 수식 | &로 정렬 위치 지정 |
gather | 여러 수식을 가운데 정렬 | 정렬점이 필요 없을 때 |
split | 하나의 번호 안에서 줄 나눔 | equation 내부에서 자주 사용 |
cases | 조건별 정의 | piecewise 함수 표현 |
10. 행렬과 괄호
행렬은 bmatrix, pmatrix, matrix 환경을 자주 사용합니다. 열은 &로 나누고, 행은 \\로 나눕니다.
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
| 환경 | 괄호 모양 | 예시 용도 |
|---|---|---|
matrix | 없음 | 내부 구조만 필요할 때 |
pmatrix | 소괄호 | 벡터, 행렬 |
bmatrix | 대괄호 | 행렬 표현 |
Bmatrix | 중괄호 | 집합형 행렬 |
vmatrix | 세로선 | determinant |
Vmatrix | 이중 세로선 | norm 표현 |
크기가 자동으로 늘어나는 괄호는 \left와 \right를 사용합니다.
\left( \frac{a}{b} \right)
\left[ \sum_{i=1}^{n} x_i \right]
11. 그림 넣기
그림은 graphicx 패키지를 불러온 뒤 figure 환경과 \includegraphics로 삽입합니다. \label은 보통 \caption 뒤에 둡니다.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\linewidth]{figures/sample.png}
\caption{Sample figure.}
\label{fig:sample}
\end{figure}
| 옵션 | 의미 | 메모 |
|---|---|---|
h | here | 가능한 현재 위치 |
t | top | 페이지 상단 |
b | bottom | 페이지 하단 |
p | page | float 전용 페이지 |
! | 제한 완화 | !t, !htbp처럼 사용 |
그림 크기는 width로 조절하는 경우가 많습니다. 한 단 너비에는 \linewidth, 두 단 논문에서 한 column 너비에는 \columnwidth, 전체 페이지 폭에는 \textwidth를 자주 씁니다.
\includegraphics[width=\linewidth]{image.png}
\includegraphics[width=0.5\textwidth]{image.png}
12. 표 만들기
가장 기본적인 표는 tabular 환경으로 만듭니다. l, c, r은 각각 왼쪽, 가운데, 오른쪽 정렬을 의미합니다.
\begin{table}[htbp]
\centering
\caption{Example table.}
\label{tab:example}
\begin{tabular}{lcc}
\hline
Method & Accuracy & Time \\
\hline
A & 91.2\% & 10 ms \\
B & 94.5\% & 12 ms \\
\hline
\end{tabular}
\end{table}
booktabs를 쓰면 더 깔끔한 표를 만들 수 있습니다.
\begin{table}[htbp]
\centering
\caption{Example table with booktabs.}
\label{tab:booktabs}
\begin{tabular}{lcc}
\toprule
Method & Accuracy & Time \\
\midrule
A & 91.2\% & 10 ms \\
B & 94.5\% & 12 ms \\
\bottomrule
\end{tabular}
\end{table}
| 정렬 문자 | 의미 | 예시 |
|---|---|---|
l | left | 왼쪽 정렬 |
c | center | 가운데 정렬 |
r | right | 오른쪽 정렬 |
p{3cm} | fixed-width paragraph | 폭이 정해진 열 |
| ` | ` | vertical line |
13. label과 ref
LaTeX에서 번호를 직접 쓰면 나중에 순서가 바뀔 때 문제가 생깁니다. 섹션, 그림, 표, 수식에는 \label을 붙이고, 본문에서는 \ref 또는 \eqref로 참조합니다.
\section{Method}
\label{sec:method}
\begin{equation}
y = Wx + b
\label{eq:linear}
\end{equation}
As shown in Section~\ref{sec:method}, the model is defined in Eq.~\eqref{eq:linear}.
| 대상 | 권장 label 접두사 | 참조 예시 |
|---|---|---|
| 섹션 | sec: | Section~\ref{sec:method} |
| 그림 | fig: | Figure~\ref{fig:model} |
| 표 | tab: | Table~\ref{tab:result} |
| 수식 | eq: | Eq.~\eqref{eq:loss} |
| 알고리즘 | alg: | Algorithm~\ref{alg:train} |
그림과 표에서는 \caption이 번호를 만든 뒤 \label을 붙이는 것이 안전합니다.
\caption{Result examples.}
\label{fig:result}
14. BibTeX 인용 기초
참고문헌을 파일로 관리할 때는 .bib 파일을 만들고, 본문에서는 \cite{}로 인용합니다.
@article{kim2026sample,
author = {Kim, Jonghwan},
title = {A Sample Paper Title},
journal = {Journal of Examples},
year = {2026},
volume = {1},
number = {1},
pages = {1--10}
}
본문에서는 다음처럼 사용합니다.
Previous work introduced a similar method~\cite{kim2026sample}.
\bibliographystyle{IEEEtran}
\bibliography{references}
| 명령어 | 의미 | 메모 |
|---|---|---|
\cite{key} | 문헌 인용 | BibTeX key를 사용 |
\bibliographystyle{} | 참고문헌 스타일 | IEEEtran, plain, unsrt 등 |
\bibliography{} | .bib 파일 연결 | 확장자 .bib는 쓰지 않음 |
@article | 저널 논문 | article entry |
@inproceedings | 학회 논문 | conference entry |
@book | 책 | book entry |
@misc | 기타 자료 | 웹페이지, 문서 등 |
15. 알고리즘 환경
알고리즘을 문서에 넣을 때는 프로젝트나 템플릿에 따라 algorithm, algorithmic, algorithm2e, algpseudocode 등을 사용합니다. 아래는 기본적인 algorithm과 algorithmic 예시입니다.
\usepackage{algorithm}
\usepackage{algorithmic}
\begin{algorithm}[htbp]
\caption{Training procedure}
\label{alg:training}
\begin{algorithmic}[1]
\STATE Initialize model parameters
\FOR{each epoch}
\STATE Update parameters using mini-batch data
\ENDFOR
\RETURN Trained model
\end{algorithmic}
\end{algorithm}
| 명령어 | 의미 |
|---|---|
\STATE | 한 줄 명령 |
\FOR ... \ENDFOR | 반복문 |
\IF ... \ENDIF | 조건문 |
\RETURN | 반환 |
[1] | 줄 번호 표시 |
16. 주석과 임시 메모
LaTeX에서 % 뒤의 내용은 주석입니다. 컴파일 결과에는 보이지 않지만, 원문에는 남아 있습니다.
% 이 줄은 컴파일 결과에 보이지 않습니다.
본문은 출력됩니다. % 여기부터 줄 끝까지 주석입니다.
여러 줄을 임시로 막고 싶다면 에디터의 주석 단축키를 쓰거나, comment 패키지를 사용할 수 있습니다.
\usepackage{comment}
\begin{comment}
이 영역은 출력되지 않습니다.
여러 줄을 한 번에 숨길 수 있습니다.
\end{comment}
17. 줄바꿈, 공백, 페이지 나누기
LaTeX는 공백을 자동으로 정리합니다. 그래서 시각적으로 줄을 맞추려고 스페이스를 많이 넣어도 결과에는 그대로 반영되지 않습니다.
| 명령어 | 의미 | 사용 상황 |
|---|---|---|
| 빈 줄 | 새 문단 | 가장 자연스러운 문단 구분 |
\\ | 강제 줄바꿈 | 표, 주소, 짧은 줄바꿈 |
\noindent | 문단 들여쓰기 제거 | 특정 문단 시작 |
\newpage | 새 페이지 | 바로 다음 페이지로 이동 |
\clearpage | float 처리 후 새 페이지 | 그림·표를 먼저 출력 |
\quad | 큰 공백 | 수식 안에서 자주 사용 |
\, | 작은 공백 | 적분식 dx 앞에 자주 사용 |
~ | 줄바꿈 없는 공백 | Figure~\ref{...} |
첫 번째 문단입니다.
두 번째 문단입니다.
Figure~\ref{fig:sample}에서 결과를 확인할 수 있습니다.
18. 파일 구조 추천
처음에는 하나의 .tex 파일로 시작해도 충분합니다. 문서가 길어지면 그림 폴더와 참고문헌 파일을 분리하면 관리가 쉬워집니다.
project/
├── main.tex
├── references.bib
├── figures/
│ ├── architecture.png
│ └── result.png
└── sections/
├── intro.tex
├── method.tex
└── experiments.tex
본문을 여러 파일로 나눌 때는 \input{}을 사용할 수 있습니다.
\input{sections/intro}
\input{sections/method}
\input{sections/experiments}
| 명령어 | 의미 | 메모 |
|---|---|---|
\input{file} | 다른 .tex 파일 삽입 | 가장 자주 사용 |
\include{file} | 페이지 단위 포함 | 큰 문서에서 사용 |
\includeonly{} | 일부 include만 컴파일 | 긴 문서 디버깅에 유용 |
19. 자주 나는 오류
LaTeX 오류는 대부분 반복됩니다. 아래 표는 처음 사용할 때 자주 만나는 증상과 확인할 부분입니다.
| 오류·증상 | 자주 있는 원인 | 먼저 확인할 것 |
|---|---|---|
Undefined control sequence | 명령어 오타 또는 패키지 누락 | 명령어 철자, \usepackage |
Missing $ inserted | 수식 명령어를 텍스트 모드에서 사용 | $...$ 안에 넣었는지 확인 |
File not found | 그림·입력 파일 경로 오류 | 파일명, 폴더 위치, 확장자 |
Label(s) may have changed | 참조 번호 갱신 필요 | 한 번 더 컴파일 |
Citation undefined | BibTeX key 오류 또는 컴파일 순서 문제 | .bib key, BibTeX 실행 |
| 그림 위치가 이상함 | float 배치 규칙 때문 | [htbp], [!t] 옵션 조정 |
| 표가 페이지 밖으로 나감 | 열이 너무 많거나 폭이 큼 | 글자 크기, 열 폭, 표 분리 |
20. Overleaf에서 빠르게 확인할 것
처음 LaTeX를 쓸 때는 로컬 설치보다 Overleaf 같은 웹 기반 편집기가 편할 수 있습니다. Overleaf는 브라우저에서 LaTeX 문서를 작성하고 컴파일할 수 있는 환경과 기본 문서 예제를 제공합니다.2
| 확인 위치 | 볼 내용 | 이유 |
|---|---|---|
| Recompile 버튼 | 컴파일 실행 | 수정 결과 확인 |
| Logs and output files | 오류 로그 | 에러 줄 번호 확인 |
| Menu | Compiler 설정 | pdfLaTeX, XeLaTeX 등 선택 |
| 파일 트리 | 이미지·bib 파일 위치 | 경로 오류 방지 |
| Templates | 기본 양식 | 처음 구조 잡을 때 유용 |
21. 한 번에 복사해서 시작하는 기본 템플릿
아래 템플릿은 기초 문법을 확인하기 위한 최소 예제입니다. 수식, 그림, 표, 참조, 참고문헌의 위치를 한 번에 볼 수 있도록 구성했습니다.
\documentclass{article}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{hyperref}
\hypersetup{hidelinks=true}
\title{My LaTeX Note}
\author{Jonghwan Kim}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
\label{sec:intro}
This is a short LaTeX example. Inline math looks like $x_i^2$.
\section{Equation}
\label{sec:equation}
\begin{equation}
y = Wx + b
\label{eq:linear}
\end{equation}
Equation~\eqref{eq:linear} shows a simple linear model.
\section{Table}
\label{sec:table}
\begin{table}[htbp]
\centering
\caption{Simple result table.}
\label{tab:result}
\begin{tabular}{lcc}
\toprule
Method & Accuracy & Time \\
\midrule
A & 91.2\% & 10 ms \\
B & 94.5\% & 12 ms \\
\bottomrule
\end{tabular}
\end{table}
Table~\ref{tab:result} summarizes the result.
\section{Figure}
\label{sec:figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.6\linewidth]{figures/sample.png}
\caption{Sample figure.}
\label{fig:sample}
\end{figure}
Figure~\ref{fig:sample} is an example figure.
\bibliographystyle{plain}
\bibliography{references}
\end{document}
22. 마지막으로 기억할 규칙
LaTeX는 처음부터 모든 명령어를 외우는 도구가 아닙니다. 자주 쓰는 패턴을 저장해 두고, 문서를 작성할 때마다 필요한 부분을 찾아서 반복하는 방식이 가장 빠릅니다.
| 규칙 | 이유 |
|---|---|
번호는 직접 쓰지 말고 \label과 \ref를 쓴다 | 수정해도 번호가 자동으로 맞춰짐 |
그림·표의 \label은 \caption 뒤에 둔다 | 올바른 번호가 연결됨 |
| 패키지는 필요한 것부터 최소한으로 추가한다 | 충돌 원인을 줄일 수 있음 |
| 파일명에는 공백과 한글을 피한다 | 경로 문제를 줄일 수 있음 |
| 오류가 나면 첫 번째 에러부터 본다 | 뒤쪽 에러는 연쇄 오류일 수 있음 |
| 긴 문서는 파일을 나눈다 | 유지보수가 쉬워짐 |