我正在尝试将 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
文件序言。