在多列表格中行与行之间留出空格

在多列表格中行与行之间留出空格

我设法制作了一个多列表格,但它看起来很丑,需要修复。

  1. 如何将标签“最小宽度”移动到中心?
  2. 如何在第一行与第二行之间留出更多空间?

在此处输入图片描述

\documentclass[11pt, twocolumn]{article}

\usepackage{booktabs}

\begin{document}

\begin{table}[ht]
\caption{String}
\centering 
\begin{tabular}{c | cc | cc }
\toprule
Min width  & \multicolumn{2}{|c|}{$fp_{c}$} &
\multicolumn{2}{|c}{$fp_{bf}$} \\ \cline{2-5}
 & theory & exp & theory & exp  \\
\midrule
1 & 0.23\% & 0.21\% & 0.04\% & 0.065\% \\
2 & 0.085\% & 0.087\% & 0.0015\% & 0.0020\% \\
3 & 0.032\% & 0.026\% & $5.5\times 10^{-4}$\% & 0\% \\
4 & 0.012\% & 0.011\% & $2.1\times 10^{-4}$\% & 0\% \\
\bottomrule
\end{tabular}
\label{tbl:fp_probabilities}
\end{table}

\end{document}

答案1

当然,删除垂直线。为了正确间隔标题,如其他人所述,booktabs毫无疑问使用。对于多行单元格,“最小宽度”最好使用\parboxminipage,因为只有一列个位数。此外,最好在标题中添加一些空间,这样无需额外的软件包就可以完成调整 \belowcaptionskip.

另一方面,表格要尽可能简单。如果所有数据都是百分比,则可以在每列的标题中显示信息,但最好只使用标题。

关于列,最好在第 3 列和第 4 列之间添加一些间距以区分两组数据。一个简单的方法是添加一个空列或使用列分隔符 ( @{})。

最后,在 例如,我不喜欢按照小数对齐,因为案例对区分 1 以上或以下的数字没有太大帮助(等待 3、2 中的对立观点......):)

在此处输入图片描述

\documentclass[11pt, twocolumn]{article}
\usepackage{booktabs,multirow}
\setlength{\belowcaptionskip}{5pt} 

\begin{document}


\begin{table}[ht]
\caption{String (\%)} 
\centering 
\begin{tabular}{cccccc} %  
\toprule
\multirow{2}{*}{
\parbox[c]{.2\linewidth}{\centering Min width}}
  & \multicolumn{2}{c}{$fp_{c}$} &&
\multicolumn{2}{c}{$fp_{bf}$} \\ 
\cmidrule{2-3} \cmidrule{5-6}

 & {\centering theory} & {exp.} && {theory} & {exp.}  \\
\midrule
1 & 0.23  & 0.21  && 0.04               & 0.065 \\
2 & 0.085 & 0.087 && 0.0015             & 0.0020 \\
3 & 0.032 & 0.026 && $5.5\times10^{-4}$ & 0 \\
4 & 0.012 & 0.011 && $5.5\times10^{-4}$ & 0 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}

答案2

这是一个可能的解决方案。我以前siunitx会垂直对齐列中的数字,并简化科学计数法的输入,makecell使用多行单元格以便换行,并且行间距不要太紧,caption这样标题和表格之间的垂直间距就正确了。我还添加了一些颜色,并删除了垂直规则:这是不好的排版做法。

\documentclass[11pt, twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[x11names]{xcolor}
\usepackage{colortbl}
\usepackage{booktabs, caption}
\captionsetup{labelfont = sc}
\setlength\cmidrulewidth{1.2\lightrulewidth}
\usepackage{multirow, makecell}
\usepackage{siunitx}
\sisetup{table-figures-exponent=1, table-sign-exponent=true}
\setcellgapes{4pt}\makegapedcells

\begin{document}

\begin{table}[ht]
\caption{String}
\centering
\begin{tabular}{c*{2}{S[table-format=1.3]}@{\qquad}*{2}{S[table-format=1.4]}}
\arrayrulecolor{Tomato3}\toprule
& \multicolumn{2}{c}{$fp_{c}$} & \multicolumn{2}{c}{$fp_{bf}$} \\
\arrayrulecolor{LightSteelBlue3}
\cmidrule(lr{2em}){2-3}\cmidrule(r){4-5}
\multirowcell{-3}{Min\\ width} & {theory (\%)} & {exp(\%)} & {theory(\%)} & {exp(\%)} \\
\cmidrule(lr{2em}){2-3}\cmidrule(r){4-5}
1 & 0.23 & 0.21 & 0.04 & 0.065 \\
2 & 0.085 & 0.087 & 0.0015 & 0.0020 \\
3 & 0.032 & 0.026 & \num{5.5 e-4} & 0 \\
4 & 0.012 & 0.011 & \num{2.1 e-4} & 0 \\
\arrayrulecolor{Tomato3}\bottomrule
\end{tabular}
\label{tbl:fp_probabilities}
\end{table}

\end{document} 

在此处输入图片描述

答案3

始终避免使用垂直线,booktabs因为提供的命令booktabs只有在没有垂直线的情况下才能正常工作。此外,您还需要包,您可以通过在标题中插入符号并在浮点处对齐数字来multirow改进表格。考虑到这些,您可以得到这个表格:%.

在此处输入图片描述

修改后的代码为:

\documentclass[11pt, twocolumn]{article}
\usepackage{booktabs,multirow}
\begin{document}

\begin{table}[!ht]
\centering
\caption{String}
\begin{tabular}{@{}c*{2}{r@{.}l}{c}*{2}{r@{.}l}@{}}
\toprule
\multirow{2}{*}{Min width} & \multicolumn{4}{c}{$fp_{c}$} && \multicolumn{4}{c}{$fp_{bf}$}\tabularnewline
\cmidrule{2-5} \cmidrule{7-10}
 & \multicolumn{2}{l}{theory \%} & \multicolumn{2}{l}{exp \%} && \multicolumn{2}{l}{theory \%} & \multicolumn{2}{l}{exp \%}\tabularnewline
\midrule
1 & 0&23  & 0&21  &&  0&04                & 0&065  \tabularnewline
2 & 0&085 & 0&087 &&  0&0015              & 0&0020 \tabularnewline
3 & 0&032 & 0&026 &&  5&$5\times 10^{-4}$ & 0&0    \tabularnewline
4 & 0&012 & 0&011 &&  2&$1\times 10^{-4}$ & 0&0    \tabularnewline
\bottomrule
\end{tabular}
\label{tbl:fp_probabilities}
\end{table}

\end{document}

注意:使用时请注意表格宽度twocolumn。否则请使用sidewaystable或使表格占据两列

答案4

同样的事情。但是,应按照 Christian Hupfer Code 的建议使用 \multirows 命令和多行包

\documentclass[11pt, twocolumn]{article}

\usepackage{booktabs}
\usepackage{multicol}
\usepackage{multirow}
\begin{document}

\begin{table}[h]
\caption{String}
\centering 
\begin{tabular}{c | cc | cc }
\toprule
\multirow{5}{*}{Min width} & \multicolumn{2}{|c|}{$fp_{c}$} &
\multicolumn{2}{|c}{$fp_{bf}$} \\ 
& & \\ \cline{2-5}
& & &\\
&theory & exp& theory & exp  \\ 
& & &\\
\midrule
1 & 0.23\% & 0.21\% & 0.04\% & 0.065\% \\
2 & 0.085\% & 0.087\% & 0.0015\% & 0.0020\% \\
3 & 0.032\% & 0.026\% & $5.5\times 10^{-4}$\% & 0\% \\
4 & 0.012\% & 0.011\% & $2.1\times 10^{-4}$\% & 0\% \\
\bottomrule
\end{tabular}
\label{tbl:fp_probabilities}
\end{table}
\end{document}

空间

相关内容