Урок 1.4. Автоматическое оглавление, метки и ссылки
Осваиваем автоматическое оглавление, метки и перекрестные ссылки – ключевые инструменты для работы с большими документами. Учимся ссылаться на разделы, формулы, таблицы и рисунки так, чтобы LaTeX сам обновлял номера при любых изменениях структуры.
Одно из главных преимуществ LaTeX перед Word – автоматизация рутинных задач. Представьте: вы написали документ на 50 страниц с десятками разделов, формул и таблиц. И вдруг решили переместить раздел 2.3 в начало, сделав его разделом 1.1. В Word вам придется вручную обновлять оглавление, все ссылки на этот раздел, номера страниц. В LaTeX вы просто перемещаете код – система сама всё пересчитает. В этом уроке разберем, как это работает.
Автоматическое оглавление, нумерация и перекрестные ссылки — это три кита, на которых держится структура больших документов. Освоив их, вы сможете работать с документами любого объема без страха что-то сломать.
Автоматическое оглавление
LaTeX автоматически собирает оглавление на основе команд \section, \subsection и т.д. Вам нужно только добавить команду \tableofcontents в том месте, где хотите видеть оглавление.
Обратите внимание на \newpage после \tableofcontents. Это не обязательно, но часто оглавление выносят на отдельную страницу, чтобы оно не сливалось с основным текстом. Попробуйте скомпилировать этот код – вы увидите красивое оглавление с номерами страниц.
\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, добавьте в преамбулу:
\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 и т.д.), третий – текст заголовка. Теперь "Введение" и "Заключение" будут в оглавлении, но без номеров.
\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, наш метод позволяет...". Если вы переместите раздел "Методология", номера обновятся автоматически.
\section{Введение}
В разделе \ref{sec:methods} мы опишем методологию исследования.
\section{Методология}
\label{sec:methods}
Для решения задачи был разработан алгоритм...
\section{Результаты}
Как показано в разделе \ref{sec:methods}, наш метод позволяет...
Соглашения по именованию меток
Чтобы не запутаться в метках, используйте префиксы, указывающие на тип объекта:
Префиксы sec:, eq:, tab:, fig: помогают сразу понять, на что вы ссылаетесь. Когда вы пишете \ref{tab:results}, вы точно знаете, что это ссылка на таблицу, а не на раздел. Это особенно важно в больших документах с сотнями меток.
% Разделы
\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{} вставляет номер страницы, на которой находится объект с указанной меткой. Это полезно, когда вы хотите сослаться на конкретную страницу.
Подробное описание метода приведено на странице \pageref{page:method}.
\section{Методология}
\label{page:method}
Текст методологии...
Ссылки на формулы
Формулы, обернутые в окружение equation, автоматически нумеруются. Вы можете сослаться на формулу по номеру.
В тексте будет: "Основное уравнение нашей модели представлено в формуле (1)" и "Как видно из формулы (1), сила пропорциональна...". Если вы добавите еще одну формулу перед этой, номера обновятся автоматически.
Основное уравнение нашей модели представлено в формуле \ref{eq:main}.
\begin{equation}
F = ma
\label{eq:main}
\end{equation}
Как видно из формулы \ref{eq:main}, сила пропорциональна массе и ускорению.
Ссылки на таблицы и рисунки
Таблицы и рисунки, обернутые в окружения table и figure с командой \caption, также автоматически нумеруются и могут быть использованы в ссылках.
Результаты эксперимента представлены в таблице \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 последним среди всех пакетов – это важно для его корректной работы.
\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 для кликабельных ссылок. Это полноценная структура научной статьи.
\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}
Советы по работе с оглавлением и ссылками
Компилируйте дважды. После любых изменений в структуре документа или добавления новых меток компилируйте проект дважды, чтобы все номера обновились.
Используйте осмысленные имена меток.
\label{sec:intro}лучше, чем\label{1}. Через месяц вы сами себе скажете спасибо.Не забывайте про префиксы.
sec:,eq:,tab:,fig:– это не бюрократия, а помощь себе будущему.Проверяйте ссылки. Если ссылка показывает "??" – значит, метка не найдена. Проверьте правильность написания и наличие
\label.Подключайте hyperref последним. Этот пакет должен быть после всех остальных в преамбуле.
Теперь вы владеете мощнейшим инструментом автоматизации LaTeX. Оглавление, перекрестные ссылки, нумерация – всё это работает без вашего участия. В следующем уроке мы соберем всё изученное в практическом задании: сверстаем полноценное введение к научной статье. А пока попробуйте добавить автоматическое оглавление и перекрестные ссылки в свой документ из предыдущих уроков.