我有下表:
我希望所有單元格條目都居中。但我無法做到。我怎樣才能做到這一點?
我的原始碼如下:
\documentclass{article}
\usepackage{array,multirow,graphicx}
\begin{document}
\newcommand{\colrot}{\rotatebox[origin = c]{90}{Variant}}
\begin{table}[h]
\begin{tabular}{cc|c|c|c|c|c|c|}
\cline{3-8} & & \multicolumn{6}{c|}{Time} \\ \cline{3-8}
& & 75.5 & 76.0 & 76.5 & 77.0 & 77.5 & 78.0 \\ \hline
\multicolumn{1}{|c|}{\multirow{3}{*}{\colrot}} & a & 69.39 & 139.95 & 172.78 & 177.83 & - & - \\[4mm] \cline{2-8}
\multicolumn{1}{|c|}{} & b & 31.95 & 31.83 & 31.60 & 31.39 & 31.15 & 30.89 \\[4mm] \cline{2-8}
\multicolumn{1}{|c|}{} & c & 48.89 & 54.59 & 55.33 & 55.76 & 56.0 & 56.14 \\[4mm] \hline
\end{tabular}
\end{table}
\end{document}
任何有關提高表格品質的進一步建議都將受到高度讚賞。
答案1
我認為大多數人不喜歡伸長脖子來研究表格標題。不要將字串「Variant」旋轉九十度,而是考慮將其放置在主標題行的左上角。因此,第一標題行將包含兩個項目“Variant”和“Time”,第二標題行將為“Time”變數提供六種可能性。
我還建議您去除所有垂直條和幾條水平線,並使用書本標籤包而不是\hline
和\cline
以獲得在其餘情況下間隔良好的水平線。並且,由於表的大部分資訊由十進制數字組成,因此請考慮加載西尤尼克斯包並使用其S
列類型而不是基本c
(“居中”)列類型。 (將少數非數位單元格材料括在大括號中以將其內容居中。)
\documentclass[preview]{standalone}
\usepackage{siunitx} % for "S" column type
\usepackage{booktabs} % for \toprule, \midrule, etc
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{@{} l *{6}{S[table-format=3.2]} @{}}
\toprule
Variant & \multicolumn{6}{c@{}}{Time} \\
\cmidrule(l){2-7}
& 75.5 & 76.0 & 76.5 & 77.0 & 77.5 & 78.0 \\
\midrule
a & 69.39 & 139.95 & 172.78 & 177.83 & {--} & {--}\\
b & 31.95 & 31.83 & 31.60 & 31.39 & 31.15 & 30.89 \\
c & 48.89 & 54.59 & 55.33 & 55.76 & 56.0 & 56.14 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}