软件包 scrlayer-scrpage 破坏了 scrlttr2

软件包 scrlayer-scrpage 破坏了 scrlttr2

我正在尝试将 scrlttr2 类的标准页脚从{页码}第 {页码} 页,共 {总页}。在寻找实现此目的的方法时,我发现目前 KOMA 类接受的方法是使用 scrlayer-scrpage 包。但是,加载该包会引发以下错误:

! Missing = inserted for \ifnum.
<to be read again> 
                   \z@ 
l.7 \end{letter}

以下是用于创建此错误的真正最小(非)工作示例:

\documentclass{scrlttr2}
\usepackage{scrlayer-scrpage}

\begin{document}
\begin{letter}{}
This is a MWE.
\end{letter}
\end{document}

有什么建议吗?scrlttr2 和 scrlayer-scrpage 是否不兼容,或者我的软件包(版本)是否有问题?

答案1

您的示例适用于旧版 KOMA-Script 3.22,当前 KOMA-Script 版本 3.23或者当前 KOMA-Script 预发布版本尽管如此,你不需要scrlayer-scrpage改变页面标记,你只需要重新定义命令\pagemark

\documentclass{scrlttr2}
\usepackage{mwe}
\renewcommand*{\pagemark}{\usekomafont{pagenumber}{\thepage\ of
    \letterlastpage}}
\setkomavar{firstfoot}{\centering \pagemark}
\begin{document}
\begin{letter}{You\\There}
  \opening{Hello,}
  \lipsum
  \closing{Bye}
\end{letter}
\end{document}

在此处输入图片描述

或者如果你愿意

在此处输入图片描述

添加

\makeatletter
\@setplength{firstfootvpos}{\dimexpr 1in+\topmargin+\headheight+\headsep+\textheight+\footskip\relax}
\makeatother

文件序言。

相关内容