Intentar hacer expresiones condicionales que inspeccionen el recuento total de páginas del documento (veresta pregunta), encontré esta solución usando ifthen
el paquete:
\documentclass{article}
\usepackage{lipsum}
\usepackage{ifthen}
\usepackage{lastpage}
\begin{document}
\ifthenelse{\pageref{LastPage}>1}{\pagestyle{plain}}{\pagestyle{empty}}
\lipsum[2-3]
\end{document}
Me gustaría intentar usarlo etoolbox
en lugar de ifthen
porque parece que ahora es un paquete más usado. Mi siguiente intento no funciona:
\documentclass{article}
\usepackage{lipsum}
\usepackage{etoolbox}
\usepackage{lastpage}
\begin{document}
\ifnumcomp{\pageref{LastPage}}{>}{1}{\pagestyle{plain}}{\pagestyle{empty}}
\lipsum[2-13]
\end{document}
Entonces, ¿cómo puedo hacer esto conetoolbox
Respuesta1
El principal problema es que \pageref{LastPage}
no se puede usar en el argumento de \ifthenelse
, ni en las etoolbox
funciones, porque solo sirve paraimpresiónla referencia de la página.
Hay que utilizar un enfoque diferente, con el paquete más seguro zref-lastpage
.
\documentclass{article}
\usepackage{zref-lastpage}
\makeatletter
\AtBeginDocument{% this must be executed after the aux file has been input
\ifnum\zref@extractdefault{LastPage}{page}{0}>1
\pagestyle{plain}%
\else
\pagestyle{empty}%
\fi
}
\makeatother
\begin{document}
x
%\clearpage
%y
\end{document}
En lugar de \ifnum
la función correspondiente etoolbox
se puede utilizar
\makeatletter
\AtBeginDocument{% this must be executed after the aux file has been input
\ifnumcomp{\zref@extractdefault{LastPage}{page}{0}}{>}{1}
{\pagestyle{plain}}
{\pagestyle{empty}}%
}
\makeatother
Sin embargo, esto aún requiere \makeatletter
y \makeatother
le \AtBeginDocument
gusta el código anterior, porque tenemos que asegurarnos de que el código se ejecute.despuésel .aux
archivo ha sido leído.
Al descomentar las líneas con %
se mostrará el número de página en ambas páginas; ya que no se imprimirá ningún número de página.