当我在 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 登录时不会执行设置。