]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/doc/usd/21.troff/m1
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.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 .\"
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.