![定义 LaTeX 文件中包的路径(\input@path 或 \graphicspath 的类似物,用于 \usepackage)](https://linux22.com/image/310532/%E5%AE%9A%E4%B9%89%20LaTeX%20%E6%96%87%E4%BB%B6%E4%B8%AD%E5%8C%85%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%88%5Cinput%40path%20%E6%88%96%20%5Cgraphicspath%20%E7%9A%84%E7%B1%BB%E4%BC%BC%E7%89%A9%EF%BC%8C%E7%94%A8%E4%BA%8E%20%5Cusepackage%EF%BC%89.png)
如何在 LaTeX 文件本身中指定附加包的路径?
对于图形,您可以使用\graphicspath{{a}{b}}
,然后\includegraphics{file}
找到b/file.pdf
。编辑:应该是\graphicspath{{a/}{b/}}, with slashes at the end.
对于\input
,您使用\def\input@path{{a}{b}}
,然后\input{file}
找到b/file.tex
。编辑:\def\input@path{{a/} {b/}} 是答案,末尾带有斜杠。
我可以使用类似的构造来\usepackage
找到\usepackage{mystuff}
吗b/mystuff.sty
?
我知道我可能会弄乱系统配置或环境变量,但我更喜欢在文件本身中指定这一点,以便我的文件可以在另一台计算机上编译。
我知道我可以简单地使用\usepackage{b/mystuff}
,但它会生成一个警告You have requested b/mystaff but the package provides mystuff
,并且可移植性较差——例如,它需要知道在哪个特定文件夹中mystuff.sty
。
答案1
\usepackage
是一个包装器,\input
因此\input@path
同样适用于此,但最好不要设置\input@path
,只需适当设置 TEXINPUTS