[Next] [Up] [Previous]
Next: Summarizing the selection Up: Browsing audio documents
Previous: A complex example
Our internal representation for document structure is an
attributed tree. Tree structures are easy to traverse, and they
provide a uniform way of browsing structure present in both
plain text as well as mathematical formulae. This section
outlines our approach to enabling such browsing actions.
All browsing actions are defined with respect to the
current selection (a node in the internal tree
representation of the document) that is recorded in variable
*read-pointer*. Typically, the current selection is
initially the top of the document. The current selection can be
changed in two ways:
- Interrupting the current rendering by executing command
stop[+] (bound to s).
Commands stop and quit are described in
detail in s:read-selection.
- By moving the selection when no rendering is in progress.
Typically, single key-strokes[+] execute
the commands listed in the following paragraphs.
The following browser commands can be executed when no
rendering is in progress. Our key-mapping for these commands is
inspired principally by the key-map used by the UNIX
VI editor.
- t Move to the top of the document.
- C-u t move to the top of the current math
expression.
- h: Move left: set current selection to previous
sibling.
- l: Move right: set current selection to next
sibling.
- j: Move down: set current selection to first
child.
- k: Move up: set current selection to parent.
Below, these browser actions are augmented to enable the
traversal of the attributed tree structure defined in
c:recognition. In our model, all nodes have content.
- i: Move to content: set current selection to the
contents of the current selection.
The following actions move the selection to the various
attributes. The parent of an attribute is defined to be the
object being attributed. The result of moving to attributes can
therefore be undone by moving back up to the parent.
- ^: Move to superscript.
- _: Move to subscript.
- *: Move to accent.
- #: Move to underbar.
- !: Move to left subscript.
- %: Move to left superscript.
The above key-map[+] for traversing the attributes
was arrived at as follows: The choice for superscript and
subscript is automatic, since the keystrokes match the symbols
used by TeX to markup these attributes. Placing the fingers on
the row of numerals on a standard keyboard, the actions
necessary for typing ^ and _ are mimicked with the left hand to
arrive at the key-bindings for the left superscript and
subscript. The middle finger of each hand is used to get to the
accent/underbar.
Tables are the only objects in our internal representation
that do not conform completely to the tree-traversal model.
This is because each table element is linked to its parent as
well as to its four neighbors. The left and right neighbors can
be modeled as siblings, but we need extra links and hence extra
actions to traverse the entries by columns.
- a: Move to element above.
- d: Move to element below.
[Next] [Up] [Previous]
Next: Summarizing the selection Up: Browsing audio documents
Previous: A complex example
TV Raman
Thu Mar 9 20:10:41 EST 1995