You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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 yesForwardX11Trusted 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

火山引擎 最新活动