log_2020_0120: LaTeX 集成编辑环境: win 下的 texlive+vscode 配置方案

安装TexLive

前前后后也配过很多次LaTeX的环境了,但是仍然是个新手.如果有人让我帮忙看看的话,我仍然比较建议参照刘鹏的教程texlive 2019安装指南 - 知乎,我记得他的专栏里对当年度的新版本都是有小白教程的.

刘鹏在教程里推荐使用wsl+texlive.我尝试过,然后放弃了,因为尝试的时候对vsc还不是很熟悉,而且犯了一个很nc的错误: 使用Ubuntu 18.04 LTS的源去更新Ubuntu 16.04 LTS版本的wsl.之后如果有需要的话,可能会尝试一下.因为实现思路也不是很难,说白了就是vsc开远程桌面连到wsl,在wsl下跑编译.

此外,一位科研圈的师兄提到,说wsl下的texlive不要安装在默认路径,但是鉴于他没说建议安装在哪,所以我也不解其意,姑且先记录下来吧.

配置 vsc 的 LaTeX Workshop 插件

  • 编译工具(tool)的装载和编译菜单(recipe)的编辑.
  • 在比较之后,还是选择使用外部的 pdf 阅读器Sumatra pdf进行预览.
    • 这也是后面一些配置的铺垫.毕竟,我之前用的一直是 Sublime Text 3,当时配置 LaTeX 集成环境参考的教程要比最近折腾 vsc 之路上参考的教程要良心得多——这让我把对某些功能的需求刻进了 DNA没错我又往 DNA 里乱刻东西了.
  • 配置了正向和反向搜索搜索(按照教程修改了一些参数)
    • 正向搜索
      • 更改了"latex-workshop.view.pdf.external.synctex.args"这一项的内容,修改进去的参数控制的大概有:外部浏览器的路径,vsc 窗口复用(避免打开多个窗口),etc.
      • 窗口复用参考了Liam 博客上的一个 piece.
    • 反向搜索
      • 使用 Sumatra pdf 设置中的“双击命令行设置”功能,键入"Code.exe" "resourcesappoutcli.js" -g "%f":"%l"即可(注意根据实际情况修改路径名).
      • 这里参考了使用 VSCode 编写 LaTeX(latex+vscode+SumatraPDF,这个页面虽然第一眼看上去很山寨,但却意外地相当实用.

附上我的部分配置文件:

//这是我的vscode中的`settings.json`,仅供参考.
    "latex-workshop.showContextMenu": true, //右键菜单
    "latex-workshop.intellisense.package.enabled": true, //根据加载的包,自动完成命令或包
    "latex-workshop.latex.autoBuild.run": "never", //禁止保存文件时自动build
    "latex-workshop.view.pdf.viewer": "external",//使用外部pdf阅读器
    "latex-workshop.view.pdf.external.viewer.args": [
        "%PDF%"
    ],
    "latex-workshop.view.pdf.external.viewer.command": "C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe",//(在cmd中)打开外部阅读器的命令,应替换为你电脑中的外部pdf阅读器的可执行文件地址
    "latex-workshop.view.pdf.external.synctex.args": [
        "-forward-search",//允许正向搜索
        "%TEX%",
        "%LINE%",
        "-reuse-instance",//复用窗口实例,控制从外部pdf阅读器对tex代码进行反向搜索时不打开新窗口
        "-inverse-search",//允许反向搜索
        ""C:\Users\[username]\AppData\Local\Programs\Microsoft VS Code\Code.exe" "C:\Users\[username]\AppData\Local\Programs\Microsoft VS Code\resources\app\out\cli.js" -r -g "%f:%l"",
        "%PDF%"
    ],//前一个是vscode的本地路径,后一个是本地一个特定js的路径,一般只要把[username]改为你系统内的个人文件夹名字即可.
    "latex-workshop.view.pdf.external.synctex.command": "C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe",//(在cmd中)打开外部阅读器的命令,应替换为你电脑中的外部pdf阅读器的可执行文件地址
    "latex-workshop.latex.tools": [
        // 编译工具和命令
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ],
            "env": {}
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ],
            "env": {}
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ],
            "env": {}
        },
        {
            "name": "lualatexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-lualatex",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ],
            "env": {}
        },
        {
            "name": "latexmk_rconly",
            "command": "latexmk",
            "args": [
                "%DOCFILE%"
            ],
            "env": {}
        }
    ],
    "latex-workshop.latex.recipe.default": "first",//设置默认的编译(组合)方式
    "latex-workshop.latex.recipes": [//这里可以依照需要定制一些编译组合,在某些场景下会很方便,比如使用众所周知要编译四次的IEEE论文模板的时候
        {
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "pdflatex",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "xe->bib->xe->xe",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        }
    ],
    "latex-workshop.view.pdf.backgroundColor": "#fdf6e3",//这个浅黄色预览界面是为了方便我自己,因为我的vscode配色为solarized-light,你也可以根据自己的喜好调整成其他背景色

参考过的文档
VSCode 配置:插件与设置 | Zhechen's Personal Website
Visual Studio Code 折腾记:LaTeX 集成编辑环境 | Ceba's Blog
Compile · James-Yu/LaTeX-Workshop Wiki

原文地址:https://www.cnblogs.com/ria2020/p/12255743.html