这个问题涉及到排版系统的发展脉络,下面我用简洁明了的方式帮你梳理 TeX、LaTeX、XeTeX、XeLaTeX之间的关系和区别:
🌳 总体结构关系图
TeX(核心排版引擎)
├── LaTeX(宏包系统)
│ └── XeLaTeX(基于 XeTeX 的 LaTeX 宏体系)
└── XeTeX(改进的 TeX 引擎,支持 Unicode 和系统字体)
🔢 一一解释
✅ 1. TeX (原始排版引擎)
- 由 Donald Knuth 开发(1978)
- 作用:底层排版引擎,控制字符、间距、行列结构的精准排版
- 特点:
- 极致精准,特别适合数学公式排版
- 使用控制命令,语法接近编程
- 缺点:直接使用较难,用户体验差
✅ 2. LaTeX(宏包系统)
- 由 Leslie Lamport 开发(1980年代)
- 作用:建立在 TeX 上的宏系统,让排版更人性化
- 特点:
- 抽象出结构化的文档格式(如 \section、\title)
- 大量宏包(如
amsmath
, graphicx
)
- 适合学术写作、数学公式、论文等
- 编译器:通常使用
pdflatex
、latex
✅ 3. XeTeX(增强版 TeX 引擎)
- 由 Jonathan Kew 开发(2004)
- 作用:现代化的 TeX 引擎,支持 Unicode + 系统字体
- 特点:
- 原生支持 UTF-8 编码(不用设置一堆编码包)
- 支持调用系统字体(如 “Times New Roman”, “宋体”)
- 支持多语言,适合中文/日文/阿拉伯文排版
- 编译器命令:
xetex
✅ 4. XeLaTeX(LaTeX + XeTeX 引擎)
- 是将 LaTeX 宏系统 运行在 XeTeX 引擎 上
- 实际上就是:用 XeTeX 编译 LaTeX 文档
- 优点总结:
- 拥有 LaTeX 的易用结构化语法
- 同时支持 Unicode、多语言、系统字体调用
- 编译器命令:
xelatex
- 常配合的宏包:
\usepackage{fontspec} % 系统字体支持 \usepackage{xunicode} \usepackage{xltxtra}
🧾 总结对比表:
名称 | 类型 | 特点 | 是否支持 UTF-8 | 是否支持系统字体 |
---|
TeX | 排版引擎 | 底层强大但复杂 | ❌ 否 | ❌ 否 |
LaTeX | 宏系统 | 基于 TeX,结构化语法,丰富宏包 | ⚠️ 需额外支持 | ❌ 否 |
XeTeX | 排版引擎 | 现代化 TeX 引擎,支持 Unicode 和系统字体 | ✅ 是 | ✅ 是 |
XeLaTeX | 宏系统+引擎 | 用 XeTeX 编译 LaTeX,兼具两者优点 | ✅ 是 | ✅ 是 |
🚀 什么时候用哪个?
需求 | 推荐使用 |
---|
英文论文,纯 LaTeX 环境 | LaTeX(pdflatex) |
中文、日文、韩文排版 | XeLaTeX |
需要使用系统字体(如宋体) | XeLaTeX |
想用最底层的定制排版 | TeX / XeTeX |
发表回复