VSCode中LaTeX公式无法实时预览,主因是latexmk未加入PATH、主文件未正确定义(需首行% !TEX root = main.tex)、PDF查看器锁定文件或hover预览配置不当;须检查系统环境变量、根文档声明、编译器路径及插件设置。

VSCode 里写 LaTeX 数学公式,缺实时编译预览,根本不是插件没装对——八成是 latexmk 找不到、主文件没认准、或 PDF 查看器锁死了文件。
latexmk 报 “command not found” 怎么办
LaTeX Workshop 不自带编译器,它只调用系统 PATH 里的 latexmk。终端里运行 which latexmk(macOS/Linux)或 where latexmk(Windows)没输出,就说明命令根本不可见。
- macOS 装完 MacTeX 后,必须手动在
~/.zshrc里加export PATH="/Library/TeX/texbin:$PATH",然后重启 VSCode - Windows 安装 TeX Live 时漏选 “Add TeX Live to PATH”,就得手动把
C:\texlive\2024\bin\win32加进系统环境变量 - Ubuntu/Debian 用户别只装
texlive-base,得运行sudo apt install texlive-latex-recommended texlive-latex-extra latexmk
PDF 不自动刷新或预览空白
LaTeX Workshop 默认不监听所有相关文件变动,尤其对 .bib、.sty 或子目录下的 .tex 静默忽略——它只认你指定的“主文档”。
- 主文件(比如
main.tex)第一行必须写% !TEX root = main.tex;子文件如method.tex也得在第一行加这行,且不能有空行或 BOM - 检查设置中
latex-workshop.latex.autoBuild.run是onFileChange,不是never - 关掉内置 PDF 查看器:设
latex-workshop.view.pdf.viewer为external,macOS 配 Skim,Windows 配 SumatraPDF
数学公式 hover 预览不显示或缩放异常
这个功能依赖 latex-workshop.hover.preview.scale 和底层 math parser,但容易被忽略的是触发位置和引擎兼容性。
- 鼠标必须悬停在数学环境起始处:
$、$$、\[、\begin{equation}等,悬停在公式中间无效 - 确保
latex-workshop.hover.enabled是true,且latex-workshop.hover.preview.scale设为 0.7~1.2 之间的合理值(比如0.85) - 若用
xelatex编译含中文的公式,hover 预览可能因字体缺失 fallback 到方块——此时需确认主文档用了\documentclass[UTF8]{ctexart},而非article+ 手动xeCJK
多文件项目里公式引用失效或交叉引用乱码
子文件没声明根文档,LaTeX Workshop 就不会跑完整编译链(latexmk -pdf -synctex=1 -interaction=nonstopmode),bibtex 和 refstepcounter 都会断掉。
- 每个子文件顶部第一行必须是
% !TEX root = ../main.tex(路径按实际调整),前面不能有任何字符,包括空格和 BOM - 不要依赖
"latex-workshop.latex.rootFile.useSubFile": false这种全局开关——它靠文件名启发式匹配,易误判为chapter1.tex而非main.tex - 首次编译建议手动按
Ctrl+Alt+B(Win/Linux)或Cmd+Alt+B(macOS),尤其含参考文献时,latexmk至少要跑两遍才能填满\cite{}
最常被跳过的其实是 % !TEX root 的位置要求和 PATH 修改后必须重启 VSCode——这两个点卡住的人最多,但错误提示却模糊地显示 “No recipe found” 或直接空白预览。


















