![如何在 KOMA(scrartcl/scrletter)中打印“第 # 页,共 ## 页”及其总页码?](https://linux22.com/image/426760/%E5%A6%82%E4%BD%95%E5%9C%A8%20KOMA%EF%BC%88scrartcl%2Fscrletter%EF%BC%89%E4%B8%AD%E6%89%93%E5%8D%B0%E2%80%9C%E7%AC%AC%20%23%20%E9%A1%B5%EF%BC%8C%E5%85%B1%20%23%23%20%E9%A1%B5%E2%80%9D%E5%8F%8A%E5%85%B6%E6%80%BB%E9%A1%B5%E7%A0%81%EF%BC%9F.png)
这个问题解释如何在每页的页脚中显示文档的总页码,即显示“第 # 页,共 ## 页”而不是默认的“第 # 页,共 # 页”。
然而,尽管有人在评论中这样要求,它没有解释如何在 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}
。