覆盖系统搜索路径

覆盖系统搜索路径

我已经在本地用户帐户(Linux 下)上安装了 texlive-2012,系统使用的是旧版本(texlive-2007),其中缺少一些软件包,而我没有 root 权限来安装这些软件包。为了强制系统识别我的安装,我按照~/.bashrc建议更改了一些搜索路径类似帖子

export TEXMF='{/home/avaz/texlive/texmf,/home/avaz/texlive/texmf-dist/tex/latex/base,/home/avaz/texlive/texmf-var,/home/avaz/texlive/texmf-config,/home/avaz/texmf,/etc/texmf,confTEXMFSYSVAR,confTEXMFLOCAL,confTEXMFMAIN,confTEXMFDIST}'
export TEXMFHOME='/home/avaz/texlive/texmf'
export TEXMFLOCAL='/home/avaz/texlive/texmf'

这显然/home/avaz/是我的安装 texlive-2012 的主文件夹,但是当我运行时~/textlive/bin/x86_64-linux/latex myfile.tex出现错误:

!LaTeX 错误:未找到文件“article.cls”。

'article.cls' 位于~/texlive/texmf-dist/tex/latex/base/,但我不知道为什么 latex 不通过它。这是我用 得到的摘录texconfig conf

=========================== kpathsea variables ===========================
TEXMFMAIN=/usr/share/texmf
TEXMFDIST=/usr/share/texmf
TEXMFLOCAL=/home/avaz/texlive/texmf
TEXMFSYSVAR=/var/lib/texmf
TEXMFSYSCONFIG=/etc/texmf
TEXMFHOME=/home/avaz/texlive/texmf

我是否做错了什么或者还有哪些事情需要我去改变才能解决?

答案1

TeX Live 的二进制文件会自行配置,以使用正确的路径进行文件搜索,并TEXMF根据texmf.cnf它们能够找到的文件中建立的值在内部设置变量(如和朋友),因为它相对于包含二进制文件的目录处于固定位置。

这就是说,你只需要修改PATH变量;根据你的信息,似乎说明

export PATH=~/texlive/bin/x86_64-linux:${PATH}

您的文件中的~/.bashrc内容应该足以解决问题。

确保TEX环境中没有设置以 开头的变量(嗯,在 中找到的变量中没有变量texmf.cnf;如有疑问,请咨询专家)。

相关内容