我是 Latex 的新手,很难弄清楚table
环境中发生了什么。我有一张表,想将每 3 列彼此分开,如下所示:
但我的文本如下所示:
\documentclass{article}
\usepackage{placeins}
\usepackage{booktabs ,float}
\begin{document}
\begin{table}
\begin{tabular}{ccclllllllll}
\hline
\multicolumn{1}{|c|}{\textbf{i}} & \multicolumn{1}{c|}{\textbf{Z\_i}} & \multicolumn{1}{c|}{\textbf{U\_i}} & \multicolumn{1}{c|}{\textbf{i}} & \multicolumn{1}{c|}{\textbf{Z\_i}} & \multicolumn{1}{c|}{\textbf{U\_i}} & \multicolumn{1}{c|}{\textbf{i}} & \multicolumn{1}{c|}{\textbf{Z\_i}} & \multicolumn{1}{c|}{\textbf{U\_i}} & \multicolumn{1}{c|}{\textbf{i}} & \multicolumn{1}{c|}{\textbf{Z\_i}} & \multicolumn{1}{c|}{\textbf{U\_i}} \\ \hline
0 & 7 & - & 5 & 10 & 0.652 & 10 & 9 & 0.563 & 15 & 4 & 0.250 \\
1 & 6 & 0.375 & 6 & 5 & 0.313 & 11 & 0 & 0.000 & 16 & 7 & 0.438 \\
2 & 1 & 0.063 & 7 & 12 & 0.750 & 12 & 3 & 0.188 & 17 & 6 & 0.375 \\
3 & 8 & 0.500 & 8 & 15 & 0.938 & 13 & 2 & 0.125 & 18 & 1 & 0.063 \\
4 & 11 & 0.688 & 9 & 14 & 0.875 & 14 & 13 & 0.813 & 19 & 8 & 0.500
\end{tabular}
\end{table}
\end{document}
提前感谢您的回答。
答案1
删除所有出现的\multicolumn{1}{|c|}
和 使用\begin{tabular}{ccc|ccc|ccc|ccc}
应该会导致更接近预期的输出。就我个人而言,我建议不要在表格中使用垂直线。相反,你可以使用水平空白和包中的中断水平线,booktabs
以便在表格中的 4 个块之间创建视觉分隔。为了改善表格中数字的对齐,你可能还需要考虑使用 中S
的类型列siunitx
。
\documentclass{article}
\usepackage{placeins}
\usepackage{booktabs ,float}
\begin{document}
\begin{tabular}{ccc|ccc|ccc|ccc}
\hline
$i$ & $Z_i$ & $U_i$
& $i$ & $Z_i$ & $U_i$
& $i$ & $Z_i$ & $U_i$
& $i$ & $Z_i$ & $U_i$ \\ \hline
0 & 7 & - & 5 & 10 & 0.652 & 10 & 9 & 0.563 & 15 & 4 & 0.250 \\
1 & 6 & 0.375 & 6 & 5 & 0.313 & 11 & 0 & 0.000 & 16 & 7 & 0.438 \\
2 & 1 & 0.063 & 7 & 12 & 0.750 & 12 & 3 & 0.188 & 17 & 6 & 0.375 \\
3 & 8 & 0.500 & 8 & 15 & 0.938 & 13 & 2 & 0.125 & 18 & 1 & 0.063 \\
4 & 11 & 0.688 & 9 & 14 & 0.875 & 14 & 13 & 0.813 & 19 & 8 & 0.500
\end{tabular}
\bigskip
\begin{tabular}{ccc@{\qquad}ccc@{\qquad}ccc@{\qquad}ccc}
\toprule
$i$ & $Z_i$ & $U_i$
& $i$ & $Z_i$ & $U_i$
& $i$ & $Z_i$ & $U_i$
& $i$ & $Z_i$ & $U_i$ \\
\cmidrule(r{2em}){1-3} \cmidrule(r{2em}){4-6} \cmidrule(r{2em}){7-9} \cmidrule{10-12}
0 & 7 & -- & 5 & 10 & 0.652 & 10 & 9 & 0.563 & 15 & 4 & 0.250 \\
1 & 6 & 0.375 & 6 & 5 & 0.313 & 11 & 0 & 0.000 & 16 & 7 & 0.438 \\
2 & 1 & 0.063 & 7 & 12 & 0.750 & 12 & 3 & 0.188 & 17 & 6 & 0.375 \\
3 & 8 & 0.500 & 8 & 15 & 0.938 & 13 & 2 & 0.125 & 18 & 1 & 0.063 \\
4 & 11 & 0.688 & 9 & 14 & 0.875 & 14 & 13 & 0.813 & 19 & 8 & 0.500 \\
\bottomrule
\end{tabular}
\end{document}
答案2
我建议您摆脱\multicolumn{1}{c}{...}
包装器,使用array
环境而不是tabular
环境,并将所有实例替换\textbf
为\bm
。我还将“Z”列中的数字与它们的(隐式)小数标记对齐。
\documentclass{article}
\usepackage{siunitx,bm}
\usepackage{newtxtext,newtxmath} % optional: Times Roman text and math fonts
\begin{document}
\begin{table}
\[
\begin{array}{@{} *{3}{c S[table-format=2.0] c|} ccc @{}}
\hline
\bm{i} & {\bm{Z}_i} & \bm{U}_{\!i} & \bm{i} & {\bm{Z}_i} & \bm{U}_{\!i} &
\bm{i} & {\bm{Z}_i} & \bm{U}_{\!i} & \bm{i} & {\bm{Z}_i} & \bm{U}_{\!i} \\
\hline
0 & 7 & \textup{--} & 5 & 10 & 0.652& 10& 9 & 0.563& 15& 4 & 0.250\\
1 & 6 & 0.375& 6 & 5 & 0.313& 11& 0 & 0.000& 16& 7 & 0.438\\
2 & 1 & 0.063& 7 & 12 & 0.750& 12& 3 & 0.188& 17& 6 & 0.375\\
3 & 8 & 0.500& 8 & 15 & 0.938& 13& 2 & 0.125& 18& 1 & 0.063\\
4 & 11 & 0.688& 9 & 14 & 0.875& 14& 13 & 0.813& 19& 8 & 0.500\\
\end{array}
\]
\end{table}
\end{document}