Macro Language Reference > PIs > Tables > <?tbcolw>
  
<?tbcolw>
Description
This command permits you to specify the widths of the columns in a table. A table's columns can be given the same measurement by using a single value with this command, or can be set to have different measurements across a row via a combination of value(s).
This command can also be specified using <?tbcolwidth>.
 
Example 409. Set both actual and relative column widths for one table
The macro below specifies a table whose first column is 50mm wide and then the space is divided equally between all the other columns:
<?tbcolw=50mm><?tbcolw=@1*>
Syntax
<?tbcolw 'm' '@' '+' value:n ('+' value:n )*>
m
(optional) Lets you specify the widths of multiple columns with the single PI. If specified then each component value of the width applies to a new column. Alternatively if you use a ; before a new value then this also means that it applies to the next column.
@
The "@" character is optional and only has relevance when pre-specifying column widths at the top of the table. It specifies that this column is the one whose properties should be repeated if required, for any columns whose width has not been actually specified.
e.g. <?tbcolw=50mm><?tbcolw=@1*> specifies that the first column should be 50mm wide and that the rest of the space should be divided equally between the other columns.
+
The initial "+" character is optional and, if specified, ensures that multiple <?tbcolw> commands can be specified instead of a single one with multiple values. The "+" also indicates the presence of further details for the current column when specifying columns at the top of the table, rather than moving on to specify the next column in sequence.
value
value
Fixed width: will default to mm if no unit is specified
rel*
Relative width
perc%
Percentage of the sum of all the widths of the columns within the table
* 
This is not quite the same as a percentage of the table width, as table rules and gutters are not included.
#
Column width will be measured according to the widest element within that table
 
This can be used in combination with the other width types specified above.
 
A column's width will only be adjusted for wide cells that span over this column if it includes a measured width.
* 
Slim tables of <?tbovflow=3> flow content from one column to the next and so they cannot be prescanned and can’t have column widths that are measured.
Prefix a new value with a ; character to indicate that the width applies to the next column.
Additional Information
If columns are specified at the top of the table, before the data, each <?tbcolw> command will specify the widths for the next column in turn, unless the + is used. PTC ALD will still prescan the table to discover how many columns are actually in the table and if this exceeds the number of columns specified it will assume that those specified repeat in sequence from the first column again. Therefore you could specify the width of just the first column, and it would be used for all columns; or the widths of the first two columns and they would alternate across the table.
If an @ parameter is specified for a later column, however, the repeat will start from that column instead of from the first again, for example:
<?tbcolw=50mm><?tbcolw=@1*>