如何从子章节进行编译或如何设置根文件?

如何从子章节进行编译或如何设置根文件?

我有一个包含子文件/子章节的文档结构。到目前为止,我在 Windows 上使用过 TexMaker 和 TexLive,并且在每个子文件中都使用以下行,一切都运行良好。

%!TEX root = ../main.tex

朋友推荐 TexStudio 作为更好的编辑器,所以我尝试了一下,但我无法从子文件进行编译。问题是什么?

答案1

请使用表格% !TeX root = ../main.tex

有关详细信息,请参阅TeXstudio 用户手册

背景信息% !TeX

这些“神奇”的注释最初由 TeXShop 引入。之后,其他编辑器开始采用它们,包括 TeXworks、Texmaker 和 TeXstudio。没有官方标准。因此,编辑器之间的功能以及对大写字母和空格的容忍度可能有所不同。以上形式是原始形式,应被所有编辑器接受。

额外提示

TeXstudio 具有集成的根检测功能。如果您打开了 main.tex 并在 main 中包含了 sub.tex。它会自动检测 main.tex 是根文档,因此即使编辑器的焦点在 sub.tex 上,它也会对其进行编译。

设置仍然是个好习惯,% !TeX root因为这样即使没有打开根文档,一切都会正常工作。此外,您的 TeX 文件更具可移植性,因为据我所知,其他编辑器不支持自动根检测。

更多详细信息请参阅用户手册中关于多文件文档的部分

答案2

我找了好久的答案,但在网上找不到答案。因此,我认为最好把这个问题和我找到的解决方案发布出来:


这个问题的解决办法很简单。上面提到的 root 命令在 TexStudio 中不起作用,但你可以手动设置一个 root 文件:

  1. 打开你的 root/main 文件
  2. TexStudio 菜单:选项
  3. 根文件
  4. 将当前文档定义为“主文档”

我希望这确实能帮助别人。


如果 TexStudio 有“%!TEX root =...”命令的替代方法,请随意写答案!

相关内容