Mac OS X 10.10 Yosemite下Sublime Text/LateX tools无法使用xelatex解决办法

环境

Mac OS X Yosemite Sublime Text 3 MacTeX-2014 Skim

配置

参考部署MAC上的Sublime Text+LaTeX中文环境

  1. 安装MacTeX,此安装包比较大,大概2.4G的样子。嫌大可装BasicTeX,不过要手动安装latexmk,在终端下输入sudo tlmgr install latexmk,我记得tlmgr好像不在path里面,可能要打绝对路径,我装的是完整版的,所以对此不是很确定。

  2. 安装Sublime Text 3和package control

Package control安装步骤

  • 打开Sublime,control+`或者View > Show Console打开控制台
  • 输入
    import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
  • 等待完成
  1. package control安装好后就可以开始装LaTexTools了。

Sublime中Command+Shift+P,输入install,按下enter,再输入LatexTools,应该会自动补全,回车确认后等待安装完成。

  1. OS X下,sublime编译PDF文件通过Skim预览,所以我们要安装并且配置Skim。

配置Skim
最新版本的LateXTools以及Skim支持默认ST2以及ST3,只需在偏好设置 > 同步选择Sublime Text就行了。

  1. 进行到这里,sublime的LaTeX已经基本配置完成,接下来添加中文支持。
  • 最新的LateXTools可以通过在每个tex文件最前加上%!TEX program = program可选pdflatex, lualatexxelatex,默认为pdflatex
  • pdflatex不支持中文,我们需要修改为xelatex
    注意上文分享的部署MAC上的Sublime Text+LaTeX中文环境
    中的设置对最新的LaTexTools是不适用的,详情参见SublimeText/LaTeXTools
  • 然而对于10.10的系统,无法通过xelatex编译,原因不是很清楚。Git上也有许多人遇到这个问题,经过搜索找到了一个解决办法,感谢flipphillips

编辑~/Library/Application Support/Sublime Text 3/Packages/LaTeXTools/目录下makePDF.py,找到
proc = subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
这一行并添加env=os.environ
proc = subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE,env=os.environ)
保存,现在就能编译成功了。

测试代码

%!TEX program = xelatex
\documentclass{article}
\usepackage{fontspec, xunicode, xltxtra}
\setmainfont{Hiragino Sans GB}
\title{Title}
\author{}
\begin{document}
\maketitle{}
\section{Introduction}
This is where you will write your content. 在这里写上内容。
\end{document}

你可能感兴趣的:(Mac OS X 10.10 Yosemite下Sublime Text/LateX tools无法使用xelatex解决办法)