大型文档,如果把所有的文字都录入在同一个.tex文件中,那个文件的体积是不可估量的,文件的结构式混乱不堪的,文字的定位也是令人头疼的。幸亏latex提供了结构化的处理命令---include。
命令\include{filename}(filename不包含后缀名.tex)能够把那个文件filename的内容编译时插入到当前位置。
要点:
- 在主文档(例如 main.tex)中书写导言区,包含哪些宏包,对整个文档的风格、字体、行距、引用进行定义。
- 在主文档的正文区使用命令 \include{filename}来包含子文档。
- 在子文档里直接以\chapter{} 、\section{}开头,不需要导言区、标题、作者等信息了。
- 可以再任何一个文件中引用其他文件的标签。
请看下面的实例:
- main.tex
% !TeX:pdflatex,pdfTeXify
% 测试大型文档拆分多个源文件进行编译。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% main.tex
%% 只在 main.tex 当中建立导言区,并include子文件
%% 子文件不需要导言区、begin{document},只需
%% \chapter{}、\section{}等等。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[UTF8]{ctexbook}
\usepackage{graphicx}
\usepackage[CJKbookmarks=true,colorlinks,linkcolor=black,anchorcolor=blue,citecolor=green]{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% Text body %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\youyuan
\sffamily
\title{源文件拆分编译}
\author{Lin\TeX9527}
\date{2014--09--04}
\maketitle
\tableofcontents
\include{file1}
\include{file2}
\end{document}
- file1.tex
\chapter{水果}
\section{葡萄}
葡萄,紫黑紫黑的,甜,真甜。
\section{西瓜}
西瓜,圆又圆。
\section{狗狗和西瓜}
见第\pageref{fig:dog}页的图\ref{fig:dog}。
- file2.tex
\chapter{动物}
\section{人}
人,人心隔肚皮。
\section{狗}
狗是人类的好朋友。
\begin{figure}[htbp]
\centering
% Requires \usepackage{graphicx}
\includegraphics[scale=0.5]{dog}\\
\caption{两只很萌的哈士奇}\label{fig:dog}
\end{figure}
这时整个工程的结构文件:
可以再任何一个源文件中点击编译按钮。