顾名思义 - 我可以做类似的事情吗:
\usepackage{/home/nebffa/Desktop/maths/questions/fillwithlines.sty}
当我尝试这样做时,LaTeX 会向我抛出错误。
答案1
与其使用完整路径,不如将文件放在 TeX 可以找到的适当位置。看来你是 *NIX 用户,所以你可以尝试
$ less `kpsewhich texmf.cnf`
知道这些是哪些地方。这个文件中有很多注释,它们会对你有所帮助。或者,您可以使用 TEXMFHOME 或 TEXINPUTS 环境变量。它们的用法texmf.cnf
也详细说明了。
您可能希望区分软件包的三种使用情况mypackage
:
全站安装,然后,它会适应将您的 TeX 文件存储在站点范围的可用目录中,这
${TEXMFLOCAL}/tex/latex/mypackage
可能是一个不错的选择。(使用kpsexpand
来了解要使用哪个实际路径,如kpsexpand '${TEXMFLOCAL}/tex/latex/mypackge'
)。用户特定安装,则目录
${TEXMFHOME}/tex/latex/mypackage
看起来合适。发展,在开发软件包时,您可能希望避免重复安装 TeX 相关文件,而希望将适当的位置添加到
TEXINPUTS
环境变量中。
该文件texmf.cnf
包含有关这些变量的有用信息。
答案2
\usepackage{<file>}
可以采用完整路径,但要求您删除文件扩展名。也就是说,它假定\usepackage{<path>/file}
将包含file.sty
位于 中的文件<path>
,并自行附加扩展名(称为\@pkgextension
)。因此,删除.sty
。
以下 MWE 重现了该问题:
\documentclass{article}
\usepackage{graphicx.sty}
\begin{document}
Test
\end{document}
产生错误信息:
!LaTeX 错误:未找到文件“graphicx.sty.sty”。 输入 X 退出或继续, 或输入新名称。(默认扩展名:sty)