如何在 KOMA(scrartcl/scrletter)中打印“第 # 页,共 ## 页”及其总页码?

如何在 KOMA(scrartcl/scrletter)中打印“第 # 页,共 ## 页”及其总页码?

这个问题解释如何在每页的页脚中显示文档的总页码,即显示“第 # 页,共 ## 页”而不是默认的“第 # 页,共 # 页”。

然而,尽管有人在评论中这样要求,它没有解释如何在 KOMA 课堂上做到这一点。有人建议提出一个新问题。

我使用scrartcl来表示一封信(并加载scrletter),所以我想在这里做同样的事情。那么我该怎么做呢?

上一个问题是询问有关 scrlttr2 的问题 但最好的解决方案是 在这种情况下不起作用. 参见下面的示例。

示例代码:

\documentclass{scrartcl}
\usepackage{scrletter}

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}

\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer

\usepackage{lipsum}
\begin{document}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}

\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}

答案1

使用包scrletter你必须重新定义\letterpagemark

\renewcommand*\letterpagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}

例子:

\documentclass{scrartcl}
\usepackage{scrletter}

\renewcommand*\letterpagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}

\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer

\usepackage{lipsum}
\begin{document}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}

\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}

更多信息可以在 KOMA-Script 文档或末尾找到这个答案


如果文档仅由字母组成,您也可以使用

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\let\letterpagemark\pagemark

\documentclass{scrlttr2}这对和都有效\documentclass{scrartcl}\usepackage{scrletter}

相关内容