TeX Live 2023安装&VSCode环境配置记录
本文最后更新于:2023年11月23日 晚上
TeX Live 2023安装&VSCode环境配置记录
整完了。还没写完,主要快断电了属于是)
系统信息: Windows 11 专业版 23H2 22635.2771。
之前机子上装过2021版本,但一直没咋用过)刚好后面要开始用这玩意了,就重新装了一下,顺便配一配环境。
参考链接:
LaTeX小白兔手册-配置篇 - 知乎 (zhihu.com)
Visual Studio Code (vscode)配置LaTeX - 知乎 (zhihu.com)
TeX Live安装
首先下载TeX Live 2023镜像,推荐清华镜像站:
Index of /CTAN/systems/texlive/Images/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
选择texlive2023.iso
。
下载完成后打开镜像,运行install-tl-windows.bat
,
图形界面,操作比较简单,注意选择好安装路径即可,大约需要 8G 的硬盘空间。
然后安装就行,安装时间比较长,50分钟左右?注意别点 Abort
,耐心等着就行。
最后提示 欢迎进入 Tex Live 的世界!
,就算是装完了。然后打开终端,输入 latex -v
查看版本信息,检查安装是否正常。
VSCode配置LaTex环境
LaTeX Workshop插件配置
打开VScode,在扩展搜索 LaTeX Workshop
进行安装。
打开LaTeX Workshop
的设置,之后在右上角选择 打开设置(json)
。因为配置项比较多,所以直接网上抄设置复制进json(毕竟有159个设置项……
LaTeX Workshop
Wiki:Home · James-Yu/LaTeX-Workshop Wiki (github.com)
根据Wiki内容:https://github.com/James-Yu/LaTeX-Workshop/wiki/Install#settings
You can modify settings through the menu of VS Code,
Preferences > Settings
. You can also modify settings by directly editingsettings.json
. See an official document for the location ofsettings.json
.You can also have different settings for each project with
.vscode/settings.json
at the root of each project workspace. See an official document.
有两种修改VSCode设置的方式,一种是直接修改,全局生效的这种。另一种是针对不同工程使用不同配置,需要在工程下建立名为 .vscode
的文件夹,建立 settings.json
进行设置。我们选择第一种。
注意编辑json文件时要注意格式,如果文件内有其他配置,跟后面就行,别直接复制进去给覆盖掉)然后记得配置复制到最外头的大括号里面( {其他配置,你的配置}
)。
到处借鉴然后揉了点适合自己的配置:
配置相关内容解释
"latex-workshop.latex.tools"
:是编译使用的工具,latexmk
、xelatex
、pdflatex
、bibtex
都是常用的编译命令,它们编译的方式不一样。bibtex
能用来生成参考文献,latexmk
、xelatex
、pdflatex
中只有 xelatex
较好适合中文,但编译速度 pdflatex
比 xelatex
快。args
里是一些参数,可以根据实际情况改,比如在 xelatex
、pdflatex
的 args
里加了一句”-shell-escape”
,是为了支持使用 minted 宏包
(用来代码高亮等)。
"latex-workshop.latex.recipes"
是编译使用的命令序列,就是 latexmk
、xelatex
、pdflatex
、bibtex
的组合。首先要知道,编译一个.tex
文件,用一个编译命令是不够的,当要生成目录时,一般是要用 pdflatex
或 xelatex
等编译源代码 2 次,第 1 次生成了辅助文件记录目录等信息,第 2 次才会生成目录;当要生成参考文献时,要编译 4 次,第 1 次用 pdflatex
或 xelatex
等编译源代码,第 2 次用 bibtex
命令处理.aux
辅助文件记录的
参考文献格式、引用条目等信息,接下来再用 pdflatex
或 xelatex
等编译源代码 2 次读入参考文献并生成引用。我们这里定义、添加了 8 种方法:
- 一次
XeLaTeX
XeLaTeX*2
- 一次
PDFLaTeX
PDFLaTeX*2
- 一次
BibTeX
- 一次
LaTeXmk
xelatex -> bibtex -> xelatex*2
pdflatex -> bibtex -> pdflatex*2
其中第一个的是默认编译命令,因为处理中文文档,所以把一次 XeLaTeX
放在第一位。当你使用 TeXstudio 时你不必在乎这些,因为它会自动为你进行多次编译。
"latex-workshop.view.pdf.viewer"
是用来查看 PDF 的工具,我们这里采用 "tab"
(内置阅读器)。如果选择 external
(外部阅读器),需要添加其他配置,可以在参考链接中获取相关信息。
"latex-workshop.latex.autoBuild.run"
是控制是否自动编译,可以通过自动编译实现准实时预览,但是一来编译需要时间,特别是复杂文档编译时间往往漫长;二来边编译边输入很可能造成意想不到的错误,这种错误不能通过重新编译一遍解决,需要将辅助文件全部删除后重新编译。
构建一份 PDF,除了
.tex
源文件,一般需要.cls
、.sty
文件,如果需要参考文献,还
需要.bib
、.bst
文件,具体如下:
.cls
,文档类文件,如内置的article.cls
、book.cls
,文档类名称与文件名一致.sty
,宏包文件,如ctex.sty
,宏包名称与文件名一致.bst
,BibTEX
参考文献样式文件,如内置的plain.bst
- .bib,
BibTEX
参考文献数据库文件
编译过程中会生成许多辅助文件,有些中间辅助文件会自动清除,有些则不会,生
成的常见辅助文件有:.aux
,主辅助文件,记录交叉引用、目录、参考文献的引用等.log
,错误日志文件.toc
,目录记录文件.synctex.gz
,正反向搜索文件.bbl
,bibtex
生成的参考文献记录文件.blg
,bibtex
生成的日志文件.out
,hyperref
宏包生成的 PDF 书签记录文件.pyg
,基于pygment
的minted
宏包生成的文件生成的辅助文件较多,建议一份文档单独一个文件夹(本来设置了,但调宏包有点问题,注释掉了又);因为要借助辅助文件,有时需要多次编译。
"latex-workshop.showContextMenu"
是 true
时,你在 .tex
文件中右键时会出现一些便捷的命令。
"latex-workshop.intellisense.package.enabled"
是 true
,能够开启自动补全,比较方便。
**"latex-workshop.message.error.show"
、"latex-workshop.message.warning.show"
**是关于编译不好时的提醒、警告气泡,比较烦人,建议设置为 false
不显示,错误信息还是可以通过其他方式得到的,比如找红色波浪线,鼠标放上面会有提示。
"latex-workshop.latex.clean.fileTypes"
是用来清除编译过程中生成的辅助文件。如果注释掉,当存在参考文献等时,一次编译出错会导致原来编译四次才能生成的参考文献因为相关辅助文件被清除要重新编译四次。有些情况下辅助文件也会造成困扰,比如在源文件中改正确了,但辅助文件中的错误不会改过来,从而导致莫名其妙的编译失败,很多情况下这是一种直觉和经验,把辅助文件全删了重新编译就行,可以根据自己的习惯选择是否取消注释开启自动清除。
需要注意的是,设置了辅助文件输出目录,在调用一些宏包比如 minted
宏包时也需要申明辅助文件的路径,最后我没有设置辅助文件输出目录。
最后测试
minted
宏包设置
代码高亮需要用到 minted
宏包,需要再次折腾一下,就顺便记录一下:
首先确保有一个 Python
环境,我这里是 Python 3.10.1
。(不过为了环境更好的切换,推荐使用 conda
)
Python
安装 Pygments
库:pip install Pygments
将路径添加环境变量,我的路径是: C:\Users\KSF\AppData\Roaming\Python\Python310\Scripts
,打开系统设置,添加到 系统-系统信息-高级系统设置-高级-环境变量-系统变量
,选中变量 Path
,选择编辑,之后新建,将路径复制进去。
如果设置了辅助文件夹
temp
:如果在编译命令中在编译命令中加上
"−output−directory=temp"
、"−outdir=%OUTDIR%"
两句,即更改了辅助文件的输出位置,一些宏包的输出文件位置也需要申明,比如这里的minted
宏包,需要在minted
宏包的可选参数中申明outputdir=./temp
,即\usepackage [cache=false,outputdir=./temp] {minted}
。
效果测试
最后写一段看看效果:
效果,整挺好: