[EMAIL PROTECTED] wrote:

i am already setting a fixed width. the problem is that using 100 with
text%, col%, page% and line% never uses the width i'd expect (ie the same as
the surrounding text).
The problem is that you can't set the width of a table. You're setting
the width of a column, aren't you?  And a table consist of more than the
column, on each side of the column there is some space and possibly lines.

So, setting a 1-column table to 100 line% gives a table slightly
wider than the line due to the width of column separation.

Try the following in a tex box (or the preamble):
\setlength{\tabcolsep}{0pt}

This is kind of primitive, there is now no separation between columns,
but if all you have are single-column table without vertical lines, then
this may be all you need. Note that the command will affect all
following tables.

A more complicated example, that creates a table with the exact
width of the line, minus the column separation.  That way, the
table fits exactly on the line, with the contained single column being
slightly thinner than the table itself:

Put the following in a tex box:
\newlength{\tabwidth}
\setlength{\tabwidth}{\linewidth}
\addtolength{\tabwidth}{-2\tabcolsep}
(If your table has side lines, then you may have to subtract
the thickness of a line also, which I believe is 0.4pt)

This defines a new length "\tabwidth" that is as wide as a line
minus the column separation on either side.  Note that this doesn't
affect any tables as-is - you also have to modify tables to use this
new length:

For a single-column table, don't set the width.  Instead,
set the "latex argument" (in the same dialog) to:
|>{\raggedright}p{1\tabwidth}

The key here is the use of \tabwidth, using the previously defined length.
The rest is stuff that has to be there. . .

It is easy to get this wrong, and then lyx won't produce output.
For more ideas, make a lyx file with tables and export as latex.
Then you see how I found the above mentioned "latex argument".

Helge Hafting

Reply via email to