By Nicholas Higham
The book Track Changes: A Literary History of Word Processing by Matthew G. Kirschenbaum, published last year by Harvard University Press, presents a history of word processing up to around 1984. Kirschenbaum explores early software and hardware that authors used in their daily workflow, focusing mainly on nontechnical writing. Many of the initial developments have had a big influence on how we use computers in our writing today. In fact, some of the early software is still in use, notably by George R.R. Martin, author of the Song of Ice and Fire fantasy novels that were adapted into the HBO series Game of Thrones; Martin does all of his writing in Wordstar 4.0 (1987) on a DOS machine.
Reading Track Changes led me to reflect on my own early experiences with word processors and TeX to produce mathematical papers, and wonder in what ways computers have simplified mathematical writing over the last three decades.
Nowadays, everyone has easy access to TeX and LaTeX, and to inexpensive laser printers providing output at 300dpi. Moreover, advances in computer hardware mean that the time it takes to TeX a document is now almost negligible. When I was writing the first edition of Accuracy and Stability of Numerical Algorithms (published by SIAM in 1996), it took seven and a half minutes to typeset the book in LaTeX. By the time the (longer) second edition came out in 2002, that figure was down to five seconds (and has barely decreased since, not least because TeX does not take advantage of multicore processors).
But do computers really make it much easier to write papers now versus 30 years ago? In the 1980s, we had spell checkers, outliners, and even software for checking grammar. While spell checkers are now ubiquitous, grammar checkers are almost unheard of. Indeed, if my experience is anything to go by, some students treat their advisors as their grammar checkers!
Outlining is a way of gathering your thoughts by creating lists containing sections of text that you reorganize, extend, and gradually turn into a complete document. Again, tools for outlining in text editors and word processors have barely advanced over the last three decades, save for the wonderful Org mode in Emacs.
The great memory capacity of today’s machines means that unlimited “undo” is a standard software feature, and disks are so fast that documents can be auto-saved every few minutes without any impact on the user. Combined with version control and a sensible backup strategy, there is no reason to ever lose anything you have typed. This insurance is very different from the days when people kept files temporarily on RAM disks before saving them to much slower mechanical hard disks — losing everything if the RAM disk unexpectedly crashed.
My favorite story from Kirschenbaum’s book concerns the Bravo word processor written at Xerox PARC in the 1970s. Bravo had modes (like the classic Vi editor available on all Unix systems).1 Kirschenbaum notes, “If a user typed the four-character sequence E, D, I, T into Bravo while it was in the wrong ‘mode,’ rather than echoing the word ‘edit’ on the screen, the system would do the following: first, it selected the Entire document; second it Deleted it; third, it would Insert whatever the next character to be entered happened to be — in this case, T.”
In the 1980s, authors could barely have contemplated real-time collaborative writing. Overleaf, originally called writeLaTeX, provides this for LaTeX through browsers. I have not tried it—I can’t see myself ever doing serious writing in a browser—but the company is partnering with several journal publishers, providing templates and “one-click submission” to journals. If you think it would be useful for SIAM to offer such a facility, please let me know.
Another potentially-useful capability that is not widely available is the ability to automatically produce a précis of a piece of text. Microsoft Word used to have an autosummarize function that “identifies the key points in a document,” but this function was discontinued in Word 2010. With recent advances in machine learning, perhaps we will see such a function reappear. Could it produce a reasonable first draft of an abstract, given the paper? Could it even, in many cases, improve upon a published abstract?
Two modern ideas can offer real writing help. The first is “distraction-free writing,” in which all the things that vie for our attention when we look at our screens are hidden, leaving just a full-screen window containing the text being typed. While various recent editors have been designed to be distraction-free, good general-purpose editors can also be made so with appropriate customization (for example, see my blog post). If you’ve never tried this kind of minimal, zen-like writing, you should; there is something quite liberating about a screen containing just text and no extraneous features.
Finally, while TeX is the ultimate markup language for mathematicians, it can be overkill, especially at the outlining stage. The Markdown language, invented by John Gruber in 2004, provides a simple plain text markup syntax (for example, *italic text*, **bold text**) and is widely supported by applications, often in modified forms (for instance, at GitHub and Stack Exchange). Unfortunately it is not standardized, and various syntaxes for expressing mathematics are in use. Tools such as Pandoc can convert files between many different formats, including from Markdown to LaTeX.
Anyone interested in writing a history of mathematical word processing (which is outside the scope of Track Changes), will find past issues of SIAM News to be a treasure trove of information. Especially in the 1980s, SIAM News regularly carried articles reviewing and comparing word processing and typesetting systems, as well as adverts for such systems.
In conclusion, developments in computing over the last 30 years have not done as much as one might have thought to make writing mathematics easier. If I had to pick a favorite tool, it would be markup languages and the ability to convert between them. I write my SIAM News columns in Emacs Org mode, print drafts by exporting to LaTeX or html, and submit final copy to SIAM by exporting to Word via Pandoc. This workflow is great fun to use, and as Donald Knuth has said, “The enjoyment of one’s tools is an essential ingredient of successful work.”
1 If you accidentally enter Vi, type “:q!” to get out.