xref: /original-bsd/old/tbl/tbl.1 (revision 7748387a)
1.\" Copyright (c) 1990, 1991 Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" %sccs.include.proprietary.roff%
5.\"
6.\"     @(#)tbl.1	6.4 (Berkeley) 08/09/91
7.\"
8.Dd
9.Dt TBL 1
10.Os ATT 7th
11.Sh NAME
12.Nm tbl
13.Nd format tables for nroff or troff
14.Sh SYNOPSIS
15.Nm tbl
16.Op Ar files
17.Ar ...
18.Sh DESCRIPTION
19.Nm Tbl
20is a preprocessor for formatting tables for
21.Xr nroff
22or
23.Xr troff 1 .
24The input files are copied to the standard output, except for lines between
25\&.TS and
26\&.TE command lines, which are assumed to describe tables
27and are reformatted.
28Details are given in the
29.%T TBL
30reference manual.
31.Sh EXAMPLE
32.Pp
33As an example, letting \et represent a tab (which should be typed as a genuine
34tab) the input
35.Bd -literal -offset indent
36\&.TS
37c s s
38c c s
39c c c
40l n n.
41Household Population
42Town\\tHouseholds
43\\tNumber\\tSize
44Bedminster\\t789\\t3.26
45Bernards Twp.\\t3087\\t3.74
46Bernardsville\\t2018\\t3.30
47Bound Brook\\t3425\\t3.04
48Branchburg\\t1644\\t3.49
49Bridgewater\\t7897\\t3.81
50Far Hills\\t240\\t3.19
51\&.TE
52.Ed
53.Pp
54yields
55.Bd -unfilled -offset indent
56.ne 10
57.TS
58.nr 35 \n(.u
59.nr 79 0n
60.nr 80 \n(79
61.nr 40 \n(79
62.nr 38 \n(79+\w!Town!
63.if \n(80<\n(38 .nr 80 \n(38
64.nr 38 \n(79+\w!!
65.if \n(80<\n(38 .nr 80 \n(38
66.nr 38 \n(79+\w!Bedminster!
67.if \n(80<\n(38 .nr 80 \n(38
68.nr 38 \n(79+\w!Bernards Twp.!
69.if \n(80<\n(38 .nr 80 \n(38
70.nr 38 \n(79+\w!Bernardsville!
71.if \n(80<\n(38 .nr 80 \n(38
72.nr 38 \n(79+\w!Bound Brook!
73.if \n(80<\n(38 .nr 80 \n(38
74.nr 38 \n(79+\w!Branchburg!
75.if \n(80<\n(38 .nr 80 \n(38
76.nr 38 \n(79+\w!Bridgewater!
77.if \n(80<\n(38 .nr 80 \n(38
78.nr 38 \n(79+\w!Far Hills!
79.if \n(80<\n(38 .nr 80 \n(38
80.nr 81 \n(80
81.nr 41 \n(80
82.nr 38 \n(80+\w!Number!
83.if \n(81<\n(38 .nr 81 \n(38
84.nr 31 0
85.nr 32 0
86.nr 38 \w!789!
87.if \n(31<\n(38 .nr 31 \n(38
88.nr 38 \w!!
89.if \n(32<\n(38 .nr 32 \n(38
90.nr 38 \w!3087!
91.if \n(31<\n(38 .nr 31 \n(38
92.nr 38 \w!!
93.if \n(32<\n(38 .nr 32 \n(38
94.nr 38 \w!2018!
95.if \n(31<\n(38 .nr 31 \n(38
96.nr 38 \w!!
97.if \n(32<\n(38 .nr 32 \n(38
98.nr 38 \w!3425!
99.if \n(31<\n(38 .nr 31 \n(38
100.nr 38 \w!!
101.if \n(32<\n(38 .nr 32 \n(38
102.nr 38 \w!1644!
103.if \n(31<\n(38 .nr 31 \n(38
104.nr 38 \w!!
105.if \n(32<\n(38 .nr 32 \n(38
106.nr 38 \w!7897!
107.if \n(31<\n(38 .nr 31 \n(38
108.nr 38 \w!!
109.if \n(32<\n(38 .nr 32 \n(38
110.nr 38 \w!240!
111.if \n(31<\n(38 .nr 31 \n(38
112.nr 38 \w!!
113.if \n(32<\n(38 .nr 32 \n(38
114.nr 61 \n(80+\n(31
115.nr 38 \n(61+\n(32
116.if \n(38>\n(81 .nr 81 \n(38
117.if \n(38<\n(81 .nr 61 +(\n(81-\n(38)/2
118.nr 82 \n(81
119.nr 42 \n(81
120.nr 38 \n(81+\w!Size!
121.if \n(82<\n(38 .nr 82 \n(38
122.nr 31 0
123.nr 32 0
124.nr 38 \w!3!
125.if \n(31<\n(38 .nr 31 \n(38
126.nr 38 \w!.26!
127.if \n(32<\n(38 .nr 32 \n(38
128.nr 38 \w!3!
129.if \n(31<\n(38 .nr 31 \n(38
130.nr 38 \w!.74!
131.if \n(32<\n(38 .nr 32 \n(38
132.nr 38 \w!3!
133.if \n(31<\n(38 .nr 31 \n(38
134.nr 38 \w!.30!
135.if \n(32<\n(38 .nr 32 \n(38
136.nr 38 \w!3!
137.if \n(31<\n(38 .nr 31 \n(38
138.nr 38 \w!.04!
139.if \n(32<\n(38 .nr 32 \n(38
140.nr 38 \w!3!
141.if \n(31<\n(38 .nr 31 \n(38
142.nr 38 \w!.49!
143.if \n(32<\n(38 .nr 32 \n(38
144.nr 38 \w!3!
145.if \n(31<\n(38 .nr 31 \n(38
146.nr 38 \w!.81!
147.if \n(32<\n(38 .nr 32 \n(38
148.nr 38 \w!3!
149.if \n(31<\n(38 .nr 31 \n(38
150.nr 38 \w!.19!
151.if \n(32<\n(38 .nr 32 \n(38
152.nr 62 \n(81+\n(31
153.nr 38 \n(62+\n(32
154.if \n(38>\n(82 .nr 82 \n(38
155.if \n(38<\n(82 .nr 62 +(\n(82-\n(38)/2
156.nr 38 \n(79+\w!Household Population!-\n(82
157.if \n(38>0 .nr 38 \n(38/2
158.if \n(38<0 .nr 38 0
159.nr 61 +1*\n(38
160.nr 81 +1*\n(38
161.nr 41 +1*\n(38
162.nr 62 +2*\n(38
163.nr 82 +2*\n(38
164.nr 42 +2*\n(38
165.nr 38 \n(80+\w!Households!-\n(82
166.if \n(38>0 .nr 38 \n(38/1
167.if \n(38<0 .nr 38 0
168.nr 62 +1*\n(38
169.nr 82 +1*\n(38
170.nr 42 +1*\n(38
171.nr 38 1n
172.nr 41 +3*\n(38
173.nr 81 +3*\n(38
174.nr 61 +3*\n(38
175.if n .if \n(61%24>0 .nr 61 +12u
176.nr 42 +6*\n(38
177.nr 82 +6*\n(38
178.nr 62 +6*\n(38
179.if n .if \n(62%24>0 .nr 62 +12u
180.nr TW \n(82
181.fc ! :
182.ta \n(82u
183\&!:Household Population:!
184.ta \n(80u \n(82u
185\&\h'|\n(40u'!:Town:!\h'|\n(41u'!:Households:!
186.ta \n(80u \n(81u \n(82u
187\&\h'|\n(40u'!::!\h'|\n(41u'!:Number:!\h'|\n(42u'!:Size:!
188.ta \n(80u \n(61u \n(62u \n(82u
189\&\h'|\n(40u'!Bedminster:!\h'|\n(41u'!:789!\h'|\n(42u'!:3!!.26:!
190.ta \n(80u \n(61u \n(62u \n(82u
191\&\h'|\n(40u'!Bernards Twp.:!\h'|\n(41u'!:3087!\h'|\n(42u'!:3!!.74:!
192.ta \n(80u \n(61u \n(62u \n(82u
193\&\h'|\n(40u'!Bernardsville:!\h'|\n(41u'!:2018!\h'|\n(42u'!:3!!.30:!
194.ta \n(80u \n(61u \n(62u \n(82u
195\&\h'|\n(40u'!Bound Brook:!\h'|\n(41u'!:3425!\h'|\n(42u'!:3!!.04:!
196.ta \n(80u \n(61u \n(62u \n(82u
197\&\h'|\n(40u'!Branchburg:!\h'|\n(41u'!:1644!\h'|\n(42u'!:3!!.49:!
198.ta \n(80u \n(61u \n(62u \n(82u
199\&\h'|\n(40u'!Bridgewater:!\h'|\n(41u'!:7897!\h'|\n(42u'!:3!!.81:!
200.ta \n(80u \n(61u \n(62u \n(82u
201\&\h'|\n(40u'!Far Hills:!\h'|\n(41u'!:240!\h'|\n(42u'!:3!!.19:!
202.fc
203.mk ##
204.nr ## -1v
205.if \n(35>0 .fi
206.TE
207.Ed
208.Pp
209If no arguments are given,
210.Nm tbl
211reads the standard input, so it may be used as a filter.  When
212.Nm tbl
213is used with
214.Xr eqn
215or
216.Xr neqn
217the
218.Nm tbl
219command should be first, to minimize the volume of data passed through pipes.
220.Sh SEE ALSO
221.Xr troff 1 ,
222.Xr eqn 1
223.Rs
224.%T TBL ,
225.%A M. E. Lesk .
226.Re
227.Sh HISTORY
228The
229.Nm
230command appeared in Version 7 AT&T UNIX.
231