[Tex/LaTex] Why did Donald Knuth create TeX

knuthtex-history

I am aware of the basic history of TeX and LaTeX and Dr. Knuth's motivation for creating TeX. Mainly, he was disappointed with the quality of the galley proofs of the second edition of his book after the monotype system was replaced by phototypesetting one. That occurred in 1977. Thereafter, he started to work on TeX and officially released it in 1978.

I will make an assumption that creating TeX is a project of decent magnitude. Wasn't there any other solution other than creating TeX? By that time, Bell Labs have already developed troff (1973) and eqn (1974) for Unix which, if I am correct, was starting to be licensed to academic institutions during that time (late 70s). Was Donald Knuth aware of those or had access to them? I am also wondering whether there were other similar alternatives.

I know that those text processing programs are inferior to TeX, but I am sure that if they were available to him, they should have done a good job providing him great tools for writing a book. Thus, my question boils down to this: Were there other programs available to him? If yes, what made him create TeX? Did he find them insufficient or just wanted to make his own program?

Best Answer

I answer the questions of the text not the one in the headline.

He was aware of several systems like troff and EQN, etc. Some are mentioned and cited in his Gibbs Lecture of 1978 (published 1979). In this text he looked at the input format of two of them and explained why he prefers the backslash notation of \TeX.

Knuth answered your question about troff in: https://www.tug.org/TUGboat/tb17-4/tb53knun.pdf; see p.349, left column, the question by Andries Lenstra.

Andries Lenstra: Why didn't you start from troff? It was completely inappropriate?

Donald Knuth: Yes, yes. You see, troff was patched on top of ... I mean, there was a whole system, it was a fifth generation, each of which was a patch on another one. So it was time to scrap it and start all over again: "Here's what the language should be, so let's design some good data structures for it." Not "Let's try to be compatible." I had the advantage that I was not at Bell Labs, where I wouldn't be hurting anybody's feelings by saying, "Let's throw it all away." [laughter] It was impossible for the people at Bell Labs to do such a thing -- it wouldn't be nice. But it occurred to me that now that we had proof that this goal was possible, I should start over, and rethink how I could get from input to output, so the program could be much more unified, much smaller, and would also work. I mean, troff was collapsing all the time. A lot of the earliest users of TeX had been frustrated by troff breaking over and over again, so it had gotten unwieldy. But it had also proved that there was light at the end of the tunnel.

I also had to scrap TeX, you know, and start over again; after five years, I decided that it would be best to go back and re-do the program. But it would have been very hard to do that if my friend in the next office had done it. [laughter] So, I just have this philosophy that there will be always some people who are more interested in quality than others, and I wanted to make TeX good for them. I don't see any good way to make it impossible to make a bad document, unless you have only a system with a small menu of options; that's good for a large class of users, to make a system that's so simple that you can't possible do anything ugly in it.