使用 \multicolumn 时与 dcolumn 居中对齐

使用 \multicolumn 时与 dcolumn 居中对齐

当 dcolumn 中使用 \multicolumn 时,文本和标题会出现错位。有关更多详细信息,请参见图片。

\documentclass[12pt,oneside]{report}
\usepackage{amsmath}
\usepackage{amstext}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{caption,ragged2e,array}
\usepackage{pdflscape}
\usepackage{dcolumn}
\usepackage{setspace}
\usepackage{geometry}

\newcolumntype{d}[1]{ D{.}{\cdot}{-1} }

\begin{document}
\newgeometry{margin=1.5cm}
\begin{landscape}
\begin{table}[ht]
\centering
\footnotesize
\begin{tabular}{d{1} d{1} d{1} d{1} d{1} d{1}}
\toprule
kB/s_{um} & d/B & N_{c0} \text{ smooth base, smooth sides} & \multicolumn{3}{c}{$N_{c0}$ rough base ($\alpha_{base}=1$, varying side adhesion factor $\alpha_{side}$)}\\
 & & \alpha_{base}= 0 \text{, } \alpha_{side}= 0 & \alpha_{side}= 0 & \alpha_{side}= 0.5 & \alpha_{side}= 1 \\
\midrule
0 & 0.0 & 5.144 & 5.157 & 5.157 & 5.157\\
  & 0.1 & 5.507 & 5.511 & 5.615 & 5.705\\
  & 0.2 & 5.758 & 5.762 & 5.977 & 6.124\\
  & 0.3 & 5.952 & 5.955 & 6.296 & 6.513\\
  & 0.5 & 6.222 & 6.224 & 6.850 & 7.231\\
  & 1.0 & 6.614 & 6.616 & 7.978 & 8.847\\[4pt]
5 & 0.0 & 8.357 & 9.818 & 9.818 & 9.818\\
  & 0.1 & 8.436 & 9.499 & 9.693 & 9.837\\
  & 0.2 & 8.204 & 9.097 & 9.437 & 9.631\\
  & 0.3 & 8.045 & 8.805 & 9.253 & 9.507\\
  & 0.5 & 7.899 & 8.439 & 9.042 & 9.414\\
  & 1.0 & 7.822 & 8.025 & 9.017 & 9.656\\[4pt]
\bottomrule
\end{tabular}
\caption{Bearing capacity factors $N_{c0}= q_u/s_{u0}$ for strip foundations}
\label{gourtable2}
\end{table}
\end{landscape}
\restoregeometry

在此处输入图片描述

1- 在第 3 列中,文本和数字未正确对齐。数字必须与文本居中。第 4、第 5 和第 6 列也存在同样的问题。

2- 在 中\newcolumntype,第 3 个条目指定为 -1,因为它为我提供了更宽的表格,但第 3 列和第 4 列之间的额外空间是不需要的。使用 #1 可以删除此空间,但它也会删除更宽的表格。

我在指定时犯了什么错误\newcolumntype

答案1

由于标题太大,列太宽;我建议将它们分成几行并使用siunitx

\documentclass[12pt,oneside]{report}
\usepackage{amsmath}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage{siunitx}

\newcommand{\tsub}[1]{_{\mathrm{#1}}}

\begin{document}

\begin{table}[htp]
\centering
\footnotesize
\begin{tabular}{
  c
  S[table-format=1.1]
  S[table-format=1.3]
  S[table-format=1.3]
  S[table-format=1.3]
  S[table-format=1.3]
}
\toprule
{$\si{kB/s}\tsub{um}$} &
  {\si{dB}} &
  {$N_{c0}$ smooth base,} &
  \multicolumn{3}{c}{$N_{c0}$ rough base, $\alpha\tsub{base}=1$,} \\
& & {smooth sides} &
  \multicolumn{3}{c}{varying side adhesion factor $\alpha\tsub{side}$}\\
\cmidrule(lr){3-3} \cmidrule(lr){4-6}
& & {$\alpha\tsub{base}=0$, $\alpha\tsub{side}=0$} &
  {$\alpha\tsub{side}=0$} &
  {$\alpha\tsub{side}=0.5$} &
  {$\alpha\tsub{side}=1$} \\
\midrule
0 & 0.0 & 5.144 & 5.157 & 5.157 & 5.157\\
  & 0.1 & 5.507 & 5.511 & 5.615 & 5.705\\
  & 0.2 & 5.758 & 5.762 & 5.977 & 6.124\\
  & 0.3 & 5.952 & 5.955 & 6.296 & 6.513\\
  & 0.5 & 6.222 & 6.224 & 6.850 & 7.231\\
  & 1.0 & 6.614 & 6.616 & 7.978 & 8.847\\
\midrule
5 & 0.0 & 8.357 & 9.818 & 9.818 & 9.818\\
  & 0.1 & 8.436 & 9.499 & 9.693 & 9.837\\
  & 0.2 & 8.204 & 9.097 & 9.437 & 9.631\\
  & 0.3 & 8.045 & 8.805 & 9.253 & 9.507\\
  & 0.5 & 7.899 & 8.439 & 9.042 & 9.414\\
  & 1.0 & 7.822 & 8.025 & 9.017 & 9.656\\
\bottomrule
\end{tabular}
\caption{Bearing capacity factors $N_{c0}= q_u/s_{u0}$ for strip foundations}
\label{gourtable2}
\end{table}

\end{document}

在此处输入图片描述

答案2

它在指定的对齐点上完美对齐!

N_{c0} \text{ smooth base, smooth sides} 

没有,.因此它被视为单元格中数字的整数部分D,并且右边缘与.列对齐。

如果想要居中对齐,则需要指定:

\multicolumn{1}{c}{$N_{c0}$ smooth base, smooth sides} 

对于您的第二个问题 -1 是可以的(一旦您修复标题,第三列右侧的额外空间就会消失,它只是将.当前指定为非常宽的整数部分居中)。

在这种情况下,您也可以直接使用d不带参数的函数。如果要使用#1中心函数,则需要d{1.1}为第 2 列和d{2.3}其他数字列指定(或完整数据所需的任何值)整数位数 . 小数部分的数字

相关内容