A System for Typesetting Mathematics
This paper describes the design and implementation
of a system for typesetting mathematics. 
 The language has been designed to be easy to learn
and to use by people (for example, secretaries and 
mathematical typists) who know neither mathematics nor
typesetting.  Experience indicates that the language 
can be learned in an hour or so, for it has few rules
and fewer exceptions.  For typical expressions, 
the size and font changes, positioning, line drawing, and
the like necessary to print according to mathematical 
conventions are all done automatically.  For example,
the input sum from i=o to infinity x sub i=pi over 
2 produces (formula).  The syntax of the language is specified
by a small context-free grammar; a compiler-compiler 
is used to make a compiler that translates this language
into typesetting commands.  Output maybe produced 
on either a phototypesetter or on a terminal with forward
and reverse half-line motions.  The system 
interfaces directly with text formatting programs, so
mixtures of text and mathematics may be handled 
simply.  This paper was typeset by the authors using the system described 
CACM March, 1975
Kernighan, B. W.
Cherry, L. L.
