对于我的论文,我有多个parts
来代表每篇单独的论文。我试图让appendix
每个都part
遵循part
,然后将章节编号重置为 1(而不是继续以附录样式为 A、B、C 等)。
我目前正在使用的代码不起作用:
\documentclass[11pt,a4paper,oneside]{book}
\begin{document}
\tableofcontents
\part{Part I}
\chapter{Chapter 1}
\chapter{Chapter 2}
\begin{appendix}
\chapter{Appendix 1}
\chapter{Appendix 2}
\end{appendix}
\part{Part II}
\chapter{Chapter 1}
\chapter{Chapter 2}
\begin{appendix}
\chapter{Appendix 1}
\end{appendix}
\end{document}
答案1
appendices
您可以使用包提供的环境appendix
。
在您的序言中替换并\begin{appendix} ... \end{appendix}
添加\begin{appendices} ... \end{appendices}
以下几行
\makeatletter
\@addtoreset{chapter}{part}
\@addtoreset{@ppsaveapp}{part}
\makeatother
每次启动时重置章节编号(计数器chapter
)和附录编号(计数器) 。@ppsaveapp
part
因此你修改的代码
\documentclass[11pt,a4paper,oneside]{book}
\usepackage{appendix}
\makeatletter
\@addtoreset{chapter}{part}
\@addtoreset{@ppsaveapp}{part}
\makeatother
\begin{document}
\tableofcontents
\part{Part I}
\chapter{Chapter 1}
\chapter{Chapter 2}
\begin{appendices}
\chapter{Appendix 1}
\chapter{Appendix 2}
\end{appendices}
\part{Part II}
\chapter{Chapter 1}
\chapter{Chapter 2}
\begin{appendices}
\chapter{Appendix 1}
\end{appendices}
\end{document}
将输出
答案2
与使用相比\begin{appendix} ... \end{appendix}
,我更倾向于创建一个命令\restartchapters
并以类似的方式使用它\appendix
。
可能的定义与当前的定义相似\appendix
:
\makeatletter
\newcommand\restartchapters{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\chaptername}%
\gdef\thechapter{\@arabic\c@chapter}}
\makeatother
然后我会\restartchapters
在每一行之后立即调用\part
。您应该能够无限\appendix
交替。\restartchapters
您也可以\@endpart
从中修改定义book.cls
,但建议的定义侵入性较小,并且由于是\part
一个很好的干净的断点,所以除非您非常熟悉修改类文件的内部结构,否则它可能更安全。
如果您有跨部分的交叉引用,您可能应该重置\thechapter
以包含零件编号,如 \gdef\thechapter{\thepart.\@arabic\c@chapter}
上面的定义。
(这还没有经过测试,但如果我必须这么做,这就是我开始做的事情。)