在 WSL 中安装 TexLive 2023 记录 踩坑总结(openSUSE Tumbleweed)

折腾了一天。终于把安装 TexLive 搞定了,在此记录一下。

本文部分参考(侵删):https://www.cnblogs.com/eslzzyl/p/17358405.html

更详细的安装文档在这里:https://mirror.nju.edu.cn/CTAN/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf

为什么在 WSL 中安装 TexLive

因为一些原因(不展开了),LaTex 在 WSL 中的编译速度(据说)显著快于原生 Windows,参考LaTeX配置安装大对比:TeXLive/MiKTeX、Windows/WSL、xelatex/lualatex/pdflatex编译器的速度性能详细对比 - 知乎

当然,MikTex 在 WSL 下我也安装成功了,官方安装链接 Getting MiKTeX 不过有坑。

首先是不提供 openSUSE Tumbleweed 的 rpm 包,但是可以按照 openSUSE Leap 15 的方法安装,同时记得给 zypper 添加 openSUSE Leap 15 的镜像源,否则会找不到依赖(血泪教训,这个问题在 GitHub 上还提了 issue 没解决 https://github.com/MiKTeX/miktex/issues/1273)。(当然可以自己编译,源码、方法从这里找:GitHub - MiKTeX/miktex: the MiKTeX source code

然后,如果你的 WSL 没有安装中文字体的话,MikTex Console 很可能显示不出字体,应急的办法是给 WSL 挂载 Windows 上的字体(但是由于跨文件系统,可能会影响编译效率),当然也可以自己安装字体。

给 WSL 挂载 Windows 上的字体的方法如下:

在 WSL 的 终端输入如下语句,建立软链接:

sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/font

刷新字体缓存:

fc-cache -fv

这样就可以啦。

有个好消息是:如果安装 TexLive 而不是 MikTex,在安装的时候会自动安装字体,就不用手动安装字体了,也不用担心效率问题了。所以,还在犹豫什么!

PS:MikTex 的一个显著优点是默认只安装最基础的包,需要别的包时可以自动安装,所以可以节省空间; TexLive 也有类似的命令,但默认是把包装全。还有,MikTex 有图形界面,对不熟悉命令行的小伙伴(可能)比较友好。

安装前准备

  • 如果你决定在 WSL 中安装 TexLive(推荐),那么你需要自行安装一个 WSL 发行版,微软官方安装教程;本文将以 openSUSE Tumbleweed(大蜥蜴才是最棒的)为例,其他发行版(如 Ubuntu、Debian 类似)。

  • 你应该确保你的文件系统中有至少3GB的空闲空间。这是本文推荐的安装配置需要的磁盘大小。如果你要安装 TexLive 2023 的全部组件,那么应该有至少 8GB 的空闲空间。

  • 你可以预先安装 Visual Studio Code 并安装 LaTeX Workshop 扩展。这也是我推荐的编辑 Tex文件的工具。我们不使用TexLive 自带的 TeXworks 工具或者久负盛名的Tex Studio工具。

下载安装镜像

到某个国内的 CTAN 镜像站下载最新版的 TexLive 镜像(下在 Windows 系统里,不用通过 WSL 下载)

比如 Index of /CTAN/systems/texlive/Images/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

或者

NJU Mirror

目前最新的 TexLive 版本为2023,该文件夹下包含 3 个.iso文件,文件仅有文件名不同,内容完全相同,你可以任选一个下载。该文件夹下还包含有 md5 信息文件,你也可以下载下来以备校验。

校验安装镜像(可选)

校验就是看看你下载的镜像有没有被劫持,是不是正确的。如果校验通过的话,那么 99.99% 以上的可能性你下载的是正确的完整的镜像。

考虑到 WSL 的在文件方面的性能问题,直接在 Windows 里校验吧。

Windows 系统:在 PowerShell (或者 cmd )中切换到镜像所在的文件夹(例:D:\texlive2023.iso),然后执行

md5sum texlive2023.iso

md5 计算需要完整读取整个镜像文件,因此计算会持续一段时间,请耐心等待。

如果得到 787f087e71695eebd1caafdb2b286060 ,就通过校验。

挂载安装镜像

如果你要装在 WSL 中,那么进入 WSL 的 Shell 并执行(两步)

sudo mkdir /mnt/texlive
sudo mount /mnt/d/texlive2023.iso /mnt/texlive

后续我们可以在 /mnt/texlive 中访问安装镜像内部的各种文件。

启动安装程序

在 Shell 中执行

sudo /mnt/texlive/install-tl

进入安装界面。

======================> 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/2023
   TEXMFLOCAL (directory for site-wide local files):
     /usr/local/texlive/texmf-local
   TEXMFSYSVAR (directory for variable and automatically generated data):
     /usr/local/texlive/2023/texmf-var
   TEXMFSYSCONFIG (directory for local config):
     /usr/local/texlive/2023/texmf-config
   TEXMFVAR (personal directory for variable and automatically generated data):
     ~/.texlive2023/texmf-var
   TEXMFCONFIG (personal directory for local config):
     ~/.texlive2023/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:

调整安装配置

按 C 可以调整安装的包,参考 TeX Live宏包集合和自定义安装 - 知乎,给出可以精简的包(按需选择,空间够可以全装,免去后面的麻烦)。

下面这部分来自 https://www.cnblogs.com/eslzzyl/p/17358405.html,再次感谢这位大佬(鞠躬

有问题也找他(坏笑

输入集合对应的字母可以选中/取消选中。支持批量输入。可以不装的组件有:

d [ ] ConTeXt and packages
e [ ] Additional fonts		// 各种字体,空间大头
g [ ] Graphics and font utilities
i [ ] Games typesetting		// 排版游戏用的
j [ ] Humanities packages	// 人文科学类宏包,按需安装即可
E [ ] LaTeX additional packages		// 空间大头
H [ ] MetaPost and Metafont packages
I [ ] Music packages	// 排版乐谱用的
K [ ] Plain (La)TeX packages
L [ ] PSTricks		// 老旧技术
M [ ] Publisher styles, theses, etc.	// 各种学术、毕业论文模板,需要学术写作可以装一下
N [ ] Windows-only support programs		// linux不支持,默认取消勾选
S [ ] TeXworks editor; TL includes only the Windows binary

各种语言集合上面省略了,根据需要选择即可。如果不需要外语支持,语言类集合中仅选择Chinese Chinese/Japanese/Korean (base)US and UK English 即可。

  • 注意,如果需要中文支持,那么 Chinese Chinese/Japanese/Korean (base)(这三种语言的首字母形成了有名的缩写:CJK)都是必不可少的。同理 Japanese Korean 集合也都依赖 CJK base
  • TeXworks 是一个简单的 LaTex 编辑器,我们将会使用 VS Code 来编辑 LaTex ,因此这个组件可以不装。

即使有些宏包在上面精简了,后期仍然可以使用 tlmgr 工具来单独安装它们。因此不用太在意。

我把可以不装的包的序号写在下面,可以直接复制粘贴然后回车:

deghijknostuvwxyzABCEHIKLMNS

经过一番精简后,原本需要的 7599MB 空间精简到了 2404MB。

确认无误后,输入 R 并回车,回到主界面。输入 I 并回车进行安装。

慢慢等吧……

测试

首先将安装镜像弹出并删除 /mnt/texlive 文件夹:

sudo umount /mnt/texlive	# 注意不是unmount!
sudo rm -r /mnt/texlive

之后在修改 ~/.bashrc 文件中添加

# Add TeX Live to the PATH, MANPATH, INFOPATH
export PATH=/usr/local/texlive/2023/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2023/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2023/texmf-dist/doc/info:$INFOPATH

保存退出,重启 bash 或者执行命令 source ~/.bashrc 来重载 bash 配置,然后执行

tex --version

如果正常输出了版本信息,则说明安装成功。

接下来执行

sudo cp /usr/local/texlive/2023/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
sudo fc-cache -fsv

来刷新字体缓存。

如果修改了安装路径,则需要将上面命令中的路径进行替换。

在 VS Code 中测试

参考 在WSL中安装LaTeX - 知乎 中“在 VSCode 中使用”这节。

配置 tlmgr

tlmgr 可以帮助我们管理 TexLive 中的包(安装、卸载、更新)。

由于 tlmgr 部分命令需要 root 权限,首先解决 tlmgr 在 sudo 命令下“command not found”的问题。参见 texlive - sudo does not find tlmgr - TeX - LaTeX Stack Exchange 上面的讨论。

在 WSL Shell 运行命令

which tlmgr # 查找 tlmgr 的位置,记下这个结果,默认是 /usr/local/texlive/2023/bin/x86_64-linux/tlmgr
sudo visudo

在打开的文件中的 Defaults secure_path 加上 TexLive  所在的目录,就是 which tlmgr 的结果去掉最后的 /tlmgr ,默认是 /usr/local/texlive/2023/bin/x86_64-linux (如果安装时没改安装路径的话就是这个),注意不同路径间用冒号分隔。

为了提高下载速度,可以切换到国内镜像源。在 WSL Shell 执行

sudo tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet

即可永久更改镜像源到清华源。

执行

sudo tlmgr update --self --all

更新 tlmgr 自身和所有已安装的包。同时测试 tlmgr 是否可用。

静待这一步执行结束。然后愉快地写文章吧~

卸载 TexLive

直接删除文件夹就行

sudo rm -rf /usr/local/texlive

然后把之前设置的环境变量改回来(养成好习惯)。(这个其实不做也行,万一下次还要再装回来 呢)

再提一句,如果重装 TexLive,要注意环境变量。特别是如果装的年份不同,还要把年份改过来。

完结撒花!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值