当 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}
其他数字列指定(或完整数据所需的任何值)整数位数 .
小数部分的数字)