我正在为一本书使用 Southall 章节样式。但是,我需要对其进行自定义,以便附录显示“附录 A”等,而不仅仅是“A”等。也就是说,主要章节的章节编号应保持原样,但对于附录,它们前面应加上“附录”标签。
我的MWE如下:
\documentclass{memoir}
\usepackage{lipsum}
\chapterstyle{southall}
\renewcommand\cftappendixname{\appendixname~}
\begin{document}
\frontmatter
\tableofcontents*
\chapter{Preface}
\lipsum[1]
\mainmatter
\chapter{Introduction}
\lipsum[1]
\begin{appendices}
\chapter{Extra material at the back}
\lipsum[1]
\end{appendices}
\end{document}
答案1
这里有一种方法可以做到:这个想法是定义appsouthall
原始southall
样式的变体,然后使用该etoolbox
包,以便在环境中使用新样式appendices
。
代码:
\documentclass{memoir}
\usepackage{etoolbox}
\usepackage{lipsum}
\chapterstyle{southall}
\renewcommand\cftappendixname{\appendixname~}
\newlength\AppWd
\settowidth\AppWd{\chapnumfont\appendixname}
\makechapterstyle{appsouthall}{%
\chapterstyle{southall}
\addtolength{\midchapskip}{-\AppWd}
\renewcommand*{\printchapternum}{%
\begin{minipage}[t][\baselineskip][b]{\dimexpr\beforechapskip+\AppWd\relax}
{\vspace{0pt}\chapnumfont%%%\figureversion{lining}
\appendixname~\thechapter}
\end{minipage}}%
}
\AtBeginEnvironment{appendices}{\chapterstyle{appsouthall}}
\begin{document}
\frontmatter
\tableofcontents*
\chapter{Preface}
\lipsum[1]
\mainmatter
\chapter{Introduction}
\lipsum[1]
\begin{appendices}
\chapter{Extra material at the back}
\lipsum[1]
\end{appendices}
\end{document}
结果: