我已经在本地用户帐户(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
;如有疑问,请咨询专家)。