用于 \input{} 或 \include{} 的源的独立编译

用于 \input{} 或 \include{} 的源的独立编译

我的 LaTeX 工作流程涉及频繁重新编译(AucTeX 中的 Cc Cc)。现在我正在处理一个由多个章节组成的大型文档,每个章节都在一个单独的文件中。我想使用\input{}\include{}机制来编译最终文档,但这需要从序言中删除章节源。

我可以创建一个包含序言和的“主”文件(每个 chapter.tex 都有一个 chapter-main.tex)\include{chapter.tex},但这意味着当我编辑单个章节时,我需要切换到不同的文件进行重新编译,这会破坏我的工作流程。

有没有什么方法可以使用该\include{}机制而不妨碍单独编辑文件?

答案1

我最终使用了以下解决方案:\usepackage{standalone}结合\usepackage{import}。这可能不是最通用的解决方案,但对于我的目的而言是最容易实现的。

独立包会忽略单个文件的前言,因此任何\newcommand\renewcommand语句都需要放在 内\begin{document},并且单个文件使用的所有包都需要在“主”文件的前言中声明。这些是我需要对我的章节文件进行的唯一更改;之后我只需使用导入包将它们包含到主文件中(这有助于处理相对路径):

\chapter{Introduction}
\import{chapters/introduction/}{introduction}

ETC。

答案2

有几种处理多个文件的解决方案;我更喜欢subfiles。如果您只想指出哪个文件是“主文件”,请在文件顶部插入以下内容(并根据需要替换“rootfile”):

% Local Variables: 
% TeX-master: "rootfile"

答案3

TeXnicCenter 允许通过单个“构建文件”按钮编译“当前”文档(正在编辑的文件)。此外,“构建项目”按钮将编译“主”文件。这允许编辑和编译(比如)章节,而无需切换回“主”文档进行重新编译。希望这能有所帮助,W

相关内容