自定义 southall 章节样式

自定义 southall 章节样式

我正在为一本书使用 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}

结果:

在此处输入图片描述

相关内容