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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM