Estoy intentando utilizar el zref-perpage
paquete para numerar entornos y ecuaciones similares a teoremas por página. Desafortunadamente, no funciona bien. En este primer ejemplo vemos que el segundo thm
aparece en la 2ª página, pero su contador es 1,2 en lugar de 2,1. Los números de las ecuaciones salen bien.
\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}
En el segundo ejemplo, el único cambio que hago es aumentar textheight
de 1 pulgada a 1,5 pulgadas. Esto hace que el segundo thm
comience en la primera página pero termine en la segunda. Como puedes ver, esta vez el contador de ecuaciones se estropea: la segunda ecuación está en la segunda página, pero recibe la etiqueta 1.3, como si estuviera en la 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 sugerencia de @christian, en el siguiente ejemplo solo uso article
y, con textheight=.9in
, el segundo thm
está en la segunda página, pero el thm
contador muestra 1,2 en lugar 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 ejemplo muestra que el perpage
paquete tampoco 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}
Respuesta1
El entorno equation
, redefinido por paquete amsmath
, incrementa el contador de ecuacionesantesSe inician las matemáticas. Por lo tanto, sucede que hay un salto de página entre la configuración del contador y la ecuación matemática mostrada. El primero es el lugar donde se establece la etiqueta para obtener el número de página.
Soluciones alternativas:
Poniendo un
minipage
círculo para evitar el salto de página:\noindent \begin{minipage}{\linewidth} \begin{equation}...\end{equation} \end{minipage}
Redefinición de
\equation
mover\incr@eqnum
, que llama\refstepcounter{equation}
, a un lugar posterior:\makeatletter \renewcommand*{\equation}{% amsmath version \nobreak \mathdisplay@push \st@rredfalse \global\@eqnswtrue \mathdisplay{equation}% \incr@eqnum } \makeatother