Классы документов: article, report, book
Урок сравнивает основные классы: article, report и book — и подсказывает, что выбрать под задачу.
Класс документа задаёт общий тип работы и определяет, какие уровни разделов доступны и как выглядит макет.
Класс — это первое решение в любом проекте. От него зависит, есть ли в документе главы, как оформлен титульный лист и как считаются страницы.
Три кита
| Класс | Для чего | Старший раздел |
article | статьи, рефераты, короткие отчёты, лабораторные | \section |
report | курсовые, дипломы, большие отчёты | \chapter |
book | книги, диссертации, многоглавные тексты | \chapter |
Ключевая разница: в article нет глав, старший уровень — раздел \section. В report и book появляется \chapter, каждая глава обычно начинается с новой страницы. book вдобавок по умолчанию верстает двусторонне (разные поля слева и справа) и поддерживает деления \frontmatter/\mainmatter/\backmatter для римской и арабской нумерации.
Когда что брать
- Реферат на 10 страниц, статья в журнал →
article. - Курсовая или диплом с главами →
report. - Полноценная книга, монография, большая диссертация →
book.
Помимо стандартной тройки существуют специализированные классы: beamer для презентаций, letter для писем, scrartcl/scrreprt/scrbook из пакета KOMA-Script с более гибкой настройкой, а также готовые ГОСТ-шаблоны вузов. О них — отдельные уроки.
Пример: report с главой
\documentclass[12pt,a4paper]{report}
\begin{document}
\chapter{Введение}
Текст первой главы.
\chapter{Обзор литературы}
Текст второй главы.
\end{document}Каждая \chapter здесь автоматически пронумеруется (1, 2, ...) и начнётся с новой страницы. В классе article команда \chapter просто не существует и вызовет ошибку.
Как работает под капотом
Класс — это файл .cls, набор макросов, который переопределяет всё оформление: размеры полей, вид заголовков, наличие команд \chapter, поведение титула, колонтитулы. Когда вы пишете \section, реальное оформление этого заголовка берётся из класса. Поэтому сменить весь облик документа можно одной строкой — заменив класс, при условии что используемые команды разделов в нём есть.
Частые ошибки
- Использовать
\chapterвarticle— команды нет, будет ошибка. - Брать
bookдля короткой статьи — лишняя двусторонность и пустые страницы. - Менять класс в середине проекта без проверки — могут «поехать» уровни разделов.
Итоги
article— без глав (старший раздел\section);report/book— с\chapter.- Выбор класса определяет макет, нумерацию и доступные уровни.
- Есть специализированные классы: beamer, letter, KOMA-Script, ГОСТ-шаблоны.
KOMA-Script: европейская альтернатива тройке
У стандартной тройки article/report/book есть популярная замена — семейство KOMA-Script: scrartcl, scrreprt и scrbook. Они один-в-один повторяют логику оригиналов (статья без глав, отчёт и книга с \chapter), но спроектированы по европейской типографской традиции и дают гораздо больше управляемости через единый интерфейс. Многое, ради чего в стандартных классах приходится подключать сторонние пакеты или вручную переопределять макросы, в KOMA-Script настраивается опциями: размеры полей, вид и кегль заголовков, оформление колонтитулов, поведение титула. Поэтому для серьёзной русскоязычной работы scrreprt или scrbook нередко оказываются удобнее голого report: меньше борьбы с оформлением и более единообразный результат.
Переход на KOMA-Script обычно сводится к замене имени класса и не требует переписывать тело: команды разделов те же самые. Но стоит помнить, что часть тонких настроек у KOMA своя, поэтому слепо смешивать рецепты для book и для scrbook не нужно — лучше держаться документации того семейства, которое выбрали. Это ровно тот случай, когда смена класса меняет облик документа целиком, а текст остаётся нетронутым.
Структура книги: front/main/back matter
Класс book (и его аналог scrbook) приносит важную особенность — деление тела на три части командами \frontmatter, \mainmatter и \backmatter. \frontmatter открывает вводную часть: титул, аннотацию, оглавление, предисловие — её страницы нумеруются римскими цифрами, а главы внутри идут без номеров. \mainmatter начинает основную часть: счётчик страниц сбрасывается и переключается на арабские цифры, а главы снова получают сквозную нумерацию с единицы. \backmatter открывает заключительную часть — список литературы, приложения, указатели, — где главы опять перестают нумероваться, но арабская нумерация страниц продолжается. Такое разделение — это типографский стандарт книг, и book реализует его буквально тремя командами.
Приложения и команда appendix
Близкий по духу инструмент — команда \appendix. Она не печатает ничего видимого, а служит переключателем: всё, что объявлено после неё командами \chapter или \section, считается приложением. С этого момента счётчик старшего раздела начинает нумероваться буквами — «Приложение А», «Приложение Б» — вместо чисел, а само слово в заголовке меняется (в русском babel — на «Приложение»). Это удобно для дипломов и отчётов по ГОСТ, где основная часть идёт числами, а приложения — буквами. Сама команда не зависит от класса: \appendix работает и в article (переключая \section на буквы), и в report/book (переключая \chapter), что делает её универсальным завершающим штрихом структуры.