TexStudio 看到的 TexLive 版本错误

TexStudio 看到的 TexLive 版本错误

当我在 Linux Mint 17 上编译文档时,TexStudio软件报告:

Process started: pdflatex -synctex=1 -interaction=nonstopmode "community-detection".tex

日志文件开头为:

This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)

但是当我从终端运行完全相同的命令时,我得到:

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=pdflatex)

当我跑步时Help > Check LaTeX Installation我得到:

which pdflatex: /usr/bin/pdflatex

但从我的终端运行which pdflatex会导致:

pdflatex is /usr/local/texlive/2014/bin/x86_64-linux/pdflatex
pdflatex is /usr/bin/pdflatex
pdflatex is /usr/local/texlive/2014/bin/x86_64-linux/pdflatex
pdflatex is /usr/local/texlive/2014/bin/x86_64-linux/pdflatex

那么该文件在那里做什么/usr/bin/pdflatex以及我应该卸载哪个包来摆脱它?

答案1

网络上很多地方的 Linux 用户都会看到这样的建议:在PATH中添加 blah blah ~/.bashrc。一般来说,这不是一个好主意,因为只有~/.bashrc执行后,PATH程序才能看到更改。

如果您是命令行高手(像我一样),并且通过终端打开每个程序,那么您不会看到任何差异。但是,如果您通过菜单或键盘快捷键启动编辑器,那么很有可能每当该编辑器要进行系统调用时pdflatex,它都会不是~/.bashrc以已经执行的方式执行此操作,因此PATH不会发现更改。

对于 LaTeX 来说,这通常表现为编辑器现在使用旧的 LaTeX 安装,而不是刚刚手动安装的 TeX Live 2014。

对于基于 Ubuntu 的系统,正确的解决方案是

  • 如果这是单用户系统:则将PATH更改添加到~/.profile。这将执行全球在登录时。

  • 如果您管理多用户系统,请PATH在前面添加变量/etc/environment(记得备份此文件,并记住路径以 分隔:

然后注销并重新登录。


注意:如果您计划使用 SSH 登录到您的 Linux 机器,然后运行 ​​latex,那么最好.bashrc也更改 PATH,因为.profile通过 SSH 登录时不会执行设置。

相关内容