proof [options] [files]
The proof tool reads troff output from the given files (default standard input) and simulates the resulting pages in a window. Proof normally inserts cover sheets and dividers to separate text from different files. A tiny pair of spectacles appear in the cursor while proof is busy yet still able to respond to commands. The cursor changes to an alarm clock when proof is temporarily unable to respond to commands. Button 3 gives a menu of the following commands.
Displays the previous page of text.
Displays the next page of text.
Presents a dialogue box in which you type the number of the page you'd like next. A signed number is treated as an offset to the desired page; the $ symbol requests the last page.
Presents a dialogue box in which you type a regular expression: /reg_exp causes the cursor to point at the next match of the regular expression, and ?reg_exp points the cursor at the previous match. Both searches wrap-around.
On sliding to the right, presents a menu listing the known troff output file names, and an option to select a new file. The menu appears with the name of the file currently being viewed selected. The first page of a chosen file is displayed.
On sliding to the right, presents a switch for selecting normal or enlarged text.
On sliding to the right, presents a menu offering this page and this file and maybe all files. (See the options below for when all files is offered.) A dialogue box then appears in which you edit a shell command to operate on the selected text. The command presented initially will print out the selected text, but you might want to edit it to request some particular printer or feature of a printer, for example double-sided output.
Exits from proof.
Some of these commands can also come from the keyboard: use backspace for prev page, space for next page, p for page num (or just type the number without the p), / and ? for search, n to repeat the last search, N to repeat the last search but in the opposite direction, s to move the scale switch, and q for quit.
Button 1 can, if the necessary preparations have been made via troff, be used to highlight regions (selections) in the text. The troff special character \(ZS marks the top-left corner of a selection, and \(ZE marks the bottom right corner. If \(ZM appears in place of \(ZE, a rectangle is drawn around the selection. Once a selection has been highlighted with button 1, button 2 might be used to inspect it (see the -b option below).
If the -b option has not been used or if there is currently no selection, button 2 changes the cursor to a hand that drags the page of text around inside the window.
There are also some commands that can be invoked only from the keyboard. The x command strikes crosshairs through the current button 1 selection. This is useful in connection with the -b option below for making multiple selections. The c command cancels the latest crossed selection, and C cancels all crossed selections.
Draw page N first for each file.
Pause N seconds between pages (disables the button 3 menu).
Update the screen at the same time as drawing the next page, as opposed to preparing the page then displaying it all in one go. (The latter, default action, is much the faster.)
Draw on an A3 sized page, rather than the default A4. (Reshaping the window changes your view of the drawing area, not the size of the drawing area.)
Draw on a landscape format page (long axis horizontal), rather than the default portrait format.
Magnify, i.e. start at the enlarged scale.
Omit cover sheets and dividers; notify ends using pop-up messages.
Make page num commands scan all known files, and printer commands offer to print all files.
Make search commands scan all known files, and printer commands offer to print all files.
Use command as the default shell command for sending text to a printer.
Connect to a controlling process via the specified socket.
This section is relevant only when the -b hostname,port option has been used.
Proof reports each inspection with button 2 to the connection, and waits for a command from the connection, displaying the alarm clock cursor whilst waiting. A report has the form Ffilename\nSselection_number,sel_no...\n, where selection_number is the current selection's number, and ,sel_no... is a comma-separated list of crossed selections numbers (all of which are assumed to be in the same file). The commands from the connection can also arrive pre-emptively. They are as follows.
Presents a dialogue box in which prompt and default (an editable default response) appear. (The \036 is an ASCII record separator character.) Reports Dresponse\n to the connection, or d\n if the dialogue was cancelled.
Ensures that filename appears in the menu of filenames.
Ensures that filename appears in the menu of filenames, and if it isn't the current file, displays the first page of that file.
Ensures that filename appears in the menu of filenames, and displays the first page of that file, even if it is the current file.
Displays the page with the given number, which can be absolute, relative or $ (for the last page).
Displays and points the cursor at the next match of the regular expression. The first character must be / or ? to indicate the direction of the search.
Displays a menu containing the given items. If the first item is numeric, it is not an item but the ordinal number (counting from 0) of the item to be selected when the menu first appears. If an item includes the character \034, that separates the item's text before it from a corresponding explanation of the item. That explanation is displayed in the title bar when the item is selected in the menu. An item is chosen by the release of button 2. Reports Mnumber\n to the connection, where number is the ordinal number of the chosen item, or -1 if nothing was chosen.
Do nothing (useful as it cancels any alarm clock cursor).
Pop up the pop_up_message text.
Quit.
Report the current selections, in the same format as when button 2 is pressed.
Used when the standard input is to be treated as a sequence of separate documents. The documents should be separated by a "x I" line. This command is for synchronization with the controlling process, ensuring that other commands from the connection are each applied to the relevant document.
Causes the corresponding selection to be highlighted.
Display a switch with the given title, allowing a choice to be made from the given three (or two) labels. Reports Cnumber\n where number counts from 0, or is -1 if nothing was chosen.
Displays title in the title bar.
Wait for a further command from the connection, displaying the alarm clock cursor.
Wait for a further command from the connection, displaying the hourglass cursor.
When piping into proof from troff, there is usually a delay during which initial settings of scale and page number can be adjusted. It isn't necessary to hit next page during this interval, as the first page will appear as soon as it is ready.
specifies the processor architecture on which proof is to be executed. Unless you are accessing proof remotely in a heterogeneous computing network, the default is likely to be appropriate. Recognised values include irix6, solaris2 and i486.
names the directory in which CADiZ is installed. In particular, executables are kept in $CADIZ/mip/bin. If that directory is in your $PATH, then it is not necessary to set the CADIZ variable.
names a file containing the font used in popups, such as menus. It defaults to a file in $FONTSDIR.
names the directory where proof's fonts are installed. It defaults to $CADIZ/mip/fonts/$SETTER.
should be either latex or groff. It is used only in the default value of $FONTSDIR. It defaults to groff.
The exit status of proof is
on normal termination,
if something amiss requires termination.
$FONTSDIR Directory of screen fonts
$FONTSDIR/.missing Log of unavailable fonts and characters
troff(1)
Brian W. Kernighan, ``A Typesetter-independent Troff''
If you must keep proof around for viewing another document later then you can. However, if the later document consists of new versions of the same files then take care to restart viewing through the filename menu, otherwise proof may read the wrong bit of a file and quit.
Lines requested using \D are drawn one screen pixel wide, whereas they should be drawn in a width proportional to the current point size.
The printer all files command is unable to print the file /dev/stdin.