使用 \input{} 添加的文件中的相对路径会发生什么情况?

使用 \input{} 添加的文件中的相对路径会发生什么情况?

我偶然发现了以下问题:

在我的论文主 tex 文件的序言中,我包含了其他几个带有缩写定义的文件,它们位于与main.tex,所以我只使用了文件名相对路径包括它们:

\include{abbrevations.tex}

为了在其他 TeX 文档中使用我的一些定义(例如使用 IPE 创建的图形),我创建了一个名为IPE-Preamble.tex,其中包含了我序言的选定部分,还有以下几行\include{abbrevations.tex}

上述两个文件都位于同一路径 THESIS/

我已成功将该文件包含IPE-Preamble.tex在位于路径 THESIS/graphics 中的许多其他文件中,它有效:

\input{/drive/path/path2/THESIS/IPE-Preamble.tex}

现在我想在位于同一台计算机其他位置的 .tex 文件中使用此文件(假设为路径/drive/path3/path4/main2.tex)。我使用与上述 IPE-Preamble 完整路径相同的输入命令,但收到一条错误消息,命令(在中定义)abbreviations.tex为“未定义”,因此看来该include命令在这种情况下不起作用。

是否因为命令中的相对路径而TeX搜索文件?/drive/path3/path4/abbreviations.texincludeIPE-Preamble.tex

答案1

\include会导致.aux文件被写入到包含文件的同一目录中;最新的 TeX 发行版不允许在使用明确路径调用的目录中或主文件所在目录上方的目录中进行写入。

只要您具有目录的读取权限,使用\input就不会受到这些限制。

相关内容