How I got into technical word processing
This post is an update of an early post that doesn’t appear to be archived. It tells a bit of how I started in technical word processing back in the middle of the last century. More precisely it was in 1965 that I started using a nifty (for that time) vector plotting program by Grey Freeman at the Yale Computer Center. I was a Yale grad student in theoretical physics working with Nobel Laureate Willis Lamb on laser theory. We needed to give presentations and we even made computer movies, back before anyone else had made them. After all, this was early in the days of computing! Grey’s program offered draftsman quality labeling of plots including Greek letters and some math symbols.
When I finished my PhD in 1967, I went to Bell Labs to continue working on laser physics and after a year got seduced by the idea of labeling graphs with real built-up, i.e., 2D, mathematical expressions. To this end, I created the SCROLL language (string and character recording oriented logogrammatic language), which was the first language capable of “typesetting” mathematical equations on a computer. I published it in AFIPS Conf. Proc. 35:525-536, AFIPS Press, Montvale, N.J. (1970). Admittedly SCROLL’s typography was limited. For example, the user had the responsibility of spacing the math, in contrast with TeX, Word 2007, and other sophisticated systems. But it was the first program capable of displaying built-up math, and it was fine for that time to be able to show nicely labeled results at various conferences.
After my two-year stint at Bell Labs, one of my fellow graduate students at Yale, Marlan Scully, suggested coming to the Optical Sciences Center at The University of Arizona to work on lasers and things and in particular to write Laser Physics, a book we had talked about writing some day with Willis. Well for a North Easterner, Tucson, Arizona was a most fabulous and interesting place and certainly one way to start seeing the rest of the world. So instead of going to Bell Labs in Murray Hill to work with the great computer science group there (and maybe later on eqn/troff, a TeX competitor), I went to Tucson. Marlan, Willis, and I (well mostly me, with two excellent consultants!) wrote the book and I personally typed over two/thirds of it using a superb new kind of typewriter called the IBM Selectric. It had handy type balls that you could exchange, so you could have italic, symbols, script, and other typefaces. What a huge improvement over the swapping out of keys which we had to do with the older IBM typewriters. The reason I had to type so much of the book was because even with the Selectric our secretaries couldn’t type math very well, especially with subscripted superscripts, integrals, and the like common in the laser theories we were writing about.
Laser Physics was typeset in South Korea and the drafts confused α and a, ν and v (nu and vee, since Times New Roman also confuses them), and other symbols. It took me over a month to straighten things out, even though the original manuscript was correct. Such problems tweaked my interest in preparing technical documents on computers. Publishing in physics journals was much easier, but you still had to spend significant time proof reading galley proofs.
Around 1978 I got a Diablo daisy-wheel printer to go with my IMSAI Z80 microcomputer. Not only was it much faster than the Selectric, it had many daisies some of which were proportionally spaced, and it was designed to work as a computer printer. I had gotten into microcomputing thinking that by computerizing my house I’d learn something about experimental physics, since Willis taught me that a real physicist needs to know something about both experiment and theory. To handle the proportional spacing, I wrote a printer driver. My colleague Rick Shoemaker, another microcomputer addict, and I decided to write a book called Interfacing Microcomputers to the Real World, and we “typeset” it using my printer driver and a daisy-wheel printer. Addison-Wesley published the book, just as it had published Laser Physics, but this time using our nice proportionally spaced camera-ready proofs.
Well clearly, we needed to be able to typeset math, so I generalized the printer driver to do so using algorithms like those for the SCROLL language. Another physicist, Mike Aronson, who had written the PMATE editor I was using, suggested that the input format should resemble real linearized math as in the C language rather than the Polish prefix format used in SCROLL. So I wrote a translator to accept a simplified linear format, the forerunner of UnicodeMath which we use in Office apps today. The translator was coded so tightly in Z80 assembly language that it along with the rest of the formatter fitted into 16KB of ROM for a controller some friends of mine created for Diablo daisy-wheel printers. When used with a tractor feed, it could print the whole document with one daisy, roll the document back, print with the next daisy, etc. It was positively wild watching the printer type the symbols in place after printing the main text.
As a laser physicist, I was naturally symbiotically attached to the idea of laser printers, so when HP came out with their early laser printers, I converted the program to 8086 code for use on IBM PCs and HP LaserJets. The editor and formatter ran just fine in MS-DOS in the PC’s incredibly roomy 640KB. Rick and I updated our microcomputer book to The IBM-PC from the Inside Out, once again published by Addison-Wesley from our camera-ready copy. I called the program the PS Technical Word Processor, and my users and I wrote many papers and books using it. Well many by a typical professor’s standards, i.e., not by Knuth’s (!), and essentially none by Microsoft’s standards. I really wanted to distribute the approach more widely. With myriad improvements, e.g., LineServices, we now have OfficeMath. And yet there’s still much to do!