1个不稳定版本
0.0.1 | 2023年7月22日 |
---|
#53 in #tex
315KB
5.5K SLoC
工作正在进行中
一个通用TeX引擎的实现,TeX排版系统的核心。这个crate主要遵循面向对象的设计原则,以提高模块化和适应性,功能主要通过泛型特质实现。这允许编译器针对特定类型优化代码,同时仍然允许进行轻松定制。
lib.rs
:
工作正在进行中
一个通用TeX引擎的实现,TeX排版系统的核心。这个crate主要遵循面向对象的设计原则,以提高模块化和适应性,功能主要通过泛型特质实现。这允许编译器针对特定类型优化代码,同时仍然允许进行轻松定制。
特定的Engine
组合
- 一个
Mouth
,它提供Token
以处理 - 一个
Gullet
,它扩展宏并返回基本类型(StomachCommand
), - 一个
State
,它跟踪引擎的当前状态,例如当前的CategoryCodeScheme
,并允许推入/弹出堆栈, - 一个
Stomach
,它处理StomachCommand
并返回TeXBox
。
几乎所有算法也都是针对这些特质的实现进行泛化的。普通TeX/LaTeX的默认Engine
可以在PlainTeXEngine
中找到。
依赖项
~4.5–6.5MB
~112K SLoC