我有一本书,有 15 个章节和一个目录。有人要求我将其重新打包成两个单独的卷,一个包括第 0-9 章,另一个包括第 9-14 章(是的,第 9 章在两个卷中都有)。我希望卷 II 中的页码从卷 I 继续,并且我希望每卷的目录仅包含该卷中实际包含的项目。
这看起来相当容易,只是我不知道如何让卷 II 中的页码从正确的位置开始,而不包括卷 I 中的辅助文件,从而将它们也放入卷 II 目录中。
我确信这是一个简单的问题,但我在谷歌上(或这里)找不到任何帮助。我正在使用书籍文档类,现在改用回忆录可能太晚了。
答案1
这里有两个答案。(您已经说过您不喜欢第二个答案;我保留它是因为将来有人可能会发现它有用。)
第一的:
有了这个TeX
来源
\documentclass{book}
\usepackage{etoolbox}
\newtoggle{volumeone}
%\toggletrue{volumeone}
\togglefalse{volumeone}
\iftoggle{volumeone}{
\includeonly{ch1,ch2}
}{
\includeonly{ch2,ch3}
}
\begin{document}
\tableofcontents
\include{ch1} % \chapter{one} contents
\include{ch2} % \chapter{two} contents
\include{ch3} % \chapter{three} contents
\end{document}
运行pdflatex
几次(以稳定所有引用)。以下是book.toc
:
\contentsline {section}{\numberline {1.1}one}{4}
\contentsline {section}{\numberline {1.2}two}{4}
\contentsline {chapter}{\numberline {2}two}{5}
\contentsline {section}{\numberline {2.1}one}{5}
\contentsline {section}{\numberline {2.2}two}{5}
\contentsline {chapter}{\numberline {3}three}{7}
\contentsline {section}{\numberline {3.1}one}{7}
\contentsline {section}{\numberline {3.2}two}{7}
编辑该文件,删除前两行(所有对第一章的引用)。然后重新运行pdflatex
一次。
这在 Windows 7 上对我有用,
$ pdflatex -version
MiKTeX-pdfTeX 2.9.4535 (1.40.13) (MiKTeX 2.9)
因为pdflatex
没有注意到toc
文件已经过期。
您可以使用 shell 脚本或批处理文件自动执行此工作流程,使用perl
或python
或awk
编辑toc
。
第二:分页正确,但还有很多其他东西需要修复 - 页眉、章节计数器、参考资料……我不知道该怎么做。
\documentclass{book}
\usepackage{etoolbox}
\newtoggle{volumeone}
\toggletrue{volumeone}
%\togglefalse{volumeone}
\iftoggle{volumeone}{
\includeonly{ch1,ch2,ch3}
}{
\includeonly{ch3,ch4}
}
\newcommand{\tocline}[1]{%
\addcontentsline{toc}{chapter}{#1}
}
\newcommand{\mychapter}[1]{%
%do everything the actual \chapter
%command does except enter a line in
%the table of contents
}
\newcommand{\mysection}{%
%check volumeone toggle, omit from toc as approprate
}
\begin{document}
\tableofcontents
\mychapter{one}
\iftoggle{volumeone}{\tocline{one}}{}
\include{ch1} % contents of chapter one in ch1.tex
\mychapter{two}
\iftoggle{volumeone}{\tocline{two}}{}
\include{ch2}
\mychapter{three}
\tocline{three} % in both volumes
\include{ch3}
\mychapter{four}
\iftoggle{volumeone}{}{\tocline{four}}
\include{ch4}
\end{document}
切换