Колонтитулы и нумерация страниц

Урок про оформление страницы: колонтитулы, нумерацию и стили подвала/шапки.

Колонтитул — служебная строка вверху (header) или внизу (footer) страницы: номер страницы, название главы, ваше имя.

В дипломе и книге сверху или снизу страницы обычно стоят номер, название главы или раздела. LaTeX управляет этим через «стиль страницы», а гибкую настройку даёт пакет fancyhdr.

Встроенные стили страницы

СтильЧто показывает
plainномер страницы внизу по центру (по умолчанию у article)
emptyничего — пустые колонтитулы
headingsназвание раздела/главы и номер сверху
\pagestyle{headings}    % на весь документ
\thispagestyle{empty}   % только на текущей странице

Команда \thispagestyle{empty} часто стоит на титульном листе, чтобы убрать с него номер.

Гибкие колонтитулы: fancyhdr

Пакет fancyhdr позволяет задать содержимое шести зон: слева/центр/справа в шапке и в подвале:

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}                       % очистить всё
\fancyhead[L]{\leftmark}         % слева сверху — глава
\fancyhead[R]{\thepage}          % справа сверху — номер
\fancyfoot[C]{Дипломная работа}  % внизу по центру — текст

Зоны кодируются буквами: L (left), C (center), R (right). Команда \thepage печатает текущий номер страницы, \leftmark — название текущей главы.

Управление нумерацией

Стиль самих номеров задаёт \pagenumbering: arabic (1, 2, 3), roman (i, ii, iii), Roman (I, II), alph (a, b). В книгах введение часто нумеруют римскими, а основную часть — арабскими, начиная заново:

\pagenumbering{roman}    % введение: i, ii, iii
...
\pagenumbering{arabic}   % основная часть: 1, 2, 3
\setcounter{page}{1}     % сбросить счётчик

Как работает под капотом

Стиль страницы — это набор макросов, которые LaTeX вызывает при наборе каждой страницы, чтобы напечатать шапку и подвал. fancyhdr подменяет эти макросы своими, читающими содержимое зон, которые вы задали. \leftmark и \rightmark хранят «отметки» — названия текущей главы и раздела, которые команды разделов обновляют автоматически по ходу набора. Номер страницы — это значение счётчика page, печатаемое командой \thepage в выбранном формате нумерации.

leftmark, rightmark и линейка под шапкой

Пара \leftmark и \rightmark — основа «бегущих» колонтитулов в книгах. В классе book с двусторонней печатью \leftmark обычно содержит название текущей главы (его подставляет команда \chapter), а \rightmark — название текущего раздела (его подставляет \section). По умолчанию они приходят в верхнем регистре; чтобы вернуть обычный, главу переопределяют через \renewcommand{\chaptermark}. За горизонтальную линейку под шапкой отвечает длина \headrulewidth: команда \renewcommand{\headrulewidth}{0.4pt} делает её тоньше, а 0pt — убирает совсем. Аналогичная \footrulewidth по умолчанию равна нулю и включает линейку над подвалом, если её задать.

Стиль plain на «особых» страницах

Есть тонкость, которая ставит в тупик многих: на первой странице каждой главы (а также на странице с \maketitle и началом оглавления) LaTeX принудительно применяет стиль plain — то есть ваши красивые колонтитулы fancyhdr там пропадают, и внизу по центру оказывается одинокий номер. Это поведение «вшито» в команды \chapter. Чтобы оформить и эти страницы по-своему, fancyhdr даёт переопределяемый стиль: \fancypagestyle{plain}{...} — внутри блока вы заново описываете зоны именно для plain-страниц. Без этого приёма колонтитулы на страницах начала глав будут выглядеть иначе, чем на всех остальных, и это сразу бросается в глаза в готовом дипломе.

Раздельная нумерация частей работы

Команда \pagenumbering не только меняет формат номеров, но и сбрасывает счётчик страниц в единицу. На этом построена типичная для книг и диссертаций схема: титульный лист, оглавление и введение нумеруют римскими цифрами (\pagenumbering{roman}), а перед основной частью переключаются на арабские (\pagenumbering{arabic}) — и счёт автоматически начинается заново с единицы. Поэтому отдельный \setcounter{page}{1} при смене формата чаще всего избыточен: достаточно самого вызова \pagenumbering. Явный \setcounter нужен в более редком случае — когда формат не меняется, но номер всё же требуется задать вручную, например продолжить нумерацию приложения с конкретной страницы.

Частые ошибки

  • Настроить fancyhdr, но не включить \pagestyle{fancy} — изменения не видны.
  • Забыть \fancyhf{} — останутся стандартные колонтитулы поверх ваших.
  • Сменить нумерацию без \setcounter{page}{1} — римская и арабская продолжат общий счёт.

Итоги

  • Встроенные стили: plain, empty, headings; для одной страницы — \thispagestyle.
  • fancyhdr задаёт шесть зон колонтитулов (L/C/R сверху и снизу).
  • \pagenumbering меняет формат номеров; счётчик можно сбросить.
Проверьте себя
1. Чем удобен пакет fancyhdr?
AОн рисует таблицы
BПозволяет задать содержимое шести зон колонтитулов (слева/центр/справа сверху и снизу)
CОн нумерует формулы
DОн подключает шрифты
2. Как убрать номер только с титульной страницы?
A\pagestyle{empty} на весь документ
B\thispagestyle{empty} на этой странице
CУдалить \maketitle
DЭто невозможно
3. Что нужно при переходе с римской нумерации на арабскую, чтобы счёт начался заново?
AНичего
BСбросить счётчик: \setcounter{page}{1}
CСменить класс документа
DПодключить amsmath