macOS 安装 LaTeX 全流程指南:从 MacTeX 到中文排版

文章目录

    • [1. 为什么在 macOS 上装 LaTeX 值得花十分钟](#1. 为什么在 macOS 上装 LaTeX 值得花十分钟)
    • [2. 安装前的环境确认](#2. 安装前的环境确认)
    • [3. 路线一:MacTeX 完整版(推荐)](#3. 路线一:MacTeX 完整版(推荐))
      • [3.1 下载安装包](#3.1 下载安装包)
      • [3.2 执行安装](#3.2 执行安装)
      • [3.3 验证安装](#3.3 验证安装)
    • [4. 路线二:BasicTeX 轻量安装](#4. 路线二:BasicTeX 轻量安装)
    • [5. 路线三:Homebrew Cask 安装](#5. 路线三:Homebrew Cask 安装)
    • [6. 第一个文档:中文排版跑通](#6. 第一个文档:中文排版跑通)
      • [6.1 编写测试文件](#6.1 编写测试文件)
      • [6.2 编译](#6.2 编译)
      • [6.3 编辑器选择](#6.3 编辑器选择)
    • [7. 常见问题排查](#7. 常见问题排查)
      • [7.1 `pdflatex: command not found`](#7.1 pdflatex: command not found)
      • [7.2 中文显示为方框或乱码](#7.2 中文显示为方框或乱码)
      • [7.3 宏包缺失 `File 'xxx.sty' not found`](#7.3 宏包缺失 File 'xxx.sty' not found)
      • [7.4 权限报错 `tlmgr: permission denied`](#7.4 权限报错 tlmgr: permission denied)
      • [7.5 安装包提示「无法打开,因为来自身份不明的开发者」](#7.5 安装包提示「无法打开,因为来自身份不明的开发者」)
    • [8. M5 机型专属配置要点](#8. M5 机型专属配置要点)
      • [8.1 确认原生 arm64 工具链](#8.1 确认原生 arm64 工具链)
      • [8.2 开启多核并行编译](#8.2 开启多核并行编译)
      • [8.3 字体配置:优先使用系统原生字体](#8.3 字体配置:优先使用系统原生字体)
      • [8.4 与 macOS 26 的兼容性注意点](#8.4 与 macOS 26 的兼容性注意点)
    • [8. 日常维护建议](#8. 日常维护建议)
    • [9. 小结](#9. 小结)


1. 为什么在 macOS 上装 LaTeX 值得花十分钟

LaTeX 在 macOS 上的生态其实相当成熟:官方发行版 MacTeX 提供了一键安装包,装完即可获得 TeX Live 全套宏包、编辑器 TeXShop、参考文献工具 BibDesk 以及字体管理工具 TeX Live Utility。相比 Linux 上手动折腾,macOS 的安装体验更接近「下载、双击、等待」。

本文覆盖三条路线:

  • 推荐路线:MacTeX 完整版(约 5 GB),一次装好,后续几乎不用再管宏包。
  • 轻量路线 :BasicTeX(约 100 MB)+ tlmgr 按需安装宏包,适合磁盘紧张或只需要基础排版。
  • 包管理路线 :Homebrew Cask 安装,适合习惯用 brew 统一管理软件的用户。

同时会说明中文排版(ctex / XeLaTeX)的配置要点,以及常见报错的排查方法。

2. 安装前的环境确认

先确认系统版本与磁盘空间。MacTeX 完整版安装后占用约 5--7 GB,建议预留 10 GB 以上空间。

bash 复制代码
# 查看 macOS 版本
sw_vers

# 查看磁盘剩余空间(人类可读格式)
df -h /

# 确认是否已安装过 TeX(避免重复安装)
which tex pdflatex xelatex lualatex

如果 which 有输出,说明系统里已有 TeX 发行版,先确认来源再决定是否覆盖安装:

bash 复制代码
# 查看已有 TeX 的安装路径与版本
pdflatex --version
echo $PATH | tr ':' '\n' | grep -i tex

提示:Apple 芯片(M1/M2/M3/M4/M5)与 Intel 芯片的安装包是同一个通用二进制包(Universal 2),无需区分架构。M5 机型(如 2025 款 MacBook Pro)出厂即为 macOS 26 Tahoe,MacTeX 2025 及以上版本已完整适配,直接安装即可,无需 Rosetta 转译。

3. 路线一:MacTeX 完整版(推荐)

3.1 下载安装包

访问官方站点 tug.org/mactex,下载 MacTeX.pkg。文件约 5 GB,建议用浏览器或 curl 断点续传:

bash 复制代码
# 使用 curl 下载(URL 以官网当前版本为准)
curl -L -C - -O https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg

国内网络下载较慢时,可换用 CTAN 镜像,例如清华 TUNA、中科大 USTC 的 systems/mac/mactex/ 目录。

3.2 执行安装

双击 MacTeX.pkg,一路「继续」,在安装类型页面可以取消勾选不需要的组件(如 Ghostscript、TeXShop 之外的 GUI 工具),最后输入管理员密码等待完成。安装过程通常需要 10--30 分钟。

也可以用命令行静默安装:

bash 复制代码
sudo installer -pkg ./MacTeX.pkg -target /

3.3 验证安装

MacTeX 会把可执行文件链接到 /Library/TeX/texbin,并通过 /etc/paths.d/TeX 注入 PATH。新开一个终端窗口后验证:

bash 复制代码
which pdflatex xelatex lualatex
pdflatex --version
tlmgr --version

正常输出应包含 TeX Live 2025(或你安装的年份)字样。若 which 无输出,见第 7 节的 PATH 排查。

在 M5 机器上还可以额外确认二进制架构,确保走的是原生 arm64 版本而非 Rosetta 转译:

bash 复制代码
# 查看 pdflatex 的架构,应输出 arm64
file "$(which pdflatex)"

# 若显示 x86_64,说明当前终端运行在 Rosetta 下
arch

若 arch 输出 i386,说明终端被设成了「使用 Rosetta 打开」,在「访达 → 应用程序 → 实用工具 → 终端 → 显示简介」中取消勾选即可恢复原生 arm64 运行。

4. 路线二:BasicTeX 轻量安装

只需要基础排版能力时,BasicTeX 是更轻的选择:

bash 复制代码
# 方式 A:官网下载 BasicTeX.pkg 后安装
sudo installer -pkg ./BasicTeX.pkg -target /

# 方式 B:用 Homebrew 安装
brew install --cask basictex

装完后按需补充宏包,tlmgr 会自动从镜像拉取:

bash 复制代码
# 更新 tlmgr 自身与宏包索引
sudo tlmgr update --self
sudo tlmgr update --all

# 安装常用宏包
sudo tlmgr install ctex xecjk fandol latexmk biber

常用宏包对照:

宏包 用途
ctex 中文排版基础宏包
xecjk XeLaTeX 中文支持底层
fandol 开源中文字体(避免依赖系统字体)
latexmk 自动多次编译工具
biber biblatex 参考文献后端

5. 路线三:Homebrew Cask 安装

习惯用 Homebrew 的用户可以一条命令搞定完整版:

bash 复制代码
brew install --cask mactex
# 或安装轻量版
brew install --cask basictex

安装后同样需要新开终端,或手动刷新 PATH:

bash 复制代码
eval "$(/usr/libexec/path_helper -s)"

6. 第一个文档:中文排版跑通

6.1 编写测试文件

新建 hello.tex:

latex 复制代码
\documentclass[UTF8]{ctexart}

\title{第一个 \LaTeX{} 文档}
\author{Your Name}
\date{\today}

\begin{document}

\maketitle

\section{引言}

你好,\LaTeX{}。这是一段中文测试文本,用于验证字体与断行是否正常。

\section{公式与列表}

行内公式 $E = mc^2$,独立公式如下:

\begin{equation}
  \int_{-\infty}^{+\infty} e^{-x^2}\,\mathrm{d}x = \sqrt{\pi}
\end{equation}

\begin{itemize}
  \item 第一项
  \item 第二项
\end{itemize}

\end{document}

6.2 编译

中文文档请使用 XeLaTeX 或 LuaLaTeX ,不要用 pdflatex:

bash 复制代码
# 单次编译
xelatex hello.tex

# 推荐:用 latexmk 自动处理多次编译与参考文献
latexmk -xelatex -interaction=nonstopmode hello.tex

# 清理中间文件
latexmk -c

编译成功后目录下会生成 hello.pdf。

6.3 编辑器选择

  • TeXShop:MacTeX 自带,开箱即用,适合入门。
  • VS Code + LaTeX Workshop :功能最全,支持保存即编译、PDF 双向跳转。安装扩展后建议在 settings.json 中配置:
json 复制代码
{
  "latex-workshop.latex.recipes": [
    {
      "name": "xelatex",
      "tools": ["xelatex"]
    },
    {
      "name": "latexmk (xelatex)",
      "tools": ["latexmk-xelatex"]
    }
  ],
  "latex-workshop.latex.tools": [
    {
      "name": "xelatex",
      "command": "xelatex",
      "args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"]
    },
    {
      "name": "latexmk-xelatex",
      "command": "latexmk",
      "args": ["-xelatex", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"]
    }
  ],
  "latex-workshop.view.pdf.viewer": "tab"
}
  • TeXstudio / Overleaf:前者跨平台桌面端,后者为在线方案,无需本地安装。

7. 常见问题排查

7.1 pdflatex: command not found

PATH 未生效。检查 /etc/paths.d/TeX 是否存在,并确认当前 shell 的配置文件:

bash 复制代码
cat /etc/paths.d/TeX
# 应输出:/Library/TeX/texbin

# 临时加入 PATH
export PATH="/Library/TeX/texbin:$PATH"

# 永久生效(zsh 用户)
echo 'export PATH="/Library/TeX/texbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

7.2 中文显示为方框或乱码

  • 确认使用 xelatex 而非 pdflatex;
  • 文档类使用 ctexart / ctexrep / ctexbook,或加载 \usepackage[UTF8]{ctex};
  • 若系统缺少中文字体,安装 fandol 宏包:sudo tlmgr install fandol;
  • 也可显式指定字体:\setCJKmainfont{PingFang SC}(macOS 自带苹方)。

7.3 宏包缺失 File 'xxx.sty' not found

bash 复制代码
# 搜索宏包所属的 TeX Live 包名
tlmgr search --global --file xxx.sty

# 安装对应包
sudo tlmgr install <package-name>

7.4 权限报错 tlmgr: permission denied

MacTeX 安装目录归 root 所有,tlmgr 写操作需要 sudo:

bash 复制代码
sudo tlmgr update --self --all

若不想每次加 sudo,可把 TeX Live 目录改为当前用户所有(不推荐,可能影响系统更新):

bash 复制代码
sudo chown -R $(whoami) /usr/local/texlive/2025

7.5 安装包提示「无法打开,因为来自身份不明的开发者」

在「系统设置 → 隐私与安全性」页面底部点击「仍要打开」,或右键安装包选择「打开」。

8. M5 机型专属配置要点

M5 芯片在 LaTeX 使用上有几处值得单独说明的地方,配置好之后编译速度与稳定性都会更好。

8.1 确认原生 arm64 工具链

M5 是纯 arm64 架构,只要安装的是 MacTeX 2025 及以后版本,xelatex、lualatex、latexmk 全部为原生二进制,无需 Rosetta。用下面的命令一次性核对:

bash 复制代码
# 逐个检查关键可执行文件的架构
for bin in pdflatex xelatex lualatex latexmk biber; do
  printf "%-10s " "$bin"
  file "$(which $bin)" | grep -o 'arm64\|x86_64' | head -1
done

全部输出 arm64 即为最佳状态。

8.2 开启多核并行编译

M5 的多性能核在批量编译时优势明显。latexmk 本身不并行,但可以配合 -jobs 让底层引擎并行处理,或直接用 make -j 组织多文档项目:

bash 复制代码
# 单文档:latexmk 调用 xelatex,开启 4 个并行任务
latexmk -xelatex -jobs=4 -interaction=nonstopmode hello.tex

# 多文档项目:用 Makefile 并行编译
make -j8

对应的极简 Makefile:

makefile 复制代码
TEXS := $(wildcard *.tex)
PDFS := $(TEXS:.tex=.pdf)

all: $(PDFS)

%.pdf: %.tex
	latexmk -xelatex -interaction=nonstopmode $<

clean:
	latexmk -c

8.3 字体配置:优先使用系统原生字体

M5 机型预装的 macOS 26 自带更完整的字体集,中文排版可直接调用苹方,无需额外安装 fandol:

latex 复制代码
\documentclass[UTF8]{ctexart}

% 使用 macOS 原生字体,渲染质量更好
\setCJKmainfont{PingFang SC}[BoldFont=PingFang SC Semibold]
\setCJKsansfont{PingFang SC}
\setCJKmonofont{Heiti SC}

\begin{document}
中文正文使用苹方渲染。
\end{document}

若需要跨平台一致性(例如同时提交给 Linux 服务器编译),再退回 fandol 宏包更稳妥。

8.4 与 macOS 26 的兼容性注意点

  • 系统完整性保护(SIP) :macOS 26 默认开启 SIP,/usr/local/texlive 目录不受影响,tlmgr 正常使用 sudo 即可。
  • 首次运行授权 :M5 新机首次执行 xelatex 时,系统可能弹出「是否允许终端访问文件」的提示,选择「允许」。
  • Gatekeeper:MacTeX 安装包已签名公证,正常双击即可安装;若从镜像站下载的包被标记,按第 7.5 节处理。
  • Spotlight 索引 :TeX Live 目录文件极多,可在「系统设置 → Spotlight → 搜索隐私」中把 /usr/local/texlive 加入排除列表,减少索引开销。

8. 日常维护建议

bash 复制代码
# 定期更新宏包(建议每月一次)
sudo tlmgr update --self --all

# 切换 CTAN 镜像为国内源,加速下载
sudo tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet

# 查看已安装宏包
tlmgr list --only-installed | head -20

另外,MacTeX 自带 TeX Live Utility(图形界面),可以可视化地更新宏包、切换镜像、查看安装日志,适合不习惯命令行的用户。

9. 小结

需求 推荐方案
一次装好、长期使用 MacTeX 完整版
磁盘紧张、只需基础功能 BasicTeX + tlmgr
统一用 Homebrew 管理 brew install --cask mactex
中文排版 XeLaTeX + ctex 文档类
日常编辑 VS Code + LaTeX Workshop 或 TeXShop
M5 机型 MacTeX 2025+ 原生 arm64,latexmk -jobs=4 并行编译
装好之后,把 xelatex 和 latexmk 用熟,基本就能覆盖论文、报告、简历等绝大多数场景。遇到宏包缺失,记住 tlmgr search --file 加 tlmgr install 这两步,绝大多数问题都能自己解决。
相关推荐
ddshub_cc7 小时前
Claude Code 接入 DDS Hub:Windows/macOS 配置、验证与报错排查
windows·macos·ai编程·claude·codex·ai模型·aiapi
加载力科技11 小时前
Mac解压RAR分卷全攻略-part01part02一键合并
macos·mac 解压 rar 分卷·rar 分卷·part01·mac 解压工具·乐压·分卷合并
2601_9679791213 小时前
Opteryx Python库 macOS版本0.0.0a12
python·macos·1024程序员节·wheel·opteryx·alpha
Khalil三省1 天前
MacBook 刘海显示歌词:让 Mac 也有灵动岛歌词
macos·开源·效率工具·音乐
桌管小李1 天前
终端安全一体化实战:AI 审计、行为分析、零信任、防拍照与远程运维全解析
运维·服务器·网络·人工智能·windows·安全·macos
Piink1 天前
Mac使用Vscode教程
ide·vscode·macos
福大大架构师每日一题2 天前
rust 1.99.1 正式更新:聚焦 UEFI、嵌入式、x86_64 FFI 与 macOS 链接体验的三项修复
开发语言·macos·rust
雪域迷影2 天前
MacOS中杀掉某个端口占用的进程
macos·端口·强杀进程
ManageEngine卓豪2 天前
企业 Mac终端如何统一管控?配置、补丁与应用的落地框架
macos·mdm·uem·终端管理系统