Article View: comp.text
Article #5891Re: HELP! with boxed tables using MM, tbl
From: Bill Stubblebine
Date: Mon, 13 Feb 1989 18:21
Date: Mon, 13 Feb 1989 18:21
189 lines
11282 bytes
11282 bytes
hecht@hsi.UUCP (Alice Hecht) / 9:58 am Feb 10, 1989 /
> So if you're trying to have a table run from one page to the next,
> don't! There is definitely a bug in troff ...
> Alice
C'mon guys, read the manual. There's no bug. Here's a quote from our
local tbl documentation:
"Another important macro T# defines and produces the bottom lines
and side lines of a boxed table when it is invoked at the end of
a table or page. Including this macro in the page footer enables
you to create multi-page tables with headers repeated on each
successive page in the table by using the H argument with the .TS
macro."
The operative phrase is "when it is invoked at the end of a table or
page", meaning the USER must invoke the macro at the end of each page
to get the side lines on the current page and the header at the top of
the next page. Usually including .T# in the page footer suffices.
Tbl automatically invokes T# at the end of the table.
Below I've attached a commented example of a multi-page boxed table.
It's also a handy reference for troff's special characters. Just run
it through the command
tbl file | troff -mm
Bill Stubblebine
Hewlett-Packard Logic Systems Div.
8245 N. Union Blvd.
Colorado Springs, CO 80918
was%hp-lsd@hplabs.hp.com (Internet)
...!hplabs!hp-lsd!was (UUCP)
(719) 590-5568
--- CUT HERE -------------------- CUT HERE ---------------------- CUT HERE ---
.\" This macro implements the tbl-supplied T# macro for multi-paged boxed)
.\" tables. Note that unless you manipulate the T. register as shown, T#
.\" only prints the table's bottom line on the table's last page.
.\" Sometimes you may want this appearance to indicate that the table is
.\" incomplete. I think it's ugly, so T# is coerced to always print the
.\" bottom line using the T. register boolean.
.\" Also note that for safety's sake, it's good practice to remove the page
.\" trap after the end of the table.
.\"
.de BT \" begin BT (PAGE BOTTOM MACRO FOR MULTI-PAGE BOXED TABLES)
.ch BT \" -- Prevents T#'s vertical motion from triggering BT
.nr T. 1 \" -- Tells T# to draw a bottom horiz line (none if T. = 0)
.T# 1 \" -- Draw the table's vertical lines and bottom line
.nr T. 0 \" -- Restore T. to avoid side effects
.SK \" -- Skip to new page
.wh -1.0i BT \" -- Reset the trap at the bottom of the new page
.. \" END (of BT)
.\"
.wh -1.0i BT \" Set the initial trap at the bottom of the current page
.TS H
center, allbox;
cB s s s
c c c c
l l c l.
Table of Troff's Special Characters
Character Input Output Sample Usage
_
.TH
close quote ' ' `this is a quote'
open quote ` ` `this is a quote'
3/4 em dash \\\\(em \(em I was thinking\(emaha!
hyphen or - - self-motivated.
hyphen \\\\(hy \(hy hy\(hyphen
minus \\\\- \- 1\-2
bullet \\\\(bu \(bu test\(bulist
square \\\\(sq \(sq test\(sqlist
rule \\\\(ru \(ru rule
1/4 \\\\(14 \(14 1\(14
1/2 \\\\(12 \(12 1\(12
3/4 \\\\(34 \(34 1\(34
degree \\\\(de \(de Body temperature is 98.6\(deF.
dagger \\\\(dg \(dg this is footnoted\(dg in this sentence
foot mark \\\\(fm \(fm This is a footmark\(fm
cent sign \\\\(ct \(ct 50\(ct was spent
registered \\\\(rg \(rg Hewlett-Packard\(rg
copyright \\\\(co \(co Hewlett-Packard\(co
math plus \\\\(pl \(pl 1\(pl2\(eq3
math minus \\\\(mi \(mi 1\(mi2\(eq-1
math equals \\\\(eq \(eq 3\(pl4\(eq7
math star \\\\(** \(** 3\(**3\(eq9
acute accent \\\\(aa \(aa \(aa
grave accent \\\\(ga \(ga \(ga
underrule \\\\(ul \(ul under\(ulrule
slash \\\\(sl \(sl sl\(slash
alpha \\\\(*a \(*a \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
beta \\\\(*b \(*b \(*b\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
gamma \\\\(*g \(*g \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
delta \\\\(*d \(*d \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
epsilon \\\\(*e \(*e \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
zeta \\\\(*z \(*z \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
eta \\\\(*y \(*y \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
theta \\\\(*h \(*h \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
iota \\\\(*i \(*i \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
kappa \\\\(*k \(*k \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
lambda \\\\(*l \(*l \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
mu \\\\(*m \(*m \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
nu \\\\(*n \(*n \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
xi \\\\(*c \(*c \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
omicron \\\\(*o \(*o \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
pi \\\\(*p \(*p \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
rho \\\\(*r \(*r \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
sigma \\\\(*s \(*s \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
terminal sigma \\\\(ts \(ts \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
tau \\\\(*t \(*t \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
upsilon \\\\(*u \(*u \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
phi \\\\(*f \(*f \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
chi \\\\(*x \(*x \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
psi \\\\(*q \(*q \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
omega \\\\(*w \(*w \(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w
Alpha \\\\(*A \(*A \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Beta \\\\(*B \(*B \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Gamma \\\\(*G \(*G \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Delta \\\\(*D \(*D \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Epsilon \\\\(*E \(*E \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Zeta \\\\(*Z \(*Z \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Eta \\\\(*Y \(*Y \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Theta \\\\(*H \(*H \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Iota \\\\(*I \(*I \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Kappa \\\\(*K \(*K \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Lambda \\\\(*L \(*L \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Mu \\\\(*M \(*M \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Nu \\\\(*N \(*N \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Xi \\\\(*C \(*C \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Omicron \\\\(*O \(*O \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Pi \\\\(*P \(*P \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Rho \\\\(*R \(*R \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Sigma \\\\(*S \(*S \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Tau \\\\(*T \(*T \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Phi \\\\(*F \(*F \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Chi \\\\(*X \(*X \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Psi \\\\(*Q \(*Q \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
Omega \\\\(*W \(*W \(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*F\(*X\(*Q\(*W
square root \\\\(sr \(sr \(sr
root extender \\\\(rn \(rn \(rn
>= \\\\(>= \(>= 6\(>=5\(<=5
<= \\\\(<= \(<= 6\(>=5\(<=5
identical \\\\(== \(== 1+2\(==3
approx equal \\\\(~= \(~= 1776\(~=1800
approximates \\\\(ap \(ap \(ap
not equal \\\\(!= \(!= 3\(!=4
right arrow \\\\(-> \(-> I am pointer\(->to this
left arrow \\\\(<- \(<- I am pointer\(<-to that
up arrow \\\\(ua \(ua press the \(ua key
down arrow \\\\(da \(da press the \(da key
multiply \\\\(mu \(mu 4\(mu4\(eq16
divide \\\\(di \(di 4\(di4\(eq1
plus-minus \\\\(+- \(+- X\(+-5\(~=10
cup (union) \\\\(cu \(cu Union is \(cu
cap \\\\(ca \(ca \(ca
subset of \\\\(sb \(sb \(sb
superset of \\\\(sp \(sp \(sp
improper subset \\\\(ib \(ib \(ib
improper superset \\\\(ip \(ip \(ip
infinity \\\\(if \(if 1\(di0+5=\(if+5
partial derivative \\\\(pd \(pd \(pd
gradient \\\\(gr \(gr \(gr
not \\\\(no \(no \(no
integral sign \\\\(is \(is \(is
proportional to \\\\(pt \(pt \(pt
empty set \\\\(es \(es \(es
member of \\\\(mo \(mo \(mo
box vert rule \\\\(br \(br \(br
double dagger \\\\(dd \(dd this is footnoted\(dd in this sentence
right hand \\\\(rh \(rh go \(rh
left hand \\\\(lh \(lh go \(lh
Bell Logo \\\\(bs \(bs product of \(bs
or \\\\(or \(or \(or
circle \\\\(ci \(ci \(ci
left top \\\\(lt \(lt
left bottom \\\\(lb \(lb
right top \\\\(rt \(rt
right bottom \\\\(rb \(rb
left center \\\\(lk \(lk
right center \\\\(rk \(rk
bold vertical \\\\(bv \(bv \(bv
left floor \\\\(lf \(lf
right floor \\\\(rf \(rf
left ceiling \\\\(lc \(lc
right ceiling \\\\(rc \(rc
.TE
.ch BT \" remove the multi-page table page trap
Technical Details
Message-ID:
<8210003@hp-lsd.HP.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!hplabs!hpfcdc!hpldola!hp-lsd!wasReferences:
<946@mtuxj.att.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!hplabs!hpfcdc!hpldola!hp-lsd!was From: was@hp-lsd.HP.COM (Bill Stubblebine) Newsgroups: comp.text Subject: Re: HELP! with boxed tables using MM, tbl Message-ID: <8210003@hp-lsd.HP.COM> Date: 13 Feb 89 18:21:01 GMT References: <946@mtuxj.att.com> Organization: HP Logic Systems Division - ColoSpgs, CO Lines: 189