Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-11 - 43,50542/froff.doc
There is 1 other file named froff.doc in the archive. Click here to see a list.


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X                                                                                  X
X  1. Adjust paper position so that dark frame on this page is                     X
X     copied centered on paper 8.5 inches wide by 11 inches                        X
X     high.                                                                        X
X  2. Copy all remaining pages of document in same manner.                         X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
X                                                                                  X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX







                            THEFROFFUSERSGU    HEFROFFUSERSGUI
                            E          E  G    T  F          U
                            DETHE  OFFUS  S    E  E  OFFUSERSG
                                H  ROFFU  R    D  H  R
                                T  FROFF  ERSGUI  T  FROFFU
                                E  EFROF          E       F
                                D  HEFRO  USERSG  D  HEFROF
                                I  THEFR  FUSERS  I  T
                                U  ETHEF  FFUSER  U  ETHEFROFF
                                G  DETHE  OFFUSE  G          F
                 IDETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERSGUID
                 U          F       IDETHEF    USER          R          I
                 G  DETHEFROF  SERSG  DET  FROF  SE  GUIDETHEF  FFUSERSGU
                 S  IDETHEFRO  USERSG  D  HEFROF  S  SGUIDETHE  O
                 R  UIDETHEFR  FUSER  UI  THEFRO  U  RSGUIDETH  ROFFUS
                 E       THEF       RSGU  ETHEFR  F       IDET       U
                 S  SGUIDETHE  OFF  ERSG  DETHEF  F  SERSGUIDE  EFROFF
                 U  RSGUIDETH  ROFF  ERS  IDETHE  O  USERSGUID  H
                 F  ERSGUIDET  FROFF  ERS  IDET  FR  FUSERSGUI  T
                 F  SERSGUIDE  EFROFF  ERSG    THEF  FFUSERSGU  E
                 OFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROF
                 R  FUSERS  IDET       U          H       SERSGUI       O
                 F  FFUSER  UI  THEFROFF  ERSGUIDET  FROFF  ERS  IDETHEFR
                 E  OFFUSE  G  DETHEFROF  SERSGUIDE  EFROFF  E  GU
                 H  ROFFUS  SG  DETHEFRO  USERSGUID  HEFRO  USE  GUIDE
                 T  FROFFU  RSGU    HEFR       SGUI       OFFUSER    DET
                 E  EFROFF  ERSGUIDE  EF  FFUSERSGU  ETH  ROFFUSERSGU  ET
                 D  HEFROF  SERSGUIDE  E  OFFUSERSG  DETH  ROFFUSERSGU  E
                 ID  HEFR  FUSERSGUI  TH  ROFFUSERS  IDETH  ROFFUSERS  ID
                  IDE    ROFF       IDET          R  UIDETH  R       SGU
                    DETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERS
                    IDE       F  ERSGUI  T      F       IDET          R
                   GU  ETHEFROF  SERSGU  ETH  ROF  SERSG  DE  EFROFFUSE
                   S  IDETHEFRO  USERSG  DET  FRO  USERSG  D  H
                   R  UIDETHEFR  FUSERS  IDE  EFR  FUSERS  I  THEFRO
                   E  GUI     F  FFUSER  UID  HEF  FFUSER  U       R
                   S  SGUIDE  E  OFFUSE  GUI  THE  OFFUSE  G  DETHEF
                   U  RSGUID  H  ROFFUS  SGU  ETH  ROFFUS  S  I
                   FU  RSGUI  TH  ROFF  ERSG  DET  FROFF  ER  UIDETHEFR
                    FUS       ETHE    FUSE      E       FUSE          F
                      USERSGUIDETHEFROFFUSERSGUIDETHEFROFFUSERSGUIDETHE




                          The FROFF Word Processor User's Guide

                                     Donald E. Barth

                                        10-Jul-83










                             TTTTTTTTTT HH      HH EEEEEEEEEE
                                 TT     HH      HH EE
                                 TT     HH      HH EE
                                 TT     HH      HH EE
                                 TT     HHHHHHHHHH EEEEEEE
                                 TT     HH      HH EE
                                 TT     HH      HH EE
                                 TT     HH      HH EE
                                 TT     HH      HH EEEEEEEEEE

                  FFFFFFFFFF RRRRRRR       OOOO    FFFFFFFFFF FFFFFFFFFF
                  FF         RR     RR   OO    OO  FF         FF
                  FF         RR      RR OO      OO FF         FF
                  FF         RR     RR  OO      OO FF         FF
                  FFFFFFF    RRRRRRR    OO      OO FFFFFFF    FFFFFFF
                  FF         RR   RR    OO      OO FF         FF
                  FF         RR    RR   OO      OO FF         FF
                  FF         RR     RR   OO    OO  FF         FF
                  FF         RR      RR    OOOO    FF         FF

                  UU      UU    SSSSSSS EEEEEEEEEE RRRRRRR       SSSSSSS
                  UU      UU  SS        EE         RR     RR   SS
                  UU      UU SS         EE         RR      RR SS
                  UU      UU  SS        EE         RR     RR   SS
                  UU      UU    SSSS    EEEEEEE    RRRRRRR       SSSS
                  UU      UU        SS  EE         RR   RR           SS
                  UU      UU         SS EE         RR    RR           SS
                   UU    UU         SS  EE         RR     RR         SS
                     UUUU    SSSSSSS    EEEEEEEEEE RR      RR SSSSSSS

                       GGGGGGG UU      UU IIIIII DDDDDDD    EEEEEEEEEE
                     GG        UU      UU   II   DD     DD  EE
                    GG         UU      UU   II   DD      DD EE
                    GG         UU      UU   II   DD      DD EE
                    GG   GGGGG UU      UU   II   DD      DD EEEEEEE
                    GG      GG UU      UU   II   DD      DD EE
                    GG      GG UU      UU   II   DD      DD EE
                     GG     GG  UU    UU    II   DD     DD  EE
                       GGGGGGG    UUUU    IIIIII DDDDDDD    EEEEEEEEEE





                          The FROFF Word Processor User's Guide

                                     Donald E. Barth

                                        10-Jul-83




                                    Table of Contents
                                    ----- -- --------


      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


      Appendix A:  How to Run FROFF on Various Computer Systems

        How to Run FROFF on DECsystem10 and DECsystem20 .  .   127

      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



Appendix C:  Commands Used in Performing Selected Tasks

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

Appendix D:  Description of Files on Distribution Tape

  Loading Instructions .  .  .  .  .  .  .  .  .  .  .   139
  Program Source files .  .  .  .  .  .  .  .  .  .  .   140
  Support Programs and Data Files  .  .  .  .  .  .  .   141


                                       Introduction

      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.

      The production of a document using FROFF requires the following steps:

      1.  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.

      2.  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.

      3.  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.

      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.
2                                        The FROFF Word Processor User's Guide


                                                                                   3


                                        Chapter 1

                                   General Instructions



      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.


                  Short Descriptions of the Most Commonly Used Commands
                  ----- ------------ -- --- ---- -------- ---- --------

      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.

      .AP 10    .AUTOPARAGRAPH 10
           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.

      .B 5      .BLANK 5
           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.

      .C        .CENTER
           The text which appears in the next line in  the  source  file  is  to  be
           centered in the reformatted document.

      .EFN      .END FOOTNOTE
           Terminates the declaration of the text of a footnote begun by a  previous
           .FOOTNOTE command.

      .FG 10    .FIGURE 10
           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.
4                                        The FROFF Word Processor User's Guide


.FGD 5    .FIGURE DEFERRED 5
     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.

.F        .FILL
     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.

.FN       .FOOTNOTE
     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.

.FNR '-'  .FOOTNOTE RULE '-'
     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.

.I 5      .INDENT 5
     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.

.J        .JUSTIFY
     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.

.LM 10    .LEFT MARGIN 10
     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.

.NF       .NO FILL
     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.

.NJ       .NO JUSTIFY
     Extra spaces are not to be inserted  between  words.   The  result  is  a
     ragged right margin.

.NM 5     .NUMBER 5
     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.
      General Instructions                                                         5


      .NMFN     .NUMBER FOOTNOTE
           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.

      .O 10     .OFFSET 10
           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.

      .PG       .PAGE
           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.

      .PGL 60   .PAGE LENGTH 60
           Each page in the reformatted document can contain 60 lines.  The  default
           page size is 58 lines of 60 characters each.

      .PGW 72   .PAGE WIDTH 72
           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.

      .P 4      .PARAGRAPH 4
           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.

      .RM 72    .RIGHT MARGIN 72
           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.

      .SP 2     .SPACING 2
           The reformatted document is to be double spaced.  The document is  single
           spaced otherwise.

      .TSP 5    .TEST SPACING 5
           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.
6                                        The FROFF Word Processor User's Guide


.TT'left phrase','middle phrase','right phrase'
.TOP TITLE'left phrase','middle phrase','right phrase'
     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.

     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.

.U        .UNDERLINE
     The text which appears in the next line in  the  source  file  is  to  be
     underlined in the reformatted document.

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

     .BLANK
     .CENTER
     This is a line of text to be centered

could instead be specified by the following single line.

     .B.C;This is a line of text to be centered

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.


                             Reserved Characters
                             -------- ----------

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
      General Instructions                                                         7


      characters  which  are not initially active can be used to indicate additional
      transformations.

      #  (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.

      ^  (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.

      \  (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.

      &  (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.

      >  (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.

      _  (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.)


                                  A Typical Source File
                                  - ------- ------ ----

      As a typical example of the use of the FROFF  word  processor,  the  following
      source text

      .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.
8                                        The FROFF Word Processor User's Guide


.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.

would be converted into the following 2 pages  when  processed  by  the  FROFF
program.

*****************************  *****************************
*                           *  *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.       *
*****************************  *****************************
      General Instructions                                                         9


                           How to Run FROFF on the DECsystem20
                           --- -- --- ----- -- --- -----------

      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.

      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.

      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.

      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.

      @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
      @


                     Options Which can be Selected When FROFF is Run
                     ------- ----- --- -- -------- ---- ----- -- ---

      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
10                                       The FROFF Word Processor User's Guide


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.

The following examples are typical of these switches.

/B:5 (B for begin) causes the output to begin with the 5th  page,  suppressing
     those that came before.

/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.

/E:8 (E for end) causes the output to end with the 8th page, suppressing those
     that would come after.

/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.

/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.

For example, on the DECsystem20, the user might type

     TEST/O:10/B:20

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.

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.


                     Complete List of The Runtime Options
                     -------- ---- -- --- ------- -------

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.

/BEGIN:number
     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.
      General Instructions                                                        11


      /CONTINUOUS
           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.

      /END:number
           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.

      /OFFSET:number
           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.

      /PAUSE
           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.

      /TERMINAL:number
           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.
      /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.
      /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.
      /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
12                                       The FROFF Word Processor User's Guide


     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.
/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

For example, if the user types the command

     ONE/P/O:12/B:6/E:10
or
     TTY:=ONE.RNO/E:10/B:6/O:12/P

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.
                                                                                  13


                                        Chapter 2

                                 Source File Conventions



                     The Structure of the Commands in the Source File
                     --- --------- -- --- -------- -- --- ------ ----

      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.

      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.

      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.

      For example, a few of the many ways in which the command

           .LEFT MARGIN 5

      could be abbreviated are

           .LEM 5, .LE M5, .LMA5, .L MA 5, .LEMA5 and .LE MA 5

      A few of the many ways in which the command

           .FLAGS SPACE '*'

      could be abbreviated are

           .FSP'*' or .F SPA'*' or .FL SP '*' or .FLASP'*'

      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.
14                                       The FROFF Word Processor User's Guide


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 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  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.

For example, the text

     .SKIP 2
     .CENTER
     This is a Title

could also be specified by any of the following single lines

     .SKIP 2.CENTER;This is a Title
     .SKIP 2;.CENTER;This is a Title
or
     .SKIP 2!comment;.CENTER!comment;This is a Title

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.


                     Case Notation for Alphabetic Letters
                     ---- -------- --- ---------- -------

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.

An .UPPER CASE command or 2 consecutive  circumflexes  (^^)  anywhere  in  the
source  text  indicates  that  the  cases of all subsequent alphabetic 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  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
      Source File Conventions                                                     15


      case form can be preceded by a single circumflex, and any single letter  which
      is  to  be  converted  to its lower 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  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 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.

      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.

      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.

      For example, the source text

      .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.

      would be transformed into the following lines of text when processed  by  this
      program.

      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.
16                                       The FROFF Word Processor User's Guide


                  Underlining Characters, Words and Phrases
                  ----------- ----------- ----- --- -------

A word or a phrase which is to be underlined can be preceded on  the  previous
line by an .UNDERLINE command.

For example, the source text

Some words
.UNDERLINE;in this sentence
are underlined.

would produce the following text

Some words in this sentence are underlined.

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:

a. Each individual character which is to be underlined can be preceded  by  an
   ampersand character (&).

   For example, the line of output text shown above could  instead  have  been
   specified by the following source text

   Some words &i&n &t&h&i&s &s&e&n&t&e&n&c&e are underlined.

b. Each word or phrase which  is  to  be  underlined  can  be  preceded  by  a
   circumflex  character  (^) followed immediately by an 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.

   For example, the line of output text  shown  above  could  also  have  been
   specified by the following source text

   Some words ^&in this sentence\& are underlined.

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  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.
      Source File Conventions                                                     17


      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.

      For example, the source text

      These are blanks:  &#&#&#&#&#, ^&#####\& _& __________

      would produce the following line of output text

      These are blanks:       ,       & 
18                                       The FROFF Word Processor User's Guide


                                                                                  19


                                        Chapter 3

                       How to Perform Common Word Processing Tasks



                              Specification of Form Letters
                              ------------- -- ---- -------

      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

      .OPEN SPLICE.LOOP

      and end with the commands

      .RESET.END LOOP

      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.

      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.

      A simple form letter specification file is shown below.

      .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

      The commands in this form letter  specification  file  perform  the  following
      functions.

       1.  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.
20                                       The FROFF Word Processor User's Guide


 2.  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.
 3.  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.
 4.  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.
 5.  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.
 6.  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.
 7.  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.
 8.  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.
 9.  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.
10.  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.
11.  The .SKIP command inserts a blank line between  the  salutation  and  the
     body of the letter.
12.  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.
13.  The .SKIP command skips a blank line between the text of the  letter  and
     the closing lines.
14.  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.
15.  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.
16.  The .SKIP 2 command skips 2 lines before the sender's name.
17.  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.
18.  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.

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
      How to Perform Common Word Processing Tasks                                 21


      issued  in  the  form  letter  specification  file.   The blank lines could be
      replaced by lines containing .SKIP commands instead.

      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

      The form letters shown below are produced when the form  letter  specification
      file shown above is used to process this splice file.

      *****************************  *****************************
      *           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        *
      *                           *  *                           *
      *****************************  *****************************

      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.
22                                       The FROFF Word Processor User's Guide


The following is a typical form letter specification  file  which  requires  2
fixed  length  insertions  in  addition  to  the  variable  length recipient's
address.

.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

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.

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
      How to Perform Common Word Processing Tasks                                 23


      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.

      *****************************  *****************************
      *           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        *  *                           *
      *****************************  *****************************

      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

      .SPLICE 1.JOIN;,

      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.


                      Addressing Envelopes for Use with Form Letters
                      ---------- --------- --- --- ---- ---- -------

      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
24                                       The FROFF Word Processor User's Guide


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.

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.

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.

************************************************************
*                                                          *
* 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                              *
*                                                          *
************************************************************

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.

.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

The commands in  the  above  form  envelope  specification  file  perform  the
following functions.

 1.  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.
 2.  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.
      How to Perform Common Word Processing Tasks                                 25


       3.  The .NO HEADER command suppresses the blank lines reserved for the  title
           and subtitle.
       4.  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.
       5.  The .NO FLAGS command allows characters, such as ampersands, which  would
           otherwise be treated as flag characters, to instead appear in the output.
       6.  The .FIGURE command shifts down to the location at which the  recipient's
           address is to be typed.
       7.  The .LEFT MARGIN command shifts the recipient's address to the right.
       8.  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.
       9.  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.
      10.  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.

      The following form envelope specification file could be used if the  envelopes
      were preprinted with the sender's address.

      .OPEN SPLICE.LOOP.NO HEADER.NO FILL.NO FLAG
      .FIGURE 11.LEFT MARGIN 35.SPLICE.RESET.END LOOP

      Either of the above form envelope specification files could be used  with  the
      following address specification splice file.

      Mr. John Doe
      22 Narrow Av.
      Wide Town, Conn.
      .END SPLICE
      Ms. Jane Doe
      44 Flat Street
      Hilly city, Mass.
      .END SPLICE
      .END LOOP


                               Automatically Numbered Lists
                               ------------- -------- -----

      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.
26                                       The FROFF Word Processor User's Guide


The start of each list is indicated in the source text  by  a  .LIST  command,
each  item within the list is preceded by a .LIST ELEMENT command, and the end
of the list is indicated by an .END LIST  command.   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.

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 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 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  command  after  the  .LIST
command.

For example, the following source text

.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.
      How to Perform Common Word Processing Tasks                                 27


      would be converted into the following 2 pages of formatted text when processed
      by this program.

      *****************************  *****************************
      *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.    *
      *****************************  *****************************


                                        Footnotes
                                        ---------

      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  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 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.

      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,  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.
28                                       The FROFF Word Processor User's Guide


However, the .PAGE  WIDTH  command  alters  the  right  margin  for  both  the
footnotes  and the surrounding text, and the .OFFSET command, if issued in the
surrounding text, moves the entire document, including any footnotes,  to  the
right.

The footnotes will be automatically numbered if  a  .NUMBER  FOOTNOTE  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 change the characters enclosing the footnote number inserted at the
point at which each footnote was declared.  A .DISPLAY FOOTNOTE command 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.

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 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, 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.

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.

An .INDENT FOOTNOTE command can be issued to change the  indentation  of  each
number inserted at the start of a footnote.

A .FOOTNOTE RULE command can be issued to cause each group of footnotes 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 be issued  instead  if
each  group  of  footnotes  is  to be preceded by a line containing some other
sequence of characters.  A .SPACE FOOTNOTE 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.
      How to Perform Common Word Processing Tasks                                 29


      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  first  footnote  is
      specified.   Either  a  .DO  FOOTNOTE or a .PRINT 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.

      For example, the following source text

      .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.

      Would be converted into the following 2 pages of formatted text when processed
      by this program.

      *****************************  *****************************
      *     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 -           *
      *****************************  *****************************
30                                       The FROFF Word Processor User's Guide


The commands in the above example perform the following functions:

 1.  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.
 2.  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.
 3.  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.
 4.  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.
 5.  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.
 6.  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.
 7.  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.
 8.  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.
 9.  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.
10.  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.
11.  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.
      How to Perform Common Word Processing Tasks                                 31


      12.  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.
      13.  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.
32                                       The FROFF Word Processor User's Guide


                                                                                  33


                                        Chapter 4

                           Concise Descriptions of the Commands



                        The Commands Listed in Alphabetical Order
                        --- -------- ------ -- ------------ -----

      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:

      1.  the  result  cannot  be  interpreted  as  any  other  command  or  as  the
          abbreviation of any other command, and

      2.  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.

      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.

      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.

      .AX     .APPENDIX rest of text on line
              Following text starts new appendix

      .AP     .AUTO PARAGRAPH number1, number2, number3
              Paragraphs are marked by blank lines or indentation

      .BB     .BEGIN BAR
              Place change bar along left if .ENABLE BAR active

      .B      .BLANK number
              Skip single spaced blank lines

      .BST    .BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
              Specifies second line at bottom of page

      .BT     .BOTTOM TITLE 'phrase1','phrase2','phrase3'
              Specifies first line at bottom of page

      .BR     .BREAK
              No more text is to be added to current line
34                                       The FROFF Word Processor User's Guide


.C      .CENTER number1, number2
        or
.C      .CENTRE number1, number2
        Center next line with original word spacing

.CNF    .CENTER NO FILL number1, number2
        or
.CNF    .CENTRE NO FILL number1, number2
        Center lines with original word spacing

.CH     .CHAPTER rest of text on line
        Following text starts new chapter

.CFN    .COLLECT FOOTNOTES
        Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE

.COM    .COMMENT rest of text on line
        Ignore rest of current line

.DBB    .DISABLE BAR
        No change bar at left from .BEGIN BAR to .END BAR

.DIX    .DISABLE INDEX
        Disable addition of items to index

.DAX    .DISPLAY APPENDIX type
        Type of numbers identifying appendix

.DCH    .DISPLAY CHAPTER type
        Type of numbers identifying chapter

.DLE    .DISPLAY ELEMENT 'character', type, 'character'
        Type of numbers identifying items in list

.DISPFN .DISPLAY FOOTNOTE'character',type,'character',number
        Type of numbers in footnote identifying footnote

.DISPX  .DISPLAY INDEX type
        Type of page numbers on pages containing index

.DHL    .DISPLAY LEVELS type1, type2, type3 etc.
        Types of numbers identifying level of header line

.DNM    .DISPLAY NUMBER type
        or
.DPG    .DISPLAY PAGE type
        Type of page numbers on pages not containing index

.DREF   .DISPLAY REFERENCE'character',type,'character',number
        Type of numbers in text identifying footnote

.DSP    .DISPLAY SUBPAGE type
        Type of numbers identifying subpage

.DFN    .DO FOOTNOTES
        List collected footnotes starting on new page
      Concise Descriptions of the Commands                                        35


      .DX     .DO INDEX rest of text on line
              List index starting on new page

      .EBB    .ENABLE BAR
              Mark change bar at left from .BEGIN BAR to .END BAR

      .EIX    .ENABLE INDEX
              Enable addition of items to index

      .EB     .END BAR
              Terminate change bar started by .BEGIN BAR

      .EFI    .END FILE
              No more text is to be read from current file

      .EFN    .END FOOTNOTE
              End footnote specification begun by .FOOTNOTE

      .ELS    .END LIST
              End automatically numbered list begun by .LIST

      .EL     .END LITERAL
              End unchanged copying of text begun by .LITERAL

      .ELO    .END LOOP
              End repeating of source text begun by .LOOP

      .EN     .END NOTE
              End embedded note begun by .NOTE

      .ESPL   .END SPLICE
              End reading from second file requested by .SPLICE

      .ES     .END SUBPAGE
              End subpage numbering requested by .SUBPAGE

      .Y      .ENTRY rest of text on line
              Specifies line to be in index without page number

      .FAPG   .FACING PAGE
              Start new page on facing side of paper

      .FG     .FIGURE number
              Leave room for insertion at this point in text

      .FGD    .FIGURE DEFERRED number
              Leave room for insertion after this point in text

      .F      .FILL
              Accumulate words on each line until line overflows

      .FF     .FIRST FORM
              Generate blank page at start

      .FT     .FIRST TITLE
              Generate titles on first page if .HEADERS ON active
36                                       The FROFF Word Processor User's Guide


.FL     .FLAGS
        or
.FL     .FLAGS ALL
        Allow most flag characters such as ^, \, & and _

.FLCA   .FLAGS CAPITALIZE 'character'
        Change flag marking words to be capitalized

.FLCOM  .FLAGS COMMENT 'character'
        Change flag marking comments following commands

.FLCON  .FLAGS CONTROL 'character'
        Change flag marking commands

.FLEC   .FLAGS END COMMAND 'character'
        Change flag separating commands from text

.FLEFN  .FLAGS END FOOTNOTE 'character'
        Change flag terminating footnote specifications

.FLHD   .FLAGS HALF DOWN 'character'
        Change flag marking characters to be half line down

.FLHU   .FLAGS HALF UP 'character'
        Change flag marking characters to be half line up

.FLX    .FLAGS INDEX 'character'
        Change flag marking words to be indexed

.FLLC   .FLAGS LOWER CASE 'character'
        Change flag marking letters to be lower case

.FLPG   .FLAGS PAGE 'character'
        Change flag marking page number locations in titles

.FLQ    .FLAGS QUOTE 'character'
        Change flag marking nonflag use of flag characters

.FLSP   .FLAGS SPACE 'character'
        Change flag marking spaces to be included in words

.FLSX   .FLAGS SUBINDEX 'character'
        Change flag marking ends of lines in index entry

.FLTE   .FLAGS TEXT 'character'
        Change flags delimiting phrases as command arguments

.FLUL   .FLAGS UNDERLINE 'character'
        Change flags marking characters to be underlined

.FLUC   .FLAGS UPPER CASE 'character'
        Change flags marking letters to be capitalized

.FN     .FOOTNOTE
        Following text to .END FOOTNOTE specifies footnote
      Concise Descriptions of the Commands                                        37


      .FNH    .FOOTNOTE HEADER rest of text on line
              Specifies line of text above each group of footnotes

      .FNR    .FOOTNOTE RULE 'character'
              Line of this character above each group of footnotes

      .FPG    .FORCE PAGE
              Start new page after producing footnotes and figures

      .HD     .HEADERS
              or
      .HD     .HEADERS ON
              Generate titles at top of second and following pages

      .HL     .HEADER LEVEL number, rest of text on line
              Generate automatically numbered header line

      .IMFN   .IMMEDIATE FOOTNOTES
              Generate footnotes on pages where referenced

      .I      .INDENT number
              Indent next output line

      .ILS    .INDENT ELEMENT number
              Indent start of .LIST ELEMENT item in range of .LIST

      .IFN    .INDENT FOOTNOTE number
              Indent start of each footnote

      .ILV    .INDENT LEVEL number
              Indent each header line specified by .HEADER LEVEL

      .INT    .INDENT NOTE number1, number2, number3
              Change first line indentation and margins of notes

      .X      .INDEX rest of text on line
              Specifies line to be in index with page number

      .IPG    .INITIAL PAGE
              Start new page not bearing titles at top or bottom

      .IW     .INPUT WIDTH number
              Changes number of characters allowed in input line

      .JO     .JOIN
              Attaches next word to preceding word

      .J      .JUSTIFY
              Insert spaces between words for even right margins

      .LF     .LAST FORM
              Generate blank page at end

      .LBST   .LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
              Specifies second line at bottom of left page
38                                       The FROFF Word Processor User's Guide


.LBT    .LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at bottom of left page

.LM     .LEFT MARGIN number
        Changes left margin

.LNF    .LEFT NO FILL number1, number2
        Left justify lines with original word spacing

.LP     .LEFT PAGE
        Start new page with left page titles

.LTST   .LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3'
        Specifies second line at top of left page

.LTT    .LEFT TOP TITLE 'phrase1','phrase2','phrase3'
        Specifies first line at top of left page

.LS     .LIST number, 'up to 6 characters'
        Items in numbered list are marked by .LIST ELEMENT

.LE     .LIST ELEMENT
        Before each item in automatically numbered list

.LT     .LITERAL
        All lines, even initial period, are copied unchanged

.LO     .LOOP number
        Following source text is repeated several times

.LC     .LOWER CASE
        Capital letters are to be translated to lower case

.MFG    .MOVABLE FIGURE number
        Insert subsequent blank lines without breaking line

.MPG    .MOVABLE PAGE number
        Insert subsequent blank pages without breaking line

.NAP    .NO AUTO PARAGRAPH
        Blank lines or indentation do not mark new paragraph

.NF     .NO FILL number1, number2
        Left justify lines with original word spacing

.NFL    .NO FLAGS
        or
.NFL    .NO FLAGS ALL
        Most flag characters are used as ordinary characters

.NFLCA  .NO FLAGS CAPITALIZE
        No flag can mark words to be capitalized

.NFLCOM .NO FLAGS COMMENT
        No flag can mark comments following commands
      Concise Descriptions of the Commands                                        39


      .NFLCON .NO FLAGS CONTROL
              No flag can mark commands

      .NFLEC  .NO FLAGS END COMMAND
              No flag can separate commands from text

      .NFLEFN .NO FLAGS END FOOTNOTE
              No flag can terminate footnote specifications

      .NFLHD  .NO FLAGS HALF DOWN 'character'
              No flag can mark characters to be half line down

      .NFLHU  .NO FLAGS HALF UP 'character'
              No flag can mark characters to be half line up

      .NFLX   .NO FLAGS INDEX
              No flag can mark words to be indexed

      .NFLLC  .NO FLAGS LOWER CASE
              No flag can mark letters to be lower case

      .NFLPG  .NO FLAGS PAGE
              No flag can mark page number locations in titles

      .NFLQ   .NO FLAGS QUOTE
              No flag can mark nonflag use of flag characters

      .NFLSP  .NO FLAGS SPACE
              No flag can mark spaces to be included in words

      .NFLSX  .NO FLAGS SUBINDEX
              No flag can mark ends of lines in index entry

      .NFLTE  .NO FLAGS TEXT
              No flag can delimit phrases as command arguments

      .NFLUL  .NO FLAGS UNDERLINE
              No flag can mark characters to be underlined

      .NFLUC  .NO FLAGS UPPER CASE
              No flag can mark letters to be capitalized

      .NFNH   .NO FOOTNOTE HEADER
              No line of text is above each group of footnotes

      .NHD    .NO HEADERS
              No titles are placed at top of any pages

      .NJ     .NO JUSTIFY
              No extra spaces are added between words on each line

      .NNM    .NO NUMBER
              No page number is right of title specified by .TITLE

      .NNFN   .NO NUMBER FOOTNOTE
              No serial numbers are inserted at start of footnotes
40                                       The FROFF Word Processor User's Guide


.NOO    .NO OFFSET
        No extra offset of entire output text

.NPA    .NO PAGING
        Page length is not enforced

.NPR    .NO PERIOD
        No extra spaces after sentences

.NST    .NO SUBTITLE
        Cancel 2nd line at top of each page

.NTI    .NO TITLE
        Cancel first line at top of each page

.NULS   .NO UNDERLINE SPACE
        Do not underline spaces between underlined words

.NT     .NOTE rest of text on line
        Single space following text and indent both sides

.NM     .NUMBER number
        or
.NMPG   .NUMBER PAGE number
        Specifies number of next page

.NMAX   .NUMBER APPENDIX number
        Specifies number of next appendix

.NMCH   .NUMBER CHAPTER number
        Specifies number of next chapter

.NMFN   .NUMBER FOOTNOTE number
        Specifies that footnotes are to be serially numbered

.NMLV   .NUMBER LEVEL number1, number2, number3, etc.
        Specifies value of next numbered .HEADER LEVEL line

.NMLS   .NUMBER LIST number1, number2
        Specifies value of next .LIST ELEMENT item in list

.NMSPG  .NUMBER SUBPAGE number
        Specifies value of next subpage

.O      .OFFSET number
        Specifies extra offset of entire output text

.OLPG   .OFFSET LEFT PAGE number
        Specifies extra offset of text on left pages

.ORPG   .OFFSET RIGHT PAGE number
        Specifies extra offset of text on right pages

.OS     .OPEN SPLICE
        Causes user to be asked for name of next splice file
      Concise Descriptions of the Commands                                        41


      .PG     .PAGE
              Start new page

      .PGL    .PAGE LENGTH number
              Specifies maximum number of lines on a page

      .PS     .PAGE SIZE number1, number2
              Specifies length and width of page

      .PGW    .PAGE WIDTH number
              Specifies number of characters across width of page

      .PA     .PAGING
              Start new page whenever next line overflows page

      .P      .PARAGRAPH number1, number2, number3
              Following text starts new paragraph

      .PR     .PERIOD
              Extra spaces are inserted after sentences

      .PFN    .PRINT FOOTNOTES
              List collected footnotes continuing on current page

      .PX     .PRINT INDEX rest of text on line
              List index continuing on current page

      .RE     .RESET
              Restore most original settings except loop count

      .R      .RIGHT number1, number2
              Right justify next line with original word spacing

      .RBST   .RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
              Specifies second line at bottom of right page

      .RBT    .RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3'
              Specifies first line at bottom of right page

      .RM     .RIGHT MARGIN number
              Specifies rightmost column if .FILL active

      .RNF    .RIGHT NO FILL number1, number2
              Right justify lines with original word spacing

      .RP     .RIGHT PAGE
              Start new page with right page titles

      .RTST   .RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3'
              Specifies second line at top of right page

      .RTT    .RIGHT TOP TITLE 'phrase1','phrase2','phrase3'
              Specifies first line at top of right page

      .RU     .RULE '1 or more characters', number1, number2
              Rules a line between the indicated columns
42                                       The FROFF Word Processor User's Guide


.SEQ    .SEQUENCE 'characters'
        Specifies sorting order of characters in index

.S      .SKIP number
        Skip multiple spaced blank lines

.SLP    .SKIP LEFT PAGE
        Start new right page, generating left page if needed

.SKPG   .SKIP PAGE number
        Start new page after generating extra pages

.SRP    .SKIP RIGHT PAGE
        Start new left page, generating right page if needed

.SPAX   .SPACE APPENDIX number1, number2, number3
        Change number of blank lines at start of appendix

.SPB    .SPACE BOTTOM number
        Change number of blank lines at bottom of page

.SPCH   .SPACE CHAPTER number1, number2, number3
        Change number of blank lines at start of chapter

.SPFN   .SPACE FOOTNOTE number1, number2, number3
        Change number of blank lines before footnotes

.SPH    .SPACE HEADER number1, number2
        Change number of blank lines around header lines

.SPX    .SPACE INDEX number1, number2, number3, number4
        Change number of blank lines at start of index

.SPN    .SPACE NOTE number1, number2, number3
        Change number of blank lines around notes

.SPT    .SPACE TOP number1, number2, number3
        Change number of blank lines at top of each page

.SP     .SPACING number
        Change spacing between lines

.SPL    .SPLICE number
        Insert text from second file

.SD     .STANDARD number
        Restores some original settings

.STHL   .STYLE HEADERS number1, number2, number3, number4
        Changes capitalization and run-in of header lines

.STX    .STYLE INDEX number1, number2
        Changes capitalization and format of index

.SPG    .SUBPAGE
        Start new subpage
      Concise Descriptions of the Commands                                        43


      .ST     .SUBTITLE rest of text on line
              Specifies second line at top of each page

      .TS     .TAB STOPS number1, number2, number3, etc.
              Changes columns corresponding to tab characters

      .TL     .TELL rest of text on line
              Types message on controlling terminal

      .TP     .TEST PAGE number
              New page if not enough room for single spaced lines

      .TSP    .TEST SPACING number
              New page if not enough room for multiple spaced lines

      .TI     .TITLE rest of text on line
              Specifies first line at top of each page

      .TST    .TOP SUBTITLE 'phrase1','phrase2','phrase3'
              Specifies second line at top of each page

      .TT     .TOP TITLE 'phrase1','phrase2','phrase3'
              Specifies first line at top of each page

      .U      .UNDERLINE
              Word or phrase on next line is to be underlined

      .ULS    .UNDERLINE SPACE
              Underline spaces between words being underlined

      .UC     .UPPER CASE
              Cases of alphabetic letters are retained
44                                       The FROFF Word Processor User's Guide


                                                                                  45


                                        Chapter 5

                          Complete Descriptions of the Commands



                        The Commands Listed in Alphabetical Order
                        --- -------- ------ -- ------------ -----

      .APPENDIX rest of text on line
           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.

           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.

           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 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.

      .AUTO PARAGRAPH number1, number2, number3
           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 or
           by a line which starts with one or more spaces  at  the  left  end.   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  PARAGRAPH  command  is
           issued.  The arguments are the same as for the .PARAGRAPH command.

      .BEGIN BAR
           Providing that change bars are enabled, the following text,  through  the
           next  appearance  of  an .END BAR command, is to bear a change bar 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.

      .BLANK number
           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 page.  The .FIGURE
46                                       The FROFF Word Processor User's Guide


     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.

     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
     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.

     .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.

.BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
     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.

     Phrase1 is the word or phrase to be left justified in the  subtitle  line
     at the bottom of each page.

     Phrase2 is the word or phrase to be centered in the subtitle line at  the
     bottom of each page.

     Phrase3 is the word or phrase to be right justified in the subtitle  line
     at the bottom of each page.

     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.

     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.
      Complete Descriptions of the Commands                                       47


           No bottom subtitle is initially active.

      .BOTTOM TITLE 'phrase1','phrase2','phrase3'
           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.

           Phrase1 is the word or phrase to be left justified in the title  line  at
           the bottom of each page.

           Phrase2 is the word or phrase to be centered in the  title  line  at  the
           bottom of each page.

           Phrase3 is the word or phrase to be right justified in the title line  at
           the bottom of each page.

           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.

           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.

           No bottom title is initially active.

      .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  following
           lines of source text will begin the specification of a new output line.

      .CENTER number1, number2
           or
      .CENTRE number1, number2
           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.

           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
           changing  the number of words on the line and without changing the number
           of spaces before and between the words on the line.

           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.
48                                       The FROFF Word Processor User's Guide


     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.

     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.

     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.

     .LEFT NO FILL or .NO FILL
          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
     .CENTER
          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
     .CENTER NO FILL
          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
     .RIGHT
          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
     .RIGHT NO FILL
          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

.CENTER NO FILL number1, number2
     or
.CENTRE NO FILL number1, number2
     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
      Complete Descriptions of the Commands                                       49


           FILL and .RIGHT NO FILL commands.

           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 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.

           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.

      .CHAPTER rest of text on line
           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.

           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 bears no
           title) unless the top title has been declared by some version of the .TOP
           TITLE command.

           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  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.

      .COLLECT FOOTNOTES
           Footnotes are to be collected and printed  together  when  the  next  .DO
           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.
50                                       The FROFF Word Processor User's Guide


.COMMENT rest of text on line
     Causes the remainder of the line to be  ignored  even  if  this  contains
     other commands or a semicolon.

.DISABLE BAR
     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 command
     applied a small offset to allow room for change bars,  and  the  .DISABLE
     BAR command removes this offset.  Change bars are initially disabled.

.DISABLE INDEX
     Prevents the addition of any more items to the index until  a  subsequent
     .ENABLE  INDEX  command  is  issued.  Any items already inserted into 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 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  be  copied  into  the  resulting
     document  regardless  of  whether  an .ENABLE INDEX command or a .DISABLE
     INDEX command has been issued the most recently.

     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.

.DISPLAY APPENDIX type
     (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)

     Causes the appendix numbers to be generated in the indicated system.  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.

     .DISPLAY APPENDIX LU is the default.

.DISPLAY CHAPTER type
     (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)

     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.

     .DISPLAY CHAPTER D is the default.
      Complete Descriptions of the Commands                                       51


      .DISPLAY ELEMENT 'character', type, 'character'
           (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)

           Causes the numbers which identify the items specified  by  .LIST  ELEMENT
           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.

           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.

           .DISPLAY ELEMENT,D,'.' is the default.

      .DISPLAY FOOTNOTE 'character', type, 'character', number
           (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)

           Causes the serial numbers which are inserted into the start of  footnotes
           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.

           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.

           The number, if present following the .DISPLAY FOOTNOTE command, specifies
           whether the serial number which is inserted at the start 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
52                                       The FROFF Word Processor User's Guide


     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.

     Number = 0, gives serial numbers which are not shifted above the ordinary
     text and which are not attached to the following words.
     Number = 1, gives serial numbers which are shifted half a line above  the
     ordinary text, but which are not attached to the following words.
     Number = 2, gives serial numbers which  are  attached  to  the  following
     words, but which are not shifted above the ordinary text.
     Number = 3, gives serial numbers which are shifted half a line above  the
     ordinary text and which are attached to the following words.

     .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.

     .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.

     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.

.DISPLAY INDEX type
     (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)

     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.

     .DISPLAY INDEX D is the default.

.DISPLAY LEVELS type1, type2, type3 etc.
     (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)

     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.
      Complete Descriptions of the Commands                                       53


           .DISPLAY LEVELS D,D,D,D,D,D is the default.

      .DISPLAY NUMBER type
           or
      .DISPLAY PAGE type
           (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)

           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.

      .DISPLAY REFERENCE 'character', type, 'character', number
           (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)

           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.

           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.

           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
           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.

           Number = 0, gives serial numbers which are not shifted above the ordinary
           text and which are not attached to the previous words.
           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.
           Number = 2, gives serial numbers  which  are  attached  to  the  previous
           words, but which are not shifted above the ordinary text.
           Number = 3, gives serial numbers which are shifted half a line above  the
           ordinary text and which are attached to the previous words.
54                                       The FROFF Word Processor User's Guide


     .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.

     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.

.DISPLAY SUBPAGE type
     (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)

     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.

.DO FOOTNOTES
     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  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.

.DO INDEX rest of text on line
     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 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.

.ENABLE BAR
     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 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.
      Complete Descriptions of the Commands                                       55


      .ENABLE INDEX
           Enables the  insertion  of  additional  items  into  the  index  until  a
           subsequent  .DISABLE  INDEX command is issued.  Items to be inserted 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.

           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.

      .END BAR
           The following text is not to bear a change bar at  the  left  edge.   The
           .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.

      .END FILE
           Indicates that no more text is to be read  from  the  file  in  which  it
           appears.  Not necessary if the entire file is to be processed.

      .END FOOTNOTE
           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  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.

      .END LIST
           Terminates the specification of an automatically numbered list begun 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.

      .END LITERAL
           Terminates the specification of a section of text which is to  be  copied
           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.

      .END LOOP
           If in the main input file, indicates that the  text  starting  after  the
           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
56                                       The FROFF Word Processor User's Guide


     letters.

.END NOTE
     Terminates the specification  of  a  note  begun  by  a  preceding  .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.

.END SPLICE
     Ignored if in the main source  file.   In  the  splice  file,  terminates
     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.

.END SUBPAGE
     Terminates the specification of the contents of a  sequence  of  subpages
     begun  by a preceding .SUBPAGE command.  The page number on the next 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.

.ENTRY rest of text on line
     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  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.

.FACING PAGE
     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.

     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
      Complete Descriptions of the Commands                                       57


           command or a .FACING PAGE command 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.

      .FIGURE number
           The line of text currently being constructed is  terminated  and  written
           into  the  resulting document, then the indicated number of single spaced
           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.

           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.

           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.

      .FIGURE DEFERRED number
           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.

           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.
58                                       The FROFF Word Processor User's Guide


     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.

.FILL
     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  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.

.FIRST FORM
     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.

.FIRST TITLE
     If issued at the start of the source file, then the first page of  output
     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.

.FLAGS
     or
.FLAGS ALL
     Most flag characters are enabled in the source text.  Does not change 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.

     .FLAGS ALL is the default.

.FLAGS CAPITALIZE 'character'
     Words in which each letter  is  to  be  capitalized  can  be  immediately
     preceded  by the specified character.  The less than character is assumed
     if no character follows the .FLAGS CAPITALIZE command.  Opposite  of  .NO
     FLAGS CAPITALIZE.

     .NO FLAGS CAPITALIZE is the default.
      Complete Descriptions of the Commands                                       59


      .FLAGS COMMENT 'character'
           The specified character can precede a comment which appears to the  right
           of a command.  Opposite of .NO FLAGS COMMENT.

           .FLAGS COMMENT '_!' is the default.

      .FLAGS CONTROL 'character'
           Commands in the  source  text  are  indicated  by  having  the  specified
           character in the first column.  Opposite of .NO FLAGS CONTROL.

           .FLAGS CONTROL '_.' is the default.

      .FLAGS END COMMAND 'character'
           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.

           .FLAGS END COMMAND '_;' is the default.

      .FLAGS END FOOTNOTE 'character'
           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.

           .FLAGS END FOOTNOTE '_!' is the default.

           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.

      .FLAGS HALF DOWN 'character'
           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 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.

           If the printer or terminal upon which the output text  is  displayed  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
           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
60                                       The FROFF Word Processor User's Guide


     current line and the next line even if the text is being single spaced.

     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.

.FLAGS HALF UP 'character'
     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 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.

     If the printer or terminal upon which the output text  is  displayed  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
     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.

     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.

.FLAGS INDEX 'character'
     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.

     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
      Complete Descriptions of the Commands                                       61


           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.

           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.

           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.

           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.   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.

           The .FLAGS INDEX command is the opposite of the .NO FLAGS INDEX  command,
           which is the default.

      .FLAGS LOWER CASE 'character'
           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.

           .FLAGS LOWER CASE '_\' is the default.
62                                       The FROFF Word Processor User's Guide


.FLAGS PAGE 'character'
     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.

     .FLAGS PAGE '_>' is the default.

.FLAGS QUOTE 'character'
     The specified character can precede any special character which is to  be
     treated as an ordinary character.  Opposite of .NO FLAGS QUOTE.

     .FLAGS QUOTE '__' is the default.

.FLAGS SPACE 'character'
     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.

     .FLAGS SPACE '_#' is the default.

.FLAGS SUBINDEX 'character'
     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.

     .FLAGS SUBINDEX '_>' is the default.

     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.

.FLAGS TEXT 'character'
     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
      Complete Descriptions of the Commands                                       63


           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.

           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.

      .FLAGS UNDERLINE 'character'
           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 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.

           .FLAGS UNDERLINE '_&' is the default.

      .FLAGS UPPER CASE 'character'
           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.

           .FLAGS UPPER CASE '_^' is the default.

      .FOOTNOTE
           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.

      .FOOTNOTE HEADER rest of text on line
           The text specified by the .FOOTNOTE HEADER command is to  be  used  as  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.
64                                       The FROFF Word Processor User's Guide


.FOOTNOTE RULE 'character'
     A line formed by repeating the specified character is to be  ruled  above
     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.

.FORCE PAGE
     (Alias is .FPG)

     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 contain nothing
     else.  The .FORCE PAGE command implies a .BREAK command.

     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.

     For example, the source text

     .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.

     would be converted into the following 3  pages  of  formatted  text  when
     processed by this program.

     *****************  *****************  *****************
     *               *  *         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.  *  *               *
     *****************  *****************  *****************

     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
      Complete Descriptions of the Commands                                       65


           instead,  then  the  text following the .PAGE command could appear on the
           second page above the continuation of the footnote.

           For example, the source text

           .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.

           would be converted into the following 3  pages  of  formatted  text  when
           processed by this program.

           *****************  *****************  *****************
           *               *  *         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.  *  *               *
           *****************  *****************  *****************

           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.

      .HEADERS
           or
      .HEADERS ON
           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 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.

           The .HEADERS  command  is  the  opposite  of  the  .NO  HEADERS  command.
66                                       The FROFF Word Processor User's Guide


     .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.

.HEADER LEVEL number, rest of text on line
     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 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.

     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 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.

.IMMEDIATE FOOTNOTES
     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.

.INDENT number
     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.

.INDENT ELEMENT number
     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
      Complete Descriptions of the Commands                                       67


           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.

           .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.

      .INDENT FOOTNOTE number
           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.

           .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.

      .INDENT LEVEL number
           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.

      .INDENT NOTE number1, number2, number3
           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.

           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 .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.
68                                       The FROFF Word Processor User's Guide


     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.

     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.

     .INDENT NOTE 0,4,-4 is the default.

.INDEX rest of text on line
     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.

     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.

.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.

     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

     text of preceding section
          .
          .
     .PAGE.INITIAL PAGE.SKIP LEFT PAGE.INITIAL PAGE
          .
          .
     text of new section

     If the skipped left pages can bear normal titles, then  the  sequence  of
      Complete Descriptions of the Commands                                       69


           commands could instead be

           text of preceding section
                .
                .
           .SKIP LEFT PAGE.INITIAL PAGE
                .
                .
           text of new section

      .INPUT WIDTH number
           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 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.

      .JOIN
           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.

           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.

           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.

           The .JOIN command is ignored if any of the following conditions apply.

           1.  A .FOOTNOTE command is active.

           2.  No source text has been specified since the last .BREAK  command,  or
               since the last command which implied a .BREAK command, was issued.

           3.  A .BREAK command, or any command which implies a  .BREAK  command  is
               encountered before the next source line which is not a command.
70                                       The FROFF Word Processor User's Guide


     For example, the source text

     Please send this memo to
     .SPLICE 1
     .JOIN
      .

     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.

.JUSTIFY
     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.

.LAST FORM
     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.

.LEFT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
     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.

.LEFT BOTTOM TITLE 'phrase1','phrase2','phrase3'
     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.

.LEFT MARGIN number
     NOTE:  The .OFFSET command should be used instead  of  the  .LEFT  MARGIN
     command if the entire document is to be shifted to the right.

     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.

     .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.
      Complete Descriptions of the Commands                                       71


      .LEFT NO FILL number1, number2
           or
      .NO FILL number1, number2
           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.

      .LEFT PAGE
           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.

      .LEFT TOP SUBTITLE 'phrase1','phrase2','phrase3'
           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.

      .LEFT TOP TITLE 'phrase1','phrase2','phrase3'
           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.

      .LIST number, 'up to 6 characters'
           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.

           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.
72                                       The FROFF Word Processor User's Guide


.LIST ELEMENT
     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.

.LITERAL
     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.

     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 LITERAL command is
     copied into the output unchanged.

.LOOP number
     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 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.

     If the .LOOP command is used to construct form  letters,  then  a  .RESET
     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.
      Complete Descriptions of the Commands                                       73


      .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  the
           appearance  of  2  back  slashes.   Opposite of .UPPER CASE, which is the
           default.

      .MOVABLE FIGURE number
           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.

           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.

           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.

      .MOVABLE PAGE number
           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.

           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.
74                                       The FROFF Word Processor User's Guide


.NO AUTO PARAGRAPH
     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.

.NO FILL number1, number2
     or
.LEFT NO FILL number1, number2
     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 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.

     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.

     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.

     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.

.NO FLAGS
     or
.NO FLAGS 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.
      Complete Descriptions of the Commands                                       75


           .FLAGS ALL is the default.

      .NO FLAGS CAPITALIZE
           No special character can be used to indicate words in which  each  letter
           is to be capitalized.  Opposite of .FLAGS CAPITALIZE.

           .NO FLAGS CAPITALIZE is the default.

      .NO FLAGS COMMENT
           A comment cannot appear to the right of a command.   Opposite  of  .FLAGS
           COMMENT.

           .FLAGS COMMENT '_!' is the default.

      .NO FLAGS CONTROL
           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.

           .FLAGS CONTROL '_.' is the default.

      .NO FLAGS END COMMAND
           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.

           .FLAGS END COMMAND '_;' is the default.

      .NO FLAGS END FOOTNOTE
           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.

           .FLAGS END FOOTNOTE '_!' is the default.

      .NO FLAGS HALF DOWN
           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.

           .NO FLAGS HALF DOWN is the default.

      .NO FLAGS HALF UP
           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

           .NO FLAGS HALF UP is the default.
76                                       The FROFF Word Processor User's Guide


.NO FLAGS INDEX
     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.

     .NO FLAGS INDEX is the default.

.NO FLAGS LOWER CASE
     No special character can be used to indicate single letters which are  to
     be translated into lower case.  Opposite of .FLAGS LOWER CASE.

     .FLAGS LOWER CASE '_\' is the default.

.NO FLAGS PAGE
     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.

     .FLAGS PAGE '_>' is the default.

.NO FLAGS QUOTE
     No special character can precede any special character  which  is  to  be
     treated as an ordinary printing character.  Opposite of .FLAGS QUOTE.

     .FLAGS QUOTE '__' is the default.

.NO FLAGS SPACE
     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.

     .FLAGS SPACE '_#' is the default.

.NO FLAGS SUBINDEX
     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.

     .FLAGS SUBINDEX '_>' is the default.

.NO FLAGS TEXT
     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.

     .NO FLAGS TEXT is the default.

.NO FLAGS UNDERLINE
     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.

     .FLAGS UNDERLINE '_&' is the default.
      Complete Descriptions of the Commands                                       77


      .NO FLAGS UPPER CASE
           No special character can be used to indicate single letters which are  to
           be translated into upper case.  Opposite of .FLAGS UPPER CASE.

           .FLAGS UPPER CASE '_^' is the default.

      .NO FOOTNOTE HEADER
           No header line is to appear above the footnotes in the output.   Opposite
           of .FOOTNOTE HEADER.  .NO FOOTNOTE HEADER is the default.

      .NO HEADERS
           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.

      .NO JUSTIFY
           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.

      .NO NUMBER
           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.

      .NO NUMBER FOOTNOTE
           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.

      .NO OFFSET
           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.

      .NO PAGING
           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.
78                                       The FROFF Word Processor User's Guide


.NO PERIOD
     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.

.NO SUBTITLE
     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.

.NO TITLE
     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.

.NO UNDERLINE SPACE
     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.

.NOTE rest of text on line
     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.

     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.

     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
      Complete Descriptions of the Commands                                       79


           command.

           A .LEFT MARGIN command and/or a  .RIGHT  MARGIN  command  can  be  issued
           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 instead.

           A .SPACING command can be issued within a note to temporarily change  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.

           A .PARAGRAPH command with a following number can be issued within 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 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.

           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.  The proper
           sequence of commands would be

           .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

           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.

      .NUMBER number
           or
      .NUMBER PAGE number
           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
80                                       The FROFF Word Processor User's Guide


     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.

     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  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.

     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 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.

.NUMBER 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.

.NUMBER CHAPTER number
     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.
      Complete Descriptions of the Commands                                       81


           If a .NUMBER CHAPTER command has not been issued, then the first  chapter
           will be chapter 1 or A.

      .NUMBER FOOTNOTE number
           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.

           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
           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.

           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
           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.

      .NUMBER LEVEL number1, number2, number3, etc.
           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.

      .NUMBER LIST number1, number2
           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.

           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
82                                       The FROFF Word Processor User's Guide


     commands.  Number1 must not be greater than  the  depth  of  the  current
     list.

     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.

.NUMBER SUBPAGE number
     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.

.OFFSET number
     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.

.OFFSET LEFT PAGE number
     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.

.OFFSET RIGHT PAGE number
     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.
      Complete Descriptions of the Commands                                       83


      .OPEN SPLICE
           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.

      .PAGE
           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.

           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  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.

           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.

           .END SUBPAGE causes the page numbers of the following pages to  not  bear
                the  letter  suffixes  which were included after a previous .SUBPAGE
                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.

           .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 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.

           .FORCE  PAGE  causes  any  immediate  footnotes  for  which   there   was
                insufficient  room  on the previous page to be generated on an extra
                page or pages before the next output text is place on a new page.

           .INITIAL PAGE causes the new page to be treated as an initial page  which
                will not bear page titles.

           .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
                .FACING PAGE commands, the association of odd and even page  numbers
84                                       The FROFF Word Processor User's Guide


          with  the  particular  sides of the paper is established by the page
          number of the new page.

     .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
          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.

     .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 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 LEFT PAGE generates an empty page bearing titles and  subtitles  if
          the  next  output  text  would  otherwise have been placed on a left
          page.

     .SKIP PAGE generates 1 or more empty pages bearing titles  and  subtitles
          before the next output text is placed on a new page.

     .SKIP RIGHT PAGE generates an empty page bearing titles and subtitles  if
          the  next  output  text  would otherwise have been placed on a right
          page.

     .SUBPAGE causes a letter suffix to be attached to each page number.  This
          suffix  is  incremented  for  each following page until a subsequent
          .END SUBPAGE command is encountered.

     .TEST PAGE causes a new page to be begun if, and only if,  there  is  not
          sufficient  room  on  the  current  page  for  a specified number of
          additional single spaced  lines.   A  .BREAK  command  is,  however,
          always implied.

     .TEST SPACING causes a new page to be begun if, and only if, there 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.

.PAGE LENGTH number
     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.

     .PAGE LENGTH 58 is the default.
      Complete Descriptions of the Commands                                       85


      .PAGE SIZE number1, number2
           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.

           The .PAGE SIZE command specifies the  height  and  width  of  the  output
           pages.

           Number1, if specified, becomes the new number of lines on an output page,
           including the lines used for top and bottom titles and subtitles.

           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.

           .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.

      .PAGE WIDTH number
           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 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.

           .PAGE WIDTH 60 is the default.

      .PAGING
           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.

      .PARAGRAPH number1, number2, number3
           The next line of text is to start a new paragraph.

           Number1 is the number of spaces by which the first line of the  paragraph
           is to be indented from the left margin.

           Number2 is the number of single spaced blank lines which are  to  precede
           the first line of the paragraph.

           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.

           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
86                                       The FROFF Word Processor User's Guide


     to  the 3 commands .BLANK number2, .TEST SPACING number3, .INDENT number1
     issued in this order.

     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.

.PERIOD
     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.

.PRINT 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.

.PRINT INDEX rest of text on line
     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.

.RESET
     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.
      Complete Descriptions of the Commands                                       87


      .RIGHT number1, number2
           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.

           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.

           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.

           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.

      .RIGHT BOTTOM SUBTITLE 'phrase1','phrase2','phrase3'
           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.

      .RIGHT BOTTOM TITLE 'phrase1','phrase2','phrase3'
           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.

      .RIGHT MARGIN number
           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.

      .RIGHT NO FILL number1, number2
           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.

           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
88                                       The FROFF Word Processor User's Guide


     changing the original spacing before and between the words on the line.

     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.

     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.

.RIGHT PAGE
     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.

.RIGHT TOP SUBTITLE 'phrase1','phrase2','phrase3'
     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.

.RIGHT TOP TITLE 'phrase1','phrase2','phrase3'
     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.

.RULE '1 or more characters', number1, number2
     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.

     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.
      Complete Descriptions of the Commands                                       89


           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.

           .RULE'-' would rule a line of minus signs  between  the  left  and  right
           margins.

           .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.

           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.

      .SEQUENCE 'characters'
           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.

           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.

           .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 number
           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
90                                       The FROFF Word Processor User's Guide


     nor the .SKIP command is active at the top of a  new  output  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.

     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.

     .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 LEFT PAGE
     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 PAGE number
     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.

     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.

     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.
      Complete Descriptions of the Commands                                       91


      .SKIP RIGHT PAGE
           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.

      .SPACE APPENDIX number1, number2, number3
           Modifies the number of blank lines appearing on  the  first  page  of  an
           appendix.

           Number1 indicates the number of blank lines to appear on the  first  page
           of an appendix between the page header and the word APPENDIX.

           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.

           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.

           .SPACE APPENDIX 9,1,3 is the default.

      .SPACE BOTTOM number
           Modifies the number of blank lines appearing at  the  bottom  of  a  page
           which bears a bottom title and/or a bottom subtitle.
           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.

           .SPACE BOTTOM 1 is the default.

      .SPACE CHAPTER number1, number2, number3
           Modifies the number of blank lines appearing  on  the  first  page  of  a
           chapter.

           Number1 indicates the number of blank lines to appear on the  first  page
           of a chapter between the page header and the word CHAPTER.

           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.
92                                       The FROFF Word Processor User's Guide


     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.

     .SPACE CHAPTER 9,1,3 is the default.

.SPACE FOOTNOTE number1, number2, number3
     Modifies the number of blank lines appearing before a list  of  footnotes
     and between the footnotes in a list of footnotes.

     Number1 indicates the number of extra blank lines to  appear  before  the
     footnote header line.

     Number2 indicates the number of extra blank lines  to  appear  after  the
     footnote header line.

     Number3 indicates the number of  extra  blank  lines  to  appear  between
     successive footnotes on the same page.

     .SPACE FOOTNOTE 1,0,0 is the default.

.SPACE HEADER number1, number2
     Modifies the number of  blank  lines  appearing  before  and  after  each
     subsection heading specified by a .HEADER LEVEL command.

     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.

     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.

     .SPACE HEADER 3,1 is the default.

.SPACE INDEX number1, number2, number3, number4
     Modifies the number of blank lines appearing at the start of each index.

     Number1 specifies the number of blank lines to appear  above  the  header
     line in an index constructed by a .DO INDEX command.

     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.

     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.
      Complete Descriptions of the Commands                                       93


           Number4 specifies the number of blank lines  to  appear  after  an  index
           constructed by a .PRINT INDEX command.

           .SPACE INDEX 0,4,2,2 is the default.

      .SPACE NOTE number1, number2, number3
           Modifies the number of blank lines appearing before and after notes which
           are delimited by the .NOTE and .END NOTE commands.

           Number1 specifies the number of blank lines, in addition  to  the  normal
           line spacing, which are to appear before a note.

           Number2 specifies the number of blank lines which are to  appear  between
           the title of the note and the text of the note.

           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.

           .SPACE NOTE 2,1,2 is the default.

      .SPACE TOP number1, number2, number3
           Modifies the number of blank lines appearing at the top of each page.

           Number1 indicates the number of blank lines which are to  appear  at  the
           top of each page above the top title.

           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.

           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.

           .SPACE TOP 0,2,3 is the default.

      .SPACING number
           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.

      .SPLICE number
           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.

      .STANDARD number
           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
94                                       The FROFF Word Processor User's Guide


     other than 60 or 70.

.STYLE HEADERS number1, number2, number3, number4
     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.

     Number1 forces wrap-around format for depths  equal  to  this  value  and
     above.

     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.

     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.

     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.

     .STYLE HEADERS 3,1,6,2 is the default.

.STYLE INDEX number1, number2
     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.

     Number1 specifies the overall appearance of the index.

     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.

     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.

     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
      Complete Descriptions of the Commands                                       95


           index on each page.

           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
           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.

           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.

           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.

           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.

           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.

      .SUBPAGE
           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.

      .SUBTITLE rest of text on line
           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.
96                                       The FROFF Word Processor User's Guide


.TAB STOPS number1, number2, number3, etc.
     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.

.TELL rest of text on line
     or, if the .FLAGS TEXT command is active
.TELL 'phrase'
     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.

     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.

.TEST PAGE number
     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.
      Complete Descriptions of the Commands                                       97


      .TEST SPACING number
           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.

      .TITLE rest of text on line
           or, if the .FLAGS TEXT command is active,
      .TITLE 'phrase'
           (Alias is .TI,  however,  .T  is  also  accepted  if  the  next  printing
           character on the line is not alphabetic)

           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.

           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.

           1.  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.

           2.  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.

           3.  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"
98                                       The FROFF Word Processor User's Guide


         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.

     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.

     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.

     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.

     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.

     For example, the source text

     .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.

     would be converted into the following 3  pages  of  formatted  text  when
     processed by this program.
      Complete Descriptions of the Commands                                       99


           *****************  *****************  *****************
           *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.    *
           *               *  *               *  *               *
           *               *  *               *  *               *
           *               *  *               *  *               *
           *               *  *               *  *               *
           *****************  *****************  *****************

      .TOP SUBTITLE 'phrase1','phrase2','phrase3'
           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.

           Phrase1 is the word or phrase to be left justified in the  subtitle  line
           at the top of each page.

           Phrase2 is the word or phrase to be centered in the subtitle line at  the
           top of each page.

           Phrase3 is the word or phrase to be right justified in the subtitle  line
           at the top of each page.

           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.

           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.

           No top subtitle is initially active.

      .TOP TITLE 'phrase1','phrase2','phrase3'
           (Alias is .TT)

           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 > 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.
100                                      The FROFF Word Processor User's Guide


     The 3 arguments of the .TOP TITLE command specify the following  portions
     of the title.

     Phrase1 specifies the characters which are to be left  justified  in  the
     titles so that the leftmost character appears in column 1.

     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.

     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.

     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.

     .TOP TITLE,,'Page >' is the default.

     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 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.

     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.

     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.
      Complete Descriptions of the Commands                                      101


           For example, the source text

           .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.

           would be converted into the following 2  pages  of  formatted  text  when
           processed by this program.

           *************************** ***************************
           *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' *
           *************************** ***************************

           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.

      .UNDERLINE
           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.

           For example, the source text

           .FILL;Some words
           .UNDERLINE;in this sentence
           are underlined.

           would produce the following text

           Some words in this sentence are underlined.

      .UNDERLINE SPACE
           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
102                                      The FROFF Word Processor User's Guide


     .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.

.UPPER CASE
     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.   .UPPER  CASE
     is the default.
                                                                                 103


                                        Chapter 6

                               Cover Embellishment Commands



                 General Description of the Cover Embellishment Commands
                 ------- ----------- -- --- ----- ------------- --------

      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.

      The results produced by applying a few of these commands are shown below.

      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.

           SSSSS     A     MM     MM  PPPPP    LL       EEEEEEE
         SS         AAA    MMM   MMM  PP   PP  LL       EE
         SS        AA AA   MMMM MMMM  PP   PP  LL       EE
           SSS    AA   AA  MM MMM MM  PPPPP    LL       EEEEEE
              SS  AAAAAAA  MM  M  MM  PP       LL       EE
              SS  AA   AA  MM     MM  PP       LL       EE
         SSSSS    AA   AA  MM     MM  PP       LLLLLLL  EEEEEEE

      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.

          SSSSSSS   AAA   MMMM   MMMMPPPPPPP  LLLL     EEEEEEEEE
        SSS     S  AA AA  M  MM MM  MP     PPPL  L     E       E
        S  SSSSSS AA   AA M   MMM   MP  PPP  PL  L     E  EEEEEE
        S  SSSS  AA  A  AAM    M    MP  PPP  PL  L     E  EEEEE
        SSS   SSSA  AAA  AM  M   M  MP     PPPL  L     E      E
          SSSS  SA       AM  MM MM  MP  PPPP  L  L     E  EEEEE
        SSSSSS  SA  AAA  AM  MMMMM  MP  P     L  LLLLLLE  EEEEEE
        S     SSSA  A A  AM  M   M  MP  P     L       LE       E
        SSSSSSS  AAAA AAAAMMMM   MMMMPPPP     LLLLLLLLLEEEEEEEEE

      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
104                                      The FROFF Word Processor User's Guide


literal  mode  or  in  any of the various nofill modes.  The right edges shown
below are 2 characters wide and 2 lines high.

     SSSSSS                   M   PPP      L        EEEEEE
     SSSSSSS   A              MM  PPP  P   LL       EEEEEEE
    S         AAA      M   M  MM     PPPP  LL
     SSS           A   MM MM  MM  PPPPPPP  LL       EEEEE
       S  S   AAA  AA  MM MM  MM  PPPPP    LL       EEEEEE
        SSSS  AAA  AA  MM  M  MM  PP
    SSSSSSSS AAA  AAA MMM    MMM PPP      LLLLLLL  EEEEEEE
     SSSSS    AA   AA  MM     MM  PP       LLLLLLL  EEEEEEE

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.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXX     XXXXX XXXXX  XXXXX  XX     XXXX  XXXXXXX       XXX
XXX  XXXXXXXXX   XXXX   XXX   XX  XXX  XX  XXXXXXX  XXXXXXXX
XXX  XXXXXXXX  X  XXX    X    XX  XXX  XX  XXXXXXX  XXXXXXXX
XXXXX   XXXX  XXX  XX  X   X  XX     XXXX  XXXXXXX      XXXX
XXXXXXXX  XX       XX  XX XX  XX  XXXXXXX  XXXXXXX  XXXXXXXX
XXXXXXXX  XX  XXX  XX  XXXXX  XX  XXXXXXX  XXXXXXX  XXXXXXXX
XXX     XXXX  XXX  XX  XXXXX  XX  XXXXXXX       XX       XXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

The aliases, argument lists and concise  descriptions  of  the  lettering  and
associated commands are listed below.

.BG     .BACKGROUND 'phrase', number1 through number10
        Interconvert spaces and printing characters in text

.EO     .END OBJECT
        Terminate construction of an object being outlined

.FLLTR  .FLAGS LETTER 'character'
        Change flag marking modifications of large letters

.LED    .LEFT EDGE 'phrase', number1, number2, number3
        Outline lower left edge of objects copied in text

.LTR    .LETTER 'phrase', number1, number2 through number5
        Represent text on next line by multi-line letters

.NFLLTR .NO FLAGS LETTER 'character'
        No flag can mark modifications of large letters

.OUT    .OUTLINE 'phrase', number1, number2 through number5
        Outline objects in text copied in nofill or literal

.RED    .RIGHT EDGE 'phrase', number1, number2, number3
        Outline lower right edge of objects copied in text

.SQ     .SQUEEZE number1, number2, number3 etc.
        Remove selected columns from multi-line letters
      Cover Embellishment Commands                                               105


      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.


                Complete Descriptions of the Cover Embellishment Commands
                -------- ------------ -- --- ----- ------------- --------

      .BACKGROUND 'phrase', number1, number2, through number10
           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.

           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.

           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.

           1.  An .END OBJECT command is issued to terminate the background.
           2.  A .LEFT EDGE  command,  .RIGHT  EDGE  command,  .OUTLINE  command  or
               another  .BACKGROUND  command  is  issued  to  begin  a new object or
               background.
           3.  A .FILL command is issued so that the subsequent words in the  source
               text are accumulated in lines of approximately equal length.
           4.  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
106                                      The FROFF Word Processor User's Guide


         accumulated  again  in lines of approximately equal length (i.e., the
         previous .FILL command again becomes active).

     Since the .BACKGROUND command accepts several unrelated arguments,  these
     are summarized below, then each argument is described in detail.

     phrase  = a phrase to be used to darken the background
     number1 = number of columns to left of left edge of  darkened  background
               or offset from left margin if signed
     number2 = location of right edge of darkened background  or  offset  from
               right margin if signed
     number3 = number of top border lines
     number4 = number of bottom border lines
     number5 = number of columns by  which  the  phrase  used  to  darken  the
               background is offset from one line to the next
     number6 = selects the horizontal alignment of  the  pattern  obtained  by
               repeating the phrase
             = 0, the superimposed phrase starts at the left end of the  first
               line at the top of the darkened background
             = 1, the superimposed phrase starts at the  upper  left  printing
               character used to darken the background
     number7 = width of darkened stripes.  Entire background  is  darkened  if
               number7 through number10 are not specified
     number8 = separation between stripes
     number9 = separation between upper left corner and first stripe
     number10 = number of columns by which the stripe is offset from one  line
               to the next.

     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.

     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.

     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
      Cover Embellishment Commands                                               107


           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.

           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.

           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.

           The dimensions of the rectangular area which are  controlled  by  number1
           through number4 are diagrammed below.

               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

           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.

           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.

           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
108                                      The FROFF Word Processor User's Guide


     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.

     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.

     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.

     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.

     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.

     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.

     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.

     As an example, the source text

     .BACKGROUND'PHRASE',0,45,2,2,2,1,25,10,5,2
     .LEFT MARGIN 2.LETTER'*',2,3;DARK

     specifies the following items

     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
      Cover Embellishment Commands                                               109


           and would produce the following darkened  background  when  processed  by
           this program.

                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

      .END OBJECT
           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.

      .FLAGS LETTER 'character'
           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.

           .FLAGS LETTER '_>' is the default.

      .LEFT EDGE 'phrase', number1, number2, number3
           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.

           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.
110                                      The FROFF Word Processor User's Guide


     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.

     1.  An .END OBJECT command is issued to terminate the object.
     2.  An .OUTLINE command, .RIGHT  EDGE  command,  .BACKGROUND  command  or
         another .LEFT EDGE command is issued to begin a new object.
     3.  A .FILL command is issued so that the subsequent words in the  source
         text are accumulated in lines of approximately equal length.
     4.  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).

     Since the .LEFT EDGE command accepts several unrelated  arguments,  these
     are summarized below, then each argument is described in detail.

     phrase  = a phrase to be used to darken the edge
     number1 = width or height of the edge
     number2 = number of columns by which the phrase used to darken  the  edge
               is offset from one line to the next
     number3 = selects the horizontal alignment of  the  pattern  obtained  by
               repeating the phrase
             = 0, the superimposed phrase starts at the left end of the  first
               line of the object
             = 1, the superimposed phrase starts at the  upper  left  printing
               character used to darken the edge

     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.

     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
      Cover Embellishment Commands                                               111


           number1  is  unsigned  or  positive, and causes the lower left edge to be
           shown if number1 is negative.

           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.

           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.

           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.

           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.

           As an example of the construction of a left edge,  the  following  source
           text

           .LEFT EDGE'PHRASE',3,1,1
           .NOFILL.LEFT MARGIN 5.SPACING 3
           .LETTER,2,3;LEFT
           .LETTER,2,3;EDGE
           .END OBJECT

           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.
112                                      The FROFF Word Processor User's Guide


         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

.LETTER 'phrase', number1, number2, through number5
     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.

     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.

     If one of the various forms of the .NO FILL command is currently  causing
     ordinary  single  line  lettering to be left justified, centered or right
     justified, then the multi-line lettering will  be  positioned  similarly.
      Cover Embellishment Commands                                               113


           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.

           Since the .LETTER command accepts several unrelated arguments, these  are
           summarized below, then each argument is described in detail.

           phrase  = a phrase to be superimposed upon the lettering
           number1 = selects the size of the lettering in the line
                   = 1, lettering is 5 lines high by 5 columns wide
                   = 2, lettering is 7 lines high by 8 columns wide
                   = 3, lettering is 9 lines high by 10 columns wide
           number2 = number of columns separating multi-line lettering
           number3 = selects type of shadows cast by lettering
                   = 0, no shadows
                   = 1, normal shadows cast toward the lower left
                   = 2, normal shadows cast toward the lower right
                   = 3, negative shadows cast toward the lower left
                   = 4, negative shadows cast toward the lower right
           number4 = number of columns by which the superimposed  phrase  is  offset
                     from one line to the next
           number5 = selects the horizontal alignment of  the  superimposed  pattern
                     obtained by repeating the phrase
                   = 0, superimposed phrase starts at the left end of the first line
                     of the multi-line lettering
                   = 1, superimposed  phrase  starts  at  the  upper  left  printing
                     character used to construct the lettering

           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.

           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.
114                                      The FROFF Word Processor User's Guide


     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.

     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.

     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.

     As examples of the 3 sizes of lettering which can be selected by number1,
     the source text

     .SPACING 2
     .LETTER,1,1;ABCDEFGH
     .LETTER,2,2;ABCDE
     .LETTER,3,3;ABCD

     would produce the following lines of multi-line lettering when  processed
     by this program.

       A   BBBB   CCCC DDDD  EEEEE FFFFF  GGGG H   H
      A A  B   B C     D   D E     F     G     H   H
     A   A BBBB  C     D   D EEEE  FFFF  G  GG HHHHH
     AAAAA B   B C     D   D E     F     G   G H   H
     A   A BBBB   CCCC DDDD  EEEEE F      GGGG H   H

        AA     BBBBBB       CCCCC  DDDDD     EEEEEEEE
       AAAA    BB    BB   CC       DD   DD   EE
      AA  AA   BB    BB  CC        DD    DD  EE
     AA    AA  BBBBBB    CC        DD    DD  EEEEEE
     AAAAAAAA  BB    BB  CC        DD    DD  EE
     AA    AA  BB    BB   CC       DD   DD   EE
     AA    AA  BBBBBB       CCCCC  DDDDD     EEEEEEEE

         AA       BBBBBBB         CCCCCCC   DDDDDDD
        AAAA      BB     BB     CC          DD     DD
       AA  AA     BB      BB   CC           DD      DD
      AA    AA    BB     BB    CC           DD      DD
     AA      AA   BBBBBBB      CC           DD      DD
     AA      AA   BB     BB    CC           DD      DD
     AAAAAAAAAA   BB      BB   CC           DD      DD
     AA      AA   BB     BB     CC          DD     DD
     AA      AA   BBBBBBB         CCCCCCC   DDDDDDD

     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
      Cover Embellishment Commands                                               115


           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.

           As examples of the letter spacings selected by various values of number2,
           the source text

           .SPACING 2
           .LETTER,2,0;FAULT
           .LETTER,2,1;FAULT
           .LETTER,2,2;FAULT

           would produce the following lines of multi-line lettering when  processed
           by this program.

           FFFFFFFF   AA   UU    UULL      TTTTTTTT
           FF        AAAA  UU    UULL         TT
           FF       AA  AA UU    UULL         TT
           FFFFFF  AA    AAUU    UULL         TT
           FF      AAAAAAAAUU    UULL         TT
           FF      AA    AA UU  UU LL         TT
           FF      AA    AA  UUUU  LLLLLLLL   TT

           FFFFFFFF   AA    UU    UU LL      TTTTTTTT
           FF        AAAA   UU    UU LL         TT
           FF       AA  AA  UU    UU LL         TT
           FFFFFF  AA    AA UU    UU LL         TT
           FF      AAAAAAAA UU    UU LL         TT
           FF      AA    AA  UU  UU  LL         TT
           FF      AA    AA   UUUU   LLLLLLLL   TT

           FFFFFFFF   AA     UU    UU  LL      TTTTTTTT
           FF        AAAA    UU    UU  LL         TT
           FF       AA  AA   UU    UU  LL         TT
           FFFFFF  AA    AA  UU    UU  LL         TT
           FF      AAAAAAAA  UU    UU  LL         TT
           FF      AA    AA   UU  UU   LL         TT
           FF      AA    AA    UUUU    LLLLLLLL   TT

           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.
116                                      The FROFF Word Processor User's Guide


     Number3 = 0, does not produce shadows.

     Number3 = 1, gives normal  shadows  cast  toward  the  lower  left.   The
     shadows are dark where the characters are dark.

     Number3 = 2, gives normal shadows  cast  toward  the  lower  right.   The
     shadows are dark where the characters are dark.

     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.

     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.

     As examples of the shadows selected by various  values  of  number3,  the
     source text

     .SPACING 2
     .LETTER,2,3,2;TRUE
     .LETTER,2,3,4;FALSE

     would produce the following lines of multi-line lettering when  processed
     by this program.

     TTTTTTTT   RRRRRR     UU    UU   EEEEEEEE
        TT      RR    RR   UU    UU   EE
        TT      RR    RR   UU    UU   EE
        TT      RRRRRR     UU    UU   EEEEEE
        TT      RR  RR     UU    UU   EE
        TT      RR   RR     UU  UU    EE
        TT      RR    RR     UUUU     EEEEEEEE
         TT      RR    RR     UUUU     EEEEEEEE
          TT      RR   RR     UU  UU    EE
           TT      RR  RR     UU    UU   EE
            TT      RRRRRR     UU    UU   EEEEEE
             TT      RR    RR   UU    UU   EE
              TT      RR    RR   UU    UU   EE
            TTTTTTTT   RRRRRR     UU    UU   EEEEEEEE

     FFFFFFFF    AA      LL           SSSSSS   EEEEEEEE
     FF         AAAA     LL         SS         EE
     FF        AA  AA    LL         SS         EE
     FFFFFF   AA    AA   LL           SSSS     EEEEEE
     FF       AAAAAAAA   LL               SS   EE
     FF       AA    AA   LL               SS   EE
     FF       AA    AA   LLLLLLLL   SSSSSS     EEEEEEEE
       FFFFFFF  AAAA  AAA        LLL      SSSSS
        FFFFFFF  AAAA  AAA  LLLLLLLLLLLLLLL  SSS  EEEEEE
         FFFFFFF        AAA  LLLLLLLLLLLLLLL  SSS  EEEEEE
              FFF  AAAA  AAA  LLLLLLLLLLL    SSSSS      EE
           FFFFFFFF  AA  AAAA  LLLLLLLLL  SSSSSSSSS  EEEEEE
            FFFFFFFFF    AAAAA  LLLLLLLLL  SSSSSSSSS  EEEEEE
                   FFFF  AAAAAA  LLLLLLLLLLL      SSS
      Cover Embellishment Commands                                               117


           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.

           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.

           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.

           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.

           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.

           >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.
118                                      The FROFF Word Processor User's Guide


      >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.

      >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.

     >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.

      >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.

      >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.

     >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.

      >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.

      >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.
      Cover Embellishment Commands                                               119


      .NO FLAGS LETTER
           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.

           .FLAGS LETTER '_>' is the default.

      .OUTLINE 'phrase', number1, number2, through number5
           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.

           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.

           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.

           1.  An .END OBJECT command is issued to terminate the object.
           2.  A .LEFT EDGE command, .RIGHT EDGE  command,  .BACKGROUND  command  or
               another .OUTLINE command is issued to begin a new object.
           3.  A .FILL command is issued so that the subsequent words in the  source
               text are accumulated in lines of approximately equal length.
           4.  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).

           Since the .OUTLINE command accepts several unrelated arguments, these are
           summarized below, then each argument is described in detail.

           phrase  = a phrase to be superimposed upon the outline
120                                      The FROFF Word Processor User's Guide


     number1 = width of the edges forming the outline
     number2 = height of the edges forming the outline
     number3 = selects whether corners are square and  whether  objects  which
               are concave from the bottom up are filled in
             = 0, rounded corners, open concave objects
             = 1, rounded corners, filled concave objects
             = 2, square corners, open concave objects
             = 3, square corners, filled concave objects
     number4 = number of columns by which the superimposed  phrase  is  offset
               from one line to the next
     number5 = selects the horizontal alignment of  the  superimposed  pattern
               obtained by repeating the phrase
             = 0, superimposed phrase starts at the left end of the first line
               of the outline
             = 1, superimposed  phrase  starts  at  the  upper  left  printing
               character used to construct the outline

     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.

     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.

     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.

     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.
      Cover Embellishment Commands                                               121


           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.

           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.

           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.

           Number3 = 2, gives square corners but does not fill in  concave  objects.
           Identical to number3 = 0 if the outlines have a thickness of 1.

           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.

           Either of the following 2 examples of source text

           .CENTER NO FILL 25.SPACING 2
           .OUTLINE,1
           .LETTER,2,2;USER
           .LETTER;GUIDE
           .END OBJECT

           or

           .NO FILL
           .OUTLINE,1
                 UU    UU    SSSSSS  EEEEEEEE  RRRRRR
                 UU    UU  SS        EE        RR    RR
                 UU    UU  SS        EE        RR    RR
                 UU    UU    SSSS    EEEEEE    RRRRRR
                 UU    UU        SS  EE        RR  RR
                  UU  UU         SS  EE        RR   RR
                   UUUU    SSSSSS    EEEEEEEE  RR    RR
           .CENTER NO FILL 25.SKIP.LETTER,2,2;GUIDE
           .END OBJECT
122                                      The FROFF Word Processor User's Guide


     would be converted into the following  picture  when  processed  by  this
     program.

          UUUU  UUUU  SSSSSSSSEEEEEEEEEERRRRRRRR
          U  U  U  USSS      SE        ER      RRR
          U  U  U  US  SSSSSSSE  EEEEEEER  RRRR  R
          U  U  U  US  SSSSS  E  EEEEE  R  RRRR  R
          U  U  U  USSS    SSSE      E  R      RRR
          U  UUUU  U  SSSSS  SE  EEEEE  R  RR  RR
          UU  UU  UUSSSSSSS  SE  EEEEEEER  RRR  RR
           UU    UU S      SSSE        ER  R RR  R
         GGGGUUUUUUUSSSSSSSIIIIEEEEEEEEDRRRREEERREEEEE
       GGG     GU  U  U  UI      ID     DDD E        E
      GG  GGGGGGU  U  U  UIII  IIID  DDD  DDE  EEEEEEE
      G  GGGGGGGU  U  U  U  I  I  D  D DD  DE  EEEEE
      G  GG    GU  U  U  U  I  I  D  D  D  DE      E
      G  GGGG  GU  UUUU  U  I  I  D  D DD  DE  EEEEE
      GG  GGG  GUU  UU  UUIII  IIID  DDD  DDE  EEEEEEE
       GGG     G UU    UU I      ID     DDD E        E
         GGGGGGG  UUUUUU  IIIIIIIIDDDDDDD   EEEEEEEEEE

     Changing the .OUTLINE,1 commands in  either  of  the  above  examples  to
     .OUTLINE,1,,1 would produce the following picture instead.

          UUUU  UUUU  SSSSSSSSEEEEEEEEEERRRRRRRR
          U  U  U  USSS      SE        ER      RRR
          U  U  U  US  SSSSSSSE  EEEEEEER  RRRR  R
          U  U  U  US  SSSSSSSE  EEEEEEER  RRRR  R
          U  U  U  USSS    SSSE      EERR      RRR
          U  UUUU  USSSSSSS  SE  EEEEEERR  RR  RR
          UU  UU  UUSSSSSSS  SE  EEEEEEER  RRR  RR
           UU    UUUS      SSSE        ER  RRRR  R
         GGGGUUUUUUUSSSSSSSIIIIEEEEEEEEDRRRREEERREEEEE
       GGG     GU  USSU  UI      ID     DDDRE        E
      GG  GGGGGGU  UUUU  UIII  IIID  DDD  DDE  EEEEEEE
      G  GGGGGGGU  UUUU  UIII  IIID  DDDD  DE  EEEEE
      G  GG    GU  UUUU  UUII  IIDD  DDDD  DE      E
      G  GGGG  GU  UUUU  UUII  IIDD  DDDD  DE  EEEEE
      GG  GGG  GUU  UU  UUIII  IIID  DDD  DDE  EEEEEEE
       GGG     GUUU    UUUI      ID     DDDDE        E
         GGGGGGGGUUUUUUUUUIIIIIIIIDDDDDDDDDDEEEEEEEEEE

     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.

     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
      Cover Embellishment Commands                                               123


           location of the first printing character on the line.  Number5 is assumed
           to have the value zero if it is not specified.

           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.

           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.

      .RIGHT EDGE 'phrase', number1, number2, number3
           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.

           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.

           phrase  = a phrase to be used to darken the edge
           number1 = width or height of the edge
           number2 = number of columns by which the phrase used to darken  the  edge
                     is offset from one line to the next
           number3 = selects the horizontal alignment of  the  pattern  obtained  by
                     repeating the phrase
                   = 0, the superimposed phrase starts at the left end of the  first
                     line of the object
                   = 1, the superimposed phrase starts at the  upper  left  printing
                     character used to darken the edge

      .SQUEEZE number1, number2, number3 etc.
           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.
124                                      The FROFF Word Processor User's Guide


     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.

     .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

     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.

     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

     .LETTER,2,2;WIDER

     which would produce the following multi-line lettering.

     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

     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.

              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

     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,

     .SQUEEZE 6,13,18,24,36-2,44
     .LETTER,2,2;WIDER
      Cover Embellishment Commands                                               125


           which would produce the following compacted lettering when  processed  by
           this program.

           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
126                                      The FROFF Word Processor User's Guide


                                                                                 127


                                        Appendix A

                       How to Run FROFF on Various Computer Systems



                   How to Run FROFF on the DECsystem10 and DECsystem20
                   --- -- --- ----- -- --- ----------- --- -----------

      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.

      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

           ONE
      or
           DSK:ONE.DOC=DSK:ONE.RNO

      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.

      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
128                                      The FROFF Word Processor User's Guide


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.
                                                                                 129


                                        Appendix B

                      Use of FROFF at the Yale School of Management



                 How To Use The Diablo Terminal To Get Output From FROFF
                 --- -- --- --- ------ -------- -- --- ------ ---- -----

      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.

      You should follow the following instructions the first time you use the Diablo
      terminal.

       1.  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.
       2.  If the LOCAL key at the left edge of the keyboard is depressed, press  it
           again to release it to its outer position.
       3.  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.
       4.  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.
       5.  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.
       6.  Press the RETURN key.  The terminal will respond by typing a line similar
           to the following:
                Yale CS/SOM DECsystem2060 (#2300), TOPS-20 Monitor
           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.
       7.  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.
       8.  Invoke the FROFF program by typing the Exec command
                @FROFF
130                                      The FROFF Word Processor User's Guide


 9.  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.
     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.
     NAME/P       to center  a  document  which  is  80  columns  wide  giving
                  slightly less than 1 inch on both sides.
     NAME/P/O:1   to center a document which is 78 columns wide giving 1  inch
                  margins on both sides.
     NAME/P/O:4   to center a document which is 72 columns  wide  giving  1.25
                  inch margins on both sides.
     NAME/P/O:10  for a document which is 72 columns wide giving 1.5 inch left
                  margin and 1 inch right margin.
10.  After you have specified the name of the file to be processed, FROFF will
     tell you
          INSERT PAPER, THEN HIT RETURN KEY
     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.
11.  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.
12.  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.
13.  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.
14.  When you get the @ prompt from the Exec, type the command
          @LOGOUT
     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.
15.  Move the switch on the blue "GANDALF" box into its down position.
16.  Turn off the power on the Diablo terminal.
      Use of FROFF at the Yale School of Management                              131


                How To Change The Ribbon Cartridge On The Diablo Terminal
                --- -- ------ --- ------ --------- -- --- ------ --------

       1.  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.
       2.  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.
       3.  Lift off the old cartridge.
       4.  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.
       5.  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.
       6.  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.
       7.  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.
       8.  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.

      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.


                What To Do If You Don't Have Enough Space For Output Files
                ---- -- -- -- --- ----- ---- ------ ----- --- ------ -----

      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.

      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.
132                                      The FROFF Word Processor User's Guide


     @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]


           How To Process A Document Constructed From Several Files
           --- -- ------- - -------- ----------- ---- ------- -----

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.

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

     @FROFF
     FROFF (10/81)
     Type /H for Help
     Source file? ONE,TWO,THREE
     Pages:    11
     Source file?
or
     @FROFF
     FROFF (10/81)
     Type /H for Help
     Source file? ONE,
     &TWO,
     &THREE
     Pages:    11
     Source file?

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
      Use of FROFF at the Yale School of Management                              133


      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.

      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

           ONE,TWO,THREE
      or
           ONE
           TWO
           THREE

      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

           @FROFF
           FROFF (10/81)
           Type /H for Help
           Source file? @PAPER
           Pages:    11
           Source file?

      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.

      For example, to write the document to the scratch area, a typical dialog might
      be either

           @FROFF
           FROFF (10/81)
           Type /H for Help
           Source file? TEMP:=ONE,TWO,THREE
           Pages:    11
           Source file?
      or
           @FROFF
           FROFF (10/81)
           Type /H for Help
           Source file? TEMP:=@PAPER
           Pages:    11
           Source file?

      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.
134                                      The FROFF Word Processor User's Guide


     @FROFF
     FROFF (10/81)
     Type /H for Help
     Source file? /P ONE,TWO,THREE
or
     @FROFF
     FROFF (10/81)
     Type /H for Help
     Source file? /P@PAPER


                  How To Process Files In Other Directories
                  --- -- ------- ----- -- ----- -----------

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.

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

     @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]

and the command file might then contain

     [4,2471]ONE
     [4,374]TWO
     [4,1162]THREE
                                                                                 135


                                        Appendix C

                        Commands Used in Performing Selected Tasks



                     Commands Used for the Specification of Footnotes
                     -------- ---- --- --- ------------- -- ---------

      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.

      .CFN    .COLLECT FOOTNOTES
              Hold footnotes until .DO FOOTNOTE or .PRINT FOOTNOTE

      .DISPFN .DISPLAY FOOTNOTE 'character', type, 'character'
              Type of numbers in footnote identifying footnote

      .DREF   .DISPLAY REFERENCE 'character', type, 'character'
              Type of numbers in text identifying footnote

      .DFN    .DO FOOTNOTES
              List collected footnotes starting on new page

      .EFN    .END FOOTNOTE
              End footnote specification begun by .FOOTNOTE

      .F      .FILL
              Accumulate words on each line until line overflows

      .FLEFN  .FLAGS END FOOTNOTE 'character'
              Change flag terminating footnote specifications

      .FN     .FOOTNOTE
              Following text to .END FOOTNOTE specifies footnote

      .FNH    .FOOTNOTE HEADER rest of text on line
              Specifies line of text above each group of footnotes

      .FNR    .FOOTNOTE RULE 'character'
              Line of this character above each group of footnotes

      .IMFN   .IMMEDIATE FOOTNOTES
              Generate footnotes on pages where referenced

      .IFN    .INDENT FOOTNOTE number
              Indent start of each footnote

      .JO     .JOIN
              Attaches next word to preceding word
136                                      The FROFF Word Processor User's Guide


.LM     .LEFT MARGIN number
        Changes left margin

.NF     .NO FILL number1, number2
        Left justify lines with original word spacing

.NFLEFN .NO FLAGS END FOOTNOTE
        No flag can terminate footnote specifications

.NFNH   .NO FOOTNOTE HEADER
        No line of text is above each group of footnotes

.NNFN   .NO NUMBER FOOTNOTE
        No serial numbers are inserted at start of footnotes

.NMFN   .NUMBER FOOTNOTE number
        Specifies that footnotes are to be serially numbered

.PFN    .PRINT FOOTNOTES
        List collected footnotes continuing on current page

.RM     .RIGHT MARGIN number
        Specifies rightmost column if .FILL active

.SPFN   .SPACE FOOTNOTE number1, number2, number3
        Change number of blank lines before footnotes

.SP     .SPACING number
        Change spacing between lines


                Commands Used for the Specification of Indexes
                -------- ---- --- --- ------------- -- -------

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.

.DIX    .DISABLE INDEX
        Disable addition of items to index

.DISPX  .DISPLAY INDEX type
        Type of page numbers on pages containing index

.DX     .DO INDEX rest of text on line
        List index starting on new page

.EIX    .ENABLE INDEX
        Enable addition of items to index

.Y      .ENTRY rest of text on line
        Specifies line to be in index without page number
      Commands Used in Performing Selected Tasks                                 137


      .FAPG   .FACING PAGE
              Start new page on facing side of paper

      .FT     .FIRST TITLE
              Generate titles on first page if .HEADERS ON active

      .FLX    .FLAGS INDEX 'character'
              Change flag marking words to be indexed

      .FLSX   .FLAGS SUBINDEX 'character'
              Change flag marking ends of lines in index entry

      .X      .INDEX rest of text on line
              Specifies line to be in index with page number

      .LM     .LEFT MARGIN number
              Changes left margin

      .NFLX   .NO FLAGS INDEX
              No flag can mark words to be indexed

      .NFLSX  .NO FLAGS SUBINDEX
              No flag can mark ends of lines in index entry

      .PX     .PRINT INDEX rest of text on line
              List index continuing on current page

      .RM     .RIGHT MARGIN number
              Specifies rightmost column if .FILL active

      .RP     .RIGHT PAGE
              Start new page with right page titles

      .SLP    .SKIP LEFT PAGE
              Start new right page, generating left page if needed

      .SPX    .SPACE INDEX number1, number2, number3, number4
              Change number of blank lines at start of index

      .SP     .SPACING number
              Change spacing between lines

      .STX    .STYLE INDEX number1, number2
              Changes capitalization and format of index
138                                      The FROFF Word Processor User's Guide


                                                                                 139


                                        Appendix D

                      Description of Files on the Distribution Tape



                                   Loading Instructions
                                   ------- ------------

      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.

           FROFF.FOR/OPT
           RNOTIM.FOR/OPT
           RNOHL1.FOR/OPT
           RNOCM1.FOR/OPT
           RNOFI1.FOR/OPT
           RNOAS1.FOR/OPT
           MACRO3.FOR/OPT

      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.

           FROFF.FOR/OPT
           RNOTIM.FOR/OPT
           RNOHL1.FOR/OPT
           RNOCM1.FOR/OPT
           RNOFI1.FOR/OPT
           RNOAS1.FOR/OPT
           MACRO2.MAC
           MACRO3.FOR/OPT/LIB

      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.

           FROFF.FOR/OPT
           RNOTIM.FOR/OPT
           RNOFI1.FOR/OPT
           RNOAS3.FOR/OPT
           MACRO3.FOR/OPT
140                                      The FROFF Word Processor User's Guide


                             Program Source Files
                             ------- ------ -----

 FROFF.FOR  Single file containing  the  system  independent  portion  of  the
            FORTRAN sources of the FROFF program.

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:

            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.

            LEAVE which terminates running of the program without  typing  the
            time  statistics  produced  by  the  FORTRAN STOP statement on the
            DECsystem20.

            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.

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.

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.

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.

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.
      Description of Files on the Distribution Tape                              141


      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.

      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.

      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.


                             Support Programs and Data Files
                             ------- -------- --- ---- -----

      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.

        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.

       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.

       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.

       FROFF.KEY  Data file which when processed by  a  special  version  of  KEYWRD
                  specifies the command words recognized by FROFF.

       FROFF.RNO  The file which when processed by FROFF produces the  FROFF  User's
                  Guide.

      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.

      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.
142                                      The FROFF Word Processor User's Guide


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.

 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.

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.

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.

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.

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.

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.

 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.
                                                                                 143


                                          Index



      Abbreviations
        see command abbreviations
        see command aliases
      Address file
        sample, 21-22
        see also splice file
      Addressing envelopes, 24
      Aliases
        see command abbreviations
        see command aliases
      Ampersand
        use as underline flag, 7, 16, 63
      Apostrophe
        in command which can take rest of line as argument, 97
        use as delimiter of character or phrase argument, 62
      Appendix
        association of page number and page side, 80
        capitalization of header line, 94
        changing appendix number, 80
        header line inserted into title, 45
        page numbers, 45
        spacing of header line, 91
        start of, 45
        system used for representing appendix number, 50
      APPENDIX command
        definition, 45
      Asking user
        for name of splice file, 83
      Attaching words together, 69
      AUTO PARAGRAPH command
        definition, 45
        disabling, 74
      Automatic paging
        disabling, 77
        enabling, 85
      Automatic paragraphing
        disabling, 74
        enabling, 45
      Automatically numbered list
        changing values in, 81
        discussion, 25
        end of, 55
        indentation of elements, 66
        item in, 72
        sample, 26
        starting, 71
        system used for representing numbers, 51

      Back slash
        equivalent to LOWER CASE command when doubled, 14, 73
        use as lower case flag, 7, 15, 61
        use with ampersand to stop underlining, 16, 63
        use with forward slash to stop subscripting, 59
144                                      The FROFF Word Processor User's Guide


Back slash
  use with vertical bar to stop superscripting, 60
Background
  see darkened background, 105
BACKGROUND command
  definition, 105
Bar
  see change bar
Bar character
  use as superscript flag, 60
BEGIN BAR command
  definition, 45
BLANK command
  at top of page, 45
  comparison with SKIP command, 90
  definition, 45
Blank left page, 90
Blank lines
  at start of appendix, 91
  at start of chapter, 91
  at start of index, 92
  before and after note, 93
  before and after subsection titles, 92
  before paragraph, 85
  between footnotes, 92
  between paragraphs in an embedded note, 67
  between text and bottom titles, 91
  between text and footnotes, 92
  between top of page and top titles, 93
  between top titles and text, 93
  in source indicate new paragraphs, 45
  insertion into output, 45, 57, 73, 89
Blank page
  at start of document, 58
  left, 90
  right, 91
  with break, 90
  without break, 73
Blank right page, 91
Blank title
  setting, 100
  suppressing room for title at top of page, 77
BOTTOM SUBTITLE command
  definition, 46
BOTTOM TITLE command
  definition, 47
Bottom titles
  blank lines above, 91
Break between output lines, 47
BREAK command
  definition, 47
Bulleted list, 71

Capital letters
  conversion to lower case, 14, 73
Capitalization
  of appendix title, 94
      Index                                                                      145


      Capitalization
        of chapter title, 94
        of index, 95
        of single letter, 15
        of single word, 15, 58
        of subsection header, 66, 94
        retaining original, 102
      Capitalization flag
        changing, 58
        disabling, 75
      Case conversion
        of capitals to lower case, see capital letters
        of lower case to capitals, see capitalization
      CENTER command
        comparison with other NO FILL commands, 48
        definition, 47
      CENTER NO FILL command
        comparison with other NO FILL commands, 48
        definition, 48
      Centering
        between margins, 48
        of multi-line lettering, 112
        on page width, 47
      CENTRE command
        synonym of CENTER command
      CENTRE NO FILL command
        synonym of CENTER NO FILL
      Change bar
        disabling, 50
        enabling, 54
        end of, 55
        start of, 45
      Chapter
        association page number and page side, 80
        capitalization of header line, 94
        changing chapter number, 80
        header line inserted into title, 49
        page numbers, 49
        spacing of header line, 91
        start of, 49
        system used for representing chapter number, 50
      CHAPTER command
        definition, 49
      Character argument delimiter
        see text flag
      Circumflex
        equivalent to UPPER CASE command when doubled, 14, 102
        use as upper case flag, 7, 15, 63
        use with ampersand to start underlining, 16, 63
        use with forward slash to start subscripting, 59
        use with vertical bar to start superscripting, 60
      Collating sequence
        of characters in index, 89
      COLLECT FOOTNOTES command
        definition, 49
        discussion, 29
146                                      The FROFF Word Processor User's Guide


Comma
  between arguments of command, 13
  between phrases and page numbers in index, 94
Command abbreviations
  how formed, 13, 33
  see command aliases
Command aliases
  list of, 33
  see command abbreviations
Command line
  command separator flag, 59
  comment flag, 59
  control flag, 59
  disabling, 72, 75
  ignored after LITERAL command, 72
  ignored after NO FLAGS CONTROL command, 75
  structure of, 3, 13
Command separator flag
  changing, 59
  disabling, 75
COMMENT command
  definition, 50
Comment flag
  changing, 59
  disabling, 75
Commenting out line in input file, 50
Compressing width of multi-line lettering, 123
Control flag
  changing, 59
  description, 13
  disabling, 75
Conversion
  of capital letters to lower case, see capital letters
  of lower case to capitals, see capitalization
  of tab character to spaces, 96
Copying single character without change
  see quote flag
Copying text without change, 72, 74

Darkened background
  end of, 109
  sample, 104
  start of, 105
DECsystem20 computer
  instructions for use of FROFF on, 9, 127
Deferred figure
  forcing out before new page, 64
  with implied BREAK command, 57
  without implied BREAK command, 73
Deferred page
  without implied BREAK command, 73
Delimiter of character or phrase argument
  see text flag
DISABLE BAR command
  definition, 50
DISABLE INDEX command
  definition, 50
      Index                                                                      147


      DISPLAY APPENDIX command
        definition, 50
      DISPLAY CHAPTER command
        definition, 50
      DISPLAY ELEMENT command
        definition, 51
        discussion, 26
      DISPLAY FOOTNOTE command
        definition, 51
        discussion, 28, 81
      DISPLAY INDEX command
        definition, 52
      DISPLAY LEVELS command
        definition, 52
      DISPLAY NUMBER command
        definition, 53
      DISPLAY PAGE command
        definition, 53
      DISPLAY REFERENCE command
        definition, 53
        discussion, 28, 81
      DISPLAY SUBPAGE command
        definition, 54
      DO FOOTNOTE command
        discussion, 29
      DO FOOTNOTES command
        definition, 54
      DO INDEX command
        definition, 54
      Double back slash
        equivalent to LOWER CASE command, 14, 73
      Double circumflex
        equivalent to UPPER CASE command, 14, 102
      Double spacing lines, 93

      Edge
        end of, 109
        sample, 104, 112
        start of left, 109
        start of right, 123
      Embedded note
        blank lines before and after, 93
        end of, 56
        footnote reference in, 28
        indentation of paragraphs in, 67
        spacing between paragraphs in, 67
        start of, 78
      ENABLE BAR command
        definition, 54
      ENABLE INDEX command
        definition, 55
      END BAR command
        definition, 55
      END FILE command
        definition, 55
        in splice file, 72
148                                      The FROFF Word Processor User's Guide


END FOOTNOTE command
  definition, 55
  discussion, 27
End footnote flag
  changing, 59
  disabling, 75
END LIST command
  definition, 55
  discussion, 26
END LITERAL command
  definition, 55
END LOOP command
  definition, 55
  in splice file, 72
END NOTE command
  definition, 56
END OBJECT command
  definition, 109
End of current output line, 47
End of document
  form feed at, 70
END SPLICE command
  definition, 56
  use in form letter, 19
END SUBPAGE command
  comparison with other PAGE commands, 83
  definition, 56
ENTRY command
  definition, 56
  ignored after DISABLE INDEX command, 50
Envelopes
  addressing, 24
Even page numbers
  page side based on, 57, 80, 83
Even right margin
  disabling, 77
  enabling, 70
Exclamation point
  use as comment flag, 59
  use as end footnote flag, 27, 59
Extra spaces after punctuation
  disabling, 78
  enabling, 86

FACING PAGE command
  comparison with other PAGE commands, 83
  definition, 56
Figure
  forcing out before new page, 64
  reserving space immediately with break, 57
  reserving space later with break, 57
  reserving space without break, 73
FIGURE command
  comparison with BLANK and SKIP commands, 46, 90
  comparison with MOVABLE FIGURE command, 73
  comparison with .FIGURE DEFERRED command, 57
  definition, 57
      Index                                                                      149


      FIGURE DEFERRED command
        definition, 57
      File
        end of input, 55
        line numbered input, 69
        see splice file
      File name
        of splice file, 83
      File name conventions
        on DECsystem20 computer, 9
      FILL command
        definition, 58
      FIRST FORM command
        definition, 58
      FIRST TITLE command
        definition, 58
      Flag characters
        disabling all, 74
        disabling individual, see NO FLAGS ... commands
        enabling all, 58
        enabling individual, see FLAGS ... commands
        list of most common, 7
      FLAGS ALL command
        synonym of FLAGS command
      FLAGS CAPITALIZE command
        definition, 58
      FLAGS command
        definition, 58
      FLAGS COMMENT command
        definition, 59
      FLAGS CONTROL command
        definition, 59
      FLAGS END COMMAND command
        definition, 59
      FLAGS END FOOTNOTE command
        definition, 59
      FLAGS HALF DOWN command
        definition, 59
      FLAGS HALF UP command
        definition, 60
      FLAGS INDEX command
        definition, 60
      FLAGS LETTER command
        definition, 109
      FLAGS LOWER CASE command
        definition, 61
      FLAGS PAGE command
        definition, 62
      FLAGS QUOTE command
        definition, 62
      FLAGS SPACE command
        definition, 62
      FLAGS SUBINDEX command
        definition, 62
      FLAGS TEXT command
        definition, 62
150                                      The FROFF Word Processor User's Guide


FLAGS UNDERLINE command
  definition, 63
FLAGS UPPER CASE command
  definition, 63
Footnote
  at bottom of page, 66
  automatically generated numbers, 51, 53, 77, 81
  blank lines above and between, 92
  collecting for printing at end of document, 49
  discussion, 27
  end of, 55, 59
  forcing out before new page, 64
  generating collected, 54, 86
  indentation of first line, 67
  interaction with JOIN command, 69
  list of relevant commands, 135
  phrase appearing above, 63
  reference in embedded note, 28
  ruled line appearing above, 64
  start of, 63
FOOTNOTE command
  definition, 63
  interaction with cover commands, 105
Footnote header
  blank lines above and below, 92
  defining, 63
  disabling, 77
  ruled by repeating single character or phrase, 64
FOOTNOTE HEADER command
  definition, 63
  discussion, 28
Footnote number
  at end of note, 79
  disabling, 77
  discussion, 28
  enabling, 81
  superscript, 51, 53
  system used for representing numbers, 53
FOOTNOTE RULE command
  definition, 64
  discussion, 28
FORCE PAGE command
  comparison with other PAGE commands, 83
  comparison with PAGE command, 64
  definition, 64
Form feed
  at end of document, 70
  at start of document, 58
Form letter
  discussion, 19
  end of, 55, 86
  insertion into, 21, 93
  sample, 19, 22
  start of, 72
Forward slash
  use as subscript flag, 59
      Index                                                                      151


      Greater than
        use as index flag, 60
        use as multi-line lettering transformation flag, 109
        use as page number flag in messages, 96
        use as page number flag in titles, 7, 62, 99
        use between phrases in index, 62

      Half down flag
        changing, 59
        disabling, 75
      Half up flag
        changing, 60
        disabling, 75
      Half-line spacing
        use for subscripting, 59
        use for superscripting, 60
      HEADER LEVEL command
        definition, 66
      Header line
        phrase above footnotes, 63
        ruled above footnotes, 64
      HEADERS command
        definition, 65
      HEADERS ON command
        synonym of HEADERS command
      Height of page, 84-85

      IMMEDIATE FOOTNOTES command
        definition, 66
      INDENT command
        definition, 66
      INDENT ELEMENT command
        definition, 66
        discussion, 26
      INDENT FOOTNOTE command
        definition, 67
        discussion, 28
      INDENT LEVEL command
        definition, 67
      INDENT NOTE command
        definition, 67
        see NOTE command
      Indentation
        of first line of footnote, 67
        of first line of note, 67, 79
        of list elements, 66
        of next line, 66
        of paragraph, 85
        of paragraphs in note, 67, 79
        of subsection header, 67
      Indented lines
        in source indicate new paragraphs, 45
      Indented note
        see embedded note
      Indented quotation
        see embedded note
152                                      The FROFF Word Processor User's Guide


Index
  blank lines at start of, 92
  capitalization of items in, 68, 95
  collating sequence in, 89
  comma between phrases and page numbers, 94
  comparison of methods of insertion, 61
  disabling, 50
  enabling, 55
  generating, 54, 86
  insertion of phrases into, 68
  insertion of phrases into without page numbers, 56
  insertion of single words into, 60
  list of relevant commands, 136
  periods between phrases and page numbers, 94
  splitting of lines appearing in, 62
INDEX command
  definition, 68
  ignored after DISABLE INDEX command, 50
Index flag
  capitalization of words marked by, 95
  changing, 60
  disabling, 76
  ignored after DISABLE INDEX command, 50
INITIAL PAGE command
  comparison with other PAGE commands, 83
  definition, 68
Input line
  length of, 69
INPUT WIDTH command
  definition, 69
Insertion of extra spaces
  disabling, 77
Insertion of lines from splice file, 93
Insertion of phrases into index, 68
Inter-line spacing
  see line spacing

JOIN command
  definition, 69
  use with insertions in form letters, 23
  with footnote number, 28
Joining words together, 69
JUSTIFY command
  definition, 70

LAST FORM command
  definition, 70
LEFT BOTTOM SUBTITLE command
  definition, 70
LEFT BOTTOM TITLE command
  definition, 70
LEFT EDGE command
  definition, 109
Left margin
  setting, 70
LEFT MARGIN command
  definition, 70
      Index                                                                      153


      LEFT MARGIN command
        in note, 79
      LEFT NO FILL command
        synonym of NO FILL command
      Left page
        definition of, 57, 80, 83
        generating blank left page to get to right page, 90
        skipping right page to get to, 91
        subtitle at bottom, 70
        subtitle at top, 71
        title at bottom, 70
        title at top, 71
      LEFT PAGE command
        comparison with other PAGE commands, 83
        definition, 71
      LEFT TOP SUBTITLE command
        definition, 71
      LEFT TOP TITLE command
        definition, 71
      Length of input line, 69
      Length of page, 84-85
      Less than
        use as capitalization flag, 58
      LETTER command
        definition, 112
      Lettering
        see multi-line lettering
      Line
        indenting next line, 66
        insertion from splice file, 93
        maximum number of on page, 84-85
        phrase above footnotes, 63
        ruled above footnotes, 64
        ruled by repeating character or phrase, 88
      Line numbered input file
        width of lines in, 69
      Line spacing
        changing, 93
        checking for sufficient room at current line spacing, 97
        checking for sufficient room for single spaced lines, 96
        in footnote, 27
        in note, 79
      List
        see automatically numbered list
      LIST command
        definition, 71
        discussion, 26
      LIST ELEMENT command
        definition, 72
        discussion, 26
      LITERAL command
        comparison with NO FILL command, 72, 74
        definition, 72
      Literal copying of single character
        see quote flag
      Literal section
        end of, 55
154                                      The FROFF Word Processor User's Guide


Literal section
  start of, 72
Loop
  end of, 55, 86
  form letter, 19
  opening splice file before, 83
  start of, 72
LOOP command
  definition, 72
Lower case
  translating capital letters into, see capital letters
LOWER CASE command
  definition, 73
  equivalent to doubled back slashes, 14, 73
Lower case flag
  changing, 61
  description, 7, 14
  disabling, 76

Margin
  in footnote, 27
  in note, 67, 79
  setting left, 70
  setting right, 87
Margins
  centering between, 49
Marking new text
  see change bars
Message
  displaying to user, 96
MOVABLE FIGURE command
  comparison with FIGURE command, 73
  comparison with MOVABLE PAGE command, 73
  definition, 73
MOVABLE PAGE command
  comparison with MOVABLE FIGURE command, 73
  comparison with other PAGE commands, 84
  definition, 73
Moving document
  see offset
Multiple spacing of lines, 93
Multi-line lettering
  adjustment of spaces between, 118
  background sample, 104
  complete description, 112
  edge sample, 104
  general discussion of, 103
  indicating transformations of, 109, 117
  inversion, 118
  outline sample, 103
  reducing width of, 123
  reflection, 118
  sample, 103
  separation between characters, 115
  shadows, 115
  sizes, 114
  width of spaces between, 118
      Index                                                                      155


      Multi-line lettering transformation flag
        changing, 109
        disabling, 119

      New page
        comparison of commands used for new page, 83
      New text
        marking, see change bars
      NO AUTO PARAGRAPH command
        definition, 74
      NO FILL command
        comparison with LITERAL command, 72, 74
        comparison with NO JUSTIFY command, 74
        comparison with other NO FILL commands, 48
        definition, 74
      NO FLAGS ALL command
        synonym of NO FLAGS command
      NO FLAGS CAPITALIZE command
        definition, 75
      NO FLAGS command
        definition, 74
      NO FLAGS COMMENT command
        definition, 75
      NO FLAGS CONTROL command
        definition, 75
      NO FLAGS END COMMAND command
        definition, 75
      NO FLAGS END FOOTNOTE command
        definition, 75
      NO FLAGS HALF DOWN command
        definition, 75
      NO FLAGS HALF UP command
        definition, 75
      NO FLAGS INDEX command
        definition, 76
      NO FLAGS LETTER command
        definition, 119
      NO FLAGS LOWER CASE command
        definition, 76
      NO FLAGS PAGE command
        definition, 76
      NO FLAGS QUOTE command
        definition, 76
      NO FLAGS SPACE command
        definition, 76
      NO FLAGS SUBINDEX command
        definition, 76
      NO FLAGS TEXT command
        definition, 76
      NO FLAGS UNDERLINE command
        definition, 76
      NO FLAGS UPPER CASE command
        definition, 77
      NO FOOTNOTE HEADER command
        definition, 77
      NO HEADERS command
        definition, 77
156                                      The FROFF Word Processor User's Guide


NO JUSTIFY command
  comparison with NO FILL command, 74
  definition, 77
NO NUMBER command
  definition, 77
NO NUMBER FOOTNOTE command
  definition, 77
NO OFFSET command
  definition, 77
NO PAGING command
  definition, 77
NO PERIOD command
  definition, 78
NO SUBTITLE command
  definition, 78
NO TITLE command
  definition, 78
NO UNDERLINE SPACE command
  definition, 78
Note
  see embedded note
NOTE command
  definition, 78
  see INDENT NOTE command
  see SPACE NOTE command
Number
  changing appendix value, 80
  changing chapter value, 80
  changing footnote value, 28, 81
  changing length of subsection number, 94
  changing page value, 79
  changing subpage value, 82
  changing value in subsection number, 81
  changing value of item in automatically numbered list, 81
  disabling automatically generated footnote numbers, 77
NUMBER APPENDIX command
  definition, 80
NUMBER CHAPTER command
  definition, 80
NUMBER command
  definition, 79
NUMBER FOOTNOTE command
  definition, 81
  discussion, 28
NUMBER LEVEL command
  definition, 81
NUMBER LIST command
  definition, 81
  discussion, 26
NUMBER PAGE command
  synonym of NUMBER command
Number sign
  use as space flag, 7, 62
NUMBER SUBPAGE command
  definition, 82
Numbered list
  see automatically numbered list
      Index                                                                      157


      Numbered subsection, 66

      Odd page numbers
        page side based on, 57, 80, 83
      Offset
        disabling, 77
        increased when enabling change bar, 54
        reduced when disabling change bar, 50
        setting for all pages, 82
        setting for left pages, 82
        setting for right pages, 82
      OFFSET command
        applies to footnote and surrounding text, 28
        comparison with LEFT MARGIN command, 70
        definition, 82
      OFFSET LEFT PAGE command
        definition, 82
      OFFSET RIGHT PAGE command
        definition, 82
      OPEN SPLICE command
        definition, 83
      Original conditions
        restoring, 86
      Outline
        end of, 109
        sample, 103, 122
        start of, 119
      OUTLINE command
        definition, 119

      Page
        causing next to be left, 71
        causing next to be on following side, 56
        causing next to be right, 88
        treating as initial page, 68
        treating as subsequent page, 58
      PAGE command
        comparison with FORCE PAGE command, 64
        definition, 83
        implied before footnotes, 54
        implied before index, 54
        implied by RESET command, 86
        issued if insufficient room on page, 96-97
        not implied before footnotes, 86
        not implied before index, 86
        various forms compared, 83
      Page height, 84-85
      PAGE LENGTH command
        definition, 84
      Page number
        changing value of, 79
        disabling in simple titles, 77
        enabling in simple titles, 79
        in message to user, 96
        prefix as appendix number, 45, 50, 80
        prefix as chapter number, 49-50, 80
        suffix as subpage number, 54, 82, 95
158                                      The FROFF Word Processor User's Guide


Page number flag
  changing, 62
  description, 7
  disabling, 76
Page side
  association with page number set by APPENDIX command, 80
  association with page number set by CHAPTER command, 80
  definition of, 57, 80, 83
Page size, 84-85
PAGE SIZE command
  definition, 85
Page width
  setting, 93
PAGE WIDTH command
  applies to footnote and surrounding text, 28
  definition, 85
Paging
  disabling, 77
  enabling, 85
PAGING command
  definition, 85
Paragraph
  automatic, 45
  start of, 45, 85
  within note, 67, 79
PARAGRAPH command
  definition, 85
  within note, 79
Period
  use as control flag, 13, 59
PERIOD command
  definition, 86
Periods
  between phrases and page numbers in index, 94
Phrase
  insertion into index, 68
  underlining, 101
Phrase argument delimiter
  see text flag
PRINT FOOTNOTE command
  discussion, 29
PRINT FOOTNOTES command
  definition, 86
PRINT INDEX command
  definition, 86
Punctuation
  collating sequence of in index, 89
  disabling extra spaces after, 78
  enabling extra spaces after, 86

Quotation
  see embedded note
Quote flag
  changing, 62
  description, 7
  disabling, 76
      Index                                                                      159


      Ragged right margin
        disabling, 70
        enabling, 77
      Reducing width of multi-line lettering, 123
      Repeated text
        see loop
      RESET command
        definition, 86
        in form letter, 72
      Restoring original conditions, 86
      Retaining cases, 14, 63, 102
      RIGHT BOTTOM SUBTITLE command
        definition, 87
      RIGHT BOTTOM TITLE command
        definition, 87
      RIGHT command
        comparison with other NO FILL commands, 48
        definition, 87
      RIGHT EDGE command
        definition, 123
      Right margin
        even, 70
        ragged, 77
        setting, 85, 87, 93
      RIGHT MARGIN command
        definition, 87
        in note, 79
      RIGHT NO FILL command
        comparison with other NO FILL commands, 48
        definition, 87
      Right page
        definition of, 57, 80, 83
        generating blank right page to get to left page, 91
        skipping left page to get to, 90
        subtitle at bottom, 87
        subtitle at top, 88
        title at bottom, 87
        title at top, 88
      RIGHT PAGE command
        comparison with other PAGE commands, 84
        definition, 88
      RIGHT TOP SUBTITLE command
        definition, 88
      RIGHT TOP TITLE command
        definition, 88
      RULE command
        definition, 88
      Ruled line
        above footnotes, 64
        across width of page, 88
      Runtime options
        beginning page, 10
        continuous output to terminal, 10-11
        ending page, 10-11
        offset, 10-11
        pausing between pages, 10-11, 19
        terminal type, 11, 59-60
160                                      The FROFF Word Processor User's Guide


Runtime options
  terminal with bi-directional tractor, 12
  terminal with half-line spacing, 11
  terminal with uni-directional tractor, 11
  terminal without half-line spacing, 11

Semicolon
  use as command separator flag, 14, 59
SEQUENCE command
  definition, 89
Shifting document
  see offset
Single spacing lines, 93
SKIP command
  at top of page, 45
  comparison with BLANK command, 90
  definition, 89
SKIP LEFT PAGE command
  comparison with other PAGE commands, 84
  definition, 90
SKIP PAGE command
  comparison with other PAGE commands, 84
  definition, 90
SKIP RIGHT PAGE command
  comparison with other PAGE commands, 84
  definition, 91
Skipped lines
  see blank lines
Skipping page
  see blank page
Skipping to known line on page, 46
Slash
  use as subscript flag, 59
Space
  conversion of tab character to, 96
  marking of required space, 62
SPACE APPENDIX command
  definition, 91
SPACE BOTTOM command
  definition, 91
SPACE CHAPTER command
  definition, 91
Space flag
  changing, 62
  description, 7, 15
  disabling, 76
SPACE FOOTNOTE command
  definition, 92
  discussion, 28
SPACE HEADER command
  definition, 92
SPACE INDEX command
  definition, 92
SPACE NOTE command
  definition, 93
  see NOTE command
      Index                                                                      161


      SPACE TOP command
        definition, 93
      Spaces
        disabling underlining of, 78
        enabling insertion for even right margin, 70
        ragged right margin resulting from disabling insertion, 77
        underlining, 16, 101
      SPACING command
        definition, 93
        in note, 79
      Splice
        end of, 56
      SPLICE command
        definition, 93
        use in form letter, 19
      Splice file
        establishing name, 83
        reading lines from, 93
        sample, 21-22
        terminating reading from, 56
        use in form letter, 19
      SQUEEZE command
        definition, 123
      STANDARD command
        definition, 93
      Striped background, 105
      STYLE HEADERS command
        definition, 94
      STYLE INDEX command
        definition, 94
      Subindex flag
        disabling, 76
      SUBPAGE command
        comparison with other PAGE commands, 84
        definition, 95
      Subpaging
        changing value of, 82
        enabling, 95
        end of, 56
        system used for representing subpage suffix, 54
      Subscript flag
        changing, 59
        disabling, 75
      Subscripting
        disabling, 75
        enabling, 59
      Subsection header
        blank lines before and after, 92
        capitalization of, 94
        changing values in, 81
        declaring, 66
        indentation of, 67
        minimum number of values in, 94
        system used for representing numbers, 52
        wrap-around of, 94
      Subtitle
        at bottom of left pages, 70
162                                      The FROFF Word Processor User's Guide


Subtitle
  at bottom of page, 46
  at bottom of right page, 87
  at top of left pages, 71
  at top of page, 95, 99
  at top of right page, 88
  disabling, 78
SUBTITLE command
  definition, 95
Superscript flag
  changing, 60
  disabling, 75
Superscript footnote numbers, 51, 53
Superscripting
  disabling, 75
  enabling, 60
Suppressing room for title at top of page, 77

Tab character
  conversion to spaces, 96
TAB STOPS command
  definition, 96
TELL command
  definition, 96
Terminating current output line, 47
TEST PAGE command
  comparison with other PAGE commands, 84
  comparison with TEST SPACING command, 96-97
  definition, 96
TEST SPACING command
  comparison with other PAGE commands, 84
  comparison with TEST PAGE command, 96-97
  definition, 97
  implied by PARAGRAPH command, 85
Text flag
  disabling, 76
  enabling, 62
Title
  allowing on first page, 58
  allowing room for at top of page, 65
  at bottom of left pages, 70
  at bottom of page, 47
  at bottom of right page, 87
  at top of left pages, 71
  at top of page, 97, 99
  at top of right page, 88
  blank, 100
  blank lines above title at bottom of page, 91
  blank lines below title at top of page, 93
  disabling, 78
  disabling page number in simple, 77
  enabling page number in simple, 79
  suppressing of title on initial page, 68
  suppressing room for at top of page, 77
TITLE command
  caution about alias of, 33
  comparison with TOP TITLE command, 98
      Index                                                                      163


      TITLE command
        definition, 97
      TOP SUBTITLE command
        definition, 99
      TOP TITLE command
        comparison with TITLE command, 98
        definition, 99
      Triple spacing lines, 93

      UNDERLINE command
        definition, 16, 101
      Underline flag
        changing, 63
        description, 7, 16
        disabling, 76
      UNDERLINE SPACE command
        definition, 101
      Underlining
        spaces, 16, 78, 101
        word or phrase, 16, 101
      Underscore
        use as quote flag, 7, 14, 62
      UPPER CASE command
        definition, 102
        equivalent to doubled circumflexes, 14
      Upper case flag
        changing, 63
        description, 7, 14
        disabling, 77
      User interaction
        asking for name of splice file, 83
        sending message to user, 96

      Vertical bar
        in output, see change bar
        use as superscript flag, 60

      Width of input line, 69
      Width of page, 85
      Word
        allowing wrap-around of, 58
        conversion of lower case to capital, 15, 58
        insertion into index, 60
        joining together of, 69
        underlining, 101
      Wrap-around
        of lines, 58
        of subsection header, 94

      & (ampersand)
        use as underline flag, 7, 16, 63

      ' (apostrophe)
        use as delimiter of character or phrase argument, 62

      \ (back slash)
        equivalent to LOWER CASE command when doubled, 14, 73
164                                      The FROFF Word Processor User's Guide


\ (back slash)
  use as lower case flag, 7, 15, 61
  use with ampersand to stop underlining, 16, 63
  use with forward slash to stop subscripting, 59
  use with vertical bar to stop superscripting, 60

^ (circumflex)
  equivalent to UPPER CASE command when doubled, 14, 102
  use as upper case flag, 7, 15, 63
  use with ampersand to start underlining, 16, 63
  use with forward slash to start subscripting, 59
  use with vertical bar to start superscripting, 60

! (exclamation point)
  use as comment flag, 14, 59
  use as end footnote flag, 27, 59

/ (forward slash)
  use as subscript flag, 59

> (greater than)
  use as index flag, 60
  use as multi-line lettering transformation flag, 109
  use as page number flag in titles, 7, 62, 99
  use between phrases in index, 62
  use in page number flag in messages, 96

< (less than)
  use as capitalization flag, 58

# (number sign)
  use as space flag, 7, 62

. (period)
  use as control flag, 13, 59

; (semicolon)
  use as command separator flag, 14, 59

_ (underscore)
  use as quote flag, 7, 14, 62

| (vertical bar)
  use as superscript flag, 60