LaTeX技巧如何拆分源文件并且分别编译

时间:2024-11-20 21:41:35

当处理很大的文档时,经常将文件分成若干个部分分别进行编译,这时我们可以使用LATEX所提供的命令

  • \input
  • \include
  • \includeonly

\input{texfile}

文件名只需指定基本名,不需加扩展名.tex,它等价于直接将文件“文件名.tex”中的内容输入到命令\input所处的位置.

此命令可以放在文档的任何地方(导言区或正文区),而且可以相互嵌套。

您可以将经常使用的导言放在单独的一个文件中,使用时置于源文件之首。

\begin{document}....\end{document}
之间加入多个\input命令.导言区加入\listfiles可以得到读入文件的清单.

\include{texfile}

使用\input命令的缺点是,通过\input命令合并起来的文章(不管那部分) 每经过一次修改,所有的文件都要被重新读入和处理。若用\input命令仅加载那个特定的文件,那么所有的页码、章节、插图和公式等的自动编号都从1开始,这会使交叉引用产生混乱。更好的办法是采用\include命令。

它只能放在文档的正文区,不能嵌套,且与命令\includeonly{文件清单}结合使用。

文件清单列出当前正在处理的文件(其中的文件名不需要加后缀.tex,各文件名用逗号隔开)。若\input命令后的文件名在文件清单中,则此命令等价于

\clearpage\input{文件名}\clearpage,

否则相当于换页。因此文档应该在新页开始(如章与章之间)分割。\include命令可以帮助我们省去很多宝贵的编译时间。它的主要好处是页面、章节和公式编号的附加信息可以由\includeonly命令提供,因此交叉引这类命令,如\ref和pageref命令等能生成正确的结果。此命令可多次使用,所需的导言区仅有一个。

样例:编辑一本由8章组成的书籍

\documentclass{book} 导言区 \includeonly{.....} \begin{document} \frontmatter \include{toc} \mainmatter \include{chapt1} ... \include{chapt8} \backmatter \printindex \end{document}

其中文件由如下的文本组成

\setcounter{page}{7} \tableofcontents \listofcontents \listoffigures

通过在\includeonly命令中添加适当的项,如\includeonly{toc,chapt8} 就可以选择性地处理各章(这里为第8章)。

\includeonly

 

来源:/s/blog_5e16f1770100gef0.html