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

news2024/12/24 11:09:06

前言

本篇教程是针对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年

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1931609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【中项】系统集成项目管理工程师-第一模块:IT技术和管理-1.1信息与信息化-1.1.3信息化基础

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&#xff0c;目前涵盖了计算机软件、计算机网络、计算机应…

NineData全面支持PostgreSQL可视化表结构设计

“PostgreSQL 是最像 Oracle 的开源关系型数据库“&#xff0c;也正因为如此&#xff0c;很多企业都青睐 PostgreSQL&#xff0c;拿它当成 Oracle 的替代品。所以毫无疑问&#xff0c;目前 PostgreSQL 在企业中非常常见。 对于直接接触 PostgreSQL 的开发人员而言&#xff0c;…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【26】【内网穿透】cpolar

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【27】【内网穿透】cpolar 内网穿透cpolar内网穿透联调配置练习—使用公网地址访问gulimall.com参考 内网穿透 正常的外网需要访问我们项目的流程是&#xff1a; 买服务器并且有公网固定…

汽车开发阶段(OTS/VFF/PVS/OS/SOP)

OTS&#xff1a;即英语中的Off Tooling Sample&#xff0c;通常被称为工装样件。它指的是通过配套设备、工装夹具以及模具制造出来的样品&#xff0c;但并不强调生产的时间效率&#xff0c;主要用于验证产品的设计能力。 VFF&#xff1a;在德语中表示为Vorserien Freigabefahr…

集群服务器如何解决跨服务器通信?大量并发通信问题?

Nginx tcp负载均衡模块&#xff1a; 1.将client的请求按照 负载均衡算法 分发到服务器 2.负载均衡器与服务器保持心跳机制&#xff0c;监测故障、保障服务可靠性 3.可以发现添加新的服务器&#xff0c;方便扩展服务器集群的数量 Nginx反向代理用途&#xff1a; 2.4 用途 …

大数据技术基础

一、大数据平台 1.大数据平台方案步骤&#xff1a; ①市场上有哪些大数据平台 ②硬件、系统、业务增长等方面 ③方案是否通过 通过后&#xff1a;按照一期目标投入 先虚拟环境部署联系&#xff0c;再实际部署 《大数据架构介绍》《Hadoop架构解析》《Hadoop集群规划》 《H…

已有nodejs的情况下安装nvm

文章目录 前言一、下载地址二、使用方法1.已安装nodejs2.未安装过nodejs3.注意事项4.测试是否安装成功5.切换nodejs版本方式 前言 作为一个前端开发人员&#xff0c;在一开始入行就安装了nodejs&#xff0c;这也是必不可少的开发环境&#xff0c;但总会遇到某些插件和当前node…

【保姆级】Python项目部署到Linux生产环境(uwsgi+python+flask+nginx服务器)

1.安装python 我这里是3.9.5版本 安装依赖&#xff1a; yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y 根据自己的需要下载对应的python版本&#xff1a; cd /usr/local wget https://www.python.or…

洛谷 P1056 [NOIP2008 普及组 T2]:排座椅 ← 贪心算法

【题目来源】https://www.luogu.com.cn/problem/P1056https://www.acwing.com/problem/content/436/【题目描述】 上课的时候总有一些同学和前后左右的人交头接耳&#xff0c;这是令小学班主任十分头疼的一件事情。 不过&#xff0c;班主任小雪发现了一些有趣的现象&#xff0c…

云动态摘要 2024-07-16

给您带来云厂商的最新动态&#xff0c;最新产品资讯和最新优惠更新。 最新优惠与活动 数据库上云优选 阿里云 2024-07-04 RDS、PolarDB、Redis、MongoDB 全系产品新用户低至首年6折起&#xff01; [免费体验]智能助手ChatBI上线 腾讯云 2024-07-02 基于混元大模型打造&…

【Flask从入门到精通:第十二课:常用模块、蓝图 Blueprint】

常用模块 Faker 文档: https://faker.readthedocs.io/en/master/locales/zh_CN.html 批量生成测试数据: https://github.com/joke2k/faker pip install faker -i https://pypi.douban.com/simple代码&#xff1a; from flask import Flask from flask_sqlalchemy import S…

Nginx介绍、安装、使用

更多优质内容欢迎访问我的个人博客网站&#xff1a;www.zpf0000.com Nginx官网 官网&#xff1a;nginx news 什么是Nginx&#xff1f; Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访…

exif格式及解析库easyexif使用介绍

1. JPEG文件结构和EXIF数据的信息 JPEG文件以字符串"0xFFD8"开头表示图像信息开始,以字符串"0xFFD9"结尾表示图像信息结束。 在JPEG文件头中有一系列"0xFF??"格式的数据段,称为"标识",用来标记JPEG文件的信息段。 0xFFE0-0xFFEF之间…

SQL 获取employees中的first_name

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 现有employee…

在 PostgreSQL 里如何处理数据的存储优化和数据库备份的时间窗口冲突?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 在 PostgreSQL 中处理数据存储优化和数据库备份时间窗口冲突 在 PostgreSQL 中处理数据存储优化和数据…

智能测评养号系统:解决效率与成本难题,让测评效率翻倍

各位跨境电商从业者好,我是陈哥。今天我想和大家分享一下关于测评养号系统的一些见解和经验。 近期,不少做测评工作室的朋友向我咨询,希望能找到一种新型的测评养号系统,以解决当前面临的诸多问题,如成本高昂、效率低下、账号纯净度不够、操作不便捷等。 众所周知,测评养号系统…

某客户管理系统Oracle RAC节点异常重启问题详细分析记录

一、故障概述 某日10:58分左右客户管理系统数据库节点1所有实例异常重启&#xff0c;重启后业务恢复正常。经过分析发现&#xff0c;此次实例异常重启的是数据库节点1。 二、故障原因分析 1、数据库日志分析 从节点1的数据库日志来看&#xff0c;10:58:49的时候数据库进程开始…

Qt实现IP地址输入框-自定义控件

在 许多应用程序中&#xff0c;我们经常需要使用IP地址。为了方便用户输入和处理&#xff0c;一个好的解决方案是使用自定义控件。本示例代码使用Qt编写一个名为“IPAddress”的自定义控件来实现IP地址的输入功能。通过使用此控件&#xff0c;用户可以方便地输入和处理IP地址。…

【源码交付】一站式自助数据分析解决方案(JVS-BI):系统架构蓝图

1.引言 JVS-BI是一体化、自助式的数据分析平台&#xff0c;它采用的高度集成化的思路&#xff0c;针对企业级用户&#xff0c;提供集中仓库便捷分析的企业级数据开发套件&#xff0c;解决企业各种需要数据分析的场景&#xff0c;多种数据库、多种业务系统、跨库关联、离线数据…

新版网页无插件H.265播放器EasyPlayer.js如何测试demo视频?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;支持H.264与H.265编码格式&#xff0c;性能稳定、播放流畅&#xff1b;支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#xff0…