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