.comment this document is to be typed using elite character
.comment spacing (12 per inch) giving 6.5 inch wide columns.
.comment it can be typed using pica character spacing (10 per
.comment inch) giving 6.0 inch wide columns if the values of
.comment 78, 82 and 84 are changed to 60, 63 and 65 and if the
.comment right page offset is changed from 6 to 5 in the lines
.comment through that following the reset command.  The table
.comment of contents will have to be changed to reflect this.
.
.page width 84.page length 60
.rule 'X',0,84
.nofill.left margin 3
.BACKGROUND'X',0,84,0,0,0,1,1,82,0,0
.figure 1
1. Adjust paper position so that dark frame on this page is
   copied centered on paper 8.5 inches wide by 11 inches
   high.
2. Copy all remaining pages of document in same manner.
.FIGURE 50
.END OBJECT
.RULE'X',0,84
.RESET
.page width 78.page length 60.offset right page 6
.top title' '
.footnote RULE '-'
.number footnote
.first form.NOFILL
.figure 5
.CENTER NO FILL ,4
.outline'THEFROFFUSERSGUIDE',1,1,1,1,1
.LETTER,3,1;THE
.skip.LETTER;FROFF
.skip.LETTER;USERS
.skip.LETTER;GUIDE
.END OBJECT.SKIP 4
.CENTER ,3;The FROFF Word Processor User's Guide
.skip;Donald E. Barth
.skip;10-Jul-83
.fill
.page.initial page.skip left page.INITIAL PAGE
.figure 6
.CENTER NO FILL ,4
.LETTER,3,1;THE
.skip.LETTER;FROFF
.skip.LETTER;USERS
.skip.LETTER;GUIDE
.skip 5
.CENTER ,3;The FROFF Word Processor User's Guide
.skip;Donald E. Barth
.skip;10-Jul-83
.page.initial page.skip left page.INITIAL PAGE
.nofill
.center;Table of Contents
.center;----- -- --------
.skip2
Introduction  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1

Chapter 1:  General Instructions

  Short Descriptions of Most Commonly Used Commands  .  .  3
  Reserved Characters  .  .  .  .  .  .  .  .  .  .  .  .  6
  A Typical Source File   .  .  .  .  .  .  .  .  .  .  .  7
  How to Run FROFF on the DECsystem20 .  .  .  .  .  .  .  9
  Options Which can be Selected when FROFF is Run    .  .  9
  Complete List of the Runtime Options   .  .  .  .  .  . 10

Chapter 2:  Source File Conventions

  Structure of Commands in Source File   .  .  .  .  .  . 13
  Case Notation for Alphabetic Letters   .  .  .  .  .  . 14
  Underlining Characters, Words and Phrases .  .  .  .  . 16

Chapter 3:  How to Perform Common Word Processing Tasks

  Specification of Form Letters .  .  .  .  .  .  .  .  . 19
  Addressing Envelopes for Use with Form Letters  .  .  . 23
  Automatically Numbered Lists  .  .  .  .  .  .  .  .  . 25
  Footnotes   .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 27

Chapter 4:  Concise Descriptions of the Commands

  Commands listed in alphabetical order  .  .  .  .  .  . 33

Chapter 5:  Complete Descriptions of Commands

  Commands listed in alphabetical order  .  .  .  .  .  . 45

Chapter 6:  Cover Embellishment Commands

  General Description of Cover Embellishment Commands    103
  Complete Descriptions of Cover Embellishment Commands  105


.test page 3
Appendix A:  How to Run FROFF on Various Computer Systems

  How to Run FROFF on DECsystem10 and DECsystem20 .  .   127

.test page 7
Appendix B:  Use of FROFF at Yale School of Management

  How to Use Diablo Terminal to get Output from FROFF    129
  How to Change Ribbon Cartridge on Diablo Terminal  .   131
  What to do if You Don't Have Enough Space for Output   131
  How to Process Document Constructed from Several Files 132
  How to Process Files in Other Directories .  .  .  .   134

.test page 4
Appendix C:  Commands Used in Performing Selected Tasks

  Commands Used for Specification of Footnotes    .  .   135
  Commands Used for Specification of Indexes   .  .  .   136

.test page 5
Appendix D:  Description of Files on Distribution Tape

  Loading Instructions .  .  .  .  .  .  .  .  .  .  .   139
  Program Source files .  .  .  .  .  .  .  .  .  .  .   140
  Support Programs and Data Files  .  .  .  .  .  .  .   141
.fill
.page
.sequence'_&_'_\_^_!_/_>_<_#_._;___|'
.left margin 0.fill
.page.initial page.skip left page.INITIAL PAGE
.space chapter 0
.number 1
.LEFT top title'>',,'The FROFF Word Processor User''s Guide'
.RIGHT TOP TITLE'Introduction',,'>'
.fill.center;Introduction
.skip.fill
.first form
.test page 3
FROFF is a word processing program which accepts the same source text
conventions and recognizes most of the same commands as does the
DECsystem-10/20 word processing program known as RUNOFF.  Although
RUNOFF is faster than FROFF, FROFF allows much greater control of the
appearance of the processed text, and provides many features not
provided by RUNOFF.  FROFF is itself written in FORTRAN (hence the
letter F at the start of its name), and should be easily convertible
to any other large computer system.
.skip
.test page 3
The production of a document using FROFF requires the following steps:
.LIST
.LE;You first use an interactive text editor to create a source file
which contains the words which you want to have in the final document,
together with instructions specifying how the final document is to
appear.  This source file is the most important version of the document,
since it is to this source file that any subsequent changes must be
made.  The instructions in the source file are specified by lines which
begin with periods, and the words which are to be in the resulting
document are specified by lines which begin with any characters other
than periods.  The instructions are all simple, most consisting of
merely a word or two, and all have short aliases.  For example, _.SKIP
or _.S followed by a number skips that number of blank lines, and _.PAGE
or _.PG skips to the top of a new page.
.LE;You then use FROFF to process the source file which you created
using the text editor.  FROFF produces a new file which contains the
resulting document which would be read by others.  This new file is
expendable since it can be recreated when needed from the original
source file.
.le;If errors are found in the resulting document, you again use the
text editor to correct the source file and use FROFF to produce a new
version of the resulting document.
.end list
.skip
.test page 3
The most elementary functions provided by FROFF are the accumulation
of words from one or several lines in the source file to form lines
of approximately equal length in the resulting document, and the
insertion of page breaks and titles.  If placed into automatic
paragraphing mode by the appearance of an _.AUTO PARAGRAPH command
at the start of the source file, then a quite presentable document
can be produced from a source text in which the start of each new
paragraph is indicated either by an extra blank line or by a line which
starts with one or more spaces.  FROFF can, however, perform many other
word processing functions such as the construction of footnotes, of
automatically numbered lists, and of alphabetically sorted indexes.
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Chapter 1
.skip
.center;General Instructions
.rtt'General Instructions',,'>'
.skip 3
The information presented in this chapter should be sufficient
for the production of simple documents using FROFF.
Where specific file names are used in the examples, the naming
conventions for the DECsystem20 are assumed.  See the appendices
of this guide for information about the naming conventions for
other computers.
.skip 2
.CENTER;Short Descriptions of the Most Commonly Used Commands
.CENTER;----- ------------ -- --- ---- -------- ---- --------
.SKIP
.index command line>structure of
FROFF interprets each line in the source file which starts with a period
as a command directing how the reformatted document is to appear.  Each
line which begins with any other character is assumed to contain a
word or words which are to be reformatted according to the commands
in the lines which begin with periods.  The commands are all simple,
most consisting of merely a word or two, and all have short aliases.
The aliases and the full spellings of the more commonly used commands
are listed below.  The numbers shown with some commands are merely
meant to be typical of those which would be used.  Although capitol
letters have been used to construct the commands shown here, either
capitol or lower case letters can be used.
.LM 5
.SKIP
.test page 3
.INDENT -5
_.AP#10####.AUTOPARAGRAPH#10##
.BREAK
Causes the text
which follows each empty line  or which starts with
a line which begins with one or more spaces
in the source file
to be placed in a new
paragraph.
This is a global command, it remains in effect throughout
the rest of the source file.
The left end of the first line
of each  new paragraph  is  to be indented 10 spaces
to the right of  the left margin.
If the number is negative, then the first line of each
paragraph is indented to the left of the left margin instead.
If a number is not given, then  it is taken to be 5.
.SKIP
.test page 3
.INDENT -5
_.B#5######.BLANK#5###########
.BREAK
Produces 5 blank lines at the
current location.
These blank lines are suppressed if at the top of a page.
If a number is not given, then  it is taken to be 1.
.SKIP
.test page 3
.INDENT -5
_.C########.CENTER############
.BREAK
The text which appears in the next
line in the source file is to be centered in the reformatted
document.
.SKIP
.test page 3
.INDENT -5
_.EFN######.END#FOOTNOTE
.BREAK
Terminates the declaration of the text of a footnote begun by a previous
_.FOOTNOTE command.
.SKIP
.test page 3
.INDENT -5
_.FG#10####.FIGURE#10#########
.BREAK
Produces 10 blank lines at the current location
if there is room on the current page, or generates a new page and
produces 10 blank lines at the top of this new page if there is not
room on the current page.
.SKIP
.test page 3
.INDENT -5
_.FGD#5####.FIGURE#DEFERRED#5#
.BREAK
Produces 5 blank lines at the current location
if there is room on the current page, or continues to insert text on
the current page and produces 5 blank lines at the top of the
following page if there is not room on the current page.
.SKIP
.test page 3
.INDENT -5
_.F########.FILL##############
.BREAK
Words in the lines in the source file
are to be accumulated until the next word would cause the
contents of the accumulated line to extend beyond the right margin.
Opposite of the  _.NO FILL command.
The _.FILL command  is the default.
.SKIP
.test page 3
.INDENT -5
_.FN#######.FOOTNOTE
.BREAK
The following text, through the next _.END FOOTNOTE command,
is to be placed in a footnote.
Each new footnote is  assigned a sequentially higher number if a _.NUMBER
FOOTNOTE command has been issued.
Neither the _.FOOTNOTE command, nor any of the commands
issued between the  _.FOOTNOTE command and the following _.END FOOTNOTE
command, break the line being constructed when the _.FOOTNOTE
command was issued.
.SKIP
.test page 3
.INDENT -5
_.FNR#'-'##.FOOTNOTE RULE '-'
.BREAK
A line of minus signs is to be ruled above the footnotes at the
bottom of each page which bears footnotes.
Because the underscore is a special character used to mark appearances
of other  special characters which are to be treated
as normal characters, 2 underscores
would have to appear between the apostrophes in order to cause a line
of underscores to be ruled instead.
.SKIP
.test page 3
.INDENT -5
_.I#5######.INDENT#5##########
.BREAK
The left end of the next line
of text is to  begin 5 spaces to the right of the left margin.
A negative number can be used to cause the next line of
text to begin to the left of the left margin instead.
.SKIP
.test page 3
.INDENT -5
_.J########.JUSTIFY###########
.BREAK
Extra spaces can be inserted between
words to force the right margin to be even.
Opposite of  the _.NO JUSTIFY command.
The _.JUSTIFY command  is the default.
.SKIP
.test page 3
.INDENT -5
_.LM#10####.LEFT#MARGIN#10####
.BREAK
Each line
is to begin 10 spaces to the right of  the left edge of the document.
Each line begins at the left edge of the document if a _.LEFT MARGIN
command has not been issued.
The _.OFFSET command should be issued instead of the _.LEFT MARGIN
command if the intent is to move the entire document to the right.
.SKIP
.test page 3
.INDENT -5
_.NF#######.NO#FILL###########
.BREAK
The contents of the lines in the source file
are to be copied into the reformatted document without changing
the number of words per line or the spacing between these words
until the next _.FILL command is encountered.
.SKIP
.test page 3
.INDENT -5
_.NJ#######.NO#JUSTIFY########
.BREAK
Extra spaces are not to be inserted between
words.  The result is a ragged right margin.
.SKIP
.test page 3
.INDENT -5
_.NM#5#####.NUMBER#5
.BREAK
Causes the next page to have 5 as its page number.
If the number is signed, then the page numbering is adjusted by
the indicated amount.
.SKIP
.test page 3
.INDENT -5
_.NMFN#####.NUMBER#FOOTNOTE
.BREAK
Causes footnotes to be sequentially numbered.
If a number appears to the right of the _.NUMBER FOOTNOTE command,
then that number is assigned to the next footnote.
Each footnote number is inserted both at the location in the surrounding
text at which the footnote is specified, and at the start of
the footnote.
The _.DISPLAY REFERENCE and the  _.DISPLAY FOOTNOTE commands (see the
descriptions of these commands given later in this guide)
 can be issued to change the manner in which these
numbers are represented.
.SKIP
.test page 3
.INDENT -5
_.O#10#####.OFFSET#10#########
.BREAK
The entire reformatted document is to be
shifted 10 columns to the right.
The _.OFFSET command does not change the appearance of the
reformatted document, since each line is constructed before
being shifted.
.SKIP
.test page 3
.INDENT -5
_.PG#######.PAGE##############
.BREAK
The text which follows
is to be placed on a new page.
The _.LEFT PAGE or the _.RIGHT PAGE commands  (see the descriptions
 of these given later in this guide)   should be issued
instead if the new page is  always to bear left page titles or right page
titles respectively.
The _.SKIP LEFT PAGE or _.SKIP RIGHT PAGE commands (see the descriptions
of these given later in this guide) should be issued if an empty page
is to be generated
if this is necessary to prevent the new page from being a
left page or a right page respectively.
.SKIP
.test page 3
.INDENT -5
_.PGL#60###.PAGE#LENGTH#60
.BREAK
Each page in the reformatted
document can contain 60 lines.
The default page size is 58 lines of 60 characters each.
.SKIP
.test page 3
.INDENT -5
_.PGW#72###.PAGE#WIDTH#72
.BREAK
Each line in the reformatted
document can contain 72 characters.
The default page size is 58 lines of 60 characters each.
The number of characters on each line can also be
modified by the _.RIGHT MARGIN command.
.SKIP
.test page 3
.INDENT -5
_.P#4######.PARAGRAPH#4#######
.BREAK
The text which follows is to be
placed in a new paragraph with the first line indented 4 spaces to the right of  the left margin.
If the number is negative, then the first line of the
paragraph is indented to the left of the left margin instead.
If a number is not given, then  it is taken as the value last given
by a _.PARAGRAPH command, or as  5 otherwise.
.SKIP
.test page 3
.INDENT -5
_.RM#72####.RIGHT#MARGIN#72###
.BREAK
Each line in the reformatted document  is to end
72 columns to the right of  the left edge of the document.
Each line ends 60 columns to the right of the left edge of
the document if neither a _.RIGHT MARGIN command nor a
_.PAGE WIDTH command has been issued.
.SKIP
.test page 3
.INDENT -5
_.SP#2#####.SPACING#2#########
.BREAK
The reformatted document is to
be double spaced.
The document is single spaced otherwise.
.SKIP
.test page 3
.INDENT -5
_.TSP#5####.TEST#SPACING#5####
.BREAK
The text which follows is
to be placed on a new page if there is not enough room on the
current page for  5 more  lines   at the current line spacing.
If the document is being double spaced, then this would  actually test
for the availability of (2*5)-1 or 9 lines.
.SKIP
.test page 4
.INDENT -5
_.TT'left phrase','middle phrase','right phrase'
.test page 3
.INDENT -5
_.TOP TITLE'left phrase','middle phrase','right phrase'
.BREAK
A title
consisting of the words "left phrase" left justified
on the line, the words "middle phrase" centered on the line, and
the words "right phrase" right justified on the line
is to be placed at the top of each page.
The apostrophes in the command merely delimit the phrases and
do not appear in the title.
The _> character (the greater than sign)
can appear in a phrase  where  the current page number
is desired.
The similar _.TOP SUBTITLE command  can be used to specify a
subtitle to appear at the top of each page on the line immediately
below the title.
The  _.BOTTOM TITLE and  the _.BOTTOM SUBTITLE commands  can be used to
declare lines which are  to appear at the bottom of each page.
The _.TOP SUBTITLE, the  _.BOTTOM TITLE and
the _.BOTTOM SUBTITLE commands
reduce the number of lines available on the page for normal text.
.SKIP
If left and right pages are to bear different titles or different subtitles, then
the word "LEFT" or "RIGHT" can be inserted between the initial period
and the word "TOP" or "BOTTOM".
For example, the _.LEFT BOTTOM SUBTITLE command could be used
to define a line which is to appear only at the bottom of left pages
which are usually those bearing even page numbers.
A _.LEFT PAGE or _.RIGHT PAGE command can, however, be issued instead
of a  _.PAGE command to cause the new page
to be either a left page or a right page respectively.
.SKIP
.test page 3
.INDENT -5
_.U########.UNDERLINE#########
.BREAK
The text which appears in the
next line in the source file is to be underlined in the reformatted
document.
.LM 0
.skip
If several commands are to be applied concurrently, then  these
can usually be typed together on a single line.
If a command would logically apply to the following line of
text, then the command and the associated
text can be typed together on the same line if separated by a
semicolon.
The commands and text in the  following 3 lines
.SKIP
.INDENT 5;_.BLANK
.INDENT 5;_.CENTER
.INDENT 5;This is a line of text to be centered
.SKIP
could instead be specified
by the following  single line.
.BREAK
.SKIP
.INDENT 5;_.B.C;This is a line of text to be centered
.LEFT MARGIN 0
.SKIP
There are many other commands.
You should consult the more detailed lists of commands given later
in this guide if you need a
particular word processing feature but it is not listed above.
.SKIP 2
.TEST PAGE 6
.CENTER;Reserved Characters
.CENTER;-------- ----------
.SKIP
.test page 3
A few of the less commonly used characters are interpreted by FROFF
as indications that the subsequent characters in the source file are
to be modified.  Used singly and in pairs, some of these act in a manner
analogous to the shift and shift lock keys on a typewriter keyboard.
The characters which initially serve these functions are listed below.
These characters can be changed, as can the leading period used to
mark commands and the semicolon which can appear to the right of the
commands on a line.  Several other characters which are not initially
active can be used to indicate additional transformations.
.index flag characters>list of most common
.SKIP
.LM 3
.test page 3
.INDENT -3
_###(number or pound sign) indicates a incompressible, nonexpansible
space.  In other words, it represents a nonprinting character which
is to be treated as a printing character.
.index number sign>use as space flag
.index _# (number sign)>use as space flag
.index space flag>description
.SKIP
.test page 3
.INDENT -3
_^##(circumflex or up arrow) if followed by an alphabetic letter,
indicates that this letter is to be an upper case (capital) letter.
If doubled, as in _^_^, it causes the cases of alphabetic letters in
the subsequent text to be maintained, this being the default.  If
followed by an ampersand, as in _^_&, it causes the printing characters
in the subsequent text to be underlined.
.index _^ (circumflex)>use as upper case flag
.index circumflex>use as upper case flag
.index upper case flag>description
.SKIP
.test page 3
.INDENT -3
_\##(back or reverse slash) if followed by an alphabetic letter,
indicates that this letter is to be lower case.  If doubled, as in
_\_\, it causes upper case (capital) letters in the subsequent text
to be converted to lower case.  If followed by an ampersand, as in
_\_&, it terminates the underlining of text specified by a previous
circumflex ampersand pair.
.index back slash>use as lower case flag
.index _\ (back slash)>use as lower case flag
.index lower case flag>description
.SKIP
.test page 3
.INDENT -3
_&##(ampersand or and sign) if not preceded by either a circumflex
or a backslash, indicates that the following character is to be
underlined.  If followed by a space, and if a _.FILL command is active,
then all of the spaces between the previous word and the next word
will be underlined.  If preceded by a circumflex, as in _^_&, it causes
the printing characters in the subsequent text to be underlined.  If
preceded by a backslash, as in _\_&, it terminates the underlining
of the text specified by a previous circumflex ampersand pair.
.index ampersand>use as underline flag
.index _& (ampersand)>use as underline flag
.index underline flag>description
.SKIP
.test page 3
.INDENT -3
_>##(greater than sign) indicates the locations at which the page
numbers are to appear in the top and bottom titles and in the top and
bottom subtitles.  It is treated as an ordinary printing character
elsewhere.
.index _> (greater than)>use as page number flag in titles
.index greater than>use as page number flag in titles
.index page number flag>description
.SKIP
.test page 3
.INDENT -3
__##(underscore, or left arrow on older computer terminals) can precede
any reserved character listed above which is to appear unchanged in
the resulting document.  ___# would produce a single number sign.  ____
would produce a single underscore character.  (You might note that
in order to get 2 underscores to print here, the source file which
was processed to produce this document contained 4 underscores.)
.index underscore>use as quote flag
.index __ (underscore)>use as quote flag
.index quote flag>description
.LEFT MARGIN 0
.SKIP
.SKIP
.TEST PAGE 5
.CENTER;A Typical Source File
.CENTER;- ------- ------ ----
.SKIP
As a typical example of the use of the FROFF word processor,
the following source text
.SKIP
.LITERAL
.TOP TITLE'^&A Sample Title\&',,'>'
.PAGE LENGTH 20.PAGE WIDTH 27
.NUMBER FOOTNOTE.FOOTNOTE RULE'-'
.CENTER.UNDERLINE;A Sample Document
.PARAGRAPH
This sentence contains the first footnote
.FOOTNOTE
  This sentence
is in the first
   footnote.
.END FOOTNOTE
reference.
                 The
             many   extra
         spaces   in     this
     sentence  have  been  removed.
.BLANK
The following table was generated using the
 .NOFILL command.
.BLANK.LEFT MARGIN 5.TEST SPACING 4.NOFILL
starting inventory   5
sold during month    2
                   ---
current inventory    3
.FILL.LEFT MARGIN 0
.PARAGRAPH.NO JUSTIFY
This sentence contains the second footnote
.FOOTNOTE
This sentence is in the second footnote.
.END FOOTNOTE
reference.
This sentence contains several
.UNDERLINE;words which are
underlined.
.END literal
.SKIP
would be converted into the following 2 pages
when processed by the FROFF program.
.SKIP
.NOFILL.TEST PAGE 22
*****************************  *****************************
*                           *  *^&A Sample Title\&            2*
*                           *  *                           *
*                           *  *                           *
*     ^&A Sample Document\&     *  *     starting inventory   5*
*                           *  *     sold during month    2*
*     This sentence contains*  *                        ---*
*the   first   footnote  [1]*  *     current inventory    3*
*reference.  The many  extra*  *                           *
*spaces   in  this  sentence*  *     This sentence contains*
*have been removed.         *  *the second footnote [2]    *
*                           *  *reference.  This sentence  *
*The  following  table   was*  *contains several ^&words\&     *
*generated using the .NOFILL*  *^&which are\& underlined.      *
*command.                   *  *                           *
*                           *  *                           *
*                           *  *                           *
*                           *  *                           *
*---------------------------*  *---------------------------*
*[1]  This  sentence  is  in*  *[2]  This  sentence  is  in*
*the first footnote.        *  *the second footnote.       *
*****************************  *****************************
.FILL
.SKIP 2
.TEST PAGE 7
.CENTER;How to Run FROFF on the DECsystem20
.CENTER;--- -- --- ----- -- --- -----------
.SKIP
.index DECsystem20 computer>instructions for use of FROFF on
The procedure used for running FROFF will vary according to the
computer system being used.  The procedure on the DECsystem20
is as simple as any, since the only thing which the user is required
to type is the name of the input file with default values being
assumed for everything else.
.skip.test page 3
FROFF is invoked on the DECsystem20 by merely typing its name.  It
will confirm that it is being run, and will then ask for the name of
the source file which is to be processed.  The first part of the name
of this source file, that is, the part of the name preceding the first
period, must be formed of 6 or fewer characters.  If the file has a
file type, that is, the part of the name following the first period,
then this file type must be formed of 3 or fewer characters.  If the
file type is present and is anything other than _.RNO, then the user
must include the file type when specifying the source file.  Several
runtime options can be selected by switches each consisting of an
initial slash followed immediately by an alphabetic letter.
The runtime options are described later in this guide. If one
or more of these switches are needed, then these can be typed either
before or after the name of the source file.  If the switches are typed
before the name of the source file, then the switches must be
separated from the file name by one or more spaces.
.index file name conventions>on DECsystem20 computer
.SKIP.test page 3
FROFF will write the reformatted document into a file for which the
first part of the name is the same as that of the source file, but
having _.DOC as its file type.  For example, if the name of the source
file is either TEST without a file type or is TEST.RNO, then the request
for the name of the source file should be answered with just the first
part of the name, that is, with the name TEST typed without a period,
and the file containing the resulting reformatted document will be
named TEST.DOC.  If files already exist with both of the names TEST
and TEST.RNO, then the answer typed by the user should be TEST_.  with
a period to process the former or TEST.RNO to process the latter.
.SKIP.test page 3
When processing of the source file has been completed, FROFF will report
the number of pages produced, and will ask for the name of another
source file to be processed.  Either just a carriage return or a
control-C can be typed if there are no additional files to be processed.
The following is a typical dialog between a user and FROFF.  The text
typed by the user is underlined.
.SKIP
.NOFILL
.TEST PAGE 9
@^&FROFF\&
FROFF (06/81)
Type /H for Help
Source file? ^&TEST/B3/O10\& (begin on third page and offset 10)
Pages:    2
Source file? ^&#\&           (that is, merely a carriage return)
CPU TIME: 1.60  ELAPSED TIME: 9.25
EXIT
@
.FILL
.skip 2.test page 7
.center;Options Which can be Selected When FROFF is Run
.center;------- ----- --- -- -------- ---- ----- -- ---
.SKIP
Several options which are likely to be changed each time that the source
file is processed can be specified by the user when FROFF is run.
 Each of these options is selected by typing a slash
immediately followed by an alphabetic letter.  In some cases, the letter
can itself be followed immediately by a colon and then immediately by
a number.
Some versions of FROFF will request that these switches be typed first
and separate from the file specifications, but most versions, including those
for the DECsystem10 and DECsystem20 computers, expect that the switches,
if any, will be typed with the name of the first input file.
.skip.test page 3
 The following examples are typical
of these switches.
.left margin 5.skip.test page 3.indent -5
/B:5#(B for begin) causes the output to begin with the 5th page,
suppressing those that came before.
.index runtime options>beginning page
.skip.test page 3.indent -5
/C###(C for continuous) causes the reformatted document to be written
directly to the terminal without pausing at the top of each page.  This
would be used to type onto fanfold, sprocket-hole punched paper.
.index runtime options>continuous output to terminal
.left margin 5.skip.test page 3.indent -5
/E:8#(E for end) causes the output to end with  the 8th page,
 suppressing those that would come after.
.index runtime options>ending page
.skip.test page 3.indent -5
/O:5#(O for offset) causes  the entire reformatted document to be offset  5 spaces to the right.
This is in addition to any offset which might have been specified in the source file.
.index runtime options>offset
.skip.test page 3.indent -5
/P###(P for pause) causes the reformatted document to be written
directly to the terminal, pausing at the top of each page.  This would
be used to type onto individual sheets of paper.  The user must type
a carriage return after a new sheet of paper has been inserted into
the terminal to cause FROFF to resume typing.
.index runtime options>pausing between pages
.skip.left margin 0
For example, on the DECsystem20, the user might type
.skip
.indent 5
TEST/O:10/B:20
.skip.test page 3
in response to the request for the name of the source file
to cause FROFF  to process the file named TEST.RNO,
offsetting the reformatted document 10 spaces to the
right and suppressing the first 19 pages.
.skip.test page 3
For information about the other runtime features which are available,
you can either consult the more detailed descriptions given below
or you can type the  /H  switch when FROFF is run.
.skip 2 .test page 8.left margin 0
.center;Complete List of The Runtime Options
.center;-------- ---- -- --- ------- -------
.skip
.test page 3
All of the options which can be specified by the user each time FROFF
is run are described below.  However, the short list given above will
be sufficient for most users.  Don't bother to read this section if
you are a novice user of FROFF.
.skip
.test page 4
.left margin 5.indent -5
.indent -5
/BEGIN:number
.break
.index runtime options>beginning page
causes all pages to be suppressed which precede the indicated page.
The page count which is used in making the comparison is 1 for the
first page and is incremented by 1 for each following page regardless
of the page numbers marked on these pages.
.skip
.test page 4
.indent-5
/CONTINUOUS
.break
.index runtime options>continuous output to terminal
causes the output to be written to the controlling terminal without
pausing at the top of each new page.  This switch would be used to
output onto fanfold paper or to check the resulting document on a video
terminal.
.skip
.test page 4
.indent -5
/END:number
.break
.index runtime options>ending page
causes all pages to be suppressed which follow the indicated page.
The page count which is used in making the comparison is 1 for the
first page and is incremented by 1 for each following page regardless
of the page numbers marked on these pages.
.skip
.test page 4
.indent -5
/OFFSET:number
.BREAK
.index runtime options>offset
causes the output to be shifted to the right by the indicated number
of columns.  This offset is applied in addition to any offset which
may be specified within the source file by an _.OFFSET command.
.skip
.test page 4
.indent -5
/PAUSE
.break
.index runtime options>pausing between pages
causes the output to be written to the controlling terminal.  The
program will pause at the top of each new page and wait for you to
hit the carriage return key before continuing.  This allows you to
insert individual sheets of paper into the terminal.  If the document
contains an index, then FROFF will temporarily stop responding near
the end of the document while the index is being constructed.
.skip.test page 4
.indent -5
/TERMINAL:number
.break
.index runtime options>terminal type
selects the type of terminal upon which the document will be displayed.
This switch does not need to be specified unless the document contains
superscript or subscript characters and the terminal upon which the
document will ultimately be displayed can perform half-line spacing.
.test page 3.indent-5
.index runtime options>terminal without half-line spacing
/T:0#if the output device cannot do half-line spacing.  This is the
default if no /T switch is issued.  Superscript characters will be
superimposed upon blank lines above the lines containing unshifted
characters and subscript characters will be superimposed upon blank
lines below the lines containing unshifted characters.  If the lines
of the document are being singly spaced, then extra lines will be
inserted which contain only the superscript or subscript characters.
If the lines of the document are being doubly or triply spaced, then
the lines which contain the superscript or subscript characters will
be those which would otherwise separate the lines which contain the
unshifted printing characters.
.test page 3.indent-5
.index runtime options>terminal with half-line spacing
/T:1#if a draft is to be produced which is to be displayed upon an
output device which cannot do half-line spacing, but the document will
ultimately be displayed upon a device which can do half-line spacing.
The pages which contain superscript or subscript characters can be
longer than normal since extra lines may have to be inserted to contain
the superscript or subscript characters, but each page will contain
the same information as if an output device had been selected which
could do half-line spacing.  The document will have to be processed
again using the /T switch with a value which specifies a different type
of terminal to produce the final version.
.test page 3.indent-5
.index runtime options>terminal with uni-directional tractor
/T:2#if the output device is a Diablo or a Xerox daisywheel terminal
with a uni-directional form tractor with sprockets above the platen
but not behind the platen.  Superscript characters will be displayed
half a line above the normal line by doing a half-line feed before
typing the superscript characters, then doing another half-line feed
before typing the characters which are not shifted either up or down.
Subscript characters will similarly be displayed after the characters
which are not shifted.  The text on each page will be typed a half-line
lower than normal to allow for some pages to start with title lines
which contain superscript characters.
.test page 3.indent-5
.index runtime options>terminal with bi-directional tractor
/T:3#if the output device is a Diablo or a Xerox daisywheel terminal
with a bi-directional form tractor with sprockets both above and behind
the platen.  Superscript and subscript characters will be typed
intermixed with the unshifted characters in the order in which these
appear from left to right on the line.  Groups of contiguous superscript
characters will be preceded by a reverse half-line feed and followed
by a forward half-line feed.  Groups of contiguous subscript characters
will be preceded by a forward half-line feed and followed by a reverse
half-line feed.  This option should not be selected if the terminal
has a uni-directional form tractor since such a tractor cannot
reliably shift the paper to a higher position on the page when
reverse paper motion is requested
.skip.left margin 0
.test page 5
For example, if the user types the command
.skip
.INDENT 5
ONE/P/O:12/B:6/E:10
.BREAK
or
.INDENT 5
TTY:=ONE.RNO/E:10/B:6/O:12/P
.skip
.test page 3
in response to the "Source file?"  request, then the sixth through
the tenth pages resulting from the processing of the file ONE.RNO would
be typed on the terminal, with each line being shifted to the right
12 columns, and with the program pausing at the top of each page.
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Chapter 2
.skip
.center;Source File Conventions
.rtt'Source File Conventions',,'>'
.skip 3
.fill
.left margin 0
.center;The Structure of the Commands in the Source File
.center;--- --------- -- --- -------- -- --- ------ ----
.skip
.index control flag>description
.index command line>structure of
.index _. (period)>use as control flag
.index period>use as control flag
Each line of the source file which does not start with a period in
the left column contains text which is to be represented in the output
file.  Each line in the source file which starts with a period in the
left column is interpreted as a command which specifies how the text
is to be represented in the output file.  A command consists of the
leading period followed either by a word or by a phrase which identifies
the command, followed for some commands by numbers, by characters or
phrases marked at both ends by apostrophes, or by the text which extends
through the rightmost printing character on the line.
.skip
.test page 3
The alphabetic letters which form the word or phrase which identifies
the command can appear in lower case, in upper case, or in a mixture
of upper and lower cases.  In addition to its reserved alias, a command
name can also be abbreviated by the deletion of the rightmost letters
in the word or in each of the words of a phrase provided that enough
letters remain to unambiguously identify the command.  The spaces
between the words of a phrase are not necessary unless the first deleted
letter in a word is the same as the first letter of the next word in
the phrase.  In general, any shortened form of a command which appears
to make sense is recognizable by FROFF.  If FROFF does happen to
complain about a shortened form, then you have probably not noticed
that another command has a similar name and you should specify more
letters.
.index command abbreviations>how formed
.skip
.test page 3
The numbers, the characters or phrases marked at both ends by
apostrophes, or the line of text which follows the word or phrase are
referred to as the arguments of the command.  Each pair of arguments
in the series of several arguments which can be used with some commands
can be separated by spaces and/or by a single comma, but the comma
is required only if the preceding argument is missing.
.index comma>between arguments of command
.skip
.test page 7
For example, a few of the many ways in
which the command
.SKIP
.INDENT 5;_.LEFT MARGIN 5
.SKIP
could be abbreviated are
.SKIP
.INDENT 5;_.LEM 5, .LE M5, .LMA5, .L MA 5, .LEMA5 and .LE MA 5
.SKIP.test page 7
A few of the many ways in which the command
.skip
.indent 5
_.FLAGS SPACE '*'
.skip
.break
could be abbreviated are
.skip
.indent 5
_.FSP'*' or .F SPA'*' or .FL SP '*' or .FLASP'*'
.skip
.test page 3
If the word SPACE were to be abbreviated by truncation to merely the
single letter S, then these abbreviations would be
ambiguous since these abbreviations could then just as well select the
_.FLAGS SUBINDEX command.
.break
.skip
.test page 3
Except for those commands in which the word or phrase which identifies
the command can be followed by the text which extends through the
rightmost printing character on the line, any command can be followed
on the same line by another command or by a semicolon which can be
followed in turn by whatever would otherwise have appeared on the next
line.  If 2 commands are separated by a semicolon, then spaces can
.index _; (semicolon)>use as command separator flag
.index semicolon>use as command separator flag
appear to the left of the semicolon and to the right of the second
period, but cannot appear between the semicolon and the second period.
If 2 commands appear on the same line but are not separated by a
semicolon, then spaces can appear between the first command and the
second period.  A leading period or a command can be followed by an
exclamation point and then by a comment which extends through the next
.index _! (exclamation point)>use as comment flag
semicolon on the same line or through the end of the line if a semicolon
does not appear on the same line to the right of the exclamation point.
A comment is not terminated by the appearance of a period.
.skip
.test page 5
For example, the text
.skip
.left margin 5
.nofill
_.SKIP 2
_.CENTER
This is a Title
.fill
.left margin 0
.skip
.test page 6
could also be specified by any of the following single lines
.skip
.indent 5
_.SKIP 2.CENTER;This is a Title
.indent 5
_.SKIP 2;.CENTER;This is a Title
.break
or
.indent 5
_.SKIP 2!comment;.CENTER!comment;This is a Title
.skip
.test page 3
An underscore character can appear before any character, such as a
leading period in a noncommand line, or a semicolon, exclamation point,
comma or another underscore in a command line, which is to be treated
as an ordinary printing character.
.index __ (underscore)>use as quote flag
.index underscore>use as quote flag
.fill
.skip 2
.test page 6
.center
Case Notation for Alphabetic Letters
.center
---- -------- --- ---------- -------
.skip
.test page 3
The alphabetic letters A through Z in the source text should, if at
all possible, be in upper case where upper case (capital) letters
are desired in the resulting document, and should be in lower case
where lower case (small) letters are desired.  However, if the
alphabetic letters in the source text, or in a portion of it, are all
in a single case, then the letters and words which are to be in upper
case in the resulting document can be marked by preceding them with
flag characters and the rest of the letters can then be converted to
lower case letters.  Such case conversion requires very little extra
processing, but the insertion of the flag characters into the source
text will probably take the user more time than would depressing the
shift key, and is more prone to error.
.skip
.test page 3
.index retaining cases
An _.UPPER CASE command or 2 consecutive circumflexes (_^_^) anywhere
in the source text indicates that the cases of all subsequent alphabetic
.index upper case flag>description
.index UPPER CASE command>equivalent to doubled circumflexes
.index _^ (circumflex)>equivalent to UPPER CASE command when doubled
.index double circumflex>equivalent to UPPER CASE command
.index circumflex>equivalent to UPPER CASE command when doubled
letters which are not otherwise marked are to be retained.  An _.UPPER
CASE command is considered to be in effect when this program is started.
A _.LOWER CASE command or 2 consecutive back slashes (_\_\) anywhere
in the source text indicates that all subsequent alphabetic letters
.index lower case flag>description
.index LOWER CASE command>equivalent to doubled back slashes
.index _\ (back slash)>equivalent to LOWER CASE command when doubled
.index double back slash>equivalent to LOWER CASE command
.index back slash>equivalent to LOWER CASE command when doubled
.index capital letters>conversion to lower case
.entry case conversion>of lower case to capitals, see capitalization
.entry case conversion>of capitals to lower case, see capital letters
which are not otherwise marked are to be converted to their lower case
forms.  Regardless of the overall case setting, any single letter which
is to be converted to its upper case form can be preceded by a single
.index _^ (circumflex)>use as upper case flag
.index circumflex>use as upper case flag
.index capitalization>of single letter
circumflex, and any single letter which is to be converted to its lower
.index _\ (back slash)>use as lower case flag
.index back slash>use as lower case flag
case form can be preceded by a single back slash.  If a _.FLAGS
CAPITALIZE command has been issued, then a less than sign (_<) can
be used at the start of a word to indicate that all of the following
alphabetic letters are to be converted to their upper case forms in
.index capitalization>of single word
.index word>conversion of lower case to capital
the word which extends either through the rightmost character on the
line, or up to the next space, or up to the next less than sign,
whichever comes first.  A single underscore can precede any character,
such as a circumflex or a back slash or even another underscore, which
is to be treated as a nonalphabetic printing character.  A space which
is to be treated as a nonalphabetic printing character can be indicated
.index space flag>description
either by a number sign or else by a space which is preceded by an
underscore.  A number sign which is to be kept as a number sign must
be preceded by a single underscore.  Any of these flag characters can
be changed or temporarily disabled by commands in the source file.
.skip
.test page 3
If the source file contains only lower case letters, but both cases
are desired, then, without any special action, all letters will remain
in their lower case forms except for those letters which immediately
follow a single circumflex or which are in words which are preceded
by a less than sign if a _.FLAGS CAPITALIZE command has been issued.
.skip
.test page 3
If the source file contains only upper case letters, but both cases
are desired, then the input file should contain a _.LOWER CASE command
or 2 consecutive back slashes so that subsequent letters will be
translated to their lower case forms except for those letters which
immediately follow a single circumflex or which follow a single
underscore or which are in words which are preceded by a less than
sign if a _.FLAGS CAPITALIZE command has been issued.  If there are
sections of the source text which are to be kept primarily in their
original upper case forms, then these sections can be preceded by an
_.UPPER CASE command or by 2 consecutive circumflexes, and then any
individual letters which need to be converted to their lower case forms
can be preceded by single back slashes.
.skip
.test page 8
For example, the source text
.skip
.nofill
.test page 6
_.nofill.flags capitalize
_\_\_^ONLY THE FIRST LETTER IN THIS LINE REMAINS UPPER CASE.
<THE FIRST WORD IN THIS LINE WILL BE CAPITALIZED.
_^_^_^all but the first letter of this line remains lower case.
<the first word in this line will be capitalized.
Underscores precede ___^, ___\, __<, ___# or ____ which are kept.
.skip
.fill
.test page 8
would be transformed into the following lines of text when processed
by this program.
.skip
.nofill
.test page 5
Only the first letter in this line remains upper case.
THE first word in this line will be capitalized.
All but the first letter of this line remains lower case.
THE first word in this line will be capitalized.
Underscores precede _^, _\, <, _# or __ which are kept.
.fill
.skip 2
.test page 6
.center;Underlining Characters, Words and Phrases
.center;----------- ----------- ----- --- -------
.skip
A word or a phrase which is to be underlined can be preceded on the
previous line by an _.UNDERLINE command.
.index UNDERLINE command>definition
.index underlining>word or phrase
.skip.test page 5
For example, the source text
.skip.nofill
Some words
_.UNDERLINE;in this sentence
are underlined.
.skip.fill.test page 3
would produce the following text
.skip
Some words ^&in this sentence\& are underlined.
.skip
.test page 3
The _.UNDERLINE command cannot, however, be used to underline individual
letters within words and cannot be used to underline individual words
within lines which are within the range of a _.NOFILL command and which
are therefore being copied with the words in their original locations.
Instead, when only some of the printing characters which appear on
a single line in the input file are to be underlined, then the
characters to be underlined can be indicated in either of the following
ways:
.skip.lm+3
.test page 3
.indent-3;a.#Each individual character which is to be
underlined can be preceded by an ampersand character (_&).
.index _& (ampersand)>use as underline flag
.index ampersand>use as underline flag
.index underline flag>description
.skip
.test page 4
For example, the line of output text shown above could instead have
been specified by the following source text
.skip.literal
Some words &i&n &t&h&i&s &s&e&n&t&e&n&c&e are underlined.
.end literal.skip
.test page 3
.indent -3;b.#Each word or phrase which is to be underlined can be
preceded by a circumflex character (_^) followed immediately by an
.index _^ (circumflex)>use with ampersand to start underlining
.index circumflex>use with ampersand to start underlining
ampersand to indicate the start of the text being underlined.  The
end of the word or phrase which is being underlined is then indicated
by a backslash character (_\) followed immediately by an ampersand.
.index _\ (back slash)>use with ampersand to stop underlining
.index back slash>use with ampersand to stop underlining
.skip
.test page 4
For example, the line of output text shown above could also have been
specified by the following source text
.skip.literal
Some words ^&in this sentence\& are underlined.
.end literal.lm-3.skip
.test page 3
The spaces within a phrase are not usually underlined if the phrase
is preceded by the _^_& character pair.  If the text is being filled
(that is, words are being wrapped around from one line to the next
to make the lines be of approximately equal length), then a single
ampersand placed after a word will cause the space or spaces between
that word and the next to be underlined.  If the text is not being
filled, and this applies as well to text being centered or right
justified, then each and every space which is to be underlined would
be preceded by an ampersand.  If all spaces are to be underlined which
are between words which are being underlined, then an _.UNDERLINE SPACE
.index spaces>underlining
.index underlining>spaces
command can be issued instead.  An _.UNDERLINE SPACE command issued
in the main text of the document does not cause spaces to be underlined
which are between underlined words in footnotes, and an _.UNDERLINE
SPACE command issued in a footnote does not cause spaces to be
underlined which are between underlined words in the main text of the
document.
.skip
.test page 3
An ampersand which is to appear in the output text as itself must be
preceded in the source text by an underscore character which indicates
that the character following it is to be copied literally rather than
be used as a flag character.  Several spaces which are to be underlined
can either be indicated by several ampersand-number sign pairs, or
by a circumflex-ampersand pair followed by several number signs followed
in turn by a back slash-ampersand pair, or by twice the desired number
of underscores.
.skip.test page 7
For example, the source text
.skip
.literal
These are blanks:  &#&#&#&#&#, ^&#####\& _& __________
.end literal
.skip
would produce the following line of output text
.skip.nofill
These are blanks:  &#&#&#&#&#, ^&#####\& _& __________
.fill
.entry abbreviations>see command aliases
.entry abbreviations>see command abbreviations
.entry command abbreviations>see command aliases
.entry aliases>see command abbreviations
.entry aliases>see command aliases
.entry command aliases>see command abbreviations
.entry address file>see also splice file
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Chapter 3
.skip
.center;How to Perform Common Word Processing Tasks
.rtt'How to Perform Common Word Processing Tasks',,'>'
.skip 3
.fill
.left margin 0
.center
Specification of Form Letters
.center
------------- -- ---- -------
.skip
.test page 3
Form letters can be generated by placing the unchanging portion of
the letter in a form letter specification file, and the varying portions
of the individual letters together in a splice file.  The form letter
specification file would begin with the commands
.index form letter>discussion
.skip
.test page 5
_.OPEN SPLICE.LOOP
.index loop>form letter
.SKIP
and end with the commands
.skip
_.RESET.END LOOP
.SKIP
.test page 3
Within the form letter specification file, _.SPLICE commands would
be inserted at each location where 1 or more lines of text are to be
brought in from the splice file.  If no number appears to the right
of the _.SPLICE command, then the splice file is read until an _.END
SPLICE command is found.  If a number appears to the right of the
_.SPLICE command, then this is the number of lines which are to be
read from the splice file.  No additional commands or text should appear
to the right of the _.END SPLICE command.
The lines of text read from the splice file are treated exactly as
though these lines had been read from the form letter specification
file.
.index splice file>use in form letter
.index SPLICE command>use in form letter
.index END SPLICE command>use in form letter
.skip.test page 3
If FROFF is run from a terminal which will accept separate sheets of
typewriter paper, then, when the user is asked to specify the source
file, the user should type the switch /PAUSE along with the name of
the source file.   At the start of each new page, FROFF will issue a
form feed to eject the last sheet of paper from the terminal, and will
wait for the user to hit the return key before proceeding.
.index runtime options>pausing between pages
.skip.test page 13
A simple form letter specification file is shown below.
.skip.nofill.test page 11
_.OPEN SPLICE.LOOP.PAGE LENGTH 20.PAGE WIDTH 27
_.NO HEADER.NO FILL.NO FLAGS.LEFT MARGIN 11
Boarding Kennels
13 Central Plaza
Atlantis
_.SKIP.LEFT MARGIN 0.SPLICE.SKIP.FILL
We regret to inform you that your pet died
when a troll destroyed our building.
_.SKIP.NOFILL.LEFT MARGIN 11;Yours truly,
_.SKIP 2;Joan Doe
_.RESET.END LOOP
.index form letter>sample
.skip.fill.test page 3
The commands in this form letter specification file perform the
following functions.
.skip.lm+1.list 0
.le;The _.OPEN SPLICE command causes FROFF to ask the user to identify
the splice file before the first letter is typed.  Otherwise, this
dialog would take place while the first letter is being typed.
.le;The _.LOOP command causes the following source text, through the
following _.END LOOP command in the original file, to be processed
repeatedly until an _.END LOOP command is encountered in the splice
file.
.le;The _.PAGE LENGTH command sets the height of each page and the
_.PAGE WIDTH command sets the width of each page.  These commands are
used to force very small pages which can be inserted easily into this
manual.  Such a small page size would not be used for the production
of actual form letters.
.le;The _.NO HEADER command suppresses the blank lines reserved at
the top of each page for the title and subtitle.  This command would
not be necessary if each letter were longer than a single page.
.le;The _.NO FILL command causes each line of the sender's address
on the following lines in the form letter specification file and of
the recipients' addresses and the salutations in the splice file to
be copied without changing the original spacing before and between
the words on the line.
.le;The _.NO FLAGS command allows characters, such as ampersands, which
would otherwise be treated as flag characters, to instead appear as
ordinary characters in the output.
.le;The _.LEFT MARGIN 11 command shifts the sender's address 11 columns
to the right. This shift is smaller for this example than it would be
for the production of actual form letters.
.le;The _.SKIP command inserts a blank line between the sender's
address and the recipient's address which will be read from the splice
file.
.le;The _.LEFT MARGIN 0 command shifts the recipient's address and
the rest of the text of the letter back to the left edge of the page.
.le;The _.SPLICE command causes the lines of text to be copied from
the splice file until an _.END SPLICE command is encountered in the
splice file.  These lines will specify the recipient's address, a
separating blank line and the salutation complete with punctuation.
.le;The _.SKIP command inserts a blank line between the salutation
and the body of the letter.
.le;The _.FILL command causes the words in the text of the letter to
be shifted from one line to the next to form lines of equal length.
This terminates the effect of the _.NO FILL command issued earlier.
.le;The _.SKIP command skips a blank line between the
text of the letter and the closing lines.
.le;The _.NOFILL command causes the closing lines to be copied without
changing the number of words on each line and without changing the
spacing before and between these words.
.le;The _.LEFT MARGIN 11 command shifts the closing lines 11 columns
to the right.  Again, this shift is smaller for this example than it
would be for the production of actual form letters.
.le;The _.SKIP 2 command skips 2 lines before the sender's name.
.le;The _.RESET command causes the initial conditions to be restored
for the next letter and causes the next letter to be typed starting
on a new first page.  The _.RESET command could also have been inserted
directly after the _.LOOP command, but it must be within the loop and
must be issued either before all other commands in the loop or after
all other commands in the loop.
.le;The _.END LOOP command defines the end of the source text in the
original file which is to be processed repeatedly until an _.END LOOP
command is encountered in the splice file.
.end list.lm-1.skip.test page 3
A typical splice file is shown below.  This file defines both the
address and the salutation to appear at the start of each letter.  The
blank lines in this file would produce blank lines in the output if
a _.NO FILL command has been issued in the form letter specification
file. The blank lines could be replaced by lines containing _.SKIP
commands instead.
.skip.nofill.test page 13
Mr. John Smith
22 Narrow Av.
Wide Town, Conn.

Dear Mr. Smith:
_.END SPLICE
Ms. Jane Jones
44 Flat Street
Hilly City, Mass.

Dear Ms. Jones:
_.END SPLICE
_.END LOOP
.index splice file>sample
.index address file>sample
.skip.fill.test page 22
The form letters shown below are produced when the form letter
specification file shown above is used to process this splice file.
.skip
.NOFILL.TEST PAGE 22
*****************************  *****************************
*           Boarding Kennels*  *           Boarding Kennels*
*           13 Central Plaza*  *           13 Central Plaza*
*           Atlantis        *  *           Atlantis        *
*                           *  *                           *
*Mr. John Smith             *  *Ms. Jane Jones             *
*22 Narrow Av.              *  *44 Flat Street             *
*Wide Town, Conn.           *  *Hilly City, Mass.          *
*                           *  *                           *
*Dear Mr. Smith:            *  *Dear Ms. Jones:            *
*                           *  *                           *
*We  regret  to  inform  you*  *We  regret  to  inform  you*
*that  your  pet died when a*  *that  your  pet died when a*
*troll     destroyed     our*  *troll     destroyed     our*
*building.                  *  *building.                  *
*                           *  *                           *
*           Yours truly,    *  *           Yours truly,    *
*                           *  *                           *
*                           *  *                           *
*           Joan Doe        *  *           Joan Doe        *
*                           *  *                           *
*****************************  *****************************
.FILL
.skip.test page 3
Form letters can be customized by the insertion of words, phrases,
sentences, or even whole paragraphs from the splice file.  A _.SPLICE
1 command would appear in the form letter specification file wherever
a word or a phrase is to be inserted.  A longer insertion of variable
length would be handled in a manner similar to the recipient's addresses
in the above example; the _.SPLICE command would be issued without
a following number at the point in the form letter specification file
at which the long insertion is needed, and each section of text being
inserted would be terminated by an _.END SPLICE command in the splice
file.  If there is more than a single insertion per letter, then all
of the insertions for the first letter appear first in the splice file
in the order in which these insertions are to appear in the letter,
all of the insertions for the second letter appear next, and so on.
.index form letter>insertion into
.skip.test page 17
The following is a typical form letter specification file which requires
2 fixed length insertions in addition to the variable length recipient's
address.
.skip.test page 13.nofill
_.OPEN SPLICE.LOOP.PAGE LENGTH 20.PAGE WIDTH 27
_.NO HEADER.NO FILL.NO FLAGS.LEFT MARGIN 11
Boarding Kennels
13 Central Plaza
Atlantis
_.SKIP.LEFT MARGIN 0.SPLICE.SKIP.FILL
We regret to inform you that
_.SPLICE 1;your pet
_.SPLICE 1;died when a troll destroyed our building.
_.SKIP.NOFILL.LEFT MARGIN 11;Yours truly,
_.SKIP 2;Joan Doe
_.RESET.END LOOP
.index form letter>sample
.skip.fill
The splice file shown below includes the 2 extra lines needed
for each form letter.  Additional _.END SPLICE commands are not
necessary since the _.SPLICE commands specify the number of lines
to be read.
.skip.test page 17.nofill
Mr. John Smith
22 Narrow Av.
Wide Town, Conn.

Dear Mr. Smith:
_.END SPLICE
Screech,
yellow harpy,
Ms. Jane Jones
44 Flat Street
Hilly City, Mass.

Dear Ms. Jones:
_.END SPLICE
Fangs,
snail,
_.END LOOP
.index splice file>sample
.index address file>sample
.fill.skip.test page 26
The new form letters shown below are produced when the form letter
specification file including the extra _.SPLICE commands is used to
process this splice file.
.skip
.NOFILL.TEST PAGE 22
*****************************  *****************************
*           Boarding Kennels*  *           Boarding Kennels*
*           13 Central Plaza*  *           13 Central Plaza*
*           Atlantis        *  *           Atlantis        *
*                           *  *                           *
*Mr. John Smith             *  *Ms. Jane Jones             *
*22 Narrow Av.              *  *44 Flat Street             *
*Wide Town, Conn.           *  *Hilly City, Mass.          *
*                           *  *                           *
*Dear Mr. Smith:            *  *Dear Ms. Jones:            *
*                           *  *                           *
*We  regret  to  inform  you*  *We  regret  to  inform  you*
*that   Screech,   your  pet*  *that Fangs, your pet snail,*
*yellow harpy, died  when  a*  *died when a troll destroyed*
*troll     destroyed     our*  *our building.              *
*building.                  *  *                           *
*                           *  *           Yours truly,    *
*           Yours truly,    *  *                           *
*                           *  *                           *
*                           *  *           Joan Doe        *
*           Joan Doe        *  *                           *
*****************************  *****************************
.FILL
.skip
In the above example, the punctuation marks which are to appear at
the ends of the words or phrases inserted from the splice file actually
appear in the splice file.  If the same punctuation mark is always
to appear at the end of a particular insertion, then this punctuation
mark can instead appear once in the form letter specification file
rather than repeatedly in the splice file.  A _.JOIN command would
have to be issued after the _.SPLICE command, but before the punctuation
character appears as ordinary text in the form letter specification
file, to cause the punctuation mark to be attached directly to the
word or to the last word of a phrase inserted from the splice file.
For example, the form letter specification file could contain the
command sequence
.index JOIN command>use with insertions in form letters
.SKIP
_.SPLICE 1.JOIN;,
.SKIP
to append a comma to the word or to the last word of a phrase read
from the splice file.  The semicolon which appears to the right of
the _.JOIN command allows the text which could appear on the following
line to instead appear to the right of the semicolon on the same line.
If a period is to be appended to the word or to the last word of a
phrase read from the splice file, then an extra blank should appear
between the semicolon and the period so that the period will not be
treated as though it marks the start of another command.
.skip 2.test page 7
.center;Addressing Envelopes for Use with Form Letters
.center;---------- --------- --- --- ---- ---- -------
.skip
Addresses can be typed on envelopes by using a file similar to those
used for specifying form letters.  This file only needs to print the
sender's address, then skip down to the center of the envelope and
print the next address read from the splice file.  The splice file
should contain only the recipients' addresses, each followed by an
_.END SPLICE command, and a final _.END LOOP command.  Salutations
and all other splice insertions for the form letters must be removed
before a splice file meant for the form letters can be used for the
envelopes.
.index addressing envelopes
.index envelopes>addressing
.skip.test page 3
Each envelope is treated as a separate page.  After the sender's address
has been typed at the upper left corner of the envelope, then either
a _.FIGURE command or a _.SKIP command can be used to shift down to
the location at which the recipient's address is to be typed.  If the
sender's address is not typed at the upper left corner of the envelope,
then a _.FIGURE command must be used to shift down to the location
at which the recipient's address is to be typed since a _.SKIP command
is always ignored when issued at the top of a page.
.skip.test page 3
The dimensions shown in the following diagram can be used to estimate
the left margin for the recipient's address, and the space between
the bottom of the sender's address and the top of the recipient's
address.  If the envelopes are typed with 6 lines per inch, then the
number of lines in the sender's address and the number of lines skipped
by the _.FIGURE command should total about 11 or 12.  If the envelopes
are typed with 10 characters horizontally per inch, then the left margin
for the recipient's address should be about 35 for a short envelope
and 45 for a long envelope.  If typed with 12 characters per inch, these
left margins would be about 42 and 54, respectively.  These values
should be adjusted to fit personal preferences.
.skip.test page 14.nofill
************************************************************
*                                                          *
* First line of address             .                      *
* Second line                       .                      *
* Third line                  1 3/4 to 2 inches            *
*                             between tops of addresses    *
*                                   .                      *
*                                   .                      *
* ................................. First line of address  *
*  3 1/2 inches for short envelope  Second line            *
*  4 1/2 inches for long envelope   Third line             *
*  between edges of addresses                              *
*                                                          *
************************************************************
.skip.fill.test page 9
The following is a typical form envelope specification file for short
envelopes which are to be typed with 6 lines and 10 characters per
inch.
.skip.nofill.test page 5
_.OPEN SPLICE.LOOP.NO HEADER.NO FILL.NO FLAGS
Boarding Kennels
123 This St.
That City, N.H. 99999
_.FIGURE 8.LEFT MARGIN 35.SPLICE.RESET.END LOOP
.skip.fill
The commands in the above form envelope specification file perform
the following functions.
.skip.lm+1.list0
.le;The _.OPEN SPLICE command causes FROFF ask the user to identify
the splice file before the first envelope is typed.  Otherwise, this
dialog would have to appear on the first envelope.
.le;The _.LOOP command causes the following source text, through the
following _.END LOOP command in the original file, to be processed
repeatedly until an _.END LOOP command is encountered in the splice
file.
.le;The _.NO HEADER command suppresses the blank lines reserved for
the title and subtitle.
.le;The _.NO FILL command causes each of the lines of the sender's
and of the recipients' addresses to be copied without changing the
original number of words per line and without changing the original
spacing before and between the words on the line.
.le;The _.NO FLAGS command allows characters, such as ampersands, which
would otherwise be treated as flag characters, to instead appear in
the output.
.le;The _.FIGURE command shifts down to the location at which the
recipient's address is to be typed.
.le;The _.LEFT MARGIN command shifts the recipient's address to the
right.
.le;The _.SPLICE command causes lines of text to be copied from the
splice file until an _.END SPLICE command is encountered in the splice
file.
.le;The _.RESET command causes the initial conditions to be restored
for the next envelope and causes the next envelope to be typed on a
new page.
.le;The _.END LOOP command defines the end of the source text in the
original file which is to be processed repeatedly until an _.END LOOP
command is encountered in the splice file.
.end list.lm-1.skip.fill.test page 5
The following form envelope specification file could be used if the
envelopes were preprinted with the sender's address.
.skip.nofill
_.OPEN SPLICE.LOOP.NO HEADER.NO FILL.NO FLAG
_.FIGURE 11.LEFT MARGIN 35.SPLICE.RESET.END LOOP
.skip.fill.test page 13
Either of the above form envelope specification files could be used
with the following address specification splice file.
.SKIP.NOFILL
Mr. John Doe
22 Narrow Av.
Wide Town, Conn.
_.END SPLICE
Ms. Jane Doe
44 Flat Street
Hilly city, Mass.
_.END SPLICE
_.END LOOP
.fill
.skip 2.fill.left margin 0
.test page 6
.center;Automatically Numbered Lists
.center;------------- -------- -----
.skip
.test page 3
Lists of items can be generated in which each item is preceded by an
automatically supplied number.  This frees the author from having to
modify the numbers for the subsequent items in a numbered (or lettered)
list each time an item is added to or removed from the list.  Such
lists can be declared inside other lists to a maximum total depth of
10 levels.  The numbers which identify the items at a particular level
can be generated in any of several notations, either Arabic or Roman
numerals or alphabetic letters.  Roman numerals or alphabetic letters
can be generated in either upper case (capital) letters or lower case
(small) letters.  If letters are used, then the 27th item in a list
would be preceded by the letters AA and the 28th by AB.  Lists can
also be generated in which each item is preceded by 1 or more characters
which are the same for all items in the list, the lower case letter
o or a few periods often being used.
.index automatically numbered list>discussion
.skip
.test page 3
The start of each list is indicated in the source text by a _.LIST
.index LIST command>discussion
command, each item within the list is preceded by a _.LIST ELEMENT
.index LIST ELEMENT command>discussion
command, and the end of the list is indicated by an _.END LIST command.
.index END LIST command>discussion
Each new _.LIST command freezes the interline spacing, and bases the
left margin for the items in the list on the current value of the left
margin.  The interline spacing and the left margin can be modified
for unnumbered special displays within the list or for more deeply
embedded lists, but will be restored to their original settings for
each new numbered item in the list at the original depth.  If some
of the numbers which identify items in the list are larger than can
be represented by just a single digit, then the left margin should
be shifted sufficiently far to the right to make room for the largest
number before the _.LIST command is issued, since the left margin cannot
be modified for the individual items within the list.  The _.END LIST
command restores the left margin and the interline spacing which were
in effect when the corresponding _.LIST command was issued, but, if
the left margin was shifted to allow for numbers requiring more than
a single digit, then the left margin will be restored to its value
after the shift, not to its previous value.
.skip
.test page 3
The first item in each more deeply embedded list is numbered 1 (or
I in Roman numerals or A in letters).  A _.NUMBER LIST command can
.index NUMBER LIST command>discussion
be used to change the value of the number identifying the next item
at the current list depth or of any list in which the current list
is embedded.  Initially, each item within each list which is at a
greater depth than has already been used in the current document is
identified by an Arabic numeral.  The manner in which the numbers are
displayed can be changed for the current level of lists, and for all
following lists at that level, by issuing a _.DISPLAY ELEMENT command
.index DISPLAY ELEMENT command>discussion
after the _.LIST command which initializes the list.  The indentation
of the items can be changed for the current level of lists, and for
all of the following lists at that level, by issuing an _.INDENT ELEMENT
.index INDENT ELEMENT command>discussion
command after the _.LIST command.
.skip
.test page 12
For example, the following source text
.test page 10.skip.nofill.no flag control
.NO HEADER.PAGE LENGTH 24.PAGE WIDTH 27.SPACING 2
This text appears before the 1st list command.
.LIST
.LIST ELEMENT;1st item in the outer list.
.NO FILL.LEFT MARGIN +2.SPACING 1
1st line of display
2nd line of display
.FILL
.LIST ELEMENT;2nd item in the outer list.
.SPACING 1.LEFT MARGIN +1.LIST.DISPLAY  ELEMENT '(',RU,')'
.LIST ELEMENT;1st item in the 1st inner list.
.LIST ELEMENT;2nd item in the 1st inner list.
.END LIST
.LIST ELEMENT;3rd item in the outer list.
.SPACING 1.LEFT MARGIN +1.LIST
.LIST ELEMENT;1st item in the 2nd inner list.
.LIST,'...'
.LIST ELEMENT;1st dotted item.
.LIST ELEMENT;2nd dotted item.
.END LIST
.LIST ELEMENT;2nd item in the 2nd inner list.
.END LIST
.LIST ELEMENT;4th item in the outer list.
.END LIST;This appears after the final end list command.
.flag control
.index automatically numbered list>sample
.skip.fill
.test page 29
would be converted into the following 2 pages of formatted text when
processed by this program.
.skip
.NOFILL.TEST PAGE 26
*****************************  *****************************
*This  text  appears  before*  *3.  3rd item in  the  outer*
*                           *  *                           *
*the 1st list command.      *  *    list.                  *
*                           *  *                           *
*                           *  *                           *
*1.  1st item in  the  outer*  *     (I)  1st item  in  the*
*                           *  *          2nd inner list.  *
*    list.                  *  *                           *
*                           *  *          ...  1st   dotted*
*      1st line of display  *  *               item.       *
*      2nd line of display  *  *                           *
*                           *  *          ...  2nd   dotted*
*2.  2nd item in  the  outer*  *               item.       *
*                           *  *                           *
*    list.                  *  *    (II)  2nd item  in  the*
*                           *  *          2nd inner list.  *
*                           *  *                           *
*     (I)  1st item  in  the*  *4.  4th item in  the  outer*
*          1st inner list.  *  *                           *
*                           *  *    list.                  *
*    (II)  2nd item  in  the*  *                           *
*          1st inner list.  *  *This  appears   after   the*
*                           *  *                           *
*                           *  *final end list command.    *
*****************************  *****************************
.FILL
.fill.skip 2.test page 6
.center;Footnotes
.center;---------
.skip
.test page 3
.index footnote>discussion
Each footnote should be declared within the text which it annotates.
The text which is to appear in the footnote is specified on the lines
following a _.FOOTNOTE command, and extends to an _.END FOOTNOTE command
.index END FOOTNOTE command>discussion
or to an exclamation point which appears in the leftmost column of
a subsequent line in the source file.  If the footnote specification
is terminated by a line containing a leading exclamation point, then
whatever appears immediately to the right of this exclamation point
.index _! (exclamation point)>use as end footnote flag
.index exclamation point>use as end footnote flag
is treated as though it were in the leftmost column instead.  Neither
the declaration of the footnote, nor any command which implies a _.BREAK
command and which appears within the specification of the footnote,
causes a break in the surrounding text.
.skip
.test page 3
The footnotes are, in general, treated as though they had been defined
in a separate document which is inserted at the bottom of the page
or, if there is insufficient room there, on the page following the
text surrounding the declaration of the footnote.  The notation selected
in the source text for specifying the cases of alphabetic letters will
be the same in the footnotes as in the surrounding text since it is
assumed that these were written at the same time.  However, major
modifications of appearance, such as of margins and interline spacing,
.index margin>in footnote
.index line spacing>in footnote
.entry inter-line spacing>see line spacing
are set independently in the footnotes and in the surrounding text.
If the margins or spacing are changed in a footnote, then they are
changed for any subsequent footnotes as well, but do not change the
margins or spacing in the surrounding text.  If the margins or spacing
are changed in the surrounding text, then they are not changed in the
footnotes.  However, the _.PAGE WIDTH command alters the right margin
.index PAGE WIDTH command>applies to footnote and surrounding text
for both the footnotes and the surrounding text, and the _.OFFSET
.index OFFSET command>applies to footnote and surrounding text
command, if issued in the surrounding text, moves the entire document,
including any footnotes, to the right.
.skip
.test page 3
The footnotes will be automatically numbered if a _.NUMBER FOOTNOTE
.index NUMBER FOOTNOTE command>discussion
.index footnote number>discussion
.index number>changing footnote value
command appears in the source text prior to the declaration of the
first footnote.  The first footnote is then assigned the number 1 and
each successive footnote is assigned a value 1 greater.  The number
identifying each footnote is enclosed between left and right square
brackets ([ and ]), and is inserted both into the surrounding text
at the point at which the footnote was declared and at the start of
the footnote itself.  A _.DISPLAY REFERENCE command can be issued to
.index DISPLAY REFERENCE command>discussion
change the characters enclosing the footnote number inserted at the
point at which each footnote was declared.  A _.DISPLAY FOOTNOTE command
.index DISPLAY FOOTNOTE command>discussion
can be issued to change the characters enclosing the footnote number
inserted at the start of each footnote.  The _.DISPLAY REFERENCE and
_.DISPLAY FOOTNOTE commands can also cause the footnote numbers to
be attached to the adjacent words and/or to be raised half a line above
the adjacent text.
.skip
.test page 3
Each footnote number and its enclosing brackets are treated as a
separate word which is inserted at the end of the line of text currently
being accumulated, provided that there is sufficient room on the line
for them.  The footnote number will be attached to the previous word
on the line either if a _.DISPLAY REFERENCE command has specified that
all such footnote numbers are to be attached to the words preceding
them or if a _.JOIN command was issued just prior to the _.FOOTNOTE
.index JOIN command>with footnote number
command.  If the footnote number would extend beyond the right margin,
then both the footnote number and the preceding word to which it is
attached are held for the next output line.  Neither the _.DISPLAY
REFERENCE command nor the _.JOIN command can, however, properly attach
a footnote number to an automatically numbered header title specified
by a _.HEADER LEVEL command.  If a footnote annotates an indented,
.index embedded note>footnote reference in
.index footnote>reference in embedded note
single spaced note begun by a _.NOTE command, then the footnote must
be declared prior to the _.END NOTE command, so that the footnote number
does not become part of the text following the end of the note.
.skip
.test page 3
A _.JOIN command can also be issued just after an _.END FOOTNOTE command
to attach that particular footnote number to the following word or
to the following punctuation mark.  If the footnote number is to be
attached to a following period which is to be treated as an end of
sentence (i.e., is to be followed by an extra space), then the period
must be preceded on the next line of the source text by at least one
extra space which indicates that this period does not start a command.
.skip
.test page 3
An _.INDENT FOOTNOTE command can be issued to change the indentation
.index INDENT FOOTNOTE command>discussion
of each number inserted at the start of a footnote.
.skip
.test page 3
A _.FOOTNOTE RULE command can be issued to cause each group of footnotes
.index FOOTNOTE RULE command>discussion
to be preceded at the bottom of the page by a line ruled from the left
edge to the right edge of the page.  A _.FOOTNOTE HEADER command can
.index FOOTNOTE HEADER command>discussion
be issued instead if each group of footnotes is to be preceded by a
line containing some other sequence of characters.  A _.SPACE FOOTNOTE
.index SPACE FOOTNOTE command>discussion
command can be issued to change the number of extra blank lines which
are to appear above and below the line selected by either the _.FOOTNOTE
HEADER or the _.FOOTNOTE RULE command or to change the number of blank
lines which are to appear between successive footnotes.
.skip
.test page 3
If, rather than being printed at the bottoms of the pages in which
they were specified, the footnotes are to be collected and printed
together, then a _.COLLECT FOOTNOTE command must be issued before the
.index COLLECT FOOTNOTES command>discussion
first footnote is specified.  Either a _.DO FOOTNOTE or a _.PRINT
.index DO FOOTNOTE command>discussion
.index PRINT FOOTNOTE command>discussion
FOOTNOTE command can then be issued where the footnotes are to be
printed.  The only difference between these commands is that the _.DO
FOOTNOTE command causes the footnotes to be printed starting on a new
page while the _.PRINT FOOTNOTE command does not.
.skip
.test page 12
For example, the following source text
.skip
.test page 10
.no fill.no flags control
.FIRST TITLE.PAGE LENGTH 19.PAGE WIDTH 27.SPACING 2
.TOP TITLE,'Footnote Example'.BOTTOM TITLE,'- > -'
.NUMBER FOOTNOTE.FOOTNOTE RULE'-'
This line contains the first
.FOOTNOTE
This is the text of the first footnote.
.END FOOTNOTE
and second
.FOOTNOTE
This is the text of the second footnote.
!footnote references.
.DISPLAY REFERENCE'',D,'',3.DISPLAY FOOTNOTE'',D,'.',0
.INDENT FOOTNOTE 0
This line contains the third
.FOOTNOTE.LEFT MARGIN 5
This is the text of the third footnote.
!and fourth
.FOOTNOTE
This is the text of the fourth footnote.
.END FOOTNOTE
footnote references.
.flags control.fill.skip
.test page 24
Would be converted into the following 2 pages of formatted text when
processed by this program.
.skip
.NOFILL.TEST PAGE 21
*****************************  *****************************
*     Footnote Example      *  *     Footnote Example      *
*                           *  *                           *
*                           *  *             4             *
*This  line   contains   the*  *and    fourth      footnote*
*                           *  *                           *
*first  [1]  and  second [2]*  *references.                *
*                           *  *                           *
*footnote references.   This*  *                           *
*                          3*  *                           *
*line  contains  the  third *  *                           *
*                           *  *                           *
*                           *  *                           *
*---------------------------*  *---------------------------*
*[1]  This is  the  text  of*  * 3.  This is  the  text  of*
*the first footnote.        *  *     the third footnote.   *
*[2]  This is  the  text  of*  * 4.  This is  the  text  of*
*the second footnote.       *  *     the fourth footnote.  *
*                           *  *                           *
*           - 1 -           *  *           - 2 -           *
*****************************  *****************************
.FILL
.skip
The commands in the above example perform the following
functions:
.skip.left margin+1.list
.le
The _.FIRST TITLE command causes titles to appear on the first page
of the output.  Otherwise, blank lines would appear at the title
positions on the first page.
.le
The _.PAGE LENGTH command sets the height of each page and the
_.PAGE WIDTH command sets the width of each page.  These
commands are used to force very small pages which can be inserted easily
into this manual.  This command changes the right margin both outside
and within the footnotes.
.le
The _.SPACING command causes the output lines to be doubly spaced.
The line spacing within the footnotes is not changed since this command
does not appear in a footnote.
.le
The _.TOP TITLE command specifies the title to appear at the tops
of the pages.  This command can have 3 arguments, the text to be left
justified, the text to be centered and the text to be right justified
at the tops of the pages.  Here, only the text to be centered is
specified.
.le
The _.BOTTOM TITLE command specifies the title to appear at the bottoms
of the pages.  The greater than sign (>) will be replaced by the page
number.
.le
The _.NUMBER FOOTNOTE command causes each footnote to be automatically
numbered.  Since no number was specified to the right of this command,
the first number assigned will be one.
.le
The _.FOOTNOTE RULE command causes a line of minus signs to be ruled
above the footnotes at the bottoms of the pages.  To obtain a line
of underscores instead, 2 underscores would have to appear between
the apostrophes since the first underscore would merely specify that
the second underscore is to be used literally.
.le
The _.FOOTNOTE command specifies that the following lines define the
text of a footnote.  The specification of the footnote appears within
the specification of a sentence in the outer text, but neither the
_.FOOTNOTE command nor any of the commands issued in specifying the
text of the footnote will terminate the specification of the sentence
in the outer text.
.le
The _.END FOOTNOTE command terminates the specification of the text
of the footnote.  The second footnote is terminated by the appearance
of an exclamation point in the leftmost column.  The exclamation point
can be followed on the same line by the commands or text which would
otherwise have started in column 1 of the following line.  The _.END
FOOTNOTE command can similarly be followed on the same line by
additional commands, but must first be followed by a semicolon if it
is to be followed on the same line by any text which does not form a
command.
.le
The _.DISPLAY REFERENCE command specifies the appearance of the numbers
which are inserted into the surrounding text at the locations at which
the footnotes are specified.  The first pair of apostrophes which
enclose nothing else specifies that no character is to appear to the
left of each footnote number, the letter d specifies that each footnote
number is to be represented in decimal, the second pair of apostrophe
specifies that no character is to follow each footnote number, and
the number 3 specifies that the footnote numbers are to be raised above
the surrounding text and attached to the preceding words.  The final
argument could instead have the value 0 to select numbers which are
neither attached nor raised, the value 1 to select raised numbers which
are not attached, or the value 2 to select attached numbers which not
raised.
.le
The _.DISPLAY FOOTNOTE command specifies the appearance of the numbers
which are inserted at the start of each footnote.  This command selects
decimal numbers which are followed by periods but which are not attached
to the first words in the footnotes.
.le
The _.INDENT FOOTNOTE command specifies the indentation of the first
character of the first word in each footnote.  The zero indentation
requested here means that the first character of the first word is
to be even with the left margin of the footnote if possible.
.le
The _.LEFT MARGIN command, since it appears while a footnote is
being specified, sets the left margin in the current and following
footnotes, but does not change the left margin in the surrounding
text.
.end list.left margin 0
.skip 2.left margin 0
.nofill.test page 6
.fill.left margin 0
.skip left page.right top title,,'>'
.center;Chapter 4
.skip
.center;Concise Descriptions of the Commands
.right top title'Concise Descriptions of the Commands',,'>'
.skip 3
.center;The Commands Listed in Alphabetical Order
.center;--- -------- ------ -- ------------ -----
.skip
.fill
All of the commands which are recognized by FROFF are listed below.
Each of these commands can be abbreviated by deletion of the rightmost
letters of the word, or of the rightmost letters of the words in a
multiple word command, providing that:
.index command abbreviations>how formed
.list 1
.le;the result cannot be interpreted as any other command or as the
abbreviation of any other command, and
.le;at least one letter is retained in each word if this word is part
of a multiple word command and any letters are retained in any words
to its right.
.end list
.skip
The spaces between the words in a multiple word command are not
necessary unless the first letter in the word following the space could
also be taken as the first character deleted from the word preceding
it.  For example, _.FLAL is not an allowed abbreviation of _.FLAGS
ALL, but _.FL AL is allowed.
.skip
Many commands have short synonyms which are not constructed by deletion
of the rightmost letters in the words, or which are abbreviations which
would be ambiguous were they not explicitly assigned meanings.  These
aliases are shown to the left of the full forms of the commands in
the list below.  Almost all of these aliases are identical to those
allowed by RUNOFF.  However, FROFF recognizes several multiple word
commands which start with the letter T, and so cannot recognize the
abbreviation _.T for _.TITLE, unless the first printing character in
the title is not alphabetic or unless a _.FLAGS TEXT command has been
issued so that apostrophes can be used to delimit the title.
.index TITLE command>caution about alias of
.index command aliases>list of
.skip
.nofill
_.AX     .APPENDIX rest of text on line
        Following text starts new appendix
.skip.test page 2
_.AP     .AUTO PARAGRAPH number1, number2, number3
        Paragraphs are marked by blank lines or indentation
.skip.test page 2
_.BB     .BEGIN BAR
        Place change bar along left if .ENABLE BAR active
.skip.test page 2
_.B      .BLANK number
        Skip single spaced blank lines
.skip.test page 2
_.BST    .BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at bottom of page
.skip.test page 2
_.BT     .BOTTOM TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at bottom of page
.skip.test page 2
_.BR     .BREAK
        No more text is to be added to current line
.skip.test page 4
_.C      .CENTER number1, number2
        or
_.C      .CENTRE number1, number2
        Center next line with original word spacing
.skip.test page 4
_.CNF    .CENTER NO FILL number1, number2
        or
_.CNF    .CENTRE NO FILL number1, number2
        Center lines with original word spacing
.skip.test page 2
_.CH     .CHAPTER rest of text on line
        Following text starts new chapter
.skip.test page 2
_.CFN    .COLLECT FOOTNOTES
        Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE
.skip.test page 2
_.COM    .COMMENT rest of text on line
        Ignore rest of current line
.skip.test page 2
_.DBB    .DISABLE BAR
        No change bar at left from .BEGIN BAR to .END BAR
.skip.test page 2
_.DIX    .DISABLE INDEX
        Disable addition of items to index
.skip.test page 2
_.DAX    .DISPLAY APPENDIX type
        Type of numbers identifying appendix
.skip.test page 2
_.DCH    .DISPLAY CHAPTER type
        Type of numbers identifying chapter
.skip.test page 2
_.DLE    .DISPLAY ELEMENT 'character', type, 'character'
        Type of numbers identifying items in list
.skip.test page 2
_.DISPFN .DISPLAY FOOTNOTE'character',type,'character',number
        Type of numbers in footnote identifying footnote
.skip.test page 2
_.DISPX  .DISPLAY INDEX type
        Type of page numbers on pages containing index
.skip.test page 2
_.DHL    .DISPLAY LEVELS type1, type2, type3 etc.
        Types of numbers identifying level of header line
.skip.test page 4
_.DNM    .DISPLAY NUMBER type
        or
_.DPG    .DISPLAY PAGE type
        Type of page numbers on pages not containing index
.skip.test page 2
_.DREF   .DISPLAY REFERENCE'character',type,'character',number
        Type of numbers in text identifying footnote
.skip.test page 2
_.DSP    .DISPLAY SUBPAGE type
        Type of numbers identifying subpage
.skip.test page 2
_.DFN    .DO FOOTNOTES
        List collected footnotes starting on new page
.skip.test page 2
_.DX     .DO INDEX rest of text on line
        List index starting on new page
.skip.test page 2
_.EBB    .ENABLE BAR
        Mark change bar at left from .BEGIN BAR to .END BAR
.skip.test page 2
_.EIX    .ENABLE INDEX
        Enable addition of items to index
.skip.test page 2
_.EB     .END BAR
        Terminate change bar started by .BEGIN BAR
.skip.test page 2
_.EFI    .END FILE
        No more text is to be read from current file
.skip.test page 2
_.EFN    .END FOOTNOTE
        End footnote specification begun by .FOOTNOTE
.skip.test page 2
_.ELS    .END LIST
        End automatically numbered list begun by .LIST
.skip.test page 2
_.EL     .END LITERAL
        End unchanged copying of text begun by .LITERAL
.skip.test page 2
_.ELO    .END LOOP
        End repeating of source text begun by .LOOP
.skip.test page 2
_.EN     .END NOTE
        End embedded note begun by .NOTE
.skip.test page 2
_.ESPL   .END SPLICE
        End reading from second file requested by .SPLICE
.skip.test page 2
_.ES     .END SUBPAGE
        End subpage numbering requested by .SUBPAGE
.skip.test page 2
_.Y      .ENTRY rest of text on line
        Specifies line to be in index without page number
.skip.test page 2
_.FAPG   .FACING PAGE
        Start new page on facing side of paper
.skip.test page 2
_.FG     .FIGURE number
        Leave room for insertion at this point in text
.skip.test page 2
_.FGD    .FIGURE DEFERRED number
        Leave room for insertion after this point in text
.skip.test page 2
_.F      .FILL
        Accumulate words on each line until line overflows
.skip.test page 2
_.FF     .FIRST FORM
        Generate blank page at start
.skip.test page 2
_.FT     .FIRST TITLE
        Generate titles on first page if .HEADERS ON active
.skip.test page 4
_.FL     .FLAGS
        or
_.FL     .FLAGS ALL
        Allow most flag characters such as _^, _\, _& and __
.skip.test page 2
_.FLCA   .FLAGS CAPITALIZE 'character'
        Change flag marking words to be capitalized
.skip.test page 2
_.FLCOM  .FLAGS COMMENT 'character'
        Change flag marking comments following commands
.skip.test page 2
_.FLCON  .FLAGS CONTROL 'character'
        Change flag marking commands
.skip.test page 2
_.FLEC   .FLAGS END COMMAND 'character'
        Change flag separating commands from text
.skip.test page 2
_.FLEFN  .FLAGS END FOOTNOTE 'character'
        Change flag terminating footnote specifications
.skip.test page 2
_.FLHD   .FLAGS HALF DOWN 'character'
        Change flag marking characters to be half line down
.skip.test page 2
_.FLHU   .FLAGS HALF UP 'character'
        Change flag marking characters to be half line up
.skip.test page 2
_.FLX    .FLAGS INDEX 'character'
        Change flag marking words to be indexed
.skip.test page 2
_.FLLC   .FLAGS LOWER CASE 'character'
        Change flag marking letters to be lower case
.skip.test page 2
_.FLPG   .FLAGS PAGE 'character'
        Change flag marking page number locations in titles
.skip.test page 2
_.FLQ    .FLAGS QUOTE 'character'
        Change flag marking nonflag use of flag characters
.skip.test page 2
_.FLSP   .FLAGS SPACE 'character'
        Change flag marking spaces to be included in words
.skip.test page 2
_.FLSX   .FLAGS SUBINDEX 'character'
        Change flag marking ends of lines in index entry
.skip.test page 2
_.FLTE   .FLAGS TEXT 'character'
        Change flags delimiting phrases as command arguments
.skip.test page 2
_.FLUL   .FLAGS UNDERLINE 'character'
        Change flags marking characters to be underlined
.skip.test page 2
_.FLUC   .FLAGS UPPER CASE 'character'
        Change flags marking letters to be capitalized
.skip.test page 2
_.FN     .FOOTNOTE
        Following text to .END FOOTNOTE specifies footnote
.skip.test page 2
_.FNH    .FOOTNOTE HEADER rest of text on line
        Specifies line of text above each group of footnotes
.skip.test page 2
_.FNR    .FOOTNOTE RULE 'character'
        Line of this character above each group of footnotes
.skip.test page 2
_.FPG    .FORCE PAGE
        Start new page after producing footnotes and figures
.skip.test page 4
_.HD     .HEADERS
        or
_.HD     .HEADERS ON
        Generate titles at top of second and following pages
.skip.test page 2
_.HL     .HEADER LEVEL number, rest of text on line
        Generate automatically numbered header line
.skip.test page 2
_.IMFN   .IMMEDIATE FOOTNOTES
        Generate footnotes on pages where referenced
.skip.test page 2
_.I      .INDENT number
        Indent next output line
.skip.test page 2
_.ILS    .INDENT ELEMENT number
        Indent start of .LIST ELEMENT item in range of .LIST
.skip.test page 2
_.IFN    .INDENT FOOTNOTE number
        Indent start of each footnote
.skip.test page 2
_.ILV    .INDENT LEVEL number
        Indent each header line specified by .HEADER LEVEL
.skip.test page 2
_.INT    .INDENT NOTE number1, number2, number3
        Change first line indentation and margins of notes
.skip.test page 2
_.X      .INDEX rest of text on line
        Specifies line to be in index with page number
.skip.test page 2
_.IPG    .INITIAL PAGE
        Start new page not bearing titles at top or bottom
.skip.test page 2
_.IW     .INPUT WIDTH number
        Changes number of characters allowed in input line
.skip.test page 2
_.JO     .JOIN
        Attaches next word to preceding word
.skip.test page 2
_.J      .JUSTIFY
        Insert spaces between words for even right margins
.skip.test page 2
_.LF     .LAST FORM
        Generate blank page at end
.skip.test page 2
_.LBST   .LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at bottom of left page
.skip.test page 2
_.LBT    .LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at bottom of left page
.skip.test page 2
_.LM     .LEFT MARGIN number
        Changes left margin
.skip.test page 2
_.LNF    .LEFT NO FILL number1, number2
        Left justify lines with original word spacing
.skip.test page 2
_.LP     .LEFT PAGE
        Start new page with left page titles
.skip.test page 2
_.LTST   .LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at top of left page
.skip.test page 2
_.LTT    .LEFT TOP TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at top of left page
.skip.test page 2
_.LS     .LIST number, 'up to 6 characters'
        Items in numbered list are marked by .LIST ELEMENT
.skip.test page 2
_.LE     .LIST ELEMENT
        Before each item in automatically numbered list
.skip.test page 2
_.LT     .LITERAL
        All lines, even initial period, are copied unchanged
.skip.test page 2
_.LO     .LOOP number
        Following source text is repeated several times
.skip.test page 2
_.LC     .LOWER CASE
        Capital letters are to be translated to lower case
.skip.test page 2
_.MFG    .MOVABLE FIGURE number
        Insert subsequent blank lines without breaking line
.skip.test page 2
_.MPG    .MOVABLE PAGE number
        Insert subsequent blank pages without breaking line
.skip.test page 2
_.NAP    .NO AUTO PARAGRAPH
        Blank lines or indentation do not mark new paragraph
.skip.test page 2
_.NF     .NO FILL number1, number2
        Left justify lines with original word spacing
.skip.test page 4
_.NFL    .NO FLAGS
        or
_.NFL    .NO FLAGS ALL
        Most flag characters are used as ordinary characters
.skip.test page 2
_.NFLCA  .NO FLAGS CAPITALIZE
        No flag can mark words to be capitalized
.skip.test page 2
_.NFLCOM .NO FLAGS COMMENT
        No flag can mark comments following commands
.skip.test page 2
_.NFLCON .NO FLAGS CONTROL
        No flag can mark commands
.skip.test page 2
_.NFLEC  .NO FLAGS END COMMAND
        No flag can separate commands from text
.skip.test page 2
_.NFLEFN .NO FLAGS END FOOTNOTE
        No flag can terminate footnote specifications
.skip.test page 2
_.NFLHD  .NO FLAGS HALF DOWN 'character'
        No flag can mark characters to be half line down
.skip.test page 2
_.NFLHU  .NO FLAGS HALF UP 'character'
        No flag can mark characters to be half line up
.skip.test page 2
_.NFLX   .NO FLAGS INDEX
        No flag can mark words to be indexed
.skip.test page 2
_.NFLLC  .NO FLAGS LOWER CASE
        No flag can mark letters to be lower case
.skip.test page 2
_.NFLPG  .NO FLAGS PAGE
        No flag can mark page number locations in titles
.skip.test page 2
_.NFLQ   .NO FLAGS QUOTE
        No flag can mark nonflag use of flag characters
.skip.test page 2
_.NFLSP  .NO FLAGS SPACE
        No flag can mark spaces to be included in words
.skip.test page 2
_.NFLSX  .NO FLAGS SUBINDEX
        No flag can mark ends of lines in index entry
.skip.test page 2
_.NFLTE  .NO FLAGS TEXT
        No flag can delimit phrases as command arguments
.skip.test page 2
_.NFLUL  .NO FLAGS UNDERLINE
        No flag can mark characters to be underlined
.skip.test page 2
_.NFLUC  .NO FLAGS UPPER CASE
        No flag can mark letters to be capitalized
.skip.test page 2
_.NFNH   .NO FOOTNOTE HEADER
        No line of text is above each group of footnotes
.skip.test page 2
_.NHD    .NO HEADERS
        No titles are placed at top of any pages
.skip.test page 2
_.NJ     .NO JUSTIFY
        No extra spaces are added between words on each line
.skip.test page 2
_.NNM    .NO NUMBER
        No page number is right of title specified by .TITLE
.skip.test page 2
_.NNFN   .NO NUMBER FOOTNOTE
        No serial numbers are inserted at start of footnotes
.skip.test page 2
_.NOO    .NO OFFSET
        No extra offset of entire output text
.skip.test page 2
_.NPA    .NO PAGING
        Page length is not enforced
.skip.test page 2
_.NPR    .NO PERIOD
        No extra spaces after sentences
.skip.test page 2
_.NST    .NO SUBTITLE
        Cancel 2nd line at top of each page
.skip.test page 2
_.NTI    .NO TITLE
        Cancel first line at top of each page
.skip.test page 2
_.NULS   .NO UNDERLINE SPACE
        Do not underline spaces between underlined words
.skip.test page 2
_.NT     .NOTE rest of text on line
        Single space following text and indent both sides
.skip.test page 4
_.NM     .NUMBER number
        or
_.NMPG   .NUMBER PAGE number
        Specifies number of next page
.skip.test page 2
_.NMAX   .NUMBER APPENDIX number
        Specifies number of next appendix
.skip.test page 2
_.NMCH   .NUMBER CHAPTER number
        Specifies number of next chapter
.skip.test page 2
_.NMFN   .NUMBER FOOTNOTE number
        Specifies that footnotes are to be serially numbered
.skip.test page 2
_.NMLV   .NUMBER LEVEL number1, number2, number3, etc.
        Specifies value of next numbered .HEADER LEVEL line
.skip.test page 2
_.NMLS   .NUMBER LIST number1, number2
        Specifies value of next .LIST ELEMENT item in list
.skip.test page 2
_.NMSPG  .NUMBER SUBPAGE number
        Specifies value of next subpage
.skip.test page 2
_.O      .OFFSET number
        Specifies extra offset of entire output text
.skip.test page 2
_.OLPG   .OFFSET LEFT PAGE number
        Specifies extra offset of text on left pages
.skip.test page 2
_.ORPG   .OFFSET RIGHT PAGE number
        Specifies extra offset of text on right pages
.skip.test page 2
_.OS     .OPEN SPLICE
        Causes user to be asked for name of next splice file
.skip.test page 2
_.PG     .PAGE
        Start new page
.skip.test page 2
_.PGL    .PAGE LENGTH number
        Specifies maximum number of lines on a page
.skip.test page 2
_.PS     .PAGE SIZE number1, number2
        Specifies length and width of page
.skip.test page 2
_.PGW    .PAGE WIDTH number
        Specifies number of characters across width of page
.skip.test page 2
_.PA     .PAGING
        Start new page whenever next line overflows page
.skip.test page 2
_.P      .PARAGRAPH number1, number2, number3
        Following text starts new paragraph
.skip.test page 2
_.PR     .PERIOD
        Extra spaces are inserted after sentences
.skip.test page 2
_.PFN    .PRINT FOOTNOTES
        List collected footnotes continuing on current page
.skip.test page 2
_.PX     .PRINT INDEX rest of text on line
        List index continuing on current page
.skip.test page 2
_.RE     .RESET
        Restore most original settings except loop count
.skip.test page 2
_.R      .RIGHT number1, number2
        Right justify next line with original word spacing
.skip.test page 2
_.RBST   .RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at bottom of right page
.skip.test page 2
_.RBT    .RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at bottom of right page
.skip.test page 2
_.RM     .RIGHT MARGIN number
        Specifies rightmost column if .FILL active
.skip.test page 2
_.RNF    .RIGHT NO FILL number1, number2
        Right justify lines with original word spacing
.skip.test page 2
_.RP     .RIGHT PAGE
        Start new page with right page titles
.skip.test page 2
_.RTST   .RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at top of right page
.skip.test page 2
_.RTT    .RIGHT TOP TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at top of right page
.skip.test page 2
_.RU     .RULE '1 or more characters', number1, number2
        Rules a line between the indicated columns
.skip.test page 2
_.SEQ    .SEQUENCE 'characters'
        Specifies sorting order of characters in index
.skip.test page 2
_.S      .SKIP number
        Skip multiple spaced blank lines
.skip.test page 2
_.SLP    .SKIP LEFT PAGE
        Start new right page, generating left page if needed
.skip.test page 2
_.SKPG   .SKIP PAGE number
        Start new page after generating extra pages
.skip.test page 2
_.SRP    .SKIP RIGHT PAGE
        Start new left page, generating right page if needed
.skip.test page 2
_.SPAX   .SPACE APPENDIX number1, number2, number3
        Change number of blank lines at start of appendix
.skip.test page 2
_.SPB    .SPACE BOTTOM number
        Change number of blank lines at bottom of page
.skip.test page 2
_.SPCH   .SPACE CHAPTER number1, number2, number3
        Change number of blank lines at start of chapter
.skip.test page 2
_.SPFN   .SPACE FOOTNOTE number1, number2, number3
        Change number of blank lines before footnotes
.skip.test page 2
_.SPH    .SPACE HEADER number1, number2
        Change number of blank lines around header lines
.skip.test page 2
_.SPX    .SPACE INDEX number1, number2, number3, number4
        Change number of blank lines at start of index
.skip.test page 2
_.SPN    .SPACE NOTE number1, number2, number3
        Change number of blank lines around notes
.skip.test page 2
_.SPT    .SPACE TOP number1, number2, number3
        Change number of blank lines at top of each page
.skip.test page 2
_.SP     .SPACING number
        Change spacing between lines
.skip.test page 2
_.SPL    .SPLICE number
        Insert text from second file
.skip.test page 2
_.SD     .STANDARD number
        Restores some original settings
.skip.test page 2
_.STHL   .STYLE HEADERS number1, number2, number3, number4
        Changes capitalization and run-in of header lines
.skip.test page 2
_.STX    .STYLE INDEX number1, number2
        Changes capitalization and format of index
.skip.test page 2
_.SPG    .SUBPAGE
        Start new subpage
.skip.test page 2
_.ST     .SUBTITLE rest of text on line
        Specifies second line at top of each page
.skip.test page 2
_.TS     .TAB STOPS number1, number2, number3, etc.
        Changes columns corresponding to tab characters
.skip.test page 2
_.TL     .TELL rest of text on line
        Types message on controlling terminal
.skip.test page 2
_.TP     .TEST PAGE number
        New page if not enough room for single spaced lines
.skip.test page 2
_.TSP    .TEST SPACING number
        New page if not enough room for multiple spaced lines
.skip.test page 2
_.TI     .TITLE rest of text on line
        Specifies first line at top of each page
.skip.test page 2
_.TST    .TOP SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at top of each page
.skip.test page 2
_.TT     .TOP TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at top of each page
.skip.test page 2
_.U      .UNDERLINE
        Word or phrase on next line is to be underlined
.skip.test page 2
_.ULS    .UNDERLINE SPACE
        Underline spaces between words being underlined
.skip.test page 2
_.UC     .UPPER CASE
        Cases of alphabetic letters are retained
.fill
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Chapter 5
.skip
.center;Complete Descriptions of the Commands
.right top title'Complete Descriptions of the Commands',,'>'
.skip 3
.center;The Commands Listed in Alphabetical Order
.center;--- -------- ------ -- ------------ -----
.skip
.LEFT MARGIN 5
.test page 5.indent -5
_.APPENDIX rest of text on line
.index APPENDIX command>definition
.index appendix>start of
.break
The output text which is specified by the source lines which follow
the _.APPENDIX command will start a new appendix.  This text will be
preceded by an output line bearing the word "APPENDIX" and the appendix
letter (or number), and a second output line bearing the text which
appears to the right of the _.APPENDIX command.  The position of these
lines on the page can be changed by issuing a _.SPACE APPENDIX command.
.skip
.test page 3
The text which appears to the right of the _.APPENDIX command will
have been converted to upper case unless the header level at which
upper case conversion takes place has been reduced below the section
level by the _.STYLE HEADERS command.
The text which appears to the
right of the _.APPENDIX command will also replace the current title
at the top of the second and subsequent pages of the appendix (the
first page bears no title) unless the top title has been declared by
some version of the _.TOP TITLE command.
.index appendix>header line inserted into title
.skip
.test page 3
The page number will be reset to 1 at the start of each appendix and
will be preceded by the appendix letter which will be increased by
1 letter in the alphabet for each appendix.  The appendix letter will
be A for the first appendix unless a _.NUMBER APPENDIX command has
.index page number>prefix as appendix number
been issued.  A _.DISPLAY APPENDIX command can also be issued to cause
the appendix identifier to be displayed in some form other than as
an upper case alphabetic letter.
.index appendix>page numbers
.skip
.test page 5.indent -5
_.AUTO PARAGRAPH number1, number2, number3
.index AUTO PARAGRAPH command>definition
.break
.index paragraph>start of
.index paragraph>automatic
The start of a new paragraph can be indicated in the source lines which
follow the _.AUTO PARAGRAPH command either by one or more blank lines
.index blank lines>in source indicate new paragraphs
or by a line which starts with one or more spaces at the left end.
.index indented lines>in source indicate new paragraphs
The following source lines which start with a printing character other
than a period in the left column will be included in the paragraph
until another blank line or another line starting with a space is found.
The automatic paragraphing will remain active until a _.NO AUTO
.index automatic paragraphing>enabling
PARAGRAPH command is issued.  The arguments are the same as for the
_.PARAGRAPH command.
.skip.test page 5.indent -5
_.BEGIN BAR
.index BEGIN BAR command>definition
.entry bar>see change bar
.index change bar>start of
.entry vertical bar>in output, see change bar
.break
Providing that change bars are enabled, the following text, through
the next appearance of an _.END BAR command, is to bear a change bar
.entry marking new text>see change bars
.entry new text>marking, see change bars
at the left edge.  Change bars are enabled by the _.ENABLE BAR command
and are disabled by the _.DISABLE BAR command.  Change bars are
initially disabled.
.skip
.test page 3
.indent -5
_.BLANK number
.index BLANK command>definition
.break
.index blank lines>insertion into output
The specified number of extra single spaced blank lines are to be
inserted into the output text.  If no number is given, 1 is assumed.
The _.SKIP command is similar, but gives the specified number of blank
lines with the current interline spacing between them.  Neither the
_.BLANK nor the _.SKIP command is active at the top of a new output
.index SKIP command>at top of page
.index BLANK command>at top of page
page.  The _.FIGURE command can be used instead to generate blank lines
at the start of the first page of output or after a new page has been
requested by any of the various _.PAGE commands.
.index FIGURE command>comparison with BLANK and SKIP commands
.skip.test page 3
If the number appearing to the right of the _.BLANK command is negative
 or zero,
then this number instead specifies the position of the next printed
line relative to the bottom of the page if a bottom title or bottom
.index skipping to known line on page
subtitle has not been specified, or relative to the bottom margin if
a bottom title and/or bottom subtitle has been specified.  The absolute
value of the number is the maximum number of lines which can be on
the page below the next printed line. Either _.BLANK#0 or _.SKIP#0 would
cause the next line of text to be at the bottom of the page.
  If the next printed line would
already be at or below the specified position, then the _.BLANK command
is ignored.  The _.BLANK command is also currently ignored if the next
printed line would be the first line on a new page, but a future version
of FROFF should allow the position of the first line on a page to be
specified in this manner.
The position of the next printed line is stated relative to the
bottom of the text above the bottom margin, instead of relative
to the bottom of the page, so that only the page length, not the
individual _.BLANK and _.SKIP commands, needs to be changed to maintain
the same paging when a bottom title or subtitle is specified in a
document which did not previously have titles or subtitles at the bottom
of the pages.
.skip.test page 3
_.BLANK 10 would cause the next printed line to be 10
lines lower on the page than it would otherwise have been.
_.BLANK-10 would cause the next printed line to be the 11th
line from the bottom of the page (that is, to be followed by 10 lines)
if the next line would otherwise have been above the 11th line.
.skip
.test page 5.indent -5
_.BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
.index BOTTOM SUBTITLE command>definition
.break
.index subtitle>at bottom of page
Specifies the text to be in the subtitle line just below the title
line at the bottom of each page.  A > character, either alone or
followed by the number zero, can be used to indicate any location in
the subtitle where the current page number is desired.  The > character
should not be followed by any number other than zero.
.skip
.test page 3
Phrase1 is the word or phrase to be left justified in the subtitle
line at the bottom of each page.
.skip
.test page 3
Phrase2 is the word or phrase to be centered in the subtitle line at
the bottom of each page.
.skip
.test page 3
Phrase3 is the word or phrase to be right justified in the subtitle
line at the bottom of each page.
.skip
.test page 3
These arguments are constructed similarly to those of the _.TOP TITLE
command.  The description of the _.TOP TITLE command should be consulted
for more information.
.skip
.test page 3
The _.LEFT BOTTOM SUBTITLE command and the _.RIGHT BOTTOM SUBTITLE
command can be used to specify different subtitles which are to appear
at the bottoms of left pages and right pages respectively.  The _.BOTTOM
TITLE command or the combination of the _.LEFT BOTTOM TITLE command
and the _.RIGHT BOTTOM TITLE command can be used to specify a bottom
title which is to appear at the bottom of each page above the bottom
subtitle.
.skip
.test page 3
No bottom subtitle is initially active.
.skip
.test page 5.indent -5
_.BOTTOM TITLE 'phrase1','phrase2','phrase3'
.index BOTTOM TITLE command>definition
.break
.index title>at bottom of page
Specifies the text to be in the title line at the bottom of each page.
A > character, either alone or followed by the number zero, can be used
to indicate any location in the title where the current page number
is desired.  The > character should not be followed by any number other
than zero.
.skip
.test page 3
Phrase1 is the word or phrase to be left justified in the title line
at the bottom of each page.
.skip
.test page 3
Phrase2 is the word or phrase to be centered in the title line at the
bottom of each page.
.skip
.test page 3
Phrase3 is the word or phrase to be right justified in the title line
at the bottom of each page.
.skip
.test page 3
These arguments are constructed similarly to those of the _.TOP TITLE
command.  The description of the _.TOP TITLE command should be consulted
for more information.
.skip
.test page 3
The _.LEFT BOTTOM TITLE command and the _.RIGHT BOTTOM TITLE command
can be used to specify different titles which are to appear at the
bottoms of left pages and right pages respectively.  The _.BOTTOM
SUBTITLE command or the combination of the _.LEFT BOTTOM SUBTITLE
command and the _.RIGHT BOTTOM SUBTITLE command can be used to specify
a bottom subtitle which is to appear at the bottom of each page below
the bottom title.
.skip
.test page 3
No bottom title is initially active.
.skip
.test page 4
.indent -5
_.BREAK
.index BREAK command>definition
.break
No additional text is to be included in the line of text currently
being accumulated while a _.FILL command is active.  The line currently
being accumulated will be output without right justification.  The
.index terminating current output line
.index end of current output line
.index break between output lines
following lines of source text will begin the specification of a new
output line.
.skip
.test page 7.indent -5
_.CENTER number1, number2
.index CENTER command>definition
.break
or
.indent -5
_.CENTRE number1, number2
.entry CENTRE command>synonym of CENTER command
.break
NOTE:  The _.CENTER NO FILL command should be used instead of the
_.CENTER command if the text on the following line or lines is to be
centered between the current left and right margins.
.skip.test page 3
The _.CENTER command causes the next line or lines of source text which
are not commands to be centered between the left and right edges of
the output pages.  Each of the lines which is centered is copied without
.index centering>on page width
changing the number of words on the line and without changing the number
of spaces before and between the words on the line.
.skip
.test page 3
Number1 specifies the horizontal placement of the next line or lines
of text on the page.  If number1 is missing, then the _.CENTER command
causes the contents of the next line or lines of text to be centered
between the left edge of the page and the rightmost column which has
ever been declared as a right margin.  If number1 is present and
unsigned, then the _.CENTER command causes the next line or lines of
text to be centered between the left edge of the page and the column
indicated by number1.  If number1 is present and signed, then the
_.CENTER command causes the next line or lines of text to be centered
between the left edge of the page and number1 added to the rightmost
column which has ever been declared as a right margin.  As a result,
if number1 is signed, then the next line or lines of text are shifted
by half of that number of columns to the right of the center position
if the number is positive or to the left if the number is negative.
.skip
.test page 3
Number2, if present, is the number of following lines of source text,
not counting those which contain only other commands, which are to
be centered in the output.  Only a single line of source text is
centered if number2 is absent.
.skip.test page 3
The first argument of the _.CENTER command is interpreted quite
differently from that of the _.RIGHT command.  These arguments, however,
are interpreted in the same manner as by the RUNOFF program which FROFF
emulates.  The interpretations of the arguments of the _.LEFT NO FILL,
_.CENTER NO FILL and _.RIGHT NO FILL commands are consistent among
themselves, but are not consistent with the interpretations of the
arguments of either the _.CENTER or _.RIGHT commands.  These differences
are listed below.
.skip
.nofill.test page 5
_.LEFT NO FILL or _.NO FILL
.index NO FILL command>comparison with other NO FILL commands
     left justifies at left margin
     unsigned first argument is column at left end
     - signed first argument shifts left by value
     + signed first argument shifts right by value
.test page 6
_.CENTER
.index CENTER command>comparison with other NO FILL commands
     centers between left and right edges of page
     first argument gives half of the expected shift
     unsigned first argument centers at 1/2 that column
     - signed first argument shifts left by 1/2 value
     + signed first argument shifts right by 1/2 value
.test page 5
_.CENTER NO FILL
.index CENTER NO FILL command>comparison with other NO FILL commands
     centers between left and right margins
     unsigned first argument centers at that column
     - signed first argument shifts left by value
     + signed first argument shifts right by value
.test page 5
_.RIGHT
.index RIGHT command>comparison with other NO FILL commands
     right justifies at right margin
     first argument gives shift in unexpected direction
     - signed first argument shifts right by value
     + or unsigned first argument shifts left by value
.test page 5
_.RIGHT NO FILL
.index RIGHT NO FILL command>comparison with other NO FILL commands
     right justifies at right margin
     unsigned first argument is column at right end
     - signed first argument shifts left by value
     + signed first argument shifts right by value
.fill
.skip.left margin 5.test page 7.indent -5
_.CENTER NO FILL number1, number2
.index CENTER NO FILL command>definition
.break
or
.indent -5
_.CENTRE NO FILL number1, number2
.entry CENTRE NO FILL command>synonym of CENTER NO FILL
.break
.index centering>between margins
The _.CENTER NO FILL command causes the next line or lines of source
text which are not commands to be centered in the output.  Each of
the lines which is centered is copied without changing the number of
words on the line and without changing the number of spaces before
and between the words on the line.  The arguments are similar to those
of the _.LEFT NO FILL and _.RIGHT NO FILL commands.
.skip.test page 3
Number1 specifies the horizontal placement of the next line or lines
of text on the page.  If number1 is missing, then the lines of text
.index margins>centering between
are centered between the current left and right margins.  If number1
is signed, then the lines of text are shifted to the right by the
indicated number of columns from the midpoint between the current left
and right margins if the number is positive, or to the left if the
number is negative.  If number1 is unsigned, then the lines of text
are centered about the column indicated by number1.
.skip.test page 3
Number2, if present, is the number of following lines of source text,
not counting those which contain only other commands, which are to
be centered in the output.  If number2 is missing, then the following
lines of source text which are not commands are centered in the output
text until a subsequent _.FILL command is issued, or until a subsequent
_.NO FILL, _.LEFT NO FILL, _.CENTER NO FILL or _.RIGHT NO FILL command
is issued without a second argument.
.skip.test page 5.indent -5
_.CHAPTER rest of text on line
.index chapter>start of
.index CHAPTER command>definition
.break
The output text which is specified by the source lines which follow
the _.CHAPTER command will start a new chapter.  This text will be
preceded by an output line bearing the word "CHAPTER" and the chapter
number (or letter), and a second output line bearing the text which
appears to the right of the _.CHAPTER command.  The position of these
lines on the page can be changed by issuing a _.SPACE CHAPTER command.
.SKIP
.test page 3
The text which appears to the right of the _.CHAPTER command will have
been converted to upper case unless the header level at which upper
case conversion takes place has been reduced below the section level
by the _.STYLE HEADERS command.  The text which appears to the right
of the _.CHAPTER command will also replace the current title at the
top of the second and subsequent pages of the chapter (the first page
.index chapter>header line inserted into title
bears no title) unless the top title has been declared by some version
of the _.TOP TITLE command.
.skip
.test page 3
The page number will be reset to 1 at the start of each chapter and
will be preceded by the chapter number which will be increased by 1
for each chapter.  The chapter number will be 1 for the first chapter
.index page number>prefix as chapter number
unless a _.NUMBER CHAPTER command has been issued.  A _.DISPLAY CHAPTER
command can also be issued to cause the chapter identifier to be
displayed in some form other than as a decimal number.
.index chapter>page numbers
.skip
.test page 5.indent -5
_.COLLECT FOOTNOTES
.index COLLECT FOOTNOTES command>definition
.break
Footnotes are to be collected and printed together when the next _.DO
.index footnote>collecting for printing at end of document
FOOTNOTE or _.PRINT FOOTNOTE command is encountered.  The only
difference between the _.DO FOOTNOTE and the _.PRINT FOOTNOTE commands
is that the _.DO FOOTNOTE command causes the footnotes to be printed
starting on a new page while the _.PRINT FOOTNOTE command does not.
Footnotes are instead printed at the bottoms of the pages in which
the footnotes are specified if a _.COLLECT FOOTNOTES command has not
been issued or if an _.IMMEDIATE FOOTNOTES command has been issued
more recently than a _.COLLECT FOOTNOTES command.
.skip
.test page 5.indent -5
_.COMMENT rest of text on line
.index COMMENT command>definition
.break
Causes the remainder of the line to be ignored even if this contains
.index commenting out line in input file
other commands or a semicolon.
.skip.test page 5.indent -5
_.DISABLE BAR
.index DISABLE BAR command>definition
.BREAK
.index change bar>disabling
Change bars are not to be marked at the left edge of lines which follow
a _.BEGIN BAR command.  If an _.ENABLE BAR command has been active,
but no extra offset has been applied either by the _.OFFSET command
or by an offset explicitly invoked by the user, then the _.ENABLE BAR
.index offset>reduced when disabling change bar
command applied a small offset to allow room for change bars, and the
_.DISABLE BAR command removes this offset.  Change bars are initially
disabled.
.skip
.test page 5.indent -5
_.DISABLE INDEX
.index DISABLE INDEX command>definition
.break
Prevents the addition of any more items to the index until a subsequent
_.ENABLE INDEX command is issued.  Any items already inserted into
.index index>disabling
the index will be sorted and printed when a subsequent _.DO INDEX or
_.PRINT INDEX command is issued.  Subsequent _.INDEX and _.ENTRY
commands will be ignored.  If a _.FLAGS INDEX command has been issued
.index INDEX command>ignored after DISABLE INDEX command
.index ENTRY command>ignored after DISABLE INDEX command
more recently than a _.NO FLAGS INDEX command, then the words marked
by subsequent appearances of the index flag character in the source
text will likewise not be inserted into the index.  If a index flag
character is active, then its appearances in the source text will not
.index index flag>ignored after DISABLE INDEX command
be copied into the resulting document regardless of whether an _.ENABLE
INDEX command or a _.DISABLE INDEX command has been issued the most
recently.
.SKIP.test page 3
Index construction is extremely slow.  Use of the _.DISABLE INDEX
command can greatly speed the processing of a document which specifies
an index.  Indexing is initially enabled.
.skip
.test page 5.indent -5
_.DISPLAY APPENDIX type
.index DISPLAY APPENDIX command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
Causes the appendix numbers to be generated in the indicated system.
.index appendix>system used for representing appendix number
.index page number>prefix as appendix number
The appendix numbers appear to the right of the word APPENDIX on the
first line of the first page of the appendix, and are used as prefixes
to the page numbers on the second and subsequent pages of the appendix.
.SKIP
_.DISPLAY APPENDIX LU is the default.
.skip
.test page 5.indent -5
_.DISPLAY CHAPTER type
.index DISPLAY CHAPTER command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
Causes chapter numbers to be generated in the indicated system.  The
chapter numbers appear to the right of the word CHAPTER on the first
line of the first page of the chapter, and are used as prefixes to
the page numbers on the second and subsequent pages of the chapter.
.index chapter>system used for representing chapter number
.index page number>prefix as chapter number
.SKIP
_.DISPLAY CHAPTER D is the default.
.skip
.test page 5.indent -5
_.DISPLAY ELEMENT 'character', type, 'character'
.index DISPLAY ELEMENT command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
Causes the numbers which identify the items specified by _.LIST ELEMENT
.index automatically numbered list>system used for representing numbers
commands at the current list depth to be generated in the indicated
system.  The current list depth is the number of lists which have been
enabled by _.LIST commands but which have not yet been disabled by
following _.END LIST commands.  The _.DISPLAY ELEMENT command does
not modify the numbers which identify the items in an outer list inside
which the current list is embedded, and does not modify the numbers
which identify the items in a list later declared inside the current
list.
.skip.TEST PAGE 3
If the first character is given, then it precedes each of the numbers
at the current list depth.  If the final character is given, then it
follows each of the numbers at the current list depth.  The characters
previously selected to appear on both sides of these numbers will
continue to be used if the _.DISPLAY ELEMENT command is issued but
does not respecify either character.  The character will be cleared
if it is respecified as an null character indicated by 2 adjacent
apostrophes, or if it is not respecified when the character to be used
on the other side of the numbers is respecified.
.skip
_.DISPLAY ELEMENT,D,'.' is the default.
.skip
.test page 5
.left margin 5
.indent -5
_.DISPLAY FOOTNOTE 'character', type, 'character', number
.index DISPLAY FOOTNOTE command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
Causes the serial numbers which are inserted into the start of footnotes
.index footnote>automatically generated numbers
to be generated in the indicated system.  Such
numbers are generated only if a _.NUMBER FOOTNOTE command has been
issued more recently than a _.NO NUMBER FOOTNOTE command.  A _.DISPLAY
REFERENCE command, rather than a _.DISPLAY FOOTNOTE command, would
be issued to modify the numbers which are inserted into the output
text at the locations at which the footnotes are defined in the source
text.
.skip.TEST PAGE 3
If the first character is given, then it precedes each of the numbers
which are inserted at the start of the footnotes.  If the final
character is given, then it follows each of the numbers which are
inserted at the start of the footnotes.  The characters previously
selected to appear on both sides of these numbers will continue to
be used if the _.DISPLAY FOOTNOTE command is issued but does not
respecify either character.  The character will be cleared if it
is respecified as an null character indicated by 2 adjacent apostrophes,
or if it is not respecified when the character to be used on the other
side of the numbers is respecified.
.skip.TEST PAGE 3
The number, if present following the _.DISPLAY FOOTNOTE command,
specifies whether the serial number which is inserted at the start
.index superscript footnote numbers
.index footnote number>superscript
of each footnote is to be shifted half a line above the ordinary text,
and whether the serial number is to be attached to the first word in
the footnote.  If the number is not present following the _.DISPLAY
FOOTNOTE command, then the shift and attachment specified by the
previously issued _.DISPLAY FOOTNOTE command continue to be applied,
or else no shift and no attachment are performed if a _.DISPLAY FOOTNOTE
command has not been issued previously.
.skip.test page 3
Number = 0, gives serial numbers which are not shifted above the
ordinary text and which are not attached to the following words.
.break.test page 3
Number = 1, gives serial numbers which are shifted half a line above
the ordinary text, but which are not attached to the following words.
.break.test page 3
Number = 2, gives serial numbers which are attached to the following
words, but which are not shifted above the ordinary text.
.break.test page 3
Number = 3, gives serial numbers which are shifted half a line above the
ordinary text and which are attached to the following words.
.skip.TEST PAGE 3
_.DISPLAY FOOTNOTE'',D,'.',0 would cause the serial number inserted
at the start of each footnote to be followed by a single period, and
be on the same line as, but not attached to, the first word in the
footnote.
.SKIP.TEST PAGE 3
_.DISPLAY FOOTNOTE'',D,'',3 would cause the serial number inserted
at the start of each footnote to be to the upper left of, and attached
to, the first word in the footnote, but without any extra enclosing
characters.
.SKIP.TEST PAGE 3
If a _.NUMBER FOOTNOTE command has been issued, but a _.DISPLAY FOOTNOTE
command has not been issued, then the serial number which is inserted
at the start of each footnote will be a decimal number enclosed between
left and right square brackets, on the same line as the ordinary text,
but not attached to the first word in the footnote.  This notation
could also be selected by a _.DISPLAY FOOTNOTE'[',D,']',0 command.
.skip
.test page 5.indent -5
_.DISPLAY INDEX type
.index DISPLAY INDEX command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
Causes the page numbers in an index constructed by the _.DO INDEX
command to be generated in the indicated system.  Page numbers in an
index constructed by the _.PRINT INDEX command are generated in the
system selected by the _.DISPLAY NUMBER command.
.SKIP
_.DISPLAY INDEX D is the default.
.skip
.test page 5.indent -5
_.DISPLAY LEVELS type1, type2, type3 etc.
.index DISPLAY LEVELS command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
.index subsection header>system used for representing numbers
Causes the numbers which are separated by periods in the representations
of the values of the subsection headings specified by the _.HEADER
LEVEL command to be displayed in the indicated systems.  The types
of all of these numbers can be set by a single command.  The _.DISPLAY
LEVELS command can be followed by up to 6 type specifications, this
being the maximum header level depth.  Type1 specifies the system used
to specify the leading number in the series, type2 specifies the system
used to specify the number appearing after the first period, and so
on.  The types of any numbers in the series which are not specified
are left unchanged.
.SKIP
_.DISPLAY LEVELS D,D,D,D,D,D is the default.
.skip
.test page 7.indent -5
_.DISPLAY NUMBER type
.index DISPLAY NUMBER command>definition
.break
or
.indent -5
_.DISPLAY PAGE type
.index DISPLAY PAGE command>definition
.BREAK
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
Causes the page numbers to be generated in the indicated system.
_.DISPLAY NUMBER D is the default, such that the tenth page would be
numbered 10.
.skip
.test page 5
.left margin 5
.indent -5
_.DISPLAY REFERENCE 'character', type, 'character', number
.index DISPLAY REFERENCE command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
.index footnote>automatically generated numbers
.index footnote number>system used for representing numbers
Causes the serial numbers which are inserted into the output text at
the locations at which the footnotes are defined in the source text
to be generated in the indicated system.   Such numbers are
generated only if a _.NUMBER FOOTNOTE command has been issued more
recently than a _.NO NUMBER FOOTNOTE command.  A _.DISPLAY FOOTNOTE
command, rather than a _.DISPLAY REFERENCE command, would be issued
to modify the numbers which are inserted at the start of each footnote.
.skip.TEST PAGE 3
If the first character is given, then it precedes each of the numbers
which are inserted into the output text.  If the final character is
given, then it follows each of the numbers which are inserted into
the output text.  The characters previously selected to appear on both
sides of these numbers will continue to be used if the _.DISPLAY
REFERENCE command is issued but does not respecify either character.
The character will be cleared if it is respecified as an null
character indicated by 2 adjacent apostrophes, or if it is not
respecified when the character to be used on the other side of the
numbers is respecified.
.skip.TEST PAGE 3
The number, if present following the _.DISPLAY REFERENCE command,
specifies whether the serial number which is inserted into the output
text is to be shifted half a line above the ordinary text, and whether
.index footnote number>superscript
.index superscript footnote numbers
the serial number is to be attached to the last word in the preceding
text.  If the number is not present following the _.DISPLAY REFERENCE
command, then the shift and attachment specified by the previously
issued _.DISPLAY REFERENCE command continue to be applied, or else
no shift and no attachment are performed if a _.DISPLAY REFERENCE
command has not been issued previously.
.skip.test page 3
Number = 0, gives serial numbers which are not shifted above the
ordinary text and which are not attached to the previous words.
.break.test page 3
Number = 1, gives serial numbers which are shifted half a line above
than the ordinary text, but which are not attached to the previous
words.
.break.test page 3
Number = 2, gives serial numbers which are attached to the previous
words, but which are not shifted above the ordinary text.
.break.test page 3
Number = 3, gives serial numbers which are shifted half a line above
the ordinary text and which are attached to the previous words.
.SKIP.TEST PAGE 3
_.DISPLAY REFERENCE'',D,'',3 would cause each serial number inserted
into the output text to be a decimal number placed to the upper right
of, and attached to, the previous word, but without any extra enclosing
characters.
.SKIP.TEST PAGE 3
If a _.NUMBER FOOTNOTE command has been issued, but a _.DISPLAY
REFERENCE command has not been issued, then the serial number which
is inserted into the output text will be a decimal number enclosed
between left and right square brackets, on the same line as the ordinary
text, but not attached to the preceding word.  This notation could
also be selected by a _.DISPLAY REFERENCE'[',D,']',0 command.
.skip.test page 5.indent -5
_.DISPLAY SUBPAGE type
.index DISPLAY SUBPAGE command>definition
.break
(where type is D for decimal, O for octal, H for hexadecimal, RU for
Roman upper case, RL for Roman lower case, RM for Roman mixed case,
LU for letters upper case, LL for letters lower case or LM for letters
mixed case)
.skip
.test page 3
.index page number>suffix as subpage number
.index subpaging>system used for representing subpage suffix
Causes the subpage numbers to be generated in the indicated system.
Subpage numbers appear as suffixes to the page numbers after a _.SUBPAGE
command has been issued.  _.DISPLAY SUBPAGE LU is the default, such
that the fifth subpage of page 10 would be numbered 10E.
.skip
.test page 5.indent -5
_.DO FOOTNOTES
.index DO FOOTNOTES command>definition
.break
Footnotes being held by a previous _.COLLECT FOOTNOTES command are
to be generated now.  The list of footnotes will begin on a new page,
and will be followed by a new page.  The _.PRINT FOOTNOTES command
should be used instead if the list of footnotes is not to begin on
a new page.  Neither the _.DO FOOTNOTES command nor the _.PRINT
.index footnote>generating collected
.index PAGE command>implied before footnotes
FOOTNOTES command implies an _.IMMEDIATE FOOTNOTES command.  If a
_.COLLECT FOOTNOTES command is active and if more footnotes are
specified following the _.DO FOOTNOTES command or the _.PRINT FOOTNOTES
command, then a subsequent _.DO FOOTNOTES command or a _.PRINT FOOTNOTES
command will have to be issued to cause them to be printed.
.skip
.test page 5.indent -5
_.DO INDEX rest of text on line
.index DO INDEX command>definition
.break
An index is to be constructed, starting on a new page, with the first
page number being reset to 1, and with the word Index to the left of
the page numbers.  The title and subtitle, if any, will be the same
as in the preceding document.  The _.PRINT INDEX command should be
.index index>generating
.index PAGE command>implied before index
used instead if the page numbering is to continue the page numbering
in the preceding document.  If items have been placed into the index
storage by either the _.INDEX command or by the index flag (assuming
that a _.FLAGS INDEX command has been given), Then a _.DO INDEX command
is assumed at the end of the document if neither a _.DO INDEX command
nor a _.PRINT INDEX command is issued.  If text is specified to the
right of the _.DO INDEX command, then this text is centered at the
top of the first page of the index.
.skip.test page 5.indent -5
_.ENABLE BAR
.index ENABLE BAR command>definition
.break
Change bars are to be marked at the left edge of lines which follow
a _.BEGIN BAR command.  If no extra offset has been applied either
.index change bar>enabling
.index offset>increased when enabling change bar
by the _.OFFSET command or by an offset explicitly invoked by the user,
then a small offset will be applied to allow room for change bars.
.skip.test page 5.indent -5
_.ENABLE INDEX
.index ENABLE INDEX command>definition
.break
Enables the insertion of additional items into the index until a
subsequent _.DISABLE INDEX command is issued.  Items to be inserted
.index index>enabling
into the index can be specified by the _.INDEX command or by the _.ENTRY
command.  If a _.FLAGS INDEX command has been issued more recently
than a _.NO FLAGS INDEX command, then individual words which are to
be inserted into the index can also be marked with the index flag
character.
.skip.test page 3
Construction of an index is extremely slow.  Use of the _.DISABLE INDEX
command can greatly speed the processing of a document which specifies
an index.  If a index flag character is active, then its appearances
in the source text will not be copied into the resulting document
regardless of whether an _.ENABLE INDEX command or a _.DISABLE INDEX
command has been issued the most recently.  Any items already inserted
into the index when the _.DISABLE INDEX command is issued will be sorted
and printed when a subsequent _.DO INDEX or _.PRINT INDEX command is
issued.  Indexing is initially enabled.
.skip.test page 5.indent -5
_.END BAR
.index END BAR command>definition
.break
The following text is not to bear a change bar at the left edge.  The
.index change bar>end of
_.END BAR command terminates a bar which might have been begun by a
_.BEGIN BAR command.  The _.END BAR command does not remove the offset
which an _.ENABLE BAR command might have applied to allow room for
change bars.
.skip
.test page 5.INDENT -5
_.END FILE
.index END FILE command>definition
.BREAK
Indicates that no more text is to be read from the file in which it
.index file>end of input
appears.  Not necessary if the entire file is to be processed.
.skip.test page 5.indent -5
_.END FOOTNOTE
.index END FOOTNOTE command>definition
.break
Terminates the specification of a footnote begun by a preceding
_.FOOTNOTE command.  Footnotes can also be terminated by the appearance
of an exclamation point, or whatever character has been specified by
.index footnote>end of
a _.FLAGS END FOOTNOTE command, in column 1.  If the footnote is
terminated by an exclamation point in column 1, then column 2 is treated
as the initial column of the line.
.skip.test page 5.indent -5
_.END LIST
.index END LIST command>definition
.break
Terminates the specification of an automatically numbered list begun
.index automatically numbered list>end of
.entry numbered list>see automatically numbered list
.entry list>see automatically numbered list
by a preceding _.LIST command.  The left and right margins, and the
interline spacing, are restored to the values which they had when the
_.LIST command was issued.
.skip.test page 5.indent -5
_.END LITERAL
.index END LITERAL command>definition
.break
Terminates the specification of a section of text which is to be copied
.index literal section>end of
literally without change of flag characters.  This section of text
will have been begun by a _.LITERAL command.  The _.END LITERAL command
is the only command which is recognized within the range of a _.LITERAL
command.  The _.END LITERAL command can be in either upper or lower
case or a mixture of these, but must not itself incorporate flag
characters.
.skip
.test page 5.indent -5
_.END LOOP
.index END LOOP command>definition
.break
If in the main input file, indicates that the text starting after the
.index loop>end of
.index form letter>end of
preceding _.LOOP command and extending up to the _.END LOOP command
is to be processed the number of times indicated by the _.LOOP command.
If in the splice file, terminates the processing of the text being
repeated in the main input file.  A _.RESET command should appear either
at the start or at the end of the loop if the _.LOOP command is used
to construct form letters.
.skip.test page 5.indent -5
_.END NOTE
.index END NOTE command>definition
.break
Terminates the specification of a note begun by a preceding _.NOTE
.index embedded note>end of
.entry note>see embedded note
.entry indented note>see embedded note
.entry quotation>see embedded note
.entry indented quotation>see embedded note
command.  The left and right margins, the interline spacing, and whether
a _.FILL or a _.NO FILL command is active, are restored to the values
which they had when the _.NOTE command was issued.
.skip
.test page 5.indent -5
_.END SPLICE
.index END SPLICE command>definition
.index splice file>terminating reading from
.break
Ignored if in the main source file.  In the splice file, terminates
.index splice>end of
reading of text from the splice file.  A subsequent _.SPLICE command
in the main source file would, however, resume reading of the same
splice file.
.skip.test page 5.indent -5
_.END SUBPAGE
.index END SUBPAGE command>definition
.break
Terminates the specification of the contents of a sequence of subpages
begun by a preceding _.SUBPAGE command.  The page number on the next
.index subpaging>end of
page will not bear a subpage letter suffix.  If either a footnote or
deferred figure which is too long to fit onto the current page could
have been specified before the _.END SUBPAGE command, and if it is
necessary to include the continuation of the footnote or the deferred
figure on pages which bear subpage suffixes, then a _.FORCE PAGE command
should be issued before the _.END SUBPAGE command.  To cause the start
of a new subpage within a sequence of subpages, either a _.PAGE or
a _.SUBPAGE command should be issued, not an _.END SUBPAGE command.
.skip.test page 5.indent -5
_.ENTRY rest of text on line
.index ENTRY command>definition
.break
The line of text specified by the _.ENTRY command is to be inserted
into the index.  No number will be shown to the right of the line of
text.  The first character in the line of text being placed into the
.index index>insertion of phrases into without page numbers
index will be converted to upper case unless it is preceded by an
underscore or by a back slash.  The _.INDEX command should be issued
instead if the page number in the output text corresponding to the
location in the source text at which the command was issued is to be
shown to the right of the line of text.
.skip.test page 5.indent -5
_.FACING PAGE
.index FACING PAGE command>definition
.break
.index page>causing next to be on following side
The text which is specified by the subsequent source lines will be
placed on a new page which will be on the side of the paper immediately
following the previous page
in a document which is printed on both sides of the paper,
 regardless of whether the page number
on the new page is odd or even.  The new page will be a left page if
the previous page was a right page, or will be a right page if the
previous page was a left page.  As with the _.LEFT PAGE and _.RIGHT
PAGE commands, the page number of the new page establishes the
association of odd and even page numbers with the particular sides
of the paper for the subsequent pages.  The _.NUMBER command which
establishes the page number of the new page should be issued immediately
after the _.FACING PAGE command.
The _.FACING PAGE command is equivalent to a _.PAGE command if the page
numbering scheme is
not changed.  The _.FACING PAGE command is equivalent to a _.LEFT PAGE
command if the current page is a right page and the page numbers are
changed before the next page such that it would also be a right page.
.skip.test page 3
If none of the commands _.LEFT PAGE, _.RIGHT PAGE nor _.FACING PAGE
have been issued, then
pages which are not being chapter numbered are assigned as right and
left pages according to whether the page numbers are odd and even,
respectively.  (This assignment is reversed if a _.RIGHT PAGE command
or a _.FACING PAGE command
.index left page>definition of
.index right page>definition of
.index page side>definition of
.index odd page numbers>page side based on
.index even page numbers>page side based on
has been issued when a left page would otherwise have been generated,
or vice versa, or if a odd number of subpages has been generated.)
Changing the page number of the next page by issuing the .NUMBER command
does not change this association of right and left pages with odd and
even page numbers.  If the page numbers are reset to 1 by a _.NUMBER#1
command at the start of a new section but a _.CHAPTER or an _.APPENDIX
command is not used, for example, if an introduction with Roman page
numbers is to precede an ordinary section with Arabic page numbers,
then each new page one will be a right page.  The _.NUMBER#1 command
should be preceded by a _.FACING PAGE command if the new page one is
instead to be on the side of the paper immediately following the
previous page in a document which is printed on both sides of the paper.
Using either a _.LEFT PAGE or _.RIGHT PAGE command to establish the
page side of the new page when the following page side is desired would
mean that the command would have to be changed whenever the number
of preceding pages changes.

.skip.test page 5.indent -5
_.FIGURE number
.index FIGURE command>definition
.BREAK
.index blank lines>insertion into output
The line of text currently being constructed is terminated and written
into the resulting document, then the indicated number of single spaced
.index figure>reserving space immediately with break
blank lines are produced.  If there is not enough room on the current
page for these blank lines, then they will all appear at the top of
a new page, and the text on the lines following the _.FIGURE command
will specify the text which appears below the blank lines on the new
page.
.SKIP
.test page 3
The _.FIGURE command is equivalent to the combination of a _.TEST PAGE
command and a _.MOVABLE FIGURE command.  The _.MOVABLE FIGURE command
used by itself does not break the construction of the current line,
and if there is not enough room on the current page for the blank lines
specified by the _.MOVABLE FIGURE command, then the text on the source
lines following the _.MOVABLE FIGURE command will continue to define
the text on the current page and the blank lines will be inserted at
the top of the next page when some circumstance other than the issuing
of the _.MOVABLE FIGURE command causes a new page to be generated.
.skip
.test page 3
The _.SKIP PAGE command or the _.MOVABLE PAGE command should be used
instead of the _.FIGURE command or the _.MOVABLE FIGURE command
respectively if one or more completely empty pages are to be generated.
.skip.test page 5.indent -5
_.FIGURE DEFERRED number
.index FIGURE DEFERRED command>definition
.break
.index deferred figure>with implied BREAK command
.index blank lines>insertion into output
.index figure>reserving space later with break
The _.FIGURE DEFERRED command terminates the line of text currently
being constructed and writes this line into the resulting document.
The indicated number of single spaced blank lines are then produced.
If there is not enough room on the current page for these blank lines,
then the text on the source lines following the _.FIGURE DEFERRED
command will start a new output line which will follow the previous
line on the current page, and the blank lines will be inserted at the
top of the next page when some circumstance other than the issuing
of the _.FIGURE DEFERRED command causes a new page to be generated.
.skip
.test page 3
The _.FIGURE DEFERRED command is equivalent to the use of a _.BREAK
command either before or after a .MOVABLE FIGURE command.  The _.FIGURE
DEFERRED command is similar to the _.FIGURE command, but if there is
not enough room on the current page for the blank lines, then the
_.FIGURE command will generate a new page and insert the blank lines
on this new page and the text on the lines following the _.FIGURE
command will define the text below the inserted blank lines on the
new page.
.index FIGURE command>comparison with _.FIGURE DEFERRED command
.skip.test page 3
The _.FIGURE command should be used instead of the _.FIGURE DEFERRED
command if no other text can appear in the output between the text
already on the output page and the blank lines which are generated
by the command.  The _.MOVABLE FIGURE command should be used instead
of the _.FIGURE DEFERRED command if the issuing of the command is not
to terminate the line of output text being constructed when the command
is issued.
.skip
.test page 5
.indent -5
_.FILL
.index FILL command>definition
.break
The lines of output text are to be filled with the next words which
appear in the source text until the following word would extend beyond
the current right margin, or until a _.BREAK command or any command
.index wrap-around>of lines
.index word>allowing wrap-around of
which implies a _.BREAK command is encountered.  If the first word
is wider than the current separation between the left and right margins,
then the entire word is fitted onto the current line.  Opposite of
_.NO FILL, which causes the contents of the lines of source text to
be copied into the output without changing the number of words per
line and without changing the spacings before and between words.  _.FILL
is the default.  The _.FILL command is sometimes confused with the
_.JUSTIFY command, although the latter merely causes the insertion
of extra spaces between words to produce even right margins when a
_.FILL command is active.
.skip
.test page 5.indent -5
_.FIRST FORM
.index FIRST FORM command>definition
.break
.index form feed>at start of document
.index blank page>at start of document
A form feed (a completely blank page without titles or text) is to
be generated before the first line of output on the first page.
.skip.test page 5.indent -5
_.FIRST TITLE
.index FIRST TITLE command>definition
.BREAK
If issued at the start of the source file, then the first page of output
.index title>allowing on first page
.index page>treating as subsequent page
will bear a title and subtitle, providing that these have been
specified.  The initial page of a chapter or appendix generated by
a subsequent _.CHAPTER or _.APPENDIX command will similarly bear titles
and subtitles.  Otherwise, blank lines will appear on these initial
pages instead of the title and subtitle.  An _.INITIAL PAGE command
can be issued to start a new page which is not to bear titles and
subtitles.  If an _.INITIAL PAGE command is issued, or if a _.FIRST
TITLE command has not been issued, then the initial pages of subsequent
chapters and appendixes will not bear titles and subtitles.
.skip
.test page 7
.indent -5
_.FLAGS
.index FLAGS command>definition
.break
or
.indent -5
_.FLAGS ALL
.entry FLAGS ALL command>synonym of FLAGS command
.break
.entry flag characters>enabling individual, see FLAGS ... commands
.entry flag characters>disabling individual, see NO FLAGS ... commands
Most flag characters are enabled in the source text.  Does not change
.index flag characters>enabling all
the interpretation of the flag characters specified by the _.FLAGS
COMMENT, _.FLAGS CONTROL, _.FLAGS END COMMAND and _.FLAGS TEXT commands.
Opposite of _.NO FLAGS ALL.
.SKIP
 _.FLAGS ALL is the default.
.skip
.test page 5
.indent -5
_.FLAGS CAPITALIZE 'character'
.index FLAGS CAPITALIZE command>definition
.break
Words in which each letter is to be capitalized can be immediately
.entry conversion>of lower case to capitals, see capitalization
.index word>conversion of lower case to capital
.index capitalization>of single word
.index capitalization flag>changing
.index _< (less than)>use as capitalization flag
.index less than>use as capitalization flag
preceded by the specified character.  The less than character is assumed
if no character follows the _.FLAGS CAPITALIZE command.  Opposite of
_.NO FLAGS CAPITALIZE.
.SKIP
_.NO FLAGS CAPITALIZE is the default.
.skip
.test page 4
.indent -5
_.FLAGS COMMENT 'character'
.index FLAGS COMMENT command>definition
.break
.index command line>comment flag
.index comment flag>changing
.index _! (exclamation point)>use as comment flag
.index exclamation point>use as comment flag
The specified character can precede a comment which appears to the
right of a command.  Opposite of _.NO FLAGS COMMENT.
.SKIP
 _.FLAGS COMMENT '___!' is the default.
.skip
.test page 5
.indent -5
_.FLAGS CONTROL 'character'
.index FLAGS CONTROL command>definition
.break
.index command line>control flag
.index control flag>changing
.index _. (period)>use as control flag
.index period>use as control flag
Commands in the source text are indicated by having the specified
character in the first column.  Opposite of _.NO FLAGS CONTROL.
.SKIP
_.FLAGS CONTROL '___.' is the default.
.skip
.test page 5
.indent -5
_.FLAGS END COMMAND 'character'
.index FLAGS END COMMAND command>definition
.break
.index command line>command separator flag
.index _; (semicolon)>use as command separator flag
.index semicolon>use as command separator flag
.index command separator flag>changing
A command can be followed by the specified character and then by
whatever would otherwise have appeared on the next line.  Opposite
of _.NO FLAGS END COMMAND.
.SKIP
 _.FLAGS END COMMAND '___;' is the default.
.skip.test page 5.indent -5
_.FLAGS END FOOTNOTE 'character'
.index FLAGS END FOOTNOTE command>definition
.break
.index _! (exclamation point)>use as end footnote flag
.index exclamation point>use as end footnote flag
.index end footnote flag>changing
.index footnote>end of
The specification of a footnote can be terminated by a line in which
the specified character appears in the leftmost column.  If a footnote
is terminated by the appearance of this character in the leftmost column
of a line, then the rest of the line which starts with the end footnote
flag character is interpreted as though column 2 were the initial column
of the line.  Opposite of _.NO FLAGS END FOOTNOTE.
.SKIP
_.FLAGS END FOOTNOTE '___!' is the default.
.SKIP
Although the characters used as the end footnote flag and as the comment
flag are initially the same, these flag characters are used in different
contexts, and changing one does not change the other.
.skip.test page 5.indent -5
_.FLAGS HALF DOWN 'character'
.index FLAGS HALF DOWN command>definition
.break
.index half down flag>changing
.index _/ (forward slash)>use as subscript flag
.index slash>use as subscript flag
.index forward slash>use as subscript flag
.index subscript flag>changing
.index subscripting>enabling
Single characters in the source text which are to be displayed slightly
below the current output line can each be preceded by a single
appearance of the specified character.  Words or phrases which are
to be displayed slightly below the output line can be preceded by a
single appearance of the character specified by the _.FLAGS HALF DOWN
command, this character itself being preceded by a circumflex (or by
whatever character has been specified by the _.FLAGS UPPER CASE
command).  Such words or phrases which are being displayed slightly
below the current line must be followed by a backslash (or by whatever
.index _^ (circumflex)>use with forward slash to start subscripting
.index circumflex>use with forward slash to start subscripting
.index _\ (back slash)>use with forward slash to stop subscripting
.index back slash>use with forward slash to stop subscripting
character has been specified by the _.FLAGS LOWER CASE command) and
then by the character specified by the _.FLAGS HALF DOWN command to
return the following characters to their normal positions.
.skip.test page 3
If the printer or terminal upon which the output text is displayed
can perform half-line spacing, and if the corresponding terminal type
.index half-line spacing>use for subscripting
.index runtime options>terminal type
is selected through the issuing by the user of the /T switch with the
appropriate following number when FROFF is run, then the characters,
words or phrases marked by the half down flag character will be
displayed half the normal line spacing lower than usual.  See the
description of the /T switch for a description of the correspondence
between the numbers which can follow the /T switch and terminal types.
If the /T switch is not issued, then the marked characters will be
one full line spacing lower than usual and will appear on an otherwise
empty line between the current line and the next line even if the text
is being single spaced.
.skip.test page 3
If the _.FLAGS HALF DOWN command is issued, but without any character
to its right, then the character selected by the previous _.FLAGS HALF
DOWN command is reselected, or the forward slash (/) is selected if
this is the first _.FLAGS HALF DOWN command.  Initially, the half down
flag character is not active.  _.NO FLAGS HALF DOWN is the default.
.skip.test page 5.indent -5
_.FLAGS HALF UP 'character'
.index FLAGS HALF UP command>definition
.break
.index half up flag>changing
.index _| (vertical bar)>use as superscript flag
.index bar character>use as superscript flag
.index vertical bar>use as superscript flag
.index superscript flag>changing
.index superscripting>enabling
Single characters in the source text which are to be displayed slightly
above the current output line can each be preceded by a single
appearance of the specified character.  Words or phrases which are
to be displayed slightly above the output line can be preceded by a
single appearance of the character specified by the _.FLAGS HALF UP
command, this character itself being preceded by a circumflex (or by
whatever character has been specified by the _.FLAGS UPPER CASE
command).  Such words or phrases which are being displayed slightly
above the current line must be followed by a backslash (or by whatever
.index _^ (circumflex)>use with vertical bar to start superscripting
.index circumflex>use with vertical bar to start superscripting
.index _\ (back slash)>use with vertical bar to stop superscripting
.index back slash>use with vertical bar to stop superscripting
character has been specified by the _.FLAGS LOWER CASE command) and
then by the character specified by the _.FLAGS HALF UP command to return
the following characters to their normal positions.
.skip.test page 3
If the printer or terminal upon which the output text is displayed
.index half-line spacing>use for superscripting
can perform half-line spacing, and if the corresponding terminal type
is selected through the issuing by the user of the /T switch with the
.index runtime options>terminal type
appropriate following number when FROFF is run, then the characters,
words or phrases marked by the half up flag character will be displayed
half the normal line spacing higher than usual.  See the description
of the /T switch for a description of the correspondence between the
numbers which can follow the /T switch and terminal types.  If the
/T switch is not issued, then the marked characters will be one full
line spacing higher than usual and will appear on an otherwise empty
line between the previous line and the current line even if the text
is being single spaced.
.skip.test page 3
If the _.FLAGS HALF UP command is issued, but without any character
to its right, then the character selected by the previous _.FLAGS HALF
UP command is reselected, or the vertical bar (_|) is selected if this
is the first _.FLAGS HALF UP command.  Initially, the half up flag
character is not active.  _.NO FLAGS HALF UP is the default.
.skip.test page 5.indent -5
_.FLAGS INDEX 'character'
.index FLAGS INDEX command>definition
.break
.index _> (greater than)>use as index flag
.index greater than>use as index flag
.index index flag>changing
.index word>insertion into index
.index index>insertion of single words into
Single words which are to be included in the index can be immediately
preceded in the source text by the specified character.  Each appearance
of the word which is to be included in the index must be marked in
this manner, since marking a word once does not cause the subsequent
unmarked appearances of the same word to be included in the index.
If the _.FLAGS INDEX command is issued, but without a following
character, then the greater than character (>), or whatever character
has been most recently selected by a previous _.FLAGS INDEX command,
is assigned this function.
.skip.test page 3
The word marked by the flag character will be copied without change
into the output at the point corresponding to its appearance in the
source text.  The same word will appear in the index followed by the
number of the page bearing the marked appearance of the word.  The
first character of the word in the index will be converted to upper
case, unless this character was immediately preceded in the source
text by either an underscore or a back slash, and the subsequent
characters will be converted to lower case.  A _.STYLE INDEX command
can be issued before the use of the index flag character either to
preserve the cases of all the characters in each word inserted into
the index or to preserve the cases of all but the first character in
each word.  The word will not be underlined in the index even if the
marked appearance of the word is being underlined.
.skip.test page 3
If the entire word is not to be included in the index, then the flag
character can appear in the word twice, immediately to the left of
the leftmost character which is to appear in the index, and immediately
to the right of the rightmost character which is to appear in the index.
In particular, since a punctuation mark is taken to be part of the
word to which it is attached, a second appearance of the flag character
just before the punctuation mark should be used in a word which is
followed immediately by a comma or by a period.
.skip.test page 3
The flag character can be used to mark words in the main body of the
document or in footnotes, regardless of whether the text is being
filled, justified or centered, and in the header titles specified by
_.HEADER LEVEL commands.  The flag character cannot be used to mark
words in page titles, page subtitles, chapter titles, appendix titles
or index titles, or in text which is being copied literally.
.skip.test page 3
There are other methods by which items can be inserted into the index.
An _.INDEX command can be used to specify a word or a phrase or a series
of words or phrases in which each subsequent item in the series is
to be indented further to the right and only the final item is to bear
a page number.  An _.ENTRY command can be used to specify a word or
a phrase or a series of words or phrases which is to be inserted into
the index properly placed alphabetically, but without a page number.
.index index>comparison of methods of insertion
The _.INDEX and _.ENTRY commands do not cause the text which is being
inserted into the index to also appear in the document at the point
at which the command is issued.  Thus, to cause a word or phrase to
appear both in the document and in the index, the word or phrase would
have to appear in the source text twice, first in the text which defines
the body of the document, and immediately thereafter to the right of
the _.INDEX or _.ENTRY command.  This order should not be reversed.
If an _.INDEX command were to specify the word or phrase immediately
before the appearance of the word or phrase in the text of the document,
then it would be possible for the page number to be 1 too small in
the index if it should happen that the word or phrase would not fit
onto the current page.  Of course, the relative order is of no concern
for an _.ENTRY command.
.skip.test page 3
The _.FLAGS INDEX command is the opposite of the _.NO FLAGS INDEX
command, which is the default.
.skip
.test page 4
.indent -5
_.FLAGS LOWER CASE 'character'
.index FLAGS LOWER CASE command>definition
.break
.index _\ (back slash)>use as lower case flag
.index back slash>use as lower case flag
.index lower case flag>changing
.entry lower case>translating capital letters into, see capital letters
Letters in the source text which are to be translated into lower case
can each be preceded by a single appearance of the specified character.
Two adjacent appearances of this character are equivalent to the _.LOWER
CASE command.  Opposite of _.NO FLAGS LOWER CASE.
.SKIP
_.FLAGS LOWER CASE '___\' is the default.
.skip
.test page 6.indent -5
_.FLAGS PAGE 'character'
.index FLAGS PAGE command>definition
.break
.index _> (greater than)>use as page number flag in titles
.index greater than>use as page number flag in titles
.index page number flag>changing
The location in the top and bottom titles and subtitles at which the
page number is to appear can be indicated by the specified character
in the various _.TOP TITLE, _.TOP SUBTITLE, _.BOTTOM TITLE and _.BOTTOM
SUBTITLE commands.  The page flag character is not active in top titles
and top subtitles specified by the _.TITLE and _.SUBTITLE commands.
Opposite of _.NO FLAGS PAGE.
.SKIP
_.FLAGS PAGE '___>' is the default.
.skip
.test page 4
.indent -5
_.FLAGS QUOTE 'character'
.index FLAGS QUOTE command>definition
.break
.index __ (underscore)>use as quote flag
.index underscore>use as quote flag
.entry copying single character without change>see quote flag
.entry literal copying of single character>see quote flag
.index quote flag>changing
The specified character can precede any special character which is
to be treated as an ordinary character.  Opposite of _.NO FLAGS QUOTE.
.SKIP
 _.FLAGS QUOTE '____' is the default.
.skip
.test page 4
.indent -5
_.FLAGS SPACE 'character'
.index FLAGS SPACE command>definition
.break
.index _# (number sign)>use as space flag
.index number sign>use as space flag
.index space flag>changing
.index space>marking of required space
The specified character can be used to represent a space which is to
be treated as a portion of a word rather than as a word boundary.
Opposite of _.NO FLAGS SPACE.
.SKIP
 _.FLAGS SPACE '___#' is the default.
.skip.test page 5.indent -5
_.FLAGS SUBINDEX 'character'
.index FLAGS SUBINDEX command>definition
.break
.index _> (greater than)>use between phrases in index
.index greater than>use between phrases in index
.index index>splitting of lines appearing in
The specified character can be used in the text appearing to the right
of an _.INDEX command to indicate the locations at which the text is
to be split across lines when this text is entered into the index.
Each new line indicated by the subindex flag is indented slightly to
the right of those above it.  Only the final line bears the number
of the page upon which the _.INDEX command was issued.  Opposite of
_.NO FLAGS SUBINDEX.
.SKIP
_.FLAGS SUBINDEX '___>' is the default.
.SKIP
Although the characters used as the index flag, subindex flag and page
flag are initially the same, these flag characters are used in different
contexts, and changing one does not change the others.
.skip
.test page 6.indent -5
_.FLAGS TEXT 'character'
.index FLAGS TEXT command>definition
.break
.index text flag>enabling
.index _' (apostrophe)>use as delimiter of character or phrase argument
.index apostrophe>use as delimiter of character or phrase argument
.entry delimiter of character or phrase argument>see text flag
.entry character argument delimiter>see text flag
.entry phrase argument delimiter>see text flag
The specified character can be used to mark both the start and the
end of the text appearing to the right of commands such as _.TITLE,
_.SUBTITLE, _.NOTE, _.CHAPTER, _.APPENDIX and _.HEADER LEVEL.  The
text which is specially treated by these commands would otherwise extend
through the ends of the lines upon which these commands appear.  The
use of this delimiter character permits additional commands to follow
these commands on the same line.  If the delimiter character is found
to the right of these commands then the specially treated text begins
to the right of the first appearance of the delimiter character and
extends up to the next appearance on the line of the delimiter character
which is not followed immediately by the same delimiter character or
through the end of the line if a single delimiter character does not
appear again on the line.  If it is necessary to include the delimiter
character itself in the text, then the delimiter character can be
preceded either by the underscore character or by an additional
appearance of the same delimiter character.  If the text begins with
any other character than the delimiter character, then the text extends
up to the next semicolon on the line or else through the end of the
line if a semicolon does not appear to the right on the same line.
If the _.FLAGS TEXT command is issued, but without any character to
its right, then the character selected by the previous _.FLAGS TEXT
command is reselected, or the apostrophe is selected if this is the
first _.FLAGS TEXT command.
.skip
.test page 3
The delimiter character selected by the _.FLAGS TEXT command can also
be used to mark the starts and ends of the characters or words or short
phrases which are specially treated by (that is, are arguments of)
other commands.  The delimiter character is initially inactive for
marking specially treated text which would otherwise extend through
the rightmost printing character on the line and can be deactivated
again for such text by the _.NO FLAGS TEXT command.  The same delimiter
character, however, remains active for the marking of characters and
words and short phrases which are the arguments of commands even if
a _.NO FLAGS TEXT command is issued.
.skip.test page 5.indent -5
_.FLAGS UNDERLINE 'character'
.index FLAGS UNDERLINE command>definition
.break
.index _& (ampersand)>use as underline flag
.index ampersand>use as underline flag
.index underline flag>changing
Characters in the source text which are to be underlined can each be
preceded by a single appearance of the specified character.  Words
or phrases which are to be underlined can be preceded by a single
appearance of the character specified by the _.FLAGS UNDERLINE command,
this character itself being preceded by a circumflex (or by whatever
character has been specified by the _.FLAGS UPPER CASE command).  Such
words or phrases which are being underlined must be followed by a
backslash (or by whatever character has been specified by a _.FLAGS
.index _^ (circumflex)>use with ampersand to start underlining
.index circumflex>use with ampersand to start underlining
.index _\ (back slash)>use with ampersand to stop underlining
.index back slash>use with ampersand to stop underlining
LOWER CASE command) and then by the character specified by the _.FLAGS
UNDERLINE command to turn the underlining off again.  _.FLAGS UNDERLINE
is the opposite of _.NO FLAGS UNDERLINE.
.SKIP
_.FLAGS UNDERLINE '___&' is the default.
.skip
.test page 4
.indent -5
_.FLAGS UPPER CASE 'character'
.index FLAGS UPPER CASE command>definition
.break
.index upper case flag>changing
.index _^ (circumflex)>use as upper case flag
.index circumflex>use as upper case flag
.index retaining cases
Letters in the source text which are to be translated to upper case
can each be preceded by a single appearance of the specified character.
Two adjacent appearances of this character are equivalent to the _.UPPER
CASE command.  Opposite of _.NO FLAGS UPPER CASE.
.SKIP
_.FLAGS UPPER CASE '___^' is the default.
.skip
.test page 5.indent -5
_.FOOTNOTE
.index FOOTNOTE command>definition
.BREAK
.index footnote>start of
Causes the following lines of text, through the next _.END FOOTNOTE
command or the next line starting with an exclamation point in column
1, to be taken as a footnote.  The declaration of the footnote should
immediately follow its reference in the text.  Neither the _.FOOTNOTE
command, nor any command issued while specifying the footnote, cause
the line of text in which the reference occurs to be split onto a new
line.
.skip
.test page 5.indent -5
_.FOOTNOTE HEADER rest of text on line
.index FOOTNOTE HEADER command>definition
.break
The text specified by the _.FOOTNOTE HEADER command is to be used as
.index footnote>phrase appearing above
.index footnote header>defining
.index header line>phrase above footnotes
.index line>phrase above footnotes
a header above the footnotes at the bottom of the pages in the output.
The _.FOOTNOTE RULE command should be used instead if the line above
the footnotes is to extend across the full width of the page and is
to be formed by repeating just a single character.
.skip
.test page 5.indent -5
_.FOOTNOTE RULE 'character'
.index FOOTNOTE RULE command>definition
.break
.index footnote>ruled line appearing above
A line formed by repeating the specified character is to be ruled above
.index footnote header>ruled by repeating single character or phrase
.index line>ruled above footnotes
.index header line>ruled above footnotes
.index ruled line>above footnotes
the footnotes at the bottom of the pages in the output.  If this line
is to be formed by repeating the underscore character, then the
underscore must appear twice to the right of the _.FOOTNOTE RULE command
since the first appearance of the underscore serves to quote its second
appearance.  The _.FOOTNOTE HEADER command should be used instead if
the line above the footnotes is not to extend across the full width
of the page or is to be formed other than by repeating just a single
character.
.skip
.test page 5.indent -5
_.FORCE PAGE
.index FORCE PAGE command>definition
.break
(Alias is _.FPG)
.skip
The _.FORCE PAGE command terminates the specification of the text upon
the page which is currently being constructed.  The source text on
the lines following the _.FORCE PAGE command will appear on a new page.
If an immediate footnote or a deferred figure has been specified which
is too long to fit onto the current page, then the extra portion of
the footnote or of the figure appears on a following page which will
.index footnote>forcing out before new page
.index figure>forcing out before new page
.index deferred figure>forcing out before new page
contain nothing else.  The _.FORCE PAGE command implies a _.BREAK
command.
.skip
.test page 3
A _.PAGE command would usually be issued instead of a _.FORCE PAGE
command.  The _.PAGE and _.FORCE PAGE commands are similar, but the
_.PAGE command allows the source text on the lines following the _.PAGE
command to appear on the same page as the excess portion of a footnote
or deferred figure.  A _.FORCE PAGE command is implied by the _.APPENDIX
and _.CHAPTER commands.
.index FORCE PAGE command>comparison with PAGE command
.index PAGE command>comparison with FORCE PAGE command
.skip
.test page 3
For example, the  source text
.skip
.nofill
.no flag control
.space footnote 0,0,0.footnote header-footnote-
.page size 10,15.nojustify
This text appears before the .FORCE PAGE command.
.footnote.nojustify
This is a footnote which will be too long to fit onto
the current page.
.end footnote.force page
This text appears after the .FORCE PAGE command.
.flag control
.fill
.skip
.test page 3
would be converted into the following 3 pages of formatted text when
processed by this program.
.skip
.NOFILL.TEST PAGE 12
*****************  *****************  *****************
*               *  *         Page 2*  *         Page 3*
*               *  *               *  *               *
*               *  *               *  *               *
*This text      *  *               *  *This text      *
*appears before *  *               *  *appears after  *
*the .FORCE PAGE*  *-footnote-     *  *the .FORCE PAGE*
*command.       *  *will be too    *  *command.       *
*-footnote-     *  *long to fit    *  *               *
*This is a      *  *onto the       *  *               *
*footnote which *  *current page.  *  *               *
*****************  *****************  *****************
.FILL
.skip
.test page 3
In the above example, the _.FORCE PAGE command caused the text following
the _.FORCE PAGE command to appear on the next page after the
continuation of the footnote on the second page.  If a _.PAGE command
had been used instead, then the text following the _.PAGE command could
appear on the second page above the continuation of the footnote.
.skip
.test page 3
For example, the source text
.skip.nofill.noflagcontrol
.space footnote 0,0,0.footnote header-footnote-
.page size 10,15.nojustify
This text appears before the .PAGE command.
.footnote.nojustify
This is a footnote which will be too long to fit onto
the current page.
.end footnote.page
This text appears after the .PAGE command.
.flagcontrol.fill.skip
would be converted into the following 3 pages of formatted text when
processed by this program.
.skip
.NOFILL.TEST PAGE 12
*****************  *****************  *****************
*               *  *         Page 2*  *         Page 3*
*               *  *               *  *               *
*               *  *               *  *               *
*This text      *  *This text      *  *the .PAGE      *
*appears before *  *appears after  *  *command.       *
*the .PAGE      *  *-footnote-     *  *               *
*command.       *  *will be too    *  *               *
*-footnote-     *  *long to fit    *  *               *
*This is a      *  *onto the       *  *               *
*footnote which *  *current page.  *  *               *
*****************  *****************  *****************
.FILL
.skip
.test page 3
The commands _.LEFT PAGE, _.RIGHT PAGE, _.SKIP PAGE, _.SKIP LEFT PAGE
and _.SKIP RIGHT PAGE are all variations of the _.PAGE command and
do not force the output of either the continuation of a footnote or
of a deferred figure.  The _.LEFT PAGE and _.RIGHT PAGE commands cause
the next page to be a left page bearing left page titles and subtitles
or to be a right page bearing right page titles and subtitles,
respectively.  The _.SKIP PAGE command generates an extra empty page
bearing titles and subtitles but no other text.  The _.SKIP LEFT PAGE
and _.SKIP RIGHT PAGE commands generate an extra empty page only if
this would be a left page or a right page, respectively.
.skip.test page 5.indent -5
_.HEADERS
.index HEADERS command>definition
.BREAK
or
.indent -5
_.HEADERS ON
.entry HEADERS ON command>synonym of HEADERS command
.break
All pages, except for those which are the initial pages of new sections,
are to include the title and subtitle at the top of each page.  If
both a _.HEADERS command and a _.FIRST TITLE command have been issued,
then the initial pages of new sections will also bear titles and
.index title>allowing room for at top of page
subtitles at the top of each page.  If a _.HEADERS command has been
issued, but a _.FIRST TITLE command has not been issued, then the
initial pages of new sections will bear blank lines, rather than titles
and subtitles, at the top of each page.  Pages which are treated as
the initial pages of new sections include the first page of the
document, the first page in each new chapter or appendix, the first
page in an index printed by a _.DO INDEX command, and any page following
an _.INITIAL PAGE command.
.skip
The _.HEADERS command is the opposite of the _.NO HEADERS command.
_.HEADERS is the default.  If a _.NO HEADERS command has been issued
more recently than a _.HEADERS command, then initial pages will not
bear blank lines at the top of each page and other pages will not bear
titles and subtitles at the top of each page.  Neither the _.HEADERS
command nor the _.NO HEADERS command change the display of titles or
subtitles at the bottoms of the pages.
.skip.test page 5.indent -5
_.HEADER LEVEL number, rest of text on line
.index HEADER LEVEL command>definition
.break
The text specified by the _.HEADER LEVEL command is to be used as a
subsection heading.  The number appearing to the right of the _.HEADER
LEVEL command specifies the depth of the subsection heading.  This
depth cannot exceed 6.  The depth of the subsection heading is the
.index numbered subsection
.index subsection header>declaring
number of values separated by periods which appear in the output at
the left end of the subsection heading.  If no number appears to the
right of the _.HEADER LEVEL command, then the depth of the subsection
heading will either be the depth of the subsection heading requested
by the previous _.HEADER LEVEL command, or will be the number of values
which have since been individually specified by a _.NUMBER LEVEL
command.  The rightmost number in the series will be incremented by
1 if the previous _.HEADER LEVEL command requested the display of the
same number of values and these values have not since been respecified
by a _.NUMBER LEVEL command.
.skip
.test page 3
If the depth of the subsection heading is 1, that is, if the number
to the right of the _.HEADER LEVEL command is 1, then the heading will
be converted entirely to upper case.  If the depth of the subsection
.index capitalization>of subsection header
heading is 2 or greater, then the first letter of each word in the
heading, except for those which are preceded by either an underscore
or a back slash, will be converted to upper case.  If the depth of
the subsection heading is 2 or less, then the heading will be separated
by a blank line from the following text.  If the depth of the subsection
heading is 3 or greater, then the heading will be separated from the
following text only by an extra hyphen.  The _.STYLE HEADERS command
can be used to modify the depths of the subsection headings in which
upper case conversion and for which blank line separation take place.
.skip
.test page 5.indent -5
_.IMMEDIATE FOOTNOTES
.index IMMEDIATE FOOTNOTES command>definition
.break
.index footnote>at bottom of page
Footnotes are to be printed at the bottoms of the pages in which they
are specified.  A _.COLLECT FOOTNOTES command can be issued instead
to specify that the footnotes are to be collected and printed together
when the next _.DO FOOTNOTE or _.PRINT FOOTNOTE command is encountered.
_.IMMEDIATE FOOTNOTES is the default.
.skip
.test page 3
.indent -5
_.INDENT number
.index INDENT command>definition
.break
.index indentation>of next line
.index line>indenting next line
The following line of output text is to be indented to the right of
the current left margin by the insertion of the indicated number of
extra spaces if the number is positive or unsigned.  The following
line of output text will be indented to the left by the removal of
the indicated number of spaces from the left margin if the number is
negative.  The line of output text which is indented either can have
been accumulated while a _.FILL command is active, or can be copied
directly while a _.NO FILL command is active.
.skip
.left margin 5
.test page 5
.indent -5
_.INDENT ELEMENT number
.index INDENT ELEMENT command>definition
.break
.index automatically numbered list>indentation of elements
.index indentation>of list elements
Causes the first printing character to the right of the serial number
in each list element at the current list depth to be indented to the
right of the left margin by the indicated number of columns if the
number following the _.INDENT ELEMENT command is positive or unsigned,
or to be indented to the left by the indicated number of columns if
the number is negative.  This indentation does not change the positions
of the characters in the first line of the list element, but rather
adjusts the left margin for the second and subsequent lines of the
list element so that the first line appears to have the requested
indentation.
.skip.test page 3
_.INDENT ELEMENT 0 is the default if an _.INDENT ELEMENT command has
not been issued at the current list depth so that the first printing
character to the right of the serial number in each list element lines
up with the first character in the second and each of the subsequent
lines of the list element.
.skip
.left margin 5
.test page 5
.indent -5
_.INDENT FOOTNOTE number
.index INDENT FOOTNOTE command>definition
.break
.index footnote>indentation of first line
.index indentation>of first line of footnote
Causes the first printing character of the text of each footnote to
be indented to the right of the left margin by the indicated number
of columns if the number following the _.INDENT FOOTNOTE command is
positive or unsigned, or to be indented to the left by the indicated
number of columns if the number is negative.  If a _.NUMBER FOOTNOTE
command is active, then the _.INDENT FOOTNOTE command specifies the
position of the first printing character to the right of the footnote
number, and does not specify the position of the footnote number.  The
_.INDENT FOOTNOTE command can be issued at any point in the source
text before the specification of the first footnote to which it is
to apply, or can be issued immediately after the _.FOOTNOTE command.
.skip.test page 3
_.INDENT FOOTNOTE 0 is the default so that left end of the first line
of each footnote lines up with the second and each of the subsequent
lines of the footnote.
.skip
.test page 5.indent -5
_.INDENT LEVEL number
.index INDENT LEVEL command>definition
.break
.index indentation>of subsection header
.index subsection header>indentation of
The number and text of each subsection heading specified by a _.HEADER
LEVEL command are to be indented to the right of the left margin by
the insertion of the indicated number of extra spaces if the number
is positive or unsigned.  The number and text of each subsection heading
are to be indented to the left of the left margin by the removal of
the indicated number of spaces from the left margin if the number is
negative.  The _.INDENT LEVEL command only needs to be issued once,
it applies to the subsection headings specified by all of the following
_.HEADER LEVEL commands.
.skip.test page 5.indent -5
_.INDENT NOTE number1, number2, number3
.index Margin>in note
.index Indentation>of first line of note
.index INDENT NOTE command>definition
.break
.index indentation>of paragraphs in note
.index embedded note>indentation of paragraphs in
Changes the indentation of the first line of an embedded note introduced
by the _.NOTE command, the indentation of the first line of any
paragraphs inside the note, and the offset by which the margins of
the note are shifted from those of the surrounding text.
.skip
.test page 3
Number1 is the number of spaces by which the first line of each note
and by which the first line of each of the paragraphs in each note
are to be indented from the left margin of the note.  A _.PARAGRAPH
command with its own following first number can be issued within a
note to change the indentation of the following paragraph within the
note and of all paragraphs within subsequent notes without changing
the indentations of the first lines of these notes and without changing
the indentations of paragraphs which are not in notes.  Such a
.index blank lines>between paragraphs in an embedded note
.index embedded note>spacing between paragraphs in
.index paragraph>within note
_.PARAGRAPH command issued within a note can similarly change the
spacing between paragraphs within the note and between all paragraphs
within subsequent notes without changing the spacing between paragraphs
which are not within notes.
.skip
.test page 3
Number2 is the number of spaces by which the left margin of each note
is to be offset from the left margin of the surrounding text.
.skip
.test page 3
Number3 is the number of spaces by which the right margin of each note
is to be offset from the right margin of the surrounding text.  Number2
would usually be positive and Number3 would usually be negative so
that the left and right margins of the note would both be shifted inward
from the surrounding text.  The left and right margins can also be
modified within a particular note by the _.LEFT MARGIN and _.RIGHT
MARGIN commands, but these margins would not be preserved beyond the
end of the particular note within which these commands were issued.
.skip
_.INDENT NOTE 0,4,-4 is the default.
.skip.test page 5.indent -5
_.INDEX rest of text on line
.index INDEX command>definition
.break
.index index>insertion of phrases into
.index insertion of phrases into index
.index phrase>insertion into index
The line of text specified by the _.INDEX command is to be inserted
into the index.  The page number in the output text corresponding to
the location in the source text at which the _.INDEX command was issued
will be shown to the right of the line of text.  The _.ENTRY command
should be issued instead if a page number is not to be shown to the
right of the line of text.
.SKIP.TEST PAGE 3
The first character of the line of text being placed into the index
either by an _.INDEX command or by an _.ENTRY command will be converted
to upper case unless this first character is immediately preceded by
an underscore or by a back slash.  The cases of the subsequent
characters will not be changed.  If a single word is placed into the
index by its being preceded by the flag character selected by a _.FLAG
INDEX command, then the first character of the word will be converted
to upper case unless this first character is immediately preceded by
an underscore or by a back slash, and the subsequent characters in
the word will be converted to lower case unless these subsequent
characters are individually preceded by underscores or by circumflexes.
.index index>capitalization of items in
.skip
.test page 5.indent -5
_.INITIAL PAGE
.index INITIAL PAGE command>definition
.BREAK
.index page>treating as initial page
.index title>suppressing of title on initial page
The text which is specified by the source lines following the _.INITIAL
PAGE command is to be placed on a new page which will not bear titles
or subtitles.  If an _.INITIAL PAGE command is issued, or if a _.FIRST
TITLE command has not been issued, then the initial pages of subsequent
chapters and appendixes will not bear titles and subtitles.
.skip
.test page 3
If the document is to have running page numbers (i.e., page numbers
which do not include the chapter number and which are not reset to
1 at the start of each chapter), if the initial page of each new section
is to start on a right page and is not to bear titles and if the page
preceding each new section is not to bear titles if it is a skipped
left page, then the sequence of commands could be
.skip
.nofill.test page 7
text of preceding section
     .
     .
_.PAGE.INITIAL PAGE.SKIP LEFT PAGE.INITIAL PAGE
     .
     .
text of new section
.fill.skip
If the skipped left pages can bear normal titles, then the sequence
of commands could instead be
.skip.nofill.test page 7
text of preceding section
     .
     .
_.SKIP LEFT PAGE.INITIAL PAGE
     .
     .
text of new section
.fill
.skip.test page 5.indent -5
_.INPUT WIDTH number
.index INPUT WIDTH command>definition
.break
.index width of input line
.index length of input line
.index input line>length of
Specifies the maximum number of characters to be processed in each
line of the source text.  Default is 132.  Maximum is 300.  If the
input file is line sequenced numbered, that is, if each line bears
an initial 5 digit number followed by a tab character, then the actual
.index file>line numbered input
.index line numbered input file>width of lines in
number of characters which will be interpreted in each line of source
text will be 6 less than the number specified by the _.INPUT WIDTH
command.
.skip
.left margin 5
.test page 5
.indent -5
_.JOIN
.index JOIN command>definition
.break
.index joining words together
.index attaching words together
.index word>joining together of
If a _.FILL command is active, then the _.JOIN command specifies that
the leftmost word (that is, an unbroken sequence of printing characters)
in the next line of source text which is not a command is to extend
the rightmost word in the line of text which is currently being
constructed.  Any spaces or tab characters to the left of the leftmost
word in the next line of source text which is not a command are ignored.
The extended word will start a new line if it does not fit into the
line which is currently being constructed.  If an _.AUTOPARAGRAPH
command is active, and if the next line of source text which is not
a command is empty, then the only effect of the _.JOIN command will
be to prevent the empty line from signalling the start of a new
paragraph.
.skip
.test page 3
.index footnote>interaction with JOIN command
If a _.NUMBER FOOTNOTE command is active, and if the _.JOIN command
precedes a _.FOOTNOTE command, then it is the footnote reference number
which is joined to the preceding word.  If a _.NUMBER FOOTNOTE command
is active, and if the _.JOIN command follows an _.END FOOTNOTE command,
then it is the footnote reference number which is joined to the
subsequent word.
.skip
.test page 3
If a _.NO FILL command is active, then the next line of source text
will be attached to the line of text currently being constructed, but
any spaces at the left end of the next line of source text will be
retained.
.skip
.test page 3
The _.JOIN command is ignored if any of the following conditions apply.
.list
.le;A _.FOOTNOTE command is active.
.le;No source text has been specified since the last _.BREAK command,
or since the last command which implied a _.BREAK command, was issued.
.le;A _.BREAK command, or any command which implies a _.BREAK command
is encountered before the next source line which is not a command.
.end list
.skip
.test page 6
For example, the source text
.skip.nofill.test page 4
Please send this memo to
_.SPLICE 1
_.JOIN
 _.
.skip.fill
could be used to bring in a person's name from the splice file, and
then to append a period, which would act as an end of sentence, to
this name.  The period could not appear in column 1, or else it would
be taken as a null command, and could not be preceded by a quoting
underscore, or else it would not act as an end of sentence.
.skip
.test page 5
.indent -5
_.JUSTIFY
.index JUSTIFY command>definition
.break
.index even right margin>enabling
.index right margin>even
.index ragged right margin>disabling
.index spaces>enabling insertion for even right margin
An even right margin is to be formed by the insertion of extra spaces
between the words which are wrapped around from one line to the next
while a _.FILL command is active.  The _.JUSTIFY command is sometimes
confused with the _.FILL command, although the latter merely enables
the wrapping around of words from one line to the next to form lines
of approximately equal length.  The _.JUSTIFY command is the opposite
of _.NO JUSTIFY.  _.JUSTIFY is the default.
.skip
.test page 5.indent -5
_.LAST FORM
.index LAST FORM command>definition
.BREAK
.index form feed>at end of document
.index end of document>form feed at
A form feed (a completely blank page without titles or text) is to
be generated after the last line of output on the last page.
.skip
.test page 5.indent -5
_.LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
.index LEFT BOTTOM SUBTITLE command>definition
.break
.index left page>subtitle at bottom
.index subtitle>at bottom of left pages
Specifies the text to be in the subtitle line just below the title
line at the bottom of each left page.  The contents of the subtitle
line at the bottom of each right page are unchanged.  The arguments
are the same as for the _.BOTTOM SUBTITLE command.
.skip
.test page 5.indent -5
_.LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3'
.index LEFT BOTTOM TITLE command>definition
.break
.index left page>title at bottom
.index title>at bottom of left pages
Specifies the text to be in the title line at the bottom of each left
page.  The contents of the title line at the bottom of each right page
are unchanged.  The arguments are the same as for the _.BOTTOM TITLE
command.
.skip
.test page 4
.indent -5
_.LEFT MARGIN number
.index LEFT MARGIN command>definition
.break
.index OFFSET command>comparison with LEFT MARGIN command
.index left margin>setting
.index margin>setting left
NOTE:  The _.OFFSET command should be used instead of the _.LEFT MARGIN
command if the entire document is to be shifted to the right.
.skip.test page 3
The _.LEFT MARGIN command specifies the number of spaces, in addition
to any additional offset applied by the _.OFFSET command or explicitly
requested by the user when this program is run, which are to be inserted
at the left end of each output line which is not a title or subtitle
line.  Unlike the _.OFFSET command, the _.LEFT MARGIN command does
change the appearance of the resulting document.  The spaces inserted
by the _.LEFT MARGIN command are treated as characters of text and
reduce the number of other characters which fit between the left and
right margins.  The left margin can be changed for a single line by
the application of an indentation by the _.INDENT or similar command.
.skip
_.LEFT MARGIN 0 is the default, such that the leftmost character of
each output line, excluding any offset applied by an _.OFFSET command
or indentation applied by an _.INDENT or similar command, will be in
column 1.
.skip.left margin 5.test page 6.indent -5
_.LEFT NO FILL number1, number2
.entry LEFT NO FILL command>synonym of NO FILL command
.break
or
.indent -5
_.NO FILL number1, number2
.break
The _.LEFT NO FILL command is identical to the _.NO FILL command.
Consult the description of the _.NO FILL command for a complete
description of these commands.
.skip
.test page 5.indent -5
_.LEFT PAGE
.index LEFT PAGE command>definition
.break
.index page>causing next to be left
The text which is specified by the source lines following the _.LEFT
PAGE command is to be placed on a new page which will bear left titles
and/or subtitles.
.skip
.test page 5.indent -5
_.LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3'
.index LEFT TOP SUBTITLE command>definition
.break
.index subtitle>at top of left pages
.index left page>subtitle at top
Specifies the text to be in the subtitle line just below the title
line at the top of each left page.  The contents of the subtitle line
at the top of each right page are unchanged.  The arguments are the
same as for the _.TOP SUBTITLE command.
.skip
.test page 5.indent -5
_.LEFT TOP TITLE 'phrase1','phrase2','phrase3'
.index LEFT TOP TITLE command>definition
.break
.index title>at top of left pages
.index left page>title at top
Specifies the text to be in the title line at the top of each left
page.  The contents of the title line at the top of each right page
are unchanged.  The arguments are the same as for the _.TOP TITLE
command.
.skip
.test page 5
.indent -5
_.LIST number, 'up to 6 characters'
.index LIST command>definition
.break
.index automatically numbered list>starting
.index bulleted list
A new list is to be constructed with the indicated number of blank
lines appearing between each item in the list.  If one or more
characters are specified, then these, rather than a number, appear
to the left of the start of each item in the list.  Any spaces, periods,
semicolons, exclamation points or apostrophes among these characters
must either be quoted by preceding underscores, or else the group of
characters must be enclosed in apostrophes.  A single apostrophe can
be included among the characters which are enclosed in apostrophes
if it is quoted either with an extra apostrophe or by an underscore.
At most 6 characters can be specified in this manner, but additional
characters can be specified at both ends by the _.DISPLAY ELEMENT
command.  If no characters are specified, then each item in the list
is numbered.  For example, the command _.LIST,'...'  would insert 3
periods to the left of each item in the list.  The _.LIST command merely
enables the construction of a list, each item in the list must be
declared by a _.LIST ELEMENT command.
.skip
.test page 3
If the character argument is missing following the _.LIST command,
then the _.LIST command shifts the left margin far enough to the right
for a 1 digit number to appear to the left of each item in the list.
If the character argument follows the _.LIST command, then the left
margin is shifted far enough to the right for the characters in this
argument to appear to the left of each item in the list.  If the items
in the list are going to be labeled with numbers, any of which are
more than 1 digit long, then the left margin should be shifted to the
right correspondingly before the _.LIST command is issued, and then
be shifted back to the left after the _.END LIST command is issued.
For example, if the list is going to contain items which are labeled
with numbers in the hundreds (that is, with 3 digits), then a _.LEFT
MARGIN+2 command should precede the _.LIST command, and a _.LEFT
MARGIN-2 command should follow the _.END LIST command.
.skip.test page 5.indent -5
_.LIST ELEMENT
.index LIST ELEMENT command>definition
.break
.index automatically numbered list>item in
The next output line is to start the first or a new item in the list
enabled by the _.LIST command.  The interline spacing and the right
margin are reset to their values when the _.LIST command was issued,
and the left margin is reset based upon its value when the _.LIST
command was issued.  If a _.DISPLAY ELEMENT command has been issued
at the current list depth, then the number to the left of the text
in the output will be generated in the system specified by the _.DISPLAY
ELEMENT command.
.skip.test page 5.indent -5
_.LITERAL
.index LITERAL command>definition
.break
.index LITERAL command>comparison with NO FILL command
.index NO FILL command>comparison with LITERAL command
NOTE:  The _.NO FILL command should be used instead of the _.LITERAL
command if subsequent lines which start with periods in the left column
are to be treated by FROFF as command lines, or if flag characters
in the subsequent text are used to indicate that the following
characters are to be modified.
.skip
.index command line>disabling
.index copying text without change
.index literal section>start of
The _.LITERAL command indicates that the following lines of source
text are to be copied into the output unchanged except for the
conversion of tab characters to spaces, and except for the application
of underlining if underlining was requested prior to the _.LITERAL
command.  Flag characters are not acted upon, and are copied into the
output unchanged.  Alphabetic letters are not converted to lower case
even if such conversion was requested by a pair of back slashes (_\_\)
or by a _.LOWER CASE command before the _.LITERAL command was issued.
An _.END LITERAL command, which can be used to terminate the literal
copying of the source text, is the only command which can be recognized
after a _.LITERAL command is issued.  Any line which starts with a
period in the left column but which cannot be interpreted as an _.END
.index command line>ignored after LITERAL command
LITERAL command is copied into the output unchanged.
.skip
.test page 5.indent -5
_.LOOP number
.index LOOP command>definition
.break
.index loop>start of
.entry repeated text>see loop
The following lines from the input file, through the next _.END LOOP
command, are to be processed the indicated number of times.  Processing
will be terminated early and any text to the right of the _.END LOOP
command in the original source file will be ignored if an additional
_.END LOOP command is read from the splice file, or if an _.END FILE
.index END FILE command>in splice file
.index END LOOP command>in splice file
command is read from the splice file, or if the physical end of the
splice file is encountered.  If the number is missing to the right
of the _.LOOP command, and if the loop contains one or more _.SPLICE
commands, then the source text between the _.LOOP command and the
subsequent _.END LOOP command in the original source file will be
processed repeatedly until one of these termination conditions is
encountered in the splice file.  If the number is missing to the right
of the _.LOOP command, and if the loop does not contain any _.SPLICE
commands, then the source text between the _.LOOP command and the
subsequent _.END LOOP command will be processed only once.
.skip
If the _.LOOP command is used to construct form letters, then a _.RESET
.index form letter>start of
.index RESET command>in form letter
command should appear within the loop, either at the start or at the
end.  If these form letters are being typed directly onto the user's
terminal, and if a _.SPLICE command appears within the range of the
_.LOOP command, then an _.OPEN SPLICE command should appear before
the _.LOOP command so that the user will be asked to identify the splice
file before the first form letter is typed.
.skip
.test page 5
.indent -5
_.LOWER CASE
.index LOWER CASE command>definition
.break
.entry conversion>of capital letters to lower case, see capital letters
.index capital letters>conversion to lower case
Upper case alphabetic letters in the source lines following the _.LOWER
CASE command are to be translated to lower case unless these upper
case letters are preceded by circumflexes or underscores or, if a _.FLAG
CAPITALIZE command has been issued, unless these upper case letters
are in words which are preceded by less than signs.  Equivalent to
.index LOWER CASE command>equivalent to doubled back slashes
.index _\ (back slash)>equivalent to LOWER CASE command when doubled
.index double back slash>equivalent to LOWER CASE command
.index back slash>equivalent to LOWER CASE command when doubled
the appearance of 2 back slashes.  Opposite of _.UPPER CASE, which
is the default.
.skip.test page 5.indent -5
_.MOVABLE FIGURE number
.index MOVABLE FIGURE command>definition
.index figure>reserving space without break
.index deferred figure>without implied BREAK command
.index blank lines>insertion into output
.break
The indicated number of single spaced blank lines are to be inserted
into the output text below the output line currently being constructed.
If there is not enough room for these blank lines on the current page
below the output line currently being constructed, then the text on
the source lines following the _.MOVABLE FIGURE command will continue
to define the text on the current page, and the blank lines will be
inserted at the top of the next page when some circumstance other than
the issuing of the _.MOVABLE FIGURE command causes a new page to be
generated.  If the resulting text is being double or triple spaced,
then the interline spacing will appear above the space reserved for
the figure if this reserved space follows other text on the page, and
the interline spacing will likewise appear below the space reserved
for the figure if this reserved space is followed by other text on
the same page.
.skip
.test page 3
The _.MOVABLE FIGURE command is similar to the _.FIGURE command, but
the _.FIGURE command terminates the line of text currently being
constructed and causes the blank lines to be inserted into the text
at the location at which the _.FIGURE command is issued.  If there
is not enough room on the current page for the blank lines specified
by the _.FIGURE command, then the _.FIGURE command will generate a
new page and insert the blank lines onto this new page and the text
on the lines following the _.FIGURE command will define the text below
the inserted blank lines on the new page.
.index FIGURE command>comparison with MOVABLE FIGURE command
.index MOVABLE FIGURE command>comparison with FIGURE command
.skip
.test page 3
The _.MOVABLE PAGE command described below should be used if a
completely empty extra page is needed.  If a completely empty extra
page were instead to be reserved by issuing a _.MOVABLE FIGURE command
for the number of lines on a page, less the lines in the top and/or
bottom margins, then the _.MOVABLE FIGURE command would have to be
adjusted whenever the height of the pages changes.  The _.MOVABLE PAGE
command, like the _.MOVABLE FIGURE command, does not break the line
of text currently being constructed.
.index MOVABLE FIGURE command>comparison with MOVABLE PAGE command
.index MOVABLE PAGE command>comparison with MOVABLE FIGURE command
.skip.test page 5.indent -5
_.MOVABLE PAGE number
.index MOVABLE PAGE command>definition
.break
.index deferred page>without implied BREAK command
The indicated number of extra blank pages are to be inserted into the
output text when the next new page is generated following the output
line which is currently being constructed.  A single extra blank page
is generated if no number is specified.  The _.MOVABLE PAGE command
does not terminate the line of text currently being constructed.  The
text on the source lines following the _.MOVABLE PAGE command will
continue to define the text on the current page.
.index blank page>without break
.entry skipping page>see blank page
.skip
.test page 3
The _.MOVABLE PAGE command is similar to the _.SKIP PAGE command, but
the _.SKIP PAGE command terminates the line of text currently being
constructed, and produces the extra empty page immediately.
.skip.test page 5.indent -5
_.NO AUTO PARAGRAPH
.index NO AUTO PARAGRAPH command>definition
.break
.index automatic paragraphing>disabling
.index AUTO PARAGRAPH command>disabling
In the lines of source text which follow the _.NO AUTO PARAGRAPH
command, the start of a new paragraph will not be indicated either
by a blank line or by a line which starts with one or more spaces.
Blank lines and initial spaces will be discarded if a _.FILL command
is active.  Opposite of _.AUTO PARAGRAPH.  _.NO AUTO PARAGRAPH is the
default.
.skip
.test page 7.indent -5
_.NO FILL number1, number2
.index NO FILL command>definition
.break
or
.indent -5
_.LEFT NO FILL number1, number2
.entry LEFT NO FILL command>synonym of NO FILL command
.break
.index NO FILL command>comparison with NO JUSTIFY command
.index NO JUSTIFY command>comparison with NO FILL command
NOTE:  The combination of a _.NO JUSTIFY command and a _.FILL command
should be used instead of the _.NO FILL command if a ragged right margin
is desired but the words are to be moved from one line to another to
give lines of approximately uniform length.  The _.LITERAL command
.index NO FILL command>comparison with LITERAL command
.index LITERAL command>comparison with NO FILL command
should be used instead of the _.NO FILL command if the lines of source
text, including those starting with periods and those containing flag
characters, are to be copied without any changes whatsoever.
.skip.test page 3
.index copying text without change
The _.NO FILL command is identical to the _.LEFT NO FILL command.  These
commands cause the following line or lines of text to be copied into
the output with the leftmost character in each line in the same column.
Each of these lines is copied with the original number of words per
line and with the original spacing before and between words.  Case
conversion and underscoring continue to be performed.  The right margin
is not enforced.  The lines of output text can be wider than the current
page width without changing the position of the page numbers.  The
_.NO FILL command is the opposite of the _.FILL command, which is the
default.
.skip
.test page 3
Number1 specifies the horizontal placement of the next line or lines
of text on the page.  If number1 is missing, then the leftmost character
of each output line will be in the left margin.  If number1 is signed,
then the lines of text are shifted to the right by the indicated number
of columns from the left margin if the number is positive, or to the
left if the number is negative.  If number1 is unsigned, then the
leftmost character of each output line will be in the column indicated
by number1.  The original left margin is reset after the range of the
_.NO FILL command is terminated.
.skip
.test page 3
Number2 specifies the number of lines which are to be copied in this
manner.  The original method of copying, whether within the range of
a _.FILL command or within the range of a _.NOFILL, _.LEFT NO FILL,
_.CENTER NO FILL or _.RIGHT NO FILL command issued without a second
argument, is reset after the indicated number of source lines have
been copied.  If number2 is missing, then the following lines of source
text which are not commands will continue to be copied so that their
leftmost characters are in the indicated column until a subsequent
_.FILL command is issued, or until a subsequent _.NO FILL, _.LEFT NO
FILL, _.CENTER NO FILL or _.RIGHT NO FILL command is issued without
a second argument.
.skip
.test page 6
.indent -5
_.NO FLAGS
.index NO FLAGS command>definition
.break
or
.indent -5
_.NO FLAGS ALL
.entry NO FLAGS ALL command>synonym of NO FLAGS command
.break
.index flag characters>disabling all
Most flag characters are disabled in the source text.  Does not disable
the interpretation of the flag characters specified by the _.FLAGS
COMMENT, _.FLAGS CONTROL, _.FLAGS END COMMAND and _.FLAGS TEXT commands.
Opposite of _.FLAGS ALL.
.SKIP
_.FLAGS ALL is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS CAPITALIZE
.index NO FLAGS CAPITALIZE command>definition
.break
.index capitalization flag>disabling
No special character can be used to indicate words in which each letter
is to be capitalized.  Opposite of _.FLAGS CAPITALIZE.
.SKIP
_.NO FLAGS CAPITALIZE is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS COMMENT
.index NO FLAGS COMMENT command>definition
.break
.index comment flag>disabling
A comment cannot appear to the right of a command.  Opposite of _.FLAGS
COMMENT.
.SKIP
 _.FLAGS COMMENT '___!' is the default.
.skip
.test page 5.indent -5
_.NO FLAGS CONTROL
.index NO FLAGS CONTROL command>definition
.BREAK
.index control flag>disabling
.index command line>ignored after NO FLAGS CONTROL command
.index command line>disabling
The following lines of source text which begin with the character
(normally the period) by which commands are identified are to be treated
as lines of ordinary text instead.  A _.FLAGS CONTROL command, which
would again enable the use of the initial period to indicate lines
which contain commands, is the only command which is recognized once
a _.NO FLAGS CONTROL command is applied.  The _.NO FLAGS CONTROL command
does not imply a _.NO FILL or _.LITERAL command, the words are still
wrapped around from one line to the next if a _.FILL command is active.
.SKIP
_.FLAGS CONTROL '___.' is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS END COMMAND
.index NO FLAGS END COMMAND command>definition
.index command separator flag>disabling
.break
No special character can follow a command to indicate that the text
to its right is to be treated as though this text appeared on the next
line.  Opposite of _.FLAGS END COMMAND.
.SKIP
_.FLAGS END COMMAND '___;' is the default.
.skip.test page 5.indent -5
_.NO FLAGS END FOOTNOTE
.index NO FLAGS END FOOTNOTE command>definition
.break
.index end footnote flag>disabling
No special character can be used at the left end of a line following
a _.FOOTNOTE command to terminate the specification of the footnote.
Opposite of _.FLAGS END FOOTNOTE.
.SKIP
_.FLAGS END FOOTNOTE '___!' is the default.
.skip.test page 5.indent -5
_.NO FLAGS HALF DOWN
.index NO FLAGS HALF DOWN command>definition
.index subscript flag>disabling
.index half down flag>disabling
.index subscripting>disabling
.break
No special character can be used in the source text to indicate letters,
words or phrases which are to be shifted half a line spacing below
the ordinary text.
Opposite of _.FLAGS HALF DOWN.
.SKIP
_.NO FLAGS HALF DOWN is the default.
.skip.test page 5.indent -5
_.NO FLAGS HALF UP
.index NO FLAGS HALF UP command>definition
.break
.index superscripting>disabling
.index superscript flag>disabling
.index half up flag>disabling
No special character can be used in the source text to indicate letters,
words or phrases which are to be shifted half a line spacing above
the ordinary text.
Opposite of _.FLAGS HALF UP
.SKIP
_.NO FLAGS HALF UP is the default.
.skip.test page 5.indent -5
_.NO FLAGS INDEX
.index NO FLAGS INDEX command>definition
.break
.index index flag>disabling
No special character can be used in the source text to mark words which
are to be included in the index.  Opposite of _.FLAGS INDEX.
.SKIP
_.NO FLAGS INDEX is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS LOWER CASE
.index NO FLAGS LOWER CASE command>definition
.break
.index lower case flag>disabling
No special character can be used to indicate single letters which are
to be translated into lower case.  Opposite of _.FLAGS LOWER CASE.
.SKIP
 _.FLAGS LOWER CASE '___\' is the default.
.skip
.test page 5.indent -5
_.NO FLAGS PAGE
.index NO FLAGS PAGE command>definition
.BREAK
.index page number flag>disabling
The location in the top and bottom titles and subtitles at which the
page number is to appear cannot be indicated in the various _.TOP TITLE,
_.TOP SUBTITLE, _.BOTTOM TITLE and _.BOTTOM SUBTITLE commands.
.SKIP
_.FLAGS PAGE '___>' is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS QUOTE
.index NO FLAGS QUOTE command>definition
.break
.index quote flag>disabling
No special character can precede any special character which is to
be treated as an ordinary printing character.  Opposite of _.FLAGS
QUOTE.
.SKIP
 _.FLAGS QUOTE '____' is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS SPACE
.index NO FLAGS SPACE command>definition
.break
.index space flag>disabling
No special character can be used to represent a space which is to be
treated as a portion of a word rather than as a word boundary.  Opposite
of _.FLAGS SPACE.
.SKIP
 _.FLAGS SPACE '___#' is the default.
.skip.test page 5.indent -5
_.NO FLAGS SUBINDEX
.index NO FLAGS SUBINDEX command>definition
.break
.index subindex flag>disabling
No special character can be used in the text appearing to the right
of an _.INDEX command to indicate the locations at which the text is
to be split across lines when this text is entered into the index.
Opposite of _.FLAGS SUBINDEX.
.SKIP
_.FLAGS SUBINDEX '___>' is the default.
.skip
.test page 5.indent -5
_.NO FLAGS TEXT
.index NO FLAGS TEXT command>definition
.break
.index text flag>disabling
The text strings which can be used as arguments of commands such as
_.TITLE, _.SUBTITLE, _.NOTE, _.CHAPTER, _.APPENDIX and _.HEADER LEVEL
start immediately after the command (or after the first argument in
the case of _.HEADER LEVEL) and extend through the end of the line.
See the description of the _.FLAGS TEXT command.
.SKIP
_.NO FLAGS TEXT is the default.
.skip.test page 5.indent -5
_.NO FLAGS UNDERLINE
.index NO FLAGS UNDERLINE command>definition
.break
.index underline flag>disabling
No special character can be used in the source text to indicate letters,
words or phrases which are to be underlined.  Opposite of _.FLAGS
UNDERLINE.
.SKIP
_.FLAGS UNDERLINE '___&' is the default.
.skip
.test page 4
.indent -5
_.NO FLAGS UPPER CASE
.index NO FLAGS UPPER CASE command>definition
.break
.index upper case flag>disabling
No special character can be used to indicate single letters which are
to be translated into upper case.  Opposite of _.FLAGS UPPER CASE.
.SKIP
 _.FLAGS UPPER CASE '___^' is the default.
.skip.test page 5.indent -5
_.NO FOOTNOTE HEADER
.index NO FOOTNOTE HEADER command>definition
.break
.index footnote header>disabling
No header line is to appear above the footnotes in the output.  Opposite
of _.FOOTNOTE HEADER.  _.NO FOOTNOTE HEADER is the default.
.skip.test page 5.indent -5
_.NO HEADERS
.index NO HEADERS command>definition
.break
.index title>suppressing room for at top of page
.index suppressing room for title at top of page
.index blank title>suppressing room for title at top of page
The title and subtitle are not to be inserted at the top of each page.
The blank lines specified by the _.SPACE TOP command are not to be
generated at the top of each page.  The ordinary output text will start
on the first line of each page.  Opposite of _.HEADERS ON, which is
the default.
.skip
.test page 3
.indent -5
_.NO JUSTIFY
.index NO JUSTIFY command>definition
.break
.index right margin>ragged
.index ragged right margin>enabling
.index even right margin>disabling
.index insertion of extra spaces>disabling
.index spaces>ragged right margin resulting from disabling insertion
An even right margin is not to be formed by the insertion of extra
spaces between the words which are wrapped around from one line to
the next when a _.FILL command is active.  The _.NO JUSTIFY command
is sometimes confused with the _.NO FILL command, although the latter
prevents wrap around of words from one line to the next and causes
the lines of source text to be copied to the output with the same number
words per line and with the same spacings before and between words.
The _.NO JUSTIFY command is the opposite of _.JUSTIFY, which is the
default.
.skip.test page 5.indent -5
_.NO NUMBER
.index NO NUMBER command>definition
.break
.index page number>disabling in simple titles
.index title>disabling page number in simple
A page number is not to appear at the upper right corner of each page
on which the top title was specified by a _.TITLE command.  Ignored
if the top title was specified by any of the various _.TOP TITLE
commands.  Opposite of _.NUMBER PAGE, which is the default.
.skip.left margin 5.test page 5.indent -5
_.NO NUMBER FOOTNOTE
.index NO NUMBER FOOTNOTE command>definition
.break
.index number>disabling automatically generated footnote numbers
.index footnote number>disabling
.index footnote>automatically generated numbers
A serial number identifying each footnote is not to be inserted into
the output text at the point at which each footnote is defined, and
is not to be inserted into the start of each footnote.  The serial
numbers, however, continue to be incremented as each footnote is
defined.  Opposite of _.NUMBER FOOTNOTE.  _.NO NUMBER FOOTNOTE is the
default.
.skip
.test page 6
.indent -5
_.NO OFFSET
.index NO OFFSET command>definition
.break
.index offset>disabling
No spaces are to be inserted at the left edge of each line in addition
to the normal left margin and indentation.  Equivalent to _.OFFSET
0, which is the default.  When this program is run, the user will be
asked to specify an offset which is applied to all lines even if a
_.NO OFFSET command appears in the source text.
.skip.test page 5.indent -5
_.NO PAGING
.index NO PAGING command>definition
.break
.index paging>disabling
.index automatic paging>disabling
The only page breaks in the output text are to be those which are
explicitly requested by the various versions of the _.PAGE commands
or by the other commands, such as _.CHAPTER and _.APPENDIX, which apply
a _.PAGE command.  Each new output line is added to the page currently
being constructed without generating a new page even if the page is
already full.  Opposite of _.PAGING, which is the default.
.skip.test page 5.indent -5
_.NO PERIOD
.index NO PERIOD command>definition
.break
.index extra spaces after punctuation>disabling
.index punctuation>disabling extra spaces after
When lines of text are being constructed while a _.FILL command is
active, no extra spaces are to be inserted following the end of sentence
punctuation characters period, question mark, colon and exclamation
point.  If a _.PERIOD command has been issued more recently than a
_.NO PERIOD command, then an extra space is added to the right of any
of these characters if it is followed on the same line in the output
by another word and the punctuation character neither is followed
immediately by another printing character nor was preceded in the source
text by an underscore.  _.PERIOD is the default.
.skip
.test page 5.indent -5
_.NO SUBTITLE
.index NO SUBTITLE command>definition
.BREAK
.index subtitle>disabling
Cancels the subtitle which might have been specified to appear on the
second line at the top of each page by the _.SUBTITLE command or by
any of the variations of the _.TOP SUBTITLE command.  The output text
will start 1 line higher on each page than if subtitles are being
generated unless this shift has been prevented by a _.SPACE TOP command.
.skip.test page 5.indent -5
_.NO TITLE
.index NO TITLE command>definition
.break
.index title>disabling
Cancels the title which might have been specified to appear on the
first line at the top of each page by the _.TITLE command or by any
of the variations of the _.TOP TITLE command.  Each page, except the
initial page or those following a _.CHAPTER, _.APPENDIX or _.INITIAL
PAGE command, will bear the word page followed by the appropriate page
number at the right end of the first line.
.skip
.test page 5.indent -5
_.NO UNDERLINE SPACE
.index NO UNDERLINE SPACE command>definition
.BREAK
.index underlining>spaces
.index spaces>disabling underlining of
The spaces which appear between words in the remainder of the resulting
text are not to be underlined when these spaces separate words which
are being underlined but are not each immediately preceded in the source
text by an extra ampersand.  Spaces which are not immediately preceded
by ampersands but which appear between underlined words are not
underlined unless an _.UNDERLINE SPACE command has been issued.  If
an _.UNDERLINE SPACE command has been issued both in the main text
of the document and in a footnote, then issuing a _.NO UNDERLINE SPACE
command in the main text of the document does not cause spaces between
underlined words in the footnotes to not be underlined, and issuing
a _.NO UNDERLINE SPACE command in a footnote does not cause spaces
between underlined words in the main text to not be underlined.
.skip
.test page 5.indent -5
_.NOTE rest of text on line
.index NOTE command>definition
.break
NOTE: In most cases, the _.NOTE command will be used without any text
to its right.  The title which can appear to the right of the _.NOTE
command is provided only for compatibility with RUNOFF.  If second
command appears to the right of the _.NOTE command, then this second
command will be treated as a title instead.
.skip.test page 3
.index embedded note>start of
The output text which is specified by the lines of source text which
follow the _.NOTE command are to be single spaced and to have the
margins moved in by 4 columns on each side.  A _.FILL command is
simulated.  The text which follows the _.NOTE command on the same line
is to be centered above the text of the note.  The original spacing
and original margins are reset by a subsequent _.END NOTE command.
.skip.test page 3
The amount by which the left and right margins are moved in for the
note can be changed by the _.INDENT NOTE command.  The number of
blank lines inserted above and below the note can be changed by the
_.SPACE NOTE command.

.entry NOTE command>see INDENT NOTE command
.entry NOTE command>see SPACE NOTE command

.skip.test page 3
A _.LEFT MARGIN command and/or a _.RIGHT MARGIN command can be issued
.index LEFT MARGIN command>in note
.index RIGHT MARGIN command>in note
.index Margin>in note
within the note to temporarily change the margins for the rest of the
note.  The margins which were in effect when the _.NOTE command was
issued will still be properly restored when the note is closed by an
_.END NOTE command.  The _.LEFT MARGIN command and/or the _.RIGHT MARGIN
command should be used in a note only if the margins are to be
temporarily changed.  The new margins set by these commands will not
be carried forward to the next note.  If what is really desired is
to change the amount by which the margins are shifted automatically
for all of the notes, then the _.INDENT NOTE command should be used
.entry INDENT NOTE command>see NOTE command
.entry SPACE NOTE command>see NOTE command
instead.

.skip.test page 3
A _.SPACING command can be issued within a note to temporarily change
.index Line spacing>in note
.index SPACING command>in note
the line spacing for the rest of the note.  The original line spacing
will be restored when the note is closed by an _.END NOTE command.
The line spacing selected by the _.SPACING command within the note
will not be carried forward to the next note.

.skip.test page 3
A _.PARAGRAPH command with a following number can be issued within
.index Indentation>of paragraphs in note
.index Paragraph>within note
.index PARAGRAPH command>within note
a note to start a new paragraph with its first line indented by the
indicated amount, and to set the default indentation of paragraphs
in the rest of the current note and in all following notes.  This does
not change the indentation of paragraphs outside the notes.  Issuing
the _.PARAGRAPH command with a following number in a note also does
.index Indentation>of first line of note
not change the amount by which the first line of each note is
automatically indented.  The _.INDENT NOTE command can be used to change
both the amount by which the first line of each note is automatically
indented and the default indentation of paragraphs within the notes.

.skip.test page 3
If a note is to bear a footnote number, then the footnote must
be specified before the note is closed by the _.END NOTE command.
.index Footnote number>at end of note
The proper sequence of commands would be
.skip.nofill.test page 11
_.NOTE
first line of text to be in the note
     .
     .
final line of text to be in the note
_.FOOTNOTE
first line of text to be in the footnote
     .
     .
final line of text to be in the footnote
_.END FOOTNOTE_.END NOTE
.skip.fill
If the footnote is instead declared after the _.END NOTE command has
been issued, then the footnote number will be on a separate line
following the note and will appear at the left margin of the
surrounding text.
.skip.test page 7.indent -5
_.NUMBER number
.index NUMBER command>definition
.break
or
.INDENT -5
_.NUMBER PAGE number
.entry NUMBER PAGE command>synonym of NUMBER command
.break
.index title>enabling page number in simple
.index page number>enabling in simple titles
.index page number>changing value of
.index number>changing page value
Indicates that the next page is to have the specified number as its
page number.  If the title at the top of each page was specified by
the _.TITLE command, rather than by some version of the _.TOP TITLE
command, then the page number will appear at the upper right corner
of each page.  If an unsigned number was specified by the _.NUMBER
command, then this will be the number of the next page.  If a signed
number was specified by the _.NUMBER command, then the number of the
next page will be modified by this amount.  Opposite of _.NO NUMBER.
_.NUMBER is the default.
.skip.test page 3
Pages which are not being chapter numbered are assigned as right and
left pages according to whether the page numbers are odd and even,
respectively.  (This assignment is reversed if a _.RIGHT PAGE command
.index left page>definition of
.index right page>definition of
.index page side>definition of
.index odd page numbers>page side based on
.index even page numbers>page side based on
has been issued when a left page would otherwise have been generated,
or vice versa, or if a odd number of subpages has been generated.)
Changing the page number of the next page by issuing the .NUMBER command
does not change this association of right and left pages with odd and
even page numbers.  If the page numbers are reset to 1 by a _.NUMBER#1
command at the start of a new section but a _.CHAPTER or an _.APPENDIX
command is not used, for example, if an introduction with Roman page
numbers is to precede an ordinary section with Arabic page numbers,
then each new page one will be a right page.  If the new page one is
instead to be on the page immediately following the previous page in
a document which is printed on both sides of the paper, then the
_.NUMBER#1 command must be preceded by a _.FACING PAGE command.  Issuing
a _.FACING PAGE command is equivalent to issuing a _.LEFT PAGE command
if and only if the next page would otherwise be a right page, and is
equivalent to issuing a _.RIGHT PAGE command otherwise.
.skip.test page 3
Each chapter, appendix or index will begin on the page side which next
follows the last page of the previous section.  If the new section
.index chapter>association page number and page side
.index appendix>association of page number and page side
.index page side>association with page number set by CHAPTER command
.index page side>association with page number set by APPENDIX command
is always to begin on a right page, then the _.CHAPTER, _.APPENDIX
or _.DO INDEX command must be preceded either by a _.RIGHT PAGE or
by a .SKIP LEFT PAGE command.  Both of these latter commands cause
the next page to be a right page.  The only difference between these
commands is that the _.SKIP LEFT PAGE command generates an empty left
page bearing titles and subtitles if the new section would otherwise
begin on a left page.  The _.RIGHT PAGE or _.SKIP LEFT PAGE command
should be preceded by a _.FORCE PAGE command if the last page of the
previous section included one or more immediate footnotes.
.skip
.test page 5.indent -5
_.NUMBER APPENDIX number
.index NUMBER APPENDIX command>definition
.break
.index number>changing appendix value
.index appendix>changing appendix number
.index page number>prefix as appendix number
Indicates that page numbers in the next appendix are to have a letter
or number as their prefix which has a value equal to the specified
number.  The letter or number appearing with the word APPENDIX on the
first page of the appendix will also have this value.  The value 26
would select the letter Z if letters are being used to represent the
appendix value, the value 27 would select the pair of letters AA, and
so on.  If the number is signed, then the next appendix value is to
be incremented by the indicated amount.  The resulting appendix value
must be zero or greater.  If a _.NUMBER APPENDIX command has not been
issued, then the first appendix will be appendix 1 or A.
.skip
.test page 5.indent -5
_.NUMBER CHAPTER number
.index NUMBER CHAPTER command>definition
.break
.index chapter>changing chapter number
.index page number>prefix as chapter number
.index number>changing chapter value
Indicates that page numbers in the next chapter are to have a letter
or number as their prefix which has a value equal to the specified
number.  The letter or number appearing with the word CHAPTER on the
first page of the chapter will also have this value.  The value 26
would select the letter Z if letters are being used to represent the
chapter value, the value 27 would select the pair of letters AA, and
so on.  If the number is signed, then the next chapter value is to
be incremented by the indicated amount.  The resulting chapter value
must be zero or greater.  If a _.NUMBER CHAPTER command has not been
issued, then the first chapter will be chapter 1 or A.
.skip
.test page 5
.left margin 5
.indent -5
_.NUMBER FOOTNOTE number
.index NUMBER FOOTNOTE command>definition
.BREAK
.index footnote>automatically generated numbers
.index footnote number>enabling
.index number>changing footnote value
A serial number identifying each footnote is to be inserted into the
output text at the location at which each footnote was defined in the
source text.  The same number is inserted at the start of each footnote.
If no number follows the _.NUMBER FOOTNOTE command, then the serial
number of the next footnote will be the number of footnotes, including
that footnote, which have been specified.  If an unsigned number follows
the _.NUMBER FOOTNOTE command, then this number becomes the serial
number identifying the next footnote.  If a signed number follows the
_.NUMBER FOOTNOTE command, then the serial number of the next footnote
is incremented by this amount.  No such numbers are inserted either
if a _.NUMBER FOOTNOTE command has not been issued, or if a _.NO NUMBER
FOOTNOTE command has been issued more recently than a _.NUMBER FOOTNOTE
command.
.skip
.test page 3
All of the numbers which are inserted into the output text at the
locations at which the footnotes were defined will be represented in
decimal and will be enclosed in square brackets unless a _.DISPLAY
REFERENCE command has been issued.  Each number, together with the
.index DISPLAY REFERENCE command>discussion
enclosing brackets, will be treated as a separate word unless, for
that particular footnote, a _.JOIN command immediately precedes the
_.FOOTNOTE command causing the leading bracket to be attached to the
preceding word, or unless, for that particular footnote, a _.JOIN
command immediately follows the _.END FOOTNOTE command causing the
trailing bracket to be attached to the following word.
.skip
.test page 3
All of the numbers which are inserted at the start of the footnotes
will similarly be represented in decimal and will be enclosed in square
brackets unless a _.DISPLAY FOOTNOTE command has been issued.  Providing
.index DISPLAY FOOTNOTE command>discussion
that the left margin is sufficiently to the right, the first printing
character of the first line of the footnote will be lined up with the
left margin.  An _.INDENT FOOTNOTE command can be issued to cause the
first line of the footnote, together with the leading number, to be
indented to the right.  For example, if an _.INDENT FOOTNOTE 10 command
has been issued, and if the footnote number is in the range 10 through
99 and is being enclosed in square brackets, then the 10 character
indentation minus the leading bracket, the 2 digits of the number,
the trailing bracket and 2 separating spaces would leave 4 spaces to
appear between the left margin and the leading bracket.
.break
.skip.test page 5.indent -5
_.NUMBER LEVEL number1, number2, number3, etc.
.index NUMBER LEVEL command>definition
.break
.index number>changing value in subsection number
.index subsection header>changing values in
Specifies the numbers to be printed separated by periods at the left
of the next subsection heading specified by a _.HEADER LEVEL command.
If unsigned, the values are used directly.  If signed, the new values
increment the values printed to the left of the last subsection heading.
.skip
.test page 5.indent -5
_.NUMBER LIST number1, number2
.index NUMBER LIST command>definition
.break
.index number>changing value of item in automatically numbered list
.index automatically numbered list>changing values in
The next line of source text which is preceded by a _.LIST ELEMENT
command in the list at the depth indicated by number1 is to be labeled
with the value specified by number2.
.SKIP
.test page 3
Number1 is the depth of the list containing the item which bears the
label which is to be changed.  The depth of the list containing the
item is the number of _.LIST commands which have been issued before
the item but which have not been cancelled by subsequent matching _.END
LIST commands.  Number1 must not be greater than the depth of the
current list.
.skip
.test page 3
Number2 is the value of the label to be shown with the next item which
is in the list at the depth indicated by number1.  If number2 is signed,
then the value of the label is incremented by the indicated amount.
.skip.test page 5.indent -5
_.NUMBER SUBPAGE number
.index NUMBER SUBPAGE command>definition
.break
.index page number>suffix as subpage number
.index subpaging>changing value of
.index number>changing subpage value
If an unsigned number is specified by the _.NUMBER SUBPAGE command,
then this will be the number of the next subpage.  If a signed number
is specified by the _.NUMBER SUBPAGE command, then the number of the
next subpage will be modified by this amount.  The subpage number or
increment must be stated as a number even if the subpage number is
being displayed in the output in alphabetic form.
.skip
.test page 5.indent -5
_.OFFSET number
.index OFFSET command>definition
.break
.index offset>setting for all pages
.entry shifting document>see offset
.entry moving document>see offset
Indicates that the following text is to be shifted to the right by
the insertion of the indicated number of spaces at the left end of
each output line.  This offset is in addition to the spaces inserted
by a _.LEFT MARGIN command and any possible indentation applied by
an _.INDENT or similar command.  An _.OFFSET command issued outside
a footnote applies both to the text outside the footnote and to the
footnote.  An _.OFFSET command issued inside a footnote applies only
to the text inside the footnotes.  The _.OFFSET LEFT PAGE and _.OFFSET
RIGHT PAGE commands can similarly be issued to cause left and right
pages to be offset differently.  When this program is run, it will
also ask the user to specify an offset which is applied to all lines
on all (both left and right) pages in addition to any offsets specified
within the source text by the _.OFFSET command.  Unlike the shift
applied by the _.LEFT MARGIN command, the offsets applied by the various
forms of the _.OFFSET command do not change the appearance of the
resulting document.
.skip.test page 5.indent -5
_.OFFSET LEFT PAGE number
.index OFFSET LEFT PAGE command>definition
.break
.index offset>setting for left pages
Indicates that the following text which appears on left pages is to
be shifted to the right by the insertion of the indicated number of
spaces at the left end of each output line.  The offset which was
previously specified for all pages by an _.OFFSET command or which
was specified only for right pages by an _.OFFSET RIGHT PAGE command
will continue to be applied to the text which appears on right pages.
Pages in the resulting document are considered to be left pages if
they bear even page numbers unless a _.SUBPAGE command has been issued
to force the retention of the same page number across several pages
or unless a _.LEFT PAGE command has been issued to force a new page
which is a left page or a _.RIGHT PAGE command has been issued to force
a new page which is a right page.  By offsetting left pages less than
right pages, the text printed on these pages can be shifted away from
the binding or staples used to hold the document together.
.skip.test page 5.indent -5
_.OFFSET RIGHT PAGE number
.index OFFSET RIGHT PAGE command>definition
.break
.index offset>setting for right pages
Indicates that the following text which appears on right pages is to
be shifted to the right by the insertion of the indicated number of
spaces at the left end of each output line.  The offset which was
previously specified for all pages by an _.OFFSET command or which
was specified only for left pages by an _.OFFSET LEFT PAGE command
will continue to be applied to the text which appears on left pages.
.skip.test page 5.indent -5
_.OPEN SPLICE
.index OPEN SPLICE command>definition
.break
.entry file>see splice file
.index splice file>establishing name
.index loop>opening splice file before
.index file name>of splice file
.index user interaction>asking for name of splice file
.index asking user>for name of splice file
The user is to be asked immediately to supply the name of the splice
file, but nothing is as yet to be read from this file.  Nothing more
is to be read from the previously specified splice file, if any.  The
_.OPEN SPLICE command is used prior to a loop which is generating form
letters which are being typed directly to the user's terminal so that
the user is not asked to specify the splice file while the first form
letter is being typed.
.skip.test page 5.indent -5
_.PAGE
.index PAGE command>definition
.break
The _.PAGE command is the simplest of several commands which cause
the text which is specified by the subsequent source lines to be placed
on a new page.
.skip.test page 3
If the next page which is generated after the _.PAGE command is issued
has an odd page number then this new page will usually be a right page,
i.e., will bear right page titles.  The new page will usually be a
left page if it has an even page number.  The _.LEFT PAGE, _.RIGHT
PAGE and _.FACING PAGE commands can be issued to force the next page
to a particular side of the paper regardless of whether its page number
is odd or even.  The new association of odd and even page numbers with
.index left page>definition of
.index right page>definition of
.index page side>definition of
.index odd page numbers>page side based on
.index even page numbers>page side based on
particular sides of the paper then continues for the rest of the
document.  The association of odd and even page numbers with particular
sides of the paper can also be changed if _.CHAPTER or _.APPENDIX
commands are issued to start a new section since a new section usually
starts on the following side of the paper.  The association of odd
and even page numbers with particular sides of the paper is also changed
if an odd number of subpages is generated.
.skip.test page 3
The other forms of the _.PAGE command are listed below.  With the sole
exception of the _.MOVABLE PAGE command, all of these commands terminate
the line or paragraph currently being accumulated (i.e., they imply
a _.BREAK command), and start the new page immediately.
.lm+5
.skip.test page 3.i-5
.index new page>comparison of commands used for new page
.index PAGE command>various forms compared
_.END SUBPAGE causes the page numbers of the following pages to not
bear the letter suffixes which were included after a previous _.SUBPAGE
.index END SUBPAGE command>comparison with other PAGE commands
command.  After a _.SUBPAGE command is issued, until a subsequent _.END
SUBPAGE command is encountered, the letter suffix, rather than the
numeric portion, of the page number is incremented for each new page.
.skip.test page 3.i-5
_.FACING PAGE causes the new page to be a left page if the previous
page was a right page, or to be a right page if the previous page was
.index FACING PAGE command>comparison with other PAGE commands
a left page.  As with the _.LEFT PAGE and _.RIGHT PAGE commands, the
association of odd and even page numbers with the particular sides of
the paper is established by the page number of the new page.
.skip.test page 3.i-5
_.FORCE PAGE causes any immediate footnotes for which there was
insufficient room on the previous page to be generated on an extra
.index FORCE PAGE command>comparison with other PAGE commands
page or pages before the next output text is place on a new page.
.skip.test page 3.i-5
_.INITIAL PAGE causes the new page to be treated as an initial
.index INITIAL PAGE command>comparison with other PAGE commands
page which will not bear page titles.
.skip.test page 3.i-5
_.LEFT PAGE causes the new page to be a left page regardless of whether
it bears an odd or even page number.  As with the _.RIGHT PAGE and
.index LEFT PAGE command>comparison with other PAGE commands
_.FACING PAGE commands, the association of odd and even page numbers
with the particular sides of the paper is established by the page number
of the new page.
.skip.test page 3.i-5
_.MOVABLE PAGE causes 1 or more empty pages bearing titles and subtitles
to be generated later when the next new page is begun.  Unlike the
.index MOVABLE PAGE command>comparison with other PAGE commands
other forms of the _.PAGE command, the _.MOVABLE PAGE command does
not itself cause a new page to be begun immediately, and does not
terminate the line or paragraph in which it appears.  The _.SKIP PAGE
command should be used instead if the empty page is to be generated
immediately.
.skip.test page 3.i-5
_.RIGHT PAGE causes the new page to be a right page regardless of
whether it bears an odd or even page number.  As with the _.LEFT PAGE
.index RIGHT PAGE command>comparison with other PAGE commands
and _.FACING PAGE commands, the association of odd and even page numbers
with the particular sides of the paper is established by the page number
of the new page.
.skip.test page 3.I-5
_.SKIP LEFT PAGE generates an empty page bearing titles and subtitles
.index SKIP LEFT PAGE command>comparison with other PAGE commands
if the next output text would otherwise have been placed on a left
page.
.skip.test page 3.I-5
_.SKIP PAGE generates 1 or more empty pages bearing titles and subtitles
.index SKIP PAGE command>comparison with other PAGE commands
before the next output text is placed on a new page.
.skip.test page 3.I-5
_.SKIP RIGHT PAGE generates an empty page bearing titles and subtitles
.index SKIP RIGHT PAGE command>comparison with other PAGE commands
if the next output text would otherwise have been placed on a right
page.
.skip.test page 3.I-5
_.SUBPAGE causes a letter suffix to be attached to each page number.
.index SUBPAGE command>comparison with other PAGE commands
This suffix is incremented for each following page until a subsequent
_.END SUBPAGE command is encountered.
.skip.test page 3.I-5
_.TEST PAGE causes a new page to be begun if, and only if, there is
.index TEST PAGE command>comparison with other PAGE commands
not sufficient room on the current page for a specified number of
additional single spaced lines.  A _.BREAK command is, however, always
implied.
.skip.test page 3.I-5
_.TEST SPACING causes a new page to be begun if, and only if, there
.index TEST SPACING command>comparison with other PAGE commands
is not sufficient room on the current page for a specified number of
additional lines spaced according to the current line spacing.  A
_.BREAK command is, however, always implied.
.lm-5
.skip.test page 5.indent -5
_.PAGE LENGTH number
.index PAGE LENGTH command>definition
.break
.index height of page
.index length of page
.index page height
.index page size
.index line>maximum number of on page
Specifies the maximum number of lines which can appear on a single
page.  Provided that a _.NO PAGING command has not been issued more
recently than a _.PAGING command, then a new page will be begun whenever
the next line of output text, together with any immediate footnotes
which have been specified and any bottom titles and bottom subtitles,
would cause there to be more than the specified number of lines on
the current page.  The _.PAGE LENGTH command implies a _.BREAK command,
but does not imply a _.PAGE command, i.e., issuing the _.PAGE LENGTH
command does not cause a new page to be generated immediately unless
the new page length is less than or equal to the number of lines already
on the page.
.skip
_.PAGE LENGTH 58 is the default.
.skip.test page 5.indent -5
_.PAGE SIZE number1, number2
.index PAGE SIZE command>definition
.break
NOTE: The _.PAGE SIZE command is equivalent to the combination of a
_.PAGE LENGTH command issued with number1 as its argument and a _.PAGE
WIDTH command issued with number2 as its argument.  It is suggested
that the latter 2 commands be used instead of the _.PAGE SIZE command.
The _.PAGE SIZE command is a RUNOFF command and is included only for
compatibility with RUNOFF.
.skip
.index height of page
.index length of page
.index page height
.index page size
.index line>maximum number of on page
.index width of page
The _.PAGE SIZE command specifies the height and width of the output
pages.
.skip
.test page 3
Number1, if specified, becomes the new number of lines on an output
page, including the lines used for top and bottom titles and subtitles.
.skip
.test page 3
Number2, if specified, becomes the new number of characters across
an output page, exclusive of any offset specified by an _.OFFSET
command.  The right margin is set to the new page width also.
.index right margin>setting
.SKIP.TEST PAGE 3
_.PAGE SIZE 58, 60 is the default so that each page will contain at
most 58 lines, including headings, and the right margin will be in
column 60.
.skip.test page 5.indent -5
_.PAGE WIDTH number
.index PAGE WIDTH command>definition
.break
.index width of page
Specifies the maximum number of characters across the width of an output
page, exclusive of any offset applied by the _.OFFSET, _.OFFSET LEFT
PAGE or _.OFFSET RIGHT PAGE commands, and exclusive of any offset
requested by the user when the source file is actually processed.  The
right margin both for the text external to footnotes and for the text
.index right margin>setting
within footnotes is set equal to the new page width.  The right ends
of the portions of titles and subtitles which are being right justified
will also be aligned with the new page width.  The _.PAGE WIDTH command
implies a _.BREAK command but does not imply a _.PAGE command.
.skip
_.PAGE WIDTH 60 is the default.
.skip.test page 5.indent -5
_.PAGING
.index PAGING command>definition
.break
.index paging>enabling
.index automatic paging>enabling
A new page is started whenever the next line to be added to the output
page would cause that page to contain more lines than the page height
specified by the _.PAGE LENGTH or the _.PAGE SIZE commands.  Opposite
of _.NO PAGING.  _.PAGING is the default.
.skip
.test page 5
.indent -5
_.PARAGRAPH number1, number2, number3
.index PARAGRAPH command>definition
.break
.index paragraph>start of
The next line of text is to start a new paragraph.
.index indentation>of paragraph
.index blank lines>before paragraph
.index TEST SPACING command>implied by PARAGRAPH command
.skip
.test page 3
Number1 is the number of spaces by which the first line of the paragraph
is to be indented from the left margin.
.skip
.test page 3
Number2 is the number of single spaced blank lines which are to precede
the first line of the paragraph.
.skip
.test page 3
Number3 is the minimum number of initial lines of the paragraph which
are to be kept together on the same page.  The paragraph will start
on a new page if there is insufficient space on the current page, at
the current line spacing, for the number of printing lines specified
by number3.
.skip
.test page 3
If any number is not specified, then the value specified for this number
by the previous _.PARAGRAPH command is used.  The default values are
number1=5, number2=1 and number3=3.  The _.PARAGRAPH command is
equivalent to the 3 commands _.BLANK number2, _.TEST SPACING number3,
_.INDENT number1 issued in this order.
.skip
.test page 3
A _.PARAGRAPH command can be issued with its following numbers in the
main text of the document to change the indentation and spacing between
paragraphs in the remainder of the main text of the document without
changing the indentation and spacing between paragraphs in embedded
notes or in footnotes.  A _.PARAGRAPH command can be issued with its
following numbers within a note or within a footnote to change the
indentation or spacing between paragraphs within the current and
following embedded notes or within the current and following footnotes
respectively without changing the indentation and spacing between
paragraphs in the main text of the document.
.skip.test page 5.indent -5
_.PERIOD
.index PERIOD command>definition
.break
.index extra spaces after punctuation>enabling
.index punctuation>enabling extra spaces after
When lines of text are being constructed while a _.FILL command is
active, an extra space is inserted following any of the end of sentence
punctuation characters period, question mark, colon and exclamation
point when this is followed on the same line in the output by another
word and the punctuation character is neither followed immediately
by another printing character nor is preceded in the source text by
an underscore.  If a _.NO PERIOD command has been issued more recently
than a _.PERIOD command, then an extra space is not added to the right
of any of these characters.  _.PERIOD is the default.
.skip
.test page 5.indent -5
_.PRINT FOOTNOTES
.index PRINT FOOTNOTES command>definition
.BREAK
.index footnote>generating collected
.index PAGE command>not implied before footnotes
Similar to the _.DO FOOTNOTES command except the list of footnotes
does not start on a new page unless a _.PAGE command has just been
given.  Neither the _.DO FOOTNOTES command nor the _.PRINT FOOTNOTES
command implies an _.IMMEDIATE FOOTNOTES command.  If a _.COLLECT
FOOTNOTES command is active and if more footnotes are specified
following the _.DO FOOTNOTES command or the _.PRINT FOOTNOTES command,
then a subsequent _.DO FOOTNOTES command or a _.PRINT FOOTNOTES command
will have to be issued to cause them to be printed.
.skip
.test page 5.indent -5
_.PRINT INDEX rest of text on line
.index PRINT INDEX command>definition
.break
.index index>generating
.index PAGE command>not implied before index
An index is to be constructed on pages which have the same page
numbering scheme as those in the preceding document.  The index will
begin on a new page if there is insufficient room at the bottom of
the current page to print at least 3 lines at the current line spacing,
or whatever number of lines has been most recently specified by the
third argument of either the _.PARAGRAPH or _.AUTOPARAGRAPH command
as the required number of lines to be available for a paragraph to
begin at the bottom of a page.  A _.PAGE command can also be issued
before the _.PRINT INDEX command to force the index to start on a new
page.  A _.NUMBER command can be issued before the _.PRINT INDEX command
to reset the numbers of the pages on which the index is printed.  The
_.DO INDEX command should be issued instead of the _.PRINT INDEX command
if the page numbers of the pages on which the index is printed are
to start with 1 and are to be prefaced by the word Index.  If text
is specified to the right of the _.PRINT INDEX command, then this text
is centered at the start of the index.
.skip
.test page 5.indent -5
_.RESET
.index RESET command>definition
.break
.index loop>end of
.index form letter>end of
.index restoring original conditions
.index original conditions>restoring
.index PAGE command>implied by RESET command
Restores most original settings except the loop count parameter set
by the _.LOOP command.  This is most useful in the generation of form
letters.  The following text will start a new page.
.skip
.test page 5.indent -5
_.RIGHT number1, number2
.index RIGHT command>definition
.break
NOTE:  The first argument of the _.RIGHT command is interpreted quite
differently from that of any other command.  This argument, however,
is interpreted in the same manner as by the RUNOFF program which FROFF
emulates.  The _.RIGHT and _.RIGHT NO FILL commands perform similar
functions, but the interpretation of the arguments of the _.RIGHT NO
FILL command is consistent with the interpretations of most of the other
commands.
.skip.test page 3
The _.RIGHT command causes the next line or lines of source text which
are not commands to be copied into the output with the rightmost
character in each line in the same column.  Each of these lines is
copied without changing the number of words on the line and without
changing the number of spaces before and between the words on the line.
.skip
.test page 3
Number1 specifies the horizontal placement of the next line or lines
of text on the page.  If number1 is missing or is zero, then the right
character of the next line will be output in the right margin.  If
number1 is positive or unsigned, then the right character of the next
line will be located the indicated number of character positions to
the left of the right margin.  If number1 is negative, then the right
character of the next line will be located the indicated number of
character positions to the right of the right margin.
.skip
.test page 3
Number2, if present, is the number of following lines, not counting
those which contain only other commands, which are to be right justified
in the output.  Only a single line of source text is right justified
if number2 is absent.
.skip
.test page 5.indent -5
_.RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
.index RIGHT BOTTOM SUBTITLE command>definition
.break
.index right page>subtitle at bottom
.index subtitle>at bottom of right page
Specifies the text to be in the subtitle line just below the title
line at the bottom of each right page.  The contents of the subtitle
line at the bottom of each left page are unchanged.  The arguments
are the same as for the _.BOTTOM SUBTITLE command.
.skip
.test page 5.indent -5
_.RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3'
.index RIGHT BOTTOM TITLE command>definition
.break
.index right page>title at bottom
.index title>at bottom of right page
Specifies the text to be in the title line at the bottom of each right
page.  The contents of the title line at the bottom of each left page
are unchanged.  The arguments are the same as for the _.BOTTOM TITLE
command.
.skip
.test page 4
.indent -5
_.RIGHT MARGIN number
.index RIGHT MARGIN command>definition
.break
.index right margin>setting
.index margin>setting right
If lines of text are being constructed while a _.FILL command is active,
then words are accumulated until the next word would extend beyond
the indicated column, counting any indentation applied by the _.INDENT
or similar command, but not counting any offset applied by the _.OFFSET
command.  _.RIGHT MARGIN 60 is the default.
.skip.left margin 5.test page 5.indent -5
_.RIGHT NO FILL number1, number2
.index RIGHT NO FILL command>definition
.break
NOTE: The _.RIGHT and _.RIGHT NO FILL commands perform similar functions,
but the interpretation of the arguments of the _.RIGHT NO FILL
command is more consistent with the interpretations of the arguments
of the other commands.
.skip.test page 3
The _.RIGHT NO FILL command causes the following line or lines of text
which are not commands to be copied into the output with the rightmost
character in each line in the same column.  Each of these lines is
copied without changing the original number of words per line and
without changing the original spacing before and between the words
on the line.
.skip.test page 3
Number1 specifies the horizontal placement of the next line or lines
of text on the page.  If number1 is missing, then the rightmost
character of each output line will be in the right margin.  If number1
is signed, then the lines of text are shifted to the right by the
indicated number of columns from the right margin if the number is
positive, or to the left if the number is negative.  If number1 is
unsigned, then the lines of text have their rightmost characters in
the column indicated by number1.
.skip.test page 3
Number2 specifies the number of lines which are to be copied in this
manner.  The original method of copying, whether within the range of
a _.FILL command or within the range of a _.NOFILL, _.LEFT NO FILL,
_.CENTER NO FILL or _.RIGHT NO FILL command issued without a second
argument, is reset after the indicated number of source lines have
been copied.  If number2 is missing, then the following lines of source
text which are not commands will continue to be copied so that their
leftmost characters are in the indicated column until a subsequent
_.FILL command is issued, or until a subsequent _.NO FILL, _.LEFT NO
FILL, _.CENTER NO FILL or _.RIGHT NO FILL command is issued without
a second argument.
.skip
.test page 5.indent -5
_.RIGHT PAGE
.index RIGHT PAGE command>definition
.break
.index page>causing next to be right
The text which is specified by the lines following the _.RIGHT PAGE
command is to be placed on a new page which will bear right titles
and/or subtitles.
.skip
.test page 5.indent -5
_.RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3'
.index RIGHT TOP SUBTITLE command>definition
.break
.index right page>subtitle at top
.index subtitle>at top of right page
Specifies the text to be in the subtitle line just below the title
line at the top of each right page.  The contents of the subtitle line
at the top of each left page are unchanged.  The arguments are the
same as for the _.TOP SUBTITLE command.
.skip
.test page 5.indent -5
_.RIGHT TOP TITLE 'phrase1','phrase2','phrase3'
.index RIGHT TOP TITLE command>definition
.break
.index right page>title at top
.index title>at top of right page
Specifies the text to be in the title line at the top of each right
page.  The contents of the title line at the top of each left page
are unchanged.  The arguments are the same as for the _.TOP TITLE
command.
.SKIP.TEST PAGE 5.INDENT -5
_.RULE '1 or more characters', number1, number2
.index RULE command>definition
.break
.index line>ruled by repeating character or phrase
.index ruled line>across width of page
Rules a line formed by repeating the character or characters between
the columns indicated by the numbers.  If the half down flag character
and the half up flag character are active, then these flag characters
can be used to slightly modify the vertical placement of the characters
which form the line.  The line will be formed from minus signs if no
character is specified.  The line will be ruled between the left and
right margins if the numbers are not specified.
.skip.test page 3
Number1 specifies the number of spaces to the left of the leftmost
character on the line.  If number1 is missing, then the leftmost
character on the line will be to the immediate right of the current
left margin.  If number1 is unsigned, then this is the number of spaces
to the left of the leftmost character on the line.  If number1 is
signed, then the leftmost character on the line will be indented to
the left of the current left margin by the indicated number of columns
if number1 is negative, or to the right if number1 is positive.
.skip.test page 3
Number2 specifies the column containing of the right end of the line.
If number2 is missing, then the right end of the line will be in the
current right margin.  If number2 is unsigned, then the right end of
the line will be in the column indicated by number2.  If number2 is
signed, then the right end of the line will be in the right margin,
indented to the left by the indicated number of columns if number2
is negative, or to the right if number2 is positive.
.skip.test page 3
_.RULE'-' would rule a line of minus signs between
the left and right margins.
.skip.test page 3
_.RULE'*#',+5,-5 would rule a line formed by alternating asterisks
and spaces starting 5 columns to the right of the left margin and ending
5 columns to the left of the right margin.
.skip.test page 3
The underscore character would have to appear twice between the
apostrophes to obtain a line ruled with underscores if the underscore
character is itself being used to mark special characters which are
to be treated as normal characters instead.  _.RULE'____',5,25 would
specify a line of underscores starting in column 6 and extending through
column 25.
.skip.test page 5.indent -5
_.SEQUENCE 'characters'
.index SEQUENCE command>definition
.break
.index collating sequence>of characters in index
.index index>collating sequence in
.index punctuation>collating sequence of in index
Defines the sorting or collating sequence to be used in the index for
characters other than the alphabetic letters A through Z and the digits
0 through 9.  Any character in the sequence which is currently active
as a flag character would have to be preceded by the underscore
character or by whatever character has been most recently selected
by a _.FLAGS QUOTE command.  The sorting sequence specified by the
_.SEQUENCE command is ignored for characters which have been encountered
in items already inserted into the index.
.skip.test page 3
Regardless of whether a _.SEQUENCE command has been issued, the lower
case form of each alphabetic letter appears before the upper case form,
and the letters appear before the digits.  Other characters appear
after the digits and, if they have not previously been specified by
a _.SEQUENCE command, appear in the order in which these characters
are first encountered in items which are inserted into the index.  For
example, if a plus sign is encountered in any item which is inserted
into the index before a minus sign is encountered, then, when the items
in the index are sorted, plus signs will always appear after the letters
and digits but before the minus signs.  If a minus sign were to be
encountered before a plus sign, then it would be the minus signs which
would always appear after the letters and digits but before the plus
signs. The _.SEQUENCE command can instead be used to force a particular
sorting sequence which is independent of the order in which the
characters are first encountered.
.skip.test page 3
_.SEQUENCE'+-*/' would specify that the items in the index would be
sorted so that plus signs appeared earlier than minus signs, so that
minus signs appeared earlier than asterisks, and so that asterisks
appeared earlier than slashes.
.skip
.test page 5
.indent -5
_.SKIP number
.index SKIP command>definition
.break
.index blank lines>insertion into output
The specified number of extra blank lines with the current interline
spacing between them are to be inserted into the output text.  If no
number is given, 1 is assumed.  The _.BLANK command is similar, but
gives the specified number of single spaced blank lines.  Neither the
_.BLANK nor the _.SKIP command is active at the top of a new output
.index BLANK command>comparison with SKIP command
.index SKIP command>comparison with BLANK command
.index FIGURE command>comparison with BLANK and SKIP commands
page.  The _.FIGURE command can be used instead to generate blank lines
at the start of the first page of output or after a new page has been
requested by any of the various _.PAGE commands.
.skip.test page 3
If the number appearing to the right of the _.SKIP command is negative
or zero,
then this number instead specifies the position of the next printed
line relative to the bottom of the page if a bottom title or bottom
subtitle has not been specified, or relative to the bottom margin if
a bottom title and/or bottom subtitle has been specified.  The absolute
value of the number times the spacing specified by the _.SPACING command
is the maximum number of lines which can be on the page below the next
printed line.  Either _.BLANK#0 or _.SKIP#0 would
cause the next line of text to be at the bottom of the page.
If the next printed line would already be at or below
the specified position, then the _.SKIP command is ignored.  The _.SKIP
command is also currently ignored if the next printed line would be
the first line on a new page, but a future version of FROFF should
allow the position of the first line on a page to be specified in this
manner.
The position of the next printed line is stated relative to the
bottom of the text above the bottom margin, instead of relative
to the bottom of the page, so that only the page length, not the
individual _.BLANK and _.SKIP commands, needs to be changed to maintain
the same paging when a bottom title or subtitle is specified in a
document which did not previously have titles or subtitles at the bottom
of the pages.
.skip.test page 3
_.SPACING 2_.SKIP 10 would cause the next printed line to be 20
lines lower on the page than it would otherwise have been.
_.SPACING 2_.SKIP-10 would cause the next printed line to be the 21st
line from the bottom of the page (that is, to be followed by 10*2 lines)
if the next line would otherwise have been above the 21st line.
.skip
.test page 5.indent -5
_.SKIP LEFT PAGE
.index SKIP LEFT PAGE command>definition
.break
.index blank left page
.index blank page>left
.index left page>generating blank left page to get to right page
.index right page>skipping left page to get to
The text which follows the _.SKIP LEFT PAGE command is to be placed
on a new page which will bear right titles and/or subtitles.  If the
page which is currently being constructed is a right page (that is,
if it bears right titles and/or subtitles), then an empty left page
will be generated bearing only left titles and/or subtitles before
the new right page is begun.
.skip.test page 5.indent -5
_.SKIP PAGE number
.index SKIP PAGE command>definition
.break
.index blank page>with break
The text which follows the _.SKIP PAGE command is to be placed on a
new page.  The indicated number of empty pages will be generated before
the new page is begun.  If the number is missing, then a single extra
empty page will be generated.
.skip
.test page 3
The _.SKIP LEFT PAGE and the _.SKIP RIGHT PAGE commands can be used
instead to produce a single extra empty page if this extra empty page
would be either a left page or a right page respectively.
.skip
.test page 3
The _.SKIP PAGE command is similar to the _.MOVABLE PAGE command, but
the _.MOVABLE PAGE command does not break the line of text currently
being accumulated, and the _.MOVABLE PAGE command delays the extra
empty page until some circumstance other than the issuing of the
_.MOVABLE PAGE command causes a new page to be generated.
.skip
.test page 5.indent -5
_.SKIP RIGHT PAGE
.index SKIP RIGHT PAGE command>definition
.break
.index blank page>right
.index blank right page
.index right page>generating blank right page to get to left page
.index left page>skipping right page to get to
The text which follows the _.SKIP RIGHT PAGE command is to be placed
on a new page which will bear left titles and/or subtitles.  If the
page which is currently being constructed is a left page (that is,
if it bears left titles and/or subtitles), then an empty right page
will be generated bearing only right titles and/or subtitles before
the new left page is begun.
.skip
.test page 5.indent -5
_.SPACE APPENDIX number1, number2, number3
.index SPACE APPENDIX command>definition
.break
.index blank lines>at start of appendix
.entry skipped lines>see blank lines
.index appendix>spacing of header line
Modifies the number of blank lines appearing on the first page of an
appendix.
.skip
.test page 3
Number1 indicates the number of blank lines to appear on the first
page of an appendix between the page header and the word APPENDIX.
.skip
.test page 3
Number2 indicates the number of blank lines to appear on the first
page of an appendix between the word APPENDIX and the appendix heading
which was specified by the _.APPENDIX command, or between the word
APPENDIX and the text of the appendix if no appendix heading was
specified by the _.APPENDIX command.
.skip
.test page 3
Number3 indicates the number of blank lines to appear on the first
page of an appendix between the appendix heading which was specified
by the _.APPENDIX command and the text of the appendix.
.SKIP
_.SPACE APPENDIX 9,1,3 is the default.
.skip
.test page 5.indent -5
_.SPACE BOTTOM number
.index SPACE BOTTOM command>definition
.break
.index title>blank lines above title at bottom of page
.index blank lines>between text and bottom titles
.index bottom titles>blank lines above
Modifies the number of blank lines appearing at the bottom of a page
which bears a bottom title and/or a bottom subtitle.
.break
The number specified by the _.SPACE BOTTOM command is the minimum number
of blank lines which are to appear between the text on the page and
the bottom title if there is a bottom title, or between the text on
the page and the bottom subtitle if there is a bottom subtitle but
there is no bottom title.  If either left or right pages bear bottom
titles or subtitles, then the margin at the bottom of both left and
right pages is the larger of the margins required for either left or
right pages.  No extra blank lines appear on the bottom of the page
if neither left nor right pages bear either bottom titles or bottom
subtitles.
.SKIP
_.SPACE BOTTOM 1 is the default.
.skip
.test page 5.indent -5
_.SPACE CHAPTER number1, number2, number3
.index SPACE CHAPTER command>definition
.break
.index blank lines>at start of chapter
.index chapter>spacing of header line
Modifies the number of blank lines appearing on the first page of a
chapter.
.skip
.test page 3
Number1 indicates the number of blank lines to appear on the first
page of a chapter between the page header and the word CHAPTER.
.skip
.test page 3
Number2 indicates the number of blank lines to appear on the first
page of a chapter between the word CHAPTER and the chapter heading
which was specified by the _.CHAPTER command, or between the word
CHAPTER and the text of the chapter if no chapter heading was specified
by the _.CHAPTER command.
.skip
.test page 3
Number3 indicates the number of blank lines to appear on the first
page of a chapter between the chapter heading which was specified by
the _.CHAPTER command and the text of the chapter.
.SKIP
_.SPACE CHAPTER 9,1,3 is the default.
.skip
.test page 5.indent -5
_.SPACE FOOTNOTE number1, number2, number3
.index SPACE FOOTNOTE command>definition
.break
.index blank lines>between footnotes
.index blank lines>between text and footnotes
.index footnote>blank lines above and between
.index footnote header>blank lines above and below
Modifies the number of blank lines appearing before a list of footnotes
and between the footnotes in a list of footnotes.
.skip
.test page 3
Number1 indicates the number of extra blank lines to appear before
the footnote header line.
.skip
.test page 3
Number2 indicates the number of extra blank lines to appear after the
footnote header line.
.skip
.test page 3
Number3 indicates the number of extra blank lines to appear between
successive footnotes on the same page.
.SKIP
_.SPACE FOOTNOTE 1,0,0 is the default.
.skip
.test page 5.indent -5
_.SPACE HEADER number1, number2
.index SPACE HEADER command>definition
.break
.index blank lines>before and after subsection titles
.index subsection header>blank lines before and after
Modifies the number of blank lines appearing before and after each
subsection heading specified by a _.HEADER LEVEL command.
.skip
.test page 3
Number1 specifies the number of blank lines to appear in addition to
the normal interline spacing before each subsection heading if the
preceding text was not itself a subsection heading, or if the preceding
text was a subsection heading having a level equal to or greater than
3, or whatever level has been specified as the level at which
wrap-around occurs by the first number after the _.STYLE HEADERS
command.
.skip
.test page 3
Number2 specifies the number of blank lines to appear in addition to
the normal interline spacing after a subsection heading for which the
level is less than 3, or whatever level has been specified as the level
at which wrap-around occurs by the first number after the _.STYLE
HEADERS command.  If these blank lines are followed in turn by text
which is not itself a subsection heading, then the next subsection
heading will be preceded by the number of blank lines specified by
number1.
.SKIP
_.SPACE HEADER 3,1 is the default.
.skip
.test page 5.indent -5
_.SPACE INDEX number1, number2, number3, number4
.index SPACE INDEX command>definition
.break
.index blank lines>at start of index
.index index>blank lines at start of
Modifies the number of blank lines appearing at the start of each index.
.skip
.test page 3
Number1 specifies the number of blank lines to appear above the header
line in an index constructed by a _.DO INDEX command.
.skip
.test page 3
Number2 specifies the number of blank lines to appear between the header
line and the index constructed by either a _.DO INDEX or a _.PRINT
INDEX command.
.skip
.test page 3
Number3 specifies the number of blank lines to appear between the
preceding text and the header line in an index constructed by a _.PRINT
INDEX command.
.skip
.test page 3
Number4 specifies the number of blank lines to appear after an index
constructed by a _.PRINT INDEX command.
.SKIP
_.SPACE INDEX 0,4,2,2 is the default.
.skip.test page 5.indent -5
_.SPACE NOTE number1, number2, number3
.index SPACE NOTE command>definition
.BREAK
.index blank lines>before and after note
.index embedded note>blank lines before and after
Modifies the number of blank lines appearing before and after notes
which are delimited by the _.NOTE and _.END NOTE commands.
.skip
.test page 3
Number1 specifies the number of blank lines, in addition to the normal
line spacing, which are to appear before a note.
.skip
.test page 3
Number2 specifies the number of blank lines which are to appear between
the title of the note and the text of the note.
.skip
.test page 3
Number3 specifies the number of blank lines, in addition to the normal
line spacing, which are to appear after a note delimited by the _.NOTE
and _.END NOTE commands.
.SKIP
_.SPACE NOTE 2,1,2 is the default.
.skip
.test page 5.indent -5
_.SPACE TOP number1, number2, number3
.index SPACE TOP command>definition
.break
.index blank lines>between top of page and top titles
.index blank lines>between top titles and text
.index title>blank lines below title at top of page
Modifies the number of blank lines appearing at the top of each page.
.skip
.test page 3
Number1 indicates the number of blank lines which are to appear at
the top of each page above the top title.
.skip
.test page 3
Number2 indicates the minimum number of blank lines which are to appear
at the top of each page below the the title, or below the subtitle
if there is one, and before the text which appears on the page.
.skip
.test page 3
Number3 indicates the minimum number of lines at the top of the page
which are to be reserved for the top title and top subtitle.
.SKIP
_.SPACE TOP 0,2,3 is the default.
.skip
.test page 4
.indent -5
_.SPACING number
.index SPACING command>definition
.break
.index single spacing lines
.index double spacing lines
.index triple spacing lines
.index multiple spacing of lines
.index line spacing>changing
Specifies the interline spacing between lines of output text.  One
less than the indicated number of blank lines are to be inserted between
the lines of text.  The default is _.SPACING 1 which gives single
spacing.
.skip
.test page 5.indent -5
_.SPLICE number
.index SPLICE command>definition
.break
.index line>insertion from splice file
.index insertion of lines from splice file
.index splice file>reading lines from
.index form letter>insertion into
Indicates that the specified number of source lines are to be processed
from the splice file.  If a splice file is not open, then the user
will be asked to specify the name of the splice file.  If the number
is missing, then the splice file is processed until the next _.END
SPLICE or _.END FILE command is found in the splice file or until the
end of the splice file is reached.
.skip.test page 5.indent -5
_.STANDARD number
.index STANDARD command>definition
.break
.index page width>setting
.index right margin>setting
Resets several formatting options to their default values.  The text
specified by the source lines which follow the _.STANDARD command will
be single spaced, filled and justified.  The left margin is set to
zero, and the right margin and the page width are set to the number
which follows the _.STANDARD command.  If the resulting page width
is 60, then the page height is set to 58.  If the resulting page width
is 70, then the page height is set to 74.  The page height is not
changed if the page width is other than 60 or 70.
.skip
.test page 5.indent -5
_.STYLE HEADERS number1, number2, number3, number4
.index STYLE HEADERS command>definition
.break
.index subsection header>wrap-around of
.index subsection header>capitalization of
.index appendix>capitalization of header line
.index chapter>capitalization of header line
.index wrap-around>of subsection header
.index capitalization>of subsection header
.index capitalization>of appendix title
.index capitalization>of chapter title
Modifies the depth of the subsections specified by the _.HEADER LEVEL
command at which upper case conversion and blank line separation from
the rest of the text take place.  Modifies the minimum number of values
which are to be printed separated by periods at the left of each
subsection heading.
.skip
.test page 3
Number1 forces wrap-around format for depths equal to this value and
above.
.skip
.test page 3
Number2 forces capitalization of the titles of depths equal to this
value and below.  Number2=0 causes capitalization only of each letter
in the chapter or appendix titles.  Number2=-1 does not even capitalize
each letter in the chapter or appendix titles.
.skip
.test page 3
Number3 forces capitalization of the first letter of each word in the
titles of depths equal to this value and below.  Number3=0 caused
capitalization only of the first letter in each word in the chapter
or appendix titles.  Number3=-1 does not even capitalize the chapter
or appendix titles.
.skip
.test page 3
.index subsection header>minimum number of values in
.index number>changing length of subsection number
Number4 is the minimum number of values separated by periods which
are printed separated by periods at the left of each subsection heading.
If fewer values would be shown, then extra zeroes are inserted at the
right to provide the requested number of values.
.SKIP
_.STYLE HEADERS 3,1,6,2 is the default.
.SKIP.TEST PAGE 5.INDENT -5
_.STYLE INDEX number1, number2
.index STYLE INDEX command>definition
.break
Specifies whether each item in the index is to be separated from the
first page number to its right by a row of periods or by a single comma,
and whether the cases of the alphabetic letters in the items inserted
into the index are to be modified to be uniform.  The _.STYLE INDEX
command does not itself cause the index to be generated.  Either a
_.DO INDEX command or a _.PRINT INDEX command must still be issued
to cause the index to be constructed after all of the items have been
inserted into the index.
.skip.test page 3
.index index>comma between phrases and page numbers
.index index>periods between phrases and page numbers
.index comma>between phrases and page numbers in index
.index periods>between phrases and page numbers in index
Number1 specifies the overall appearance of the index.
.skip.test page 3
Number1 = -1 causes each word or phrase in the index to begin at the
left margin.  A row of dots connects the word or phrase with the list
of page numbers which begins midway between the left and right margins
and which then extends to the right margin.
.skip.test page 3
Number1 = 0 causes the each word or phrase in the index to begin at
the left margin.  A single comma separates the word or phrase from
the list of page numbers which then extends to the right margin.
.skip.test page 3
Number1 = 1 or greater (not yet implemented, equivalent to number1
= 0) produces a 2 column index.  The general appearance of each column
is similar to that produced by number1 = 0, except that the list of
page numbers appearing to the right of each item in the index only
extends across the remaining width of the corresponding column, not
to the right margin.  Number1 is the number of spaces separating the
2 columns of the index on each page.
.skip.test page 3
.index capitalization>of index
.index index>capitalization of items in
Number2 specifies whether the first character in each of the words
and phrases inserted into the index by an _.ENTRY or an _.INDEX command
is to be converted to upper case or is to be the same as was specified
in the text which appeared to the right of the _.ENTRY or _.INDEX command
in the source text.  Number2 also specifies whether the cases of all
of the alphabetic letters in each word which is inserted into the index
due to the word having been preceded in the source text by the index flag
.index index flag>capitalization of words marked by
character are to be identical to the cases of the letters in the
appearance of the same word in the output text which is pointed to
by the reference in the index.  Regardless of the value of number2,
the cases of the letters in the appearance of the word in the output
text which is pointed to by the reference in the index are not modified.
.skip.test page 3
Number2 = -1 causes the cases of all of the alphabetic letters in
the items inserted into the index to be the same as in the source text.
.skip.test page 3
Number2 = 0 causes the first character in each of the items inserted
into the index to be converted to upper case unless this character
is immediately preceded in the source text by either an underscore
or a back slash.  The cases of the subsequent letters in the
items inserted into the index remain the same as in the source text.
.skip.test page 3
Number2 = 1 causes the first character in each of the items inserted
into the index to be converted to upper case unless this character
is immediately preceded in the source text by either an underscore
or a back slash.  The cases of the subsequent alphabetic letters in
items inserted into the index by either _.ENTRY or _.INDEX commands
remain the same as in the source text.  Subsequent alphabetic letters
in each word which is inserted into the index by the word having been
preceded in the source text by the index flag character are converted
to lower case unless these letters are individually and immediately
preceded in the source text by either underscores or circumflexes.
.skip.test page 3
If a _.STYLE INDEX command has not been issued, then the items in the
index will be separated from the page numbers by rows of dots, the
first characters of all items inserted into the index will be converted
to upper case, and the subsequent letters in the appearances in the
index of words marked by the index flag character will be converted
to lower case.  This could also be selected by issuing a _.STYLE INDEX
-1,1 command.
.skip.test page 5.indent -5
_.SUBPAGE
.index SUBPAGE command>definition
.break
.index page number>suffix as subpage number
.index subpaging>enabling
The text which is specified by the source lines which follow the
_.SUBPAGE command is to be placed on a new page.  The page number of
this new page will be the same as that which preceded it, but the page
number will bear a suffix which will be incremented each time that
a new page is generated.  The _.SUBPAGE and _.PAGE commands are
equivalent when issued within the range of another _.SUBPAGE command.
Subpage numbering will continue until a subsequent _.END SUBPAGE command
is encountered.
.skip.test page 5.indent -5
_.SUBTITLE rest of text on line
.index SUBTITLE command>definition
.break
.index subtitle>at top of page
The text specified by the _.SUBTITLE command is to appear on both left
and right pages on the line below the title at the top of the page.
.skip.test page 5.indent -5
_.TAB STOPS number1, number2, number3, etc.
.index TAB STOPS command>definition
.break
.index tab character>conversion to spaces
.index conversion>of tab character to spaces
.index space>conversion of tab character to
If a tab character is encountered in the source text which is being
copied while either a _.NO FILL or a _.LITERAL command is active, then
the tab character is converted to enough spaces to extend through the
next column the number of which is the smallest number in the list
established by the _.TAB STOPS command which is equal to or greater
than the location at which the first space resulting from the conversion
of the tab character is copied.  The tab stops are initially at columns
8, 16, 24 and so on, at integral multiples of 8.  At most 32 tab stops
can be specified by the _.TAB STOPS command.
.skip.test page 7.indent-5
_.TELL rest of text on line
.index TELL command>definition
.break
or, if the _.FLAGS TEXT command is active
.indent-5
_.TELL 'phrase'
.break
.index message>displaying to user
.index user interaction>sending message to user
.index page number>in message to user
.index _> (greater than)>use in page number flag in messages
.index greater than>use as page number flag in messages
The _.TELL command specifies a message which is to be displayed on
the controlling terminal, provided that the resulting document is not
itself being displayed on the controlling terminal.  A greater than
character (_>), either alone or followed immediately by the number
zero, can be used to indicate any location in the message at which
the current page number in the resulting document is to be displayed.
The use of the greater than character followed immediately by any number
other than zero is reserved for marking locations in the message at
which future versions of this program will make other dynamic insertions
into the message.  The character used to mark the locations at which
the page numbers are to be inserted can be changed by the _.FLAGS PAGE
command.  The _.TELL command might be used to remind the user of pages
which are to contain insertions.
.skip.test page 3
The apostrophe, or some other character specified by a _.FLAG TEXT
command, can be used to enclose the text of the message and additional
commands can appear to the right on the same line only if a _.FLAG
TEXT command has been issued more recently than a _.NO FLAG TEXT
command.  The text of the message will extend to but not include a
following semicolon on the same line if the apostrophe is active but
the first printing character to the right of the word "TELL" is not
an apostrophe.  The text of the message extends through the rightmost
printing character on the line and no additional commands can appear
to the right on the same line if a _.FLAG TEXT command has not been
issued or if a _.NO FLAG TEXT command has been issued more recently
than a _.FLAG TEXT command.  The characters which are within the message
will be determined by the same rules as are described elsewhere for
the _.TITLE command.
.skip.test page 5.indent -5
_.TEST PAGE number
.index TEST PAGE command>definition
.break
.index PAGE command>issued if insufficient room on page
.index TEST PAGE command>comparison with TEST SPACING command
.index TEST SPACING command>comparison with TEST PAGE command
.index line spacing>checking for sufficient room for single spaced lines
The text specified by the lines which follow the _.TEST PAGE command
will be placed on a new page if the number of lines which have not
yet been used on the current page is less than the number specified
by the _.TEST PAGE command.  The _.TEST PAGE command assumes either
that the lines will be single spaced, or that the number of multiple
spaced lines has been converted to the corresponding number of single
spaced lines.  The _.TEST SPACING command can be issued instead to
test whether there is enough room to print a particular number of lines
at the current line spacing.  If the text is being double spaced and
room is needed to print 5 lines, then either a _.TEST PAGE 9 or a _.TEST
SPACING 5 command could be used.
.SKIP
.test page 5.INDENT -5
_.TEST SPACING number
.index TEST SPACING command>definition
.break
.index PAGE command>issued if insufficient room on page
.index TEST PAGE command>comparison with TEST SPACING command
.index TEST SPACING command>comparison with TEST PAGE command
.index line spacing>checking for sufficient room at current line spacing
The text specified by the lines which follow the _.TEST SPACING command
will be placed on a new page if there does not remain enough room on
the current page to print the number of lines specified by the _.TEST
SPACING command at the current line spacing.  The _.TEST PAGE command
could be issued instead to test if there is enough room left on the
page to print the indicated number of single spaced lines.
.skip.test page 9.indent -5
_.TITLE rest of text on line
.index TITLE command>definition
.break
or, if the _.FLAGS TEXT command is active,
.indent-5
_.TITLE 'phrase'
.break
(Alias is _.TI, however, _.T is also accepted if the next printing
character on the line is not alphabetic)
.skip
.break
.index title>at top of page
The _.TITLE command specifies the text which is to appear as the title
at the top of both left and right pages.  The word "Page" and the page
number will appear at the upper right corner of each page unless a
_.NO NUMBER command has been issued more recently than a _.NUMBER
command.  If a _.TITLE command either has not been issued, or has been
issued without any text to be used as the title, then only the word
"Page" and the page number will appear on the title line at the top
of each page.  The _.TITLE command does not imply a _.BREAK command.
.skip
.test page 3
The apostrophe, or some other character specified by a _.FLAG TEXT
command, can be used to enclose the text of the title and additional
commands can appear to the right on the same line only if a _.FLAG
TEXT command has been issued more recently than a _.NO FLAG TEXT
command.  The text of the title extends through the rightmost printing
character on the line and no additional commands can appear to the
right on the same line if a _.FLAG TEXT command has not been issued
or if a _.NO FLAG TEXT command has been issued more recently than a
_.FLAG TEXT command.  The characters which are within the title will
be determined by one of the following rules.
.index apostrophe>in command which can take rest of line as argument
.list
.le;If the apostrophe is not active, then the text of the title will
start with the first character after the word "TITLE" in the command
if this character is a printing nonalphabetic character, or will start
with the next character after the first space if a space follows the
word "TITLE".  The text of the title will then extend through the
rightmost printing character on the line.  No additional commands can
appear to the right on the same line.
.le;If the apostrophe is active and is the next printing character
following the word "TITLE" in the command, then the text of the title
will start with the character immediately following the apostrophe
and extend up to the next unpaired apostrophe or through the rightmost
printing character on the line if an unpaired apostrophe does not appear
on the line.  If an apostrophe is to be inserted into the title itself,
then it must be preceded by an underscore or by a second apostrophe
which is otherwise ignored.  Additional commands or a semicolon and
whatever could otherwise appear on the next line can follow the unpaired
apostrophe which appears at the right end of the text of the title.
.le;If the apostrophe is active but is not the next printing character
following the word "TITLE" in the command, then the text of the title
will start with the next printing character after the word "TITLE"
and will extend up to the next semicolon on the line or through the
rightmost printing character on the line if a semicolon does not appear
on the line.  The text of the title will then incorporate any
intervening periods, exclamation points and apostrophes.  If a semicolon
is to be inserted into the title itself, then it must be preceded by
an underscore character.  Additional commands or whatever could
otherwise appear on the next line can follow the semicolon which
terminates the text of the title.
.end list.skip
Initial spaces and multiple spaces within the definition of the title
are used directly in constructing the titles.  The leftmost character
of the text of the title will appear in column 1 at the left edge of
the page.  If, applying the above rules, the text of the title starts
with one or more spaces, then the rest of the title will effectively
be indented from the left edge of the page.
.skip
.test page 3
The title will be written on the top line on the page unless the _.SPACE
TOP command has requested extra blank lines at the top.  Two blank
lines will appear between the title and the body of the text or, if
there is a subtitle, between the subtitle and the body of the text
unless this separation has been changed by the _.SPACE TOP command.
.skip
.test page 3
The title specified by the _.TITLE command replaces that which may
have been declared previously by a _.TOP TITLE, a _.LEFT TOP TITLE
or a _.RIGHT TOP TITLE command.  A subsequent _.TOP TITLE command would
replace the title specified by the _.TITLE command on both left and
right pages.  A subsequent _.LEFT TOP TITLE command would leave the
title specified by the _.TITLE command intact on right pages.  A
subsequent _.RIGHT TOP TITLE command would leave the title specified
by the _.TITLE command intact on left pages.
.skip
.test page 3
.index TITLE command>comparison with TOP TITLE command
.index TOP TITLE command>comparison with TITLE command
A _.TOP TITLE command should be used instead of the _.TITLE command
if page numbers are desired anywhere except following the word "Page"
at the upper right corner of the page.  The _.LEFT TOP TITLE and _.RIGHT
TOP TITLE commands should be used instead of the _.TITLE command if
the titles on left and right pages are to be different.  The greater
than character, which is used in the arguments of the _.TOP TITLE,
_.LEFT TOP TITLE and _.RIGHT TOP TITLE commands to indicate the
locations at which the page number is to appear, is treated as a nonflag
character in the text of the title specified by the _.TITLE command
and, in particular, is not replaced by the page number in the title
specified by the _.TITLE command.
.skip
.test page 3
For example, the source text
.skip.literal
.page size 10,15.nojustify
.first title.title First's
This text appears on the first page.
.page.nonumber.flag text.title'Second''s
This text appears on the second page.
.page.title Third's;.number
This text appears on the third page.
.end literal.skip
would be converted into the following 3 pages of formatted
text when processed by this program.
.skip
.NOFILL.TEST PAGE 12
*****************  *****************  *****************
*First's  Page 1*  *Second's       *  *Third's  Page 3*
*               *  *               *  *               *
*               *  *               *  *               *
*This text      *  *This text      *  *This text      *
*appears on the *  *appears on the *  *appears on the *
*first page.    *  *second page.   *  *third page.    *
*               *  *               *  *               *
*               *  *               *  *               *
*               *  *               *  *               *
*               *  *               *  *               *
*****************  *****************  *****************
.FILL
.skip
.test page 5.indent -5
_.TOP SUBTITLE 'phrase1','phrase2','phrase3'
.index TOP SUBTITLE command>definition
.break
.index subtitle>at top of page
Specifies the text to be in the subtitle line just below the title
line at the top of each page.  A > character, either alone or followed
by the number zero, can be used to indicate any location in the subtitle
where the current page number is desired.  The > character should not
be followed by any number other than zero.
.skip
.test page 3
Phrase1 is the word or phrase to be left justified in the subtitle
line at the top of each page.
.skip
.test page 3
Phrase2 is the word or phrase to be centered in the subtitle line at
the top of each page.
.skip
.test page 3
Phrase3 is the word or phrase to be right justified in the subtitle
line at the top of each page.
.skip
.test page 3
These arguments are constructed similarly to those of the _.TOP TITLE
command.  The description of the _.TOP TITLE command should be consulted
for more information.
.skip
.test page 3
The _.LEFT TOP SUBTITLE command and the _.RIGHT TOP SUBTITLE command
can be used to specify different subtitles which are to appear at the
tops of left pages and right pages respectively.  The _.TOP TITLE
command or the combination of the _.LEFT TOP TITLE command and the
_.RIGHT TOP TITLE command can be used to specify a top title which
is to appear at the top of each page above the top subtitle.
.skip
.test page 3
No top  subtitle is initially active.
.skip
.test page 6.indent -5
_.TOP TITLE 'phrase1','phrase2','phrase3'
.index TOP TITLE command>definition
.break
(Alias is .TT)
.skip
.test page 3
.index title>at top of page
The _.TOP TITLE command specifies the text which is to appear as a
title at the top of both left and right pages.  Each argument is a
group of characters which is to be inserted into the title.  A _>
.index _> (greater than)>use as page number flag in titles
.index greater than>use as page number flag in titles
character, either alone or followed by the number zero, can be used
to indicate any location in the title which is to contain the current
page number.  If an argument is present, then it should be enclosed
between apostrophes.  If the apostrophe is to be inserted into the
title itself, then it can be preceded either by an underscore or by
an extra appearance of the apostrophe.  Successive arguments can be
separated by one or more spaces and/or by a single comma, although
commas are never required unless arguments are missing.  The _.TOP
TITLE command does not imply a _.BREAK command.
.skip
.test page 3
The 3 arguments of the _.TOP TITLE command specify the following
portions of the title.
.skip
.test page 3
Phrase1 specifies the characters which are to be left justified in
the titles so that the leftmost character appears in column 1.
.skip
.test page 3
Phrase2 specifies the characters which are to be centered in the titles
between column 1 and the rightmost column which has ever been declared
as a right margin.
.skip
.test page 3
Phrase3 specifies the characters which are to be right justified in
the titles so that the rightmost character appears in the rightmost
column which has ever been declared as a right margin.
.skip
.test page 3
The _.LEFT TOP TITLE command and the _.RIGHT TOP TITLE command can
be used to specify different titles which are to appear at the tops
of left pages and right pages respectively.  The _.TOP SUBTITLE command
or the combination of the _.LEFT TOP SUBTITLE command and the _.RIGHT
TOP SUBTITLE command can be used to specify a top subtitle which is
to appear at the top of each page below the top title.
.skip
_.TOP TITLE,,'Page >' is the default.
.skip
.test page 3
Initial spaces and multiple spaces within the arguments are used
directly in constructing the titles.  If the first argument begins
with 10 spaces then the rest of that argument will effectively be
indented 10 characters from the left edge of the page.  Trailing spaces
in the rightmost argument are included in the titles only if the
rightmost argument is terminated by a closing apostrophe.  If any
argument is missing, then nothing will appear in the corresponding
location in the titles.  If the _.TOP TITLE command is issued without
.index blank title>setting
.index title>blank
any arguments, then the title line will be absent, although any blank
lines requested by the _.SPACE TOP command will still appear at the
top of the page.
.skip
.test page 3
The title specified by the _.TOP TITLE command replaces that which
may have been declared previously by a _.TITLE, a _.LEFT TOP TITLE
or a _.RIGHT TOP TITLE command.  A subsequent _.TITLE command would
replace the title specified by the _.TOP TITLE command on both left
and right pages.  A subsequent _.LEFT TOP TITLE command would leave
the title specified by the _.TOP TITLE command intact on right pages.
A subsequent _.RIGHT TOP TITLE command would leave the title specified
by the _.TOP TITLE command intact on left pages.
.skip
.test page 3
A greater than character followed immediately by the number zero or
by any nonflag character other than a digit can be used to mark the
location in the title at which the current page number is to appear.
If the greater than character is followed immediately by a number,
then this number will not appear in the title.  If the greater than
character is followed immediately by any non-flag character other than
a digit, then this following character will appear in the title.  The
use of the greater than character followed immediately by a number
other than zero is reserved for marking locations at which future
versions of this program will make other dynamic insertions into the
title.  If the greater than character is to be inserted into the title
itself, then it must be preceded by an underscore character.
.skip
.test page 3
For example, the source text
.skip
.literal
.page size 10,25.first title
.top title 'at left','< > _>','at right'
.left top subtitle 'left page''s subtitle
.right top subtitle,,'right page_'s subtitle
.bottom title,'''centered bottom title''
The first page will be a right page.  This is some more
text which will appear on the first page.
The second page will be a left page.
.end literal
.skip
.test page 3
would be converted into the following 2 pages of formatted text when
processed by this program.
.skip
.NOFILL.TEST PAGE 12
*************************** ***************************
*at left   < 1 >  at right* *at left   < 2 >  at right*
*    right page's subtitle* *left page's subtitle     *
*                         * *                         *
*                         * *                         *
*The first page will be  a* *The second page will be a*
*right page.  This is some* *left page.               *
*more  text   which   will* *                         *
*appear on the first page.* *                         *
*                         * *                         *
* 'centered bottom title' * * 'centered bottom title' *
*************************** ***************************
.FILL
.skip
.test page 3
The apostrophe character which is used to delimit the arguments of
the _.TOP TITLE command can be changed by use of the _.FLAG TEXT
command.  However, the apostrophe, or whatever character has been most
recently selected by the _.FLAG TEXT command, cannot be disabled by
either the _.NO FLAG TEXT or the _.NO FLAG ALL commands.
.skip
.test page 4
.indent -5
_.UNDERLINE
.index UNDERLINE command>definition
.BREAK
.index underlining>word or phrase
.index word>underlining
.index phrase>underlining
The word or phrase appearing in the next line of source text is to
be underlined in the output.  The _.UNDERLINE command does not break
the wrapping around of words on the line either before or after the
word or phrase being underlined.
.skip.test page 5
For example, the source text
.skip.nofill
_.FILL;Some words
_.UNDERLINE;in this sentence
are underlined.
.skip.fill.test page 3
would produce the following text
.skip
.test page 3
Some words ^&in this sentence\& are underlined.
.skip
.test page 4
.indent -5
_.UNDERLINE SPACE
.index UNDERLINE SPACE command>definition
.break
.index underlining>spaces
.index spaces>underlining
The spaces which appear between words in the remainder of the resulting
text are to be underlined if these spaces separate words which are
being underlined.  The spaces which appear between words will not be
underlined unless this command is given or unless each such space is
immediately preceded by an ampersand character.  Issuing this command
in the main text of the document does not cause the underlining of
spaces which appear between underlined words in footnotes, and vice
versa.  If an _.UNDERLINE SPACE command has been issued in the main
text of the document, then a subsequent _.NO UNDERLINE SPACE command
can be issued in the main text of the document to prevent the
underlining of spaces which appear between underlined words in the
remainder of the main text of the document.  If an _.UNDERLINE SPACE
command has been issued in a footnote, then a subsequent _.NO UNDERLINE
SPACE command can similarly be issued in the same or in a later footnote
to prevent the underlining of spaces which appear between underlined
words in the remainder of that or subsequent footnotes.
.skip
.test page 4
.indent -5
_.UPPER CASE
.index UPPER CASE command>definition
.break
.index retaining cases
.index capitalization>retaining original
The cases of alphabetic letters in the source lines following the
_.UPPER CASE command are to be retained.  Equivalent to the appearance
of 2 circumflexes in the source text.  Opposite of _.LOWER CASE.
.index _^ (circumflex)>equivalent to UPPER CASE command when doubled
.index double circumflex>equivalent to UPPER CASE command
.index circumflex>equivalent to UPPER CASE command when doubled
_.UPPER CASE is the default.
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Chapter 6
.skip
.center;Cover Embellishment Commands
.right top title'Cover Embellishment Commands',,'>'
.skip 3
.center;General Description of the Cover Embellishment Commands
.center;------- ----------- -- --- ----- ------------- --------
.skip
.entry lettering>see multi-line lettering
.index multi-line lettering>general discussion of
Several commands can be used to construct and modify large, multi-line
lettering such as might appear on the covers of documents.  An outline,
an edge or a dark background can be shown around such large, multi-line
lettering or around any object which has previously been constructed
by the user from ordinary printing characters, and the original printing
characters in the lettering or object are then converted to spaces.
In general, the commands which construct the lettering and which select
these transformations work as would be expected with the other commands
which might be used to construct a cover, namely with the _.LEFT MARGIN
and _.RIGHT MARGIN commands, with the various _.NOFILL commands, and
with the _.SKIP, _.BLANK and _.LITERAL commands.  Although the _.TEST
PAGE command can be used with these commands, the user must include
the extra lines resulting from these transformations in the number
which is specified to the right of the _.TEST PAGE command.
.skip.test page 3
The results produced by applying a few of these commands are
shown below.
.skip.test page 3
The _.LETTER command can be issued to represent any text by multi-line
lettering in any one of three sizes.  The intermediate size is shown
below.  Shadows can also be cast below the lettering to either the
left or to the right.
.skip
.LNF+3,1
.SQUEEZE 5,15,26,36,46,60
.test page 7.LETTER,2,2;SAMPLE
.index multi-line lettering>sample
.skip.test page 3
An _.OUTLINE command can be issued to construct a border around such
large, multi-line lettering or around any object originally formed
of printing characters which are on lines in the source text which
are read in literal mode or in any of the various nofill modes. The
edges of the border shown below are 1 character wide and 1 line high.
.skip 2
.LNF+3,1
.OUTLINE,1,1
.SQUEEZE 5,15,26,36,46,60
.test page 9.LETTER,2,2;SAMPLE
.index multi-line lettering>outline sample
.index outline>sample
.skip.test page 3
Either the _.LEFT EDGE command can be issued to show the lower left
edge or the _.RIGHT EDGE command can be issued to show the lower right
edge of multi-line lettering or of any object originally formed of printing
characters read in literal mode or in any of the various nofill modes.
The right edges shown below are 2 characters wide and 2 lines high.
.LNF+3,1
.RIGHT edge,2
.SQUEEZE 5,15,26,36,46,60
.test page 9.LETTER;SAMPLE
.skip.test page 3
.index multi-line lettering>edge sample
.index edge>sample
The _.BACKGROUND command can be issued to darken the
background around multi-line lettering or around any object
originally formed of printing characters, and to make the lettering
or the object be transparent.
.skip 2
.LNF+3,1
.BACKGROUND,0,60
.SQUEEZE 5,15,26,36,46,60
.test page 9.LETTER;SAMPLE
.index multi-line lettering>background sample
.index darkened background>sample
.skip.test page 3
The aliases, argument lists and concise descriptions of the
lettering and associated commands are listed below.
.NOFILL
.skip.test page 2
_.BG     .BACKGROUND 'phrase', number1 through number10
        Interconvert spaces and printing characters in text
.skip.test page 2
_.EO     .END OBJECT
        Terminate construction of an object being outlined
.skip.test page 2
_.FLLTR  .FLAGS LETTER 'character'
        Change flag marking modifications of large letters
.skip.test page 2
_.LED    .LEFT EDGE 'phrase', number1, number2, number3
        Outline lower left edge of objects copied in text
.skip.test page 2
_.LTR    .LETTER 'phrase', number1, number2 through number5
        Represent text on next line by multi-line letters
.skip.test page 2
_.NFLLTR .NO FLAGS LETTER 'character'
        No flag can mark modifications of large letters
.skip.test page 2
_.OUT    .OUTLINE 'phrase', number1, number2 through number5
        Outline objects in text copied in nofill or literal
.skip.test page 2
_.RED    .RIGHT EDGE 'phrase', number1, number2, number3
        Outline lower right edge of objects copied in text
.skip.test page 2
_.SQ     .SQUEEZE number1, number2, number3 etc.
        Remove selected columns from multi-line letters
.FILL
.skip 1.test page 3
The _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE and _.BACKGROUND commands are
mutually exclusive.  To construct the negative image of a border of
an object, it would be necessary to process the image twice, first
applying the _.OUTLINE command, then inserting a _.BACKGROUND command
and a _.NO FILL command into the resulting output text, and
processing this text again to finally obtain the desired combination
of transformations.  The _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE and
_.BACKGROUND commands cannot be issued inside a footnote. A _.FOOTNOTE
command, if issued while one of these commands is active, will terminate
the construction of the object prematurely.
.index FOOTNOTE command>interaction with cover commands
.skip 2.test page 8
.center
Complete Descriptions of the Cover Embellishment Commands
.center
-------- ------------ -- --- ----- ------------- --------
.lm5
.skip.test page 6.indent -5
_.BACKGROUND 'phrase', number1, number2, through number10
.index BACKGROUND command>definition
.break
.index background>see darkened background
.index darkened background>start of
Causes the area surrounding the printing characters in the following
lines of source text which are copied in literal mode or in any of
the various nofill modes to be darkened by superimposing either a
repeating single character or a repeating phrase upon this area.  The
printing characters originally within the darkened areas are changed
to spaces.  The entire rectangular background can be darkened, or the
area either above or below a line connecting diagonally opposite corners
can be darkened, or barberpole stripes can be darkened.  The printing
characters which are outside the darkened areas are not changed to
spaces.  Only a very bold, coarse pattern will remain legible when
barberpole stripes are superimposed upon it.
.index striped background
.skip.test page 3
If a _.FILL command is active when the _.BACKGROUND command is
encountered, so that the words which are read from the source text
are being accumulated in lines of approximately equal length, then
the darkened background will enclose spaces at the locations originally
occupied by the printing characters on the lines copied from the source
text following a subsequent _.LITERAL command or following any of the
various forms of the _.NO FILL command.  If one of the various forms
of the _.NO FILL command is issued either before or after the _.BACKGROUND
command, then the darkened background can enclose, in addition to the
spaces at the locations originally occupied by the printing characters
on the ordinary lines copied from the source text, one or more lines
of large lettering each resulting from the application of a _.LETTER
command.  If a _.FILL command is active when the _.BACKGROUND command
is issued, and still remains active when a subsequent _.LETTER command
is encountered, then the darkened background will enclose only the
resulting single line of large lettering.
.skip.test page 3
If the lines of source text are being copied in literal mode or in
any of the various nofill modes, then the background will continue
to be darkened until one of the following conditions is encountered.
.skip.list 0.display list,d
.le;An  _.END OBJECT command is issued to terminate the background.
.le;A _.LEFT EDGE command, _.RIGHT EDGE command, _.OUTLINE command or
another _.BACKGROUND command is issued to begin a new object or
background.
.le;A _.FILL command is issued so that the subsequent words in the
source text are accumulated in lines of approximately equal length.
.le;The number of lines of source text indicated by the previous
_.LITERAL command or by any of the various forms of the _.NO FILL
command has been copied and the words in the subsequent source text
are to be accumulated again in lines of approximately equal length
(i.e., the previous _.FILL command again becomes active).
.end list
.skip.test page 3
Since the _.BACKGROUND command accepts several unrelated arguments, these
are summarized below, then each argument is described in detail.
.SKIP.test page 3
.lm+10
.i-10;phrase##=#a phrase to be used to darken the background
.test page 3.i-10;number1#=#number of columns to left of left edge of
darkened background or offset from left margin if signed
.test page 3.i-10;number2#=#location of right edge of darkened
background or offset from right margin if signed
.test page 3.i-10;number3#=#number of top border lines
.test page 3.i-10;number4#=#number of bottom border lines
.test page 3.i-10;number5#=#number of columns by which
the phrase used to darken
the background is offset from one line to the next
.test page 3.i-10;number6#=#selects the horizontal alignment of the
pattern obtained by repeating the phrase
.test page 3.i-2;=#0, the superimposed phrase starts at
 the left end of the first
line at the top of the darkened background
.test page 3.i-2;=#1, the superimposed phrase starts at
 the upper left
printing character used to darken the background
.test page 3.i-10;number7#=#width of darkened stripes.
 Entire background is darkened
if number7 through number10 are not specified
.test page 3.i-10;number8#=#separation between stripes
.test page 3.i-10;number9#=#separation between upper left
 corner and first stripe
.test page 3.i-10;number10#=#number of columns by which
 the stripe is offset
from one line to the next.
.lm-10
.skip.test page 3
If a phrase is enclosed between a pair of apostrophes to the right
of the _.BACKGROUND command, then the characters of this phrase are used
to darken the background.  The characters which are used to darken
the background are determined by repeating the phrase across the width
of the background, either starting the first appearance of the phrase
in column 1 in the top line of the darkened background or else
positioning the first character of the phrase to coincide with the
upper left space which is actually converted to a printing character
in the process of darkening the background.  The value of number6
selects the type of alignment which is used.  The phrase is offset
to the right in the second line by the number of characters specified
by number5, is offset to the right in the third line by this amount
again, and so on through the last line needed to darken the background.
If the phrase which is to be used to darken the background is not
specified to the right of the _.BACKGROUND command, then the background
will be darkened by repeating the letter X.
.skip.test page 3
Number1 specifies the number of columns (character positions)
to the left of the rectangular
area which can be darkened.  If number1 is missing, then the rectangular
area will be to the immediate right of the current left margin.  If
number1 is unsigned, then this is the number of columns to the left
of the rectangular area.  If number1 is signed, then the left edge
of the rectangular area will be shifted to the left of the current
left margin by the indicated number of columns if number1 is negative,
or to the right if number1 is positive.
.skip.test page 3
Number2 specifies the location of the right edge of the rectangular
area which can be darkened relative to the left edge of the page.  If
number2 is missing, then the right edge of the rectangular area will
be in the current right margin.  If number2 is unsigned, then the right
edge of rectangular area will be in the column indicated by number2.
If number2 is signed, then the right edge of the rectangular area will
be in the right margin, shifted to the left by the indicated number
of columns if number2 is negative, or to the right if number2 is
positive.
.skip.test page 3
Number3 specifies the number of lines which are to be darkened above
those which are specified in nofill or literal mode.  If number3 is
zero, then no extra lines will be darkened above those which are specified
in nofill or literal mode.  If number3 is not specified, then the upper
border will consist of a single line.
.skip.test page 3
Number4 specifies the number of lines which are to be darkened below
those which are specified in nofill or literal mode.  If number4 is
zero, then no extra lines will be darkened below those which are specified
in nofill or literal mode.  If number4 is not specified, then the lower
border will consist of a single line.
.skip.test page 3
The dimensions of the rectangular area which are controlled by
number1 through number4 are diagrammed below.
.skip.test page 3
.test page 13.nofill
    PHRASEPHRASEPHRASEPHRASEPHRASE ----
    EPHRASEPHRASEPHRASEPHRASEPHRAS   number3
    SEPHRASEPHRASEPHRASEPHRASEPHRA ----
    AS    ASEPH ASEP    EPH ASE HR
    RA EPH ASE H ASE HRA EP RA EPH   lines specified in
    HR SEP RA EPH AS    ASE   ASEP   literal or any of
    PH ASE HR     RA EP RAS PH ASE   the nofill modes
    EP    EPH ASE HR SEP RA EPH AS
    SEPHRASEPHRASEPHRASEPHRASEPHRA ----
    ASEPHRASEPHRASEPHRASEPHRASEPHR   number4
    RASEPHRASEPHRASEPHRASEPHRASEPH ----
   !                             !
number1                       number2
.skip.fill.test page 3
Number5 specifies the shift, from one line to the next below it, of
the repetitions of the phrase which are used to darken the background.
If number5 is greater than zero, then the phrase on the next lower
line will be shifted this number of characters to the right.  If number5
is zero, then the repetitions of the phrase will be aligned vertically.
If number5 is negative, then the phrase on the next lower line will
be shifted this number of characters to the left.  The maximum value
of number5 is the number of characters in the phrase, which, like a
value of zero, gives vertical alignment.  If number5 is not specified,
then it is assumed to be 1 giving alignment slanting to the lower right.
Number5 is ignored if a phrase is not specified, or if the phrase
consists of a single letter.
.skip.test page 3
Number6 specifies, when a phrase is used to darken the background,
whether the first character of the phrase which is repeated across
the first line of the background is to be in column 1, or is to be
the first character which actually replaces a space in the process
of darkening the background.  Number6 is assumed to have the value
zero if it is not specified.
.skip.test page 3
Number6 = 0 causes the pattern which is used to darken the background
to be shifted so that the first character of the phrase could appear
in column 1 in the top line of the darkened background, regardless
of whether this position is within the rectangular area which can be
darkened and regardless of whether a space is actually converted to
a printing character at this position.
.skip.test page 3
Number6 = 1 causes the pattern which is used to darken the background
to be shifted so that the upper left character which is actually used
to darken the background will be the first character of the superimposed
phrase.
.skip.test page 3
Number7 through number10 specify the orientation  of the stripes which
can be darkened in the rectangular area defined by number1 through number4.
If number7 through number10 are not specified, then the entire
rectangular area is darkened.
.skip.test page 3
Number7 specifies the number of columns across the width of each of
the darkened stripes.  If number7 is not specified, then the stripes
are assumed to be wider than the width of the rectangular area.
.skip.test page 3
Number8 specifies the number of columns separating the darkened stripes.
If number8 is not specified or is zero, then the darkened stripes are
assumed to touch so that the entire rectangular area is darkened.
.skip.test page 3
Number9 specifies the number of columns between the upper left corner
of the rectangular area and the upper left corner of the left stripe
which crosses the top line of the rectangular area.  If number9 is
positive, then the leftmost
stripe which crosses the top line of the rectangular
area will be offset this number of columns to the right of the upper
left corner of the rectangular area.  If number9 is negative, then
the projection of the left edge of the stripe at or just below the
upper left corner of the rectangular area would intersect the top line
of the rectangular area this number of columns to the left of the upper
left corner of the rectangular area.  The maximum value of number9
is the sum of the stripe width and the stripe separation (number7 +
number8), which, like a value of zero, would cause the left edge of
a stripe to intersect the upper left corner of the rectangular area.
.skip.test page 3
Number10 specifies the offset of the stripe from one line to the next
line below it.  If number10 is positive, then the stripe slants to
the lower right.  If number10 is negative, then the stripe slants to
the lower left.  The maximum value of number10 is the sum of the stripe
width and the stripe separation (number7 + number8), which, like a
value of zero, would cause the stripes to be vertical.
.skip.test page 11
As an example, the source text
.skip.test page 3
.literal
.BACKGROUND'PHRASE',0,45,2,2,2,1,25,10,5,2
.LEFT MARGIN 2.LETTER'*',2,3;DARK
.end literal
.skip.test page 3
specifies the following items
.skip.nofill.test page 4
left margin   0    phrase slant   2     stripe width 25
right margin 45    alignment type 1     stripe gap   10
top border    2                         stripe offset 5
bottom border 2                         stripe slant  2
.fill.skip.test page 14
and would produce the following darkened background when processed
by this program.
.skip.test page 11
.nofill
     PHRASEPHRASEPHRASEPHRASEP          EPHRA
       PHRASEPHRASEPHRASEPHRASEP          EPH
  *****  PHRASEP  ASEPHR      ASEP **   **  E
H **   **  PHRA    RASEP  ASEP  ASE *  **
EP *    **   P  AS  HRAS  HRAS  HRA  P**
AS  H   **   **PHRA  PHR      ASEPH
HR  EPH **   ****    SEP  AS  HRASE   A  P
EP  ASE      **      RAS  HRA  PHRA  PHR  EP
AS     SEPH  **    **PHR  EPHR  EPH  SEPH  SE
HRASEPHRASEPH          PHRASEPHRASEPHRASEPHRA
EPHRASEPHRASEPH          PHRASEPHRASEPHRASEPH
.fill.test page 3
.lm5
.lm5
.skip.test page 6.indent -5
_.END OBJECT
.index END OBJECT command>definition
.break
.index outline>end of
.index edge>end of
.index darkened background>end of
Terminates the including of additional lines read from the source text
into the object being outlined by a previous _.OUTLINE, _.LEFT EDGE,
_.RIGHT EDGE or _.BACKGROUND command.  The object can also be terminated
if a _.FILL command is issued, or if the range of the previous _.NOFILL
command is terminated, or if another _.OUTLINE, _.LEFT EDGE, _.RIGHT EDGE
or _.BACKGROUND command is issued to start a new object.
.lm5
.skip.test page 6.indent -5
_.FLAGS LETTER 'character'
.index FLAGS LETTER command>definition
.break
.index greater than>use as multi-line lettering transformation flag
.index _> (greater than)>use as multi-line lettering transformation flag
.index multi-line lettering transformation flag>changing
.index multi-line lettering>indicating transformations of
The specified character can be used as the first character of a pair
of characters in the source text to select some transformation,
such as inversion or reflection, of the large multi-line lettering
produced by the _.LETTER command.  Opposite of _.NO FLAGS LETTER.
See the description of the _.LETTER command for a list of the
available transformations.
.skip.test page 3
_.FLAGS LETTER '__>' is the default.
.lm5
.skip.test page 6.indent -5
_.LEFT EDGE 'phrase', number1, number2, number3
.index LEFT EDGE command>definition
.break
.index edge>start of left
The printing characters in the following lines of source text which
are copied in literal mode or in any of the various nofill modes are
to be treated as forming an object of which only the lower left edge
is to be shown.  This edge is formed by copying the printing characters
of the object into the closest adjoining empty locations below and
to the left of the object, then deleting the original printing
characters.  Although the edge is usually formed from the printing
characters of the object, some other single character or a phrase can
be superimposed upon the edge instead.
.skip.test page 3
If a _.FILL command is active when the _.LEFT EDGE command is
encountered, so that the words which are read from the source text
are being accumulated in lines of approximately equal length, then
the object of which only the edge is shown will begin with the lines
copied from the source text following a subsequent _.LITERAL command
or following any of the various forms of the _.NO FILL command.  If
one of the various forms of the _.NO FILL command is issued either
before or after the _.LEFT EDGE command, then the object can include,
in addition to the ordinary lines copied from the source text, one
or more lines of large lettering each resulting from the application
of a _.LETTER command.  If a _.FILL command is active when the _.LEFT
EDGE command is issued, and still remains active when a subsequent
_.LETTER command is encountered, then the object of which only the
edge is shown will consist of only the resulting single line of large
lettering.
.skip.test page 3
If the lines of source text are being copied in literal mode or in
any of the various nofill modes, then the printing characters in the
source text will continue to be treated as part of the object until
one of the following conditions is encountered.
.skip.list 0.display list,d
.le;An  _.END OBJECT command is issued to terminate the object.
.le;An _.OUTLINE command, _.RIGHT EDGE command, _.BACKGROUND command
or another _.LEFT EDGE command is issued to begin a new object.
.le;A _.FILL command is issued so that the subsequent words in the
source text are accumulated in lines of approximately equal length.
.le;The number of lines of source text indicated by the previous
_.LITERAL command or by any of the various forms of the _.NO FILL
command has been copied and the words in the subsequent source text
are to be accumulated again in lines of approximately equal length
(i.e., the previous _.FILL command again becomes active).
.end list
.skip.test page 3
Since the _.LEFT EDGE command accepts several unrelated arguments, these
are summarized below, then each argument is described in detail.
.SKIP.test page 3.LEFT MARGIN+10.I-10
phrase##=#a phrase to be used to darken the edge
.i-10.test page 3
number1#=#width or height of the edge
.i-10.test page 3;number2#=#number of columns by which the phrase used to darken
the edge is offset from one line to the next
.i-10.test page 3;number3#=#selects the horizontal alignment of the
pattern obtained by repeating the phrase
.i-2.test page 3;=#0, the superimposed phrase starts at the left end of
the first line of the object
.i-2.test page 3;=#1, the superimposed phrase starts at the upper left
printing character used to darken the edge
.skip.lm-10.test page 3
If a phrase is enclosed between a pair of apostrophes to the right
of the _.LEFT EDGE command, then the characters of this phrase are used
to form the edge.  The characters which are superimposed upon the
edge are determined by repeating the phrase across the width of
the edge, either positioning the first character of the phrase in
column 1 in the first line of the object or positioning the first
character of the phrase to coincide with the upper left printing
character used to construct the edge.  The particular alignment
used is selected by the value of number3.  The phrase is offset to
the right in the second line by the number of characters specified
by number2, is offset to the right in the third line by this amount
again, and so on through the last line needed for the edge.  If
the phrase which is to be superimposed upon the edge is not specified
to the right of the _.LEFT EDGE command, then the edge will be formed
from the closest printing characters in the object of which only the
edge is shown.
.skip.test page 3
Number1 specifies the thickness of the edges.  Number1 is the number
of columns to the left and the number of lines below the object into
which the printing characters originally in the object are copied.
Issuing the _.LEFT EDGE command does not shift the object to the right.
If the object is closer than number1 columns to the left edge of the
page, then the left column or columns of the edge will be lost.  If
number1 is not specified, then the edges are assumed to be 1 column
wide and 1 line high.  If number1 is negative, then an edge is shown
to the lower right instead.  The _.LEFT EDGE command is identical to
a _.RIGHT EDGE command issued with number1 having the opposite sign.
The _.RIGHT EDGE command causes a lower right edge of the indicated
thickness to be shown if number1 is unsigned or positive, and causes
the lower left edge to be shown if number1 is negative.
.skip.test page 3
Number2 specifies the shift, from one line to that below it, of the
phrase which is superimposed upon the edge.  If number2 is greater
than zero, then the phrase on the next lower line will be shifted this
number of characters to the right.  If number2 is zero, then the
repetitions of the phrase will be aligned vertically.  If number2 is
negative, then the phrase on the next lower line will be shifted this
number of characters to the left.  The maximum value of number2 is
the number of characters in the phrase, which, like a value of zero,
gives vertical alignment.  If number2 is not specified, then it is
assumed to be 1 giving alignment slanting to the lower right.  Number2
is ignored if a phrase is not specified, or if the phrase consists
of a single letter.
.skip.test page 3
Number3 specifies, when a phrase is being superimposed upon the edge,
whether the first character of the phrase which is repeated across
the first line of the object is to be in column 1 or whether the first
character of the phrase is to be at the location of the first printing
character used to form the edge.  Number3 is assumed to have the value
zero if it is not specified.
.skip.test page 3
Number3 = 0 causes the pattern which is superimposed upon the edge
to be shifted so that the first character of the phrase could appear
in column 1 of the upper line of the object if it were possible for
a character to actually appear in column 1 on this line.  Since the
edge is shown below the object, not beside it, the first line which
can actually contain a printing character of the edge is the second
line of the object so the character which could appear in column 1
in this second line would be shifted number2 characters in the phrase.
.skip.test page 3
Number3 = 1 causes the pattern which is superimposed upon the edge
to be shifted so that the upper left character which is actually used
to construct the edge will be the first character of the superimposed
phrase.
.skip.test page 8
As an example of the construction of a left edge, the following source text
.skip
.literal
.LEFT EDGE'PHRASE',3,1,1
.NOFILL.LEFT MARGIN 5.SPACING 3
.LETTER,2,3;LEFT
.LETTER,2,3;EDGE
.END OBJECT
.end literal.skip.test page 3
would produce the following picture when processed by this program.
The edges in this example are thicker than the separation between
the 2 lines of lettering, so that the second line of lettering
blocks the observer's view of a portion of the lower
edges of the upper line of lettering.
.skip
.test page 18
.nofill
    P          E  RASEP   S  HRASE   ASEP  AS
   SE         AS  HRAS   RA  PHRA   HRASE  R
  RAS        HRA        PHR        EPHRAS
  HRA        PHR  EPH   EPH  SEP      HRA
  PHR        EPH  SE    SEP  AS       PHR
  EPH        SEP        ASE  R        EPH
  SEPHRASEPH ASEPHRASEP RASE          SEPH
  ASEPHRASE  RASEPHRAS  HRA           ASE
  RAS        HRA        PH
    A  PHRAS   R  EPH         EPHR   P  ASEPH
   HR  EPHR   PH  SEPH       ASEP   SE  RASE
  EPH        SEP  ASEP    E  RA    RAS
  SEP  ASE   ASE  RASE   AS   RAS  HRA  PHR
  ASE  RA    RAS   RA   HRAS  HRA  PHR  EP
  RAS        HRA     A  PHRASE     EPH
  HRASEPHRAS PHRASEPH   EPHRASEPHR SEPHRASEPH
  PHRASEPHR  EPHRASE     EPHRASEP  ASEPHRASE
  EPHRASEP   SEPHR         PHRAS   RASEPHRA
.index edge>sample
.fill
.lm5
.skip.test page 6.indent -5
_.LETTER 'phrase', number1, number2, through number5
.index LETTER command>definition
.break
.index multi-line lettering>complete description
Causes the characters on the next line of the source text which does
not specify a command to be represented in the output by large,
multi-line lettering.  This large, multi-line lettering can be produced
in one of 3 sizes:  5, 7 or 9 lines high.  The multi-line characters
can also be treated as solid objects lying on a vertical plane which
can cast shadows onto a horizontal plane.  Ordinarily, the character
which is repeated in the output text to represent the shape of a
character is the same as the character which is being represented.
However, some other single character or a phrase can be superimposed
upon the multi-line lettering.  If the lettering is too wide to fit
onto the page, selected columns can be removed from the lettering by
issuing a prior _.SQUEEZE command.
.skip.test page 3
Only capital or upper case alphabetic letters can be represented.  If
the line of the source text which is being represented contains lower
case alphabetic letters, then the upper case forms of the same letters
are represented instead.  The underscore character, which indicates
that the next character is to be taken literally, is the only flag
character which is active in the text being represented.  The other
flag characters are neither represented as multi-line characters nor
acted upon.  No provision is made for underscoring multi-line lettering
nor for shifting it up into the superscript position nor for
shifting it down into the subscript position.  Several special
transformations, such as reflection and inversion, of the multi-line
lettering are indicated in the source text which is being represented
by pairing the greater than character with several other following
characters.  The greater than character can itself be represented in
the output as a large, multi-line character if it is preceded in the
source text either by an underscore or by an extra appearance of itself.
The character which is used for marking such transformations can be
changed by the _.FLAGS LETTER command or can be disabled by the _.NO
FLAGS LETTER command.  The greater than character is initially active.
If a _.FLAGS INDEX command has been issued, then the greater than
character can also be used elsewhere in the source text to indicate
words which are to be inserted into the index.
.skip.test page 3
If one of the various forms of the _.NO FILL command is currently
causing ordinary single line lettering to be left justified, centered
.index centering>of multi-line lettering
or right justified, then the multi-line lettering will be positioned
similarly.  If the _.NO FILL command specified the number of source
lines which are to be copied, then the source line which is being
represented as multi-line lettering counts as 1 line.  If a _.LETTER
command is issued within the range of a _.FILL command, then the
multi-line lettering is left justified at the left margin.  The
multi-line lettering will also be left justified if within the range
of a _.NO FILL or _.LEFT NO FILL COMMAND, centered if within the range
of a _.CENTER or _.CENTER NO FILL command, or right justified if within
the range of a _.RIGHT or _.RIGHT NO FILL command.
.skip.test page 3
Since the _.LETTER command accepts several unrelated arguments, these
are summarized below, then each argument is described in detail.
.skip.test page 3
.lm+10
.i-10;phrase##=#a phrase to be superimposed upon the lettering
.test page 3.i-10;number1#=#selects the size of the lettering in the line
.test page 3.i-2;=#1, lettering is 5 lines high by 5 columns wide
.test page 3.i-2;=#2, lettering is 7 lines high by 8 columns wide
.test page 3.i-2;=#3, lettering is 9 lines high by 10 columns wide
.test page 3.i-10;number2#=#number of columns separating multi-line lettering
.test page 3.i-10;number3#=#selects type of shadows cast by lettering
.test page 3.i-2;=#0, no shadows
.test page 3.i-2;=#1, normal shadows cast toward the lower left
.test page 3.i-2;=#2, normal shadows cast toward the lower right
.test page 3.i-2;=#3, negative shadows cast toward the lower left
.test page 3.i-2;=#4, negative shadows cast toward the lower right
.test page 3.i-10;number4#=#number of columns by which the superimposed phrase
is offset from one line to the next
.test page 3.i-10;number5#=#selects the horizontal
 alignment of the superimposed
pattern obtained by repeating the phrase
.test page 3.i-2;=#0, superimposed phrase starts at the left end of
the first line of the multi-line lettering
.test page 3.i-2;=#1, superimposed phrase starts at the upper left
printing character used to construct the lettering
.lm-10
.skip.test page 3
If a phrase is enclosed between a pair of apostrophes to the right
of the _.LETTER command, then the characters of this phrase are used
to form the multi-line lettering.
The characters which are superimposed upon the multi-line lettering
are determined by repeating the phrase across the width of the
multi-line lettering, either positioning the first character of the
phrase in column 1 in the first line which forms the multi-line
lettering or positioning the first character of the phrase to coincide
with the upper left printing character used to construct the multi-line
lettering.  The particular alignment used is selected by the value
of number5.  The phrase is offset to the right in the second line by
the number of columns specified by number2, is offset to the right
in the third line by this amount again, and so on through the last
line needed to form the multi-line lettering.  If the phrase is not
specified to the right of the _.LETTER command, then the multi-line
lettering will instead be formed from the characters being represented.
Unlike the numbers which can follow the _.LETTER command, the phrase
specified by a _.LETTER command is not retained for subsequent
_.LETTER commands which do not respecify it.
.skip.test page 3
Number1 selects the size of the multi-line lettering.  If number1 is
not specified, then the new multi-line lettering will be the same size
as was selected by the previous _.LETTER command.  The smallest
lettering, such as is produced by setting number1 = 1, is produced
if number1 has not been specified by any previous _.LETTER command.
.skip.test page 3
Number1 = 1 gives the smallest lettering.  Most characters are 5 lines
high by 5 columns wide.  However, the letter I, the number one, and
many of the punctuation marks are narrower.
.index multi-line lettering>sizes
.skip.test page 3
Number1 = 2 gives intermediate sized lettering.  Most characters are
7 lines high by 8 columns wide with vertical strokes 2 columns wide.
However, the letters M and W are wider and the letter I and the number
one and many of the punctuation marks are narrower.
.skip.test page 3
Number1 = 3 gives the largest lettering.  Most characters are 9 lines
high by 10 columns wide with vertical strokes 2 columns wide.  However,
the letters M and W are wider and the letter I and the number one and
many of the punctuation marks are narrower.
.skip.test page 3
As examples of the 3 sizes of lettering which can be selected by
number1, the source text
.skip.test page 4.literal
.SPACING 2
.LETTER,1,1;ABCDEFGH
.LETTER,2,2;ABCDE
.LETTER,3,3;ABCD
.end literal.skip.test page 3
would produce the following lines of multi-line lettering when
processed by this program.
.skip.test page 5.LETTER,1,1;ABCDEFGH
.skip.test page 7.LETTER,2,2;ABCDE
.skip.test page 9.LETTER,3,3;ABCD
.skip.test page 3
Number2 specifies the apparent separation between adjacent multi-line
characters.  The adjoining profiles of adjacent pairs of multi-line
characters are compared, and the second character of the pair is shifted
so that the number of spaces in the output text between the multi-line
characters both diagonally and horizontally is at least equal to
number2.  The most normal appearing separation is obtained if number2
is set equal to number1.  Number2 = 0 would cause most characters to
touch.  However, the characters never overlap, so a short punctuation
mark, such as a period or a comma, would never be tucked under the
overhanging portions of a letter, such as an F or a T, which extends
farthest out at the top.  If number2 is not specified, then the
separation specified by the previous _.LETTER command is used.  The
separation will be 1 column if the separation has not been specified
by any previous _.LETTER command.
.index multi-line lettering>separation between characters
.skip.test page 3
As examples of the letter spacings selected by various values of
number2, the source text
.skip.test page 4.literal
.SPACING 2
.LETTER,2,0;FAULT
.LETTER,2,1;FAULT
.LETTER,2,2;FAULT
.end literal
.skip.test page 3
would produce the following lines of multi-line lettering when processed
by this program.
.skip.test page 7.LETTER,2,0;FAULT
.skip.test page 7.LETTER,2,1;FAULT
.skip.test page 7.LETTER,2,2;FAULT
.skip.test page 3
Number3 specifies the type of shadows which are shown below the
lettering.  If number3 is not specified, then the new multi-line
lettering will bear the same type of shadows as was selected by the
previous _.LETTER command.  No shadows are produced if number3 has
not been specified by any previous _.LETTER command.  It is the normal
upright lettering which is left justified, centered or right justified.
The inclusion of the shadows does not shift the position of the normal
upright lettering.  If shadows are being cast toward the lower left
but the lettering is too close to the left edge of the page, then the
portion of the shadow cast by the upper left corner of the ordinary
lettering will be cut off.  If a _.BLANK or a _.SKIP command is issued
after the magnified text, then the skipped lines are treated as
beginning after the completion of the shadow, since the shadow is not cast
into the blank space created by the skipped lines.
.index multi-line lettering>shadows
.skip.test page 3
Number3 = 0, does not produce shadows.
.skip.test page 3
Number3 = 1, gives normal shadows cast toward the lower left.  The
shadows are dark where the characters are dark.
.skip.test page 3
Number3 = 2, gives normal shadows cast toward the lower right.  The
shadows are dark where the characters are dark.
.skip.test page 3
Number3 = 3, gives negative shadows cast toward the lower left.  The
shadows are dark around the profiles of the characters, but light where
the characters are dark.
.skip.test page 3
Number3 = 4, gives negative shadows cast toward the lower right.  The
shadows are dark around the profiles of the characters, but light where
the characters are dark.
.skip.test page 3
As examples of the shadows selected by various values of number3,
the source text
.skip.test page 3.literal
.SPACING 2
.LETTER,2,3,2;TRUE
.LETTER,2,3,4;FALSE
.end literal
.skip.test page 3
would produce the following lines of multi-line lettering when
processed by this program.
.skip.test page 14.LETTER,2,3,2;TRUE
.skip.test page 14.LETTER,2,3,4;FALSE
.skip.test page 3
Number4 specifies the shift, from one line to that below it, of the
phrase which is superimposed upon the multi-line lettering.  If number4
is greater than zero, then the phrase on the next lower line will be
shifted this number of characters to the right.  If number4 is zero,
then the repetitions of the phrase will be aligned vertically.  If
number4 is negative, then the phrase on the next lower line will be
shifted this number of characters to the left.  The maximum value of
number4 is the number of characters in the phrase, which, like a value
of zero, gives vertical alignment.  If number4 is not specified, then
it is assumed to have the same value as was specified by the previous
_.LETTER command.  If number4 has not been specified by any previous
_.LETTER command, then it is assumed to have the value 1 giving
alignment slanting to the lower right.  Number4 is ignored if a phrase
is not specified, or if the phrase consists of a single letter.
.skip.test page 3
Number5 specifies, when a phrase is being superimposed upon the
lettering, whether the first character of the phrase which is repeated
across the the first line of the multi-line lettering is to be in column
1 or is to be at the location of the first printing character on the
line.  If number5 is not specified, then the value of number5 specified
by the previous _.LETTER command is used.  Number5 is assumed to have
the value 0 if it has not been specified by any _.LETTER command.
.skip.test page 3
Number5 = 0 causes the pattern which is superimposed upon the multi-line
lettering to be shifted so that the first character of the phrase could
appear in column 1 of the upper line of the multi-line lettering
regardless of whether a character actually appears in column 1.  The
character which is superimposed upon the upper left character actually
used to form the multi-line lettering will be the character which just
happens to be in the phrase at that point as the phrase is repeated
across the width of the line.
.skip.test page 3
Number5 = 1 causes the pattern which is superimposed upon the multi-line
lettering to be shifted so that the upper left character which is
actually used to construct the multi-line lettering will be the
first character of the superimposed phrase.
.skip.test page 3
A greater than sign appearing in the text to be represented is taken
to be a control character and is not itself represented in the output.
If the character following the initial greater than sign is also a
greater than sign, then a single greater than sign is represented.
A second character other than a greater than sign selects some option
and neither character is represented.  A >= character pair can be issued
to remove any other transformations of the lettering which might have
been selected by previous > character pairs.  A >= is assumed to be
issued after each line is represented so the transformations are not
applied to subsequent lines.  Several other > character pairs are
recognized and are listed below.  If a leading greater than sign is
followed by any character other than those which are listed here, then
both the greater than sign and the following character are ignored
and are not represented in the multi-line lettering.
.index multi-line lettering>indicating transformations of
.skip.test page 3
>H and >V are used to reflect and invert the character
representations. The lettering can be read with the resulting page turned
upside down if the text being represented is spelled backwards and
if both >H and >V are applied.
.skip.test page 3.lm+5.i-4
>H##(Horizontal reflection) reflects the subsequent
character representations horizontally so that the
normal left edge is at the right. If >H is already in
effect, then a second >H is ignored. A subsequent >=
would return the character representation to normal.
.index multi-line lettering>reflection
.skip.i-4.test page 3
>V##(Vertical inversion) inverts the subsequent character
representations vertically so that the normal lower
edge is at the top. If >V is already in effect, then
a second >V is ignored. A subsequent >= would return
the character representation to normal.
.index multi-line lettering>inversion
.skip.lm-5.test page 3
>A and >F specify whether the distance between adjacent
character representations is to be kept constant or whether
the distance between character representations is to be
adjusted to approximately equalize white space.
.skip.lm+5.i-4.test page 3
>A##(Adjust) specifies that the distances to the next character
representation and between subsequent character representations are
to be adjusted to include approximately equal white space between the
characters.  A subsequent >F will cause the distances between adjacent
character representations to be kept constant.  The inclusion of the
>A in the text being represented is not necessary unless a >F has been
encountered.
.index multi-line lettering>adjustment of spaces between
.skip.i-4.test page 3
>F##(Fixed) specifies that the distances to the next character
representation and between subsequent character representations are
to be kept constant.  A subsequent >A, or a subsequent >= will cause
the distances between adjacent character representations to be adjusted
to approximately equalize white space.
.skip.lm-5.test page 3
>N and >W modify the number of empty columns used to represent space
characters in the multi-line lettering.  If a >= has been issued, or
if neither a >N or a >W has been issued, then space characters are
represented in the multi-line lettering by a number of empty columns
equal to the most common width of the printing characters in the font.
.skip.test page 3
.lm+5.i-4
>N##(Narrow), the number of empty columns by which space characters
are to be represented in the multi-line lettering is to be half of
the most common width of the printing characters in the font, whether or
not a preceding >W has been encountered.  A subsequent >= would cause
subsequent spaces to again be their normal width.  A subsequent >W would
cause subsequent spaces to be one and one half times their normal
width whether or not a preceding >N has been encountered.
.index multi-line lettering>width of spaces between
.skip.test page 3
.i-4
>W##(Wide), the number of empty columns by which space characters are
to be represented in the multi-line lettering is to be one and one
half times the most common width of the printing characters in
the font, whether or not a preceding >N has been encountered.  A
subsequent >= would cause subsequent spaces to again be their normal width.
A subsequent >N would cause subsequent spaces to be half of their
normal width whether or not a preceding >W has been encountered.
.lm-5
.skip.test page 6.indent -5
_.NO FLAGS LETTER
.index NO FLAGS LETTER command>definition
.break
.index multi-line lettering transformation flag>disabling
No special character can be used as the first character of a pair
of characters in the source text to select transformations,
such as inversion or reflection, of the large multi-line lettering
produced by the _.LETTER command.  Opposite of _.FLAGS LETTER.
.skip.test page 3
_.FLAGS LETTER '__>' is the default.
.lm5
.skip.test page 6.indent -5
_.OUTLINE 'phrase', number1, number2, through number5
.index OUTLINE command>definition
.break
.index outline>start of
The printing characters in the following lines of source text which
are copied in literal mode or in any of the various nofill modes are
to be treated as forming an object of which only an outline is to be
shown.  This outline is formed by copying the printing characters of
the object into the closest adjoining empty locations in all directions,
then deleting
the original printing characters.  If the object which is being outlined
encloses an empty space, then an outline is also drawn just inside
the perimeter of the enclosed space.  Although the outline is usually
formed from the printing characters of the object, some other single
character or a phrase can be superimposed upon the outline instead.
.skip.test page 3
If a _.FILL command is active when the _.OUTLINE command is encountered,
so that the words which are read from the source text are being
accumulated in lines of approximately equal length, then the object
which is outlined will begin with the lines copied from the source
text following a subsequent _.LITERAL command or following any of the
various forms of the _.NO FILL command.  If one of the various forms
of the _.NO FILL command is issued either before or after the _.OUTLINE
command, then the object can include, in addition to the ordinary lines
copied from the source text, one or more lines of large lettering each
resulting from the application of a _.LETTER command.  If a _.FILL
command is active when the _.OUTLINE command is issued, and still remains
active when a subsequent _.LETTER command is encountered, then the
object which is outlined will consist of only the resulting single
line of large lettering.
.skip.test page 3
If the lines of source text are being copied in literal mode or in
any of the various nofill modes, then the printing characters in the
source text will continue to be treated as part of the object until
one of the following conditions is encountered.
.skip.list 0.display list,d
.le;An  _.END OBJECT command is issued to terminate the object.
.le;A _.LEFT EDGE command, _.RIGHT EDGE command, _.BACKGROUND command
or another _.OUTLINE command is issued to begin a new object.
.le;A _.FILL command is issued so that the subsequent words in the
source text are accumulated in lines of approximately equal length.
.le;The number of lines of source text indicated by the previous
_.LITERAL command or by any of the various forms of the _.NO FILL
command has been copied and the words in the subsequent source text
are to be accumulated again in lines of approximately equal length
(i.e., the previous _.FILL command again becomes active).
.end list
.skip.test page 3
Since the _.OUTLINE command accepts several unrelated arguments, these
are summarized below, then each argument is described in detail.
.skip.lm+10
.i-10.test page 3;phrase##=#a phrase to be superimposed upon the outline
.i-10.test page 3;number1#=#width of the edges forming the outline
.i-10.test page 3;number2#=#height of the edges forming the outline
.i-10.test page 3;number3#=#selects whether corners are square and whether
objects which are concave from the bottom up are filled in
.i-2.test page 3;=#0, rounded corners, open concave objects
.i-2.test page 3;=#1, rounded corners, filled concave objects
.i-2.test page 3;=#2, square corners, open concave objects
.i-2.test page 3;=#3, square corners, filled concave objects
.i-10.test page 3;number4#=#number of columns by which the superimposed
phrase is offset from one line to the next
.i-10.test page 3;number5#=#selects the horizontal alignment of the superimposed
pattern obtained by repeating the phrase
.i-2.test page 3;=#0, superimposed phrase starts at the left end of
the first line of the outline
.i-2;=#1, superimposed phrase starts at the upper left
printing character used to construct the outline
.lm-10
.skip.test page 3
If a phrase is enclosed between a pair of apostrophes to the right
of the _.OUTLINE command, then the characters of this phrase are used
to form the outline.  The characters which are superimposed upon the
outline are determined by repeating the phrase across the width of
the outline, either positioning the first character of the phrase in
column 1 in the first line of the outline or positioning the first
character of the phrase to coincide with the upper left printing
character used to construct the outline.  The particular alignment
used is selected by the value of number5.  The phrase is offset to
the right in the second line by the number of characters specified
by number4, is offset to the right in the third line by this amount
again, and so on through the last line needed for the outline.  If
the phrase which is to be superimposed upon the outline is not specified
to the right of the _.OUTLINE command, then the outline will be formed
from the closest printing characters in the object being outlined.
.skip.test page 3
Number1 specifies the width of the edges which form the outline.
Number1 is the number of columns to each side into which the printing
characters originally in the object are copied.  The _.OUTLINE command
does not shift the object to the right.  If the object is closer than
number1 columns to the left edge of the page, then the left column
or columns of the outline will be lost.  If number1 is not specified,
then the edges which form the outline are assumed to be 1 column
wide.
.skip.test page 3
Number2 specifies the height of the edges which form the outline.
Number2 is the number of lines above and below into which the printing
characters originally in the object are copied.  If number2 is not
specified, then the height of the edges will be the same as their width.
The maximum height of the edges is 2 lines.  The edges will be 2 lines
high if a height greater than 2 is requested.
.skip.test page 3
Number3 specifies whether the outer corners of outlines having either
a height which is greater than 1 or a width which is greater than 1
are to be rounded or square,
and whether the interiors of objects which are concave from the bottom
up are to be filled in.  Outlines having both a height of 1 and a width
of 1 always have
square corners.  If multi-line lettering is being filled in, then the
horizontal separation between the large characters should be equal
to no more than twice number1 columns, and the vertical separation
between the large characters should be equal to no more than twice
number2 lines, but should never be more than 4.
Provided that the separations
are held within these limits, the result will be white lettering on
a black background extending just far enough outside the lettering
to outline the left, upper and right edges.  The bottom of the
protruding background will, however, be flush across the full width
of the lowest portions of the lettering.
.skip.test page 3
Number3 = 0, gives rounded corners but does not fill in concave
objects.  Any object with a top and with sides which are further apart
than twice the value of number1 will have a empty center.
.skip.test page 3
Number3 = 1, gives rounded corners and fills in objects which are
concave from the bottom.  Any object with a top and with sides will
have the center completely darkened down to the bottom edge of the
shorter side.
.skip.test page 3
Number3 = 2, gives square corners but does not fill in concave objects.
Identical to number3 = 0 if the outlines have a thickness of 1.
.skip.test page 3
Number3 = 3, gives square corners and fills in objects which are concave
from the bottom.  Identical to number3 = 1 if the outlines have a
thickness of 1.
.skip.test page 3
Either of the following 2 examples of source text
.skip.test page 5.literal
.CENTER NO FILL 25.SPACING 2
.OUTLINE,1
.LETTER,2,2;USER
.LETTER;GUIDE
.END OBJECT
.end literal
.skip.test page 3
or
.skip.test page 11.nofill
_.NO FILL
_.OUTLINE,1
.nofill +6,1.LETTER,2,2,0;USER
_.CENTER NO FILL 25.SKIP.LETTER,2,2;GUIDE
_.END OBJECT
.fill.skip.test page 20
would be converted into the following picture when processed
by this program.
.skip 2.nofill
.NO FILL +6,1
.OUTLINE,1
.LETTER,2,2;USER
.skip
.no fill +2,1
.LETTER;GUIDE
.fill
.skip 1.test page 20
.index outline>sample
Changing the _.OUTLINE,1 commands in either of
 the above examples to _.OUTLINE,1,,1
would produce the following picture instead.
.skip 2.nofill
.NO FILL +6,1
.OUTLINE,1,,1
.LETTER,2,2;USER
.skip
.no fill +2,1
.LETTER;GUIDE
.fill
.skip.test page 3
Number4 specifies the shift, from one line to that below it, of the
phrase which is superimposed upon the outline.  If number4 is greater
than zero, then the phrase on the next lower line will be shifted this
number of characters to the right.  If number4 is zero, then the
repetitions of the phrase will be aligned vertically.  If number4 is
negative, then the phrase on the next lower line will be shifted this
number of characters to the left.  The maximum value of number4 is
the number of characters in the phrase, which, like a value of zero,
gives vertical alignment.  If number4 is not specified, then it is
assumed to be 1 giving alignment slanting to the lower right.  Number4
is ignored if a phrase is not specified, or if the phrase consists
of a single letter.
.skip.test page 3
Number5 specifies, when a phrase is being superimposed upon the outline,
whether the first character of the phrase which is repeated across
the first line of the outline is to be in column 1 or is to be
at the location of the first printing character on the line.  Number5
is assumed to have the value zero if it is not specified.
.skip.test page 3
Number5 = 0 causes the pattern which is superimposed upon the outline
to be shifted so that the first character of the phrase could
appear in column 1 of the upper line of the outline
regardless of whether a character actually appears in column 1.  The
character which is superimposed upon the upper left character actually
used to form the outline will be the character which just
happens to be in the phrase at that point as the phrase is repeated
across the width of the line.
.skip.test page 3
Number5 = 1 causes the pattern which is superimposed upon the
outline to be shifted so that the upper left character which is
actually used to construct the outline will be the
first character of the superimposed phrase.
.lm5
.skip.test page 6.indent -5
_.RIGHT EDGE 'phrase', number1, number2, number3
.index RIGHT EDGE command>definition
.break
.index edge>start of right
The printing characters in the following lines of source text which
are copied in literal mode or in any of the various nofill modes are
to be treated as forming an object of which only the lower right edge
is to be shown.  This edge is formed by copying the printing characters
of the object into the closest adjoining empty locations below and
to the right of the object, then deleting the original printing
characters.  Although the edge is usually formed from the printing
characters of the object, some other single character or a phrase can
be superimposed upon the edge instead.
.skip.test page 3
The arguments accepted by the _.RIGHT EDGE command are summarized below.
The _.RIGHT EDGE command is identical to a _.LEFT EDGE command issued
with number1 having the opposite sign.  The _.LEFT EDGE command causes
a lower left edge of the indicated thickness to be shown if number1
is unsigned or positive, and causes the lower right edge to be shown
if number1 is negative.  The description of the _.LEFT EDGE command
should be consulted for a detailed description the arguments of these
commands.
.SKIP.LEFT MARGIN+10.I-10.test page 3
phrase##=#a phrase to be used to darken the edge
.i-10.test page 3
number1#=#width or height of the edge
.i-10.test page 3;number2#=#number of columns by which the phrase used to darken
the edge is offset from one line to the next
.i-10.test page 3;number3#=#selects the horizontal alignment of the
pattern obtained by repeating the phrase
.i-2.test page 3;=#0, the superimposed phrase starts at the left end of
the first line of the object
.i-2.test page 3;=#1, the superimposed phrase starts at the upper left
printing character used to darken the edge
.lm-10
.lm5
.skip.test page 6.indent -5
_.SQUEEZE number1, number2, number3 etc.
.index SQUEEZE command>definition
.break
.index reducing width of multi-line lettering
.index compressing width of multi-line lettering
.index multi-line lettering>reducing width of
Removes selected columns from the large, multi-line lettering
constructed by the next _.LETTER command so that the lettering can
fit into the desired page width.  The columns which are to be removed
are indicated by specifying the column numbers which would apply if
the lettering were to be left justified with a left margin of zero.
When the lettering is constructed, the indicated columns are removed,
and only then is the remaining portion of the lettering justified or
centered on the page.  The list is cleared by the _.LETTER
command to which it is applied.
.skip.test page 3
If several adjacent columns are to be removed, then these can be
specified individually, or the left column which is to be removed can
be specified, followed by the negative of the total number of adjacent
columns including the left column.  Thus any of the following commands
could be used to remove columns 25, 26, 27, 45 and 46.
.skip.test page 5.literal
.SQUEEZE 25,26,27,45,46
.SQUEEZE 25,-3,45,46
.SQUEEZE 25,26,27,45,-2
.SQUEEZE 25,-3,45,-2
.SQUEEZE 25,-1,-1,-1,45,-1,-1
.end literal
.skip.test page 3
The list of column numbers can include up to 50 isolated columns, or
up to 25 groups of 2 or more adjacent columns.  No more than 32 numbers
can be specified by a single _.SQUEEZE command, however, so subsequent
_.SQUEEZE commands can be issued if necessary to append additional
column numbers to the list.
.skip.test page 3
For example, to make the word WIDER fit into a narrow page, one could
first produce the word without compacting it by issuing a command such
as the following
.skip.test page 3
.literal
.LETTER,2,2;WIDER
.end literal
.SKIP.test page 3
which would produce the following multi-line lettering.
.skip
.nofill.test page 7
WW      WW  IIIIII  DDDDD     EEEEEEEE  RRRRRR
WW      WW    II    DD   DD   EE        RR    RR
WW  WW  WW    II    DD    DD  EE        RR    RR
WW WWWW WW    II    DD    DD  EEEEEE    RRRRRR
WWWW  WWWW    II    DD    DD  EE        RR  RR
WWW    WWW    II    DD   DD   EE        RR   RR
WW      WW  IIIIII  DDDDD     EEEEEEEE  RR    RR
.skip.test page 3.fill
Columns which are not essential to the legibility of the
lettering would then be decided upon.  Several such columns are ruled
with vertical lines in the picture below.  It is not necessary that
the columns which are removed contain any printing characters.  It
is usually best to only remove columns which contain the same characters
as adjacent columns which are retained.
.skip.nofill.test page 9
         11111111112222222222333333333344444444445
12345678901234567890123456789012345678901234567890
WW   !  WW  !IIII!  DDD!D     EEEEE!!E  RRR!RR
WW   !  WW  ! II !  DD ! DD   EE   !!   RR !  RR
WW  W!  WW  ! II !  DD !  DD  EE   !!   RR !  RR
WW WW!W WW  ! II !  DD !  DD  EEEEE!!   RRR!RR
WWWW !WWWW  ! II !  DD !  DD  EE   !!   RR !RR
WWW  ! WWW  ! II !  DD ! DD   EE   !!   RR ! RR
WW   !  WW  !IIII!  DDD!D     EEEEE!!E  RR !  RR
.fill.skip.test page 3
The columns to be removed would then
be specified by a _.SQUEEZE command issued prior to the
_.LETTER command, such as in the following example,
.skip.test page 2.literal
.SQUEEZE 6,13,18,24,36-2,44
.LETTER,2,2;WIDER
.end literal
.skip.test page 3
which would produce the following compacted lettering when
processed by this program.
.skip
.test page 7.nofill
WW     WW  IIII  DDDD     EEEEEE  RRRRR
WW     WW   II   DD  DD   EE      RR   RR
WW  W  WW   II   DD   DD  EE      RR   RR
WW WWW WW   II   DD   DD  EEEEE   RRRRR
WWWW WWWW   II   DD   DD  EE      RR RR
WWW   WWW   II   DD  DD   EE      RR  RR
WW     WW  IIII  DDDD     EEEEEE  RR   RR
.fill
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Appendix A
.skip
.center;How to Run FROFF on Various Computer Systems
.rtt'How to Run FROFF on Various Computer Systems',,'>'
.skip 3
.CENTER;How to Run FROFF on the DECsystem10 and DECsystem20
.CENTER;--- -- --- ----- -- --- ----------- --- -----------
.SKIP
.test page 3
.index DECsystem20 computer>instructions for use of FROFF on
When started, FROFF will ask you for the name of the source file which
contains the text which is to be processed.  The name of this source
file can consist of 1 to 6 letters or digits, optionally followed by
a period and then by 1 to 3 letters or digits.  The 3 letters or digits
which can appear to the right of the period will be assumed to be _.RNO
unless you specify otherwise.  FROFF will read the text and the commands
which are in the file which you specify, and will write a new file
containing the processed text.  The name of the new file will have
the same 1 to 6 letters or digits to the left of the period, but the
3 letters to the right of the period will be _.DOC instead.
.skip
.test page 3
If you want to specify the output device and/or the name of the output
file then these can be typed to the left of an equal sign preceding
the name of the source file.  You can also specify the device for the
source file.  Thus, if you want to process the file named ONE.RNO which
is on your disk area, and if you want the resulting text to be written
to a file named ONE.DOC also in your disk area, then the command which
you type could be either
.skip.test page 3.indent 5
ONE
.break
or
.break.indent 5
DSK:ONE.DOC=DSK:ONE.RNO
.skip
.test page 3
If FROFF is being run on a DECsystem10, then the project and programmer
number of the owner of the source file can be written enclosed in square
brackets either before the name of the device from which the source
file is read, between the name of the device and the name of the source
file or after the name of the source file.  If you are privileged to
write to another area, then the project and programmer number of the
owner of that area can be written similarly enclosed in square brackets
either before the name of the device to which the output file is to
be written, between the name of the device and the name of the output
file, or between the name of the output file and the equal sign.
.skip
.test page 3
If you want to process the text which is in several source files and
to have this text be treated as though it appeared in a single source
file, then you can type the names of these files separated by commas.
If the source file references a splice file, then the name of the splice
file should follow the name of the source file by which it is first
referenced.  If the next file name would cause the line which you are
typing to be longer than 72 characters, then you should instead type
either a comma or an ampersand (_&) at the right end of the line, and
continue typing the names of the remaining files on the following lines.
The comma or ampersand must appear to the right of a file specification
since a single file specification cannot be split across 2 lines.
Instead of retyping all of this information each time, you can place
this information into another file, and type its name either preceded
immediately or followed immediately by an at sign character (@).  Each
line in the command file must contain no more than 72 characters, but
the names of the files to be processed can appear either together on
a single line if separated by commas or on separate lines in which
case rightmost commas or ampersands are not necessary.  If the command
file contains more than a single command, then these commands must
be separated by semicolons.  The 3 letters or digits which can appear
to the right of the period in the name of the command file will be
assumed to be _.CMD if you do not specify otherwise.
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Appendix B
.skip
.center;Use of FROFF at the Yale School of Management
.rtt'Use of FROFF at the Yale School of Management',,'>'
.skip 3
.center
How To Use The Diablo Terminal To Get Output From FROFF
.center
--- -- --- --- ------ -------- -- --- ------ ---- -----
.skip.test page 3
The Diablo terminal in the terminal room has been adjusted to type
12 characters per inch.  If you are using the FROFF text processor
to format your document, you can insert a _.RM72 command at the start
of your original file to get text 6 inches wide, or a _.RM78 command
to get text 6.5 inches wide.  If you do not include a right margin
command such as _.RM72 or _.RM78 in your file, then your right margin
will instead be in column 60 and your document will be only 5 inches
wide when it is typed at 12 characters per inch.
.skip.test page 3
You should follow the following instructions the first time you use
the Diablo terminal.
.skip
.lm+1.list0
.le;Turn on the POWER switch on the Diablo terminal.  The power switch
is the red switch at the upper right corner of the keyboard.  The red
light next to the power switch should light up.
.le;If the LOCAL key at the left edge of the keyboard is depressed, press
it again to release it to its outer position.
.le;Insert a sheet of paper into the terminal.  To do this, make sure
that the lever on the back right corner of the top of the terminal
is as far back as it will go, then insert the sheet of paper behind
the platen and turn the platen until the paper is pulled under the
platen and is just visible above the inked ribbon cartridge.  The platen
is the long black rubber roller extending across the width of the
terminal.
.le;Pull the paper bail into its position closest to you.  The paper
bail is the thin chromed rod with the small rubber rollers which hold
the paper against the platen.  Later, when several lines of text have
been typed and approximately an inch of paper extends above the ribbon
cartridge, you will have to push the paper bail into its position
furthest from you so that the paper will still be held properly when
the bottom of the paper is reached.
.le;Move the switch on the blue "GANDALF" box to the up position.  The
red light under the word "READY" on the GANDALF box should light up.
If the switch is already in the up position, move it to the down
position first and then back to the up position.
.le;Press the RETURN key.  The terminal will respond by typing a line
similar to the following:
.indent 5
Yale CS/SOM DECsystem2060 (_#2300), TOPS-20 Monitor
.break
and will then type a single at sign (@) on the next line.  Press the
RETURN key again if the terminal does not respond in this manner.
.le;To the right of the at sign typed by the terminal, you then should
type your account name, followed by a space and your password, and
then press the RETURN key.  The letters of your password will not be
visible.  After you have successfully identified yourself to the
computer, you will probably want to suppress the login messages by
holding down on the control key and pressing the letter O key after
these messages have started to be typed.
.le;Invoke the FROFF program by typing the Exec command
.indent 5;@FROFF
.break
.le;When FROFF asks for the name of the source file, you should type
the name of your source file followed by a slash and the letter P and
then press the RETURN key.  To shift the document to the right, in
addition to the /P, type /O:  followed by the number of columns by
which the document is to be shifted to the right.  The letter P here
stands for the word PAUSE and the letter O stands for the word OFFSET.
The file name must be constructed of 1 to 6 letters or digits
followed by a period and then by no more than 3 letters or digits.
If the second portion of the file name is _.RNO, then you do not
need to type the period and the following letters.
.break
For example, the following file specifications might be used
to cause FROFF to process a file named NAME.RNO, depending on the
width of the resulting document.
.lm+13
.i-13;NAME/P#######to center a document which is 80 columns wide giving
slightly less than 1 inch on both sides.
.i-13;NAME/P/O:1###to center a document which is 78 columns wide giving
1 inch margins on both sides.
.i-13;NAME/P/O:4###to center a document which is 72 columns wide giving
1.25 inch margins on both sides.
.i-13;NAME/P/O:10##for a document which is 72 columns wide giving 1.5
inch left margin and 1 inch right margin.
.le;After you have specified the name of the file to be processed,
FROFF will tell you
.indent 5;INSERT PAPER, THEN HIT RETURN KEY
.break
and will not type the first page of the document until you hit the
return key.  You should insert a fresh sheet of paper with its left
edge flush with the left end of the platen and with its top edge flush
with the top of the metal guard in front of the ribbon cartridge.  Pull
the paper bail into its position closest to you, then press the
RETURN key to cause FROFF to type the first page of your document.
Push the paper bail into its position furthest from you once the paper
has been advanced beyond the paper bail.
.le;If the typing is not oriented correctly on the paper, hold down
the CONTROL key and press the C key twice to exit from FROFF.  Decide
whether you need to insert the paper further to the left or to the
right and whether you want to have more of the paper be shown initially
above the metal guard, and then again invoke FROFF and supply the name
of the file together with the /P.  Insert a fresh sheet of paper in
the correct alignment and press the RETURN key.
.le;When the page has been completely typed, FROFF will wait for you
to insert a fresh sheet of paper.  FROFF will not resume typing until
you again press the RETURN key.
.le;When the entire document has been typed, FROFF will ask for the
name of the next file to be processed.  Merely press the RETURN key
if you are finished.
.le;When you get the @ prompt from the Exec, type the command
.indent 5;@LOGOUT
.break
to terminate your job.  You should not use the OFF command to terminate
your job since the OFF command is designed for the video terminals.
.le;Move the switch on the blue "GANDALF" box into its down position.
.le;Turn off the power on the Diablo terminal.
.end list
.skip 2.test page 7
.center
How To Change The Ribbon Cartridge On The Diablo Terminal
.center
--- -- ------ --- ------ --------- -- --- ------ --------
.SKIP.list
.le;Remove the wide black cover which protects the portion of the
Diablo terminal between the keyboard and the platen.  Just pull it up and
toward you.  The cover is held by springs at both ends and will snap
out.
.le;Gently, ever so gently, press down on the plastic tabs, each about
a quarter of an inch square, at both the left and right sides of the
ribbon cartridge.  The cartridge will snap upwards slightly as it is
released.
.le;Lift off the old cartridge.
.le;Turn the knob or rod extending from the top of the new cartridge
in the direction of the arrow molded into the surface of the cartridge
near the knob until the ribbon is tightly stretched between the 2 arms
of the cartridge.
.le;Slip the new cartridge into the position vacated by the old one.
Be careful that the ribbon itself is between the chromed metal horns
on either side of the print wheel and the metal guard which is between
the print wheel and the platen.
.le;Press down on the top of the cartridge until it is held by the
plastic tabs which you earlier had to press down to release it.
.le;Turn the knob or rod extending from the top of the cartridge in
the direction indicated by the arrow on the cartridge until you feel
a slight resistance.  This seats the spring mounted drive shaft below
the cartridge into the grooves in the bottom end of the rod.
.le;Replace the wide black cover which protects the moving parts of
the terminal.  Press down on the ends of the cover, and it will snap
into place.
.end list
.lm0.skip.test page 3
DO NOT CHANGE THE PRINT WHEEL ON THE DIABLO TERMINAL.  Both the print
wheels and the terminal itself are easily damaged when the print wheels
are changed to type at other character spacings.  If the print wheel
has been damaged in any way, please ask either a terminal room monitor
or a member of the Computer Services staff to provide a new wheel.
The wheels are made of soft plastic, and the more commonly typed
characters, the lower case vowels a, e, i and o, wear out before the
other characters.  You should check these characters carefully.  DO
NOT SET THE HAMMER STRIKE TO ITS MAXIMUM DENSITY, since the hardest
hammer strike will quickly destroy the print wheel.
.skip 2.test page 7
.center
What To Do If You Don't Have Enough Space For Output Files
.center
---- -- -- -- --- ----- ---- ------ ----- --- ------ -----
.SKIP.test page 3
The CS/SOM DECsystem20 has a scratch area called TEMP_:  which can
be used for the temporary storage of files.  The scratch area is purged
often and at regular intervals so you should never store your source
files in this scratch area, but you can direct FROFF to write the
resulting document there.  You do this by typing "TEMP:=" before the
name of your source file when FROFF asks you to specify the file to
be processed.  Then, when you are ready to print the file, type "TEMP:"
immediately before the name of the _.DOC file when you issue the PRINT
command.
.skip.test page 3
The following example demonstrates the use of the scratch area to store
the document resulting from processing a file having GROUP.RNO as its
name.  The characters typed by the user have been underlined.
.skip.nofill.left margin+5.test page 12
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&TEMP:=GROUP\&
Pages:    1
Source file?
EXIT
@^&DIRECT TEMP:GROUP\&
   PS:<TEMP>
 GROUP.DOC.1
@^&PRINT TEMP:GROUP.DOC\&
[Job GROUP Queued, Request-ID 1634, Limit 9]
.fill.left margin -5
.skip2.test page 7
.center;How To Process A Document Constructed From Several Files
.center;--- -- ------- - -------- ----------- ---- ------- -----
.SKIP.test page 3
If you are processing a document which is constructed from more than
just a single source file, but these source files all exist in your
area, then you can type the names of these files separated by commas
when FROFF asks for you to specify the name of the source file.  If
you would have to type more than 72 characters, then you must indicate
that you will continue specifying the source files on a subsequent
line or lines by typing a rightmost comma or ampersand (_&).  You
cannot, however, split the name of a single file across 2 lines.  If
you have typed a rightmost comma or ampersand, then, when the files
which you have already specified have been processed, FROFF will prompt
you to type more by displaying a single ampersand.  The resulting
document will be the same as if you had appended the source files
together prior to processing them with FROFF.  The name of the resulting
document will be based upon the name of the first source file in the
series.
.skip.test page 3
For example, to process the source text contained in the files named
ONE.RNO, TWO.RNO and THREE.RNO, a typical dialog might be either
.skip.nofill.left margin+5.test page 15
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&ONE,TWO,THREE\&
Pages:    11
Source file?
.indent-5;or
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&ONE,\&
_&^&TWO,\&
_&^&THREE\&
Pages:    11
Source file?
.skip
.fill.left margin -5
You can place the command which you would have typed directly to FROFF
in another file (called the command file) instead and then direct that
FROFF is to read its instructions from this command file by typing
an at sign (_@) followed by the name of this command file when FROFF
asks you to specify the source file.  Rightmost commas or ampersands
are not necessary in a command file, but each line is still limited
to 72 characters, and if the command file contains more than a single
command (i.e., more than a single output file is to result), then these
commands must themselves be separated by semicolons since an end of
line in a command file does not terminate the command.
.skip.test page 3
For example, to process the source text contained in the files named
ONE.RNO, TWO.RNO and THREE.RNO, a command file could be created which
contained either
.skip.nofill.left margin+5.test page 5
ONE,TWO,THREE
.indent-5;or
ONE
TWO
THREE
.FILL.left margin -5
.SKIP.test page 3
The name of the command file must be constructed of 1 to 6 letters
or digits followed by a period and then by no more than 3 letters or
digits.  If the second portion of the name of the command file is _.CMD,
then you do not need to type the period and the following letters when
you specify the command file to FROFF.  If the command file is named
PAPER.CMD, then a typical dialog for its use would be
.skip.nofill.left margin+5.test page 6
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&@PAPER\&
Pages:    11
Source file?
.SKIP
.FILL.left margin -5
The document resulting from the processing of several files can still
be written to the scratch area or, if run from the Diablo terminal,
to the terminal.
.skip.test page 3
For example, to write the document to the scratch area, a typical dialog
might be either
.skip.nofill.left margin+5.test page 13
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&TEMP:=ONE,TWO,THREE\&
Pages:    11
Source file?
.indent-5;or
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&TEMP:=@PAPER\&
Pages:    11
Source file?
.SKIP
.FILL.left margin -5
Similarly, either of the following dialogs could be used to write the
resulting document to the terminal, stopping after each page so that
a new sheet of paper can be inserted.  In this instance, however, if
you are typing the names of the files directly into FROFF, then you
would not want to type them on several lines since you would then have
to specify them while the document is being typed.
.nofill.left margin+5.test page 9
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&/P ONE,TWO,THREE\&
.indent-5;or
@^&FROFF\&
FROFF (10/81)
Type /H for Help
Source file? ^&/P@PAPER\&
.fill.left margin 0
.skip 2.test page 7
.center
How To Process Files In Other Directories
.center
--- -- ------- ----- -- ----- -----------
.skip.test page 3
FROFF, unfortunately, cannot interpret DECsystem20 account names.  It
can, however, handle the account numbers which you can obtain by issuing
the EXEC command TRANSLATE followed by the account name.  These account
numbers can then be included enclosed in square brackets along with
the names of the source files which are either in the command file
or which you type directly when FROFF asks for you to specify the name
of the source file.
.skip.test page 3
For example, if the file named ONE.RNO is in the area owned by
<S.S.SMITH>, the file named TWO.RNO in the area owned by <S.F.JONES>,
and the file named THREE.RNO in the area owned by <C.JOHNSON>, then
the following dialog might be used to obtain the corresponding account
numbers
.skip.nofill.left margin+5.test page 6
@^&TRANSLATE <S.S.SMITH>\&
PS:<S.S.SMITH> (IS) PS:[4,2471]
@^&TRANSLATE <S.F.JONES>\&
PS:<S.F.JONES> (IS) PS:[4,374]
@^&TRANSLATE <C.JOHNSON>\&
PS:<C.JOHNSON> (IS) PS:[4,1162]
.FILL.SKIP.LEFT MARGIN-5
and the command file might then contain
.skip.left margin +5.test page 3.nofill
[4,2471]ONE
[4,374]TWO
[4,1162]THREE
.fill.left margin 0
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Appendix C
.skip
.center;Commands Used in Performing Selected Tasks
.rtt'Commands Used in Performing Selected Tasks',,'>'
.skip 3
.c;Commands Used for the Specification of Footnotes
.c;-------- ---- --- --- ------------- -- ---------
.skip
.index footnote>list of relevant commands
The following commands are used for the specification of footnotes.  The
_.FILL, _.LEFT MARGIN, _.NO FILL, _.RIGHT MARGIN and _.SPACING commands
are included in this list since these commands, if issued during the
construction of a footnote, alter the appearance of the current and
subsequent footnotes without altering the appearance of the text which
was interrupted for the specification of the footnote.  The _.JOIN
command is included since this command is often issued just before an
automatically numbered footnote is specified to cause the footnote
number to be attached to the preceding word.
.nofill
.skip.test page 2
_.CFN    .COLLECT FOOTNOTES
        Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE
.skip.test page 2
_.DISPFN .DISPLAY FOOTNOTE 'character', type, 'character'
        Type of numbers in footnote identifying footnote
.skip.test page 2
_.DREF   .DISPLAY REFERENCE 'character', type, 'character'
        Type of numbers in text identifying footnote
.skip.test page 2
_.DFN    .DO FOOTNOTES
        List collected footnotes starting on new page
.skip.test page 2
_.EFN    .END FOOTNOTE
        End footnote specification begun by .FOOTNOTE
.skip.test page 2
_.F      .FILL
        Accumulate words on each line until line overflows
.skip.test page 2
_.FLEFN  .FLAGS END FOOTNOTE 'character'
        Change flag terminating footnote specifications
.skip.test page 2
_.FN     .FOOTNOTE
        Following text to .END FOOTNOTE specifies footnote
.skip.test page 2
_.FNH    .FOOTNOTE HEADER rest of text on line
        Specifies line of text above each group of footnotes
.skip.test page 2
_.FNR    .FOOTNOTE RULE 'character'
        Line of this character above each group of footnotes
.skip.test page 2
_.IMFN   .IMMEDIATE FOOTNOTES
        Generate footnotes on pages where referenced
.skip.test page 2
_.IFN    .INDENT FOOTNOTE number
        Indent start of each footnote
.skip.test page 2
_.JO     .JOIN
        Attaches next word to preceding word
.skip.test page 2
_.LM     .LEFT MARGIN number
        Changes left margin
.skip.test page 2
_.NF     .NO FILL number1, number2
        Left justify lines with original word spacing
.skip.test page 2
_.NFLEFN .NO FLAGS END FOOTNOTE
        No flag can terminate footnote specifications
.skip.test page 2
_.NFNH   .NO FOOTNOTE HEADER
        No line of text is above each group of footnotes
.skip.test page 2
_.NNFN   .NO NUMBER FOOTNOTE
        No serial numbers are inserted at start of footnotes
.skip.test page 2
_.NMFN   .NUMBER FOOTNOTE number
        Specifies that footnotes are to be serially numbered
.skip.test page 2
_.PFN    .PRINT FOOTNOTES
        List collected footnotes continuing on current page
.skip.test page 2
_.RM     .RIGHT MARGIN number
        Specifies rightmost column if .FILL active
.skip.test page 2
_.SPFN   .SPACE FOOTNOTE number1, number2, number3
        Change number of blank lines before footnotes
.skip.test page 2
_.SP     .SPACING number
        Change spacing between lines
.fill
.skip 2.test page 6.nofill.left margin 0
.c;Commands Used for the Specification of Indexes
.c;-------- ---- --- --- ------------- -- -------
.skip.fill
.index index>list of relevant commands
The following commands are used for the specification of indexes.  The
_.LEFT MARGIN, _.RIGHT MARGIN and _.SPACING commands are included in
this list since these commands are often issued just before the index
is constructed to change the appearance of the items in the index.
The _.FIRST TITLE, _.FACING PAGE, _.RIGHT PAGE and _.SKIP LEFT PAGE
commands are included since these commands are often issued just before
the index is constructed to control the type of titles appearing on
the first page of the index.
.nofill
.skip.test page 2
_.DIX    .DISABLE INDEX
        Disable addition of items to index
.skip.test page 2
_.DISPX  .DISPLAY INDEX type
        Type of page numbers on pages containing index
.skip.test page 2
_.DX     .DO INDEX rest of text on line
        List index starting on new page
.skip.test page 2
_.EIX    .ENABLE INDEX
        Enable addition of items to index
.skip.test page 2
_.Y      .ENTRY rest of text on line
        Specifies line to be in index without page number
.skip.test page 2
_.FAPG   .FACING PAGE
        Start new page on facing side of paper
.skip.test page 2
_.FT     .FIRST TITLE
        Generate titles on first page if .HEADERS ON active
.skip.test page 2
_.FLX    .FLAGS INDEX 'character'
        Change flag marking words to be indexed
.skip.test page 2
_.FLSX   .FLAGS SUBINDEX 'character'
        Change flag marking ends of lines in index entry
.skip.test page 2
_.X      .INDEX rest of text on line
        Specifies line to be in index with page number
.skip.test page 2
_.LM     .LEFT MARGIN number
        Changes left margin
.skip.test page 2
_.NFLX   .NO FLAGS INDEX
        No flag can mark words to be indexed
.skip.test page 2
_.NFLSX  .NO FLAGS SUBINDEX
        No flag can mark ends of lines in index entry
.skip.test page 2
_.PX     .PRINT INDEX rest of text on line
        List index continuing on current page
.skip.test page 2
_.RM     .RIGHT MARGIN number
        Specifies rightmost column if .FILL active
.skip.test page 2
_.RP     .RIGHT PAGE
        Start new page with right page titles
.skip.test page 2
_.SLP    .SKIP LEFT PAGE
        Start new right page, generating left page if needed
.skip.test page 2
_.SPX    .SPACE INDEX number1, number2, number3, number4
        Change number of blank lines at start of index
.skip.test page 2
_.SP     .SPACING number
        Change spacing between lines
.skip.test page 2
_.STX    .STYLE INDEX number1, number2
        Changes capitalization and format of index
.fill
.left margin 0.fill
.skip left page.right top title,,'>'
.center;Appendix D
.skip
.center;Description of Files on the Distribution Tape
.rtt'Description of Files on the Distribution Tape',,'>'
.skip 3
.center;Loading Instructions
.center;------- ------------
.skip
FROFF can be loaded on the DECsystem10 using the FORTRAN10 version
7 compiler with the following command file.  Full input and output
file specifications and runtime options can be typed by the user
together on a single line.
.skip.nofill.test page 7.left margin 5
FROFF.FOR/OPT
RNOTIM.FOR/OPT
RNOHL1.FOR/OPT
RNOCM1.FOR/OPT
RNOFI1.FOR/OPT
RNOAS1.FOR/OPT
MACRO3.FOR/OPT
.skip.fill.left margin 0
FROFF can be loaded on the DECsystem20 using the FORTRAN20 version
7 compiler with the following command file.  This version of FROFF
is the DECsystem10 version with the addition of a few very simple
assembly language terminal and disk management routines.  Since the
compiler and runtime system use the DECsystem10 emulator, the location
of files read from other than the users own account must still be
specified by project and programmer numbers rather than by account
names.
.skip.nofill.test page 8.left margin 5
FROFF.FOR/OPT
RNOTIM.FOR/OPT
RNOHL1.FOR/OPT
RNOCM1.FOR/OPT
RNOFI1.FOR/OPT
RNOAS1.FOR/OPT
MACRO2.MAC
MACRO3.FOR/OPT/LIB
.skip.fill.left margin 0
A version of FROFF having a very simple runtime command parser can
be loaded on the DECsystem10 or DECsystem20 using the following command
file.  This version is meant to be easily convertible for use on other
computer systems.  Each of the file names and the collection of run
time options must be typed by the user on separate lines.
.skip.test page 5.nofill.left margin 5
FROFF.FOR/OPT
RNOTIM.FOR/OPT
RNOFI1.FOR/OPT
RNOAS3.FOR/OPT
MACRO3.FOR/OPT
.left margin 0.fill
.skip 2.test page 10
.left margin 0
.center;Program Source Files
.center;------- ------ -----
.skip
.LEFT MARGIN 12
.test page 3.INDENT-11
FROFF.FOR##Single file containing the system independent portion
of the FORTRAN sources of the FROFF program.
.skip.test page 3.INDENT-12
MACRO2.MAC##Assembly language sources of some subroutines which
customize FROFF for use on the DECsystem20 computer.  These subroutines
are not absolutely necessary, and the non-functional FORTRAN versions
having the same names contained in the file MACRO3.FOR can be loaded
instead.  The following subroutines are contained in these files:
.SKIP.test page 3
EXPUNG#which removes deleted files on the DECsystem-20.  EXPUNG is
called by FROFF after each temporary scratch file is closed and deleted.
If EXPUNG is replaced by a non-functional version, then deleted scratch
files will accumulate on the DECsystem20 if footnotes or indexes are
being produced.
.SKIP.test page 3
LEAVE#which terminates running of the program without typing the time
statistics produced by the FORTRAN STOP statement on the DECsystem20.
.SKIP.test page 3
TTYSET#which sets the characteristics of the controlling terminal so
that a document which is typed directly by FROFF on a letter quality
printer will be displayed correctly.  TTYSET allows lower case letters,
form feed characters and other control characters to be sent unchanged
to the terminal, turns off the insertion of carriage returns and line
feeds into long lines, and turns off the pausing after a fixed number
of lines have been displayed.
.skip.test page 3.INDENT-12
MACRO3.FOR##which contains non-functional FORTRAN versions of the
subroutines in the assembly language MACRO2.MAC file and which contains
a non-functional version of a routine named TTYSIM.  On some systems,
TTYSIM is called with a unit number as its single argument to specify
that the character in column 1 of lines written to that unit is to
be converted directly to the appropriate carriage control character.

.skip.test page 3.indent -12
RNOAS1.FOR##which contains the runtime command parser
for use on either the DECsystem10 or the
DECsystem20.  The user can, in a single line, specify input and
output files and switches, or these instructions can be read
from another file.
.skip.test page 3.indent -12
RNOAS3.FOR##which contains a very simple runtime command parser for
use when FROFF is run on computers for which a customized command parser
is not available.  Although this was written for the DECsystem10 and
the DECsystem20, it should be very easily converted to other systems.
.skip.test page 3.indent -12
RNOCM1.FOR##which contains the COMMON declarations of the arrays which
are used by the command parser in the RNOAS1.FOR file and which must
be maintained while FROFF is being run.  This must be loaded into the
permanently resident portion if FROFF is loaded with an overlay
structure on either the DECsystem10 or the DECsystem20.
.skip.test page 3.indent -12
RNOFI1.FOR##which contains the FORTRAN subroutine containing the OPEN
and CLOSE statements for the scratch files which are used by FROFF.
This version is written for either the DECsystem10 or the DECsystem20.
.skip.test page 3.indent -12
RNOHL1.FOR##which contains the FORTRAN subroutine which displays the
instructions on the controlling terminal if the user types the /HELP
switch.  This subroutine is produced when the RNOHL1.FMT file is
processed by the FORMAT program.  This version is written for either
the DECsystem10 or the DECsystem20.
.skip.test page 3.indent -12
RNOTIM.FOR##which contains a FORTRAN function which returns the
current time of day in seconds from midnight as a floating point
or real number.  This number becomes a unique identifier for the
current job and is used in constructing the names of the scratch
files so that 2 or more jobs logged into the same account can
run FROFF concurrently without interfering with each other.

.skip 2.test page 10
.left margin 0
.center;Support Programs and Data Files
.center;------- -------- --- ---- -----
.LEFT MARGIN 12
.skip.test page 3.INDENT-12
COMPAR.FOR##FORTRAN program which compares the files resulting from
processing the test cases using different versions of FROFF, and
identifies any test cases for which the results are different.
.skip.test page 3.indent-10
FONT.FOR##FORTRAN program which converts the large multi-line lettering
in the FROFF.FNT file into packed binary numbers and represents these
numbers in FORTRAN DATA statements which can then be compiled so that
FROFF can produce such large lettering.
.skip.test page 3.indent-11
FRAME.FOR##FORTRAN program which rules borders around sample pages
of output from test versions of FROFF still having the carriage control
characters in the left column so that these sample pages can be
incorporated into the FROFF User's Guide.
.skip.test page 3.indent-11
FROFF.FNT##Data file which when processed by the FONT program
defines the shapes of the large multi-line lettering which can
be produced by FROFF.
.skip.test page 3.indent-11
FROFF.KEY##Data file which when processed by a special version
of KEYWRD specifies the command words recognized by FROFF.
.skip.test page 3.indent-11
FROFF.RNO##The file which when processed by FROFF produces
the FROFF User's Guide.
.skip.test page 3.indent-12
FROFF?.GET##(where ?  indicates a letter or digit) Several files which
contain the results expected when the over 1000 test cases in the
various FROFF?.TRY files are processed without conversion of the
characters in column 1 to carriage control characters.
These files are long and may not be included with the rest.
.skip.test page 3.indent-12
FROFF?.TRY##(where ?  indicates a letter or digit) Several files which
contain over 1000 test cases which, when processed without conversion
of the characters in column 1 to carriage control characters, produce
the results in the various FROFF?.GET files.
These files are long and may not be included with the rest.
.skip.test page 3.indent-12
KEYWRD.FOR##FORTRAN program which constructs the tree used to recognize
the commands in the input file processed by FROFF.  This version handles
multiple word phrases better than the version in the DECUS library,
but still has problems.  The previous version did not allow _.AP to
be declared as an abbreviation of _.AUTO PARAGRAPH since the P in
_.APPENDIX was recognized before the P in PARAGRAPH.  The output from
this program is FORTRAN code which must be inserted into the BLOCK
DATA routine in FROFF.
.skip.test page 3.indent-11
MERGE.FOR##FORTRAN program which combines files containing the separate
test cases into a composite test file and combines the files containing
the expected results into a composite result file.  Requires a file
which contains the names of the individual cases and which is produced
when the SPLIT program is used to split apart the original composite
files.
.skip.test page 3.indent-12
NUMBER.FOR##FORTRAN program which converts the names of the test cases
in a composite test file and in the corresponding composite result
file to begin with the same stem and to be numbered consecutively.
.skip.test page 3.indent-12
RNOFNT.RNO##FROFF command file which when processed by FROFF produces
a new version of the FROFF.FNT file specifying the current shapes of
the large, multi-line lettering which can be produced by FROFF.  This
new version of FROFF.FNT can in turn be edited and then be processed by
the FONT program to produce a new version of the BLOCK DATA routine
in FROFF.FOR which contains the bit packed arrays which specify the
character shapes.
.skip.test page 3.indent-12
RNOHL1.FMT##File which when processed by the FORMAT program produces
the subroutine used by FROFF to write the initial instructions which
can be requested by the /HELP switch when FROFF is run.  This version
gives the instructions for the DECsystem10 computer interface which
accepts a complete user command on a single line.
.skip.test page 3.indent-12
RNOHL3.FMT##File which when processed by the FORMAT program produces
the subroutine used by FROFF to write the initial instructions which
can be requested by the /HELP switch when FROFF is run.  This version
gives the instructions for the simple user interface which separately
asks for the switches and for the names of the input and output files.
.skip.test page 3.indent-12
SELECT.FOR##FORTRAN program which selects individual test cases by
name from the composite test case file or selects individual expected
results by name from the composite expected result file.  The selected
test cases or the selected expected results are written into a new,
smaller composite file.
.skip.test page 3.indent-11
SPLIT.FOR##FORTRAN program which splits apart the file containing a
collection of test cases and the file containing a collection of
expected results into separate files.  Also produces a file which
specifies the names of the individual cases so that these can later
be recombined by the MERGE program.
.left margin 0.skip left page
.FIRST TITLE.rtt,,'>'
.style index 0,1
.center;Index
.space index 0,0,0,0
.skip 3
.rtt'Index',,'>'
.print index
