其他编辑器

1993 年,Aleksander Simonič 找不到一款合心意的 TeX 前端,于是开始为 Windows 3.1 自己写一个。那就是 WinEdt,它在 1995 年作为共享软件上传到 CTAN,三十年后仍然是共享软件。写 LaTeX 的编辑器分成两支:有人因为「没有」而造出来的工具,以及在日常通用编辑器上装个插件的路子。本页遍览那些没有独立页面的编辑器——WinEdt、WinShell、JetBrains 系列、Notepad++、Kate、GNOME Text Editor、EmEditor、樱花编辑器,以及 Typora 这类 Markdown 混合体——并在最后把 如何选择 归结为四个条件,而不是一张功能清单。

编辑器不排版——要先定下来的是发行版

下面列出的每一个都是 编辑器,而不是 TeX 系统。真正排版的是另行安装的 TeX Live、MiKTeX 或 MacTeX,编辑器只是调用它来生成 PDF。因此「用哪个编辑器」和「装哪个处理系统」是两个不同的问题,而且必须先解决后者。顺序搞错了,在编辑器的设置界面里怎么折腾都出不来 PDF——因为出不来的原因根本不在编辑器里面。

Windows 专用前端——WinEdt 与 WinShell

WinEdt 是一款仅限 Windows 的 Unicode 文本编辑器,多年来一直是该平台上的 TeX 前端首选。它当作普通编辑器也能用,但真正的长处在于它被打造得能 与 TeX Live 和 MiKTeX 紧密咬合:工具栏上一个按钮就能跑 pdflatexplatex,还带补全、拼写检查、项目管理和正则替换。让人犹豫的是许可:它是 共享软件,试用之后要付注册费才能继续使用。在免费选择如此丰富的年代,为编辑器付费值得斟酌,但它的开发仍在继续,11 系列是当前版本。

WinShell 占据的几乎是同一块地盘,而且 免费。这个 Windows 上的 LaTeX 集成环境打包了文本编辑器、语法高亮、项目管理、拼写检查、表格向导、BibTeX 集成和 Unicode 支持,并从工具栏调用你的引擎。它是以二进制形式分发、不公开源码的免费软件,但作为付费 WinEdt 的可靠零成本替代品,至今仍然站得住。两者都不含排版引擎,所以步骤相同:先装 MiKTeX 或 TeX Live,再在编辑器设置里指出那些命令所在的位置。

给已有的编辑器装插件——TeXiFy IDEA 与 NppExec

一个并非 TeX 专用的日常编辑器,只要能安排好两件事——语法高亮调用构建的方法——照样可以舒服地写 LaTeX。路子有两条:「厚」的一条靠插件把补全、PDF 预览、正向与反向搜索一并包办;「薄」的一条只是从编辑器的外部命令功能里敲一下 latexmk。薄的那条五分钟就能搭好,但跳转到错误行、与 PDF 保持同步,都得你自己接线。

厚路子的代表是 JetBrains 的 IDE(IntelliJ IDEA 及其兄弟)配 TeXiFy IDEA。它带来语法高亮,标签、命令、环境和文件名的补全,内置 PDF 查看器,以及 BibTeX(.bib)支持——把 IntelliJ 的操作手感原样带进 LaTeX。对于编程时已经住在 JetBrains 工具里的人,这是自然之选,而 IntelliJ IDEA 有免费的社区版。薄路子的代表是 Notepad++ 配 NppExec。得益于底层的 Scintilla 库,Notepad++ 能给 TeX 文件上语法色,但默认不给数学环境着色(用自定义语言可以补上)。惯常的构建方式是通过 NppExec 把命令绑到 F6 之类的键上,把输出显示在控制台里,并可选地给错误行上色。

作为历史记录,还要提一笔 Atom。GitHub 出品的这个编辑器也有 LaTeX 相关的包,但 开发已于 2022 年 12 月 15 日终止,项目被归档。从技术上说,它把接力棒交给了后代 Electron 和 VS Code。如今若在搜配置时撞见一篇 Atom 的文章,别从那里起步;想要同样的手感,请转向 VS Code

Kate 与 GNOME Text Editor——Linux 桌面的默认编辑器

如果你在犹豫要不要用 KDE 的 Kate 写 LaTeX,有一个事实能让讨论迅速收束:Kile 里面的编辑区就是 Kate。 Kate 的编辑功能被抽出成一个叫 KatePart 的组件(通过 KTextEditor 接口),KWrite、KDevelop 和 Kile 都嵌入了它。所以「用 Kate 写 LaTeX」和「用 Kile」的区别,只在于同一块编辑区周围是否已经搭好了 LaTeX 的脚手架——构建工具、模板、结构树、与 Okular 的握手。单用 Kate 也能有语法高亮、也能跑外部命令,但脚手架得你自己搭。用 KDE 的话,直接去 Kile 是近路。

GNOME 那边的故事走向要黯淡一些。长期作为默认的 gedit,其力量大半来自插件群,LaTeX 插件正是其中之一。而在 2022 年 3 月的 GNOME 42 中,默认的位子交给了 GNOME Text Editor。因为让 gedit 符合新的设计规范(libadwaita)需要大规模重写,继任者是从零写起的,起初并未继承插件机制。gedit 本身依然存在,但 「给桌面默认编辑器装个插件来写 LaTeX」这条路,在 GNOME 上已经变窄了。 在 GNOME 环境里写 LaTeX,还是靠专用编辑器或 VS Code 一系更稳妥。

用打惯了的编辑器写日文稿——EmEditor 与樱花编辑器

在日本,把本土的、擅长日语的编辑器当作母舰的传统相当牢固。EmEditor 是一款即便面对巨型文件也依然轻快的 Windows 编辑器,从早期就带有 TeX(LaTeX)的着色配置;它有免费版和付费的专业版。樱花编辑器(サクラエディタ) 是一款免费而流行的国产编辑器,社区长期共享着这样的构建自动化:从它的宏功能(ExecCommand 之类)调用 platex,随后打开 DVI 查看器。两者都适合「打日文的环境一点不改,只把构建外包出去」这种用法。这笔交易的另一面是:从一开始就接受补全、交叉引用辅助和文献库集成不在其中。 不过有一件事值得先约定:把日文的处理路线——upLaTeX 接 dvipdfmx,或者 LuaLaTeX——写进项目一侧的 .latexmkrc,而不是写进编辑器的设置里。这样一来,合作者用另一个编辑器打开,出来的仍是同一份 PDF。

Typora 这类 Markdown 编辑器能替代 LaTeX 吗

简短的回答是:论公式的外观,它可以替代;论排版,它替代不了。像 Typora 这样的 Markdown 编辑器,你一敲 $E=mc^2$ 它就当场渲染成公式,但画它的不是 TeX,而是 MathJax、KaTeX 之类面向浏览器的数学渲染器。断行、浮动体的摆放、交叉引用、参考文献目录——LaTeX 为一整本书准备的那些机制,那里一样也没有。公式在屏幕上好看,和两百页的书能排得对,是两回事。

真到了要出 PDF 的时候,这一系会去调 Pandoc。Pandoc 把 Markdown 转成 LaTeX,再把这段 LaTeX 交给 TeX 引擎生成 PDF。就 Typora 而言,普通的 PDF 导出并不需要 Pandoc(它有一条经由内部 HTML 的路径),但 经 LaTeX 的导出,以及转成 .tex、docx、EPUB,都需要另行安装 Pandoc。而且 Typora 并不直接转换 Markdown,而是把它内部的抽象语法树交给 Pandoc。因此选了这条路,你要学的就不是「LaTeX 的记法」,而是「Pandoc 的 Markdown 方言,以及模板和元数据怎么写」。事情并没有变轻松,只是要学的对象换了一个而已。

并排比较

下面列出每个编辑器的身份,以及它如何与 LaTeX 相连。横着读最后一列就能看清共同点:它们全都是靠调用另行安装的处理系统来生成 PDF。不同之处在于脚手架有多厚,以及这脚手架由谁来搭。

编辑器平台如何处理 LaTeX
WinEdtWindows专用 TeX 前端;共享软件;与 TeX Live / MiKTeX 紧密集成
WinShellWindows免费的 TeX 集成环境;语法高亮、BibTeX、调用引擎
IntelliJ IDEA + TeXiFy IDEAWindows / macOS / Linux插件带来补全、PDF 查看器和 BibTeX;适合 JetBrains 常客
Notepad++Windows内置语法高亮(数学环境除外);通过 NppExec 插件构建
KateLinux 等编辑组件 KatePart 就是 Kile 内部用的那个;脚手架得自己搭
GNOME Text EditorLinux在 GNOME 42 中取代 gedit 成为默认;本身没有 LaTeX 脚手架
EmEditorWindows在日本流行;自带 TeX 着色;通过外部命令构建(免费版与付费版)
Sakura EditorWindows免费且在日本流行;从宏里调用 platex 之类来构建
TyporaWindows / macOS / LinuxMarkdown 加屏幕上的公式渲染;经 LaTeX 导出需要 Pandoc
Atom—(2022 年 12 月归档)仅具历史意义;新项目请改用 VS Code

如何选择——用四个条件,而不是一张功能清单

挑选通用编辑器时,实用的标准不是功能的多寡,而是 让稿子不停下来的四个条件:保存时每次跑的都是同一条构建命令;出错时能回到对应的源代码行;PDF 会自动刷新;以及配置不只存在编辑器里,还留在项目一侧的 .latexmkrc 或构建文件中。第四条尤其要紧——配置只在编辑器里的话,合作者的环境或你自己的另一台机器就出不来同样的 PDF,临近截稿时你就得去找原因。这四点若满足不了,转投专用编辑器反而写得更快。

  • 你在 Windows 上,想立刻获得 TeX 专用的手感: 免费的 WinShell,或打磨精细的付费 WinEdt。
  • 想沿用日常的开发环境: JetBrains 一派选 TeXiFy IDEA;想轻一点,就 Notepad++ 配 NppExec。
  • 你在 Linux 桌面上: KDE 就去 Kile,它的编辑组件正是 Kate;GNOME 则避开插件路线,选专用编辑器或 VS Code 一系。
  • 想用熟悉的编辑器打日文稿: 给 EmEditor 或樱花编辑器装上外部命令,并接受补全与交叉引用辅助不在其中。
  • 你在 macOS 上,不想纠结: TeXShop 是标准的起点,它有自己的页面。
  • 并无特别偏好: 从免费、功能齐全、跨平台且开发活跃的 VS Code(LaTeX Workshop),或专为 TeX 打造的 TeXstudio 开始最稳妥。

最后说说何时该换。当你花在接线(参考补全、文献补全、SyncTeX)上的时间超过了真正写作的时间,这个编辑器就不再适合这份工作了。那就转向专用工具——VS Code、TeXstudio、Emacs、Vim。本页列出的每个选项,胜出的只有一点:让你不必抛弃已经熟练的环境。论 LaTeX 本身的功能,它们都不占优。当这份熟练不再抵得上摩擦时,就是该换的时候。