Урок 1.4. Автоматическое оглавление, метки и ссылки

Осваиваем автоматическое оглавление, метки и перекрестные ссылки – ключевые инструменты для работы с большими документами. Учимся ссылаться на разделы, формулы, таблицы и рисунки так, чтобы LaTeX сам обновлял номера при любых изменениях структуры.

⏱ 20 мин изучения
Прогресс курса 0%

Одно из главных преимуществ LaTeX перед Word – автоматизация рутинных задач. Представьте: вы написали документ на 50 страниц с десятками разделов, формул и таблиц. И вдруг решили переместить раздел 2.3 в начало, сделав его разделом 1.1. В Word вам придется вручную обновлять оглавление, все ссылки на этот раздел, номера страниц. В LaTeX вы просто перемещаете код – система сама всё пересчитает. В этом уроке разберем, как это работает.

Клабаутерман
Клабаутерман:

Автоматическое оглавление, нумерация и перекрестные ссылки — это три кита, на которых держится структура больших документов. Освоив их, вы сможете работать с документами любого объема без страха что-то сломать.

Автоматическое оглавление

LaTeX автоматически собирает оглавление на основе команд \section, \subsection и т.д. Вам нужно только добавить команду \tableofcontents в том месте, где хотите видеть оглавление.

Клабаутерман
Клабаутерман:

Обратите внимание на \newpage после \tableofcontents. Это не обязательно, но часто оглавление выносят на отдельную страницу, чтобы оно не сливалось с основным текстом. Попробуйте скомпилировать этот код – вы увидите красивое оглавление с номерами страниц.

LaTeX
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

\title{Моя научная статья}
\author{Храмов Д.Э.}
\date{2026}

\begin{document}

\maketitle

\newpage

\tableofcontents

\newpage

\section{Введение}
Текст введения...

\section{Основная часть}

\subsection{Теоретические основы}
Текст подраздела...

\subsection{Методология}
Текст подраздела...

\section{Результаты}
Текст раздела...

\section{Заключение}
Текст заключения...

\end{document}

Важный нюанс: две компиляции

LaTeX создает оглавление не сразу. При первой компиляции он собирает информацию о разделах и номерах страниц, а при второй – использует эти данные для построения оглавления. Поэтому после добавления \tableofcontents или изменения структуры документа нужно компилировать проект дважды.

В Overleaf это происходит автоматически – система компилирует документ дважды, если видит изменения в структуре. Но если вы работаете локально, помните про правило двух компиляций. Это касается не только оглавления, но и всех перекрестных ссылок.

Глубина оглавления

По умолчанию в оглавление попадают разделы до уровня \subsection (включительно). Если хотите включить \subsubsection, добавьте в преамбулу:

LaTeX
\setcounter{tocdepth}{3}
% 0 = только chapter (для report/book)
% 1 = section
% 2 = subsection (по умолчанию)
% 3 = subsubsection
% 4 = paragraph

Ненумерованные разделы в оглавлении

Как мы помним из урока 1.1, команды со звездочкой (\section*{}) создают ненумерованные заголовки, которые не попадают в оглавление. Но иногда нужно, чтобы "Введение" или "Список литературы" были в оглавлении, хоть и без номера. Для этого используется команда \addcontentsline.

Клабаутерман
Клабаутерман:

Команда \addcontentsline{toc}{section}{Введение} добавляет запись в оглавление. Первый аргумент – toc (table of contents), второй – тип раздела (section, subsection и т.д.), третий – текст заголовка. Теперь "Введение" и "Заключение" будут в оглавлении, но без номеров.

LaTeX
\section*{Введение}
\addcontentsline{toc}{section}{Введение}

Текст введения...

\section{Основная часть}
Текст раздела...

\section*{Заключение}
\addcontentsline{toc}{section}{Заключение}

Текст заключения...

\section*{Список литературы}
\addcontentsline{toc}{section}{Список литературы}

1. Петров А.А. Основы алгоритмизации...
2. Сидоров Б.Б. Оптимизация вычислений...

Метки и перекрестные ссылки

Это мощнейший инструмент LaTeX. Вы можете сослаться на любой раздел, формулу, таблицу или рисунок по номеру, и LaTeX автоматически подставит правильный номер. Даже если вы переместите объект, ссылка обновится сама.

Клабаутерман
Клабаутерман:

Команда \label{sec:methods} создает метку – уникальный идентификатор раздела. Команда \ref{sec:methods} вставляет номер этого раздела. В тексте будет написано "В разделе 2 мы опишем..." и "Как показано в разделе 2, наш метод позволяет...". Если вы переместите раздел "Методология", номера обновятся автоматически.

LaTeX
\section{Введение}
В разделе \ref{sec:methods} мы опишем методологию исследования.

\section{Методология}
\label{sec:methods}

Для решения задачи был разработан алгоритм...

\section{Результаты}
Как показано в разделе \ref{sec:methods}, наш метод позволяет...

Соглашения по именованию меток

Чтобы не запутаться в метках, используйте префиксы, указывающие на тип объекта:

Клабаутерман
Клабаутерман:

Префиксы sec:, eq:, tab:, fig: помогают сразу понять, на что вы ссылаетесь. Когда вы пишете \ref{tab:results}, вы точно знаете, что это ссылка на таблицу, а не на раздел. Это особенно важно в больших документах с сотнями меток.

LaTeX
% Разделы
\section{Введение}
\label{sec:intro}

\subsection{Постановка задачи}
\label{sec:problem}

% Формулы
\begin{equation}
E = mc^2
\label{eq:einstein}
\end{equation}

% Таблицы
\begin{table}
\caption{Результаты}
\label{tab:results}
...
\end{table}

% Рисунки
\begin{figure}
\caption{Схема алгоритма}
\label{fig:algorithm}
...
\end{figure}

Ссылки на номера страниц

Команда \pageref{} вставляет номер страницы, на которой находится объект с указанной меткой. Это полезно, когда вы хотите сослаться на конкретную страницу.

LaTeX
Подробное описание метода приведено на странице \pageref{page:method}.

\section{Методология}
\label{page:method}

Текст методологии...

Ссылки на формулы

Формулы, обернутые в окружение equation, автоматически нумеруются. Вы можете сослаться на формулу по номеру.

Клабаутерман
Клабаутерман:

В тексте будет: "Основное уравнение нашей модели представлено в формуле (1)" и "Как видно из формулы (1), сила пропорциональна...". Если вы добавите еще одну формулу перед этой, номера обновятся автоматически.

LaTeX
Основное уравнение нашей модели представлено в формуле \ref{eq:main}.

\begin{equation}
F = ma
\label{eq:main}
\end{equation}

Как видно из формулы \ref{eq:main}, сила пропорциональна массе и ускорению.

Ссылки на таблицы и рисунки

Таблицы и рисунки, обернутые в окружения table и figure с командой \caption, также автоматически нумеруются и могут быть использованы в ссылках.

LaTeX
Результаты эксперимента представлены в таблице \ref{tab:experiment}.

\begin{table}[ht]
\centering
\caption{Результаты эксперимента}
\label{tab:experiment}
\begin{tabular}{lcc}
Метод & Точность & Время \\
Базовый & 0.85 & 1.5 \\
Улучшенный & 0.92 & 2.1 \\
\end{tabular}
\end{table}

Как видно из таблицы \ref{tab:experiment}, улучшенный метод показывает лучшую точность.

Пакет hyperref: кликабельные ссылки

По умолчанию ссылки в LaTeX – это просто текст. Но с пакетом hyperref они становятся кликабельными гиперссылками в PDF. Это стандарт для современных научных документов.

Клабаутерман
Клабаутерман:

Пакет hyperref делает оглавление кликабельным, ссылки на разделы – активными, а URL – кликабельными. Опция colorlinks=true окрашивает ссылки в цвета вместо создания рамок вокруг них. Это выглядит профессиональнее. Подключайте hyperref последним среди всех пакетов – это важно для его корректной работы.

LaTeX
\usepackage{hyperref}

% Настройка цвета ссылок
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,
    urlcolor=cyan,
    citecolor=green,
}

\tableofcontents

\section{Введение}
См. раздел \ref{sec:methods} на странице \pageref{page:method}.

\section{Методология}
\label{sec:methods}
\label{page:method}

Текст методологии...

% Внешняя ссылка
Дополнительная информация доступна на сайте \url{https://overleaf.com}.

Практический пример: структура статьи с перекрестными ссылками

Давайте соберем всё вместе в примере научной статьи.

Клабаутерман
Клабаутерман:

В этом примере мы использовали: автоматическое оглавление, ненумерованные разделы в оглавлении, ссылки на разделы (\ref{sec:review}), ссылки на формулы (\ref{eq:optimization}), ссылки на таблицы (\ref{tab:comparison}), ссылки на страницы (\pageref{page:results}) и пакет hyperref для кликабельных ссылок. Это полноценная структура научной статьи.

LaTeX
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{hyperref}
\usepackage{booktabs}

\hypersetup{
    colorlinks=true,
    linkcolor=blue,
}

\title{Исследование эффективности алгоритмов}
\author{Храмов Д.Э.}
\date{2026}

\begin{document}

\maketitle

\tableofcontents

\newpage

\section*{Введение}
\addcontentsline{toc}{section}{Введение}

Проблема оптимизации алгоритмов является актуальной задачей современной информатики. В разделе \ref{sec:review} мы рассмотрим существующие подходы, а в разделе \ref{sec:method} предложим собственный метод.

\section{Обзор литературы}
\label{sec:review}

Классические алгоритмы сортировки описаны в работе \cite{cormen}. Основные подходы представлены в таблице \ref{tab:comparison}.

\section{Предложенный метод}
\label{sec:method}

Наш метод основан на уравнении \ref{eq:optimization}.

\begin{equation}
T(n) = O(n \log n)
\label{eq:optimization}
\end{equation}

\begin{table}[ht]
\centering
\caption{Сравнение алгоритмов}
\label{tab:comparison}
\begin{tabular}{lcc}
\toprule
Алгоритм & Сложность & Память \\
\midrule
Bubble Sort & $O(n^2)$ & $O(1)$ \\
Quick Sort & $O(n \log n)$ & $O(\log n)$ \\
Наш метод & $O(n \log n)$ & $O(1)$ \\
\bottomrule
\end{tabular}
\end{table}

Как видно из таблицы \ref{tab:comparison} и формулы \ref{eq:optimization}, наш метод демонстрирует оптимальную сложность.

\section{Результаты}

Результаты представлены на странице \pageref{page:results}.

\newpage
\label{page:results}

Эксперименты показали эффективность предложенного подхода (см. раздел \ref{sec:method}).

\section*{Заключение}
\addcontentsline{toc}{section}{Заключение}

В ходе исследования был разработан новый метод, подробности см. в разделе \ref{sec:method} на странице \pageref{page:method}.

\end{document}

Советы по работе с оглавлением и ссылками

  1. Компилируйте дважды. После любых изменений в структуре документа или добавления новых меток компилируйте проект дважды, чтобы все номера обновились.

  2. Используйте осмысленные имена меток. \label{sec:intro} лучше, чем \label{1}. Через месяц вы сами себе скажете спасибо.

  3. Не забывайте про префиксы. sec:, eq:, tab:, fig: – это не бюрократия, а помощь себе будущему.

  4. Проверяйте ссылки. Если ссылка показывает "??" – значит, метка не найдена. Проверьте правильность написания и наличие \label.

  5. Подключайте hyperref последним. Этот пакет должен быть после всех остальных в преамбуле.

Клабаутерман
Клабаутерман:

Теперь вы владеете мощнейшим инструментом автоматизации LaTeX. Оглавление, перекрестные ссылки, нумерация – всё это работает без вашего участия. В следующем уроке мы соберем всё изученное в практическом задании: сверстаем полноценное введение к научной статье. А пока попробуйте добавить автоматическое оглавление и перекрестные ссылки в свой документ из предыдущих уроков.

 

← Вернуться к модулю
На сайте используется Яндекс.Метрика для сбора обезличенной статистики посещаемости и улучшения качества работы сайта. Подробнее — в Политике обработки персональных данных .