home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol040 / run80.mem < prev    next >
Text File  |  1984-04-29  |  10KB  |  463 lines

  1.  
  2.  
  3. INSTRUCTIONS FOR RUN80 FORMATTING PROGRAM
  4.  
  5.  
  6. ;   Copyright   (C)   1981,  T.  Shapin,  Orange,  CA.  This
  7. documentation may not be sold but may be distributed without
  8. charge. RUN80 is a text formatting program that runs  on  an
  9. 8080  microprocessor  system  under  CP/M.  It  is useful in
  10. writing reports, manuals, etc. It will  automatically  break
  11. text into pages, number the pages, add headings and footings
  12. and justify the right margin.
  13.  
  14.       You  prepare  your  text  by using any standard editor
  15. that runs under the CP/M operating  system.  You  give  your
  16. text file a name and an extension of "RNO" (which stands for
  17. RUNOFF).  For  example,  "REPT1.RNO". You then type the CP/M
  18. command "RUN80 REPT1". This starts the RUN80 program,  reads
  19. a  REPT1.RNO  file  from  your disk and produces a formatted
  20. file with the name "REPT1.MEM" (where  the  "MEM"  extension
  21. stands  for memo). This file can be typed by giving the CP/M
  22. command "TYPE REPT1.MEM"  if  your  hard  copy  terminal  is
  23. connected to your terminal.
  24.  
  25.       While  you  are  typing  your text, you add formatting
  26. commands that tell RUN80 how you want your  test  formatted.
  27. Each  formatting  command  is  put  on  a line by itself and
  28. starts with a period. These commands can be in either  upper
  29. or lower case.
  30.  
  31. F_o_r_m_a_t_t_i_n_g_ C_o_m_m_a_n_d_s_
  32.  
  33. The  standard page layout is 60 characters wide and 66 lines
  34. high. This fits nicely on an 8-1/2 by 11 inch sheet. If  you
  35. want to print a shorter page, say 8-1/2 inches high, put the
  36. command
  37.  
  38.          .pl 51
  39.  
  40. in your text file.
  41.  
  42.       The  page  format is set up for a header and a footer.
  43. This page was prepared with a header command like this:
  44.  
  45.          .he INSTRUCTIONS FOR RUN80 FORMATTING PROGRAM
  46.  
  47.       Both the header and the footer are optional and can be
  48. changed at any time. If the  character"#"  appears  in  the
  49. header  or  footer  command line, it will be replaced by the
  50. page number. The footer command line to  prepare  this  page
  51. looks like this:
  52.  
  53.          .FO Page #
  54.  
  55. If you want to start the header or footer with blanks, start
  56. with  a  quote,  "'", which will prevent leading blanks from
  57. being discarded.
  58.  
  59.       By default, the formatting program fills output  lines
  60. by  packing  as  many input words as possible onto an output
  61. line before printing it. The lines are also justified (right
  62.  
  63.  
  64. Page 1
  65.  
  66.  
  67.  
  68.  
  69. INSTRUCTIONS FOR RUN80 FORMATTING PROGRAM
  70.  
  71.  
  72. margins are made even) by inserting extra  spaces  into  the
  73. line  before output. People normally want filled text, which
  74. is why it is the default. It can be turned  off  however  by
  75. the no-fill command:
  76.  
  77.          .nf
  78.  
  79. and   thereafter   lines   will   be   printed  without  any
  80. rearrangement. Filling can be turned back on with  the  fill
  81. command:
  82.  
  83.          .fi
  84.  
  85.       When  .nf  is encountered, there may be a partial line
  86. collected but not yet output. The .nf will force  this  line
  87. out  before  anything  else happens. This action is called a
  88. "break". Many commands  cause  a  break  as  part  of  their
  89. action. To force a break explicitly, use:
  90.  
  91.          .br
  92.  
  93.       To  get  extra  blanks  lines,  you  can  use the skip
  94. command:
  95.  
  96.          .sk
  97.  
  98.       To skip more than one blank line, follow this  with  a
  99. number.  (A space is always required between the command and
  100. the number.) For example:
  101.  
  102.          .sk 2
  103.  
  104. will skip 2 blank lines.
  105.  
  106.       A line that begins with spaces is a special  case.  If
  107. there  is nothing except spaces on the line, the line causes
  108. a break and produces a number of blank lines  equal  to  the
  109. current  line  spacing.  These  lines  are  never  discarded
  110. regardless of where they appear, so they provide  a  way  to
  111. get  blank  lines  at  the  top  of a page. If there are "n"
  112. leading spaces followed by text, it it causes a break and  a
  113. temporary  indent  of  "+n".  These  actions  will  cause  a
  114. document that contains no formatting commands at all  to  be
  115. reasonably formatted.
  116.  
  117.       The default line spacing is single space. To change to
  118. double spacing, use the command:
  119.  
  120.          .sp 2
  121.  
  122. Or use three for triple spacing, etc.
  123.  
  124.       The  page  command  causes  a skip to the top of a new
  125. page and also causes a break. If you add a  number  to  this
  126. command, the new page will be given that number:
  127.  
  128.  
  129.  
  130. Page 2
  131.  
  132.  
  133.  
  134.  
  135. INSTRUCTIONS FOR RUN80 FORMATTING PROGRAM
  136.  
  137.  
  138.          .pg 15
  139.  
  140.       To center the next line of output use:
  141.  
  142.          .ce
  143.  
  144. and you can center the next five lines of output by adding a
  145. number:
  146.  
  147.          .ce 5
  148.  
  149. or if you don't like to count lines use a big number:
  150.  
  151.                                .ce 500
  152.                                lots of
  153.                              lines to be
  154.                               centered 
  155.                   .ce 0   (to cancel the centering)
  156.  
  157.       Underlining operates much like centering:
  158.  
  159.        .ul n
  160.  
  161. causes  the  text  on the next n lines to be underlined upon
  162. output. But .ul does not cause a break, so words  in  filled
  163. text may be underlined by:
  164.  
  165. words and words and
  166.        .ul lots more words.
  167.  
  168. to produce:
  169.  
  170. words and words and l_o_t_s_ m_o_r_e_ words.
  171.  
  172.       The indent command controls the left margin.
  173.  
  174.        .in n
  175.  
  176. causes all subsequent lines to be indented by "n" positions.
  177. The normal default indent is "0". The command:
  178.  
  179.        .rm  n sets the right margin to n. The line length of
  180. filled lines is the difference between the right margin  and
  181. indent values. These margin commands do not cause a break.
  182.  
  183.       The  temporary  indent sets the indent to position "n"
  184. for one output line only.
  185.  
  186.        .ti n
  187.  
  188. If "n" is less  than  the  current  indent,  the  indent  is
  189. backwards  (a hanging indent). We will show some examples of
  190. this.
  191.  
  192.       Since absolute numbers are often awkward, RUN80 allows
  193. relative  values  to  be  used  as  command  arguments.  All
  194.  
  195.  
  196. Page 3
  197.  
  198.  
  199.  
  200.  
  201. INSTRUCTIONS FOR RUN80 FORMATTING PROGRAM
  202.  
  203.  
  204. commands  that  allow a numeric argument "n" also allow "+n"
  205. or "-n" instead, to signify a change in the  current  value.
  206. For instance,
  207.  
  208.        .rm -10
  209.        .in +10
  210.  
  211. shrinks  the  right  margin by 10 from its current value and
  212. moves the indent 10 places farther to the right. Thus,
  213.  
  214.        .rm 10 and .rm +10
  215.  
  216. are quite different.
  217.       Relative values are particularly useful with ".ti"  to
  218. temporarily indent relative to the current indent.
  219.  
  220.        .in +5
  221.        .ti +5
  222.  
  223. produces  a  left  margin indented by 5, with the first line
  224. indented by a further 5 spaces. And
  225.  
  226.        .in +5
  227.        .ti -5
  228.  
  229. produces a hanging indent as in a numbered paragraph:
  230.  
  231. 1.  Now is the time for all good people
  232. to come to the aid of their party.
  233.  
  234.       Normally tabs in  the  input  file  are  converted  to
  235. single  spaces.  Tab  stops  can be set with a tabs command,
  236. e.g. you can set tab stops at column 9, 17, 25 and 35 by the
  237. command
  238.  
  239.        .ta 9,17,25,35
  240.  
  241. in your text file. Then when you type a tab key in your text
  242. (or control-I for terminals that do not  have  a  tab  key),
  243. enough  spaces  will  be  added  in  the  line  to  move the
  244. following characters to the next tab position. Tab stops are
  245. cancelled by a ".ta 0" command, where the  first  number  is
  246. zero.
  247.  
  248. S_p_e_c_i_a_l_ C_h_a_r_a_c_t_e_r_s_
  249.  
  250. The use of "#" in headers and footings to get a page number
  251. was  already mentioned. When it is typed in text, it is used
  252. to get a non-expandable blank in filled and justified lines.
  253. For example,
  254.  
  255.        3.##This is the reason ...
  256.  
  257. will always have exactly two  blanks  after  the  "3."  even
  258. though  the  program  may  add  extra blanks to this line in
  259. order to make the right margin even. When TABS and tab stops
  260.  
  261.  
  262. Page 4
  263.  
  264.  
  265.  
  266.  
  267. INSTRUCTIONS FOR RUN80 FORMATTING PROGRAM
  268.  
  269.  
  270. are  used  in  justified  text,  non-expanding  blanks   are
  271. inserted. In unfilled text, plain blanks are inserted.
  272.       A  special escape character "`" is used to mean print
  273. the following character and ignore and  special  meaning  it
  274. otherwise  has.  It  can be used to print itself or the "#"
  275. character.
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328. Page 5
  329.  
  330.  
  331.  
  332.  
  333. SUMMARY OF RUN80 FORMATTING COMMANDS
  334.  
  335.  
  336.       COMMAND    BREAK?  DEFAULT FUNCTION
  337.       -------    ------  ------- -------- 
  338.  
  339.          .BR             YES             CAUSE A LINE BREAK 
  340.  
  341.          .CE     N       YES     N= 1    CENTER THE NEXT N LINES 
  342.  
  343.          .FI             YES             START FILLING (MOVE WORDS                            TO FILL 
  344. LINES)
  345.  
  346.  
  347.          .FO             NO      EMPTY   FOOTER TITLE 
  348.  
  349.          .HE             NO      EMPTY   HEADER TITLE 
  350.  
  351.          .IN     N       NO      N=0     INDENT N SPACES 
  352.  
  353.          .NF             YES             STOP FILLING 
  354.  
  355.          .PG     N       YES     N=+1    BEGIN PAGE NUMBERED N 
  356.  
  357.          .PL     N       NO      N=66    SET PAGE LENGTH TO N 
  358.  
  359.          .RM     N       NO      N=60    SET RIGHT MARGIN TO N 
  360.  
  361.          .SK     N       YES     N=1     SPACE DOWN N LINES 
  362.  
  363.          .SP     N       NO      N=1     LINE SPACING IS N 
  364.  
  365.          .TA N,N...      NO      CLEARS  SET TAB STOPS (10 MAX) 
  366.  
  367.          .TI     N       YES     N=0     TEMPORARY INDENT OF N 
  368.  
  369.          .UL     N       NO      NO      N=1     UNDERLINE WORDS                
  370.                          IN NEXT N LINES
  371.  
  372. S_p_e_c_i_a_l_ C_h_a_r_a_c_t_e_r_s_ "#" in a  heading  or  footing  will  be
  373. changed to the page number.
  374.  
  375. "#   in   filled   text   will   be   changed   to   blank
  376. (non-expandable). The escape character "`" means  to  print
  377. the next character literally.
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Page 
  395.  
  396.  
  397.  
  398.  
  399. SUMMARY OF RUN80 FORMATTING COMMANDS
  400.  
  401.  
  402. @
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460. Page 1
  461.  
  462.  
  463.