1.6 Using the Full Power of AS TE R

This section demonstrates some advanced features of AS TE R that are useful when rendering complex documents. AS TE R recognizes cross-references and allows the listener to traverse these as hypertext links. Cross-referenceable objects can be labeled interactively, and these labels can be used when referring to such objects within renderings. The ability to switch among rendering rules enables multiple views and allows the listener to quickly locate portions of interest in a document. By activating rendering rules, all instances of a particular object can be floated to the end of the containing hierarchical unit, e.g., all footnotes can be floated to the end of a paragraph. This is convenient when getting a quick overview of a document. AS TE R also provides a simple bookmark facility for marking positions of interest to be returned to later. Finally, AS TE R can be interfaced with sources of structured information other than electronic documents. Later, we demonstrate this by interfacing AS TE R to the Emacs calculator.


Cross-reference tags that occur in the body of a document are represented internally as instances of object cross-reference and contain a link to the object being referenced. Of course, how such cross-reference tags are rendered depends on the currently active rule for object cross-reference. The default rendering rule for cross-references presents the user with a summary of the object being cross-referenced, e.g., the number and title of a sectional unit. This is followed by a non-speech audio prompt. Pressing a key at this prompt results in the entire cross-referenced object being rendered at this point —rendering continues if no key is pressed within a certain time interval. In addition, the listener can interrupt the rendering and move through the cross-reference tags. This is useful in cases where many such tags occur within the same sentence.

Labeling a Cross-Referenceable Object

Consider a proof that reads:

By theorem 2.1 and lemma 3.5 we get equation 8 and hence the result.

If the above looks abstruse in print, it sounds meaningless in audio. This is a serious drawback when listening to mathematical books on cassette, where it is practically impossible to locate the cross-reference. AS TE R is more effective, since these cross-reference links can be traversed, but traversing each link while listening to a complex proof can be distracting.

Typically, we only glance back at cross-references to get sufficient information to recognize theorem 2.1. AS TE R provides a convenient mechanism for building in such information into the renderings. When rendering a cross-referenceable object such as an equation, AS TE R verbalizes an automatically generated label (e.g., the equation number) and then generates an audible prompt. By pressing a key at this prompt, a more meaningful label can be specified, which will be used in preference to the system-generated label when rendering cross-references.

To continue the current example, when listening to theorem 2.1, suppose the user specifies the label “Fermat’s theorem”. Then the proof shown earlier would be spoken as:

By Fermat’s theorem and lemma 3.5 we get equation 8 and hence the result.

Of course, the user could have specified labels for the other cross-referenced objects as well, in which case the rendering produced almost obviates the need to look back at the cross-references.

Locating Portions of Interest

Printed books allow the reader to skim the text and quickly locate portions of interest. Experienced readers use several different techniques to achieve this. One of these is to locate an equation or table and then read the text surrounding it. AS TE R provides this functionality to some extent.

We explained in Section 1.5 that different rules can be activated to change the type of renderings produced. Using this mechanism, we can activate a rendering rule (see Figure 4.1 on page 101) that speaks only the equations of a document. When a specific equation is located, rendering can be interrupted and a different rule activated. Using the browser, the listener can now move the current selection to the enclosing hierarchical unit (e.g., the containing paragraph or section) and listen to the surrounding text.

Getting an Overview of a Document

Rendering rules can be activated to obtain different views of a document. For instance, activating rendering rule quiet for an object is a convenient way of temporarily skipping over all occurrences of that object —activating quiet for object paragraph provides a thumb-nail view of a document by skipping all content. This is similar to skipping complex material when first reading a printed document.

We may skip instances of some objects entirely, e.g., source code; in other cases, we may merely defer the reading. This notion of delaying the rendering of an object is aptly captured by the concept of floating an object to the end of the enclosing unit. Typesetting systems like (LA)TEX permit the author to float all figures and tables to the end of the containing section or chapter. However, only specific objects can be floated, and this is exclusively under the control of the author, not the reader of the document.

AS TE R provides a much more general framework for floating objects. Any object can be floated to the end of any enclosing hierarchical unit —instances of object footnote can be floated to the end of the containing paragraph. The ability to float objects is useful when producing audio renderings, since audio takes time, and delaying the rendering of some objects provides an overview.

Rendering using Variable Substitution

When reading complex mathematics in print, we first get a high-level view of an equation and then study its various subexpressions. For example, when presented with a complex equation, an experienced reader of mathematics might view it as an equation with a double summation on the left-hand side and a double integral on the right-hand side, and only then attempt to read the equation in full detail. In a linear audio rendering, the temporal nature of audio prevents a listener from getting such a high-level view. We compensate by providing a variable-substitution rendering style. When it is active, AS TE R replaces sub-expressions in complex mathematics with meaningful phrases. Having thus provided a top-level view, AS TE R then renders these sub-expressions.


The browser provides a simple bookmark facility for marking positions of interest to be returned to later. Browser command mark-read-pointer prompts for a bookmark name and marks the current selection. Later, the listener can move to the object at this marked position by executing browser command follow-bookmark with the appropriate bookmark name.

Interfacing AS TE R with other Information Sources

AS TE R has been presented as a system for rendering documents in audio. More generally, AS TE R is a system for speaking structured information. This fact is amply demonstrated by the following example, where we interface AS TE R to the Emacs calculator.

The Emacs calculator, a public domain symbolic algebra system, provides an excellent source of examples for trying out the variable-substitution rendering style. Creating such an audio interface could be challenging, since the expressions produced are quite complex. However, the flexible design of AS TE R and the power of Emacsmakes this interface easy. A collection of Emacs Lisp functions encodes the calculator output in LATEX and places it in an Emacs buffer, which AS TE R then renders.

A user of the Emacs calculator can execute command read-previous-calc-answer to have the output rendered by AS TE R. The expression can be browsed, summarized, transformed by applying variable substitution, and rendered in any of the ways described in the context of documents.