有哪些好的 LaTeX 编辑器?

对中文支持好,能自动提示命令的?
关注者
4,498
被浏览
4,840,921

136 个回答

2017-08-17:添加 Visual Studio Code;软件更新比较快,删除推荐,避免误导

2016-04-21:更新 Atom 编辑器中文自动换行,见 Atom 配置中的备注

2016-03-06:更新 Atom 编辑器的配置用法,见编辑器介绍 Atom 项及 Atom 配置项。


维基百科上有一篇对比,超过20种编辑器。

http://en.wikipedia.org/wiki/Comparison_of_TeX_editors


编辑器:

LyX、TeXworks、TexStudio、WinEdt、Emacs、Sublime Text、Atom、Visual Studio Code.


编辑器微谈:

  • LyX,所见即所得,有点类似Word,但是可以编辑LaTeX源码。可以用来先搭建个大概,比较快。


  • TeXworks,这个是TeXlive自带的一款,轻量级的。但是我这里代码高亮和字体显示效果不好。


  • TexStudio,集编辑和预览于一身,用起来比较方便。但是Window上的感觉视觉效果不如Linux上的。(下图是Ubuntu系统上的)


  • WinEdt,这是CTeX自带的一款,功能比较齐全,也是我的入门编辑器。入门首推这款,下载CTeX即可,也可以单独安装。


  • Sublime Text付费应用,轻量级,启动快,代码高亮效果好,文件管理方便。但是要同时把编译、编辑、预览同时一起搞定,需要配置一下。




  • Atom,目前是一款免费的跨平台的编辑器,和 Sublime Text 操作类似,但实现技术不一样,占内存要比 Sublime Text 多。
  • Visual Studio Code,微软出的免费文本编辑器,和 Atom、Sublime Text 操作类似,文本编辑、日常开发等都能干。配合扩展(LaTeX-Workshop),可编译、可反定向、有代码提示。



配置1Sublime Text 无插件

TeXLive + Sublime Text(编辑)+ SumatraPDF(PDF预览)+ CMD执行编译。
Sublime Text、SumatraPDF、CMD 的共性是,轻量级。


配置2:(Sublime Text + LatexTools

TeXLive + Sublime Text + LatexTools (Sublime插件)+ SumatraPDF。

配置一下,就可以实现在 Sublime Text 中的编辑、编译,在 SumatraPDF 实现反向。

Sublime Text 中 LaTeXTools 的配置方法: SublimeText/LaTeXTools · GitHub(其中也包括了 SumatraPDF 反定向的配置说明)。


配置3:(Emacs + AUCTex

TeXLive + Emacs + AUCTex + SumatraPDF。

这个配置唯一难在需要熟练使用 Emacs,如果不是常用,比较费时,不过,从效率上来看,熟练后的效率当是最高的。


配置4:(Atom + 插件)

TeXLive + Atom + 以下 Atom 插件:

  • 语言高亮: language-latex
  • 编译: latex (Ctrl + Alt + B 执行编译)
  • PDF 预览:pdf-view

配置参考链接: Completely new to LaTeX, what plugins would you recommend. : Atom。只要 TeXLive 环境变量配置好,应该是无需额外配置的,插件装好即可使用。得到的效果如上面的 Atom 介绍所展示,一栏编译、一栏预览,可以反定向。另外,LaTeXTools 也有 Atom 版本的插件,还没试过效果。

备注:

(1)插件安装,首先 Ctrl + Shift + P ,输入 Setting,选择 Settings View: Open 打开设置界面,进入 Install 项搜索并安装插件。另外 Ctrl + Shift + P 输入关键词可以查找一些使用命令,比如,安装好插件后,可以输入 latex 查找编译命令。

(2)中文自动换行,早期版本中文是不能自动的换行的,如果安装新版本,比如1.7.2,可以进入 Settings,然后勾选 SoftWrap 实现自动换行。


配置5:(Visual Studio Code + LaTeX Workshop)

  1. Visual Studio Code
  2. LaTeX Workshop,GitHub 地址:github.com/James-Yu/LaT

在 VSCode 左侧第五项扩展处搜索 latex 即可找到 LaTeX Workshop扩展,具体使用可参看扩展主页或者 GitHub 主页。

需将编译器配置到环境变量中(或者安装时选择添加到环境变量path),推荐安装TeXLive。Windows 上,Ctrl + Alt + B 编译,Ctrl + Alt + T PDF预览,Ctrl + 鼠标左键点击 PDF 反向定位到 tex 文本。

由于需要开发工具使用 VSCode,目前编辑 LaTeX也是使用此编辑器。之前使用的扩展效果一般,最近提示有另外一个更好的LaTeX扩展(LaTeX Workshop),目前体验还行。


无需配置的用法

(1)Windows:TexLive(编译器) + 文本编辑器(编辑器) + SumatraPDF(预览PDF) + CMD (直接通过命令编译文件,也可以直接写脚本,如下)。

建议直接写一个脚本,也就是 .bat 文件,双击直接运行,比如:

xelatex *.tex

如果是带 bibtex 参考文献的,脚本可以这样写:

xelatex *.tex
bibtex *.aux
xelatex *.tex
xelatex *.tex

最后,再制作一个删除文件,双击保存的.bat 后缀文件直接清除不要的编译生成的文件:

del *.aux /s
del *.bak /s
del *.log /s
del *.bbl /s
del *.dvi /s
del *.blg /s
del *.thm /s
del *.toc /s
del *.out /s
del *.lof /s
del *.lol /s
del *.lot /s
del *.fdb_latexmk /s
del *.synctex.gz /s

按配置2的话,Ctrl + B 可以直接清除。

(2)TexStudio,这个集成的工具确实比较省心。


额外谈:
纯键盘编辑的,还可以试试 Vim。


补充:

  1. 自动补齐,TexStudio 是可以的。其他的,比如 Sublime Text 可以使用插件,或者自己编写 快捷方式。找 Sublime Text 自动补齐的插件,可以在这里找 Package Control,当然,你首先得知道如何安装插件。Atom 的插件可以在这里先搜索 atom.io/packages/,看看有多少赞,再安装,自动补齐可以试试 latexer 这个插件。
  2. 支持中文好,这个问题都不大,编码问题。即便有的,也可以简单解决。经历过两次编码问题,一次是从 WinEdt 到 TexStudio,文件开头加一句话就解决了(% !Tex encoding = System);第二次是用 Sublime Text,中文显示乱码,下一个插件就解决了。另外,文档内中文的编译,以前用的 CJK,现在我常用 xeCJK,编译得到的书签和正文都不会乱码。
  3. LaTeXTools SublimeText/LaTeXTools · GitHub,这款 Sublime Text 插件提供了编译器配置、代码自动补齐,另外,如果文献用的是 BibTeX 的独立参考文献文件的话(google 学术中也提供了 bibtex 参考文献),还可以在输入 \cite 时快速插入文献。Google 学术的 BibTeX 获取和快速插入参考文献如图


  1. 关于文献插入,在另外一个回答中有 如何在LaTeX写作中管理参考文献? - 知乎用户的回答
  2. SumatraPDF sumatrapdfreader.org/do,强烈建议用这个 PDF 预览,轻量级、有绿色版、自动刷新(编译时无需关闭打开的PDF)、界面清爽。最贴心的功能是文本选择和上下拖动不用切换,在空白处即可手型拖动,在文本处即可选择文本。用 Beamer 做的 PDF 幻灯片,我一般用它来演示,放 U 盘携带也很方便的。目前有 3.0 版。界面如下图



(更新了很多次,有点超纲了~)

WinEdit的对中文支持,编码支持不太好,也不会像别的编辑器那样自动断行

TeXworks界面最简单,我用这个比较多,因为很多TeX命令都能背出来了,所以没必要看提示的,当然这个有自动补全

TeXMaker的QT界面不错,也能进行拼写检查 ,配置起来选项比较多,有点麻烦

TeXShop的,Mac OS X平台,这个是TeXWorks的设计原型,界面比较简洁,打中文也没问题

Mi编辑器,Mac OS X平台的,这个配合它的LaTeX插件也不错,支持SVN,很不错的东西,就是没有完全移植到Windows下来

Vim是全能王,不过默认的编码样式够你喝一壶的,中文不是问题

Emacs也是全能王,本身就有TeX模式,写作起来,也不慢,很带劲

TeXlipse,这个也相当强悍,不过我不喜欢Eclipse

LEd的语法补全很灵活多变,但是编码支持不是太好