LATEX關於表格的一些處理


1、表格初步

首先舉一個例子:

\begin{table*}[t] %導言區1
	\begin{tabular}{|l||c|r|}%導言區2
		\hline
		123&123&123\\ \cline{1-1}
		4&5&6\\
		7&8&9\\ \hline
	\end{tabular}
\end{table*} 

在這裏插入圖片描述

1.1 導言區1

table 後面加* 完成雙欄表格
{table}有若干可選參數 [!htbp]表格將會按照所給參數,依次嘗試按照每個參數進行排版,當無法排版時,將會按照下一個參數

參數 設置
h 【here】將表格放在當前文字表格出現的位置位置
t 【top】將表格放在當前頁的頁首
b 【bottom】將表格放在當前頁的底部
p 【page】將表格放在下一頁的頁首(但是好像會有一些問題一直到沒有內容的新的一頁)表示獨佔一頁
! 表示忽略美觀因素,儘可能按照參數指定的方式來處理表格浮動位置

另外有的時候,我們希望某個浮動體就在我們書寫源碼的地方。這時我們可以調用 float 宏包,並將浮動位置指定爲 H,就可以實現了。

1.2 導言區2

參數 設置
l 水平左對齊
c 水平居中對齊
r 水平右對齊

1.3 其他指令

參數 設置
| 畫一條豎直線
|| 畫二條緊相鄰的豎直線
& column separator
\\ start new row (additional space may be specified after \ using square brackets, such as \[6pt]
\hline 水平橫線,這條命令只能位於第一行前面或緊接在行結束命令\的後面,表示在剛結束的那一行畫一根水平的直線。如果這條命令位於表格的開頭,那麼就會在表格頂部畫一橫線,橫線的寬度與表格的寬度相同. 放在一起的兩條水平\hline命令就會畫出兩條間隔很小的水平線.
\tabularnewline 用於強制一表格行的結束,而\\除了可以結束整個一行表格內容外,還可以在單個列的內容中實現換行
\cline{i-j} 部分的水平橫線 從i到j。這條命令的放置同\hline命令,並且在一行中可以出現多次。該命令從第n列的左邊開始,畫一條到第m列右邊結束的水平線.
\vline 該命令畫一條豎直線,其高度等於其所在行的行高。用這種命令,可以得到那些不是貫穿整個表格的豎直線.

2、單元格的合併

2.1 按照列合併

需要引用宏包:

\usepackage{multicolumn}

語法:

\multicolumn{n}{format}{item}
% n 合併列數
% format 格式 lcr 靠左居中靠右 是否需要加豎線等等
% item  文本

例子:

\begin{table*}[t] 
	\begin{tabular}{|c|c|c|}
		\hline 
		\multicolumn{3}{|c|}{123}\\\hline
		4&5&6\\\hline
		7&8&9\\\hline
	\end{tabular}
\end{table*} 

效果圖:
在這裏插入圖片描述

2.2 按照行合併

需要引用宏包:

\usepackage{multirow}

語法:

\multirow{nrows}[bigstructs]{width}[fixup]{text}
% nrows  設定所佔用的行數。
% bigstructs 此爲可選項,主要是在你使用了 bigstruct 宏包時使用。
% width 設定該欄文本的寬度。如果想讓 LaTeX 自行決定文本的寬度,則用 * 即可。設置寬度之後下面的強迫換行纔可以使用。
% fixup 此爲可選項,主要用來調整文本的垂直位置。使用絕對位置eg. 6pt, -5cm
% text  所要排版的文本。可用 \\ 來強迫換行。

例子1(最普通的用法):

\begin{table*}[t] 
  \begin{tabular}{ |l|l|l|}
    \hline
                  1234 & 1234 & 1234 \\ \hline
    \multirow{4}{*}{1} & 1    & 1234 \\
                       & 2    & 1234 \\%到了要撰寫下一行表格時,被跨行的該欄位,直接留空,不可填字(填了之後就會知道爲什麼了)
                       & 3    & 1234 \\%到了要撰寫下一行表格時,被跨行的該欄位,直接留空,不可填字
                       & 3    & 1234 \\ \hline%到了要撰寫下一行表格時,被跨行的該欄位,直接留空,不可填字
    \multirow{3}{*}{2} & 1    & 1234 \\
                       & 2    & 1234 \\%到了要撰寫下一行表格時,被跨行的該欄位,直接留空,不可填字
                       & 3    & 1234 \\ \hline%到了要撰寫下一行表格時,被跨行的該欄位,直接留空,不可填字
                    3  & 1    & 1234 \\ \hline
    \multirow{2}{*}{4} & 1    & 1234 \\
                       & 2    & 1234 \\ \hline%到了要撰寫下一行表格時,被跨行的該欄位,直接留空,不可填字
  \end{tabular}
\end{table*} 

在這裏插入圖片描述
例子2(一些參數設置的例子):

\begin{table*}[t] 
	\begin{tabular}{ |l|l|l|}
		\hline
		1234 & 1234 &1234 \\ \hline
		\multirow{4}{40pt}[-10pt]{1\\1} & 1 & 1234 \\%限制寬度和上下偏移的量
		                               & 2 & 1234 \\
		                               & 3 & 1234 \\
		                               & 3 & 1234 \\ \hline
		\multirow{3}{40pt}[5pt]{2\\2} & 1 & 1234 \\%限制寬度和上下偏移的量
		                              & 2 & 1234 \\
		                              & 3 & 1234 \\ \hline
		                            3 & 1 & 1234 \\ \hline
		\multirow{2}{40pt}[3pt]{4\\4} & 1 & 1234 \\%限制寬度和上下偏移的量
		                              & 2 & 1234 \\\hline
	\end{tabular}
\end{table*} 

在這裏插入圖片描述

2.3 多行列合併

目標要求:
水平和垂直的對齊格式均可控制
注意事項:
對於多行多列的單元格合併需要把合併的單元格的位置空出來
下面行的佔位也需要用列合併去佔位 這樣中間就不會有多出來空單元格邊框線了。如果直接採用~ & ~ & ...的方式來佔位,會受到表格劃線方式{|c|c|c|c|}的影響而多劃一條豎線。

\begin{table*}[t] 
	\begin{tabular}{ |l|l|l|}
		\hline
		\multicolumn{2}{|c|}{\multirow{2}{*}{1245} } & 3 \\ \cline{3-3}
		                    \multicolumn{2}{|c|}{}   & 6 \\ \hline
		                                       7 & 8 & 9 \\ \hline
	\end{tabular}
\end{table*} 

在這裏插入圖片描述

3 列的設置技巧

3.1 固定列寬設置(水平對齊)

目的要求:
設置固定列寬,超過固定寬度之後會進行自動的回行

需要添加包

\usepackage{array}

語法
有三種屬性可以設置分別爲
p{‘width’} paragraph column with text vertically aligned at the top
p水平基線頂部對齊,左右默認爲左對齊
m{‘width’} paragraph column with text vertically aligned in the middle(requires array package)
m水平基線中間對齊,左右默認爲左對齊
b{‘width’} paragraph column with text vertically aligned at the bottom (requires array package)
b水平基線底部對齊,左右默認爲左對齊

\begin{table*}[t] 
	\begin{tabular}{|p{1cm}|p{1cm}|p{1cm}|}%導言區2
		\hline
		apple & apple & apple apple apple\\ \hline
		       4 & 5       & 6           \\ \hline
		       7 & 8       & 9           \\ \hline
	\end{tabular}
	\\
	space for a line
	\\
	\begin{tabular}{|m{1cm}|m{1cm}|m{1cm}|}%導言區2
		\hline
		apple&apple&apple apple apple\\ \hline
		4&5&6\\\hline
		7&8&9\\\hline
	\end{tabular}
	\\
	space for a line
	\\
	\begin{tabular}{|b{1cm}|b{1cm}|b{1cm}|}%導言區2
		\hline
		apple&apple&apple apple apple\\ \hline
		4&5&6\\\hline
		7&8&9\\\hline
	\end{tabular}
\end{table*} 

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ytt1klXz-1593917218540)(https://raw.githubusercontent.com/ZhouziqunZZQZZQ/picBed/master/typora202007/05/095327-725878.png)]

3.2 固定列寬設置(垂直左中右對齊)

設置左右中對齊(以p爲例)
<{\raggedleft}左對齊
<{\centering}居中
<{\raggedright}右對齊

\begin{table*}[t] 
	\begin{tabular}{|p{1cm}<{\raggedleft}|p{1cm}<{\centering}|p{1cm}<{\raggedright}|}
		\hline
		apple &apple&apple apple apple\\ \hline
		    4 & 5   &6\\\hline
		    7 & 8   &9\\\hline
	\end{tabular}
\end{table*} 

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vd0AffLv-1593917218542)(https://raw.githubusercontent.com/ZhouziqunZZQZZQ/picBed/master/typora202006/23/204327-115738.png)]

3.3 列設置(設置輸出爲手寫體數字)

目的要求:
設置表格中的字符都是數學手寫字體
語法

\>{\cmd} and <{\cmd}

例子:

\usepackage{array}
\newcolumntype{F}{>{$}c<{$}}
\begin{tabular}{FFF}
	\alpha & \beta    & \gamma   \\
	\delta & \epsilon & \upsilon \\
	\sigma & \tau     & \phi     \\
\end{tabular}

在這裏插入圖片描述

4 行的設置

4.1 添加行間距方法一

\begin{tabular}{ll}
	\hline
	Mineral & Color \\[0.5cm]
	Ruby & red \\
	Sapphire & blue \\
	\hline
\end{tabular}

在這裏插入圖片描述

4.2 調整行間距的方法

% 方法一
\setlength{\tabcolsep}{5pt} %colums, default value is 6pt

%方法二
\renewcommand{\arraystretch}{1.5} %rows, default value is 1.0這一句代碼,作用是將每一行的高度變爲原來的兩倍。

%方法三
\hline\noalign{\smallskip}
cline{i-j}\noalign{\smallskip}
% 另外一種方式是在`\hline`和`cline{i-j}`前面或者後添加`\noalign{\smallskip}`
experiment1\\%沒有設置行距的情況
\begin{tabular}{ | l | l | r | }
    \hline
    \multicolumn{2}{c}{Item} \\ \cline{1-2}
    Animal    & Description & Price (\$) \\ \hline
    Gnat      & per gram    & 13.65      \\
              & each        & 0.01       \\
    Armadillo & frozen      & 8.99       \\ \hline
\end{tabular}
\\
\\
experiment2\\%更改固定行距之後的表格
\setlength{\tabcolsep}{4pt}
\begin{tabular}{ | l | l | r | }
  \hline
  \multicolumn{2}{c}{Item} \\ \cline{1-2}
  Animal    & Description & Price (\$) \\ \hline
  Gnat      & per gram    & 13.65      \\
            & each        & 0.01       \\
  Armadillo & frozen      & 8.99       \\ \hline
\end{tabular}
\\
\\
experiment3\\%使用renewcommand的方法進行行高設置
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{ | l | l | r | }
  \hline
  \multicolumn{2}{c}{Item} \\ \cline{1-2}
  Animal    & Description & Price (\$) \\ \hline
  Gnat      & per gram    & 13.65      \\
            & each        & 0.01       \\
  Armadillo & frozen      & 8.99       \\ \hline
\end{tabular}
\\
\\
experiment4\\
\setlength{\tabcolsep}{6pt}
\renewcommand{\arraystretch}{1.0}
\begin{tabular}{ | l | l | r | }
  \hline\noalign{\smallskip}
  \multicolumn{2}{c}{Item} \\ \cline{1-2}\noalign{\smallskip}
  Animal    & Description & Price (\$) \\ \noalign{\smallskip}\hline\noalign{\smallskip}
  Gnat      & per gram    & 13.65      \\
            & each        & 0.01       \\
  Armadillo & frozen      & 8.99       \\ \noalign{\smallskip}\hline
\end{tabular}

在這裏插入圖片描述

參考文獻

LaTeX 表格_yhl_leo-CSDN博客_latex 表格
LaTeX 表格指定寬度並居中_yhl_leo-CSDN博客_latex 表格 居中
Latex 表格過大(或過小)的調整方法_wbl901的博客-CSDN博客_latex resizebox
LaTeX固定表格每一列寬度並指定對齊方式(居中) - 簡書
LaTeX技巧313:如何設定如tabular的寬度(總的寬度)_LaTeX_Fun_新浪博客
Latex 表格內文字過長自動換行_virhuiai的專欄-CSDN博客_latex表格自動換行
LaTeX中表格單元格中內容自動換行 (Wrap text)問題_陳廣智的專欄-CSDN博客_latex表格自動換行
LaTeX_Fun_新浪博客,裏面有很多技巧和交流羣
一份其實很短的 LaTeX 入門文檔 | 始終
常用數學符號的 LaTeX 表示方法
Figures and Tables in a LATEX Document

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章