Will's Blog
774 字
4 分钟
使用 VSCode 作为 LaTeX 前端

事实上自带的 TeXworks 和 TeX studio 已经能满足大多数人的需要,教程 install-latex-guide-zh-cn 中也给出了介绍,此处不再赘述.

然而很多人和我一样,想要更现代化的界面和更快捷的编辑方式 (也可能是为了 All in One),而选择把 VSCode 作为 La 前端. 下面是配置概要:

安装配置 LaTeX Workshop 拓展#

  1. 点击小齿轮,点击「拓展设置」(Extension Settings),并搜索 latex-workshop.latex.recipes.

  2. 点击「在 settings.json 中编辑」

  3. 复制并添加以下内容

{
    "latex-workshop.latex.autoBuild.run": "onSave",
    "latex-workshop.showContextMenu": true,
    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.message.error.show": false,
    "latex-workshop.message.warning.show": false,
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "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": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "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"
    ],
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.latex.recipe.default": "lastUsed",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"
}

对配置的解释#

  • "latex-workshop.latex.autoBuild.run": "onSave" 表示何时编译, 有三种方案 (笔者选择第二种,兼顾方便和稳定):

    1. onFileChange:在检测任何依赖项中的文件更改 (甚至被其他应用程序修改) 时构建项目,即当检测到代码被更改时就自动编译 tex 文件;
    2. onSave : 当代码被保存时自动编译文件;
    3. never: 从不自动编译 (即需编写者手动编译文档).
  • "latex-workshop.showContextMenu": true 用于控制是否显示 LaT e X 菜单于左侧菜单栏,笔者认为有作用故保留

  • "latex-workshop.intellisense.package.enabled": true 用于从使用的宏包中自动提取命令和环境,从而补全正在编写的代码

  • "latex-workshop.message.error.show": false"latex-workshop.message.warning.show": false 控制是否显示错误和警告弹窗,笔者认为很烦人故关闭

  • "latex-workshop.latex.tools" 编译链的配置,一般用默认就好,不用动

  • "latex-workshop.latex.autoClean.run": "onFailed" 设置编译完成后要清除掉的辅助文件类型 (具体文件的后缀名在这行上面), 有三种方式,由于部分编译情况需要用到辅助文件,折中之下笔者选择第二种:

    1. onBuilt : 无论是否编译成功,都选择清除辅助文件;
    2. onFailed : 当编译失败时,清除辅助文件;
    3. never : 无论何时,都不清除辅助文件.
  • "latex-workshop.latex.recipe.default": "lastUsed" 默认编译链的选择,可选 (此处选用第二条):

    1. first:第一条编译规则
    2. lastUsed:上一次使用的编译规则
  • "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click" 双向同步 (即在预览中快速找到代码以及反过来) 配置,有以下选项,笔者选用第二条:

    1. ctrl-click :为默认选项,使用 Ctrl/cmd+ 鼠标左键单击
    2. double-click : 使用鼠标左键双击

进阶#

事实上,latexworkshop 默认使用的是latexmk,以上配置实质上没有很好的利用latexmk的优势. 如果你不知道latexmk是什么,可以忽略这一部分.

使用 VSCode 作为 LaTeX 前端
https://will-c137.vercel.app/posts/使用vscode作为latex前端/
作者
Will
发布于
2022-11-21
许可协议
CC BY-NC-SA 4.0