Сохраняйте нормальное нижнее поле, если верхнее поле отсутствует.

Сохраняйте нормальное нижнее поле, если верхнее поле отсутствует.

Я использую пакеты geometryи fancyhdrдля удаления верхнего поля с некоторых страниц моего документа:

\fancypagestyle{special}{
    \newgeometry{top=0mm}
}

Это хорошо работает для удаления верхнего поля на всех страницах, где я использую этот стиль, но также изменяет видимое нижнее поле на большее, как будто удаление верхнего поля смещает всю страницу вверх. Как мне восстановить нижнее поле до нормального состояния?

Обновлять:Вот компилируемый код, демонстрирующий проблему:

\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}

Обратите внимание на некрасивый пробел внизу первой страницы.

решение1

Вам не нужно использовать newgeometry, или \fancypagestyle:, просто загрузите eso-picи \AddToShipoutPicture*команду:

\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} 

введите описание изображения здесь введите описание изображения здесь

решение2

Так нельзя. Заголовки страниц добавляютсяпослестраница уже набрана с текущей высотой текста. Таким образом, возможно, можно переместить страницу через \newgeometry, но страница не будет набрана снова.

Поэтому \newgeometryего следует использовать вне стиля страницы, например:

\newpage
\newgeometry{...}
...
\newpage
\restoregeometry

Связанный контент