如何访问当前目录之外的文件

如何访问当前目录之外的文件

我有一个简单的问题。如何在 LaTeX 中访问当前目录之外的文件?我有一个项目,我正在更新并将每天的版本保存在单独的文件夹中。我想有一个不同的文件夹专门用于保存我的辅助 `.tex' 文件、图形和参考书目文件。然后能够从我当前的文件夹访问这些文件。如果这有什么不同的话,我正在使用 Mac。

我的文件夹结构如下:

(用于主 .tex 文件):.../Project/7-21

(用于附加文件):.../Project/Files/

所以我的主文件存储在 /7-21/ 中,而我想要访问的文件位于 /Files/ 中。

答案1

假设您的目录结构如下。

<any folder ignored for the sake of simplicity>/MyFiles/Images/diagram-01.tex
<any folder ignored for the sake of simplicity>/MyFiles/Images/diagram-02.tex
<any folder ignored for the sake of simplicity>/MyFiles/Images/diagram-03.tex
<any folder ignored for the sake of simplicity>/MyFiles/Projects/Report-01/main.tex
<any folder ignored for the sake of simplicity>/MyFiles/Projects/Report-02/main.tex
<any folder ignored for the sake of simplicity>/MyFiles/Projects/Article-01/main.tex

Images包含将在多份报告之间共享的图表。每份报告或文章都保存在单独的文件夹中,以方便维护。

因此,您可以例如diagram-01.tex从第一个报告中导入main.tex如下内容。

% my first report
% main.tex
\documentclass{report}

\begin{document}
\input{../../Images/diagram-01.tex}
\end{document}

或者,如果图表已转换为 PDF 格式,您可以按如下方式将其作为图像导入。

% my first report
% main.tex
\documentclass{report}
\usepackage{graphicx}
\graphicspath{{../../Images/}}
\begin{document}
\includegraphics{diagram-01}
\end{document}

这里\graphicspath全局声明了路径。顺便说一下,\graphicspath也可以这样调用

\graphicspath{{../../Images/}{<any path>/}{<any path>/}{<any path>/}<...>}

其中<...>表示您可以添加更多路径,但<...>肯定不包括。

笔记

diagram-01.tex如果您想要从中导入的文件main.tex是可编译的自包含输入文件,那么您需要docmute在中加载包main.tex,这样main.tex只会导入夹在\begin{document}\end{document}之间的内容diagram-01.tex

答案2

对我来说最终有效的方法是简单地使用相对文件路径。

因此,使用我原始答案中的文件路径来访问tab1.tex/files我只需执行以下操作:

../files/tab1.tex

(这与input和 一起使用includegraphics

此外,正如在这个问题的其他地方所看到的,如何使用文件夹包含空格的绝对文件路径仍然没有答案(尽管可以删除实际文件路径中的空格)。但这对我的应用程序来说是不必要的,因为相对文件路径就可以了。

相关内容