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