坑边闲话:每年的清明时节,除了期待已久的假期,还有 TeXlive 套件的更新。今年(2023)的 3 月 11 日,texlive-2023 如期而至。为了书写简介,文中一律使用 texlive 作为标识符,而不采用 TeXLive 等 LaTeX 专有的表示方法。

1. 下载镜像·

texlive 2023 的下载速度可以做到飞快,因为我们有国内镜像。所谓镜像,也就是 mirror,指的是国外网站的一个完整拷贝,这份拷贝被放在国内,服务于中国用户。笔者常用的镜像网站是清华大学的金枪鱼镜像网站,在该网站下,可通过 CTAN 条目找到具体的 iso 镜像下载地址

图 1. Tuna 网站下载界面,请勿选错!

点击上图中红框里的文件,或者将 HTTPS 链接复制到迅雷,即可满速下载。

2. 安装 texlive 2023·

略。

环境变量:

1
2
3
4
export MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:${MANPATH}
export INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:${INFOPATH}
export PATH=/usr/local/texlive/2021/bin/universal-darwin:${PATH}
alias tlmgr='sudo /usr/local/texlive/2021/bin/universal-darwin/tlmgr'

3. 配置 LaTeX 书写环境·

作为一种编译型语言,LaTeX 源码需要在某种易用的 code editor 中被作者精心编辑。鉴于 VSCode 的强大以及普及,这里介绍 VSCode 环境下知名的一个插件:LaTeX Workshop

需要指出,该插件只有在编辑 .tex 文件时才会被激活,日常是看不到它的。

3.1 安装并配置 VSCode 插件·

在 VSCode 插件市场搜索 LaTeX Workshop,点击安装即可。

该插件的配置较为复杂,而且需要对 VSCode 的配置文件源码进行更改,因此容易劝退很多新手。

插件配置遵循以下步骤:

  1. 配置编译 commands
  2. 配置编译菜单 recipe

具体可以参考注释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/* 2. LaTeX 配置 */
"latex-workshop.bibtex-format.tab": "tab",
"latex-workshop.latex.autoBuild.run": "never", // 自动编译,全部关闭,当且仅当你认为有需要的时候才会去做编译
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": false,
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.ref.viewer": "external",
"latex-workshop.view.pdf.external.viewer.args": ["%PDF%"],
"latex-workshop.view.pdf.external.viewer.command": "D:/Users/newton/Documents/Softwares/software_windows/design/SumatraPDF-3.2-64.exe",
"latex-workshop.view.pdf.external.synctex.command": "D:/Users/newton/Documents/Softwares/software_windows/design/SumatraPDF-3.2-64.exe",
"latex-workshop.view.pdf.external.synctex.args": [
// 正向搜索
"-forward-search",
"%TEX%",
"%LINE%",
"-reuse-instance",
// 反向搜索
"-inverse-search",
"\"C:/Program Files/Microsoft VS Code/Code.exe\" \"C:/Program Files/Microsoft VS Code/resources/app/out/cli.js\" -gr %f:%l",
"%PDF%"
],
"latex-workshop.latex.tools": [
{
// Windows 原生安装 TeX Live 2023 的编译选项
"name": "Windows XeLaTeX",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOCFILE%"
]
},
{
// Windows Biber 编译
"name": "Windows Biber",
"command": "biber",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
// Windows 编译简单的小文档,这个选项不太常用,因为绝大多数文章都需要有参考文献索引
"name": "Windows XeLaTeX 简单编译",
"tools": [
"Windows XeLaTeX"
]
},
{
// Windows 编译带有索引的论文,需要进行四次编译;-> 符号只是一种标记而已,没有程序上的意义
"name": "Windows xe->bib->xe->xe 复杂编译",
"tools": [
"Windows XeLaTeX",
"Windows Biber",
"Windows XeLaTeX",
"Windows 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",
"*.bcf",
"*.run.xml",
"*.synctex.gz"
],

总结·

通过配置本地化的 texlive,可以充分保证服务的安全性。但在便捷性上,相较 OverLeaf 方案要逊色一些。

随着 OverLeaf 的不断发展,越来越多的非计算机专业用户开始放弃本地部署 texlive. 但是我依旧认为,本地托管才是合理的姿势。

这或许是一个极客最后的执着吧。