我已经写了 2 章和 1 个附录,我想有这本书的两个版本。所以我使用 来\includeonly
仅包含第 1 章和第 2 章,但TOC
同时显示附录名称。
可能,这是 的自然行为\includeonly
,但我该怎么做呢?我的意思是,在短版本中我只想打印第 1 章和第 2 章(包括TOC
),而在长版本中则打印所有内容。
答案1
的目的\include
是构建文档,以便您可以只编译其中的一部分(使用\includeonly
),同时整个文档的交叉引用信息仍然可用。目录也是“交叉引用”信息,因此如果您编译包含目录的文档,它将显示来自的目录条目全部章节。
您尝试做的是生成文档的两个不同版本,一个完整版本和一个仅包含子集的版本,该子集包括目录,并且目录也仅包含编译后的子集。这不是\includeonly
设计的用例。
实现此目的的最简单方法是将文档的各个部分放在单独的文件中,然后构建两个主文档(使用不同的名称),仅加载您感兴趣的部分,例如,
\documentclass{article}
\input{mypreamble} % load your packages etc in here
\begin{document}
\maketitle
\tableofcontents
\input{chap1}
\input{chap2}
\input{app1}
\end{document}
如果以上内容是您的完整主文档,则将其复制到第二个文件并删除加载附录的行(以及较小文档中您不需要的任何内容)。编译两者,您就完成了。