在WSL2下编译Latex,提速64%!
最近偶然得知Linux下编译Latex要比Windows快很多。这对长期受Latex缓慢编译速度(尤其是大文件)折磨的我是一个福音。然而为此把Latex工作环境搬移到Linux又会带来其他不便。幸好有WSL这个神器,可以帮我们在Win系统下无缝运行Linux子系统。
WSL2安装Texlive
由于我的WSL2装的是Ubuntu20.04,目前Miktex不支持这一版本。所以只能选择Texlive。从CTAN镜像下载安装包 install-unx.tar.gz
。解压后运行
1 | sudo ./install-tl |
安装需要半小时到一小时不等。完成后在~/.bashrc
中添加环境变量
1 | export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATH |
刷新环境变量
1 | source ~/.bashrc |
至此Latex环境就配置好啦~
搭配VScode写Tex文档
虽然我们是在Linux下编译的,但是这并不代表我们要用vim写Tex文档(。我本人向来习惯用VScode作为各种文档的编辑器,而VScode正好支持打开并编辑WSL系统下的文件。这意味着我们可以像以前一样继续用VScode写Tex!
首先VScode需要安装插件Remote-WSL。一般如果安装了WSL的话,打开VScode会自动提醒你安装这个插件。
然后在WSL系统中新建Latex工作文件夹,例如我这里叫srtp_mid。cd到工作文件夹,输入code .
就可以在VScode中打开该文件夹了。
注意,文件夹一定要建在WSL2的文件系统里,而不是建在Win的文件系统里。众所周知WSL2的跨系统IO性能很难看,所以工作文件夹建在Win文件系统的话会适得其反,编译速度会大大下降。
成功打开后VScode左下角会显示当前环境为WSL,
之后搜索Latex workshop插件,并选择在wsl中安装
一定要在WSL环境下搜索这个插件,否则可能找不到在wsl中安装的选项。
安装完这个插件基本上就大功告成了。如果之前在Windows环境中安装过Latex workshop,那么其配置是共用的,不用再配置一遍。关于如何配置我这里就不细说了。
这里贴出我个人的配置
1 | "latex-workshop.latex.tools": [ |
在WSL2下使用VScode写Tex还是有一定缺陷的,比如因为linux路径的问题不能自动调用第三方阅读器预览。不过这个问题不大,我们可以到WSL2文件目录下手动打开pdf文件挂在一边,每次编译后可以看到内容刷新,只是不能用正反向搜索罢了。当然如果你用vscode内置预览器,则没有任何问题。
这里贴出最终的工作情景。
速度测评
这里就拿我的一个项目报告做一个简单测评。分别在Windows,WSL1,WSL2环境下,编译链如下
1 | xelatex-bibtex-xelatex-xelatex |
速度分别为
-
Windows: 14秒
-
WSL1:7秒
-
WSL2: 5秒
意料之中的结果。WSL编译速度均比Windows快一倍以上,而WSL2性能又高于WSL1,所以最终WSL2速度最快,相比Windows提速64%。
虽然我的这个测试很简陋,不过足以帮你做出抉择了~有兴趣的话可以自己做一个更专业全面的测评。