我设法制作了一个多列表格,但它看起来很丑,需要修复。
- 如何将标签“最小宽度”移动到中心?
- 如何在第一行与第二行之间留出更多空间?
\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
毫无疑问使用。对于多行单元格,“最小宽度”最好使用\parbox
或minipage
,因为只有一列个位数。此外,最好在标题中添加一些空间,这样无需额外的软件包就可以完成调整 \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}