热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

如何使用VSCode编写LaTeX?

许多人都是用texstudio或者winedt配合texlive编写LaTeX文档,很长一段时间内texstudio是我唯一的编辑器,然而,颜控的我受不了那原始的界面,于是我看上了VSCode。漂亮、免费、开源是我选择VSCode的主要原因

可以看到,代码已经被高亮显示。

3. 配置 VSCode 的 [公式] 插件

将以下代码放入 VSCode 的设置区内。

"latex-workshop.latex.tools": [
    {
        // 编译工具和命令
        "name": "xelatex",
        "command": "xelatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "-pdf",
            "%DOCFILE%"
        ]
    },
    {
        "name": "pdflatex",
        "command": "pdflatex",
        "args": [
            "-synctex=1",
            "-interaction=nonstopmode",
            "-file-line-error",
            "%DOCFILE%"
        ]
    },
    {
        "name": "bibtex",
        "command": "bibtex",
        "args": [
            "%DOCFILE%"
        ]
    }
],

[公式] LaTeX Workshop 默认的编译工具是 latexmk,大家根据需要修改所需的工具和命令,我不需要用到 latexmk,因此我把其修改为中文环境常用的 xelatex,大家根据需要自行修改。(感谢 @huan Yu ,将 tools 中的 %DOC%替换成%DOCFILE%就可以支持中文路径下的文件了)

"latex-workshop.latex.recipes": [
    {
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    },
    {
        "name": "xe->bib->xe->xe",
        "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
        ]
    }
],

[公式] 用于配置编译链,同样地放入设置区。第一个 recipe 为默认的编译工具,如需要使用 bibtex 可在编译时单击 VSCode 界面左下角的小勾,单击“Build LaTeX project”,选择“xe->bib->xe->xe”,另外的方法是使用右侧栏,或者直接将“xe->bib->xe->xe”的Recipe 放到第一位,就可以作为默认 Recipe 编译了,但因为编译次数比较多,速度会比较慢。大家可以根据需要自行按照格式添加自己需要的编译链。

要使用 pdflatex,只需在 tex 文档首加入以下代码:

%!TEX program = pdflatex

要使用 SumatraPDF 预览编译好的PDF文件,添加以下代码进入设置区。

"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.external.command": {
    "command": "E:/Programs/SumatraPDF/SumatraPDF.exe",
    "args": [
        "%PDF%"
    ]
},

[公式] “viewer”设置阅读器为外置阅读器,“command”为 SumatraPDF.exe 的路径,根据具体情况修改。

现在就可以使用 VSCode 编译 tex 文件并以 SumatraPDF 为阅读器预览了。

单击右上角的按钮即可打开 SumatraPDF 并预览。

4. 配置正向搜索

"latex-workshop.view.pdf.external.synctex": {
    "command": "E:/Programs/SumatraPDF/SumatraPDF.exe",
    "args": [
        "-forward-search",
        "%TEX%",
        "%LINE%",
        "%PDF%"
    ]
},

[公式] 添加代码进入设置区以配置正向搜索。“command”依旧是 SumatraPDF.exe 的存放位置,根据具体情况修改。

添加以下命令

"Code.exe" "resources\app\out\cli.js" -g "%f":"%l"

根据 VSCode 具体的安装位置将“Code.exe”和“resources\app\out\cli.js”换成 VSCode 在自己的电脑上的安装位置,例如:

"C:\Users\Marvey\AppData\Local\Programs\Microsoft VS Code\Code.exe" 
"C:\Users\Marvey\AppData\Local\Programs\Microsoft VS Code\resources\app\out\cli.js" -g "%f":"%l"

(感谢 @Macrofuns 指出,如果不加双引号,在文件路径有空格的情况下会导致无法反向搜索)

双击 PDF 中的任意一处即可跳转到 VSCode 中所对应的内容的源代码处。

这样 VSCode + texlive 就完全配置好了。

最好不要清理 xelatex 生成的 gz 后缀的临时文件,否则就不能进行正向和反向搜索;

之前的文章中,我提到了从 VSCode 预览按钮启动 SumatraPDF 会无法反向搜索的问题,现在已经解决,解决方法是在反向搜索命令中添加

"resources\app\out\cli.js"

解决方案来源:

https://link.zhihu.com/?target=https%3A//github.com/James-Yu/LaTeX-Workshop/issues/637%23issuecomment-473145503

6. 其他设置

LaTeX Workshop 默认保存的时候自动编译,如果不喜欢这个设置,可以添加以下代码进入设置区:

    "latex-workshop.latex.autoBuild.run": "never",

附录

    // LaTeX
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "xe->bib->xe->xe",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex",
            "tools": [
                "pdflatex"
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "external",
    "latex-workshop.view.pdf.external.command": {                // **********
        "command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", // 注意修改路径
        "args": [                                                // **********
            "%PDF%"
        ]
    },
    
    "latex-workshop.view.pdf.external.synctex": {                // **********
        "command": "C:/Program Files/SumatraPDF/SumatraPDF.exe", // 注意修改路径
        "args": [                                                // **********
            "-forward-search",
            "%TEX%",
            "%LINE%",
            "%PDF%"
        ]
    },

推荐教程:vscode教程

以上就是如何使用VSCode编写LaTeX?的详细内容,更多请关注其它相关文章!


推荐阅读
author-avatar
蛋狗酱_972
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有