必须先装好系统级latexmk等工具,再配latextools插件;mac用brew install --cask mactex,windows安装时勾选“install latexmk”,linux执行sudo apt install latexmk;装完重启sublime并验证latexmk --version和xelatex --version均返回版本号。

latexmk 找不到就别配插件——Sublime Text 本身不编译 LaTeX,它只调用系统命令;终端里输 latexmk --version 报错,那 Ctrl+B 一定失败。
确认底层工具链是否就位
LaTeXTools 不是“自带编译器”的一体化软件,它依赖你系统里已安装并可执行的 latexmk、xelatex 或 lualatex。很多人卡在第一步,却以为是插件没装好。
- Mac:运行
brew install --cask mactex(完整版),别用精简版或手动解压的 TeX Live;装完后重启 Sublime,否则 PATH 不生效 - Windows:安装 ProTeXt 或 TeX Live 时,务必勾选 “Install latexmk”;检查环境变量 PATH 是否含类似
C:\texlive\2023\bin\windows的路径 - Linux:执行
sudo apt install latexmk texlive-latex-recommended texlive-fonts-recommended texlive-lang-chinese biber,别漏掉biber(参考文献要用) - 验证方式:关掉 Sublime,打开终端/命令行,直接输
latexmk --version和xelatex --version,两个都必须返回版本号
LaTeXTools 必须改 builder_settings,不能只改 builder
默认配置走 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",且确保导言区有\bibliographystyle{unsrt}
PDF 查看器绑定错,同步就失效
编译出 PDF 但不弹窗、点击 PDF 没反应、跳转到错误行——90% 是查看器没对上,不是插件 bug。
- macOS:必须用 Skim,不能用 Preview.app;Skim → Preferences → Sync → 勾选 “Enable SyncTeX”,并在 “PDF viewer” 下拉菜单选 “Sublime Text”
- Windows:必须用 SumatraPDF;安装后把
SumatraPDF.exe所在目录加进系统 PATH,再在命令行运行:sumatrapdf.exe -inverse-search "\"C:\Program Files\Sublime Text\sublime_text.exe\" \"%f:%l\"" - Linux:推荐 Okular;需启用 D-Bus 支持,启动命令加
--unique,并在 LaTeXTools 设置中指定"viewer": "okular"和"viewer_args": ["--unique"] - 关键约束:
.pdf和.synctex.gz必须同目录、同名;别用\includeonly{}或输出到output/子目录,否则 SyncTeX 找不到主文件
中文报错 “No available font found” 不是缺宏包,是字体链断了
CTEX 自动找 SimSun / Noto Sans CJK,但在 Sublime 启动的 shell 环境里,fc-list :lang=zh 可能为空——它不读你的 ~/.bashrc 字体配置。
- 最稳解法:不用
ctex探测,改用fontspec显式指定字体路径,例如导言区加:
\usepackage{fontspec}
\setmainfont{Noto Serif CJK SC}
\setsansfont{Noto Sans CJK SC}
\setmonofont{Noto Sans Mono CJK SC}
- Linux/macOS 用户:提前装好该字体(如从 Google Fonts 下载 Noto),或把 .ttf 文件复制到项目根目录,用相对路径引用:
\setmainfont{"./NotoSerifCJKsc-Regular.ttf"} - 禁止混用:
ctex和fontspec字体机制冲突,选一个,彻底用到底;若用ctex,必须把它放在导言区最前面,且删掉所有\usepackage{fontspec} - 多文件项目:确保主文档(含
\documentclass)是当前 Sublime 打开的文件;\input{chapter1}路径错误时,latexmk默认不报错,只生成空白 PDF
.synctex.gz 和 PDF 不在同一个目录——这两点不亲手验证,光抄配置等于白搭。











