Google
 

Trailing-Edge - PDP-10 Archives - BB-F494Z-DD_1986 - 10,7/runoff.doc
There are 15 other files named runoff.doc in the archive. Click here to see a list.


RUNOFF.DOC -- Changes from version 10 to 12
June, 1981


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1974,1975,1981,1986.
ALL RIGHTS RESERVED.






1.0  SUMMARY

1.1  This release of RUNOFF corrects several bugs present in
     version 10.  In addition, a new "typeset" interface has
     been written  to  better  interface  with  the  ITPS-10
     (In-house  Text  Processing System) software.  A set of
     the ITPS "macros" effected by  RUNOFF  version  12  are
     included with this release.

1.2  This version of RUNOFF must be loaded with SCAN version
     7 and WILD version 7.  There are no other dependencies.
     It fully supersedes all previous versions  and  has  no
     known deficiencies.  This release runs on all monitors.
     It has been tested on 6.03a and 7.00/7.01.

1.3  RUNOFF is documented in the programming  specification,
     "RUNOFF.RNO".
RUNOFF.DOC -- Changes from version 10 to 12           Page 2


2.0  EXTERNAL CHANGES

2.1  The only major change to RUNOFF version 12 from version
     10  is  in  the  operation  of the "typeset" interface,
     which was wholly revamped.
     To invoke the "typeset" interface, the user  types  the
     "/TYPESET:aaaa" command switch to RUNOFF along with the
     RUNOFF input file.  This will direct RUNOFF to  produce
     output  suitable  for  use as input to the ITPS-10 text
     processor.  The "aaaa" is the name of the "setup macro"
     which  identifies  the  type  of  text  printing device
     (e.g., line  printer,  DIABLO,  photocomp,  etc.),  and
     which is dependent on the specific installation running
     ITPS.
     The  RUNOFF  version  12  "typeset"  facility  requires
     JUSTIF  version  301(400)  (JUSTIF  is the ITPS-10 text
     processor  which  handles  the  text  hypnenation   and
     justification).
     The RUNOFF output file  expects  the  ITPS  macro  file
     RUNOFF.MCR  which  defines  the "RUNOFF" macros used by
     RUNOFF  in  converting  to  the  ITPS  command  syntax.
     RUNOFF.MCR  must  exist on the ITPS system library area
     (typically ersatz device TPS:  = SSL:[5,26]).
     Not all RUNOFF functions are handled in  the  "typeset"
     conversion.   In  particular,  footnotes and indices do
     not work.
RUNOFF.DOC -- Changes from version 10 to 12           Page 3


3.0  KNOWN WARNINGS, BUGS, AND DEFICIENCIES

3.1  As mentioned in section 2, the "typeset"  interface  is
     not  a  complete  language  translator,  footnotes  and
     indices not being handled.
RUNOFF.DOC -- Changes from version 10 to 12           Page 4


4.0  CHANGES IN INSTALLATION INSTRUCTIONS

     RUNOFF  is  now  assembled  with  the  UNIVERSAL  files
     JOBDAT, MACTEN, UUOSYM, and SCNMAC which are assumed to
     be on UNV:.  It is loaded with SCAN, HELPER, and  WILD,
     which  are  assumed  to  be  on  REL:.   The command is
     simply:
          .LOAD RUNOFF
     and these files are fetched automatically by SEARCH and
     .REQUEST  pseudo-ops  to  MACRO.  Replace RUNOFF.EXE on
     SYS:.  Add the files RUNOFF.HLP and RUNINP.HLP to HLP:.
     Other  related  files  include  RUNOFF  and RUNINP .RNH
     files which produce these  .HLP  files  when  processed
     through  RUNOFF  version  12.  Since the commands which
     automatically format the output are based primarily  on
     the  DEC  documentation  format  conventions,  they are
     included here in a file named  RNFDOC.RNS  which  is  a
     preliminary, and incomplete draft.
RUNOFF.DOC -- Changes from version 10 to 12           Page 5


5.0  INTERNAL CHANGES

233  convert to run on tops-20

234  runoff does not justify correctly when the title  of  a
     header (.hl3 or greater) is underlined.  [spr 10-17960]

235  not enough space allocated for /irange and /orange.   3
     words are stored but only 2 allocated.

236  if  a  centered  line  contains  spaces   quoted   with
     underline   (to   get  the  spaces  underlined  on  the
     printout), the line is not  centered  correctly.   [spr
     10-17868]

237  allow runoff to handle backspace in the source text (to
     allow overstrikes).  runoff will now justify lines with
     backspaces assuming that the backspace takes  -1  print
     position.  [spr 10-17551]

240  put header on continuation page of index [spr 10-16812]

241  make .do index work even if document has  no  chapters.
     [sprs 10-16842 and 10-17089]

242  handle quoted characters in  indexed  items  correctly.
     [sprs 10-17188 and 10-17522]

243  change runoff so that typing just the word "runoff"  on
     systems  with  a  runoff  command prints a * instead of
     rnfnfs error.

244  nested .if conditionals do  not  work  properly.   [spr
     10-16797]

245  /select switch fails [spr 10-16820]

246  ill.   mem.    ref.    using   .noheader/.header   [spr
     10-16454]

247  correct 244

250  some minor edits for typesetting 

251  semi-automatic hyphenation

252  make typesetting work right.  major rewrites.  requires
     new justif and macros.

253  fix nested conditionals (.if/.ifnot/.else/.endif)

254  jld 17-apr-78
     fix .skip to always pop the same number of ac's  as  it
     pushes.
RUNOFF.DOC -- Changes from version 10 to 12           Page 6


255  rdh 17-sep-78
     "lt" of "blt" got lost somewhere in $index, causing ill
     uuo macro %53 causes yet another "q" error

256  rdh 23-sep-78
     fixup [252]

257  rdh 1-dec-80 qar 10-05022
     clean up listing (remove .direc no macmpd)

260  rdh 1-dec-80 qar 10-05023
     autoparagraph break at bottom  of  page  with  deferred
     footnotes lost first line of new paragraph.

261  rdh 8-dec-80 qar 10-05104
     if the last word of a line  which  is  forcibly  broken
     (e.g.,  by  a  .break,  .para,  etc.) contains a hyphen
     marker then a spurious hyphen is appended to the end of
     the printed line.

262  rdh 30-dec-80 qar 10-05190
     header level n storage off by one.

263  rdh 2-jun-81
     call version 12 to avoid confusion with runoff  version
     11 as released on tops-20.
RUNOFF.DOC -- Changes from version 10 to 12           Page 7


6.0  SUGGESTIONS


There are many suggestions including several SPRs which have
     included  code in the form of SOUP .COR files.  Not all
     of these have yet  been  implemented.   Some  of  these
     suggestions are listed here:

6.1  (SPR 10-6215) Allow the user to specify multiple copies
     of the output (/COPIES:n).

6.2  (SPR 10-6215) Turn RUNOFF into  an  MTST  simulator  by
     adding  a  command  .INSERT which prompts the user with
     the rest of this command and then takes input from  the
     terminal.   The  insert  text  should probably continue
     until ^Z is input.  Perhaps there should be  an  option
     to  input  just one line.  There should be an option to
     exclude commands for input.

6.3  Add  a  command  .OUTLINE  which  causes  the   section
     numbering logic to build an outline instead of numbered
     sections.

6.4  Implement hyphenation as an option.  Also recognize "-"
     as  a  legitimate  break  within  a  word.   Add a flag
     character which allows a line break but does not appear
     in the output text.

6.5  (SPR  10-4522)  Automatically  generate  a   table   of
     contents   and   allow   cross-page  and  cross-section
     references symbolically.

6.6  Add a KWIC facility to automatically  include  specific
     or most words in the index.

6.7  Add a mode to automatically capitalize the  first  word
     of each sentence.

6.8  Options should be added to take  advantage  of  special
     terminals  (such  as  red/black  shift) and to generate
     bold-face by overprinting.

6.9  Add an option to list commands (on right?)  to  aid  in
     reviewing  drafts.  Perhaps teach RUNOFF to eat its own
     output.  Also, error messages should be included in the
     output.

6.10 Add a picture  building  option  for  things  like  the
     FOROTS  design  spec,  the  LOKUUO  specification,  and
     FILSER.FLO.

6.11 (SPR 10-4164) Add a mechanism to tab to  the  right  of
     the right margin.
RUNOFF.DOC -- Changes from version 10 to 12           Page 8


6.12 Add the ability to handle multiple columns and to carry
     table headings across page breaks.

6.13 Add a mechanism  for  formatting  examples  which  does
     standardized indenting and uses the .LITERAL logic.

6.14 If the words in the index entry are too long, go  to  a
     second line and indent 4 spaces.

6.15 In .STANDARD 70 mode, place the index in two columns.

6.16 Add the ability to read  from  another  file  including
     repeatedly selecting consecutive portions of the file.

6.17 Add an option (default on .RNH) to output tabs.

6.18 Modify FILCOM to produce  a  RUNOFF  input  file  which
     indicates changes from a previous version.  Use this to
     implement change bars, etc., in a reliable form.  Also,
     add option to output only those pages with change bars.

6.19 Give full control over the format and content  of  page
     headers and trailers.

6.20 Implement a multiple column  facility.   Include  table
     headers at the top of pages having continuations of the
     table.

6.21 Introduce footnotes which  can  be  referenced  several
     times  on  a  page  and  appear  only  on  pages  where
     referenced.

6.22 Add a switch (default if /DRAFT?) which indicates pages
     with a row of ***** instead of a form feed.  This would
     conserve paper.

6.23 Expand notion of  tab  to  allow  right  justified  and
     center justified columns.

6.24 Add an option to preserve the input but just  clean  up
     line  breaks  and  capitalizations.  This would be nice
     both for normal files and especially for PLMs that  are
     imbedded in source files.

6.25 Adopt a standard  (controllable)  identification  which
     separates   footnotes  from  the  preceeding  text  and
     indents and numbers them  according  to  some  standard
     format.

6.26 (QAR 2479) Add /UNDERLINE:PROOF to flag caps and always
     double space.  Don't affect the page numbering by this.

6.27 (QAR 2632) Use comma not hyphen for index entries which
     range over only two pages.
RUNOFF.DOC -- Changes from version 10 to 12           Page 9


6.28 (QAR 2632) Handle overflows on .HL2.

6.29 (QAR 2632) In .NOSELECT mode, when .SELECTION has  been
     set, notice a .SELECT following the comment character.

6.30 (QAR 2496) Add a mode (KEEP)  of  .NOFILL  which  keeps
     blank  lines.   This  mode  would  continue  each  time
     .nofill was set.

6.31 (QAR 2497) Add switches to set the physical and default
     logical  page  lengths.  Add a switch to allow printing
     accross the line printer page fold.

6.32 (QAR 2498) Add a capability to store text to be  output
     later.  In particular, allow .FIGURE DEFER to have text
     contents.

6.33 (QAR  2500)  To  aid  conversion  for  SOS  users,  add
     .JUSTIFY   RIGHT,  .JUSTIFY  LEFT  (=NOFILL),  .JUSTIFY
     CENTER, .JUSTIFY WORD (=FILL+NOJUSTIFY),  and  .JUSTIFY
     TEXT (=FILL+JUSTIFY).

6.34 (QAR  2728)  Add  a  superscripting  and   subscripting
     facility.

6.35 (QAR 2728) Add a macro facility.

6.36 Expand the TYPESET-10 facility to generate commands for
     the following RUNOFF commands:  B-n, ELT, ES, FG DEFER,
     HD, LE (use /G instead of /N), LT, NHD, NNM, NPA,  NST,
     NM, PA, PS, PX, SPG, ST, T, and X.

6.37 Do a larger .TP for HL2 than for HL3.

6.40 Implement footnotes and indices (and table of contents)
     within the "typeset" conversion.
RUNOFF.DOC -- Changes from version 10 to 12          Page 10


                 Summary of Error Messages




?RNFCJL CAN'T JUSTIFY LINE
     The string of input between spaces (and end of line) is
     greater  than  the  separation  between  left and right
     margins and therefore does not fit in the  output  even
     before any attempt to expand spaces.

?RNFDVN DUPLICATE VARIABLE NAME:  ".command"
     This  variable  command  is  attempting  to  declare  a
     variable   which   has  already  been  declared.   This
     declaration will be ignored.

?RNFEFD END FOOTNOTE DOESN'T FOLLOW FOOTNOTE:  ".command"
     This end footnote command appears at  a  place  in  the
     file  which  is  not  immediately  following a footnote
     command and the corresponding footnote data.

?RNFELD END LITERAL DOESN'T FOLLOW LITERAL:  ".command"
     This end literal command appears at a place in the file
     which  is  not  immediately following a literal command
     and  the  corresponding  literal  text.   It   probably
     reflects  that  the  count  on  the  literal command is
     incorrect.

?RNFEVL EXCEEDING VARIABLE LIST:  ".command"
     Only a maximum of 20 variables can be  declared.   This
     command  is  attempting  to declare the 21-st variable.
     This and all  further  variable  declarations  will  be
     ignored, although the message will not be repeated.

?RNFFIF FOOTNOTE INSIDE FOOTNOTE:  ".command"
     This  command  is  attempting  to  start   a   footnote
     definition only it occurs within a footnote definition,
     which is  illegal.   It  probably  indicates  that  the
     previous footnote definition was never terminated.

?RNFIBO INPUT BUFFER OVERFLOW
     A string of characters has been input which is so  long
     between  spaces  (or the right margin is so large) that
     it has overflowed  the  internal  line  buffer  storage
     area.

?RNFIFT ILLEGAL IN FOOTNOTE:  ".command"
     This command is illegal within a footnote.

%RNFIIF ^x IGNORED IN INPUT FILE
     Control characters are  not  normally  allowed  in  the
     input  file.   This  character  was  input and is being
     ignored.  If it should be input, then declare ".CONTROL
     CHARACTERS" in order to make it legal.
RUNOFF.DOC -- Changes from version 10 to 12          Page 11


?RNFILC ILLEGAL COMMAND:  ".command"
     This command is illegal for some reason.  Most  reasons
     are  that  a  key  word  was  not recognized or that an
     argument was out of range.

%RNFJEC JUNK AT END OF COMMAND:  ".command"
     The command, after all its arguments,  still  has  some
     other characters which are not blanks or comments.

[RNFKCF nK CORE - FOOTNOTE]
     Core was expanded because of  growth  in  the  footnote
     storage area.  If this repeats indefinitely it probably
     indicates that the footnote was improperly terminated.

[RNFKCI nK CORE - INDEX]
     Core was  expanded  because  of  growth  in  the  index
     storage  area.  In a well indexed document this message
     should be output occasionally as processing progresses.

?RNFLDE LITERAL DOESN'T END WITH .END LITERAL:  ".command"
     After a counted literal, the next line is  not  an  end
     literal  command.   This  probably  indicates  that the
     count is wrong.

?RNFNEC NOT ENOUGH CORE nK
     Core has been expanded to the limit of what the monitor
     is  allowed  to  assign to this job.  The processing is
     aborted at this point.

?RNFNFS NO FILE SPECIFIED
     The user has specified some switches or an output file,
     but has not specified an input file.

%RNFNIA NEGATIVE INDENT ATTEMPTED
     The sum of the indent and the left margin is less  than
     zero, meaning that the line should start to the left of
     the left edge of the paper.  Either the left margin has
     been  misset  or the indent is wrong.  The indent might
     be implicit in a  paragraph  or  table  request.   This
     message  is output only once until the next left margin
     or SD command.

%RNFNIC ANOTHER n NEGATIVE INDENTS COUNTED
     This message indicates  how  many  additional  negative
     indents were discovered since the last NIA message.

?RNFNID NO INPUT DEVICE
     The user has failed to specify either an  input  device
     or file.

?RNFODE OUTPUT ERROR xxxxxx
     The output file has an I/O error whose  octal  code  is
     included in the message.
RUNOFF.DOC -- Changes from version 10 to 12          Page 12


%RNFSPO SUBPAGE OVERFLOW
     While incrementing the subpage counter, it  got  larger
     than  26.  This probably indicates that the end subpage
     command is missing.

%RNFTFE TOO FEW END COMMANDS
     When the end of the input was reached  there  were  not
     the  same  number  of  end  (or  end  list or end note)
     commands as there had  been  list  and  note  commands.
     This probably indicates that an end command is missing.

?RNFTMI INSUFFICIENT CORE FOR COMMAND
     The   user   has   specified   so   many   input   file
     specifications  that  RUNOFF  could  not  fit them into
     core.   The  command  should  be  split  into   several
     commands.

?RNFTMR TOO MANY RANGES
     The user has specified too many IRANGE or ORANGE  pairs
     to  fit  in the storage space assigned (20 pairs each).
     Fewer ranges should be specified.

?RNFTMV TOO MANY /VARIANTS
     The  user  has  specified  too  many  VARIANTS  in  the
     command.   Only  20  variants  can  be specified in one
     command.

%RNFTNN TOO MANY NESTED NOTES
     More than 6 nested notes and lists has  occured.   This
     probably  indicates  that  one  or more end commands is
     missing.

?RNFUKV UNKNOWN VARIABLE:  ".command"
     On an if, ifnot, else, or endif command a variable  was
     referenced   which  was  not  declared  in  a  variable
     command.  This usually indicates a spelling error or  a
     missing variable command.

%RNFUME UNMATCHED END COMMAND
     More end  commands  have  occured  than  list  or  note
     commands.

?RNFVVZ /VARIANT VALUE ZERO
     In a VARIANT  switch,  the  value  was  null  or  zero.
     Variants always have names.


[End of RNF10.DOC]