文章目錄
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*}
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*}
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