@Section
    @Title { Cell width and height }
    @Tag { tbl_widt }
@Begin
@PP
Lout is quite good a choosing suitable widths for cells.  It leaves
column.width @RawIndex { column width }
column.width.in.tables @SubIndex { in tables }
narrow cells at their natural width, then uses paragraph breaking to
reduce the wider cells to a common width which is as large as
the available space allows:
@QD @OneRow @Tbl
    aformat { @Cell @I A | @Cell B | @Cell C }
{
@Rowa
    A { Acacia }
    B {
Shrub or small tree with grey-green foliage and brilliant
yellow blossom in late winter.
}
    C {
Distributed widely throughout Australia except in the most arid
parts; many varieties.
}
}
This usually looks good, but if you need something else, there is
the @Code width option:
tables. @RawIndex { tables }
tables.width @SubIndex { @Code "width" option }
width. @RawIndex { @Code "width" option }
width.in.tables @SubIndex { in tables }
@ID @OneRow @Code "@Cell width { 3c }"
Here we have asked for a cell width of three centimetres; this includes
the cell margins.  When using @Code width to fine-tune the appearance of
a table wide enough to require paragraph breaking, it is best to use
@Code width to make cells narrower, not wider.
@PP
Regrettably, there is no way to request that several cells in a row be
given a common width equal to the width of the widest.  One simple way to
approximate this is to give these cells the same @Code width value.  The
@Code width option also has a special value, {@Code "expand"}.  All
cells with @Code "width { expand }" are assigned a common width
tables. @RawIndex { tables }
tables.expand @SubIndex { @Code expand cell width }
expand.cell.width @Index { @Code expand cell width in tables }
equal to the maximum amount permitted by the available space.  For example,
@ID @OneRow @Code @Verbatim {
@QuotedDisplay @Tbl
    width { expand }
    paint { lightgrey }
    aformat { @Cell A  |  @Cell B  |  @Cell C }
{
@Rowa
    A { 23.56 }
    B { 98.76 }
    C { 65.00 }
}
}
has result
@QuotedDisplay @Tbl
    width { expand }
    paint { lightgrey }
    aformat { @Cell A  |  @Cell B  |  @Cell C }
{
@Rowa
    A { 23.56 }
    B { 98.76 }
    C { 65.00 }
}
We have used our usual trick of making the option apply to several cells
by moving it to a more general level, in this case to {@Code "@Tbl"}.
The available space can be reduced using the @Code "@Wide" symbol; if
we replace @Code "@QuotedDisplay @Tbl" in the example above with
@ID @OneRow @Code "@CentredDisplay 4i @Wide @Tbl"
the result will be
@CentredDisplay 4i @Wide @Tbl
    width { expand }
    paint { lightgrey }
    aformat { @Cell A  |  @Cell B  |  @Cell C }
{
@Rowa
    A { 23.56 }
    B { 98.76 }
    C { 65.00 }
}
with the total table width reduced to four inches.
@PP
There is an analogous @Code height option which makes a cell take on
tables. @RawIndex { tables }
tables.height @SubIndex { @Code height option }
height. @RawIndex { @Code "height" option }
height.in.tables @SubIndex { in tables }
a particular fixed height, again including margins.  Make sure there
is enough height in the cell to hold its entry when you use this
option.  The @Code "expand" value is not available for height.
@End @Section
