跳转到正文
EasyLaTeXDocs

多文件项目

把每个章节保存为独立的 .tex 文件,主文件只保留文档类、宏包、全局设置和章节顺序。这样多人协作、定位错误和复用章节都会更容易。

EasyLaTeX 编译器设置:XeLaTeX + ctex;基础方案不需要额外宏包。所有被引用文件都应使用项目内的相对路径。

使用 \input 插入内容

\input{文件名} 在当前位置读取另一个文件的内容,文件名通常省略 .tex:

latex
\section{引言}
\input{chapters/introduction}

被插入文件只写正文,不要重复 \documentclass、\begin{document} 或 \end{document}。

使用 \include 管理章节

\include 适合较大的章节,它会在前后分页,并为每章建立独立的辅助文件:

latex
\include{chapters/method}
\include{chapters/results}

平台仍从选中的主文件编译。\includeonly{chapters/results} 可用于只预览指定章节,但跳过章节的引用依赖辅助信息,不应假设在每次任务中都会保留;最终检查前移除此设置并编译全文。

选择 \input 还是 \include

命令特点适合内容
\input不分页,能嵌套,粒度小小节、图表、摘要片段
\include自动分页,不能嵌套,支持 \includeonly独立的大章节

不要在同一个文件中混用两套方式来控制同一章节的分页;让主文件决定章节边界。

组织目录和路径

推荐让目录名表达用途:

latex
project/
├── main.tex
├── chapters/
│   ├── introduction.tex
│   └── results.tex
└── figures/

路径相对于主文件解析。文件名尽量使用英文、数字和连字符,避免空格及特殊字符造成跨平台问题。

单独编译章节

章节文件默认不能独立编译,因为它依赖主文件的导言区。需要单独预览时,可使用 subfiles 宏包建立共享前导:

latex
% main.tex
\usepackage{subfiles}
\subfile{chapters/introduction}
latex
% 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:

latex
\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:

latex
\section{引言}\label{sec:introduction}
这是引言内容。

chapters/results.tex:

latex
\section{结果}
结果见第 \ref{sec:introduction} 节的研究背景。
多文件项目 | EasyLaTeX | EasyLaTeX