Sublime Text 需通过 LaTeXTools 插件调用本地 LaTeX 发行版(如 TeX Live 或 MiKTeX)编译,前提为发行版已正确安装并加入系统 PATH,且 texpath 等配置准确;否则 Ctrl+B 无响应或报 command not found。

Sublime Text 本身不内置 LaTeX 编译能力,必须通过插件(主要是 LaTeXTools)配合本地已安装的 LaTeX 发行版(如 TeX Live 或 MiKTeX)才能完成编译。没装对发行版、路径没配准、构建系统没选对,三者任一出错都会导致 Ctrl+B 按下后“没反应”或报 command not found。
确认本地 LaTeX 发行版已正确安装并可命令行调用
这是最常被跳过的前置步骤。LaTeXTools 不会帮你装 TeX,它只调用你系统 PATH 里的 latexmk、pdflatex 等命令。
- 打开终端(macOS/Linux)或命令提示符(Windows),运行
latexmk --version;若提示“未找到命令”,说明发行版未安装,或安装时没勾选“添加到系统 PATH” - Windows 用户尤其注意:MiKTeX 默认不把 bin 加入 PATH,需手动将类似
C:\Program Files\MiKTeX\miktex\bin\x64\的路径加入系统环境变量 - macOS 用户用 Homebrew 安装 TeX Live 后,通常需运行
sudo tlmgr path add才能全局可用 - 验证成功后,Sublime 才可能在构建时找到编译器
安装 LaTeXTools 插件并配置主构建系统
LaTeXTools 是 Sublime 上最成熟、更新活跃的 LaTeX 插件,但它的默认配置依赖用户本地环境,不能开箱即用。
- 用 Package Control 安装
LaTeXTools后,务必重启 Sublime(否则插件不加载) - 打开
Preferences → Package Settings → LaTeXTools → Settings – User,粘贴以下最小配置(重点是builder_path和texpath):
{
"builder": "latexmk",
"builder_path": "",
"texpath": "/usr/texbin:/usr/local/bin:/opt/homebrew/bin:/usr/bin"
}
其中 texpath 要根据你实际的 LaTeX 命令所在路径调整(用 which latexmk 查);Windows 用户应改为类似 "texpath": "C:\Program Files\MiKTeX\miktex\bin\x64\"
- 保存后,新建一个
.tex文件,右下角状态栏应显示 “LaTeX”;若显示 “Plain Text”,需手动点击切换语法高亮为 LaTeX
设置正确的主文件与编译命令(避免“找不到 .aux”或“空 PDF”)
LaTeXTools 默认以当前打开文件为“主文件”进行编译,但真实项目常含 \input{} 或 \include{},此时必须显式声明主文件,否则子文件单独编译会失败。
- 在子文件顶部添加注释行:
% !TEX root = ../main.tex(路径相对当前文件) - 按
Ctrl+Alt+B(Windows/Linux)或Cmd+Opt+B(macOS)调出构建菜单,选择LaTeXmk;不要用默认的Ctrl+B,它可能触发错误的“Simple Builder” - 首次编译会生成
.aux、.log、.out等中间文件,若报File not found: main.aux,大概率是主文件未识别或路径写错 - PDF 预览默认用系统默认阅读器;如需反向搜索(从 PDF 点击跳回源码),需额外配置 SyncTeX 并启用
forward_sync_on_build
常见编译失败现象与对应检查点
报错不指向具体代码行?PDF 不自动刷新?输出窗口一闪而过?这些不是 Sublime 的问题,而是构建链路中某环断了。
-
Command 'latexmk' not found→ 检查texpath是否包含latexmk所在目录;Windows 用户注意反斜杠要双写或用正斜杠 - 编译成功但 PDF 为空/未更新 → 关闭 PDF 阅读器(尤其是 Adobe Acrobat,它会锁文件);或检查
out_dir设置是否把 PDF 输出到了别处 -
中文乱码或报
fontspec error→ 不是 Sublime 配置问题,是你的文档没用xelatex引擎;在Settings – User中加"builder_settings": {"builder": "xelatex"},并确保导言区用了\usepackage{fontspec} - Sublime 卡死或 CPU 占满 → 可能
latexmk进程卡住;任务管理器杀掉所有perl、latexmk、xelatex进程,再重试
真正麻烦的从来不是插件装不装得上,而是路径、权限、引擎、编码这四层嵌套关系里,任意一层和你本地环境不咬合,就会静默失败——所以每次改完配置,务必在终端手动跑一次 latexmk -pdf main.tex 看是否通,再回头调 Sublime。











