# How on earth did Knuth do it?

Donald Knuth has written what are arguably the most beautiful books with the TeX system.

Now I understand that Knuth wrote them in plain TeX, and still uses plain TeX for his current projects. Which, to me at least, raises the question: how is it even possible to write a book of any significant size without the benefit of the LaTeX macros and the CTAN packages, some of which, I believe, will only work with LaTeX?

For instance, how did he do his drawings? How did he define his environments? (Did he?) How did he manage floats?

-
At least in the case of the TeXbook you can actually see how did he do it since you can see the source of the TeXbook in CTAN. –  Gonzalo Medina Aug 1 '11 at 21:18
There's a reason why he wrote a TOC for seven volumes in 1962, but didn't get beyond number four yet. ;-) –  DevSolar Aug 1 '11 at 21:19
As for drawings, Knuth uses METAPOST. Implementing "environments" is easy. Floats are already in plain. Autogenerated TOC is not that difficult (I did one myself for my master's thesis). And Knuth's achievement (at least wrt. TeX macros) is not really that strange; LaTeX and ConTeXt also evolved from plain.tex, the former written primarily by Leslie Lamport, the latter by Hans Hagen. And plain gives you in fact more freedom - almost nothing is hardcoded! And there are plain TeX packages out there, too (tikz, TAP for tables, and quite a few others; google gustlib, for example). –  mbork Aug 1 '11 at 21:39
knuth designed tex to do exactly what he wanted. he is undoubtedly more familiar with what it can do and how to use it than anyone else is ever likely to be. the design of tex was based on what he needed for the revised volume 2 of taocp, and the first editions of volumes 1 and 3 were already in print in a form he liked, so "all" he had to do was make those concepts and constraints possible. he was generous in considering suggestions from other people, and released his early drafts of the tex and metafont books to many readers to make sure nothing was missed. still, a real tour de force! –  barbara beeton Aug 1 '11 at 22:25
@mbork For some of the figures he used ctan.org/pkg/picmac –  Yiannis Lazarides Dec 11 '11 at 3:58

For instance, how did he do his drawings?

I understand him to use MetaPost exclusively at this point.

-
Jim have Don or John make any public/private comments about Asymptote which is MetaPost "replacement"? –  Predrag Punosevac Jan 15 '12 at 3:29
There was a most impressive presentation on Asymptote at the San Francisco TUG meeting (I moderated the session), and Don was in the room so he was at least aware that there is a very capable program out there. I don't believe that he asked a question (there is a video online) and I don't know if he approached John Bowman about it at all; you'd have to ask John. As to John Hobby, I know zero. (Perhaps you know this: Asymptote isn't really a replacement (I note your quotes) in that it doesn't solve the systems as you write.) –  Jim Hefferon Mar 2 '12 at 18:07

How did he manage floats?

Plain-tex format builds up on the primitive \insert with its \topinsert, \midinsert and \pageinsert macros.

-