
Estoy usando los paquetes geometry
and fancyhdr
para eliminar el margen superior de algunas páginas de mi documento:
\fancypagestyle{special}{
\newgeometry{top=0mm}
}
Esto funciona bien para eliminar el margen superior en todas las páginas donde uso este estilo, pero también cambia el margen inferior aparente para que sea más grande, como si al eliminar el margen superior se desplazara toda la página hacia arriba. ¿Cómo podría restaurar el margen inferior a la normalidad?
Actualizar:Aquí hay un código compilable para demostrar el problema:
\documentclass[openany]{book}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{bophook}
\usepackage{afterpage}
\usepackage{lipsum}
\fancypagestyle{special}{
\newgeometry{top=0mm}
}
\fancypagestyle{plain}{
\restoregeometry
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
\begin{document}
\pagestyle{plain}
\thispagestyle{special}
\centerline{\includegraphics[width=\paperwidth, trim={0 37mm 0 37mm},clip]{Downloads/full.jpg}}
\section*{Test}
\lipsum[1-10]
\end{document}
Observe el feo espacio al final de la primera página.
Respuesta1
No necesitas usar newgeometry
, ni \fancypagestyle
: solo cargar eso-pic
y el \AddToShipoutPicture*
comando:
\documentclass[openany]{book}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage[showframe]{geometry}
\usepackage{fancyhdr}
\usepackage{bophook}
\usepackage{afterpage}
\usepackage{lipsum}
\usepackage{eso-pic}
\begin{document}
\pagestyle{plain}
\AddToShipoutPictureBG*{\AtPageUpperLeft{%
\makebox[\paperwidth]{\includegraphics[scale = 1.05,valign=t]{SanRomano-all}}}}
\section*{Test}
\lipsum[1-20]
\end{document}
Respuesta2
No puedes de esta manera. Se agregan los encabezados de página.despuésla página ya está escrita con la altura del texto actual. Por lo tanto, es posible mover la página a través de \newgeometry
, pero la página no se vuelve a componer.
Por lo tanto, \newgeometry
debe usarse fuera de un estilo de página, por ejemplo:
\newpage
\newgeometry{...}
...
\newpage
\restoregeometry