xref: /csrg-svn/old/tbl/tbl.1 (revision 50830)
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