当前位置: 首页 > news >正文

TexStudio中的Latex,PDFLatex,XeLatex和LuaLatex的区别

多种LaTeX编译器

一、多种LaTeX编译器

1.1 PDFLaTeX(1994年

  • 默认、最常用的引擎。

  • 输入文件通常是 ASCII 或 UTF-8 编码(但中文需要 CJK 宏包或 ctex 宏包支持)。

  • 字体选择受限:只能使用 TeX 自带的字体或者 Type 1 格式的字体(TTF/OTF 字体不能直接使用)。

  • 优点:稳定、速度快、兼容性好,很多模板(尤其是期刊/会议)要求用它

  • 缺点:对多语言(特别是中文、日文、韩文等)和系统字体支持差。

Optima这种复杂的现代字体不像是PDFLaTeX可以编译出来的。

1.2 Xe  LaTeX(2004年

  • 基于 XeTeX 引擎,原生支持 Unicode,直接支持 UTF-8 输入(不用额外的宏包)。

  • 可以通过 fontspec 宏包直接调用操作系统字体(如宋体、Times New Roman)。

  • 对多语言排版支持好,特别适合 中文、日文、韩文

  • 缺点:比 PDFLaTeX 编译稍慢,有些老的宏包可能兼容性不好。

1.3 LuaLaTeX(2007年

  • 基于 LuaTeX 引擎,和 XeLaTeX 一样支持 Unicode + 系统字体

  • 内置 Lua 脚本语言,允许用户在编译过程中写 Lua 脚本,做自定义处理(如复杂的排版逻辑)。

  • 对 OpenType 字体特性支持更好(连字、变体字形等)。

  • 优点:灵活、现代化,适合需要扩展功能的场景(比如复杂排版、自动化处理)。

  • 缺点:速度较慢,生态相对新,部分模板可能不完全兼容。

lua语言在工业数据采集中具有重要应用

1.4 选择建议

  • 写英文论文、默认模板 → 用 PDFLaTeX(最快、最稳定)。

  • 写中文/多语言 → 推荐 XeLaTeX(最简单,直接调用系统字体)。

  • 需要复杂排版/编程扩展 → 用 LuaLaTeX

  • 一些期刊/出版社会强制要求 PDFLaTeX,因为它兼容性最好。

二、文本编译专业知识

2.1 三大编码

ASCII全称American Standard Code for Information Interchange,说白了就是美国人用的计算机编码方式;

Unicode 是一个字符编码标准,旨在为世界上所有书写系统的字符分配唯一的编码。它支持全球几乎所有的书写系统,涵盖了多种语言的字符,包括拉丁字母、汉字、日文假名、希腊字母等;

为世界上所有书写系统的字符分配唯一的编码

UTF-8是Unicode 的一种编码方式,兼容 ASCII。

2.2 Type 1 TTF/OTF

Type 1 是 Adobe 公司开发的一种字体格式,也被称为 PostScript Type 1 字体,主要用于 打印机排版系统

TTF全称TrueType 是由 AppleMicrosoft 开发的一种字体格式,旨在提供与 Type 1 字体类似的功能,但具有更好的兼容性和可操作性。

OTF全称OpenType 是由 MicrosoftAdobe 共同开发的字体格式,它是 TrueType 字体的扩展,加入了更多的功能和更强的跨平台兼容性。

Optima 字体

Optima 字体是 OpenType (OTF) 字体格式的一种,比较适合用LuaLaTeX进行编译。

2.3 Lua语言

来自百度百科:

Lua [1] 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译、运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。

标题
http://www.dtcms.com/a/335084.html

相关文章:

  • vue优化有哪些手段?
  • ubuntu网络共享
  • 深度解析和鲸社区热门项目:电商双 11 美妆数据分析的细节与价值
  • ubuntu远程桌面很卡怎么解决?
  • [Linux] Linux系统负载监控 Linux服务管理
  • Java Stream sort算子实现:SortedOps
  • 网络层(1)
  • DeepResearch开源与闭源方案对比
  • autofit.js: 自动调整HTML元素大小的JavaScript库
  • 小智-ESP32的MQTT协议
  • linux设备驱动之字符设备驱动
  • Python-Pandas基础
  • 主从复制+哨兵
  • 移动互联网发展战略
  • Altium Designer 22使用笔记(7)---网表导入,叠层设置
  • Spring框架(IOC)
  • 程序设计|C语言教学——C语言基础4:进阶
  • TOGAF八步一法笔记2
  • day42_2025-08-16
  • TDengine 3.3.7.0 版新功能(BLOB 数据类型)
  • ZYNQ QSPI控制器说明
  • JIT 编译与解释执行机制:Java 性能加速的幕后引擎
  • Linux软件编程-线程(2)
  • Python训练营打卡 DAY 38 Dataset和Dataloader类
  • 《代码重生:杨蓉与62.webp》
  • PowerShell中搜索文件夹
  • 国内代理IP在SEO行业中的应用
  • 云安全 - The Big IAM Challenge
  • 低代码平台能力框架:可复用组件与复杂业务的实现机制
  • 现金流预测模型:12个月精准计算指南