btwomey@mtuxj.att.com (XF3AA-W.TWOMEY) (02/09/89)
I'm trying to create multi-page boxed tables using tbl and mm and troff. I'm using .TS H and .TH to get the header repeated on pages. MM has problems though. I have had: the sides of the box go missing; pages come out blank except for the table header; and the last page have the last few lines jam into each other as if the vertical space had been decreased, as in .vs 2 . Lots of nonsense, really. I'll break the table into several page sized tables as a last resort. Is there a bug in mm? If you have had success with a multipage boxed table, can you send me a copy? Here is how I'm setting up the table. Do you see anything wrong? Table contents deleted for brevity. I don't think that the length of this table (300 lines) is munging things; errors have appeared on every page. This is exasperating, any help will be greatly appreciated. Bill Twomey 201-577-4627 AT&T Business Markets Group attmail!btwomey .PM N .PF "''- \\\\nP -''" .PH "'''junk2.tbl'" .\" there are extra columns on the left and right, it looks nicer .TS H center, doublebox; rw1 1 cw1 1 s s s sw1 rw1 1 rw1 1 c s s rw1 1 Lw1 1 c c c 1 Lw1 Lw1. \ \ Database File Usage\fR \ \ _ _ _ \ .T& rw1 1 Lw1 1 c c c 1 L 1 rw1 1 rw1 1 Lw1 1 c c c 1 L 1 rw1 1 rw1 1 Lw1 1 c c c 1 L 1 rw1 1. LOGICAL FILE C \ \ FILE ALIAS PROGRAM \ \ \ = = = = = \ .T& rw1 1 Lw1 1 ae 4 ce 4 a l. .TH noclass NOFILE flag.c \ w aclist.c badseed.c broad.c krispie.c poopt.c gagroot GAGFILE gagnld.c bloadpes.c slicingf1.c phspca.c . . . std STFILE poopt.c poorepf.c fnordcomf1.c fnordcopy.c .TE -- 201-577-4627 AT&T Business Markets Group Business Customer Platform & Equipment Provisioning Systems Division
hecht@hsi.UUCP (Alice Hecht) (02/11/89)
In article <946@mtuxj.att.com>, btwomey@mtuxj.att.com (XF3AA-W.TWOMEY) writes: > > I'm trying to create multi-page boxed tables using tbl and mm and troff. > I'm using .TS H and .TH to get the header repeated on pages. > > MM has problems though. I have had: the sides of the box go missing; > pages come out blank except for the table header; and the last page > have the last few lines jam into each other as if the vertical space > had been decreased, as in .vs 2 . Lots of nonsense, really. > > I'll break the table into several page sized tables as a last resort. > I've had similar problems with tables before and the only thing that ended working was ending the table at the bottom of each page and then restarting it again at the top. It seems that sometimes you can use the running table headers and sometimes it doesn't like it. The worst learning experience I ever had with tables was when I started a job at the end of the day and left for home and when I came in the next day to pick up my printout found out that the system administrator finally had to cancel my job 8 hours after I had left. What had happened was the table went into an infinite loop and tied up a majority of our CPU processing time. They weren't too happy with me that day. 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 there (and by the way I was using the MS macro but your situation sounds identical to mine). Alice -- Alice Hecht ...!uunet!hsi!hecht Health Systems International hecht@hsi.uu.net
debra@alice.UUCP (Paul De Bra) (02/14/89)
In article <1085@hsi.UUCP> hecht@hsi.UUCP (Alice Hecht) writes: ?In article <946@mtuxj.att.com>, btwomey@mtuxj.att.com (XF3AA-W.TWOMEY) writes: ?> ?> I'm trying to create multi-page boxed tables using tbl and mm and troff. ?> I'm using .TS H and .TH to get the header repeated on pages. ?> ?> MM has problems though. I have had: the sides of the box go missing; ?> pages come out blank except for the table header; and the last page ?> have the last few lines jam into each other as if the vertical space ?> had been decreased, as in .vs 2 . Lots of nonsense, really. ?> ?> I'll break the table into several page sized tables as a last resort. ?> ?I've had similar problems with tables before and the only thing that ?ended working was ending the table at the bottom of each page and then ?restarting it again at the top. It seems that sometimes you can use ?the running table headers and sometimes it doesn't like it. The worst ?learning experience I ever had with tables was when I started a job ?at the end of the day and left for home and when I came in the ?next day to pick up my printout found out that the system administrator ?finally had to cancel my job 8 hours after I had left. What had happened ?was the table went into an infinite loop and tied up a majority ?of our CPU processing time. They weren't too happy with me that day. ? ?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 there (and by the way I was using the ?MS macro but your situation sounds identical to mine). ? From working with people that are serious troff/tbl hackers I can predict that the bug most likely is in tbl, not in MM or troff. Tbl never checks the distance to the next trap, so whenever a table hits a trap or end of page the table gets messed up, since tbl generates code that does not print the table completely from the top to the bottom. Trying to go up and down on a page only works as long as you don't hit a trap. Paul. -- ------------------------------------------------------ |debra@research.att.com | uunet!research!debra | ------------------------------------------------------
was@hp-lsd.HP.COM (Bill Stubblebine) (02/14/89)
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
gdb@merch.TANDY.COM (David Butler) (02/14/89)
In article <946@mtuxj.att.com>, btwomey@mtuxj.att.com (XF3AA-W.TWOMEY) writes: > > I'm trying to create multi-page boxed tables using tbl and mm and troff. > I'm using .TS H and .TH to get the header repeated on pages. So far so good.. > > MM has problems though. That is an understatement... After fighting MM with this stuff I wrote my own macros to handle multi-page tbls correctly. The reason I did my own was MM was to complicated to fix the problem. Now that I have it working in my macros I have thought to fix it in MM but have not done it yet. The main problem is that MM tries to fudge the bottem of the page with a .sp -1v when a .TS H is running. WRONG. The only way I could get it to work correctly is at the footer trap do the following: move the footer out of the way (rename it) move absolutely to the place where you wanted the footer to start. Tell the tbl drawing macro to draw the horizontal and vertical lines. put the footer back (name it back) Do the normal footer stuff. I'm in the process of adding footnotes and real multi column (>2) with vertical justification (no more down the bottom of the first column with just a little bit in the second. Fills both (or more) down to an even bottom). As soon as I finish this I thought I would post it. It doesn't have all of MM's header number stuff, but I never use that in the "desktop publishing" type stuff we do. For reference we use DWB 2.0 on a Tandy 6000 and a Tandy LP1000. David Butler gdb@merch.TANDY.COM
edwards@houxa.ATT.COM (D.LEWAN) (02/17/89)
In article <8909@alice.UUCP>, debra@alice.UUCP (Paul De Bra) writes: > In article <1085@hsi.UUCP> hecht@hsi.UUCP (Alice Hecht) writes: > ?In article <946@mtuxj.att.com>, btwomey@mtuxj.att.com (XF3AA-W.TWOMEY) writes: > ?> > ?> I'm trying to create multi-page boxed tables using tbl and mm and troff. > ?> I'm using .TS H and .TH to get the header repeated on pages. > ?> > ?> MM has problems though. I have had: the sides of the box go missing; > ?> pages come out blank except for the table header; etc................. > ?I've had similar problems with tables before and the only thing that > ?ended working was ending the table at the bottom of each page and then > ?restarting it again at the top. etc................. > > From working with people that are serious troff/tbl hackers I can predict > that the bug most likely is in tbl, not in MM or troff. Tbl never checks > the distance to the next trap, etc................. I will not advocate tbl(1) as perfect -- far from it -- but the problem described is anticipated in both the tbl(1) documentation and implementations. To quote: The macro T# is defined to produce the bottom lines and side lines of a boxed table, and then invoked at its end. By the use of this macro in the page footer a multi-page can be boxed. It works -- generally, certainly not always; it seems that when things happen too close to traps troff gets confused about which side they're on and messes up accordingly. The bug is that the detail is so hidden in the documentation, and that is a side-effect of the fact that the documentation is so unstructured and scattered. It looks just like a research project that's been artificially elevated to the status of product without regard for the non-academic features that make *products* reasonable for use by people. Academic projects uncover universal truths; their results live independently. Any other favorite bugs in UNIX\(rg text processing? My favorites come from the fact that it is all interpreted and chained and there is no way to truly integrate. Others come from the 2 character restrictions on names. Oh, yeah, most tbl(1) implementations allow only 100 text blocks. C'm'on guys, in computer science is 100 really such a large number????? Yours in box rules, Doug
wrp@biochsn.acc.virginia.edu (William R. Pearson) (02/23/89)
> >Any other favorite bugs in UNIX\(rg text processing? My favorites >come from the fact that it is all interpreted and chained and there >is no way to truly integrate. Others come from the 2 character >restrictions on names. Oh, yeah, most tbl(1) implementations allow >only 100 text blocks. C'm'on guys, in computer science is 100 >really such a large number????? This week I encountered a more intransigent bug in tbl - how to get double spacing inside of text blocks T{,T}. Several of the things that I tried ended up spacing the text block down one line. None worked satifactorily. I would appreciate any suggestions on how to format the following table: .TS center box; c c l. col1<TAB>col2<TAB>T{ this is a very long text block that takes several lines }T .TE and have the text block be double spaced, without changing the .vs for the whole table. Bill Pearson