scrartcl / scrletter:将第一页的页面样式应用于后续页面

scrartcl / scrletter:将第一页的页面样式应用于后续页面
\documentclass{scrartcl}
\usepackage{lipsum}
\usepackage{scrletter}

\setkomavar{fromname}{Best son}
\setkomavar{backaddress}{Smaland 3, Childrentown}

\let\letterpagemark\pagemark

\setkomavar{firstfoot}{%
    \begin{tabular}{p{0.95\textwidth}p{0.05\textwidth}}
        a beautiful table & \pagemark/\letterlastpage\\
    \end{tabular}
}

\setkomavar{nextfoot}{\usekomavar{firstfoot}}

\begin{document}

\begin{letter}{Mom\\Parentstreet 1\\Hell}

\opening{Dear Mom,}

\lipsum[1-4]

\end{letter}
\end{document}

生成:

在此处输入图片描述

为什么\nextfoot不改变页码大于 1 的页脚外观?由于原因,我希望文档的所有页面都具有相同的页脚样式。

答案1

KOMA 变量nextfoot将与页面样式一起使用letter。但第二封信页面的默认页面样式是plain.letter。因此您只能在第 2 页的页脚中看到页码。

您可以重新定义\letterpagestyle

\setkomavar{nextfoot}{\usekomavar{firstfoot}}
\renewcommand*{\letterpagestyle}{letter}% default is `plain.letter`

或者你可以使用

\setkomavar{nextfoot}{\usekomavar{firstfoot}}
\AtBeginLetter{\cfoot*{\usekomavar{nextfoot}}}

或者

\AtBeginLetter{\cfoot*{\usekomavar{firstfoot}}}

但请注意,首封页和其他页面的页脚位置和宽度都不同。字体设置也不同。

如果所有信件页面的页脚都应该相同(包括位置、宽度和字体),您可以重新定义页面样式对letter(即 样式letter及其普通样式plain.letter),并将第一封信件页面的样式更改为plain.letter(或其别名plain)。请注意,第一封信件页面的默认页面样式为empty,即firstfootfirsthead不属于页面样式。

\documentclass{scrartcl}
\usepackage{lipsum}
\usepackage{scrletter}

\setkomavar{fromname}{Best son}
\setkomavar{backaddress}{Smaland 3, Childrentown}

\let\letterpagemark\pagemark

\renewpairofpagestyles{letter}{%
  \clearpairofpagestyles
  \ifoot[text in inner footer]{}
  \ofoot*[\pagemark/\letterlastpage]{}
  \setkomafont{pagefoot}{\normalfont}%
  \KOMAoptions{footwidth=\useplength{firstfootwidth}}% change foot width for letter and plain.letter
}

% change vertical position of footer in style plain.letter:
\ForEachLayerOfPageStyle*{plain.letter}{%
  \Ifstrstart{#1}{plain.letter.foot}
     {\ModifyLayer[voffset={\useplength{firstfootvpos}}]{#1}}{}%
}
% the same can be done for page style letter (if this style is used too)

% use style plain.letter on first letter page, too
\newcommand*\originalopening{}
\let\originalopening\opening
\renewcommand*{\opening}[1]{%
  \originalopening{#1}%
  \thispagestyle{plain}% plain is an alias of plain.letter while page style pair letter is active
}
\KOMAoptions{firstfoot=false}% remove the default footer from first letter page

\begin{document}
\begin{letter}{Mom\\Parentstreet 1\\Hell}
\opening{Dear Mom,}
\lipsum[1-4]
\end{letter}
\end{document}

在此处输入图片描述

相关内容