我长期使用 MikTex,因为我喜欢他们的即时安装理念和工具,我对此很满意。由于工作原因,我不得不开始使用 R 编程语言,而且出于某种原因,dnf 下的包依赖于 TexLive 发行版,这首先没有任何意义,因为包应该依赖于特定的工具,而不是特定的 LaTex 发行版,但无论如何……
我卸载了 MikTex,安装了 TexLive(完整版),并尝试编译一个有点复杂的项目,该项目有一个Main.tex
文件,其中包含另外两个文件Title.tex
和Body.tex
。要包含文件,需要使用包子文件,特别是命令/subfileinclude{file_name.tex}
。示例源代码位于Github。
每个包含的文件都以以下行开头,表明每个子文件必须具有与主文件相同的“标题”。
% !TeX root = ../Main.tex
\documentclass[..]{subfiles}
编译选项有:
pdflatex
-synctex=1
-interaction=nonstopmode
-file-line-error
-output-directory=../pdf
-aux-directory=../build
--shell-escape
Main
它尝试进行错误编译,因为它不使用构建目录作为辅助目录(如编译选项中所述)并引发编译错误:
I can't write on file Title/Title.tex.aux
\@include...\immediate \openout \@partoux #1.aux
Emergency stop
\@include...\immediate \openout \@partoux #1.aux
Fatal error orcurred, no outpuet PDF file produced!
Trascript written on ../pdf/Main.log
当在 pdf 目录中手动创建标题和正文目录时,它可以正确编译,但生成的文件是空白页。
我有三个问题。首先,TexLive 的行为与 MikTex 的行为有何不同?其次,为什么会出现此错误?第三,我该如何(如果可能)修复它?
提前致谢。