Центрирование текста в многорядной ячейке в LaTex

Это, наверное, лучше всего объяснить на примере. У меня есть следующая таблица, где ячейка "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 ответов


Я думаю вам нужно сделать это с помощью поддельного \multicolumn:

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

вдохновения этот FAQ.


я столкнулся с аналогичной проблемой, но пришлось использовать \multirow{specified width}{} вместо \multirow{*}{}. Вложенность multirow внутри multicolumn в этом случае не работает.

нашел \multirow{specified width}{\centering text} вместо работы.


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

\hfil автоматически вычислит ширину ячейки и вставит пробел в половину ширины

чтобы вставить полное пространство ширины ячейки, которое будет оправдывать одну ячейку, используйте \hfill. Есть также \vfil и \vfill аналогов.


что это может быть полезно для кого-то

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