当前位置:   article > 正文

VSCode+Latex 环境配置_latex添加到环境变量中 win11 vscode

latex添加到环境变量中 win11 vscode

前言

写毕业论文的时候,代码该怎么展示一直很纠结。一开始用的Codesnap插件截图,但导师说不要过多的展示源代码,可以考虑以伪代码形式展示。Word下想要写一份规范的伪代码也不是容易的事,所以不得已还是转向了Latex。

本篇整体上参考搭建 LaTeX 舒适写作环境(VSCode)一文,可能因为安装的Latex编译器不相同,因此再配置文件上略有改动。本文配置流程在Windows 11下测试通过。

一、Latex安装

  1. Latex像是一种独立的语言,所以我们需要装对应的编译器。这里推荐使用MiKTex,相对而言比较精简。使用安装程序(installer)安装会自动配置环境变量,省去我们一个步骤。

  2. 除Latex编译器外,建议再安装一个latexindent,VSCode中对Latex进行代码格式化(缩进)需要用到它。这里注意需要下载压缩包,不要下载那个单独的可执行文件,解压后需要手动把latexindent文件夹加入环境变量PATH中。

二、VSCode配置

  1. 第一步自然是安装插件,大家普遍使用Latex Workshop
  2. 安装之后需要我们对其进行配置,主要是设置编译选项。ctrl+,打开VSCode的设置面板,右上角点击“打开设置”进入settings.json配置文件。
  3. 在其中加入以下两对键值:(相比参考博客,我把xelatex参数中的"-pdf"删除了,否则会报错)
    "latex-workshop.latex.tools": [
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        },
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
    ],
    // 编译策略
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        }
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
  4. 重启VSCode,新建一个.tex文件,你应当可以正确的进行编译、格式化等操作了。

三、常见问题

  1. spawn xelatex ENOENT报错。这个错误的原因是Latex Workshop找不到你latex编译器的环境变量。如果你是按照我的流程走下来,在安装完MikTex和latexindent后最好进行一次重启。如果你安装的是其他latex编译器,那么请确认好环境变量配置无误。
  2. 在使用\usepackage导入模块时,可能会提示你需要安装,让其安装即可。
  3. 编译时遇到其他任何报错,建议打开日志看一看,多数情况是语法错误。

四、Latex示例

OK,现在我们可以尝试写一份伪代码看看效果了!

\def\SetClass{article}
\documentclass{\SetClass}
\usepackage[ruled,linesnumbered]{algorithm2e}
\begin{document}

\begin{algorithm}
    % setcounter用来设置计数器起始位置,会自动加1。
    % 故该示例从Algorithm 1开始
    \setcounter{algocf}{0}
    \SetKwFunction{QuickSort}{QuickSort}
    \SetKwFunction{Partition}{Partition}

    \caption{QuickSort}\label{algorithm}

    \KwData{$A, low, high$}

    \KwResult{sorted array $A$}

    \tcp*[h]{Array A, Range-left low, Range-right high}

    \uIf{$low < high$}{
        $p\leftarrow \Partition{A, low, high}$\;
        $\QuickSort{A, low, p-1}$\;
        $\QuickSort{A, p+1, high}$\;
    }

\end{algorithm}

\begin{algorithm}
    \SetKwFunction{swap}{swap}

    \caption{Partition}\label{algorithm}

    \KwData{$A, low, high$}

    \KwResult{pivot index $j$}

    \tcp*[h]{Array A, Range-left low, Range-right high}

    $pivot\leftarrow A[high]$\;
    $i\leftarrow low$\;

    \For{$j=low$ to $high-1$}{
        \uIf{$A[j]<=pivot$}{
            \swap{$A[i]$, $A[j]$}\;
            $i\leftarrow i+1$\;
        }
    }
    \swap{$A[i]$, $A[high]$}\;

    \Return{i}\;

\end{algorithm}

\end{document}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

上例在我们配置的环境中效果如下:

VSCode渲染示例
保存会自动进行编译,因此我们可以达到几乎实时预览的效果。除了Latex语法写起来很怪以外,整套编写环境还是很完美的。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号