Most scientific workstations sold today use some variant of the operating system and are capable of supporting the X window system. Almost any workstation meeting these requirements can run a program to preview typeset documents in ``dvi'' format. The documents in this format are usually produced by text processors that take either TEX or troff files as input. At SEP we produce all our reports using TEX. A more recent advance is the possibility of viewing figures as well as text with the previewer. Since is becoming a de-facto standard for exchanging figures some previewers are now able to display PostScript figures within the text. The ability to preview a whole document is very pleasing. Instead of printing 10 trial versions of a paper we can check them on the screen and make updates as necessary. Not only does this save trips to the printer it also saves time, money and trees.
A previewer like this is only a one way device, it displays the document in a static form, the user can learn no more form the previewed document than they could from a paper copy. The major advance that we have made recently is to allow interaction between the user and the document. As a result of our communications with the author of the ``xtex'' previewer (Dirk Grunwald at Colorado Univ.) he produced a version of the program that can react to mouse clicks on the previewed page and invoke any Unix command.
This flexibility opens up an enormous field of possibilities. The temptation to fill a document with buttons that spin off arbitrary commands is great. However in order to prevent the user from becoming overwhelmed by interaction we must define a consistent interface between button presses and system commands. In this example we use the utility program cake as an interface between the xtex button presses and the Unix commands. The dependency analysis performed by cake ensures that only the minimum amount of work necessary to complete a command is done.