sublime text 编译 latex 失败主因是 latexmk 未安装或路径错误,需手动配置 tex_path、强制 xelatex 编译中文,并用 skim/sumatrapdf 等支持 synctex 的查看器。

Sublime Text 本身不编译 LaTeX,配完插件却点不动 Ctrl+B 或生成空白 PDF,90% 是因为 latexmk 没装、路径没对上、或引擎选错——不是插件问题,是底层工具链断了。
确认 latexmk 是否真正可用
LaTeXTools 默认靠 latexmk 调度整个编译流程(含 BibTeX、TikZ、多文件依赖),它比裸跑 pdflatex 可靠得多。但很多人跳过这步直接配插件,结果全卡住。
- 在终端运行
latexmk -v,必须输出类似Latexmk, John Collins, 29 May 2023. Version 4.79的版本信息 - Windows 用户装 TeX Live 或 proTeXt 时,务必勾选 “Install latexmk”;MiKTeX 用户需额外安装 Perl 并手动配置,不推荐新手走这条路
- macOS 用户用
brew install --cask mactex(完整版),BasicTeX 不带latexmk,别省那 2GB 空间 - Linux 用户执行
sudo apt install latexmk,部分发行版(如 Ubuntu)的texlive-full已包含,但得确认/usr/bin/latexmk存在且可执行
手动写死 tex_path,别信自动探测
LaTeXTools 的 use_simple_detection 在非标准安装(比如 MacTeX 装在 /opt/texbin)、多 TeX 环境(同时有 TeX Live 和 MiKTeX)、或 Sublime 启动方式特殊(如从 Dock 点开)时大概率失效——它读不到你 shell 里设的 $PATH。
- 打开 Preferences → Package Settings → LaTeXTools → Settings – User
- 粘贴完整配置,**删掉所有注释和空行**,尤其禁用
"use_simple_detection": true - macOS 示例(MacTeX 默认路径):
"tex_path": "/Library/TeX/texbin" - Windows 示例(TeX Live 2023):
"tex_path": "C:\texlive\2023\bin\win32"(注意双反斜杠) - Linux 示例:
"tex_path": "/usr/local/texlive/2023/bin/x86_64-linux" - 多个路径用冒号(macOS/Linux)或分号(Windows)分隔,例如
"/usr/texbin:/opt/texbin"
中文论文必须用 xelatex + ctex,且顺序不能错
用默认 pdflatex 编译中文,轻则方块字、重则报 Package ctex Error: No available font found——这不是缺宏包,是字体查找路径和引擎机制不匹配。
- 导言区第一行必须是
documentclass[UTF8]{ctexrep}或类似,ctex宏包要放在最前,否则字体初始化失败 - 构建配置里强制走 XeLaTeX:
"builder_settings": { "cmd": ["latexmk", "-pdfxe", "-synctex=1", "-interaction=nonstopmode", "$file"] } - 别混用
ctex和fontspec:前者自动探测系统字体,后者需显式指定路径;Linux/macOS 上若fc-list :lang=zh查不到中文字体,建议把Noto Serif CJK SC等字体文件放进项目目录,用相对路径加载 - 子文件(如
ch1.tex)顶部加%!TEX root = main.tex,否则latexmk不知道主文档在哪,include{}会报文件未找到
PDF 反向搜索(SyncTeX)点不动?先看预览器是否支持并配准
反向搜索失效不是插件 bug,是 PDF 查看器没正确绑定 Sublime,或者没启用 SyncTeX 支持。Preview.app、Acrobat、Foxit 全都不行,它们根本不响应反向调用。
- macOS 必须用 Skim:安装后打开 Skim → Preferences → Sync,勾选 “Enable SyncTeX”,并设置 “PDF viewer” 为 Sublime Text,“Command” 填
subl,“Arguments” 填--wait --line {line} "{file}" - Windows 推荐 SumatraPDF:无需额外配置,LaTeXTools 默认识别;若无效,检查 SumatraPDF 是否为最新版(≥3.5),旧版 DDE 支持不稳定
- Linux 用户用 zathura:需装
zathura-synctex插件,并在 LaTeXTools 配置里写"viewer": "zathura";evince 和 okular 对 SyncTeX 支持弱,容易跳错行 - 确保编译命令带
-synctex=1,且.synctex.gz和.pdf在同一目录、同名——如果用了output_directory,就得同步改viewer的路径逻辑,否则点击白忙活
最常被忽略的是:Sublime 启动方式影响环境变量读取。从终端执行 subl . 打开项目,比从 Dock 或桌面图标启动更可靠;subl 命令本身也得手动安装(macOS/Linux 运行 ln -s /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl),不然 Skim 根本唤不起编辑器。











