-
Notifications
You must be signed in to change notification settings - Fork 1
/
awf.1.out
198 lines (101 loc) · 6.28 KB
/
awf.1.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
AWF(1) Unix Programmer's Manual AWF(1)
NNNAAAMMMEEE
awf - amazingly workable (text) formatter
SSSYYYNNNOOOPPPSSSIIISSS
aaawwwfff -mmm_a_c_r_o_s [ file ] ...
DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN
_A_w_f formats the text from the input _f_i_l_e(s) (standard input if none) in
an imitation of _n_r_o_f_f's style with the -mmmaaannn or -mmmsss macro packages. The
-mmm_a_c_r_o option is mandatory and must be `-man' or `-ms'.
_A_w_f implements the following raw _n_r_o_f_f requests:
.\" .ce .fi .in .ne .pl .sp
.ad .de .ft .it .nf .po .ta
.bp .ds .ie .ll .nr .ps .ti
.br .el .if .na .ns .rs .tm
and the following in-text codes:
\$ \% \* \c \f \n \s
plus the full list of _n_r_o_f_f/_t_r_o_f_f special characters in the original V7
_t_r_o_f_f manual.
Many restrictions are present; the behavior in general is a subset of
_n_r_o_f_f's. Of particular note are the following:
+o Point sizes do not exist; ...pppsss and \sss are ignored.
+o Conditionals implement only numeric comparisons on \nnn(((...$$$, string com-
parisons between a macro parameter and a literal, and nnn (always true)
and ttt (always false).
+o The implementation of strings is generally primitive.
+o Expressions in (e.g.) ...sssppp are fairly general, but the |||, &&&, and :::
operators do not exist, and the implementation of \www requires that
quote (') be used as the delimiter and simply counts the characters
inside (so that, e.g., \w'\(bu' equals 4).
White space at the beginning of lines, and imbedded white space within
lines, is dealt with properly. Sentence terminators at ends of lines are
understood to imply extra space afterward in filled lines. Tabs are im-
plemented crudely and not quite correctly, although in most cases they
work as expected. Hyphenation is done only at explicit hyphens, em-
dashes, and _n_r_o_f_f discretionary hyphens.
MMMAAANNN MMMAAACCCRRROOOSSS
The -mmmaaannn macro set implements the full V7 manual macros, plus a few semi-
random oddballs. The full list is:
.B .DT .IP .P .RE .SM
.BI .HP .IR .PD .RI .TH
.BR .I .LP .PP .RS .TP
.BY .IB .NB .RB .SH .UC
U of Toronto 13 July 1990 1
AWF(1) Unix Programmer's Manual AWF(1)
...BBBYYY and ...NNNBBB each take a single string argument (respectively, an indi-
cation of authorship and a note about the status of the manual page) and
arrange to place it in the page footer.
MMMSSS MMMAAACCCRRROOOSSS
The -mmmsss macro set is a substantial subset of the V7 manuscript macros.
The implemented macros are:
.AB .CD .ID .ND .QP .RS .UL
.AE .DA .IP .NH .QS .SH .UX
.AI .DE .LD .NL .R .SM
.AU .DS .LG .PP .RE .TL
.B .I .LP .QE .RP .TP
Size changes are recognized but ignored, as are ...RRRPPP and ...NNNDDD. ...UUULLL just
prints its argument in italics. ...DDDSSS/...DDDEEE does not do a keep, nor do any
of the other macros that normally imply keeps.
Assignments to the header/footer string variables are recognized and
implemented, but there is otherwise no control over header/footer
formatting. The DDDYYY string variable is available. The PPPDDD, PPPIII, and LLLLLL
number registers exist and can be changed.
OOOUUUTTTPPPUUUTTT
The only output format supported by _a_w_f, in its distributed form, is that
appropriate to a dumb terminal, using overprinting for italics (via
underlining) and bold. The _n_r_o_f_f special characters are printed as some
vague approximation (it's sometimes very vague) to their correct
appearance.
_A_w_f's knowledge of the output device is established by a device file,
which is read before the user's input. It is sought in _a_w_f's library
directory, first as dddeeevvv..._t_e_r_m (where _t_e_r_m is the value of the TERM
environment variable) and, failing that, as dddeeevvv...ddduuummmbbb. The device file
uses special internal commands to set up resolution, special characters,
fonts, etc., and more normal _n_r_o_f_f commands to set up page length etc.
FFFIIILLLEEESSS
All in /_u_s_r/_l_i_b/_a_w_f (this can be overridden by the AWFLIB environment
variable):
common common device-independent initialization
dev.* device-specific initialization
mac.m* macro packages
pass1 macro substituter
pass2.base central formatter
pass2.m* macro-package-specific bits of formatter
pass3 line and page composer
SSSEEEEEE AAALLLSSSOOO
awk(1), nroff(1), man(7), ms(7)
U of Toronto 13 July 1990 2
AWF(1) Unix Programmer's Manual AWF(1)
DDDIIIAAAGGGNNNOOOSSSTTTIIICCCSSS
Unlike _n_r_o_f_f, _a_w_f complains whenever it sees unknown commands and macros.
All diagnostics (these and some internal ones) appear on standard error
at the end of the run.
HHHIIISSSTTTOOORRRYYY
Written at University of Toronto by Henry Spencer, more or less as a
supplement to the C News project.
=> None of the above really want to admit it. =<
BBBUUUGGGSSS
There are plenty, but what do you expect for a text formatter written
entirely in (old) _a_w_k?
The -mmmsss stuff has not been checked out very thoroughly.
U of Toronto 13 July 1990 3