|
|
1.1 root 1: From lepanto!fred Thu Jul 23 08:30:58 1992 remote from mwc
2: Received: by igor.mwc.com (smail2.5.2-coh) id AA00722; 23 Jul 92 08:30:58
3: Received: by mwc.com (smail2.5.3-coh) id AA00391; 23 Jul 92 02:16:25
4: Received: by lepanto.mwc.com (smail2.5.3-coh) id AA17866; 22 Jul 92 20:42:12
5: Message-Id: <[email protected]>
6: Date: 22 Jul 92 20:42:11
7: From: [email protected] (Fred Butzen)
8: To: norman steve
9:
10: Norm, Steve:
11:
12: Just for grins, I ran the following test through the "eroff" implementation
13: of "tbl":
14:
15: .TS
16: allbox;
17: c s s
18: c c c
19: n n n.
20: AT&T Common Stock
21: Year Price Dividend
22: 1971 41-54 $2.60
23: 2 45-54 2.70
24: 3 46-55 2.87
25: 4 40-53 3.24
26: 5 45-52 3.40
27: 6 51-59 .95*
28: .TE
29: *(first quarter only)
30:
31: It produced the following output:
32:
33: .ds f. test2.tbl
34: .TS
35: .if \n+(b.=1 .nr d. \n(.c-\n(c.-1
36: .de 35
37: .ps \n(.s
38: .vs \n(.vu
39: .in \n(.iu
40: .if \n(.u .fi
41: .if \n(.j .ad
42: .if \n(.j=0 .na
43: ..
44: .nf
45: .nr #~ 0
46: .if \n(.T .if n .nr #~ 0.6n
47: .ds #d .d
48: .if \n(.z .ds #d nl
49: .fc
50: .nr 33 \n(.s
51: .nr 39 \n(.s
52: .rm 48 49 50
53: .if \n(.z \{\
54: . ch #f
55: . wh \n(nlu+\n(.tu-2v #f\}
56: .eo
57: .de #f
58: .ie \n(#& \{ \
59: . nr #& 0
60: . nr #| 1
61: . di #o \}
62: .el \{ \
63: . ch #f
64: . nr T. 1
65: . if \n(#| .sp
66: . T#
67: . sp \n(.tu
68: . mk #T
69: . nr #a \n(#T
70: . nr #c \n(#T
71: . nr ^a \n(#T
72: . nr ^b \n(#T
73: . nr ^c \n(#T
74: . if \n(#| \{ \
75: .nr 36 \n(.v
76: .vs \n(.vu-\n(.sp
77: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
78: .vs \n(36u
79: . in 0
80: . #+
81: . in
82: . rm #+
83: . mk 32
84: . nr #| 0\}
85: . wh \n(nlu+\n(.tu-2v #f \}
86: ..
87: .de #%
88: .if \n(.z#o \{ \
89: . sp |0u
90: . in 0
91: . #+
92: . in
93: . sp |\n(.hu
94: . di
95: . rn #o #+ \}
96: ..
97: .ec
98: .nr 48 0
99: .nr 38 \wYear
100: .if \n(48<\n(38 .nr 48 \n(38
101: .nr 31 0
102: .nr 32 0
103: .nr 38 \w1971
104: .if \n(31<\n(38 .nr 31 \n(38
105: .nr 38 \w2
106: .if \n(31<\n(38 .nr 31 \n(38
107: .nr 38 \w3
108: .if \n(31<\n(38 .nr 31 \n(38
109: .nr 38 \w4
110: .if \n(31<\n(38 .nr 31 \n(38
111: .nr 38 \w5
112: .if \n(31<\n(38 .nr 31 \n(38
113: .nr 38 \w6
114: .if \n(31<\n(38 .nr 31 \n(38
115: .48
116: .rm 48
117: .nr 44 \n(31
118: .nr 38 \n(44+\n(32
119: .if \n(38>\n(48 .nr 48 \n(38
120: .if \n(38<\n(48 .nr 44 +(\n(48-\n(38)/2
121: .nr 49 0
122: .nr 38 \wPrice
123: .if \n(49<\n(38 .nr 49 \n(38
124: .nr 31 0
125: .nr 32 0
126: .nr 38 \w41-54
127: .if \n(31<\n(38 .nr 31 \n(38
128: .nr 38 \w45-54
129: .if \n(31<\n(38 .nr 31 \n(38
130: .nr 38 \w46-55
131: .if \n(31<\n(38 .nr 31 \n(38
132: .nr 38 \w40-53
133: .if \n(31<\n(38 .nr 31 \n(38
134: .nr 38 \w45-52
135: .if \n(31<\n(38 .nr 31 \n(38
136: .nr 38 \w51-59
137: .if \n(31<\n(38 .nr 31 \n(38
138: .49
139: .rm 49
140: .nr 45 \n(31
141: .nr 38 \n(45+\n(32
142: .if \n(38>\n(49 .nr 49 \n(38
143: .if \n(38<\n(49 .nr 45 +(\n(49-\n(38)/2
144: .nr 50 0
145: .nr 38 \wDividend
146: .if \n(50<\n(38 .nr 50 \n(38
147: .nr 31 0
148: .nr 32 0
149: .nr 38 \w$2
150: .if \n(31<\n(38 .nr 31 \n(38
151: .nr 38 \w.60
152: .if \n(32<\n(38 .nr 32 \n(38
153: .nr 38 \w2
154: .if \n(31<\n(38 .nr 31 \n(38
155: .nr 38 \w.70
156: .if \n(32<\n(38 .nr 32 \n(38
157: .nr 38 \w2
158: .if \n(31<\n(38 .nr 31 \n(38
159: .nr 38 \w.87
160: .if \n(32<\n(38 .nr 32 \n(38
161: .nr 38 \w3
162: .if \n(31<\n(38 .nr 31 \n(38
163: .nr 38 \w.24
164: .if \n(32<\n(38 .nr 32 \n(38
165: .nr 38 \w3
166: .if \n(31<\n(38 .nr 31 \n(38
167: .nr 38 \w.40
168: .if \n(32<\n(38 .nr 32 \n(38
169: .nr 38 \w.95*
170: .if \n(32<\n(38 .nr 32 \n(38
171: .50
172: .rm 50
173: .nr 46 \n(31
174: .nr 38 \n(46+\n(32
175: .if \n(38>\n(50 .nr 50 \n(38
176: .if \n(38<\n(50 .nr 46 +(\n(50-\n(38)/2
177: .nr 38 \wAT&T Common Stock-\n(48-3n-\n(49-3n-\n(50
178: .if \n(38>0 .nr 38 \n(38/2
179: .if \n(38<0 .nr 38 0
180: .nr 44 +\n(38/2
181: .nr 48 +\n(38
182: .nr 45 +\n(38/2
183: .nr 49 +\n(38
184: .nr 38 1n
185: .nr 47 0
186: .nr 40 \n(47+((2*\n(38)/2)
187: .nr 48 +\n(40
188: .nr 44 +\n(40
189: .nr 41 \n(48+((6*\n(38)/2)
190: .nr 49 +\n(41
191: .nr 45 +\n(41
192: .nr 42 \n(49+((6*\n(38)/2)
193: .nr 50 +\n(42
194: .nr 46 +\n(42
195: .nr TW \n(50
196: .nr TW +((2*\n(38)/2)
197: .ne 8v+(0u*(\n(.vu-\n(.sp))+(2u*(\n(.vu-\n(.sp))
198: .fc
199: .nr #T 0-1
200: .nr #a 0-1
201: .nr #c 0-1
202: .nr #a 0-1
203: .eo
204: .de T#
205: .nr 38 \n(.s
206: .ps \n(39p
207: .nr 35 1m
208: .ds #d .d
209: .if \n(.z .ds #d nl
210: .mk ##
211: .nr ## -1v
212: .ls 1
213: .if \n(T. .vs \n(.vu-\n(.sp
214: .if \n(T. \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
215: .if \n(T. .vs
216: .if \n(#T>=0 .nr #a \n(#T
217: .if \n(#c<0 .nr #c \n(#T
218: .if \n(#a>=0 \{\
219: . sp -1
220: . ie \n(#a=\n(#T \{\
221: \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'\}
222: . el \{\
223: \h'|0'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'\}\}
224: .if \n(#c>=0 \{\
225: . sp -1
226: . ie \n(#c=\n(#T \{\
227: . ie \n(3a \{\
228: \h'(|\n(41u+|\n(48u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'\}
229: . el \{\
230: \h'(|\n(41u+|\n(48u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
231: . el \{\
232: . nr 3a 1
233: \h'(|\n(41u+|\n(48u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
234: .if \n(#c>=0 \{\
235: . sp -1
236: . ie \n(#c=\n(#T \{\
237: . ie \n(3a \{\
238: \h'(|\n(42u+|\n(49u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\h'|\n(TWu'\}
239: . el \{\
240: \h'(|\n(42u+|\n(49u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
241: . el \{\
242: . nr 3a 1
243: \h'(|\n(42u+|\n(49u)/2u'\s\n(33\h'-\n(#~u'\L'|\n(#cu-\n(35u'\s0\v'\n(\*(#du-\n(#cu+\n(35u'\h'|\n(TWu'\}\}
244: .if \n(#a>=0 \{.sp -1
245: . ie \n(#a=\n(#T \{\
246: \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\}
247: . el \{\
248: \h'|\n(TWu'\s\n(33\h'-\n(#~u'\L'|\n(#au-1v'\s0\v'\n(\*(#du-\n(#au+1v'\}\}
249: .nr #c 0-1
250: .ls
251: .ps \n(38p
252: ..
253: .ec
254: .if \n(.tu<=2v .#f
255: .nr tH 0
256: .nr 36 \n(.v
257: .vs \n(.vu-\n(.sp
258: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
259: .vs \n(36u
260: .mk #a
261: .nr 32 0
262: .nr 32 \n(32u+\n(.du+2p
263: .ta \n(50u
264: .nr 35 1m
265: .nr 31 \n(.f
266: \&\h'|\n(40u'AT&T Common Stock
267: .if \n(.tu<=2v .#f
268: .nr tH 0
269: .mk #c
270: .nr 36 \n(.v
271: .vs \n(.vu-\n(.sp
272: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
273: .vs \n(36u
274: .nr 32 0
275: .nr 32 \n(32u+\n(.du+2p
276: .ta \n(48u \n(49u \n(50u
277: .nr 35 1m
278: .nr 31 \n(.f
279: \&\h'|\n(40u'Year\h'|\n(41u'Price\h'|\n(42u'Dividend
280: .if \n(.tu<=2v .#f
281: .nr tH 0
282: .nr 36 \n(.v
283: .vs \n(.vu-\n(.sp
284: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
285: .vs \n(36u
286: .nr 32 0
287: .nr 32 \n(32u+\n(.du+2p
288: .ta \n(44u \n(45u \n(46u \n(50u
289: .nr 35 1m
290: .nr 31 \n(.f
291: \&\h'|\n(40u'1971\h'|\n(41u'41-54\h'|\n(42u'$2.60
292: .if \n(.tu<=2v .#f
293: .nr tH 0
294: .nr 36 \n(.v
295: .vs \n(.vu-\n(.sp
296: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
297: .vs \n(36u
298: .nr 32 0
299: .nr 32 \n(32u+\n(.du+2p
300: .ta \n(44u \n(45u \n(46u \n(50u
301: .nr 35 1m
302: .nr 31 \n(.f
303: \&\h'|\n(40u'2\h'|\n(41u'45-54\h'|\n(42u'2.70
304: .if \n(.tu<=2v .#f
305: .nr tH 0
306: .nr 36 \n(.v
307: .vs \n(.vu-\n(.sp
308: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
309: .vs \n(36u
310: .nr 32 0
311: .nr 32 \n(32u+\n(.du+2p
312: .ta \n(44u \n(45u \n(46u \n(50u
313: .nr 35 1m
314: .nr 31 \n(.f
315: \&\h'|\n(40u'3\h'|\n(41u'46-55\h'|\n(42u'2.87
316: .if \n(.tu<=2v .#f
317: .nr tH 0
318: .nr 36 \n(.v
319: .vs \n(.vu-\n(.sp
320: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
321: .vs \n(36u
322: .nr 32 0
323: .nr 32 \n(32u+\n(.du+2p
324: .ta \n(44u \n(45u \n(46u \n(50u
325: .nr 35 1m
326: .nr 31 \n(.f
327: \&\h'|\n(40u'4\h'|\n(41u'40-53\h'|\n(42u'3.24
328: .if \n(.tu<=2v .#f
329: .nr tH 0
330: .nr 36 \n(.v
331: .vs \n(.vu-\n(.sp
332: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
333: .vs \n(36u
334: .nr 32 0
335: .nr 32 \n(32u+\n(.du+2p
336: .ta \n(44u \n(45u \n(46u \n(50u
337: .nr 35 1m
338: .nr 31 \n(.f
339: \&\h'|\n(40u'5\h'|\n(41u'45-52\h'|\n(42u'3.40
340: .if \n(.tu<=2v .#f
341: .nr tH 0
342: .nr 36 \n(.v
343: .vs \n(.vu-\n(.sp
344: \h'|0'\s\n(33\l'|\n(TWu\(ul'\s0
345: .vs \n(36u
346: .nr 32 0
347: .nr 32 \n(32u+\n(.du+2p
348: .ta \n(44u \n(45u \n(46u \n(50u
349: .nr 35 1m
350: .nr 31 \n(.f
351: \&\h'|\n(40u'6\h'|\n(41u'51-59\h'|\n(42u'.95*
352: .fc
353: .ch #f
354: .rm #f
355: .nr T. 1
356: .T# \n(T.
357: .rm T#
358: .rr 3a
359: .35
360: .nr #a 0
361: .nr #c 0
362: .TE
363: .if \n-(b.=0 .nr c. \n(.c-\n(d.-13
364: *(first quarter only)
365:
366: This dies with numerous errors, the most important being the inability
367: to remove number registers with numeric names and the lack of an
368: implementation of the .fc primitive. I don't know if it would be worth
369: it to make our troff be able to digest tbl output (although I'd love
370: to have a tbl of my own), but here's something you can work with.
371:
372:
373:
374: [email protected] -- Fred Butzen --
375: President, William Billings Chapter,
376: Don Carlo Gesualdo Fan Club
377:
378: &&
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.