A frame is the basic information and display unit. It contains text to be displayed in the text window, and a list of commands to be run along with the text. An index file is a list of names grouping related frames into a section. A given frame can be listed in several index files, and can include references to other index files. This establishes a graph of references not limited to tree structures, built on top of the UNIX file system.Figure 1 - Static structure of a metatext data base
Figure 2 - Dynamic structure of metatext processes
Two more buttons are included in the extended  window:
        ....
        ....       names of the files from the index file
        ....
        --------
        Modify
        Reread
	Restart
        Quit   
The items added automatically to the menus play the following role:
Sample metatext windows are displayed in Figure 3.
               (a)                         (b) 
           Figure 3 - Metatext windows with and without extended menu pulled down 
 Invoking metatext 
 
metatext [-e] [-exec] [-view] [-edit] [-md|-mc|-mt] index_file
The following settings determine the state of metatext when invoked:
 -e  metatext is open with the extended window, 
-exec   execute all UNIX commands in the selected frame,
-view   show  the text in the selected frame,
-edit  open an  editor on the selected frame,
index_file  the name of the index file.
In addition, the following settings are provided for backwards compatibility,
   -md demo mode (equivalent to -exec -view),
   -mc command mode (equivalent to -exec),
   -mt text mode (equivalent to -view),
Index file format
An  index file is a text file that 
contains the names of some or all 
frames in the metatext database.
Each name must be listed on a separate line; 
these frame names are then included in the metatext menu.
For example, the following index file Demo resulted in the menu shown in Figure 3:
2D-plants baretree lychnis-demo random-moss cypress
Syntactically, every line that does not start with a ":" is considered a part of the text and every line that starts with a ":" is assumed to include a UNIX command.
For example, the frame file 2D-plants may have the following form:
Understanding A Formalism 2D Plants :xclock :object /usr/u/vlab/oofs/ext/plants/ext/2D-plantsIf the user now selects the 2D-plants item in the menu shown in Figure 3, then a window including the descriptive text associated with the object will be displayed, and the UNIX commands embedded in the frame file will be executed (for example, the xclock command will be run producing a clock display on the screen); the resulting display is shown in Figure 4.
The :object command is a special case. In addition to invoking the Object Manager, which will place the indicated object from the object database on the lab table, :object sends a message to all currently running browser processes in order to position them on the selected object.
Figure 4 - Example of a metatext display
Although cyclic references to metatext processes are technically
possible (i.e.; a metatext process with index file A may contain
a frame indexing a metatext process with index file B and vice versa),
users commonly organize their metatext databases in a hierarchical 
fashion, to facilitate the conceptualization of the hypertext
documents.
Customization
Users may customize certain aspects of the metatext display.
The relevant file is found in the vlab/config directory, 
 also called
metatext.
The file metatext contains the following:
Editor xwsh -e vi Viewer xless -autoThese 2 lines define the UNIX commands to be executed when metatext invokes an editor or a window for viewing text.
 References 
 
P. Prusinkiewicz and J. Hanan. A hypertext environment for UNIX.
In Graphics Interface '88 Conference proceedings, (Edmonton, Canada, June 6-10, 1988),
 pages 50-55, Canadian Information Processing Society, 1988.
I. Hernadi, P. Prusinkiewicz, J. Hanan - metatext documentation