我使用 booktabs 制作论文中的大部分表格。但是,我不确定这是否是超过 6-7 行的表格的最佳解决方案,因为它可能难以阅读(没有分隔行的线)。
如果您觉得自己擅长制作视觉上美观的表格,我希望您对下表提出建议(在 Word 中制作以说明内容和大小):
该表旨在说明不同的模拟情况。Y
说明具体情况利用了每列第一行中提到的方法。
答案1
我建议你阅读 booktabs 包文档。其中给出了关于表格格式的非常好的建议,我认为这是对这个主题的一个很好的介绍。
关于您的示例,上面提到的参考资料提供了以下指导:
- 永远不要使用垂直规则。
- 切勿使用双重规则。
rowcolors
您还可以使用包中的命令添加一些斑马条纹,以水平引导视线彩色。然而,对于完全填满值的表格来说,这种做法往往是不必要的。关于Edward Tufte 的网络论坛关于这个主题以及在 TeX.SX 上的这个主题中。
当处理浮点数而不是字母时,它们应该使用以下方式与小数对齐:列或者希尼奇包中,同一列内的浮点数的精度尽量保持一致。
以下是针对您提供的示例的 MWE 建议:
\documentclass{article}
\usepackage{booktabs}
\usepackage[svgnames,table]{xcolor}
\usepackage[tableposition=above]{caption}
\usepackage{pifont}
\newcommand*\CHECK{\ding{51}}
\begin{document}
\begin{table}
\centering
\caption{MWE of a table using booktabs}
\rowcolors{5}{}{gray!10}
\begin{tabular}{*4c}
\toprule
& \multicolumn{3}{c}{methods tested} \\
\cmidrule(lr){2-4}
Case & Heat & Exhaust & Outdoor \\
\# & Wheel & Air & Air \\
\midrule
1 & & \CHECK & \\
2 & & & \CHECK \\
3 & & \CHECK & \CHECK \\
4 & \CHECK & & \\
5 & \CHECK & \CHECK & \\
6 & \CHECK & & \CHECK \\
7 & \CHECK & \CHECK & \CHECK \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
得出下表:
- 我将列标题分成两行以减少列宽。除了使表格看起来更好之外,它还有助于提高水平可读性。
- 我用浅色斑马线代替了水平线。在我看来,对于这个例子,添加斑马线是完全可以接受的,因为行是相互独立的。
- 我按照@moose 的建议,用复选标记替换了“Y”符号。
- 我删除了每个数字前的“案例”一词,以避免不必要的重复信息。
- 我为第一列添加了元标题“测试方法”和标题“案例”。我认为表格应该相对独立。读者只需看一眼表格,就应该能够掌握结构并了解表格中每个元素的含义。可以在标题中添加详细信息,也可以将其作为表格注释。如果读者必须进入文本才能理解表格,那么在我看来这是行不通的。这种做法还可以更轻松地在文本中引用表格的各个元素。
这是我为我的论文制作的另一个表格示例,其中使用该包给出了浮点数的示例siunitx
:
\documentclass{article}
\usepackage{booktabs, siunitx}
\usepackage[svgnames,table]{xcolor}
\usepackage[tableposition=above]{caption}
\begin{document}
\begin{table}
\centering
\caption{MWE of a table using booktabs and siunitx with floats}
\begin{tabular}{
l
S[table-format = 3]
S[table-format = 2]
S[table-format = 1.3]
S[table-format = -2.2]
S[table-format = 1.3]
S[table-format = 1.3]
S[table-format = 2.2]
}
\toprule
\multicolumn{3}{c}{} &
\multicolumn{5}{c}{Brooks-Corey model parameters}\\
\cmidrule(lr){4-8}
& {Sand} & {Clay} & {$\lambda$} & {$\psi_e$} & {$\theta_r$} & {$\theta_{sat}$} & {$K_{sat}$} \\
Texture Class & {(\si{\percent})} & {(\si{\percent})} & {(-)} & {(\si{cm})} & {(\si{m^3/m^3})} & {(\si{m^3/m^3})} & {(\si{cm/h})} \\
\midrule
Sand & 100 & 0 & 0.592 & -7.26 & 0.020 & 0.437 & 21.00 \\
Loamy Sand & 85 & 5 & 0.474 & -8.69 & 0.035 & 0.437 & 6.11 \\
Sandy Loam & 65 & 10 & 0.322 &-14.66 & 0.041 & 0.453 & 2.59 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
得出下表:
答案2
我会交换列和行——至少如果单元格的内容像您的示例所示那样短的话。我还会尽量避免使用颜色背景形式的“规则”——在大多数情况下,多一点空间就足够了。而且我总是尽量让列标题不比单元格内容长太多。
\documentclass{scrartcl}
\usepackage{booktabs}
\begin{document}
\begin{table}\centering
\caption{Use of xxxx methods in simulation cases 1--7}
\begin{tabular}[t]{lccccccc}\toprule
& 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ \midrule
Heat wheel & & & & Y & Y & Y & Y \\\addlinespace
Exhaust air & Y & & Y & & Y & & Y \\\addlinespace
Outside air & & Y & Y & & & Y & Y \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案3
代码:
\documentclass{article}
\usepackage[svgnames,table]{xcolor}% note the table option
\usepackage{booktabs}
\begin{document}
\rowcolors{2}{White}{LightBlue!30}% colors to shade rows withs
\begin{tabular}{*4c}\toprule
& \textbf{Heat Wheel} & \textbf{Exhaust air} & \textbf{Outdoor air}\\\midrule
Case 1& & Y & \\
Case 2& & & Y \\
Case 3& & Y & Y \\
Case 4& Y & & \\
Case 5& Y & Y & \\
Case 6& Y & & Y \\
Case 7& Y & Y & Y \\\bottomrule
\end{tabular}
\end{document}
顺便说一句,无论有没有 booktabs,mwe 都会很有帮助。
答案4
编码美化并不总是那么容易,而且很耗时,但我认为使用booktabs
就足够了,而且输出也不错。colortbl
如果您想要一些颜色,也可以考虑使用。在这里,我首先发布使用的第一个解决方案,booktabs
以便为您提供一些见解。
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}\centering
\begin{tabular}{cccc}\toprule
& Heat wheel & Exhaust air & Outside air \\ \midrule
Case 1 & & Y & \\
Case 2 & & & Y \\
Case 3 & & Y & Y \\
Case 4 & Y & & \\
Case 5 & Y & Y & \\
Case 6 & Y & & Y \\
Case 7 & Y & Y & Y \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
如果您决定采用第二种方法,您可以尝试以下方法:
\documentclass{article}
\usepackage{booktabs}
\usepackage{colortbl}
\begin{document}
\begin{table}\centering
\begin{tabular}{cccc}\toprule
& \bf{Heat wheel} & \bf{Exhaust air} &\bf{Outside air} \\ \midrule \rowcolor[gray]{.95}
Case 1 & & Y & \\
Case 2 & & & Y \\ \rowcolor[gray]{.95}
Case 3 & & Y & Y \\
Case 4 & Y & & \\ \rowcolor[gray]{.95}
Case 5 & Y & Y & \\
Case 6 & Y & & Y \\ \rowcolor[gray]{.95}
Case 7 & Y & Y & Y \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
这使: