Estou tentando usar o zref-perpage
pacote para numerar ambientes e equações semelhantes a teoremas por página. Infelizmente, não funciona bem. Neste primeiro exemplo, vemos que o segundo thm
aparece na 2ª página, mas seu contador é 1,2 em vez de 2,1. Os números das equações saem OK.
\documentclass{amsart}
\usepackage[textheight=1in]{geometry}
\usepackage{zref-perpage}
\newtheorem{thm}{Theorem}
\zmakeperpage{thm}
\renewcommand{\thethm}{\thezpage.\arabic{thm}}
\zmakeperpage{equation}
\renewcommand{\theequation}{\thezpage.\arabic{equation}}
\begin{document}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\end{document}
No segundo exemplo, a única alteração que faço é aumentar textheight
de 1 pol para 1,5 pol. Isso faz com que o segundo thm
comece na primeira página, mas termine na segunda página. Como você pode ver, desta vez o contador de equações fica bagunçado: a segunda equação está na 2ª página, mas recebe o rótulo 1.3, como se estivesse na página 1.
\documentclass{amsart}
\usepackage[textheight=1.5in]{geometry}
\usepackage{zref-perpage}
\newtheorem{thm}{Theorem}
\zmakeperpage{thm}
\renewcommand{\thethm}{\thezpage.\arabic{thm}}
\zmakeperpage{equation}
\renewcommand{\theequation}{\thezpage.\arabic{equation}}
\begin{document}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\end{document}
Por sugestão do @christian, no exemplo a seguir utilizo apenas article
e, com textheight=.9in
, o segundo thm
fica na 2ª página, mas o thm
contador mostra 1,2 em vez de 2,1.
\documentclass[letterpaper]{article}
%\usepackage{mdframed}
\usepackage[textheight=.9in]{geometry}
\usepackage{zref-perpage}
\newtheorem{thm}{Theorem}
\zmakeperpage{thm}
\renewcommand{\thethm}{\thezpage.\arabic{thm}}
\zmakeperpage{equation}
\renewcommand{\theequation}{\thezpage.\arabic{equation}}
\begin{document}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\end{document}
Este exemplo mostra que o perpage
pacote também não funciona.
\documentclass[letterpaper]{article}
\usepackage[textheight=.9in]{geometry}
\usepackage{perpage}
\newtheorem{thm}{Theorem}
\let\origthethm\thethm
\MakePerPage{thm}
\renewcommand{\thethm}{\theperpage.\origthethm}
\let\origtheequation\theequation
\MakePerPage{equation}
\renewcommand{\theequation}{\theperpage.\origtheequation}
\begin{document}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\begin{thm}
We have
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\begin{equation}
\int_1^e\frac1x = 1
\end{equation}
\end{thm}
\end{document}
Responder1
Ambiente equation
, redefinido pelo pacote amsmath
, incrementa o contador de equaçõesantesa matemática é iniciada. Assim, acontece que há uma quebra de página entre a configuração do contador e a equação matemática exibida. O primeiro é o local onde a etiqueta é definida para obter o número da página.
Soluções alternativas:
Colocando um
minipage
ao redor para evitar a quebra de página:\noindent \begin{minipage}{\linewidth} \begin{equation}...\end{equation} \end{minipage}
Redefinição de
\equation
to move\incr@eqnum
, que chama\refstepcounter{equation}
, para um local posterior:\makeatletter \renewcommand*{\equation}{% amsmath version \nobreak \mathdisplay@push \st@rredfalse \global\@eqnswtrue \mathdisplay{equation}% \incr@eqnum } \makeatother