包含“章节”的目录以及每章的“附录”

包含“章节”的目录以及每章的“附录”

如何创建如下所示的目录:

Chater 1 Name

   1.1 section
   1.2 section 
   Appendix A
   Appendix B

Chapter 2 Name

   2.1 section
   2.2 section 
   Appendix A
   Appendix B

具体来说,我想知道如何为每一章而不是整个文档创建附录条目。我还想知道如何添加如上所示的术语“附录”和“章节”。

答案1

我相信以下代码可以满足您的大部分要求。请确保\appsecnums在附录区域的开头使用每章中的宏。

此代码的主要(但希望不是取消资格的)限制是,您不能在附录类型的部分内有子部分(或子子部分),因为编号不正确。(具体来说,您会在子部分编号前加上一个不必要的“附录”字符串。)当交叉引用标记为 的附录部分时,请务必\label{sec:newapp}写成\ref{sec:newapp}而不是Appendix~\ref{sec:newapp}

\documentclass{report}
\usepackage{tocloft} % the tocloft package lets you redefine the Table of Contents (ToC)
  \renewcommand\cftchappresnum{Chapter } % prefix "Chapter " to chapter number in ToC
  \cftsetindents{chapter}{0em}{8em}      % set amount of indenting
  \cftsetindents{section}{2em}{6em}
% Macros to redefine numbering of appendix sections (and to
%   reset numbering when not in per-chapter area appendix)
\newcommand\normalsecnums{%
    \renewcommand\thesection{\thechapter.\arabic{section}}}
\let\origchapter\chapter
\renewcommand{\chapter}[1]{\normalsecnums
    \origchapter{#1}}
\newcommand\appsecnums{%   % execute this command before entering appendix area
    \setcounter{section}{0}
    \renewcommand\thesection{\appendixname~\Alph{section}}}

\begin{document}
\tableofcontents
\chapter{First Chapter}
\section{Section Title}
\section{Section Title}
\appsecnums  % switch to "appendix-style" numbering of sections
\section{Some additional stuff}
\section{Still more additional stuff}

\chapter{Another Chapter}
\section{Section Title}
\section{Section Title}
\appsecnums  % switch to "appendix-style" numbering of sections
\section{Some additional stuff}
\section{Still more additional stuff}
\end{document}

在此处输入图片描述

附录。在上面的 MWE 中,要将附录的编号样式从AB、 ... 更改为<chapnum>.A<chapnum>.B、 ...,您需要修改指令

\renewcommand\thesection{\appendixname~\Alph{section}}}

如下:

\renewcommand\thesection{\appendixname~\thechapter.\Alph{section}}}

您可能还需要在cftsetindents命令的第三个参数中稍微增加缩进量,比如说 0.75em:

\cftsetindents{chapter}{0em}{8.75em}  
\cftsetindents{section}{2em}{6.75em}

答案2

您可以执行以下操作。它用于\section*放置附录。请注意,您必须\Appx为此使用特殊的新命令。amsmath已加载包以提供命令\numberwithin

编辑:修改了负责打印目录中章节条目的命令\l@chapter,以便它们包含章节名称。

\documentclass{report}

\usepackage{amsmath}
\makeatletter

% Per-section appendicies
\newcounter{Appx}
\numberwithin{Appx}{chapter}
\def\@Appx[#1]#2{
\refstepcounter{Appx}
\section*{%
\addcontentsline{toc}{section}{\appendixname\ \Alph{Appx}\quad#1}%
\appendixname\ \Alph{Appx}\quad#2}
}
\def\@@Appx#1{\@Appx[#1]{#1}}
\def\Appx{\@ifnextchar[\@Appx\@@Appx}

% "Chapter" prefix in ToC
\let\@@l@chapter\l@chapter
\def\l@chapter#1{\@@l@chapter{\chaptername\ #1}}

\makeatother

\begin{document}

\tableofcontents

\chapter{CHP}
\section{SEC}
\section{SECC}
\Appx{APX}
\Appx{APXX}

\chapter{CHP}
\section{SEC}
\section{SECC}
\Appx{APX}
\Appx{APXX}

\end{document}

相关内容