唐纳德·克努斯 (Donald Knuth) 使用 TeX 系统撰写了堪称最美丽的书籍。
现在我明白了 Knuth 是用纯 TeX 编写的,并且仍在使用纯 TeX 进行他当前的项目。这至少对我来说提出了一个问题:在没有 LaTeX 宏和 CTAN 包的情况下,如何可能编写一本相当规模的书,我相信其中一些宏和 CTAN 包只能在 LaTeX 中使用?
例如,他是如何绘画的?他是如何定义环境的?(他定义过吗?)他是如何管理浮动的?
答案1
Knuth 创建了一个很棒的小宏包;它应该在你的本地 TeX 安装中manmac.tex
。他用它作为 TeXbook。阅读它非常很有启发性。他会做脚注、插入和图表之类的事情。有一种“校样模式”,可以在校对稿件时改变某些事物的行为。他有适当的宏来将字体设置为 7pt 大小(包括调整数学模式字体、符号、支撑框等)。他有自定义输出例程。他有用于逐字文本的特殊语法。他建立了自己的索引。他有双列环境。
它只有 700 行代码。它真的值得研究。他甚至在 TeXbook 中解释了其中的大部分内容。
正如 Barbara Beeton 在评论中指出的那样,taocpmac.tex
是用来排版《计算机编程艺术》丛书的,也值得学习。
答案2
例如,他的绘画是怎样完成的?
我理解他使用MetaPost仅在这一点上。
答案3
他是如何管理花车的?
Plain-tex 格式在原始格式的基础上,加入了\insert
、\topinsert
和\midinsert
宏\pageinsert
。