AsTeR is a computing system[+] for producing audio renderings of electronic documents. The present implementation works with documents written in the TeX family of markup[+] languages: TeX, LaTeX and AMSTeX. We were motivated by the need to render technical documents, and much effort was spent on designing audio renderings of complex mathematical formulae. However, AsTeR works equally well on structured documents from non-technical subjects. Finally, the design of AsTeR is not restricted to any single markup language -all that is needed to handle documents written in another markup language is a recognizer for it.
AsTeR recognizes the logical structure of a document embodied in the markup and represents it internally. The internal representation is then rendered in audio by applying a collection of rendering rules written in AFL, our language for audio formatting. Rendering an internalized high-level representation enables AsTeR to produce different views of the information. A user can either listen to an entire document, or browse its internal structure and listen to portions selectively. The rendering and browsing components of AsTeR can also work with high-level representations from sources such as OCR-based document recognition.
This chapter gives an overview of AsTeR , which is implemented in Lisp-CLOS with an Emacs front-end. The recommended way of using it is to run Lisp as a subprocess of Emacs. Throughout this chapter, we assume familiarity with basic Emacs concepts.
s:basic introduces AsTeR by showing how documents can be rendered and browsed. s:extending-system explains how AsTeR can be extended to render newly defined document structures in La)TeX. s:changing-styles gives some examples of changing between different ways of rendering the same information. s:advanced-reading presents some advanced techniques that can be used when listening to complex documents such as text-books. AsTeR can render information produced by various sources. We give an example of this by demonstrating how AsTeR can be used to interact with the Emacs calculator, a full-fledged symbolic algebra system.