wildgoat的个人空间 https://blog.eetop.cn/wildgoat [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

[ZZ]Latex中大文件的拆分与管理

已有 18207 次阅读| 2013-2-5 15:55 |个人分类: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


广而概之:
\input 插入不开启新页
\include 插入开启新页
\includeonly 插入多文件时,可以一个一个文件编译,提高效率。
------------------------------------------------------------------------------------------------
需要注意的是\includeonly在导言部分使用!!
------------------------------------------------------------------------------------------------

源文档组织结构

 

1  Star

每个输入文件必须以命令 documentclass{...} 开始,这条命令指明要书写的文挡的类别。然后文档可以包含影响全局风恪的命令,还可以装人包(packages)向 LATEX 环境添加新的特性或功能。 引导工作完成后, 文挡体部分以命令\begin{document} 开始, 观在可以以文字与必要的 LATEX 命令混合的方式输入文档, 文档的结尾加上命令 \end{document}, 告诉 LATEX 忽略此命令以后的所有内容。

1.1  最小的输入文件

  1. \begin{lstlisting}  
  2. \documentclass{article}  
  3. \begin{document}  
  4. small is beautiful  
  5. \end{document}  


1.2  一篇杂志文章框架

 
  1. \documentclass[a4paper,11pt]{article}  
  2. \usepackage{latexsym}  
  3. \author{H,~Partl}  
  4. \title{Minimalism}  
  5. \frenchspacing  
  6. \begin{document}  
  7. \maketitle  
  8. \tableofcontents  
  9. \section{Start}  
  10.     Well and here begins my lovely article.  
  11. \section{End}  
  12. \ldots{} and here it ends.  
  13. \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 命令将在新的页面上对插人的文件文本迸行徘版,如果你不希望这样,可以用上面的命令插入别的文件。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 121

    粉丝
  • 41

    好友
  • 269

    获赞
  • 117

    评论
  • 22096

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 17:57 , Processed in 0.016880 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部