.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 /_^_</  33,"D"
.p
Once this is done, the left square bracket is no longer printable unless
preceded by the accept flag (__).
More than one flag character may be specied with one command.
This command also turns on processing of
all special flags previously defined.
.br;(Not available in DSR)
.if hlp;.i-6;4 SUBINDEX
.endif hlp
.endif small
.s.tt6.i-5;_.FLAGS SUBINDEX [new flag]
.i-5;_.FL SUBINDEX [new flag]
.I-3;_.NO FLAGS SUBINDEX
.I-3;_.NFL SUBINDEX
.ifnot small
.X NO>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
