VS Code远程Linux环境下LaTeX编译PDF的外部查看方案配置咨询
VS Code远程Linux环境下LaTeX编译PDF的外部查看方案配置咨询
嗨,我之前也在VS Code远程Linux环境下纠结过LaTeX PDF的外部查看问题,刚好摸索出两种靠谱的方案,给你详细说说:
方案一:远程PDF同步到本地用SumatraPDF查看(支持正反搜索)
这种方式适合习惯用本地SumatraPDF的同学,核心是把服务器上编译好的PDF同步到本地,再配置LaTeX Workshop调用本地的SumatraPDF,同时支持正反跳转。
配置步骤:
- 首先确保本地安装了SumatraPDF,并且在VS Code的远程会话中,LaTeX Workshop已经正常编译出PDF文件。
- 打开VS Code的设置(快捷键
Ctrl+,),搜索LaTeX Workshop > View: External,点击编辑 in settings.json。 - 在settings.json中添加以下配置(注意替换你的本地SumatraPDF路径,Windows下路径要转义或者用正斜杠):
"latex-workshop.view.external.viewer.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.external.viewer.args": [ "-reuse-instance", "%PDF%" ], // 配置正向搜索(从TeX跳转到PDF) "latex-workshop.view.external.synctex.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.external.synctex.args": [ "-reuse-instance", "-forward-search", "%TEX%", "%LINE%", "%PDF%" ]
- 关键:要保证远程的PDF能被本地访问到——你可以用VS Code的Remote Explorer把服务器上的PDF文件下载到本地对应目录,或者配置自动同步(比如用rsync脚本,或者VS Code的
Remote - SSH自带的文件同步,在文件右键选Download到本地)。
方案二:远程用Okular查看+X服务器转发窗口(支持正反搜索)
如果想直接在服务器用Okular,然后把窗口转发到本地,需要先配置X服务器转发,再设置LaTeX Workshop调用Okular。
步骤如下:
- 本地安装X服务器:Windows用户可以用
VcXsrv或者Xming,Mac用户用XQuartz,启动时要勾选“Disable access control”(避免权限问题)。 - 配置SSH远程会话的X转发:在VS Code的Remote - SSH配置文件(
~/.ssh/config)中,给你的服务器条目加上ForwardX11 yes和ForwardX11Trusted yes,比如:
Host your-linux-server HostName xxx.xxx.xxx.xxx User your-username ForwardX11 yes ForwardX11Trusted yes
- 重启VS Code的远程会话,测试X转发是否生效:在远程终端输入
echo $DISPLAY,如果输出类似localhost:10.0就说明配置成功了。 - 服务器上安装Okular:用包管理器安装,比如Ubuntu/Debian用
sudo apt install okular,CentOS/RHEL用sudo dnf install okular。 - 配置LaTeX Workshop调用Okular:打开settings.json,添加以下配置:
"latex-workshop.view.external.viewer.command": "okular", "latex-workshop.view.external.viewer.args": [ "--unique", "%PDF%" ], // 配置正向搜索 "latex-workshop.view.external.synctex.command": "okular", "latex-workshop.view.external.synctex.args": [ "--unique", "%PDF#src:%LINE%:%TEX%" ]
- 测试:编译TeX文件后,点击LaTeX Workshop的“View PDF External”按钮,应该会弹出Okular的窗口,并且支持从TeX文件跳转PDF,以及从PDF反向跳回TeX。
另外,除了Okular,服务器上的Evince(GNOME默认PDF查看器)也支持正反搜索,配置方式类似,把命令换成evince即可,对应的synctex参数可以调整为["%PDF%", "--page-label=%LINE%", "--highlight-search=%LINE%", "%TEX%"]。
备注:内容来源于stack exchange,提问作者Shiqinrui Xu




