如何用vscode编写LaTeX文档_安装扩展并编译PDF指南【教程】

12次阅读

VS Code需通过LaTeX Workshop扩展调用系统LaTeX发行版实现编译,关键在于正确配置PATH、recipe及tools,并验证主文件声明、命令行可执行性与Output日志。

如何用vscode编写LaTeX文档_安装扩展并编译PDF指南【教程】

VS Code 本身不支持 LaTeX 编译,但通过安装正确扩展、配置好工具链,并解决常见路径和命令问题,就能高效编写并一键生成 pdf。关键不在“装什么”,而在“装完之后怎么让 latexmkxelatex 真正被 VS Code 找到并执行”。

安装 LaTeX Workshop 扩展(不是唯一选择,但最稳定)

这是目前 VS Code 中维护最活跃、功能最完整的 LaTeX 支持扩展。它不自带编译器,只负责调用系统已安装的 LaTeX 发行版(如 TeX Live、MiKTeX)。

  • 在 VS Code 扩展市场搜索 LaTeX Workshop,安装后重启编辑器
  • 确保不要同时启用其他 LaTeX 扩展(如 LaTeX by James Yu),它们会冲突
  • 安装后,打开一个 .tex 文件,状态栏右下角应出现 LaTeX 标识和编译器选择按钮

验证本地 LaTeX 发行版是否可用

LaTeX Workshop 只是“指挥官”,真正干活的是你电脑上装的 texlivelinux/macOS)或 MiKTeXwindows)。如果终端里连 pdflatex --version 都报 command not found,VS Code 肯定也调不动。

  • macOS/Linux:运行 which latexmkwhich xelatex,确认有输出;没有就去 TeX Live 官网 下载完整安装包
  • Windows:检查 MiKTeX 是否勾选了“添加到系统 PATH”;若没勾选,要么重装,要么手动把 C:UsersXXXappDataLocalProgramsMiKTeXmiktexbinx64 加进系统环境变量
  • VS Code 启动方式很重要:如果从桌面图标启动,可能读不到你 shell 中配置的 PATH;建议从终端运行 code . 启动,确保环境变量继承正确

配置 recipe(编译流程)和 tools(底层命令)

默认的 latexmk recipe 在多数场景下可用,但一旦你用中文、TikZ、参考文献或自定义字体,就得手动指定引擎(如 xelatex)和参数。这些都在 settings.json 里配。

打开 VS Code 设置 → 打开 settings.json,加入以下片段(按需调整):

{   "latex-workshop.latex.recipe.default": "xelatex",   "latex-workshop.latex.recipes": [     {       "name": "xelatex",       "tools": ["xelatex"]     }   ],   "latex-workshop.latex.tools": [     {       "name": "xelatex",       "command": "xelatex",       "args": [         "-synctex=1",         "-interaction=nonstopmode",         "-file-line-error",         "%DOC%"       ]     }   ] }
  • %DOC% 是占位符,会被自动替换成当前打开的 .tex 主文件路径
  • 若用 biblatex + biber,recipe 需写成 ["xelatex", "biber", "xelatex", "xelatex"] 并确保 biber 命令可执行
  • Windows 用户注意反斜杠路径问题:VS Code 的 JSON 不接受 C:path,必须写成 C:/path 或双反斜杠 C:\path

编译失败时优先查这三处

90% 的“点编译没反应”或“PDF 不更新”问题,都出在这三个地方,而不是语法错误。

  • main.tex 文件顶部是否有 % !TEX root = main.tex 注释?LaTeX Workshop 依赖它识别主文件;子文件不会被自动编译
  • 终端里手动运行 xelatex main.tex 是否成功?如果失败,VS Code 一定也失败——先解决命令行问题
  • 查看 VS Code 底部状态栏右侧:点击 LaTeX → “Show logs” → 切换到 “Output” 面板里的 LaTeX Compiler,里面会打印真实执行的命令和报错,比弹窗提示详细得多

真正卡住的地方,往往不是“没装对扩展”,而是 PATH 没导进去、%DOC% 路径含空格没被引号包裹、或者 latexmk 把缓存锁死了却没提示。多看 Output 面板,少点“重新加载窗口”。

text=ZqhQzanResources