/share/doc/usd/21.troff/m1

https://bitbucket.org/freebsd/freebsd-head/ · #! · 746 lines · 746 code · 0 blank · 0 comment · 0 complexity · a8aba9f84bc39b05de8850882dbf25b1 MD5 · raw file

  1. .\" Copyright (C) Caldera International Inc. 2001-2002. All rights reserved.
  2. .\"
  3. .\" Redistribution and use in source and binary forms, with or without
  4. .\" modification, are permitted provided that the following conditions are
  5. .\" met:
  6. .\"
  7. .\" Redistributions of source code and documentation must retain the above
  8. .\" copyright notice, this list of conditions and the following
  9. .\" disclaimer.
  10. .\"
  11. .\" Redistributions in binary form must reproduce the above copyright
  12. .\" notice, this list of conditions and the following disclaimer in the
  13. .\" documentation and/or other materials provided with the distribution.
  14. .\"
  15. .\" All advertising materials mentioning features or use of this software
  16. .\" must display the following acknowledgement:
  17. .\"
  18. .\" This product includes software developed or owned by Caldera
  19. .\" International, Inc. Neither the name of Caldera International, Inc.
  20. .\" nor the names of other contributors may be used to endorse or promote
  21. .\" products derived from this software without specific prior written
  22. .\" permission.
  23. .\"
  24. .\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
  25. .\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
  26. .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  27. .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  28. .\" DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE
  29. .\" FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
  30. .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  31. .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  32. .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  33. .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  34. .\" OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  35. .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  36. .\"
  37. .\" @(#)m1 8.1 (Berkeley) 8/14/93
  38. .\"
  39. .\" $FreeBSD$
  40. .nr p 0 1
  41. .tr |
  42. .tr ~|
  43. .rm mx
  44. .br
  45. .ce
  46. .ft B
  47. .ps +2
  48. .rs
  49. .\".sp1.0i
  50. REFERENCE MANUAL
  51. .ft R
  52. .ps -2
  53. .sp
  54. .mh
  55. General Explanation
  56. .sc
  57. Form of input.
  58. Input consists of \fItext lines\fR, which are destined to be printed,
  59. interspersed with \fIcontrol lines\fR,
  60. which set parameters or otherwise control subsequent processing.
  61. Control lines begin with a \fIcontrol character\fR\(em\
  62. normally \fB.\fR (period) or \fB\'\fR (acute accent)\(em\
  63. followed by a one or two character name that specifies
  64. a basic \fIrequest\fR or the substitution of
  65. a user-defined \fImacro\fR in place of the control line.
  66. The control character \fB\'\fR suppresses the \fIbreak\fR function\(em\
  67. the forced output of a partially filled line\(em\
  68. caused by certain requests.
  69. The control character may be separated from the request/macro name by
  70. white space (spaces and/or tabs) for \(aesthetic reasons.
  71. Names must be followed by either
  72. space or newline.
  73. Control lines with unrecognized names are ignored.
  74. .pg
  75. Various special functions may be introduced anywhere in the input by
  76. means of an \fIescape\fR character, normally \fB\e\fR.
  77. For example, the function
  78. \fB\en\fIR\fR
  79. causes the interpolation (insertion in place) of the contents of the
  80. \fInumber register R\fR
  81. in place of the function;
  82. here \fIR\fR is either a single character name
  83. as in \fB\en\fIx\fR,
  84. or left-parenthesis-introduced, two-character name as in \fB\en(\fIxx\fR.
  85. .sc
  86. Formatter and device resolution.
  87. \*(TR internally uses 432 units\(slinch, (for historical reasons, corresponding to
  88. the Graphic Systems phototypesetter
  89. which had a horizontal resolution of
  90. 1\(sl432 inch and a vertical resolution
  91. of 1\(sl144 inch.)
  92. \*(NR internally uses 240 units\(slinch,
  93. corresponding to the least common multiple of the
  94. horizontal and vertical resolutions of various
  95. typewriter-like output devices.
  96. \*(TR rounds horizontal\(slvertical numerical parameter input to its own
  97. internal horizontal\(slvertical resolution.
  98. \*(NR similarly rounds numerical input to the actual resolution
  99. of the output device indicated by the \fB\(miT\fR option
  100. (default Model 37 Teletype).
  101. .sc
  102. Numerical parameter input.
  103. Both \*(NR and \*(TR
  104. accept numerical input with the scale
  105. indicator suffixes
  106. shown in the following table,
  107. where
  108. \fIS\fR is the current type size in points,
  109. \fIV\fR is the current vertical line spacing in
  110. basic units,
  111. and
  112. \fIC\fR is a \fInominal character width\fR in basic units.
  113. .TS
  114. center box;
  115. c|c|ls
  116. c|c|ll
  117. c|l|l|l.
  118. Scale Number of basic units
  119. Indicator Meaning \*(TR \*(NR
  120. _
  121. \fBi\fR Inch 432 240
  122. \fBc\fR Centimeter 432\(mu50\(sl127 240\(mu50\(sl127
  123. \fBP\fR Pica = 1\(sl6 inch 72 240\(sl6
  124. \fBm\fR Em = \fIS\fR points 6\(mu\fIS\fR \fIC\fR
  125. \fBn\fR En = Em\(sl2 3\(mu\fIS\fR \fIC, same as Em\fR
  126. \fBp\fR Point = 1\(sl72 inch 6 240\(sl72
  127. \fBu\fR Basic unit 1 1
  128. \fBv\fR Vertical line space \fIV\fR \fIV\fR
  129. none Default, see below
  130. .TE
  131. In \*(NR, \fIboth\fR the em and the en are taken to be equal to the \fIC\fR,
  132. which is output-device dependent;
  133. common values are 1\(sl10 and 1\(sl12 inch.
  134. Actual character widths in \*(NR need not be all the same and constructed characters
  135. such as \(mi> (\(->) are often extra wide.
  136. The default scaling is ems for the horizontally-oriented requests
  137. and functions
  138. \fBll\fR,
  139. \fBin\fR,
  140. \fBti\fR,
  141. \fBta\fR,
  142. \fBlt\fR,
  143. \fBpo\fR,
  144. \fBmc\fR,
  145. \fB\eh\fR,
  146. and
  147. \fB\el\fR;
  148. \fIV\^\fRs
  149. for the vertically-oriented requests and functions
  150. \fBpl\fR,
  151. \fBwh\fR,
  152. \fBch\fR,
  153. \fBdt\fR,
  154. \fBsp\fR,
  155. \fBsv\fR,
  156. \fBne\fR,
  157. \fBrt\fR,
  158. \fB\ev\fR,
  159. \fB\ex\fR,
  160. and
  161. \fB\eL\fR;
  162. \fBp\fR for the \fBvs\fR request;
  163. and \fBu\fR for the requests
  164. \fBnr\fR,
  165. \fBif\fR,
  166. and
  167. \fBie\fR.
  168. \fIAll\fR other requests ignore any scale indicators.
  169. When a number register containing an already appropriately scaled number
  170. is interpolated to provide numerical input,
  171. the unit scale indicator
  172. \fBu\fR may need to be appended to prevent
  173. an additional inappropriate default scaling.
  174. The number, \fIN\fR, may be specified in decimal-fraction form
  175. but the parameter finally stored is rounded to an integer number of basic units.
  176. .pg
  177. The \fIabsolute position\fR indicator \fB~\fR may be prefixed
  178. to a number \fIN\fR
  179. to generate the distance to the vertical or horizontal place \fIN\fR.
  180. For vertically-oriented requests and functions, \fB~\|\fIN\fR
  181. becomes the distance in basic units from the current vertical place on the page or in a \fIdiversion\fR (\(sc7.4)
  182. to the vertical place \fIN\fR.
  183. For \fIall\fR other requests and functions,
  184. \fB~\|\fIN\fR
  185. becomes the distance from
  186. the current horizontal place on the \fIinput\fR line to the horizontal place \fIN\fR.
  187. For example,
  188. .x1
  189. \&\fB.sp ~\|3.2c\fR
  190. .x2
  191. will space \fIin the required direction\fR to 3.2 centimeters from the top of the page.
  192. .sc
  193. .tr &&
  194. Numerical expressions.
  195. Wherever numerical input is expected, an expression involving parentheses,
  196. the arithmetic operators \fB\(pl\fR, \fB\(mi\fR, \fB\(sl\fR, \fB\(**\fR, \fB%\fR (mod),
  197. and the logical operators
  198. \fB<\fR,
  199. \fB>\fR,
  200. \fB<\(eq\fR,
  201. \fB>\(eq\fR,
  202. \fB\(eq\fR (or \fB\(eq\(eq\fR),
  203. \fB&\fR\ (and),
  204. \fB:\fR\ (or)
  205. may be used.
  206. Except where controlled by parentheses, evaluation of expressions is left-to-right;
  207. there is no operator precedence.
  208. In the case of certain requests, an initial \fB\(pl\fR or \fB\(mi\fR is stripped
  209. and interpreted as an increment or decrement indicator respectively.
  210. In the presence of default scaling, the desired scale indicator must be
  211. attached to \fIevery\fR number in an expression
  212. for which the desired and default scaling differ.
  213. For example,
  214. if the number register \fBx\fR contains 2
  215. and the current point size is 10,
  216. then
  217. .br
  218. .tr &.
  219. .x1
  220. .ft B
  221. \&.ll (4.25i\(pl\enxP\(pl3)\(sl2u
  222. .ft R
  223. .x2
  224. will set the line length to 1\(sl2 the sum of 4.25 inches \(pl 2 picas \(pl 30 points.
  225. .sc
  226. Notation.
  227. Numerical parameters are indicated in this manual in two ways.
  228. \(+-\fIN\fR means that the argument may take the forms \fIN\fR, \(pl\fIN\fR, or \(mi\fIN\fR and
  229. that the corresponding effect is to set the affected parameter
  230. to \fIN\fR, to increment it by \fIN\fR, or to decrement it by \fIN\fR respectively.
  231. Plain \fIN\fR means that an initial algebraic sign is \fInot\fR
  232. an increment indicator,
  233. but merely the sign of \fIN\fR.
  234. Generally, unreasonable numerical input is either ignored
  235. or truncated to a reasonable value.
  236. For example,
  237. most requests expect to set parameters to non-negative
  238. values;
  239. exceptions are
  240. \fBsp\fR,
  241. \fBwh\fR,
  242. \fBch\fR,
  243. \fBnr\fR,
  244. and
  245. \fBif\fR.
  246. The requests
  247. \fBps\fR,
  248. \fBft\fR,
  249. \fBpo\fR,
  250. \fBvs\fR,
  251. \fBls\fR,
  252. \fBll\fR,
  253. \fBin\fR,
  254. and
  255. \fBlt\fR
  256. restore the \fIprevious\fR parameter value in the \fIabsence\fR
  257. of an argument.
  258. .pg
  259. Single character arguments are indicated by single lower case letters
  260. and
  261. one/two character arguments are indicated by a pair of lower case letters.
  262. Character string arguments are indicated by multi-character mnemonics.
  263. .mh
  264. Font and Character Size Control
  265. .sc
  266. Character set.
  267. The \*(TR character set consists of a typesetter-dependent basic
  268. character set plus a Special Mathematical Font character
  269. set\(emeach having 102 characters.
  270. An example of these character sets is shown in the Appendix Table|I.
  271. All printable \s-1ASCII\s+1 characters are included,
  272. with some on the Special Font.
  273. With three exceptions, these \s-1ASCII\s+1 characters are input as themselves,
  274. and non-\s-1ASCII\s+1 characters are input in the form \fB\e(\fIxx\fR where
  275. \fIxx\fR is a two-character name given in the Appendix Table|II.
  276. The three \s-1ASCII\s+1 exceptions are mapped as follows:
  277. .TS
  278. center box;
  279. cs|cs
  280. cc|cc
  281. cl|cl.
  282. \s-1ASCII\s+1 Input Printed by \*(TR
  283. Character Name Character Name
  284. _
  285. \' acute accent ' close quote
  286. \` grave accent ` open quote
  287. \(mi minus - hyphen
  288. .TE
  289. .tr ~~
  290. The characters
  291. \fB\'\fR,
  292. \fB\`\fR,
  293. and
  294. \fB\-\fR
  295. may be input
  296. by \fB\e\'\fR, \fB\e\`\fR, and \fB\e\-\fR respectively or by their names (Table II).
  297. The \s-1ASCII\s+1 characters \fB@\fR, \fB#\fR, \fB"\fR, \fB\(aa\fR, \fB\(ga\fR, \fB<\fR, \fB>\fR, \fB\e\fR, \fB{\fR, \fB}\fR, \fB~\fR, \fB^\fR, and \fB\(ul\fR exist
  298. only on the Special Font and are printed as a 1-em space if that font
  299. is not mounted.
  300. .pg
  301. .tr ~|
  302. \*(NR understands the entire \*(TR character set,
  303. but can in general print only \s-1ASCII\s+1
  304. characters,
  305. additional characters as may be available on
  306. the output device,
  307. such characters as may be able to be constructed
  308. by overstriking or other combination,
  309. and those that can reasonably be mapped
  310. into other printable characters.
  311. The exact behavior is determined by a driving
  312. table prepared for each device.
  313. The characters
  314. \fB\'\fR,
  315. \fB\`\fR,
  316. and
  317. \fB\(ul\fR
  318. print
  319. as themselves.
  320. .sc
  321. Fonts.
  322. The default mounted fonts are
  323. Times Roman (\fBR\fR),
  324. Times Italic (\fBI\fR),
  325. Times Bold (\fBB\fR),
  326. and the Special Mathematical Font (\fBS\fR)
  327. on physical typesetter positions 1, 2, 3, and 4 respectively.
  328. These fonts are used in this document.
  329. The \fIcurrent\fR font, initially Roman, may be changed
  330. (among the mounted fonts)
  331. by use of the \fBft\fR request,
  332. or by imbedding at any desired point
  333. either \fB\ef\fIx\fR, \fB\ef(\fIxx\fR, or \fB\ef\fIN\fR
  334. where
  335. \fIx\fR and \fIxx\fR are the name of a mounted font
  336. and \fIN\fR is a numerical font position.
  337. It is \fInot\fR necessary to change to the Special Font;
  338. characters on that font are automatically handled.
  339. A request for a named but not-mounted font is \fIignored\fR.
  340. \*(TR can be informed that any particular font is mounted
  341. by use of the \fBfp\fR request.
  342. The list of known fonts is installation dependent.
  343. In the subsequent discussion of font-related requests,
  344. \fIF\fR represents either a one\(sltwo-character
  345. font name or the numerical font position, 1-4.
  346. The current font is available (as numerical position) in the read-only number register \fB.f\fR.
  347. .pg
  348. \*(NR understands font control
  349. and normally underlines Italic characters (see \(sc10.5).
  350. .sc
  351. Character size.
  352. Character point sizes available are typesetter dependent, but often include
  353. 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 28, and 36.
  354. This is a range of 1\(sl12 inch to 1\(sl2 inch.
  355. The \fBps\fR request is used to change or restore the point size.
  356. Alternatively the point size may be changed between any two characters
  357. by imbedding a \fB\es\fIN\fR
  358. at the desired point
  359. to set the size to \fIN\fR,
  360. or a \fB\es\fI\(+-N\fR (1\(<=\fIN\fR\(<=9)
  361. to increment\(sldecrement the size by \fIN\fR;
  362. \fB\es0\fR restores the \fIprevious\fR size.
  363. Requested point size values that are between two valid
  364. sizes yield the larger of the two.
  365. The current size is available in the \fB.s\fR register.
  366. \*(NR ignores type size control.
  367. .h1 *
  368. .fn
  369. .xx
  370. *Notes are explained at the end of the Summary and Index above.
  371. .ef
  372. .bt
  373. \fB&ps\fI|\(+-N\fR 10\|point previous E Point size
  374. set to \(+-\fIN\fR.
  375. Alternatively imbed \fB\es\fIN\fR or \fB\es\fI\(+-N\fR.
  376. Any positive size value may be requested;
  377. if invalid, the next larger valid size will result, with a
  378. maximum of 36.
  379. A paired sequence
  380. \(pl\fIN\fR,\|\(mi\fIN\fR
  381. will work because the previous requested value is also remembered.
  382. Ignored in \*(NR.
  383. .bt
  384. \fB&fz\fI|F|\(+-N\fR off - E The characters in font \fIF\fR will be adjusted to
  385. be in size \(+-\fIN\fR. Characters in the Special Font encountered during the
  386. use of font \fIF\fR will have the same size modification. (Use the \fB&fz S\fR
  387. request if different treatment of Special Font characters is required). \fB&fz\fR
  388. must follow any \fB&fp\fR request for the position.
  389. .bt
  390. \fB&fz|S|\fIF|\(+-N\fR off - E The characters in the Special Font
  391. will be in size \(+-\fIN\fR independent of previous \fB&fz\fR requests.
  392. .bt
  393. \fB&ss\fI|N\fR 12\(sl36\|em ignored E Space-character size
  394. is set to \fIN\fR\(sl36\|ems.
  395. This size is the minimum word spacing in adjusted text.
  396. Ignored in \*(NR.
  397. .bt
  398. \fB&cs|\fIF\|N\|M\fR off - P Constant character space
  399. (width) mode is
  400. set on for font \fIF\fR (if mounted); the width of every character will be
  401. taken to be \fIN\fR\(sl36 ems.
  402. If \fIM\fR is absent,
  403. the em is that of the character's point size;
  404. if \fIM\fR is given,
  405. the em is \fIM\fR-points.
  406. All affected characters
  407. are centered in this space, including those with an actual width
  408. larger than this space.
  409. Special Font characters occurring while the current font
  410. is \fIF\fR are also so treated.
  411. If \fIN\fR is absent, the mode is turned off.
  412. The mode must be still or again in effect when the characters are physically printed.
  413. Ignored in \*(NR.
  414. .bt
  415. \fB&bd\fI|F|N\fR off - P The characters in font \fIF\fR will be artificially
  416. emboldened by printing each one twice, separated by \fIN\fR\^\(mi1 basic units.
  417. A reasonable value for \fIN\fR is 3 when the character size is in the vicinity
  418. of 10 points.
  419. If \fIN\fR is missing the embolden mode is turned off.
  420. The column heads above were printed with \fB.bd|I|3\fR.
  421. The mode must be still or again in effect when the characters are physically printed.
  422. Ignored in \*(NR.
  423. .bt
  424. \fB&bd|S|\fIF|N\fR off - P The characters in the Special Font
  425. will be emboldened whenever the current font is \fIF\fR.
  426. This manual was printed with \fB.bd\|S\|B\|3\fR.
  427. The mode must be still or again in effect when the characters are physically printed.
  428. .bt
  429. \fB&ft|\fIF\fR Roman previous E Font changed to
  430. \fIF\fR.
  431. Alternatively, imbed \fB\ef\fIF\fR.
  432. The font name \fBP\fR is reserved to mean the previous font.
  433. .bt
  434. \fB&fp|\fIN|F\fR R,I,B,S ignored - Font position.
  435. This is a statement
  436. that a font named \fIF\fR is mounted on position \fIN\fR (1-4).
  437. It is a fatal error if \fIF\fR is not known.
  438. The phototypesetter has four fonts physically mounted.
  439. Each font consists of a film strip which can be mounted on a numbered
  440. quadrant of a wheel.
  441. The default mounting sequence assumed by \*(TR is
  442. R, I, B, and S on positions 1, 2, 3 and 4.
  443. .mh
  444. Page control
  445. .pg
  446. Top and bottom margins are \fInot\fR automatically provided;
  447. it is conventional to define two \fImacros\fR and to set \fItraps\fR
  448. for them at vertical positions 0 (top) and \fI\(miN\fR (\fIN\fR from the bottom).
  449. See \(sc7 and Tutorial Examples \(scT2.
  450. A pseudo-page transition onto the \fIfirst\fR page occurs
  451. either when the first \fIbreak\fR occurs or
  452. when the first \fInon-diverted\fR text processing occurs.
  453. Arrangements
  454. for a trap to occur at the top of the first page
  455. must be completed before this transition.
  456. In the following, references to the \fIcurrent diversion\fR (\(sc7.4)
  457. mean that the mechanism being described works during both
  458. ordinary and diverted output (the former considered as the top diversion level).
  459. .pg
  460. The usable page width on the Graphic Systems phototypesetter
  461. was about 7.54|inches,
  462. beginning about 1\(sl27|inch from the left edge of the
  463. 8|inch wide, continuous roll paper, but these characteristics are typesetter-
  464. dependent.
  465. The physical limitations on \*(NR output
  466. are output-device dependent.
  467. .h1
  468. .bt
  469. \fB&pl\fI|\(+-N\fR 11\|in 11\|in \fBv\fR Page length set to \fI\(+-N\fR.
  470. The internal limitation is about 75|inches in \*(TR and
  471. about 136|inches in \*(NR.
  472. The current page length is available in the \fB.p\fR register.
  473. .bt
  474. \fB&bp\fI|\(+-N\fR \fIN\(eq\fR1 - B*,\fBv\fR Begin page.
  475. .fn
  476. .xx
  477. *The use of "\ \fB\'\fR\ " as control character (instead of "\fB.\fR")
  478. suppresses the break function.
  479. .ef
  480. The current page is ejected and a new page is begun.
  481. If \fI\(+-N\fR is given, the new page number will be \fI\(+-N\fR.
  482. Also see request \fBns\fR.
  483. .bt
  484. \fB&pn\fI|\(+-N\fR \fIN\fR\(eq1 ignored - Page number.
  485. The next page (when it occurs) will have the page number \fI\(+-N\fR.
  486. A \fBpn\fR must occur before the initial pseudo-page transition
  487. to affect the page number of the first page.
  488. The current page number is in the \fB%\fR register.
  489. .bt
  490. \fB&po\fI|\(+-N\fR 0;|26\(sl27\|in\(dg previous \fBv\fR Page offset.
  491. .fn
  492. .xx
  493. \(dgValues separated by ";" are for \*(NR and \*(TR respectively.
  494. .ef
  495. The current \fIleft margin\fR is set to \fI\(+-N\fR.
  496. The \*(TR initial value provides about 1|inch of paper margin
  497. including the physical typesetter margin of 1\(sl27|inch.
  498. In \*(TR the maximum (line-length)+(page-offset) is about 7.54 inches.
  499. See \(sc6.
  500. The current page offset is available in the \fB.o\fR register.
  501. .bt
  502. \fB&ne\fI|N\fR - \fIN\(eq\fR1\|\fIV\fR D,\fBv\fR Need \fIN\fR vertical space.
  503. If the distance, \fID\fR, to the next trap position (see \(sc7.5) is less than \fIN\fR,
  504. a forward vertical space of size \fID\fR occurs,
  505. which will spring the trap.
  506. If there are no remaining
  507. traps on the page,
  508. \fID\fR is the distance to the bottom of the page.
  509. If \fID\|<\|V\fR, another line could still be output
  510. and spring the trap.
  511. In a diversion, \fID\fR is the distance to the \fIdiversion trap\fR, if any,
  512. or is very large.
  513. .bt
  514. \fB&mk\fI|R\fR none internal D Mark the \fIcurrent\fR vertical place
  515. in an internal register (both associated with the current diversion level),
  516. or in register \fIR\fR, if given.
  517. See \fBrt\fR request.
  518. .bt
  519. \fB&rt\fI|\(+-N\fR none internal D,\fBv\fR Return \fIupward only\fR to a marked vertical place
  520. in the current diversion.
  521. If \fI\(+-N\fR (w.r.t. current place) is given,
  522. the place is \fI\(+-N\fR from the top of the page or diversion
  523. or, if \fIN\fR is absent, to a
  524. place marked by a previous \fBmk\fR.
  525. Note that the \fBsp\fR request (\(sc5.3) may be used
  526. in all cases instead of \fBrt\fR
  527. by spacing to the absolute place stored in an explicit register;
  528. e.|g. using the sequence \fB.mk|\fIR\fR ... \fB.sp|~\|\en\fIR\fBu\fR.
  529. .mh
  530. Text Filling, Adjusting, and Centering
  531. .sc
  532. Filling and adjusting.
  533. Normally,
  534. words are collected from input text lines
  535. and assembled into an output text line
  536. until some word doesn't fit.
  537. An attempt is then made
  538. to hyphenate the word to assemble a part
  539. of it into the output line.
  540. The spaces between the words on the output line
  541. are then increased to spread out the line
  542. to the current \fIline length\fR
  543. minus any current \fIindent\fR.
  544. A \fIword\fR is any string of characters delimited by
  545. the \fIspace\fR character or the beginning/end of the input line.
  546. Any adjacent pair of words that must be kept together
  547. (neither split across output lines nor spread apart
  548. in the adjustment process)
  549. can be tied together by separating them with the
  550. \fIunpaddable space\fR character
  551. "\fB\e\ \ \fR" (backslash-space).
  552. The adjusted word spacings are uniform in \*(TR
  553. and the minimum interword spacing can be controlled
  554. with the \fBss\fR request (\(sc2).
  555. In \*(NR, they are normally nonuniform because of
  556. quantization to character-size spaces;
  557. however,
  558. the command line option \fB\-e\fR causes uniform
  559. spacing with full output device resolution.
  560. Filling, adjustment, and hyphenation (\(sc13) can all be
  561. prevented or controlled.
  562. The \fItext length\fR on the last line output is available in the \fB.n\fR register,
  563. and text base-line position on the page for this line is in the \fBnl\fR register.
  564. The text base-line high-water mark (lowest place) on the current page is in
  565. the \fB.h\fR register. The \fB.k\fR register (read-only) contains the horizontal size of
  566. the text portion (without indent) of the current partially-collected output
  567. line (if any) in the current environment.
  568. .pg
  569. An input text line ending with \fB.\fR\^, \fB?\fR, or \fB!\fR is taken
  570. to be the end of a \fIsentence\fR, and an additional space character is
  571. automatically provided during filling.
  572. Multiple inter-word space characters found in the input are retained,
  573. except for trailing spaces;
  574. initial spaces also cause a \fIbreak\fR.
  575. .pg
  576. When filling is in effect, a \fB\ep\fR may be imbedded or attached to a word to
  577. cause a \fIbreak\fR at the \fIend\fR of the word and have the resulting output
  578. line \fIspread out\fR to fill the current line length.
  579. .pg
  580. .tr &&
  581. A text input line that happens to begin
  582. with a control character (\(sc10.4) can
  583. be made to not look like a control line
  584. by preceding it by
  585. the non-printing, zero-width filler character \fB\e&\fR.
  586. Still another way is to specify output translation of some
  587. convenient character into the control character
  588. using \fBtr\fR (\(sc10.5).
  589. .tr &.
  590. .sc
  591. Interrupted text.
  592. The copying of an input line in \fInofill\fR
  593. (non-fill) mode can be \fIinterrupted\fR by terminating
  594. the partial line with a \fB\ec\fR.
  595. The \fInext\fR encountered input text line will be considered to be a continuation
  596. of the same line of input text.
  597. Similarly,
  598. a word within \fIfilled\fR text may be interrupted by terminating the
  599. word (and line) with \fB\ec\fR;
  600. the next encountered text will be taken as a continuation of the
  601. interrupted word.
  602. If the intervening control lines cause a break,
  603. any partial line will be forced out along with any partial word.
  604. .h1
  605. .bt
  606. \fB&br\fR - - B Break.
  607. The filling of the line currently
  608. being collected is stopped and
  609. the line is output without adjustment.
  610. Text lines beginning with space characters
  611. and empty text lines (blank lines) also cause a break.
  612. .bt
  613. .lg 0
  614. \fB&fi\fR \(fill|on - B,E Fill subsequent output lines.
  615. .lg
  616. The register \fB.u\fR is 1 in fill mode and 0 in nofill mode.
  617. .bt
  618. \fB&nf\fR fill|on - B,E Nofill.
  619. Subsequent output lines are \fIneither\fR filled \fInor\fR adjusted.
  620. Input text lines are copied directly to output lines
  621. \fIwithout regard\fR for the current line length.
  622. .bt
  623. \fB&ad\fI|c\fR adj,both adjust E \
  624. Line adjustment is begun.
  625. If fill mode is not on, adjustment will be deferred until
  626. fill mode is back on.
  627. If the type indicator \fIc\fR is present,
  628. the adjustment type is changed as shown in the following table.
  629. The type indicator can also be a value saved from the read-only \fB.j\fR number
  630. register, which is set to contain the current adjustment mode and type.
  631. .TS
  632. center box;
  633. c|c
  634. c|l.
  635. Indicator Adjust Type
  636. _
  637. \fBl\fR adjust left margin only
  638. \fBr\fR adjust right margin only
  639. \fBc\fR center
  640. \fBb\fR or \fBn\fR adjust both margins
  641. absent unchanged
  642. .TE
  643. .bt
  644. \fB&na\fR adjust - E Noadjust.
  645. Adjustment is turned off;
  646. the right margin will be ragged.
  647. The adjustment type for \fBad\fR is not changed.
  648. Output line filling still occurs if fill mode is on.
  649. .bt
  650. \fB&ce\fI|N\fR off \fIN\fR\(eq1 B,E Center the next \fIN\fR input text lines
  651. within the current (line-length minus indent).
  652. If \fIN\fR\(eq\^0, any residual count is cleared.
  653. A break occurs after each of the \fIN\fR input lines.
  654. If the input line is too long,
  655. it will be left adjusted.
  656. .mh
  657. Vertical Spacing
  658. .sc
  659. Base-line spacing.
  660. The vertical spacing \fI(V)\fR between the base-lines of successive
  661. output lines can be set
  662. using the \fBvs\fR request
  663. with a resolution of 1\(sl144\|inch\|\(eq\|1\(sl2|point
  664. in \*(TR,
  665. and to the output device resolution in \*(NR.
  666. \fIV\fR must be large enough to accommodate the character sizes
  667. on the affected output lines.
  668. For the common type sizes (9-12 points),
  669. usual typesetting practice is to set \fIV\fR to 2\ points greater than the
  670. point size;
  671. \*(TR default is 10-point type on a 12-point spacing
  672. (as in this document).
  673. The current \fIV\fR is available in the \fB.v\fR register.
  674. Multiple-\fIV\|\fR line separation (e.\|g. double spacing) may be requested
  675. with \fBls\fR.
  676. .sc
  677. Extra line-space.
  678. If a word contains a vertically tall construct requiring
  679. the output line containing it to have extra vertical space
  680. before and\(slor after it,
  681. the \fIextra-line-space\fR function \fB\ex\fI\'N\|\|\'\fR
  682. can be imbedded in or attached to that word.
  683. In this and other functions having a pair of delimiters around
  684. their parameter (here \fB\'\fR\|),
  685. the delimiter choice is arbitrary,
  686. except that it can't look like the continuation of a number expression for \fIN\fR.
  687. If \fIN\fR is negative,
  688. the output line containing the word will
  689. be preceded by \fIN\fR extra vertical space;
  690. if \fIN\fR is positive,
  691. the output line containing the word
  692. will be followed by \fIN\fR extra vertical space.
  693. If successive requests for extra space apply to the same line,
  694. the maximum values are used.
  695. The most recently utilized post-line extra line-space is available in the \fB.a\fR register.
  696. .sc
  697. Blocks of vertical space.
  698. A block of vertical space is ordinarily requested using \fBsp\fR,
  699. which honors the \fIno-space\fR mode and which does
  700. not space \fIpast\fR a trap.
  701. A contiguous block of vertical space may be reserved using \fBsv\fR.
  702. .h1
  703. .bt
  704. \fB&vs\fI|N\fR 1\(sl6in;12pts previous E,\fBp\fR Set vertical base-line spacing size \fIV\fR.
  705. Transient \fIextra\fR vertical space available with \fB\ex\fI\'N\|\|\'\fR (see above).
  706. .bt
  707. \fB&ls\fI|N\fR \fIN\(eq\^\fR1 previous E \fILine\fR spacing
  708. set to \fI\(+-N\fR.
  709. \fIN\(mi\fR1 \fIV\fR\^s \fI(blank lines)\fR are
  710. appended to each output text line. The (read-only) number register \fB.L\fR
  711. is set to contain the current line-spacing value.
  712. Appended blank lines are omitted, if the text or previous appended blank line reached a trap position.
  713. .bt
  714. \fB&sp\fI|N\fR - \fIN\fR\(eq1\fIV\fR B,\fBv\fR Space vertically in \fIeither\fR direction.
  715. If \fIN\fR is negative, the motion is \fIbackward\fR (upward)
  716. and is limited to the distance to the top of the page.
  717. Forward (downward) motion is truncated to the distance to the
  718. nearest trap.
  719. If the no-space mode is on,
  720. no spacing occurs (see \fBns\fR, and \fBrs\fR below).
  721. .bt
  722. \fB&sv\fI|N\fR - \fIN\(eq\fR1\fIV\fR \fBv\fR Save a contiguous vertical block of size \fIN\fR.
  723. If the distance to the next trap is greater
  724. than \fIN\fR, \fIN\fR vertical space is output.
  725. No-space mode has \fIno\fR effect.
  726. If this distance is less than \fIN\fR,
  727. no vertical space is immediately output,
  728. but \fIN\fR is remembered for later output (see \fBos\fR).
  729. Subsequent \fBsv\fR requests will overwrite any still remembered \fIN\fR.
  730. .bt
  731. \fB&os\fR - - - Output saved vertical space.
  732. No-space mode has \fIno\fR effect.
  733. Used to finally output a block of vertical space requested
  734. by an earlier \fBsv\fR request.
  735. .bt
  736. \fB&ns\fR space - D No-space mode turned on.
  737. When on, the no-space mode inhibits \fBsp\fR requests and
  738. \fBbp\fR requests \fIwithout\fR a next page number.
  739. The no-space mode is turned off when a line of
  740. output occurs, or with \fBrs\fR.
  741. .bt
  742. \fB&rs\fR space - D Restore spacing.
  743. The no-space mode is turned off.
  744. .bt
  745. Blank|text|line. - B Causes a break and
  746. outputs a blank line just like \fBsp|1\fR.