
                    RNO - Documentation Formatter Utility 

 The following major qualifiers are available for RUNOFF:
 
 ABBREVIATIONS        .DO-INDEX            .LA120               .PAGE 
 CASE-INFORMATION     .ENABLE-BAR          .LEFT-MARGIN         .PAPER-SIZE
 COMMANDS             .END-BAR             .LIST                .PARAGRAPH 
 ERRORS               .END-LIST            .LIST-ELEMENT        .PERIOD 
 INITIATING           .END-LITERAL         .LITERAL             .PRINT-INDEX
 INTRODUCTION         .END-NOTE            .LOWER-CASE          .RELATIVE-TABS
 SOURCE-FORMAT        .END-SUBPAGE         .NO-FLAGS-CAPITALIZ  .RIGHT-MARGIN
 SPECIAL-CHARACTERS   .EVEN-PAGE           .NO-FLAGS-HYPHENATE  .SETDARK 
 SWITCHES             .FIGURE              .NO-HYPHENATION      .SETUL 
 TABLE-OF-CONTENTS    .FILL                .NOAUTOPARAGRAPH     .SKIP 
 .APPENDIX            .FIRST-TITLE         .NOFILL              .SPACING 
 .AUTOPARAGRAPH       .FLAGS-CAPITALIZE    .NOHEADER            .STANDARD 
 .BEGIN-BAR           .FLAGS-HYPHENATE     .NOJUSTIFY           .SUBPAGE 
 .BLANK               .FOOTNOTE            .NONUMBER            .SUBTITLE 
 .BREAK               .HEADER              .NOPERIOD            .TAB-STOPS
 .CENTER              .HEADER-LEVEL        .NOTE                .TEST-PAGE
 .CHAPTER             .HYPHENATION         .NUMBER              .TITLE 
 .COMMENT             .INDENT              .NUMBER-APPENDIX     .UNDERLINE
 .DARK                .INDEX               .NUMBER-CHAPTER      .UPPER-CASE
 .DISABLE-BAR         .JUSTIFY             .ODD-PAGE

2 INTRODUCTION
 
 Introduction:
  
 RUNOFF (RNO) is a PDP-11 program to facilitate the preparation of typed 
 or printed manuscripts, such as memos, manuals, etc.  The user prepares 
 his material on any regular PDP-11 terminal, and writes it onto a  file 
 using  an  appropriate  editor.   The  user  includes  not only textual 
 material, but also case and formatting information.  RUNOFF then  takes 
 the  file  and  reproduces  it onto the line printer, terminal or other 
 file to produce a final copy or final  file  image.   It  performs  the 
 formatting  and  case  shifting as directed, and will also perform line 
 justification, page numbering and titling, etc., as desired. 
  
 The principal benefit of such a program is that files prepared for  use 
 with  it may be easily edited and corrected.  Small or large amounts of 
 material may be added or deleted, and unchanged material  need  not  be 
 retyped.   After  a  set  of  changes,  the  program may be operated to 
 produce  a  new  copy  which   is   properly   paged   and   formatted. 
 Documentation  may  thus  be  updated  as  necessary  without requiring 
 extensive retyping. 
  
2 ABBREVIATIONS

                        Text Formatting Commands
                        ------------------------

        .BREAK          .SKIP n          .BLANK n       .FIGURE n
        .BR             .S n             .B n           .FG n
 
        .INDENT n       .PARAGRAPH n,v,t .CENTER n      .FOOTNOTE n
        .I n            .P n,v,t         .C n;text      .FN n
  
        .NOTE text      .END NOTE        .LIST n        .LIST ELEMENT;text
        .NT text        .EN              .LS n          .LE;text
 
        .END LIST       .COMMENT
        .ELS

                        Page Formatting Commands
                        ------------------------

  .PAGE           .ODD PAGE n;text   .EVEN PAGE n;text   .TEST PAGE n    
  .PG             .OD n;text         .EV n;text          .TP n
 
  .NUMBER n       .NONUMBER          .CHAPTER text       .NUMBER CHAPTER n
  .NM n           .NMN               .CH text

  .HEADER LEVEL n text               .TITLE text         .FIRST TITLE text  
  .HL n text                         .T text             .FT text           

  .SUBTITLE text  .INDEX text        .PRINT INDEX        .DO INDEX text  
  .ST text        .X text            .PX                 .DX text    

  .SUBPAGE        .END SUBPAGE       .APPENDIX text      .NUMBER APPENDIX a
                                     .AX text        
  .HEADER arg     .NOHEADER
  .HD arg         .NHD
 

                        MODE SETTING COMMANDS
                        ---------------------

        .ENABLE BAR     .DISABLE BAR    .BEGIN BAR      .END BAR
        .EBB            .DBB            .BB             .EB

        .JUSTIFY        .NOJUSTIFY      .FILL
        .J              .NJ             .F
 
        .NOFILL         .UPPER CASE     .LOWER CASE     .FLAGS CAPITALIZE
        .NF             .UC             .LC             .FL CAPITALIZE
 
        .HYPHENATION    .NOHYPHENATION  .FLAGS HYPHENATE .NO FLAGS CAPITALIZE
        .HY             .NHY                             .NFL
 
        .PERIOD         .NOPERIOD       .LITERAL        .END LITERAL
        .PR             .NPR            .LIT            .ELI
 

                        PARAMETER SETTING COMMANDS
                        --------------------------

   .LEFT MARGIN n     .RIGHT MARGIN n    .PAPER SIZE n,m    .SPACING n
   .LM n              .RM n              .PS n,m            .SP n
 
   .STANDARD n        .AUTOPARAGRAPH     .NOAUTOPARAGRAPH   .TAB STOPS n,n,...
   .SD n              .AP                .NAP               .TS n,n,...
 
   .RELATIVE TABS n   .UNDERLINE;text    .DARK;text         .SETUL
   .RT n              .UL;text         

   .SETDARK           .LA120 cpi,lpi

2 INITIATING

 There are two ways to initiate RUNOFF, and they are:

      >RNO output-file=input-file
                  or
      >RNO @command-file

 Both output-file and input-file are strings comprising a file specification. 

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

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

                Input:  SY:RUNOFF.RNO
                Output: SY:RUNOFF.DOC

2 SWITCHES 

 RNO Switches:
 
 A  file  specification  may  have  one or more switches associated with it. A
 switch is an indicator, consisting of a slash and a two-character ASCII name,
 used  to  select  program  options. Several switches control the RNO program.
 These  switches ,  described  below , may be specified on either the input or
 output  file  specification. The defaults may be set by the system manager at
 Task Build time. 
 
 /SP      Spool the output file        /HY      Hyphenate output 
 /UC      Force ALL uppercase output   /-HY     Do not hyphenate output 
 /FF      Force Form-feeds (instead    /RI:n    Right shift output.  
          of multi-LFS)                         n=amount of shift 
 /-FF:n   Simulate Form-feeds with     /LM:N    Set left margin 
          Line-feeds n is paper        /UL:B    Underline with a 
          length default set by your            spacing-backspace          
          system manager.              /UL:L    Underline via line overprint 
 /WA      Wait for CR input at                  with underline character 
          beginning of each page       /UL:S    Simulate underline with hyphen 
 /-WA     Continue printing each page  /UL:N    Underlining suppressed. 
          with no wait                 /BT      book style titling 
 /PA:L:H  Output only indicated pages  /BT:R    Normally odd pages have page 
          L=lowest page to print                number on right, but /BT:R 
          H=highest page to print               reverses that. 
          Default all pages.           /SC      DIABLO/NEC spinwriter shift 
 /PS:m:n  Set Page Size to m,n                  carriage  1/120 inch for 
          character on next line                bolding. 
  
Default values are set by the system manager when RUNOFF is Task-built as: 

     /-SP/-UC/FF:66/-WA/-HY/UL:L/PS:58.:71./LM:0
2 SOURCE-FORMAT

        The source file contains the textual material which will  appear
        on the final copy, plus information to specify formatting.  Most
        importantly, upper  and  lower  case  information  also  may  be
        supplied  so  that copy can be prepared on the terminal or other
        such device which can normally input only  upper  case  letters.
        All  command  information  consists  of  regular  ASCII printing
        characters so that a listing of the source file may be  examined
        if the final copy is not exactly as desired.

        All material in the source file  is  taken  to  be  source  text
        except  those  lines  beginning with a period.  A line beginning
        with a period is assumed to be a command, and must match one  of
        those  listed in chapter 4.  The commands provide the formatting
        information, and control various optional modes of operation.

        Usually the text is filled and justified  as  it  is  processed.
        That  is,  the  program  FILLS a line by adding successive words
        from the source text until one more word would cause  the  right
        margin to be exceeded.  The line is then JUSTIFIED by making the
        word spacings larger until the last word  in  the  line  exactly
        meets the right margin.

        The user may occasionally wish  to  reproduce  the  source  text
        exactly, which is done by disabling filling and justification or
        by use of the LITERAL command.  The program may be set  to  fill
        but  not justify, in which case the output will be normal except
        that lines will not be  justified  to  the  right  margin.   The
        program  may  also be set to justify but not fill, although this
        would probably produce peculiar results and is not recommended.

        When the fill mode is on, spaces,  tabs,  and  carriage  returns
        occurring   in   the  source  text  are  treated  only  as  word
        separators.  Multiple separators are ignored.

        Some of the commands cause a BREAK in the output.  A break means
        that  the  current line is output without justification, and the
        next word goes at the beginning of the next line.   This  occurs
        at the end of paragraphs.

        The program will advance to new pages as necessary, placing  the
        title  (if  given)  and the page number at the top of each page.
        The user may call explicitly for a page advance  where  desired,
        and  may  inhibit  the  occurrence  of  a  page  advance  within
        specified material.
2 CASE-INFORMATION

        Specification of case for files prepared on the terminal is done
        with  two  characters, circumflex (^, 136 octal), and back-slash
        (\, 134 octal).  The  appearance  of  a  circumflex  causes  the
        letter  immediately  following  to be transmitted in upper case.
        The appearance of a back-slash  causes  the  letter  immediately
        following  to  be  converted  to  lower  case.   Any  letter not
        preceeded by one of  these  characters  is  transmitted  in  the
        current  mode.  The mode is initially upper case, and is changed
        by the occurrance of two  successive  case  control  characters.
        Two  circumflexes  (^^)  cause the mode to be set to upper case,
        and two back-slashes (\\) cause the mode  to  be  set  to  lower
        case.

        The use of the above corresponds to the use  of  the  shift  and
        shift-lock  keys  on  a  typewriter.  Usually, typing appears in
        lower case.  To type one letter in upper case, the shift key  is
        used.   The  shift-lock  is  set  to type a series of upper case
        letters, after which it is released.

        The following shows the uses of the case control characters:

        ^HERE IS A ^SAMPLE ^SENTENCE IN ^^UPPER CASE\\ AND LOWER CASE.  


        becomes:

        Here is a Sample Sentence in UPPER CASE and lower case.



                                      NOTE

            Case conversion takes place only on ASCII codes  101  to
            132  octal, that is, the upper case letters.  Any actual
            lower case letters (codes 141 to 172 octal) appearing in
            the source will be transmitted unchanged.  If the source
            is prepared on a device such as a Flexowriter  or  model
            37  Teletype  which  produce letters of the proper case,
            the mode should be set to upper case at the beginning of
            the file and left unchanged for the remainder.


        An additional character, less-than (<, 074  octal),  capitalizes
        the  entire  word  it precedes.  It then returns the file to the
        current case.  This character is not engaged unless preceded  by
        the  FLAGS  CAPITALIZE  command.  Similarly, the FLAGS HYPHENATE
        command engages the special character  equals  (=,  075  octal),
        which  causes  hyphenization  to  be  suspended  for the word it
        precedes.
2 SPECIAL-CHARACTERS
 
 Special Characters:
 
        &  Ampersand     Underscoring 
        #  Number-Sign   Explicit space 
        _  Underline     Quote next character 
        ^  Circumflex    Upper-case shift or mode lock 
        \  Backslash     Lower-case shift or mode unlock 
        <  Less-than     Capitalize next word 
        =  Equals-sign   Hypenation disable 

 Additional help may be obtained by typing: ? RNO SPECIAL-CHARACTERS char
 where 'char' is the special character. For example:

 ? RNO SPEC &      or     ? RNO SPEC NUMBER-SIGN

3 &
#AMPERSAND
3 AMPERSAND

 &  Ampersand     Underscoring 
 
     The  character  ampersand  (&,  046  octal)  is  used  to  specify 
     underscoring.  The ampersand will cause the character following it 
     to be underscored, e.g. &f&o&o becomes foo.
                                            ---
     Underlining of a string of characters can also be specified  in  a 
     manner  similar  to  that  of  the shift lock operations described 
     above.  An appearance of ampersand  preceded  by  circumflex  (^&) 
     will  cause  underlining of all following characters except space. 
     An appearance of ampersand preceded by backslash (\&) will disable 
     this mode. 
 
3 #
#NUMBER-SIGN
3 NUMBER-SIGN

 #  Number Sign   Explicit 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 (#, 043 octal) as a quoted 
     space;   i.e.   it  will print as exactly one space in the output, 
     will never be expanded nor changed to a carriage return. 
 
3 _
#UNDERLINE
3 UNDERLINE

 _  Underline     Quote next character 
 
     To allow the appearance  of  the  special  characters  (ampersand, 
     number-sign,   circumflex,  or  back-slash)  in  the  output,  the 
     underscore character (_, 137 octal) is used as a quote  character. 
     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 five cases occur:  _&, _^, _\, __, and _#. 
 
3 ^
#CIRCUMFLEX
3 CIRCUMFLEX

 ^  Circumflex    Upper-case 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 (_^). 
 
3 \
#BACKSLASH
3 BACKSLASH

 \   Backslash    Lower-case 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 (_\). 
 
3 <
#LESS-THAN
3 LESS-THAN

 <  Less-than     Capitalize next word 
 
     If FLAGS CAPITALIZE has been engaged, the less-than character  (<) 
     is  a  special  character  used  to  capitalize the entire word it 
     precedes.  If it is to appear in the  printed  text,  it  must  be 
     preceded by the quote character (_<). 
 
3 =
#EQUAL-SIGN
3 EQUAL-SIGN

 =  Equals-sign   Hypenation disable 
 
     If FLAGS HYPHENATE has been engaged, the equals character (=) used 
     to  disable  hyphenation  for  the  word it preceeds.  If it is to 
     appear in the printed text, it  must  be  preceded  by  the  quote 
     character (_=). 
 
2 TABLE-OF-CONTENTS

 Table of Contents:
 
     After the entire text file has been processed, a Table of Contents 
     will  be  generated.   The  text  of  all CHAPTER and HEADER LEVEL 
     commands will appear, along  with  the  section  number  and  page 
     number.   The  table  of  contents  will  always  start  on an odd 
     (frontside of sheet) page.   
 
     The margins are set back to the permanent  positions  (established 
     by  the  last-seen  ".PAGE SIZE" command).  The text starts on the 
     left margin, and the page number starts 3/4 of the way between the 
     left and right margins. 
 
     Neither  case  control  nor  emphasis  (underline  or  dark)  work 
     reliably within the text of HEADER LEVEL's.   
 
2 COMMANDS

                                RUNOFF COMMANDS

All RUNOFF commands will be recognized if they are at the beginning of a line
started with a period. Any line in the source file beginning with a period is
assumed to be one of these commands. If it is not, an error diagnostic will be
typed and the line will be ignored. Some commands take one or more decimal
number arguments. These are separated from the command by a space. More than
one command may be entered on a single line by separating the commands with a
semicolon (;) or a period (.). 

Multi-word commands may appear in any form.  Thus, .NO HEADER and .NOHEADER
are both legal. Many commands may be abbreviated.  Standard abbreviations are
given with each command. 

Additional qualifiers are as follows:

                HELP RNO COMMANDS TEXT - List text formating commands
                HELP RNO COMMANDS PAGE - List page formating commands
                HELP RNO COMMANDS MODE - List mode setting commands
                HELP RNO COMMANDS PAR  - List parameter setting commands
                HELP RNO command (ex. HELP RNO .BREAK)
3 TEXT

                        Text Formatting Commands
                        ------------------------

        .BREAK          .SKIP n          .BLANK n       .FIGURE n
        .BR             .S n             .B n           .FG n
 
        .INDENT n       .PARAGRAPH n,v,t .CENTER n      .FOOTNOTE n
        .I n            .P n,v,t         .C n;text      .FN n
  
        .NOTE text      .END NOTE        .LIST n        .LIST ELEMENT;text
        .NT text        .EN              .LS n          .LE;text
 
        .END LIST       .COMMENT
        .ELS

3 PAGE

                        Page Formatting Commands
                        ------------------------

  .PAGE           .ODD PAGE n;text   .EVEN PAGE n;text   .TEST PAGE n    
  .PG             .OD n;text         .EV n;text          .TP n
 
  .NUMBER n       .NONUMBER          .CHAPTER text       .NUMBER CHAPTER n
  .NM n           .NMN               .CH text

  .HEADER LEVEL n text               .TITLE text         .FIRST TITLE text  
  .HL n text                         .T text             .FT text           

  .SUBTITLE text  .INDEX text        .PRINT INDEX        .DO INDEX text  
  .ST text        .X text            .PX                 .DX text    

  .SUBPAGE        .END SUBPAGE       .APPENDIX text      .NUMBER APPENDIX a
                                     .AX text        
  .HEADER arg     .NOHEADER
  .HD arg         .NHD
 
3 MODE

                        MODE SETTING COMMANDS
                        ---------------------

        .ENABLE BAR     .DISABLE BAR    .BEGIN BAR      .END BAR
        .EBB            .DBB            .BB             .EB

        .JUSTIFY        .NOJUSTIFY      .FILL
        .J              .NJ             .F
 
        .NOFILL         .UPPER CASE     .LOWER CASE     .FLAGS CAPITALIZE
        .NF             .UC             .LC             .FL CAPITALIZE
 
        .HYPHENATION    .NOHYPHENATION  .FLAGS HYPHENATE .NO FLAGS CAPITALIZE
        .HY             .NHY                             .NFL
 
        .PERIOD         .NOPERIOD       .LITERAL        .END LITERAL
        .PR             .NPR            .LIT            .ELI
 
3 PARAMETER

                        PARAMETER SETTING COMMANDS
                        --------------------------

   .LEFT MARGIN n     .RIGHT MARGIN n    .PAPER SIZE n,m    .SPACING n
   .LM n              .RM n              .PS n,m            .SP n
 
   .STANDARD n        .AUTOPARAGRAPH     .NOAUTOPARAGRAPH   .TAB STOPS n,n,...
   .SD n              .AP                .NAP               .TS n,n,...
 
   .RELATIVE TABS n   .UNDERLINE;text    .DARK;text         .SETUL
   .RT n              .UL;text         

   .SETDARK           .LA120 cpi,lpi
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. 
 
2 .SKIP 

  .SKIP n 
  .SK n 
  .S n 
 
     causes a BREAK after which n is multiplied by the number of spaces 
     between lines.  The result is the number of lines skipped.  Output 
     is advanced to the top of the next page if there is no room on the 
     current  page.   If  the nothing has been put on the current page, 
     this command does nothing.  To leave blank lines at the top  of  a 
     page,  put  a  literal  space  (#  character)  on the page, or use 
     .FIGURE.  The n can also have a negative  value.   Thus,  a  final 
     footnote can be set by a command such as .SKIP -5. 
 
2 .BLANK 

  .BLANK n 
  .B n 
 
     causes the current line to be output with no justification,  skips 
     n  line spaces, and then starts output of the current source text. 
     BLANK  is  like  SKIP,  except  that  the  space  to  be  left  is 
     independent  of  line spacing.  If the nothing has been put on the 
     current page, this command does nothing.  To leave blank lines  at 
     the  top of a page, put a literal space (# character) on the page, 
     or use .FIGURE.  n can be negative to move the line n  lines  from 
     the end of the page. 
 
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, text continues to 
     fill this page, then the page is advanced and n  blank  lines  are 
     left at the top of the next page. 
 
2 .INDENT 

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

  .PARAGRAPH n, v, t 
  .P n, v, t 
 
     causes a BREAK and  formats  the  output  paragraphs.   The  n  is 
     optional  and, if present, sets the number of spaces for paragraph 
     indenting.  The default value for n  is  5  (n  can  also  have  a 
     negative value).  v is the vertical spacing between paragraphs.  v 
     can range from 0 to 5.  (1 is single spacing, 2 is double spacing, 
     etc.) t specifies a value for an automatic TEST PAGE (see the TEST 
     PAGE command). 
 
2 .CENTER 

  .CENTER n;text 
  .CENTRE n;text 
  .C n;text 
 
     causes a BREAK and centers the following text in the source  file. 
     The  centering  is  over  column (n + left margin)/2.  If n is not 
     given, it is assumed to be the right margin. 
 
 
                                    NOTE 
 
          CENTER,  RIGHT  MARGIN,  LEFT  MARGIN,  PAGE  SIZE,  And 
          STANDARD   take   both  relative  and  absolute  values. 
          Relative  values  are  expressed  as  +n  or  -n,  while 
          absolute values of n are unsigned. 
 
2 .FOOTNOTE 

  .FOOTNOTE n 
  .FN n 
 
     saves n lines at the bottom of the current page  for  a  footnote. 
     The  n  is multiplied by the number of spaces set with the SPACING 
     command.  If insufficient room remains on the current page,  space 
     is allocated at the bottom of the following page.  The text of the 
     footnote should begin on the line following the FOOTNOTE  command. 
     Indentation,  case  lock, justify, margins, spacing, bar, and fill 
     are preserved around footnotes.   However,  commands  that  affect 
     page  formatting are illegal in a footnote.  Tab stops are illegal 
     because they are not preserved.  A footnote within a  footnote  is 
     also illegal. 
 
     The actual space taken by a footnote can  be  more  or  less  than 
     specified  by  n.   If  necessary adjust n after examining a draft 
     printout. 
 
     The  footnote  is  terminated  with  a  line  beginning  with   an 
     exclamation point (the remainder of which is ignored). 
 
2 .NOTE 

  .NOTE text 
  .NT text 
 
     starts an indented note.  This  command  BLANKS  2,  reduces  both 
     margins,  centers  the  text  (if no text is given, it centers the 
     word "NOTE"), and then BLANKS 1.  At this point you enter the text 
     of  the note.  If the left margin is at 0, the margin reduction is 
     15, otherwise it is 5. 
 

2 .END-NOTE

  .END NOTE 
  .EN 
 
     terminates the NOTE command, BLANKS 2, and reverts the margins and 
     spacing modes to their settings before the last NOTE command. 
 
2 .LIST-ELEMENT

  .LIST n 
  .LS n 
 
     starts  an  indented list with n spacing, moves the left margin 9 spaces
     to  the  right  for  the  first LIST command, and 4 more spaces for each
     subsequent  nested  LIST.  The  normal  FILL and JUSTIFY modes remain in
     effect.  Therefore, you must disengage them just after the LS command if
     you  want  a  ragged  right.  The number of blank lines between the list
     elements is 'n'. The default value is 1. The allowable range is 0-5. The
     initial  value for the list element "TEST PAGE" is the list spacing + 3. 
     Lists may be nested up to 5 deep.  

  .LIST ELEMENT n;text 
  .LE n;text 
 
     starts an item in the list, used in conjunction with the LIST comand.
     The elements are numbered sequentially and the number is given a
     negative indent so that the list lines up. The number is followed by a
     period and two spaces so that the indent will be by -4. The optional n
     sets the "test page" value for this and all further list elements (at
     the same list level). 
 
2 .END-LIST

  .END LIST 
  .ELS 
 
     terminates the LIST command and returns  to  settings  before  the 
     last LIST command. 
 
2 .COMMENT 

  .COMMENT text 
  .; text 
 
     causes the line to be ignored.  The text is  not  printed  in  the 
     output  file,  but  rather is used as a comment line in the source 
     text. 
 
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. 
 
2 .ODD-PAGE

  .ODD PAGE n;text 
  .ODD n;text 
  .OD n;text 
 
     causes a BREAK and an advance to the next odd (frontside of sheet) 
     page.   If the current page is empty and already odd, this command 
     does not advance the page.  If a blank even page is generated, the 
     following text is centered on the blank page.  The centering is on 
     line (page length)/2 and over column (n + left margin)/2.  If n is 
     not  given,  it  is  assumed to be the right margin.  Just like an 
     automatic page advance, this command prints the title  (if  given) 
     and page numbers on every page. 
 
2 .EVEN-PAGE

  .EVEN PAGE n;text 
  .EVEN n;text 
  .EV n;text 
 
     causes a BREAK and an advance to the next even (backside of sheet) 
     page.  If the current page is empty and already even, this command 
     does not advance the page.  If a blank odd page is generated,  the 
     following text is centered on the blank page.  The centering is on 
     line (page length)/2 and over column (n + left margin)/2.  If n is 
     not  given,  it  is  assumed to be the right margin.  Just like an 
     automatic page advance, this command prints the title  (if  given) 
     and page numbers on every page. 
 
2 .TEST-PAGE

  .TEST PAGE n 
  .TP n 
 
     causes a BREAK followed by a conditional page advance.   It  skips 
     to the next page if fewer than n lines are left on the page.  This 
     capability is to ensure that the following n lines are all  output 
     on  the  same  page.   This  command has the form t as an optional 
     argument to the PARAGRAPH command. 
 
2 .NUMBER 

  .NUMBER n 
  .NM n 
 
     starts page numbering.  This is the default so there is no  reason 
     to  issue  this  command  unless page numbering is disengaged.  If 
     resumption of page numbering is desired at a certain page, specify 
     n. 
 
2 .NONUMBER 

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

  .CHAPTER Text 
  .CH text 
 
     starts a new chapter using the text as the title of  the  chapter. 
     This command acts as if the following command string were entered: 
 
            .BREAK;.PAGE;.BLANK 12;.CENTER;CHAPTER n 
 
     The n is incremented by 1 automatically.  After the CHAPTER  n  is 
     typed on the page, 
 
            .BLANK 2;.CENTER;Text;.BLANK 3 
 
     occurs.  This command then resets the case, margins, spacing,  and 
     justify/fill  modes.   It  also  clears any subtitles and sets the 
     chapter name as the title. 
 
2 .NUMBER-CHAPTER

  .NUMBER CHAPTER 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. 
 
2 .HEADER-LEVEL

  .HEADER LEVEL n text 
  .HL n text 
 
     starts a section at the level specified and  takes  the  following 
     text  as  the  header.  n can range from 1 to 5.  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.   The  text is used in the Table-of-Contents.  Neither case 
     control nor emphasis (underline or dark) work reliably within  the 
     text of HEADER LEVEL's.  This command acts as a 
 
            .BREAK;.TEST PAGE 9;.BLANK 3 
 
     followed by the section number, two spaces, and the section  name. 
     HEADER  LEVELS 1 and 2 end with a BREAK.  HEADER LEVELS 3,4, and 5 
     end with a space-dash-space combination (#-#). 
 
2 .TITLE 

  .TITLE text 
  .T text 
 
     takes the remaining text as the title and outputs it on every page 
     at  line 0.  The default is no title.  If a title is desired, this 
     command must be entered in the source file. 
 
2 .FIRST-TITLE

  .FIRST TITLE text 
  .FT text 
 
     Same as TITLE, but used to specify the title to be printed on  the 
     first page of the document.  This command must precede all text in 
     the source file.  Use of the FIRST TITLE command is the  only  way 
     to print a title line on the first page of the document. 
 
2 .SUBTITLE 

  .SUBTITLE text 
  .SUBTTL 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 not 
     indented, but  indentation  can  be  achieved  by  typing  leading 
     spaces. 
 
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.  It should appear  immediately 
     before the item to be indexed.  A keyword may be indexed more than 
     once. 
 
2 .DO-INDEX

  .DO INDEX text 
  .DX text 
 
     forces a new page,  centers  the  text,  if  given,  otherwise  it 
     centers the word "INDEX".  This command prints the entire contents 
     of the index buffer.  Entries are printed in alphabetic order  and 
     are  set  against  the left margin.  Regular line spacing is used, 
     except that a blank line is  left  between  entries  of  different 
     first  letters.   The  page  number of each entry is placed on the 
     same line as the entry.   Additional  page  numbers  for  multiple 
     entries  follow, separated by commas.  The index will always start 
     on an odd (frontside of sheet) page. 
 
     It is not necessary to include this command, as it will be  forced 
     if  there  is  anything  in  the index buffer, when end-of-file is 
     encountered on the input file.   
 
2 .PRINT-INDEX

  .PRINT INDEX 
  .PX 
 
     forces a new page after which it prints the entire contents of the 
     index  buffer.   Entries are printed in alphabetical order and are 
     set against the left margin.  Regular line spacing is used, except 
     that  a  blank  line  is  left  between entries of different first 
     letters.  The number  of  the  first  page  on  which  each  entry 
     appeared  is  put  on the same line as the entry.  Additional page 
     numbers for multiple entries follow,  separated  by  commas.   The 
     index will always start on an odd (frontside of sheet) page.   
 
       .PRINT INDEX and .DO INDEX perform  the  same  task.   The  only 
     difference  is  that  .PRINT  INDEX  does not interrupt the normal 
     chapter and page sequencing. 
 
2 .SUBPAGE 

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

  .END SUBPAGE 
 
     disengages the SUBPAGE command by executing a  PAGE  command  with 
     page numbering resumed. 
 
2 .APPENDIX 

  .APPENDIX text 
  .AX text 
 
     starts a new appendix using the text as the title of the appendix. 
     This command acts as if the following command string were entered: 
 
               .BREAK;.PAGE;.BLANK 12;.CENTER;APPENDIX A 
 
     The  a  is   a   letter   that   is   incremented   alphabetically 
     automatically.  After the APPENDIX A is typed on the page, 
 
               .BLANK 2;.CENTER;Text;.BLANK 3 
 
     occurs.  This command then resets the case, margins, spacing,  and 
     justify/fill  modes.   It  also  clears any subtitles and sets the 
     appendix name as the title. 
 
2 .NUMBER-APPENDIX

  .NUMBER APPENDIX a 
 
     supplies a letter (a) to be used as the letter  for  a  subsequent 
     APPENDIX command. 
 
2 .HEADER 

  .HEADER arg 
  .HD arg 
 
     causes the page header (title, subtitle, and page  number)  to  be 
     printed.   Arg is "UPPER" to specify upper case characters for the 
     title text, "LOWER"  to  specify  lower  case,  or  "MIXED".   The 
     initial setting is "HEADER MIXED".   
 
2 .NOHEADER 

  .NOHEADER 
  .NHD 
 
     causes the page header (title, subtitle, and page  number)  to  be 
     omitted.   The  header  lines are completely omitted, so that text 
     begins at the top of the page with no top margin. 
 
2 .ENABLE-BAR

  .ENABLE BAR 
  .EBB 
 
     Causes change bars to  be  enabled.   This  causes  output  to  be 
     shifted  to  the  right  3  columns to make room for the potential 
     change bar.  This is usually done at the start of a  document  and 
     is disabled, if ever, only at page breaks. 
 
2 .DISABLE-BAR

  .DISABLE BAR 
  .DBB 
 
     Causes change bar mode to be disabled.  If this is done at all, it 
     is usually only at page breaks. 
 
2 .BEGIN-BAR

  .BEGIN BAR 
  .BB 
 
     Causes the change bar range to start. 
 
2 .END-BAR

  .END BAR 
  .EB 
 
     Causes the change bar range to end. 
 
2 .JUSTIFY 

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

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

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

  .NOFILL 
  .NF 
 
     disengages the FILL and JUSTIFY modes.  This command  is  used  to 
     permit typing a table. 
 
 1. The nofill-nojustify mode need be used only where there are several
    lines of material to be copied exactly. A single line example will not
    require using these commands if there are breaks before and after. 
 
 2. Normally FILL and NOFILL are used to turn both filling and
    justification on and off. It is usually desirable to do both.  A
    subsequent appearance of a justification command will override the
    fill command however. 

 3. Because of the action of FILL, a single occurrance of NOJUSTIFY will
    cause the remainder of the file to be unjustified, with filling as
    specified.  In order to justify but not fill (not recommended), a
    JUSTIFY command must follow every NOFILL command. 
 
2 .UPPER-CASE

  .UPPER CASE 
  .UC 
 
     sets the output mode to upper case.  This command acts the same as 
     typing two circumflexes (^^). 
 
2 .LOWER-CASE

  .LOWER CASE 
  .LC 
 
     sets the output mode to lower case.  This command acts the same as 
     typing two backslashes (\\). 
 
2 .FLAGS-CAPITALIZE

  .FLAGS CAPITALIZE 
  .FL CAPITALIZE 
 
     enables the less-than (<) character to capitalize the entire  word 
     it  precedes.   It then returns the file to the current case mode. 
     This special character is usually off and must  be  typed  at  the 
     very  beginning  of  the  source text to enable this character.  A 
     space or another less-than (<) returns the  file  to  the  current 
     case lock. 
 
2 .NO-FLAGS-CAPITALIZE

  .NO FLAGS CAPITALIZE 
  .NFC 
 
     disengages the FLAG CAPITALIZE command (inital setting). 
 
2 .HYPHENATION 

  .HYPHENATION 
  .HY 
 
     engages hyphenization. 
 
2 .NO-HYPHENATION

  .NO HYPHENATION 
  .NHY 
 
     disengages hyphenization (initial setting). 
 
2 .FLAGS-HYPHENATE

  .FLAGS HYPHENATE 
  .FL HYPHENATE 
 
     enables the equals character (=) to  disengage  hyphenization  for 
     the word it precedes.  This special character is initially off and 
     must be typed at the beginning of the source file to  enable  this 
     character.   The  FLAGS  HYPHENATE  character is used to disengage 
     hyphenization for words improperly hyphenated by the hyphenization 
     algorithm. 
 
2 .NO-FLAGS-HYPHENATE

  .NO FLAGS HYPHENATE 
  .NFH 
 
     Disengages the FLAGS HYPHENATE command (initial setting). 
 
  .NFL 
 
     Disengages the FLAGS CAPITALIZE and the FLAGS  HYPHENATE  commands 
     (initial setting). 
 
2 .PERIOD 

  .PERIOD 
  .PR 
 
     causes at least two spaces to occur after every sentence seperator 
     that is followed be a space.  Sentence seperators are:   
               :  ;  !  ?  .   
 
     (This is the initial setting). 
 
2 .NOPERIOD 

  .NOPERIOD 
  .NPR 
 
     disengages conversion of period/separator to period/two spaces. 
 
2 .LITERAL 

  .LITERAL 
  .LIT 
 
     disengages FILL/JUSTIFY to permit  printing  of  text  exactly  as 
     entered  in  source file.  All special characters (see Appendix B) 
     are treated as normal printing characters. 
 
2 .END-LITERAL

  .END LITERAL 
  .ELI 
 
     used after LITERAL command to re-engage FILL/JUSTIFY. 
 
2 .LEFT-MARGIN

  .LEFT MARGIN n 
  .LM n 
 
     sets the left margin to n.  The n must  be  less  than  the  right 
     margin  but  not less than 0.  If n is omitted, the permanent left 
     margin setting is used.  If n is a signed number, it as added  (or 
     subtracted) to the current value. 
 
2 .RIGHT-MARGIN

  .RIGHT MARGIN N 
  .RM n 
 
     sets the right margin n.  The n must  be  greater  than  the  left 
     margin.   If  n  is omitted, the permanent right margin setting is 
     used.  If n is a signed number, it as added (or subtracted) to the 
     current value. 
 
2 .PAPER-SIZE

  .PAPER SIZE n,m 
  .PAGE SIZE n,m 
  .PS n,m 
 
     sets the size of the page to n  lines,  and  the  permanent  right 
     margin to m.  Either n or m may be omitted.   
 
2 .LA120 

  .LA120 cpi,lpi 
 
     causes a break and puts to the  output  file  a  control  sequence 
     which  will  reset  the character size on an LA-120 terminal.  CPI 
     (characters per inch) may be: 
               5, 6, 7, 8, 10, 12, 13, or 16 
     LPI (lines per inch) may be: 
               2, 3, 4, 6, 8, or 12 
 
     Either or both parameters may be omitted.  The defaults are 10 CPI 
     and  6 LPI.  If this command appears in the file, the size will be 
     automatically reset to the defaults at the end of the output file. 
 
2 .SPACING 

  .SPACING n 
  .SP n 
 
     sets the number of spaces between lines.  The n can range  from  1 
     to 5.  The default setting is 1.  SPACING 1 is like single spacing 
     on a typewriter and SPACING 2 is like double spacing.   SPACING  2 
     puts one blank line between lines of text. 
 
2 .STANDARD 

  .STANDARD n 
  .SD n 
 
     returns all parameters to their initial settings and sets n as the 
     page  width.  If STANDARD 60 is specified, margins are reset LM 0, 
     RM 60, PAGE  SIZE  58,60,  SPACING  1,  paragraph  indent  to  the 
     installation standard, and FILL and JUSTIFY are enabled.  STANDARD 
     70 sets right margin to 70 and page size to 58,70. 
 
2 .TAB-STOPS

  .TAB STOPS n,n,... 
  .TS n,n,... 
 
     sets tabs.  The n must be greater than 0 and listed  in  ascending 
     order.   If  tabs  already exist, the issuing of another TAB STOPS 
     command clears all previous tabs before  setting  new  ones.   The 
     default  tabs  are  set  at  eight-column  intervals  to match the 
     Digital hardware standard.  These tabs are at columns 8,  16,  24, 
     32,  40,  48,  56,  64, 72, and 80.  The tabs are converted to the 
     appropriate number of non-expandable  spaces.   If  there  are  no 
     regular spaces to the left of the tabs, they will print out at the 
     appropriate position, even if FILL is on. 
 
2 .RELATIVE-TABS

  .RELATIVE TABS n 
  .RT n 
 
     specifies what the tab stops are relative to.  If  n  is  omitted, 
     the  tabs stops will be relative to the left margin in effect when 
     the tab is encountered.  If n is  '-1',  the  tab  stops  will  be 
     relative  to the left margin in effect at the time this command is 
     encountered.  Otherwise the tab stops will be relative  to  column 
     'n'.  The initial value is '0'.   
 
2 .UNDERLINE

  .UNDERLINE;text 
  .UL;text 
 
     the text is to be underlined in the output file.
 
2 .DARK

  .DARK;TEXT 
 
     the text is be be overprinted to appear dark in the output.
 
2 .SETUL 

  .SETUL 
 
     set  the  default  emphasis  mode  for  characters  emphasized  by 
     instream commands "^&" and "\&" to be underscore rather than dark. 
     This is the initial setting. 
 
2 .SETDARK 

  .SETDARK 
 
     set  the  default  emphasis  mode  for  characters  emphasized  by 
     instream commands "^&" and "\&" to be dark rather than underscore. 
 
2 .AUTOPARAGRAPH 

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

  .NOAUTOPARAGRAPH 
  .NAP 
 
     disengages the AUTOPARAGRAPH mode. 
 
 
2 ERRORS

        Most of the error messages are self-explanatory.  In some cases,
        RNO prints the line in which the error has occurred, so that the
        user  can  examine  the source line which caused the problem and
        correct it. The following errors can occur:

  1. INTERNAL BUFFER OVERFLOW          2. ILLEGAL COMMAND text ON OUTPUT PAGE nn
  3. CAN'T JUSTIFY LINE: text          4. FATAL ERROR, ABORTING
  5. ERROR ON OUTPUT FILE              6. ERROR ON INPUT FILE
  7. NOT ENOUGH MEMORY                 8. CAN'T INDENT LIST ELEMENT
  9. CAN'T REDUCE MARGINS             10. COMMAND SYNTAX ERROR
 11. OUTPUT FILE SPECIFICATION ERROR  12. OUTPUT FILE OPEN FAILURE
 13. INPUT FILE SPECIFICATION ERROR   14. INPUT FILE OPEN ERROR

        Additional information can be obtained by typing: HELP RNO ERRORS n
        where 'n' is one of the above numbers.
3 1

             1.  RNO -- INTERNAL BUFFER OVERFLOW

                 This message is an internal program  error  and  should
                 never occur in normal use.

3 2

             2.  RNO -- ILLEGAL COMMAND text ON OUTPUT PAGE nn

                 where  nn  is  the  page  on  which  the  command  text
                 occurred.

3 3
 
             3.  RNO -- CAN'T JUSTIFY LINE:  text

                 where text is a line containing no spaces  (other  than
                 quoted spaces), so that RNO is unable to justify it.

3 4
 
             4.  RNO -- FATAL ERROR, ABORTING

                 This an message is internal program  error  and  should
                 never occur under normal use.

3 5
 
             5.  RNO -- ERROR ON OUTPUT FILE

                 A write error has occurred on the output file.  One  of
                 the following conditions exists:

                 1.  The device is full or is write protected.

                 2.  The hardware has failed.

                 3.  The user does not have write access  privileges  to
                     the file.

3 6

             6.  RNO -- ERROR ON INPUT FILE

                 A read error has occurred on an input file.  One of the
                 following conditions may exist:

                 1.  A problem  exists  with  a  physical  device  (e.g.
                     device cycled down).

                 2.  The file is corrupted or the format is wrong.

                 3.  The file is a nonsource file.  (Object file, etc.)


3 7

             7.  RNO -- NOT ENOUGH MEMORY

                 The input file contained either too many INDEX  entries
                 and  RNO  ran  out  of index buffer space or a FOOTNOTE
                 command has caused overflow of the buffer reserved  for
                 footnotes.   RNO  stops processing the input file.  The
                 user should either delete some index entries or  reduce
                 the   amount   of  footnote  text  for  the  last  page
                 processed.

3 8

             8.  RNO -- CAN'T INDENT LIST ELEMENT

                 The user has nested lists that  cause  RNO  to  attempt
                 indenting beyond the right margin.

3 9

             9.  RNO -- CAN'T REDUCE MARGINS

                 A NOTE command occurred after the margins were  set  to
                 values  that  prevent  the  NOTE  command from reducing
                 margins by 15.

3 10

             10. RNO -- COMMAND SYNTAX ERROR

                 The user has entered a command in a  format  that  does
                 not conform to syntax rules.

3 11

             11. RNO -- OUTPUT FILE SPECIFICATION ERROR

                 An error  exists  in  the  output  file  specification.
                 Correct the specification and re-enter the command.

3 12

             12. RNO -- OUTPUT FILE OPEN FAILURE

                 The file system, while attempting to  open  the  output
                 file,  has  detected  an  error.   One of the following
                 conditions may exist:
 
                 1.  The user's directory file is protected  against  an
                     open.
                 2.  A problem exists with the physical device.
                 3.  The volume is not mounted.
                 4.  The specified file directory does not exist.
                 5.  The device is full of write protected.


3 13

             13. RNO -- INPUT FILE SPECIFICATION ERROR

                 An  error  exists  in  the  input  file  specification.
                 Correct the specification and re-enter the command.

3 14

             14. RNO -- INPUT FILE OPEN ERROR

                 The file system, while  attempting  to  open  an  input
                 file,  has  detected  an  error.   One of the following
                 conditions may exist.

                 1.  The user directory file  is  protected  against  an
                     open.
                 2.  A problem exists with the physical device.
                 3.  The volume is not mounted.
                 4.  The specified file directory does not exist.
                 5.  The file does not exist as specified.
