我有同样的问题这个问题,但由于它太旧了,我想最好是提出一个新问题,而不是等待 7 年前的答案来澄清。
我有一个 .sty 文件,里面有我想用的东西,我正在尝试找到正确的目录来放置 .sty 文件,按照 Stefan 在链接问题中的回答。当我调用
kpsewhich -var-value=TEXMFHOME
我得到了/home/terek/texmf
,正如预期的那样。没有这样的目录这里(即使我显示隐藏文件)。其他几个类似的问题和答案(例如这里)提到目录,例如~/texmf/tex/latex/something/
。我应该创造那个目录?
搜索后,我找到了一堆其他的“texmf”目录,但我不知道哪个是正确的,所以请自己看看:
请记住,我是 Linux 新手,我可能会要求一些愚蠢的说明。我也知道问题标题没有太多信息,但我很迷茫,想不出更好的答案,所以如果您愿意,请随意编辑它。
答案1
对于 TeX Live,手动安装的文件应该位于两棵树之一中(标准情况下)。
基本思路是(呃……大概)有三棵树。这MAIN
棵树由 TeX Live 的包管理器(用于上游安装)或 Linux 发行版的包管理器(用于重新打包的安装)处理。您不应该手动添加、修改或删除此树中的文件。
第二个是LOCAL
树。这是为所有用户本地安装的软件包。其位置如下
kpsewhich -var TEXMFLOCAL
第三个是HOME
树。这是针对个人单用户包的。其位置如下
kpsewhich -var TEXMFHOME
然而,字体支持包永远不应该安装到TEXMFHOME
TEXMFLOCAL
即使在单用户系统上也是如此。撤销此操作比从不执行此操作更复杂,因为仅仅卸载并安装到正确的位置并不能消除损害。
一旦知道了要使用哪棵树,就需要确定将文件放在树中的什么位置。对于 LaTeX 包,.sty
文件必须放在 下的某个位置<root of tree>/tex/latex/
,但最好放在 下,<root of tree>/tex/latex/<name of package>/
因为这有助于使你的树更容易被人理解。同样,文档也放在 下<root of tree>/doc/latex/<name of package>/
。通常,你可以通过查看 下的结构并镜像根目录下的层次结构来了解事物的归属TEXMFMAIN
。
大多数文件(包括.sty
文件)也可以包含在您的工作目录中 - 无论您.tex
身在何处 - 并且无需处理树结构问题即可找到。
1 与大多数此类规则一样,如果您真的知道自己在做什么以及为什么要这样做,那么这条规则是可以打破的。但是,唯一可能合理考虑这样做的情况(尽管心情很沉重)是,您没有修改树的权限LOCAL
,并且经过长时间的努力,仍无法说服本地 TeX 安装的管理员安装您梦寐以求的字体包。即便如此,明智的做法通常是放弃相关字体。“我更喜欢它”是不够的。“我的报告需要一个我完全无法获得的符号,我的报告代表了一个重大的人生项目,或者具有重大的社会、道德或文化价值”可能就足够了,但改变您的人生目标和/或社会价值观可能更容易。