自定义 TEXMFHOME

自定义 TEXMFHOME

我在 Ubuntu 12.04 上(不确定是否有区别),我正在尝试更改$TEXMFHOME为自定义目录。目前它是$HOME/texmf,我相信这是默认的,但即使我将.sty文件放入其中,文件的编译.tex也找不到它。更重要的是,当我将目录更改为$TEXMFHOME其他目录并将.sty文件移动到那里时,它仍然找不到它。但是,如果我将文件放在.sty与文件相同的目录中,.tex它就可以完美运行(虽然不是我想要的)。我正在更改$TEXMFHOME/etc/texmf/texmf.d/05TeXMF.cnf并使用sudo update-texmf来生成texmf.cnf文件。这是正确的方法吗?我做错了什么?

如果有帮助的话,我会使用 emacs 和 auctex 作为我的编辑器。

我在这里和其他网站上找到了非常相似的其他帖子,但这些解决方案都不适合我。

答案1

为什么要改变它?我认为你忽略的是你应该让你的个人texmf树模仿已安装的版本。这很容易解决。

在终端中:

mkdir -p ~/texmf/{doc,tex}/{context,eplain,generic,latex,lualatex,plain,xelatex,xetex} # for example
mkdir -p ~/texmf/bibtex/bib # put your bib file in here

bibtex(如果doc您想将东西放入其中,您应该/需要创建适当的子目录。)

现在你可以测试是否找到了东西:

touch ~/texmf/tex/latex/myfakefile.sty
kpsewhere myfakefile.sty

最后一个命令应该返回:

/home/<user>/texmf/tex/latex/myfakefile.sty

另请注意,命令

kpsewhich --var-value TEXMF

应该返回将按搜索顺序(我相信)进行搜索的地点列表。您的个人树可能列在第一位,这意味着在“系统”myfakefile.sty和“个人”之间的竞争中myfakefile.sty,个人树将获胜。

最后,我应该指出,您尝试修改texmf.cnf可能使此答案无效(我不确定您做了什么)。我会将您的更改恢复为默认设置,因为这样更容易维护。

答案2

假设您的 shell 尝试bash使用 ? 设置环境变量,export特别是调用export TEXMFHOME=/path/to/your/custom/location,然后重新启动 shell。

如果可行,您可以将此export命令添加到.bashrc文件中,然后在启动终端时即可获得正确的结果。

相关内容