多文件项目
把每个章节保存为独立的 .tex 文件,主文件只保留文档类、宏包、全局设置和章节顺序。这样多人协作、定位错误和复用章节都会更容易。
EasyLaTeX 编译器设置:XeLaTeX + ctex;基础方案不需要额外宏包。所有被引用文件都应使用项目内的相对路径。
使用 \input 插入内容
\input{文件名} 在当前位置读取另一个文件的内容,文件名通常省略 .tex:
\section{引言}
\input{chapters/introduction}
被插入文件只写正文,不要重复 \documentclass、\begin{document} 或 \end{document}。
使用 \include 管理章节
\include 适合较大的章节,它会在前后分页,并为每章建立独立的辅助文件:
\include{chapters/method}
\include{chapters/results}
平台仍从选中的主文件编译。\includeonly{chapters/results} 可用于只预览指定章节,但跳过章节的引用依赖辅助信息,不应假设在每次任务中都会保留;最终检查前移除此设置并编译全文。
选择 \input 还是 \include
| 命令 | 特点 | 适合内容 |
|---|---|---|
\input | 不分页,能嵌套,粒度小 | 小节、图表、摘要片段 |
\include | 自动分页,不能嵌套,支持 \includeonly | 独立的大章节 |
不要在同一个文件中混用两套方式来控制同一章节的分页;让主文件决定章节边界。
组织目录和路径
推荐让目录名表达用途:
project/
├── main.tex
├── chapters/
│ ├── introduction.tex
│ └── results.tex
└── figures/
路径相对于主文件解析。文件名尽量使用英文、数字和连字符,避免空格及特殊字符造成跨平台问题。
单独编译章节
章节文件默认不能独立编译,因为它依赖主文件的导言区。需要单独预览时,可使用 subfiles 宏包建立共享前导:
% main.tex
\usepackage{subfiles}
\subfile{chapters/introduction}
% chapters/introduction.tex
\documentclass[../main.tex]{subfiles}
\begin{document}
章节内容。
\end{document}
在平台中使用这种结构时,只有包含完整入口的子文件才可在主文件选择处单独选中。完成局部预览后,把主文件选择恢复为项目入口;普通项目始终从 main.tex 编译更简单。
常见问题
找不到文件
检查路径大小写、相对位置和文件扩展名。\input{chapters/a} 与文件 chapters/A.tex 在区分大小写的系统上不是同一个文件。
子文件出现 \documentclass 报错
基础 \input/\include 子文件只能包含正文。把文档类和宏包移回主文件。
交叉引用变成 ??
在 EasyLaTeX 中从完整主文件编译,并等待本次任务结束。平台会处理引用所需的编译轮次。若仍显示 ??,检查标签拼写、重复名称、标签位置,以及日志中的第一处错误。
完整示例
主文件 main.tex:
\documentclass[UTF8,a4paper,12pt]{ctexart}
\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\begin{document}
\tableofcontents
\input{chapters/introduction}
\input{chapters/results}
\end{document}
chapters/introduction.tex:
\section{引言}\label{sec:introduction}
这是引言内容。
chapters/results.tex:
\section{结果}
结果见第 \ref{sec:introduction} 节的研究背景。