Towards Interactivity for

Much work has been done to improve the level of interactivity avdable to TEX users. This work is categorized, and probable reasons are discussed why it is not really widespread. A more general view of "interactivity" may also lead to other tools. A common prerequisite for all these tools is the need to know about TEX'S functionality. The description of TEX should be formal, since the avdable lnformal descriptions have not given satisfactory results. After an abstract decomposition of TEX, an approach for the formal specification of one subsystem (the macro language) is presented. This specification may be interpreted by a Common Lisp system. The resulting Executable TEX Language Specification (ETLS) can be used as the kernel of a TEX macro debugger. Variations on A Theme of this principle is done in the Grif system (Roisin and Vatton 1994), but this is not related to TEX. "Interactive TEX is the oldest theme on TUG meetThe need to work with the formatted document ings: Morris (1980, P12) reports that D.E. Knuth representation was and is particularly motivated by started 'Is Opening remarks at the first TUG meeting the error-proneness of creating TEX input. Simple erwith it. rors (e.g., forgetting a brace) occur very often and [Elarly on he thought an interactive TEX would may lead to complaints in places that are far away be useful, but finds now that T ~ X users infrom the error's source. In addition, the time lag beternalize what TEX will do to such an extent tween the creation of the error and the notification that they usually know what TEX is going to about it is too large for a smooth work flow. Direct do about their input and so have no pressing need to see it displayed on a screen immediately after the input is finished. Already here a precedent is set for most future reflections on an interactive TEX: A user interface for an author is anticipated that gives feedback on the formatting of the document. Actually, many TEX users don't agree with Knuth, they want to see their formatted document displayed. With the arrival of WYSIWYGclass desktop publishing systems, some of them even want to get it displayed while they are editing, and effectively to edit the formatted representation. It is worth noting that early usage of the term "interactive formatter" concerns mostly immehate feedback, i. e. , the ability to see the formatted representation while the document is input (Chamberlin et al. 1982). In the TEX domain this approach was presented first by Agostini et a1. (1985), still on an IBM mainframe a t this time. Blue Sky Research invested work in that direction, their product Textures is now advertised a s an "Interactive TEX. " The most advanced approach in the connection of TEX input with formatted output was explored by the ~ T E X project (Chen and Harrison 1988). In principle, it was possible to edit both the TEX source and the formatted representation as the respective entities were linked to each other. A full implementation manipulation (DMP) systems are environments that couple actions with reactions of the system and provide immediate feedback (Shneiderman 1983). They encourage one to create and change documents in an ad-hoc manner, without the need for much preplanning of abstractions and structures. (One may argue that this is a disadvantage for the task of writing; but this is not an argument I want to address in this article.) It is important to emphasize that two terms mentioned above, WYSIWYG and DMP, concern completely different abstractions. A WYSIWYG system allows one to manipulate the presentation of a document; it concentrates on the task of creating and changing t h s presentation, it focuses on formatting. The term WYSIWYG is domain specific, it is tied to software systems that do layout (in the broadest sense, not only of documents). The category DMP is much more general and such on a different abstraction level: It classifies a set of interfaces that enables users to directly manipulate the objects they are working with, and where immediate feedback is given to them concerning these manipulations. DMP interfaces are often realized by means of windows, icons, menus, and pointing devices (e.g., mice); a member of this subclass of DMP interfaces is also TUGboat, Volume 15 (1994), No. 3 -Proceedings of the 1994 Annual Meeting 309