这是一个非常简单的问题,也可能是一个非常幼稚的问题,但我需要知道:
我正在使用该subfiles
包来管理我的项目文件,并且我已设置所有路径,以便每个文件都能正确编译。但是,我注意到我仍然将主文档定义为 master。如果我将其取消定义为 master 并尝试编译任何从属文件,我会收到大量有关参考、参考书目、图形等的错误,具体取决于我在当前文件中使用的内容。
我的理解是从属文件应该编译他们自己没有问题,但我可能误解了整个事情。那么,如果我使用子文件,我应该有一个主文件吗?如果不是这种情况,那么我得到的错误很可能是由于路径设置错误造成的,为了解决问题,我将面临一场噩梦般的反复试验。
我觉得这不需要 MWE,但如果有必要,我很乐意包括一个。
* 编辑以澄清:我使用的是 TexMaker,其中一个选项允许将主 tex 文件定义为主文档,它使用所有\include
或\input
文件构建文件结构。这样做是为了在打开任何文件时进行快速编译(因此每次需要快速编译时不必从文件切换到主文件等)。
答案1
来自子文件文档:
如果子文件是单独排版的,则以主文件(包括其
\documentclass
)的开头作为前导,其余部分按正常排版。
这取决于你所说的“取消定义”是什么意思(而且我没有足够的代表在评论中要求你澄清),但我把它理解为以下两件事之一:
- 您
\documentclass[master.tex]{subfiles}
从子文件中删除 - 您重命名了 master.tex 文档,但没有更改
\documentclass
子文件中的参数
无论如何,根据上面的引述,这意味着subfiles
当您单独编译子文件时,主文档中的前言不会包含在子文件中(由包包含)。因此,您提到的所有基本包导入(参考、书目、图形)都不会包含在文件中,因此文件不会单独编译。
只有当您通过子文件重新连接主文档\documentclass
或\usepackage
在子文件本身的前言中包含所需的命令时,它才会这样做。