如何利用VSCode书写Latex并进行编译

1.安装Textlive

markdown作为一种非常适于书写笔记的文本语言,但是当需要书写论文的时候,markdown就有些力不从心,这个时候,LaTex就是一种不错的选择。

然而,textstudio的界面十分原始,并且颜值不高,而且软件比较大,因此,为什么不选择最好的文本编辑器之一Visual Studio Code呢?

当然,你需要首先下载Textlive,建议从国内的镜像下载。

华为镜像:https://mirrors.huaweicloud.com/CTAN/systems/texlive/Images/
阿里云镜像:https://mirrors.aliyun.com/CTAN/systems/texlive/Images/

例如,进入华为镜像之后

如何利用VSCode书写Latex并进行编译
下载最新版即可。

之后找到这个文件,右键点击装载,找到install-tl-windows,右键管理员身份运行。

进入安装界面,点击左下角的“Advanced”进入高级安装来取消你不需要安装的宏包。

在这里,你可以更改你所需要安装的宏包和语言,并更改安装位置等等

点击“Customize”来取消勾选不需要的宏包,这里可以取消不需要的语言,减少一定的空间。

之后安静等待,安装的过程比较漫长。笔者大概花费了20-30分钟。

安装完成之后,可以在命令行输入xelatex -v来检查是否安装成功。

如何利用VSCode书写Latex并进行编译

2.安装VSCode插件——LaTeX Workshop

这一步很简单,进入VSC的扩展商店,找到,安装即可。

如何利用VSCode书写Latex并进行编译

这个时候,创建一个tex文件,你会发现,VSC已经可以为你自动提示并且高亮。

如何利用VSCode书写Latex并进行编译

3.配置你的LaTeX插件,设置配置文件

在 VSCode 界面下按下 F1,然后键入“setjson”,点击“首选项: 打开设置(JSON)”

你会发现,你的文件夹下已经生成了一个.vscode的文件夹,这里即存储着你的配置文件(json)
如何利用VSCode书写Latex并进行编译

我们要做的就是配置好json文件。

3.1整体json代码

我们首先放出所有的配置文件,并在下一节进行逐步说明。

{
    "latex-workshop.latex.autoBuild.run": "never",
    "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"
}

如果您不想了解这里的配置文件,直接调到第4节即可。

3.2配置文件解释

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

自动编译选项,never: 从不自动编译

"latex-workshop.showContextMenu": true

上下文LaTeX菜单,设置为true之后,右击,你会发现多出了两个选项。

如何利用VSCode书写Latex并进行编译

之后我们的编译就是使用这里的“Build LaTex Project”选项,或者右上角的编译按钮。

"latex-workshop.intellisense.package.enabled": true

设置为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%"
            ]
        }
    ]

这一步是设置编译工具。

这里不做过多说明,使用%DOCFILE可以将文件所在路径设置为中文,%DOC则不可以,如果为你规范,设置%DOC即可。

如果你想了解看到,请看这个插件的官方说明:

https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile#placeholders

"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"

设置是否要清理编译后的辅助文件(包括上面提到的文件类型)。

  • onFailed : 当编译失败时,清除辅助文件;
  • onBuilt : 无论是否编译成功,都选择清除辅助文件;
  • never : 无论何时,都不清除辅助文件。

onBuilt会让你的目录很干净,但是单有些时候需要保留一些编译文件,所以onFailed是不错的选择,失败则清除,成功则保留。

"latex-workshop.latex.recipe.default": "lastUsed"

设置默认编译链

  • first:使用第一条编译链
  • lastUsed:使用最近一次编译所用的编译链

二者各有优势,请自行选择。

"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"

反向同步,即点击编译后的pdf可以跳到相应的代码位置。

  • ctrl-click:Ctrl/cmd+鼠标左键单击
  • double-click:双击

例如

如何利用VSCode书写Latex并进行编译

4.编译测试

新建一个tex测试文件,例如

\documentclass{article}
\usepackage{lipsum}
\begin{document}

    $ x_{ij}^{2}+y_{ij}^{2}=ab $

\end{document}

如何利用VSCode书写Latex并进行编译

然后你可以在这里选择编译链并进行编译。

为了更方便进行编译,可对其设置快捷键,设置快捷键步骤如下:

如何利用VSCode书写Latex并进行编译

之后,按住你设置的快捷键。
如何利用VSCode书写Latex并进行编译

就可以选择你的编译链进行编译。

开始你的测试吧!

相信你已经成功了!

本篇博客参考了https://zhuanlan.zhihu.com/p/166523064,你可以在那里看到更加详细的说明

上一篇:June 30th. 2018, Week 26th. Saturday


下一篇:提取Jar2Exe源代码,JavaAgent监控法