均匀分布的表格列

均匀分布的表格列

我正在尝试制作包含一些数字数据的简单表格。我使用了 booktabs 包,总体来说表格看起来非常好,但我认为最好根据最宽的列让列的宽度相等。是否可以让 latex 自动均匀拉伸这些列?

谢谢你的帮助。

表格示例: 示例表 代码:

 \usepackage{tikz}
 \usepackage{booktabs}

 \begin{document}

 \begin{table}[ht]
 \centering
 \begin{tabular}[t]{ccccc}
 \toprule
 \# & \textsc{Precision} & \textsc{Recall} & \textsc{F1} &\textsc{MAP} \\
 \midrule
 0 & 0.0117 & 0.6838 & 0.0230 & 0.0112 \\
 1 & 0.0099 & 0.7084 & 0.0195 & 0.0109 \\
 2 & 0.0095 & 0.7096 & 0.0187 & 0.0105 \\
 3 & 0.0088 & 0.7215 & 0.0174 & 0.0101 \\
 4 & 0.0085 & 0.7401 & 0.0168 & 0.0096 \\
 5 & 0.0080 & 0.7467 & 0.0158 & 0.0087 \\
 6 & 0.0079 & 0.7571 & 0.0156 & 0.0088 \\
 7 & 0.0073 & 0.7794 & 0.0145 & 0.0087 \\
 8 & 0.0071 & 0.7902 & 0.0141 & 0.0085 \\
 9 & 0.0069 & 0.7981 & 0.0137 & 0.0084 \\
 10 & 0.0065 & 0.7990 & 0.0129 & 0.0078 \\
 \bottomrule
 \end{tabular}
 \end{table}
 \end{document}

答案1

array在和包的帮助下,calc您可以实现以下目标:

在此处输入图片描述

\documentclass{article}
\usepackage{array}
\usepackage{calc}
\usepackage{booktabs}

 \begin{document}
 \begin{table}[ht]
 \centering
 \begin{tabular}[t]{c*{4}{w{c}{\widthof{\textsc{Precision}}}}}
 \toprule
 \# & \textsc{Precision} & \textsc{Recall} & \textsc{F1} &\textsc{MAP} \\
 \midrule
 0 & 0.0117 & 0.6838 & 0.0230 & 0.0112 \\
 1 & 0.0099 & 0.7084 & 0.0195 & 0.0109 \\
 2 & 0.0095 & 0.7096 & 0.0187 & 0.0105 \\
 3 & 0.0088 & 0.7215 & 0.0174 & 0.0101 \\
 4 & 0.0085 & 0.7401 & 0.0168 & 0.0096 \\
 5 & 0.0080 & 0.7467 & 0.0158 & 0.0087 \\
 6 & 0.0079 & 0.7571 & 0.0156 & 0.0088 \\
 7 & 0.0073 & 0.7794 & 0.0145 & 0.0087 \\
 8 & 0.0071 & 0.7902 & 0.0141 & 0.0085 \\
 9 & 0.0069 & 0.7981 & 0.0137 & 0.0084 \\
 10 & 0.0065 & 0.7990 & 0.0129 & 0.0078 \\
 \bottomrule
 \end{tabular}
 \end{table}
 \end{document}

答案2

除了@leandriis 的建议之外,我还建议进行以下布局更改:

  1. 拆除侧轴承IE. 表格序言中的@{}
  2. 减少\tabcolsep
  3. 标题中的所有字母smallcaps
  4. 右对齐列
  5. 按每四行之间的小间距对行进行分组。

\documentclass{article}
\usepackage{array}
\usepackage{calc}
\usepackage{booktabs}
 \setlength{\tabcolsep}{1.5pt}
 \newcommand{\cc}[1]{\multicolumn{1}{r}{\textsc{\MakeLowercase{#1}}}}

 \begin{document}
 \begin{table}[ht]
 \centering
 \begin{tabular}[t]{@{}c*{4}{w{r}{\widthof{\textsc{Precision}}}}@{}}
 \toprule
 \# & \cc{Precision} & \cc{Recall} & F1 &\cc{MAP} \\
 \midrule
 0 & 0.0117 & 0.6838 & 0.0230 & 0.0112 \\
 1 & 0.0099 & 0.7084 & 0.0195 & 0.0109 \\
 2 & 0.0095 & 0.7096 & 0.0187 & 0.0105 \\
 3 & 0.0088 & 0.7215 & 0.0174 & 0.0101 \\[0.25\normalbaselineskip]
 4 & 0.0085 & 0.7401 & 0.0168 & 0.0096 \\
 5 & 0.0080 & 0.7467 & 0.0158 & 0.0087 \\
 6 & 0.0079 & 0.7571 & 0.0156 & 0.0088 \\
 7 & 0.0073 & 0.7794 & 0.0145 & 0.0087 \\[0.25\normalbaselineskip]
 8 & 0.0071 & 0.7902 & 0.0141 & 0.0085 \\
 9 & 0.0069 & 0.7981 & 0.0137 & 0.0084 \\
 10 & 0.0065 & 0.7990 & 0.0129 & 0.0078 \\
 \bottomrule
 \end{tabular}
 \end{table}
 \end{document}

在此处输入图片描述

相关内容