當沒有上邊距時,保持正常的下邊距

當沒有上邊距時,保持正常的下邊距

我正在使用geometryfancyhdr包來刪除文檔中某些頁面的上邊距:

\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

相關內容