当你需要排版一个非常大的文档,或者涉及到多人协同的时候,我们就希望能将一个庞大的.tex
文件分成很多部分以方便我们的管理。那么该如何做到这一点呢?
最简单的分开输出的方式
我们可以使用\input{filename.tex}
这个命令来将另外一个.tex
文档中的内容插入到一个.tex
文件中。
首先我们来创建一系列.tex
文档。新建一个.tex
文件,输入且仅输入以下的内容:
1 | \usepackage{chemfig} |
随后保存为preamble.tex
(具体文件名随意,但绝对不能包含中文)。
接着再新建一个.tex
文件,输入且仅输入以下的内容:
1 | \chapter{文本} |
保存为chpt1.tex
。
随后再新建一个.tex
文件,输入且仅输入以下的内容:
1 | \chapter{结构式} |
保存为chpt2.tex
最后,新建.tex
文件,输入且仅输入以下的内容:
1 | \documentclass[openany]{ctexbook} |
保存为main.tex
。并将之前的所有文件都放在同一目录下,随后对main.tex
进行编译即可。
处理更复杂的文档
之前所涉及到的内容还没有满足以下需求:
- 插入更长的内容的时候效果不佳
- 工作文件夹很乱
- 需要封面和附录
接下来我将简单地介绍一下解决这些问题的方法。
插入更长的内容
刚刚提到的\input
命令其实比较适合插入结构简单或者内容较少的.tex
文档,面对较长而且排版复杂的.tex
文档就稍显力不从心。
这个时候我们可以用\include
命令来代替\input
。相较于\input
,\include
有以下特点:
- 可以用相对路径引用外部文件
- 默认换页,不会破坏原来的排版
- 不能嵌套
整理工作文件夹
你可以在你的工作文件夹里新建几个文件夹,分别叫data
,fig
,ref
。
在data
文件夹中你可以存放你的所有的内容相关的.tex
文件,在main.tex
中引用的时候你需要这样用:
1 | \input{data/preamble} |
随后你需要在导言区中加上这样的命令:
1 | \graphicspath{{fig/}} |
这样你在使用\includegraphics
命令的时候就可以照旧直接输入文件名了。
接着,在参考文献处,你可以这样使用ref
文件夹里的refs.bib
文件:
1 | \bibliography{ref/refs} |
这样,你就可以获得一个干净漂亮的工作文件夹了!
序言和附录
在排版书籍的过程中,常常遇到这样一种需求:需要用罗马数字标记序言、目录等内容;在书籍的最后需要加上后记等内容。而这些内容都不算正文,你不希望让LaTeX给予这些章节序号。
在这个时候,我们就可以利用\frontmatter
和\backmatter
。具体而言,前言部分是\frontmatter
,正文是\mainmatter
而后记等内容是\backmatter
。下面是一个例子:
1 | \documentclass[twocolumn,openany]{ctexbook} |
仔细观察编译出的文件,你会发现以下几点:
\frontmatter
中页码是小写罗马数字,章节会出现在目录里但是没有序号。\mainmatter
中页码是阿拉伯数字,章节有编号\backmatter
中页码是阿拉伯数字,章节会出现在目录里但是没有序号。