대체 클래스

표준 클래스(article, report, book)의 체재로는 세밀한 제어가 부족하다고 느낄 때 옮겨 갈 곳이, 한 세트로 “무엇이든 하고 세밀하게 설정할 수 있는” 두 큰 클래스군인 KOMA-Scriptmemoir입니다. 전자는 서양문자 타이포그래피가 뛰어난 드롭인 대체 클래스군이고, 후자는 책·보고서용으로 많은 패키지 기능을 하나로 묶은 만능 클래스입니다. 이 페이지에서는 둘의 정체와 설정의 핵심, 그리고 언제 어느 쪽을 선택할지 살펴봅니다.

왜 표준 클래스를 대체하는가

article / report / book은 오래 검증되어 확실하지만, 기본 여백, 제목, 머리말·꼬리말 체재를 작성자가 바꾸려 하면 \makeatletter로 내부 명령을 건드리거나 geometry, fancyhdr, titlesec, tocloft 같은 보조 패키지를 여러 개 겹치게 되기 쉽습니다. 표준 클래스 자체의 세부 내용은 Standard classes 페이지에 맡기고, 여기서 핵심은 “설계 자유도가 낮고 변경을 위한 공식 입구가 적다”는 점입니다.

KOMA-Script와 memoir는 그 불만에 정면으로 답하는 클래스입니다. 둘 다 표준 클래스의 대체로 쓸 수 있고, 설계를 바꾸기 위한 명령과 옵션을 처음부터 공식적으로 갖추고 있다는 공통점이 있습니다. 차이는 출신과 사상입니다. KOMA-Script는 “정돈된 타이포그래피의 대체 클래스 + 설정 장치”이고, memoir는 “보조 패키지를 통째로 받아들인 단일 책 클래스”라는 성격입니다.

KOMA-Script — 대체 클래스군

KOMA-Script는 Markus Kohm이 개발·유지 관리하는 LaTeX2ε 클래스·패키지 모음(저작권 표기 1994–2026, 본문 작성 시점 버전 3.49.2, 2026-02-02)으로, 주로 표준 클래스의 드롭인 대체를 중심으로 구성됩니다. scrartclarticle, scrreprtreport, scrbookbook에 대응하고, 편지에는 전용 scrlttr2 가 있습니다. 본문 작성법(\section, \chapter 등)은 표준 클래스와 거의 같지만, 기본 타이포그래피가 더 정돈되어 있고 설정 창구가 넓게 열려 있는 것이 장점입니다.

KOMA 클래스대체하는 표준 클래스용도
scrartclarticle논문과 일반적인 짧은/중간 길이 문서
scrreprtreport장을 가진 보고서와 학위논문
scrbookbook양면 전제의 책
scrlttr2letter편지(여러 편지지와 레이아웃 정의 가능)

설정은 두 가지 방식입니다. 클래스 옵션으로 \documentclass[...]{scrartcl}에 넘기거나, 읽은 뒤 \KOMAoptions{...} 로 바꿉니다. KOMA-Script는 “대부분의 옵션을 읽은 뒤에도 변경할 수 있는” 구조를 가지며, \KOMAoptionsoption=value를 쉼표로 나열해 한 번에 여러 개 지정할 수 있습니다. 하나의 옵션에 여러 값을 동시에 주고 싶을 때는 \KOMAoption{option}{val1,val2} 를 사용합니다.

조판 영역 계산 — DIV와 BCOR

KOMA-Script 페이지 설계의 핵심은 typearea 패키지입니다(KOMA 클래스를 쓸 때 자동으로 읽히므로 \usepackage{typearea}를 따로 쓸 필요는 없습니다). 여백을 직접 mm로 지정하는 대신, 페이지를 가로와 세로로 여러 strip으로 나누고 그 비율에서 본문 블록과 여백을 이끌어 내는 발상이며, 조판가 Jan Tschichold의 방식에 바탕을 둡니다.

그 분할 수를 정하는 것이 DIV= 입니다. 매뉴얼에 따르면 “DIV=factor는 조판 영역 구성 시 페이지를 가로와 세로로 나누는 strip의 수를 지정”하는 것이며, 핵심은 factor가 클수록 본문 블록은 커지고 여백은 작아진다는 점입니다. 즉 한 페이지에 더 많은 글자가 들어갑니다. factor에는 4보다 큰 정수를 줍니다. A4에서 기본값은 본문 크기에 연동되어 10pt는 8, 11pt는 10, 12pt는 12입니다. 글꼴에 맞춰 자동 산출하려면 DIV=calc, 전통적인 “medieval page canon” 느낌을 원하면 DIV=classic을 사용할 수 있습니다.

또 하나가 BCOR=(binding correction = 제본 여백)입니다. 제본으로 노도 쪽에 말려 들어가 보이지 않게 되는 폭을 여기에 주면, 그만큼이 판면 계산에서 일단 빠지고 출력 시 안쪽(왼쪽) 여백에 다시 더해집니다. 값에는 TeX가 이해하는 임의의 단위를 사용할 수 있습니다(예: BCOR=10mm). \KOMAoptionsDIVBCOR를 바꾸면 조판 영역과 여백은 자동으로 다시 계산됩니다.

latex
\documentclass[DIV=12,BCOR=10mm]{scrartcl}
% DIV=12  本文ブロックを広めに(A4・12pt 既定と同じ分割数)
% BCOR=10mm  綴じ代 10mm を内側余白へ確保
\usepackage[T1]{fontenc}
\usepackage{microtype}

\title{A Short Report}
\author{Ada Lovelace}

\begin{document}
\maketitle
\section{Introduction}
KOMA-Script keeps the body markup of \textsf{article}
while giving you DIV and BCOR for the page layout.
\end{document}

나중에 글꼴 패키지를 불러오는 경우에는 주의가 필요합니다. DIV=calc를 클래스 옵션에 쓰면, 글꼴을 읽기 전의 표준 글꼴로 판면이 결정되어 버립니다. 글꼴을 바꾼 뒤 프리앰블에서 \KOMAoptions{DIV=last}(또는 DIV=current)를 호출하면 새 글꼴에 맞춰 다시 계산할 수 있습니다.

KOMA 체재 조정 — 요소 글꼴과 제목

KOMA-Script에서는 제목, 캡션 같은 문서의 각 element 에 대해 글꼴을 한곳에서 설정할 수 있습니다. \setkomafont{element}{commands} 는 그 요소의 글꼴 정의를 통째로 새로 지정하고, \addtokomafont{element}{commands} 는 기존 정의에 덧붙입니다(\usekomafont{element} 는 현재 글꼴을 그 요소의 글꼴로 바꿉니다). commands\sffamily, \bfseries, \Large 처럼 글꼴 속성만 바꾸는 것 으로 제한하고, 모두 프리앰블에서 선언합니다.

절 구분 명령 자체의 체재(앞뒤 간격, 글꼴, 번호 표시 방식 등)를 다시 구성하려면 \RedeclareSectionCommand[attributes]{name} 를 사용합니다. 이는 기존 절 구분 명령(\section, \chapter 등)의 속성을 쉼표로 구분한 key=value 설정으로 재정의하는 공식 입구입니다. 머리말·꼬리말에는 KOMA 클래스와 함께 쓰는 scrlayer-scrpage 패키지가 권장되며, \lehead, \cohead, \rohead 같은 명령으로 “왼쪽/가운데/오른쪽” × “짝수/홀수 페이지”의 각 위치를 개별 설정할 수 있습니다.

memoir — 만능 책 클래스

memoir 는 Peter Wilson이 2001년에 처음 발표했고 현재 Lars Madsen이 유지 관리하는 클래스입니다. 특징은 표준 book 클래스 위에, 설계와 관련된 많은 패키지 기능을 하나로 통합했다는 점입니다. 저자의 표현대로라면 목차를 제어하는 tocloft package, 자체 머리말을 설계하는 fancyhdr package와 비슷한 방법 등 “많은 package의 기능을 포함”합니다(수식이나 babel/hyperref 영역은 다루지 않습니다). bookreport 클래스의 대체로 쓸 수 있고 기본 출력은 거의 구별되지 않지만, article 같은 체재로 맞추는 옵션도 있으며 무엇보다 “만져서 설계하는” 일을 전제로 만들어져 있습니다.

페이지 레이아웃은 전용 명령으로 조립합니다. \setlrmarginsandblock{spine}{edge}{ratio} 는 좌우(노도 쪽 spine, 바깥쪽 edge) 여백을 지정하며, 페이지 폭은 고정한 채 본문 블록 폭이 여기서 결정됩니다. \setulmarginsandblock{upper}{lower}{ratio} 는 같은 방식으로 위아래 여백을 정합니다. 둘 다 세 번째 인수는 비율이고, 계산에 맡기고 싶은 값에는 * 를 둘 수 있습니다.

중요한 점은 이런 지정이 선언만으로는 적용되지 않는다는 것입니다. \checkandfixthelayout 를 호출해야 비로소 레이아웃이 확정됩니다(매뉴얼의 말처럼 “기본 페이지 레이아웃에 만족하지 않는다면 원하는 레이아웃을 지정한 뒤 \checkandfixthelayout 명령을 호출해 최종적으로 구현해야 합니다”). 장 제목의 체재는 \chapterstyle{style} 로 바꿉니다. \pagestyle 과 비슷하게 이후 장 제목의 스타일을 정하며, default(익숙한 book 스타일), section(번호와 제목을 한 줄에), hangnum(장 번호를 여백 쪽에 걸기), companion(LaTeX Companion 스타일) 등 많은 사전 정의 스타일이 들어 있습니다. 특히 책 디자인에서 인기 있는 클래스입니다.

latex
\documentclass[11pt,a4paper,twoside]{memoir}

% --- page layout (must end with \checkandfixthelayout) ---
\setlrmarginsandblock{30mm}{25mm}{*}  % spine, fore-edge
\setulmarginsandblock{30mm}{35mm}{*}  % upper, lower
\checkandfixthelayout

\chapterstyle{hangnum}

\begin{document}
\chapter{Beginnings}
memoir bundles page layout, headers, and chapter styles
into one configurable book class.
\end{document}

무엇을 언제 선택할까

KOMA-Script와 memoir는 목표가 비슷하며, 어느 쪽으로도 품질 높은 문서를 만들 수 있습니다. 대략적으로는 논문이나 보고서처럼 표준 클래스에서 자연스럽게 한 단계 올리고 싶고, 정돈된 기본 타이포그래피와 DIV/BCOR 의 명확한 판면 제어가 필요하면 KOMA-Script를 고릅니다. 책 한 권을 세부까지 디자인 하려면 레이아웃, 머리말, 장 스타일, 목차를 한 클래스 안에서 끝낼 수 있는 memoir가 알맞습니다. 두 클래스는 사상이 다르므로 섞지 말고 문서마다 하나를 선택합니다.

다만 일본어가 주가 되는 문서에서는 이들보다 일본어 조판에 특화된 클래스가 기본 입니다. 일본어 행간, 금칙 처리, 전각 간격 처리는 전용 클래스의 영역이므로 jsarticle / jsbook(jsclasses), 그 LuaLaTeX판인 ltjsarticle / ltjsbook, 또는 더 새로운 jlreq 를 씁니다. KOMA-Script와 memoir는 서양문자 문서용 선택지로 보고, 일본어 클래스와는 목적이 다르다는 점에 주의하세요. 슬라이드가 목적이라면 별도 계열의 beamer 클래스가 표준입니다.

표준 클래스에서 옮길 때의 절차

기존 원고를 KOMA-Script나 memoir로 옮길 때는 한 번에 전체를 새로 꾸미지 않는 편이 안전합니다. 먼저 클래스만 article 에서 scrartcl 로, 또는 book 에서 memoir 로 바꾸고 같은 본문 구조가 컴파일되는지 확인합니다. 그다음 여백, 머리말·꼬리말, 제목, 목차 순서로 하나씩 설정하고 각 단계마다 PDF 차이를 봅니다.

  • KOMA-Scriptgeometry 를 쓰기 전에 DIVBCOR 로 레이아웃을 해결할 수 없는지 먼저 봅니다.
  • memoir — 레이아웃 선언의 끝에 \checkandfixthelayout 를 놓는 일을 잊지 않습니다.
  • 공통titlesec, fancyhdr, tocloft 같은 표준 클래스용 보조 패키지를 그대로 무작정 겹치지 않습니다.
  • 일본어 원고 — 서양문자용 설계 사상을 일본어 본문에 억지로 적용하지 말고, jsclasses나 jlreq를 먼저 검토합니다.

설계 변경을 기록해 되돌릴 수 있게 하기

KOMA-Script나 memoir를 쓰는 원고에서는 본문을 쓰는 중에도 여백이나 제목을 시험해 보고 싶어지곤 합니다. 따라서 시각적 조정은 본문 근처에 흩뿌리지 말고, 프리앰블의 “페이지 설계”, “제목”, “머리말/꼬리말” 같은 작은 구역에 모아 두며 왜 그 값을 골랐는지 짧게 주석으로 남깁니다. 나중에 출판사, 학회, 수업 지정 치수로 되돌릴 때 어떤 지정이 작동하는지 한눈에 따라갈 수 있습니다.

latex
% Page design: keep the knobs in one place
\KOMAoptions{DIV=12,BCOR=8mm}
% \RedeclareSectionCommand[...] {section}  % heading design lives here

% For memoir, finish all layout knobs before the check
% \setlrmarginsandblock{30mm}{25mm}{*}
% \setulmarginsandblock{30mm}{35mm}{*}
% \checkandfixthelayout

표준 클래스용으로 넣어 두었던 geometry, fancyhdr, titlesec, tocloft 를 그대로 남기면 KOMA-Script나 memoir가 제공하는 공식 설정 창구와 충돌할 수 있습니다. 옮길 때는 먼저 클래스 자체 명령으로 같은 목적을 달성할 수 없는지 확인하고, 정말 필요한 보조 패키지만 다시 넣습니다.