我无法将标题与其对应的列对齐而不影响小数的对齐。我怎样才能更自动地做到这一点?
\begin{table}[h!]
\centering
\begin{tabular}{cc*{2}{S[table-format=-1.5]}
S[table-format=1.3]
S
S[table-format=-1.3]
S[table-format= 3.5]
S[table-format= 1.3]
}
\toprule
\textbf{Sensor} & \textbf{ID} & $\mathbf{k_1}$ & $\mathbf{k_2}$ & $\mathbf{p_1}$ & $\mathbf{p_2}$ & $\mathbf{k_3}$ \\
\midrule
\multirow{4}{*}{\rotatebox[origin=c]{90}{Infrared}} & A & -0.1648 & 0.7673 & 0.0069 & 0.0064 & -1.3135 \\
& B & -0.1480 & 0.6950 & 0.0079 & 0.0017 & -1.2501 \\
& C & -0.0992 & 0.2648 & 0.0022 & -0.0036 & -0.2833 \\
& D & -0.1933 & 1.1570 & 0.0002 & 0.0039 & -2.4079 \\
\midrule
\multirow{4}{*}{\rotatebox[origin=c]{90}{RGB}} & A & 0.0288 & -0.1249 & 0.0070 & 0.0056 & -0.0506 \\
& B & 0.0093 & -0.1718 & 0.0124 & 0.0048 & 0.1517 \\
& C & 0.0803 & -0.4595 & 0.0072 & -0.0008 & 0.5304 \\
& D & 0.0187 & 0.0259 & -0.0009 & 0.0030 & -0.2990 \\
\bottomrule
\end{tabular}
\end{table}
答案1
通过仅提供表格而没有文档序言,您可以让任何希望帮助您的人的工作变得更加困难......
在您的表格中,列标题正好位于列中间。您只需要正确设置列数(您定义了 9 列,但表格只有 7 列)和数字格式(所有S
列类型都相同:符号和 1.4):
\documentclass[border=5mm]{standalone}
\usepackage{siunitx}
\usepackage{booktabs,multirow}
\usepackage{graphicx}
\begin{document}
% \begin{table}[h]
\centering
\begin{tabular}{cc*{5}{S[table-format=-1.4]}
}
\toprule
\textbf{Sensor} & \textbf{ID} & $\mathbf{k_1}$ & $\mathbf{k_2}$ & $\mathbf{p_1}$ & $\mathbf{p_2}$ & $\mathbf{k_3}$ \\
\midrule
\multirow{4}{*}{\rotatebox[origin=c]{90}{Infrared}} & A & -0.1648 & 0.7673 & 0.0069 & 0.0064 & -1.3135 \\
& B & -0.1480 & 0.6950 & 0.0079 & 0.0017 & -1.2501 \\
& C & -0.0992 & 0.2648 & 0.0022 & -0.0036 & -0.2833 \\
& D & -0.1933 & 1.1570 & 0.0002 & 0.0039 & -2.4079 \\
\midrule
\multirow{4}{*}{\rotatebox[origin=c]{90}{RGB}} & A & 0.0288 & -0.1249 & 0.0070 & 0.0056 & -0.0506 \\
& B & 0.0093 & -0.1718 & 0.0124 & 0.0048 & 0.1517 \\
& C & 0.0803 & -0.4595 & 0.0072 & -0.0008 & 0.5304 \\
& D & 0.0187 & 0.0259 & -0.0009 & 0.0030 & -0.2990 \\
\bottomrule
\end{tabular}
% \end{table}
\end{document}