1 RNO 

 This help file for Runoff is a combination made by B. Z. Lederman
 with original material, and material taken from the Bonner Lab Runoff
 Version BL7.0 help file (dated 7-Nov-1986) written by John Clement.

2 Flag_characters 
3 Underline 

 &  Ampersand     UNDERLINE 

      The  character  ampersand  "&"  is used to specify underlining.  The
      ampersand will cause the character following it  to  be  underlined,
      e.g. &f&o&o  becomes  foo.   To begin underlining a whole section of
                            ---
      text you precede the section by ^& and follow  the  section  by  \&.
      Any  spaces  in  the section will not be underlined.  To underline a
      single space or tab precede it by &.  Text with imbedded spaces  may
      be  underlined spaces and all by issuing the command .UNDERLINE " ".
      You may specify which characters may or may not be underlined by the
      .UNDERLINE and .NO UNDERLINE commands.  
           (In  DSR  you underline spaces by preceding them with an accept
      flag "_".) 
3 Space 

 #  Number-Sign   Quoted or non expandable SPACE 
      It  is  occasionally  necessary  to include spaces in the text which
      should not be treated as word separators.  For this purpose,  RUNOFF
      treats  the  number-sign  character "#" as a quoted space;  i.e.  it
      will print as exactly one space in the output.  Normal spaces may be
      expanded  to  multiple spaces to justify the text, but quoted spaces
      may not be expanded.   Also  normal  spaces  mark  the  end  of  the
      previous  word  and  the  beginning of the next.  Text with imbedded
      quoted spaces are not be broken at the quoted spaces and split  into
      separate lines.  
3 Accept 

 _  Underline     ACCEPT or Quote character 

      To  allow  the  appearance  of  the  special  characters (ampersand,
      number-sign,  circumflex,  or  back-slash)  in   the   output,   the
      underscore  character  "_" is used as an accept flag.  The character
      immediately following an  underscore  will  be  transmitted  to  the
      output  with  no  formatting  effect.  The underscore itself is thus
      another case requiring quoting.  The following 12 cases occur:  
                      _& _^ _\ __ _$ _| _= _% _< _# _{ _} 
      If  normal  spaces  or tabs are preceded by an ACCEPT character they
      are converted to non expandable spaces.  
3 Uppercase 

 ^  Circumflex    UPPERCASE shift or mode lock 

      As  described above, the circumflex character "^" is used to convert
      the letter following to upper-case.  It is also  used  to  lock  the
      case  mode  in  upper case, and the underline mode to "underline all
      text".  If it is to appear in the printed text, it must be  preceded
      by  the  quote  character  "_^".   User-defined special flags may be
      locked on  using  the  circumflex.   For  example  if  your  printer
      supports bolding "^*" would be used to turn on bolding.  
3 Lowercase 

 \   Backslash    LOWERCASE shift or mode unlock 

      As  described  above,  the backslash character "\" is used to output
      the letter following in lower-case.  It is also  used  to  lock  the
      case  mode  in  lower-case, and to disable underlining.  If it is to
      appear in the printed  text,  it  must  be  preceded  by  the  quote
      character  "_\".   It is also used to turn off special features, for
      example "\*" would be used to  turn  off  bolding  if  your  printer
      supports it.  
3 Capitalize 

 <  Less-than     CAPITALIZE next word 

      If  .FLAGS  CAPITALIZE has been defined, the less-than character "<"
      is a special  character  used  to  capitalize  the  entire  word  it
      preceds.   If  it  is  to  appear  in  the  printed text, it must be
      preceded by the quote character "_<".  An appearance of a circumflex
      followed  by less than "^<" permanently locks Runoff into capitalize
      mode.  This may be cancelled by a double circumflex "^^".  This flag
      is not normally used with terminals that have lowercase.  
3 Hyphenation 

 =  Equals-sign   HYPHENATE character 

      If .FLAGS HYPHENATE has been specified the equals character "=" used
      to control hyphenation.  If it preceds a word the word will  not  be
      hyphenated.  If it is imbedded inside a word it specifies where that
      word may be hyphenated.  The word is only hyphenated if necessary to
      fill  out  a  line.   When  hyphenation  is  specified for a word no
      automatic hyphenation is used.  If this appears at the end of a line
      it specifies that the next line is a continuation of the current one
      and that a hyphen may appear at this point.  If = is  to  appear  in
      the printed text, it must be preceded by the quote character "_=".  
3 Overstrike 

 %  Percent-Sign   OVERSTRIKE character 

      If  .FLAGS  OVERSTRIKE  has  been defined, the percent character "%"
      will  generate  a  backspace  to  allow  overstriking  the  previous
      character  to  form  new  composite  characters.  If overstriking is
      defined and you wish to use the percent in the text then it must  be
      preceded   by   an  underscore  "_%".   The  default  is  .NO  FLAGS
      OVERSTRIKE.  Multiple backspaces may be generated.   You  should  be
      careful  when  using this feature.  Backspacing past the left margin
      is not allowed, and some printers do not support backspacing.  
           (DSR doesn't support multiple backspacing) 
3 Period 

 +  Plus   PERIOD character 

      If .FLAGS PERIOD has been defined the plus-Sign "+" will generate an
      extra space if followed by a normal space.  For  example  J+ M  will
      appear in the output as J  M.  
3 Control 

 .  Period   CONTROL character 

      This  flag  marks  the  rest of a line as a control or command if it
      appears at the beginning of a line.  
3 Substitute 

 $  Dollar-Sign   SUBSTITUTE character 

      If .FLAGS SUBSTITUTE has been enabled then the dollar sign marks the
      beginning of a substitution label.  Runoff will then substitute some
      specified  text  for  the  label.   The text may be specified by the
      .DEFINE SUBSTITUTE command.  Permanently defined  substitutions  are
      already  available  for  the  current  date  and time.  See:  .FLAGS
      SUBSTITUTE.  
3 Break 

 |  Vertical bar   BREAK character 

      If  .FLAGS  BREAK  is  enabled  this character marks where a word or
      expression may be broken.  A word containing a  break  will  not  be
      hyphenated, but will be broken if necessary.  Words may contain both
      specified hyphenation  and  break  points.   You  may  automatically
      specify breaks on a character by using the .AUTOBREAK command.  This
      flag also marks where  a  string  is  justified  if  .TAB  RIGHT  is
      enabled.  If this appears at the end of a line it specifies that the
      next line is a continuation of the current one.  
3 Index 

 >  Greater than   INDEX/SUBINDEX flags 

      If .FLAGS INDEX is enabled, this character may be used to mark terms
      to be indexed.  If .FLAGS SUBINDEX is enabled, the character may  be
      used  inside a .INDEX command to denote subindex terms.  For further
      explanation see the section on indexing.  
3 Equation 

 { } Braces   EQUATION formatting characters 

      If  .FLAGS  EQUATION is enabled these characters are used to delimit
      either the numerator or denominator of a  fraction.   The  numerator
      and denominator are further separated by a slash "/".  
      (Not available in DSR) 
3 User_defined 

 ????  User defined flags 
      The  user  may define any other special character as a flag by using
      the .FLAGS SPECIAL or .FLAGS ESCAPE commands.  Any flag  so  defined
      obeys  the printing rules defined above.  The meaning of the flag is
      entirely up to the user.  
      (Not available in DSR) 
3 NOTE 


                                   NOTE

      All  of  these  flags  may be undefined by a .NO FLAGS command.
      They may be defined and changed to a different character  by  a
      .FLAGS  command.   For  example  if  you  use  the  equals sign
      frequently you may change the hyphenation  flag  to  the  tilde
      which you seldom use by entering the following line:  
           .FLAGS HYPHENATE ~ 


2 format_of_commands 

 This chapter contains a list of all RUNOFF commands.  You probably will not
 want to read all of this chapter, as  it  is  intended  to  be  used  as  a
 reference  manual.   If  you  have  never  used  RNO before then you should
 thoroughly read the chapter "Introduction to the commands".  

 All commands begin with a period(.).  Any line in the source file beginning
 with a period is assumed to contain one or  more  commands.   If  the  text
 after  the period is not recognized as a command an error message is typed.
 Most commands have arguments following them.  An argument is  a  number  or
 line  of  text that controls how the command works.  Multiple arguments may
 be separated by spaces, tabs, or commas.  If the arguments are separated by
 commas,  any number of tabs or spaces may appear before or after the comma.
 When you look at the description of a command certain conventions are  used
 to  describe  the  arguments.   If  the  argument is enclosed inside square
 brackets [] it may be omitted.  
3 numbers 

 Most  arguments  are numbers.  If the number is preceeded by a minus sign
 (-) then it may be entered as a negative value.  If it is preceeded by +-
 then  it may be a relative argument.  A relative argument changes the old
 value by + or - the value specified.  Many arguments  have  limits.   For
 example  page  numbers  must  be in the range of 1 to 3999.  Each command
 documents the limits on its arguments.  

 For example you enter the left margin as 5 then it will be set to exactly
 5.  If you enter it as +5 the new left margin is equal  to  the  old  one
 plus  5  more.   If you enter it as -5 then the new margin is 5 less than
 the old margin.  
3 literals 

 Some  commands  have  literal  arguments.   A  literal  is a line of text
 enclosed in either apostrophes (') or quotes  (").   If  the  quotes  are
 used,  and  you  wish  to  use  a quote inside the string you must use it
 twice.  Similarly if  you  enclose  the  text  in  apostrophes  a  double
 apostrophe will be interpreted as a single apostrophe.  For example legal
 literals are:  
      '"legal" literal' 
      """legal"" literal" 
 Either of these will appear as:  "legal" literal 
 The following are not legal literals:  
      'illegal literal" 
      'illegal' literal' 
      ''illegal literal' 
 Tabs  enclosed  inside a literal are treated as single spaces.  A literal
 is also terminated by the end of a line.  This  termination  may  not  be
 supported in future versions.  
3 multiple 

 More  than one command may be entered on a single line.  The commands may
 be optionally separated by a semicolon ";",  spaces,  or  tabs.   If  the
 semicolon is used as a separator the next command must immediately follow
 with no intervening spaces or tabs.  Commands which are followed by  text
 must be the last command on a line, and may not have other commands after
 them on the same line.  These include:  
   .APPENDIX        .CHAPTER         .FIRST TITLE     .HEADER LEVEL 
   .INDEX           .LIST ELEMENT    .REQUIRE         .SEND 
   .SUBTITLE        .TITLE 
 For example the following line is a legal set of commands all on 1 line: 

      .TT 10 .Fill;.EH .Title GONE WITH THE WIND 

 Commands may have text following them provided the text is separated from
 the command by a semicolon (;).  For  example  the  following  line  will
 produce a centered title.  
      .C;THIS IS A TITLE 
 The semicolon is essentially a separator which indicates that the rest of
 the line is to be treated just as if a new line had begun.  
3 abbreviations 

 Many commands may be abbreviated.  Standard abbreviations are given below
 each command.  Many other abbreviations will work, but only the  standard
 ones  are  guaranteed  to  work.   Multi-word commands may appear without
 spaces.  For example the following forms of the .PAGE  SIZE  command  are
 all legal:  
      .PAGE  SIZE 20,20, 4, 1, 1
      .PAGE SIZE 20 , 20
      .PAGESIZE 20 20
      .PS ,,1,2
      .ps , , 1 2
      .PAG SIZ 25

 Many  commands  have  defaults.  In other words if you do not specify the
 arguments you get the default ones.  
3 user 

 It  is possible to define your own commands.  The program will search for
 either a standard command or a user defined  command.   If  you  wish  to
 specify  one or the other preface the user command with an underscore "_"
 and a standard command with a dollar sign "$".   For  example  you  might
 have  a  user command called FIGURE, but there is also a standard command
 of the same name.  To use your command the command is:  
      ._FIGURE 
 While the standard command is:  
      .$FIGURE 

2 .BLANK 

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

      Skips  n  absolute lines.  BLANK is like SKIP, except that the space
      to be left is independent 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.  The maximum value of n is 127 for  normal  spacing
      and  255  for  half spacing.  Blank can not be used to skip lines to
      leave room for artwork or figures because no lines will  be  skipped
      at  the  top  of  a  page.   Negative  n or n greater than 6 are not
      allowed in footnotes or text sections.  .BLANK 6 will always leave 1
      inch of space on the page.  
           DEFAULT:  .BLANK 1 
2 .BREAK 

 .BREAK 
 .BR 

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

 .BREAK LINE 
 .BRL 

      This  command causes the next line to be broken at the end.  This is
      extremely useful when defining commands.  
2 .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.  If a .RIGHT command has been already specified for  the
      current  line  the .CENTER command will be treated as an error.  Tab
      stops are converted to single spaces for centered lines.  


                                      NOTE

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


4 TEXT 

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

      .CENTER  TEXT  centers  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
      justification.  The argument n has the same meaning as for .CENTER
      LINE.  (NOT available in DSR) 
2 .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 advanced 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
      not generate extra lines at the top or the bottom of the page.  If n
      is greater than the number of lines/page an entirely blank  page  is
      produced.  If a figure caption follows the figure command it may not
      appear on the same page as the reserved space unless .TEST TEXT  has
      been  used  to guarantee enough space.  To guarantee the caption and
      figure are on the same page, use  .TEXT.   .FIGURE  is  not  allowed
      during footnotes.  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  and  n blank lines at the top of the next page.  The
      maximum value of n is 127  for  normal  spacing  and  255  for  half
      spacing.  
           DEFAULT:  .FIGURE 1 
4 DEFERRED 

 .FIGURE DEFERRED [n] 
 .FGD [n] 

      This  command will reserve n lines on the current page or if there
      is not enough room n lines at the top  of  the  next  page.   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.   Captioned  figures  may  be
      reserved  using  .TEXT  DEFERRED.   This  command  may not be used
      inside a footnote, note, or text section.  The maximum value of  n
      is  127 for normal spacing and 255 for half spacing.  This command
      is identical to:  
           .TEXT DEFERRED .BLANK n .END TEXT 
2 .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.  
           DEFAULT .INDENT paragraph-indentation 
2 .PARAGRAPH 

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

      Causes  a  break  and starts a paragraph.  The n is optional 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.  B is the  bottom  test  value.
      This specifies the minimum number of lines allowed on the next page.
      B is ignored during a text section.  If B  is  set  to  2  then  any
      paragraph  which is split between 2 pages will have at least 2 lines
      on the second page.  T and B are ignored during a  text  section  or
      footnote.  This command is equivalent to:  
           .SKIP v .INDENT n .TEST TEXT t,b 
           (parameter b is not available in DSR) 
4 SET 

 .SET PARAGRAPH [-n], [v], [t], [b] 
 .SPR [-n], [v], [t], [b] 

      This  command  sets  the  paragraph  parameters  without  actually
      starting a paragraph.  This is often used to  set  the  parameters
      before  starting  to process the text.  The parameters specifed in
      this command also have an effect on the following commands:  
           .PARAGRAPH     .LIST ELEMENT  .NOTE          .PRINT INDEX
           .DO INDEX 

           DEFAULT:  .SET PARAGRAPH 5,1,2,2 
2 .RIGHT 

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

      breaks  the  line and 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 negative).  If .RIGHT is issued after  .CENTER  or  .CENTER
      TEXT,  but  before  .END CENTER, the command will be rejected with a
      Conflicting command message.  Tab  stops  are  converted  to  single
      spaces for right justified lines.  

 .RIGHT TEXT [-n] 
 .R TEXT [-n] 
   .END RIGHT 
   .ER 

      This  command  begins  a  section  of  text  all  of  which is right
      justified.  After this command each input line causes a break, until
      .END RIGHT.  
2 .SKIP 

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

      Skips n spaced lines.  The number of blank lines produced is n times
      the spacing.  If you are currently at the top of a page  .SKIP  does
      nothing.  If n is larger than the number of lines left on the page a
      new page is started, but no lines are skipped on  it.   The  maximum
      value of n is 127 for normal spacing and 255 for half spacing.  If n
      is negative RUNOFF will skip n lines from the bottom  of  the  page.
      Negative  skips  will  work if you are already at the top of a page.
      Skip can not be used to leave room for artwork or  figures.   To  do
      this you must use .FIGURE or .TEXT.  Negative skips or skips greater
      than 6 are not allowed during footnotes or text sections.  If  n  is
      not  specified  it is assumed to be 1.  .SKIP 6 will leave 1 inch of
      space if the spacing is 1.  If the spacing is 2 or 3  then  2  or  3
      inches will be left.  
           DEFAULT:  .SKIP 1 
2 .FOOTNOTE 

 .FOOTNOTE 
 .FN 

      saves  lines 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,  the  footnote
      continues at the bottom of the following  page.   The  text  of  the
      footnote  should  begin  on the line following the .FOOTNOTE command
      and ends with  .END  FOOTNOTE.   Indentation,  case  lock,  justify,
      margins,  spacing, bar, and fill are preserved around footnotes.  In
      addition all status  is  preserved.   See  .SAVE  STATUS.   However,
      commands  that  affect page formatting are illegal in a footnote.  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 command 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.  
4 END 

 .END FOOTNOTE 
 .EFN 

      causes  a  break  and  ends the footnote.  The previous version of
      RUNOFF used an exclamation point "!" to do this.  The  exclamation
      point  is  not  supported  in  this  version.   Each  .FOOTNOTE or
      .PERMANENT FOOTNOTE command must be followed by an  .END  FOOTNOTE
      command.  Other version of RNO also required a parameter after the
      .FOOTNOTE command.  
4 PERMANENT 

 .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
      footnote 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.  You also wish to indent
      both margins by 2 on footnotes with no justification.  To do  this
      you might use the following sequence of instructions.  
           (NOT available in DSR) 

           .PERMANENT FOOTNOTE 
           .LEFT MARGIN +2 .RIGHT MARGIN -2 .NO JUSTIFY 
           .SKIP 2;------- footnote ------- 
           .END FOOTNOTE 

      The  permanent  footnote  will not be printed at the bottom of the
      page if no regular  footnotes  are  declared.   If  the  permanent
      footnote  is  longer  than  6  lines  it is rejected with an error
      message.  

2 .NOTE 

 .NOTE [;][title] 
 .NT [;][title] 

      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 command SKIPs 2, reduces both
      margins, centers the title text (if no text is given, it centers the
      word "NOTE"), and then SKIPS 1 and issues a .TEST TEXT t,b where t,b
      are  determined  by  the  last .PARAGRAPH or .SET PARAGRAPH command.
      The text of the note is  then  printed.   The  same  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.  
           Unlike DSR notes may not be imbedded inside other notes.  

 .END NOTE [n] 
 .EN [n] 

      terminates  the  NOTE  command,  SKIPs n, and resets the margins and
      spacing modes to their settings before the last NOTE command.  
           DEFAULT:  .END NOTE 2 
2 .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.  You may select  the  next  page  number
      with the .NUMBER command.  This command is illegal during a footnote
      or note.  

 .PAGE EVEN 
 .PGE 

      This  is  the  same  as  .PAGE, except that the page number is even.
      This command is illegal during a subpage, footnote,  note,  or  text
      section.  An odd page will be skipped if necessary.  
           (not available in DSR) 

 .PAGE ODD 
 .PGO 

      This is the same as .PAGE, except that the page number is odd.  This
      command is  illegal  during  a  subpage,  footnote,  note,  or  text
      section.  An even page will be skipped if necessary.  
           (not available in DSR) 
2 .SUBPAGE 

 .SUBPAGE 
 .SPG 
   .END SUBPAGE 
   .ES 

      .SUBPAGE  produces  a new page, but the page number is unchanged and
      letters are appended to the  page  number  until  .END  PAGE.   This
      permits  insertion  of  additional pages within an existing document
      without changing the existing page numbering.  The subpages  may  be
      renumbered  by  .NUMBER  SUBPAGE.  While subpages are in effect, the
      .TEXT commands are illegal and deferred text  is  never  printed  on
      subpages.  

      For example you are on page 5 and .SUBPAGE is used.  A page numbered
      5A will be produced.  Then subsequent pages will be 5B,  5C  and  so
      on.  After the .END SUBPAGE the number will be 6.  
2 .PAGING 

 .PAGING 
 .PA 
   .NO PAGING 
   .NPA 

      With  paging  off  the  document is not formatted into pages.  These
      commands cause a break.  While  no  paging  is  in  effect,  neither
      footnotes,  nor  text sections are allowed.  This command is illegal
      inside a note, footnote, or text section.  The no paging mode may be
      overridden  by  issuing  a  .PAGE command.  If this command has been
      given, subsequent .CHAPTER, .APPENDIX, or .PAGE SIZE  commands  will
      enable paging.  
           DEFAULT:  PAGING 
2 .TEXT 

 .TEXT 
 .TX 
   .END TEXT 
   .ETX 

      The  .TEXT begins a section of text that you wish to keep all on one
      page.  The .PAGE, .END TEXT,  or  another  .TEXT  command  ends  the
      section.   If  the  text  section  is too long to fit on the current
      page, the rest of the current page will be  blank  and  the  section
      will begin at the beginning of the next page.  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.  If a .PAGE command
      terminates a section then the rest of the  page  after  the  section
      will  be blank.  This command is illegal inside a footnote, note, or
      subpage.  Likewise footnotes and .TEST PAGE, .TEST TEXT, or  .FIGURE
      DEFERRED  are  illegal  inside  this command.  This command causes a
      break.  
           (not available in DSR) 
4 DEFERRED 

 .TEXT DEFERRED 
 .TXDEF 

      This  starts  a  text  section  which  will be printed later if it
      doesn't fit on the current page.  The normal  .TEXT  command  will
      leave  the  bottom  of  the current page blank if the text section
      doesn't fit.  The text deferred will save the text for printing on
      later pages.  The current page will still be filled with text that
      follows the .END TEXT or .PAGE command and the deferred  text  may
      appear  on  the next page.  The current section is ended by either
      .TEXT, .TEXT DEFERRED, .END  TEXT,  or  .PAGE.   Several  deferred
      sections  may  be  defined  at once, and they will appear on later
      pages as necessary.  This is  useful  for  defining  figures  with
      captions.   If  you  change  the  page length in the middle of the
      document, deferred pages may not be correct, since they are  saved
      according to the original page size.  This command causes a break. 
4 Example 

                                 Example

 To reserve 10 blank lines followed by a caption:  
      .TEXT DEFERRED .FIGURE 10 
      This is figure 3.5 
      .END TEXT 

 To reserve a whole page with 50 blank lines followed by a caption:  
      .TEXT DEFERRED .FIGURE 50 
      This is figure 3.6 
      .PAGE 

 To reserve room for 2 figures in a row:  
      .TEXT DEFERRED .FIGURE 20 
      Figure 3.7 
      TEXT DEFERRED .FIGURE 20 
      Figure 3.8 
      .END TEXT 
4 FLUSH 

 .FLUSH 

      This  flushes out all deferred text.  If you issue a .PAGE command
      with deferred text pending you are not guaranteed to get  a  blank
      page.  You could of course issue several page commands in a row to
      be guaranteed a blank page.  A better way to do this is:  
           .FLUSH .PAGE 
           (not available in DSR) 
2 .TEST 
 The  test  commands  check  to see if there is enough room on the current
 page for more text.  
4 PAGE 

 .TEST PAGE [t] [,b] 
 .TP [t] [,b] 

      causes  a  BREAK followed by a conditional page advance.  It skips
      to the next page if fewer than t lines are left on the page.  B is
      specified  to prevent orphan lines.  When you specify b, test page
      operates slightly differently.  The text following the  test  page
      is treated as a block up to the next command which causes a break.
      T specifies the minimum number of lines at the top  of  the  block
      and b the minimum number of lines at the bottom.  The text will be
      arranged to maintain the mimimum number of lines/page.   In  other
      words the first t lines will all be on the same page, and the last
      b lines will also all be on a single page.  The first t lines  may
      not necessarily be on the same page with last b lines.  
           (The b parameter is not available in DSR) 

 .IMMEDIATE TEST PAGE [t] [,b] 
 .ITP [t] [,b] 

      This  is almost the same as test page except that it doesn't cause
      a break.  If fewer than t 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.  
           (not available in DSR) 
4 TEXT 

 .TEST TEXT [t] [,b] 
 .TT [t] [,b] 

      First  this  command  causes  a break, then tests to see if enough
      room is on the current page for t 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.  
           (not available in DSR) 

 .IMMEDIATE TEST TEXT [t] [,b] 
 .ITT [t] [,b] 

      This command is the same as test text except that no break occurrs
      before the test.  
           (not available in DSR) 
2 .TITLE 

 .TITLE [;][text] 
 .T [;][text] 
   .NO TITLE 

      These  commands  break  the text and set the title at the top of the
      page.  .TITLE 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  permanent  margins allow different margins for the headers than
      for the text.  Titles are also produced by these  commands:   .FIRST
      TITLE,  .CHAPTER,  or  .APPENDIX.   Titles  may  contain any special
      characters, but autoindexing will not work and tabs are converted to
      spaces.   Normally  only  the  flags  enabled  at the last .TITLE or
      .SUBTITLE command will be used in producing the title/subtitle.   If
      you  wish  to  control the flags more carefully use the .SAVE HEADER
      command.  If you specify or remove a flag with a .FLAGS command, all
      subsequent titles and subtitles will be affected.  

      .NO  TITLE prevents printing either the title or subtitle at the top
      of the page.  The title print is reinstated by the .TITLE command.  
           (The optional [;] is not used in DSR) 
4 FIRST 

 .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:  
           .HEADERS .TITLE [ text ] 

           (DSR doesn't support any parameters after .FIRST TITLE if you
      wish to use this in the same way as DSR, include a .TITLE  command
      on the line after .FIRST TITLE) 
2 .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 aligned
      on the same margin as the title.  The subtitle is not printed if the
      .NO TITLE command is in force.  If you wish to have no subtitle  you
      use the .SUBTITLE command without any text.  
           (The optional [;] is not used in DSR) 
2 .LAYOUT 

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

      breaks the current line and 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  .HEADERS  commands  are
      used  at the beginning.  However all other layouts will number every
      page.  This is consistent with DSR usage.  The codes are:  

4 code 
 CODE  PAGE LAYOUT 
 ----  ---- ------
 0     Title flush left, page number flush right 
 1     Title center ,number bottom center 
 2     Title right odd page/left even ,number bottom center 
 3     Title left, number bottom center 
 4     Title left, number bottom right 
 5     Title center, number bottom right 
 6     Title center, number bottom right odd/left even 
 7     Title top, number bottom, both right odd/left even 
 8     Title left, number right odd/left even 
 9     Title right odd/left even, number bottom right 
 10    Title center, number bottom left 
 11    Title right odd/left even, number bottom left 
 12    Title left, number bottom left 
 13    Title right, number bottom left 
 14    Title right, number bottom center 
 15    Title right, number bottom right odd/left even 
 16    Title right, number bottom right 
      DEFAULT:  .LAYOUT 0 
      (Codes 5-16 not available in DSR) 
4 CHAPTER 

 .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
      parameters  are  specified  in  the same manner as for the .LAYOUT
      command.  If this command is not used, or used with no parameters,
      the layout will be the same all pages of a document.  
           (Not available in DSR) 
2 .HEADERS 

 .HEADERS [on] 
 .HD [on] 
   .NO HEADERS [on] 
   .NHD 

      These  control  whether  the  page header (title, subtitle, and page
      number) are printed.  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 may be  suppressed.   If  the  header  lines  are
      disabled  the  text  begins at the top margin where the header would
      normally start.  The first page of output from RNO is  formatted  as
      if  the  .NO HEADERS command had been issued, while subsequent pages
      are formatted as if the .HEADERS command had been issued.  This  may
      be  changed  by  issuing the .FIRST TITLE command before any text on
      the first page.  
4 SPACING 

 .HEADERS SPACING [n] 
 .HDSP [n] 

      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 minimum value for n is 1 and if 0 is specified the value of  1
      is assumed.  
           DEFAULT:  .HEADER SPACING 3 
           (Not available in DSR) 
2 .LIST 

 .LIST [n] ["char"] 
 .LS [n] ["char"] 

      This  command  starts  a list.  The left margin is moved 9 spaces to
      the right for  the  first  .LIST  command,  or  4  spaces  for  each
      subsequent  nested LIST.  The n specified in the .LIST command skips
      n lines before each list element in the current list.  Each item  in
      the list is preceeded by .LIST ELEMENT and the list is ended by .END
      LIST.  
4 margins 

 If  the spacing is 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.  If the optional character "char" is specified, then
 the character is output rather than  a  number.   This  is  useful  for
 producing  a  "bullet" by specifying "o" as the optional character.  If
 you wish to indent by a different amount, the margins may be changed by
 using  .LEFT MARGIN or .RIGHT MARGIN after .LIST.  See also NUMBER LIST
 and DISPLAY ELEMENTS.  
      DEFAULT:  .LIST paragraph-spacing 
4 ELEMENT 

 .LIST ELEMENT [;]text 
 .LE [;]text 

      Starts  an  item in the list.  If you want to type the text on the
      same line as the command, 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.   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 left margin and the
      numbers  are  placed 4 spaces to the left of the margin.  If there
      are not 4 spaces between the  current  margin  and  the  permanent
      margin then the number will be lined up with the permanent margin.
      A .TEST TEXT t,b is taken for each list element according  to  the
      value  set in the last .PARAGRAPH or .SET PARAGRAPH command.  Both
      widow and orphan lines are prevented by the paragraph test values.

      This command may be used without preceeding it by a .LIST command.
      This might be considered to be the 0'th or base list.  
           (the [;] is required in DSR) 
4 END 

 .END LIST n 
 .ELS n 

      Terminate  the  .LIST  command  and  restore  the  margins  to the
      previous values before the last .LIST command.  The optional value
      n causes a .SKIP n at the end of the current list.  
           DEFAULT:  END LIST paragraph-spacing 
4 nesting 

                                 NESTING

 Lists  may  be  nested  up  to  5  deep.  This means that up to 5 .LIST
 commands may be used without any intervening .END LIST commands.   This
 number may be modified by the system manager when RNO is built.  
4 EXAMPLE 

                                 example

 Say  you  wish  to  make up a list of the colors of the rainbow.  To do
 this you could issue the following commands.  
          .list 0
          .le RED
          .le ORANGE
          .le YELLOW
          .le GREEN
          .le BLUE
          .le VIOLET
          .end list
 The result would be the following:  
                1.  RED 
                2.  ORANGE 
                3.  YELLOW 
                4.  GREEN 
                5.  BLUE 
                6.  VIOLET 


 It  is  possible  to preceed the list with letters as A,B,C ...  and so
 on, or by Roman numerals.  To do this see the .DISPLAY LIST command.  
2 .CHAPTER 

 .CHAPTER [;][title] 
 .CH [;][title] 

      starts  a  new  chapter using the title as the title of the chapter.
      The title may contain escape sequences, and tabs  within  the  title
      are  treated as ordinary spaces.  This command declares the title as
      being chapter oriented, which has effects on the  page  numbers  and
      the  section headers.  This command acts as if the following 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;  title 
           .BLANK 3 .TITLE title 
           .FILL .HEADER .SUBTITLE 
4 result 

 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.   All  special printer features* are turned off and underlining
 is turned off at the beginning of the chapter  and  after  the  chapter
 title.    In  addition  it  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 control the margins and  spacing  you  should  use  the  .PAGE  SIZE
 command  to  set  the permanent margins and spacing before the .CHAPTER
 command is executed.  

 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.   .DISPLAY CHAPTER can underline chapter titles, or
 use bolding on printers which support  this  feature.   The  STYLE  and
 DISPLAY  commands  when  used together can completely alter the chapter
 header.  
4 STYLE 

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

      changes the style of the chapter and appendix headers.  
           1.  n1 = The number of lines to skip before printing CHAPTER. 
           2.  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.  
           3.  n3 = Number  of  lines from title to text.  If n3=-1 then
               the title and any following text  will  be  on  the  same
               line.  
           4.  n4 = The number of spaces to indent the word CHAPTER.  
           5.  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.  
           DEFAULT:  .STYLE CHAPTER 12,1,3,-1,-1.  
           (Not available in DSR) 
2 .APPENDIX 

 .APPENDIX [;][title] 
 .AX [;][title] 

      starts  a new appendix using the title 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 command
      string were entered:  

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

      The  letter  following APPENDIX is incremented before it is printed.
      Both .STYLE CHAPTER and .DISPLAY APPENDIX  alter  the  look  of  the
      appendix header.  
2 .Sections 
 A  section header consists of a string of numbers (n1.n2.n3....) followed
 by a title.  If you use either the .CHAPTER or .APPENDIX command then  it
 consists  of  a  string of numbers (n0.n1.n2....) where n0 is the current
 chapter or appendix number.  The number of numbers (minus n0)  is  called
 the  level  of  the header.  Section headers always consist of at least 2
 numbers so that in a non chapter orinted document headers at level 1  are
 printed  as  n.0.   It  is  possible to print section numbers as a single
 number or letter or with no number  depending  on  .STYLE  HEADERS.   The
 following  commands control the header levels.  See also .DISPLAY LEVELS,
 .NUMBER LEVEL, .ENABLE TRAILING ZERO and .ENABLE LEVELS.  
4 example 

                                 example

 Here is an example of the first header level:  
      1.0 The first header level!  

 Here is an example of a header at level 4:  
      1.2.3.4 Example of a header 

 The following is a header at level 6:  
      3.1.1.1.1.1 Example of a header 

 The following is a header at level 3 in chapter number 7:  
      7.3.2.1 
4 LEVEL 

 .HEADER LEVEL [+-n] [;][title] 
 .HL [+-n] [;][title] 

      starts  a  section  at the level specified and takes the following
      title 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
      oriented  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.  

      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.  

      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.   Autohyphenation is not performed on header
      titles.  
4 default 

                                 DEFAULT

 LEVEL 1 capitalizes the section title and then skips a line.  
 LEVEL 2 prints the section title (no caps) and then skips a line.  
 LEVELS  3,4,5  The  title  and the text following it are separated by a
           dash.  

 These defaults may be changed by the .STYLE HEADERS command.  
4 STYLE 

 .STYLE HEADERS [n1],[n2],...[n9],[n10] 
 .STHL [n1],...[n10] 

      breaks  the  line  and  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 highest 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) 
      n10= Largest level printed as n.m....  (6) 
                (n10 not available in DSR) 
                DEFAULT:  STYLE HEADERS 3,1,6,7,7,2,1,7,2,6 
4 INDENT 

 .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.  
           (Not available in DSR) 

 .INDENT LEVEL TITLES [n1],[n2]...[n6] 

      this  causes  the titles to be indented from the level indent by a
      fixed amount.  This may be used to line up all of the  titles  for
      level 1 independently from the titles for level 2.  The title will
      appear at the specified title indent plus the  level  indent.   If
      the  spacing  specified  in  the .STYLE HEADERS command is greater
      then the spacing specified by the .INDENT LEVEL TITLES  the  style
      spacing is used.  When n is omitted it remains the same.  
           .DEFAULT:  .INDENT LEVEL TITLES 0,0,0,0,0,0 
2 .NUMBER 

 These commands set numbers for various items.  The number may be either a
 decimal number or a string of letters.  If n is a letter A it corresponds
 to  1,  B to 2, Z to 26, AA to 27, AB to 28, and so on.  If the number is
 preceded by a plus sign "+" then then new value is the old value plus the
 specified increment.  If the number is omitted it is assumed to be 1.  No
 number  may  exceed  3999  or  EWU.   DSR  allows  larger  numbers,   but
 incorrectly handles Roman numerals larger than 3999.  
4 APPENDIX 

 .NUMBER APPENDIX [+-n] 

      supplies  a  number  or  letter  to  be  used  as the letter for a
      subsequent APPENDIX command.  See NUMBER CHAPTER.  
4 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.
      This  would  also  be  used  if  you  wish  to  skip a chapter for
      insertion later on.  To skip chapters specify +n.  If the  current
      chapter  is 10 and you specify .NUMBER CHAPTER +2 the next chapter
      will be 12.  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.  
5 NO 

 .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 addition it must be reissued after each  .NUMBER  CHAPTER  if
      you  intend  to  control chapter numbering but wish running page
      numbers.  You may permanently  disable  chapter  numbering  with
      .DISABLE NUMBERING CHAPTER.  
4 LEVEL 

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

      sets  the  next  header  to  the  number specified.  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.  If n1 is omitted then the next level
      will be 1.0.   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 
      If  the current level is 1.2.3.4 and .NUMBER LEVELS +1,+1,-1,-1 is
      specified, then the next section header will be 2.3.2.3.  
4 ITEM 

 .NUMBER ITEM /name/ [+-n1] 
 .NMIT /name/ [+-n1] 

      This  sets  item  numbers.   The  item  must  have been defined by
      .DEFINE ITEM.  n is the new number for it.  
4 LIST 

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

      sets  the  next  number  in  the  list  to n.  If the current list
      element is numbered 10 and you specify .NUMBER  LIST  +2  the  the
      next element will be 12.  
4 PAGE 

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

      These  commands  control  page numbering.  If you wish to pick the
      next page then specify n as the page number.  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
      current page number +n.  If you issue .NUMBER  PAGE  10  then  the
      next  page  will be 10.  If the current page is 10 and you specify
      .NUMBER PAGE +2 the next page will be 12.  If the current page  is
      10  and  you  specify  .NUMBER  PAGE  -1, the next page will be 9.
      .NUMBER PAGE +1 essentially is  redundant.   The  page  number  is
      normally  right  justified  with  respect  to  the permanent right
      margin.  See the .PAGE SIZE command.  

      .NO  NUMBER PAGE stops page numbering.  However, pages continue to
      be counted, so that the normal page  number  can  appear  if  page
      numbering  is  resumed  with  the .NUMBER command.  If you wish to
      disable page numbering so that the .NUMBER command will not enable
      it you should use .DISABLE NUMBERING.  
4 SUBPAGE 

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

      starts  the  next  page as subpage number n or letter n where n is
      the subpage letter.  
2 .DISPLAY 
 The  display  commands  control  how  numbers are displayed.  Examples of
 these are the page number, chapter number and  so  on.   Numbers  may  be
 displayed as normal (decimal) numbers, letters, or Roman numerals.  Extra
 text may be added to the numbers via pre  or  post-fixes.   The  pre  and
 pos-fix  may  be  used  to  automatically  control  the format of various
 headers.  For example you may automatically underline them, or print them
 in  boldface  on printers that support bolding.  These are illustrated by
 various examples.  These commands like the DSR commands produce a break. 
4 format 


                            Table of Formats

 The format code produces numbers in the specified 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,....,z,aa,ab,ac....)
         LM      Letters mixed (first is uppercase) 
                              (A,B,C,....,Z,Aa,Ab,...)
         RU      Roman numerals uppercase 
                              (I,II,III,IV,....)
         RL      Roman lowercase 
                              (i,ii,iii,iv,....)
         RM      Roman mixed 
                              (I,Ii,Iii,Iv,....)
4 pre-fix 

                              Pre/Post fix

 This  specifies  text to be printed before and after the number.  These
 are specified as literals of up to 10 characters.  Any flag  characters
 included  in  the  pre or post-fix text are interpreted at the time the
 page is printed.  The autoindex flag is ignored in the pre-fix and tabs
 are converted to spaces.  All spaces are treated as non-expandable.  If
 you need to extend the pre-fix size you can conveniently do this via  a
 substitution.   The  number of levels of substitution is reduced, since
 the pre/post fix is essentially a level of substitution.   The  pre  or
 post-fixes  may  be  enclosed  in either apostrophes (') or quotes (").
 See the rules applicable to literal parameters.  
      DSR doesn't support the "pre-fix" or "post-fix" parameters.  
4 APPENDIX 

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

      controls  the  format  of the appendix number.  The pre/post fixes
      apply only to the first page of the appendix, but the format  sets
      the  style of the number for the appendix, page number, index, and
      header levels.  The page number and  index  are  only  changed  if
      chapter numbering is used.  

           DEFAULT:  .DISPLAY APPENDIX "APPENDIX " , LU , "" 
4 CHAPTER 

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

      controls  the  format  of  the chapter numbers as they are printed
      when the .CHAPTER command is used.  They determine what is printed
      before  and  after  the  chapter  number on the title page of each
      chapter.  

           DEFAULT:  .DISPLAY CHAPTER "CHAPTER " , D , "" 

      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) 
4 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.   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
      ['].  
           DEFAULT:  .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 
      This  will  display  lists  in Decimal, Capital letters, lowercase
      letters.  
4 LEVELS 

 .DISPLAY LEVELS [fm1,][fm2,][fm3,][fm4,][fm5,][fm6,] 
 .DISPLAY LEVELS [level,]["pre-fix",] [form,] ["post-fix"] 
 .DHL [fm1,][fm2,][fm3,][fm4,][fm5,][fm6,] 

      sets  the  header  level  numbers  to be displayed in the selected
      format.  fm1 to fm6 are format codes for  LEVELS  1  to  6.   Each
      format  code  may  be  preceeded  by  a  pre-fix and followed by a
      post-fix.  The pre-fix and post-fix are 10 char literals to appear
      before  and  after  the numbers.  If the number is not printed the
      post-fix is omitted.  When the pre and post-fix  are  defined  the
      .HEADER  LEVEL command will automatically turn off underlining and
      all printer special features before  the  pre-fix  and  after  the
      label.   The  levels  may  be specified by number or sequentially.
      For example the following will set levels  2  and  3.   In  2  the
      number is underlined and in 3 the title is underlined, but not the
      number.  Uppercase letters are used by 2 and roman numerals for 3. 
           .DISPLAY LEVELS 2,"^&",LU,"\&",RU,"^&" 
           (DSR doesn't support Level numbers, pre-fix or post-fix) 
           DEFAULT:  .DISPLAY LEVELS D,D,D,D,D,D 
4 NUMBER 

 .DISPLAY NUMBER ["pre-fix",] [format] [,"post-fix"] 
 .DNM ["pre-fix",] [format] [,"post-fix"] 

      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-fixes specify text to be printed before and after the
      page number.  The pre-fix and post-fix are  only  printed  on  the
      individual  pages,  and  do  not  appear  in the index or table of
      contents page numbers.  The format applies to the page number.  It
      can  be  either  regular  decimal  numbers,  Roman  numerals, or a
      sequence of letters.  See the table of formats.  If the format  is
      not  specified  then it remains unchanged.  If you wish to specify
      the post-fix only, then you must either specify the  pre-fix,  the
      format, or include commas to mark their absence.  
           DEFAULT:  .DISPLAY NUMBER "Page " , D , "" 
5 example 

 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  as
 n/4 underlined.  To do this you issue the following command.  
      .DISPLAY NUMBER "^&" "/4\&" 
 The first page is numbered 1/1 the second 1/2 and so on.  
                            ---            ---

 The RUNOFF manual was produced with the following format:  
      .DISPLAY NUMBER "- " " -".  
4 SUBPAGE 

 .DISPLAY SUBPAGE [format] 
 .DSP [format] 

      controls the format of the subpage number.  
           DEFAULT:  .DISPLAY SUBPAGE "" LU "" 
4 SUBTITLE 

 .DISPLAY SUBTITLE ["pre-fix"] [,"post-fix"] 

      This  command  sets  up  pre  and  post-fixes  to  appear with the
      subtitle at the top of the page.  The  .DISPLAY  SUBTITLE  command
      must  appear before the .SUBTITLE command or .HEADER LEVEL command
      that it modifies.  The .HEADER LEVEL  command  produces  automatic
      subtitles if .AUTOSUBTITLE is on.  
           DEFAULT:  .DISPLAY SUBTITLE "" "" 
4 TITLE 

 .DISPLAY TITLE ["pre-fix"] [,"post-fix"] 

      This  command  sets up pre and post-fixes to appear with the title
      at the top of the page.  The .DISPLAY TITLE  command  must  appear
      before  the  .TITLE  command or .CHAPTER command that it modifies.
      The .CHAPTER command produces automatic titles  if  .AUTOTITLE  is
      on.  
           DEFAULT:  .DISPLAY TITLE "" "" 
2 .AUTOBREAK 

 .AUTOBREAK ["characters-to-test"] 
 .AB ["characters-to-test"] 
   .NO AUTOBREAK ["characters-to-disable"] 
   .NAB 

      .AUTOBREAK   allows   automatic   optional   breaks  after  selected
      characters.  The selected characters  are  specified  in  a  literal
      string.   For  example you wish to have breaks after hyphens, so you
      issue the command .AB '-'.  Then if the word  self-deceit  overflows
      the  end  of  a  line  RNO can then break the word after the hyphen.
      Another use would be in tabulation.  For examples of  this  see  the
      .TAB  RIGHT  command.   .NO  AUTOBREAK turns off the automatic break
      feature  and  any  characters  you  wish  to  disable  as  autobreak
      characters  may  be  listed in a literal.  If you turn off autobreak
      for spaces then they no longer act as separators between  words.   A
      character preceeded by an accept flag "_" will not autobreak.  
           (Not available in DSR) 
           DEFAULT .NO AUTOBREAK 
2 .AUTOHYPHENATE 

 .AUTOHYPHENATE [size],[begin],[end],[mode][,"chars"] 
 .AH [size],[begin],[end],[mode][,"chars"] 
   .NO AUTOHYPHENATE [,"chars"] 
   .NAH [,"chars"] 

      These  commands  control  automatic  hyphenation.  When it is on RNO
      will automatically hyphenate words wherever necessary.  If  .DISABLE
      HYPHENATION  is  used  all  hyphenation including autohyphenation is
      disabled, until .ENABLE HYPHENATION is issued.  The  autohyphenation
      follows  the  normal  rules of style.  A hyphenated word will always
      leave at least 2 letters on the end of first line, and at least 3 on
      the  beginning  of  the  next.   These  rules  may be changed by the
      parameters.  If a parameter is omitted it keeps its previous  value.
      When  it is off user selectable hyphenation may still be used.  Note
      that autohyphenation may be turned off temporarily  for  1  word  by
      preceeding it with the hyphenate flag.  

      .NO   AUTOHYPHENATE   turns  off  all  autohyphenation  and  selects
      characters not allowed inside hyphenated  words.   For  example  "."
      will  prevent  hyphenation  of  words  at  the end of sentences.  To
      disable hyphenation when these characters  are  present,  but  allow
      autohyphenation,  the  .NO AUTOHYPHENATE command must be followed by
      the  .AUTOHYPHENATE  command.   For  additional  help  see   .ENABLE
      HYPHENATION.  
4 parameters 
      1.  size  = The minimum number of characters/word.  
      2.  begin = The minimum number of characters at the beginning of a
          line.  
      3.  end   = The minimum number of characters at end of a line.  
      4.  mode  =  The hyphenation mode.  0 produces maximum hyphenation
          with possibly some inaccuracy.  1 hyphenates according to  the
          suffix/prefix tables only for maximum accuracy.  
      5.  "chars"= Special characters allowed in hyphenated words.  
      DEFAULT:  .AH 5,2,3,0,'\/.,()"@' 
      For more information see .ENABLE HYPHENATION.  
      (Not available in DSR) 
2 .AUTOPARAGRAPH 

 .AUTOPARAGRAPH 
 .AP 
   .NO AUTOPARAGRAPH 
   .NAP 

      .AUTOPARAGRAPH  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  allows  normally typed text to be justified without special
      commands.  It does not cause a paragraph if blank lines are followed
      by  a  command.   This  command works only if FILL is enabled.  When
      AUTOPARAGRAPH is enabled all tabs at the start of a line are removed
      except in NOFILL mode.  
           SEE - .PARAGRAPH, .SET PARAGRAPH 
           DEFAULT .NO AUTOPARAGRAPH 
2 .AUTOTABLE 

 .AUTOTABLE 
 .AT 
   .NO AUTOTABLE 
   .NAT 

      .AUTOTABLE  causes  any  line not starting with a space or tab to be
      considered as the start of a new  paragraph.   This  command  allows
      normally  typed text to be justified without special commands.  This
      command works only if FILL is enabled.  When  AUTOTABLE  is  enabled
      all  tabs  at the start of a line are removed except in NOFILL mode.
      See .AUTOPARAGRAPH.  
           DEFAULT .NO AUTOTABLE 
2 .AUTOTITLE 

 .AUTOTITLE 
 .ATI 
   .NO AUTOTITLE 
   .NAT 

      .AUTOTITLE  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.  
           DEFAULT:  .AUTOTITLE 
           (Not available in DSR) 
2 .AUTOSUBTITLE 

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

      When  enabled  each  header  level  command  lower  than  n sets the
      subtitle to the current header level title.  
           DEFAULT:  .NO AUTOSUBTITLE 
           The default for n is 1 
2 .BEGIN_BAR 

 .BEGIN BAR 
 .BB 
   .END BAR 
   .EB 

      These  commands  control  whether  the  change bar is printed in the
      document.  After .BEGIN BAR it  is  printed  until  .END  BAR.   See
      .ENABLE BAR.  
2 .FILL 

 .FILL 
 .F 
   .NO FILL 
   .NF 

      .FILL  causes  a break and specifies that subsequent output lines be
      filled.  Sets the justification mode to be  that  specified  by  the
      last  appearance  of  .JUSTIFY or .NO JUSTIFY.  FILL adds successive
      words from the source text until the adding of one  more  word  will
      exceed  the right margin.  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.  Fill is normally enabled when
      RNO  starts  so you do not need to use this command except after .NO
      FILL.  .NO FILL is often used to type a table or any text where  you
      want the output to look exactly like the input.  An alternate way of
      achieving this is with the .LITERAL command.  
           DEFAULT .FILL 
4 rules 

                                  RULES
      1.  When  .FILL  is  enabled,  multiple  or  reduncant  spaces are
          removed.  This includes the following:  
         (A)  Spaces following spaces.  
         (B)  Spaces following non expandable spaces "#" 
         (C)  Spaces following "tabs" 
         (D)  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
          expandable 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 
 .J 
   .NO JUSTIFY 
   .NJ 

      These  commands  cause  a  break  and control the justify mode.  The
      justify mode increases the spaces between words until the last  word
      exactly meets the right margin.  With justification off output lines
      will have a ragged right margin.  
           DEFAULT:  .JUSTIFY 
4 rules 

                                  RULES

      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 .VARIABLE SPACING is enabled the justification will be done
          by adding micro spaces,  rather  than  full  spaces.   If  the
          character width is different from 1 then justification may not
          occurr unless variable spacing is enabled.  
      5.  If .NO JUSTIFY is used then the output will not be padded with
          extra spaces, but if .FILL  is  enabled  it  will  be  missing
          redundant spaces.  
      6.  .FILL  normally  turns  .JUSTIFY  off  unless preceeded by .NO
          JUSTIFY.  
      7.  .NO  FILL always turns off justification.  In order to justify
          but not fill (not recommended), a .JUSTIFY command must follow
          every .NO FILL command.  

2 .KEEP 
4 LINES 

 .KEEP [LINES] 
 .K [LINES] 
   .NO KEEP [LINES] 
   .NK [LINES] 

      .KEEP LINES allows you to keep blank lines while in .NO FILL mode.
      Normally blank lines in the input are ignored 
           DEFAULT:  .NO KEEP LINES 
           (DST uses .KEEP/.NO KEEP) 
4 TABS 

 .KEEP TABS 
 .K TABS 
   .NO KEEP TABS 
   .NK TABS 

      .KEEP  TABS allows you to keep all tabs at the beginning of a line
      while in .FILL mode.  Autoparagraph mode also causes all  tabs  at
      the  beginning of an input line to be discarded, so .KEEP TABS may
      not work with .AUTOPARAGRAPH.  
           (Not available in DSR) 
           DEFAULT:  .KEEP TABS 
2 .LITERAL 

 .LITERAL 
 .LT 
   .END LITERAL 
   .ELI 

      .LITERAL  turns  off  fill  and all flags to permit printing of text
      exactly as it appears in the source file.  In addition all  commands
      are  disabled  until .END LITERAL.  Commands appear in the output as
      if they were normal  text.   Tabs  are  still  recognized  inside  a
      literal.   Blank  lines  are  output instead of being ignored.  This
      command is almost equivalent to the following sequence of commands. 
           .NO FILL .KEEP .NO FLAGS ALL .NO FLAGS CONTROL 

      Unlike  the sequence above the .LITERAL command may be turned off by
      the .END LITERAL command.  Tabs are still expanded inside a  literal
      and  if  a  special feature has been turned on it will remain on for
      the duration  of  the  literal.   For  example  if  the  literal  is
      preceeded  by  "^&"  the entire literal text will be underlined.  If
      you desire to use flags inside a literal use the commands  .NO  FILL
      .KEEP  to  simulate  the  effect  of  a  literal.   You may turn off
      individual flags via .DISABLE FLAGS.  
2 .PERIOD 

 .PERIOD ["chars"] 
 .PR ["chars"] 
   .NO PERIOD ["chars"] 
   .NPR ["chars"] 

      .PERIOD   automatically  prints  two  spaces  after  every  terminal
      punctuation followed by at least one space or  tab  character.   .NO
      PERIOD  disables  conversion of punctuation/space to punctuation/two
      spaces and specifies characters which will not cause 2  spaces  when
      .PERIOD  is  engaged.   If  you  wish to prevent 2 spaces from being
      inserted after one of these punctuation  marks  you  may  quote  the
      character  or  use a non expandable space after it.  For example you
      wish to use an abbreviation such as  "Char.".   You  can  avoid  the
      extra spaces by writing it "Char_." or "Char.#".  

      "chars"  is  a  list  of  characters  to  be  added  to the terminal
      punctuation  list.   (This  parameter  is  not  available  in  DSR.)
      Conversely  the  PERIOD flag can be used to add extra spaces without
      enabling .PERIOD.  The terminal punctuation list is changed only  if
      the characters are specified.  
           DEFAULT:  .PERIOD ".:;?!" 
2 .SEPARATED_EQUATION 

 .SEPARATED EQUATION 
 .SEQ 
   .END SEPARATED EQUATION 
   .ESEQ 

      .BEGIN  SEPARATED EQUATION enables separated equation mode.  In this
      mode an equation will automatically generate extra lines to separate
      it  properly  from  other  equations  or  text.   This mode does not
      generate an breaks.  This mode may not be used in a  FOOTNOTE.   The
      restriction  on this mode may be changed in future releases.  If you
      format an equation with the SEPARATED  EQUATION  mode  off  and  the
      equation  occupies  more than the alloted spacing, it may print over
      other text.  
           SEE - .ENABLE EQUATION, .FLAGS EQUATION 
           DEFAULT:  .END SEPARATED EQUATION 
           (Not available in DSR) 
2 .UNDERLINE 

 .UNDERLINE "chars to underline" 
 .UN "chars to underline" 
   .NO UNDERLINE "chars to not underline" 
   .NUN "chars to not underline" 

      This  command  sets which characters are underlinable.  Normally all
      characters other than spaces are underlinable.  For example you wish
      to underline spaces so you use the following command:  
           .UNDERLINE " " 

      For example you do not wish to underline common punctuation marks so
      you use the command:  
           .NO UNDERLINE ".,?!;:" 
      If you don't want to underline either the apostrophe or quotes:  
           .NO UNDERLINE "'""" 
           SEE - .ENABLE UNDERLINING, .FLAGS UNDERLINE 
           (Not available in DSR) 
           DEFAULT:  .NO UNDERLINE " " 
2 .VARIABLE_SPACING 

 .VARIABLE SPACING 
 .VARSP 
   .NO VARIABLE SPACING 
   .NVARSP 

      These  commands control the variable spacing mode.  In this mode RNO
      uses microspaces to pad out spaces between  words  for  a  justified
      line.   To use this your printer must either be DIABLO compatible or
      you must define an appropriate escape sequence for variable  spacing
      via the .DEFINE VARIABLE SPACE command.  If variable size characters
      are used, Variable spacing  must  be  enabled  if  they  are  to  be
      justified.   This  command  should not be confused with proportional
      spacing.  Each letter is still assumed to occupy the same amount  of
      physical space unlike a proportionally spaced font.  


                                      NOTE

           When  using  .VARIABLE  SPACING  and  .UNDERLINE" " switch
           /UL:L will not work correctly.  Gaps will be left  in  the
           underlining  at  each  variable  spacing  point.  For such
           cases /UL:B is recommended.  


           (Not available in DSR) 
           DEFAULT:  .NO VARIABLE SPACING 
2 .MARGINS 
4 LEFT 

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

      sets  the  left  margin to n.  The n must be at least 16 less than
      the right margin but not less than 0.  The initial setting  is  0.
      If  n  is not specified, the permanent margin is restored.  If the
      margin is specified with a + or - sign then  n  is  added  to  the
      current margin.  For example:  
           .LEFT MARGIN +5 
      Moves the margin 5 spaces to the right.  
           .LEFT MARGIN -5 
      Moves the margin back 5 spaces to the left.  
           .LEFT MARGIN 
      Sets  the  margin  to  the  value  last  specifed  in a .PAGE SIZE
      command.  
      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 16 greater than the left
      margin.  The initial setting is 60.  If n  is  not  supplied,  the
      current  page  width  (set  with  the  PAGE SIZE command) is used.
      Using a + or - sign adds n changes the current margin by +n or  -n
      similar to the .LEFT MARGIN command.  
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.  Using a + or - sign adds n changes
      the current margin by  +n  or  -n  similar  to  the  .LEFT  MARGIN
      command.  
           (Not available in DSR) 
4 PAGE 

 .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
      spacing to s.  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  settings.  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  issuing  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.  The maximum h is
      127.  
           DEFAULT:  .PAGE SIZE 58,60,0,0,1.  
           (DSR doesn't support permanent margins or parameters l,t,s) 
4 note 


                                  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  any text.  It also must
      appear before .BLANK, .SKIP, .FIGURE, .CHAPTER, or any  other
      command that generates text.  


2 .SPACING 

 .SPACING [lines] 
 .SP [lines] 

      sets the number of spaces between lines.  The lines can range from 1
      to 5.  If n  is  omitted  the  permanent  spacing  (normally  1)  is
      restored.   The  permanent spacing is set by the .PAGE SIZE command.
      This command influences .PARAGRAPH, .SET PARAGRAPH, .TEST TEXT,  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.  

      You  should  note that .CHAPTER or .APPENDIX resets the spacing back
      to the permanent value.  .PAGE SIZE will also restore the  permanent
      value if the spacing parameter is not specified.  
           DEFAULT:  .SPACING 1 
4 HALF 

 .HALF SPACING [half lines] 
 .NO HALF SPACING 

      This command is very similar to the spacing command except that it
      turns on half spacing.  The half lines 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.   If  half lines is omitted the current spacing will remain
      the same.  The .HALF SPACING command does not change  any  spacing
                                           ---- ---
      unless  the n is specified or one of the commands listed above are
      used.  Commands which are affected by half spacing are:  
           .BLANK             .FIGURE             .FIGURE DEFERRED
           .PAGE SIZE         .TOP MARGIN         .SPACING
                              .HEADER SPACING     .LAYOUT
                              .STYLE LEVELS       .STYLE CHAPTER      
      .HALF SPACING 2 - Produces single spacing
      .HALF SPACING 3 - Produces 1&1/2 spacing
      .HALF SPACING 4 - Produces double spacing

      After  .NO  HALF SPACING all commands which specify a spacing will
      work in increments of 1 space only.  Previously specified  spacing
      will however remain the same.  This means that if you have set the
      spacing to 3 half lines and you wish it to be single  spacing  you
      must subsequently issue .SPACING 1 to do this.  


                                     NOTE

           .HALF  SPACING  will  only  work properly if the printer
           supports subscripting.  You may have to use the  .DEFINE
           SUBSCRIPT command.  If in doubt see your system manager. 


           (Not available in DSR) 
           DEFAULT .NO HALF SPACING 
2 .LOCK 

 .LOCK 

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

      .ENABLE NUMBERING       .DISABLE NUMBERING
      .ENABLE NUMBERING CHAPTER
      .DISABLE NUMBERING CHAPTER                  .HEADERS UPPER
          .HEADERS LOWER      .HEADERS MIXED      .HEADERS PAGE
          .HEADERS NO PAGE    .HEADERS SPACING    .NO HEADERS
          .HEADERS            .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
      numbering, 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
      document.  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.  
           (Not available in DSR) 
2 .TABs 
 Lists  of  items  may be conveniently expressed in tabular form using the
 tab key and the .TAB STOPS command.  Every time you press the  "tab"  key
 you have entered a tab into the text.  Just as on a typewriter a tab will
 make the text begin at the next tab stop.  The tab stops  are  set  using
 the  .TAB  STOPS  command.   You  can right justify or center justify the
 items by specifying a right stop.  When tabbing it is suggested that  you
 use   the   .NO   JUSTIFY  command  or  the  .NO  FILL  command.   Having
 justification  on  will  either  give  you  error  messages,   or   cause
 unpredictable  results.   Remember that tab stops to the left of the left
 margin are not effective.  You  should  also  .DISABLE  HYPHENATION  when
 using the tab feature.  
4 STOPS 

 .TAB STOPS ["ell"][+n1],["ell"][+n2], .  .  .  
 .TS ["ell"][+n1],["ell"][+n2], .  .  .  

      This command clears all previous tabs, then sets new ones.  Each n
      specifies the column number for the tab stop That is  n2  must  be
      bigger  than  n1 and so on.  If a tab stop is +n then it will be n
      more than the previous one.  If the first stop is +n then it  will
      be n more than the left margin.  If the n is prefaced by either R,
      C, or L then the text is right, center, or left justified.  If the
      number  is preceeded by a literal then the text inside the literal
      is used as an ellipses to fill in the space generated by the  tab.
      The maximum literal size is 15 characters.  
           DEFAULT:  .TAB STOPS 8,16,24,32,40,48,56,64,. . .  
           (+- tab stops are defined differently in DSR) 
           (The  R,L  parameters, and ellipses are not available in DSR)
      helpe example 

                                   Example:
           .TAB STOPS +5,+10,+10,+10,+10 
      Sets  up  a  series of stops every 10 columns with the first one 5
      from the left margin.  
           .TAB STOPS 10,20,30,40,50 
      Also  sets  up  a  series of stops every 10 columns, but the first
      stop is at columnt 10.  The first tab is 10 from the  left  margin
      only if the left margin is at zero.  
           .TAB STOPS ".  " L20,C25,R40 
      Sets  up the first column to be filled with ellipses with the text
      left justified on column 20, center justified  at  25,  and  right
      justified at 40.  
4 PROPORTIONAL 

 .TAB PROPORTIONAL n,["ell"][+-n1],["ell"][+-n2],,, 
 .TABP n,["ell"][+-n1],["ell"][+-n2],,, 

      This  sets tab stops to create n columns across a page between the
      left and right margins.  The  first  column  begins  at  the  left
      margin  and  ends at the first tab stop.  The second column begins
      at the first tab stop and ends at the second one.   The  last  one
      ends  at  the right margin.  n must be 2 or larger.  Tab stops are
      set so that all unspecified columns have equal width.  You specify
      column  1  by  specifying  n1, column 2 by n2 and so on.  When you
      omit a column it is unspecified.   If  you  specify  a  column  as
      either + or -n then it is n larger or smaller than the unspecified
      ones.  Using + or - you may increase or decrease each column width
      from  an  evenly  spaced  one.  A column width may not exceed 127.
      The actual number of tab stops set up is n-1.  So if  you  want  3
      columns  only  2  tab stops are set up.  You may specify ellipses,
      and right or left justification as in the .TAB STOPS command.  
      (Not available in DSR) 
5 example 

 For example you wish to set up 7 columns with 10 spaces in the second
 column, and 5 spaces in the 6'th column:  
      .TAB PROPORTIONAL 7,,10,,,,5 
 Another example is to set up 7 columns with the first and last only 5
 spaces wide to allow for indeted columns:  
      .TAB PROPORTIONAL 7,5,,,,,,5 
 This  last example is a typical setup for a table.  Now if you set up
 your table and after looking at  the  result  you  need  to  increase
 column 2 by 2 spaces and decrease column 4 by 1 space you use:  
      .TAB PROPORTIONAL 7,5,+2,,-1,,,5 

 When  this  command  is  used  all previously specified tab stops are
 cleared.  This command is normally used instead  of  .TAB  STOPS  for
 evenly proportioning your columns.  
4 LEFT 

 .TAB LEFT 
 .TL 

      This  sets  unspecified tabs to left justification.  If you do not
      specify either .TAB LEFT or RIGHT then .TAB LEFT is assumed.   The
      following example illustrates the .TAB LEFT command.  
           (Not available in DSR) You type in the following text:  

      .NO FILL .TAB STOPS +10,+10,+10,+10 .TAB LEFT
      12345678901234567890123456789012345678901234567890
      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:  

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

 .TAB RIGHT 
 .TR 

      This  causes  the  text  following  an unspecified tab to be right
      justified.  This command is the opposite of .TAB LEFT.   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,
      break  character,  or autobreak character.  If the break character
      is used to define the right side of  the  text,  then  the  .FLAGS
      BREAK  command must be issued.  This allows typing tables with the
      text right justified, or with an arbitrary point (defined  by  the
      break) lined up.  
           (Not available in DSR) 
           For example you enter the following text:  

      .NO FILL .TAB STOPS +20,+10,+10,+10 .TAB RIGHT
      12345678901234567890123456789012345678901234567890
      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:  

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

                                EXAMPLES
                                --------

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

 .NO FILL .TAB STOPS R+20,R+10,R+10,R+10
 12345678901234567890123456789012345678901234567890
 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:  

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

4 ExB 
 The  second  example  is  columns of figures lined up along the decimal
 points using the break flag.  You input the following lines:  

 .NO FILL .FLAGS BREAK .TAB STOPS R+10,R+10,R+10,R+10
 12345678901234567890123456789012345678901234567890
         1|.23   3|.1415 75|.2
         789|.0  55|.2   100|.98765

      Which produces the following text:  

 12345678901234567890123456789012345678901234567890
          1.23      3.1415   75.2
        789.0      55.2     100.98765

4 ExC 
 Here is another way of lining up decimal points using autobreak!  

 .NO FILL .FLAGS BREAK 
 .TAB STOPS R+10,R+10,R+10,R+10 .AUTOBREAK "."
 12345678901234567890123456789012345678901234567890
         1.23    3.1415  75.2
         789.0   55.2    100.98765

      Which produces the following text:  

 12345678901234567890123456789012345678901234567890
         1.23      3.1415   75.2
       789.0      55.2     100.98765

4 ExD 
 Here is an example of centered justifying.  The following text:  

 .tabp 5,C7,C,C,C,C7 .tr .nf
 123456789012345678901234567890123456789012345678901234567890
         Mary    Prunella        Eve     Sue
         Theresa Sadie   Helen   Agripinella
 Produces:
 123456789012345678901234567890123456789012345678901234567890
     Mary             Prunella              Eve                Sue
    Theresa             Sadie              Helen           Agripinella
4 ExE 

                              Laundry lists

 You  may  wish  to  set  up  a series of tab stops to produce a list of
 items.  If no item needs to go in any particular column you may produce
 the  desired  effect  by  setting  .FILL .NO JUSTIFY.  Each item may be
 preceeded by a tab.  If you wish the left hand column to line  up  with
 the  left  margin  use  .NO KEEP TABS.  Otherwise the first column will
 line up on the first tab stop.  
4 disabled 

                                  Note

 Tab stops are disabled and converted to single spaces when:  
      1.  After .RIGHT 
      2.  After .CENTER 
      3.  During equations 
      4.  Inside titles/subtitles 
2 .ELLIPSES 

 .ELLIPSES 
 .ELL 
   .NO ELLIPSES 
   .NELL 

      .ELLIPSES  causes tabbed text to be filled with ellipses rather than
      spaces.  This command only  changes  tab  stops  that  do  not  have
      ellipses  associated  with them.  In other words if you tab and this
      feature is enabled the text will be padded  by  ellipses  ( . . . .)
      rather than spaces between tab stops.  
           DEFAULT:  .NO ELLIPSES 
           (Not available in DSR) 
4 example 

 For example you type in the following text:  

 .NO FILL .TAB STOPS " "R+15,R+13,R+13,R+13
 12345678901234567890123456789012345678901234567890
 NAME Jan     Feb     Mar
 .ELLIPSES
 Jones     152.75    0.00    3.78
 .NO ELLIPSES
 Smith       4.95  300.22    5.75
 .ELLIPSES
 Brown       0.00 1056.19   25.49

      Which produces the following text:  
 12345678901234567890123456789012345678901234567890
 NAME        Jan          Feb          Mar
 Jones    152.75  . . .  0.00 . . . . 3.78
 Smith      4.95       300.22         5.75
 Brown      0.00  . . 1056.19 . . .  25.49
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 character can
 be defined by the .FLAGS command and removed by the  .NO  FLAGS  command.
 .FLAGS  defines  what  the character does and can optionally define which
 character does it.  .NO FLAGS removes the character as a  flag.   .ENABLE
 FLAGS  or .DISABLE FLAGS may be used to temporarily turn flags on and off
 after they have been defined.  Generally flags are defined  once  at  the
 beginning  of a document, and not redefined later in the document.  These
 commands are illegal inside a note or footnote.  Each of  these  commands
 has  a  complementary  .ENABLE of .DISABLE command.  The ACCEPT, CONTROL,
 LOWERCASE, SPACE, UPPERCASE and UNDERLINE flags are  already  defined  by
 default.  
4 example 

 For  example  the  following command will redefine the double quotes as
 the underline flag.  

      .FLAGS UNDERLINE " 

 After issuing this command any character preceded by quotes (") will be
 underlined.  The ampersand (&) will then be merely  a  simple  printing
 character.  The .NO FLAGS command disables the selected flag character.
 It is then a normal printable character.  If you issue a .FLAGS command
 with  a  character  specified which is already in use as a flag, RUNOFF
 will reject the command and give you an error message.  If you wish  to
 turn  off  underlining  but still recognize the flag you should use the
 .DISABLE UNDERLINING command.  
4 ACCEPT 

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

      Defines  the  underscore  (_) as the accept flag to allow printing
      other characters that are reserved to  flags.   This  is  normally
      defined,  but  may be removed by .NO FLAGS ACCEPT.  The underscore
      may be replaced by another character to use for this flag.  A  tab
      following this flag is treated as a normal tab character.  
           DSR  uses this flag in a slightly incompatible way.  If it is
      followed by a non printable character the character is included in
      the  output and is counted as a single character.  This convention
      has been rejected in Bonner Lab Runoff as it  makes  dealing  with
      control  codes  very  difficult.  All control codes must be output
      via the .DEFINE ESCAPE command.  
4 ALL 

 .FLAGS [ALL] 
 .FL [ALL] 
   .NO FLAGS [ALL] 
   .NFL [ALL] 

      Enables  or  disables  recognition  of  all  flags  that have been
      previously separately defined.  This  is  analogous  to  a  master
      switch  which  turns  on  all  other  switches.   .FLAGS  ALL only
      performs a useful function if it is preceded by a .NO  FLAGS  ALL.
      .NO  FLAGS  ALL  disables  recognition of all flags except for the
      CONTROL flag and the TAB flag.  
4 BREAK 

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

      Defines  the break flag (|) or vertical bar.  This flag is used to
      mark where a word or expression may  be  broken.   The  expression
      will  only  be broken there if it would otherwise exceed the right
      margin.  Normally this  flag  is  not  defined.   If  the  .ENABLE
      CONTINUE  command is used then the current input line is continued
      if the break flag is at the end of it.  
4 CAPITALIZE 

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

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

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

      .FLAGS  CONTROL allos you to specify a new CONTROL flag.  Normally
      it is a period (.).  The control flag appears at the  start  of  a
      line  to  signal a command.  .NO FLAGS CONTROL removes the CONTROL
      flag.  Once .NO FLAGS CONTROL has been issued you  can  no  longer
      give any more commands including .FLAGS CONTROL.  So this is a non
      reversable command.  
4 ESCAPE 

 .FLAGS ESCAPE [escape flag] 
 .FL ESCAPE [escape flag] 
   .NO FLAGS ESCAPE 
   .NFL ESCAPE 


      Defines  the  escape  sequence  flags.   This  allows you to issue
      special control codes (escape sequences) to the printer to perform
      a  variety  of  functions.   In addition you must ENABLE ESCAPE to
      actually output the control codes.  Normally the  escape  flag  is
      not defined.  The escape flag defines a flag symbol for the escape
      sequence.  Escape sequences can be defined for the circumflex (^),
      back slash (\), and an escape character of your choice.  To define
      escape sequences you must use .DEFINE ESCAPE.  
      (Not available in DSR) 
4 EQUATION 

 .FLAGS EQUATION 
 .FL EQUATION 
   .NO FLAGS EQUATION 
   .NFL EQUATION 

      Defines  the  equation  formatting  flags.  This sets the left and
      right braces { } as the flags to use in formatting equations.  
      (Not available in DSR) 
4 LOWERCASE 

 .FLAGS LOWERCASE [new flag] 
 .FL LOWERCASE [new flag] 
   .NO FLAGS LOWERCASE 
   .NFL LOWERCASE 

      Defines  the  back  slash  (\) to shift temporarily to lower case.
      This flag is also used to turn off features such as underlining.  
4 HYPHENATE 

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

      Defines  the  equals  character (=) to control hyphenation.  If it
      appears inside a word, it specifies the point at  which  the  word
      may  be hyphenated.  If it preceds the word, then the word may not
      be hyphenated.  You may specify more than one hyphenation point in
      a  word.   When  hyphenation is specified no automatic hyphenation
      occurrs.  If the .ENABLE CONTINUE command is used then the current
      input line is continued if the hyphen flag is at the end of it.  
4 INDEX 

 .FLAGS INDEX [new flag] 
 .FL INDEX [new flag] 
   .NO FLAGS INDEX 
   .NFL INDEX 

      Defines  the  index flag (>).  This flag causes the following word
      to be automatically indexed.  The word is terminated by  either  a
      space,  tab,  non  expandable space (#), hyphenate flag (=), index
      flag (>), or end of line.  If more than 1 word needs to be part of
      the index term, the words may be separated by a quoted space (_ ).
4 OVERSTRIKE 

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

      Defines  the overstrike flag (%).  This flag generates a backspace
      so  you  may  overstrike  the  previous  character.   This  allows
      formation   of  composite  characters  to  approximate  scientific
      symbols  or  add  diacritical  marks  for  foreign  languages.   A
      different character other than % may be assigned to this flag.  
4 PERIOD 

 .FLAGS PERIOD [new flag] 
 .FL PERIOD [new flag] 
   .NO FLAGS PERIOD 
   .NFL PERIOD 


      Defines the plus sign (+) sign as perid flag.  This flag simulates
      the action of following a period by a space with the  period  flag
      on.   If  this  flag  is  followed by a space in fill mode, then 2
      spaces will appear in the output.  This flag should always  appear
      after  a  printable character, and not after a space.  For example
      when this flag is on:  
           A+ B will appear as:  
           A  B 
4 SPACE 

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

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

 .FLAGS SPECIAL [flag1][flag2][flag3] .  .  .  
 .FL SPECIAL [flag1][flag2][flag3] .  .  .  
   .NO FLAGS SPECIAL [flag1][flag2][flag3] .  .  .  
   .NFL SPECIAL [flag1][flag2][flag3] .  .  .  

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

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

      Once  this is done, the left square bracket is no longer printable
      unless preceded by the  accept  flag  (_).   More  than  one  flag
      character  may  be  specied  with  one command.  This command also
      turns on processing of all special flags previously defined.  
      (Not available in DSR) 
4 SUBINDEX 

 .FLAGS SUBINDEX [new flag] 
 .FL SUBINDEX [new flag] 
   .NO FLAGS SUBINDEX 
   .NFL SUBINDEX 

      Defines  the  SUBINDEX  flag (>).  This flag causes the text to be
      subindexed.   This  flag  is  only  recognized  inside  an  .INDEX
      command.   Since  this  flag is not recognized for normal text, it
      may be the same character as the index flag.  
4 SUBSTITUTE 

 .FLAGS SUBSTITUTE [new flag] 
 .FL SUBSTITUTE [new flag] 
   .NO FLAGS SUBSTITUTE 
   .NFL SUBSTITUTE 

      Defines  the  dollar  sign ($) as a substitution flag.  The dollar
      sign then marks the start of a label which defines a substitution.
      Eight substitutes are defined when Runoff begins.  These allow you
      to output the current date or time as part of the text.  
      Assuming the current date and time is 
                           January 17,1983 15:23:51
           DEFAULT 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 substitutions
 are both redefined if the substitute flag is  redefined.   For  example
 you  redefine  the  substitute  flag to be " then to print the date you
 must type:  ""DATE.  The permanent substitutins may be typed in  either
 lower  or  upper case letters.  The following are equaly valid:  $$DATE
 $$date $$DaTe and so on.  
4 TAB 

 .FLAGS TAB [new flag] 
 .FL TAB [new flag] 
   .NO FLAGS TAB 
   .NFL TAB 

      This  defines  the tab flag.  Normally this is already defined and
      the tab character serves as the tab flag.  If you wish to define a
      different  character  for the purpose of tabbing, you may use this
      command to do this.  When this is done the tab character will only
      act as a space.  The new flag may be the tab character, unlike all
      other flags.  This command is very useful in making RNO compatible
      with  other  word  formatters.   Some  users  may  find this handy
      because most  editors  do  not  display  the  tab  character.   An
      explicit  character  used  as  a  tab  may  make forming output in
      columns easier.  The .NO FLAGS TAB removes the tab  character  and
      makes it a space instead.  
      (This is not available in DSR) 
4 UNDERLINE 

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

      Defines  the  underline flag (&).  A single occurrence of "&" will
      underline the next character.  While ^& underlines text until \&. 
4 UPPERCASE 

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

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


 See ENABLE 

2 .ENABLE 
4 introduction 

 These  commands  enable or disable various actions.  Some of the enable
 commands can be confused with the FLAGS commands,  but  they  are  very
 different.   A FLAGS command defines special characters or combinations
 of characters.  The  enable  command  which  mirrors  a  FLAGS  command
 enables  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.  
4 BAR 

 .ENABLE BAR [n1] [,n2] [,"c"] 
 .EBB [n1] [,n2] [,"c"] 
   .DISABLE BAR 
   .DBB 

      This command controls the printing of change bars.  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 document that have
      been changed since the last printing of the document.   Bars  will
      not  actually  be  printed  unless a .BEGIN BAR command is issued.
      This command is normally issued at the beginning  of  a  document.
      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 addition to the left margin.  If
      you wish a different character for the change bar you may  specify
      it  in  a  literal  "c".   If  a  null literal "" is used then the
      character reverts to the default.  
           (n1,n2, and "c" are not supported in DSR) 
           DEFAULT:  .DISABLE BAR 
4 COMMAND 

 .ENABLE COMMAND REPLACEMENT 
   .DISABLE COMMAND REPLACEMENT 

      Enable allows user defined commands to replace permanently defined
      commands.  Normally if a user command is the same as  a  permanent
      command,  the  permanent command will be performed unless prefaced
      by an underscore  "_".   For  example  you  define  the  following
      command:  
           .DEFINE COMMAND /p/.s 1 .tt 5 .i 5 
      This command would not normally be performed unless you either:  
           .ENABLE COMMAND REPLACEMENT 
                ...or:  
           ._P 

      When   command  replacement  is  enabled,  you  can  still  select
      permanent commands by beginning them with a dollar sign  "$".   As
      in  the example above, .$P is the permanent command and ._P is the
      new user defined command.  When command  replacement  is  enabled,
      RNO   may   be  slower  if  you  have  defined  many  commands  or
      substitutions.  

           (Not supported in DSR) 
           Default:.DISABLE COMMAND REPLACEMENT 
4 CONTINUE 

 .ENABLE CONTINUE 
 .ECO 
   .DISABLE CONTINUE 
   .DES 

      When  this  is  enabled either a break, or hyphenation flag at the
      end of the line will cause the line to be continued.  If  you  are
      in  NO FILL mode then the line will not automatically break at the
      end of the input line.  If in  FILL  mode  no  space  will  occurr
      between  the  word  at  the  end  of  the line and the word on the
      beginning of  the  next  input  line.   The  break  and  hyphenate
      characters  still have the usual meaning and hyphenation or breaks
      may ocurr at the end of the input line if there is not  sufficient
      space  for  the  next  word  in  the output line.  If the break or
      hyphenation flag is followed by a space then is is not at the  end
      of the line.  
           (Not supported in DSR) 
           DEFAULT:  .DISABLE CONTINUE 
4 ESCAPE 

 .ENABLE ESCAPE 
 .EES 
   .DISABLE ESCAPE 
   .DES 

      These commands control the output of escape sequences.  The escape
      sequence  flags  will  be  recognized,  but  not  executed   while
      disabled.  
           DEFAULT:  .ENABLE ESCAPE 
           (Not supported in DSR) 
4 EQUATION 

 .ENABLE EQUATION n 
 .EEQ n 
   .DISABLE EQUATION 
   .DEQ 

      This  controls  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
      adding more blank space to the fractions.  When disabled, but with
      the equation flags defined via the .FLAGS EQUATION  command,  left
      and right braces { } are translated to be normal parentheses ( ). 
           (Not supported in DSR) 
           DEFAULT:  .ENABLE EQUATION 
4 FLAGS 

 .ENABLE FLAGS [flag] 
   .DISABLE FLAGS [flag] 

      this  commands temporarily enable or disable recognition of flags.
      The possible flags are:  
           ACCEPT      ALL         BREAK       CAPITALIZE  ESCAPE
           EQUATION    HYPHENATE   INDEX       LOWERCASE   OVERSTRIKE
           SPACE       SPECIAL     SUBINDEX    SUBSTITUTE  TAB
           UNDERLINE   UPPERCASE 
      By  default  all  flags  are  initially  enabled.   If  no flag is
      specified, or ALL is specified then all flags except for  the  TAB
      flag  are enabled.  Flags disabled by .NO FLAGS ALL may be enabled
      by this command.  Flags that have not been  defined  by  a  .FLAGS
      command  can not be enabled.  The enable status of flags are saved
      by the .SAVE commands.  If no flag is specified all  flags  except
      for  the  TAB flag are enabled or disabled.  Disabling a flag does
      not redefine or remove the flag character.   For  example  if  you
      wish  to  use  the  ampersand  (&) for some other purpose than the
      underline flag you must undefine it via the .NO  FLAGS  UNDERLINE.
      You can however .DISABLE FLAGS UNDERLINE to use the ampersand as a
      printable character.  
           (Not supported in DSR) 
4 HYPHENATION 

 .ENABLE HYPHENATION 
 .EHY 
   .DISABLE HYPHENATION 
   .DHY 

      Controls  hyphenation.   While  hyphenation  is enabled RUNOFF may
      hyphenate words at the  end  of  an  output  line.   User  defined
      hyphenation  via  the  hyphenate flag character [ = ] may be used.
      Automatic hyphenation is possible via the .AUTOHYPHENATE  command.
      RUNOFF will not hyphenate:  
           1.  The last line on the page 
           2.  A line following 2 hyphenated lines 
           3.  Equations 
      The following will inhibit autohyphenation:  
           1.  Escape sequences inside a word 
           2.  Overstrikes 
           3.  Non expandable spaces "#" 
           4.  Tabs in front of a word 
           5.  Invalid punctuation 
      Valid punctuation marks are:  
                                / \ . , ( ) " @
      For  example  words  containing  hyphens are not hyphenated.  Such
      words may be optionally broken by using the break character or  by
      issuing the command 
                                .AUTOBREAK "-"
      The  valid punctuation list may be changed by the .AUTOHYPHENATION
      command.  

      The  hyphenation  routines  are  not  ideal  and there are certain
      problems  which  you  must  overcome  manually.   The  hyphenation
      routine has no warning when a paragraph is ending, consequently it
      may hyphenate 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.  Or periods could be  declared  as
      invalid  punctuation.   If  you  use  footnotes  and  the footnote
      overflows to the next page, the hyphenation routine 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.  
           DEFAULT:  .ENABLE HYPHENATION 
4 INDEXING 

 .ENABLE INDEXING 
 .EIX 
   .DISABLE INDEXING 
   .DIX 

      controls collecting and printing of index entries.  
           DEFAULT:  .ENABLE INDEXING 
4 LEVELS 

 .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.   If  n  is  not
      specified  the  default  is  assumed.  There is no .DISABLE LEVELS
      command 
           (Not supported in DSR) 
           DEFAULT:  .ENABLE LEVELS 6,6 
4 NUMBERING 

 .ENABLE NUMBERING 
 .ENMPG 
   .DISABLE NUMBERING 
   .DNMPG 

      .ENABLE  NUMBERING  allows  page numbers to be printed.  This does
      not start numbering if it has been  terminated  by  a  .NO  NUMBER
      command.   When disabled the page numbers will not be printed, but
      pages will still be counted, and the .NUMBER command will not turn
      page numbering on.  
           DEFAULT .ENABLE NUMBERING 
5 CHAPTER 

 .ENABLE NUMBERING CHAPTER 
 .ENMCH 
   .DISABLE NUMBERING CHAPTER 
   .DNMCH 

      When  enabled  pages  are numbered as N-M where N is the chapter
      number and M is the page number.   Once  chapter  numbering  has
      been disabled it will not be reenabled by any command except for
      the .ENABLE NUMBERING CHAPTER 
           (Not supported in DSR) 
           DEFAULT:  .ENABLE NUMBERING CHAPTER 
4 ODD 

 .ENABLE ODD 
 .EODD 
   .DISABLE ODD 
   .DODD 


      Enabling  odd  forces  the  first page of each chapter onto an odd
      numbered page.  If necessary numbered pages with no text  will  be
      produced to force the chapter onto the proper page.  
           (Not supported in DSR) 
           DEFAULT:  .DISABLE ODD 
4 OVERSTRIKING 

 .ENABLE OVERSTRIKING 
 .EOV 
   .DISABLE OVERSTRIKING 
   .DOV 

      Enables  or  disables  overstriking  by  means  of  the overstrike
      character  [ % ].   If  the  overstrike  flag   is   defined   but
      overstriking is disabled RNO will not do any overstriking, and the
      overstrike flag character will not appear in the output.  Previous
      versions  of RNO attempted to omit overstruck characters, but this
      is unfortunately  not  possible  in  all  circumstances,  so  this
      feature had to be omitted.  
           DEFAULT:  .ENABLE OVERSTRIKING 
4 PAGING 

 .ENABLE PAGING 
 .EPAG 
   .DISABLE PAGING 
   .DPAG 

      These  commands  permanently  enable  or  disable pagination.  The
      .PAGE SIZE command will not turn paging on, and the .PAGE  command
      will not produce a page.  See .PAGING.  
           DEFAULT:  .ENABLE PAGING 
           (Not available in DSR) 
4 SUBSTITUTION 

 .ENABLE SUBSTITUTION 
 .ESST 
   .DISABLE SUBSTITUTION 
   .DSST 

      These  command enable or disable substitutions.  When disabled and
      the  substitute  flag  is  defined  the   substitution   will   be
      recognized, but no substitution will be made.  
           DEFAULT:  .ENABLE SUBSTITUTION 
           (Not available in DSR) 
4 TABS 

 .ENABLE TABS 
 .ETB 
   .DISABLE TABS 
   .DTB 

      This  contols  the  use  of  the  tab  key to produce tabulated or
      columnar output.  Tabs are normally enabled so you do not need  to
      enable  them  unless you have previously disabled them.  When tabs
      are disabled they are treated as ordinary spaces.  
           (Not supported in DSR) 
           DEFAULT:  .ENABLE TABS 
4 TOC 

 .ENABLE TOC 
 .ETC 
   .DISABLE TOC 
   .DTC 

      These  commands  enable  or  disable  all  output  to the table of
      contents file.  When  disabled  neither  CHAPTER,  .HEADER  LEVEL,
      .APPENDIX, nor .SEND TOC commands will output anything to the .RNT
      file.  By using this command you can control which  items  are  in
      the TOC.  
           DEFAULT:  .ENABLE TOC 
4 TRAILING_ZERO 

 .ENABLE TRAILING ZERO 
   .DISABLE TRAILING ZERO 

      When  trailing zeroes are disabled header levels are never printed
      with a trailing zero.  Normally if you have a non chapter oriented
      document the command:  
           .HL 1 
      will print a number in the form:  
           1.0 
      but if trailing zeroes are disabled it will be:  
           1 

           (Not available in DSR) 
           DEFAULT:  .ENABLE TRAILING ZERO 
4 UNCONDITIONAL 

 .ENABLE UNCONDITIONAL 
 .EUNC 
   .DISABLE UNCONDITIONAL 
   .DUNC 

      This  causes  a  break, and enables or disable unconditional text.
      When enabled all text not preceeded by an .IF command will  appear
      in   the  output.   These  commands  may  not  be  used  inside  a
      note,footnote or text section.  When unconditional is disabled all
      input  following it is ignored except for .ENABLE UNCONDITIONAL or
      .IF commands.  These commands must be the first command on a  line
      to  be recognized.  When .IF is encountered then RNO will continue
      processing  text  as  if  unconditional  were  enabled  until  the
      matching .ENDIF.  

      These  commands may be used to generate multiple table of contents
      for sections, figures, tables and so forth.  By  disabling  normal
      text, RNO can pick out only desired sections and ignore the rest. 
           (NOT available in DSR) 
           DEFAULT:  .ENABLE UNCONDITIONAL 
4 UNDERLINING 

 .ENABLE UNDERLINING 
 .EUL 
   .DISABLE UNDERLINING 
   .DUL 

      Controls underlining using the underline character [ & ].  


                                     NOTE

           The  DSR Pocket Reference uses .EUN instead of .EUL, but
           the DST manual uses .EUL so this has been adopted as the
           standard  abbreviation.   .EUN  and .DUN will also work,
           but these may not be supported in the future.  


           .DEFAULT:  .ENABLE UNDERLINING 
2 .DEFINE 
 These commands are not available in DSR.  
4 COMMAND 

 .DEFINE COMMAND /label/command string 

      defines  commands.   The  label  consists  of  up  to  20 letters.
      Imbedded spaces inside the label are treated  as  optional  syntax
      elements.   The  actual  command  may  have single, multiple or no
      spaces.  The command string must be a legal set of commands to  be
      substituted  for the label.  If a command is defined the same as a
      normal command, the normal command will be used  and  the  defined
      one ignored.  .ENDIF will be ignored if used in a defined command.
      This must be the last command on the  line.   All  text  following
      this  command  is  treated as the command definition.  Essentially
      the  command  string  is  substituted  for  the  defined  command.
      Defined   commands   may  be  nested  to  3  levels  the  same  as
      substitutions.  To prevent conflict with future commands all  user
      commands  may begin with the letter Q.  This command is invaluable
      for defining commands which exist in other versions of RUNOFF, but
      are not available here.  
5 PARAMETERS 

 Parameters  to  be  substituted  into the command may be marked by %.
 Text parameters following titles, subtitles and  so  on  may  not  be
 substituted.   The  parameters  must  be  included  in  the  previous
 command.  In other words parameters may be nested.  
5 EXAMPLE 

                                EXAMPLE
 .QHEADER A  may  be  defined to skip a line, indent both margins by 5
 spaces, and output a centered line of text.  
      .DEFINE COMMAND /QHEADER A/.s.lm+5.rm-5.c;  
 Acceptable  variants  of  the  command are .QHEADERA, .QHEADER A, and
 .QHEADER  A 

 The  first  command  after  the  label (s) need not be preceeded by a
 decimal point as it is already implied.   For  example  the  previous
 command may be defined as:  

      .DEFINE COMMAND /QHEADER A/s.lm+5.rm-5.c;  

 An example of parameter substitution is:  
      .DEFINE COMMAND /Q/.s %.i % 
      .Q 5,8 
 The command will skip 5 lines then indent 8.  
4 ESCAPE 

 .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
           printable characters following the escape sequence.  
      CHR  -  The  lock/unlock  pair  is used to change only 1 printable
           character.  
4 ITEM 

 .DEFINE ITEM /name/ [format],[n] 

      This command defines a numbered item which may be included in your
      text.  The name is a substitution label for the item.  The  format
      is  the format to display the item, see .DISPLAY PAGE.  The inital
      value for the item may be specified as n in the range 0 to 3999 or
      as  a  series of letters A to EWU.  If letters are used for n then
      the format may not be  omitted.   The  item  is  included  in  the
      SUBSTITUTE  table.   The  value  may  be incremented or changed by
      .NUMBER ITEM.  For example the  following  commands  will  define,
      increment and display a number.  
           .DEFINE ITEM /FIG$/ 
           .NUMBER ITEM /FIG$/ +1 
           .$FIG$ 

           DEFAULT:  .DEFINE ITEM /item/ D 1 
4 NUMBER 

 .DEFINE NUMBER parameter /label/ 

      defines  a  numeric  substitution.   The parameter determines what
      number is used in the substitution.  Normally the number  must  be
      defined  before  you  use  the label.  You may reference the label
      before the .DEFINE NUMBER statement if you  use  the  /2P  option.
      Parameters are:  
                Param.              Number substituted
                APPENDIX            Current Appendix or chapter
                CHAPTER             Current Chapter or appendix
                LIST                Current List element
                LEVEL               Current Header level
                PAGE                Current Page-subpage number
                ITEM /name/         Item named
5 restrictions 

 The  LEVEL  may  not  be defined inside a footnote or text section.
 You should be careful mixing these commands  with  .TEXT  DEFERRED.
 The  text  deferred  command can cause the output text to appear on
 another page, or in another section  of  your  text.   If  you  use
 .DEFINE NUMBER PAGE, it will only work properly in 2 pass mode.  In
 particular definitions inside text  deferred  will  only  give  the
 correct  page  number  after  the text has been output.  The actual
 page number may be off by 1 page  even  in  2  pass  mode,  if  the
 definition  appears  after  the  symbol  is  used.   To always work
 correctly an infinite pass mode would be necessary.  As a practical
 matter,  you can help RNO by defining the label to be approximately
 the same length as the anticipated number.   .DEFINE  NUMBER  LEVEL
 should  not  follow .NUMBER LEVEL and precede .HEADER LEVEL.  If it
 does it may not give the correct level number.  
5 examples 

                                EXAMPLE
 You wish to refer to a section in your document by the label SECA$ so
 in that section you have the command:  
      .DEFINE NUMBER LEVEL 'SECA$' 
 And later in your document you refer to the section:  
      See section $SECA$ . . . 

 The following command will print the current chapter number:  
      .DEFINE NUMBER CHAPTER /CHAPA$/ ;  $CHAPA$ 
4 SUBSTITUTE 

 .DEFINE SUBSTITUTE /label/ text 

      defines  a  substitution to be made in the text.  The label is preceeded
      and followed by a delimiter of your choice.  The label must be  no  more
      than 20 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  definitions   of   escape   sequences   also   apply   to
      substitutions.   This  must  be  the last command on the line.  All text
      following this command is treated as the substitution definition.  
5 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 
5 DELIMITERS 
 The example of define substitute could have used different delimiters
 if you needed to used the delimiters in the  text.   For  example  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 

5 LABELS 
 The   substitution  label  or  name  may  consist  of  any  printable
 character.  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/ 
5 DSR_CONVENTIONS 

 A  special convention is used to define DSR compatible substitutions.
 If the first character of the substitution name is a dollar 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 !!
4 SUBSCRIPT 

 .DEFINE SUBSCRIPT [parameters] 

      This command allows the user to define subscript escape sequences.  This
      is an escape sequence that moves the text down 1/2 space  on  the  page.
      It  must  be  a  maximum  of  10  numbers or characters.  The command is
      followed by either numbers or literals.  The default is:  
           .DEFINE SUBSCRIPT 27,"U" 
      This  must  be  properly  defined for equations of half spacing to work.
      For an LA-50 it would be:  
           .DEFINE SUBSCRIPT 27,"K" 
4 SUPERSCRIPT 

 .DEFINE SUPERSCRIPT [parameters] 

      This   command  allows  the  user  to  define  superscript  escape
      sequences.  This is an escape sequence that moves  the  text  down
      1/2  space  on  the  page.   It must be a maximum of 10 numbers or
      characters.  The parameters are either numbers or  literals.   The
      default is:  
           .DEFINE SUPERSCRIPT 27,"D" 
      This  must  be  properly  defined for equations of half spacing to
      work.  For an LA-50 it would be:  
           .DEFINE SUPERSCRIPT 27,"L" 
4 VARIABLE_SPACE 

 .DEFINE VARIABLE SPACE n,[parameters] 

      This  command  defines  a  micro  space  for implementing variable
      spacing between words.  The n is the number  of  microspaces/unit.
      Normally  1  unit  is  1  space.   The parameters define an escape
      sequence which produces a microspace.   The  escape  sequence  may
      have up to 19 numbers or characters.  The default is:  
           .DEFINE VARIABLE SPACE 6,27,31,3," ",27,31,13 
      This  defines 6 microspaces/space for a DIABLO style printer at 10
      pitch.  
           .DEFINE VARIABLE SPACE 5,27,31,3," ",27,31,11 
      Defines  12 pitch Diablo.  This is available as an option in RNPRE
      when you build RNO.  To do the same for an LA-50 in 10 pitch  with
      180 dots/inch graphics:  
           .DEFINE VARIABLE SPACE 6,27,"Pq",62,62,62,27,"" 
      For proportional fonts the micro space definition will probably be
      equal to the minimum movement of the carriage, and n=1.  This must
      be properly defined for justification of proportional fonts.  
2 .DELETE 

 These commands are not available in DSR.  
4 COMMAND 

 .DELETE COMMAND /label/ 

      This  command  deletes  an already defined command.  Only commands
      defined by .DEFINE COMMAND may be removed.  Both this command  and
      .DELETE  SUBSTITUTE  do  not reclaim the space in the substitution
      tables, so that extensive useage may cause the tables to overflow. 
           This command is illegal in 2 pass mode.  
4 SUBSTITUTE 

 .DELETE SUBSTITUTE /label/ 

      This  command  deletes  an  already  defined  substitution.   Only
      commands defined by .DEFINE SUBSTITUTE may be removed.  
           This command is illegal in 2 pass mode.  
2 .RESET 

 These commands are not available in DSR.  
4 ESCAPE 

 .RESET ESCAPE 

      resets  all  escape  sequences.   This  clears the table of escape
      sequences so you may enter  new  ones  by  using  .DEFINE  ESCAPE.
      After  giving  this  command  all  escape  sequences are no longer
      defined.  If you need to reset escape sequences,  this  should  be
      done only once at the beginning.  
4 SUBSTITUTE 

 .RESET SUBSTITUTE 

      resets  the  table  of  substitutions  so  that all the previously
      defined substitutions and commands are no longer  available.   The
      permanently defined substitutions ($$DATE...) and defined commands
      are also no longer defined.  To remove a single entry use  .DELETE
      SUBSTITUTE  or  .DELETE COMMAND.  This command can be dangerous so
      use with caution.  It should done only once at the beginning.  
           This command is illegal in 2 pass mode.  
2 .COMMENT 

 .COMMENT text 
 .;  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
      comments to a string of .DEFINE ESCAPE and .DEFINE  SUBSTITUTE  to
      remind you what each escape sequence and substitution does.  
2 .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
      automatically generate a space in the output .DOC file.   The  end
      of  a  line  may  still  cause  a  break.  This same result may be
      achieved by ending the previous line with a break flag.  

      For example:  
           Dis 
           .NO SPACE;combobulate 
      Will be printed as:  
           Discombobulate 
2 .REQUIRE 

 .REQUIRE 'filespec' 
 .REQ 'filespec' 

      takes  the  input  text  from  the  specified  file.  The .REQUIRE
      command may be imbedded in files which have  been  required.   The
      required 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
      either single (') or double (") quotes.  If  any  commands  follow
      this command on the same line, they will be ignored.  
           DEFAULT:  file type=.RNO 
           (DSR allows 10 levels of nesting) 
4 exa 

      This  command  makes  it  easy  for you to break up your text into
      reasonable chunks.  For example you may wish to put  each  section
      in a separate file and then have a master file which requires each
      section 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.  
4 exb 

      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
      salutations.  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.  
4 exc 

      A third example is getting input from a terminal.  
           .REQUIRE "TI:" 
      This  could  be  very useful when combined with the .TYPE command.
      The .TYPE could prompt the user, then RNO could accept input  from
      the terminal.  The input must be terminated by "cntrl" Z.  
4 BINARY 

 .REQUIRE BINARY [spacing] 'file-specification' 
 .REQ BIN 'file-spec' 

      This  form  of  the  require command first causes a break.  Next a
      test page is executed with the  specified  spacing.   Finally  the
      entire  contents  of  the  required  file  is included in the .DOC
      output.   The  output  is  identical   to   the   input   and   no
      interpretation  of  the  input  is  performed.   This is useful in
      adding diagrams, and other graphical input  into  the  text  file.
      The spacing essentially tells RNO how much space to allott for the
      binary input  file.   This  command  is  illegal  during  a  note,
      footnote, or text section.  It is your responsibility to make sure
      that enough space is available on the current page for the  output
      by  specifying  the  correct  spacing.  If the input contains more
      than a fraction of a page, then you may need to add to the current
      page number by .NUMBER PAGE +n.  
2 .SAVE 
 These  commands  save  the  current  status  for  later.  The status is
 restored automatically or by a RESTORE command.  There are some similar
 commands in DSR, but as of this writing they do not do the same thing. 
4 list 

              List of commands saved as part of the status:
              ---- -- -------- ----- -- ---- -- --- -------

 .AUTOBREAK        .AUTOHYPHENATE    .AUTOPARAGRAPH    .LOWERCASE
 .FILL             .JUSTIFY          .PERIOD           .UPPERCASE 
 .ENABLE/DISABLE 
                       BAR              CONTINUE        ESCAPE
                       EQUATION         FLAGS           HYPHENATION 
                       INDEXING         OVERSTRIKING    SUBSTITUTION
                       TABS             UNDERLINING 

      The  options  specified in the .PERIOD and .AUTOHYPHENATE commands
      are not saved or restored.  
4 APPENDIX 

 .SAVE APPENDIX 

      This saves the status to be restored by an .APPENDIX command.  
4 CHAPTER 

 .SAVE CHAPTER 

      This saves the status to be restored by a .CHAPTER command.  
4 HEADERS 

 .SAVE HEADERS 

      This  saves  the  current status which is restored whenever a page
      header or page number are printed.  Normally the  page  header  is
      produced  using  the  status  at the last .TITLE, .SUBTITLE or any
      command which automatically generates titles and subtitles.   This
      is  useful  in  preventing  or allowing features as underlining to
      appear in the page header.  In particular the .FILL mode is  saved
      and applies to the title, subtitle, and page number.  
4 LEVELS 

 .SAVE LEVELS 

      This  saves  the status to be restored by a .HEADER LEVEL command.
      The status is only restored if the header level number is printed.
      Non  numbered  levels  do not restore status.  For example you can
      restore .FILL, .JUSTIFY etc for each sections of the document.  
4 STATUS 

 .SAVE STATUS 

      This  saves  the  status  to  be  restored  by the .RESTORE STATUS
      command.  

 .RESTORE STATUS 

      This  command  restores  the  status saved by the last SAVE STATUS
      command.  
2 .TRACE 

 .TRACE 

      This  generates  an  error  message  to aid in debugging your .RNO
      file.  This command is not available in DSR.  The  output  informs
      you  if  either  a  footnote,  note,  or  text  section  is  being
      formatted, if fill, justify, or lock modes are  on.   The  current
      flags characters except for special flags are listed.  In addition
      the current margins and spacing are printed.  The page  size,  and
      spacing are specified in half lines.  
2 .TYPE 

 .TYPE text 

      This  command causes the "text" to be typed on your terminal.  The
      text may not be longer than 72  characters.   This  is  useful  in
      tracing  the  progress of RNO or it can be used as a prompt before
      .REQUIRE "TI:" for user input.  
           (Not available in DSR) 
2 .IF 

 .IF aaa [bbb] ...  

      This  statement  causes  the  text  following  it  to  be ignored or
      processed depending on whether the labels are defined by a  .VARIANT
      command.   The  text is processed if any label has been defined, and
      ignored if none of the labels are defined.  Each label may be up  to
      10  numbers  or letters in upper or lower case.  The case is ignored
      and ABC or abc are equivalent labels.  No special symbols or  blanks
      are  allowed  in  labels.   If the labels have not been defined text
      processing resumes when .ENDIF or .ELSE is encountered.  
           (DSR supports only single labels) 
4 NOT 

 .IF NOT aaa [bbb] ...  

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

 .ELSE aaa 

      This command changes true conditionals to false and false to true.
      If it follows a .IF it is the same as issuing .IFNOT with the same
      label.   If  it  follows a .IFNOT it is equivalent to .IF with the
      same label.  Only a single .ELSE may follow .IF  or  .IFNOT.   The
      label  aaa  must  be the same as the previous .IF or it must be *.
      This command must be the first command on a line.  
4 END 

 .ENDIF aaa 

      This   command  terminates  the  range  of  the  .IF  or  .IF  NOT
      statements.  The label aaa must be the same as the previous .IF or
      it  must  be *.  This command must be the first command on a line.
      This command must not be used inside a  defined  command,  as  RNO
      will  not  recognize it.  If text is omitted all .REQUIRE commands
      are not processed so an .ENDIF inside one of  the  required  files
      will not be seen.  


                                     NOTE

           If  a  literal command is used inside an IF and the text
           is not processed, an .ENDIF  will  still  be  recognized
           after the .LITERAL.  This is because the literal command
           is not recognized so that  text  following  it  will  be
           recognized as normal text.  


4 VARIANT 

 .VARIANT aaa [bbb] ...  
   .NO VARIANT aaa [bbb] ...  

      .VARIANT  defines  a label aaa which is used to control the action
      of subsequent .IF commands.   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.  .NO VARIANT undefines a label aaa
      which  is  used  to control the action of subsequent .IF commands.
      These commands only affect subsequent IF/IFNOT commands, and  have
      no  affect  on previous IF/IFNOT commands.  Multiple labels may be
      specified with one variant command.  
4 IMMEDIATE 

 .IMMEDIATE IF label 
 .IIF label 
   .IMMEDIATE IFNOT label 
   .IIFNOT label 

      These  commands are similar to .IF and .IFNOT except that they are
      not followed by .ELSE or .ENDIF.  These commands cause the rest of
      the  line  to  be ignored or accepted.  These commands may be used
      inside a defined command and they need not be the first command on
      a line.  
4 Warning 


                                 Warning

      If  the IF/ELSE/ENDIF commands are not the first command on a
      line, or if they are inside a defined command, they  will  be
      ignored  and  an error message will result.  The IMMEDIATE IF
      commands may be used in the middle of lines,  or  in  defined
      commands.  


4 Aexample 

                                Example:

      .VARIANT NOTES1
      .IF NOTES1
      This line is printed
      .ELSE NOTES1
      This line is not printed
      .ENDIF NOTES1
      .IF NOT NOTES1
      This line is not printed
      .ENDIF NOTES1
      .IF undefined
      This line is not printed
      .ENDIF undefined
      .IFNOT undefined
      This line is printed
      .ELSE  undefined
      This line is not printed
      .ENDIF undefined
4 Bexample 

                                Example:

 Another  example of how to use .IF statements is the following problem:
 You have a prefix file that you require at the top of each  .RNO  file.
 The prefix file defines a bunch of substitutions and escapes.  You make
 up MAIN.RNO which now requires all the other .RNO files.  Unfortunately
 each  time  the  prefix  file  is  required  you  get a string of error
 messages:  
      RNO -- Substitution already defined 
 The  way  out  of this problem is to only execute the prefix file once.
 This may be guaranteed by putting the following at the top of the file: 
      .IFNOT prefix 
 and the following at the end of the prefix file:  
      .VARIANT prefix 
      .ENDIF prefix 
4 Cexample 

                                 Example

 Here is an example of the .NO VARIANT command:  

      .VARIANT abc
      .IF abc
      This line will appear
      .ENDIF abc
      .NO VARIANT abc
      .IF abc
      This line will not appear
      .ELSE abc
      This line will appear
      .ENDIF abc
4 Dexample 

                                 Example

 Here is an example of multiple labels:  

      .Variant abc
      .IF abc def
      This line appears
      .ENDIF *
      .IF abc
      This line appears
      .ENDIF *
      .IF def
      This line will not appear
      .ENDIF *
4 Eexample 

                            Immediate example

 The following illustrates the use of immediate if commands.  
      .VARIANT A
      .IIF A;This line appears.
      .IIFNOT A;This line will not appear.
      .IIF B;This line will appear.
      .IIFNOT B;This line will not appear.
4 nesting 

                                 Nesting

 The  IF statements may be nested one inside each other.  Of course once
 an .IF aaa or .IFNOT aaa has started skipping  text,  no  further  text
 will  be  processed  until  .ENDIF aaa.   Only 32 levels of nesting are
 allowed.  Here is a nesting example.  
      .VARIANT B
      .IF B
      This line is processed
      .IF C
      This line is not
      .ELSE C
      .IF B
      This line is processed
      .ELSE B
      This line is not
      .ENDIF B
      .ENDIF C
      .ELSE B
      This line is not
      .IFNOT C
      This line is not
      .ENDIF C
      .ENDIF B
 Here is an example of improper nesting:
      .IF B
      .IF C
      .ENDIF B
      .ENDIF C
4 restrictions 

                              RESTRICTIONS

 Every  time  you  use IF/IFNOT/VARIANT commands a label is added to the
 symbol table.  This can cause you to run out  of  dynamic  memory.   If
 multiple  labels are used with an IF command only the last one is added
 to the symbol table, so if the last one is always  the  same,  you  may
 safely use a large variety of labels before the last one.  
2 .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.  Underlining,
      overstriking, and escape  sequences  are  not  recognized  in  index
      keywords.   These  special  features  can  not be recognized because
      there is no rational way to alphabetize keywords if they  are  used.
      A  given  keyword  may  be  indexed more than once.  If a keyword is
      indexed more than one time on a page the extra times are ignored.  

      SEE also the commands .ENABLE INDEXING and .DISABLE INDEXING.  
4 ENTRY 

 .ENTRY index term 
 .Y index term 

      This  puts  an  index term into the index, but doesn't include the
      current page number.  
4 DO 

 .DO INDEX [;][text] 
 .DX [;][text] 

      This  command  clears  the  title and subtitle, uses the text as a
      header, and starts a new page.  Then the entire  contents  of  the
      index buffer is printed and reset.  This is equivalent to:  
           .TITLE 
           .SUBTITLE 
           .FLUSH .PAGE .C;  [text] 
           .S 4 .PRINT INDEX 

      If no text is specified the INDEX is printed as the header.  
4 PRINT 

 .PRINT INDEX ["entry"] 
 .PX ["entry"] 

      This  prints the specified entry in the index buffer.  If no entry
      is specified the entire index buffer is printed  and  reset.   The
      index  buffer  is  not  reset if an entry is specified.  The entry
      must be an index term.  This term and all of  its  subindex  terms
      will be printed.  .helpd format 

      Entries  are  printed  in alphabetic order and are set against the
      left margin.  The chapter and subpage numbers are printed  in  the
      same  format  as  specified  by  the  .DISPLAY CHAPTER or .DISPLAY
      SUBPAGE commands.  Regular line spacing is used, except that a new
      paragraph  is  formed between entries 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
      ellipses  ( . . . )  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  2 spaces after the index entry, and no
      justification will occurr.  
           (The use of FILL and JUSTIFY as well as the paragraph spacing
      is not the same as in DSR) 
4 DELETE 

 .DELETE INDEX "entry" 

      This  deletes an index entry from the index buffer.  The buffer is
      not shortened, so no space is saved.  This command  is  useful  in
      breaking  up  the  index  into  several  parts.   Each part may be
      printed separately by .PRINT INDEX and the deleted.   Finally  all
      of the remaining parts can be printed and the index buffer reset. 
4 RESET 

 .RESET INDEX 

      This resets the index buffer so that it contains no entries.  This
      is done automatically by .DO INDEX or an unqualified .PRINT INDEX. 
4 Subindex 

                                SUBINDEX

 If  the  command  .FLAGS SUBINDEX is issued, then you may also subindex
 terms.  Each subindex item is marked by a  subindex  flag.   Each  item
 will appear indented by 2 extra spaces more than the previous item when
 a .PRINT INDEX command  or  .DO  INDEX  is  issued.   For  example  the
 following text:  
      .FLAGS SUBINDEX
      .INDEX flags>substitute
      .INDEX flags>index
      .PRINT INDEX
   produces the following:
      flags
        index      1
        substitute 1
4 Autoindex 

                                AUTOINDEX

 Index  terms  may  also  be  generated  automatically without using the
 .INDEX command if the .FLAGS INDEX command has been issued.   Any  term
 preceeded  by  an  index  flag  (>) will be automatically indexed.  For
 further information see:  FLAGS INDEX.  Autoindexing may  not  be  done
 inside  a  .TITLE,  .SUBTITLE,  .CHAPTER,  .APPENDIX,  or .HEADER LEVEL
 command.  
2 Table_of_contents 
 A  table  of  contents  may  be  produced  by  RUNOFF.  It will include all
 chapters and section headers at level 1.  If  you  wish  to  include  other
 levels  you  should  use the .ENABLE LEVELS command.  The table of contents
 may be enabled or disabled by the .ENABLE TOC and  .DISABLE  TOC  commands.
 The  resulting  table of contents is not quite the same as that produced by
 DSR in that the header levels are not  indented  the  same.   This  may  be
 changed in future versions.  
3 filespec 

 A  table  of  contents  file  is  produced if you specify a second output
 filespec.  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 

 EXAMPLE.DOC  and  EXAMPLE.RNT  are  the two files produced from the input
 EXAMPLE.RNO.  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 

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

 The following commands control the TOC output.  
2 .SEND 

 .SEND TOC [;]text 
 .STC text 

      sends  the "text" to the .RNT file.  The text may be used to control
      the TOC output.  The text may actually be  a  set  of  commands  for
      example .REQUIRE "FORMAT" to insert a set of commands to control 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.  

 .SEND PAGE TOC [n] [;text] 

      This sends text to the .RNT file followed by a page number.  If n is
      included then the text is preceeded  by  .IF TOCn  and  followed  by
      .ENDIF TOCn.   The  parameter  n  must be in the range 1 to 9.  This
      command facilitates multiple indices.   You  can  use  the  .DISABLE
      UNCONDITIONAL command to turn off regular index entries, and pick up
      and print the conditional entries in a second or third pass.  
2 .BEGIN 

 .TOC 
   .END TOC 

      You  do  not  normally  use  these commands.  They are automatically
      placed in the .RNT file.  .TOC enables formatting for the  table  of
      contents.  It does the following:  
           1.  New pages for each chapter are inhibited.  
           2.  The  .CHAPTER command uses the paragraph test page to check
               the number of lines available.  
           3.  All tab stops are cleared.  
           4.  .NO NUMBER CHAPTER 
           5.  .STYLE CHAPTER 1,-1,-1,0,2 
           6.  .STYLE HEADERS ,,,,,0,0,0 
               This sets skips and test page for levels to zero.  
           7.  .INDENT LEVELS 8,8 


      .END  TOC  is the complement 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,7 
           6.  .INDENT LEVELS 0,0 


 The format of the final table of contents may be varied either by editing
 the .RNT file or by using .STC to  add  extra  commands.   The  following
 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 ellipses
          enabled.  If you want ellipses used in the table of contents you
          should .SEND TOC .ELLIPSES.  
      3.  .ENABLE  LEVELS  n1,n2  may  be  used to automatically determine
          which header levels 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.  
      4.  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.  
      5.  You  may  wish  to  number  the table of contents in lower roman
          numerals by using the command .STC .DISPLAY NUMBER RL.  
      6.  The  .STYLE  commands  may  be  inserted  into  the .RNT file to
          control 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.  
      7.  .INDENT  LEVELS  can  also  be  used  to change the HEADER LEVEL
          indentation.  
      8.  Finally,  the foreward or preface may be inserted into the table
          of contents file by .STC .REQUIRE "PREFACE" and it  will  follow
          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 .figures 

                                  FIGURES

 Separate  tables of contents may be generated for figures and tables.  To
 do this use the .SEND PAGE TOC to send the figure names to the .RNT file,
 and  specify  n=1 for figures, n=2 for tables.  Assume you are creating a
 document called BUILDING.  For example a figure would be:  
      .SEND PAGE TOC 1;Figure 5 - TOP VIEW OF BUILDING 
 At the beginning of the BUILDING.RNO file you use the commands:  
      .SEND TOC .IF TOC0 .DUNC 
      .SEND TOC .ENDIF TOC0 
 And at the end of BUILDING.RNO:  
      .SEND TOC .EUNC 
 Then a .RNO file would be created to cause 3 passes through BUILDING.RNT.
 The file would contain the following:  
      .REQ "BUILDING.RNT"
      .VARIANT TOC0
      .VARIANT TOC1 .PAGE .C;FIGURES
      .REQ "BUILDING.RNT"
      .NO VARIANT TOC1 .VARIANT TOC2 .PAGE
      .C;TABLES
      .REQ "BUILDING.RNT"

 Up to 9 different tables of contents may be created.
2  equations

 This  feature  is not available in DSR.  An equation formatting routine has
 been  added  to  RUNOFF.   This  is  designed  to  format  multiple  nested
 fractions.   To use this facility the equation flag must be enabled via the
 .FLAGS EQUATION command.  Subscripts or  superscripts  are  normally  taken
 care  of  in  formatting  fractions,  but  you  may wish to add extra space
 between the line and the numerator or denominator.  To  do  this  give  the
 command  .ENABLE  EQUATION 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 faction
 as:  
           {NUMERATOR}/{DENOMINATOR} 
 and RNO will output:  
            NUMERATOR
           ___________
           DENOMINATOR
2 .note 

 Some  operating  systems  do  strange things to the output, so if you are
 unable to get equations to work correctly try using the  /TT  switch  and
 having  RNO  output  the text directly to the printer.  In particular VMS
 swallows some of the backspaces so the output is not correct!  
2 .features 

 Inside an equation the following features are disabled:  
      1.  Underline flags 
      2.  Fill 
      3.  Underlining 
      4.  Break flags - No break is caused, but lines may be continued.  
      5.  Hyphenation - Hyphenation flags may be used to continue a line. 
      6.  Autobreak 
      7.  Tabs 
2 .Nesting 

 Fractions may be nested inside each other.  
      For example {{A}/{B} + {C}/{D}}/{DENOMINATOR}.  
      A/B and C/D are both nested to the second level.  
 The maximum 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.  

      Example of 4 levels of nesting in numerators:  
      {1+{2+{3+{4}/{D}}/{C}}/{B}}/{A} 
      Example of 6 levels of nesting in denominators:  

      {1}/{A+ {2}/{B+{3}/{C+{4}/{D+{5}/{E+{6}/{F}}}}}} 
2 .Spacing 

 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}.  In
 addition tabs and spaces are all treated as non expandable spaces.  As  a
 result  fractions  are  never  expanded to right justify the text.  If an
 equation is imbedded inside a normal line of text and  Fill  is  enabled,
 only  the  text outside the equation is filled.  The commands .CENTER and
 .RIGHT will center or right justify equations.  In addition centered  and
 right justified tab stops can be used to line un equations.  
2 .Vertical_spacing 

 Fractions  may  occasionally  occupy  too  much  space  to fit within the
 current line spacing.   If  this  happens  you  should  use  the  command
 .SEPARATED  FRACTION.   This mode automatically generates enough space to
 separate fractions.  If you prefer to manually adjust  the  spacing  then
 the .FIGURE command should be used.  

 You  may  wish to put equation numbers along the right margin next to the
 equation.  This is accomplished by resetting the tab stops,  and  setting
 tab right.  A single tab should preceed the number to be justified.  
 The following example shows the commands necessary to do this:  
      .TAB STOPS .TAB RIGHT 
      {A + B}/{C + D}  eq._#5 
                              Is printed as:
      A + B 
      _____                                                          eq.#5 
      C + D 

2 .WARNING 


                                  WARNING

      A  Fraction  may  not  be  split  between 2 output lines.  If a
      fraction imbedded in text is so big that it can not fit on  the
      current  line,  it  is  moved  down  to  the next line.  If the
      fraction is still too big then RNO will try to break  it.   The
      break will most probably result in the error message:  
                  RNO -- Missing right brace in equation
      A string of other error messages will probably follow the first
      one and the output text will usually look  very  strange.   The
      extra  error  messages  should be ignored.  The solution to the
      problem is to break  the  fraction  up  into  2  fractions.   A
      Fraction  should not be split between more than 1 input line to
      prevent RNO from breaking it.   If  the  fraction  exceeds  the
      input line capacity of RNO you can split it if you are careful. 


2 .Commands 

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



                                   NOTE

      This  equation  routine  will  only  work  properly  with  word
      processing   style   hard   copy   printers    which    support
      sub/superscript  escape sequences and backspacing.  In addition
      sub/superscripting escape sequences  must  be  defined  by  the
      .DEFINE  SUBSCRIPT and .DEFINE SUPERSCRIPT commands if they are
      not the same as used by DIABLO printers.  In addition the paper
      must  not slip when superscripting is performed.  Some printers
      with cut sheet feeders allow the paper to slip  which  produces
      unacceptable  output.   Equations  inside  titles  or subtitles
      could cause problems if the top margin is not big enough.  


2 special_characters 
2 .flags 
                              Flag characters

 Below is a list of RUNOFF's flag characters.  To appear in the text, each
 must be preceeded by the  underscore  character  "_"  (itself  a  special
 character).   Since  the  special characters may be changed by the .FLAGS
 commands this list may not represent the actual usage for your document. 

   ^ UPPERCASE next char or LOCK function
       ^^ No case conversion
   \ LOWERCASE next char. or UNLOCK function
       \\ Lowercase all text
   < CAPITALIZE word flag character *
       ^< capitalize all text *
   # SPACE character (non expandable or quoted space)
   = HYPHENATE specify or continue *
   & UNDERLINE the following character or "^&,/&"
   _ ACCEPT the following character.
   % OVERSTRIKE the previous char by the next char *
   $ SUBSTITUTE defined text for abbreviation *
   > INDEX/SUBINDEX flags *
   | BREAK text with no spaces or continue *
   + PERIOD add extra space if followed by space *
   { EQUATION flag  1 * (Not in DSR)
   } EQUATION flag  2 *
   "tab" TAB flag character causes tabulation. (Not a flag in DSR)
 * Only becomes a special character if the FLAG is engaged.
2  .punctuation


                           Terminal punctuation

                               .  :  ;  ?  !

 These characters if followed by a separator (space or tab) will then have
 1 extra space after them in the output.  This  feature  works  only  when
 both  .FILL  and  .PERIOD  are  engaged.  This list may be changed by the
 .PERIOD command.  


                             Valid punctuation

                              / \ . , " ( ) @

 These  characters  are  valid  in  a  hyphenated  word.   Any  other  non
 alphabetic character will prevent autohyphenation.  These characters  may
 be changed by the .AUTOHYPHENATE command.  
