@Section
   @Title { Changing the style of rows }
@Begin
@PP
Sometimes different rows need different formats, usually because they
are headings.  Although this can be done with style-changing symbols in
the entries, it is probably better to use multiple format options:
fmta @Index @Code "@Fmta"
rowa @Index @Code "@Rowa"
@ID @OneRow @Code {
"@Tab"
"    @Fmta { @Col @Heading A  !  @Col @Heading B }"
"    @Fmtb { @Col A  !  @Col @CC B }"
"{"
"    @Rowa A { Course } B { Enrolment }"
"    @Rowb A { Software Engineering } B { 174 }"
"    @Rowb A { Complexity Theory } B { 37 }"
"}"
}
has result
@CD {
@Tab
    @Fmta { @Col @Heading A  !  @Col @Heading B }
    @Fmtb { @Col A  !  @Col @CC B }
{
    @Rowa A { Course } B { Enrolment }
    @Rowb A { Software Engineering } B { 174 }
    @Rowb A { Complexity Theory } B { 37 }
}
}
The @Code "@Heading" symbol is from Section {@NumberOf headings}.  Each row
appears in the format of the corresponding format option:  @Code "@Rowa"
rows in the format of {@Code "@Fmta"}, @Code "@Rowb" rows in the format
of {@Code "@Fmtb"}, and so on.  There may be up to ten different format
options, from @Code "@Fmta" to {@Code "@Fmtj"}, and they may be used
repeatedly and in any order.
@PP
There is an @Code "@Over" symbol for constructing
over.tab @Index { @Code "@Over" in tables }
spanning.col @Index { spanning columns }
{@I{spanning columns}}:  columns that spread over two or more following
columns.  For example, the Lout input
@ID @OneRow @Code {
"@I @Tab"
"    @Fmta { @Col @CC X @Over A,B  !  @Col C }"
"    @Fmtb { @Col A  !  @Col B  !  @Col C }"
"{"
"    @Rowa X { X } C { C }"
"    @Rowb A { A } B { B } C { C }"
"}"
}
produces the table
@CD {
@I @Tab
    side { single }
    @Fmta { @Col @CC X @Over A,B !! @Col C }
    @Fmtb { @Col A !! @Col B !! @Col C }
{
    @Rowa X { X } C { C }
       above { single }
       below { single }
    @Rowb A { A } B { B } C { C }
       below { single }
}
}
(We will see how to get the lines later.)  The @Code "@Over" symbol
always comes directly after the column letter, and it is followed by one
or more letters separated by commas indicating which columns in the
following row this column is to span over.
@PP
With multiple row formats, especially those with spanning columns, it is
important to take care that each row is compatible with the one
preceding it, in the sense of having the same number of columns, taking
@Code "@Over" symbols into account.  For example, two successive
@Code "@Rowa" rows would not be compatible in the example above, since
the second has only two columns but the first prepares the way for three.
@PP
@Code "@Tab" does not provide a way to have spanning columns underneath the
columns they span, so spanning columns are useful only for headings.  This
is unavoidable, because it is due to compromises made in the way that the
Lout interpreter handles spanning columns.
@End @Section
