В примере ниже (извините, я не знаю, как сделать его меньше) я пытаюсь включить номер страницы в нумерацию уравнений, но на новой странице уравнение нумеруется по предыдущей странице, а не по странице, на которой оно находится. Я указываю, где возникает проблема, с помощью предложения, которое ссылается на неправильно пронумерованное уравнение. Как вы можете видеть, на странице 3 все 4 уравнения в align
среде нумеруются по предыдущей странице.
Я вижу ту же проблему в любой среде, подобной теоремам.
Мотивация: гораздо проще найти уравнение (или любую теоремоподобную структуру) в большой статье или книге, если в ссылке указан номер страницы, а не раздел или что-либо еще.)
\documentclass[12pt,letterpaper]{amsart}
\numberwithin{equation}{page}
\begin{document}
\begin{equation}
\frac12=\frac24\label{eq:1}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:2}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:3}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:4}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:5}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:6}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:7}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:8}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:9}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:10}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:11}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:12}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:13}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:14}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:15}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:16}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:17}
\end{equation}
Equation \eqref{eq:17} is on page \pageref{eq:17}, not on the
previous page.
\begin{equation}
\frac12=\frac24\label{eq:18}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:19}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:20}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:21}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:22}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:23}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:24}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:25}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:26}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:27}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:28}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:29}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:30}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:31}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:32}
\end{equation}
\begin{align}
\frac12&=\frac24\label{eq:33} \\
\frac12&=\frac24\\
\frac12&=\frac24\\
\frac12&=\frac24
\end{align}
Equation \eqref{eq:33} is on page \pageref{eq:33}, not on the previous
page.
\begin{equation}
\frac12=\frac24\label{eq:34}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:35}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:36}
\end{equation}
\end{document}
Добавлено (спасибо!!!): Пакет perpage
работает отлично. Одно замечание: требуется дополнительный запуск латекса. Я мог бы использовать его даже для сред, подобных теоремам. Вот что мне нужно было сделать, чтобы все теоремы были пронумерованы постранично. Обратите внимание, что переопределение счетчика должно было быть сделано после определения среды, thm
поскольку счетчик thm
счетчика не существует до этого.
\mdtheorem[style=theorem]{thm}{Theorem}
\let\origthethm\thethm
\MakePerPage{thm}
\renewcommand{\thethm}{\theperpage.\origthethm}
решение1
Используйте perpage
пакет, который предназначен для таких per - page
действий. Правильное значение страницы можно получить с помощью \theperpage
макроса.
\documentclass[12pt,letterpaper]{amsart}
\let\origtheequation\theequation
\usepackage{perpage}
\MakePerPage{equation}
\renewcommand{\theequation}{\theperpage.\origtheequation}
\begin{document}
\begin{equation}
\frac12=\frac24\label{eq:1}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:2}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:3}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:4}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:5}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:6}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:7}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:8}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:9}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:10}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:11}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:12}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:13}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:14}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:15}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:16}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:17}
\end{equation}
Equation \eqref{eq:17} is on page \pageref{eq:17}, not on the
previous page.
\begin{equation}
\frac12=\frac24\label{eq:18}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:19}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:20}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:21}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:22}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:23}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:24}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:25}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:26}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:27}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:28}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:29}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:30}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:31}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:32}
\end{equation}
\begin{align}
\frac12&=\frac24\label{eq:33} \\
\frac12&=\frac24\\
\frac12&=\frac24\\
\frac12&=\frac24
\end{align}
Equation \eqref{eq:33} is on page \pageref{eq:33}, not on the previous
page.
\begin{equation}
\frac12=\frac24\label{eq:34}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:35}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:36}
\end{equation}
\end{document}
решение2
Вы можете использовать zref
пакет, в частности его perpage
модуль.
Обратите внимание на использование \thezpage
для получения правильного номера страницы, что не совпадает с \thepage
некоторыми обстоятельствами: проблема в том, что TeX выполняет дополнительную верстку, прежде чем осознает, что ему нужно извлечь страницу; это делается для того, чтобы найти оптимальную точку разрыва страницы в соответствии с его правилами.
\documentclass[12pt]{amsart}
\usepackage{zref-perpage}
\usepackage[a6paper]{geometry} % just for the example
\zmakeperpage{equation}
\renewcommand{\theequation}{\thezpage.\arabic{equation}}
\begin{document}
\begin{equation}
\frac12=\frac24\label{eq:1}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:2}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:3}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:4}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:5}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:6}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:7}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:8}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:9}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:10}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:11}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:12}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:13}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:14}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:15}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:16}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:17}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:18}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:19}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:20}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:21}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:22}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:23}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:24}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:25}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:26}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:27}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:28}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:29}
\end{equation}
\begin{equation}
\frac12=\frac24\label{eq:30}
\end{equation}
\end{document}
Пакет geometry
использовался только для сокращения объема кода и отображения нескольких страниц на небольшой картинке.