我想让第一页的上边距比其他页面大。我使用的代码是:
\documentclass[12pt]{article}
\usepackage{geometry}
\geometry{
top=8cm,
hmargin=1in,
}
\usepackage{mwe}
\usepackage{afterpage}
\begin{document}
\lipsum
\afterpage{
\newgeometry{
top=3cm
}
}
\lipsum
\end{document}
输出的 PDF 每页布局都相同,我没有得到我想要的效果。如何才能让第一页的布局不同?
答案1
需要考虑两件事:
首先,该\afterpage
命令将其内容扩展为一个组,因此除非更改,否则更改将被还原\global
。 的效果\newgeometry
是局部的,因此在 内执行时什么也不会发生\afterpage
。
其次,该\afterpage
命令将其参数插入到当前页面已经结束,因此如果您执行\lipsum\afterpage{<something>}\lipsum
,<something>
则会将其插入到第一页结束后的下一页中\lipsum
(在本例中,即文档的中间部分)。
为了解决这些问题,我使用了\restoregeometry
另一种方法,它只有一个令牌,因此可以轻松插入\aftergroup
,并且我将调用移到了\afterpage
文档的开头,因此它在第一页结束后就会生效。
\documentclass[12pt]{article}
\usepackage{geometry}
\geometry{
top=3cm,
hmargin=1in,
}
\usepackage{mwe}
\usepackage{afterpage}
\begin{document}
\newgeometry{top=8cm}
\afterpage{\aftergroup\restoregeometry}
\lipsum
\lipsum
\end{document}