VSCode LaTeX 快速配置指南

安装Tex环境并在VSCode中快速配置好LaTeX的方法记录

安装TeX Live

首先到TeX Live官网下载安装文件。下面的链接中左边是Windows版本的ISO文件下载页面,右边是Mac版本的pkg文件下载页面

Windows

对于Windows用户,建议使用ISO文件进行安装,ISO文件大小约为4GB,包含了所有需要的文件,不需要在线安装。如果你的网络条件比较好的话,你也可以选择下载install-tl-windows.exe,它只有20MB,双击即可开始在线安装,更加方便。但是我使用install-tl-windows.exe时程序预估需要几小时才能完成下载和安装,而下载ISO文件只需要几分钟。

打开下载页面后,选择download from a nearby CTAN mirror前往最近的镜像站点,单击下载texlive.iso

前往最近的镜像站点
下载texlive.iso

下载完成后双击挂载文件,然后以管理员身份运行其中的install-tl-windows.bat。待安装程序加载完成后点击安装按钮,安装过程取决于电脑性能,大约需要30分钟,安装成功后点击关闭按钮结束安装程序。

选择安装路径
Loading
安装
安装成功

macOS

mac用户直接点击下载页面的MacTeX.pkg下载安装包,安装包大小为5.2G。下载完成后只需要双击打开安装包,然后根据指引操作即可。

下载MacTeX.pkg
同意协议
等待安装完成
安装完成

安装VSCode扩展

在VSCode的扩展商店中搜索并安装LaTeX WorkshopLaTeX Utilities两个扩展,前者的作用是为VSCode添加LaTeX支持,后者则是提供一些实用的功能,如自动格式化粘贴的文本,而且可以和Zotero配合使用。

安装扩展.webp

修改配置

使用ctrl+,快捷键打开VSCode的设置,接下来的的操作建议使用顶栏的搜索快速定位

自动编译

Auto Build.webp

搜索latex run,调整Latex-workshop > Latex > Auto Build: Run选项,我选择的是OnSave

  • never,不进行自动编译
  • OnSave,在保存.tex文件的时候进行自动编译
  • OnFileChange,在检测到任何依赖项中的文件更改后进行自动编译,包括在VSCode之外进行修改。

自动清理

这个选项的作用是自动清理(删除)已编译的辅助文件和输出文件,以确保每次运行 LaTeX 编译时都从头开始,而不受之前编译的影响。

Auto Clean.webp

搜索latex run,调整Latex-workshop > Latex > Auto Clean: Run选项,我选择的是OnFailed

  • never,不进行自动清理
  • OnFalied,只在编译失败时进行自动清理
  • OnSucceeded,只在编译成功时进行自动清理
  • OnBuilt,编译后就进行自动清理,不论是否成功

详细说明

具体来说,这个选项的作用如下:

  1. 自动清理:当你编译 LaTeX 文档时,会生成一些辅助文件(如 .aux, .log, .bbl, .blg 等)以及生成的 PDF 文件。这些文件通常用于记录编译的信息、辅助交叉引用、生成参考文献等。”Auto Clean: Run” 选项启用后,每次你运行 LaTeX 编译时,插件会自动删除这些辅助文件和之前生成的 PDF 文件。
  2. 避免旧文件干扰:如果你在不同的编译之间对文档进行了修改,旧的辅助文件可能会导致问题,例如交叉引用错误或不正确的参考文献。通过自动清理这些文件,你可以确保每次编译都从干净的状态开始,减少潜在的干扰和错误。
  3. 节省磁盘空间:LaTeX 编译会生成许多临时文件,随着时间的推移,这些文件可能占用大量磁盘空间。自动清理可以帮助你定期删除这些不再需要的文件,节省磁盘空间。
    请注意,使用 “Auto Clean: Run” 选项时,确保你不需要保留编译生成的辅助文件或输出文件,因为它们将被删除。如果你需要保留这些文件以供其他用途(如参考文献的生成),则可以将此选项禁用,手动管理这些文件。

By ChatGPT

添加编译链

LaTeX Workshop默认的编译链中只有pdflatex -> bibtex -> pdflatex * 2包含了bibtex,下面我们再添加一个xelatex -> bibtex -> xelatex*2编译链。

PdfTeX和XeTeX的区别

PdfTeX和XeTeX是两种用于排版文档的TeX引擎,它们有一些重要区别:

  1. 字体支持:
    • PdfTeX:PdfTeX主要支持传统的TeX字体,如Computer Modern。要使用其他字体,通常需要进行复杂的配置和字体映射。
    • XeTeX:XeTeX更加灵活,可以直接使用系统上安装的字体,包括TrueType和OpenType字体。这使得处理多国语言和不同字体风格的文档变得更加容易。
  2. 字符编码:
    • PdfTeX:PdfTeX通常需要使用特定的输入编码(如UTF-8)处理文档中的非ASCII字符,而且支持有限。
    • XeTeX:XeTeX天生支持Unicode编码,因此可以轻松处理各种语言和符号,无需额外配置。
  3. 多语言支持:
    • PdfTeX:支持多语言,但需要谨慎配置以处理不同语言的特殊要求。
    • XeTeX:对多语言文档的支持更加直接和简单,尤其适用于包含多种语言和脚本的文档。
  4. 输出格式:
    • PdfTeX:生成PDF格式的输出。
    • XeTeX:同样可以生成PDF,但也支持其他格式,如DVI和PostScript。

总之,PdfTeX适用于传统的TeX文档排版工作,而XeTeX更适合处理多语言、复杂字体需求和Unicode字符的文档。选择哪个引擎取决于你的具体需求和项目要求。

By ChatGPT

BibTeX

BibTeX是一种用于管理文献引用和参考文献的工具,通常与LaTeX文档一起使用。它允许你创建一个包含文献信息的文本数据库(通常以.bib文件扩展名保存),然后在LaTeX文档中引用这些文献,以自动生成格式良好的参考文献列表。

以下是BibTeX的主要工作原理:

  1. 创建文献数据库:你需要创建一个包含所有引用文献的BibTeX数据库文件(.bib文件)。每个文献条目都包含作者、标题、出版信息等元数据。

  2. 在LaTeX文档中引用文献:在LaTeX文档中,你可以使用\cite{key}命令引用文献,其中key是文献在BibTeX数据库中的标识符。

  3. 编译文档:使用LaTeX编译你的文档,然后运行BibTeX,它会查找引用并生成参考文献列表。最后再次编译文档,以确保引用在文档中正确显示。

  4. 自动生成参考文献:BibTeX会根据你的引用生成格式良好的参考文献,包括适当的引用样式(如APA、MLA等)和排序。

BibTeX的优点是它能够自动处理引用和文献格式,使得文献管理更加方便,特别是对于长篇论文和学术文章。不过,需要注意的是BibTeX样式和格式需要根据期刊或出版机构的要求进行调整,因此在使用时需要注意选择适当的文献样式和进行必要的自定义。

By ChatGPT

Recipe.webp

搜索Latex: Recipes,点击Latex-workshop > Latex: Recipes选项中的在settings.json中编辑,使用ctrl+F搜索定位到latex-workshop.latex.recipes,向其中添加一条新的编译链,如下所示,注意不要漏掉最后面的,

1
2
3
4
5
6
7
8
9
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatexmk",
"bibtex",
"xelatexmk",
"xelatexmk"
]
},

为何要进行多次xelatex编译

在LaTeX的编译链中,通常需要进行两次xelatex编译的原因与文献引用(使用bibtexbiblatex)有关。以下是两次编译的目的和过程:

  1. 第一次xelatex编译:
    • 第一次编译主要用于处理文档内容、生成引用标签和生成参考文献引用的占位符。
    • 当你使用\cite{key}命令引用文献时,第一次编译会在文档中插入占位符,如[?],以表示引用的位置。
    • 这一步还会生成一个辅助文件(通常是.aux文件),其中包含了文献引用的信息。
  2. 使用bibtex编译:
    • 接下来,你需要运行bibtex工具,它会读取.aux文件中的引用信息,然后根据你的BibTeX数据库(.bib文件)生成参考文献列表和引用的详细信息。
    • bibtex生成的信息存储在一个.bbl文件中。
  3. 第二次xelatex编译:
    • 第二次编译的目的是将生成的参考文献列表和引用的详细信息插入到文档中,以替换占位符。
    • 在这一次编译中,LaTeX知道每个引用的详细信息,并将它们正确地格式化和排列在文档中。
    • 这一次编译还会更新文档的引用标签。
  4. 第三次xelatex编译(可选):
    • 如果你的文档中有交叉引用(如引用章节或图表),可能需要再次运行xelatex进行编译,以确保所有交叉引用的编号都正确。

所以,多次xelatex编译是为了确保文献引用和参考文献列表能够正确地嵌入到文档中。这是LaTeX处理文献引用的标准工作流程。在某些情况下,如果没有交叉引用或文献引用不会影响文档的其他部分,可能只需要两次编译,而不需要第三次编译。

By ChatGPT

首选编译选项

这个选项定义了在没有明确指定其他编译选项时所使用的默认选项,包括前面设置的自动编译。

Default Recipe.webp

搜索latex recipe default,调整Latex-workshop > Latex > Recipe: Default选项,我选择的是lastUsed

  • first,配置文件中的第一个编译选项
  • lastUsed,上次使用过的编译选项

关闭报错弹窗

默认情况下,VSCode在编译失败是会在右下角弹出消息提醒,需要手动关闭,报错的信息在终端里都能看到,所以我就把它关掉了。

搜索latex message show,取消勾选Latex-workshop > Message > Error: Show选项和Latex-workshop > Message > Warning: Show选项

Warning.webp
Error.webp

使用

使用VSCode打开.tex文件时,左侧边栏会出现一个TEX选项,可以进行编译选项选择、查看PDF、快速定位等操作。

Build.webp
PDF&Log.webp
Navigate.webp
Citation.webp

参考:

  1. Visual Studio Code (vscode)配置LaTeX by Ali-loner
  2. VS Code + LaTeX by 柏星
  3. LaTeX Workshop Wiki by James Yu