让 tex 搜索文件夹内的文件吗?

让 tex 搜索文件夹内的文件吗?

正如我所提到的最后一个问题我在使用 \input 命令和相对路径时遇到问题,它们会出错。我还尝试了导入包但不要让它工作。

到目前为止,我只有两个位于不同位置的共享前导码,因此每个文件都可以找到它,但是当必须编辑两个文件时,效果就不是那么好了。

tex 中是否有一个函数,我给它一个根文件夹,然后让 tex 在此文件夹内搜索特定文件(例如 tikz_packages.tex),这样就不必争论相对路径的问题。

或者另一个选择是给他两条路。当他找不到第一条路时,他应该使用第二条路,然后再使用第三条路,直到找到为止。

如果我理解正确的话,有一些类似这样的命令,它首先查看第一条路径,然后查看第二条路径等等,但仅适用于图形:

\graphicspath{{figures/}{../figures/}{C:/Users/me/Documents/project/figures/}}

在乳胶中可能出现这种情况吗?由于我的文件夹不是很大,因此搜索不会花费太多时间。

非常感谢。

答案1

当我有需要从各个位置和其他各个文件中找到的文件时,我通常将它们放在我的 tex 系统的标准搜索路径中。

有时我会将它们放在 texmf-local 中,但对于许多项目来说,这通常是项目特定的 texmf 树。然后这些文件例如在

    project-texmf/tex/latex/....

该树通过以下方式激活(在当前的 texlive 中,miktex 有一个等效命令)

    tlmgr conf auxtrees add path/to/project-texmf

这避免了使用相对输入路径的很多麻烦,但它要求文件在我的所有 texmf 树中都有唯一的名称。因此最好避免使用“bibliography.bib”或“mypackages.tex”等通用名称。

答案2

好的,我不知道具体原因,但是我做了一个 MWE 并再次尝试使用导入包,现在它似乎可以工作了 oO。

我的 MWE:

文件夹结构:

Path_test/main.tex
         /images/image.tex
         /preamble/packages.tex
                   -tikz_packages.tex

主要.tex:

\documentclass{scrbook}
\usepackage{import}
\begin{document}
\input{preamble/packages.tex}  %% works
\input{"C:/Users/xxx/Google Drive/WS_1819/path_test/preamble/packages.tex"} %% works
\input{images/image.tex}  %% don't work
\subimport{images/}{image.tex}  %% work
\end{document}  

图像.tex:

\input{../preamble/tikz_packages.tex}

tikz_包.tex:

I am in tikz_packages

相关内容