|
|
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.