Центрирование текста в многорядной ячейке в 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}