使用 Sublime Text 编辑和编译 LaTeX 文档

LaTeX, Sublime Text, SumatraPDF, sublime-completions
最近更新于 27 Jul., 2017


语法高亮设置

ST 本身并未对 LaTeX 提供语法高亮支持,因此我们需要使用相关的插件。在 package control 中检索 LaTeX,看到最 popular 的插件是 LaTeXTools ,安装该插件即可对 LaTeX 文档进行语法高亮,来看一下MikTeX下面一个附带的 tex文档的高亮效果:

Sublime Text中LaTeX的语法高亮效果

看着真不错。


编译出PDF文档

Sublime Text 里面对文档进行编译的快捷键 [好像] 统一的都是 Ctrl+B
如果不是的话请你们告诉我啊

只要安装了 LaTeXTools 插件就可以执行编译了

这有个前提是电脑上有 LaTeX 环境,因为我已经装了 MiKTeX 了,所以可以直接用。
如果是 TexLive 用户需要做一些 相应的设置,在该插件的 readme 里面均有说明。

直接进行编译看看效果如何:


未安装SumatraPD编译时候警告

注意上面的图,虽然有警告弹出来,但是我们可以发现, ST的 console 里信息显示 done 以及 no errors,因此我们已经编译成功了,可以找到这个 PDF 文档打开查看。

PDF效果

现在回过头来看看刚才出现的那个警示“无法找到 SumatraPDF”,Sumatra 就是一个 PDF 阅读器而已,因此有没有安装这个是不会影响编译的。其实 Sumatra 是一个很好用的 PDF 阅读器,而且小巧免费,专为 windows 设计。


实现反向搜索

虽然不安装 SumatraPDF 不会影响编译但是却不能反向搜索,安装 SumatraPDF 就是为了实现这个功能。使用 Sumatra 阅读器配套的了另一个原因是Sumatra 打开的文档可以实时更新而不会出现文件被占用的错误,也就是说你打开了一个 PDF 进行查看,发现有些地方不合适,不用关闭这个窗口,直接修改你的 LaTeX 源文件,再次编译即可,PDF 阅读器里面会及时更新。然而这一功能对于其他多数阅读器来讲都是无法实现的(最起码默认的设置是不允许这样的操作的)。所以在 windows 上面使用 ST 写 LaTeX 的一定要安装这个阅读器啊,放心,它只是在 ST 中编译 LaTeX 文档时候的御用阅读器,系统默认的阅读器可以指定为其他你喜欢的任意产品(foxit,acrobat,PDF-Xchange 等)。顺便说一下,如果在 linux 上面工作,推荐使用 Zathura 阅读器 (Install TeX Live on Ubuntu 16.04)。

使用 Portable 版本的 Sumatra 并添加到 Path 后 LaTeXTools 还是不能识别出来它,无奈只好选择安装版的。
Sumatra是 LaTeXTools 的默认PDF阅读器

SumatraPDF在LaTeX编译之后自动打开弹出

在PDF中双击文字就可以在 Sublime Text 中反向定位。

这里面需要配置一下才行:

"C:\Program Files\Sublime Text 3\sublime_text.exe" "%f:%l"

SumatraPDF反向搜索配置

关于自动完成 AutoCompletion

需要自己修改两个文件,我已经在这里面加入了{ "trigger": "class", "contents": "\\documentclass[UTF8]"},这一项,编辑的时候只需要输入class,自动补全为\documentclass[UTF8],光标停留在 ] 后面等待输入。

这两个文件为:
LaTeX math.sublime-completions 和 LaTeX.sublime-completions

我们可以用下面的方法查找他的位置。当然了,如果知道他确切的名字的话,Everything搜索最方便了。

自动完成文件

顺利!

NOTE:

  1. LaTeX math.sublime-completions 和 LaTeX.sublime-completions两个文件分别对应普通环境和数学环境;
  2. 输入 trigger 的值,也就是它冒号后面的内容(丢掉双引号,这里使用 JSON 语法,可自行搜索了解之),这时候摁 TAB 键就会按照 contents 进行补全了;
  3. 我们也可以编写 sublime-snippet 文件写一些稍微大一点的“autocompletion”,我在这里有一点相关介绍,详细的还请参考文档。

Locate all snippets/completions question

关于 LaTeX 的一些插件

  1. LaTeXTab

CSV/Excel to LaTeX Table

免去了LaTeX表格制作的麻烦
该插件可以创建表格也可以表格进行修改

使用时候直接将表格复制,然后在Sublime里面右键选择粘贴
具体方法见图(插件作者本人给出的截图)

Create Table
Replace rows or columns
  1. LaTeX-cwl

LaTeX-cwl is a Sublime Text plugin and used by the LaTeX plugin LaTeXing. The plugin supplies cwl files which are used for the autocompletion of LaTeX commands.

LaTeXing.com 出品的插件。
相较于代码补全功能,代码提示功能在我们书写比较陌生的命令时候更有利。

LaTeX-cwl的代码提示功能
  1. LaTeXing

同样是LaTeXing.com出品的插件,这个插件现在没搞明白,只要一打开TeX文档就会自动编译,没找到更改选项

最后顺便收藏一个解放双手来码字的方法
sublime text 3解放鼠标的快捷键总结

推荐阅读更多精彩内容