问题
This is probably best explained with an example. I have the following table, where the "A" cell spans two rows, and the "B" cell spans two columns.
\begin{table}[htdp]
\begin{tabular}{l|r|r}
\multirow{2}{*}{A} & \multicolumn{2}{c}{B} \\
& B1 & B2 \\
a & b1 & b2 \\
a & b1 & b2 \\
\end{tabular}
\end{table}
_ _ _ _ _ _ _ _ _ _ _ _
|A |_ _ _ _B_ _ _ _|
|_ _ _ _|_ _B1_ |_ _B2_ |
|a | b1| b2|
|a | b1| b2|
|a | b1| b2|
|_ _ _ _| _ _ _ |_ _ _ _|
I would like to center the text in the "A" cell, only. I would like to leave the rest of the column left-aligned. Giving:
_ _ _ _ _ _ _ _ _ _ _ _
| A |_ _ _ _B_ _ _ _|
|_ _ _ _|_ _B1_ |_ _B2_ |
|a | b1| b2|
|a | b1| b2|
|a | b1| b2|
|_ _ _ _| _ _ _ |_ _ _ _|
I'm sure this must be simple to do, but I can't seem to put my finger on it.
回答1:
I think you need to do that with a fake \multicolumn
:
\multicolumn{1}{c}{\multirow{2}{*}{A}} & \multicolumn{2}{c}B} \\
Inspiration from this FAQ.
回答2:
I came across a similar problem, but had to use \multirow{specified width}{}
instead of \multirow{*}{}
. Nesting multirow inside a multicolumn does not work in this case.
I found \multirow{specified width}{\centering text}
to work instead.
回答3:
\multirow{2}{*}{\hfil A}
\hfil
will automatically calculate the width of the cell and insert a half-width space
To insert a full cell-width space, which will right-justify a single cell, use \hfill
.
There are also \vfil
and \vfill
analogues.
回答4:
That is could be helpful for someone
\begin{tabular}{|c c | c|c|c|}
\hline
\multicolumn{2}{|c}{\multirow{2}{*}{Modulation}} & \multicolumn{3}{|c|}{M} \\
\cline{3-5}
& & 2 & 4 & 8 \\
\hline
\multirow{3}*{\hfil SNR=$\begin{cases} \\ \\ \end{cases}$} & STMA & xx dB & xx dB & xx dB\\
& QTMA & xx dB & xx dB & xx dB \\
& POSTMA & xx dB & xx dB & xx dB\\
\hline
\end{tabular}
来源:https://stackoverflow.com/questions/1910478/centering-text-within-a-multirow-cell-in-latex