简明教程:记录 Ubuntu系统命令行安装TexLive,配置vscode

Ubuntu下安装TexLive,配置VSCode

该方法记录在远程服务器,无可视化条件的情况下,进行TexLive的安装,以及在VSCode上面(远程开发)进行相关配置,最后成功编译tex的全过程。

下载ISO文件

shell 复制代码
sudo apt install curl && curl -L https://mirrors.hust.edu.cn/CTAN/systems/texlive/Images/texlive.iso -o texlive.iso

安装与配置

1. 挂载并安装 TeX Live

bash 复制代码
# 创建挂载点
sudo mkdir -p /mnt/texlive

# 挂载 ISO 镜像
sudo mount -o loop texlive.iso /mnt/texlive

# 进入挂载目录
cd /mnt/texlive

# 运行安装程序(文本模式)
sudo ./install-tl --no-gui

2. 安装配置选项

安装程序会显示文本界面,建议空间充足的情况下直接输入I进行完整安装即可:

  • 输入 D 进入目录设置
  • 确认安装路径(默认是 /usr/local/texlive/2024)
  • 输入 R 返回主菜单
  • 输入 I 开始安装(完整安装约需要 10-30 分钟)

如果想要快速安装基础版本(minimal scheme),可以:

  • 输入 S 进入 scheme 选择
  • 选择 scheme-basicscheme-small

3. 配置环境变量

安装完成后,需要将 TeX Live 添加到系统路径:

使用nano编辑bashrc文件

bash 复制代码
# 编辑 ~/.bashrc 或 ~/.zshrc
nano ~/.bashrc

在文件末尾添加环境变量

(注意年份可能不同,根据实际安装路径调整)

txt 复制代码
export PATH=/usr/local/texlive/2025/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2025/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2025/texmf-dist/doc/info:$INFOPATH

在 nano 编辑器中保存文件的方法:

保存文件:按 Ctrl + O(字母 O,不是数字 0)

会提示 "File Name to Write: ~/.bashrc"

直接按 Enter 确认

退出编辑器:按 Ctrl + X

使配置生效

shell 复制代码
source ~/.bashrc

4. 验证安装、卸载ISO镜像

bash 复制代码
# 检查 TeX Live 版本
tex --version

# 检查 XeLaTeX(用于中文支持)
xelatex --version

# 卸载 ISO 镜像
cd ~
sudo umount /mnt/texlive

5. 配置 VS Code LaTeX Workshop

首先在vscode中安装插件:LaTeX Workshop。

在 VS Code 的 settings.json 中添加配置(按 Ctrl+Shift+P,输入 "Open User Settings (JSON)"):

配置具体是什么含义请看注释

请尤其注意路径配置(command) ,在不确定的情况下,请使用which命令查询,比如查询which xelatex得到地址填入其command中。

完整配置如下

json 复制代码
{
    // LaTex配置
    // 右键菜单
    "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.outDir": "./build",
    // 编译工具和命令(Linux 路径)
    "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "/usr/local/texlive/2025/bin/x86_64-linux/xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "--output-directory=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "/usr/local/texlive/2025/bin/x86_64-linux/pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "--output-directory=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "/usr/local/texlive/2025/bin/x86_64-linux/latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "--output-directory=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "/usr/local/texlive/2025/bin/x86_64-linux/bibtex",
            "args": [
                "%OUTDIR%/%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"
    ],
    // 设置为 onBuilt 在构建成功后清除辅助文件
    "latex-workshop.latex.autoClean.run": "onBuilt",
    // 使用上一个编译组合
    "latex-workshop.latex.recipe.default": "lastUsed",
    // 设置是否自动编译
    "latex-workshop.latex.autoBuild.run": "onSave",
    // 用于反向同步的内部查看器的键绑定
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
    // 控制具有未保存更改的编辑器的自动保存
    "files.autoSave": "afterDelay",
    // 在编辑器中启用自动换行
    "editor.wordWrap": "on",
    // 定义 latex 格式化程序
    "latex-workshop.formatting.latex": "latexindent",
    // Linux 上的 latexindent 路径
    "latex-workshop.formatting.latexindent.path": "/usr/local/texlive/2025/bin/x86_64-linux/latexindent",
    // 保存时自动格式化
    "editor.formatOnSave": true
}

6. 测试编译

创建一个测试文件 test.tex:

latex 复制代码
\documentclass{article}
\usepackage{xeCJK} % 中文支持
\setCJKmainfont{SimSun} % 设置中文字体,根据系统调整

\begin{document}
Hello \LaTeX! 你好,世界!
\end{document}

在 VS Code 中打开该文件,按 Ctrl+Alt+B 或者运行按钮编译。

补充说明

  • 如果需要中文支持,确保系统安装了中文字体(如 sudo apt install fonts-noto-cjk)
  • 完整安装大约需要 7GB 磁盘空间
  • 如果后续需要安装额外宏包,可以使用 tlmgr 命令:tlmgr install <package-name>
相关推荐
zhangrelay17 小时前
Ubuntu 18.04 经典 / 有趣 / 实用 APT 软件清单
linux·笔记·学习·ubuntu
不做无法实现的梦~17 小时前
linux怎么使用正点原子无线dap烧录器
linux·运维·postgresql
coward9117 小时前
Linux 内核 KGDB 以及内核驱动单串口调试笔记:telnet + agent-proxy + gdb-multiarch 实践
linux·单片机·嵌入式硬件
vortex518 小时前
Kali Linux 磁盘扩容后内部分配完整教程
linux·运维
刻BITTER18 小时前
VirtualBox 安装Armbian x86 虚拟机
linux·嵌入式硬件
想唱rap18 小时前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
苏宸啊18 小时前
linux进程控制(一)
linux
开开心心_Every18 小时前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
the_fat_bird18 小时前
ubuntu install nvidia gpu driver
linux·运维·ubuntu
生而为虫18 小时前
在VScode中使用Claude Code agent并配置模型(仅mac电脑实际操作,windows电脑未实际操作如有问题可留言)
windows·vscode·macos