必须先验证系统中pdflatex是否可用且已加入PATH,再手动配置LaTeXTools的tex_path、builder和command;选用支持SyncTeX的预览器(如SumatraPDF或Skim);子文件首行添加%!TEX root = main.tex注释;确保语法模式为LaTeX。

确认底层编译器是否真正可用
Sublime Text 本身不带任何 LaTeX 编译能力,LaTeXTools 只是“调度员”,它调用的 pdflatex、latexmk、bibtex 全都来自你系统里装的 TeX 发行版。很多人配了半天插件,结果按 Ctrl+B 没反应或报 command not found,问题八成出在这儿。
- 打开终端(macOS/Linux)或命令提示符(Windows),运行:
pdflatex --version—— 必须返回版本号,否则 Sublime 肯定编译失败 - 如果没反应,检查安装时是否勾选了「添加到系统 PATH」(MiKTeX 安装向导里有);macOS 用 MacTeX 的话,路径通常是
/Library/TeX/texbin,但需确保该目录已加入 shell 的$PATH - 特别注意:
latexmk是LaTeXTools默认构建器,但它不是所有发行版都自带:Ubuntu 的texlive-full包含它,但 MiKTeX 默认不带,需单独安装 Perl 并手动配置;更稳的做法是禁用latexmk,改用simple或traditional构建器直接调xelatex
LaTeXTools 用户配置必须手动写死 tex_path
插件自带的自动路径探测(use_simple_detection)在多环境、非标准安装(比如自定义年份/路径)、或 macOS 上经常失效——它会扫描 PATH 却忽略你实际 bin 目录的位置,导致找不到命令。
- 进入
Preferences → Package Settings → LaTeXTools → Settings – User,粘贴配置,**不要留空或依赖默认值** - Windows(MiKTeX 2023)示例:
{ "tex_path": "C:\\texlive\\2023\\bin\win32", "builder": "simple", "command": ["xelatex"] } - macOS(MacTeX)示例:
{ "tex_path": "/Library/TeX/texbin", "builder": "simple", "command": ["xelatex"] } - Linux(TeX Live)示例:
{ "tex_path": "/usr/local/texlive/2023/bin/x86_64-linux", "builder": "simple", "command": ["xelatex"] } -
tex_path必须精确到包含可执行文件的bin目录,多个路径用冒号(macOS/Linux)或分号(Windows)分隔;command显式指定引擎,避免因默认pdflatex不支持中文而编译失败
PDF 预览器要选对且配准,否则反向搜索失效
预览器不只是“看 PDF”,它还承担正向(跳转到 PDF 对应位置)、反向(从 PDF 点击跳回 .tex 行号)功能。选错或没开权限,这两项就废了。
- Windows 强烈推荐
SumatraPDF:安装后,在设置里打开Settings → Options → Enable DDE server,否则 Sublime 发送的跳转指令会被拒绝 - macOS 推荐
Skim:安装后需在 Skim 设置中勾选Check for file changes和SyncTeX support;并在 Sublime 配置里加"sync_tex_after_build": true - 别用系统默认查看器(
"viewer": "system"):它不支持 SyncTeX 协议,反向搜索完全不可用 - 如果 PDF 打不开,先检查路径有没有中文或空格——
LaTeXTools对这类路径处理极差,临时把项目移到/tmp/test或C:\test下试试
子文件编译必须加 %!TEX root 注释
论文通常拆成 main.tex、ch1.tex、refs.bib 等多个文件。如果你在 ch1.tex 里按 Ctrl+B,LaTeXTools 默认只编译当前文件,不会去跑 main.tex,结果生成一堆零散、无参考文献、无交叉引用的 PDF。
- 在每个子文件顶部第一行(必须是第一行)加上注释:
%!TEX root = main.tex - 这个注释不能带空格、不能换行、不能被其他内容遮挡;大小写敏感,等号两边不加空格
- 如果用了
latexmk构建器,它能自动识别依赖,但多数人用simple或traditional,就全靠这行注释来定位主文件 - 编辑器右下角状态栏显示的语法模式要是
LaTeX,不是Plain Text;如果不对,手动点击右下角 →Set Syntax → LaTeX
最常被跳过的其实是第一步:验证 pdflatex 是否真能在终端跑通。很多人以为装完 MiKTeX 就万事大吉,结果 PATH 没生效、或者装的是精简版(比如 BasicTeX),缺 fontspec 或 biber 这类包,一编译就卡在报错里。别急着调 Sublime 配置,先让命令行能打出 PDF。










