LaTeX 找不到我的个人包

LaTeX 找不到我的个人包

我正在尝试编写自己的软件包,但 LaTeX 找不到它们。

我在 iMac OS X 上工作,但我不想使用TEXMFHOME=~/Library/texmf。我想把我的包放在不同的目录中:为了方便起见,我们称之为~/private/texmf

我的TEXINPUTS设置TEXINPUTS=.:~/private/texmf//:为标准文件,并且运行良好.tex。但是当我.sty在这些目录中放置新文件时,LaTeX 会抱怨找不到它们。

我尝试了很多方法。最值得注意的两种方法是:

  1. 环境TEXMFHOME=~/private/texmf:~Library/texmf
  2. 环境TEXMFHOME=~/private/texmf

两次我都输入~/private/texmf并运行sudo texhash以更新所有内容(我以前从未这样做过)。我已移动到我的软件包所在的目录~/private/texmf/tex/latex/packages/texhash再次调用。但都无济于事。

我已经在网络和此网站上搜索了有关该做什么的线索:

  1. 更改每个用户的 TEXMFHOME

  2. 我应该将自己的 .sty 文件放在哪里,以使它们可供我的所有 .tex 文件使用?

  3. 如何从 Kile 访问 texlive-publishers 中的样式文件

    上面提到的似乎是不同网站建议的。但都不起作用。

帮助。

答案1

对于 MacTeX 来说,“私有树” 的位置通常为

~/Library/texmf

(伪)变量指向TEXMFHOME

> kpsewhich --var-value TEXMFHOME
/Users/<user>/Library/texmf

(我只在这台机器上隐藏了我的真实用户名)。如果你尝试

> less $(kpsewhich texmf.cnf)

你会看到类似这样的画面

% (Public domain.)
% This texmf.cnf file should contain only your personal changes from the
% original texmf.cnf (for example, as chosen in the installer).
%
% That is, if you need to make changes to texmf.cnf, put your custom
% settings in this file, which is .../texlive/YYYY/texmf.cnf, rather than
% the distributed file (which is .../texlive/YYYY/texmf-dist/web2c/texmf.cnf).
% And include *only* your changed values, not a copy of the whole thing!
%
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2013/texmf-var
TEXMFCONFIG = ~/Library/texlive/2013/texmf-config
/usr/local/texlive/2013/texmf.cnf (END)

最后一行不属于文件,它只是显示了文件的位置。此文件位于顶层,texmf.cnf因此在启动 TeX 程序时首先读取;系统设置为在texmf.cnf输入其他文件时不会破坏任何变量。

因此你需要做的只是编辑该文件

sudo nano $(kpsewhich texmf.cnf)

(使用你喜欢的任何编辑器代替nano);例如,你可能想要设置

TEXMFHOME=~/private/texmf:~Library/texmf

我测试了它,文件在两个位置都找到了(优先于~/private/texmf)。你需要在将文件添加到私有树或树后运行texhashmktexlsr。但是,您必须在树中正确创建结构;wonderfulpackage.sty只有当文件存储为

~/private/texmf/tex/latex/wonderfulpackage/wonderfulpackage.sty

(最后一个子部分,即目录wonderfulpackage)是可选的,但建议使用它以便以后维护。如果你把文件放在~/private/texmf它上面将不会可以被 LaTeX 找到。

相关内容