我想要配置一个信件首页有不同的页脚比以下页面更多。
我正在使用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}
结果: