luatex 字体加载

前两篇文章自以为是的介绍了如何构建一个较小的 luatex plain 包以及传统的 TeX 字体支持,所属内容皆为 luatex 自 pdftex 那里所继承的传统的一面,而未触及 luatex 的特性。这篇文章尝试分析 TrueType、OpenType (CID) 字体在 luatex 的加载过程,然后介绍如何使用 Hans 所写的 luatex 字体加载脚本以产生可支持 TrueType、OpenType (CID) 字体加载的 Plain TeX 格式。

继续阅读

让 luatex plain 输出 pdf

在“luatex plain 从零构建” 一文中,讲述了如何建立一个什么也干不了的 luatex plain 包。本文在 luatex plain 基础结构上,重新生成一份 Plain TeX 格式文件,使之可以支持 pdf 文件的输出,并添加一些西文字体。这样,我们便可以使用 luatex plain 进行一些西文文档的排版了。

继续阅读

luatex plain 从零构建

本文介绍了如何从一个 tex 引擎开始,逐步构建一个什么也做不了的 TeX “发行版”。这个 TeX 发行版,本身没有什么实际的意义,但是通过动手构建它,可以从一个侧面了解一个 TeX 系统的主要构成。

继续阅读

luatex 引擎 + plain TeX 格式

本来觉得没必要知道如何去折腾这个,但是最近 luoyi 同学问了这个,就发一下。喜欢折腾的就去折腾……

继续阅读

TeX 的宏 / 第二集

TeX 宏的参数可被构造为可选的。例如对于宏 \xx,假设它接受一个参数,所谓可选参数,是指 \xx[#1]{...}\xx{...} 这两种宏调用方式都成立。当然,要实现这一目的,需要一些技巧,其中最关键的是掌握 \futurelet 的用法。

继续阅读

TeX 的宏 \ 第一集

以 ‘\’ 为开头的 TeX 命令被称为“控制序列”。如果一个控制序列仅由字母组成,将其称为“控制字”。如果一个控制序列由非字母构成,将其称为“控制符”。对于 TeX 用户使用 \def 定义的新的控制序列,将其称为“宏”。

继续阅读