写在前面的话
在之前的博客中,我们写过很多关于Latex的表格的用法,今天,我们继续来分享一些表格的高级用法,就是设置表格的线宽,颜色等等,让我们的文章看起来更好看,更加的舒服。
我们之前的文章可以参考一下下面的这些链接:
Latex中的一些表格用法总结(二)——行列式的表格,表格的切分和合并
Latex中的表格用法总结(三)——表格的合并分割,字体旋转,表头语句切割
正文部分
如果我们想要得到下面的一个表格,如下图所示:
这个就是一个简单的三线表
\begin{table}[]
\centering
\caption{The caption of this table}
\begin{tabular}{lcccc}
\toprule
& SVM & SMO & J48 & Random Forest \\
\midrule
TP & 1 & 2 & 3 & 1 \\
FP & 1 & 2 & 3 & 1 \\
FN & 1 & 2 & 3 & 1 \\
\bottomrule
\end{tabular}
\label{}
\end{table}
但是我们可能想要我们的线条更加的宽一些,这个时候,我们可以通过这样子的调整得到:
代码如下所示:
\begin{table}[]
\centering
\caption{The caption of this table}
\begin{tabular}{lcccc}
\toprule[1.5mm]
& SVM & SMO & J48 & Random Forest \\
\midrule[1.5pt]
TP & 1 & 2 & 3 & 1 \\
FP & 1 & 2 & 3 & 1 \\
FN & 1 & 2 & 3 & 1 \\
\bottomrule[1mm]
\end{tabular}
\label{}
\end{table}
可以通过简单的在\toprule,\bottomrule,\midrule 后面添加我们的参数。[XXmm],[XXpt]来进行设置。
主要是为了明显,所以这个图片我设置的比较夸张
但是问题来了,如果我们的表格是这个样子的怎么办?如下图所示:
如果我们用三线表来表示,可能就会出现上面的这个问题,这个表会有一些空隙,就会显得可能比较难看,如果我们不想要这个空隙,我们只能用\hline 来做。但是我们又想要保证我们的线宽比较粗一些,我们可以借助\Xhline和\Xcline 来完成,\Xcline 是\cline的替换。
代码如下所示:
\begin{table}[]
\centering
\caption{The caption of this table}
\begin{tabular}{|l|cccc|}
\Xhline{1.2pt}
& SVM & SMO & J48 & Random Forest \\
\hline
TP & 1 & 2 & 3 & 1 \\
FP & 1 & 2 & 3 & 1 \\
FN & 1 & 2 & 3 & 1 \\
\Xhline{1.2pt}
\end{tabular}
\label{tab:label1}
\end{table}
这个时候我们就可以得到下面的这个这个表格
如果我们想要改变表格的列宽,我们可以使用 !{\vrule width1.2pt} 这个命令来操作。
代码如下所示:
\begin{table}[]
\centering
\caption{The caption of this table}
\begin{tabular}{!{\vrule width1.2pt}l|cccc!{\vrule width1.2pt}}
\Xhline{1.2pt}
& SVM & SMO & J48 & Random Forest \\
\hline
TP & 1 & 2 & 3 & 1 \\
FP & 1 & 2 & 3 & 1 \\
FN & 1 & 2 & 3 & 1 \\
\Xhline{1.2pt}
\end{tabular}
\label{tab:label1}
\end{table}
如果我们想要改变表格的颜色,我们需要在我们的导言区加入下面的代码,导言区就是在
\begin{document} 之前的部分。
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{color}
\definecolor{tabcolor}{rgb}{.105,.110,.113} % 这里就是我们怎么定义我们的表格的线宽颜色
\usepackage{array}
使用如下所示:
\begin{table}[h]
\centering
\begin{tabular}{ccccc}
\arrayrulecolor{tabcolor}
\toprule
& SVM & SMO & J48 & Random Forest \\
\hline
TP & 1 & 2 & 3 & 1 \\
FP & 1 & 2 & 3 & 1 \\
FN & 1 & 2 & 3 & 1 \\
\bottomrule[1.2pt]
\end{tabular}
\label{tab:label1}
\end{table}
Reference
https://mirror-hk.koddos.net/CTAN/macros/latex/contrib/makecell/makecell.pdf