在 KOMA 脚本中,当第一页/后续页使用不同的页脚时,放大第一页的文本区域

在 KOMA 脚本中,当第一页/后续页使用不同的页脚时,放大第一页的文本区域

我想要配置一个信件首页有不同的页脚比以下页面更多。

我正在使用geometry-package 定义后续页面的文本区域和页脚的位置,同时使用 调整第一个页脚的位置\setplength{firstfootvpos}{250mm}

不幸的是,第一页的文本区域被裁剪了: 裁剪

虽然我想要以下行为,但我设法\enlargethispage{\dimexpr 20mm-\topskip \relax}在之后强制执行\begin{letter}

通缉

.cls我设法在样式类中使用来实现这一点

\AtBeginLetter{\enlargethispage{\dimexpr 27.4mm-\topskip \relax}}

有没有更优雅的方法?为什么enlargefirstpage没有效果?

梅威瑟:

\documentclass[]{scrlttr2}
\usepackage{lipsum}
\usepackage{showframe}

\usepackage[footskip=20mm]{geometry}

\setkomavar{firstfoot}{% do not remove this line end comment to prevent unintended indent
    Footer
}

\KOMAoptions{
    enlargefirstpage % <- no effect
}

\setplength{firstfootvpos}{250mm}

\begin{document}

\begin{letter}{Test}
%\enlargethispage{\dimexpr 20mm-\topskip \relax} % <- wanted result
\opening{Hello}

\lipsum[1-20]

\end{letter}
\end{document}

答案1

如果\KOMAoptions{enlargefirstpage}要产生效果,则必须添加选项firstfoot=false。有关更多信息,请参阅文档。

如果您使用firstfoot=false(不带选项enlargefirstpage!),您将在第一页上获得所需的文本主体效果。对于页脚,您可以加载包scrlayer,定义一个图层和一个页面样式,它们可以在第一封信页面上使用以添加页脚。

\documentclass{scrlttr2}
\usepackage{lipsum}
\usepackage{showframe}

\usepackage[footskip=20mm]{geometry}

\KOMAoptions{firstfoot=off}% disables the default letter footer on the firs page
\usepackage{scrlayer}
\DeclareNewLayer[
  align=tl,
  hoffset=\dimexpr.5\paperwidth-.5\useplength{firstfootwidth}\relax,
  voffset=\useplength{firstfootvpos},
  width=\useplength{firstfootwidth},
  height=\dimexpr\paperheight-\useplength{firstfootvpos},
  foreground,
  mode=picture,
  contents={\putUL{\raisebox{-\height}{\parbox{\layerwidth}{\usekomavar{firstfoot}}}}}
]{firstfoot}
\DeclarePageStyleByLayers{firstpage}{firstfoot}

\usepackage{xpatch}
\xapptocmd{\opening}{\thispagestyle{firstpage}}{}{}% by default the first letter page uses page style empty

\setplength{firstfootvpos}{250mm}

\setkomavar{firstfoot}{% do not remove this line end comment to prevent unintended indent
    Footer
}
\setkomavar{firsthead}{Header}% still works as expected

\begin{document}
\begin{letter}{Test}
\opening{Hello}
\lipsum[1-20]
\end{letter}
\end{document}

结果:

在此处输入图片描述

相关内容