この例では、パッケージを使用するとzref-perpage
、環境に入るときに方程式の番号がリセットされる (1 から始まる)ことがわかりますalign
。perpage
パッケージにはこの問題はありません。
\documentclass{article}
\usepackage{amsmath}
\usepackage{zref-perpage}
\zmakeperpage{equation}
\renewcommand{\theequation}{\thezpage.\arabic{equation}}
\begin{document}
Equation:
\begin{equation}
1<2
\end{equation}
Align:
\begin{align}
2&<3\\
&<4
\end{align}
Equation:
\begin{equation}
4<5
\end{equation}
Align:
\begin{align}
5&<6\\
&<7
\end{align}
Equation:
\begin{equation}
7<8
\end{equation}
\end{document}
答え1
zref-perpage
材料がalign
2 回処理されるため、混乱が生じます。簡単なパッチでこの問題を解決します。つまり、測定フェーズ以外でのみ内部カウンターをステップします。
\documentclass{article}
\usepackage{amsmath}
\usepackage{zref-perpage}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\ZREF@@perpage@step}
{\global\advance\c@zref@unique\ltx@one}
{\ifmeasuring@\else\global\advance\c@zref@unique\ltx@one\fi}
{}{}
\makeatother
\zmakeperpage{equation}
\renewcommand{\theequation}{\thezpage.\arabic{equation}}
\begin{document}
Equation:
\begin{equation}
1<2
\end{equation}
Align:
\begin{align}
2&<3\\
&<4
\end{align}
Equation:
\begin{equation}
4<5
\end{equation}
Align:
\begin{align}
5&<6\\
&<7
\end{align}
Equation:
\begin{equation}
7<8
\end{equation}
\end{document}