groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Strategy for fixing tbl


From: Werner LEMBERG
Subject: Re: [Groff] Strategy for fixing tbl
Date: Fri, 09 Feb 2007 00:26:22 +0100 (CET)

> I'm going to magically suppose that we have added to this preamble
> the setting of a numeric register named '3bc' that counts the number
> of columns containing block entries -- in this case, 1.  I don't
> know how to do that, yet, but bear with me.

I think this has to be done within tbl (on the C++ side, not on the
macro side).

> .lf 3 -
> .nr 3w0 \n[3w0]>?\w\[tbl]AAAAAA\[tbl]
> [...]
>
> What we're seeing here looks like computation of minimum column
> widths based on all the non-block entries.

Yep.

> .nr 3w0 \n[3w0]>?(\n[3lnw0]+\n[3rnw0])
> .if \n[3aw0] .nr 3w0 \n[3w0]>?(\n[3aw0]+2n)
> [...]
>
> The stuff above looks like column width corrections for inter-column
> spacing.

Correct.

>       .nr 3avail \n[.ll]
>       .nr 3avail -\n[3w0]
>       .nr 3avail -\n[3w1]
>       .nr 3avail -\n[3w2]
>       .nr 3avail 0>?\n[3avail]
>
> I think I just computed the amount of line width available for
> block-entry expansion.

It seems so.  I don't have the details in my head currently, but the
difference to the real value should be minor (if any).

> [...]
>
> Am I hallucinating?  This looks really simple.

I think it is.


    Werner




reply via email to

[Prev in Thread] Current Thread [Next in Thread]