如何对一个新的 VSCode 配置 LaTeX

texlive 的安装件参考资料 [1]。

往 VSCode 里面装 LaTeX Workshop 插件,也可以直接搜 James-Yu.latex-workshop

Ctrl+Shift+P 打开 setting.json,应该是 User Settings 即可。

把以下内容粘进去:(注意和参考资料 [1] 有所不同,加了 --shell-escape 之类的东西)
点击查看代码

json 复制代码
  "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "--shell-escape",
                "%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": "pdflatex",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "xe->bib->xe->xe",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdf->bib->pdf->pdf",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ],
    "latex-workshop.latex.clean.fileTypes": [
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        // "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.fls",
        "*.log",
        "*.fdb_latexmk",
        "*.snm",
        "*.synctex(busy)",
        "*.synctex.gz(busy)",
        "*.nav",
        "*.vrb"
    ],
    "latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.latex.autoBuild.run": "onSave",

此时编译还是会产生错误,原因大概是没安装 pygmentize,仔细翻一翻错误信息应该能找到。

首先我们需要一个 pip。没有 pip 的自行使用 pip install pip 进行安装/doge

然后调用 pip install pygments。(试了 20min pip install pygmentize 提示没有这个库)

现在应该可以正常编译使用了。

然后会发现写题面的时候没有页码,题解的时候没有目录。

眼尖的会发现上面的代码注释掉了 *.toc,这个是提供目录信息的,注释掉就不会删了。

用 Ctrl+, 打开 Settings,搜索 @ext:James-Yu.latex-workshop clean Method(或者直接从 LaTex Workshop 扩展设置进去搜),往下划一点点,找到 Latex-workshop > Latex > Clean: Method,从 command 改成 glob

现在应该会有页码和目录了。

顺手宣传 LaTeX 题面/题解/讲课课件模板

参考资料

[1] https://zhuanlan.zhihu.com/p/38178015