更改最后一页的几何形状

更改最后一页的几何形状

我正在使用 KOMA Script 类,需要更改最后一页的布局。比如说,最后一页应该增加顶部部分。

我尝试过不同的方法,但都没有成功。

\documentclass[twoside]{scrartcl}

\usepackage[showframe]{geometry}
\usepackage{lipsum}

%% This does not work
\AtEndDocument{\newgeometry{top=85mm}}

\begin{document}

\lipsum[1-8]

%% This should be executed automatically!
\newgeometry{top=85mm}
\lipsum[9-12]

\end{document}

答案1

一般来说,了解最后一页页面布局改变的原因会很有用。例如,如果该页面上有特殊内容,则顶部边距的更改可以与该内容绑定。或者,如果最后一页的内容应该只是底部对齐,这也可能有另一种解决方案。但因为你的问题比较笼统,关于更改最后一页的topwithgeometry包设置,这里有一个建议:

\documentclass[twoside]{scrartcl}

\usepackage[showframe]{geometry}
\usepackage{lipsum}

\makeatletter
\AddToHook{shipout/after}{%
  \ifnum \c@totalpages=\numexpr\@abspage@last-1\relax
    \newgeometry{top=85mm}%
    \global\textheight=\textheight
    \global\topmargin=\topmargin
    \global\@colht=\textheight % maybe not needed
    \global\@colroom=\textheight % maybe not needed
    \global\vsize=\textheight % maybe not needed
  \fi
}
\makeatother

\begin{document}

\lipsum[1-8]

%% This should be executed automatically!
%\newgeometry{top=85mm}
\lipsum[9-12]

\end{document}

经过至少两次 LaTeX 运行后,结果如下:

在此处输入图片描述

为了改变左边距或右边距或页眉的高度,可能还需要进行额外的全局长度更改,但这不是问题所在。

只需补充一点:加载geometry已经改变了 的边距scrartcl。如果您不想要这个,您可以使用 KOMA-Script 选项usegeometrygeometry选项pass

相关内容