File Name
README.md
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