Latex论文表格画法及相关技巧
Latex論文表格畫法
- 1 基本表格畫法
- 2 合并表格畫法
- 3 靈活實現表格
最近畫了很多計算機會議和論文的表格,因此特意在這里做一個記錄,以滿足未來畫基本表格的需要,節省時間。
1 基本表格畫法
- \begin{table}[htbp] 表示表格的開始。中括號中的 htbp 表示的是表格的浮動格式。當然這個基本參數不僅僅只是對表格有用。需要注意的是,一般使用 [htb] 這樣的組合,這樣組合的意思就是Latex會盡量滿足排在前面的浮動格式,就是 h-t-b 這個順序,讓排版的效果盡量好。
- [h] 表示將表格放在當前位置。
- [t] 表示將表格放置在頁面的頂部。
- [b] 表示將表格放置在頁面的底部。
- [p] 將表格放置在一只允許有浮動對象的頁面上。
- \caption{my table} 表示表格的標題,該設置可以放在 \begin{tabular} \end{tabular} 環境的前后,使得表格的標題顯示在表格的上面或下面。\label{table1} 表示表格名字,用于正文中引用表格。
- 若要插入跨欄圖表, 可以用浮動環境 table* 。\begin{table}[htbp] 變成 \begin{table*}[htbp] ,\end{table} 變成 \end{table*} 。
- \begin{tabular}[位置]{列} 和 \begin{tabular*}{寬度}[位置]{列} 設置表格環境參數格式。
- \begin{tabular}{|c|c|c|} 。一個 c 表示有一列,格式為居中顯示,這是列必選參數。通過添加 | 來表示是否需要繪制豎線。|| 表示畫二條緊相鄰的豎直線。
- l 表示該列左對齊。
- c 表示該列居中對齊。
- r 表示該列右對齊。
- 如果只需要某幾列的寬度發生改變,可以使用 p{寬度} (以 cm 為單位或以 pt 為單位或 0.2\textwidth)來代替 c 參數,但是表格中的文字是默認左對齊的。因此此時可以添加 p{寬度}<{\centering} 來改變文本對齊方式,但此時需要添加包 \usepackage{array} 。在這里 \centering 參數可以被 \raggedleft 和 \raggedright 替換,分別表示為左對齊和右對齊。
- 也可以使用 tabular* (\begin{tabular*}{寬度}[位置]{列})環境參數,如上的 {寬度} 可以設置為 {10cm},表示整個表格的寬度為 10cm。但由于設置了表格的整體寬度,為了使表格對齊,需要使用表達式 @{\extracolsep{\fill}} ,但畫正式表格一般 不推薦 使用這種表格方式(比較復雜,感覺一般用于畫類似三線表格的圖表中),可以通過命令調整整個表格的縮放。
- \begin{tabular}[位置]{cc}。[位置] 中的參數是位置可選參數,該參數表示表格相對于外部文本行基線的位置,又稱為垂直定位參數。一般為默認不設置,表示表格按照外部文本行的基線垂直居中。t表示表格頂部與當前外部文本行的基線重合。b 表示表格底部與當前外部文本行的基線重合。
- \begin{tabular}{|c|c|c|} 。一個 c 表示有一列,格式為居中顯示,這是列必選參數。通過添加 | 來表示是否需要繪制豎線。|| 表示畫二條緊相鄰的豎直線。
- 可用 \setlength{\tabcolsep}{1pt} 來調整表格的列間距離 (十分推薦) 。
- 可用 \renewcommand\arraystretch{1.5} 來調整表格行間距,意思是將每一行的高度變為原來的1.5倍 (十分推薦) 。
- 如果表格太大,可以使用 \scalebox{1.5} 來對表格進行縮放,意思是將表格的大小變為原來的1.5倍 (十分推薦),使用的時候需要添加包 \usepackage{graphicx} 。
基本表格畫法如下:
\documentclass{article}\begin{document} \begin{table}[htbp] \caption{my table} \label{table1} %表格名字,用于正文中引用表格 \centering \begin{tabular}{|c|c|c|} \hline (1,1) & (1,2) & (1,3) \\ \hline (2,1) & (2,2) & (2,3) \\ \hline (3,1) & (3,2) & (3,3) \\ \hline (4,1) & (4,2) & (4,3) \\ \hline \end{tabular} \end{table} \end{document}其實現效果如下:
使用 **\setlength{\tabcolsep}{1pt}{表格}**來調整表格的列間距離,如下所示:
其實現效果如下:
使用 \renewcommand\arraystretch{1.5} 來調整表格行間距,如下所示:
其實現效果如下:
使用 \scalebox{1.5} 來對表格進行縮放,如下所示:
其實現效果如下:
使用 p{寬度}<{\centering} 情況如下所示:
其實現效果如下:
使用 \begin{tabular*}{寬度}[位置]{列} 情況如下所示:
其實現效果如下:
2 合并表格畫法
如下是表格中一些橫線的畫法(Tips: 如下表格中的(1,1)代表該格子在整個表格中的位置,有助于我們畫表格):
- \hline:這條命令只能位于第一行前面或緊接在行結束命令\的后面,表示在剛結束的那一行畫一根水平的直線,橫線的寬度與表格的寬度相同,放在一起的兩條水平\hline命令就會畫出兩條間隔很小的水平線。
- \cline{n-m}:這條命令在一行中可以出現多次。該命令從第n列的左邊開始,畫一條到第m列右邊結束的水平線,對應前面的列數。
其實現效果如下所示:
為了得到合并的格子,可以通過命令 \multicolumn 和 \multirow 進行合并單元格。需要引入包 \usepackage{multirow} 。其一般的參數使用方法如下。更詳細可以參考LaTex表格繪制的小技巧。
- \multicolumn{參數1}{參數2}{參數3}
- 參數1 表示要將整個單元格分成多少列
- 參數2 表示對齊方式
- 參數3 表示這個單元格的內容
- \multirow{參數1}{參數2}{參數3}
- 參數1 表示要將整個單元格分成多少行
- 參數2 表示對齊方式
- 參數3 表示這個單元格的內容
\multicolumn{2}{|c|}{multi col} 指的是這個單元格占兩列,表格中的內容居中表示,填充內容為multi col,并在該單元格左右畫倆條豎線(原始的 tabular 中設置的 |c| 的兩邊的豎線會消失)。
\multirow{2}*{multi row} 指的是這個單元格占兩行,填充內容為multi row,參數2 是文本所在列的寬度。它可以用*取代,表示用文本的自然寬度作為列的寬度,當使用*的時候不需要打括號。
\multicolumn{2}{c|}{\multirow{2}{*}{multi col row}} 指的是這個單元格占兩行,同時也占兩列。如果 \multirow 前面沒有 \multicolumn 的話,默認就是只占一列。注意:對應未填入的格子需要進行填充。若為多行單列,只需要把該位置空出來即可。當為多行多列的時候,下一行需要使用類似 \multicolumn{2}{c}{} 的語句對多列進行填充。
其實現效果如下:
若要使用斜線表頭,需要使用 \diagbox 命令,需要添加包 \usepackage{diagbox},\diagbox[innerwidth=3.3cm]{A}{B}} 中的 [innerwidth=3.3cm] 取決于列寬度的大小。
\documentclass{article} \usepackage{multirow} \usepackage{diagbox} \begin{document} \begin{table}[htbp] \caption{my table} \centering \renewcommand\arraystretch{1.5}{ \setlength{\tabcolsep}{5mm}{ \begin{tabular}{|c|c|c|c|c|c|} \hline \multicolumn{2}{|c|}{\multirow{2}*{\diagbox[innerwidth=3.3cm]{A}{B}}} &\multicolumn{3}{c|}{multi col} & \multirow{2}{*}{multi row}\\ \cline{3-5} \multicolumn{2}{|c|}{} & (2,3) & (2,4) & (2,5) & \\ \hline \multirow{3}{*}{multi row} & (3,2) & (3,3) & (3,4) & (3,5) & (3,6)\\ \cline{2-6}& (4,2) & (4,3) & (4,4) & (4,5) & (4,6)\\ \cline{2-6}& (5,2) & (5,3) & (5,4) & (5,5) & (5,6)\\ \hline \end{tabular}}} \end{table}\end{document}其實現效果如下所示:
3 靈活實現表格
因為有些需求,需要在論文模板中靈活實現一個表格,但能實現就行。~~~ / / / ( ^ v ^ ) \ \ \~~~。
\documentclass{article} \usepackage{multirow} \usepackage{diagbox} \usepackage{graphicx} \usepackage{booktabs} \begin{table*}[t]\setlength{\abovecaptionskip}{0.cm}\setlength{\belowcaptionskip}{-0.cm}\caption{Average search time (s)}\label{TAB1}\centering\scalebox{0.85}{\begin{tabular}{c|c|c|c|c|c|c|c|c|c|c|c|c|c}\cline{2-13}\multirow{2}*{}&\multicolumn{2}{c|}{\multirow{2}*{\# of people}}& \multicolumn{10}{c|}{Date}& \\\cline{4-13}&\multicolumn{2}{c|}{}&2016/2/8&2016/2/16&2016/3/10&2016/3/18&2016/4/6&2016/4/22&2016/5/11&2016/5/15&2016/6/2&2016/6/25\\\cline{2-13}&\multirow{2}*{5000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{6000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{7000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}\specialrule{0em}{1pt}{2pt}\hline\specialrule{0em}{1pt}{1pt}\cline{2-13}&\multirow{2}*{8000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{9000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}&\multirow{2}*{10000}&Random&0&0&0&0&0&0&0&0&0&0\\\cline{3-13}&\multicolumn{1}{c|}{}&Our&0&0&0&0&0&0&0&0&0&0\\\cline{2-13}\end{tabular}} \end{table*}其實現效果如下:
總結
以上是生活随笔為你收集整理的Latex论文表格画法及相关技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GeneXus笔记Excel导入
- 下一篇: iOS中下划线字体的实现