mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-20 11:11:24 +00:00
9d5abbddbf
especially in troff files.
747 lines
27 KiB
Plaintext
747 lines
27 KiB
Plaintext
.\" Copyright (C) Caldera International Inc. 2001-2002. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions are
|
|
.\" met:
|
|
.\"
|
|
.\" Redistributions of source code and documentation must retain the above
|
|
.\" copyright notice, this list of conditions and the following
|
|
.\" disclaimer.
|
|
.\"
|
|
.\" Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\"
|
|
.\" This product includes software developed or owned by Caldera
|
|
.\" International, Inc. Neither the name of Caldera International, Inc.
|
|
.\" nor the names of other contributors may be used to endorse or promote
|
|
.\" products derived from this software without specific prior written
|
|
.\" permission.
|
|
.\"
|
|
.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
|
|
.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
.\" DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
.\" OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
|
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)m1 8.1 (Berkeley) 8/14/93
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.nr p 0 1
|
|
.tr |
|
|
.tr ~|
|
|
.rm mx
|
|
.br
|
|
.ce
|
|
.ft B
|
|
.ps +2
|
|
.rs
|
|
.\".sp1.0i
|
|
REFERENCE MANUAL
|
|
.ft R
|
|
.ps -2
|
|
.sp
|
|
.mh
|
|
General Explanation
|
|
.sc
|
|
Form of input.
|
|
Input consists of \fItext lines\fR, which are destined to be printed,
|
|
interspersed with \fIcontrol lines\fR,
|
|
which set parameters or otherwise control subsequent processing.
|
|
Control lines begin with a \fIcontrol character\fR\(em\
|
|
normally \fB.\fR (period) or \fB\'\fR (acute accent)\(em\
|
|
followed by a one or two character name that specifies
|
|
a basic \fIrequest\fR or the substitution of
|
|
a user-defined \fImacro\fR in place of the control line.
|
|
The control character \fB\'\fR suppresses the \fIbreak\fR function\(em\
|
|
the forced output of a partially filled line\(em\
|
|
caused by certain requests.
|
|
The control character may be separated from the request/macro name by
|
|
white space (spaces and/or tabs) for \(aesthetic reasons.
|
|
Names must be followed by either
|
|
space or newline.
|
|
Control lines with unrecognized names are ignored.
|
|
.pg
|
|
Various special functions may be introduced anywhere in the input by
|
|
means of an \fIescape\fR character, normally \fB\e\fR.
|
|
For example, the function
|
|
\fB\en\fIR\fR
|
|
causes the interpolation (insertion in place) of the contents of the
|
|
\fInumber register R\fR
|
|
in place of the function;
|
|
here \fIR\fR is either a single character name
|
|
as in \fB\en\fIx\fR,
|
|
or left-parenthesis-introduced, two-character name as in \fB\en(\fIxx\fR.
|
|
.sc
|
|
Formatter and device resolution.
|
|
\*(TR internally uses 432 units\(slinch, (for historical reasons, corresponding to
|
|
the Graphic Systems phototypesetter
|
|
which had a horizontal resolution of
|
|
1\(sl432 inch and a vertical resolution
|
|
of 1\(sl144 inch.)
|
|
\*(NR internally uses 240 units\(slinch,
|
|
corresponding to the least common multiple of the
|
|
horizontal and vertical resolutions of various
|
|
typewriter-like output devices.
|
|
\*(TR rounds horizontal\(slvertical numerical parameter input to its own
|
|
internal horizontal\(slvertical resolution.
|
|
\*(NR similarly rounds numerical input to the actual resolution
|
|
of the output device indicated by the \fB\(miT\fR option
|
|
(default Model 37 Teletype).
|
|
.sc
|
|
Numerical parameter input.
|
|
Both \*(NR and \*(TR
|
|
accept numerical input with the scale
|
|
indicator suffixes
|
|
shown in the following table,
|
|
where
|
|
\fIS\fR is the current type size in points,
|
|
\fIV\fR is the current vertical line spacing in
|
|
basic units,
|
|
and
|
|
\fIC\fR is a \fInominal character width\fR in basic units.
|
|
.TS
|
|
center box;
|
|
c|c|ls
|
|
c|c|ll
|
|
c|l|l|l.
|
|
Scale Number of basic units
|
|
Indicator Meaning \*(TR \*(NR
|
|
_
|
|
\fBi\fR Inch 432 240
|
|
\fBc\fR Centimeter 432\(mu50\(sl127 240\(mu50\(sl127
|
|
\fBP\fR Pica = 1\(sl6 inch 72 240\(sl6
|
|
\fBm\fR Em = \fIS\fR points 6\(mu\fIS\fR \fIC\fR
|
|
\fBn\fR En = Em\(sl2 3\(mu\fIS\fR \fIC, same as Em\fR
|
|
\fBp\fR Point = 1\(sl72 inch 6 240\(sl72
|
|
\fBu\fR Basic unit 1 1
|
|
\fBv\fR Vertical line space \fIV\fR \fIV\fR
|
|
none Default, see below
|
|
.TE
|
|
In \*(NR, \fIboth\fR the em and the en are taken to be equal to the \fIC\fR,
|
|
which is output-device dependent;
|
|
common values are 1\(sl10 and 1\(sl12 inch.
|
|
Actual character widths in \*(NR need not be all the same and constructed characters
|
|
such as \(mi> (\(->) are often extra wide.
|
|
The default scaling is ems for the horizontally-oriented requests
|
|
and functions
|
|
\fBll\fR,
|
|
\fBin\fR,
|
|
\fBti\fR,
|
|
\fBta\fR,
|
|
\fBlt\fR,
|
|
\fBpo\fR,
|
|
\fBmc\fR,
|
|
\fB\eh\fR,
|
|
and
|
|
\fB\el\fR;
|
|
\fIV\^\fRs
|
|
for the vertically-oriented requests and functions
|
|
\fBpl\fR,
|
|
\fBwh\fR,
|
|
\fBch\fR,
|
|
\fBdt\fR,
|
|
\fBsp\fR,
|
|
\fBsv\fR,
|
|
\fBne\fR,
|
|
\fBrt\fR,
|
|
\fB\ev\fR,
|
|
\fB\ex\fR,
|
|
and
|
|
\fB\eL\fR;
|
|
\fBp\fR for the \fBvs\fR request;
|
|
and \fBu\fR for the requests
|
|
\fBnr\fR,
|
|
\fBif\fR,
|
|
and
|
|
\fBie\fR.
|
|
\fIAll\fR other requests ignore any scale indicators.
|
|
When a number register containing an already appropriately scaled number
|
|
is interpolated to provide numerical input,
|
|
the unit scale indicator
|
|
\fBu\fR may need to be appended to prevent
|
|
an additional inappropriate default scaling.
|
|
The number, \fIN\fR, may be specified in decimal-fraction form
|
|
but the parameter finally stored is rounded to an integer number of basic units.
|
|
.pg
|
|
The \fIabsolute position\fR indicator \fB~\fR may be prefixed
|
|
to a number \fIN\fR
|
|
to generate the distance to the vertical or horizontal place \fIN\fR.
|
|
For vertically-oriented requests and functions, \fB~\|\fIN\fR
|
|
becomes the distance in basic units from the current vertical place on the page or in a \fIdiversion\fR (\(sc7.4)
|
|
to the vertical place \fIN\fR.
|
|
For \fIall\fR other requests and functions,
|
|
\fB~\|\fIN\fR
|
|
becomes the distance from
|
|
the current horizontal place on the \fIinput\fR line to the horizontal place \fIN\fR.
|
|
For example,
|
|
.x1
|
|
\&\fB.sp ~\|3.2c\fR
|
|
.x2
|
|
will space \fIin the required direction\fR to 3.2 centimeters from the top of the page.
|
|
.sc
|
|
.tr &&
|
|
Numerical expressions.
|
|
Wherever numerical input is expected, an expression involving parentheses,
|
|
the arithmetic operators \fB\(pl\fR, \fB\(mi\fR, \fB\(sl\fR, \fB\(**\fR, \fB%\fR (mod),
|
|
and the logical operators
|
|
\fB<\fR,
|
|
\fB>\fR,
|
|
\fB<\(eq\fR,
|
|
\fB>\(eq\fR,
|
|
\fB\(eq\fR (or \fB\(eq\(eq\fR),
|
|
\fB&\fR\ (and),
|
|
\fB:\fR\ (or)
|
|
may be used.
|
|
Except where controlled by parentheses, evaluation of expressions is left-to-right;
|
|
there is no operator precedence.
|
|
In the case of certain requests, an initial \fB\(pl\fR or \fB\(mi\fR is stripped
|
|
and interpreted as an increment or decrement indicator respectively.
|
|
In the presence of default scaling, the desired scale indicator must be
|
|
attached to \fIevery\fR number in an expression
|
|
for which the desired and default scaling differ.
|
|
For example,
|
|
if the number register \fBx\fR contains 2
|
|
and the current point size is 10,
|
|
then
|
|
.br
|
|
.tr &.
|
|
.x1
|
|
.ft B
|
|
\&.ll (4.25i\(pl\enxP\(pl3)\(sl2u
|
|
.ft R
|
|
.x2
|
|
will set the line length to 1\(sl2 the sum of 4.25 inches \(pl 2 picas \(pl 30 points.
|
|
.sc
|
|
Notation.
|
|
Numerical parameters are indicated in this manual in two ways.
|
|
\(+-\fIN\fR means that the argument may take the forms \fIN\fR, \(pl\fIN\fR, or \(mi\fIN\fR and
|
|
that the corresponding effect is to set the affected parameter
|
|
to \fIN\fR, to increment it by \fIN\fR, or to decrement it by \fIN\fR respectively.
|
|
Plain \fIN\fR means that an initial algebraic sign is \fInot\fR
|
|
an increment indicator,
|
|
but merely the sign of \fIN\fR.
|
|
Generally, unreasonable numerical input is either ignored
|
|
or truncated to a reasonable value.
|
|
For example,
|
|
most requests expect to set parameters to non-negative
|
|
values;
|
|
exceptions are
|
|
\fBsp\fR,
|
|
\fBwh\fR,
|
|
\fBch\fR,
|
|
\fBnr\fR,
|
|
and
|
|
\fBif\fR.
|
|
The requests
|
|
\fBps\fR,
|
|
\fBft\fR,
|
|
\fBpo\fR,
|
|
\fBvs\fR,
|
|
\fBls\fR,
|
|
\fBll\fR,
|
|
\fBin\fR,
|
|
and
|
|
\fBlt\fR
|
|
restore the \fIprevious\fR parameter value in the \fIabsence\fR
|
|
of an argument.
|
|
.pg
|
|
Single character arguments are indicated by single lower case letters
|
|
and
|
|
one/two character arguments are indicated by a pair of lower case letters.
|
|
Character string arguments are indicated by multi-character mnemonics.
|
|
.mh
|
|
Font and Character Size Control
|
|
.sc
|
|
Character set.
|
|
The \*(TR character set consists of a typesetter-dependent basic
|
|
character set plus a Special Mathematical Font character
|
|
set\(emeach having 102 characters.
|
|
An example of these character sets is shown in the Appendix Table|I.
|
|
All printable \s-1ASCII\s+1 characters are included,
|
|
with some on the Special Font.
|
|
With three exceptions, these \s-1ASCII\s+1 characters are input as themselves,
|
|
and non-\s-1ASCII\s+1 characters are input in the form \fB\e(\fIxx\fR where
|
|
\fIxx\fR is a two-character name given in the Appendix Table|II.
|
|
The three \s-1ASCII\s+1 exceptions are mapped as follows:
|
|
.TS
|
|
center box;
|
|
cs|cs
|
|
cc|cc
|
|
cl|cl.
|
|
\s-1ASCII\s+1 Input Printed by \*(TR
|
|
Character Name Character Name
|
|
_
|
|
\' acute accent ' close quote
|
|
\` grave accent ` open quote
|
|
\(mi minus - hyphen
|
|
.TE
|
|
.tr ~~
|
|
The characters
|
|
\fB\'\fR,
|
|
\fB\`\fR,
|
|
and
|
|
\fB\-\fR
|
|
may be input
|
|
by \fB\e\'\fR, \fB\e\`\fR, and \fB\e\-\fR respectively or by their names (Table II).
|
|
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
|
|
only on the Special Font and are printed as a 1-em space if that font
|
|
is not mounted.
|
|
.pg
|
|
.tr ~|
|
|
\*(NR understands the entire \*(TR character set,
|
|
but can in general print only \s-1ASCII\s+1
|
|
characters,
|
|
additional characters as may be available on
|
|
the output device,
|
|
such characters as may be able to be constructed
|
|
by overstriking or other combination,
|
|
and those that can reasonably be mapped
|
|
into other printable characters.
|
|
The exact behavior is determined by a driving
|
|
table prepared for each device.
|
|
The characters
|
|
\fB\'\fR,
|
|
\fB\`\fR,
|
|
and
|
|
\fB\(ul\fR
|
|
print
|
|
as themselves.
|
|
.sc
|
|
Fonts.
|
|
The default mounted fonts are
|
|
Times Roman (\fBR\fR),
|
|
Times Italic (\fBI\fR),
|
|
Times Bold (\fBB\fR),
|
|
and the Special Mathematical Font (\fBS\fR)
|
|
on physical typesetter positions 1, 2, 3, and 4 respectively.
|
|
These fonts are used in this document.
|
|
The \fIcurrent\fR font, initially Roman, may be changed
|
|
(among the mounted fonts)
|
|
by use of the \fBft\fR request,
|
|
or by imbedding at any desired point
|
|
either \fB\ef\fIx\fR, \fB\ef(\fIxx\fR, or \fB\ef\fIN\fR
|
|
where
|
|
\fIx\fR and \fIxx\fR are the name of a mounted font
|
|
and \fIN\fR is a numerical font position.
|
|
It is \fInot\fR necessary to change to the Special Font;
|
|
characters on that font are automatically handled.
|
|
A request for a named but not-mounted font is \fIignored\fR.
|
|
\*(TR can be informed that any particular font is mounted
|
|
by use of the \fBfp\fR request.
|
|
The list of known fonts is installation dependent.
|
|
In the subsequent discussion of font-related requests,
|
|
\fIF\fR represents either a one\(sltwo-character
|
|
font name or the numerical font position, 1-4.
|
|
The current font is available (as numerical position) in the read-only number register \fB.f\fR.
|
|
.pg
|
|
\*(NR understands font control
|
|
and normally underlines Italic characters (see \(sc10.5).
|
|
.sc
|
|
Character size.
|
|
Character point sizes available are typesetter dependent, but often include
|
|
6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 28, and 36.
|
|
This is a range of 1\(sl12 inch to 1\(sl2 inch.
|
|
The \fBps\fR request is used to change or restore the point size.
|
|
Alternatively the point size may be changed between any two characters
|
|
by imbedding a \fB\es\fIN\fR
|
|
at the desired point
|
|
to set the size to \fIN\fR,
|
|
or a \fB\es\fI\(+-N\fR (1\(<=\fIN\fR\(<=9)
|
|
to increment\(sldecrement the size by \fIN\fR;
|
|
\fB\es0\fR restores the \fIprevious\fR size.
|
|
Requested point size values that are between two valid
|
|
sizes yield the larger of the two.
|
|
The current size is available in the \fB.s\fR register.
|
|
\*(NR ignores type size control.
|
|
.h1 *
|
|
.fn
|
|
.xx
|
|
*Notes are explained at the end of the Summary and Index above.
|
|
.ef
|
|
.bt
|
|
\fB&ps\fI|\(+-N\fR 10\|point previous E Point size
|
|
set to \(+-\fIN\fR.
|
|
Alternatively imbed \fB\es\fIN\fR or \fB\es\fI\(+-N\fR.
|
|
Any positive size value may be requested;
|
|
if invalid, the next larger valid size will result, with a
|
|
maximum of 36.
|
|
A paired sequence
|
|
\(pl\fIN\fR,\|\(mi\fIN\fR
|
|
will work because the previous requested value is also remembered.
|
|
Ignored in \*(NR.
|
|
.bt
|
|
\fB&fz\fI|F|\(+-N\fR off - E The characters in font \fIF\fR will be adjusted to
|
|
be in size \(+-\fIN\fR. Characters in the Special Font encountered during the
|
|
use of font \fIF\fR will have the same size modification. (Use the \fB&fz S\fR
|
|
request if different treatment of Special Font characters is required). \fB&fz\fR
|
|
must follow any \fB&fp\fR request for the position.
|
|
.bt
|
|
\fB&fz|S|\fIF|\(+-N\fR off - E The characters in the Special Font
|
|
will be in size \(+-\fIN\fR independent of previous \fB&fz\fR requests.
|
|
.bt
|
|
\fB&ss\fI|N\fR 12\(sl36\|em ignored E Space-character size
|
|
is set to \fIN\fR\(sl36\|ems.
|
|
This size is the minimum word spacing in adjusted text.
|
|
Ignored in \*(NR.
|
|
.bt
|
|
\fB&cs|\fIF\|N\|M\fR off - P Constant character space
|
|
(width) mode is
|
|
set on for font \fIF\fR (if mounted); the width of every character will be
|
|
taken to be \fIN\fR\(sl36 ems.
|
|
If \fIM\fR is absent,
|
|
the em is that of the character's point size;
|
|
if \fIM\fR is given,
|
|
the em is \fIM\fR-points.
|
|
All affected characters
|
|
are centered in this space, including those with an actual width
|
|
larger than this space.
|
|
Special Font characters occurring while the current font
|
|
is \fIF\fR are also so treated.
|
|
If \fIN\fR is absent, the mode is turned off.
|
|
The mode must be still or again in effect when the characters are physically printed.
|
|
Ignored in \*(NR.
|
|
.bt
|
|
\fB&bd\fI|F|N\fR off - P The characters in font \fIF\fR will be artificially
|
|
emboldened by printing each one twice, separated by \fIN\fR\^\(mi1 basic units.
|
|
A reasonable value for \fIN\fR is 3 when the character size is in the vicinity
|
|
of 10 points.
|
|
If \fIN\fR is missing the embolden mode is turned off.
|
|
The column heads above were printed with \fB.bd|I|3\fR.
|
|
The mode must be still or again in effect when the characters are physically printed.
|
|
Ignored in \*(NR.
|
|
.bt
|
|
\fB&bd|S|\fIF|N\fR off - P The characters in the Special Font
|
|
will be emboldened whenever the current font is \fIF\fR.
|
|
This manual was printed with \fB.bd\|S\|B\|3\fR.
|
|
The mode must be still or again in effect when the characters are physically printed.
|
|
.bt
|
|
\fB&ft|\fIF\fR Roman previous E Font changed to
|
|
\fIF\fR.
|
|
Alternatively, imbed \fB\ef\fIF\fR.
|
|
The font name \fBP\fR is reserved to mean the previous font.
|
|
.bt
|
|
\fB&fp|\fIN|F\fR R,I,B,S ignored - Font position.
|
|
This is a statement
|
|
that a font named \fIF\fR is mounted on position \fIN\fR (1-4).
|
|
It is a fatal error if \fIF\fR is not known.
|
|
The phototypesetter has four fonts physically mounted.
|
|
Each font consists of a film strip which can be mounted on a numbered
|
|
quadrant of a wheel.
|
|
The default mounting sequence assumed by \*(TR is
|
|
R, I, B, and S on positions 1, 2, 3 and 4.
|
|
.mh
|
|
Page control
|
|
.pg
|
|
Top and bottom margins are \fInot\fR automatically provided;
|
|
it is conventional to define two \fImacros\fR and to set \fItraps\fR
|
|
for them at vertical positions 0 (top) and \fI\(miN\fR (\fIN\fR from the bottom).
|
|
See \(sc7 and Tutorial Examples \(scT2.
|
|
A pseudo-page transition onto the \fIfirst\fR page occurs
|
|
either when the first \fIbreak\fR occurs or
|
|
when the first \fInon-diverted\fR text processing occurs.
|
|
Arrangements
|
|
for a trap to occur at the top of the first page
|
|
must be completed before this transition.
|
|
In the following, references to the \fIcurrent diversion\fR (\(sc7.4)
|
|
mean that the mechanism being described works during both
|
|
ordinary and diverted output (the former considered as the top diversion level).
|
|
.pg
|
|
The usable page width on the Graphic Systems phototypesetter
|
|
was about 7.54|inches,
|
|
beginning about 1\(sl27|inch from the left edge of the
|
|
8|inch wide, continuous roll paper, but these characteristics are typesetter-
|
|
dependent.
|
|
The physical limitations on \*(NR output
|
|
are output-device dependent.
|
|
.h1
|
|
.bt
|
|
\fB&pl\fI|\(+-N\fR 11\|in 11\|in \fBv\fR Page length set to \fI\(+-N\fR.
|
|
The internal limitation is about 75|inches in \*(TR and
|
|
about 136|inches in \*(NR.
|
|
The current page length is available in the \fB.p\fR register.
|
|
.bt
|
|
\fB&bp\fI|\(+-N\fR \fIN\(eq\fR1 - B*,\fBv\fR Begin page.
|
|
.fn
|
|
.xx
|
|
*The use of "\ \fB\'\fR\ " as control character (instead of "\fB.\fR")
|
|
suppresses the break function.
|
|
.ef
|
|
The current page is ejected and a new page is begun.
|
|
If \fI\(+-N\fR is given, the new page number will be \fI\(+-N\fR.
|
|
Also see request \fBns\fR.
|
|
.bt
|
|
\fB&pn\fI|\(+-N\fR \fIN\fR\(eq1 ignored - Page number.
|
|
The next page (when it occurs) will have the page number \fI\(+-N\fR.
|
|
A \fBpn\fR must occur before the initial pseudo-page transition
|
|
to affect the page number of the first page.
|
|
The current page number is in the \fB%\fR register.
|
|
.bt
|
|
\fB&po\fI|\(+-N\fR 0;|26\(sl27\|in\(dg previous \fBv\fR Page offset.
|
|
.fn
|
|
.xx
|
|
\(dgValues separated by ";" are for \*(NR and \*(TR respectively.
|
|
.ef
|
|
The current \fIleft margin\fR is set to \fI\(+-N\fR.
|
|
The \*(TR initial value provides about 1|inch of paper margin
|
|
including the physical typesetter margin of 1\(sl27|inch.
|
|
In \*(TR the maximum (line-length)+(page-offset) is about 7.54 inches.
|
|
See \(sc6.
|
|
The current page offset is available in the \fB.o\fR register.
|
|
.bt
|
|
\fB&ne\fI|N\fR - \fIN\(eq\fR1\|\fIV\fR D,\fBv\fR Need \fIN\fR vertical space.
|
|
If the distance, \fID\fR, to the next trap position (see \(sc7.5) is less than \fIN\fR,
|
|
a forward vertical space of size \fID\fR occurs,
|
|
which will spring the trap.
|
|
If there are no remaining
|
|
traps on the page,
|
|
\fID\fR is the distance to the bottom of the page.
|
|
If \fID\|<\|V\fR, another line could still be output
|
|
and spring the trap.
|
|
In a diversion, \fID\fR is the distance to the \fIdiversion trap\fR, if any,
|
|
or is very large.
|
|
.bt
|
|
\fB&mk\fI|R\fR none internal D Mark the \fIcurrent\fR vertical place
|
|
in an internal register (both associated with the current diversion level),
|
|
or in register \fIR\fR, if given.
|
|
See \fBrt\fR request.
|
|
.bt
|
|
\fB&rt\fI|\(+-N\fR none internal D,\fBv\fR Return \fIupward only\fR to a marked vertical place
|
|
in the current diversion.
|
|
If \fI\(+-N\fR (w.r.t. current place) is given,
|
|
the place is \fI\(+-N\fR from the top of the page or diversion
|
|
or, if \fIN\fR is absent, to a
|
|
place marked by a previous \fBmk\fR.
|
|
Note that the \fBsp\fR request (\(sc5.3) may be used
|
|
in all cases instead of \fBrt\fR
|
|
by spacing to the absolute place stored in an explicit register;
|
|
e.|g. using the sequence \fB.mk|\fIR\fR ... \fB.sp|~\|\en\fIR\fBu\fR.
|
|
.mh
|
|
Text Filling, Adjusting, and Centering
|
|
.sc
|
|
Filling and adjusting.
|
|
Normally,
|
|
words are collected from input text lines
|
|
and assembled into an output text line
|
|
until some word doesn't fit.
|
|
An attempt is then made
|
|
to hyphenate the word to assemble a part
|
|
of it into the output line.
|
|
The spaces between the words on the output line
|
|
are then increased to spread out the line
|
|
to the current \fIline length\fR
|
|
minus any current \fIindent\fR.
|
|
A \fIword\fR is any string of characters delimited by
|
|
the \fIspace\fR character or the beginning/end of the input line.
|
|
Any adjacent pair of words that must be kept together
|
|
(neither split across output lines nor spread apart
|
|
in the adjustment process)
|
|
can be tied together by separating them with the
|
|
\fIunpaddable space\fR character
|
|
"\fB\e\ \ \fR" (backslash-space).
|
|
The adjusted word spacings are uniform in \*(TR
|
|
and the minimum interword spacing can be controlled
|
|
with the \fBss\fR request (\(sc2).
|
|
In \*(NR, they are normally nonuniform because of
|
|
quantization to character-size spaces;
|
|
however,
|
|
the command line option \fB\-e\fR causes uniform
|
|
spacing with full output device resolution.
|
|
Filling, adjustment, and hyphenation (\(sc13) can all be
|
|
prevented or controlled.
|
|
The \fItext length\fR on the last line output is available in the \fB.n\fR register,
|
|
and text base-line position on the page for this line is in the \fBnl\fR register.
|
|
The text base-line high-water mark (lowest place) on the current page is in
|
|
the \fB.h\fR register. The \fB.k\fR register (read-only) contains the horizontal size of
|
|
the text portion (without indent) of the current partially-collected output
|
|
line (if any) in the current environment.
|
|
.pg
|
|
An input text line ending with \fB.\fR\^, \fB?\fR, or \fB!\fR is taken
|
|
to be the end of a \fIsentence\fR, and an additional space character is
|
|
automatically provided during filling.
|
|
Multiple inter-word space characters found in the input are retained,
|
|
except for trailing spaces;
|
|
initial spaces also cause a \fIbreak\fR.
|
|
.pg
|
|
When filling is in effect, a \fB\ep\fR may be imbedded or attached to a word to
|
|
cause a \fIbreak\fR at the \fIend\fR of the word and have the resulting output
|
|
line \fIspread out\fR to fill the current line length.
|
|
.pg
|
|
.tr &&
|
|
A text input line that happens to begin
|
|
with a control character (\(sc10.4) can
|
|
be made to not look like a control line
|
|
by preceding it by
|
|
the non-printing, zero-width filler character \fB\e&\fR.
|
|
Still another way is to specify output translation of some
|
|
convenient character into the control character
|
|
using \fBtr\fR (\(sc10.5).
|
|
.tr &.
|
|
.sc
|
|
Interrupted text.
|
|
The copying of an input line in \fInofill\fR
|
|
(non-fill) mode can be \fIinterrupted\fR by terminating
|
|
the partial line with a \fB\ec\fR.
|
|
The \fInext\fR encountered input text line will be considered to be a continuation
|
|
of the same line of input text.
|
|
Similarly,
|
|
a word within \fIfilled\fR text may be interrupted by terminating the
|
|
word (and line) with \fB\ec\fR;
|
|
the next encountered text will be taken as a continuation of the
|
|
interrupted word.
|
|
If the intervening control lines cause a break,
|
|
any partial line will be forced out along with any partial word.
|
|
.h1
|
|
.bt
|
|
\fB&br\fR - - B Break.
|
|
The filling of the line currently
|
|
being collected is stopped and
|
|
the line is output without adjustment.
|
|
Text lines beginning with space characters
|
|
and empty text lines (blank lines) also cause a break.
|
|
.bt
|
|
.lg 0
|
|
\fB&fi\fR \(fill|on - B,E Fill subsequent output lines.
|
|
.lg
|
|
The register \fB.u\fR is 1 in fill mode and 0 in nofill mode.
|
|
.bt
|
|
\fB&nf\fR fill|on - B,E Nofill.
|
|
Subsequent output lines are \fIneither\fR filled \fInor\fR adjusted.
|
|
Input text lines are copied directly to output lines
|
|
\fIwithout regard\fR for the current line length.
|
|
.bt
|
|
\fB&ad\fI|c\fR adj,both adjust E \
|
|
Line adjustment is begun.
|
|
If fill mode is not on, adjustment will be deferred until
|
|
fill mode is back on.
|
|
If the type indicator \fIc\fR is present,
|
|
the adjustment type is changed as shown in the following table.
|
|
The type indicator can also be a value saved from the read-only \fB.j\fR number
|
|
register, which is set to contain the current adjustment mode and type.
|
|
.TS
|
|
center box;
|
|
c|c
|
|
c|l.
|
|
Indicator Adjust Type
|
|
_
|
|
\fBl\fR adjust left margin only
|
|
\fBr\fR adjust right margin only
|
|
\fBc\fR center
|
|
\fBb\fR or \fBn\fR adjust both margins
|
|
absent unchanged
|
|
.TE
|
|
.bt
|
|
\fB&na\fR adjust - E Noadjust.
|
|
Adjustment is turned off;
|
|
the right margin will be ragged.
|
|
The adjustment type for \fBad\fR is not changed.
|
|
Output line filling still occurs if fill mode is on.
|
|
.bt
|
|
\fB&ce\fI|N\fR off \fIN\fR\(eq1 B,E Center the next \fIN\fR input text lines
|
|
within the current (line-length minus indent).
|
|
If \fIN\fR\(eq\^0, any residual count is cleared.
|
|
A break occurs after each of the \fIN\fR input lines.
|
|
If the input line is too long,
|
|
it will be left adjusted.
|
|
.mh
|
|
Vertical Spacing
|
|
.sc
|
|
Base-line spacing.
|
|
The vertical spacing \fI(V)\fR between the base-lines of successive
|
|
output lines can be set
|
|
using the \fBvs\fR request
|
|
with a resolution of 1\(sl144\|inch\|\(eq\|1\(sl2|point
|
|
in \*(TR,
|
|
and to the output device resolution in \*(NR.
|
|
\fIV\fR must be large enough to accommodate the character sizes
|
|
on the affected output lines.
|
|
For the common type sizes (9-12 points),
|
|
usual typesetting practice is to set \fIV\fR to 2\ points greater than the
|
|
point size;
|
|
\*(TR default is 10-point type on a 12-point spacing
|
|
(as in this document).
|
|
The current \fIV\fR is available in the \fB.v\fR register.
|
|
Multiple-\fIV\|\fR line separation (e.\|g. double spacing) may be requested
|
|
with \fBls\fR.
|
|
.sc
|
|
Extra line-space.
|
|
If a word contains a vertically tall construct requiring
|
|
the output line containing it to have extra vertical space
|
|
before and\(slor after it,
|
|
the \fIextra-line-space\fR function \fB\ex\fI\'N\|\|\'\fR
|
|
can be imbedded in or attached to that word.
|
|
In this and other functions having a pair of delimiters around
|
|
their parameter (here \fB\'\fR\|),
|
|
the delimiter choice is arbitrary,
|
|
except that it can't look like the continuation of a number expression for \fIN\fR.
|
|
If \fIN\fR is negative,
|
|
the output line containing the word will
|
|
be preceded by \fIN\fR extra vertical space;
|
|
if \fIN\fR is positive,
|
|
the output line containing the word
|
|
will be followed by \fIN\fR extra vertical space.
|
|
If successive requests for extra space apply to the same line,
|
|
the maximum values are used.
|
|
The most recently utilized post-line extra line-space is available in the \fB.a\fR register.
|
|
.sc
|
|
Blocks of vertical space.
|
|
A block of vertical space is ordinarily requested using \fBsp\fR,
|
|
which honors the \fIno-space\fR mode and which does
|
|
not space \fIpast\fR a trap.
|
|
A contiguous block of vertical space may be reserved using \fBsv\fR.
|
|
.h1
|
|
.bt
|
|
\fB&vs\fI|N\fR 1\(sl6in;12pts previous E,\fBp\fR Set vertical base-line spacing size \fIV\fR.
|
|
Transient \fIextra\fR vertical space available with \fB\ex\fI\'N\|\|\'\fR (see above).
|
|
.bt
|
|
\fB&ls\fI|N\fR \fIN\(eq\^\fR1 previous E \fILine\fR spacing
|
|
set to \fI\(+-N\fR.
|
|
\fIN\(mi\fR1 \fIV\fR\^s \fI(blank lines)\fR are
|
|
appended to each output text line. The (read-only) number register \fB.L\fR
|
|
is set to contain the current line-spacing value.
|
|
Appended blank lines are omitted, if the text or previous appended blank line reached a trap position.
|
|
.bt
|
|
\fB&sp\fI|N\fR - \fIN\fR\(eq1\fIV\fR B,\fBv\fR Space vertically in \fIeither\fR direction.
|
|
If \fIN\fR is negative, the motion is \fIbackward\fR (upward)
|
|
and is limited to the distance to the top of the page.
|
|
Forward (downward) motion is truncated to the distance to the
|
|
nearest trap.
|
|
If the no-space mode is on,
|
|
no spacing occurs (see \fBns\fR, and \fBrs\fR below).
|
|
.bt
|
|
\fB&sv\fI|N\fR - \fIN\(eq\fR1\fIV\fR \fBv\fR Save a contiguous vertical block of size \fIN\fR.
|
|
If the distance to the next trap is greater
|
|
than \fIN\fR, \fIN\fR vertical space is output.
|
|
No-space mode has \fIno\fR effect.
|
|
If this distance is less than \fIN\fR,
|
|
no vertical space is immediately output,
|
|
but \fIN\fR is remembered for later output (see \fBos\fR).
|
|
Subsequent \fBsv\fR requests will overwrite any still remembered \fIN\fR.
|
|
.bt
|
|
\fB&os\fR - - - Output saved vertical space.
|
|
No-space mode has \fIno\fR effect.
|
|
Used to finally output a block of vertical space requested
|
|
by an earlier \fBsv\fR request.
|
|
.bt
|
|
\fB&ns\fR space - D No-space mode turned on.
|
|
When on, the no-space mode inhibits \fBsp\fR requests and
|
|
\fBbp\fR requests \fIwithout\fR a next page number.
|
|
The no-space mode is turned off when a line of
|
|
output occurs, or with \fBrs\fR.
|
|
.bt
|
|
\fB&rs\fR space - D Restore spacing.
|
|
The no-space mode is turned off.
|
|
.bt
|
|
Blank|text|line. - B Causes a break and
|
|
outputs a blank line just like \fBsp|1\fR.
|