Recognizing special patterns
[Next] [Up] [Previous]
Next: Descriptive renderings
Up: Processing the quasi-prefix
Previous: Processing the quasi-prefix
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:
- [tex2html_wrap5752] as the superscript is interpreted
as squaring, [tex2html_wrap5754] as cubing etc.
- [tex2html_wrap5756] as the superscript of a valid matrix expression
denotes transpose.
- [tex2html_wrap5758] as the superscript of a function name
denotes function inverse.
- [tex2html_wrap5760] denotes a derivative.
TV Raman
Thu Mar 9 20:10:41 EST 1995