Sublime Text 需通过 LaTeXTools 插件配合本地 LaTeX 发行版实现编译,安装后必须手动配置 texpath、builder 等参数,否则会报 pdflatex 找不到或静默失败;多文件项目须在子文件中添加 %!TEX root = main.tex 注释以正确定位主文档。

Sublime Text 本身不内置 LaTeX 编译能力,必须通过 LaTeXTools 插件配合本地 LaTeX 发行版(如 TeX Live 或 MiKTeX)才能完成编译与反向搜索等完整工作流。插件装完不配置等于没装,尤其 Windows 和 macOS 的引擎路径、texpath、builder 设置极易出错。
LaTeXTools 安装后必须手动配置 LaTeX.sublime-settings
插件默认设置是“假定你已按标准方式安装了 TeX Live 并在 PATH 中”,但现实中多数人:Windows 没加 MiKTeX 到系统 PATH、macOS 用 MacTeX 但 pdflatex 在 /usr/texbin/(已弃用)或 /Library/TeX/texbin/、Linux 用户用了自定义前缀安装。不改配置就会报 command not found: pdflatex 或构建静默失败。
- 打开
Preferences → Package Settings → LaTeXTools → Settings – User - 填入实际的
texpath(Windows 示例):"texpath": "C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64\\;C:\\Windows\\System32\\"
- macOS 用户重点检查:
"texpath": "/Library/TeX/texbin:/usr/local/bin:/usr/bin"
- 确认
builder设为"traditional"(推荐)或"simple",避免用"auto"——它在多引擎混用时会误判主文件
ctrl+b 编译失败常见原因与排查顺序
快捷键没反应或弹出空错误框,不是插件坏了,而是构建系统卡在某个环节。优先查这四点:
- 当前文件是否保存?未保存的
.tex文件无法被LaTeXTools识别为主文档 - 文件编码是否为
UTF-8?含中文时若存为GBK,pdflatex会直接报Package inputenc Error - 项目根目录下是否存在
.latexmkrc或latexmk配置冲突?删掉临时测试 - 终端手动运行:
pdflatex -synctex=1 -interaction=nonstopmode "main.tex"
看是否报错——如果命令行也失败,问题一定在 TeX 环境,和 Sublime 无关
PDF 预览不自动刷新或跳转失败(SyncTeX)
预览依赖外部 PDF 查看器(Skim / SumatraPDF / Preview),不是 Sublime 自带功能。跳转失效通常因三类配置错位:
- SumatraPDF(Windows)必须在
LaTeXTools.sublime-settings中启用:"viewer": "sumatrapdf", "sumatrapdf_path": "C:\\Program Files\\SumatraPDF\\SumatraPDF.exe"
- Skim(macOS)需在 Skim 自身偏好中勾选:
Sync → Check "Check for file changes",且 Sublime 设置里forward_sync_command要匹配 Skim 的 AppleScript 接口 - 反向搜索(PDF 点击跳回 .tex)要求:① 编译时加
-synctex=1(LaTeXTools默认开启);② PDF 查看器支持;③ Sublime 的subl:协议注册正确(Windows 可忽略,macOS 需运行ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl)
最常被忽略的是:LaTeXTools 的 root_file 逻辑。它靠注释 %!TEX root = main.tex 或同目录下同名 .aux 文件定位主文档。多文件项目里,子文件没加这行注释,ctrl+b 就只编译子文件——生成的 PDF 是空的或缺章节。这个细节不看日志根本发现不了。










