LaTeX Tex Live 安装
整理一下 Tex Live 2024 在Windows和Linux(Ubuntu22)中的安装过程,主要参考TeX Live 2024 安装教程(Windows/WSL/Linux)以及一份简短的关于 LATEX 安装的介绍。
在Linux系统上的LaTeX编译速度普遍比Windows更快,而且速度提升非常明显,并且TexLive的安装也是如此,在Linux中的安装过程比Windows更快,这种优势即使是在WSL2中也是很明显的,因此我选择在Windows和WSL2中都进行安装。
下载Texlive镜像
随便找一个 CTAN 镜像站下载 texlive2024 即可,例如清华镜像。
texlive
的下载安装其实非常友好,在不同系统上都只需要同一个镜像文件(texlive2024.iso
,大约
5 个 G)。
安装Texlive
Windows
直接点击install-tl-windows.bat
脚本安装即可,默认有GUI显示,根据提示进行确认即可。
其实也可以加上--no-gui
选项关掉GUI,此时的安装过程和Linux类似。
最好重新设置一下安装目录,例如D:/texlive/2024
。
尤其需要注意的是:Texlive的安装目录以及主目录不能含有任何的空格或者中文字符,否则会导致安装失败。
如果用户名称含有中文或空格,在安装之前需要修改TEMP
和TMP
环境变量,使安装程序绕过这些特殊路径。
安装过程大约几十分钟,安装完成之后会自动将路径添加到环境变量中,例如D:/texlive/2024/bin/windows
。
安装完成之后,测试一下 1
tex -v
正常输出版本信息即可。
Linux
实践中是在WSL2中进行安装的,首先要挂载镜像,这里假设镜像文件存放在Windows的
D 盘根目录中,通过如下命令挂载 1
2sudo mkdir /mnt/texlive
sudo mount /mnt/d/texlive2024.iso /mnt/texlive
可能会出现警告:挂载的文件是写保护的,这个警告无所谓,我们的安装过程只需要读取权限。
这里的安装过程都是需要
sudo
权限的,也可以直接切换到 root 用户进行;如果使用普通用户安装,那么相应的路径都需要修改。
直接调用install-tl
进行安装 1
sudo /mnt/texlive/install-tl
此时可以看到如下内容,提示选择安装组件 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======================> TeX Live installation procedure <=====================
======> Letters/digits in <angle brackets> indicate <=======
======> menu items for actions or customizations <=======
= help> https://tug.org/texlive/doc/install-tl.html <=======
Detected platform: GNU/Linux on x86_64
<B> set binary platforms: 1 out of 6
<S> set installation scheme: scheme-full
<C> set installation collections:
40 collections out of 41, disk space required: 7599 MB (free: 970831 MB)
<D> set directories:
TEXDIR (the main TeX directory):
/usr/local/texlive/2024
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
/usr/local/texlive/2024/texmf-var
TEXMFSYSCONFIG (directory for local config):
/usr/local/texlive/2024/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
~/.texlive2024/texmf-var
TEXMFCONFIG (personal directory for local config):
~/.texlive2024/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
<O> options:
[ ] use letter size instead of A4 by default
[X] allow execution of restricted list of programs via \write18
[X] create all format files
[X] install macro/font doc tree
[X] install macro/font source tree
[ ] create symlinks to standard directories
[X] after install, set CTAN as source for package updates
<V> set up for portable installation
Actions:
<I> start installation to hard disk
<P> save installation profile to 'texlive.profile' and exit
<Q> quit
Enter command:
这里可以选择删去其中不常用的组件,后续可以单独进行下载,这样做可以节约空间。
但是我为了避免潜在的麻烦,直接选择全部安装,输入I
即可进行安装,安装过程大约二十分钟。(肯定比Windows快一点)
输入
D
可以修改安装目录,但是在Linux中不建议修改安装目录,使用默认的/usr/local/texlive/2024
即可。
安装完成之后,根据它的提示,将下面的路径添加到对应的环境变量中
1
2
3
4# Add TeX Live to the PATH, MANPATH, INFOPATH
export PATH=/usr/local/texlive/2024/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2024/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2024/texmf-dist/doc/info:$INFOPATH
将这几行命令写在~/.bashrc
文件中即可,如果使用 fish
或者其它的 shell,还需要进行相应调整。
重新加载 bash 的配置文件,测试一下 1
tex -v
正常输出版本信息即可。
移除镜像(事实上系统重启之后就自动移除了挂载)
1 | sudo umount /mnt/texlive # 注意不是unmount! |
字体配置
下面的命令可以查看当前texlive可以识别的所有中文字体(这个命令在Linux和Windows均可以使用)
1
fc-list -f "%{family}\n" :lang=zh > zhfont.txt
对于Linux,在安装完成之后需要拷贝字体并刷新字体缓存
1 | sudo cp /usr/local/texlive/2024/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf |
在Windows上安装字体的过程非常简单,但是注意需要全局安装。 实践中安装了几个免费的方正字体,还有开源的思源字体等,可以通过查看所有可用中文字体的方式来检查。
在Linux上安装字体的过程参考ubuntu 安装ttf字体
1 | su - root |
WSL2可以直接利用Windows已经全局安装的所有字体(字体都在c:/Windows/Fonts
目录下),做法如下:
确保安装了fontconfig:
sudo apt install fontconfig
新建文件
/etc/fonts/local.conf
,内容如下1
2
3
4
5
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>刷新字体缓存:
sudo fc-cache -fv
注意:基于ctex宏包编译输出PDF中,默认采取的中文字体是与平台相关的,Windows和Linux的默认中文字体(尤其是粗体)明显不一样,Overleaf等在线平台的默认行为属于Linux类别。
编译测试
基本的英文文档示例 1
2
3
4
5
6
7
8
9
10
11
12
13\documentclass{article}
\title{LaTeX Test}
\date{\today}
\author{}
\begin{document}
\maketitle
Hello, world!
\end{document}
执行如下命令进行编译测试 1
2
3pdflatex main.tex
# or
latexmk -pdf -auxdir=tmp main.tex
基本的中文文档示例 1
2
3
4
5
6
7
8
9
10
11
12
13\documentclass{ctexart}
\title{LaTeX 测试}
\date{\today}
\author{}
\begin{document}
\maketitle
你好世界!
\end{document}
执行如下命令进行编译测试 1
2
3xelatex main.tex
# or
latexmk -xelatex -auxdir=tmp main.tex
查看文档
使用texdoc
命令可以查看当前texlive附带的pdf文档,通常是一些宏包的说明文档,例如
1
texdoc listings
此外,一些著名的中文文档也可以通过texdoc
命令查看,例如
1
2texdoc lshort-zh-cn
texdoc install-latex-guide-zh-cn
卸载Texlive
不建议对Texlive进行升级操作,升级容易出现各种问题,推荐方法是直接卸载旧版本,再安装新版本。
Windows
执行texlive/2024/tlpkg/installer/uninst.bat
脚本来进行卸载,卸载完成之后,当前TexLive的安装目录中的内容会被完全删除,但是还剩下一些空目录,手动删除即可。
可以删除~/.texlive2024
目录,然后可以顺便检查一下环境变量和注册表,似乎环境变量中的相关路径会被自动删除,注册表不清理看起来也没啥问题。
Linux
对于在默认安装位置进行的安装,直接删除整个目录即可 1
sudo rm -rf /usr/local/texlive/2024
同时删除.bashrc
或其它配置脚本中的相关内容。
补充
实践中遇到了在Linux中使用 VSCode 的 Latex workshop 插件无法支持格式化的问题, 报错信息显示是缺少了某些 Perl 模块,因此手动进行下载(在普通用户下执行的,暂不清楚这个命令的安装是否是全局的,root 用户执行是否有区别)
1 | cpan YAML::Tiny |
下载完成后可以正常进行格式化。
在编译LaTeX文件时有时需要进行eps文件到PDF文件的转换,在Linux系统上可能需要ghostscript软件,编译报错形如
1
!! Error: Required program gs not found in PATH
手动安装一下ghostscript即可 1
sudo apt-get install ghostscript
顺便关注一下在WSL2中如何查看编译得到的 pdf 文件:
可以直接使用 VSCode 的内置 pdf 浏览器查看
在命令行中也可以直接调用 Windows 上的
SumatraPDF.exe
,注意需要在 Windows 系统中把它的路径加入 PATH 环境变量。1
SumatraPDF.exe main.pdf
根据参考的博客推荐,还有一种 Linux 下的轻量级 PDF 浏览器(比 SumatraPDF 更轻量级),支持 vim 风格的键位,鉴于 WSLg 可以支持简单的 GUI 了,因此也尝试一下
1
2apt install zathura
zathura main.pdf