在以下示例中,几何图形没有改变,尽管我认为它应该改变。我做错了什么?如何修复?
\documentclass{article}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage[bottom=5cm]{geometry}
\begin{document}
\afterpage{\newgeometry{bottom=1cm}}
\lipsum
\lipsum
\end{document}
答案1
答案2
afterpage
将其参数放在一个组中,然后(大多数)设置\newgeometry
不起作用,正如您在此处看到的那样:
\documentclass{article}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage[bottom=5cm]{geometry}
\begin{document}
\lipsum
\lipsum
{\newgeometry{bottom=1cm}} %bottom ignored
\lipsum
\lipsum
\newgeometry{bottom=1cm}
\lipsum
\lipsum
\end{document}
答案3
诀窍是不使用\newgeometry
,因为这无论如何都会发出分页符,但是\enlargethispage
;fancyhdr
使用可以确保页脚保持在原位,这只适用\smash
于第一页的巨型页脚。
\documentclass{article}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{lipsum}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[C]{\small\thepage}
\fancypagestyle{first}{%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}%
\fancyfoot[C]{\giantfooter}%
}
\newcommand{\giantfooter}{%
\leavevmode\smash{\includegraphics[height=5cm]{duck}}%
}
\begin{document}
\thispagestyle{first}\enlargethispage{-5cm}
\lipsum[1-20]
\end{document}
答案4
这是一个解决方案
\documentclass{article}
\usepackage{lipsum}
\usepackage{atbegshi}
\usepackage[bottom=5cm]{geometry}
\begin{document}
\makeatletter
\AtBeginShipoutNext{%
\global\addtolength{\textheight}{4cm}%
\global\setlength{\@colht}{\textheight}}
\makeatother
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}