1*50830Scael.\" Copyright (c) 1990, 1991 Regents of the University of California. 2*50830Scael.\" All rights reserved. 3*50830Scael.\" 448317Sbostic.\" %sccs.include.proprietary.roff% 519499Smckusick.\" 6*50830Scael.\" @(#)tbl.1 6.4 (Berkeley) 08/09/91 743746Scael.\" 8*50830Scael.Dd 9*50830Scael.Dt TBL 1 10*50830Scael.Os ATT 7th 11*50830Scael.Sh NAME 12*50830Scael.Nm tbl 13*50830Scael.Nd format tables for nroff or troff 14*50830Scael.Sh SYNOPSIS 15*50830Scael.Nm tbl 16*50830Scael.Op Ar files 17*50830Scael.Ar ... 18*50830Scael.Sh DESCRIPTION 19*50830Scael.Nm Tbl 2019499Smckusickis a preprocessor for formatting tables for 21*50830Scael.Xr nroff 2219499Smckusickor 23*50830Scael.Xr troff 1 . 2419500SmckusickThe input files are copied to the standard output, except for lines between 25*50830Scael\&.TS and 26*50830Scael\&.TE command lines, which are assumed to describe tables 2719500Smckusickand are reformatted. 2819500SmckusickDetails are given in the 29*50830Scael.%T TBL 3019500Smckusickreference manual. 31*50830Scael.Sh EXAMPLE 32*50830Scael.Pp 33*50830ScaelAs an example, letting \et represent a tab (which should be typed as a genuine 3419500Smckusicktab) the input 35*50830Scael.Bd -literal -offset indent 3619499Smckusick\&.TS 3719499Smckusickc s s 3819499Smckusickc c s 3919499Smckusickc c c 4019499Smckusickl n n. 4119499SmckusickHousehold Population 4219499SmckusickTown\\tHouseholds 4319499Smckusick\\tNumber\\tSize 4419499SmckusickBedminster\\t789\\t3.26 4519499SmckusickBernards Twp.\\t3087\\t3.74 4619499SmckusickBernardsville\\t2018\\t3.30 4719499SmckusickBound Brook\\t3425\\t3.04 4819499SmckusickBranchburg\\t1644\\t3.49 4919499SmckusickBridgewater\\t7897\\t3.81 5019499SmckusickFar Hills\\t240\\t3.19 5119499Smckusick\&.TE 52*50830Scael.Ed 53*50830Scael.Pp 5419499Smckusickyields 55*50830Scael.Bd -unfilled -offset indent 5619499Smckusick.ne 10 5719499Smckusick.TS 5819499Smckusick.nr 35 \n(.u 5919499Smckusick.nr 79 0n 6019499Smckusick.nr 80 \n(79 6119499Smckusick.nr 40 \n(79 6219499Smckusick.nr 38 \n(79+\w!Town! 6319499Smckusick.if \n(80<\n(38 .nr 80 \n(38 6419499Smckusick.nr 38 \n(79+\w!! 6519499Smckusick.if \n(80<\n(38 .nr 80 \n(38 6619499Smckusick.nr 38 \n(79+\w!Bedminster! 6719499Smckusick.if \n(80<\n(38 .nr 80 \n(38 6819499Smckusick.nr 38 \n(79+\w!Bernards Twp.! 6919499Smckusick.if \n(80<\n(38 .nr 80 \n(38 7019499Smckusick.nr 38 \n(79+\w!Bernardsville! 7119499Smckusick.if \n(80<\n(38 .nr 80 \n(38 7219499Smckusick.nr 38 \n(79+\w!Bound Brook! 7319499Smckusick.if \n(80<\n(38 .nr 80 \n(38 7419499Smckusick.nr 38 \n(79+\w!Branchburg! 7519499Smckusick.if \n(80<\n(38 .nr 80 \n(38 7619499Smckusick.nr 38 \n(79+\w!Bridgewater! 7719499Smckusick.if \n(80<\n(38 .nr 80 \n(38 7819499Smckusick.nr 38 \n(79+\w!Far Hills! 7919499Smckusick.if \n(80<\n(38 .nr 80 \n(38 8019499Smckusick.nr 81 \n(80 8119499Smckusick.nr 41 \n(80 8219499Smckusick.nr 38 \n(80+\w!Number! 8319499Smckusick.if \n(81<\n(38 .nr 81 \n(38 8419499Smckusick.nr 31 0 8519499Smckusick.nr 32 0 8619499Smckusick.nr 38 \w!789! 8719499Smckusick.if \n(31<\n(38 .nr 31 \n(38 8819499Smckusick.nr 38 \w!! 8919499Smckusick.if \n(32<\n(38 .nr 32 \n(38 9019499Smckusick.nr 38 \w!3087! 9119499Smckusick.if \n(31<\n(38 .nr 31 \n(38 9219499Smckusick.nr 38 \w!! 9319499Smckusick.if \n(32<\n(38 .nr 32 \n(38 9419499Smckusick.nr 38 \w!2018! 9519499Smckusick.if \n(31<\n(38 .nr 31 \n(38 9619499Smckusick.nr 38 \w!! 9719499Smckusick.if \n(32<\n(38 .nr 32 \n(38 9819499Smckusick.nr 38 \w!3425! 9919499Smckusick.if \n(31<\n(38 .nr 31 \n(38 10019499Smckusick.nr 38 \w!! 10119499Smckusick.if \n(32<\n(38 .nr 32 \n(38 10219499Smckusick.nr 38 \w!1644! 10319499Smckusick.if \n(31<\n(38 .nr 31 \n(38 10419499Smckusick.nr 38 \w!! 10519499Smckusick.if \n(32<\n(38 .nr 32 \n(38 10619499Smckusick.nr 38 \w!7897! 10719499Smckusick.if \n(31<\n(38 .nr 31 \n(38 10819499Smckusick.nr 38 \w!! 10919499Smckusick.if \n(32<\n(38 .nr 32 \n(38 11019499Smckusick.nr 38 \w!240! 11119499Smckusick.if \n(31<\n(38 .nr 31 \n(38 11219499Smckusick.nr 38 \w!! 11319499Smckusick.if \n(32<\n(38 .nr 32 \n(38 11419499Smckusick.nr 61 \n(80+\n(31 11519499Smckusick.nr 38 \n(61+\n(32 11619499Smckusick.if \n(38>\n(81 .nr 81 \n(38 11719499Smckusick.if \n(38<\n(81 .nr 61 +(\n(81-\n(38)/2 11819499Smckusick.nr 82 \n(81 11919499Smckusick.nr 42 \n(81 12019499Smckusick.nr 38 \n(81+\w!Size! 12119499Smckusick.if \n(82<\n(38 .nr 82 \n(38 12219499Smckusick.nr 31 0 12319499Smckusick.nr 32 0 12419499Smckusick.nr 38 \w!3! 12519499Smckusick.if \n(31<\n(38 .nr 31 \n(38 12619499Smckusick.nr 38 \w!.26! 12719499Smckusick.if \n(32<\n(38 .nr 32 \n(38 12819499Smckusick.nr 38 \w!3! 12919499Smckusick.if \n(31<\n(38 .nr 31 \n(38 13019499Smckusick.nr 38 \w!.74! 13119499Smckusick.if \n(32<\n(38 .nr 32 \n(38 13219499Smckusick.nr 38 \w!3! 13319499Smckusick.if \n(31<\n(38 .nr 31 \n(38 13419499Smckusick.nr 38 \w!.30! 13519499Smckusick.if \n(32<\n(38 .nr 32 \n(38 13619499Smckusick.nr 38 \w!3! 13719499Smckusick.if \n(31<\n(38 .nr 31 \n(38 13819499Smckusick.nr 38 \w!.04! 13919499Smckusick.if \n(32<\n(38 .nr 32 \n(38 14019499Smckusick.nr 38 \w!3! 14119499Smckusick.if \n(31<\n(38 .nr 31 \n(38 14219499Smckusick.nr 38 \w!.49! 14319499Smckusick.if \n(32<\n(38 .nr 32 \n(38 14419499Smckusick.nr 38 \w!3! 14519499Smckusick.if \n(31<\n(38 .nr 31 \n(38 14619499Smckusick.nr 38 \w!.81! 14719499Smckusick.if \n(32<\n(38 .nr 32 \n(38 14819499Smckusick.nr 38 \w!3! 14919499Smckusick.if \n(31<\n(38 .nr 31 \n(38 15019499Smckusick.nr 38 \w!.19! 15119499Smckusick.if \n(32<\n(38 .nr 32 \n(38 15219499Smckusick.nr 62 \n(81+\n(31 15319499Smckusick.nr 38 \n(62+\n(32 15419499Smckusick.if \n(38>\n(82 .nr 82 \n(38 15519499Smckusick.if \n(38<\n(82 .nr 62 +(\n(82-\n(38)/2 15619499Smckusick.nr 38 \n(79+\w!Household Population!-\n(82 15719499Smckusick.if \n(38>0 .nr 38 \n(38/2 15819499Smckusick.if \n(38<0 .nr 38 0 15919499Smckusick.nr 61 +1*\n(38 16019499Smckusick.nr 81 +1*\n(38 16119499Smckusick.nr 41 +1*\n(38 16219499Smckusick.nr 62 +2*\n(38 16319499Smckusick.nr 82 +2*\n(38 16419499Smckusick.nr 42 +2*\n(38 16519499Smckusick.nr 38 \n(80+\w!Households!-\n(82 16619499Smckusick.if \n(38>0 .nr 38 \n(38/1 16719499Smckusick.if \n(38<0 .nr 38 0 16819499Smckusick.nr 62 +1*\n(38 16919499Smckusick.nr 82 +1*\n(38 17019499Smckusick.nr 42 +1*\n(38 17119499Smckusick.nr 38 1n 17219499Smckusick.nr 41 +3*\n(38 17319499Smckusick.nr 81 +3*\n(38 17419499Smckusick.nr 61 +3*\n(38 17519499Smckusick.if n .if \n(61%24>0 .nr 61 +12u 17619499Smckusick.nr 42 +6*\n(38 17719499Smckusick.nr 82 +6*\n(38 17819499Smckusick.nr 62 +6*\n(38 17919499Smckusick.if n .if \n(62%24>0 .nr 62 +12u 18019499Smckusick.nr TW \n(82 18119499Smckusick.fc ! : 18219499Smckusick.ta \n(82u 18319499Smckusick\&!:Household Population:! 18419499Smckusick.ta \n(80u \n(82u 18519499Smckusick\&\h'|\n(40u'!:Town:!\h'|\n(41u'!:Households:! 18619499Smckusick.ta \n(80u \n(81u \n(82u 18719499Smckusick\&\h'|\n(40u'!::!\h'|\n(41u'!:Number:!\h'|\n(42u'!:Size:! 18819499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 18919499Smckusick\&\h'|\n(40u'!Bedminster:!\h'|\n(41u'!:789!\h'|\n(42u'!:3!!.26:! 19019499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 19119499Smckusick\&\h'|\n(40u'!Bernards Twp.:!\h'|\n(41u'!:3087!\h'|\n(42u'!:3!!.74:! 19219499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 19319499Smckusick\&\h'|\n(40u'!Bernardsville:!\h'|\n(41u'!:2018!\h'|\n(42u'!:3!!.30:! 19419499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 19519499Smckusick\&\h'|\n(40u'!Bound Brook:!\h'|\n(41u'!:3425!\h'|\n(42u'!:3!!.04:! 19619499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 19719499Smckusick\&\h'|\n(40u'!Branchburg:!\h'|\n(41u'!:1644!\h'|\n(42u'!:3!!.49:! 19819499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 19919499Smckusick\&\h'|\n(40u'!Bridgewater:!\h'|\n(41u'!:7897!\h'|\n(42u'!:3!!.81:! 20019499Smckusick.ta \n(80u \n(61u \n(62u \n(82u 20119499Smckusick\&\h'|\n(40u'!Far Hills:!\h'|\n(41u'!:240!\h'|\n(42u'!:3!!.19:! 20219499Smckusick.fc 20319499Smckusick.mk ## 20419499Smckusick.nr ## -1v 20519499Smckusick.if \n(35>0 .fi 20619499Smckusick.TE 207*50830Scael.Ed 208*50830Scael.Pp 20919499SmckusickIf no arguments are given, 210*50830Scael.Nm tbl 21119500Smckusickreads the standard input, so it may be used as a filter. When 212*50830Scael.Nm tbl 21319500Smckusickis used with 214*50830Scael.Xr eqn 21519499Smckusickor 216*50830Scael.Xr neqn 21719499Smckusickthe 218*50830Scael.Nm tbl 21919500Smckusickcommand should be first, to minimize the volume of data passed through pipes. 220*50830Scael.Sh SEE ALSO 221*50830Scael.Xr troff 1 , 222*50830Scael.Xr eqn 1 223*50830Scael.Rs 224*50830Scael.%T TBL , 225*50830Scael.%A M. E. Lesk . 226*50830Scael.Re 227*50830Scael.Sh HISTORY 228*50830ScaelThe 229*50830Scael.Nm 230*50830Scaelcommand appeared in Version 7 AT&T UNIX. 231