zref는 `align`에서 방정식 번호를 재설정합니다.

zref는 `align`에서 방정식 번호를 재설정합니다.

이 예에서는 패키지를 사용할 때 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두 번 처리되기 때문에 혼란스러워집니다. 간단한 패치로 문제를 해결합니다. 비측정 단계에서만 내부 카운터를 스테핑합니다.

\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} 

여기에 이미지 설명을 입력하세요

관련 정보