关于如何制作美观表格的提示

关于如何制作美观表格的提示

我使用 booktabs 制作论文中的大部分表格。但是,我不确定这是否是超过 6-7 行的表格的最佳解决方案,因为它可能难以阅读(没有分隔行的线)。

如果您觉得自己擅长制作视觉上美观的表格,我希望您对下表提出建议(在 Word 中制作以说明内容和大小):

在此处输入图片描述

该表旨在说明不同的模拟情况。Y说明具体情况利用了每列第一行中提到的方法。

答案1

我建议你阅读 booktabs 包文档。其中给出了关于表格格式的非常好的建议,我认为这是对这个主题的一个很好的介绍。

关于您的示例,上面提到的参考资料提供了以下指导:

  1. 永远不要使用垂直规则。
  2. 切勿使用双重规则。

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}

这使:

在此处输入图片描述

相关内容