在Mac上使用Latex的话主流是安装MacTex,对于IDE的选择有很多,像什么自带的TexShop,或者是TexStudio,Latexian,Texpad,Texmaker等,甚至可以直接使用一些通用的编程IDE,比如MacVim,Emacs,Sublime Text等等。
博主喜欢用TexStudio,在配置MacTex和TexStudio会遇到一个问题,那就是在编译Latex的时候,会出现"Could not start the command: /usr/texbin/pdflatex -synctex=1 -interaction=nonstopmode "main".tex" 这个错误,这是为什么呢,我们打开TexStudio -> Options -> Commands发现,这些命令的路径都不正确,很多都是以 /usr/texbin/ 开头的,但是我们的usr文件夹下并没有texbin这个文件,我们的latex文件主要放在了 /usr/local/texlive/2016/bin/x86_64-darwin/ 下面。对于这个错误的解决方法有两种:
1. 建立二者的符号链接(Symbolic Link),通过下面这行代码:
sudo ln -s /usr/local/texlive/2013/bin/x86_64-darwin /usr/texbin
但是我们必须要开启无根模式(Rootless Mode),开启方法请参见这个帖子。但是开启这个模式会使系统的安全性降低,所以推荐大家使用下面这种方法,只用修改一次,一劳永逸。
2. 我们手动修改Commands中的路径,原本的包含/usr/texbin/的的路径有:
/usr/texbin/latex -src -interaction=nonstopmode %.tex /usr/texbin/pdflatex -synctex=1 -interaction=nonstopmode %.tex /usr/texbin/xelatex -synctex=1 -interaction=nonstopmode %.tex /usr/texbin/lualatex -synctex=1 -interaction=nonstopmode %.tex /usr/texbin/dvips -o %.ps %.dvi /usr/texbin/dvipng -T tight -D 120 %.dvi /usr/texbin/bibtex %.aux /usr/texbin/bibtex8 %.aux /usr/texbin/biber % /usr/texbin/makeindex %.idx /usr/texbin/texindy %.idx sh -c "PATH=$PATH:/usr/texbin/; makeglossaries %" /usr/texbin/mpost -interaction=nonstopmode ?me) /usr/texbin/asy ?m*.asy
我们将其中的 /usr/texbin/ 换成/usr/local/texlive/2016/bin/x86_64-darwin/ 即可:
/usr/local/texlive/2016/bin/x86_64-darwin/latex -src -interaction=nonstopmode %.tex /usr/local/texlive/2016/bin/x86_64-darwin/pdflatex -synctex=1 -interaction=nonstopmode %.tex /usr/local/texlive/2016/bin/x86_64-darwin/xelatex -synctex=1 -interaction=nonstopmode %.tex /usr/local/texlive/2016/bin/x86_64-darwin/lualatex -synctex=1 -interaction=nonstopmode %.tex /usr/local/texlive/2016/bin/x86_64-darwin/dvips -o %.ps %.dvi /usr/local/texlive/2016/bin/x86_64-darwin/dvipng -T tight -D 120 %.dvi /usr/local/texlive/2016/bin/x86_64-darwin/bibtex %.aux /usr/local/texlive/2016/bin/x86_64-darwin/bibtex8 %.aux /usr/local/texlive/2016/bin/x86_64-darwin/biber % /usr/local/texlive/2016/bin/x86_64-darwin/makeindex %.idx /usr/local/texlive/2016/bin/x86_64-darwin/texindy %.idx sh -c "PATH=$PATH:/usr/local/texlive/2016/bin/x86_64-darwin/; makeglossaries %" /usr/local/texlive/2016/bin/x86_64-darwin/mpost -interaction=nonstopmode ?me) /usr/local/texlive/2016/bin/x86_64-darwin/asy ?m*.asy
时间: 2024-10-16 23:04:55