设置几何图形 \AtBeginDocument 时边距溢出

设置几何图形 \AtBeginDocument 时边距溢出

使用以下最小工作示例

\documentclass[12pt,a4paper]{article}

\usepackage[showframe]{geometry}
\geometry{hmargin={3.5cm,2.5cm}}

\AtBeginDocument{\geometry{vmargin={12cm,5cm}}}

\usepackage{lipsum}

\begin{document}
\lipsum[1-10]
\end{document}

第一页的文本溢出了下边距。其他页面正常,如下图所示:

  • 首页边距(超出)

首页下边距溢出

  • 其他页面(符合预期)

其他页面运行正常

我需要使用 MWE 中的命令来执行复杂的序列(创建一个复杂的模板作为文档类,计算模板中涉及的一些长度,然后在文本块上放置适当的边距以适合模板),因此将 MWE 重新定义为答案可能并不可取。

答案1

您不能使用\geometry来设置文本主体内部的内容。请\newgeometry改用。但是,fancyhdr应该总是已加载 geometry

\documentclass[12pt,a4paper]{article}

\usepackage[showframe]{geometry}
\geometry{hmargin={3.5cm,2.5cm}}

\AtBeginDocument{\newgeometry{vmargin={12cm,5cm}}}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.0pt}
\renewcommand{\footrulewidth}{0.0pt}

\usepackage{lipsum}

\begin{document}
\lipsum[1-10]
\end{document}

相关内容