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