新しいページの上にある式ではページカウンターが機能しません

新しいページの上にある式ではページカウンターが機能しません

以下の例では (申し訳ありませんが、小さくする方法がわかりません)、方程式の番号付けにページ番号を含めようとしましたが、新しいページの上部では、方程式は実際のページではなく前のページで番号付けされます。問題が発生する場所を、誤って番号付けされた方程式を参照する文で示します。ご覧のとおり、ページ 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パッケージは完璧に動作しました。1 つ注意点があります。LaTeX をもう 1 回実行する必要があります。定理のような環境にも使用できます。すべての定理をページごとに番号付けするために必要な操作は次のとおりです。カウンターカウンターは環境の定義前には存在しない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パッケージは、コードの量を減らし、複数のページを小さな画像で表示するためにのみ使用されています。

ここに画像の説明を入力してください

関連情報