LaTeX
大型文档通常使用多文件方法用于组织项目文件,以方便快速定位、修改。一般来说,建议使用subfiles宏包来组织多文件的大型文档,简单易用。
standalone宏包则可以用来编制会议论文集,每篇文章都使用独立的导言区,以避免自定义命令冲突。
subfiles宏包
主文件
主文件与普通LaTeX差不多。只是需要引用subfiles宏包,使用subfile命令导入子文件。
main.tex 主文件1 2 3 4 5 6 7 8 9 10 11 12 13
| \documentclass{main} \usepackage{subfiles} % 尽量置于导言区的最后 \graphicspath{{contents/images/}}
\title{文档标题} \author{作者} \date{}
\begin{document} \maketitle \subfile{contents/chp-01} % 导入第一章 \subfile{contents/chp-02} % 导入第二章 \end{document}
|
子文件
子文件使用subfiles文档类,并以选项形式指定主文档,注意主文档名必须包含扩展名。子文件将自动导入主文件的导言区内容,保证了所有子文件独立编译时具有相同外观和风格。
章子文件
章子文件1 2 3 4 5 6 7 8 9 10 11
| % contents/chp-01.tex 第一章 \documentclass[../main.tex]{subfiles} % 使用 subfiles 文档类,指定主文档 \graphicspath{{images/}} \begin{document}
\chapter{第一章} 这是第一章的内容 \subfile{chp-01/sec-01.01} \subfile{chp-01/sec-01.02}
\end{document}
|
节子文件
节子文件类似章子文件,只是需要注意是指定主文档的路径是否正确.
节子文件1 2 3 4 5 6 7 8 9 10 11 12 13 14
| % contents/chp-01/sec-01.01.tex 第一章第一节 \documentclass[../../main.tex]{subfiles} \graphicspath{{\subfix{../images/}}} % 指定图片目录,后续可以直接使用图片文件名。 \begin{document} \section{第一章第一节} 这是第一章第一节的内容 \begin{figure}[h] \centering \includegraphics{img-01.01} \label{fig:img-01.01} \caption{图片标题} \end{figure} 其他内容 \end{document}
|
standalone宏包
standalone
宏包提供了类似的功能,更加灵活,可以指定子文件使用独立的导言区,但更加容易出错。
主文件
类似的,主文件与普通LaTeX文件也差不多。需要引用standalone宏包,并使用import宏包的命令导入子文件。
主文件1 2 3 4 5 6 7 8 9 10 11 12 13 14
| % main.tex \documentclass{main} \usepackage[subpreambles=true]{standalone} % 启用 standalone 宏包,subpreambles=true 启用独立导言区 \usepackage{import}
\title{文档标题} \author{作者} \date{ }
\begin{document} \maketitle \import{contents}{chp-01} % 导入第一章 \import{contents}{chp-02} % 导入第二章 \end{document}
|
子文件
子文件使用standalone文档类,通过选项指定引用的实际文档类。
章子文件
章子文件1 2 3 4 5 6 7 8 9 10 11 12
| % contents/chp-01.tex 第一章 % 使用 standalone 文档类 % class=main 指定实际使用的文档类 main.cls,也可以指定其他文档类 % crop=false 表示使用原始页面大小不剪裁页边空白 \documentclass[class=main,crop=false]{stanalone} \usepackage[subpreambles=true]{standalone}
\begin{document} 这是第一章的内容 \subimport{chp-01}{sec-01.01} \subimport{chp-01}{sec-01.02} \end{document}
|
节子文件
节子文件1 2 3 4 5 6 7 8 9 10 11 12 13 14
| % contents/chp-01/sec-01.01.tex 第一章第一节 \documentclass[class=main,crop=false]{stanalone} \graphicspath{{\subfix{../images/}}} % 指定图片目录,后续可以直接使用图片文件名
\begin{document} 这是第一章第一节的内容 \begin{figure}[h] \centering \includegraphics{img-01.01} \label{fig:img-01.01} \caption{图片标题} \end{figure} 其他内容 \end{document}
|
详细说明文档
本文仅简单介绍了多文件的组织方法,交叉引用、文献等请详细阅读上述宏包相关说明文档。