完美解决在Latex的表格里的单元格内的文本紧贴着上边框线条的问题

完美解决在Latex的表格里的单元格内的文本紧贴着上边框线条的问题


问题

在这里插入图片描述

通常做表格的时候可能会遇到如表1所示的情况,也就是单元格中的文本紧贴着单元格顶部的线条,这样看起来总觉得很变扭。而正常情况下我们希望看到的效果如表2所示,也就是在垂直方向也希望单元格中的文本能上下居中。

一、通常出现表1的情况的代码如下

\begin{table}[h]
\centering
\begin{tabular}{cccccc}
\toprule
 \multirow{2}{*}{$g$,$s$ Leves}   & \multirow{2}{*}{Q-matrix}  & \multirow{2}{*}{Models} & \multirow{2}{*}{Metrics} & \multicolumn{2}{c}{No. of $N$} \\ \cline{5-6}
                                  &                            &                         &                          & 50       & 300       \\ 
\midrule
row1 & A.1 & B.1 & C.1 & D.1 & E.1 \\
row2 & A.2 & B.2 & C.2 & D.2 & E.2 \\
row3 & A.3 & B.3 & C.3 & D.3 & E.3 \\
row4 & A.4 & B.4 & C.4 & D.4 & E.4 \\
row5 & A.5 & B.5 & C.5 & D.5 & E.5 \\
\bottomrule
\end{tabular}
\caption{table 1}
\end{table}

\multirow{2}{}{ g g g, s s s Leves} & \multirow{2}{}{Q-matrix} & \multirow{2}{}{Models} & \multirow{2}{}{Metrics} & \multicolumn{2}{c}{No. of N N N} \ \cline{5-6}
问题就出在这一行上,通常我们给单元格添加边框用的命令为==\cline==当用这个命令的时候就容易出现表1中的问题。

二、解决办法,也就是表2的代码

\begin{table}[h]
\centering
\begin{tabular}{cccccc}
\toprule
 \multirow{2}{*}{$g$,$s$ Leves}   & \multirow{2}{*}{Q-matrix}  & \multirow{2}{*}{Models} & \multirow{2}{*}{Metrics} & \multicolumn{2}{c}{No. of $N$} \\ \cmidrule{5-6}
                                  &                            &                         &                          & 50       & 300       \\ 
\midrule
row1 & A.1 & B.1 & C.1 & D.1 & E.1 \\
row2 & A.2 & B.2 & C.2 & D.2 & E.2 \\
row3 & A.3 & B.3 & C.3 & D.3 & E.3 \\
row4 & A.4 & B.4 & C.4 & D.4 & E.4 \\
row5 & A.5 & B.5 & C.5 & D.5 & E.5 \\
\bottomrule
\end{tabular}
\caption{table 2}
\end{table}

解决办法就是换一个命令,改用 \cmidrule

  • booktabs宏包提供的\cmidrule的格式如下
\cmidrule[<wd>](<trim>){a-b}
  • {a-b}就是表示从第几列到第几列之间需要划一条线
  • \cmidrule在连续使用的时候, 可以使用(lr)表示间距的表格线可以左右向内缩短一小段距离, 如果只向左,则可用(l{<距离>}),向右,则用 (r{<距离>}),<距离>可以根据自己需要来设置
  • 如下所示 用命令== \cmidrule(lr){4-4} \cmidrule(l){5-6}==调整线条两端不互相连接
\begin{table}[h]
\centering
\begin{tabular}{cccccc}
\toprule
 \multirow{2}{*}{$g$,$s$ Leves}   & \multirow{2}{*}{Q-matrix}  & \multirow{2}{*}{Models} & Metrics   & \multicolumn{2}{c}{No. of $N$} \\  
 \cmidrule(lr){4-4} \cmidrule(l){5-6}
                                  &                            &                         &100        & 50       & 300       \\ 
\midrule
row1 & A.1 & B.1 & C.1 & D.1 & E.1 \\
row2 & A.2 & B.2 & C.2 & D.2 & E.2 \\
row3 & A.3 & B.3 & C.3 & D.3 & E.3 \\
row4 & A.4 & B.4 & C.4 & D.4 & E.4 \\
row5 & A.5 & B.5 & C.5 & D.5 & E.5 \\
\bottomrule
\end{tabular}
\caption{table 3}
\end{table}

在这里插入图片描述

三、其它解决方案

在这里插入图片描述

有作者提出这种解决方案,这种方案也可以解决上面的问题,但是这种方案美中不足,这种方案会整体修改原来的表格的每一行的高度,使用这种方案之后会导致整个表格在纵向上变得很长,在论文排版中非常占用版面,不太推荐使用。

四、引用

[1] : LaTeX表格字太贴近上面表线

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值