VSCode中实现Latex和PDF的双向搜索

VSCode中使用LaTeX Workshop + TexLive可以很舒畅地写作。但对于习惯使用Overleaf的朋友来说,在长篇写作时,会涉及到双向搜索的需求。即根据源码搜pdf的位置,和根据pdf的位置搜索源码的位置。尤其改论文时用的很多。

根据其他教程中,在安装LaTeX Workshop时,需要在setting.json中进行一些配置工作,这里面有两项配置叫

   "latex-workshop.latex.autoClean.run": "onBuilt",
    "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",
        "*.gz"
    ],

这个配置是每次编译后,会将中间生成的临时文件删除掉,以保持项目文件夹的整洁。

但是!这里会删除掉一个重要的文件,叫xxx.synctex.gz。这个文件负责的就是刚才说的双向搜索的锚点。如果删除掉它,那么整个双向搜索的功能就失效了。想要不删除它,也很简单,只要注释掉上面的配置文件中的.gz就可以了。

 

使用双向搜索的方法也很简单

正向搜索:先固定源码中的光标,然后Ctrl + Alt + J

反向搜索:Ctrl + 鼠标左键点击pdf中某个位置

最后附上关于LaTeX Workshop的全部配置设置:

其中为了写论文方便,这里把pdflatex - bibtex - pdflatex*2放到了最前面。

// Latex workshop
    "editor.wordWrap": "on",
    "workbench.startupEditor": "newUntitledFile",
    "latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.hover.command.enabled": true,
    "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",
        // "*.gz"
    ],
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.latex.recipes": [
        {
            "name": "pdflatex ➞ bibtex ➞ pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        },
        {
            "name": "XeLaTex 🔃",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "pdfLaTex 🔃",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "texify 🔃",
            "tools": [
                "texify"
            ]
        },
        {
            "name": "xelatex ➞ bibtex ➞ xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "xelatex ➞ biber ➞ xelatex*2",
            "tools": [
                "xelatex",
                "biber",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "latexmk 🔃",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "BibTeX 🔃",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "Biber 🔃",
            "tools": [
                "biber"
            ]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOC%"
            ]
        },
        {
            "name": "texify",
            "command": "texify",
            "args": [
                "--synctex",
                "--pdf",
                "--tex-option=\"-interaction=nonstopmode\"",
                "--tex-option=\"-file-line-error\"",
                "%DOC%.tex"
            ],
            "env": {}
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        },
        {
            "name": "biber",
            "command": "biber",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "extensions.autoUpdate": true,
    "tabnine.experimentalAutoImports": true

 

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值