编辑
2025-08-15
Linux
0

目录

部署code-server
安装miktex
安装并配置Latex Workshop
配置latexindent格式化

image.png

众所周知在vscode中写latex文档非常巴适,这是由于GitHub copilot的自动补全。但是在不同电脑上安装latex并配置vscode环境却是一件令人烦恼的事情。这种时候,如果碰巧手上有服务器,就可以安装code-server(网页版Vscode),并实现一次部署,到处运行(雾)。具体来说:

  1. 部署code-server
  2. 安装miktex
  3. 配置latex-workshop

部署code-server

首先来到code-server的GitHub发布页:https://github.com/coder/code-server/releases

image.png

挑选一个合适的版本,比如我用的是Ubuntu24.04,就选择红框框住的那个。下载它

sh
wget https://github.com/coder/code-server/releases/download/v4.103.0/code-server_4.103.0_amd64.deb

随后安装

sh
sudo apt install ./code-server_4.103.0_amd64.deb

安装结束后,使用如下的命令运行它

sh
code-server

这次运行只是为了生成配置文件,所以按CTRL+C停止它,使用下面的命令编辑配置文件

sh
nano ~/.config/code-server/config.yaml

它应该像这样

yaml
bind-addr: 127.0.0.1:<port to be set> auth: password password: <set password> cert: false

随机挑选一个幸运端口和幸运密码,就可以正式运行了。不过显然希望它运行在后台,这时screen命令是很好的选择。首先新建一个screen

sh
screen -R <name to be set>

随后启动code-server

sh
code-server

然后按CTRL+A+D退出screen,它就能在后台保持运行了。如果想停止运行,只需要再次进入该screen,按CTRL+C即可

sh
screen -r <name>

如果在screen内由于网不好断开了,也不要紧,再进入时只需要加上-d参数即可

sh
screen -r <name> -d

此处再提一嘴,若是想关闭screen,只需要

sh
screen -S <name> -X quit

鉴于服务器上不会奢侈到只有一个服务,443端口显然是被占用的,因而使用nginx转发是必要的。可以使用如下的nginx配置(来源:https://blog.csdn.net/muxuen/article/details/139698865)

nginx
server { listen 443 ssl; server_name www.example.com; # 域名 # 注意证书文件位置,是从/etc/nginx/下开始算起的 ssl_certificate cert/example.com.crt; ssl_certificate_key cert/example.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; client_max_body_size 1024m; location / { proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; # 当下是直接用yum安装的nginx,可以直接用本地ip访问 # 如果是docker安装的nginx,需要改为公网ip proxy_pass http://127.0.0.1:8888; } }

随后访问域名,就能愉快的使用code-server了。不过在使用之前调成中文是更方便的,在扩展处搜索chinese

image.png

安装这个扩展,随后在顶部搜索框输入

>configure display language

点击该选项,并设置为中文就行了

image.png

安装miktex

传统使用latex的方式是安装texlive,只不过这需要安装全部的tex宏包(这玩意有几个G大),并且还不会更新(有更新还有再装一遍,十分不优雅。使用miktex可以在使用时自动按需下载宏包,还能更新宏包,非常优雅

要安装miktex,首先安装官方仓库的公钥

sh
curl -fsSL https://miktex.org/download/key | sudo gpg --dearmor -o /usr/share/keyrings/miktex.gpg

随后添加软件源

sh
echo "deb [signed-by=/usr/share/keyrings/miktex.gpg] https://miktex.org/download/ubuntu noble universe" | sudo tee /etc/apt/sources.list.d/miktex.list

随后刷新软件源缓存

sh
sudo apt update

然后安装miktex

sh
sudo apt install miktex

到此还未完成安装。还需要更新miktex数据库

sh
miktexsetup finish

随后开启宏包自动安装

sh
initexmf --set-config-value [MPM]AutoInstall=1

然后生成格式文件,否则会报错

2025-08-14 13:32:04,195Z FATAL pdflatex.core - The memory dump file could not be found. 2025-08-14 13:32:04,195Z FATAL pdflatex.core - Data: fileName="pdflatex.fmt"

执行下面的命令可以解决

sh
initexmf --mklinks --force initexmf --update-fndb

最后,更新miktex宏包

sh
mpm --update-db mpm --update

miktex就安装完成了。不过,在编译tex文件时,会用到字体

  • simsun.ttc
  • simhei.ttf
  • simkai.ttf

这三个字体在Ubuntu中是不存在的,因此需要在Windows中找出,并将它们复制到

sh
cp <.ttc or .ttf> /usr/share/fonts/

随后,在.tex文件前加上

latex
\setCJKmainfont{SimSun}[ BoldFont=SimHei,ItalicFont=KaiTi]

就可以使用这些字体了,如果不成功,可以尝试刷新字体缓存

sh
sudo fc-cache -fv

可以检查是否成功安装

sh
fc-list | grep -i <name>

安装并配置Latex Workshop

首先在扩展商店安装搜索Latex Workshop,安装它

image.png

随后打开左下角的齿轮-点击"设置",点击右上角的"打开设置(json)",即可打开settings.json

随后,下面是一份配置

json
{ "json.schemaDownload.enable": false, "latex-workshop.latex.autoBuild.run": "onFileChange", "latex-workshop.showContextMenu": true, "latex-workshop.intellisense.package.enabled": true, "latex-workshop.message.error.show": true, "latex-workshop.message.warning.show": false, "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "miktex-xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%" ] }, { "name": "pdflatex", "command": "miktex-pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%" ] }, { "name": "latexmk", "command": "miktex-latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "-outdir=%OUTDIR%", "%DOCFILE%" ] }, { "name": "bibtex", "command": "~/bin/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", "*.bbl", "*.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", "editor.wordWrap": "on", "editor.wordBasedSuggestions": "off", }

替换settings.json中的内容,即完成了配置。至此,就跟本地的Vscode一样啦QwQ

配置latexindent格式化

为了在code-server中格式化latex代码,可以在配置中加上一条

json
"latex-workshop.formatting.latex": "latexindent",

随后,安装一个perl模块安装工具

sh
sudo apt install cpanminus

然后安装下面两个包,它们是latexindent的依赖项

sh
cpanm YAML::Tiny cpanm File::HomeDir

然后就能愉快地格式化latex代码啦~

本文作者:GBwater

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!