我有一本书,里面有两本书,每本书都有自己的序言。结构如下:
\book{An exhortation to virtue}
\frontmatter
\chapter{Preface}
...
\mainmatter
\chapter{This is the first chapter of the first book}
...
\chapter{This is the second chapter of the first book}
...
\book{An instruction on virtue}
\frontmatter
\chapter{Preface}
...
\mainmatter
\chapter{This is the first chapter of the second book}
...
\chapter{This is the second chapter of the second book}
...
该结构基于这个答案的建议\chapter
使用内部创建 序言\frontmatter
。
显然这种结构行不通,因为它假设了两个独立的前言。
那么,还有什么其他方法可以为同一本书中的两本书创建两个序言呢?
另一个目标是,本书应该有一个包含两本书全部内容的目录。
答案1
我只会用
\counterwithin*{chapter}{book}
然后每次\book
使用时,章节将重置为零。
答案2
Memoir 几乎可以正确使用您发布的代码。最初,我不确定它是否有办法重置每本书的章节编号,但我找不到它,也想不出,所以用来etoolbox
修补命令。然而,daleif 的回答好多了,而且很容易集成到我使用的代码中。除此之外,我只是把你的点改成了康德,并添加了一个目录:
\documentclass{memoir}
\counterwithin*{chapter}{book}
\usepackage{kantlipsum}
\begin{document}
\tableofcontents
\book{An exhortation to virtue}
\frontmatter
\chapter{Preface}
\kant[1]
\mainmatter
\chapter{This is the first chapter of the first book}
\kant[1]
\chapter{This is the second chapter of the first book}
\kant[1]
\book{An instruction on virtue}
\frontmatter
\chapter{Preface}
\kant[1]
\mainmatter
\chapter{This is the first chapter of the second book}
\kant[1]
\chapter{This is the second chapter of the second book}
\kant[1]
\end{document}