LaTex就不多做介绍了,其实一般人用到的机会也不多(包括我)。只是这段时间在Coursera上学课程的时候,偶尔需要,所以从零开始摸索了一下,也顺便进一步发现了Sublime Text的强大。
MAC上的LaTex部署,一般是两条思路,一个是直接安装MacTex,自带编写环境什么的;另一个是Sublime Text(或者Textmate等其他编辑器)+LaTexTools插件。方式二其实也是需要依赖MacTex的,但相对来说体量小、不需要经常切换编辑器,所以果断的介绍方式二。
更新说明:
2017-12-08:更新:修改测试文档,解决中文不能自动换行问题。
2017-10-21:更新:配置文件放网盘了,按需下载。另外清理掉过时内容。
2017-6-12:更新:无内容更新,在MacTex2017Basic、OS X 10.12.5、ST 3 Build3135、LaTexTools v3.14.1下测试通过。
2016-4-20:更新:LaTexTools 4月更新后,增加对OS X上“预览”的支持,相应修改配置方法发生改变。本次更新,在MacTex2015Basic、OS X 10.11.4、ST 3 Build3111、LaTexTools20160420版下测试通过。
2015-10-22:重大更新:LaTexTools 10月更新后,配置发生改变,解决了MacTex2015在OS X 10.11后的调用问题;本文相应做全面更新,尽量采用修改配置而不是修改源文件的方法进行部署。本次更新,在MacTex2015Basic、OS X 10.11.1、ST 3 Build3095、LaTexTools20151004版下测试通过。
2015-10-06:更新:El Capitan(OS X 10.11)增加了SIP,也就是用户不能随意修改/usr
(除掉/usr/local
)的内容,因此会影响MacTex的使用。目前2015版的MacTex已经解决此问题,建议安装。
2015-07-01:更新:所有步骤在Sublime Text 3 beta(Build3092)、LaTeXTools 20150412、MacTex 2015 Basic(201506发布版)、OS X 10.10.4(含Xcode 6.4)下验证操作有效。本次修订将路径都改成ST3了,仍然在用ST2的网友注意对应修改下即可。由于是修改代码,所以如果升级LaTeXTools,需要重新改那两个.py文件的,其他都没有变动。评论中提到的MacTex版本,Basic就够了,不需要装2G多的包,Basic大概是装完300MB吧。
2014-12-06:重大更新:所有的步骤在Sublime Text 3 beta (Build3065)、LaTeXTools 20140312、MacTex 2014、OS X 10.10.1(含Xcode 6.1)下操作有效。如果你仍然在用ST 2,那么只需要注意下面的路径要对应修改即可。LaTeXTools 20140312对比之前版本较大,推荐使用这个最新版,并根据Readme迁移你的设置。
安装步骤
- 首先需要安装Sublime Text 2/3和Package Control,这个有大把的帖子。
- MacTex现在是一个2G+的大包子,其实里面很多东西我们不需要,所以本着节约精神,我们安装MacTex_Basic包就行了,现在的版本大概是100M以内。这个安装也是傻瓜的。
- 在Sublime Text里
Command+Shift+P
调出命令窗口,输入Install
,之后选择LaTexTools,网络OK的话,很快就完成了插件安装。 - LaTexTools插件会在编译你的Tex文件后,调用Skim这个PDF阅读器打开编译出的PDF文件,因此你还需要安装Skim.
- 运行一下Skim,进入
偏好设置——同步
,在PDF-Tex同步支持
那里选择自定义
,输入/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl
,第二行不用动。这样,当你在Sublime Text里修改tex文件时,Skim预览也会相应变更。 - 完成上面所有步骤,其实就已经搭建完成基本环境。创建一个test.tex文档,保存一下以后,Sublime Text会自动套用LaTex语法显示和编译。贴上我后面附的测试代码,一般来说Command+B应该可能会报fontspec错误;如果能正常编译,则会调用Skim显示一个PDF文档了。只是中间的中文不见了。
- 让我们最后来修改编译和中文环境:
打开终端,运行:
sudo tlmgr update --self
sudo tlmgr install latexmk
在ST里打开LaTeXTools.sublime-settings(也就是LaTeXTools的用户设置,如果你是从旧版本升级上来或者担心这个配置文件出现问题,可以依次点击Preferences——Package Settings——LaTeXTools——Reconfigure LaTeXTools and migrate settings
重建配置文件),在builder-settings
下面新增两项配置:
"program" : "xelatex",
"command" : ["latexmk", "-cd", "-e", "$pdflatex = 'xelatex -interaction=nonstopmode -synctex=1 %S %O'", "-f", "-pdf"],
另外注意之前应该有"builder": "default"
(或直接设置为空或”traditional”)。
保存配置文件后关闭,重新编译一下,中文正常啦!
LaTeXTools默认调用Skim来打开生成的PDF文件,如果你更喜欢使用OS X自带的“预览”,现在可以直接在用户设置中增加:
"viewer": "preview",
目前还不支持其他PDF工具。
附上我的配置文件:https://pan.baidu.com/s/1pKGYHfX 密码:b27u
测试代码
\documentclass{article}
\usepackage{xeCJK, fontspec, xunicode, xltxtra}
\setCJKmainfont{Hiragino Sans GB}
\title{Title}
\author{}
\begin{document}
\maketitle{}
\section{Introduction}
This is where you will write your content. 在这里写上内容。
\end{document}
LaTex的其他选择
如果觉得修改设置看起来很复杂,可以在每篇文档前增加%!TEX program = xelatex
,这会强制使用xelatex,也是解决中文的一个方法。
如果只是偶尔需要输入公式,这里介绍一个在线的LaTex公式编辑器http://www.codecogs.com/latex/eqneditor.php
有iPad的,你们有福了,还有个手写公式后自动识别、生成LaTex公式的App:MyScript MathPad。简单的使用已经足够了,如果需要经常使用,导出功能需要内购(4.99刀)。顺便说一句,这家公司的手写App都很强大,手写计算器、手写Notes都挺好用,而且不贵。
参考链接:
MacTex页面:http://tug.org/mactex/morepackages.html
Skim官网:http://skim-app.sourceforge.net
LaTexTools官网:https://github.com/SublimeText/LaTeXTools
前六步骤的具体介绍:http://economistry.com/2013/01/installing-and-using-latex-for-mac/ 不过需要注意,这里是用了完整的MacTex
发现xelatex是受了这里的启发:http://www.teeboneding.com/blog/2013/06/01/write-ntu-master-thesis-with-xelatex-template-on-mac/ 但需要注意,这里的编译代码测试无效。
秋・故事(又名被第一场雨搅乱的参考文献管理) / Cobalt Blue
2016年10月17日 @ 07:52
[…] 我第一次去参加会议带着的海报是请同学做的,后来同学毕业了,我就只能自己搞定了。用LaTeX写海报的时候,可以配置sublime text和LaTeX软件,然后一条条指令编上去,也可以使用模板,修改代码和图片。伟大的Overleaf可以直接在线生成各种格式的文章和海报,很不错。 […]
如何处理参考文献 | Matrix 精选-天麻八部
2016年10月23日 @ 16:21
[…] LaTeX,可以根据这个配置 sublime text 和 […]
如何处理参考文献 | Matrix 精选-慢慢码(ManManMa)
2016年10月24日 @ 01:52
[…] LaTeX,可以根据这个配置 sublime text 和 […]
Nuullll
2016年12月18日 @ 09:59
赞👍
jiawen
2017年2月13日 @ 11:06
按照这个方法 中文仍旧编译不成功,一会提示,
/usr/local/texlive/2015/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def:96: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [ }]
pdfTeX error: pdflatex (file cyberb73): Font cyberb73 at 843 not found
一会又提示:
/usr/local/texlive/2015/texmf-dist/tex/latex/fontspec/fontspec.sty:43: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [ }]
打开这些文件进去看,也看不出来什么问题
ern
2017年2月13日 @ 21:09
请注意现在是只需要修改LaTeXTools的配置哦,并不需要修改其他py文件什么的,都操作对了么?
jiawen
2017年2月14日 @ 17:21
是的呢,builder改成 traditional,
增加两句,
“program” : “xelatex”,
“command” : [“latexmk”, “-cd”, “-e”, “$pdflatex = ‘xelatex -interaction=nonstopmode -synctex=1 %S %O'”, “-f”, “-pdf”],
我加在配置文件最开始的一行了,有影响吗,我换到其他位置,还是这样的
ERN
2017年2月14日 @ 20:36
你留个email地址,我发配置文件给你试试看吧
jiawen
2017年2月15日 @ 11:13
liujiawen11@outlook.com 非常感谢!
Jiawen
2017年2月23日 @ 18:04
哇 我跟你的配置文件对照了一下,
果然是这句话的位置加错了,应该加在builder-sitting的那个大括号里面,我加在外面的一处地方了
挪进来之后马上就编译好了,非常感谢啦!
Siyu
2017年2月24日 @ 17:17
可以把配置文件发给我一份吗?万分感谢
403497667@qq.com
ern
2017年2月25日 @ 21:10
已经发给你了,请查收。希望有所帮助
李亮奇
2017年5月8日 @ 13:06
也请发一份配置文件给我!万分感谢
llq940201@163.com
袁野最棒2
2017年5月23日 @ 16:51
也请发我一份,谢谢
yeyuan0818@163.com
袁野最棒2
2017年5月25日 @ 18:00
非常感谢,成功了
zl1331
2017年9月15日 @ 20:21
问题:TraditionalBuilder: Engine: pdflatex. Invoking latexmk… done.
Errors:
/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec.sty:28: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
当在命令窗口使用xelatex后可以,一旦添加新内容,问题重新出现。
求一份配置文件,zl1331@qq.com
ern
2017年9月20日 @ 10:53
已发送
Siyu
2017年2月24日 @ 17:20
加入两行命令之后 program后面的冒号一直显示红色
Siyu
2017年2月24日 @ 17:26
我现在的状况是sublime可以编辑中文,生成pdf文件中也是中文,但对应生成的tex文件中代码的中文部分依然显示乱码
杨光
2017年6月19日 @ 20:16
那个终端输入是什么意思啊
ern
2017年6月19日 @ 21:02
打开macOS上的“终端”这个程序,然后输入指令,就是命令行。
杨光
2017年6月19日 @ 22:54
为什么我的终端输入这个 会出现一个钥匙的标志 然后就没有然后了
ern
2017年6月19日 @ 23:01
不知道,终端会有钥匙标志?你是用的有管理员权限的账户么?配置已发
ern
2017年6月19日 @ 23:02
不知道,终端会有钥匙标志?
你是用的有管理员权限的账户么?配置已发
杨光
2017年6月19日 @ 22:55
求发一份配置 18222806096@163.com
Zili Zhou
2017年4月26日 @ 23:40
博主你好,我配置总是不成功,文字看的也有点不懂,可不可以发我一份配置文件呢?谢谢你啦。704694834@qq.com
jin
2017年6月9日 @ 23:32
[Compiling /Users/jinshan/Downloads/test.t
1 Error(s), 0 Warning(s), 0 FSC, and 0 BadBox(es).
[Error(s)]
E: /usr/local/texlive/2017basic/texmf-dist/tex/latex/fontspec/fontspec.sty:28 ……………………………………….
[Done in 0.36s!]
你好我照最新的配置方法配置了settings还是出现这样的错误,能不能发一份配置文件呢,谢谢
295588478@qq.com
ern
2017年6月11日 @ 17:46
已发送,请查收
Song Lulin
2017年10月21日 @ 11:33
楼主你好,我也出现了同样的问题,能否辛苦发一份配置文档呢?辛苦啦,我的邮箱是songlulincufe@163.com
刘诚
2017年6月11日 @ 17:06
博主您好,我自己老是配置不好,麻烦发一份配置文件
595784676@qq.com
谢谢
ern
2017年6月11日 @ 17:46
已发送,请查收
刘诚
2017年6月11日 @ 17:58
不好意思,好像没有收到
ern
2017年6月11日 @ 18:31
QQ邮箱拒收了
刘诚
2017年6月11日 @ 18:33
smartme520@sina.com
那麻烦博主发这个看看行不行
刘诚
2017年6月11日 @ 18:45
收到了,谢谢博主
刘诚
2017年6月11日 @ 21:15
E: /usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec.sty:28 ……………………………………….
还是会出现这个,好难受
ern
2017年6月11日 @ 22:56
你第7步前两个指令执行没有?
刘诚
2017年6月12日 @ 09:19
tlmgr: package repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet (not verified: gnupg not available)
运行了提示这个是有问题吗
ern
2017年6月12日 @ 17:15
你试试能否正常使用,好像没什么问题。我不记得当时的提示了。
伍璇
2017年7月1日 @ 09:50
求发一份配置 1254909215@qq.com
月月
2017年6月12日 @ 16:51
博主您好!我按照您的方式设置有如下问题:
commond+B时出现如下错误
[Compiling /Users/yueyue/Documents/Untitled.tex]
TraditionalBuilder: Engine: pdflatex. Invoking latexmk… done.
Errors:
*能否把您的配置文件发我一份?huyue0716@foxmail.com
ern
2017年6月12日 @ 17:15
已发
陈成杰
2018年10月22日 @ 15:43
博主你好,我也是这个问题,能否把您的配置文件也发我一份?谢谢chenchengjie77@163.com
ern
2018年10月22日 @ 15:46
文末提供了共享啊,请试试
zz3223zz
2017年6月15日 @ 22:15
楼主求发配置文件,zz3223zz@163.com
Alexandra Zou
2017年7月10日 @ 11:07
博主你好!
我已按照你的步骤搭建好了ST+LaTeX,测试代码也可运行。
可是当我运行以下代码时,出现了错误: LaTeX Error: File `ctexart
\documentclass{ctexart}
\title{Introduction to \LaTeX}
\author{Alexandra Zou}
\date{\today}
\usepackage{lipsum}
\begin{document}
\maketitle
\lipsum[1-2]
\end{document}
并且开头加上注释%!TEX program = xelatex也没有用,请问该如何解决?
ern
2017年7月10日 @ 11:59
你试试只是用mac上latex编译的话是否正常。我其实用latex不多,几乎只是一些公式需要,所以对latex的具体使用不太熟悉。示例代码能正常跑出来PDF的话,应该是总体调用方面没问题了,可能是一些特性支持和兼容问题。
Alexandra Zou
2017年7月10日 @ 22:03
已找到解决方法。
在ST里输入这串代码:
\documentclass{ctexart}
\begin{document}
MignonneBear是最可爱的熊。
\end{document}
ST会直接在第一行下边弹出:LaTeX Error: File `ctexart
于是我们要先打开终端,下载ctex包,接着编译,还是会有报错,报错内容可以下拉查看完整,我们可以根据报错内容继续下载相应的包,直至编译成功。
当我们在终端里输入:
sudo tlmgr install ctex
sudo tlmgr install environ
sudo tlmgr install trimspaces
sudo tlmgr install zhnumber
下载好这四个包后,就应该可以编译成功了。(我可以)
Sylvia
2017年8月10日 @ 11:58
您好!为什么不能插入图片?
ern
2017年8月11日 @ 07:59
是报错还是没能生效?可能要研究下latex部分。
Sylvia
2017年8月11日 @ 13:15
图片问题解决的,但还是不可以显示中文呀⊙﹏⊙
ern
2017年8月11日 @ 17:46
所有步骤做完了么?特别是第7步。
如何处理参考文献之学术狗的日常 | 邓陵子
2017年8月21日 @ 21:05
[…] 学术海报 我第一次去参加会议带着的海报是请同学做的,后来同学毕业了,我就只能自己搞定了。这儿,我建议用LaTeX制作海报,第一它是排版很美观,第二有了模板之后一劳永逸。那么首先我们得装LaTeX,可以根据这个配置sublime text和LaTeX,然后一条条指令编上去。也可以使用模板修改代码和插入图片图片,图13是Sublime text的编辑界面的示例;图14是我随便生成的一个充满学校logo的海报。 […]
Mac上使用Sublime Text3编写LaTex – 饱蠹阁baoduge
2017年9月10日 @ 23:54
[…] 部署MAC上的Sublime Text+LaTex中文环境——201706更新 […]
刁家骐
2017年9月19日 @ 17:36
[Compiling /Users/diaojiaqi/Desktop/demo.tex]
TraditionalBuilder: Engine: pdflatex. Invoking latexmk… done.
Errors:
/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec.sty:28: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [\msg_fatal:nn {fontspec} {cannot-use-pdftex}]
No warnings.
[Done!]
博主我编译之后出现这个问题,是什么原因?
希望能有一份配置文件,谢谢!
邮箱392484512@qq.com
ern
2017年9月20日 @ 10:53
已发送
Pango
2017年10月19日 @ 23:37
同样的问题,求解决
316121254@qq.com
谢谢
ern
2017年10月19日 @ 23:52
发了配置给你了
Pango
2017年10月20日 @ 16:11
你好,我中文编译出来不能自动换行,英文可以自动换行,是怎么回事?
ern
2017年10月20日 @ 20:18
用了我的配置么?是pdf没有换行?
ern
2017年12月8日 @ 14:25
这是TEX使用问题了。我修改了测试文档,可以自动换行了,关键是第二、三行。
Susan
2017年10月20日 @ 17:20
同样的问题,求配置文件。
Main
2017年11月11日 @ 20:35
TraditionalBuilder: Engine: pdflatex. Invoking latexmk… done.
Errors:
/usr/local/texlive/2017/texmf-dist/tex/latex/fontspec/fontspec.sty:28: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [\msg_fatal:nn {fontspec} {cannot-use-pdftex}]
同样的问题,求博主分享2723438646@qq.com
ern
2017年11月11日 @ 21:06
仔细看原文,我已经共享了
Main
2017年11月18日 @ 15:19
谢谢博主分享 解决了我的问题。
Main
2017年11月18日 @ 15:24
博主你好,又是楼上提到的问题:中文不能自动换行,英文没有这个问题…
ern
2017年12月8日 @ 14:24
这是TEX使用问题了。我修改了测试文档,可以自动换行了,关键是第二、三行。
阿秋啊啾啾啾
2017年12月8日 @ 12:01
博主你好,我配置到第七步 LaTeXTools——Reconfigure LaTeXTools and migrate settings 这个没有怎么办啊 = =
是我哪一步出错了嘛?
ern
2017年12月8日 @ 14:16
你可以直接打开LaTeXTools.sublime-settings这个配置文件啊。
小头
2018年4月18日 @ 15:58
请问在写\usepackage{algorithm}语句时,报错“LaTeX Error: File `algorithm.sty’ not found. [\usepackage]”,要如何添加解决呢
ern
2018年4月18日 @ 17:29
我用LaTEX其实不多,我怀疑是是不是这个包不是MacTEX Basic默认自带的?
Vicent
2018年7月14日 @ 17:38
同样这个问题:
Compilation failed with return code [12]!
2 Error(s), 0 Warning(s), 0 FSC, and 0 BadBox(es).
[Error(s)]
E: /usr/local/texlive/2018/texmf-dist/tex/xelatex/xecjk/xeCJK.sty:43 ……………………………………….
E: /usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.sty:44 ……………………………………….
[Done in 0.75s!]
是什么原因?
sovarol
2018年8月31日 @ 17:33
你好,你的问题解决了吗
Vicent
2018年7月14日 @ 17:50
邮箱 381785815@qq.com请发个配置给我,谢谢你!
ern
2018年7月17日 @ 12:07
文末不是有网盘链接么?
顺
2018年9月17日 @ 18:24
[Error(s)]
E: /usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.sty:45
你好 所有都是按照你的来的 还是报错
ern
2018年9月17日 @ 22:23
下载我共享的配置试试看
Jonathan
2018年9月23日 @ 01:01
特意留个言, 感谢楼主的教程, 搜了好久都没有解决的问题在你这里解决了, 赞一个, 感谢
莫与
2019年5月22日 @ 22:38
为什么我原封不动用了您百度云盘的配置文件还是不显示中文呢?~求问一下,我的email:ssauterne@qq.com
ern
2019年5月22日 @ 22:52
有报错什么的么?
王泽华
2019年5月28日 @ 11:27
你好,我按照您说的方法操作了,但是运行您的测试代码,提示No Build system,如果运行自己的文件加上中文之后提示如下的错误,应该怎么解决?E: /usr/local/texlive/2018/texmf-dist/tex/xelatex/xecjk/xeCJK.sty:43 ……………………………………….
E: /usr/local/texlive/2018/texmf-dist/tex/latex/fontspec/fontspec.sty:44
ern
2019年5月28日 @ 22:01
对于第一个错误,你的文件后缀名正确么?似乎是没认到用什么工具来编译。第二个,你确信完全按步骤做了么?我记得是缺了哪个步骤产生的。