Sublime Text本身不编译LaTeX,配置失败主因是latexmk和xelatex未在终端可用;须先验证命令、重装TeX发行版并重启Sublime,再手动配置tex_path、禁用use_simple_detection、设builder为latexmk、子文件首行加%!TEX root注释,并在builder_settings中指定-pdfxe和-synctex=1。

Sublime Text 本身不编译 LaTeX,也不渲染公式——它只调用你系统里装好的 latexmk 和 xelatex。配置失败的根源,90% 是这两个命令在终端里根本跑不通,而不是插件没装对或设置没点全。
验证 latexmk 和 xelatex 是否真可用
关掉 Sublime,打开终端(macOS/Linux)或 PowerShell(Windows),逐行执行:
-
latexmk -v—— 必须输出版本号,例如Latexmk, John Collins, 29 May 2023. Version 4.79 -
xelatex --version—— 中文论文必须用xelatex或lualatex;pdflatex默认不加载系统字体,硬上必出方块
任一报 command not found,说明底层工具链没到位:
- macOS:重装
brew install --cask mactex,确认/Library/TeX/texbin已写入~/.zshrc,并执行source ~/.zshrc - Windows:重装 MiKTeX,安装时务必勾选
Add MiKTeX to the system PATH - Linux:补装
sudo apt install latexmk texlive-lang-chinese biber(别漏biber,参考文献要用)
装完必须重启 Sublime Text——它启动时只读一次 PATH,不重启就看不到新环境。
手动写死 tex_path,禁用 use_simple_detection
LaTeXTools 的自动路径探测在多 TeX 版本、自定义路径、含空格路径下 100% 失效。进 Preferences → Package Settings → LaTeXTools → Settings – User,粘贴最小必要配置(按系统改,不留空字段):
- macOS:
{"tex_path":"/Library/TeX/texbin","builder":"latexmk"} - Windows:
{"tex_path":"C:\texlive\2023\bin\win32","builder":"latexmk"}(注意双反斜杠) - Linux:
{"tex_path":"/usr/local/texlive/2023/bin/x86_64-linux","builder":"latexmk"}
务必检查并删除配置中任何 "use_simple_detection": true 字段——它会直接覆盖你手动设的 tex_path。
子文件第一行必须写 %!TEX root = main.tex
论文拆成 main.tex + ch1.tex + refs.bib 是常态。LaTeXTools 不会自动识别主文档:ch1.tex 里按 Ctrl+B 默认只编译它自己,include{} 和 ibliography{} 全部失效。
- 所有
.tex子文件顶部第一行且仅一行写:%!TEX root = main.tex - 路径必须相对当前文件可解析(如
../main.tex也合法) - 整条路径不能含中文、空格或特殊字符
- 这行必须在文件最开头,前面不能有空行或 BOM
builder_settings 必须显式指定 -pdfxe 和 -synctex=1
默认配置走 pdflatex,中文会炸、数学符号漏字、参考文献不生成——这不是字体问题,是引擎根本不支持 UTF-8 和系统字体。
在 Preferences → Package Settings → LaTeXTools → Settings 里找到 "builder": "script" 这一行,在它下方加:
"builder_settings": {
"cmd": ["latexmk","-pdfxe","-quiet","-synctex=1","-interaction=nonstopmode","$file"],
"bibtex_tool":"biber"
}
-
-pdfxe强制用 XeLaTeX,绕过pdflatex+ctex的字体探测陷阱 -
-synctex=1是反向搜索(PDF 点击跳回源码)的前提,漏了就永远点不动 - 如果用 BibTeX(不是 biber),把
"bibtex_tool":"biber"换成"bibtex_tool":"bibtex",且导言区要有ibliographystyle{unsrt}
PDF 查看器绑定错,同步就失效:macOS 必须用 Skim(不是 Preview.app),Windows 用 SumatraPDF,Linux 得手动指定 evince 或 okular 并启用 D-Bus 支持——这些细节比插件设置本身更关键,但容易被忽略。


















