linux安装texlive并使用vscode远程连接
本来一直都是在windows上写latex, 奈何实在感觉编译太慢了, 虽然也有一些优化方法(下面会讲), 但切换为linux才是更加geek的方式, 正巧我家里就有一台N100的零刻的小主机, 系统为Ubuntu, 硬盘为M.2 PCIe SSD, 内存是DDR5 4800. 秒杀我的R7 6800H的windows笔记本!
提高LaTeX的编译速度
取消压缩
1
   | \special{dvipdfmx:config z 0} 
  | 
 
确实提升很大, 但是让我原本15M的pdf变成了160+M, 打开查看都要转圈圈的那种
对比测试: 只使用xelatex命令(不用xelatex -> bibtex -> xelatex*2)
 | 
压缩 | 
取消压缩 | 
| windows | 
36.57s | 
9.53s | 
| linux | 
21.73s | 
3.47s | 
 
使用批处理模式,即编译时加上 -interaction=batchmode 参数
 
使用预编译技术,涉及到一个宏包(mylatexformat)和两条命令:
etex -initialize -jobname="hello" "&pdflatex" "mylatexformat.ltx" "hello.tex" 
pdflatex -shell-escape "&hello" hello.tex 
 
没有仔细研究, 可参考[tikz-intro/t001 speedup tex/speedup-tex.md at master · Hansimov/tikz-intro (github.com)](https://github.com/Hansimov/tikz-intro/blob/master/t001 speedup tex/speedup-tex.md)
 
linux安装texlive
首先奉劝想在实验室服务器上安装的研究生(比如我)考虑清楚, 致命的问题是没有root权限. texlive确实能安装成功, 但缺失的字体就很让人难受了. 虽然部分字体也能手动安装, 但latex编译好像还是失败, 比如Arial.

无root安装
依然是先下载.iso文件, 由于无root, 不可能直接挂载iso文件, 只能先解压出来再安装(服务器没有能解压iso的命令, 我是电脑解压再压缩成zip上传服务器的…)
进入到目录, 执行perl install-tl, 自己更改安装路径, 然后安装, 就是等, 实验室服务器安装了快半个小时, 我家的服务器安装10分钟? 可能服务器安装到机械盘了吧.
配置环境变量!!!
各种都试一遍, 什么.zshrc  .bashrc  .profile  /etc/environment, 因为vscode的LaTeX Workshop插件好像识别不了新添加的PATH

还有终极大杀器, 直接把texlive的所有可执行文件都软链接到已有的PATH里!
虽然他还是这样提示, 但亲测完全可以编译, pdf也能出来(只是缺字体), LaTeX Workshop的作者还坚称这不是插件的问题.
手动安装字体
看编译log, 缺啥字体, 啥字体报错就去你C:\Windows\Fontscopy到服务器~/.local/share/fonts/上, 执行
1 2
   | fc-cache -f -v fc-list | grep "Arial" 
   | 
 
root安装
1 2 3
   | mount -o loop texlive2023.iso /mnt/texlive cd /mnt/texlive ./install-tl
   | 
 
既然都root了, 别改安装目录了, 以免再有什么幺蛾子, 直接安装
环境变量参考上方, 经过我一番操作, 包括重启, LaTeX Workshop能识别到我的texlive路径了
字体安装
1 2 3 4 5
   | apt install ttf-mscorefonts-installer apt-get install texlive-fonts-extra texlive-fonts-recommended texlive-math-extra apt-get install cm-super tlmgr install cm-super tlmgr install ec
   | 
 
都安装一下吧, 不知道有没有用, 然后再缺字体, 也要手动安装, 进入/usr/share/fonts/chinese, 字体上传到这
1 2 3 4
   | mkfontscale mkfontdir fc-cache  fc-list  :lang=zh|grep 华文细黑
   | 
 
也可以尝试上面的字体安装方法, 不知道什么区别
成功!
正值考试周, 耽误两天复习时间, gan
LaTeX Workshop
只安装这一个插件就可以了, 别的看个人需要
贴一个配置, 广为流传
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
   | "latex-workshop.latex.autoBuild.run": "never",   "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": [               "-synctex=1",               "-interaction=nonstopmode",               "-file-line-error",               "%DOCFILE%"           ]       },       {           "name": "pdflatex",           "command": "pdflatex",           "args": [               "-synctex=1",               "-interaction=nonstopmode",               "-file-line-error",               "%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": "PDFLaTeX",           "tools": [               "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",              "*.blg",       "*.idx",       "*.ind",       "*.lof",       "*.lot",       "*.out",       "*.toc",       "*.acn",       "*.acr",       "*.alg",       "*.glg",       "*.glo",       "*.gls",       "*.ist",       "*.fls",       "*.log",       "*.fdb_latexmk"   ],   "latex-workshop.latex.autoClean.run": "onFailed",   "latex-workshop.latex.recipe.default": "lastUsed",   "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
   |