
Eu sei que posso usar \thepage
para imprimir o número da página atual do meu documento. Mas é possível imprimir o número da próxima página, por exemplo, para frases como “continuar na página”?
Desde já, obrigado :)
Responder1
A numeração de páginas (exibição e referência) normalmente deve ser tratada usando \label
s e \ref
s. Aqui está um exemplo que mostra por que \thepage
nem sempre é preciso:
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1-4] \texttt{Page: \thepage}% On page 1, displays as "Page: 1"
\lipsum[5-7] \texttt{Page: \thepage}% On page 2, displays as "Page: 1"
\end{document}
A saída correta é exibida ao usar o sistema \label
- \ref
:
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\lipsum[1-4] \label{pg:one}\texttt{Page: \pageref{pg:one}}% On page 1, displays as "Page: 1"
\lipsum[5-7] \label{pg:two}\texttt{Page: \pageref{pg:two}}% On page 2, displays as "Page: 2"
\end{document}
O exemplo acima funciona independentemente da representação do page
contador (dada por \thepage
). Por exemplo, só é possível realizar cálculos \thepage
se ele se expandir para um número (via \arabic{page}
, normalmente). Não seria possível usar \thepage
dentro de \frontmatter
um book
ou report
, já que o \thepage
padrão é \roman{page}
.
Se você realmente deseja realizar cálculos no número da página, use o sistema \label
- \ref
junto comrefcount
:
\documentclass{article}
\usepackage[nopar]{lipsum}
\usepackage{refcount}
\begin{document}
\lipsum[1-4] \label{pg:one}\texttt{Page: \pageref{pg:one}}% On page 1, displays as "Page: 1"
\lipsum[5-7] \texttt{Page: \number\numexpr\getpagerefnumber{pg:one}+1\relax}% On page 2, displays as "Page: 2"
\end{document}
Responder2
Sim, isso é possível, mesmo sem a utilização de pacotes extras. Basta escrever um pequeno macro no preâmbulo do seu documento assim:
\newcommand{\thenextpage}{
\number\numexpr\thepage+1\relax
}
Em seguida, use \thenextpage
qualquer lugar do documento para imprimir o número da próxima página.