On 03-Jan-07 T. Kurt Bond wrote: > Is there any way to find out the width of the most recent table? > -- > T. Kurt Bond, [EMAIL PROTECTED]
The following should work. Indeed, it may always work! When 'tbl' is invoked on groff code with ".TS"/".TE" blocks, it seems that a register \n[TW] is created towards the end of the 'tbl' output, whose value is the width of the table in device units. For example: .LP .TS tab(#); l0w(1i) l0w(1i) lw(1i). X#Y#Z .TE .LP This is an intervening line of text .LP This is the value of \n[TW] using the PS device, prints the value of \n[TW] as 216000, i.e. 3 inches (3 x 72 points x 1000). The table is defined so that each column has width "at least" 1 inch ("w(1i)"), with zero inter-column spacing ("l0", "l0"), and the entries are very short so that the columns should be exactly 1 inch each. The only thing I'm not really sure of is whether the register \n[TW] is created for every table (though I can;t imagine whyit should not be). If it is so created, then you will get the table width every time. Therefore, until you create a new table, \n[TW] should be available for the most recently created table. If you want to preserve the values for several tables, then you can of course copy the values of \n[TW] to new registers, e.g. .nr TW.1 \n[TW] .... .nr TW.2 \n[TW] .... Hoping this helps, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <[EMAIL PROTECTED]> Fax-to-email: +44 (0)870 094 0861 Date: 04-Jan-07 Time: 15:11:33 ------------------------------ XFMail ------------------------------ _______________________________________________ Groff mailing list Groff@gnu.org http://lists.gnu.org/mailman/listinfo/groff