                               BONNER LAB RUNOFF

The following is documentation on the revisions to the BONNER LAB RUNOFF.  This
revision will be available on the Spring 83 DECUS tape.  The various  revisions
are made available to the Houston LUG as they are generated.  The previous ver-
sions were available from the Fall 82 DECUS tape [332,12] and from the  HOUSTON
LUG.   The table of contents features were available on the HOUSTON LUG version
but not on the Fall 82 tape.  This version of RNO includes most of the features
of  DSR,  and  as a bonus escape sequence handling, a macro facility (substitu-
tion), and may other features documented in the RUNOFF.DOC manual.  The  manual
has  been  rearranged  to logically group the commands, and a whole new section
INTRODUCTION TO THE COMMANDS has been added.  In addition several paragraphs of
explanation  have  been  added to most sections.  This revision adds a few fea-
tures and fixes several bugs.  

                                 ENHANCEMENTS

     1.  TABLE  of  CONTENTS  - This was omitted from the Fall 82 tape but made
         available to the Houston LUG.  This includes the following commands 
         1.  .TOC 
         2.  .END TOC 
         3.  .STYLE CHAPTERS 
         4.  .ENABLE TOC 
         5.  .DISABLE TOC 
         6.  .SEND TOC 
     2.  No  form feed is issued at the beginning of the first page, but one is
         present at the end of the last page.  This makes it easy for the  user
         to  concatonate  .DOC  files to produce composite files.  DSR produces
         form feeds neither at the start or end, and the old RUNOFF put them at
         both places.  The user must be careful to make sure forms are correct-
         ly positioned before starting.  
     3.  The  maximum  input  buffer  size has been expanded to 512 without any
         extra growth in the program size, or loss of dynamic memory.  This en-
         hancement was available to the Houston LUG.  
     4.  .INDENT  LEVELS will produce both left and right indentation of header
         levels 
     5.  .ENABLE  LEVELS  allows control over which header levels are used, and
         which go to the .RNT (table of contents) file.  
     6.  .AUTOSUBTITLE command same as in DSR.  
     7.  .AUTOTITLE command to control automatic titles.  
     8.  .PAGE SIZE has been extended to set permenant spacing also.  
     9.  .HEADER LEVEL command has been changed to work differently if no title
         is included.  This change gives the user complete flexibility in  for-
         matting header levels.  
    10.  .NUMBER LEVEL command has been added 
    11.  .NUMBER LIST command has been added.  
    12.  Some  restrictions  on  the  .DEFINE statements have now been removed.
         The .DEFINE SUBSTITUTE statements will now work in  any  order.   They
         will also detect duplicate label definitions and reject them.  
    13.  .DISPLAY  CHAPTER and .DISPLAY APPENDIX have been extended in a manner
         similar to .DISPLAY ELEMENTS.  When used  in  conjuntion  with  .STYLE
         CHAPTER they allow you to reformat chapter headers into a large varie-
         ty of styles.  
    14.  Similarly  .DISPLAY  NUMBER  has  been extended to allow the user more
         styles for the page number.  
    15.  The range of possible list entry numbers has been increased to 4000.  
    16.  .PERMANENT  FOOTNOTE  command  has  been added to automatically have a
         header between the text, and the footnotes on  a  page.   For  example
         this can automatically draw a line between the text and the footnotes. 
    17.  .IMMEDIATE  TEST  PAGE has been added.  This is a .TEST PAGE without a
         break.  This is very useful for filled text.  
    18.  In  addition  .TEST  TEXT  and .IMMEDIATE TEST TEXT have been added to
         test if enough room for n lines of text remain on a page.  Unlike test

                                                                         Page 2

         page these depend on the current spacing.  
    19.  .TEXT  command  and .END TEXT commands guarantee that text braketed by
         these commands will be printed on same page if possible.  
    20.  .LEFT has been added for DSR compatibility.  
    21.  .ENABLE BAR has 2 indentation parameters added.  
    22.  Some  changes  were  made  to  speed  up processing when the /PA/CH/AP
         switches are used.  
    23.  FIGURE DEFERRED was added similar to the same command in DSR.  
    24.  .CHAPTER  LAYOUT  was  added to allow changing the layout of the first
         page of each chapter.  In other words the main text can have a differ-
         ent layout from the title page of each chapter.  
    25.  The  .LAYOUT command was slightly modifed to change only the layout of
         the next and subsequent pages, but not the current page.  Without this
         modifacation  a  change  in  layout can give undesirable results.  For
         users who set the layout once at the beginning this change will behave
         the same as previous versions.  
    26.  Several permanent substitutions are defined when Runoff starts.  These
         are:  $$DATE $$TIME $$DAY $$MONTH $$YEAR $$HOURS $$MINUTES  $$SECONDS.
         As the names imply they are used to output the current date and time. 
    27.  .FLAGS  SPECIAL is a command to simplify the escape sequence handling.
         It allows the user to define a single character as a flag to trigger a
         series of escape sequences.  By doing this RUNOFF can be made compati-
         ble with other programs such as TEDI.  For  example  TEDI  used  [  to
         shift up for superscripting, and RUNOFF can now do the same.  
    28.  Escape  sequence  attributes have been added to .DEFINE ESCAPE.  These
         refine escape sequence handling to simplify document preparation.  
    29.  Substitution labels ignore the letter case for all but the first char-
         acter of the label.  This change was made  to  make  the  substitution
         syntax more flexible and easier to use.  
    30.  Underlining and overstriking are now allowed in .TITLE, .SUBTITLE, and
         .CHAPTER/.APPENDIX commands.  
    31.  .ENABLE/DISABLE TABS commands have been added.  These allow you to se-
         lect normal tabulation or have tabs interpreted as spaces only.  
    32.  More  error messages have been added and in general the error messages
         are more informative and helpful.  
    33.  Equation  formatting  has  been  added.   This formats multiple nested
         fractions using the braces and slash {A}/{B} as the necessary flags.  
    34.  The .NO SPACE command has been added from DSR.  
    35.  The  command .HALF SPACING enables half line spacing for standard word
         processing printers.  
    36.  Several  commands  were  changed  to be more DSR compatible.  This in-
         volved performing a SKIP rather than a BLANK, or a  TEST  TEXT  rather
         than TEST PAGE.  
    37.  .IF,.IFNOT,  and .ENDIF were added.  .ELSE was omitted, and the syntax
         is DSR compatible.  .VARIANT serves the same purpose as  the  /VARIANT
         switch.  
    38.  In addition to the .DOC file a .HLP file has been generated.  


                                BUGS now FIXED

     1.  .STYLE  CHAPTER  did  not  work  correctly.  This is only important to
         those who recieved the Houston LUG distribution.  
     2.  Header  levels  caused  the next line to have incorrect justification,
         and filling.  Issuing any command which caused a break, or skipping  a
         line fixed this problem.  
     3.  Footnotes  would not correctly justify and fill.  This could have been
         worked around by using .NO FILL inside footnotes.  
     4.  Footnotes  would  sometimes  cause  the first line of the next page to
         have incorrect fill and justification.  

                                                                         Page 3

     5.  STYLE HEADERS wouldn't work in conjuction with NO HEADER, and TOP MAR-
         GIN 0.  
     6.  .ELLIPSES would sometimes cause mistabulation.  
     7.  .SUBPAGE  command  at the beginning of the first page causes RUNOFF to
         bomb.  This is a nonsensical command sequence so  nobody  should  have
         had problems with this one.  
     8.  SUBSTITUTION  failed  unpredictably  if  a large number of substitutes
         were defined.  
     9.  /RI  switch did not work at all properly.  This could be worked around
         with a permanent left margin.  
    10.  RNO failed to underline the last word of a section terminated by \& if
         the last word occurred on the first word of an output line.  
    11.  In .HEADER LEVEL command if capitalized first character is desired and
         the first char.  was already in caps, the second char would  be  capi-
         talized.   The workaround was to not capitalize any section headers or
         use .STYLE HEADERS to disable automatic capitalization.  
    12.  .LITERAL  or .END LITERAL commands may bomb RNO with odd address trap.
         Also .LITERAL didn't turn off the flags properly if  it  worked.   The
         use of .FLAGS ALL and .NO FLAGS ALL provided a partial workaround.  
    13.  If  overstriking preceeds underlining on the same line, underlining by
         /UL:S or  /UL:L  will  fail  to  underline  correctly.   /UL:B  worked
         however.  
    14.  If  both  .NUMBER  PAGE and .NUMBER SUBPAGE are used before a .SUBPAGE
         command the page number will be wrong.  
    15.  Runoff  can  mess  up  the number of spaces in a line if the following
         conditions were met.  .FILL .PERIOD are enabled and  the  end  of  the
         input  line is terminated by a punctuation followed by a space.  Since
         there is no need to have a space after a punctuation at the end of the
         line the workaround was to remove the final space.  

                              BUGS NOT YET FIXED

There  are  currently  a few bugs which have not yet been fixed.  Any help from
other users in fixing them is gratefully appreciated.  

     1.  Indirect  command  files  do not work as input to RNO under IAS.  They
         work for RSX-11M and VMS under compatibility mode!  Since the documen-
         tation for RSX and IAS I/O routines and parsing is identical the prob-
         lem is very maddening.  


                                     NOTE

     If  you  find  any bugs I would appreciate getting a copy of both the
     .RNO and .DOC files containing these bugs.  If you could isolate  the
     bug  and demonstrate it in just a few lines of input I would appreci-
     ate the effort.  I will try to fix bad bugs or at least create a wor-
     karound.  


                                                                   John Clement

