文章目录
1 安装 Latex
本文配置环境:
- Windows11
- 打开清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/,下载 texlive.iso 文件。

- 使用资源管理器打开。

- 右键“install-tl-windows.bat”文件,选择以管理员身份运行(进行安装),需等待一会儿。

进行如下配置:
- installation root:修改安装路径。
- 安装 TeXworks 前端:取消勾选(使用 VScode 就不用这个)。
设置完成后点击安装。

点击键盘上的菜单按键,输入“pow”,打开 Windows PoeweShell。
输入命令 “latex”,检查是否安装成功。


2 安装 VScode
- 打开 VScode 官网:https://code.visualstudio.com/,下载安装包。

运行安装包,勾选“创建桌面快捷方式”和“添加到系统 PATH”。
安装路径自行修改(严禁路径含中文或空格)。


3 配置环境
3.1 汉化 VScode
- 打开 VScode,点击左侧插件图标,搜索“chinese”,安装汉化插件。

- 安装完成后,点击重启,启用汉化。

3.2 安装 latex 插件
- 点击左侧插件图标,搜索“latex”,安装“LaTeX Workshop”插件。

- 点击左下角设置按钮,选择设置,打开设置面板。

- 点击右上角文件按钮,打开设置的 json 配置文件。

- 将以下代码拷贝到 json 文件中。
{
"workbench.colorTheme": "Default Light Modern",
"editor.wordWrap": "on",
//------------------------------LaTeX 配置----------------------------------
// 右键菜单
"latex-workshop.showContextMenu": true,
// 从使用的包中自动补全命令和环境
"latex-workshop.intellisense.package.enabled": true,
// 编译出错时设置是否弹出气泡设置
"latex-workshop.message.error.show": false,
"latex-workshop.message.warning.show": false,
// 输出路径
"latex-workshop.latex.outDir": "./build",
// 编译工具和命令
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"--output-directory=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"--output-directory=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"--output-directory=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%OUTDIR%/%DOCFILE%",
// "--output-directory=%OUTDIR%",
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "LaTeXmk",
"tools": [
"latexmk"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
],
// 文件清理。此属性必须是字符串数组
"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",
// "*.synctex.gz"
],
// 设置为 onBuilt 在构建成功后清除辅助文件
"latex-workshop.latex.autoClean.run": "onBuilt",
// 使用第一个编译组合
"latex-workshop.latex.recipe.default": "lastUsed",
// 设置是否自动编译
"latex-workshop.latex.autoBuild.run": "never",
// 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
}
到此配置环境完成。
3.3 配置解释
编译输出路径
这里设置为当前目录下的 “./build” 文件夹。设置为空则是同目录。
// 输出路径 "latex-workshop.latex.outDir": "./build",
编译工具命令
定义了单个工具,具体内容看注释。参考文档:Compile · James-Yu/LaTeX-Workshop Wiki。
// 编译工具和命令 "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "--output-directory=%OUTDIR%", "%DOCFILE%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "--output-directory=%OUTDIR%", "%DOCFILE%" ] }, { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "--output-directory=%OUTDIR%", "%DOCFILE%" ] }, { "name": "bibtex", "command": "bibtex", "args": [ "%OUTDIR%/%DOCFILE%", // "--output-directory=%OUTDIR%", ] } ],
编译工具链
定义编译工具链,由一个或多个工具组成。在插件中显示如下
"latex-workshop.latex.recipes": [ { "name": "XeLaTeX", "tools": [ "xelatex" ] }, { "name": "PDFLaTeX", "tools": [ "pdflatex" ] }, { "name": "BibTeX", "tools": [ "bibtex" ] }, { "name": "LaTeXmk", "tools": [ "latexmk" ] }, { "name": "xelatex -> bibtex -> xelatex*2", "tools": [ "xelatex", "bibtex", "xelatex", "xelatex" ] }, { "name": "pdflatex -> bibtex -> pdflatex*2", "tools": [ "pdflatex", "bibtex", "pdflatex", "pdflatex" ] }, ],
对于最后两个编译链,解释如下(以 xeletax 为例):
- xeletax * 1:生成辅助文件,为后续处理做准备。具体过程包括
- 解析主 .tex 文件。
- 生成 .aux 文件(包含引用和参考文献信息)。
- 生成 .log 文件(日志信息)。
- 生成 .synctex.gz 文件(用于反向搜索)。
- 生成初步的 PDF(此时引用和参考文献标记为问号 [?])。
- bibtex:处理参考文献。具体过程包括
- 读取 .aux 文件中的引用信息。
- 从 .bib 文献数据库中提取相关条目。
- 生成 .bbl 文件(格式化后的参考文献列表)。
- 生成 .blg 文件(bibtex 日志)。
- xeletax * 2:将参考文献信息整合到文档中。具体过程包括
- 读取 .bbl 文件内容。
- 更新文档中的引用标记。
- 重新生成 .aux 文件(现在包含正确的参考文献信息)。
- 生成中间 PDF(此时参考文献已正确显示,但交叉引用可能仍不正确)。
- xeletax * 3:解决所有交叉引用。具体过程包括
- 读取更新后的 .aux 文件。
- 解析所有交叉引用(章节、图表、公式编号等)。
- 确保所有引用编号最终正确。
- 生成最终 PDF(所有引用和参考文献都正确显示)。
如果跳过某些步骤:
- 只编译一次(xelatex):引用显示为 [?]。
- 编译两次,无 bibtex(xelatex -> xelatex):参考文献缺失。
- 编译两次,有 bibtex(xelatex -> bibtex -> xelatex):交叉引用可能不正确。
- xeletax * 1:生成辅助文件,为后续处理做准备。具体过程包括
文件清理
编译过程中,latex 会生成许多中间文件。
clean.fileTypes
:定义编译完成后清理的文件后缀名。autoClean.run
:决定编译完成后是否清理文件。
// 文件清理。此属性必须是字符串数组 "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", // "*.synctex.gz" ], // 设置为 onBuilt 在构建成功后清除辅助文件 "latex-workshop.latex.autoClean.run": "onBuilt",
自动编译
可以选择在文件内容更改时或保存文件时自动编译。
文件较大时,编译时间会很长,个人不习惯自动编译,因此选择 never。
// 使用上一个编译组合 "latex-workshop.latex.recipe.default": "lastUsed", // 设置是否自动编译 "latex-workshop.latex.autoBuild.run": "never",
反向定位
设置从 pdf 到 tex 文件的反向定位方式,个人习惯鼠标双击定位。
// 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击 "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
上述所有内容可直接在用户设置中搜索对应内容配置,并查看相关介绍。以反向定位为例:

4 编译示例
- 创建文件夹 test,使用 VScode 打开该文件夹。
- 新建 “new.tex” 文件,输入如下内容。

\documentclass{article}
\begin{document}
hello world!
\end{document}
进入 TEX 插件页面,选择编译方式,点击编译。这里选择 LaTeXmk。选择 XeLaTeX 或 PDFLaTeX 也可。
若左侧没有 TEX 插件栏,新建 tex 文件即可显示。

回到文件页面,可看到当前目录下新建了 ./build 文件夹,编译的 pdf 放在该目录中。右上角点击双栏按钮可在右侧查看编译后的 pdf。
说明:“new.synctex.gz” 存放反向编译内容,删除后不可以双击 pdf 定位到对应 tex 位置。

编译一次后,可点击左上角编译按钮进行快速编译,选择的编译方式由如下设置决定:
// 使用上一个编译组合 "latex-workshop.latex.recipe.default": "lastUsed",

5 加快你的编译
5.1 取消压缩
最立竿见影的方法是取消 LaTeX 编译器对 PDF 的压缩。方法是在 tex 文档开头加入如下代码:
\documentclass{article}
\usepackage{...}
\special{dvipdfmx:config z 0} % 取消 PDF 压缩,加快速度,最终版本生成时注释该行
\begin{document}
hello world!
\end{document}
该方法可以将速度加快 3~5 倍(60s ->
15s),但代价是 PDF 大小会成倍增加(60MB ->
700MB)。
5.2 使用 PDF 代替图片
对于图像文件,建议保存为 .pdf 。
因为 .pdf 图像的编译速度比 .png 文件快,其编译过程不需要调用 libpng 库。