VScode+texlive+sumatraPDF实现正反向搜索

11 篇文章 0 订阅
6 篇文章 0 订阅

texlive+vscode安装说明:https://blog.csdn.net/Echo_Code/article/details/108083193

1、安装TexLive

清华镜像源下载安装:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/

安装路径必须是英文。

安装完成后打开cmd,输入`tex --version`能显示安装版本,则表示安装成功。否则需要添加路径:

设置 → 系统 → 系统信息 → 高级系统设置 
→ 环境变量 → 用户变量Path → 编辑 → 新建 
→ 输入 E:\Asoftware\texlive\2023\bin\windows(#安装目录按需修改)

2、安装VScode

下载安装vscode,在Extension扩展中搜索安装LaTeX Workshoplatex language support

3、安装SumatraPDF

SumatraPDF是一个PDF阅读器,也可以不安装而用vscode内部的PDFviewer,但是实现不了正反向搜索功能。

sumatraPDF安装地址:Sumatra PDF reader download page

 4、正反向搜索:

点击vscode左下角齿轮,选择设置,然后点击右上方小图标“Open Settings(JSON)",将下面的内容复制进去,并修改两处vscode和两处sumatraPDF的路径为实际安装路径:

{
    //------------------------------LaTeX 配置----------------------------------
       // 设置是否自动编译 onFileChange onSave never
       "latex-workshop.latex.autoBuild.run":"onSave",
       //右键菜单
       "latex-workshop.showContextMenu":true,
       //从使用的包中自动补全命令和环境
       "latex-workshop.intellisense.package.enabled": true,
       //编译出错时设置是否弹出气泡设置
       "latex-workshop.message.error.show": true,
       "latex-workshop.message.warning.show": true,
       // 编译工具和命令
       "latex-workshop.latex.tools": [
            {
                "name": "pdflatex",
                "command": "pdflatex",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "%DOCFILE%" //使用%DOCFILE可以将文件所在路径设置为中文,或者%DOC
                ]
            },
            {
               "name": "xelatex",
               "command": "xelatex",
               "args": [
                   "-synctex=1",
                   "-interaction=nonstopmode",
                   "-file-line-error",
                   "%DOCFILE%" //使用%DOCFILE可以将文件所在路径设置为中文,或者%DOC
               ]
           },
           {
               "name": "latexmk",
               "command": "latexmk",
               "args": [
                   "-synctex=1",
                   "-interaction=nonstopmode",
                   "-file-line-error",
                   "-pdf",
                   "-outdir=%OUTDIR%",
                   "%DOCFILE%"
               ]
           },
           {
               "name": "bibtex",
               "command": "bibtex",
               "args": [
                   "%DOCFILE%"
               ]
           }
       ],
       // 用于配置编译链
       "latex-workshop.latex.recipes": [
            {
                "name": "PDFLaTeX", //适合英文排版
                "tools": [
                    "pdflatex"
                ]
            },
            {
               "name": "XeLaTeX", //适合中文排版
               "tools": [
                   "xelatex"
               ]
           },
           {
               "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"
       ],
       //设置为onFailed 在构建失败后清除辅助文件 onBuilt onFailed never
       "latex-workshop.latex.autoClean.run": "onFailed",
       // 使用上次的recipe编译组合 first lastUsed
       "latex-workshop.latex.recipe.default": "lastUsed",
       // 用于反向同步的内部查看器的键绑定。ctrl-click(默认)或double-click 
    "latex-workshop.view.pdf.internal.synctex.keybinding": "ctrl-click",
    "editor.wordWrap": "wordWrapColumn",

       //使用 SumatraPDF 预览编译好的PDF文件
       // 设置VScode内部查看生成的pdf文件 tab browser external
       "latex-workshop.view.pdf.viewer": "external", //tab是用vscode默认阅读器,external是外部阅读器
       // PDF查看器用于在\ref上的[View on PDF]链接
       "latex-workshop.view.pdf.ref.viewer":"auto",
       // 使用外部查看器时要执行的命令。此功能不受官方支持。
       "latex-workshop.view.pdf.external.viewer.command": "C:/Users/admin/AppData/Local/SumatraPDF/SumatraPDF.exe", // 注意修改路径
       // 使用外部查看器时,latex-workshop.view.pdf.external.view .command的参数。此功能不受官方支持。%PDF%是用于生成PDF文件的绝对路径的占位符。
       "latex-workshop.view.pdf.external.viewer.args": [
           "%PDF%"
       ],
       // 将synctex转发到外部查看器时要执行的命令。此功能不受官方支持。
       "latex-workshop.view.pdf.external.synctex.command": "C:/Users/admin/AppData/Local/SumatraPDF/SumatraPDF.exe", // 注意修改路径
       // latex-workshop.view.pdf.external.synctex的参数。当同步到外部查看器时。%LINE%是行号,%PDF%是生成PDF文件的绝对路径的占位符,%TEX%是触发syncTeX的扩展名为.tex的LaTeX文件路径。
       "latex-workshop.view.pdf.external.synctex.args": [
           "-forward-search",
           "%TEX%",
           "%LINE%",
           "-reuse-instance",
           "-inverse-search",
           "\"D:/Microsoft VS Code/Code.exe\" \"D:/Microsoft VS Code/resources/app/out/cli.js\" -r -g \"%f:%l\"", // 注意修改路径
           "%PDF%"
        ],
    "explorer.confirmDelete": false,
    "security.workspace.trust.untrustedFiles": "open"
    
}

然后打开sumatraPDF,设置->选项 最下面输入

"D:/Microsoft VS Code/Code.exe" -r -g "%f:%l" #修改路径为vscode的安装路径。

正向搜索:vscode中 ctrl+alt+J 或者鼠标右键选择syncTex from cursor

反向搜索:先打开SumatraPDF,再在vscode中 ctrl+alt+V 打开PDF,然后在sumatraPDF中双击

注意:如果不先打开SumatraPDF,而是直接在vscode中 ctrl+alt+V 打开SumatraPDF,反向搜索会失效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值