1 RNO 
2 OPERATION 
 RUNOFF  can  be  initiated  in  several  ways.  The general formats for
 RSX-11 users are:  

                 General and Privileged Users 
                         MCR>RNO <CR> 
                         MCR>RNO filespec 

                 Privileged User Only 
                         MCR>RUN ...RNO/UIC=[uic] 
                         MCR>RUN $RNO/UIC=[uic] 
3 Command_String 
 System programs usually require a command string to specify such things
 as input files and various options.  A standard command string has  one
 of the following forms:  

                 output-file,toc-file=input-file 

                         or 

                 @command-file 

 The output-file, toc-file, and input-file are strings comprising a file
 specification.  The toc-file may be omitted if no table of contents  is
 desired.  

 The second form of command string (@command-file) is used to specify an
 indirect command file.  In this case each record of the file is used as
 a command string before any commands following the indirect command are
 accepted.  

 The  command  string  syntax is described more completely in the User's
 Guide for the relevant operating system.  
3 File_Specification 
 An RSX-11 file specification has the following form:  

                 Dev:[UIC]Filename.Typ;Ver 

 In  this  specification  Dev  must be a legal device code.  The default
 value is SY:, the system disk.  UIC must be a valid User Identification
 Code.   Filename  is  any  1-  to 9-character alphanumeric string which
 specifies a file name.  Typ is a 1- to  3-character  alphanumeric  file
 type.   System  programs default to an appropriate standard type so the
 typical user will not have to explicitly specify it.  Finally, Ver is a
 number  which  is the version number of the file.  This field also nor-
 mally can be omitted since it defaults on input to the highest existing
 version  number for the file and on output to the highest existing ver-
 sion number plus one.  

 Default file specifications (any part of which may be overridden):  

                 Input:   SY:RUNOFF.RNO 

                 Output:  SY:RUNOFF.DOC 

                 Table of contents:  SY:RUNOFF.RNT


                          Editing RUNOFF Output

      RUNOFF output files may not be edited normally with the stan-
      dard RSX/IAS file editors.  This version may produce editable
      output  by using the /-CR switch, when the text is processed.
      If You do this /UL:L will not work but the output may  easily
      be  edited.   If this switch is used the ouput text/line must
      not exceed 256 characters, the output buffer  size.   If  you
      need  to  use this feature with more than 256 characters/line
      see BUILDING RNO on how to change the output buffer size.  


3 /SWITCHES 
      /SP     -- Spool the output file 
      /-SP    -- Inhibit spooling of output file 

      /UC     -- Force ALL uppercase output 
      /-UC    -- Allow normal case conversion 

      /FF     -- Force Form-feeds (instead of multi-LFs) 
      /-FF:n  -- Simulate  Form-feeds with Line-feeds n is paper length,
                 default set by your system manager.  

      /WA     -- Wait for CR input at beginning of each page 
      /-WA    -- Continue printing each page with no wait 

      /PA:l:h -- Output only indicated page range 
                 l = lowest page to print 
                 h = highest page to print 
                 default = print all 
                 This  switch  should  be used with the /AP,/CH switches
                 for chapter oriented text.  

      /CH:l:h -- Output only indicated chapter range.  
      /AP:l:h -- Output only indicated appendix range.  

      /PS:H:W -- Set page size to H,W (height,width) 
                      Default is /PS:58:60 (See PAGE SIZE command) 

      /HY     -- Hyphenate output 
      /-HY    -- Do not hyphenate output 

      /RI:n   -- Right shift output.  n=amount of shift 

      /UL:B   -- Underline with a spacing-backspace 
      /UL:L   -- Underline via line overprint with underline character. 
      /UL:S   -- Simulate underline with hyphen character on next line. 
      /UL:N   -- Underlining suppressed.  

      /CR     -- Output CR,LF in file.  
      /-CR    -- Output  regular  text (No CR,LF).  This doesn't work if
                 the output line exceeds 256 characters.  
2 BASIC_COMMANDS 
3 BREAK 

 .BREAK 
 .BR 

      causes  a break, i.e. the current line will be output with no jus-
      tification, and the next word of the source text will be placed at
      the beginning of the next line.  
3 SKIP 

 .SKIP [-n] 
 .S [-n] 

      causes a BREAK after which n is multiplied by the number of spaces
      between lines.  The result is the number of lines skipped.  Output
      is advanced to the top of the next page if there is no room on the
      current page.  If the current page is empty,  SKIP  does  nothing.
      The  n  can  also have a negative value.  Negative values indicate
      skips to n lines from the bottom of the page.  Negative  skips  or
      skips  greater  than  6  are not allowed during footnotes or .TEXT
      sections.  
3 BLANK 

 .BLANK [-n] 
 .B -[n] 

      causes  the current line to be output with no justification, skips
      n line spaces, and then starts output of the current source  text.
      BLANK  is  like SKIP, except that the space to be left is indepen-
      dent of line spacing.  If the page is empty, BLANK  does  nothing.
      n  can  be  negative  to move to n lines from the end of the page.
      Negative n or n greater than 6 are not  allowed  in  footnotes  or
      .TEXT sections.  
3 FIGURE 

 .FIGURE [n] 
 .FG n 

      leaves  n  lines  blank  to make room for a figure or diagram.  If
      fewer than n lines remain on the current page,  the  page  is  ad-
      vanced  and  n  blank  lines are left at the top of the next page.
      This command guarantees your having n blank lines  for  a  figure,
      while blank will only guarantee n or fewer blank lines.  This com-
      mand is not allowed during footnotes or .TEXT sections.  This com-
      mand  has  the  unfortunate  side  effect that if the current page
      doesn't have enough space for the figure, the page is left with  a
      number of blank lines at the bottom of it.  The default is .FIGURE
      1 

 .FIGURE DEFERRED [n] 
 .FGD [n] 

      This command is similar to figure.  It will reserve n lines on the
      current page or if there is not enough room n lines at the top  of
      the  next  page.  If there is not enough room on the next page for
      all the lines requested an error message is produced and the  next
      page  will  be  entirely blank.  This differs from .FIGURE in that
      the current page will be filled with text right to the bottom line
      if there is no room for the figure on this page.  This command can
      not have the figure caption follow  the  .FIGURE  command,  unlike
      .FIGURE.  


                                     NOTE

           .BLANK,  .SKIP,  and  .FIGURE are very similar commands.
           If you are intending to leave 1 inch of space  .BLANK  6
           would  be  appropriate.   If  you  need 3 lines of space
           .SKIP 3 is the correct command.  If you  need  to  leave
           space  at the top of a page, or need a guaranteed amount
           of space use .FIGURE or .FIGURE DEFERRED.  When choosing
           between  .SKIP  and .BLANK remember that .SKIP is appro-
           priate if you are concerned  with  the  number  of  text
           lines  to skip, where text lines may be more than 1 phy-
           sical line.  .BLANK is appropriate when the space to  be
           left  is  an absolute value, for example .5 inches which
           is normally 3 physical lines.  


3 INDENT 

 .INDENT [-n] 
 .I [-n] 
 .LEFT [-n] 
 .L [-n] 

      causes  a  BREAK  and  sets the next line to begin n spaces to the
      right of the  left  margin.   The  n  can  be  negative  to  allow
      beginning  a line to the left of the left margin.  However, a line
      cannot begin to the left of column 0.  If n is not  supplied,  the
      current paragraph indent is used.  
3 RIGHT 

 .RIGHT [-n] 
 .R [-n] 

      places the following text flush with the right margin if n is zero
      or unspecified.  If n is specified the text is placed n spaces  to
      the  left  of  the  margin (n positive) or n to the right (n nega-
      tive).  If .RIGHT is issued after .CENTER TEXT,  but  before  .END
      CENTER, the text will be centered not right justified.  
3 PARAGRAPH 

 .PARAGRAPH [-n], [v], [t] 
 .P [-n], [v], [t] 

      CAUSES  A  BREAK  and formats the output paragraphs.  The n is op-
      tional and, if present, sets the number of spaces the paragraph is
      to  be  indented.   (n  can also have a negative value).  v is the
      vertical spacing or number of lines  between  paragraphs.   v  can
      range  from  0  to  5.  T is the TEST TEXT value.  If there is not
      room for t lines remaining on the page then a new page is started.
      The  action  of  both t and v are changed by the .SPACING command.
      Initially n,v,t are 1,5,2 as the default.  If  you  specify  n,v,t
      different from the defaults, you only need to do this once.  Every
      .PARAGRAPH command that follows will assume the same n,v,t.   This
      command is the same as issuing the following sequence of commands. 
           .SKIP v .TEST TEXT t .INDENT n 
3 CENTER 

 .CENTER [LINE][+-n] 
 .CENTRE [+-n] 
 .C [LINE] [+-n] 

      causes  a  BREAK  and  centers  the  following line of text in the
      source file.  The centering is halfway between the right and  left
      margins  if  n is not specified.  If n is specified as an absolute
      argument (no sign) then the centering is over column n.  If n is a
      relative  argument  the  centering is over the default center plus
      the relative value of n.  


                                     NOTE

           The definition of n differs from the previous version of
           RUNOFF.  



 .CENTER TEXT [+-n] 
 .C TEXT [+-n] 

      centers  the  following lines of text until a .END CENTER command.
      This differs from .CENTER LINE in that it centers more than 1 line
      of  text.  Centering automatically prevents filling and justifica-
      tion.  The argument n has the same meaning as for CENTER LINE.  

 .END CENTER 
 .ECN 

      stops centering the text.  This must be given only after a .CENTER
      TEXT command.  
3 FOOTNOTE 

 .FOOTNOTE 
 .FN 

      saves  lines  at  the  bottom  of the current page for a footnote.
      When the bottom of the page is  reached  the  text  following  the
      .FOOTNOTE  command  will be printed.  If insufficient room remains
      on the current page, space is allocated at the bottom of the  fol-
      lowing  page.   The  text of the footnote should begin on the line
      following the FOOTNOTE command.  Indentation, case lock,  justify,
      margins,  spacing,  bar,  and fill are preserved around footnotes.
      However, commands that affect page formatting  are  illegal  in  a
      footnote.   Tab  stops are illegal because they are not preserved.
      A footnote within a footnote is also  illegal.   If  the  footnote
      overflows from the current page onto the next page, it is possible
      that the line referring to the footnote will also  be  printed  on
      the  next page.  To prevent this either preface the .FOOTNOTE com-
      mand by a command that  causes  a  break,  or  place  enough  text
      between  the reference and the command to guarantee a full line of
      text.  

      Normally this command does not draw a line between the body of the
      text and the footnotes.  If you want it to  automatically  draw  a
      line you must use .PERMANENT FOOTNOTE.  

 .END FOOTNOTE 
 .EFN 

      ends  the footnote.  The previous version of RUNOFF used an excla-
      mation point ( ! ) to do this.  The exclamation point is not  sup-
      ported  in  this  version.   Each .FOOTNOTE or .PERMANENT FOOTNOTE
      command must be followed by a .END FOOTNOTE command.  
3 PERMANENT_FOOTNOTE 

 .PERMANENT FOOTNOTE 
 .PFN 

      This  command  may  only be issued before other footnote commands.
      If this command is issued and a footnote command has already  been
      given  for  the  current  page,  the command will be flagged as an
      error.  The text following this command is taken a permanent foot-
      note which is then printed between the body of text on a page, and
      the footnotes at the bottom.  This also sets up permanent margins,
      spacing,  and fill/justify mode for footnotes.  The left and right
      margins, and the spacing may be set during the permanent footnote,
      and  they will be restored for every subsequent .FOOTNOTE command.
      For example you may wish to separate the footnote from the text by
      a blank line, and a divider.  To do this you might use the follow-
      ing sequence of instructions.  

           .PERMANENT FOOTNOTE 
           .SKIP 2;------- footnote ------- 
           .END FOOTNOTE 

      The  permanent  footnote  will not be printed at the bottom of the
      page if no regular footnotes are declared.  

3 NOTE 

 .NOTE [title text] 
 .NT [title text] 

      This command is used to format notes.  A note is text set off from
      the rest of the text by reduced margins and a centered title.  The
      text  of  the note is follows the .NOTE command, and is ended by a
      .END NOTE command.  First this command issues a .TEST TEXT n where
      n is 4 added to the paragraph test page count.  This command SKIPs
      2, reduces both margins, centers the title text  (if  no  text  is
      given, it centers the word "NOTE"), and then SKIPS 1.  The text of
      the note is then printed.  An indentation is applied to  both  the
      left  and right margins.  The indentation is either 20,15,10, or 5
      whichever produces no more than a 25% reduction in the text  line.
      If  the indentation produces a text line less than the minimum, no
      indentation is used, and an error message is typed.  

 .END NOTE [n] 
 .EN [n] 

      terminates  the NOTE command, SKIPs n, and reverts the margins and
      spacing modes to their settings before the last NOTE command.   If
      n is not specified it will be 2 as the default.  
2 PAGES 
3 PAGE 
 .PAGE 
 .PG 

      causes  a BREAK and an advance to a new page.  If the current page
      is empty, this command does not advance the page.   Just  like  an
      automatic  page  advance, this command prints the title (if given)
      and page numbers on every page.  
3 SUBPAGE 

 .SUBPAGE 
 .SPG 

      executes a PAGE with page numbering suspended.  The page number is
      unchanged, but letters are appended to the page number.  This per-
      mits  insertion  of  additional  pages within an existing document
      without changing the existing page numbering.  

 .END SUBPAGE 
 .ES 

      disengages the SUBPAGE command and starts a new page.  Normal page
      numbering is resumed.  
3 NUMBER_PAGE 

 .NUMBER [PAGE] [+-n] 
 .NMPG [+-N] 

      starts  page numbering.  This is the default so there is no reason
      to issue this command unless page numbering is disengaged.  If re-
      sumption of page numbering is desired at a certain page, specify n
      as the next page number.  n may also  be  a  string  of  up  to  3
      letters.   If  n  is a letter A cooresponds to 1, B to 2, Z to 26.
      Similarly AA is 27, AB 28 and so on.  The maximum value for  n  is
      4000.   If  you wish to skip several pages for inserting diagrams,
      artwork or any other items which require a full pages, you may  do
      so by issuing the following commands:  
           .NUMBER  PAGE  +n .PAGE The next page number will be the cur-
      rent page number +n.  The page number is normally right  justified
      with  respect  to  the permenant right margin.  See the .PAGE SIZE
      command.  

 .NO NUMBER 
 .NNM 

      disengages page numbering.  However, pages continue to be counted,
      so that the normal page number can appear  if  page  numbering  is
      re-entered with the NUMBER command.  
3 NUMBER_SUBPAGE 

 .NUMBER SUBPAGE [+-n] 
 .NMSPG [+-n] 

      starts  the  next  page as subpage number n or letter n where n is
      the subpage letter.  The maximum value for n is 255 or the largest
      letter is JT.  
3 TEXT 

 .TEXT 
 .TX 

      This command begins a section of text that you wish to keep all on
      one page.  The .END TEXT or another .TEXT command  ends  the  sec-
      tion.  With this command you can guarantee that a given section of
      text will not be split between 2 pages unless it is  too  long  to
      fit  on  1  page.   This  command is illegal inside a footnote, or
      note.  Likewise footnotes and .TEST PAGE, .TEST TEXT,  or  .FIGURE
      are illegal inside this command.  

 .END TEXT 
 .ETX 

      This ends a section of text you wish to keep all on the same page. 
3 TEST_PAGE 

 .TEST PAGE n 
 .TP n 

      causes  a  BREAK followed by a conditional page advance.  It skips
      to the next page if fewer than n lines are left on the page.  This
      capability  is to ensure that the following n lines are all output
      on the same page.  

 .IMMEDIATE TEST PAGE n 
 .ITP n 

      This  is almost the same as test page except that it doesn't cause
      a break.  If fewer than n lines remain on this page a new page  is
      started  and  the  current line is the first line on the new page.
      This is useful if you wish to test for  sufficient  space  without
      breaking the line.  
3 TEST_TEXT 

 .TEST TEXT n 
 .TT n 

      First  this  command  causes  a break, then tests to see if enough
      room is on the current page for n lines of text.   If  not  a  new
      page  is started.  This differs from .TEST PAGE in that the actual
      space required depends on the current spacing.  

 .IMMEDIATE TEST TEXT n 
 .ITT n 

      This command is the same as test text except that no break occurrs
      before the test.  This command is very useful when you are filling
      and  justifying  text.   It allows you to "see" if there is enough
      room on the page for the rest of the text and start a new page  if
      there  is not.  This may be used to prevent single lines from dan-
      gling on the top of the next page.  
2 HEADERS 
 The page header consists of a title, and subtitle printed at the top of
 each page, as well as a page number.  This  title  is  printed  on  the
 first  line  below  the  top margin, and the subtitle on the next line.
 The page number will normally appear right justified on the  same  line
 with  the  title.   The  page  number is normally preceeded by the word
 "Page".  The title and subtitle are normally left justified.  The actu-
 al  location  of  title,subtitle, and page number are controlled by the
 .LAYOUT command.  In addition to the  following  commands  the  .NUMBER
 PAGE,  .DISPLAY NUMBER .NO NUMBER, and .NO NUMBER CHAPTER commands con-
 trol the page header.  


3 TITLE 
 .TITLE [text] 
 .T [text] 

      takes the remaining text as the title and outputs it on every page
      at line 0.  The title is normally left justified with  respect  to
      the  permanent left margin.  See the .PAGE SIZE command.  The per-
      manent margins allow different margins for the  headers  than  for
      the  text.  Titles and subtitles may not contain escape flags.  In
      addition tabs are converted to single spaces.  Some of these  res-
      trictions may be removed in future releases.  Titles are also pro-
      duced by these commands:  .FIRST TITLE, .CHAPTER, or .APPENDIX.  

 .NO TITLE 

      prevents  printing  either the title or subtitle at the top of the
      page.  The title print is reinstated by the .TITLE command.   This
      command  also  prevents titles from being produced by the .CHAPTER
      command.  The chapter  title  will  still  be  printed  after  the
      chapter  number  ,  but  it  will  not  appear as part of the page
      header.  
3 FIRST_TITLE 

 .FIRST TITLE [text] 
 .FT [text] 

      Same as TITLE , but used to specify the title to be printed on the
      first page of the document.  This command must precede all text in
      the  source  file.  Use of the FIRST TITLE command is the only way
      to print a title line on the first page of the document.   If  the
      page number appears on the same line as the title it will also not
      appear on the first page unless a .FIRST TITLE command is  issued.
      If  the  title  is blank only the page number will be printed.  If
      the page number is at the bottom of the page it will be printed on
      the  first  page  whether  or  not a .FIRST TITLE command is used.
      This command is equivalent to:  
           .HEADER .TITLE [ text ] 
3 SUBTITLE 

 .SUBTITLE [text] 
 .ST [text] 

      takes  the  remaining text as the subtitle and outputs it on every
      page.  It appears directly under the title.  The subtitle  is  al-
      igned on the same margin as the title.  The subtitle is not print-
      ed if the .NO TITLE command is in force.  
3 LAYOUT 

 .LAYOUT code [,spacing] 
 .LO [code] [,spacing] 

      changes  the  layout  of  the  title and page numbers on the page.
      This command doesn't have any affect on  the  current  page.   The
      next  page  will  have the new layout.  If you want to change only
      the first page of each chapter use the  .CHAPTER  LAYOUT  command.
      The  spacing is the number of blank lines between the last line on
      the page and the page number.  If the code is 0 then  the  spacing
      is  the number of blank lines-1 between the bottom of the text and
      the bottom of the page.  Pages with different layouts but the same
      spacing will have the same number of lines on a page regardless of
      whether the page number is at the top or bottom of the  page.   If
      the  spacing  is  omitted it is assumed to be 2 except for code 0.
      For code 0 it is assumed to be -1 if not specified.   Normally  if
      layout 0 is used the first page of a document will not have a page
      number, unless .FIRST TITLE or .HEADER commands are  used  at  the
      beginning.   However  all  other  layouts  will number every page.
      This is consistent with DSR usage.  The codes are:  

      CODE      PAGE LAYOUT 
      ----      ---- ------
      0 Title flush left, page number flush right 
      1 Title centered ,Page number centered at bottom 
      2 Title  flush  left  odd  page ,Title flush right even page ,Page
                number centered at bottom 
      3 Title flush left, Page number centered at bottom 
      4 Title top left, Page bottom right 
      5 Title top center, page number bottom right 
      6 Title top center, page number bottom right for odd numbers, left
                for even 
      7 Title  top,  page  bottom,  both right for odd numbers, left for
                even 
      The default is code 0.  
3 CHAPTER_LAYOUT 

 .CHAPTER LAYOUT code [,spacing] 
 .CHLO [code] [,spacing] 

      This command changes the layout for the first page of a chapter or
      appendix without having any effect on any other pages.  The param-
      eters are specified in the same manner as for the .LAYOUT command.
      If this command is not used, or used with no parameters, the  lay-
      out will be the same all pages of a document.  
3 HEADER 

 .HEADER 
 .HD 

      causes  the  page  header (title, subtitle, and page number) to be
      printed.  

 .NO HEADER 
 .NHD 

      causes  the  page  header (title, subtitle, and page number) to be
      omitted.  If a layout other than 0 is used, then the  page  number
      is  still printed at the bottom of the page and only the title and
      subtitle are suppressed.  The header lines are completely omitted,
      so  that text begins at the top margin where the header would nor-
      mally start.  The first page of output from RNO is formatted as if
      the .NO HEADER command had been issued, while subsequent pages are
      formatted as if the .HEADER command had been issued.  This may  be
      changed by issuing the .FIRST TITLE command before any text on the
      first page.  

 .HEADER PAGE 

      sets  RUNOFF  to  print the word PAGE in front of the page number.
      This is the initial or default option.  

 .HEADER NO PAGE 

      set  RUNOFF to print only the page number without the word PAGE in
      front of it.  This essentially supresses  the  pre-header  on  the
      page number.  
3 HEADER_SPACING 

      sets  the  spacing  between  the title and the first line of text.
      The value n is the number of lines to skip.  If n is not specified
      then  the current spacing per line of text is used as the default.
      The initial setting is 3.  The minimum value for n is 1 and  if  0
      is specified the value of 1 is assumed.  
2 LISTS 
 The  following commands format lists of items.  Say you wish to make up
 a list of the colors of the rainbow.  To do this you  could  issue  the
 following commands.  
3 LIST 

 .LIST n 
 .LS n 

      starts  an  indented  numbered list with n spacing, moves the left
      margin 9 spaces to the right for the first  LIST  command,  and  4
      more  spaces  for each subsequent nested LIST.  The n specified in
      the .LIST command skips n lines before each list  element  in  the
      current  list.  If the spacing is set to other than single spacing
      the actual number of blank lines is n times the spacing.  If n  is
      omitted the current paragraph spacing is used.  
3 LIST_ELEMENT 

 .LIST ELEMENT 
 .LE 

      starts  an item in the list, used in conjunction with the LIST co-
      mand.  If you want to type the text on the same line as  the  com-
      mand,  you must separate the text from the command with any number
      of intervening spaces or  tabs,  or  (optionally)  one  semicolon.
      Each  list  element  produces  a number followed by the text.  The
      first list element is numbered 1 the second 2  and  so  on.   Each
      number is normally followed by a decimal point ( . ) and 2 spaces.
      If you prefer letters, roman numerals or some character other than
      the  decimal  point see .DISPLAY ELEMENTS.  The text lines up with
      the current left margin and the numbers are placed 4 spaces to the
      left  of  the  new left margin.  The numbers will not be placed to
      the left of the permanent left margin.  If you  want  the  numbers
      lined  up  on  the  left margin with the text indented, you may do
      this by issuing .LM after the .LS command to reset the left margin
      back to the permanent left margin.  A .TEST PAGE is taken for each
      list element according to the value set in the last .PARAGRAPH  or
      .SET PARAGRAPH command.  

      This command may be used without preceeding it by a .LIST command.
      The numbers will again be indented -4 from the current margin  but
      not to the left of the permanent margin.  This might be considered
      to be the 0'th or base list.  All of  the  other  commands  except
      .END LIST apply to this list also.  
3 END_LIST 

 .END LIST n 
 .ELS n 

      Terminate  the  .LIST command and returns the settings to the same
      as for the last .LIST command.  The  optional  value  n  sets  the
      spacing  at  the end of the current list.  If none is supplied the
      current paragraph spacing is used.  The  actual  number  of  lines
      skipped is n times the current spacing.  
3 NUMBER_LIST 

 .NUMBER LIST [+-n] 
 .NMLS [+-n] 

      sets  the next number in the list to n.  If n is preceeded by + or
      - then the next list element number will be the current one + or -
      n.  You may also specify a letter instead of n.  If this is done A
      corresponds to 1, B to 2 and so on.  The maximum value  for  n  is
      4000.  
2 CHAPTERS 
3 CHAPTER 
 .CHAPTER [text] 
 .CH [text] 

      starts  a  new chapter using the text as the title of the chapter.
      The text may not contain escape sequences,  and  tabs  within  the
      text  are  treated  as ordinary spaces.  This command declares the
      text as being chapter oriented, which  has  effects  on  the  page
      numbers and the section headers.  This command acts as if the fol-
      lowing command string were entered:  

           .NO HEADER .PAGE SIZE .PAGE 
           .FIGURE 12 .CENTER;  CHAPTER n 

      The  n  is incremented by 1 automatically.  After the CHAPTER n is
      typed on the page the following are executed:  

           .BLANK 2 .CENTER;  text 
           .BLANK 3 .TITLE text 
           .FILL .HEADER .SUBTITLE 

      The  result  of  this  command  is a chapter heading with centered
      title and chapter number.  The chapters of this  document  are  an
      example  of  this  format.  This command resets the case, margins,
      spacing, and justify/fill modes.  It also clears any subtitles and
      sets the chapter name as the title.  The title will appear in CAPS
      unless it contains a shift down (\\).  If the .NO AUTOTITLE or .NO
      TITLE  command  is  used, the page title will not automatically be
      the same as the chapter title.  To retain control over the margins
      and  spacing you should use the .PAGE SIZE command to set the per-
      manent margins and spacing before the .CHAPTER command is  execut-
      ed.  

      It  is  possible  to reformat the chapters with the .STYLE CHAPTER
      command.  The chapter numbers may be selected  to  be  letters  or
      Roman numerals with the .DISPLAY CHAPTER command.  In addition the
      .DISPLAY CHAPTER command may also change  the  word  "CHAPTER"  to
      another word, or just blank space.  The STYLE and DISPLAY commands
      when used together can completely alter the chapter header.  
3 APPENDIX 

 .APPENDIX [text] 
 .AX [text] 

      starts a new appendix using the text as the title of the appendix.
      This command performs the same functions as .CHAPTER  except  that
      an  appendix  results.  This command acts as if the following com-
      mand string were entered:  

           .NO HEADER .PAGE SIZE .PAGE
           .FIGURE 12 .CENTER  APPENDIX a
           .BLANK 2 .CENTER; text
           .BLANK 3 .TITLE text
           .FILL .HEADER .SUBTITLE 

      The letter a following APPENDIX is incremented before it is print-
      ed.  Both .STYLE CHAPTER and .DISPLAY APPENDIX alter the  look  of
      the appendix header.  
3 NUMBER_CHAPTER 

 .NUMBER CHAPTER [+-n] 
 .NMCH [+-N] 

      supplies  a number (n) to be used in a subsequent CHAPTER command.
      NUMBER CHAPTER would be used when a chapter of a document occupies
      a source file of its own.  In such a case, NUMBER CHAPTER would be
      the first command of the source file.  n may  also  be  a  letter.
      The  maximum value for n is 255 or the largest letter is JT.  This
      would also be used if you wish to skip  a  chapter  for  insertion
      later on.  To skip chapters specify +n.  This command also enables
      chapter numbering.  When  chapter  numbering  is  in  effect  each
      .CHAPTER  or .APPENDIX command resets the page number to 1 and the
      chapter or appendix number are printed with  the  page  number  as
      part of the page header.  This is the normal RUNOFF mode.  

 .NO NUMBER CHAPTER 

      disables chapter numbering.  When it is disabled, the page numbers
      are  not  reset  with  each   chapter   or   appendix,   and   the
      chapter/appendix  number  is  not  printed  as part of the header.
      This command must be issued before the first .CHAPTER or .APPENDIX
      command  if  you wish to disable chapter-page numbering.  In addi-
      tion it must be reissued after each .NUMBER CHAPTER if you  intend
      to control chapter numbering but wish running page numbers.  
3 NUMBER_APPENDIX 

 .NUMBER APPENDIX [+-n] 

      supplies  a number or letter to be used as the letter for a subse-
      quent APPENDIX command.  n may also be a letter.  See NUMBER PAGE.
      The maximum value for n is 255 or the largest letter is JT.  
3 STYLE_CHAPTER 

 .STYLE CHAPTER [n1],[-n2],[-n3],[-n4],[-n5] 
 .STCH [n1],[-n2],[-n3],[-n4],[-n5] 

      changes the style of the chapter headers.  
      n1 = The number of lines to skip before printing CHAPTER.  
      n2 = Number  of  lines  to  skip after the word CHAPTER.  If n2=-1
           then the title and word CHAPTER will appear on the same line. 
      n3 = Number  of lines from title to text.  If n3=-1 then the title
           and any following text will be on the same line.  
      n4 = The number of spaces to indent the word CHAPTER.  
      n5 = The number of spaces to indent the title.  If n4 or n5 are -1
           then the line will be centered.  If n4 or n5 are -2 then  the
           lines are right justified.  

      The default values are 12,1,3,-1,-1.  
2 SECTIONS 
 A  section header consists of a string of numbers ( n1.n2.n3.... ) fol-
 lowed by a title.  
3  EXAMPLES  For  example  this section is preceeded by a section header
 with the title "Section Headers".  There are a variety of  commands  to
 control  section headers.  If you are using either the .CHAPTER or .AP-
 PENDIX command then the first number n1 is the same as the  chapter  or
 appendix  number.   The number of numbers ( n1.n2...) which preceed the
 section header is call the level of the header.  If you have a  chapter
 oriented document, the chapter number is not included in the numbering.
 For example the following header is at level 4 

      1.2.3.4 Example of a header 

 The following is at level 6:  

      3.1.1.1.1.1 Example of a header 

 Section  headers  always consist of at least 2 numbers so that in a non
 chapter orinted document header s at level 1 are printed as  n.0.   The
 following commands control the header levels.  
3 HEADER_LEVEL 


 .HEADER LEVEL [+-n] text 
 .HL [+-n] text 

      starts  a  section  at the level specified and takes the following
      text as the header or title of the section.  n can range from 1 to
      6.   The  sections  are  incremented  by  1 automatically, and the
      number is output in the form i.j.k.l.m.  If this is a chapter ori-
      ented document, the i is the chapter number.  Otherwise, it is the
      number of the .HL 1 level.  This command acts as a 

            .BREAK;.TEST PAGE 7;.BLANK 2  

      followed  by the section number, two spaces, and the section name.
      if the level number is preceeded by  +  or  -  the  current  level
      number is the previous one + or - the value specified.  
      LEVEL 1 capitalizes the section name and separates it from the the
                rest of the text by putting it on a separate line.  
      LEVEL  2 only separates the section name from the rest of the text
                by a break.  
      LEVELS  3,4,5  run  the  title and following text together and the
                title and text are separated by a single dash.  
                If  the title is too long to fit on 1 line it is filled,
                justified, and continued on the next  line  indented  to
                line  up with the first part of the title.  Autohyphena-
                tion is not performed on header titles.  
      If  the title is omitted, only the number is printed, and the next
      line of text follows it separated by 2 spaces.  For this  case  no
      distinction is made between different level numbers.  
3 NUMBER_LEVEL 

 .NUMBER LEVEL [+-n1],[+-n2],[+-n3],[+-n4],[+-n5],[+-n6] 
 .NMLV [+-n1],[+-n2],[+-n3],[+-n4],[+-n5],[+-n6] 

      sets  the  next header to the number specified.  If n is preceeded
      by + or - the n is added or subtracted  from  the  current  value.
      The  next  time .HEADER LEVEL is used the number specified will be
      the header number.  If the next .HEADER LEVEL command specifies  a
      level  different from the one implied in the .NUMBER LEVEL command
      the result will be undefined.  Instead of a number n may be up  to
      2  letters.   The maximum value for n is 255 or the largest letter
      is JT.  For example the following command sequence is specified:  

                .NUMBER HEADER 5,4,3,2 .HEADER LEVEL 

      The result of this would be:  

                5.4.3.2 
3 STYLE_HEADERS 

 .STYLE HEADERS [n1],[n2],[n3],[n4],[n5],[n6],[n7],[n8],[n9] 
 .STHL [n1],[n2],[n3],[n4],[n5],[n6],[n7],[n8],[n9] 

      controls the formats of the header levels.  The initial default is
      in ().  
      n1  = The lowest level at which text starts on same line as title.
           (3) 
      n2 = The lowest level with title capitalized.  (1) 
      n3 = The higest level with first letter of title in CAPS.  (6) 
      n4 = Lowest level with no level number.  (7) 
      n5  =  Lowest  level with centered title and number.  If the title
           and text are on the same line no centering occurrs.  (7) 
      n6 = The number of blank lines before the header.  (2) 
      n7 = The number of blank lines after the title.  (1) 
      n8 = The implicit test page value (7) 
      n9 = Number spaces between section number and title.  (2) 
3 INDENT_LEVELS 

 .INDENT LEVELS n1,n2 

      this  causes  the header levels to be indented by n1 from the left
      margin and indented n2 from the right margin.  A positive value of
      n1 causes indentation to the right of the left margin.  A positive
      value of n2 causes indentation to the left of the right margin.  

 .ENABLE LEVELS [+-n1],[+-n2] 

      enables output of header levels up to n1, and TOC output up to n2.
      In other words the .DOC file will have header levels 1 to  n1  and
      the .RNT file will have levels up to n2.  If n2 is greater than n1
      the .RNT file will only contain levels up to n1.  The  default  is
      6.  If n is not specified the default is assumed.  
2 DISPLAY_COMMANDS 
3 NUMBER 
 .DISPLAY NUMBER ["pre-header",] [format] [,"post-header"] 
 .DNM ["pre-header",] [format] [,"post-header"] 

      controls the format of the page numbers as they are printed at the
      top of the page, in the index and in the table of  contents.   The
      pre  and  post headers specify text to be printed before and after
      the page number.  The pre-header may consist of  up  to  10  char-
      acters.   The  post  headr  may  be up to 4 characters long.  This
      extra text is only printed on the individual pages, and do not ap-
      pear  in  the  index  or table of contents page numbers.  Any flag
      characters included in the pre or post header  text  are  printed,
      and  do  not act as flags.  In addition no case conversion is made
      on the header text.  The pre or post headers may  be  enclosed  in
      either  apostrophes (') or quotes (").  The format determines what
      format the page number is in.  It can be  either  regular  decimal
      numbers,  Roman numerals, or a sequence of letters.  See the table
      of formats below.  You may specify only the  pre-header  and  omit
      the  format  and  post-header.  However if you wish to specify the
      post-header you must specify the format.  The pre-header is always
      optional.  

      Assume you want pages to be numbered in lower case roman numerals.
      You would use the following command:  
           .DISPLAY NUMBER RL 
      As  another  example say you wish to print a 4 page memorandum and
      on each page you want the page number  and  the  total  number  of
      pages printed as n/4.  To do this you issue the following command. 
           .DISPLAY NUMBER "", D, "/4" 
      The first page is numbered 1/1 the second 1/2 and so on.  

      This document is numbered with:  
           .DISPLAY "- ",D," -".  

      The default is:  
           .DISPLAY NUMBER "Page" , D , "" 
3 FORMAT 


              format        Description 
              ------        -----------

                    D         Decimal numbers
                              (1,2,3......)
              LU      Letters uppercase
                              (A,B,C.....Z,AA,AB,AC....)
              LL      Letters lowercase
                              (a,b,c.....)
              LM      Letters mixed (first is uppercase) 
                              (A,B....,Aa,Ab,...)
              RU      Roman numerals uppercase 
                              (I,II,....)
              RL      Roman lowercase 
                              (i,ii.....)
              RM      Roman mixed 
                              (I,Ii,Iii......)
3 CHAPTER 

 .DISPLAY CHAPTER ["pre-header",] [format] [,"post-header"] 
 .DCH ["pre-header",] [format] [,"post-header"] 

      controls  the  format  of  the chapter numbers as they are printed
      when the .CHAPTER command is used.  The pre-header  is  up  to  10
      characters  of  text to be printed in front of the chapter number.
      The format determines what type of number is printed.   See  .DIS-
      PLAY  NUMBER.  The post-header is up to 4 characters to be printed
      after the chapter number.  

      For  example rather than chapters you want sections with numbering
      by Roman numerals, so you include the following in your .RNO file: 
           .DISPLAY 'Section (' , RU , ')' 
      When  you issue the .CHAPTER command for the 6'th time you get the
      following in the chapter header:  
           Section (VI) 

      The default is:  
           .DISPLAY CHAPTER "CHAPTER " , D , "" 
3 APPENDIX 

 .DISPLAY APPENDIX ["pre-header",] [format] [,"post-header"] 
 .DAX ["pre-header",] [format] [,"post-header"] 

      controls  the  format of the appendix number.  This works the same
      way as .DISPLAY CHAPTER.  

      The default is:  
           .DISPLAY APPENDIX "APPENDIX " , LU , "" 
3 SUBPAGE 

 .DISPLAY SUBPAGE [format] 
 .DSP [format] 

      controls  the format of the subpage number.  It is normally upper-
      case letters.  See .DISPLAY NUMBER for a table  of  possible  for-
      mats.  
3 LEVELS 

 .DISPLAY LEVELS [fm1],[fm2],[fm3],[fm4],[fm5],[fm6] 
 .DHL [fm1],[fm2],[fm3],[fm4],[fm5],[fm6] 

      sets the header level numbers to be displayed in the selected for-
      mat.  fm1 to fm6 are format codes for LEVELS 1 to 6.  See .DISPLAY
      NUMBER for a table of possible formats.  

      The default is:  
           .DISPLAY LEVELS D,D,D,D,D,D 
3 ELEMENTS 

 .DISPLAY ELEMENTS ["l"] [,format] [,"r"] 
 .DLE ["l",] [format] [,"r"] 

      this command sets the format of the current LIST element.  The "l"
      and "r" are the left and right characters to put around  the  list
      number.   See  .LIST, .LIST ELEMENT, .END LIST for explanations of
      the list elements.  See .DISPLAY NUMBER for a  table  of  possible
      formats.   Once you have specified the display characteristics for
      a given list it will remain specified even  after  more  .LIST  or
      .END  LIST  commands.  The optional characters may be delimited by
      either quotes ["] or a pair of apostrophes ['].  The default  for-
      mat is:  
           .DISPLAY ELEMENTS "" , D , "." 
      If  you  wish to setup your lists at the beginning of the document
      to normal outline form you issue the following commands.  
           .LIST 0 .LIST 0 .DISPLAY ELEMENTS LU 
           .LIST 0 .DISPLAY ELEMENTS LL 
           .END LIST 0 .END LIST 0 .END LIST 0 
2 MODE_SETTING 
3 ENABLE_BAR 

 .ENABLE BAR [n1] [,n2] 
 .EBB [n1] [,n2] 

      The change bar is a vertical bar printed in the in the left margin
      of a document.  It is generally used to note sections of the docu-
      ment  that  have been changed since the last printing of the docu-
      ment.  This command enables the printing  of  change  bars.   Bars
      will  not  actually  be printed unless a .BEGIN BAR command is is-
      sued.  This command is normally issued at the beginning of a docu-
      ment.   Each line is shifted right by n1 before the change bar and
      by n2-1 after the change bar.  If no change  bar  is  printed  the
      line  is shifted right by n1+n2.  In effect if n1 is 4 and n2 is 3
      the text line is always indented by 7 but the change bar appears 2
      spaces to the left of the text when it is turned on.  The defaults
      for n1,n2 are 0,3.  If you set a left margin the n1,n2 are in  ad-
      dition to the left margin.  

 .DISABLE BAR 
 .DBB 

      Causes change bar mode to be disabled.  If this is done at all, it
      is usually only at page breaks.  This is the default setting.  
3 BEGIN_BAR 

 .BEGIN BAR 
 .BB 

      Causes  the  change bar to be printed in the document.  It will be
      printed until a .END BAR command is encountered.  

 .END BAR 
      .EB 

      This command stops the printing of change bars.  
3 JUSTIFY 

 .JUSTIFY 
 .J 

      Causes  a  break  and sets subsequent output lines to be justified
      (initial setting).  The command increases the spaces between words
      until the last word exactly meets the right margin.  

 .NO JUSTIFY 
 .NJ 

      Causes  a  break  and  prevents justification of subsequent output
      lines to make a ragged right margin.  
3 FILL 

 .FILL 
 .F 

      Causes  a  break  and  specifies  that  subsequent output lines be
      filled (inital setting).  Sets the justification mode to  be  that
      specified  by  the  last appearance of JUSTIFY or NOJUSTIFY.  FILL
      adds successive words from the source text until the adding of one
      more  word  will exceed the right margin.  It stops before putting
      the last word in.  (If hyphenation has not been disabled, RNO will
      attempt  to break words which cause line overflow into syllables.)
      Normally the end of an input line is treated as a space unless the
      command .NO SPACE is used.  

 .NO FILL 
 .NF 

      disengages  the  FILL  and JUSTIFY modes.  This command is used to
      permit typing a table.  
3 NO_SPACE 

 .NO SPACE 
 .NSP 

      This command may be used to join 2 filled lines without the normal
      space in the output between them.  If .FILL  is  engaged  and  you
      issue  .NO SPACE after a line, the end of that line will not auto-
      matically generate a space in the output .DOC file.  
3 PERIOD 

 .PERIOD 
 .PR 

      enables  printing  of  two  spaces after every punctuation that is
      followed by at least one separator  character  (initial  setting).
      The legal punctuations are:  
           .  ;  :  ?  !  
      If  you  wish to prevent 2 spaces from being inserted after one of
      these punctuation marks you may insert  a  SPACE  flag  after  the
      punctuation rather than a space.  

 .NO PERIOD 
 .NPR 

      disengages  conversion of punctuation/separator to punctuation/two
      spaces.  
3 LITERAL 

 .LITERAL 
 .LT 

      turns  off  all  flags and all features to permit printing of text
      exactly as it appears in the source file.  In  addition  all  com-
      mands  are  disabled  except for .END LITERAL.  Commands appear in
      the output as if they were normal text.  Blank  lines  are  output
      instead  of  being  ignored.  This command is almost equivalent to
      the following sequence of commands.  
           .NO FILL .NO FLAGS ALL .NO FLAGS CONTROL 
      Unlike  the  sequence above the .LITERAL command may be turned off
      by the .END LITERAL command.  

 .END LITERAL 
 .ELI 

      is  used  at  the end of a LITERAL to allow normal text processing
      again.  This is the only command  recognized  after  the  .LITERAL
      command.  It is equivalent to the following:  
           .FLAGS CONTROL .FLAGS ALL 
      In addition the fill mode is restored if it was in effect when the
      .LITERAL command was issued.  
3 UNDERLINE_SPACES 

 .UNDERLINE SPACES 

      sets  RUNOFF to underline the spaces imbedded in a line of text to
      be underlined.  

 .UNDERLINE NO SPACES 

      set  RUNOFF  to  not  underline spaces imbedded in a line of text.
      This is the normal option.  
3 AUTOPARAGRAPH 

 .AUTOPARAGRAPH 
 .AP 

      causes  any blank line or any line starting with a space or tab to
      be considered as the start of a new paragraph.  This  command  al-
      lows normally typed text to be justified without special commands.
      It does not cause a paragraph if blank lines  are  followed  by  a
      command.  

 .NO AUTOPARAGRAPH 
 .NAP 

      disengages the AUTOPARAGRAPH mode.  
3 AUTOHYPHENATE 

 .AUTOHYPHENATE 
 .AH 

      turns  on automatic hyphenation.  When it is on RNO will automati-
      cally hyphenate words wherever necessary.  If .DISABLE HYPHENATION
      is  used  all  hyphenation  including autohyphenation is disabled,
      until .ENABLE HYPHENATION is issued.  This is the default so  this
      command need not be used if you want autohyphenation.  

 .NO AUTOHYPHENATE 
 .NAH 

      turns  off autohyphenation.  When it is off user selectable hyphe-
      nation may still be used.  Note that autohyphenation may be turned
      off  temporarily  for  1  word by preceeding it with the hyphenate
      flag.  
3 AUTOTITLE 

 .AUTOTITLE 
 .AT 

      This  command  enables  automatic  titles.   Everytime  you give a
      .CHAPTER or .APPENDIX command the chapter or appendix  title  will
      be  used  as the title at the top of the page.  This is the normal
      default so it is no necessary to give this command.  

 .NO AUTOTITLE 
 .NAT 

      turns  off the autotitle mode.  When off the .CHAPTER or .APPENDIX
      commands will not automatically generate titles.  
3 AUTOSUBTITLE 

 .AUTOSUBTITLE [+-n] 
 .AST [+-n] 

      Turns  on  autosubtitling.  When this is on each header level com-
      mand lower than n sets the subtitle to the  current  header  level
      title.  The default for n is 1.  
 .NO AUTOSUBTITLE 
 .NAST 

      Turns off autosubtitling.  This is the normal default.  
2 PARAMETERS 
3 MARGINS 
4 LEFT 

 .LEFT MARGIN [+-n] 
 .LM [+-n] 

      sets the left margin to n.  The n must be less than the right mar-
      gin but not less than 0.  The initial setting is 0.  If n  is  not
      supplied,  the permanent margin is used.  You should note that tab
      stops are relative to the margin at 0.  In other words if you  set
      .LEFT  MARGIN 10 .TAB STOPS 10,15,20,25 the tab stop at 10 will be
      ineffective because it is already at the left margin.  
4 RIGHT 

 .RIGHT MARGIN [+-n] 
 .RM [+-n] 

      sets the right margin n.  The n must be greater than the left mar-
      gin.  The initial setting is 60.  If n is not supplied,  the  cur-
      rent page width (set with the PAGE SIZE command) is used.  
4 TOP 

 .TOP MARGIN [+-n] 
 .TM [+-n] 

      sets the top margin or the number of blank lines at the top of the
      page to n.  The top margin must be less than the number  of  total
      lines in the page.  The default value is 0.  If n is not specified
      the top margin is reset to the default or  permanent  value.   See
      also .PAGE SIZE command below.  
3 PAGE_SIZE 

 .PAPER SIZE [+-h],[+-w],[+-l],[+-t],[s] 
 .PAGE SIZE [+-h],[+-w],[+-l],[+-t],[s] 
 .PS [+-h],[+-w],[+-l],[+-t],[s] 

      sets  the  size  of  the  page to h by w for the height and width.
      Also sets the LEFT MARGIN to l, the TOP MARGIN to t and the  spac-
      ing to s.  The initial setting is 58,60,0,0,1.  These settings are
      permanent since they are now the new default for the  duration  of
      the document.  Every .CH command will reinstate the PAGE SIZE set-
      tings.  In addition the other margin commands without any  margins
      specified  will reset the requested margin to the permanent value.
      You may reset all of these values to the permanent value by  issu-
      ing  the .PAGE SIZE command without any parameters.  The permanent
      values are used to determine the margins of the  heading  on  each
      page.   The older versions of RUNOFF used only the temporary right
      margin to set the header margins.  If the margins are set so  that
      there  are  fewer  than 16 lines on a page or fewer than 16 spaces
      per line the .PAGE SIZE command will be  rejected  with  an  error
      message.  This restriction also applies to the margin commands.  


                                     NOTE

           If  you wish this command or any other margin command to
           set the margins for the entire  document  including  the
           first  page,  you  must put the command before all text,
           and spacing commands.  A spacing  command  is  .BLANK  ,
           .SKIP,  .FIGURE,  or  any  other  command that generates
           extra blank lines.  


3 SET_PARAGRAPH 

 .SET PARAGRAPH [indent],[spacing],[test-page-lines] 
 .SPR 

      sets the paragraph parameters without actually causing a break, or
      starting a new paragraph.  This is similar to the .PARAGRAPH  com-
      mand.  The parameters specifed in this command also have an effect
      on the following commands:  
           .LIST              .LIST ELEMENT       .END LIST
           .NOTE              .PRINT INDEX        .DO INDEX           
3 SPACING 

 .SPACING [n] 
 .SP [n] 

      sets  the  number of spaces between lines.  The n can range from 1
      to 5.  If n is omitted the permanent spacing (normally 1)  is  re-
      stored.   The  permanent spacing is set by the .PAGE SIZE command.
      This command influences .PARAGRAPH, .SET PARAGRAPH, and .SKIP.  It
      has  no  effect  on  .TEST PAGE, .FIGURE, or .BLANK.  SPACING 1 is
      like single spacing on a typewriter and SPACING 2 is  like  double
      spacing.  SPACING 2 puts one blank line between lines of text.  
3 HALF_SPACING 

 .HALF SPACING [n] 

      This command is very similar to the spacing command except that it
      turns on half spaing.  The n will be the number of half lines  per
      line  of  text.  Once half spacing is enabled, every command which
      specifies spacing now works in increments of half lines.  Commands
      which are affected by half spacing are:  
           .BLANK             .FIGURE             .FIGURE DEFERRED
           .PAGE SIZE         .TOP MARGIN         .SPACING
           .HEADER SPACING    .LAYOUT             .STYLE LEVELS
           .STYLE CHAPTER     

 .NO HALF SPACING 

      This turns off the half spacing option.  All commands which speci-
      fy a spacing will work in increments of 1 space only.   Previously
      specified spacing will however remain the same.  
3 LOCK 

 .LOCK 

      this  command locks a number of page formatting parameters.  While
      locked these parameters can not be changed.  Essentially all  com-
      mands  that change the page format are locked.  The following com-
      mands will give error messages if issued after a .LOCK command:  

      .HEADER UPPER           .HEADER LOWER       .HEADER MIXED
      .HEADER PAGE            .HEADER NO PAGE     .HEADER SPACING
      .NO HEADER              .HEADER             .INDENT LEVELS
      .PAGE SIZE              .TOP MARGIN         .STYLE (all commands)
      .STANDARD               .NO NUMBER          .NO NUMBER CHAPTER
      .NO TITLE               .LAYOUT
      .DISPLAY (all commands) 

      In addition the .NUMBER CHAPTER will not reinstate chapter number-
      ing, and .NUMBER PAGE will not reinstate page numbering.   If  you
      are  careful  to  put all page formatting commands into a separate
      file, this command will probably not be necessary.  If however you
      have been foolish enough to sprinkle them throughout your text, or
      you need to merge several documents into a single  coherent  tome,
      this command can be a valuable short cut.  

      This  is intended to facilitate merging several files into 1 docu-
      ment.  You first set up all the  parameters  mentioned  above  and
      then lock them.  If you still have page formatting commands in the
      rest of the document they will not be obeyed.  This will produce a
      uniform document with all the same format.  
2 TABLES 
3 TAB_STOPS 

 .TAB STOPS [n1],[n2], .  .  .  ,[n32] 
 .TS [n1],[n2], .  .  .  ,[n32] 

      sets tabs.  The n must be listed in ascending order.  The value of
      a tab stop (n) must be between 1 to 255.  If tabs  already  exist,
      the  issuing of another TAB STOPS command clears all previous tabs
      before setting new ones.  Initially tabs are set  at  eight-column
      intervals  to match the Digital hardware standard.  These tabs are
      at columns 8, 16, 24, 32, 40, 48, 56, 64, 72, and  80.   The  tabs
      are  converted to the appropriate number of non-expandable spaces.
      If there are no regular spaces to the left of the tabs, they  will
      print  out at the appropriate position, even if FILL is on.  Up to
      32 tab stops may be specified.  
3 RIGHT 

 .TAB RIGHT 

      this  causes  the text following a tab to be right justified.  The
      text is right justified at the next tab terminator.  The  text  is
      considered  to be terminated by either a space, tab, end of line,,
      or break character.  If the break character is used to define  the
      right  side of the text, then the .FLAGS BREAK command must be is-
      sued.  This allows typing tables with the text right justified, or
      with an arbitrary point (defined by the break) lined up.  
4 EXAMPLE1 

      The  first  example  of  this is listing a column of figures right
      justified.  You type in the following text.  

           .NO FILL .TAB STOPS 30,40,50,60 .TAB RIGHT
           NAME     Jan       Feb       Mar       April
           Jones    152.75    0.00      3.78      1000.50
           Smith    4.95      300.22    5.75      54.95

      Which produces the following text:  

           NAME            Jan       Feb       Mar     April
           Smith        152.75      0.00      3.78   1000.50
           Jones          4.95    300.22      5.75     54.95

4 EXAMPLE2 
      The  second example is columns of figures lined up along the deci-
      mal points.  You input the following lines:  

           .NO FILL .FLAGS BREAK .TAB STOPS 20,30,40,50 .TAB RIGHT
                    1|.23     3|.1415   75|.2
                    789|.0    55|.2     100|.98765

      Which produces the following text.  

                   1.23      3.1415   75.2
                 789.0      55.2     100.98765

3 LEFT 

 .TAB LEFT 

      this  sets  the  tabs back to the normal action of left justifying
      the text on the next tab stop.  This is the default.  The  follow-
      ing  example  illustrates  the .TAB LEFT command.  You type in the
      following text.  

           .NO FILL .TAB STOPS 30,40,50,60 .TAB LEFT
           NAME     Jan       Feb       Mar       April
           Jones    152.75    0.00      3.78      1000.50
           Smith    4.95      300.22    5.75      54.95

      Which produces the following text:  

           NAME               Jan       Feb       Mar       April
           Smith              152.75    0.00      3.78      1000.50
           Jones              4.95      300.22    5.75      54.95

3 ELLIPSES 

 .ELLIPSES 

      causes  tabbed text to be filled with ellipses rather than spaces.
      In other words if you tab and this feature is on the text will  be
      padded  by  ellipses  ( . . . .) rather than spaces to justify the
      text.  

      For example you type in the following text:  

           .NO FILL .TAB STOPS 30,40,50,60 .TAB RIGHT
           NAME     Jan       Feb       Mar       April
           .ELLIPSES;Jones    152.75    0.00      3.78      1000.50
           Smith    4.95      300.22    5.75      54.95

      Which produces the following text:  

           NAME            Jan       Feb       Mar     April
           Smith . . .  152.75 . .  0.00 . .  3.78 . 1000.50
           Jones . . . .  4.95 .  300.22 . .  5.75 . . 54.95

 .NO ELLIPSES 

      turns off the ELLIPSES feature.  This is the default.  
2 FLAGS 
 A  flag  is a character which performs some special action and does not
 appear in the final document.  An example of a flag  is  the  ampersand
 (&).   It  causes the next character to be underlined.  Each flag char-
 acter can be defined by the .FLAG command.  This command  defines  what
 the character does and can optionally define which character does it.  
3  EXAMPLE  For  example  the following command will redefine the double
 quotes as the underline flag.  

      .FLAGS UNDERLINE " 

 After issuing this command any character preceeded by double quotes (")
 will be underlined.  The ampersand will then be merely a simple  print-
 ing  character.  The .NO FLAGS command disables the selected flag char-
 acter.  It is then a normal printable character.  If you issue a .FLAGS
 command  with  a character specified which is already in use as a flag,
 RUNOFF will reject the command and give you an error message.  

3 ACCEPT 

 .FLAGS ACCEPT [new flag] 
 .FL ACCEPT [new flag] 

      enables  recognition of the underscore (_) to allow printing other
      characters that are reserved to flags.  This is normally  enabled,
      but  may  be  disabled by .NO FLAGS ACCEPT.  The underscore may be
      replaced by another character to use for this flag.  

 .NO FLAGS ACCEPT 
 .NFL ACCEPT 

      disables  the use of (_) as an accept flag, so that it may be used
      as a normal character in the text.  
3 ALL 

 .FLAGS ALL 
 .FL ALL 
 .FL 

      turns on all flags that have been previously enabled.  This is an-
      alogous to a master switch which turns on all other switches.  

 .NO FLAGS ALL 
 .NFL ALL 
 .NFL 

      turns off all flags.  They can only be enabled again by .FLAGS ALL
      This will not turn off the CONTROL FLAG.  
3 BREAK 

 .FLAGS BREAK [new flag] 
 .FL BREAK [new flag] 

      enables  the break flag (|) or vertical bar.  This flag is used to
      mark where a word or expression may  be  broken.   The  expression
      will  only  be broken there if it would otherwise exceed the right
      margin.  Normally this flag is not enabled.  

 .NO FLAGS BREAK 
 .NFL BREAK 

      disables the break flag.  
3 CAPITALIZE 

 .FLAGS CAPITALIZE [new flag] 
 .FL CAPITALIZE [new flag] 

      enables  the less-than (<) character to capitalize the entire word
      it precedes.  It then returns the file to the current  case  mode.
      This  special  character  is  usually off and must be typed at the
      very beginning of the source text to enable this character.   Typ-
      ing  a  space returns the file to the current case lock.  The flag
      command can be followed by a character to be used instead  of  the
      less-than  (<).   (^<)  may  be used as a permanent shift to upper
      case only.  (^^) will then cancel this mode.  

 .NO FLAGS CAPITALIZE 
 .NFC 

      disengages the FLAG CAPITALIZE command (inital setting).  
3 CONTROL 

 .FLAGS CONTROL [new flag] 
 .FL CONTROL [new flag] 

      allows you to specify a new CONTROL flag.  Normally it is a period
      (.).  This is the code which appears at the start  of  a  line  to
      signal a command.  

 .NO FLAGS CONTROL 
 .NFL CONTROL 

      disables  recognition  of the CONTROL flag.  Once this command has
      been issued you can no longer give any commands  including  .FLAGS
      CONTROL.  So this is a non reversable command.  
3 ESCAPE 

 .FLAGS ESCAPE [escape flag] 
 .FL ESCAPE 


      enables  the escape sequence flags.  This allows you to issue spe-
      cial control codes (escape sequences) to the printer to perform  a
      variety of functions.  In addition you must ENABLE ESCAPE to actu-
      ally output the control codes.  Normally the escape flag  is  dis-
      abled.   The  escape flag defines a flag symbol for the escape se-
      quence.  Escape sequences can be defined for the  circumflex  (^),
      back slash (\), and an escape character of your choice.  To define
      escape sequences you must use .DEFINE ESCAPE.  

 .NO FLAGS ESCAPE 
 .NFL ESCAPE 

      disables  the  recognition  of the escape sequence flags.  This is
      the normal default.  
3 EQUATION 

 .FLAGS EQUATION 
 .FL EQUATION 

      Turns  on  the  equation formatting flags.  This sets the left and
      right braces { } as the flags to use in formatting equations.  

 .NO FLAGS EQUATION 
 .NFL EQUATION 

      Turns off the equation flags.  
3 HYPHENATE 

 .FLAGS HYPHENATE [new flag] 
 .FL HYPHENATE [new flag] 

      enables  the  equals  character (=) to disengage hyphenization for
      the word it preceeds, or specify where rno may hyphenate inside  a
      word.   This  special character is initially off and must be typed
      at the beginning of the source file to enable this character.  The
      FLAGS  HYPHENATE  character is used to disengage hyphenization for
      words improperly hyphenated by the hyphenation algorithm.  

 .NO FLAGS HYPHENATE 
 .NFL HYPHENATE 

      Disengages the FLAGS HYPHENATE command (initial setting).  
3 OVERSTRIKE 

 .FLAGS OVERSTRIKE [new flag] 
 .FL OVERSTRIKE [new flag] 

      enables  the overstrike flag (%).  This flag generates a backspace
      so you may overstrike the previous character.  This allows  forma-
      tion  of composite characters to approximate scientific symbols or
      add diacritical marks for foreign languages.   A  different  char-
      acter other than % may be assigned to this flag.  

 .NO FLAGS OVERSTRIKE 
 .NFL OVERSTRIKE 

      disables the overstrike flag (%).  This is the mode RUNOFF normal-
      ly starts in, so if you wish to use this flag it must be enabled. 
3 SPACE 

 .FLAGS SPACE [new flag] 
 .FL SPACE [new flag] 

      enables  the  number  (#)  sign  as a quoted non expandable space.
      Every time the # appears in the text RUNOFF changes it to a space,
      but  only  1 space even if FILL is enabled.  A different character
      may be assigned to this function when it is enabled.  This flag is
      normally enabled.  

 .NO FLAGS SPACE 
 .NFL SPACE 

      disables the space flag (#), thus allowing the # to be used in the
      text without explicitly quoting or accepting it.  
3 SPECIAL 

 .FLAGS SPECIAL [flag] 
 .FL SPECIAL [flag] 

      This  sets  up  a  single character to trigger an escape sequence.
      The flag is the character desired.  The escape  sequence  must  be
      defined with the first character equal to the circumflex (^).  For
      example you wish the left square braket ([) to  output  an  escape
      sequence  for superscripting on most printers.  You enter the fol-
      lowing commands:  

           .FLAGS SPECIAL < 
           .DEFINE ESCAPE /^</ 33,"D" 

      Once  this is done, the left square bracket is no longer printable
      unless preceeded by the accept flag (_).  If you do not include  a
      flag  character  then  it turns on processing of all special flags
      previously defined.  

 .NO FLAGS SPECIAL [flag] 
 .NFL SPECIAL [flag] 

      This  command  turns off a special flag.  If the flag had not been
      previously defined by a .FLAGS SPECIAL command  Runoff  will  give
      you  an error message.  If the flag character is omitted, then all
      special flags are turned off, until a .FLAGS  SPECIAL  command  is
      executed.  
3 SUBSTITUTE 

 .FLAGS SUBSTITUTE [new flag] 
 .FL SUBSTITUTE 

      enables  the  dollar  sign ($) as a substitution flag.  The dollar
      sign then marks the start of a label which defines a substitution.
      Eight substitutes are defined when Runoff begins.  These allow you
      to output the current date or time as part of the text.  
      Assuming the current date and time is 
                           January 17,1983 15:23:51
      The substitutions are:  
           Symbol                  Resulting output
           $$DATE                  17 Jan 83
           $$TIME                  15:23:51
           $$YEAR                  1983
           $$MONTH                 January
           $$DAY                   17
           $$HOURS                 15
           $$MINUTES               23
           $$SECONDS               51

      The pair of dollar signs ($$) which denote the permanent substitu-
      tions are both redefined if the substitute flag is redefined.  For
      example you redefine the substitute flag to be " then to print the
      date you must type:  ""DATE .  The permanent substitutins  may  be
      typed  in  either  lower or upper case letters.  The following are
      equaly valid:  $$DATE $$date $$DaTe and so on.  

 .NO FLAGS SUBSTITUTE 
 .NFL SUBSTITUTE 

      disables  the dollar sign as a substitute flag.  This flag is nor-
      mally disabled.  
3 UNDERLINE 

 .FLAGS UNDERLINE [new flag] 
 .FL UNDERLINE [new flag] 

      enables  recognition  of  the underline flag (&).  This is the de-
      fault so you do not normally have to do this.  

 .NO FLAGS UNDERLINE [new flag] 
 .NFL UNDERLINE [new flag] 

      disables recognition of the underline flag.  
3 UPPERCASE 

 .FLAGS UPPERCASE [new flag] 
 .FL UPPERCASE [new flag] 

      enables  the circumflex (^) to engage upper case shift.  When this
      is enabled the ^ will cause the next character to be  capitalized,
      and  ^^  turns off the lower case lock.  If the circumflex is used
      extensively in the text an alternate character may  be  specified.
      This  FLAG  is  normally enabled when RUNOFF starts.  This flag is
      also used as a function lock.  For example putting a circumflex in
      front  of  an  ampersand  (^&)  will  lock underlining on to allow
      underlining lines of text.  
 .NO FLAGS UPPERCASE 
 .NFL UPPERCASE 

      disables  the  UPPERCASE  FLAG.  The ^ will then not shift text to
      uppercase.  
2 ENABLE_COMMANDS 
 The  following  commands  can  be confused with the FLAGS commands, but
 they are very different.  The FLAGS command enables recognition of spe-
 cial  characters or combinations of characters.  The enable command en-
 ables the action which that character requests.  For  example  you  may
 enable  the  overstrike  flag  by  .FLAGS OVERSTRIKE.  The percent sign
 ( % ) will then cause overstriking and will not appear in the text.  If
 you  then issue the command .DISABLE OVERSTRIKING the percent sign will
 still not appear in the text, unless quoted, but no  overstriking  will
 occurr.  

3 ESCAPE 

 .ENABLE ESCAPE 
 .EES 

      enables  output  of  escape  sequences.  The escape sequence flags
      will be recognized, but not executed while disabled.  This is  the
      default.  

 .DISABLE ESCAPE 
 .DES 

      disables output of escape sequences.  
3 EQUATION 

 .ENABLE EQUATION n 
 .EEQ n 

      This  enables  the  equation  formatting.   The parameter n is the
      number of half lines to allocate above and below  each  character.
      The  default is .EEQ 0.  Sometimes if you are formatting equations
      with many subscripts or superscripts n=1 will look better  by  ad-
      ding more blank space to the fractions.  

 .DISABLE EQUATION 
 .DEQ 

      Disables  the  equation writing mode.  When disabled, but with the
      equation flags set via the .FLAGS EQUATION command, left and right
      braces { } are translated to be normal parentheses ( ).  
3 HYPHENATION 

 .ENABLE HYPHENATION 
 .EHY 

      enables hyphenation.  While hyphenation is enabled RUNOFF will au-
      tomatically to hyphenate words at the end of an output line.  User
      defined  hyphenation  via  the  hyphenate flag character [ = ] may
      also be used.  RUNOFF will never hyphenate a word  containing  es-
      cape sequences or unknown punctuation.  Currently the only punctu-
      ation marks considered valid within a word are:  
                               / \ .  , ( ) " @
      For  example  words containing hyphens are never hyphenated.  Such
      words may be optionally broken by using the break character.  

      The hyphenation routines are not ideal and there are certain prob-
      lems which you must overcome manually.   The  hyphenation  routine
      has no warning when a paragraph is ending, consequently it may hy-
      phenate the last word in a paragraph.   This  may  be  avoided  by
      using  the .FLAGS HYPHENATE command and marking the last word in a
      paragraph for no hyphenation.  The hyphenation routine will  never
      hyphenate a word in the last line on a page.  If you use footnotes
      and the footnote overflows to the next page, the hyphenation  rou-
      tine  may  hyphenate the last word on a page.  This may be avoided
      by use of the hyphenation flag, or by picking the page breaks with
      the  .PAGE  command.   It is always a good idea to avoid footnotes
      which overflow to the next page.  

 .DISABLE HYPHENATION 
 .DHY 

      disables hyphenation of text.  Neither automatic nor user selected
      hyphenation will occurr.  
3 INDEXING 

 .ENABLE INDEXING 
 .EIX 

      enables collecting and printing of index entries.  This is the de-
      fault.  

 .DISABLE INDEXING 
 .DIX 

      disables or stops indexing.  
3 OVERSTRIKING 
 .ENABLE OVERSTRIKING 
 .EOV 

      enables  overstriking  by means of the overstrike character [ % ].
      Overstriking is normally enabled, but the flag is disabled.  

 .DISABLE OVERSTRIKING 
 .DOV 

      disables overstriking.  
3 SUBSTITUTION 

 .ENABLE SUBSTITUTION 

      enables substitutions.  This is the normal default.  

 .DISABLE SUBSTITUTION 

      disables  output  of substitutions.  If the substitute flag is en-
      gaged, the substitution will be recognized,  but  no  substitution
      will be made.  
3 TABS 

 .ENABLE TABS 
 .ETB 

      This enables the use of the tab key to produce tabulated or colum-
      nar output.  Tabs are normally enabled so you do not need  to  en-
      able them unless you have previously disabled them.  

 .DISABLE TABS 
 .DTB 

      This  disables  the  use of tabs.  When tabs are disabled they are
      treated as ordinary spaces.  
3 TOC 

 .ENABLE TOC 
 .ETC 

      this  allows all CHAPTER commands, and HEADER LEVEL commands to be
      output to the table of contents file.  This is  normally  enabled,
      so  you  do not have to give this command unless you have disabled
      the TOC output.  

 .DISABLE TOC 
 .DTC 

      prevents  any TOC output.  Neither CHAPTER, .HEADER LEVEL, .APPEN-
      DIX, nor .SEND TOC commands will output anything to the .RNT file.
      By using this command you can control which items are in the TOC. 
3 UNDERLINING 

 .ENABLE UNDERLINING 
 .EUN 

      enable  underlining  using the underline character [ & ].  This is
      the default.  

 .DISABLE UNDERLINING 
 .DUN 

      disables underlining.  
2 ESCAPE_SEQUENCES 
3 DEFINE 

 .DEFINE ESCAPE "escape label" [,modifiers] definition 
                                   Modifiers
           LCK - escape sequence is a lock/unlock pair.  
           VSP,spacing  -  escape  sequence changes vertical position by
                spacing.  
           HSP,spacing  -  sequence  modifies the horizontal position by
                spacing.  
           PSP  -  The horizontal spacing specified by HSP is applied to
                all 
           CHR - The lock/unlock pair is used to change only 1 printable
                character.  
3 RESET 

 .RESET ESCAPE 

      resets  all escape sequences.  This clears the table of escape se-
      quences so you may enter a new one by using .DEFINE ESCAPE.  After
      giving this command all escape sequences are no longer defined.  
2 SUBSTITUTION 
3 RESET 

 .RESET SUBSTITUTE 

      resets  the  table  of substitutions so that all the previous ones
      are no longer  defined.   The  permanently  defined  substitutions
      ($$DATE...) are also no longer defined.  
3 DEFINE 

 .DEFINE SUBSTITUTE /label/ text 

      defines  a substitution to be made in the text.  The label is pre-
      ceeded and followed by a delimiter of your choice.  The label must
      be  no  more than 10 characters long and may not contain spaces or
      tabs.  The command and the first delimiter must  be  separated  by
      one  or more spaces or tabs, but no spaces are necessary after the
      second delimiter unless you wish to  include  them  in  the  text.
      When the substitute flag is encountered in your text followed by a
      defined label, the specified text  will  be  substituted  for  the
      flag+label.   The  text may contain another substitution.  Up to 3
      levels of substitution may be nested.  The rules for multiple  de-
      finitions of escape sequences also apply to substitutions.  
4 EXAMPLE 

      EXAMPLE:  You wish to abbreviate the phrase:  
           The party of the first part 

      So you define and enable substitution:  
           .DEFINE SUBSTITUTE /P1$/The party of the first part 
           .FLAGS SUBSTITUTE 

      Then  every  time  you type into the text $P1$ you get instead the
      substitute phrase:  
           The party of the first part 
4 DELIMITERS 
      The  example of define substitute could have used different delim-
      iters if you needed to used the delimiters in the text.  For exam-
      ple it could be done as follows:  
           .DEFINE SUBSTITUTE :P1$:The party of the first part 
                     ...  or 
           .DEFINE SUBSTITUTE "P1$"The party of the first part 

4 LABELS 
      The  substitution label or name may consist of any printable char-
      acter.  Upper case or lowercase letters may be used,  however  the
      case of the letter will be ignored except for the first character.
      In other words the following commands are equivalent.  
           .DEFINE SUBSTITUTE /ABC/ 
           .DEFINE SUBSTITUTE /Abc/ 
           .DEFINE SUBSTITUTE /AbC/ 
      But the following are not equivalent.  
           .DEFINE SUBSTITUTE /aBC/ 
           .DEFINE SUBSTITUTE /ABC/ 
4 DSR_CONVENTIONS 

      A  special  convention  is used to define DSR compatible substitu-
      tions.  If the first character of the substitution name is a  dol-
      lar  sign, the dollar sign stands for the substitute flag.  If the
      substitute flag is changed to a character other  than  the  dollar
      sign then the defined substitution is considered to begin with the
      new substitute flag.  When the substitution is searched  for,  the
      case  of  the  input  characters is ignored.  An example of such a
      substitution is the $$DATE permanently defined substitution.  

            For example the following input:
                 .FLAGS SUBSTITUTE @
                 .DEFINE SUBSTITUTE /$TEST/This is a test
                @@test !!
            Will produce the following line:
                 This is a test !!
2 REQUIRE_COMMAND 

 .REQUIRE 'filename' 
 .REQ 'filename' 

      takes  the  input text from the specified file.  The .REQUIRE com-
      mand may be imbedded in files which have been required.   The  re-
      quired  files  may be nested until 5 input files are open at once.
      An attempt to require a sixth level of input will cause an  error.
      The default filetype is .RNO.  The filename may be enclosed in ei-
      ther single (') or double (") quotes.  If any commands follow this
      command on the same line, they will be ignored.  
3 EXAMPLE1 

      This command makes it easy for you to break up your text into rea-
      sonable chunks.  For example you may wish to put each section in a
      separate file and then have a master file which requires each sec-
      tion in order.  If you need to rearrange the order of the sections
      you  only  need  to  change  the .REQUIRE statements in the master
      file.  You also should put the overall formatting commands such as
      .PAGE  SIZE, .DISPLAY, .HEADER ...  into a separate file which may
      be required at the beginning of each section.  

      You may also wish to build up files of commonly used substitutions
      and escape sequences.  These can then be easily  required  at  the
      beginning of any file that needs them.  
3 EXAMPLE2 

      Another example is generation of a series of letters with the same
      body but different inside addresses and  salutations.   You  would
      make  a  master  file  containing the inside addresses and saluta-
      tions.  After each salutation you might put:  
           .REQUIRE "LETTER" 
      You  would  then  create a file LETTER.RNO with the actual text of
      the letter.  By running the master file through RNO you would  get
      a  string  of  personalized  letters.  Later on you may change the
      contents of LETTER.RNO to get another set of personalized  letters
      for mass mailings.  
2 COMMENTS 

 .COMMENT text 
  text 

      causes  the  line  to  be ignored.  The text is not printed in the
      output .  Comments may contain useful information which  you  need
      when  re-editing  the  file.  For example you may wish to add com-
      ments to a string of .DEFINE ESCAPE and .DEFINE SUBSTITUTE to rem-
      ind you what each escape sequence and substitution does.  
2 INDEXING 
      Runoff can produce an index to your document.  To do this you must
      use the .INDEX command for each occurrence of a keyword  you  wish
      to  index.  This does not automatically cause all occurrences of a
      keyword to be indexed.  If you wish to automatically index all oc-
      currences of a keyword you may do this by using an appropriate ed-
      itor.  The editor must search for the keyword,  form  a  new  line
      after  the  keyword  and  insert  .X keyword on the new line.  The
      index facility is intended to produce  indexes  not  concordances.
      Then when you wish to print the index, you use .PRINT INDEX or .DO
      INDEX.  

3 INDEX 

 .INDEX [text] 
 .X [text] 

      takes  the  remaining  text  on the line as a keyword and adds it,
      along with the current page number, to the internal index  buffer.
      The  command  does  not  cause a break.  If in FILL mode the index
      command must appear immediately after the item to be indexed.   If
      you  are in NO FILL mode the index command must appear immediately
      after the line containing the index item.  If the line  is  broken
      because it is too long the index page number may be incorrect.  If
      you declare a .TEXT section then the .INDEX command should  be  at
      the  end of the section before the next .TEXT or .END TEXT.  Over-
      striking, substitution, and escape sequences are  not  allowed  in
      index  keywords.   A  given keyword may be indexed more than once.
      If a kewyord is indexed more than one time on  a  page  the  extra
      times are ignored.  

      SEE also the commands .ENABLE INDEXING and .DISABLE INDEXING.  
3 DO_INDEX 

 .DO INDEX [text] 
 .DX [text] 

      First  the permanent margins, and line spacing are restored.  Then
      this command starts a new page, centers the text, if given, other-
      wise  it centers the word " INDEX ".  This command then prints the
      entire contents of the index buffer.  Entries are printed  in  al-
      phabetic  order and are set against the left margin.  Regular line
      spacing is used, except that a new paragraph is formed between en-
      tries with different first letter.  The entries of different first
      letter may be separated by non zero paragraph spacing, and  orphan
      lines  at  the end of the page are prevented by the paragraph test
      page value.  The paragraph indentation is  used  to  indent  extra
      page numbers which can not fit on the line with the index entry.  

      If  both FILL and JUSTIFY are enabled the entry is followed by el-
      lipses ( .  .  .) and the page numbers are printed right justified
      with respect to the current right margin.  If FILL is disabled the
      ellipses are omitted.  If JUSTIFY is  disabled  the  page  numbers
      will  start  5  spaces after the index entry, and no justification
      will occurr.  
3 PRINT_INDEX 

 .PRINT INDEX 
 .PX 

      This  prints the entire contents of the index buffer.  The current
      margins, and spacing are not changed, nor is a new  page  started.
      The  format  of the index is the same as for .DO INDEX except that
      parameters are not reset and no header is formed.  
2 TABLE_OF_CONTENTS 
 There  is now a table of contents feature.  A table of contents file is
 automatically output if a second output  filespec  is  specified.   The
 table  of  contents  file  is labeled .RNT by default.  For example you
 wish to get a table of contents and regular runoff file.  You type:  

           >RNO EXAMPLE,EXAMPLE=EXAMPLE 

 The  EXAMPLE.RNT  file must then be passed through RNO to get the final
 TOC.  You may edit the .RNT file if it is not satisfactory.  You  would
 do the following:  

           >RNO EXAMPLE.TOC=EXAMPLE.RNT 

 You  now have the final EXAMPLE.DOC and EXAMPLE.TOC files.  They may be
 printed separately or a new composite file may be created:  

           >COPY EXAMPLE.TOC,EXAMPLE.DOC EXAMPLE.TXT 
                or 
           >PIP EXAMPLE.TXT=EXAMPLE.TOC,EXAMPLE.DOC 

 Now the composite file EXAMPLE.TXT may be printed as a whole document. 

 The following commands control the TOC output.  
3 SEND 

 .SEND TOC text 
 .STC text 

      sends  the  "text" to the .RNT file.  The text may be used to con-
      trol the TOC output.  The text may actually be a set  of  commands
      for  example .REQUIRE "FORMAT" to insert a set of commands to con-
      trol the format of the TOC.  If the same command  appears  in  the
      text then you can make sure the TOC and documentation all have the
      same format.  
3 TOC 

 .TOC 

      You  do not normally use this command.  It is automatically placed
      at the head of a .RNT file.  It enables formatting for  the  table
      of contents.  It does the following:  
           1.  New pages for each chapter are inhibited.  
           2.  All tab stops are cleared.  
           3.  .NO NUMBER CHAPTER 
           4.  .STYLE CHAPTER 1,-1,-1,0,2 
           5.  .STYLE HEADERS ,,,,,0,0 
           6.  .INDENT LEVELS 8,8 



 .END TOC 

      You  would not normally use this command unless you wish to append
      more text to the .RNT file  for  processing  with  the  same  page
      numbering  as  the table of contents.  This command is the comple-
      ment to .TOC.  It ends the table of  contents  and  allows  normal
      text processing.  It does the following:  
           1.  New pages are allowed at the start of each chapter.  
           2.  Tab stops are NOT changed.  
                             ---
           3.  .NUMBER CHAPTER 
           4.  .STYLE CHAPTER 12,1,3,-1,-1 
           5.  .STYLE HEADERS ,,,,,2,1 
           6.  .INDENT LEVELS 0,0 


 The format of the final table of contents may be varied either by edit-
 ing the .RNT file or by using .STC to add extra commands.  The  follow-
 ing hints may help you in designing your own format.  
      1.  The .RNT file needs .FILL to operate properly so do not edit a
          .NO FILL command into it.  
      2.  The  page  numbers  are right justified using tabs without el-
          lipses enabled.  If you want ellipses used  in  the  table  of
          contents  you  should  .SEND TOC .ELLIPSES.  le .ENABLE LEVELS
          n1,n2 may be used to automatically determine which header lev-
          els are printed in the table of contents.  The parameter n2 is
          the maximum header level to output to the .RNT file and  hence
          the maximum to appear in the table of contents.  
      3.  A  title  page may be placed in front of the table of contents
          by putting it into a separate file called TITLE and  inserting
          .STC .REQUIRE "TITLE" at the front of the .RNO file.  
      4.  You  may  wish  to number the table of contents in lower roman
          numerals by using the command .STC .DISPLAY NUMBER RL.  
      5.  The .STYLE commands may be inserted into the .RNT file to con-
          trol the actual format of the final table.  By doing this  you
          can  vary the spacing between the entries, the spacing between
          items in the entries, the Capitalization of the header  levels
          and so on.  
      6.  .INDENT LEVELS can also be used to change the HEADER LEVEL in-
          dentation.  
      7.  Finally the foreward or preface may be inserted into the table
          of contents file bye .STC .REQUIRE "PREFACE" and it will  fol-
          low the same numbering as the table of contents.  You may wish
          to .END TOC at the beginning of the  PREFACE.RNO  file.   This
          should  only  be  necessary  if  the  preface contains section
          headers.  

2 EQUATIONS 
 An  equation  formatting routine has been added to RUNOFF.  This is de-
 signed to format multiple nested fractions.  To use this  facility  the
 equation  flag  must  be enabled via the .FLAGS EQUATION command.  Sub-
 scripts or superscripts are normally taken care of in formatting  frac-
 tions,  but  you  may  wish to add extra space between the line and the
 numerator or denominator.  To do this give the command .ENABLE  EQATION
 1  to  add  1/2  line  or .ENABLE EQUATION 2 to add 1 whole line.  With
 these preliminary commands out of the way the braces { } are now  flags
 which  are used in formatting equations.  They must be preceeded by the
 underscore _ if they are to appear in the text.  

 Fractions  are formatted in the following manner.  You express the fac-
 tion as:  
           {NUMERATOR}/{DENOMINATOR} 
 and RNO will output:  
            NUMERATOR
           ___________
           DENOMINATOR


 Fractions      may      be      nested      inside      each      other
 {{A}/{B} + {C}/{D}}/{DENOMINATOR}.  The  macimum  nesting  is  about  6
 deep.   If  the  nesting is all in numerators then it is limited to 12,
 all in denominators is limited to 6.  Spaces or tabs may be freely used
 between  numerators and denominators outside of the braces for clarity.
 They will not appear in the final output.   For  example  {A}/{B}  will
 format the same as {A} / {B}.  Certain features will no longer work in-
 side fractions.  Normal spaces are treated as non expandable, and  tabs
 are  likewise  treated as non expandable spaces.  As a result fractions
 are never expanded to right justify the text.  

 One  warning  is in order.  Fractions may not be split between 2 output
 lines.  If this occurrs because the text is too long, you  will  get  a
 string  of  error  messages and the output will be messed up.  You cer-
 tainly may use more than 1 input line to format the fraction.  You  may
 wish  to  use  the command .NO SPACE to prevent extra spaces from being
 automatically inserted.  

 The commands used to control equation formatting are:  
      1.  .FLAGS EQUATION 
      2.  .NO FLAGS EQUATION 
      3.  .ENABLE EQUATION n 
      4.  .DISABLE EQUATION 



                                  NOTE

      This  equation routine will only work properly with word pro-
      cessing   style   hard   copy    printers    which    support
      sub/superscript  escape  sequences and backspacing.  In addi-
      tion sub/superscripting escape sequences must be defined with
      VSP parameters.  


2 CONDITIONALS 
 .IF aaa 

      This statement causes the text following it to be ignored until an
      .ENDIF aaa statement is encountered.  The aaa  is  a  label  which
      controls  the  action  of the .IF.  If aaa has been previously de-
      fined in a .VARIANT statement then the text is  not  skipped.   If
      not defined the text is skipped.  

 .IF NOT aaa 

      This  statement  causes the text following it to be ignored if aaa
      is undefined.  In other words if a .VARIANT statement preceeds the
      .IF NOT with the label aaa then the text is skipped.  

 .ENDIF aaa 

      This  statement  terminates the range of the .IF or .IF NOT state-
      ments.  The label aaa must be the same as the previous  .IF  which
      is terminated.  

 .VARIANT aaa 

      This  statement  defines  a label aaa which is used to control the
      action of subsequent .IF commands.  aaa may be up to 10 characters
      in either upper or lower case.  The case is ignored and ABC or abc
      are equivalent labels.  If the label is  defined  in  the  VARIANT
      statement  then  .IF aaa will cause text to be printed and .IF NOT
      aaa will suppress text.  
           For example:  
                .VARIANT NOTES
                .IF notes
                This line is printed
                .ENDIF notes
                .IF NOT notes
                This line is not printed
                .ENDIF notes
2 FILL 

                                  FILL

      1.  When  .FILL  is  enabled, multiple or reduncant spaces are re-
          moved.  This includes the following:  
          1.  Spaces following spaces.  
          2.  Spaces following non expandable spaces " " 
          3.  Spaces following "tabs" 
          4.  Spaces at the beginning of a line.  
      2.  When  .FILL  is  enabled  the end of a line is treated exactly
          like a space.  
      3.  If  both  .FILL and .PERIOD are enabled a punctuation followed
          by a space is converted to "punctuation",  "space",  "non  ex-
          pandable space".  
      4.  If  .NO  FILL is used, the end of a line is treated as a break
          ("|").  
      5.  Regardless  of whether .FILL or .NO FILL is used, if the input
          line is longer than the available page size, and  it  contains
          no  "normal" spaces, it will be truncated to fit the available
          space.  The only exception to this is when the line contains a
          "break"  character  ("|").   Then  the  line is divided at the
          break character to make it fit.  

2 JUSTIFY 

                                 JUSTIFY

      1.  If  .JUSTIFY  is enabled then all "normal" spaces are expanded
          or padded to right justify the final output.  
      2.  If  a  break  occurrs between lines, then the previous line is
          NOT justified.  
          ---
      3.  If  an  input line is shorter than the output line size and it
          contains no "normal" spaces, the line can  not  be  justified.
          This is indicated by an error message:  
                               "Can't justify line"
      4.  If .NO JUSTIFY is used then the output will not be padded with
          extra spaces , but if .FILL is enabled it will be missing  re-
          dundant spaces.  

2 SPECIAL_CHARACTERS 
 Below is a list of RUNOFF's special characters.  To appear in the text,
 each must be preceeded by the underscore character  (itself  a  special
 character).  


     ^ UPPERCASE shift or LOCK function
     \ LOWERCASE shift or UNLOCK function
     < CAPITALIZE word flag character *
     # SPACE character (non expandable or quoted space)
     = HYPHENATE specify or temporary autohyphenate disable. *
     & UNDERLINE the following character or ^ 
     _ ACCEPT the following character.
     % OVERSTRIKE the previous char by the next char *
     $ SUBSTITUTE defined text for abbreviation *
     | BREAK text with no spaces *
     { EQUATION flag  1 *
     } EQUATION flag  2 *
         * Only becomes a special character if the FLAG is engaged.
2 COMMAND_LIST
 * Indicates the command causes a line BREAK.
 $ Indicates a command forbidden during a FOOTNOTE.
 D Indicates the default setting
 ~ Indicates not available in DSR

 Command                                     Abbreviation   Opt.
 -------                                     ------------   ----

 APPENDIX [title]  . . . . . . . . . . . . . AX  . . . . .  *$
 AUTOHYPHENATE . . . . . . . . . . . . . . . AH  . . . . .   $D~
 AUTOPARAGRAPH . . . . . . . . . . . . . . . AP  . . . . .   $
 AUTOSUBTITLE  . . . . . . . . . . . . . . . AST . . . . .   $
 AUTOTITLE . . . . . . . . . . . . . . . . . AT  . . . . .   $D~

 BEGIN BAR . . . . . . . . . . . . . . . . . BB
 BLANK [-space]  . . . . . . . . . . . . . . B . . . . . .  *
 BREAK . . . . . . . . . . . . . . . . . . . BR  . . . . .  *

 CENTER [LINE][+-n]  . . . . . . . . . . . . C [LINE]  . .  *
 CENTER TEXT [+-n] . . . . . . . . . . . . . C TEXT  . . .  *  ~
 CENTRE [+-n]  . . . . . . . . . . . . . . . C . . . . . .  *
 CHAPTER [title] . . . . . . . . . . . . . . CH  . . . . .  *$
 CHAPTER LAYOUT [code][,spacing] . . . . . . CHLO  . . . .   $ ~
 COMMENT [comment text]  . . . . . . . . . . ;

 DEFINE ESCAPE escape definition . . . . . . . . . . . . .   $ ~
 DEFINE SUBSTITUTE /label/text . . . . . . . . . . . . . .   $ ~
 DISABLE BAR . . . . . . . . . . . . . . . . DBB . . . . .    D
 DISABLE ESCAPE  . . . . . . . . . . . . . . DES . . . . .     ~
 DISABLE EQUATION  . . . . . . . . . . . . . DEQ . . . . .     ~
 DISABLE HYPHENATION . . . . . . . . . . . . DHY
 DISABLE INDEXING  . . . . . . . . . . . . . DIX
 DISABLE TABS  . . . . . . . . . . . . . . . DTB . . . . .     ~
 DISABLE TOC . . . . . . . . . . . . . . . . DTC
 DISABLE OVERSTRIKING  . . . . . . . . . . . DOV
 DISABLE UNDERLINING . . . . . . . . . . . . DUN
 DISPLAY APPENDIX ["pre",][form][,"post"]  . DAX . . . . .   $
 DISPLAY CHAPTER ["pre",][form][,"post"] . . DCH . . . . .   $
 DISPLAY ELEMENTS ["pre",][form][,"post"]  . DLE . . . . .   $
 DISPLAY LEVELS [f1],[f2],...  . . . . . . . DHL . . . . .   $
 DISPLAY NUMBER ["pre",][form][,"post"]  . . DNM . . . . .   $
 DISPLAY SUBPAGE [form]  . . . . . . . . . . DSP . . . . .   $
      (form = D,LU,LL,LM,RU,RL,RM)
 DO INDEX [title]  . . . . . . . . . . . . . DX  . . . . .  *$

 ELLIPSES  . . . . . . . . . . . . . . . . . . . . . . . .   $ ~
 ENABLE BAR  . . . . . . . . . . . . . . . . EBB . . . . .    D
 ENABLE ESCAPE . . . . . . . . . . . . . . . ESC . . . . .    D~
 ENABLE EQUATION n . . . . . . . . . . . . . EEQ . . . . .    D~
 ENABLE HYPHENATION  . . . . . . . . . . . . EHY . . . . .    D
 ENABLE INDEXING . . . . . . . . . . . . . . EIX . . . . .    D
 ENABLE LEVELS [+-out],[+-toc] . . . . . . . . . . . . . .   $ ~
 ENABLE TABS . . . . . . . . . . . . . . . . ETB . . . . .    D~
 ENABLE TOC  . . . . . . . . . . . . . . . . ETC . . . . .    D
 ENABLE OVERSTRIKING . . . . . . . . . . . . EOV . . . . .    D
 ENABLE SUBSTITUTION . . . . . . . . . . . . . . . . . . .    D
 ENABLE UNDERLINING  . . . . . . . . . . . . EUN . . . . .    D
 END BAR . . . . . . . . . . . . . . . . . . EB
 END CENTER  . . . . . . . . . . . . . . . . ECN . . . . .     ~
 END FOOTNOTE  . . . . . . . . . . . . . . . EFN
 ENDIF aaaa
 END LIST [space]  . . . . . . . . . . . . . ELS . . . . .  *$
 END LITERAL . . . . . . . . . . . . . . . . EL  . . . . .  *$
 END NOTE  . . . . . . . . . . . . . . . . . EN  . . . . .  *$
 END SUBPAGE . . . . . . . . . . . . . . . . ES  . . . . .  *$
 END TEXT  . . . . . . . . . . . . . . . . . ETX . . . . .  *$ ~
 FIGURE [space]  . . . . . . . . . . . . . . FG  . . . . .  *$
 FIGURE DEFERRED [space] . . . . . . . . . . FGD . . . . .  *$
 FILL  . . . . . . . . . . . . . . . . . . . F . . . . . .    D
 FIRST TITLE . . . . . . . . . . . . . . . . FT  . . . . .   $
 FLAGS ACCEPT [new flag] . . . . . . . . . . FL ACCEPT . .   $D
 FLAGS [ALL] . . . . . . . . . . . . . . . . FL [ALL]  . .   $
 FLAGS BREAK [new flag]  . . . . . . . . . . FL BREAK  . .   $
 FLAGS CAPITALIZE [new flag] . . . . . . . . FL CAPITALIZE   $
 FLAGS CONTROL [new flag]  . . . . . . . . . FL CONTROL  .   $D
 FLAGS ESCAPE [new flag] . . . . . . . . . . FL ESCAPE . .   $ ~
 FLAGS EQUATION  . . . . . . . . . . . . . . FL EQUATION .     ~
 FLAGS HYPHENATE [new flag]  . . . . . . . . FL HYPHENATE    $
 FLAGS INDEX [new flag]  . . . . . . . . . . FL INDEX  . .   $
 FLAGS LOWERCASE [new flag]  . . . . . . . . FL LOWERCASE    $D
 FLAGS OVERSTRIKE [new flag] . . . . . . . . FL OVERSTRIKE   $
 FLAGS SUBSTITUTE [new flag] . . . . . . . . FL SUBSTITUTE   $
 FLAGS UNDERLINE [new flag]  . . . . . . . . FL UNDERLINE    $D
 FLAGS UPPERCASE [new flag]  . . . . . . . . FL UPPERCASE    $D
 FOOTNOTE  . . . . . . . . . . . . . . . . . FN  . . . . .   $

 HALF SPACING [n]  . . . . . . . . . . . . . . . . . . . .     ~
 HEADER  . . . . . . . . . . . . . . . . . . HD  . . . . .   $D
 HEADER LEVEL [+-level] [title]  . . . . . . HL  . . . . .  *$
 HEADER LOWER  . . . . . . . . . . . . . . . . . . . . . .   $
 HEADER MIXED  . . . . . . . . . . . . . . . . . . . . . .   $D
 HEADER NO PAGE  . . . . . . . . . . . . . . . . . . . . .   $ ~
 HEADER PAGE . . . . . . . . . . . . . . . . . . . . . . .   $D~
 HEADER SPACING [spacing]  . . . . . . . . . . . . . . . .     ~
 HEADER UPPER  . . . . . . . . . . . . . . . . . . . . . .   $

 IF aaaa
 IF NOT aaaa
 IMMEDIATE TEST PAGE n . . . . . . . . . . . ITP . . . . .   $ ~
 IMMEDIATE TEST TEXT n . . . . . . . . . . . ITT . . . . .   $ ~
 INDENT [-n] . . . . . . . . . . . . . . . . I . . . . . .  *
 INDENT LEVELS [-l],[-r] . . . . . . . . . . . . . . . . .   $ ~
 INDEX entry . . . . . . . . . . . . . . . . X

 JUSTIFY . . . . . . . . . . . . . . . . . . J . . . . . .    D

 LAYOUT [code] [,spacing]  . . . . . . . . . LO  . . . . .  *$
      (0=all at top 1-7=Header top,number bottom)
      (0=default 1=C 2=LR,C 3=L,C 4=L,R 5=C,R 6=C,LR 7=RL)
 LEFT MARGIN [+-n] . . . . . . . . . . . . . LM  . . . . .  *
 LIST  . . . . . . . . . . . . . . . . . . . LS  . . . . .  *$
 LIST ELEMENT text . . . . . . . . . . . . . LE  . . . . .  *$
 LITERAL . . . . . . . . . . . . . . . . . . LT  . . . . .  *
 LOCK  . . . . . . . . . . . . . . . . . . . . . . . . . .   $ ~
 LOWER CASE  . . . . . . . . . . . . . . . . LC

 NO AUTOHYPHENATE  . . . . . . . . . . . . . NAH . . . . .   $
 NO AUTOPARAGRAPH  . . . . . . . . . . . . . NAP . . . . .   $D
 NO AUTOSUBTITLE . . . . . . . . . . . . . . NAST  . . . .   $D
 NO AUTOTITLE  . . . . . . . . . . . . . . . NAT . . . . .   $ ~
 NO ELLIPSES . . . . . . . . . . . . . . . . . . . . . . .   $D~
 NO FILL . . . . . . . . . . . . . . . . . . NF  . . . . .  *
 NO FLAGS [flag name]  . . . . . . . . . . . NFL . . . . .   $
 NO HALF SPACING . . . . . . . . . . . . . . . . . . . . .    D~
 NO JUSTIFY  . . . . . . . . . . . . . . . . NJ
 NO PAGING . . . . . . . . . . . . . . . . . NPA . . . . .   $
 NO NUMBER . . . . . . . . . . . . . . . . . NNM . . . . .   $
 NO NUMBER CHAPTER . . . . . . . . . . . . . . . . . . . .   $ ~
 NO SPACE  . . . . . . . . . . . . . . . . . NSP
 NO TITLE  . . . . . . . . . . . . . . . . . . . . . . . .   $ ~
 NOTE  . . . . . . . . . . . . . . . . . . . N . . . . . .  *$
 NUMBER APPENDIX [+-n] . . . . . . . . . . . NMAX  . . . .   $
 NUMBER CHAPTER [+-n]  . . . . . . . . . . . NMCH  . . . .   $D
 NUMBER LEVEL [+-n1],....,[+-n6] . . . . . . NMLV  . . . .   $
 NUMBER LIST [+-n] . . . . . . . . . . . . . NPLS  . . . .   $
 NUMBER [PAGE] [+-n] . . . . . . . . . . . . NMPG  . . . .   $D
 NUMBER SUBPAGE [+-n]  . . . . . . . . . . . NMSPG . . . .   $

 PAGE  . . . . . . . . . . . . . . . . . . . PG  . . . . .  *$
 PAGE SIZE [+-h],[+-w],[+-l],[+-t],[s] . . . PS  . . . . .   $
 PAPER SIZE [+-h],[+-w],[+-l],[+-t],[s]  . . PS  . . . . .   $
 PAGING  . . . . . . . . . . . . . . . . . . PA  . . . . .   $
 PARAGRAPH [-n],[v],[t]  . . . . . . . . . . P . . . . . .  *$
 PERIOD  . . . . . . . . . . . . . . . . . . PR  . . . . .   $D
 PERMANENT FOOTNOTE  . . . . . . . . . . . . PFN . . . . .   $ ~
 PRINT INDEX . . . . . . . . . . . . . . . . PX  . . . . .  *$

 RESET ESCAPE  . . . . . . . . . . . . . . . . . . . . . .   $ ~
 RESET SUBSTITUTE  . . . . . . . . . . . . . . . . . . . .   $ ~
 REQUIRE 'file spec' . . . . . . . . . . . . REQ . . . . .   $
 RIGHT [+-indent]  . . . . . . . . . . . . . R . . . . . .   $
 RIGHT MARGIN [+-n]  . . . . . . . . . . . . RM  . . . . .  *

 SEND TOC text . . . . . . . . . . . . . . . STC
 SET PARAGRAPH [-n],[v],[t]  . . . . . . . . STP . . . . .   $
 SKIP [lines]  . . . . . . . . . . . . . . . S . . . . . .  *
 SPACING [s] . . . . . . . . . . . . . . . . SP  . . . . .   $
 STYLE CHAPTER [n1],...,[n5] . . . . . . . . STCH  . . . .   $ ~
      (1-3 = spacing, 4,5=indent (-1 centered,-2 right just)
 STYLE HEADERS [n1],...,[n9] . . . . . . . . STHL  . . . .  *$
      (line,CAPS,Cap,number,center,skip before,after,test,indent)
 SUBPAGE . . . . . . . . . . . . . . . . . . SPG . . . . .  *$
 SUBTITLE [subtitle] . . . . . . . . . . . . ST  . . . . .   $

 TAB LEFT  . . . . . . . . . . . . . . . . . . . . . . . .   $D~
 TAB RIGHT . . . . . . . . . . . . . . . . . . . . . . . .   $ ~
 TAB STOPS [+-n1,n2...]  . . . . . . . . . . TS  . . . . .   $
 TEST PAGE n . . . . . . . . . . . . . . . . TP  . . . . .  *$
 TEST TEXT n . . . . . . . . . . . . . . . . TT  . . . . .  *$ ~
 TEXT  . . . . . . . . . . . . . . . . . . . TX  . . . . .  *$ ~
 TITLE [title] . . . . . . . . . . . . . . . T . . . . . .   $D
 TOP MARGIN [+-n]  . . . . . . . . . . . . . TM  . . . . .  *$ ~

 UNDERLINE SPACES  . . . . . . . . . . . . . . . . . . . .   $ ~
 UNDERLINE NO SPACES . . . . . . . . . . . . . . . . . . .   $D~
 UPPER CASE  . . . . . . . . . . . . . . . . UC  . . . . .    D

 VARIANT aaaa  . . . . . . . . . . . . . . . . . . . . . .      ~
