\begin{tabular}{|c|c|} \hline \multirow{4}{*}{Common g text} & Column g2a\\ & Column g2b \\ & Column g2c \\ & Column g2d \\ \hline \end{tabular}
and multirow will position “Common g text” at the vertical centre of the space defined by the other rows. Note that the rows that don’t contain the “multi-row” specification must have empty cells where the multi-row is going to appear.
The “*
” may be replaced by a column width specification. In this
case, the argument may contain forced line-breaks:
\begin{tabular}{|c|c|} \hline \multirow{4}{25mm}{Common\\g text} & Column g2a\\ & Column g2b \\ & Column g2c \\ & Column g2d \\ \hline \end{tabular}
A similar effect (with the possibility of a little more
sophistication) may be achieved by putting a smaller table that lines
up the text into a *
-declared \
multirow
.
\
multirow
command may also used to write labels vertically
down one or other side of a table (with the help of the
graphics or graphicx package, which provide the
\
rotatebox
command):
\begin{tabular}{|l|l|} \hline \multirow{4}{*}{\rotatebox{90}{hi there}} & Column g2a\\ & Column g2b \\ & Column g2c \\ & Column g2d \\ \hline \end{tabular}
(which gives text going upwards; use angle -90
for text going
downwards, of course).
\
multicolumn
multi-row “cell” in a table, you have to
enclose a \
multirow
inside a \
multicolumn
— the other way
around does not work, so:
\begin{tabular}{|c|c|c|}\hline \multicolumn{2}{|c|}{\multirow{2}{*}{combined cells}} &top right\\ \cline{3-3} \multicolumn{2}{|c|}{} &middle right\\ \hline bottom left &bottom center &bottom right\\ \hline \end{tabular}
Multirow is set up to interact with the bigstrut
package (which is also discussed in the answer to
spacing lines in tables). You use an
optional argument to the \
multirow
command to say how many of the
rows in the multi-row have been opened up with \
bigstrut
.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multirow