使用 newgeometry 制作精美标题

使用 newgeometry 制作精美标题

我正在处理一份包含几页文本和一系列整页图表的文档。由于图表比正常文本宽度大,我使用软件包geometry\newgeometry命令更改了它们所在页面的边距。到目前为止一切顺利。

当我尝试使用软件包为文档添加精美的页眉和页脚时,问题就出现了fancyhdr。我的精美页面样式(与 LaTeX 的默认页面样式不同)不会进行调整\newgeometry:页眉会移动以适应新的左边距,但不会改变其宽度以达到右边距。

以下示例应该可以说明我的意思。第一页具有花哨的页面样式,但没有\newgeometry。第二页调用\newgeometry,花哨的页面样式没有调整。第三页具有相同的页面样式\newgeometry,但使用非花哨的页面样式;请注意,在这种情况下,页眉确实一直延伸到右边距。

\documentclass{article}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
    \lhead{Fancy page style}    \chead{}            \rhead{}
    \lfoot{}                    \cfoot{}            \rfoot{\thepage}
    \renewcommand{\headrulewidth}{0.4pt}
    \renewcommand{\footrulewidth}{0.4pt}

\begin{document}
\lipsum[1-5]
\clearpage

\newgeometry{left=1.5cm, right=1.5cm}
\lipsum[1-5]
\clearpage

\thispagestyle{headings}
\lipsum[1-5]
\end{document}

我尝试了所有能想到的方法,包括在声明后定义我的花式页面样式\newgeometry,但行为仍然相同。有什么方法可以将花式页眉放在边距已更改的页面上吗?

答案1

解决方法是使用\fancyhfoffsetafter \newgeometry,这样宽度就会重新计算,例如

\newgeometry{left=1.5cm, right=1.5cm}
\fancyhfoffset[E,O]{0pt}

在我添加\fancyhfoffset[E,O]{0pt}您的代码后,页眉和页脚都会调整到新的边距。

相关内容