SCREEN CONTROL

At present, DVIBIT is the only family member which supports interactive viewing of the TEX output. The following description therefore applies only to it, but the functionality should be adhered to in any new interactive device drivers.

All switches, including the page selection (-o) and page origin (-x and -y) switches, work normally. In order to avoid unnecessary waste of screen space, you probably will want to specify -x0in and -y0in to remove the default one-inch left and top margins. The -q option is probably also advisable to avoid warning messages, such as from font substitutions.

At beginning of page, a command and status menu is displayed at the top of the screen. When the end-of-page command is reached in the DVI file, or as soon as keyboard input is available, the driver will enter the end-of-page routine. Any keyboard input command is then read and acted upon; unrecognized input is discarded with a warning beep. The advantage of checking for keyboard input during the main DVI reading loop is that unwanted display can be avoided. This is valuable if you are repositioning the page, or skimming a document. The EMACS text editor uses much the same display algorithm—do nothing more to the screen if a user command will probably invalidate it anyway.

The input can select

Although the menu on the top line displays only a subset of the possible commands, a number of synonyms are provided for user convenience. In particular, arrow keys in VT52 and VT100 modes are recognized, as are EMACS control-character commands to move the cursor or page display. Commands are provided for both coarse and fine adjustment of page position.

Here is the current command list. Input is immediate; no terminating carriage return is necessary. Consequently, typing error correction is supported only for the digit string command; it ends at the first non-digit typed.

D

Move the display down by 1/8 of screen size.

U

Move the display up by 1/8 of screen size.

L

Move the display left by 1/8 of screen size.

R

Move the display right by 1/8 of screen size.

d or Ctl-N or down-arrow

Move the display down by 1/64 of screen size.

u or Ctl-P or up-arrow

Move the display up by 1/64 of screen size.

l or Ctl-B or left-arrow

Move the display left by 1/64 of screen size.

r or Ctl-F or right-arrow

Move the display right by 1/64 of screen size.

. or Ctl-L

Redisplay current page.

@

Redisplay current page with startup page positioning.

CARET or BACKSPACE

Redisplay previous page.

nnn

nnn is a digit string; DELETE/RUBOUT and BACKSPACE keys correct typing errors in it. Move to nnnth page, where document pages are numbered 1, 2, .... The TEX page numbers are displayed in the status window. This is a recursive display; if you respond at end-of-page with a next-page command, display will revert to the page sequence you were viewing when you first issued the nnn command.

SPACE or RETURN or Ctl-V

Display next page.

Q or q or X or x

Quit or exit. The screen will be cleared and the terminal restored to its normal font and emulation mode.

Z

Zoom up one magstep (1.2 times larger) from current size.

z

Zoom down one magstep (1.2 times smaller) from current size.

It is likely that some font magnifications will be unavailable for zooming, so do not be alarmed if some characters are displayed as blanks when you do this. You can use the font substitution mechanism (-f option above) to work around this, or you can ask your font administrator to generate the required magnifications. When font substitution happens because of an unavailable magnification, characters of an incorrect size are used with the spacing required for the font which TEX used, so output is likely to look peculiar.

To avoid exhausting the terminal's font memory, larger characters as sent as raster bitmaps each time they are used, rather than as downloaded fonts, making the screen display much slower. The size limit is large enough that this should not be necessary except at large magnifications.