ivi Formatting Commands and Operations
This section may be read in its entirety, or you may use the links below to consult a particular question.
The operations in this webpage are appropriate only for text. They also assume that
ivi is being used with a fixed-width (i.e. a typing) font, so that the concept of character "column" is meaningful.
Tabs and Margins
Operation: Set/clear tab
Purpose: Set/clear a tab stop.
Default Key: CTRL V
Operation Number: 33
The operation sets or clears a tab stop in the current cursor column. Only the first 144 tabs can be changed by the user. Beyond that point, fixed tab stops exist every 8 characters.
Tabstops and margins are shown on the second line of the screen.
See also the TAb command.
Purpose: Set evenly spaced tab stops.
Format: TA number
Parameter: This specifies the interval at which tab stops should be set. The first is set in column 1; the last is before column 144 (beyond which tab stops occupy fixed positions). Note that the new tab stops are additional to the existing ones. TA 0 clears all tab stops.
- TA 4 - set stops every 4th column
- TA - clear all stops
Operation: Tab cursor
Purpose: Move the cursor to next tab stop
Default Key: TAB
Operation Number: 34
If the cursor is before the left margin, tabbing moves it to the left margin. If it is beyond the last tabstop but before the right margin, tabbing moves it to the right margin. If it is past the right margin, tabbing moves it one position.
CTRL I is synonymous with TAB
Operation: Set left, right margin
Purpose: Set the margin to the cursor column
Default Keys: ESC ESC l, ESC ESC r
Operation Numbers: 70, 71
The margins are marked by the symbols < and > on the second line of the display. If both are in the same column, they are marked by the + symbol. The left margin cannot be set to follow the right, nor the right to precede the left.
See also the command MArgins.
Purpose: Set left and right margins
Format: MA number|number
Parameters: These represent the new left and right margins respectively.
- MA 11|70 - set left margin to 11, right to 70
- MA 34 - set left margin, leaving right
- MA |120 - set right margin, leaving left
Operation: Flush left
Purpose: Shift text to the left margin
Default Key: ESC ESC l (i.e. letter "l")
Operation Number: 72
Shifts the text so that its first character is in the left margin column.
Operation: Flush right
Purpose: Shift text to the right margin
Default Key: ESC ESC r
Operation Number: 73
Shift the text so that its last character is in the right margin column.
Purpose: Centre text between the margins
Default Key: ESC ESC c
Operation Number: 74
Purpose: Shift a specified character to the right margin
Default Key: ESC ESC k char
Operation Number: 96
This is one of the few IVI operations (as distinct from commands) which require a parameter. In this case char denotes any displayable character. The effect of the operation is to find the first instance of char in the line, and shift the text so that this is in the right margin column.
The intent of this seemingly strange operation is to assist in building keyword-in-context indexes. A series of lines is prepared by typing or processing, perhaps using the "merge" operations. The keyword on each line is preceded by a character such as *. This operation can then be used to align the * symbols.
Doubtless some users have found other applications.
Purpose: Rearrange the paragraph starting at the cursor to fit between left and right margins
Default Key: CTRL r
Operation Number: 23
The Reformat operation begins at the cursor and continues until a blank line or a line not beginning in the left margin column is reached. Each reformatted line is filled with as many words as possible. Except possibly for the first line, the lines begin in the left margin. (The first line is treated slightly differently, in the manner users are likely to expect.)
If the JUstify option has been set, the lines other than the last will be "justified" by the insertion of extra spaces between words to align the ends of lines with the right margin. Given the fact that modern printing software achieves the same purpose with variable-width fonts and variable spacing, this hangover from former days is now spurious, but it remains present. By default it is disabled.
If the HYphen option has been set to levels 1, 2 or 3, words at the ends of lines other than the last may be hyphenated. The levels are increasingly permissive, and the higher ones sometimes produce poor results. By default, the level is set to 0, which allows hyphenation only where the user has typed - . Hyphens inserted by the operation are distinguished internally from those inserted by the user. The latter are preserved during subsequent reformats; the former are not.
After reformatting, the old paragraph is sent to corefile 0, from which it can be recovered if the user wants.
The operation can also be used to break a paragraph into two or to recombine two paragraphs into one.
Purpose: Enable or disable right justification during Reformat
Format: JU digit
Parameter: If digit = 0, justification is disabled; if digit = 1, justification is enabled.
Justification was designed for a time when IVI was being used to create typed documents. In the modern environment of variable-width fonts and variable spacing this is best left to the printing and formatting software. In short, there is no longer much justification for enabling this!!
Purpose: Set the hyphenation level for Reformat
Format: HY digit
Parameter: digit represents hyphenation quality. 0 denotes hyphenation only where the user has entered a hyphen (i.e. best quality), and 3 the worst.
Again, this is a holdover from earlier years. Implementation was done when computer memories were small, and the upper levels are not very good. (They are also oriented to English.) Like justification, hyphenation is now best left to printing and formatting software.
Purpose: Enable or disable autowrap
Format: AU digit
Parameter: If digit = 0, autowrap is disabled; if digit = 1, it is enabled. The default is 0.
The autowrap feature saves thinking about the ends of lines while typing. If autowrap is enabled and you type after the right margin at the end of a line, a mini-reformat takes place. This carries words which run over and past the margin to the next line along with the cursor. In effect, the typed material if reformatted on the fly.
Purpose: Enable or disable decimal tabbing
Format: DT digit
Parameter: If digit = 0, decimal tabbing is disabled; if digit = 1, it is enabled. The default is 0.
Decimal tabbing helps type columns of numbers with their decimal points aligned. Briefly this works as follows. With decimal tabbing enabled, TAB shifts the cursor to the next tabstop as usual. If, however, you now start to type a number (+ - digits), its characters are shifted leftwards until you type a decimal point (or indeed anything except + - digits), after which typing reverts to normal. The effect is to leave the decimal point in the tab column.
Be warned: if there are no spaces remaining before the number, the shift overwrites material earlier in the line.
This may be a good place to mention another feature which helps to create text containing tables. Once again, it is relevant only when the resulting document will be displayed and printed in a fixed-width font. It also assumes that the font contains, in its upper range, the eleven box-drawing characters (corners, T-junctions, horizontal, vertical and cross), which were once prevalent in fonts, but which have now often been replaced with Latin-1 (accented) vowels. These eleven characters are simply text-characters which are used to form the desired boxes.
To simplify typing boxes,
ivi provides a box-drawing mode, designated by GRAPHICS in the top right-hand corner of the display. It is entered with:
Operation: Box drawing
Purpose: Enter box drawing mode
Default Key: ESC ESC g
Operation Number: 94
In box drawing mode, the four arrow keys don't just move the cursor, they draw lines wherever the cursor goes. You don't have to be concerned with choosing the right line character. IVI selects the proper one automatically, modifying it as necessary. For example, if a character-space already has a horizontal line and you cross it vertically, the horizontal is replaced by a cross. If you turn a corner,
ivi uses the proper corner symbol.
Typing DEL puts
ivi into box erasing mode. Moving the cursor over a previously drawn line now erases it.
ESC ESC g cancels box erasing mode and restores box drawing mode.
RETURN cancels both modes
Most users will no doubt create boxes/tables using text-formatter features rather than the facilities described here. These, however, are very easy to use in the limited environment for which they were designed.