当处理很大的文档时,经常将文件分成若干个部分分别进行编译,这时我们可以使用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
广而概之:
\input 插入不开启新页
\include 插入开启新页
\includeonly 插入多文件时,可以一个一个文件编译,提高效率。
------------------------------------------------------------------------------------------------
需要注意的是\includeonly在导言部分使用!!
------------------------------------------------------------------------------------------------
源文档组织结构
1 Star
每个输入文件必须以命令
documentclass{...} 开始,这条命令指明要书写的文挡的类别。然后文档可以包含影响全局风恪的命令,还可以装人包(packages)向
LATEX 环境添加新的特性或功能。
引导工作完成后, 文挡体部分以命令
\begin{document} 开始, 观在可以以文字与必要的
LATEX 命令混合的方式输入文档, 文档的结尾加上命令
\end{document}, 告诉
LATEX 忽略此命令以后的所有内容。
1.1 最小的输入文件
- \begin{lstlisting}
- \documentclass{article}
- \begin{document}
- small is beautiful
- \end{document}
1.2 一篇杂志文章框架
- \documentclass[a4paper,11pt]{article}
- \usepackage{latexsym}
- \author{H,~Partl}
- \title{Minimalism}
- \frenchspacing
- \begin{document}
- \maketitle
- \tableofcontents
- \section{Start}
- Well and here begins my lovely article.
- \section{End}
- \ldots{} and here it ends.
- \end{document}
\begin{document}命令之前的输入内容为导言区(preamble),
\begin{document} 和
\end{document}间的区域为文挡区
2 导言区
2.1 装入必要的类和包文件
为便于用户定制或扩充系统,
LATEX 将许多功能分类存放在不同的类或包文件中。包文件在导言区,用下面的命令激活:
\usepackage[options]{package}
一些随 LATEX发布的包 |
doc: |
允许文档中插入 LATEX 源代码 |
exscale: |
提供可变比例的数学公式扩充字体 |
fontenc: |
指定 LATEX 系统应使用的字体 |
ifthen: |
提供if...then do...otherwise do...形式的命令 |
latexsym: |
用以访问 LATEX符号字体 |
makeidx: |
提供建立文档索引的命令 |
syntonly: |
对文档不作排版处理 |
inputenc: |
允许指定输入文件的编码方式 |
2.2 指定文档类别
LATEX首先要了解所处理的文档类别,这一点由
\documentclass命令声明:
\documentclass[options]{class}
2.3 确定页面风格
\documentclass命令决定了页眉页脚的大小和位置,页面风格命令则决定它们里面有些什么。
2.4 进行文挡全局性设置
如果你想使用特定的设置作为文挡的缺省设置,可以将设置命令放在导寻言区行将结束的地方。
3 文档区
3.1 处理模式
LATEX 总是处于下面三种模式中的一种:
- Parngraph
- Math
- Left-to-right
LR 模式下输出文本保持从左到右的顺序,从来不会另起一行。例如,即使你把成百上千个单词放进
\mbox 所创建的一个文本盒子(box)中,
LATEX 也会继续试图将它们从左到右排到一个盒子里,并"报怨" 盒子太宽以至于一行中根本放不下。
还有许多文本生成盒子的命令和环境使
LATEX 处于段模式,此时生成的盒子为 parbox。生成盒子时所处的段落模式我们称之为内部(inner)段落模式,而通常情况下的段落模式我们称之为外部(outer)段落模式。
3.2 大文档项目
当处理很大的文档文件时,有时找们希望将文件分成若干部分。
3.2.1 include
\include{filename}
在文挡区我们可以使用这条命令插入另一个文件的内容,
LATEX 在处理插入的文本以前将启动新的一个页面。
3.2.2 includeonly
\includeonly{filename1,filename2,...}
这条命令可在导言部分使用,允许
LATEX 对可插入的文本文件进行限制:这条命令执行后,上面的
\include{filename}命令中的
filename 叁数必须是
\includeonly{filename1,filename2,...}命令叁数中的一个。
注意文件名 filename1,filename2,... 同其后面的逗号之间不能有空格。
3.2.3 input
\input{filename}
\include 命令将在新的页面上对插人的文件文本迸行徘版,如果你不希望这样,可以用上面的命令插入别的文件。