Сравнение классов документов LaTeX: article, report и book

по умолчанию в статьях, отчётах и книгах

Содержимое страницы

Класс документа LaTeX задаёт размер бумаги, размер шрифта и набор команд для заголовков. Приведённые ниже значения по умолчанию взяты из ядерных классов на дату 26/10/2026.

Это руководство является частью нашего Документационные инструменты в 2026 году: Markdown, LaTeX, PDF и рабочие процессы печати хаба. Строка класса читается до загрузки каких-либо пакетов, а \chapter существует только тогда, когда этот класс определяет её.

Класс документа LaTeX на листе бумаги

Дистрибутив, способный собрать эту строку, описан в заметках Обзор LaTeX и установка. В данном объявлении используется extarticle:

\documentclass[a5paper, 10pt, twoside, twocolumn]{extarticle}

a5paper, 10pt, twoside и twocolumn — это ядерные опции. extarticle входит в пакет extsizes, вместе с extreport, extbook, extletter и extproc.

Ядерные классы объявляют 10pt, 11pt и 12pt. extsizes добавляет 8pt, 9pt, 14pt, 17pt и 20pt. С 10pt те же опции бумаги и макета работают и для article:

\documentclass[a4paper,11pt,twoside]{article}

Три ядерных класса: article, report и book. Файл classes.dtx в ядре LaTeX датирован 04.06.2026, версия 1.4n. Каждый класс выполняет фиксированный список \ExecuteOptions, и всё, что вы передадите в необязательном аргументе, переопределит этот список.

Article (Статья)

article — это класс для документа, в котором самый высокий нумерованный заголовок — \section. В нём есть \part, но нет \chapter. В Шпаргалке по LaTeX показано \section внутри полного каркаса документа article.

Класс выполняет letterpaper,10pt,oneside,onecolumn,final и устанавливает \@titlepagefalse. Поэтому \maketitle печатает заголовок на первой странице. Передайте titlepage, если заголовок должен занимать отдельную страницу.

Среда abstract существует. По умолчанию (без титульной страницы, в одну колонку) она размещается в \small внутри quotation. В twocolumn она становится ненумерованным \section*. Стиль страницы — plain, который, как указано в файле класса, определён в формате. book — это класс, который выбирает headings, и именно этот стиль печатает \thepage в шапке.

Report (Доклад)

report добавляет \chapter и включает титульную страницу. \ExecuteOptions составляет letterpaper,10pt,oneside,onecolumn,final,openany, а класс устанавливает \@titlepagetrue.

\maketitle использует среду titlepage, поэтому заголовок становится отдельной страницей со пустым стилем страницы. Передайте notitlepage, чтобы разместить заголовок на первой странице, как это делает article по умолчанию.

openany — это значение по умолчанию для глав. \chapter вызывает \clearpage, поэтому глава начинается на следующей странице, нечётной или чётной. openright переключает это на \cleardoublepage, что пропустит до следующей нечётной страницы и может вставить пустую чётную страницу. Стиль страницы — plain, тот же вызов, что делает article. Шапка с заголовками (headings header) появляется в report только после \pagestyle{headings}.

Поскольку титульная страница включена, среда abstract размещается на отдельной титульной странице, выровненной по вертикали, с \abstractname жирным шрифтом. Это ветка \if@titlepage в classes.dtx. Среда определена только для article и report.

Book (Книга)

book — это класс для документа, печатающегося с обеих сторон и разделённого на предварительную, основную и заключительную части. \ExecuteOptions составляет letterpaper,10pt,twoside,onecolumn,final,openright. Титульная страница включена, как и в report, и \chapter определён.

openright означает, что каждая глава начинается на нечётной странице (recto). twoside делает внутренние и внешние поля разными и выбирает двустороннюю форму стиля страницы headings. В этом определении колонтитул (footer) пуст. На чётной странице \thepage находится слева в шапке, а \leftmark (название главы) — справа. На нечётной странице \rightmark (название раздела) находится слева, а \thepage — справа.

Первая страница главы выполняет \thispagestyle{plain}, поэтому эта страница не использует шапку с заголовками.

\frontmatter, \mainmatter и \backmatter существуют только в book. \frontmatter вызывает \cleardoublepage, отключает нумерацию глав и переключается на римские номера страниц. \mainmatter очищает страницу до двойной, включает нумерацию глав и запускает арабскую нумерацию заново с 1. \backmatter очищает страницу, используя двойную страницу, если задан openright, и отключает нумерацию глав, не сбрасывая счётчик страниц.

\cleardoublepage в \frontmatter и \mainmatter является безусловным в текущем источнике. Альтернативы openany рядом с этими двумя командами закомментированы.

Чем отличается

Функция article report book
\chapter нет да да
abstract да да нет
\maketitle первая страница отдельная страница отдельная страница
Стороны oneside oneside twoside
Начало главы — следующая страница (openany) следующая нечётная страница (openright)
Стиль страницы plain plain headings
\frontmatter нет нет да
Бумага letterpaper letterpaper letterpaper
Опции размера шрифта 10pt, 11pt, 12pt 10pt, 11pt, 12pt 10pt, 11pt, 12pt

14pt не является объявленной опцией, поэтому article сохраняет 10pt, которое он выполнил, и передаёт 14pt дальше как глобальную опцию. Классы extsizes — те, кто объявляет 14pt, 17pt и 20pt.

Бумага, размер шрифта и стороны

classes.dtx объявляет эти опции бумаги. landscape меняет местами два измерения после установки размера.

Опция Ширина Высота
letterpaper (по умолчанию) 8.5in 11in
legalpaper 8.5in 14in
executivepaper 7.25in 10.5in
a4paper 210мм 297мм
a5paper 148мм 210мм
b5paper 176мм 250мм

TeX Live и MiKTeX поставляют эти значения по умолчанию без изменений. letterpaper остаётся типом бумаги, пока файл не передаст a4paper. a5paper — это 148мм на 210мм, стандартный размер для вкладыша A5, такого как Страницы трекера счетов Filofax, которые печатаются в виде книжечки.

oneside и twoside существуют во всех трёх классах. onecolumn — это значение по умолчанию, а twocolumn — альтернатива. openright и openany объявлены только для report и book. В article это неиспользуемые глобальные опции, потому что нет \chapter, для которого они могли бы сдвигать страницы.

titlepage и notitlepage переключают \if@titlepage. leqno загружает leqno.clo (номера уравнений слева). fleqn загружает fleqn.clo (выравнивание дисплейных формул влево). draft устанавливает \overfullrule в 5pt, чтобы полноширинные блоки отображали линию. final устанавливает эту линию в 0pt и уже находится в списке по умолчанию.

Метки PDF (Tagged PDF)

Для article, report и book метки (tagging) включаются с помощью \DocumentMetadata до класса. В ноябрьском выпуске LaTeX 2025 года старый ключ testphase был признан устаревшим. Теперь \DocumentMetadata загружает модули меток, а tagging=on включает метки. Заметки о использовании проекта по меткам дают такую форму:

\DocumentMetadata{
  lang = en,
  pdfstandard = ua-2,
  tagging = on
}
\documentclass{article}

Статья Франка Миттельбаха в TUGboat 47:2 (2026) о доступных классах описывает article, report и book как классы, чьи семантические элементы были адаптированы для доступности через низкоуровневые интерфейсы. Переписывание шаблонов этих классов всё ещё ожидается. Статья Урлике Фишер в том же номере фиксирует, что testphase устарел, и что ключ меток (tagging key) является переключателем.

Файлы презентаций, которые начинаются с \DocumentMetadata, а затем загружают beamer, сталкиваются с ошибкой класса. Beamer 3.78, дата класса 20/08/2026, вызывает ClassError с текстом “Класс beamer несовместим с \DocumentMetadata” и указывает ltx-talk как класс для вывода с метками. Эта ошибка была добавлена в 3.77 (22.01.2026). Версия 3.78 добавляет шаблоны itemize и библиографии left triangle и сохраняет ошибку.

KOMA-Script

KOMA-Script 3.49.3 датирован 19.10.2026. Классы, заменяющие ядерные, — это scrartcl, scrreprt и scrbook. scrlttr2 — это класс для писем. scrarticle и scrreport — это обёртки, и README пакета говорит, что следует загружать scrartcl, а не scrarticle.

Значения по умолчанию в руководстве отличаются от article в двух точках. Бумага — A4 в книжной ориентации, и fontsize=11pt — значение по умолчанию для scrartcl, scrreprt и scrbook, тогда как значение по умолчанию ядра — 10pt. Переименование класса и оставление списка опций пустыми переключит документ на бумаге Letter 10pt на 11pt A4.

fontsize принимает размер с единицей измерения TeX, а просто число читается как pt. Изменение этого параметра после загрузки класса оставляет область текста прежней. \recalctypearea перестраивает её, и та же команда следует за последующим изменением бумаги. Руководство запрещает использовать fontsize внутри абзаца.

scrkernel-typearea.dtx выполняет twoside=true для scrbook и twoside=false для других классов. С twoside=semi руководство помещает коррекцию для переплёта на левом поле обеих страниц. Титульные страницы — значение по умолчанию для scrbook и scrreprt. scrartcl использует заголовок внутри страницы.

Главы в scrreprt начинаются на следующей странице (open=any). Главы в scrbook начинаются на следующей правой странице (open=right). chapterprefix=false — это значение по умолчанию, поэтому заголовок главы — одна строка. report и book выводят слово “Глава” на отдельной строке. chapterprefix=true делает то же самое в KOMA-Script.

Преамбула 3.49.3 говорит, что устаревшие опции производят предупреждение, а устаревшие команды производят ошибку. noheadsepline, упомянутое там как устаревшее уже двадцать лет, является одним из таких предупреждений. Документированный переключатель — headsepline. Установка его в true, или передача без значения, рисует линию под шапкой. Деактивация убирает линию.

Начиная с 3.50, преамбула говорит, что эти предупреждения исчезнут, и опция version больше не будет восстанавливать старые настройки. Метки (Tagging) были отложены в 3.49.3. Преамбула говорит, что поддержка \DocumentMetadata не вошла в этот выпуск, и CTAN указывает scrartcl как несовместимый с метками PDF.

\documentclass[fontsize=10pt]{scrreprt}

fontsize=10pt — это опция, сохраняющая размер шрифта ядра. paper=a4 можно опустить, потому что A4 уже является значением по умолчанию для KOMA-Script.

Memoir

memoir 3.8.4b датирован 04.11.2025. Глава руководства по опциям класса заявляет, что twoside является значением по умолчанию. Опция article изменяет поведение глав так, чтобы новая глава не обязательно начинала новую страницу. Базовые опции размера шрифта: 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, 20pt, 25pt, 30pt, 36pt, 48pt и 60pt. Опция *pt — это размер, определённый автором, и требует файл .clo, имя которого формируется из \anyptfilebase и \anyptsize, оба установлены до \documentclass.

extrafontsizes, вместе с контурными шрифтами (outline fonts), расширяет относительные размеры за пределы растрового лимита. Для опции 60pt таблица размеров в руководстве перечисляет \HUGE на 132pt. Без extrafontsizes, \huge, \Huge и \HUGE остаются на уровне \LARGE для опции 14pt, а растровый \HUGE ограничен 25pt.

Описание класса на CTAN говорит, что memoir предоставляет функциональность более тридцати более популярных пакетов. Начиная с версии 3.8, руководство говорит, что некоторые из них загружаются как пакеты, а не копируются в класс. booktabs перешёл на такой режим в 2023 году.

Метки через \DocumentMetadata в этом выпуске не доступны. Проблема проекта меток №1040 (04.11.2025) фиксирует, что memoir несовместим с кодом, который загружает эта команда, и ответ на неё — работа по меткам не ведётся. Управление PDF без меток, как дано в той проблеме, таково:

\RequirePackage{pdfmanagement}
\SetKeys[document/metadata]{lang=en}
\documentclass{memoir}

Презентации, IEEE и малые классов ядра

beamer помещает контент слайдов в frame. Для меток PDF, ltx-talk 0.6.10 (13.10.2026) — это класс, который CTAN описывает как экспериментальный, с метками, идущими впереди дизайна, и требуется формат LaTeX от 01.11.2025 или новее. Файлы тем Beamer не являются темами ltx-talk. Раздел руководства по меткам использует этот преамбулу:

\DocumentMetadata{tagging=on, pdfstandard=ua-2}
\documentclass{ltx-talk}

ltx-talk также использует frame. Руководство помечает заголовок кадра (frame title) как заголовок уровня H4, под разделом и подразделом, и говорит, что некоторые проверщики доступности предупреждают об этом уровне.

IEEEtran 1.8b датирован 26.08.2015 в строке \ProvidesClass. \documentclass[journal]{IEEEtran}, [conference] и [technote] — это формы публикации, которые объявляет класс. compsoc — это вариант Computer Society. CTAN перечисляет класс как несовместимый с метками PDF.

Ещё три классов ядра находятся рядом с article. proc передаёт twocolumn в article и переопределяет abstract как \section*{\abstractname}. minimal, датированный 25.05.2001 в его строке \ProvidesClass, устанавливает \normalsize в 10pt с межстрочным интервалом 12pt, \textwidth в 6.5in и \textheight в 8in, и не определяет секционирования. Это тестовый класс. letter — это класс ядра для переписки. standalone обрезает страницу до наборного блока, именно так диаграмма компилируется в свой собственный PDF, а затем включается в другой документ.

Когда макет не тот, что вы просили

Неопределённый \chapter означает, что загруженный класс не имеет глав. report или book — это ядерный класс, определяющий команду. Пустая чётная страница перед каждой главой — это openright, значение по умолчанию для book. openany начинает главу на следующей странице.

Вывод на бумаге US Letter из article, report или book — это letterpaper. Добавьте a4paper. После переименования в scrreprt или scrbook, A4 уже действует, и размер шрифта 11pt. fontsize=10pt сохраняет предыдущую мерку.

В KOMA-Script 3.49.3, замените предупреждение о noheadsepline на headsepline=false, или на headsepline, если линия должна быть нарисована. Устаревшая команда — это ошибка в этом выпуске. Если лог говорит, что область текста осталась неизменной, вызовите \recalctypearea после присваивания бумаги или fontsize.

Если beamer останавливается на \DocumentMetadata, удалите эту строку, чтобы сохранить текущие слайды, или компилируйте с ltx-talk, когда PDF должен быть с метками. memoir 3.8.4b и KOMA-Script 3.49.3 находятся вне конфигурации меток, задокументированной для article, report и book.

Оставайтесь на article для документа с разделами. Поднимайтесь до report или book, когда глава должна начинать страницу, и выходите за пределы ядра, когда задача — это рассчитанная область текста, размер шрифта больше 12pt или файл слайдов с метками.

Полезные ссылки

Подписаться

Получайте новые материалы про системы, инфраструктуру и AI engineering.