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