必须先安装latexmk等底层工具,再配置latextools插件并正确设置xelatex、ctex宏包和pdf查看器同步;mac用mactex、windows选protext并勾选latexmk、linux装latexmk,且ctex需置于导言区最前。

LaTeX工具链没装好,latexmk 找不到就别配插件
Sublime Text 本身不编译 LaTeX,它只是调用系统里的 latexmk、pdflatex 或 xelatex。如果你在终端输 latexmk --version 报 “command not found”,那 Sublime 里点编译一定失败——插件再 fancy 也救不了缺失的底层工具。
Mac 用户优先装 brew install --cask mactex(完整版,含 latexmk);Windows 用户装 protext 或 texlive 时务必勾选 “Install latexmk”;Linux 用户确认 sudo apt install latexmk 已执行。
- 装完后重启 Sublime Text,否则插件可能读不到新 PATH
- 在 Sublime 控制台(
Ctrl+`)里输import os; print(os.environ.get('PATH')),确认输出里包含texlive或MacTeX路径 - 不要试图用插件自带的“简易编译器”绕过系统工具——它通常只支持基础
pdflatex,且无法处理 BibTeX、多文件 \include、TikZ 等真实论文场景
用 LaTeXTools 而不是 LaTeXing:后者已停更且不兼容 Sublime Text 4
LaTeXing 在 2021 年停止维护,其语法高亮错乱、PDF 同步失效、BibTeX 支持残缺,在 Sublime Text 4 上直接报 ImportError: No module named 'sublime_plugin'。目前唯一稳定可用的是 LaTeXTools(GitHub 主页为 rst67/LaTeXTools)。
安装后必须手动改配置,否则默认用 pdflatex,中文会炸(显示方块)、数学符号会漏字、参考文献不生成:
- 打开
Preferences → Package Settings → LaTeXTools → Settings - 找到
"builder": "script"这一行,在它下面加:"builder_settings": { "cmd": ["latexmk", "-pdfxe", "-quiet", "-synctex=1", "-interaction=nonstopmode", "$file"] } -
-pdfxe强制走 XeLaTeX,支持系统字体和 UTF-8 中文;-synctex=1是反向搜索(PDF 点击跳回源码)的前提 - 如果用
biber处理参考文献,还要在builder_settings里加"bibtex_tool": "biber"
PDF 预览卡死或不同步?检查 forward_search_on_start 和 PDF 查看器绑定
很多人配完发现:点编译生成了 PDF,但 Sublime 不自动弹窗;或者点了 SyncTeX 没反应。这不是插件坏了,是 PDF 查看器没对上。
LaTeXTools 默认只认 Skim(macOS)和 SumatraPDF(Windows)。Linux 用户得手动指定 evince 或 okular,且必须启用 D-Bus 支持:
- macOS:Skim 必须开启
Preferences → Sync → Check "Enable SyncTeX",否则反向搜索永远无效 - Windows:SumatraPDF 设置里要关掉
Settings → Options → "Reuse instance",否则 Sublime 发送的跳转指令会被丢弃 - 所有平台都需在
LaTeXTools Settings中设"forward_search_on_start": true,否则首次编译不唤起 PDF - 别用 Chrome / Edge 打开 PDF——它们不响应
synctex协议,点击 PDF 无法定位到 .tex 行号
中文参考文献乱码、章节编号错位?\usepackage{ctex} 不能少,且位置有讲究
即使 XeLaTeX 能读中文字体,ctex 宏包才是让标题、目录、参考文献、页眉页脚真正符合中文排版习惯的核心。漏掉它,会出现:章节名不加粗、参考文献作者名被截断、“参考文献”四字变成 “References”、附录编号从 A 变成 1。
关键点不在装没装,而在怎么加载:
-
\usepackage{ctex}必须放在导言区最前面(\documentclass之后、其他宏包之前),否则像hyperref这类依赖编码的包会覆盖 ctex 的设置 - 别混用
ctex和xeCJK——后者是低层字库控制,ctex已封装全部逻辑,叠加反而导致字体冲突 - 如果用了
subfiles或standalone编译子文件,主文件的ctex设置不会透传,每个子文件也得显式写\documentclass[main.tex]{subfiles}并重载ctex
真正麻烦的从来不是配置步骤,而是某处少了一个 ctex、某台机器忘了装 latexmk、某个 PDF 查看器同步开关藏在三级菜单里——这些细节不爆错,只默默让整篇论文编译结果偏离预期。











