尽管使用 p{} 指定了每列的宽度,但两个表格的宽度并不相同

尽管使用 p{} 指定了每列的宽度,但两个表格的宽度并不相同

我在单表环境中有两个表格。它们应该对齐,但实际上却没有对齐(见图),尽管我指定了所有列宽并为其提供了完全相同的设置。有人能帮我解开这个谜团吗?删除第一个表中的多列没有帮助。谢谢。

(多列单元格的内容也应居中。)

从 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已加载。

相关内容