У меня есть две таблицы в одной табличной среде. Они должны быть выровнены, но этого не происходит (см. фото), несмотря на то, что я указал ширину всех столбцов и дал им абсолютно одинаковую настройку. Может ли кто-нибудь помочь с этой загадкой? Удаление многостолбцов в первой таблице не помогает. Спасибо.
(Содержимое ячеек с несколькими столбцами также должно быть центрировано.)
Изменения шрифтов удалены из MWE.
\usepackage{booktabs}
\newcommand\tss{\textsuperscript}
% ...
\begin{table}[!htbp]
\centering
\begin{tabular}{p{15mm}>{\centering}p{15mm}|>{\centering}p{15mm}|>{\centering}p{15mm}p{1mm}>{\centering}p{15mm}|>{\centering\arraybackslash}p{15mm}}
\cmidrule[.8pt](l{3pt}r{3pt}){2-4} \cmidrule[.8pt](l{3pt}r{3pt}){6-7}
Pong & a\tss{1} & \multicolumn{2}{p{30mm}}{a\tss{3\,5}} & & aːt\tss{7} & at\tss{9} \\
\cmidrule(l{3pt}r{3pt}){2-4} \cmidrule(l{3pt}r{3pt}){6-7}
& a\tss{2} & \multicolumn{2}{p{30mm}}{a\tss{4\,6}} & & aːt\tss{8} & at\tss{10} \\
\cmidrule[.8pt](l{3pt}r{3pt}){2-4} \cmidrule[.8pt](l{3pt}r{3pt}){6-7}
\end{tabular}
\begin{tabular}{p{15mm}>{\centering}p{15mm}|>{\centering}p{15mm}|>{\centering}p{15mm}p{1mm}>{\centering}p{15mm}|>{\centering\arraybackslash}p{15mm}}
\cmidrule[.8pt](l{3pt}r{3pt}){2-4} \cmidrule[.8pt](l{3pt}r{3pt}){6-7}
Viet. & a & á & ả & & át & ắt \\
\cmidrule(l{3pt}r{3pt}){2-4} \cmidrule(l{3pt}r{3pt}){6-7}
& à & ạ & ã & & ạt & ặt \\
\cmidrule[.8pt](l{3pt}r{3pt}){2-4} \cmidrule[.8pt](l{3pt}r{3pt}){6-7}
\end{tabular}
\end{table}
решение1
\multicolumn{2}{p{30mm}}
не такой широкий, как две колонки p{15mm}|p{15mm}
, так как между двумя колонками есть также пространство двух \tabcolsep
плюс, если вы загрузили array
, пространство одного \arrayrulewidth
. Так что для вашего \multicolumn
использования
\multicolumn{2}{p{\dimexpr30mm+2\tabcolsep}}{...}
еслиarray
пакет не загружен\multicolumn{2}{p{\dimexpr30mm+2\tabcolsep+\arrayrulewidth}}{...}
еслиarray
загружен.