home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / list / ep-docs.ark / EPREF.DOC < prev    next >
Encoding:
Text File  |  1988-05-21  |  73.6 KB  |  1,963 lines

  1. \fill\justify
  2. \    lft-marg    1/2"
  3. \    line-length    7"
  4. \    leading        0
  5. \    par-space    4p
  6. \    top-margin    1/2"
  7. \    bottom-margin    1/2"
  8. \    footing-margin    2
  9. \    widow        3
  10. \$1
  11. \$foot\ce\rn\=pn\*
  12. \font Times-Roman
  13. \font b:penprint\attach 8
  14. \character-height 24p
  15. \ce \tall{EP Command Reference}
  16. \character-height 22.
  17. \font b:bodoni-bold\attach 9
  18. \leading 1p\ps 8p
  19.  
  20. \f8
  21.   After each command in the following list is an abbreviated indication
  22. of what sort of argument it takes, and whether it causes a break.
  23. An asterisk means that it does cause a break.
  24. When there is a break, any partially formed output line is printed
  25. without right-justification and a new output line is started.
  26. If there is no text currently waiting to be put in an output line,
  27. then a break has no effect.
  28.   The kinds of arguments allowed are:
  29.   \f9 {n} -    A plain old number goes here (0-32767).
  30.   \f9 {b} -    A Boolean number: 0 for false, 1 or any other number for true.
  31.   \f9 {h} -    A number or fraction interpreted as a horizontal measure.
  32.   \f9 {v} -    A number or fraction interpreted as a vertical measure.
  33.   \f9 {c} -    A character, either literal or by ascii number.
  34.   \f9{expression} -\skip-up
  35.         Numerical expression.
  36.   \f9{block} -    Text enclosed in braces.
  37.   \f9{line} -    Remainder of the input line.
  38.   \f9{file-name} -\skip-up
  39.         Name of text file to be imbedded, or font file.
  40.  
  41. When a command allows a numerical argument, but none is given, 1 is assumed.
  42.  
  43. For horizontal measures, the understood unit of measure is 1/10", unless
  44. another unit is indicated by a following `.' (meaning 1/240") or `p'
  45. (1/80") or `"' (inch).\br
  46. For vertical measures, the understood unit of measure is 1 line, as
  47. determined by the current \f9 {character-height} and \f9{set-leading}
  48. values, unless another unit is indicated. If the defaults have not been
  49. changed, this value will be 11 points. Another vertical unit may be
  50. indicated by a following `.' (meaning 1/216") or `p' (1/72") or `"' (inch).
  51. \br
  52. For all numerical arguments, a `+' or a `-' may precede the
  53. argument, in which case the value is added to
  54. or substracted from the old value, rather than replacing it.
  55. If the name of the command is not given with a hyphen, the `-' must be
  56. preceded by a space, so that it will not be confused with a hyphen.
  57. If no numerical argument is given after the `+' or `-', 1 is added or
  58. subtracted.
  59.   Numbers are always unsigned, and a ``fraction'' is a number followed
  60. immediately by a slash followed immediately by another number.
  61.  
  62.   Here are some examples:
  63.     \\indent 4/3"    \\* indent 1 1/3 inches
  64.     \\indent + 1/2"    \\* indent an extra 1/2"
  65.     \\indent +1    \\* indent an additional 8 points (1/10")
  66.     \\in+        \\*  likewise
  67.     \\in -1p    \\* 1 point less indent
  68.     \\char-space    \\* add 1/10" space after each character (a lot)
  69.     \\par-skip    \\* set the paragraph spacing to the current
  70.             \\*  character-height plus the current leading
  71.             \\*  (i.e. the height of one line)
  72.     \\par-skip+    \\* space paragraphs by an additional line
  73.  
  74.   A numerical \f9{expression} is a formula built up from numbers or
  75. fractions, variables, parentheses, and the operators +, -, *, /, =, >,
  76. <, >=, <=, <> following the usual rules of precedence.
  77. The compounded symbols for comparisons can be given in either order
  78. (=> is the same as >=) and == can be used for =.
  79. Expressions are recognized after `\\command-name =' and in a few other
  80. contexts
  81. (see \f9{\\if} below, under Variables, and under Special Characters).
  82. In expressions, if no dimension is indicated after a number, it is assumed
  83. to be undimensioned or to refer to dots.
  84. This is different from the convention for numbers elsewhere.
  85. E.g.
  86.     \\indent 8    \\* set the indent to 8/10s of an inch\br
  87. versus    \\indent = 8    \\* set the indent to 8 dots, or 2 2/3 points
  88.  
  89.   In most cases for a \f9{line} argument, additional lines from the
  90. input file can be adjoined by ending a line with a `\\'.
  91. The lines are adjoined regardless of whether \f9{concatenate} is `on',
  92. and no space is added between the last character before the `\\' and
  93. the first character of the adjoined line.
  94. The group of joined lines counts as a single input line, so that
  95. \offst 6
  96.  (1) \cl 6 an adjoined line beginning with a space will not cause a break,
  97. \offst 6
  98.  (2) \cl 6 a \f9{center} command, e.g., causes a break after the whole
  99. group of joined lines,
  100. \offst 6
  101.  (3) \cl 6 in defining a string, after \f9{$heading} e.g., all the joined
  102. lines become part of the definition.
  103. \in 0
  104.  
  105.   File names may have drive prefixes, but no designation of a user
  106. area (although a user prefix may be used for the main text file
  107. -- e.g. `A>ep 3/b:sample').
  108. The \f9{user} command can be used to reference fonts in other user
  109. areas.
  110. If the same font is referred to more than once by name, a drive
  111. prefix need not be used after the first reference.
  112. Font file names are always made to have the
  113. extension `.\uc FN2\uc0', regardless of any extension that may have been given
  114. as part of the name.
  115.   The character `{' cannot be part of a file name, since it is interpreted
  116. to mean the beginning of a block (in the relevant context).
  117. The first character of a file name cannot be `$', because this would
  118. be confused with a reference to a command line argument.
  119. A name that is longer than eight characters, not counting any extension,
  120. is truncated.
  121.   If any `-' characters occur in the file name, this is given a special
  122. interpretation -- the hyphens are eliminated, and the parts of the
  123. name are truncated
  124. so as to include at most 4 characters from the part before the first
  125. hyphen and at most 4 from the part after. If there is a second hyphen,
  126. then in a similar fashion, at most 2 characters come from before this
  127. hyphen and at most 2 from after it. And so on.
  128. When there are more than 3 hyphens, the last character of the name will be
  129. the character that comes after the last hyphen.
  130. If you're still with me, you may be thinking you'd prefer not to
  131. use hyphens in file names at all, but the convention is easier to use than
  132. it is to describe. (For examples see EPUSE.DOC.)
  133.  
  134.   A \f9{c} character argument is the next literal non-blank non-tab
  135. character that occurs after the command name on the same input line,
  136. unless this is an end-of-line or a digit.
  137. End-of-line is taken to be character 0, i.e. NUL.
  138. If it's a digit, it is assumed that a character is being referred
  139. to by its ascii number. E.g.
  140.     \\tab-char :    \\* make the tab character a colon
  141.     \\tab-char 20    \\* make the tab character a ^T
  142.     \\tab-char
  143.     \\tab-char 0    \\* last and this line both mean ``no tab char''
  144.  
  145.  
  146. \f8
  147. \tall{Page Format}
  148.  
  149. \f9 adjust            h    *\br
  150. \f9 left-margin            h    *
  151.  
  152. \f8\in 1"
  153.   Both these set the left margin (counting from the left-most print
  154. head position, not from the left edge of the paper).
  155. Note that when the left margin is set, you would ordinarily want to
  156. set the \f9{line-length} to some appropriate value, as well.
  157. \in 0
  158.  
  159. \f9 left-inside            h    *\br
  160. \f9 left-outside        h    *
  161.  
  162. \f8\in 1"
  163.   These commands specify a distance to be added to the left margin
  164. on odd and even numbered pages, respectively.
  165. \in 0
  166.  
  167. \f9 line-length            h    *
  168.  
  169. \f8\in 1"
  170.   Sets the right margin to the \f9 {adjust\} value plus {h}.
  171. (Default is 8 inches.)
  172. \in 0
  173.  
  174. \f9 leading            v\br
  175. \f9 set-leading            v
  176.  
  177. \f8\in 1"
  178.   Both these set the vertical space to be left between lines of characters.
  179. The height of a line will be the value
  180. of \f9 {character-height\} plus {leading}.
  181. (Default is 2 points.)
  182. \in 0
  183.  
  184. \f9 page-length            v
  185.  
  186. \f8\in 1"
  187.   Sets the value for the paper length that EP should assume.
  188. (Default is 11 inches.)
  189. \in 0
  190.  
  191. \f9 top-margin            v
  192.  
  193. \f8\in 1"
  194.   Sets the distance to be left between the top of the page and
  195. the first line of printed text.
  196. (Default is 1 inch.)
  197. \in 0
  198.  
  199. \f9 heading-margin        v
  200.  
  201. \f8\in 1"
  202.   Sets the distance to be left between the first line of printed text
  203. and the heading or top page number.
  204. If \f9 {v} is 0, there will be no heading or top page number.
  205. If it is not 0, but no heading line has been defined by the
  206. \f9{$h} command described below, the page number will be printed
  207. at the top, centered and
  208. using the first letter font that was requested, or Epson native
  209. characters if no letter font has been requested.
  210.   The values of \f9{top-margin\} and {heading-margin} define for
  211. EP the initial vertical position of the print head on the paper.
  212. When printing first starts, EP assumes that the printhead is where
  213. the heading line or top page number should go, or at the top margin,
  214. if there is to be no heading or top page number.
  215. (Default is 0.)
  216. \in 0
  217.  
  218. \f9 $heading            line
  219.  
  220. \f8\in 1"
  221.   The remainder of the input line is stored away, and formatted and
  222. printed at the top of every page, at the position defined by the
  223. values assigned to \f9{top-margin} and \f9{heading-margin},
  224. provided the latter is not 0.
  225. If the input line ends with `\\', additional input lines are also
  226. stored as part of the heading, until one does not end this way.
  227.   With a few exceptions, the line may include any formatting
  228. commands, and may define more than one output line (in case it contains
  229. commands causing breaks).
  230. Indentation is not used in headings.
  231.   The heading should always end with `\\*', and the \f9{escape-character}
  232. in a heading is assumed to be whatever was current when it came time
  233. to print the first character.
  234.   Here is an example:
  235.  \\$heading\\font Lydian\\center Frogs\\font Helvetica\\right-adjust\\=page-number\\*
  236. \break
  237.   And another example:
  238.  \\$hdng\\in-adjust\\emph{Vines}\\break\\skip-up\\out-adjust\\
  239.  \\Roman-numeral\\=page-number\\*
  240. \break
  241.  
  242.   Before printing a heading or footing, the values indicated in the
  243. following list are saved and the new values given in the left
  244. column are assigned.
  245. After the heading or footing is printed, the former values are restored.
  246.     current print mode    font 1, italic 0, expanded 0,
  247.                 etc. (0 for other print mode commands)
  248.     escape-character    value found when first character
  249.                 of file was printed
  250.     numberof-columns    0
  251.     current-column        0
  252.     concatenate        0
  253.     justify            0
  254.     bold            0
  255.     width-factor        100
  256.     character-height    8 points
  257.     character-spacing    1 point
  258.     leading            2 points
  259.     kern            0
  260.     character-width        0
  261.     bend            0
  262.     align            0
  263.     upper-case        0
  264. \in 0
  265.  
  266. \f9 bottom-margin        v
  267.  
  268. \f8\in 1"
  269.   Sets the distance to be left between the last line of printed text
  270. and the bottom of the page.
  271. (Default is 1 inch.)
  272. \in 0
  273.  
  274. \f9 footing-margin        v
  275.  
  276. \f8\in 1"
  277.   Sets the distance to be left between the last line of printed text
  278. and the footing or bottom page number.
  279. If \f9 {v} is 0, there will be no footing or bottom page number,
  280. and there will not be an automatic page eject after all the text
  281. one the last (or only) page has been printed.
  282. (Default is 10 points.)
  283. \in 0
  284.  
  285. \f9 $footing            line
  286.  
  287. \f8\in 1"
  288.   The remainder of the input line is stored away, and formatted and
  289. printed at the bottom of every page, at the position defined by the
  290. values assigned to \f9{bottom-margin} and \f9{footing-margin},
  291. provided the latter is not 0.
  292. In other respects, this is like the \f9{$heading} command.
  293. (Default is none.)
  294. \in 0
  295.  
  296. \f9 page-number            n
  297.  
  298. \f8\in 1"
  299.   Sets the page number. `\f9{\\=page-number}' prints the current
  300. page number. `\f9{\\Roman-numeral \\=page-number}' prints it in lower
  301. case Roman numerals,
  302. and `\f9{\\Roman-numeral \\ucase \\=page-number \\ucase0}' prints it in
  303. upper case Roman numerals.
  304. \in 0
  305.  
  306. \f9 room            v    *
  307.  
  308. \f8\in 1"
  309.   If there is not \f9 {v} room on the current page,
  310. causes a new page to be started.
  311. \in 0
  312.  
  313. \f9 skip            v    *
  314.  
  315. \f8\in 1"
  316.   Leaves blank space on the current page. This will never leave any
  317. space at the top of a page, unless it is the very first page, or
  318. a preceding \f9 {room} command caused a page eject.
  319. \in 0
  320.  
  321. \f9 skip-up            v    *
  322.  
  323. \f8\in 1"
  324.   Moves the print head back up the page. Works fully only with the FX-80,
  325. but you can get up to within a point of the previous line with the MX.
  326. \in 0
  327.  
  328. \f8
  329. \tall{Line Format}
  330.  
  331.  
  332. \f9 concatenate            b    *\br
  333. \f9 fill            b    *
  334.  
  335. \f8\in 1"
  336.   Start or stop filling out print lines by stealing words from
  337. following lines in the text file.
  338. \in 0
  339.  
  340. \f9 -
  341.  
  342. \f8\in 1"
  343.   Gives a conditional or ``soft'' hyphen which is equivalent to
  344. the control character 1EH.
  345. During concatenation, a word may be divided between lines at a
  346. conditional hyphen and a real hyphen substituted.
  347. However, if the word happens not to be divided, or the preceding
  348. character is a real hyphen, the conditional hyphen disappears.
  349. \in 0
  350.  
  351. \f9 justify            b    *
  352.  
  353. \f8\in 1"
  354.   Start or stop right justification.
  355. Native Epson characters take a \it 0{long} time to print with
  356. justification, but it can be done.
  357. When \f9{concatenation} is in effect, justified print lines will
  358. not always have exactly the same number of words as they would
  359. without justification, since EP sometimes puts an extra word on a
  360. justified line to improve the spacing.
  361. \in 0
  362.  
  363. \f9 looseness-factor        n
  364.  
  365. \f8\in 1"
  366.   Set the factor by which loose justified lines are to be preferred
  367. to tight justified lines.
  368.   When both justification and concatenation are being done, it must
  369. be decided whether to include an extra word in a line and compress
  370. the inter-word spaces to line up the right margin, or to wait and
  371. put the word on the next line -- then the inter-word spaces have
  372. to be expanded.
  373. The first strategy gives a ``tight'' line and the second, a ``loose''
  374. one.
  375. It looks worse to bring words closer together than to space them
  376. further apart, other things being equal, so EP prefers looseness
  377. to tightness.
  378. But a little tightness is better than a lot of looseness.
  379. In making this decision, the percentage by which spaces would have
  380. to be compressed for a tight line is compared to the percentage
  381. by which they would have to be expanded for a loose line.
  382. Only if the loose percentage is more than \f9{n} times the
  383. tight percentage will a tight line be resorted to.
  384. (Default is 4.)
  385. \in 0
  386.  
  387. \f9 break                *
  388.  
  389. \f8\in 1"
  390.   Cause previous text which is destined for the current output
  391. line to be printed without right justification.
  392. Subsequent text goes in a new output line.
  393. When there is no text waiting to be printed, this command
  394. has no effect.
  395. \in 0
  396.  
  397. \f9 punctuation-factor        n
  398.  
  399. \f8\in 1"
  400.   Set the factor by which the space after an ending punctuation mark
  401. is expanded.
  402. One generally expects to see a little extra space between the end of
  403. a sentence and the beginning of the next.
  404. When \f9{n} is not zero, a space after a `.' or a `?' or a `!' is
  405. widened by 2/n.
  406. The widening is still performed when one or more single quotes,
  407. double quotes, or
  408. right parentheses come between the end punctuation and the space.
  409.   This may produce inappropriate spacing when these ``ending''
  410. punctuation marks
  411. are not actually intended to end a sentence, as after initials or in
  412. contexts like those in the second sentence preceding this one.
  413. One way to prevent the extra space in such instances is to use
  414. the \f9{required-blank} character instead of a space.
  415. (Default is 6, for a 33 1/3% increase.)
  416. \in 0
  417.  
  418. \f9 no-break
  419.  
  420. \f8\in 1"
  421.   Cause previous text which is destined for the current output
  422. line to be printed.
  423. This is like \f9{break} except that it does not prevent
  424. right justification.
  425. \in 0
  426.  
  427. \f9 indent            h    *
  428.  
  429. \f8\in 1"
  430.   Indent subsequent lines by \f9 {h} to the right of the
  431. left margin as
  432. determined by the \f9 {adjust}.
  433. \in 0
  434.  
  435. \f9 indent-right        h    *
  436.  
  437. \f8\in 1"
  438.   Indent subsequent lines by \f9 {h} to the left of the
  439. right margin as
  440. determined by the \f9 {adjust\} and the {line-length}.
  441. \in 0
  442.  
  443. \f9 indent-line            h    *
  444.  
  445. \f8\in 1"
  446.   Indent only the next line
  447. by \f9 {h\} to the right of the {adjust\} plus the {indent}.
  448. \in 0
  449.  
  450. \f9 undent            h    *
  451.  
  452. \f8\in 1"
  453.   Indent only the next line
  454. by \f9 {h\} to the left of the {indent}.
  455. An undented line is allowed to protrude to the left of the
  456. \f9{adjust} value, but of course no further than the leftmost
  457. position of the printhead.
  458. \in 0
  459.  
  460. \f9 offset            h    *
  461.  
  462. \f8\in 1"
  463.   Indent all but the next line
  464. by \f9 {h\} to the right of the {adjust,}
  465. until the next \f9{offset\} or {indent} command.
  466. \in 0
  467.  
  468. \f9 left-adjust                *
  469.  
  470. \f8\in 1"
  471.   Cancels all indentation for the next line.
  472. This is handy for headings, when there is a \f9{paragraph-indent.}
  473. \in 0
  474.  
  475. \f9 right-adjust
  476.  
  477. \f8\in 1"
  478.   Right-adjust the remainder of the current output line
  479. so that it ends at the right margin, as
  480. determined by the \f9 {adjust\} and the {line-length}.
  481. A line with right-adjusted text will not be right justified.
  482. This command causes a break before the next input line.
  483. \in 0
  484.  
  485. \f9 out-adjust            line\br
  486. \f9 in-adjust            line
  487.  
  488. \f8\in 1"
  489.   These are the same as \f9{right-adjust,} except that \f9{out-adjust}
  490. has effect only on odd numbered pages, and \f9{in-adjust} has effect
  491. only on even numbered pages.
  492. These commands cause a break before the next input line.
  493. \in 0
  494.  
  495. \f9 center
  496.  
  497. \f8\in 1"
  498.   Center the remainder of the current output line, or at least everything
  499. up to right adjusted text, between the left and right margins, as
  500. determined by the \f9 {adjust\} and the {line-length}.
  501. If the width of previous text on the line makes centering impossible,
  502. naturally, there will be no centering.
  503. Unadjusted, centered, and right-adjusted text can all three occur
  504. on the same output (or input) line.
  505. A line with centered text will not be right justified.
  506. This command causes a break before the next input line.
  507. \in 0
  508.  
  509. \f9 horizontal-space        h
  510.  
  511. \f8\in 1"
  512.   Leave blank space. The space left does not count as a word
  513. break, and, unlike that left by a SP character, is not altered
  514. during right-justification or changed by \f9{\\com-press,
  515. \\elite,} etc. The space may be underlined.
  516. \in 0
  517.  
  518. \f9 character-spacing        h
  519.  
  520. \f8\in 1"
  521.   Add \f9 {h} distance after each character.
  522. The actual space after a character is determined by the interaction
  523. of a number of circumstances.
  524. The basic value
  525. will be the value \f9{h} given with this command, plus whatever
  526. white space was included in the font definition of the
  527. character shape, plus the signed kerning value that was specified
  528. for the font (using ECHED), minus the value assigned
  529. with the \f9 {kern} command below.
  530. But further adjustments can be made because of the values assigned
  531. by the \f9{bold, punctuation-factor, \}and{ space-capitals} commands,
  532. and also those commands that shrink or compress characters.
  533. (Default is 1 point.)
  534. \in 0
  535.  
  536. \f9 kern            h
  537.  
  538. \f8\in 1"
  539.   Subtract \f9 {h} distance after each character.
  540. A kerned character will be overlapped with a following character,
  541. provided the \f9 {kern\} value is greater than {character-spacing},
  542. yet less than the width of the character plus the \f9 {character-spacing}.
  543. If this last condition is not met, kerning has no effect.
  544. When a kerned character is not followed by a character, it might
  545. protrude past the right margin (so please do give a following character).
  546. In effect, this command allows a negative character-spacing, and is
  547. intended for the situation where a certain pair of letters should be
  548. close set (`WA', `fl', `fi', etc.).
  549. For another way to accomplish this, see \f9{$kernpairs} below.
  550. \in 0
  551.  
  552. \f9 $kernpairs        line
  553.  
  554. \f8\in 1"
  555.   The \f9{line} is a string of pairs of characters which should be
  556. set closer to one another.
  557. Whenever one of the pairs is encountered in the text, 2 dots of
  558. space (2/3 of a point) is taken away from between them.
  559. If the same pair of characters occurs more than once in the string,
  560. 2 dots of space are removed for each occurrence.
  561.   The kerning action is not initiated until the \f9{$kernpairs} string
  562. is associated with a font by issuing the \f9{attach} command.
  563. Then whatever \f9{$kernpairs\} string has been defined becomes attached
  564. to the current font, and only characters from this font will be affected.
  565. However, \f9{attach} can be reissued for any or all of the other fonts
  566. in use, and if the \f9{$kernpairs} string has been redefined in the
  567. meantime, then different strings can be associated with different fonts.
  568.   Here are example commands to move all `ff' and `--' combinations
  569. 2 dots closer to one another and `W' and `A' in either order 4 dots
  570. closer, for both fonts 1 and 2:
  571.     \\$kern ff--WAWAAWAW
  572.     \\{\\f1\\attach\\f2\\attach}
  573. \br
  574.   Two characters from different fonts are never kerned, and also an
  575. italic character followed by a non-italic character will not be
  576. kerned (but 2 2/3 points will be added to its width instead).
  577. A way to prevent kerning in a specific case is to use a soft
  578. hyphen, e.g. `shelf\\-ful' or `shelfful' (but then the word may
  579. be divided between lines).
  580. \in 0
  581.  
  582. \f9 space-capitals        n
  583.  
  584. \f8\in 1"
  585.   Increase the space between every pair of contiguous capital
  586. letters by \f9{n} dots.
  587. (Default is 2.)
  588. \in 0
  589.  
  590. \f9 width-factor        n    *
  591.  
  592. \f8\in 1"
  593.   Adjust the width of characters by \f9{n\} percent, where {n} is from
  594. 50 to 200. If no argument is given, this is equivalent to 100
  595. (and 100% of normal width is normal).
  596.   The adjustment made is compounded with that of other commands
  597. which stretch or shrink characters, so, e.g., expanded characters
  598. that are adjusted by a factor of 200 will be four times their
  599. normal width.
  600. \in 0
  601.  
  602. \f9 character-width        h    *
  603.  
  604. \f8\in 1"
  605.   When \f9 {character-width} is set to a non-zero value, this
  606. deproportionalizes all letter fonts and forces each character
  607. to the width assigned. Characters are stretched or shrunk to fit
  608. within the specified space, allowing for \f9{character-spacing},
  609. but only up to 50% compression or 100% expansion.
  610. If more than 100% expansion would be required, the expanded
  611. character is centered within the extra wide space.
  612. The fixed character width may undergo further adjustment
  613. by other commands which stretch or shrink characters.
  614.   This looks best with a square serifed font like Stymie.
  615. \in 0
  616.  
  617. \f9 character-height        v    *
  618.  
  619. \f8\in 1"
  620.   The real height of characters is 8 points, and that is the
  621. default value for \f9 {character-height}. A smaller value
  622. (but not less than 1 point) may be assigned to cause vertical
  623. overlapping of lines, but the actual size of the characters
  624. is not changed. In effect, this allows a negative leading.
  625. \character-height 14p\align
  626.   Values larger than 8 points affect only \f9 {tall}
  627. characters (\it {q.v.}), and cause them to be vertically stretched.
  628. Permissable values run from 8 points through 16 points at
  629. one dot intervals, and from 24 points through 48 points at
  630. one point intervals. \tall {For instance, these are 14 point
  631. characters.} At present, characters of 24 points or greater
  632. cannot be mixed with non-\f9 {tall} characters on the same
  633. output line, and also cannot be used in \f9 {double-strike}
  634. mode. (Except that 48 point \f9{double-strike} characters should
  635. turn out ok.)
  636. \break\tall 2
  637.   When \font 2 {tall} is given the value 2, only the second and
  638. next to last rows of dots in characters' dot-patterns
  639. are modified. The intent here was to allow stretching only
  640. descenders and ascenders, but the actual effect is often rather peculiar.
  641. \tall 0
  642. \in 0
  643.  
  644. \f9 align            n
  645.  
  646. \f8\in 1"
  647.   This command is provided to help match up the baselines
  648. of \f9 {tall\} and non-{tall} characters, since in general
  649. they will not match.
  650. Non-\f9 {tall} characters in an output line that has one or more
  651. \f9 {tall\} characters are moved up by {n} points.
  652. \in 0
  653.  
  654. \f9 required-blank        c
  655.  
  656. \f8\in 1"\reqd-blank
  657.   The character assigned by this command is printed as a space,
  658. but is not treated as a word separator. Two words separated
  659. by the \f9 {required-blank} character will always be printed
  660. on the same line, and the space between them will not be changed
  661. during right justification. The width of the space will be what
  662. the width of an unjustified real space would be in the
  663. circumstances -- i.e. it is determined by the width of a space
  664. character in the current font, adjusted by the character spacing,
  665. kerning, and any stretching or shrinking controls that are in effect.
  666. (Default is the underscore character `_'.)
  667. \in 0\reqd-blank _
  668.  
  669. \f9 repeat-character        n    c
  670.  
  671. \f8\in 1"
  672.   Print \f9{c\} {n} times, where {n} is from 1 to 255.
  673. For this command only, the \f9{c} argument is the next output
  674. character, not necessarily the next non-blank literal character
  675. on the line (as in other cases).
  676. Also, a digit is treated as a character (as opposed to a number).
  677. For instance, `\f9{\\rc 6\\blanks}' prints 6 blanks,
  678. and `\f9{\\rc 20 \\bullets}' does 20 bullets, if bullet is defined
  679. in the current font.
  680. \in 0
  681.  
  682. \f9 repeat-line        n    line
  683.  
  684. \f8\in 1"
  685.   Print \f9{line\} {n} times, where {n} is from 0 to 255.
  686. Unlike the above \f9{repeat-character} command, an argument of
  687. 0 is treated appropriately -- the line is not printed at all.
  688.   The \f9{line} may be continued with a trailing `\\' as usual,
  689. but in other cases the total length of the line including all
  690. continuations is not a matter to be concerned about.
  691. Here, it is, since all the stuff has to be kept in a buffer which
  692. has a 300 character capacity.
  693. If you have the need to construct longer iterative procedures,
  694. you should place portions in defined strings and refer to them
  695. after \f9{repeat-line}.
  696. \in0
  697.  
  698. \f9 <\break
  699. \f9 back-space
  700.  
  701. \f8\in 1"
  702.   For native Epson characters, a back-space is sent to the Epson.
  703. For letter fonts, the next character is printed over the preceding
  704. character, and the middles of the two characters are aligned (in
  705. an attempt to deal with diacritics).
  706. The width of the combined characters is the same as that of the first
  707. character, were it to appear alone.
  708. For letter fonts, a back space should not be put after another back space.
  709. \in 0
  710.  
  711. \f9 ,\br
  712. \f9 .
  713.  
  714. \f8\in 1"
  715.   These commands do nothing.
  716. After `\f9{\\,}' subsequent blanks or tab characters (^I) are skipped
  717. over, just as after other EP commands.
  718. This is sometimes useful for indenting text in the source file
  719. without causing a break.
  720.   But after `\f9{\\.}' following blanks or tabs are not skipped over.
  721. Consequently, it can be used to terminate a preceding command
  722. when you want following blanks to be printed.
  723. \in 0
  724.  
  725.  
  726. \f8
  727. \tall{Alignment}
  728.  
  729. \f9 co-lumn            h
  730.  
  731. \f8\in 1"
  732.   Print the remainder of the current output line starting
  733. at distance \f9 {h} from the left margin. If previous text
  734. on the output line makes this impossible, the next character
  735. will be printed abutting the last, regardless of any spaces or
  736. tabs that preceded the \f9 {co-lumn} command in the text.
  737. This command prevents justification of preceding text on the
  738. output line, although following text may still be right-justified.
  739. \in 0
  740.  
  741. \f9 horizontal-fill
  742.  
  743. \f8\in 1"
  744.   This works in conjunction with the \f9{co-lumn\} or {ta-b} command to
  745. permit right adjustment of selected text to a column.
  746. The text that occurs after `\f9{\\hfil \}' and before `{\\co-lumn n}'
  747. is moved to the right so that it will end at column \f9{n}.
  748. E.g.
  749.     \\hfil     Frogs\\cl25\\hfil  10.\\cl35 15\\cl40 per peck
  750.     \\hfil      Ants\\cl25\\hfil 298.\\cl35 95\\cl40 per ton
  751.     \\hfil old shoes\\cl25\\hfil    .\\cl35 33\\cl40 each\\break
  752. \br produces
  753.     \hfil     Frogs\cl25\hfil  10.\cl35 15\cl40 per peck
  754.     \hfil      Ants\cl25\hfil 298.\cl35 95\cl40 per ton
  755.     \hfil old shoes\cl25\hfil    .\cl35 33\cl40 each
  756. \br
  757.   \f9{Hfil\} also works with a later {tb} command to specify the
  758. column. Another, probably better, way to do the above is:
  759.     \\tab-char &
  760.     \\* Set some tab stops with a template:
  761.     \\put-term\\cl 25\\tab-set\\cl 35\\tab-set\\cl 40\\tab-set
  762.     \\hf Frogs&\\hf 10.&15&per peck
  763.     \\hf Ants&\\hf 298.&95&per ton
  764.     \\hf old shoes&\\hf .&33&each\\break
  765. \br
  766.   When there is no following \f9{co-lumn\} or {ta-b} in the output
  767. line, a single \f9{hfil\} works like a {right-adjust} command,
  768. except that a break is not automatically caused after the input line.
  769. If there are two \f9{hfil\} commands, the first acts like a {center} \
  770. command, and the second like a {right-adjust} command.
  771. E.g. the following are equivalent:
  772.     Some insects\\center are hard\\right-adjust to digest
  773.     Some insects\\hfil are hard\\hfil to digest\\break
  774. \in 0
  775.  
  776. \f9 tab-set            n\br
  777. \f9 tab-set
  778.  
  779. \f8\in 1"
  780.   When a numerical argument is present, this sets
  781. tab stop \f9{n} equal to the current horizontal position
  782. of the print head.
  783. The effects of right justification are not taken into account,
  784. so you probably wouldn't want to use this command in a justified line.
  785. Also, the stops are set before any centering or right adjustment
  786. has been done.
  787.   There are 32 tab stops available numbered
  788. \f9{0} through \f9{31}. The following \f9{ta-b} command
  789. makes use of tab stop values.
  790. If \f9{n} is omitted, tab stop 0 is used for the first occurrence
  791. of this command for the current output line, stop 1 for the second,
  792. and so on.
  793. However, when \f9{n} is omitted and a previous stop was tabbed to or
  794. was set in same output line, the next stop is assumed.
  795.   When you want to use a template to set the tab stops without
  796. printing the template, you can prefix the template line with
  797. \f9{put-terminal}.
  798.   The values of the tab stops have no connection with what happens
  799. when real tab characters are found in the input text (unless it
  800. should happen that the \f9{tab-character} was set to 9).
  801. \in 0
  802.  
  803. \f9 clear-tabs
  804.  
  805. \f8\in1"
  806.   Clear all 32 tab stops.
  807. \in0
  808.  
  809. \f9 ta-b            n\br
  810. \f9 ta-b
  811.  
  812. \f8\in 1"
  813.   With a numerical argument, this means move the print head to the right to
  814. the horizontal position stored in tab
  815. stop \f9{n} (by use of the previous command).
  816. If that is impossible because the print head is already to the right
  817. of the stop, the command has no effect (other than possibly eating
  818. up some preceding white space in the attempt to get far enough to the left).
  819. Although only forward movement is allowed, if you need to go backwards,
  820. you could start a new line and use the \f9{skip-up} command to move
  821. back to the start of the line before tabbing.
  822.   If \f9{n} is omitted, tab stop 0 is used for the first occurrence
  823. of this command for the current output line, stop 1 for the second,
  824. and so on.
  825. However, when \f9{n} is omitted and a previous stop was tabbed to or
  826. was set in same output line, the next stop is assumed.
  827. Tabbing to a stop which has not yet been set has no effect on the
  828. current output line, but rather the stop is set at the current horizontal
  829. position.
  830.   An occurrence of the current \f9{tab-character} causes an
  831. implicit invocation of this command (see the next command).
  832. \in 0
  833.  
  834. \f9 tab-character        c
  835.  
  836. \f8\in1"
  837.   Sets the character which implicitly invokes the above \f9{ta-b}
  838. command.
  839. When this character occurs in the text,
  840. the effect is exactly the same as if `\f9{\\tb\\.}' had been entered --
  841. consequently no numerical argument can be given to select the tab stop,
  842. blanks occurring after the tab character are not ignored, and you
  843. won't get a tab at all if the \f9{escape-character} has been changed
  844. to something other than a back slash.
  845.   Tabs are not done in the argument lines to macro commands.
  846. In this latter context, the tab character has another meaning -- it is
  847. an argument terminator. This usage is discussed below under variables.
  848. \in0
  849.  
  850. \f9 tab-width            h    *
  851.  
  852. \f8\in 1"
  853.   Tab characters encountered in the text being processed are
  854. expanded into a space wide enough to cause the next printed
  855. character to be at the 8th, or 16th, or 24th, ..., column.
  856. These implied tab stops at every eighth column have no connection
  857. with the stops mentioned above which are set with the \f9{tab-set}
  858. command.
  859. The \f9{tab-width} command is used to adjust the width assumed
  860. for a ``column''.
  861. In the absence of instructions to the contrary, EP will assume 8 point
  862. wide columns, except when the first tab character is encountered when
  863. printing native Epson characters which are compressed, elite, or
  864. expanded. In this special case, the width of a space character is assumed
  865. as the width of a column.
  866.   Another special case occurs when \f9{\\character-width} has been
  867. used for non-proportional characters -- then a column is assumed
  868. to be one \f9{character-width} wide.
  869.   The tabbing caused by real tab characters is screen-oriented.
  870. EP judges which stop to go to according to the appearance the line
  871. must have had when the text file was being edited, so that if
  872. columns were vertically aligned using tab characters, they will still
  873. be aligned when printed.
  874. \in 0
  875.  
  876.  
  877.  
  878. \f8
  879. \tall{Rules and Lines}
  880.  
  881.   EP has two facilities for drawing straight lines: rules are only
  882. horizontal and vertical, lines are slanting.
  883.   There are 32 rules at your disposal, each of which may be used either
  884. horizontally or vertically.
  885. To print a rule, specify each of its endpoints with the \f9{rule} command.
  886. The context decides whether the rule will be horizontal or vertical --
  887. if both endpoints lie in the same output line, it will be horizontal,
  888. else vertical.
  889. An endpoint is specified with a command \f9{\\rule n\}, where {n} is
  890. the number of the rule you want to use, from 0 to 31.
  891. The endpoint is placed at the current horizontal and vertical position
  892. of the printhead, except that for the low end of a vertical rule, the
  893. horizontal position doesn't matter, since it was determined by the
  894. first endpoint. The endpoint of a vertical is 4 points up from the
  895. bottom of the character line (not counting the leading), and so is
  896. that of a horizontal, ordinarily (but see the \f9{rhpattern} command below).
  897.   A rule can be re-used after it has been completely printed, however
  898. at most two endpoints of a given rule can occur in a single output
  899. line. That is to say, for two horizontals in the same line, you'd
  900. have to use different rules, and also for a vertical ending in the
  901. same line as a horizontal.
  902.   The rules numbered 0 through 23 cannot be used in heading or footing
  903. lines, but 24 through 31 can.
  904. In fact, rules 24-31 ought to be avoided in ordinary text, unless it is clear
  905. that they will be completely printed before a page break occurs,
  906. since they could crop up unexpectedly in a heading or footing.
  907.   As is the case with tab stops, the effects of justification, centering,
  908. and right adjustment are not taken proper account of in setting the
  909. horizontal positions of rules, so you will usually want to set endpoints
  910. in lines where these adjustments to spacing are not made.
  911. However, once the upper end of a vertical rule has been established,
  912. it is extended downward in the same vertical line regardless of
  913. subsequent justification, concatenation, or changes in the margins or
  914. line length, until the rule is terminated.
  915. This means that there is no difficulty in printing justified text
  916. within ruled lines (boxes, for example).
  917.   There is one exception to what was stated in the preceding paragraph.
  918. Rule number 1, and this rule only, can be used horizontally in lines
  919. with right adjusted text, and its right endpoint will be automatically
  920. adjusted so that it comes just before the text after right adjustment.
  921. The right adjustment may be that produced by the \f9{right-adjust}
  922. command or the \f9{horizontal-fill} command.
  923. This allows, e.g., filling the space before page numbers in a typical
  924. index or table of contents with a rule (which can be configured as
  925. aligned leadering -- see \f9{\\rule-hpattern} below).
  926.   EP does not regard rules as characters, and seems to be under the
  927. impression that they have no width or length.
  928. No precaution is taken to prevent rules from being drawn over
  929. text or over each other. Or, to put that another way, you are allowed
  930. to draw rules over text or other rules, if you choose.
  931.  
  932.   Lines are similar to rules, except that they may slant.
  933. To do lines, the FX-80 is required, since its reverse linefeed feature
  934. is made use of.
  935. A line is characterized by setting its endpoints with the \f9{\\node}
  936. command, then issuing the \f9{\\draw} command to actually do the
  937. drawing.
  938. The vertical position of the endpoint will be set at the top of the
  939. current character line.
  940. There are 32 lines available.
  941. The horizontal position of the print carriage for the second ``node''
  942. does matter, since this will determine how the line slants.
  943. Horizontal lines cannot be done, and lines look the worse the more
  944. closely they approach the horizontal.
  945.  
  946. \f9 rule            n
  947.  
  948. \f8\in1"
  949.   Establish endpoint of rule number \f9{n} (see above discussion).
  950. \in0
  951.  
  952. \f9 rule-hpattern        n    *
  953.  
  954. \f8\in1"
  955.   Establish which of the top 8 pins of the printhead are to be used
  956. in drawing horizontal rules, and select certain other options.
  957. \f9{n} is a 16 bit word value whose low order byte selects some
  958. combination of pins.
  959. The 8th bit triggers the top pin, the 7th
  960. bit, the next pin down, etc.
  961. The default value of 16 uses the 4th pin down, and this will align
  962. the endpoints of horizontal and vertical rules (to within 1/108",
  963. at least).
  964. Various sums of powers of 2 can be used for solid bars or double lines,
  965. underlines or overlines.
  966.   The high order byte is used to flag a couple of special options
  967. and to mask out parts of the rule to obtain various sorts of leadering.
  968. The 9th bit (add 256 to \f9{n}) causes rules to be drawn on all three
  969. passes of the print head (instead of just the second pass).
  970. The 10th bit (add 512 to \f9{n}) does not affect horizontal rules,
  971. but rather prevents the tops and bottoms of vertical rules from being drawn.
  972.   The 11th-16th bits (add 1024, 2048, 4096, 8192, 16384, or 32768 to \f9{n})
  973. cause parts of the rule to be omitted. When a matching bit in the
  974. address of a potential rule dot is `1', no dot is placed there.
  975. Well, it's a little hard to explain.
  976. But adding 4096, e.g., produces 1/30" dashes, and adding 2048 + 4096 + 8192
  977. gives dots spaced at about 1/8".
  978. When such ``leadering'' rules are used in successive lines, the dots
  979. or dashes are vertically aligned.
  980.   Here is an example of what the commands for constructing an index
  981. might look like:
  982.     \\rule-hpattern = 4 + 2048 + 4096
  983.     asparagus \\rule\\rule\\right-adjust 69
  984.     broccoli \\rule\\rule\\right-adjust\\italic see pig-swill
  985.     tips \\rule\\rule\\right-adjust\\italic see asparagus
  986. \in0
  987.  
  988. \f9 rule-vpattern        n    *
  989.  
  990. \f8\in1"
  991.   Establish the thickness of vertical rules.
  992. \f9{n} = 0 gives a thin rule one dot wide -- higher values give
  993. a width of \f9{n} + 1, to a maximum of \f9{n} = 255.
  994. \in0
  995.  
  996. \f9 node            n
  997.  
  998. \f8\in1"
  999.   Establish endpoint of line number \f9{n} (see above discussion).
  1000. \in0
  1001.  
  1002. \f9 draw                *
  1003.  
  1004. \f8\in1"
  1005.   Initiate the drawing of lines after all endpoints have been
  1006. set using the above \f9{\\node} command.
  1007. \in0
  1008.  
  1009.  
  1010. \f8
  1011. \tall{Paragraphs}
  1012.  
  1013.   Either an empty line in the input file or the \f9{pp} command
  1014. signals the beginning of a paragraph. The next input line that
  1015. has printing characters begins the first line of the paragraph.
  1016. The following commands control what action EP takes when it
  1017. encounters the beginning of a new paragraph.
  1018.  
  1019. \f9 paragraph-indent        h    *
  1020.  
  1021. \f8\in 1"
  1022.   Indent the first line of each paragraph by \f9{h.}
  1023. Note that this indentation can be cancelled for a heading by
  1024. using the \f9{left-adjust} command.
  1025. \in 0
  1026.  
  1027. \f9 hanging-indent        h    *
  1028.  
  1029. \f8\in 1"
  1030.   Indent all but the first line of each paragraph by \f9{h.}
  1031. This is handy for offsetting items in lists of
  1032. bibliographic references.
  1033. \in 0
  1034.  
  1035. \f9 paragraph-skip        v
  1036.  
  1037. \f8\in 1"
  1038.   Move down by \f9{v} at the beginning of each new paragraph.
  1039. It is sometimes convenient to set this value to 0, so that empty
  1040. line in the input file can be used to signal the beginnings of new
  1041. paragraphs, without actually leaving any vertical space in the
  1042. printout.
  1043. (Default is 10 points.)
  1044. \in 0
  1045.  
  1046. \f9 pp                *
  1047.  
  1048. \f8\in 1"
  1049.   Start a new paragraph.
  1050. \in 0
  1051.  
  1052. \f9 widow            v
  1053.  
  1054. \f8\in 1"
  1055.   Sets the vertical distance which must remain above the bottom
  1056. margin when the first line of a paragraph is printed.
  1057. If there is not enough room, a new page is started.
  1058.   Although this command can help avoid the unpleasantness of the
  1059. first line of a paragraph appearing alone at the bottom of a page,
  1060. it does not help with the other kind of ``widow'' -- the last
  1061. line of a paragraph appearing alone at the top of a page.
  1062. (Default is 20 points, which is 2 default line heights.)
  1063. \in 0
  1064.  
  1065.  
  1066. \f8
  1067. \tall{Print Mode}
  1068.  
  1069.   The manner in which characters are printed is determined by
  1070. the print mode. There are 14,465 distinct print modes, each invoked by
  1071. some combination of the following 14 commands.
  1072. The \font 2 {proportional} command affects only native Epson
  1073. characters; the next nine commands
  1074. (\f9 {elite\} through {under-line}), together with {font} and {if},
  1075. affect both Epson characters and letter characters; the
  1076. commands \f9 {tall\} and {bend} concern only letter font characters.
  1077. For Epson characters, not all combinations of commands give
  1078. distinct modes -- for details see
  1079. the Epson manual.
  1080.   The use of blocks is optional, but
  1081. for the most part, the most convenient way to use these commands
  1082. is in the form: `\f9 {\\command block\}', where {block} is a
  1083. portion of text surrounded by braces. The braces are not printed,
  1084. and only the text they enclose is affected by the command. The left
  1085. brace that begins a text block must follow the command on the
  1086. same input line, but the closing right brace can occur anywhere later
  1087. in the file, or not at all, for that matter. So a text block can
  1088. consist of nothing, a single character, or any amount of text up to
  1089. the entire remainder of the file. Blocks may occur inside blocks,
  1090. to a maximum nesting level of 59 (but only 6 in multiple column mode).
  1091.   Any print mode commands issued within a text block have no effect
  1092. outside that block.
  1093.   A numerical argument of 0 or 1 corresponding to the \f9 {b} in
  1094. the following list is usually unnecessary when blocks are used,
  1095. since 1, or ``on'' is assumed.
  1096. But it may sometimes be convenient to use a 0 to give
  1097. the command a negative sense -- that is, to turn a mode off for
  1098. a block of text.
  1099.   Fonts may be configured using ECHED so that a special print mode
  1100. is automatically invoked for any character from that font.
  1101.  
  1102. \f9 proportional        b    block
  1103. \f8\in1"
  1104.   Gives proportional Epson characters on the FX-80.
  1105. \in0
  1106.  
  1107. \f9 elite            b    block
  1108. \f8\in1"
  1109.   Elite Epson characters on the FX-80, and letter font characters
  1110. compressed to 4/5ths normal width.
  1111. \in0
  1112.  
  1113. \f9 com-pressed            b    block
  1114. \f8\in1"
  1115.   Compressed Epson characters, and letter font character compressed
  1116. to 1/2 normal width.
  1117. \in0
  1118.  
  1119. \f9 emphasized            b    block
  1120. \f8\in1"
  1121.   Shadow printed characters. Letter font characters may be printed
  1122. more than twice and spaced further apart with the \f9{bold} command.
  1123. \in0
  1124.  
  1125. \f9 double-strike        b    block
  1126. \f8\in1"
  1127.   Equivalent effect for Epson and letter font characters.
  1128. \in0
  1129.  
  1130. \f9 expanded            b    block
  1131. \f8\in1"
  1132.   Equivalent effect for Epson and letter font characters.
  1133. \in0
  1134.  
  1135. \f9 italic            b    block
  1136. \f8\in1"
  1137.   Gives slanted or oblique characters (not really italic) for
  1138. Epson and letter font characters.
  1139. For the latter, the dots defining the character shape are displaced
  1140. to the right by 8/216" at the top of the character and varying down
  1141. to no displacement at the bottom.
  1142. When a slanted character is followed by a normal one or comes at
  1143. the end of the line, EP makes the italic character wider by 8 dots
  1144. to compensate for the displacement.
  1145. \in0
  1146.  
  1147. \f9 su-perscript        b    block
  1148. \f8\in1"
  1149.   Equivalent effect for Epson and letter font characters.
  1150. \in0
  1151.  
  1152. \f9 su-bscript            b    block
  1153. \f8\in1"
  1154.   Equivalent effect for Epson and letter font characters.
  1155. Letter font characters which are simultaneously subscripted and
  1156. superscripted are placed vertically in the middle of the line.
  1157. \in0
  1158.  
  1159. \f9 under-line            b    block
  1160. \f8\in1"
  1161.   Underlined Epson characters and letter font characters.
  1162. For justified text in native Epson characters, proportional inter-word
  1163. spaces are underlined only on the FX-80.
  1164. Underlining for letter font characters is broken off around the
  1165. descenders of characters. 
  1166. \in0
  1167.  
  1168.  
  1169. \f9 font            file-name    block\break
  1170. \f9 font            n        block\break
  1171. \f9 f0,f1,f2,f3,f4,f5,f6,f7,f8,f9
  1172.  
  1173. \f8\in 1"
  1174.   An argument of \f9 {n} = 0 requests native Epson characters;
  1175. the other forms of this command request a letter font either by
  1176. name or number. If a number is used, this requests the \f9 {n}th
  1177. font that was previously requested by name. Ordinarily the highest value
  1178. for \f9{n\} is 7 (but see the {attach} command below).
  1179. If fewer than \f9{n\} letter fonts have been requested, then {n}
  1180. is automatically decreased until one can be found.
  1181.   The commands \f9{f0,f1,...f9} are just short forms for
  1182. \f9{font 0, font1, ... font 9}. In the short form, the 'f' must be
  1183. lower case.
  1184.   A file-name may have a drive prefix, and names with hyphens are
  1185. abbreviated by extracting the first few letters from each of the
  1186. parts of the compound.
  1187.   Instead of a file name, `$' followed by a number can be used. Then
  1188. the file name is obtained from the command line that was typed when
  1189. EP was called up. The number specifies which of the list of names that
  1190. were given to use. E.g. after
  1191.     A>ep sample chapter-one chapter-two lydian-italic\br
  1192. if the file `sample' has the command \f9{\\font $3}, this would
  1193. act the same as the command \f9{\\font lydian-italic}.
  1194. When there was no \f9{n}th name listed, the command is ignored.
  1195. \in 0
  1196.  
  1197. \f9 graphics-font        file-name    block
  1198.  
  1199. \f8\in1"
  1200.   This is the same in many ways as the \f9{font} command described
  1201. above, but the file loaded is really not a font, but a graph
  1202. masquerading as a font. The font numbers associated with a graphics
  1203. font are not distinct from those associated with normal fonts.
  1204.   The command is intended for the ``bit-image'' files produced
  1205. by Fox & Geller's dGraph, and the file extension is assumed to be `.BTP'.
  1206. The format of these files is that of an array of 40 by 450 bytes,
  1207. where the first 450 bytes if sent to the Epson in graphics mode
  1208. produce the top 1/40th of the graph, and so on.
  1209. In a ``font'' loaded with this command, the 40 characters starting
  1210. with `@' and ending with `g' contain the 40 rows of the graph, and
  1211. each is 450 dots wide.
  1212. The advantage of this seemingly odd way of imbedding pictures is
  1213. that since EP sees the graph as 40 characters, all the normally
  1214. available indentation and print mode modifications are available,
  1215. and sub-portions of the graph can be selected.
  1216. Also, text can easily be added at either side, or even superimposed
  1217. with over-printed lines.
  1218.   Here is an example set of commands for loading and displaying
  1219. a file `sample1.btp' on drive B:
  1220. \co0\ju0\rb
  1221. \\rb
  1222. \\graphics-font b:sample1\\expanded\\leading 0
  1223. @\\br A\\br B\\br C\\br D\\br E\\br F\\br G\\br H\\br I\\br
  1224. J\\br K\\br L\\br M\\br N\\br O\\br P\\br Q\\br R\\br S\\br
  1225. T\\br U\\br V\\br W\\br X\\br Y\\br Z\\br [\\br\\\\\\br ]\\br
  1226. ^\\br _\\br `\\br a\\br b\\br c\\br d\\br e\\br f\\br g\\br
  1227. \\leading 2\\expanded 0\\rb _
  1228. \co\ju\rb _
  1229.   The above gives a graph with compression to 1/2 the width it
  1230. would have had if printed by dGraph.
  1231. If you don't want any compression, you could add `\f9{\\stretch}',
  1232. or the vertical size could be reduced by half by adding
  1233. `\f9{\\su-perscript\\character-height 4p}'.
  1234. Of course, compression in one direction should be matched by
  1235. compression in the other, if pies are not to look like eggs.
  1236.   Instead of the list of characters, the above could have been
  1237. written more economically, using:
  1238.     \\xg 64\\rept-line 40\\(xg)\\xg+\\break
  1239.  
  1240.   A .BTP file uses lots of memory, and there is not enough room
  1241. to hold two of them in memory at once.
  1242. Although printing two graphs side-by-side ought to be possible by
  1243. repeated reloading from disk, in fact EP's memory allocation scheme is
  1244. not up to the strain, so you can't do this.
  1245. It might be good to precede and follow the loading of a graph with
  1246. the `\f9{new-fonts}' command to avoid running out of available ram.
  1247. \in0
  1248.  
  1249. \f9 if    expression        block\br
  1250. \f9 if    expression        line
  1251.  
  1252. \f8\in 1"
  1253.   When \f9 {b} or the value of the \f9{expression}
  1254. is 0, the block is not printed, otherwise it is.
  1255. In fact, when the value is 0, the block is merely scanned to find
  1256. the matching `}' that ends the block, so it is safe to make reference to files
  1257. inside the block which are not accessible when the if-condition
  1258. does not hold true.
  1259.   An interesting construct for making braces into comment
  1260. enclosers is:
  1261.     \\use-braces\\if 0{\\}
  1262.   In the second form of this command, the \f9{line} argument is
  1263. not printed when the value of \f9{expression} is 0, as you would
  1264. expect.
  1265. This form does not have anything to do with the print mode, and should
  1266. not be used in macros.
  1267. Allowing this variant syntax after \f9{if} is convenient, but perilous.
  1268. Other print mode commands can be used in the form ``\\{\\command ...}''
  1269. in order to confine the effect of the command to the text in the ``...''
  1270. part.
  1271. Doing this with the \f9{if} command creates the following situation:
  1272. when the if-condition does not hold, the remainder of the line is not
  1273. examined, so the ending right brace is not seen.
  1274. Consequently, there will be an active left brace and associated print
  1275. mode left in the air, ready to pounce on the next unmatched right
  1276. brace found in the text.
  1277. Since braces are usually matched, one might misuse the \f9{if} command
  1278. in this way for a long time without noticing any ill effects.
  1279. But on the day of reckoning, it might prove very difficult to figure
  1280. out what was going wrong.
  1281. \in 0
  1282.  
  1283. \f9 tall            b    block
  1284.  
  1285. \f8\in 1"
  1286.   Ordinarily doubles characters in height -- from 8 points to 16 points.
  1287. However the height may be modified by changing \f9 {character-height.}
  1288. \in 0
  1289.  
  1290. \f9 bend                block
  1291.  
  1292. \f8\in 1"
  1293.   Causes some dots in the dot pattern of characters to be displaced
  1294. to the right. The effect, if any, will be determined by what numerical
  1295. value has been assigned to \f9 {bend} (see below).
  1296. Note that this usage of \f9{bend} without a numerical argument does
  1297. not cause a break and does cause bending, whereas with a numerical
  1298. argument there is a break, but no bending.
  1299. (Sorry, but there is a reason.)
  1300. \in 0
  1301.  
  1302.  
  1303. \f8
  1304. \tall{Auxiliary Print Mode}
  1305.  
  1306. \f9
  1307. {
  1308. \f8\in 1"
  1309.   Begins an unspecified text block. Any mode commands issued within
  1310. the block will all be terminated when the block ends.
  1311. \in 0
  1312.  
  1313. \f9
  1314. }
  1315. \f8\in 1"
  1316.   This terminates a text block just like the right brace that is not
  1317. a command, but has the additional effect of reinitiating the mode
  1318. that was terminated for subsequent text blocks on the
  1319. same input line of text, so long as these are not associated
  1320. with some other mode command.
  1321. \under-line {For\} {instance}, {in} {this} {sentence} {the}\
  1322.  {underlining} {of} {spaces} {and} {punctuation} {was} {avoided}\
  1323.  {by} {entering} {the} {following}.
  1324. \ju 0
  1325.  \\under-line {For\\} {instance}, {in} {this} {sentence} {the}\\
  1326.  {underlining} {of} {spaces} {and} {punctuation} {was} {avoided}\\
  1327.  {by} {entering} {the} {following}.
  1328. \ju
  1329.   A text block that is ``linked'' to a preceding one in this way
  1330. can be nested within another text block. E.g.
  1331.     \\em{\\it0 roses\\} are \\it{not {always} predatory}
  1332. \br
  1333. prints ``always'' as emphasized and non-italic, the same as ``roses''.
  1334. \in 0
  1335.  
  1336. \f9 use-braces        b
  1337.  
  1338. \f8\in 1"
  1339.   This extends the scope of the convention associated with the
  1340. right brace command discussed above.
  1341. When \f9{use-braces} is true, the mode stored with the right
  1342. brace command is re-established throughout the entire remaining
  1343. text whenever a left brace not following a print mode command
  1344. is encountered.
  1345. Or at least, that is, until after an input line in which
  1346. \f9{use-braces} is reset to 0.
  1347. This is useful for those situations when you have a text requiring
  1348. only 2 print modes, or primarily 2, and you don't want to clutter
  1349. up the text with commands, but the cost is that it becomes difficult
  1350. to print a left brace.
  1351. \in 0
  1352.  
  1353. \f9 bold            n    *
  1354.  
  1355. \f8\in 1"
  1356.   A non-zero value assigned to
  1357. \f9 {bold\} modifies the effect of the {emphasized} command.
  1358. A value of 1 causes two extra dots of width to be added to each
  1359. emphasized character. Higher values widen emphasized characters
  1360. by \f9 {n\} * 2 dots and ``shadow print'' each character {n} - 1 times.
  1361. \in 0
  1362.  
  1363. \f9 bend            n    *
  1364.  
  1365. \f8\in 1"
  1366.   The value assigned to
  1367. \f9 {bend\} modifies the effect of the {bend} command when given
  1368. without a numerical argument. A value of zero causes there to be no
  1369. effect. Values of 1 through 2047 invoke various sorts of slanting or
  1370. other distortion of the characters. 1 to 15 give forward slanting,
  1371. multiples of 16 (1*16 to 15*16) give backward slanting,
  1372. and multiples of 256 (1*256 to 7*256) give miscellaneous effects.
  1373. Adding 4096 produces a sort of medieval effect with some fonts.
  1374. Adding 8192 turns characters upside down.
  1375.   The selected effects are compounded and are in addition to
  1376. italicization, if that is also requested.
  1377. When a bent character is followed by a normal one or comes at
  1378. the end of the line, EP makes it wider
  1379. to compensate for the horizontal displacement.
  1380. \in 0
  1381.  
  1382. \f9 attach\break
  1383. \f9 attach            n
  1384.  
  1385. \f8\in 1"
  1386.   Associate kerning or print mode information with a font.
  1387. When a \f9{$kernpairs\} string is defined and no {n} argument is given,
  1388. the action is as described above in the description of the
  1389. \f9{$kernpairs} command.
  1390.   Otherwise, this modifies the effect of the \f9 {font} command,
  1391. described above.
  1392. The current print mode is attached to the current font, or to
  1393. font number \f9 {n} if an argument is given, so that when the font
  1394. is subsequently requested, the print mode will be automatically
  1395. reinvoked. The value of \f9 {n} may be from 0 to 31, however
  1396. the use of values less than 8 might be confusing, since the
  1397. association between font names and fonts could change. The use of
  1398. a number greater than 7 with the \f9 {font} command is
  1399. permitted only when a print mode has previously been attached to this
  1400. font number.
  1401.   Font 0 cannot have the ``pica'' print mode attached to it.
  1402. \in 0
  1403.  
  1404. \f9 upper-case    n
  1405.  
  1406. \f8\in 1"
  1407.   If \f9{n} is not 0, shifts subsequent text to upper case.
  1408. \in 0
  1409.  
  1410.  
  1411. \f8
  1412. \tall{Control}
  1413.  
  1414.  
  1415. \f9 imbed        file-name
  1416.  
  1417. \f8\in 1"
  1418.   After the current input line has has been processed, text will be
  1419. taken from the named file until it is exhausted, then the line after
  1420. the \f9 {imbed\} command is processed, and so on. The {imbed} command
  1421. can occur within an imbedded file. The maximum permitted level of
  1422. nesting is 7.
  1423.   The file name may have a drive prefix (see also the next commands).
  1424. Names with hyphens are condensed in the same way as font file names are.
  1425.   Instead of a file name, `$' followed by a number can be used. Then
  1426. the file name is obtained from the command line that was typed when
  1427. EP was called up. The number specifies which of the list of names that
  1428. were given to use. E.g. after
  1429.     A>ep sample chapter-one chapter-two chapter-three\br
  1430. if the file `sample' has the command \f9{\\imbed $2}, this would
  1431. cause the file CHAPTWO to be imbedded.
  1432.   The combination of a drive prefix with a command-line argument
  1433. is allowed -- e.g. ``b:$1''.
  1434. \in 0
  1435.  
  1436. \f9 disk            n
  1437.  
  1438. \f8\in 1"
  1439.   Controls what drive font files and embedded text files are looked for
  1440. on, in case no drive prefix is given.
  1441. Use 0 for the default drive, 1 for drive A, 2 for B, etc.
  1442. \in 0
  1443.  
  1444. \f9 user            n
  1445.  
  1446. \f8\in 1"
  1447.   Controls what user area font files and embedded text files are looked for in.
  1448. Use 0 for the default user area, 1 for user area 1, etc. (up to 31).
  1449. There is no provision for accessing user 0 if this is not the default.
  1450. When file names have drive prefixes, the default user area is always assumed.
  1451. \in 0
  1452.  
  1453. \f9 beginning-page        n\break
  1454. \f9 ending-page            n
  1455.  
  1456. \f8\in 1"
  1457.   Disables printing when the current \f9{page-number} is before
  1458. the \f9{beginning-page\} or after the {ending-page,} unless the latter
  1459. is 0, which is taken to mean ``print all the way to the end.''
  1460. The page number is checked before printing each line to see if it is
  1461. still in range, so any ranges of lines can be selectively printed
  1462. by strategically re-assigning values with these commands.
  1463. \in 0
  1464.  
  1465. \f9 error            n    line
  1466.  
  1467. \f8\in 1"
  1468.   Causes fatal error (as if you didn't make enough mistakes already).
  1469. \f9{line} (which is not interpreted) is the message reported by EPERROR.
  1470. \in 0
  1471.  
  1472. \f9 save            n    *
  1473.  
  1474. \f8\in 1"
  1475.   Causes the numeric values of
  1476. of system variables to be saved in a disk file named EP.IN<digit>
  1477. on the default drive and user area, where
  1478. <digit> is the argument \f9 {n}, which must be from 1 to 9.
  1479. The values can be restored later with the \f9 {restore} command below.
  1480. If the regular initialization file is disposed of, the saved disk
  1481. file can be renamed EP.INI, so that it will be read automatically
  1482. whenever EP is executed. In this way the default values for the
  1483. initial print mode,
  1484. \f9 {mx\}, {adjust}, {line-length}, etc. can be changed.
  1485. \in 0
  1486.  
  1487. \f9 restore            n    *
  1488.  
  1489. \f8\in 1"
  1490.   Causes the numeric values of
  1491. of system variables to be reset, taking the values from the
  1492. data in a disk file named EP.IN<digit>
  1493. on the default drive and user area, where
  1494. <digit> is the argument \f9 {n}, which must be from 1 to 9.
  1495. \in 0
  1496.  
  1497. \f9 new-fonts                *
  1498.  
  1499. \f8\in 1"
  1500.   Causes all font names, font data, and font attachments to be
  1501. forgotten. This is intended for situations in which the limitation
  1502. to only 7 letter fonts in one line or paragraph becomes troublesome.
  1503. The limitation is still there, but this command frees up all font
  1504. numbers for re-use, so that the fonts to be combined can be freely chosen.
  1505. \in 0
  1506.  
  1507. \f9 mx                b
  1508.  
  1509. \f8\in 1"
  1510.   Use MX-80 compatible letter and print mode commands.
  1511. Causes very small loss in character resolution.
  1512. \in 0
  1513.  
  1514. \f9 fast            b
  1515.  
  1516. \f8\in 1"
  1517.   Use draft mode, with one pass of the print head for each 8 point
  1518. high line. For the FX-80, employs high speed double-density graphics.
  1519. \in 0
  1520.  
  1521. \f9 high-resolution        b
  1522.  
  1523. \f8\in 1"
  1524.   Use high resolution mode, with six passes of the
  1525. print head for each 8 point high line (normal is three passes).
  1526. Available for the FX-80 only.
  1527. The improvement in resolution ranges from indiscernable to small.
  1528. \in 0
  1529.  
  1530. \f9 quiet-console        b
  1531.  
  1532. \f8\in 1"
  1533.   Suppresses the echoing to the terminal of the text that is being
  1534. formatted and printed.
  1535. \in 0
  1536.  
  1537. \f9 put-terminal        b    line
  1538.  
  1539. \f8\in 1"
  1540.   The \f9{line} is evaluated and displayed at the terminal (regardless
  1541. of the value of \f9{quiet-console}), but is not printed.
  1542. A CR-LF is also sent after displaying the line.
  1543. However, if the line contains a `\f9{\\pt 0}' command, then only the
  1544. part of the line before this is sent, there is no CR-LF, and the
  1545. remainder of the line is processed normally.
  1546. \in 0
  1547.  
  1548. \f9 get-terminal
  1549.  
  1550. \f8\in 1"
  1551.   A line is obtained from the console and appended to the end of
  1552. the current input line, with a blank separating the two.
  1553.   This command can be used to fill the value of a string variable.
  1554. Consider this sequence of commands:
  1555.     \\put-term What cheer? \\put-term 0
  1556.     \\get-term\\c$
  1557. \br
  1558. Suppose the user types in: ``rah, rah, rah!!'' (without the quotes).
  1559. Then the value of \f9{c$} will be `rah, rah, rah!!' -- the added blank
  1560. mentioned above is not part of the string, because all blanks following
  1561. EP commands are scanned over and discarded.
  1562. (Had the blank not been added, EP would think the first `rah' was part
  1563. of the name of the string variable, ``c$rah''.)
  1564.   Note that `\f9{\\c$\\get-term\}' would place the {\\get-term} in \
  1565. the string {c$,} and no console input would be sought until
  1566. the string was evaluated. And at that time the line from the console would
  1567. be appended to the then current input line, not the string.
  1568. \in 0
  1569.  
  1570. \f9 pause
  1571.  
  1572. \f8\in 1"
  1573.   Causes EP to wait for a character to be typed at the console.
  1574. One use of this is to put it at the beginning of a \f9{$heading}
  1575. line, to give time to insert another sheet of paper.
  1576. \in 0
  1577.  
  1578. \f9 escape-character        c
  1579.  
  1580. \f8\in 1"
  1581.   Replaces `\\' or whatever the current escape character is, with
  1582. a new character, which will subsequently be taken to introduce
  1583. embedded EP commands. If no character follows on the input line,
  1584. the facility to recognize embedded commands is disabled for the
  1585. rest of the file being processed.
  1586. \in 0
  1587.  
  1588. \f9 dot-character        c
  1589.  
  1590. \f8\in 1"
  1591.   Replaces the character which is regarded as equivalent to the
  1592. escape character when occurring at the beginning of an input line.
  1593. If no character follows, no character will be so regarded.
  1594. (The default is `.'.)
  1595. \in 0
  1596.  
  1597. \f9 *
  1598.  
  1599. \f8\in 1"
  1600.   Causes the remainder of the input line to be ignored. This is
  1601. intended for comments. It is also used at the end of heading and
  1602. footing line definitions to end the processing of headings and
  1603. footings at a page break.
  1604. If this command is placed in other defined strings, not only will
  1605. the remainder of the string be ignored, but also the remainder
  1606. of the current line from the input text file.
  1607.   Comment lines cannot be continued by terminating them with a `\\'.
  1608. \in 0
  1609.  
  1610. \f9 com-mentchar        c
  1611.  
  1612. \f8\in 1"
  1613.   Replaces the character which is equivalent to the above \f9{*}
  1614. command when this character occurs at the beginning of an input line.
  1615. The default is ^F, which is the character which introduces embedded
  1616. format strings under Phoenix Software's text editor `Pmate'.
  1617. If no character follows, no character will be so regarded.
  1618. \in 0
  1619.  
  1620.  
  1621. \f8
  1622. \tall{Multiple Columns}
  1623.  
  1624.   The multiple column facility is probably not usable for running
  1625. text without the use of the preprocessing program EPMC. It may be of
  1626. direct use for some simple charts.
  1627.   After setting the \f9 {gutter} width between columns, multiple
  1628. column printing begins when the \f9 {numberof-columns} is set to
  1629. some value greater than 1 and ends when it is set to a value less
  1630. than 2. In multiple column mode, output lines are distributed among
  1631. the columns as text is processed moving downward in the file.
  1632. Concatenation is not done in this mode, so an `output line' here
  1633. is the same as an input line with some printable text on it (i.e.
  1634. not consisting entirely of commands). 
  1635. The first output line will go in the first column, the next in the
  1636. second, and so on until each column has a line, then the next line
  1637. will be the second line of the first column, etc. Thus what reads
  1638. downward in the text file will read across the columns. (The
  1639. preprocessor EPMC allows concatenation and changes things so
  1640. that text will read down the columns.)
  1641.   The sense of some commands is reoriented toward the output column.
  1642. This inludes the Line Format commands
  1643. \f9 {justify, center, right-adjust, co-lumn,} indentation commands,
  1644. and all Print Mode commands.
  1645. For instance,
  1646. the \f9 {center} command will center text within an output column,
  1647. and the \f9 {italic} command will italicize text only within
  1648. one output column (unless it is issued before initiating multiple
  1649. column mode). Text blocks, also, run down the columns, and must
  1650. be entirely contained within a single column. 
  1651.   Aside from these special considerations,
  1652. it's all very strightforward.
  1653. (For a somewhat more lucid account, see EPUSE.DOC).
  1654.  
  1655. \f9 gutter            h    *
  1656.  
  1657. \f8\in 1"
  1658.   Sets the space to be left between columns.
  1659. \in 0
  1660.  
  1661. \f9 numberof-columns        n    *
  1662.  
  1663. \f8\in 1"
  1664.   Sets the number of columns. The width of each column will be
  1665. the \f9 {line-length\} plus the {gutter} width, divided by
  1666. the number of columns requested, minus the \f9 {gutter}.
  1667. The maximum allowable number of columns is 9.
  1668. \in 0
  1669.  
  1670. \f9 current-column        n    *
  1671.  
  1672. \f8\in 1"
  1673.   This is the number of the column into which the output line
  1674. currently being processed will be placed. The value should probably
  1675. not be changed, but it might be useful to refer to (see Variables
  1676. below).
  1677. The value is 0 when multiple column printing is not in effect.
  1678. \in 0
  1679.  
  1680. \f8
  1681. \tall{Variables}
  1682.  
  1683.   EP has string variables, and numeric variables. If one of the
  1684. two defining letters of the command is a `$', it's a string, otherwise
  1685. it's a numeric variable. A string variable is assigned a value by
  1686. giving the corresponding command followed on the same line by the
  1687. desired string value. E.g.
  1688.     \\g$ gophers and weasels
  1689. \br assigns `gophers and weasels' to the string variable `g$'.
  1690. The string can be incorporated into the text and printed with the
  1691. `=' command, described below (in this case `\\=g$' would be replaced
  1692. by the string value). Additionally, for string variables whose
  1693. second defining character is a `$' there is a short form reference
  1694. consisting of the escape character, and the first defining letter in
  1695. lower case. E.g. after the above example,
  1696.     I watch \\g \\blank on holidays.\br
  1697. would print `I watch gophers and weasels on holidays.'
  1698. In fact, there's an even shorter form available when the first defining
  1699. character is any of the letters `a' through `y', other than `i',`j',
  1700. or `m'. Then you can just use the corresponding control character; but
  1701. in this case no following characters are skipped over. E.g.
  1702.     I watch ^G on holidays.\br
  1703. where the `^G' is the control character 07H.
  1704.   Strings are not evaluated when they are stored, but evaluated,
  1705. formatted, and printed each time they are referred to. They may
  1706. contain EP commands, including references to other strings (or
  1707. themselves). 40 levels of nesting of string references are permitted.
  1708.   Of the 53 possible distinct string variables, all are free for
  1709. use except for 4, which have special predefined meanings. Three of
  1710. these, \f9{$heading, $footing,\} and {$kernpairs}
  1711. were described above.
  1712. The fourth is `$$'. When `\\=$$' (or `\\$' for short) occurs in a string,
  1713. this refers to the remainder of the line (or string) which occurs after
  1714. the string reference.
  1715. This is intended to allow a restricted form of argument passing to macros.
  1716. The argument to a macro must not itself contain string references or comments.
  1717.   E.g. the following defines and uses a macro that causes a paragraph
  1718. break and centers and emphasizes a line:
  1719.     \\$section\\pp\\emphasize{\\=$$}
  1720.      ...
  1721.     \\=$section Section One.
  1722. \break
  1723.   There may be several argument references in a macro, just so long as
  1724. the argument string comes from the input text file (not another macro).
  1725. In this event, each successive reference is replaced by the next input
  1726. line from the file. However a string argument to a macro need not
  1727. necessarily extend all the way to the end of the input line --
  1728. it can be terminated early by the currently defined \f9{tab-character}.
  1729. This latter option for terminating an argument is convenient for passing
  1730. multiple arguments to a macro, since now multiple argument references
  1731. in the macro can refer to the parts of the input line between tab
  1732. characters. Here is an example of a macro which places its 4 arguments
  1733. into columns, emphasizing text in the first column and italicizing that
  1734. in the last:
  1735.     \\tab-char :
  1736.     \\k$ \\br\\cl 10\\emph{\\$}\\cl 20\\$\\cl 30\\$\\cl 40\\ital{\\$}\\br
  1737.      ...
  1738.     \\k Bees:page 10:fig. 2:contortions of
  1739.     \\k Roses:page 223:table 5:immersions
  1740.  
  1741.  
  1742.   As is the case generally, a ``line'' may be extended to several input
  1743. lines by ending all but the last with a `\\', so there is no limit other
  1744. than available memory to the length of strings or to the arguments
  1745. that can be passed using the above convention. However, the space used
  1746. to store a string is never reclaimed, and strings compete with fonts
  1747. for memory space.
  1748.  
  1749.   In place of a numerical argument for any EP commands,
  1750. there may appear an `\f9 {=}' followed by an expression.
  1751. A simple term of an expression is either a number (or fraction),
  1752. a numeric variable, or a string variable.
  1753. A numeric variable is an EP command-word whose
  1754. value will be that of the system variable associated with this
  1755. command. Every combination of two alphabetic letters defines a
  1756. system variable, and any that happen not to be used by EP are
  1757. free to have values stored in them and later referred to, or printed
  1758. using the \f9{=} command described below, as may be convenient.
  1759.   String variables in expressions are generally not meaningful
  1760. and should be avoided. However, there are 3 contexts
  1761. in which a string variable in an expression has an interpretation:
  1762.   (1) When a string variable follows the `=', this creates a new string
  1763. variable whose value can be accessed without the following `='
  1764. command. E.g.
  1765.     \\$section\\pp\\emphasize{\\=$$}
  1766.      ...
  1767.     \\xs = $section
  1768.      ...
  1769.     \\xs Section One.
  1770. Thus new commands can be created which have the appearance of predefined
  1771. ones.
  1772. Once set, the value of such string variables cannot be changed.
  1773. (In general, attempts to redefine the predefined commands will
  1774. not work well, but it is not illegal to try.)
  1775.   (2) \f9{\\if} followed by a string variable means ``if this string
  1776. has been defined''.
  1777.   (3) A parenthesized expression involving a string variable refers
  1778. to the numeric value of a character at the address which is the value
  1779. of the expression. The value of the string variable itself is the
  1780. address of the beginning of the string. So if \f9{a$} is defined
  1781. as the string `ABCD', the value of \f9{(a$+1)} is 66.
  1782. Furthermore, such a parenthesized expression is a valid EP command which
  1783. requests that the character with this ascii number be printed.
  1784. In this example, \f9{\\(a$+1)} prints a `B'.
  1785.  
  1786.  
  1787. \f9 =        command-word
  1788.  
  1789. \f8\in 1"
  1790.   If the command word is numeric, this prints the numerical value
  1791. of the variable associated with the
  1792. command. For instance, \f9 {\\=adjust} now prints \=adjust _as
  1793. the current value of \f9 {adjust}.
  1794. Notice that the value is in terms of dots.
  1795.   When the command word is a string variable, the string value is
  1796. printed, after being evaluated and formatted.
  1797.   Strings in the command line can be referred to as `\\=$' followed by
  1798. a number from 0 to 29, where 0 gives the name of the file being
  1799. formatted.
  1800. In this latter usage, the `=' is optional.
  1801. E.g., after
  1802.     A>ep sample red "black and blue"\br
  1803. for the reference `\\=$1' RED would be substituted, and for `\\$2'
  1804. BLACK AND BLUE would be substituted.
  1805. As the above illustrates, if such a command line string is to contain
  1806. spaces, it must be enclosed in quotes, and the CPM CCP shifts letters in
  1807. the command line to upper case.
  1808.   When there was no such string listed in the command line, the command
  1809. is ignored.
  1810. \in 0
  1811.  
  1812. \f9 Roman-numeral        b
  1813.  
  1814. \f8\in 1"
  1815.   This command causes the next number printed with the `=' command
  1816. described above to be printed in lower-case Roman numerals.
  1817. Repeated 'm's are used for all multiples of 1000 (instead of vincula
  1818. over other letters, which would have been nicer).
  1819. \in 0
  1820.  
  1821. \f9 argcount
  1822.  
  1823. \f8\in 1"
  1824.   This variable holds the number of arguments that were listed
  1825. on the command line after ``ep''.
  1826. \in 0
  1827.  
  1828. \f9 horizontal-position\br
  1829. \f9 vertical-position
  1830.  
  1831. \f8\in 1"
  1832.   In expressions, the values of these variables are the current
  1833. horizontal and vertical positions of the printhead.
  1834. Placing a value in these variables has no effect.
  1835.   The value of \f9{horizontal-position} does not take into
  1836. account the effects of right justification.
  1837.   The \f9{vertical-position} is reckoned to be at the top of the
  1838. current character line.
  1839. Before the very first character is printed, the vertical position is
  1840. unitialized, which is signified by giving it a nominal value of
  1841. 65536.
  1842. The vertical position will have an invalid value below the bottom margin
  1843. in a situation where the next character will be printed on the following page.
  1844. \in 0
  1845.  
  1846.  
  1847. \f8
  1848. \tall{Special Characters}
  1849.  
  1850.   Letter fonts may contain definitions of the shapes of up to 126
  1851. characters, including all the control characters except for NUL
  1852. (also missing is DEL).
  1853. In order to avoid control characters in the text file
  1854. there are three ways of referring to control characters with EP
  1855. commands. First, `\\^' followed by a character gives the corresponding
  1856. control character.
  1857. Second, names are provided which are appropriate to the
  1858. character shapes in some of the supplied letter fonts.
  1859. Where appropriate, an automatic backspace is supplied before a named
  1860. control character.
  1861. There is a list given below.
  1862. E.g. the following all give an \f9{a} with a circumflex
  1863. accent over it (if the font has the right character shapes defined):
  1864.     a\\circumflex
  1865.     a\\ci
  1866.     a\\<\\^d
  1867.   Third, any character, including the case of control characters,
  1868. can be printed by \f9{\\(\}expression{)},
  1869. where the value of the expression is the
  1870. ascii number of the character that will be printed.
  1871. E.g.
  1872.     a\\bs\\(4)
  1873.  
  1874.   `\\32' or `\\blank' gives a space character.
  1875. Also, the current escape character can be printed by doubling it.
  1876. Assuming it is a `\\', i.e., place `\\\\' in the text to print it.
  1877.  
  1878. \co 0\ju 0\in
  1879. Ascii    Command        Special character
  1880.  
  1881. ^A    tic        \tic a
  1882. ^B    (bs)grave    a\grave
  1883. ^C    (bs)acute    a\acute
  1884. ^D    (bs)circumflex    a\circumflex  
  1885. ^E    (bs)hachek    a\hachek
  1886. ^F    (bs)macron    a\macron
  1887. ^G    (bs)umlaut    a\umlaut
  1888. ^H    (bs)voice-less
  1889. ^I    (bs)under-dot    a\under-dot
  1890. ^J    bullet        \bullet
  1891. ^K    dagger        \dagger
  1892. ^L    double-dagger    \double-dagger
  1893. ^M    section        \section
  1894. ^N    quad        a\quad a
  1895. ^O    mdash        a\mdash a
  1896. ^P    ndash        a\ndash a
  1897. ^Q    di-graph    \*di-graph
  1898. ^R    digraph-o    \*digraph-o
  1899. ^S    (bs)bre-ve    a\bre-ve
  1900. ^T    (bs)syllabic
  1901. ^U    (bs)non-syllabic
  1902. ^V    (bs)ce-dilla
  1903. ^W    (bs)under-tie
  1904. ^X    (bs)over-tie
  1905. ^Y    (bs)over-dot
  1906. ^Z    (bs)nasal
  1907. \*^[
  1908. \*^|
  1909. \*^]         are not yet used
  1910. \co\ju
  1911. \in 0
  1912.  
  1913. \f8
  1914. \tall{Epson Control}
  1915.  
  1916.   Control over printing and formatting facilities of the Epson
  1917. can be exerted indirectly by means of the EP commands listed in the
  1918. above sections. If you'd like to talk to the Epson more directly,
  1919. two means are provided.
  1920. First, some escape sequences are allowed as synonyms of EP commands
  1921. -- see the list below.
  1922. Second, when the escape character is followed by something not
  1923. recognized as an EP command, it is assumed that an Epson escape
  1924. sequence is intended, so the ESC character is sent followed by any
  1925. non-blank numbers or letters remaining on the input line.
  1926. E.g., this would set the form length to 30 on the FX:
  1927.     \\C 30\br
  1928. and this would set vertical tabs at 35, 45, 55:
  1929.     \\B 35 45 55 0\br
  1930. Where there is interference with an EP command, the ASCII number of a
  1931. character can be used after the `\\.'
  1932.   EP itself remains ignorant of the effects of any commands that are
  1933. issued in this second way, so that, e.g., using vertical tabs would
  1934. cause EP to lose track of its position on the page and put page numbers
  1935. in inappropriate places.
  1936.   For all these Epson commands, upper vs. lower case matters (whereas
  1937. for the regular EP commands, with the exception of \f9{f0-f9} and
  1938. short string references, it does not).
  1939.  
  1940. \co0\ju0\in4\required-blank #
  1941. M    (same as \\elite 1)
  1942. P    (same as \\elite 0)
  1943. 15    (same as \\com-pressed 1)
  1944. 18    (same as \\com-pressed 0)
  1945. E    (same as \\emphasized 1)
  1946. F    (same as \\emphasized 0)
  1947. G    (same as \\double-strike 1)
  1948. H    (same as \\double-strike 0)
  1949. W1    (same as \\expanded 1)
  1950. W0    (same as \\expanded 0)
  1951. p1    (same as \\proportional 1)
  1952. p0    (same as \\proportional 0)
  1953. 4    (same as \\italic 1)
  1954. 5    (same as \\italic 0)
  1955. S1    (same as \\su-perscript 1)
  1956. T    (same as \\su-perscript 0 or \\su-bscript 0)
  1957. S0    (same as \\su-bscript 1)
  1958. \*-1    (same as \\under-line 1) deleted
  1959. \*-0    (same as \\under-line 0) deleted
  1960. _1    (same as \\under-line 1)
  1961. _0    (same as \\under-line 0)
  1962.  
  1963.