在LaTex中的多单元格中居中文本

时间:2009-12-15 21:20:59

标签: alignment latex multirow

最好用一个例子来解释。我有下表,其中“A”单元格跨越两行,“B”单元格跨越两列。

\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|
|_ _ _ _| _ _ _ |_ _ _ _|

我想将文本集中在“A”单元格中。我想让列的其余部分左对齐。给出:

 _ _ _ _ _ _ _ _ _ _ _ _ 
|   A   |_ _ _ _B_ _ _ _|
|_ _ _ _|_ _B1_ |_ _B2_ |
|a      |     b1|     b2|
|a      |     b1|     b2|
|a      |     b1|     b2|
|_ _ _ _| _ _ _ |_ _ _ _|

我确信这一定很简单,但我似乎无法将手指放在上面。

4 个答案:

答案 0 :(得分:15)

认为你需要用假的\multicolumn做到这一点:

\multicolumn{1}{c}{\multirow{2}{*}{A}} & \multicolumn{2}{c}B} \\

来自this FAQ的灵感。

答案 1 :(得分:9)

我遇到了类似的问题,但必须使用\multirow{specified width}{}代替\multirow{*}{}。在这种情况下,将多行嵌套在多列中不起作用。

我找到\multirow{specified width}{\centering text}来代替。

答案 2 :(得分:3)

\multirow{2}{*}{\hfil A}

\hfil将自动计算单元格的宽度并插入半宽空间

要插入一个完整的单元格宽度空间(右对齐单个单元格),请使用\hfill。 还有\vfil\vfill类似物。

答案 3 :(得分:0)

这可能对某人有帮助

\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}