Поговорим о том, как настроить нумерацию только тех формул, на которые стоят ссылки в тексте. Казалось бы, зачем огород городить?
Вот формула:
\begin{equation}
i^2 = -1.
\label{eq:ref}
\end{equation}
А вот на нее ссылка --- (\ref{eq:ref}).
И все!
Нет, не все — есть способ и получше. Но, начнем с самого начала.
Выключные (или выносные, короче, те что не находятся внутри абзаца) формулы в LaTeX помещаются в окружения equation
и displamath
. Первые автоматически нумеруются и на них можно ссылаться в тексте, вторые не нумеруются и ссылаться на них нельзя.
Но: на формулы, стоящие в equation
, может и не быть ссылок. Это не слишком хорошо — зачем тогда нужно было эту формулу нумеровать?
Кроме того, для окружения displamath
есть удобное сокращение \[...\]
, а у equation
такого сокращения нет. Можно применить для этого собственные макросы, например,
\newcommand{\eq}{\begin{equation}}
\newcommand{\qe}{\end{equation}}
или настроить автодополнение в редакторе...
Обе проблемы решает пакет autonum — он заставляет нумеровать только те формулы, на которые ссылаются в тексте независимо от того, в каком окружении они стоят.
Проверим это
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage{autonum}
\begin{document}
Вот формула без ссылки:
\begin{equation}
i^2 = -1.
\end{equation}
Вот формула со ссылкой:
\[
i^2 = -1.
\label{eq:ref}
\]
А вот на нее ссылка --- (\ref{eq:ref}).
\end{document}
Формула, стоящая в equation
, не нумеруется, потому что на нее не ссылаются. Напротив, нумеруется формула из окружения displaymath
.
Таким образом, чтобы нумеровались только те формулы, на которые стоят ссылки в тексте, нужно использовать пакет autonum и единственное окружение — \[..\]
.
А что если теперь нужно сделать так, чтобы каждая формула имела номер? И сделать быстро, не меняя команд форматирования документа? Такая необходимость возникает при вставке материала в отчет о НИР, в котором по требованиям ГОСТа нужно нумеровать все формулы.
Чтобы все выключные формулы приобрели номера, закомментируем autonum и введем новые обозначения для начала и конца окружения equation
:
%\usepackage{autonum}
\renewcommand\[{\begin{equation}}
\renewcommand\]{\end{equation}}
Комментарии
comments powered by Disqus