Sublime Text 需本地安装 latexmk 等工具并配置 PATH 才能编译 LaTeX;LaTeXTools 仅提供构建系统,依赖系统命令行工具;PDF 同步需匹配支持 SyncTeX 的阅读器并正确配置;中文需导言区加载 ctex/xeCJK 并指定字体;多文件项目须用 % !TEX root 注释指定主文件。

Sublime Text 本身不内置 LaTeX 编译能力,LaTeXTools 插件只是提供构建系统和命令绑定,真正起作用的是你本地是否装好 latexmk、pdflatex 等命令行工具——没配对系统 PATH,插件再全也编译失败。
确认 latexmk 是否可用(关键前置)
LaTeXTools 默认调用 latexmk,不是 pdflatex 单步命令。很多用户跳过这步直接装插件,结果按 Ctrl+B 没反应或报 "latexmk not found" 错误。
- 终端/命令行运行
which latexmk(macOS/Linux)或where latexmk(Windows),确认有输出路径 - 若无输出:Mac 用户推荐用
brew install --cask mactex(含 latexmk);Windows 推荐安装texlive(非精简版),安装时勾选latexmk和add to PATH - Windows 用户特别注意:如果用 MiKTeX,需单独安装
latexmk(MiKTeX 自带的包管理器里搜),并确保其 bin 目录在系统环境变量 PATH 中
LaTeXTools 的 build_system 设置要点
插件默认 build system 叫 LaTeX,但它依赖 builder 配置项,不是简单选中就能用。常见问题:选了 LaTeX 却仍调用不到 latexmk。
- 打开
Preferences → Package Settings → LaTeXTools → Settings,检查"builder": "latexmk"是否存在且未被注释 - 如果用 XeLaTeX 编译中文,建议显式指定:
"builder": "traditional",并在"traditional": { "command": ["xelatex"] }下配置(见下方示例) - Windows 用户若路径含空格(如
C:\Program Files\...),必须用双反斜杠或正斜杠,并加引号:"command": ["C:/texlive/2023/bin/win32/xelatex.exe"]
{
"builder": "traditional",
"traditional": {
"command": ["xelatex"],
"args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%T"]
}
}
PDF 查看与前向/反向同步失效怎么办
PDF 预览不是插件“自动连上”的,它依赖外部 PDF 阅读器支持 SyncTeX,且 Sublime 必须能调起该程序。常见现象:编译成功但 PDF 不弹出,或点击跳转无效。
- macOS 推荐用
Skim:安装后在 LaTeXTools Settings 中设"viewer": "skim",并确保 Skim 的Preferences → Sync → Check "Check for file changes" - Windows 推荐
SumatraPDF:路径必须写全,如"viewer_path": "C:/Program Files/SumatraPDF/SumatraPDF.exe";且 SumatraPDF 要关闭“只允许一个实例”(Settings → Advanced Options →RememberWindowState = false) - 反向搜索(PDF 点击跳回代码)要求 Sublime 启动时带监听端口:启动命令加
--server参数(Windows 可建快捷方式目标为"subl.exe" --server),否则点击无响应
中文支持与字体配置易漏点
即使编译成功,中文乱码或方框,大概率不是插件问题,而是文档导言区或系统字体路径缺失。LaTeXTools 不干预 .tex 文件内容。
- 导言区必须用
\usepackage{ctex}或\usepackage{xeCJK}(XeLaTeX/LuaLaTeX 环境下),不能只靠系统字体设置 - 若用
ctex,默认中文字体可能找不到:显式指定,例如\setmainfont{Noto Serif CJK SC}或\setmainfont{SimSun}(Windows) - macOS 上若用系统字体,确保字体名正确(用 Font Book 查真实 PostScript 名,不是显示名),比如
STSong而非 “华文宋体”
最常被忽略的是:LaTeXTools 的 root_file 识别逻辑——它靠文件内 % !TEX root = main.tex 注释或同目录下唯一 .tex 文件判断主文件。多文件项目务必加这行注释,否则子文件编译会找不到 .bib 或图片路径。










