现有的方法大部分要借助外部的Sumatra PDF作为阅读器,来实现代码与PDF内容之间的正反向定位,比较麻烦,而且由于本人更喜欢VS Code自己的PDF Viewer界面,所以找了很多解决办法,终于实现了不借助外部阅读器的方法。
1. 从 PDF 到 LaTeX 代码的正向搜索
在VS Code的settings.json里面增加:
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
其中可以选择是 ctrl加单击鼠标左键 (“ctrl + click” )还是 双击鼠标右键( “double-click”).
保存之后就可以在 VS Code 默认的 PDF Viewer 里面双击,会直接定位到对应的 LaTeX 代码的位置。
2. 从 LaTeX 代码到 PDF 的反向搜索
相较于正向搜索,反向搜索更加复杂一点,但仍然不需要借助外部阅读器。
一共有三种方法。
2.1 编译法
首先是需要编译 PDF 才能实现反向搜索的方法。在VS Code的settings.json里面增加以下代码,可以实现在每次编译 PDF 时,定位到鼠标光标所在代码位置对应的 PDF 内容处。
"latex-workshop.synctex.afterBuild.enabled": true,
2.2 鼠标法
其次是需要鼠标左键点击命令的方法。将光标放在 LaTeX 代码处,并在 VS Code 左侧命令行中点击 “ SyncTeX from cursor ” 即可实现反向搜索。
2.3 快捷键法
以上两种方法已经可以满足大部分人对于反向搜索的需求,但随着写作内容的增加,PDF 的编译过程变慢,第一种方法效率较低,第二种方法需要频繁切换键盘和鼠标,不是很方便,因此第三种方法更加适合在写作过程中使用。
在 VS Code 中选择 快捷键设置 (Keyboard Shortcuts),搜索 “ SyncTeX from cursor ”,将对应的快捷键改成你想要的组合,保存之后就可以通过快捷键组合实现反向搜索。
综上所述,懒人版正反向搜索大法就设置好了。