我有这张桌子,但我认为如果将它旋转 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}