是否有与 \toprule、\midrule 和 \bottomrule 垂直等效的命令?

是否有与 \toprule、\midrule 和 \bottomrule 垂直等效的命令?

我有这张桌子,但我认为如果将它旋转 90 度并变成水平的,以节省垂直空间并提高阅读效果,效果会更好。我想转置表格,同时保持\toprule\bottomrule线条比 更粗的样式\midrule,但我不知道如何使用垂直线来实现这一点。这可能吗?

\begin{table}[ht]
\centering
\begin{tabular}{ccc}
\toprule
\multicolumn{1}{l}{Number of units} & Mesh size & Number of elements \\
\midrule
1                                   & 59            & 5308 \\
2                                   & 88            & 5208 \\
3                                   & 90            & 3741 \\
4                                   & 100           & 3920 \\
5                                   & 112           & 3940 \\
6                                   & 128           & 3537 \\
7                                   & 134           & 3794 \\
8                                   & 150           & 3824 \\
9                                   & 160           & 3710 \\
10                                  & 172           & 3339 \\
15                                  & 214           & 1720 \\
20                                  & 264           & 938 \\
25                                  & 272           & 878 \\
\bottomrule
\end{tabular}
\caption[Relationship between mesh properties with the number of units]{Relationship between mesh properties with the number of units}
\label{tab:maxsizeandnumberofunits}
\end{table}

提前感谢您的帮助!

答案1

您的tabular环境当前包含 1 个标题行和 13 个数据行。如果您要转置此表,它将总共有 14 [!] 列。除非您还愿意将每个单元格的内容旋转 90 度或选择非常小的字体大小(无论哪种方式,都会使表格几乎无法阅读),否则 14 列的表格几乎不可能适合文本块的宽度。

我建议您通过以下方式稍微增强表格的吸引力:(i)在标题单元格中引入换行符,(ii)在软件包的帮助下将所有数字对齐到各自的(隐式)小数点标记siunitx,(iii)在大约每三行之后提供一些额外的空白,以及(iv)通过将表格材料和标题嵌入到环境中,在表格材料和标题之间安排一些额外的视觉凝聚力threeparttable

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs,threeparttable}
\usepackage{siunitx}
\newcolumntype{T}[1]{S[table-format=#1]}
\usepackage{caption}
\captionsetup{skip=0.5\baselineskip,justification=raggedright}

\begin{document}
\begin{table}[ht]
\begin{threeparttable}
\centering
\begin{tabular}{@{} T{2.0}T{3.0}T{4.0} @{}}
\toprule
{Number of}  & {Mesh size} & {Number of}\\
{units}      &             & {elements} \\
\midrule
 1    &  59  & 5308 \\
 2    &  88  & 5208 \\
 3    &  90  & 3741 \\ \addlinespace
 4    & 100  & 3920 \\
 5    & 112  & 3940 \\ 
 6    & 128  & 3537 \\ \addlinespace
 7    & 134  & 3794 \\
 8    & 150  & 3824 \\
 9    & 160  & 3710 \\ \addlinespace
10    & 172  & 3339 \\ 
15    & 214  & 1720 \\
20    & 264  &  938 \\ 
25    & 272  &  878 \\
\bottomrule
\end{tabular}
\caption{Relationship between mesh properties and number of units}
\label{tab:maxsizeandnumberofunits}
\end{threeparttable}
\end{table}
\end{document}

答案2

boldline 您可以使用包中的包来实现此目的 shipunov,该包定义了一个V{some number}列类型,用于替换标准列分隔符;数字是默认规则厚度(0.4pt)乘以的因子。samde 包还定义了可变厚度水平规则,使用语法\hlineB{some number}\clineB{cols}{some number},没有 booktabs 规则的 bertical 填充,因此垂直和水平粗线确实相交。

由于会有许多列,您可以使这样的表格适合线宽,使用的值\tabcolsep、字体大小,并具有更合理的边距加载geometry

她是我的审判:

\documentclass{article}
\usepackage{geometry}
\usepackage{makecell}
\usepackage{boldline} 

\begin{document}

begin{table}[ht]
\centering
\small\setlength{\tabcolsep}{4pt}
\setlength{\extrarowheight}{3pt}
\begin{tabular}{@{}V{2.5}lV{1.6}*{13}{c}V{2.5}@{}}
\hlineB{2.5}
\makecell[l]{Number of\\ units} & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 15 & 20 &25 \\[0.5ex]
\hlineB{1.6}
Mesh size & 59 & 88 & 90 & 100 & 112 & 128 & 134 & 150 & 160 & 172 & 214 & 264 & 272\\[0.5ex]
\makecell[l]{ Number of\\ elements} & 5308 & 5208 & 3741 & 3920 & 3940 & 3537 & 3794 & 3824 & 3710 & 3339 & 1720 & 938 & 878\\
\hlineB{2.5}
  \end{tabular}
 \caption[Relationship between mesh propert& 3710 \\ ies with the number of units]{Relationship between mesh properties with the number of units} \label{tab:maxsizeandnumberofunits}
 \end{table}

\end{document} 

在此处输入图片描述

相关内容