.left margin .ifnot hlp .hl 1 FLAGS .x Flags .endif hlp .if hlp.i-1;3 FLAGS .br .endif hlp A flag is a character which performs some special action and does not appear in the final document. An example of a flag is the ampersand (_&). It causes the next character to be underlined. Each flag character can be defined by the .FLAGS command and removed by the _.NO FLAGS command. .ifnot small _.FLAGS defines what the character does and can optionally define which character does it. _.NO FLAGS removes the character as a flag. _.ENABLE FLAGS or _.DISABLE FLAGS may be used to temporarily turn flags on and off after they have been defined. Generally flags are defined once at the beginning of a document, and not redefined later in the document. These commands are illegal inside a note or footnote. Each of these commands has a complementary _.ENABLE of _.DISABLE command. .endif small The ACCEPT, CONTROL, LOWERCASE, SPACE, UPPERCASE and UNDERLINE flags are already defined by default. .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 .i-1;4 example .endif hlp .p;For 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 (_&) will then be merely a simple printing character. The _.NO FLAGS command disables the selected flag character. It is then a normal printable character. If you issue a _.FLAGS command with a character specified which is already in use as a flag, RUNOFF will reject the command and give you an error message. If you wish to turn off underlining but still recognize the flag you should use the _.DISABLE UNDERLINING command. .if hlp.i-1;4 ACCEPT .endif hlp .endif small .LM +5 .s.tt7.I-5;_.FLAGS ACCEPT [new flag] .I-5;_.FL ACCEPT [new flag] .I-3;_.NO FLAGS ACCEPT .I-3;_.NFL ACCEPT .ifnot small .X NO>FLAGS>ACCEPT .p .X FLAGS>ACCEPT Defines the underscore (__) as the accept flag to allow printing other characters that are reserved to flags. This is normally defined, but may be removed by _.NO FLAGS ACCEPT. The underscore may be replaced by another character to use for this flag. A tab following this flag is treated as a normal tab character. .bb .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 has been rejected in Bonner Lab Runoff as it makes dealing with control codes very difficult. All control codes must be output via the _.DEFINE ESCAPE command. .eb .if hlp;.i-6;4 ALL .endif hlp .endif small .s.tt7.i-5;_.FLAGS [ALL] .I-5;_.FL [ALL] .I-3;_.NO FLAGS [ALL] .I-3;_.NFL [ALL] .ifnot small .X NO>FLAGS>ALL .p .X FLAGS>ALL Enables or disables recognition of all flags that have been previously separately defined. This is analogous to a master switch which turns on 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 for the CONTROL flag and the TAB flag. .if hlp;.i-6;4 BREAK .endif hlp .endif small .s.tt 6;.I-5;_.FLAGS BREAK [new flag] .I-5;_.FL BREAK [new flag] .I-3;_.NO FLAGS BREAK .I-3;_.NFL BREAK .ifnot small .X NO>FLAGS>BREAK .p .X FLAGS>BREAK Defines the break flag (|) or vertical bar. This flag is used to mark where a word or expression may be broken. The expression will only be broken there if it would otherwise exceed the right margin. Normally this flag is not defined. .bb If the _.ENABLE CONTINUE command is used then the current input line is continued if the break flag is at the end of it. .eb .if hlp;.i-6;4 CAPITALIZE .endif hlp .endif small .s.tt10.i-5;_.FLAGS CAPITALIZE [new flag] .i-5;_.FL CAPITALIZE [new flag] .I-3;_.NO FLAGS CAPITALIZE .I-3;_.NFL CAPITALIZE .ifnot small .X NO>FLAGS>CAPITALIZE .p .X FLAGS>CAPITALIZE Defines the less-than (_<) character to capitalize the entire word it precedes. It then returns the file to the current case mode. This special character is usually off and must be typed at the very beginning of the source text to define this character. Typing a space returns the file to the current case lock. The flag command can be followed by a character to be used instead of the less-than (_<). (_^_<) may be used as a permanent shift to upper case only. (_^_^) will then cancel this mode. .if hlp;.i-6;4 CONTROL .endif hlp .endif small .s.tt7.I-5;_.FLAGS CONTROL [new flag] .I-5;_.FL CONTROL [new flag] .I-3;_.NO FLAGS CONTROL .I-3;_.NFL CONTROL .x NO>FLAGS>CONTROL .p .X FLAGS>CONTROL .ifnot small _.FLAGS CONTROL allos you to specify a new CONTROL flag. Normally it is a period (.). The control flag appears at the start of a line to signal a command. _.NO FLAGS CONTROL removes the CONTROL flag. .endif small Once _.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 .if hlp;.i-6;4 ESCAPE .endif hlp .endif small .s.tt10.I-5;_.FLAGS ESCAPE [escape flag] .I-5;_.FL ESCAPE [escape flag] .I-3;_.NO FLAGS ESCAPE .I-3;_.NFL ESCAPE .ifnot small .X NO>FLAGS>ESCAPE .p .X FLAGS>ESCAPE .S Defines the escape sequence flags. This allows you to issue special control codes (escape sequences) to the printer to perform a variety of functions. In addition you must ENABLE ESCAPE to actually output the control codes. Normally the escape flag is not defined. The escape flag defines a flag symbol for the escape sequence. Escape sequences can be defined for the circumflex (_^), back slash (_\), and an escape character of your choice. To define escape sequences you must use _.DEFINE ESCAPE. .br;(Not available in DSR) .if hlp;.i-6;4 EQUATION .endif hlp .endif small .s.tt7.i-5;_.FLAGS EQUATION .i-5;_.FL EQUATION .I-3;_.NO FLAGS EQUATION .I-3;_.NFL EQUATION .X NO>FLAGS>EQUATION .ifnot small .p .X FLAGS>EQUATION .X EQUATION>FLAGS Defines the equation formatting flags. This sets the left and right braces _{ _} as the flags to use in formatting equations. .br;(Not available in DSR) .if hlp;.i-6;4 LOWERCASE .endif hlp .endif small .s.tt7.i-5;_.FLAGS LOWERCASE [new flag] .i-5;_.FL LOWERCASE [new flag] .I-3;_.NO FLAGS LOWERCASE .I-3;_.NFL LOWERCASE .X NO>FLAGS>LOWERCASE .ifnot small .p .X FLAGS>LOWERCASE Defines the back slash (_\) to shift temporarily to lower case. This flag is also used to turn off features such as underlining. .if hlp;.i-6;4 HYPHENATE .endif hlp .endif small .s.tt9.I-5;_.FLAGS HYPHENATE [new flag] .I-5 ;_.FL HYPHENATE [new flag] .I-3;_.NO FLAGS HYPHENATE .I-3;_.NFL HYPHENATE .X NO>FLAGS>HYPHENATE .ifnot small .p .X FLAGS>HYPHENATE .x Hyphenation Defines the equals character (=) to control hyphenation. If it appears inside a word, it specifies the point at which the word may be hyphenated. If it preceds the word, then the word may not be hyphenated. You may specify more than one hyphenation point in a word. When hyphenation is specified no automatic hyphenation occurrs. .bb If the _.ENABLE CONTINUE command is used then the current input line is continued if the hyphen flag is at the end of it. .eb .if hlp;.i-6;4 INDEX .endif hlp .endif small .s.tt6.i-5;_.FLAGS INDEX [new flag] .i-5;_.FL INDEX [new flag] .I-3;_.NO FLAGS INDEX .I-3;_.NFL INDEX .X NO>FLAGS>INDEX .ifnot small .p .X FLAGS>INDEX .X INDEX>FLAGS Defines the index flag (_>). This flag causes the following word to be automatically indexed. The word is 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 may be separated by a quoted space (___ ). .if hlp;.i-6;4 OVERSTRIKE .endif hlp .endif small .s.tt6.i-5;_.FLAGS OVERSTRIKE [new flag] .i-5;_.FL OVERSTRIKE [new flag] .I-3;_.NO FLAGS OVERSTRIKE .I-3;_.NFL OVERSTRIKE .x NO>FLAGS>OVERSTRIKE .ifnot small .p .X FLAGS>OVERSTRIKE Defines the overstrike flag (_%). This flag generates a backspace so you may overstrike the previous character. This allows formation of composite characters to approximate scientific symbols or add diacritical marks for foreign languages. A different character other than % may be assigned to this flag. .if hlp;.i-6;4 PERIOD .endif hlp .bb .endif small .s.tt8.I-5;_.FLAGS PERIOD [new flag] .I-5;_.FL PERIOD [new flag] .I-3;_.NO FLAGS PERIOD .I-3;_.NFL PERIOD .p .X NO>FLAGS>PERIOD .ifnot small .p .X FLAGS>PERIOD Defines the plus sign (_+) sign as perid flag. This flag simulates the action of following a period by a space with the period flag on. If this flag is followed by a space in fill mode, then 2 spaces will appear in the output. This flag should always appear after a printable character, and not after a space. For example when this flag is on: .i5;A_+#B will appear as: .i5;A##B .eb .if hlp;.i-6;4 SPACE .endif hlp .endif small .s.tt8.I-5;_.FLAGS SPACE [new flag] .I-5;_.FL SPACE [new flag] .I-3;_.NO FLAGS SPACE .I-3;_.NFL SPACE .X NO>FLAGS>SPACE .ifnot small .p .X FLAGS>SPACE Defines the number (_#) sign as a quoted non expandable space flag. Every time the _# appears in the text RUNOFF changes it to a space, but only 1 space even if FILL is enabled. A different character may be assigned to this function when it is defined. This flag is normally defined. .if hlp;.i-6;4 SPECIAL .endif hlp .endif small .s.tt6.i-5;_.FLAGS SPECIAL [flag1][flag2][flag3] . . . .i-5;_.FL SPECIAL [flag1][flag2][flag3] . . . .I-3;_.NO FLAGS SPECIAL [flag1][flag2][flag3] . . . .I-3;_.NFL SPECIAL [flag1][flag2][flag3] . . . .X NO>FLAGS>SPECIAL .ifnot small .p .X FLAGS>SPECIAL This sets up a character to trigger an escape sequence. The flag is the character desired. The escape sequence must be defined with the first character equal to the circumflex (_^). For example you wish the left square bracket ([) to output an escape sequence for superscripting on most printers. You enter the following commands: .s.i5;_.FLAGS SPECIAL _< .i5;_.DEFINE ESCAPE /_^_FLAGS>SUBINDEX .p .X FLAGS>SUBINDEX .X INDEX>SUBINDEX Defines the SUBINDEX flag (_>). This flag causes the text to be subindexed. This flag is only recognized inside an _.INDEX command. Since this flag is not recognized for normal text, it may be the same character as the index flag. .if hlp;.i-6;4 SUBSTITUTE .endif hlp .endif small .s.tt6.i-5;_.FLAGS SUBSTITUTE [new flag] .i-5;_.FL SUBSTITUTE [new flag] .I-3;_.NO FLAGS SUBSTITUTE .I-3;_.NFL SUBSTITUTE .X NO>FLAGS>SUBSTITUTE .ifnot small .p .X FLAGS>SUBSTITUTE Defines the dollar sign (_$) as a substitution flag. The dollar sign then marks the start of a label which defines a substitution. Eight substitutes are defined when Runoff begins. These allow you to output the current date or time as part of the text. .endif small .text Assuming the current date and time is .c; January 17,1983 15:23:51 .lm+5.ts 35.nf DEFAULT 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-5 .end text .ifnot small The pair of dollar signs (_$_$) which denote the permanent substitutions are both redefined if the substitute flag is redefined. For example you redefine the substitute flag to be " then to print the date you must type: ""DATE. The permanent substitutins may be typed in either lower or upper case letters. The following are equaly valid: _$_$DATE _$_$date _$_$DaTe and so on. .if hlp;.i-6;4 TAB .endif hlp .bb .endif small .s.tt7.I-5;_.FLAGS TAB [new flag] .I-5;_.FL TAB [new flag] .I-3;_.NO FLAGS TAB .I-3;_.NFL TAB .X NO>FLAGS>TAB .ifnot small .p .X FLAGS>TAB This defines the tab flag. Normally this is already defined and the tab character serves as the tab flag. If you wish to define a different character for the purpose of tabbing, you may use this command to do this. When this is done the tab character will only act as a space. The new flag may be the tab character, unlike all other flags. This command is very useful in making RNO compatible with other word formatters. Some users may find this handy because most editors do not display the tab character. An explicit character used as a tab may make forming output in columns easier. The _.NO FLAGS TAB removes the tab character and makes it a space instead. .br;(This is not available in DSR) .eb .if hlp;.i-6;4 UNDERLINE .endif hlp .endif small .s.tt7.I-5;_.FLAGS UNDERLINE [new flag] .I-5;_.FL UNDERLINE [new flag] .I-3;_.NO FLAGS UNDERLINE .I-3;_.NFL UNDERLINE .X NO>FLAGS>UNDERLINE .ifnot small .p .X FLAGS>UNDERLINE .X UNDERLINE>FLAGS Defines the underline flag (_&). A single occurrence of "_&" will underline the next character. While _^_& underlines text until _\_&. .if hlp;.i-6;4 UPPERCASE .endif hlp .endif small .S.tt7.I-5;_.FLAGS UPPERCASE [new flag] .I-5;_.FL UPPERCASE [new flag] .I-3;_.NO FLAGS UPPERCASE .I-3;_.NFL UPPERCASE .X NO>FLAGS>UPPERCASE .ifnot small .p .X FLAGS>UPPERCASE Defines the circumflex (_^) to define upper case shift. When this is defined the _^ will cause the next character to be capitalized, and _^_^ turns off the lower case lock. If the circumflex is used extensively in the text an alternate character may be specified. This FLAG is normally defined when RUNOFF starts. This flag is also used as a function lock. For example putting a circumflex in front of an ampersand (_^_&) will lock underlining on to allow underlining lines of text. .endif small