正如我所提到的最后一个问题我在使用 \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