Recognizing special patterns

[Next] [Up] [Previous]
Next: Descriptive renderings Up: Processing the quasi-prefix Previous: Processing the quasi-prefix

Recognizing special patterns

  Recognizing special patterns makes renderings sound more natural. Consider how experienced readers speak math expressions. Even though [tex2html_wrap5738] is spoken as ``the fraction a plus b divided by c'', [tex2html_wrap5740] is spoken as ``one half a''. In addition, mathematical notation is inherently ambiguous, with the same notational construct being overloaded to mean different things in different contexts. Thus, the [tex2html_wrap5742]'s in [tex2html_wrap5744] and [tex2html_wrap5746] have different meanings. The recognizer treats both occurrences of the [tex2html_wrap5748] as a visual attribute of the object being superscripted. The decision to treat the [tex2html_wrap5750] appearing as a superscript to the function as denoting the function inverse is made by rendering rules based on special patterns.

Since such interpretation is context sensitive, the quasi-prefix representation is enhanced -before an object is rendered, special-pattern (a memoized[+] function) is called to identify special patterns. A user can specify additional patterns by providing method definitions on function special-pattern for specific object types. These special patterns can then be turned on by calling (turn-on-special-pattern object-name).

The user can provide rendering rules named pattern for object object, which get invoked when the particular special pattern is seen. Individual special patterns can be turned off by executing statement (turn-off-special-pattern object-name).

All special patterns can be turned off by deactivating style use-special-patterns.

Special patterns built into AsTeR include:

TV Raman
Thu Mar 9 20:10:41 EST 1995