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)

配置Visual Studio Code和LaTex环境 - 老杨说话的地方 (yangyq.net)

Home · James-Yu/LaTeX-Workshop Wiki (github.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 查看版本信息,检查安装是否正常。

pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2023)
kpathsea version 6.3.5
Copyright 2023 Han The Thanh (pdfTeX) et al.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.39; using libpng 1.6.39
Compiled with zlib 1.2.13; using zlib 1.2.13
Compiled with xpdf version 4.04

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 editing settings.json. See an official document for the location of settings.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 配置开始-----------
// 设置是否自动编译,可选:"never", "onSave", "onFileChange"
   "latex-workshop.latex.autoBuild.run":"never",
//文件输出路径,会自动创建temp文件
//"latex-workshop.latex.outDir": "./temp",
   //右键菜单
   "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.tools": [
       {
           "name": "xelatex",
           "command": "xelatex",
           "args": [
               "-shell-escape", //加上这句,以使用minted宏包
               "-8bit", //防止minted宏包转义特殊字符
               "-synctex=1",
               "-interaction=nonstopmode",
               "-file-line-error",
               //"-output-directory=temp", //自定义辅助文件输出路径
               //"-outdir=%OUTDIR%", //辅助文件输出路径
               "%DOCFILE%"
           ]
       },
       {
           "name": "pdflatex",
           "command": "pdflatex",
           "args": [
               "-shell-escape", //加上这句,以使用minted宏包
               "-8bit", //防止minted宏包转义特殊字符
               "-synctex=1",
               "-interaction=nonstopmode",
               "-file-line-error",
               //"-output-directory=temp", //自定义辅助文件输出路径
               //"-outdir=%OUTDIR%", //辅助文件输出路径
               "%DOCFILE%"
           ]
       },
       {
           "name": "latexmk",
           "command": "latexmk",
           "args": [
               "-synctex=1",
               "-interaction=nonstopmode",
               "-file-line-error",
               "-pdf",
               "-outdir=%OUTDIR%",
               "%DOCFILE%"
           ]
       },
       {
           "name": "bibtex",
           "command": "bibtex",
           "args": [
               "%DOCFILE%"
           ]
       }
   ],
   // 用于配置编译链
   "latex-workshop.latex.recipes": [
       {
           "name": "XeLaTeX",
           "tools": [
               "xelatex"
           ]
       },
       {
           "name": "XeLaTeX*2",
           "tools": [
               "xelatex",
               "xelatex"
           ]
       },
       {
           "name": "PDFLaTeX",
           "tools": [
               "pdflatex"
           ]
       },
       {
           "name": "PDFLaTeX*2",
           "tools": [
               "pdflatex",
               "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"
   ],
   //设置为onFaild 在构建失败后清除辅助文件
   "latex-workshop.latex.autoClean.run": "onFailed",
   // 使用上次的recipe编译组合
   "latex-workshop.latex.recipe.default": "lastUsed",
   // 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击
   "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
//设置查看PDF的工具,可选"browser","tab","external"
"latex-workshop.view.pdf.viewer": "tab", 
//---------LaTeX Workshop 配置结束-----------

配置相关内容解释

"latex-workshop.latex.tools" :是编译使用的工具,latexmkxelatexpdflatexbibtex 都是常用的编译命令,它们编译的方式不一样。bibtex 能用来生成参考文献,latexmkxelatexpdflatex 中只有 xelatex 较好适合中文,但编译速度 pdflatexxelatex 快。args 里是一些参数,可以根据实际情况改,比如在 xelatexpdflatexargs 里加了一句”-shell-escape”,是为了支持使用 minted 宏包(用来代码高亮等)。

"latex-workshop.latex.recipes" 是编译使用的命令序列,就是 latexmkxelatexpdflatexbibtex 的组合。首先要知道,编译一个.tex 文件,用一个编译命令是不够的,当要生成目录时,一般是要用 pdflatexxelatex 等编译源代码 2 次,第 1 次生成了辅助文件记录目录等信息,第 2 次才会生成目录;当要生成参考文献时,要编译 4 次,第 1 次用 pdflatexxelatex 等编译源代码,第 2 次用 bibtex 命令处理.aux 辅助文件记录的
参考文献格式、引用条目等信息,接下来再用 pdflatexxelatex 等编译源代码 2 次读入参考文献并生成引用。我们这里定义、添加了 8 种方法:

  1. 一次 XeLaTeX
  2. XeLaTeX*2
  3. 一次 PDFLaTeX
  4. PDFLaTeX*2
  5. 一次 BibTeX
  6. 一次 LaTeXmk
  7. xelatex -> bibtex -> xelatex*2
  8. 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.clsbook.cls,文档类名称与文件名一致
  • .sty,宏包文件,如 ctex.sty,宏包名称与文件名一致
  • .bstBibTEX 参考文献样式文件,如内置的 plain.bst
  • .bib,BibTEX 参考文献数据库文件
    编译过程中会生成许多辅助文件,有些中间辅助文件会自动清除,有些则不会,生
    成的常见辅助文件有:
  • .aux,主辅助文件,记录交叉引用、目录、参考文献的引用等
  • .log,错误日志文件
  • .toc,目录记录文件
  • .synctex.gz,正反向搜索文件
  • .bblbibtex 生成的参考文献记录文件
  • .blgbibtex 生成的日志文件
  • .outhyperref 宏包生成的 PDF 书签记录文件
  • .pyg,基于 pygmentminted 宏包生成的文件

生成的辅助文件较多,建议一份文档单独一个文件夹(本来设置了,但调宏包有点问题,注释掉了又);因为要借助辅助文件,有时需要多次编译。

"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}

效果测试

最后写一段看看效果:

% 导言区
\documentclass{article} %article可以换为book, report, letter, 从而改变文档的整个结构
\usepackage{ctex} %使用ctex宏包,可以正常显示中文
\usepackage{minted}

\title{题目114514}
\author{康师傅}
\date{\today}

%正文区(文稿区)
\begin {document}
\maketitle
哼哼嗯啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
\begin{minted}[frame=single, linenos=true]{python}
>>> import numpy as np
>>> from scipy import stats
>>> x = np.array([61, 70, 69, 63, 75, 62, 70, 66])
>>> y = np.array([55, 71, 67, 61, 70, 61, 71, 61])
>>> _, p = stats.ttest_1samp(x - y, 0)
>>> p
0.042982513619168904
\end{minted}
\end{document}

效果,整挺好:

test


TeX Live 2023安装&VSCode环境配置记录
https://blog.ksfu.top/posts/8e96/
作者
康师傅
发布于
2023年11月22日
许可协议