LaTeX使用记录(一):表格

目前没有严肃归类,遇到一个记录一个……

表格

1. 表格内容过长时自动换行

  • 设置表格每列的宽度 我个人觉得挺麻烦的。。好像要加上包\usepackage{tabularx}使用p{3cm}表示列宽超过3cm则自动换行,写在{tabula}{cccc}这个{cccc}位置处。。也就是直接设置列的参数,取代原先的cccc,而不是在外面写{cccc}{m{5cm}}。m{5cm}表示啥?最大列宽=5cm?和p有什么区别呢?
  • 也是设置列宽,方法不同:\begin{tabular}{p{0.9\columnwidth}}
  • 其余方法见参考链接。
    点这里!

示例表格如下↓,以后忘了就看看这个表咋写的,复制了改改,省得老翻之前的LaTeX文件……

\begin{table}
	\caption{The Sample of The Mobility Management Data}\label{table1}
	\begin{center}
	\begin{tabular}{|p{1cm}<{\centering}|m{2cm}|l|l|}
		\hline
		Number &  Field & Explaination & Example\\
		\hline
		1 & Longitude & The longitude of the base station & 113.23372 \\
		2 & Latitude & The latitude of the base station & 23.09214 \\
		3 & LAC & Location Area Code & 2881 \\
		4 & CI & Cell Identity & 9922 \\
		5 & StartTime & The start time of data & 2018051403059 \\
		6 & EndTime & The end time of data & 2018051403059 \\
		7 & IMSI & International Mobile Subscriber Identity & 416************ \\
		8 & Telephone & The telephone number of user & 138******** \\
		\hline
	\end{tabular}
\end{center}
\end{table}

结果如下图所示:

2. 表格在LaTeX文章里居中

\begin{tabular}\begin{table}之间增加\begin{center},注意结尾要\end{center}

3. 表格内文字水平居中

在表格列设置的位置写为p{1cm}<{\centering},注意小于号<不可以丢掉!结果如上图所示

4. 表格属性

表头用\caption{}
引用表就打标签
需要竖线就在\begin{tabular}{|c|c|c|}这里加,和上面设置列宽、换行居中等不矛盾的。需要横线就加\hline

5. 表格内文字样式设置

参考MLICOM官网上弄下来的LaTeX模板里给的样式,采用{}将文本框起来并且在前面加上属性。
\bfseries给之后的文字都加粗。
后知后觉注意到这里好像规范了4级标题的规范,我都是按照模板来的我应该没有自己瞎整吧???

\begin{table}
\caption{Table captions should be placed above the
tables.}\label{tab1}
\begin{tabular}{|l|l|l|}
\hline
Heading level &  Example & Font size and style\\
\hline
Title (centered) &  {\Large\bfseries Lecture Notes} & 14 point, bold\\
1st-level heading &  {\large\bfseries 1 Introduction} & 12 point, bold\\
2nd-level heading & {\bfseries 2.1 Printing Area} & 10 point, bold\\
3rd-level heading & {\bfseries Run-in Heading in Bold.} Text follows & 10 point, bold\\
4th-level heading & {\itshape Lowest Level Heading.} Text follows & 10 point, italic\\
\hline
\end{tabular}
\end{table}

结果如下图所示:

6. 表格左上角斜线表头生成,用来标记行名字和列名字

需要插入包!\usepackage{diagbox} % 插入斜线表头
然后\diagbox{列名字}{行名字}, 在第一行写上行的分类,比如“算法”对应的kNN、MM等。
第二行开始 第一列都要写上列的分类,例如“特点”对应的“显式建模”、“时间序列”等。
见下面的例子:

\begin{table}[H]
	\centering
	\caption{七种协同过滤算法特点对比}		
	\label{tab1}
	\setlength{\tabcolsep}{4mm}{ % 均匀设置每列的宽度
	\begin{tabular}{cccccccc}
		\toprule[2pt] % 设置顶线的粗细
		\diagbox{特点}{算法} % 这里是在左上角生成斜线格子
		      & UkNN &MM& BPRMF& FPMC&FISM&Fossil&RNN\\
		\midrule[2pt]
		对用户显式建模	& \ding{51} &\ding{55}&\ding{51}&\ding{51}&\ding{55}&\ding{55}&\ding{55} \\
		\hline                                       
		\rule{0pt}{15pt} % 15pt代表行宽
		考虑用户个性&\ding{55}&\ding{55}&\ding{51}&\ding{51}&\ding{51}&\ding{51}&\ding{51}\\
		\hline                                        
		\rule{0pt}{15pt}
		基于相似度计算	&\ding{51}&\ding{55}&\ding{55}&\ding{55}&\ding{51}&\ding{51}&\ding{55} \\
		\hline
		\rule{0pt}{15pt}
		考虑时间因素 &\ding{55}&\ding{51}&\ding{55}&\ding{51}&\ding{55}&\ding{51}&\ding{51}\\
		
		\bottomrule[2pt]
	\end{tabular}}
\end{table}

结果如下图所示:

7. 还有一种合并单元格的表格:

使用threeparttable这个环境,需要插入包\usepackage{threeparttable},能够使表头更直观
根据我的LaTeX代码显示,下面用了\multirow这个语句应该是还要\usepackage{tabularx,multirow}……
关键是这两句\multicolumn{5}{c}{参数@10}\cr \cmidrule(lr){2-6} ,5代表合并的列总数,2-6代表第二列到第六列

\renewcommand{\arraystretch}{1.5} %控制行高
\begin{table}[tp]
	\centering
	\fontsize{10}{9}\selectfont
	\begin{threeparttable}
		\caption{7种协同过滤算法实验结果对比}
		\label{tab:performance_comparison}
		\setlength{\tabcolsep}{4mm}{
		\begin{tabular}{ccccccc}
			\toprule
			\multirow{2}{*}{算法}&
			\multicolumn{5}{c}{参数@10}\cr
			\cmidrule(lr){2-6} 
			&Sps(\%)&Recall(\%)&用户覆盖率(\%)&物品覆盖率&热门物品占比(\%)\cr
			\midrule
			UkNN&14.8&6.29&81.6&291&50.36\cr
			MM&28.6&4.91&80&543&16.47\cr
			BPRMF&6&2.96&68.4&458&18.79\cr
			FPMC&27.4&5.16&81.4&612&23.93\cr
			FISM&10.2&5.1&79.8&408&40.82\cr
			Fossil&29.8&7.39&88.4&668&20.28\cr
			RNN-CCE&{\bf 34}&{\bf 7.55}&{\bf 89.2}&{\bf 669}&{\bf 13.12}\cr
			RNN-Hinge&{30.4}&{7.35}&{89}&{603}&{15.75}\cr
			\bottomrule
		\end{tabular}}
	\end{threeparttable}
\end{table}

结果如下,具体字体大小啊列宽啊行高啊根据实际需要再搞吧= =我也记不住:

8. 设置表格总宽度8cm:

\begin{tabularx}{8cm}{p{2cm}<{\centering}|

9. 表格排版

增加包\usepackage{float}
\begin{table}[H]
大写H就是固定位置,小写h就是自动排版。具体情况看排版,可多尝试hhh

10. 突然发现可以直接上传图片,看一看上传的图片在哪个位置


不会在博客相册里备份一张的……但是本地图片删除不会影响,好奇什么时候会触发这张图裂了不能看

11. 如果不能用或者报错记得百度一下看看是不是少了什么包……

12. 参考:

这里还有其他几种方法支持表格换行,和上文点击的是同一个:https://blog.csdn.net/virhuiai/article/details/7886265?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
最后一个别人的例子hhh https://blog.csdn.net/as_far_as/article/details/83025885

posted @ 2020-05-19 13:53  一卷  阅读(3882)  评论(4编辑  收藏  举报