如何使用 VScode 编辑 LaTex,并且配置双向搜索功能

2022年2月6日 1296点热度 1人点赞 0条评论

在写论文的时候需要用到 Latex , 但是其自带的编辑器非常丑,而且并不好用,所以尝试使用 VScode 来进行 Latex 编辑。

下载安装软件

下载 Latex 相关软件

官网 下载安装Tex Live,这一步用时比较长,最好使用国内的镜像下载。

下载 VScode

官网 下载安装对应操作系统的VScode,按使用习惯可以选择是否安装中文语言的扩展。

下载 Sumatra PDF

官网 下载安装 Sumatra PDF。

配置 VScode

在VScode界面中使用快捷键【Ctrl + Shift +P】打开命令框,输入settings选择 首选项:打开设置(JSON),打开配置文件,输入如下配置信息:

// ======================== LaTeX 设置 BEGIN  ========================
        // bibtex 格式
        "latex-workshop.bibtex-format.tab": "tab",

        // 自动编译,全部关闭,当且仅当你认为有需要的时候才会去做编译
        "latex-workshop.latex.autoBuild.run": "never",
        "latex-workshop.latex.autoBuild.cleanAndRetry.enabled": false,

        // 设置 latex-workshop 的 PDF 预览程序,external 指的是外部程序
        "latex-workshop.view.pdf.viewer": "external",
        "latex-workshop.view.pdf.ref.viewer": "external",
        "latex-workshop.view.pdf.external.viewer.command": "D:/SumatraPDF/SumatraPDF.exe", 
        "latex-workshop.view.pdf.external.viewer.args": [
            "%PDF%"
        ],

        // 配置正向、反向搜索:.tex -> .pdf
        "latex-workshop.view.pdf.external.synctex.command": "D:/SumatraPDF/SumatraPDF.exe", 
        "latex-workshop.view.pdf.external.synctex.args": [
            // 正向搜索
            "-forward-search",
            "%TEX%",
            "%LINE%",
            "-reuse-instance",
            // 反向搜索
            "-inverse-search",
            "\"C:/Users/Aged_cat/AppData/Local/Programs/Microsoft VS Code/Code.exe\" \"C:/Users/Aged_cat/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js\" -gr %f:%l",
            "%PDF%"
        ],

        // 这是一些独立的编译选项,可以作为工具被编译方案调用
        "latex-workshop.latex.tools": [
            {
                // Windows 原生安装 TeX Live 2020 的编译选项
                "name": "Windows XeLaTeX",
                "command": "xelatex",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-pdf",
                    "%DOCFILE%"
                ]
            },
            {
                // Windows Biber 编译
                "name": "Windows Biber",
                "command": "biber",
                "args": [
                    "%DOCFILE%"
                ]
            },
            {
                // WSL XeLaTeX 编译一般的含有中文字符的文档
                "name": "WSL XeLaTeX",
                "command": "wsl",
                "args": [
                    "/usr/local/texlive/2020/bin/x86_64-linux/xelatex",
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-pdf",
                    //"-output-directory=%OUTDIR%",
                    //"-aux-directory=%OUTDIR%",
                    "%DOCFILE%"
                ]
            },
            {
                // WSL biber / bibtex 编译带有 citation 标记项目的文档
                "name": "WSL Biber",
                "command": "wsl",
                "args": [
                    "/usr/local/texlive/2020/bin/x86_64-linux/biber",
                    "%DOCFILE%"
                ]
            },
            {
                // macOS 或者 Linux 的简单编译
                // 两种操作系统的操作方式相同
                "name": "macOS / Linux XeLaTeX",
                "commmand": "xelatex",
                "args": [
                    "-synctex=1",
                    "-interaction=nonstopmode",
                    "-file-line-error",
                    "-pdf",
                    "%DOCFILE%"
                ]
            },
            {
                // macOS 或者 Linux 的索引编译
                // 两种操作系统的操作方式相同
                "name": "macOS / Linux Biber",
                "command": "biber",
                "args": [
                    "%DOCFILE%"
                ]
            }
        ],

        // 这是一些编译方案,会出现在 GUI 菜单里
        "latex-workshop.latex.recipes": [
            {
                // 1.1 Windows 编译简单的小文档,这个选项不太常用,因为绝大多数文章都需要有参考文献索引
                "name": "Windows XeLaTeX 简单编译",
                "tools": [
                    "Windows XeLaTeX"
                ]
            },
            {
                // 1.2 Windows 编译带有索引的论文,需要进行四次编译;-> 符号只是一种标记而已,没有程序上的意义
                "name": "Windows xe->bib->xe->xe 复杂编译",
                "tools": [
                    "Windows XeLaTeX",
                    "Windows Biber",
                    "Windows XeLaTeX",
                    "Windows XeLaTeX"
                ]
            },
            {
                // 2.1  WSL 编译简单的小文档,这个选项不太常用,因为我绝大多数文章都需要有引用。
                "name": "XeLaTeX 简单编译",
                "tools": [
                    "WSL XeLaTeX"
                ]
            },
            {
                // 2.2 带有 citation 索引的文档,需要进行四次编译;-> 符号只是一种标记而已,没有程序上的意义
                "name": "xe->bib->xe->xe 复杂编译",
                "tools": [
                    "WSL XeLaTeX",
                    "WSL Biber",
                    "WSL XeLaTeX",
                    "WSL XeLaTeX"
                ]
            },
            {
                // 3.1 macOS 简单 小文档
                "name": "macOS XeLaTeX 简单编译",
                "tools": [
                    "macOS XeLaTeX"
                ]
            },
            {
                // 3.2 macOS 四次编译
                "name": "macOS xe->bib->xe->xe 复杂编译",
                "tools": [
                    "macOS / Linux XeLaTeX",
                    "macOS / Linux Biber",
                    "macOS / Linux XeLaTeX",
                    "macOS / Linux XeLaTeX"
                ]
            }
        ],

        // 清空中间文件
        "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",
            "*.bcf",
            "*.run.xml",
            //"*.synctex.gz"
        ],
        "security.workspace.trust.untrustedFiles": "open"
    // ======================== LaTeX 设置 END ========================

替换上述有关外部PDF的安装路径,正向搜索中VScode的安装路径。

配置 Sumatra PDF

这里也就是配置反向搜索。

打开 Sumatra PDF ,打开【设置 —— 选项】,选择反向搜索设置,输入如下命令:

"C:\Users\Aged_cat\AppData\Local\Programs\Microsoft VS Code\Code.exe" -g -r "%f":"%l"

上述第一项就是VScode的安装路径,自行替换就行。

PS:

在使用反向搜索功能的时候,需要先打开 VScode ,并且用 Sumatra PDF 打开对应的PDF文件,否则会出现错误!

agedcat_xuanzai

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论