fancyhdr 与附录包

fancyhdr 与附录包

在撰写报告时,我喜欢使用fancyhdr包作为标题,使用appendix包作为附录,但我遇到了兼容性的小问题。请考虑以下情况:

\documentclass{report}
\usepackage[toc,page]{appendix}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{} % clear the headers
\fancyhead[L]{\nouppercase{\leftmark}}
\renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter\ -- #1}{}}

\begin{document}
\chapter{The first chapter}
The main body text.
\newpage
This second page has a header.

\begin{appendices}

\chapter{The first appendix}
Appendix text.
\newpage
This second page has a header.

\end{appendices}

\end{document}

如果排版上述内容,就会发现附录的第二页有一个标题,上面写着“A 章 - 第一个附录”。

如何改变上述代码,使其改为显示“附录 A - 第一个附录”(主体中的标题保持不变)?

非常感谢。

答案1

替换\chaptername\@chapapp

\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\@chapapp\ \thechapter\ -- #1}{}}
\makeatother

例子:

\documentclass{report}
\usepackage[toc,page]{appendix}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{} % clear the headers
\fancyhead[L]{\nouppercase{\leftmark}}
\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\@chapapp\ \thechapter\ -- #1}{}}
\makeatother

\begin{document}
\chapter{The first chapter}
The main body text.
\newpage
This second page has a header.

\begin{appendices}
\chapter{The first appendix}
Appendix text.
\newpage
This second page has a header.
\end{appendices}
\end{document}

相关内容