|
|
1.1 ! root 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: .IR 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: .IR 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 /sys/src/cmd/tbl ! 276: .SH SEE ALSO ! 277: .IR troff (1), ! 278: .IR eqn (1), ! 279: .IR 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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.