我在一個表格環境中有兩個表格。它們應該對齊,但事實並非如此(請參閱照片),儘管我指定了所有列寬度並給了它們完全相同的設定。誰能幫忙解開這個謎團嗎?刪除第一個表中的多列沒有幫助。謝謝。
(多列單元格的內容也應居中。)
從 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}
,因為兩列之間還有 2 的空間\tabcolsep
加上,如果載入的話array
,還有 1 的空間\arrayrulewidth
。所以供您\multicolumn
使用
\multicolumn{2}{p{\dimexpr30mm+2\tabcolsep}}{...}
如果array
套件沒有載入\multicolumn{2}{p{\dimexpr30mm+2\tabcolsep+\arrayrulewidth}}{...}
如果array
已載入。