【2024】VsCode + Latex + Linux(Ubuntu) + wsl环境下配置教程 | 包含 中文配置,和 格式化处理

前言

本篇教程是针对WSL下的Ubuntu操作系统的配置教程,它和一般的Linux环境下的配置有所不同,并且和Windows环境下的也有所不同。

本篇博客编写参考了 官方文档(Tex) 和 插件官方(Texlive Workshop) 文档等内容。

顺序

在继续之前,首先要求已经安装完毕VsCode,并且已经能够成功连接WSL。
选择Linux系统的原因是,似乎在Linux下编译会更快?(

下面,本文将安装以下步骤介绍:
(1)安装 Texlive linux版本
(2)安装 Texlive Workshop插件
(3)配置 Texlive Workshop插件 包含解释与基础操作
(4)中文化支持 - CTex
(5)格式化支持和配置

安装Texlive和Texlive Workshop插件

安装texlive

Reference: https://tug.org/texlive/quickinstall.html
使用两种方式下载:

wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

或者使用这种方式下载:

curl -L -o install-tl-unx.tar.gz https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

下载完成后,执行以下的步骤,zcat可以用于显示压缩包的内容。

zcat < install-tl-unx.tar.gz | tar xf -
cd install-tl-*
perl ./install-tl --no-interaction

如果安装过程中遇到问题,请检查文件权限,例如可以使用chmod来修改。
在安装的过程中,可以自定义一些配置,小熊自己是选择全部安装的,占8个GB左右大小,所以就不在安装这里进行配置讲解。

(Reference:https://github.com/James-Yu/LaTeX-Workshop/wiki/Install)
安装完毕后,现在开始配置PATH环境变量。
对于WSL而言,不要使用.bashrc来配置PATH,而是使用.profile或者.bash_profile文件。

nano ~/.profile # 你也可以使用自己喜欢的文本编辑器来修改文件,使用GUI也行

在文件末尾修改:

# 配置Texlive Powerbear
export MANPATH=${MANPATH}:/usr/local/texlive/2024/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2024/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2024/bin/x86_64-linux

如果您是后来者,当前已经是2025年了,而且安装的是2025的版本,请将上面的2024修改为2025。
在这里插入图片描述

如果是nano,最后按住Ctrl+X来离开,和写入文件。
之后使用:

source ~/.profile

或者在powershell / windows终端 里面,利用重启WSL的方式来更新。

wsl --shutdown

插件安装

✔️确保已经在Linux系统下安装完毕texlive前提下,继续。
✔️确保已经安装VsCode和了解基础操作的前提下,继续。

有两种方法以供参考:
(1)在Vscode插件市场搜索“Texlive Workshop”,然后点击“安装”按钮。
(2)按住Ctrl + P,然后输入ext install latex-workshop
在这里插入图片描述

插件配置

当插件安装完成后,还不能直接运行,还有几个步骤需要配置。当配置完毕这些操作后,便可以方便的进行一些操作了。

Compiler & Recipes

在继续之前,先来了解此项配置的相关含义和包含关系。编译器配置是用于TEX文件编译时的相关操作,而Recipe是方案,它能包含多个编译器配置,在Tex插件面板上(左侧最后的TEX按钮)可以通过GUI的方式来调用Recipe。

所以,现在我们开始配置编译相关操作,和Recipe设置。打开VsCode的Settings.json文件(通过 文件 -> 首选项 -> 设置 ,或者 Ctrl+shift+p 打开命令面板,搜索“> 设置 json” 或者 在打开的文件夹下 .vscode 下新建settings.json)。

本文章配置在 设置WSL(JSON) 下 。

如果不想麻烦,直接参考这个小节的最后部分,那个地方给出了一份配置参考文件。可以在其上进行一些自定义的修改。

✔️确保已经打开Settings.json的前提下,继续。

  • 配置TEX编译器相关操作:

在Ubuntu下,打开终端。

  • 再次配置Recipe的相关设置:

  • Settings.json文件参考

不想看上文的直接参考这个地方的内容。

{
    // Latex 文件处理
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "--shell-escape",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "--shell-escape",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "--shell-escape",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "--shell-escape",
                "%DOCFILE%"
            ],
            "env": {}
        }
    ],
    "latex-workshop.latex.autoBuild.cleanAndRetry.enabled": true,
    // Recipes : 食谱,在这里配置命令方案
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex (中文支持)",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ],
    "latex-workshop.latexindent.path": "/usr/local/texlive/2024/bin/x86_64-linux/latexindent",
    "latex-preview.command": "latexmk",
    "editor.tabSize": 4,
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.showContextMenu": true,
    "ltex.enabled": true,
    "ltex.language": "en-US",
}

配置完成后,在编辑器的界面应该是如下图所示:
在这里插入图片描述
到这一步,现在应该已经能够支持latex的编译与预览了。
使用这些来测试一下效果吧!

\documentclass{article}
\begin{document}
Hello latex.
\end{document}

完成后,点击左侧的 配方xelatex试一试

中文化支持配置

在经过上一小节的配置后,实际上默认的是xelatex。
然后使用

\usepackage{ctex}

把上文的Hello latex改为中文字符试一试吧。

格式化支持和配置

当以前没有配置过Perl的时候,尝试进行格式化操作时候会出现以下提示信息:

[20:20:12.751][Event] STRUCTURE_UPDATED
[20:20:14.083][Format][TeX] Start formatting with latexindent.
[20:20:14.084][Format][TeX] Formatting LaTeX. The command is /usr/local/texlive/2024/bin/x86_64-linux/latexindent:["-c","%WS1%/","%WS1%/__latexindent_temp_main_2.tex","-y=defaultIndent: '    '"].
[20:20:14.131][Format][TeX] Formatting failed with exit code 2
[20:20:14.132][Format][TeX] stderr: Can't locate YAML/Tiny.pm in @INC (you may need to install the YAML::Tiny module)(@INC contains: /usr/local/texlive/2024/texmf-dist/scripts/latexindent /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/GetYamlSettings.pm line 24.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/GetYamlSettings.pm line 24.
Compilation failed in require at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Verbatim.pm line 23.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Verbatim.pm line 23.
Compilation failed in require at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Lines.pm line 23.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Lines.pm line 23.
Compilation failed in require at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 31.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 31.
Compilation failed in require at /usr/local/texlive/2024/bin/x86_64-linux/latexindent line 28.
BEGIN failed--compilation aborted at /usr/local/texlive/2024/bin/x86_64-linux/latexindent line 28.

[20:20:22.200][Event] STRUCTURE_UPDATED

解决方法:利用cpan安装缺少的模块。
Reference: https://github.com/James-Yu/LaTeX-Workshop/issues/699
可能需要多次使用cpan命令安装缺少的模块。

cpan YAML::Tiny
cpan File::HomeDir

之后,再次执行Format时候,就能成功格式化文档了。

接下来

下面,读者应该去了解更多有关latex的使用方法,语法和其他操作姿势。
例如:如何优美的插入代码和公式?如何去绘制三线图表?等。


若觉得此文对您有帮助,请予以一个赞以示鼓励!
如果阅读完毕尚有疑问,建议,直接在评论区开喷即可!

PowerBear 大千小熊 2024年

相关推荐

  1. Mac 配置环境变量处理路径中空格

    2024-07-14 17:20:02       39 阅读
  2. Pointnet++环境配置(Windows11ubuntu)及训练教程

    2024-07-14 17:20:02       62 阅读
  3. Linux环境配置ElasticSearch

    2024-07-14 17:20:02       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 17:20:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 17:20:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 17:20:02       58 阅读
  4. Python语言-面向对象

    2024-07-14 17:20:02       69 阅读

热门阅读

  1. 深度学习早停(early stop)训练策略

    2024-07-14 17:20:02       20 阅读
  2. 昇思训练营打卡第二十五天(RNN实现情感分类)

    2024-07-14 17:20:02       17 阅读
  3. 使用Scikit-Learn决策树:分类问题解决方案指南

    2024-07-14 17:20:02       13 阅读
  4. return promise 为undefined原因

    2024-07-14 17:20:02       18 阅读
  5. UNION 和 UNION ALL

    2024-07-14 17:20:02       21 阅读
  6. vue2一个计时器的功能

    2024-07-14 17:20:02       24 阅读
  7. Python bisect的使用

    2024-07-14 17:20:02       25 阅读
  8. `nmap`模块是一个用于与Nmap安全扫描器交互的库

    2024-07-14 17:20:02       18 阅读
  9. 【EasyExcel】根据单元格内容自动调整列宽

    2024-07-14 17:20:02       19 阅读