软件包无法加载

软件包无法加载

我编写了一个包并将其放在与 eg 相同的目录中latex.ltx。但是,TeXShop 不会加载它,或者更确切地说,通过 TeXShop 调用的 XeLaTeX 和 pdfTeX 不会加载它。但是,如果我在出现file not found错误时输入:

/usr/local/texlive/2013/texmf-dist/tex/latex/base/mworx.sty

在控制台上,找到并加载了该文件。并且该路径与 size10.clo 相同,size10.clo 是我看到的第一个加载文件。为什么 XeLaTeX 似乎只在 .tex 文件的目录中寻找该文件?

答案1

您不应该将新软件包放入texmf-dist树中;它们可能会被发行版更新覆盖。(或者更有可能在您升级到 MacTeX2015 或其他版本时被遗忘。)

由于您使用的是 Mac,因此添加(LaTeX)包文件的适当位置是

~/Library/texmf/tex/latex/

将文件放入texmf-dist看似正确的位置却没有导致 TeX 能够找到该文件的原因是kpathsea,出于性能原因,TeX 用于查找文件的工具不会动态搜索文件夹。

但是,配置文件texmf.cnf对上面链接的“主” texmf 树进行了特殊考虑——因为该树(通常)非常小,因此当尝试在那里查找文件时搜索磁盘的性能损失很小。

还有另一个“分配”位置可用于将文件放入 TeX 发行版:

/usr/local/texlive/texmf-local

如果您将文件放在这里,计算机的所有用户都会找到它(而不是树~/Library/texmf),则需要kpathsea使用终端命令通知更新其文件数据库:

sudo texhash

相关内容