plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

tbl.1 (4309B)


      1 .TH TBL 1
      2 .SH NAME
      3 tbl \- format tables for nroff or troff
      4 .SH SYNOPSIS
      5 .B tbl
      6 [
      7 .I file ...
      8 ]
      9 .SH DESCRIPTION
     10 .I Tbl
     11 is a preprocessor for formatting tables for
     12 .I nroff
     13 or
     14 .MR troff (1) .
     15 The input
     16 .I files
     17 are copied to the standard output,
     18 except for segments of the form
     19 .IP
     20 .nf
     21 .B .TS
     22 .IB options " ;
     23 .IB format " .
     24 .I data
     25 .B .T&
     26 .IB format " .
     27 .I data
     28 \&. . .
     29 .B .TE
     30 .fi
     31 .LP
     32 which describe tables
     33 and are replaced by
     34 .I troff 
     35 requests to lay out the tables.
     36 If no arguments are given,
     37 .I tbl
     38 reads the standard input.
     39 .PP
     40 The (optional)
     41 .I options
     42 line is terminated by a semicolon and contains one or more
     43 of
     44 .RS
     45 .TF linesize(n)
     46 .TP
     47 .B center
     48 center the table; default is left-adjust
     49 .TP
     50 .B expand
     51 make table as wide as current line length
     52 .TP
     53 .B box
     54 .TP
     55 .B doublebox
     56 enclose the table in a box or double box
     57 .TP
     58 .B allbox
     59 enclose every item in a box
     60 .TP
     61 .BI tab( x )
     62 use 
     63 .I x
     64 to separate input items; default is tab
     65 .TP
     66 .BI linesize( n )
     67 set rules in
     68 .IR n -point
     69 type
     70 .TP
     71 .BI delim( xy )
     72 recognize
     73 .I x
     74 and
     75 .I y
     76 as
     77 .MR eqn (1)
     78 delimiters
     79 .PD
     80 .RE
     81 .PP
     82 Each line, except the last, of the obligatory
     83 .I format
     84 describes one row of the table.
     85 The last line describes all rows until the next
     86 .BR .T& ,
     87 where the format changes,
     88 or the end of the table at
     89 .BR .TE .
     90 A format is specified by key letters, one per column, either upper or lower case:
     91 .RS
     92 .TP 0
     93 .B L
     94 Left justify: the default for
     95 columns without format keys.
     96 .PD0
     97 .TP
     98 .B R
     99 Right justify.
    100 .TP
    101 .B C
    102 Center.
    103 .TP
    104 .B N
    105 Numeric: align at decimal point (inferred for integers) or at
    106 .LR \e& .
    107 .TP
    108 .B S
    109 Span: extend previous column across this one.
    110 .TP
    111 .B A
    112 Alphabetic: left-aligned within column, widest item centered, indented relative to 
    113 .B L
    114 rows.
    115 .TP
    116 .B ^
    117 Vertical span: continue item from previous row into this row.
    118 .TP
    119 .B -
    120 Draw a horizontal rule in this column.
    121 .TP
    122 .B =
    123 Draw a double horizontal rule in this column.
    124 .PD
    125 .RE
    126 .PP
    127 Key letters may be followed by modifiers, also either case:
    128 .RS
    129 .TP \w'\fLF\fIfont\fLXX'u
    130 .B |
    131 Draw vertical rule between columns.
    132 .PD0
    133 .TP
    134 .B ||
    135 Draw a double vertical rule between columns.
    136 .TP
    137 .I n
    138 Gap between column is
    139 .I n
    140 ens wide.
    141 Default is 3.
    142 .TP
    143 .BI F font
    144 Use specified
    145 .IR font .
    146 .B B
    147 and
    148 .B I
    149 mean
    150 .B FB
    151 and
    152 .BR FI .
    153 .TP
    154 .B T
    155 Begin vertically-spanned item at top row of range; default is 
    156 vertical centering (with
    157 .LR ^ ).
    158 .TP
    159 .BI P n
    160 Use point size
    161 .IR n .
    162 .TP
    163 .BI V n
    164 Use
    165 .IR n -point
    166 vertical spacing in text block; signed
    167 .I n
    168 means relative change.
    169 .TP
    170 .BI W( n )
    171 Column width as a
    172 .I troff
    173 width specification.
    174 Parens are optional if
    175 .I n
    176 is a simple integer.
    177 .TP
    178 .B E
    179 Equalize the widths of all columns marked
    180 .BR E .
    181 .PD
    182 .RE
    183 .PP
    184 Each line of
    185 .I data
    186 becomes one row of the table; tabs separate items.
    187 Lines beginning with
    188 .L .
    189 are 
    190 .I troff 
    191 requests.
    192 Certain special data items are recognized:
    193 .RS
    194 .TP 0
    195 .B _
    196 Draw a horizontal rule in this column.
    197 .PD0
    198 .TP
    199 .B =
    200 Draw a double horizontal rule in this column.
    201 A data line consisting of a single
    202 .L _
    203 or
    204 .L =
    205 draws the rule across the whole table.
    206 .TP
    207 .B \e_
    208 Draw a rule only as wide as the contents of the column.
    209 .TP
    210 .BI \eR x
    211 Repeat character
    212 .I x
    213 across the column.
    214 .TP
    215 .B \e^
    216 Span the previous item in this column down into this row.
    217 .TP
    218 .B T{
    219 The item is a text block to be separately formatted
    220 by
    221 .I troff 
    222 and placed in the table.
    223 The block continues to the next line beginning with
    224 .BR T} .
    225 The remainder of the data line follows at that point.
    226 .PD
    227 .RE
    228 .PP
    229 When it is used in a pipeline with
    230 .IR eqn ,
    231 the
    232 .I tbl
    233 command should be first, to minimize the volume
    234 of data passed through
    235 pipes.
    236 .SH EXAMPLES
    237 .ds tb \fR<tab>\fP
    238 Let \*(tb
    239 represent a tab (which should
    240 be typed as a genuine tab).
    241 .if t .2C
    242 .EX
    243 \&.TS
    244 c s s
    245 c c s
    246 c c c
    247 l n n.
    248 Household Population
    249 Town\*(tbHouseholds
    250 \*(tbNumber\*(tbSize
    251 Bedminster\*(tb789\*(tb3.26
    252 Bernards Twp.\*(tb3087\*(tb3.74
    253 Bernardsville\*(tb2018\*(tb3.30
    254 \&.TE
    255 .if t \{\0 
    256 \0 
    257 \0\}
    258 .if n .PP
    259 .TS
    260 c s s
    261 c c s
    262 c c c
    263 l n n.
    264 Household Population
    265 Town	Households
    266 	Number	Size
    267 Bedminster	789	3.26
    268 Bernards Twp.	3087	3.74
    269 Bernardsville	2018	3.30
    270 .TE
    271 .EE
    272 .if t \{.sp3
    273 .1C\}
    274 .SH SOURCE
    275 .B \*9/src/cmd/tbl
    276 .SH SEE ALSO
    277 .IR troff (1), 
    278 .MR eqn (1) ,
    279 .MR doctype (1)
    280 .br
    281 M. E. Lesk and L. L. Cherry,
    282 ``TBL\(ema Program to Format Tables'',
    283 .I
    284 Unix Research System Programmer's Manual,
    285 Tenth Edition, Volume 2.