PageRenderTime 28ms CodeModel.GetById 14ms app.highlight 6ms RepoModel.GetById 2ms app.codeStats 0ms

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

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