在 Ubuntu / Linux 上轻量安装 LaTeX:TinyTeX 使用记录

文章目录

为什么不直接装 TeX Live

在 Linux 上编译 .tex 文件,很多教程会让你直接 apt-get install texlive-full。问题是:

  • 体积大:完整版 TeX Live 动辄 5-7 GB,绝大部分宏包你可能一辈子都用不上;
  • 版本旧 :Ubuntu 官方源里的 texlive 包是跟着系统发行版一起冻结的,比如 22.04(jammy)源里的 TeX Live 版本停留在 2021,官方 TeX Live 早就更新到 2026 了,装出来的东西是"过时的老版本";
  • 需要 sudo:装系统目录,改坏了不好清理。

如果只是偶尔编译一份简历、一篇小论文,没必要为此装一整套重家伙。这时候 TinyTeX 是个更合适的选择。

TinyTeX 是什么

TinyTeX 是基于官方 TeX Live 做的一个"精简发行版":

  • 装的时候只带一个很小的基础核心(几十 MB),不需要 sudo,直接装在你自己的用户目录下;
  • 编译文档时缺什么宏包,报错会明确告诉你缺什么,用一条 tlmgr install 包名 补上就行,不用整套装齐;
  • 卸载极其简单------本质上就是一个自包含的文件夹,删掉文件夹就等于卸载干净,不会在系统里留下杂七杂八的注册信息。

安装步骤

第 0 步:检查依赖(Ubuntu 一般自带,确认一下即可)

bash 复制代码
perl -mFile::Find /dev/null && echo "perl OK"
which xz && echo "xz OK"
# 如果 xz 提示找不到:
# sudo apt-get install -y xz-utils

第 1 步:一条命令安装 (默认装到 ~/.TinyTeX,同时在 ~/bin 建好可执行文件的软链接)

bash 复制代码
wget -qO- "https://yihui.org/tinytex/install-bin-unix.sh" | sh

这条命令是"边下边执行",不会在本地留下安装脚本文件;脚本内部真正的下载目标是 GitHub 上的 TinyTeX 发行包,下载到临时目录解压后自动清理,你不需要手动管理任何中间文件。

第 2 步:让新装好的命令在终端里生效

bash 复制代码
# 开一个新的终端标签即可自动生效;如果没生效,手动执行:
source ~/.profile

第 3 步:验证

bash 复制代码
which xelatex
xelatex --version

第 4 步:按需补齐宏包(缺什么装什么,这里是我自己编译简历用到的一批)

bash 复制代码
tlmgr update --self
tlmgr install fontspec xecjk xltxtra xifthen xcolor geometry titlesec enumitem nth pgf cite hyperref tabularx tools setspace l3packages

第 5 步:编译一份文档验证

bash 复制代码
xelatex your_file.tex
xelatex your_file.tex   # 连跑两遍,让交叉引用/目录/超链接稳定下来

卸载步骤

TinyTeX 官方的卸载方式非常干脆:

bash 复制代码
# 1. 先把 PATH 里的软链接引用清掉
tlmgr path remove

# 2. 直接删掉整个文件夹------这就是全部
rm -rf ~/.TinyTeX

# 3. 验证卸干净了
which xelatex   # 应该没有任何输出

如果你之前手动改过 ~/.bashrc 加过 PATH,记得也去把那一行删掉,避免留一条指向空目录的死路径。

小结

TinyTeX 的核心思路很简单:装的时候小、缺什么补什么、卸载的时候一删了之。比起动辄几个 GB、还要 sudo 权限的完整 TeX Live,对于只是偶尔编译一下简历、论文的场景,是更轻量、更可控的选择。

相关推荐
贵州诚鑫致达科技有限公司5 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
遇印记6 小时前
传输层,网络层
运维·服务器·网络·windows·学习
品牌常新6 小时前
景区巡逻机器人怎么选?派宝S5全地形守护解析
运维·人工智能·机器人
Elastic 中国社区官方博客6 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
澜山奕秋8 小时前
RHCSA
linux·运维·服务器
Web极客码9 小时前
告别流式截断:我用客户端中间件解决长文本 API 跨国 SSE 断连与数据自愈
linux·agent 图
cnnews9 小时前
Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化
linux·运维·ubuntu
AliCloudROS9 小时前
OOS ChatOps Agent 定时任务:每天 9 点,让Agent 在钉钉群里交运维报告
运维·自动化运维
CALL158119098459 小时前
SVHC 247项与附录XVII限制物质,REACH测试项目有哪些?
运维·安全·安全性测试