在下面的例子中(抱歉,我不知道如何缩小它),我尝试在公式编号中包含页码,但在新页面的顶部,公式按上一页编号,而不是按其实际所在的页面编号。我用引用错误编号公式的句子来指出问题所在。如您所见,在第 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
软件包运行完美。有一点需要注意:它需要额外运行一次 latex。我甚至可以将它用于类定理环境。以下是我需要做的,以便按页对所有定理进行编号。请注意,计数器重新定义必须在环境定义之后进行,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
包只是为了减少代码量并在一张小图片中显示多个页面。