![Eliminar automáticamente el número de página en documentos de una página](https://rvso.com/image/286331/Eliminar%20autom%C3%A1ticamente%20el%20n%C3%BAmero%20de%20p%C3%A1gina%20en%20documentos%20de%20una%20p%C3%A1gina.png)
La elección de LaTeX de poner un número de página en documentos de una página me parece estilísticamente extraña, por lo que me gustaría suprimir ese comportamiento. Ya hice esto anteriormentea mano, pero sería mejor no tener que realizar un seguimiento de la longitud del documento.
La pregunta ha sido hechaantes, pero la solución preferida por el OP implica jugar con \maketitle
, lo cual no tiene relevancia para mí aquí. el aceptadorespuestacrea una macro que debe ir después \begin{doucument}
, pero sería mejor tener algo que pueda poner en mi preámbulo o .sty
archivo, para no tener que acordarme de poner siempre alguna macro personalizada en cada documento que escribo.
MWE:
\documentclass{article}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\begin{document}
\lipsum[1] % automatically remove page number in a document with this line
\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
Respuesta1
Hay algunos paquetes que pueden contar más o menos el número de páginas ( totpages
, count1to
, lastpage
, ...). El ejemplo utiliza el paquete zref-totpages
:
\documentclass{article}
\usepackage{zref-totpages}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\fancyfoot[C]{%
\ifnum\ztotpages=1 \else\thepage\fi
}
\begin{document}
\lipsum[1] % automatically remove page number in a document with this line
%\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
Se necesitan dos ejecuciones de LaTeX, porque en el momento en que se envía la primera página, no se sabe en general cuántas páginas seguirán.
\ztotpages
es cero en la primera ejecución de LaTeX, cuando la zref
etiqueta LastPage
no está registrada en el .aux
archivo.
Respuesta2
Si le entiendo correctamente, desea eliminar el número de página en la primera página, pero conservar el encabezado. Esto se puede hacer definiendo un estilo fancyhdr personalizado que sea idéntico al predeterminado fancy
pero sin numeración de páginas y utilícelo solo para la primera página. MWE completo:
\documentclass{article}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\fancypagestyle{mystyle}{
\fancyhf{}
\fancyhead[C]{Don't ever remove this header}
\fancyfoot[C]{}
}
\begin{document}
\thispagestyle{mystyle}
\lipsum[1] % automatically remove page number in a document with this line
\pagestyle{fancy}
\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
¡Victoria! Conseguí que la parte de automatización funcionara usando lastpage
y ifthen
. En resumen, comprueba si la longitud del documento (según lo determinado por lastpage
) es superior a 1 página. Si el documento es de 1 página, mystyle
se utiliza el estilo donde hay numeración de páginas. Sin embargo, si el documento tiene más de 1 página, se utilizará la primera página mystyle
y las páginas siguientes utilizarán el fancy
estilo.
\documentclass{article}
\usepackage{lipsum,fancyhdr,ifthen,lastpage}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\fancypagestyle{mystyle}{
\fancyhf{}
\fancyhead[C]{Don't ever remove this header}
\fancyfoot[C]{}
}
\begin{document}
\ifthenelse{\pageref{LastPage}=1}
{
\pagestyle{mystyle}
}
{
\thispagestyle{mystyle}
}
\lipsum[1] % automatically remove page number in a document with this line
\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
Lo único ahora es que no se puede usar en un preámbulo...
Respuesta3
El ejemplo con lastpage
paquete:
\documentclass{article}
\usepackage{lastpage}
\usepackage{refcount}
\usepackage{etoolbox}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\begin{document}
\ifnumcomp{\getpagerefnumber{LastPage}}{>}{2}{}{\fancyfoot{}}
% If document is longer than 2 pages there will be page numeration, if not there will not be.
\lipsum[1] % automatically remove page number in a document with this line
\end{document}
Respuesta4
Buenas noches, podemos probar el número de página al final del documento. Si solo hay una página, se borrará el pie de página en el centro; de lo contrario, continuará sin cambiar los valores predeterminados y el número de página permanecerá intacto.
\documentclass{article}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\begin{document}
\lipsum[1]
%\lipsum[1-6] % Turn on/off this line...
\ifnum\thepage=1\fancyfoot[C]{}\fi
\end{document}