输入文件夹

输入文件夹

在我的主 LaTeX 文件中,我使用了许多动态(内容不断更改)的输入文件。我想将其中一些文件放在更高级别的文件夹中,但同时又不想更改其名称。

Filefolder\Latexmainfile

我怎样才能改变它,以便它看起来像 Latexmainfile 中的文件以及 仅有的在(文件夹)中

\input{./deckblatt.tex} 

答案1

以下内容是根据 Mac OS X 的 FHS 实现编写的。这原则上适用于任何类 UNIX 操作系统。Pdflatex 允许您指定完整路径:

\input{/Users/user_name/some/path}

在类 Unix 系统下你甚至可以在路径中使用 shell(bash) 变量:

\input{$HOME/some/path}

或常见缩写

\intput{\string~/some/path}

(注意:\string这里使用 来告诉 latex 将字符传递给 shell 而不是采取“含义”)

当然,您也可以指定相对路径。这意味着您当然需要知道您的活动路径是什么。对于 pdflatex,这通常是您的主文档所在的路径(或目录)(以 pdflatex 作为参数给出)。

\input{some_file}

这将告诉 pdflatex 使用some_file位于活动目录中的那个。(如果不是,则会引发错误。)

\input{./some_file}

会做同样的事情,同时

\input{../some_file}

将告诉 pdflatex 使用some_file位于父文件夹(上一级)中的文件夹。

那么有人可能会问为什么?在 UNIX 或 Windows 等常见操作系统下,点表示法占主导地位,因此它.代表当前/活动文件夹和..父文件夹。因此../../将代表上两级文件夹(父文件夹的父文件夹)。这是可能的,因为目录树只知道某一级别的一个父文件夹。因此“向上”在任何级别都是一样的。

答案2

您可以按如下方式定义输入文件:

\makeatletter
\def\input@path{{/path/folder/}}
\makeatother

如果有多个目录,你可以使用

\makeatletter
\def\input@path{{/path/folder1/}{/path/folder2/}}
\makeatother

相关内容