对于表格样式的建议和建议

对于表格样式的建议和建议

你好,我正在写论文,想找到一种最好的方式呈现表格数据。我没有太多经验LaTex,因此,我想寻找一些关于如何做到这一点的想法和技巧。

公平地说,我既没有处理过非常复杂的表格,我的工作中也没有很多这样的表格;然而,有时它们会出现一定程度的嵌套,而依靠它们来了解这\diagbox两个索引所代表的含义通常会有所帮助。

下面是此类表格的一个示例: 在此处输入图片描述

和代码

\documentclass[12pt]{report}


\usepackage[letterpaper,margin=1in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{subcaption}
\usepackage{caption}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{float}

\usepackage{longtable}
\usepackage{booktabs}
\usepackage{diagbox}

\begin{document}

\begin{longtable}{lcccccccccc}
\caption[\textbf{Some caption}]{\textbf{Some caption.}} \\
\toprule
\multicolumn{1}{l}{\diagbox{stats}{IDs}} &
\multicolumn{2}{c}{HG002} &
\multicolumn{2}{c}{HG00514} &
\multicolumn{2}{c}{HG00733} &
\multicolumn{2}{c}{HG03492} &
\multicolumn{2}{c}{NA19240} \\
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}
\cmidrule(lr){6-7}
\cmidrule(lr){8-9}
\cmidrule(lr){10-11}

&

\multicolumn{1}{c}{hap1} &
\multicolumn{1}{c}{hap2} &
\multicolumn{1}{c}{hap1} &
\multicolumn{1}{c}{hap2} &
\multicolumn{1}{c}{hap1} &
\multicolumn{1}{c}{hap2} &
\multicolumn{1}{c}{hap1} &
\multicolumn{1}{c}{hap2} &
\multicolumn{1}{c}{hap1} &
\multicolumn{1}{c}{hap2} \\
\midrule

N50 & 45.94 & 45.02 & 20.35 & 20.12 & 45.73 & 43.81 & 17.85 & 20.16 & 12.15 & 13.00 \\
L50 & 20 & 18 & 41 & 44 & 23 & 23 & 50 & 45 & 77 & 64 \\
NG50\makebox[0pt][l]{$^{\ast}$} & 50.15 & 44.90 & 21.58 & 20.12 & 47.79 & 45.83 & 17.89 & 19.97 & 12.98 & 13.03 \\
\midrule[\heavyrulewidth]
\multicolumn{11}{l}{\footnotesize$^*$ NG50 metric is calculated considering a genome size of 3Gbp} \\
\bottomrule
\label{table:assemblies}
\end{longtable}

\end{document}

现在,我了解到的情况是:

  1. 简单就是最好,避免垂直线
  2. 使用适当的函数来绘制表格项并
  3. 尽可能坚持使用更传统的方法来绘制表格

基于此,我对输出非常满意,如果不是因为\diagbox在不连接用 绘制的水平线时看起来不那么“好” ,并且可能样本 ID之间和下方的\cmidrule间隙非常大,我猜由于 ,这在某种程度上是不可避免的。\toprule\cmidrule\diagbox

如果有人有其他方式来呈现这些数据和其他类似的数据,任何帮助都将不胜感激。当然,我有点喜欢能够通过页面拆分表格的选项例如 \longtable类似地,我喜欢在第一个单元格中使用的想法,\diagbox只要它看起来不错 — 我也对这方面的其他选择感兴趣。最后但并非最不重要的是,如果有任何形式的虚线积分就好了,因为我注意到\longtable它对此类编辑的弹性不大。

答案1

我建议您不要使用\diagbox;而是只需将标签“ID”放在 10 个数据列上方的一行中。

在此处输入图片描述

\documentclass[12pt]{report}
\usepackage[letterpaper,margin=1in]{geometry}
%% \usepackage[utf8]{inputenc} % that's the default nowadays
\usepackage[T1]{fontenc}
\usepackage{longtable,booktabs,siunitx}
\usepackage{caption}

\begin{document}

\begingroup
\setlength{\tabcolsep}{0pt}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\captionsetup{textfont=bf, skip=0.333\baselineskip}

\begin{longtable}{@{\extracolsep{\fill}} l *{10}{S[table-format=2.2]} }
\caption[Some caption]{Some caption.}
\label{table:assemblies} \\
\toprule
Stats & \multicolumn{10}{c}{IDs} \\
\cmidrule{2-11}
& \multicolumn{2}{c}{HG002} 
& \multicolumn{2}{c}{HG00514} 
& \multicolumn{2}{c}{HG00733} 
& \multicolumn{2}{c}{HG03492} 
& \multicolumn{2}{c}{NA19240} \\
\cmidrule{2-3} \cmidrule{4-5} \cmidrule{6-7} \cmidrule{8-9} \cmidrule{10-11}

& {hap1} & {hap2} & {hap1} & {hap2} & {hap1} & {hap2} & {hap1} & {hap2} & {hap1} & {hap2} \\
\midrule

N50 & 45.94 & 45.02 & 20.35 & 20.12 & 45.73 & 43.81 & 17.85 & 20.16 & 12.15 & 13.00 \\
L50 & 20    & 18    & 41    & 44    & 23    & 23    & 50    & 45    & 77    & 64    \\
NG50$^*$ 
    & 50.15 & 44.90 & 21.58 & 20.12 & 47.79 & 45.83 & 17.89 & 19.97 & 12.98 & 13.03 \\
\midrule[\heavyrulewidth]
\multicolumn{11}{l}{\footnotesize$^*$ NG50 metric is calculated considering a genome size of 3Gbp.} \\

\end{longtable}
\endgroup

\end{document}

相关内容