Mac 下 VS Code 搭建优雅的 LaTeX 写作环境
在 Mac 上使用 LaTeX 写学术论文时,完整的 MacTeX 安装包通常体积庞大,且包含了许多我们用不到的 GUI 工具(如 TeXShop)。既然我们已经有了强大的 VS Code,完全可以选择安装精简版的命令行 TeX 环境,配合 VS Code 插件打造一个高效、轻量的排版工作流。
本文将记录如何在 Mac 平台上从零配置 VS Code + LaTeX 环境,并解决代码格式化(latexindent)的依赖问题。
壹 · 安装编译环境
推荐使用 Homebrew 一键安装不带 GUI 的精简版 MacTeX。 打开终端,运行以下命令:
brew install --cask mactex-no-gui
安装完成后,验证是否安装成功并检查版本:
tex --version
如果输出类似如下的版本信息,说明底层编译环境已经就绪。
TeX 3.141592653 (TeX Live 2026)
kpathsea version 6.4.2
Copyright 2026 D.E. Knuth.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.
贰 · VS Code 插件与核心配置
在 VS Code 的扩展商店中搜索并安装 LaTeX Workshop 插件。
安装完成后,打开 VS Code 的 settings.json(可通过 Cmd + Shift + P 搜索 "Open Settings (JSON)"),将以下配置添加进去:
{
"files.autoSave": "afterDelay",
"editor.formatOnSave": true,
"editor.wordWrap": "on",
// ================= LaTeX Workshop 配置 =================
// 开启文件更改时自动编译
"latex-workshop.latex.autoBuild.run": "onFileChange",
"latex-workshop.showContextMenu": true,
"latex-workshop.intellisense.package.enabled": true,
// 屏蔽错误和警告弹窗,改为在控制台查看
"latex-workshop.message.error.show": false,
"latex-workshop.message.warning.show": false,
// 指定格式化工具
"latex-workshop.formatting.latex": "latexindent",
// 定义编译工具
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": ["%DOCFILE%"]
}
],
// 定义编译配方 (Recipes)
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": ["xelatex"]
},
{
"name": "BibTeX",
"tools": ["bibtex"]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": ["xelatex", "bibtex", "xelatex", "xelatex"]
}
],
// 配置需要自动清理的临时文件类型
"latex-workshop.latex.clean.fileTypes": [
"*.aux", "*.bbl", "*.blg", "*.idx", "*.ind",
"*.lof", "*.lot", "*.out", "*.toc", "*.acn",
"*.acr", "*.alg", "*.glg", "*.glo", "*.gls",
"*.ist", "*.fls", "*.log", "*.fdb_latexmk"
],
// 编译失败时自动清理中间文件
"latex-workshop.latex.autoClean.run": "onFailed",
// 默认使用上次的配方
"latex-workshop.latex.recipe.default": "lastUsed",
// 开启 PDF 正反向同步(双击 PDF 对应跳转至源码)
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"
}
配置解析:
- 默认使用 XeLaTeX:对中文支持更好。
- 自动化清理:LaTeX 编译会产生大量临时文件(如 .aux, .log 等),上述配置会在编译失败时自动清理这些无用文件,保持目录整洁。
- SyncTeX 双向跳转:在内置 PDF 阅读器中双击内容,即可快速跳转到 .tex 源码的对应行,极大提升修改效率。
叁 · TEX 代码格式化
我们在配置中开启了 editor.formatOnSave,并指定了 latexindent 作为格式化工具。虽然 MacTeX 包含了 latexindent,但它是由 Perl 编写的,macOS 默认的 Perl 环境缺少一些必要的依赖包,直接保存时会导致格式化失败。
首先,确认 latexindent 是否已在环境变量中:
which latexindent
接着,我们需要安装 Perl 的包管理器 cpanminus 以及相关的依赖模块。在终端依次执行以下命令(需要输入系统密码以提权):
# 安装 cpanminus
sudo cpan App::cpanminus
# 使用 cpanm 安装 latexindent 所需的核心依赖
sudo cpanm File::HomeDir YAML::Tiny Log::Log4perl Log::Dispatch Unicode::GCString
等待依赖全部安装完成即可。
肆 · 测试运行
至此,所有的配置工作就结束了。我们可以新建一个 test.tex 文件来进行最终测试。 你可以将以下最简测试代码复制进去:
\documentclass{article}
\begin{document}
Hello, LaTeX in VS Code!
\end{document}
测试步骤:
测试格式化依赖:在终端中输入
latexindent test.tex。如果终端正常输出了格式化后的代码,且没有报任何 Perl 相关的错误,说明你的依赖安装没问题。测试自动编译:打乱代码缩进,然后按下 Cmd + S 保存。能够看到代码被自动格式化整齐,并且 VS Code 底部状态栏会出现编译进度。
预览 PDF:编译完成后,点击 VS Code 左侧边栏的 LaTeX 图标(或者使用快捷键 Cmd + Option + V),选择 View LaTeX PDF,即可在右侧分栏看到生成的 PDF 预览。