Im folgenden Beispiel (leider weiß ich nicht, wie ich es kleiner machen kann) versuche ich, die Seitenzahl in die Nummerierung der Gleichung einzubeziehen, aber oben auf einer neuen Seite wird die Gleichung nach der vorherigen Seite nummeriert, nicht nach der Seite, auf der sie sich tatsächlich befindet. Ich zeige an, wo das Problem auftritt, mit einem Satz, der auf die falsch nummerierte Gleichung verweist. Wie Sie sehen, align
werden oben auf Seite 3 alle 4 Gleichungen in der Umgebung nach der vorherigen Seite nummeriert.
Ich sehe das gleiche Problem in jeder theoremähnlichen Umgebung.
Motivation: Es ist viel einfacher, eine Gleichung (oder eine theoremähnliche Struktur) in einem großen Artikel oder Buch zu finden, wenn in der Referenz die Seitenzahl und nicht der Abschnitt oder etwas anderes angegeben ist.)
\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}
Hinzugefügt (danke!!!): Das Paket hat perfekt funktioniert. Eine Anmerkung: Es erfordert einen zusätzlichen Durchlauf von Latex. Ich könnte es sogar für theoremähnliche Umgebungen verwenden. Folgendes musste ich tun, damit alle Theoreme seitenweise nummeriert werden. Beachten Sie, dass die Neudefinition des Zählers nach der Definition der Umgebung perpage
erfolgen musste, da der Zähler vorher nicht existiert.thm
thm
\mdtheorem[style=theorem]{thm}{Theorem}
\let\origthethm\thethm
\MakePerPage{thm}
\renewcommand{\thethm}{\theperpage.\origthethm}
Antwort1
Verwenden Sie das perpage
Paket, das für solche per - page
Aktivitäten vorgesehen ist. Der korrekte Seitenwert kann mit dem \theperpage
Makro abgerufen werden.
\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}
Antwort2
zref
Sie können das Paket und insbesondere dessen perpage
Module verwenden .
Beachten Sie die Verwendung von \thezpage
zum Abrufen der richtigen Seitenzahl, die \thepage
in manchen Fällen nicht dasselbe ist wie: Das Problem besteht darin, dass TeX die Dinge weiter setzt, bevor es erkennt, dass eine Seite ausgeworfen werden muss; dies wird gemacht, um den optimalen Seitenumbruchpunkt entsprechend seinen Regeln zu finden.
\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}
Das geometry
Paket wurde nur verwendet, um die Codemenge zu reduzieren und mehrere Seiten in einem kleinen Bild anzuzeigen.