.left margin .ifnot hlp .test page 8 .hl 1 FLAGS .x Flags .endif hlp .helpc FLAGS .br A flag is a character that performs some special action. For example, the ampersand (_&) flag causes the next character to be underlined. The predefined flags and their default characters are ACCEPT#(__), BREAK#(_|), CAPITALIZE#(_<), CONTROL#(.), EQUATION#(_{, _}), LOWERCASE#(_\), HYPENATE#(_=), INDEX/SUBINDEX#(_>), OVERSTRIKE#(_%), PERIOD#(_+), SPACE(_#), SUBSTITUTE#(_$), UNDERLINE#(_&), and UPPERCASE#(_^). .ifnot small In addition, flags can be defined by the user for escape sequences that cause special actions on the printer. The character associated with any flag can be changed to a different character. Normally, flags should be defined once at the beginning of a document, and not redefined later in the document. The _.FLAGS commands are illegal inside a note or footnote. .p Two classes of RUNOFF commands affect flags: the _.FLAGS flag-name and _.NO FLAGS flag-name commands turn on and off the recognition of a flag character, and the _.ENABLE/_.DISABLE flag-action commands enable or disable the action of a flag. .p Recognition of flag characters means that the flag character will not be used for text, and it will not appear in the output. A recognized flag may or may not perform its flag task, depending or whether or not it has been enabled. .p Enabling the action of a flag means that it will perform its task if it is recognized. You can disable and reenable the operation of some flags without affecting their recognition. .p You can change a flag from the default character to another character. You might want to do this if, for example, you are frequently using a default flag character as regular text. First turn off recognition of the current flag character with a _.NO FLAGS flag-name command. Then specify a new flag character with the appropriate _.FLAGS flag-name command. .p All flags can be turned on or off with the _.ENABLE FLAGS and _.DISABLE FLAGS commands. .endif small .ifnot small .IF HLP .if RSX .i5;ADDITIONAL HELP AVAILABLE: .ts+10,+10,+10,+10,+10,+10,+10 .nj;example ACCEPT ALL BREAK CAPITALIZE CONTROL ESCAPE EQUATION HYPHENATE INDEX LOWERCASE OVERSTRIKE PERIOD SPACE SPECIAL SUBINDEX SUBSTITUTE TAB UNDERLINE UPPERCASE .j .endif RSX .endif hlp .HELPD EXAMPLE .p;Example: the following command will redefine the double quotes as the underline flag. .s.i5;_.FLAGS UNDERLINE " .s After issuing this command, any character preceded by quotes (") will be underlined. The ampersand (_&), which is the default underline character, will now be merely a simple printable character. When the _.NO FLAGS command disables the selected flag character, it becomes a normal printable character. If you issue a _.FLAGS command with a character that is already in use as a flag, RUNOFF will reject the command and produce an error message. To turn off underlining but still recognize the flag, use the _.DISABLE UNDERLINING command. .helpd ACCEPT .endif small .q _.FLAGS ACCEPT [new flag] .qq _.FL ACCEPT [new flag] .qn _.NO FLAGS ACCEPT .qn _.NFL ACCEPT .ifnot small .X NO>FLAGS>ACCEPT .p .X FLAGS>ACCEPT turns on or off recognition of the accept flag. The accept flag causes the flag character that follows it to be printed as a normal character rather than be interpreted as a flag. The default character for the accept flag is the underscore (__). Initially recognition of the accept flag is turned on and the flag is disabled. A tab following the underscore flag is treated as a normal tab character. .i5;DSR uses this flag in a slightly incompatible way: if it is followed by a non printable character the character is included in the output and is counted as a single character. This convention was rejected for Bonner Lab Runoff as it makes dealing with control codes very difficult. To output control codes use the _.DEFINE ESCAPE command. .helpd ALL .endif small .q _.FLAGS [ALL] .qq _.FL [ALL] .qn _.NO FLAGS [ALL] .qn _.NFL [ALL] .ifnot small .X NO>FLAGS>ALL .p .X FLAGS>ALL turns on or off recognition of all flags that have been previously defined. This is analogous to a master switch that turns on or off all other switches. _.FLAGS ALL only performs a useful function if it is preceded by a _.NO FLAGS ALL. _.NO FLAGS ALL disables recognition of all flags except the CONTROL flag and the TAB flag. .helpd BREAK .endif small .q _.FLAGS BREAK [new flag] .qq _.FL BREAK [new flag] .qn _.NO FLAGS BREAK .qn _.NFL BREAK .ifnot small .X NO>FLAGS>BREAK .p .X FLAGS>BREAK turns on or off recognition of the break flag. The break flag marks where RUNOFF may break word or expression at the end of a line. The default character for the break flag is the vertical bar (_|). Initially recognition of the break flag flag is off. A word will only be broken at the flag if the rest of the word would otherwise exceed the right margin. If more thatn one break flag is present in a word that requires a break, RUNOFF leaves as much of the word as possible on the line. If an _.ENABLE CONTINUE command has been issued, and the break flag occurs at the end of an input line, text will continue immediately with the next line with no space being inserted. .helpd CAPITALIZE .endif small .q _.FLAGS CAPITALIZE [new flag] .qq _.FL CAPITALIZE [new flag] .qn _.NO FLAGS CAPITALIZE .qn _.NFL CAPITALIZE .ifnot small .X NO>FLAGS>CAPITALIZE .p .X FLAGS>CAPITALIZE turns on or off recognition of the capitalize flag. The capitalize flag causes the entire word directly following it to be capitalized. The default character for the capitalize flag is the less-than (_<). Initially recognition of the capitalize flag is off. (_^_<) can be used to perform a shift lock to upper case. All characters will then be printed in upper case until a shift release (_^_^) is encountered. .helpd CONTROL .endif small .test page 7 .q _.FLAGS CONTROL [new flag] .qq _.FL CONTROL [new flag] .qn _.NO FLAGS CONTROL .qn _.NFL CONTROL .x NO>FLAGS>CONTROL .p .X FLAGS>CONTROL .ifnot small turns on or off recognition of the control flag. The control flag is the character that appears at the beginning of a line (at the left margin) to indicate that the line is a command instead of text. When the character is to be accepted as a text character, you do not need to precede it by an accept flag (__) as long as the position is not at the left margin. If you need the accept flag to appear at the left margin, precede it by an accept flag. The default character for the control flag is the period(.). .endif small Warning: once a _.NO FLAGS CONTROL has been issued, you can no longer give any more commands, including _.FLAGS CONTROL. So this is a non-reversable command. .ifnot small .helpd ESCAPE .endif small .q _.FLAGS ESCAPE [escape flag] .qq _.FL ESCAPE [escape flag] .qn _.NO FLAGS ESCAPE .qn _.NFL ESCAPE .ifnot small .X NO>FLAGS>ESCAPE .p .X FLAGS>ESCAPE .S turns on or off recognition of the escape sequence flags. Escape sequence flags are sets of special control characters (escape sequences) that cause a printer to perform a variety of control functions such as printing characters in bold or changing the font to be used for printing. Initially recognition of the escape sequence flags is turned off and they are disabled. Two escape sequence flags are initially defined: the circumflex (_^) and the back slash (_\). You can also specify an additional escape character of your choice. See the _.DEFINE ESCAPE command for a complete description of how to use escape sequences. .br;(Not available in DSR) .helpd EQUATION .endif small .q _.FLAGS EQUATION .qq _.FL EQUATION .qn _.NO FLAGS EQUATION .qn _.NFL EQUATION .X NO>FLAGS>EQUATION .ifnot small .p .X FLAGS>EQUATION .X EQUATION>FLAGS turns on or off recognition of the equation formatting flags. The default characters used for the formatting flags are the left and right brace (_{_}), and recognition of the flags is turned off. See the section on Equation Formatting for a complete description of the use of these flags. .br;(Not available in DSR) .helpd LOWERCASE .endif small .test page 8 .q _.FLAGS LOWERCASE [new flag] .qq _.FL LOWERCASE [new flag] .qn _.NO FLAGS LOWERCASE .qn _.NFL LOWERCASE .X NO>FLAGS>LOWERCASE .ifnot small .p .X FLAGS>LOWERCASE turns on or off recognition of the lowercase flag. The lowercase flag temporarily sets the case mode to lower case. It is also used to turn off features such as underlining. The default character used for the lowercase flag is the backslash (_\). Initially recognition of the lowercase flag is turned on and the flag is enabled. .helpd HYPHENATE .endif small .q _.FLAGS HYPHENATE [new flag] .qq _.FL HYPHENATE [new flag] .qn _.NO FLAGS HYPHENATE .qn _.NFL HYPHENATE .X NO>FLAGS>HYPHENATE .ifnot small .p .X FLAGS>HYPHENATE .x Hyphenation turns on or off recognition of the hyphenation flag. If the hypenation flag appears inside a word, it specifies the point at which the word may be hyphenated. If it precedes the word, it indicates that the word cannot be hyphenated. More than one hyphenation point can be specified in a word. When explicit hyphenation is specified, no automatic hyphenation will occur for the word. If the _.ENABLE CONTINUE command is issued, then the current input line is continued when the hyphen flag appears at the end of the line. The default character for the hyphenation flag is the equal (_=) sign. Initially recognition of the hyphenation flag is turned off. .helpd INDEX .endif small .q _.FLAGS INDEX [new flag] .qq _.FL INDEX [new flag] .qn _.NO FLAGS INDEX .qn _.NFL INDEX .X NO>FLAGS>INDEX .ifnot small .p .X FLAGS>INDEX .X INDEX>FLAGS turns on or off recognition of the index flag. When the index flag precedes a word, that word is automatically included in the index and not printed as part of the normal text. The default character for the index flag is the right arrow (_>). The word to be indexed should be terminated by either a space, tab, non expandable space (_#), hyphenate flag (_=), index flag (_>), or end of line. If more than 1 word needs to be part of the index term, the words should be separated by a quoted space (___ ). Initially recognition of the index flag is turned off. See the section on INDEXING for a complete discussion of how to create an index for your document. .helpd OVERSTRIKE .endif small .q _.FLAGS OVERSTRIKE [new flag] .qq _.FL OVERSTRIKE [new flag] .qn _.NO FLAGS OVERSTRIKE .qn _.NFL OVERSTRIKE .x NO>FLAGS>OVERSTRIKE .ifnot small .p .X FLAGS>OVERSTRIKE turns on or off recognition of the overstrike flag. This flag generates a backspace so that the previous character can be overstiken with the next character, allowing formation of composite characters for approximate scientific symbols or for adding diacritical marks for foreign languages. For example, a O overstriken with a - produces a theta .flags overstrike (O%-). .no flags overstrike The default overstrike character is the percent sign (_%). Initially recognition of the overstrike character is turned off. .helpd PERIOD .endif small .q _.FLAGS PERIOD [new flag] .qq _.FL PERIOD [new flag] .qn _.NO FLAGS PERIOD .qn _.NFL PERIOD .p .X NO>FLAGS>PERIOD .ifnot small .p .X FLAGS>PERIOD turns on or off recognition of the period flag. If in fill mode, the period flag inserts extra expandable space after a period, colon, question mark, or exclamation point followed by an end-of-line space. For example, when this flag is on: .i5;A_+#B will appear as: .i5;A##B By default 2 spaces are inserted, but this can be changed with the _.PERIOD command. The default period flag is the period (.). Initially recognition of the period flag is on and the flag enabled. .helpd SPACE .endif small .q _.FLAGS SPACE [new flag] .qq _.FL SPACE [new flag] .qn _.NO FLAGS SPACE .qn _.NFL SPACE .X NO>FLAGS>SPACE .ifnot small .p .X FLAGS>SPACE turns on or off recognition of the space flag. The space flag produces one unexpandable space (not affected by justification) in the output file for every occurance in the input file. If the space flag is inserted between two words, they are treated as one word by RUNOFF (although they will appear as separate words in the output file). The default character for the space flag is the number sign (_#). Initially recognition of the space flag is turned on and it is enabled. .helpd SPECIAL .endif small .q _.FLAGS SPECIAL [flag1][flag2][flag3] . . . .qq _.FL SPECIAL [flag1][flag2][flag3] . . . .qn _.NO FLAGS SPECIAL [flag1][flag2][flag3] . . . .qn _.NFL SPECIAL [flag1][flag2][flag3] . . . .X NO>FLAGS>SPECIAL .ifnot small .p .X FLAGS>SPECIAL turns on or off recognition of special characters that will trigger the generation of escape sequences in the output file. The first character of the escape sequence defined by the _.DEFINE ESCAPE command must be the circumflex (_^). For example, if you want the left square bracket ([) to be an escape sequence flag that causes an escape character followed by a D to be output, you would enter the following commands: .s.i5;_.FLAGS SPECIAL _[ .i5;_.DEFINE ESCAPE /_^_[/ 33,"D" .p Once you have done this, the left square bracket is no longer printable unless preceded by the accept flag (__). Note that more than one flag character can be specied with a single _.FLAGS SPECIAL command. This command also turns on or off processing of all other special flags previously defined. .br;(Not available in DSR) .helpd SUBINDEX .endif small .q _.FLAGS SUBINDEX [new flag] .qq _.FL SUBINDEX [new flag] .qn _.NO FLAGS SUBINDEX .qn _.NFL SUBINDEX .ifnot small .X NO>FLAGS>SUBINDEX .p .X FLAGS>SUBINDEX .X INDEX>SUBINDEX turns on or off recognition of the subindex flag. Subindex entries marked with this flag are collected and alphabetized below the primary entry to which they refer. The subindex flag is only recognized inside an _.INDEX command. Since the subindex flag is not recognized as normal text, it can be the same character as the index flag. The default character for the subindex flag is the right arrow (_>). See the section on INDEXING for information on the use of the subindex flag. .helpd SUBSTITUTE .endif small .q _.FLAGS SUBSTITUTE [new flag] .qq _.FL SUBSTITUTE [new flag] .qn _.NO FLAGS SUBSTITUTE .qn _.NFL SUBSTITUTE .X NO>FLAGS>SUBSTITUTE .ifnot small .p .X FLAGS>SUBSTITUTE turns on or off the substitution flag. When this flag is turned on, it causes either a date or a time to be substituted in the output file. This is the only flag that must be paired with itself. The default character for the substitution flag is the dollar sign (_$), so (_$_$) must be used to trigger a substitution. Eight permanent substitutions are defined by RUNOFF. .endif small .text Suppose the current date and time is .c; January 17,1983 15:23:51 .lm+5.ts 35.nf then the permanent substitutions are .x date .x time Symbol Resulting output _$_$DATE 17 Jan 83 _$_$TIME 15:23:51 _$_$YEAR 1983 _$_$MONTH January _$_$DAY 17 _$_$HOURS 15 _$_$MINUTES 23 _$_$SECONDS 51 .s.fill.lm .end text .ifnot small The pair of dollar signs (_$_$) that denote the permanent substitutions are both redefined if the substitute flag is redefined. For example, if you redefine the substitute flag to be ", then to print the date you must type: ""DATE. The permanent substitutions can be typed in either lowercase or uppercase letters. The following are equally valid: _$_$DATE _$_$date _$_$DaTe. .helpd TAB .endif small .q _.FLAGS TAB [new flag] .qq _.FL TAB [new flag] .qn _.NO FLAGS TAB .qn _.NFL TAB .X NO>FLAGS>TAB .ifnot small .p .X FLAGS>TAB turns on or off recognition of the tab flag. The default character for the tab flag is a tab. When some other character is defined as the tab flag, then a tab in the input text will produce a space. This command is useful in making RNO compatible with other word formatters. Most editors do not display tab characters, so this command could also be used to make tabs visable by reassigning them to an unused printable character. And using a visible character for a tab can make it easier to form output into columns. Initially recognition of the tab flag is turned on and it is enabled. .br;(This is not available in DSR) .helpd UNDERLINE .endif small .q _.FLAGS UNDERLINE [new flag] .qq _.FL UNDERLINE [new flag] .qn _.NO FLAGS UNDERLINE .qn _.NFL UNDERLINE .X NO>FLAGS>UNDERLINE .ifnot small .p .X FLAGS>UNDERLINE .X UNDERLINE>FLAGS turns on or off recognition of the underline flag. The underline flag causes the next character to be underlined. The default character for the underline flag is the ampersand (_&). If the underline flag is paired with the uppercase flag(_^_&), it locks underlining on until an occurance of the underline flag paired with the lowercase flag(_\_&). Initially recognition of the underline flag is on, and it is enabled. .helpd UPPERCASE .endif small .q _.FLAGS UPPERCASE [new flag] .qq _.FL UPPERCASE [new flag] .qn _.NO FLAGS UPPERCASE .qn _.NFL UPPERCASE .X NO>FLAGS>UPPERCASE .ifnot small .p .X FLAGS>UPPERCASE turns on or off recognition of the uppercase flag. A single occurance of the uppercase flag serves the same purpose as a typwriter SHIFT key by capitalizing the single letter that follows it. It has no effect if the character following is not a letter. The default character for the uppercase flag is the circumflex (_^). When the uppercase flag is paired with a capitalize flag (_^_<), the action is the same as performing a SHIFT-LOCK on a typwriter: the text that follows will appear in uppercase until the SHIFT-LOCK is removed with a (_\_<). When the uppercase flag is paired with the underline flag (_^_&), underlining is locked on until the occurance of (_\_&). Two uppercase flags in a row (_^_^) turns off the lower case lock. If the circumflex is used extensively in the text, you may want to specify an alternate character for the uppercase flag. Initially recognition of the uppercase flag is turned on and the flag is enabled. .endif small