如何创建如下所示的目录:
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 中,要将附录的编号样式从A
、B
、 ... 更改为<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}