Чтобы нумеровать уравнения по разделам, например (2.1), подключите amsmath и добавьте \numberwithin{equation}{section} в преамбулу. Это руководство поможет пользователям Mac выбрать схему нумерации, настроить сброс счётчиков и проверить ссылки в длинном документе. Документация по нумерации уравнений LaTeX
Выберите схему нумерации до изменения счётчиков
Начните с класса документа и номера, на который читатель должен ссылаться. Стандартный класс article использует сквозную нумерацию уравнений. В стандартных классах report и book нумерация уравнений уже сбрасывается в каждой главе, а перед номером указывается номер главы. Эти настройки по умолчанию важны при адаптации существующего документа. Стандартные классы документов LaTeX
| Желаемый результат | Настройка |
|---|---|
Сквозная нумерация в стандартном классе article |
Оставьте настройки класса по умолчанию |
| Нумерация по разделам, например (2.1) | Добавьте \numberwithin{equation}{section} |
Нумерация по главам в стандартном классе report или book |
Оставьте настройки класса по умолчанию |
Сквозная нумерация в стандартном классе report или book |
Удалите связь счётчика уравнений со счётчиком глав командой \counterwithout{equation}{chapter} |
| Связанная группа, например (2.3a), (2.3b) | Поместите её формулы в окружение subequations |
Эти варианты сочетают настройки классов по умолчанию с документированными командами счётчиков и окружением для группировки amsmath. Если используется пользовательский класс, ознакомьтесь с его документацией, прежде чем полагаться на стандартные настройки. Определения стандартных классов, Команды для управления связями счётчиков, Примеры подуравнений
Рассматривайте нумерацию как три отдельных решения: значение счётчика, его отображение при печати и событие, при котором он сбрасывается. Например, один лишь префикс раздела не задаёт сброс счётчика в каждом разделе. Команда \numberwithin настраивает и иерархию, и отображаемый формат; в текущей версии amsmath она реализована с помощью команды ядра \counterwithin. Реализация нумерации уравнений LaTeX
Создайте на Mac полный пример с нумерацией по разделам
Следующий полный документ рассчитан на работающую установку LaTeX и редактор, настроенный для pdfLaTeX. Сохраните его как numbering-demo.tex. В TeXShop выберите движок pdfLaTeX и нажмите Command-T для набора документа; это сочетание клавиш указано в примечаниях разработчика к выпуску. Изменения в TeXShop
\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\begin{document}
\section{Algebraic identities}
\begin{equation}
(a+b)^2=a^2+2ab+b^2
\label{eq:square}
\end{equation}
\begin{subequations}\label{eq:pair}
\begin{align}
(a+b)(a-b)&=a^2-b^2 \label{eq:difference}\\
a(b+c)&=ab+ac \label{eq:distribute}
\end{align}
\end{subequations}
\begin{equation}
(a+b)+c=a+(b+c)
\label{eq:associate}
\end{equation}
The group is \eqref{eq:pair}; its first identity is
\eqref{eq:difference}.
\section{Polynomial identities}
\begin{equation}
(x+y)^3=x^3+3x^2y+3xy^2+y^3
\label{eq:cube}
\end{equation}
Compare \eqref{eq:square} and \eqref{eq:cube}.
\appendix
\section{Additional identity}
\begin{equation}
x^2+2xy+y^2=(x+y)^2
\label{eq:appendix-square}
\end{equation}
\end{document}
При первом запуске наберите документ дважды и повторите набор, если предупреждения об изменившихся ссылках сохраняются. LaTeX передаёт сведения о метках между запусками через вспомогательный файл, поэтому в первом PDF некоторые ссылки могут оставаться неразрешёнными. Размещайте метки внутри нумерованной формулы, к которой они относятся. Реализация перекрёстных ссылок LaTeX
Ниже показана ожидаемая последовательность номеров, полученная из приведённой настройки. Используйте её как простую проверку перед переносом конфигурации в свою рукопись; это пример ожидаемых результатов, а не отчёт о выполненной компиляции.
| Контрольная точка | Ожидаемый номер |
|---|---|
| Первое тождество | (1.1) |
| Ссылка на группу | (1.2) |
| Два тождества внутри группы | (1.2a), (1.2b) |
| Тождество после группы | (1.3) |
| Первое тождество в разделе 2 | (2.1) |
| Первое тождество в приложении | (A.1) |
Обёртка subequations резервирует один родительский номер, а после завершения восстанавливает основную последовательность. В официальных примерах показано возвращение к обычной нумерации. Номер в приложении получается благодаря тому, что стандартный article заменяет \thesection буквами, а формат уравнений продолжает использовать это представление раздела. Примеры подуравнений, Определения стандартного приложения
В исследовательской среде не было доступно компилятора LaTeX, поэтому документ сверили с полученной документацией, но не компилировали.
Выберите окружение, которое поддерживает нужную нумерацию
Настройка счётчиков не определяет, сколько номеров получит формула. Это зависит от её окружения. Такое различие особенно полезно, когда нужно преобразовать длинный вывод в отдельные шаги, на которые можно ссылаться. Руководство пользователя пакета amsmath: отображаемые уравнения
Окружение при подключённом amsmath |
Поведение нумерации |
|---|---|
equation |
Один номер |
equation* или \[ ... \] |
Без автоматической нумерации |
align, gather, alignat, flalign |
Автоматическая нумерация каждой строки |
| Их варианты со звёздочкой | Без автоматической нумерации |
multline |
Один номер для многострочного выражения |
split внутри equation |
Один номер для всего уравнения |
aligned внутри equation |
Один номер для всего уравнения |
Используйте align, если на отдельные строки нужны отдельные ссылки. Если весь вывод должен иметь одну ссылку, используйте equation с вложенным split. Не помещайте align внутрь equation: это уже структура отображаемой формулы. Ниже приведён фрагмент основного текста документа, в котором подключён amsmath. Поддерживаемые структуры отображаемых формул
\begin{equation}
\begin{split}
(a+b)^2
&= (a+b)(a+b)\\
&= a^2+2ab+b^2
\end{split}
\label{eq:expanded-square}
\end{equation}
Чтобы отключить нумерацию отдельной строки align, вставьте \notag перед её концом. Для нестандартного идентификатора команда \tag{P} выводит (P), а \tag*{P} — P без добавления скобок. Размещайте такую метку в поддерживающем окружении формулы, а не внутри split. Отключение нумерации и пользовательские метки
Изменяйте связи сброса, не создавая скрытых зависимостей
В современных версиях LaTeX команды \counterwithin и \counterwithout доступны напрямую. Они вошли в ядро в выпуске за апрель 2018 года; для этих команд в более старой установке требуется пакет chngcntr. В руководстве пакета описаны варианты команд со звёздочкой и особенности форматирования. Новости LaTeX, выпуск 28, Пакет chngcntr
Чтобы включить сквозную нумерацию уравнений в стандартном классе report или book, добавьте этот фрагмент преамбулы после подключения пакетов. Команда без звёздочки удаляет связь сброса с главой и меняет формат номера уравнения на арабские цифры. Текущее значение счётчика при этом не меняется. Пакет chngcntr
\counterwithout{equation}{chapter}
При замене нумерации по разделам нумерацией по главам сначала явно удалите прежнюю связь с разделами. Если добавить только связь с главами, прежняя зависимость сохранится. Этот фрагмент преамбулы рассчитан на report или book, amsmath и ранее заданную нумерацию по разделам:
\counterwithout*{equation}{section}
\numberwithin{equation}{chapter}
Звёздочка сохраняет текущий формат отображения при удалении связи; следующая команда задаёт нужный формат. И наоборот, \counterwithin* добавляет связь сброса, не меняя формат отображения. Используйте команды со звёздочкой, если намеренно настраиваете формат отдельно. Семантика связей счётчиков
Перезапускайте нумерацию с определённого числа, только если этого требует документ
Однократный перезапуск изменяет сохранённое значение. Непосредственно перед следующей нумеруемой формулой команда \setcounter{equation}{0} задаёт для неё номер 1 в активном формате. Чтобы следующий номер был 7, задайте счётчику значение 6. В документации счётчиков LaTeX различаются присваивание значения и увеличение на единицу. Реализация счётчиков LaTeX
Этот фрагмент основного текста для примера с нумерацией по разделам задаёт для следующей формулы номер, заканчивающийся на .7:
\setcounter{equation}{6}
\begin{equation}
a(b+c)=ab+ac
\label{eq:restart-seven}
\end{equation}
Выполняйте это вне обёртки subequations, если хотите изменить основную последовательность. Внутри этой обёртки счётчик уравнений используется для подчинённой нумерации, а после выхода восстанавливается родительское значение. Реализация подуравнений
Прежде чем вводить ручной перезапуск, запишите последний использованный номер в этом разделе. Перезапуск с 1 при том же префиксе может привести к повторению видимых идентификаторов, даже если имена меток различаются. Если это соответствует структуре документа, предпочтительнее сбросить нумерацию автоматически при переходе к следующему разделу или главе.
Устраните ошибки нумерации в длинной рукописи
Чтобы найти причину неожиданного номера, выполните следующие шаги. Так вы сможете отделить проблемы настройки от выбора окружения формулы и обновления ссылок.
- Определите класс документа. Прежде чем менять преамбулу, сопоставьте его документированное поведение со стандартными настройками классов.
- Найдите в исходном тексте команды нумерации. Проверьте вхождения
\numberwithin,\counterwithin,\counterwithout,\theequationи\setcounter. Запишите и формат отображения, и все связи сброса. - Проверьте окружение формулы. Для окружения со звёздочкой автоматический номер не выводится; многострочная формула может иметь только один номер, и это нормально.
- Проверьте размещение меток. Помещайте метку каждого уравнения внутрь его окружения, а метку строки — на нужную нумеруемую строку. Метку группы ставьте сразу после
\begin{subequations}. - Перекомпилируйте документ, пока ссылки не перестанут меняться. Если ссылка по-прежнему не работает, сравните её ключ с соответствующей меткой и проверьте в журнале сообщения о неопределённых или повторяющихся метках.
Проверки окружения и метки группы основаны на руководстве amsmath, а проверки ссылок — на механизме вспомогательных файлов LaTeX. Нумерация уравнений и метки, Реализация перекрёстных ссылок LaTeX
В завершение проверьте первое уравнение после каждой используемой структурной границы: раздела, главы, группы подуравнений и приложения. Сравните номера с выбранной схемой, а затем проверьте по одной ссылке на каждый из них. Так вы сможете целенаправленно проверить настройку, прежде чем продолжить работу над всем документом.
Источники
- Руководство пользователя пакета amsmath — Американское математическое общество и проект LaTeX.
- Пакет amsmath — проект LaTeX, через CTAN.
- Простые номера уравнений и нумерация подуравнений — дистрибутив AMS-LaTeX, через CTAN.
- Стандартные классы документов LaTeX, версия 2e — проект LaTeX.
- Пакет chngcntr — Питер Уилсон и Уилл Робертсон, через CTAN.
- Новости LaTeX, выпуск 28 — проект LaTeX.
- Реализация счётчиков LaTeX: ltcounts.dtx — проект LaTeX, через CTAN.
- Реализация перекрёстных ссылок LaTeX: ltxref.dtx — проект LaTeX, через CTAN.
- Изменения в TeXShop — Ричард Кох, Университет Орегона.