上余白がない場合は通常の下余白を維持する

上余白がない場合は通常の下余白を維持する

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

関連情報