Everyone discovers. Nothing is invented; time unveils.
LaTeX一种规范的使用方法是，将文章内容按照节分开，储存在不同的文件中，然后再在主文件中使用\input{}指令引入所有需要的内容。这样做的好处是条理清晰，可以按照文件名管理内容，也便于缩短单文件文字长度，便于查找内容。 而TexLive自带的编辑器TeXworks默认会将需要编译的文件设置为当前的打开文件，直接编译显然会出错，而每次编译需要切回主TeX文件在操作上很麻烦。而TeXworks构造简单，没有项目的概念，因而巧妙地采用了LaTeX注释的方法建立文件见的联系。 通过在被引用TeX文件头部加入诸如 % !TeX root=main-document.tex 的注释，可以被TeXworks解析出来，不会以当前文件为主TeX文件，而是以main-document.tex为主文件进行编译。 需要注意的是，!TeX是一个整体，不能在!和TeX之间加入空格，否则TeXworks会识别不出来，继续按照单文件进行编译。 参考：https://tex.stackexchange.com/questions/377702/how-to-work-and-compile-efficiently-in-a-multi-file-project-in-texworks
这个问题一般出现在Windows环境下，采用\input{}指令导入的文件正确地与当前文件置于同一目录下，但LaTeX编译器还是获取不到。这可能与Windows下LaTeX的实现有关，在文件名中带空格的时候会出现这个问题，解决方法是将文件名用双引号"包裹起来。