这个问题涉及到排版系统的发展脉络,下面我用简洁明了的方式帮你梳理 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)
    • 大量宏包(如 amsmathgraphicx
    • 适合学术写作、数学公式、论文等
  • 编译器:通常使用 pdflatexlatex

✅ 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