如何让 LaTeX 看到本地 texmf 树

如何让 LaTeX 看到本地 texmf 树

我最近在运行 Snow Leopard 的 Mac 上安装了 TeXLive 2011。我没有下载 MacTeX(原因我们在此不再赘述)。我遇到了一个问题,无法pdflatex看到我的本地 texmf 树。我的树位于~/Library/texmf,并且我在 有一个指向该目录的符号链接~/texmf

在之前的安装中,它可以看到我的树,~/Library/texmf无需我在安装后进行任何额外的配置。

我需要做什么才能让 [la]tex 看到我的本地树?

答案1

未经测试,因为我没有您使用的设置。请尝试以下操作:

 tlmgr conf texmf TEXMFHOME "~/Library/texmf:~/texmf"

看看是否可行。通常情况下,可以使用 来运行,sudo但由于您没有管理员权限,我假设不使用 来运行也可以。

答案2

当你安装 TeX Live 时,你可以修改一堆路径设置:

<D> directories:
  TEXDIR (the main TeX directory):
    /usr/local/texlive/2011
  TEXMFLOCAL (directory for site-wide local files):
    /usr/local/texlive/texmf-local
  TEXMFSYSVAR (directory for variable and automatically generated data):
    /usr/local/texlive/2011/texmf-var
  TEXMFSYSCONFIG (directory for local config):
    /usr/local/texlive/2011/texmf-config
  TEXMFVAR (personal directory for variable and automatically generated data):
    ~/.texlive2011/texmf-var
  TEXMFCONFIG (personal directory for local config):
    ~/.texlive2011/texmf-config
  TEXMFHOME (directory for user-specific files):
    ~/texmf

您可以TEXMFHOME在安装过程中轻松更改以指向所需的目标,就像~/Library/texmf使用命令行和 GUI 安装程序一样。如果您已经过了那个点,您可以在texmf.cnf安装 TeX Live 的顶层文件夹中找到一个文件(texmf-whatever树旁边)。如果没有,只需创建一个新的。将行更改为(或创建)TEXMFHOME

TEXMFHOME = ~/Library/texmf

MacTeX 在里面设置(重新定义)了以下变量texmf.cnf

% (Public domain.)
% ...
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2011/texmf-var
TEXMFCONFIG = ~/Library/texlive/2011/texmf-config

如果您想要与 MacTeX 中相同的位置,您可以执行相同的操作,但我建议您TEXMFVAR在安装结束后不要触碰它,或者至少您最好将文件夹从旧位置移动到新位置。

对于个人安装,我建议您portable无论如何选择安装并且只进行更改TEXMFHOME

请注意,Alan Munn 的建议是

> tlmgr conf texmf TEXMFHOME "~/Library/texmf:~/texmf"
setting texmf TEXMFHOME to ~/Library/texmf:~/texmf (in /path/to/your/texlive/texmf.cnf)

以用户友好的方式执行完全相同的操作(除了将搜索路径设置为两个不同的文件夹这一小节),前提是你能记住该命令。我发现直接编辑配置文件(或者如果我搞砸了其他设置,则重新安装 TeX Live)更简单:)。

答案3

尝试运行kpsewhich -var-value TEXMFLOCAL以查看 TeX 认为您的本地texmf树应该在哪里。

答案4

您可以编辑~/.MacOSX/environment.plist并设置TEXMFHOME/Users/<your short username>/Library/texmf。该文件是纯文本 XML 文件,您可以手动编辑或使用 XCode (链接至 Apple 的技术问答文档)。下次登录时,所有应用程序都会设置该环境变量,即使它们不是从终端运行的(终端显示为~/.bash_profile)。

相关内容