格式化表格以显示列名称和列文本对齐

格式化表格以显示列名称和列文本对齐

我尝试创建一个表格,但没有成功。第二行“LET [ms]”和列内容(A、B、C、D)未对齐。我在“Frame”和“LET [ms]”列之间添加了两个“&”字符,因为否则列名会一个写在另一个上面。在此处输入图片描述

 \begin{table}
        \centering
        \begin{tabular}{l *{7}{d{3.2}}}
                 \toprule
                            & & & 
                            \multicolumn{2}{c}{\textbf{U(P0)\textsubscript{frame}}} & \multicolumn{2}{c}{\textbf{U(P1)\textsubscript{frame}}}

                            \\
            % Second Line
                         \cmidrule(lr){4-5}\cmidrule(lr){6-7}
                         
                         \textbf{Frame} & &
                         \textbf{LET [ms]}
                         &
                 \multicolumn{1}{c}{\textbf{Target}} & \multicolumn{1}{c}{\textbf{Theory}} & \multicolumn{1}{c}{\textbf{Target}} & \multicolumn{1}{c}{\textbf{Theory}} &

                         \\
                         \midrule
                         
                         \hspace{1.5em} \cellcolor{lightgray} X & \hspace{1.5em} \cellcolor{gray} A  &  & 1.1 & 5.55 & 6.66 & .01  \\
                         \hspace{1.5em} \cellcolor{lightgray} Y & \cellcolor{gray} B & & 22.22 & 0.0 & 77.5 & .1  \\
                         \hspace{1.5em} \cellcolor{lightgray} W & \cellcolor{gray} C & & 333.3 & .1 & 11.11 & .05 \\
                         \hspace{1.5em} \cellcolor{lightgray} Z & \cellcolor{gray} D & & 4444.44 & 77.77 & 14.06 & .3 \\
                 \bottomrule 
        \end{tabular}
        
        \caption{}
        \label{tab:Werte}
\end{table}

任何帮助都值得感激。提前谢谢

答案1

我不得不猜测一下你正在使用哪些包,但这里有一个可行的示例。问题出在你的序言中,你还将第二列定义为小数对齐列,但用字母填充。我将前两列定义为居中列,并删除了多余的列。然后我看起来没问题。我假设你使用的d{3.2}D{.}{.}{3.2}包,但如果我错了,请将其改回您的用途。

似乎您还定义了多余一列。您定义了七列,但只在其中六列中填充了数据。在示例 2 中,我已更正此问题,第三列中的标题也正确无误。如果您希望第 2 列和第 3 列之间留出更多空间,请!{\quad}在表格序言中使用。此外,如果第 1 列和第 2 列的宽度相同,则它们看起来会更好,因为您已对它们进行着色。\w如果您的系统上有更新的数组包,则可以使用新的 -columns 来存档此内容。完整的序言将如下所示:

\begin{tabular}{*{2}{wc{1.5cm}}!{\quad} *{4}{D{.}{.}{3.2}}}

看一下下面示例 2 中的图片 2:

该命令D{.}{.}{3.2}的语法记录在手册中,表示数学列(您需要输入数字)。{.} 是用于输入和输出的小数分隔符。{.}{,}将小数分隔符从句号转换为逗号。

该命令的*{2}{wc{1.5cm}}意思是“两个居中列,宽度固定为 1.5 厘米”。替代语法是*{2}{w{c}{1.5cm}}w{c}{1.5cm}w{c}{1.5cm}。如果您希望在小数对齐列之前再添加一个这样的列,只需将数字更改为3并在第三列和第四列之间添加&

\begin{tabular}{*{3}{wc{1.5cm}}!{\quad} *{4}{D{.}{.}{3.2}}}

如果你需要在末尾添加一个新的第七列,只需添加

\begin{tabular}{*{2}{wc{1.5cm}}!{\quad} *{5}{D{.}{.}{3.2}}}

&并在最后一列之后(之前)添加\\,见示例2图片3。

由于您正在使用书签, 你应该不是使用垂直线。

示例 1 – 七列

在此处输入图片描述

\documentclass{article}
\usepackage{dcolumn, array, booktabs}
\usepackage[table]{xcolor}


\begin{document}

\begin{table}
        \centering
        \begin{tabular}{*{2}{c} *{6}{D{.}{.}{3.2}}}
                 \toprule
                            & & & 
                            \multicolumn{2}{c}{\textbf{U(P0)\textsubscript{frame}}} & \multicolumn{2}{c}{\textbf{U(P1)\textsubscript{frame}}}

                            \\
            % Second Line
                         \cmidrule(lr){4-5}\cmidrule(lr){6-7}

                         \textbf{Frame} & 
                         \textbf{LET [ms]}
                         &
                 \multicolumn{1}{c}{\textbf{Target}} & \multicolumn{1}{c}{\textbf{Theory}} & \multicolumn{1}{c}{\textbf{Target}} & \multicolumn{1}{c}{\textbf{Theory}} &

                         \\
                         \midrule

                         \cellcolor{lightgray} X &  \cellcolor{gray} A  &  & 1.1 & 5.55 & 6.66 & .01  \\
                          \cellcolor{lightgray} Y & \cellcolor{gray} B & & 22.22 & 0.0 & 77.5 & .1  \\
                          \cellcolor{lightgray} W & \cellcolor{gray} C & & 333.3 & .1 & 11.11 & .05 \\
                          \cellcolor{lightgray} Z & \cellcolor{gray} D & & 4444.44 & 77.77 & 14.06 & .3 \\
                 \bottomrule 
        \end{tabular}

        \caption{}
        \label{tab:Werte}
\end{table}

\end{document}

示例 2 – 六列

图片1

在此处输入图片描述

\documentclass{article}
\usepackage{dcolumn, array, booktabs}
\usepackage[table]{xcolor}


\begin{document}

\begin{table}
        \centering
        \begin{tabular}{*{2}{c} *{4}{D{.}{.}{3.2}}}
                 \toprule
                            &  &
                            \multicolumn{2}{c}{\textbf{U(P0)\textsubscript{frame}}} & \multicolumn{2}{c}{\textbf{U(P1)\textsubscript{frame}}}

                            \\
            % Second Line
                         \cmidrule(lr){3-4}\cmidrule(lr){5-6}

                         \textbf{Frame} & 
                         \textbf{LET [ms]}
                         &
                 \multicolumn{1}{c}{\textbf{Target}} & \multicolumn{1}{c}{\textbf{Theory}} & \multicolumn{1}{c}{\textbf{Target}} & \multicolumn{1}{c}{\textbf{Theory}} 
                         \\
                         \midrule

                         \cellcolor{lightgray} X &  \cellcolor{gray} A  &   1.1 & 5.55 & 6.66 & .01  \\
                          \cellcolor{lightgray} Y & \cellcolor{gray} B &  22.22 & 0.0 & 77.5 & .1  \\
                          \cellcolor{lightgray} W & \cellcolor{gray} C & 333.3 & .1 & 11.11 & .05 \\
                          \cellcolor{lightgray} Z & \cellcolor{gray} D &  4444.44 & 77.77 & 14.06 & .3 \\
                 \bottomrule 
        \end{tabular}

        \caption{}
        \label{tab:Werte}
\end{table}

\end{document}

图片2

在此处输入图片描述

图片 3

在此处输入图片描述

相关内容