附录包不支持子附录环境中的“header”选项——解决方法?

附录包不支持子附录环境中的“header”选项——解决方法?

基本上就是标题所说的内容。在使用 appendix 包的 subappendices 环境时,有没有办法自动在页眉中显示“附录 A -- 标题”而不是“A -- 标题”?我从包文档中了解到不支持此功能,但我需要使用 subappendices 环境,因为我在每一章的末尾都有附录。

答案1

这是一个可能的方法——根据需要\AtBeginEnvironment添加一些重新定义的代码。\sectionmark

\documentclass[oneside]{book}
\usepackage{appendix}
\usepackage{blindtext}
\usepackage{xpatch}

\begin{document}

\makeatletter
\AtBeginEnvironment{subappendices}{%
 \renewcommand{\sectionmark}[1]{%
   \if@twoside
   \markboth{\appendixname\ \Alph{section}\ -- #1}{}
   \else
   \markright{\appendixname\ \Alph{section}\ --  #1}{}
   \fi
 }
}
\makeatother



\tableofcontents
\chapter{First}
\blindtext[5]

\begin{subappendices}
  \section{Foo}
\blindtext[5]

  \section{Another Foo}
\blindtext[5]
\end{subappendices}

\chapter{Another Chapter}

\blindtext[5]

\begin{subappendices}
  \section{Yet another foo}
\blindtext[5]
\end{subappendices}



\end{document}

相关内容