LaTeX技巧如何拆分源文件并且分别编译
当处理很大的文档时,经常将文件分成若干个部分分别进行编译,这时我们可以使用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}
其中toc.tex文件由如下的文本组成
\setcounter{page}{7} \tableofcontents \listofcontents \listoffigures
通过在\includeonly命令中添加适当的项,如\includeonly{toc,chapt8} 就可以选择性地处理各章(这里为第8章)。
\includeonly
来源:http://blog.sina.com.cn/s/blog_5e16f1770100gef0.html