首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

LaTeX 表格

  • 25-03-04 00:23
  • 2996
  • 10277
blog.csdn.net


本系列文章由 @YhL_Leo 出品,转载请注明出处。
文章链接: http://iyenn.com/rec/1702878.html


一些LaTeX中表格的使用方法如下:

1.table

\documentclass{article}

\begin{document}

    \begin{table}[h]
		\centering
		\begin{tabular}{|l|c|c|}\hline
			Setting&\multicolumn{2}{c|}{A4 size paper}\\\hline
			&mm&inches\\
			Top&25&1.0\\
			Bottom&25&1.0\\
			Left&20&0.8\\
			Right&20&0.8\\
			Column Width&82&3.2\\
			Column Spacing&6&0.25\\\hline
		\end{tabular}
		\caption{Margin settings for A4 size paper}
		\label{tab:Margin_settings}
	\end{table}

\end{document}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21




2.tabular

\begin{tabular}{|c|c|c|}
	\hline 2&9&4\\
	\hline 7&5&3\\
	\hline 6&1&8\\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6




例子里面的|c|这样的,那个地方叫做导言区,来约定表格的每列属性的:

l
left-justified column
c
centered column
r
right-justified column
b
bottom
c
center (default)
t
top
p{'width'}
paragraph column with text vertically aligned at the top
m{'width'}
paragraph column with text vertically aligned in the middle (requires array package)
b{'width'}
paragraph column with text vertically aligned at the bottom (requires array package)
|
vertical line
||
double vertical line

另外,还有一些常用的命令:

&
column separator
\\
start new row (additional space may be specified after \\ using square brackets, such as \\[6pt]
\hline
horizontal line
\newline
start a new line within a cell (in a paragraph column)
\tabularnewline
start a new line within a cell (in a paragraph column) instead of \\ to avoid a Misplaced \noalign error in the tabular
\cline{i-j}
partial horizontal line beginning in column i and ending in column j

除了最简单的用例外,还可以这样:

% example 1:
\begin{center}
	\begin{tabular}{ | l || c || r }
		\hline
		1 & 2 & 3 \\ \hline
		4 & 5 & 6 \\ \hline \hline
		7 & 8 & 9 \\
		\hline
	\end{tabular}
\end{center}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10



example 1

% example 2:
%\multicolumn{n}{format}{item}
\begin{tabular}{|c|c|c|}
	\hline \multicolumn{3}{|c|}{?}\\
	\hline 7&5&3\\
	\hline 6&1&8\\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8



example 2

% example 3:
\begin{tabular}{|r|l|}
	\hline
	7C0 & hexadecimal \\
	3700 & octal \\ \cline{2-2}
	11111000000 & binary \\
	\hline \hline
	1984 & decimal \\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10



example 3


在array环境中(使用时需要包含:\usepackage{array}),重新实现了tabular环境,加了不少新选项进去:



对于tabular的第一个例子略作修改,可以发现在不含有array包和含有时效果是不一样的:

% example 1:
%\usepackage{array}
\tabcolsep20pt
\arrayrulewidth2pt
\begin{tabular}{*{3}{|c}|}
%\begin{tabular}{|c|c|c|}
	\hline 2&9&4\\
	\hline 7&5&3\\
	\hline 6&1&8\\
	\hline
\end{tabular}

% example 2:
...
\usepackage{array}
...

\tabcolsep20pt
\arrayrulewidth2pt
\begin{tabular}{*{3}{|c}|}
%\begin{tabular}{|c|c|c|}
	\hline 2&9&4\\
	\hline 7&5&3\\
	\hline 6&1&8\\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26



example 1



example 2


对于表格内有长文本时,直接排下来不但很难看而且很容超出页面的范围,可以这么做:

Without specifying width for last column:
\begin{center}
    \begin{tabular}{| l | l | l | l |}
    \hline
    Day & Min Temp & Max Temp & Summary \\ \hline
    Monday & 11C & 22C & A clear day with lots of sunshine.
    However, the strong breeze will bring down the temperatures. \\ \hline
    Tuesday & 9C & 19C & Cloudy with rain, across many northern regions. Clear spells 
    across most of Scotland and Northern Ireland, 
    but rain reaching the far northwest. \\ \hline
    Wednesday & 10C & 21C & Rain will still linger for the morning. 
    Conditions will improve by early afternoon and continue 
    throughout the evening. \\
    \hline
    \end{tabular}
\end{center}

With width specified:
\begin{center}
    \begin{tabular}{ | l | l | l | p{5cm} |}
    \hline
    Day & Min Temp & Max Temp & Summary \\ \hline
    Monday & 11C & 22C & A clear day with lots of sunshine.  
    However, the strong breeze will bring down the temperatures. \\ \hline
    Tuesday & 9C & 19C & Cloudy with rain, across many northern regions. Clear spells 
    across most of Scotland and Northern Ireland, 
    but rain reaching the far northwest. \\ \hline
    Wednesday & 10C & 21C & Rain will still linger for the morning. 
    Conditions will improve by early afternoon and continue 
    throughout the evening. \\
    \hline
    \end{tabular}
\end{center}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33



另外使用宏包tabulary也可以实现:

\usepackage{tabulary}
...

\begin{center}
  \begin{tabulary}{0.7\textwidth}{LCL}
    Short sentences      & \#  & Long sentences                                                 \\
    \hline
    This is short.       & 173 & This is much loooooooonger, because there are many more words.  \\
    This is not shorter. & 317 & This is still loooooooonger, because there are many more words. \\
  \end{tabulary}  
\end{center}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11


其中的对齐方式除了 L, C外,还有 R, J。


让我们看下\parbox的用法,如果我们想把文段分割成为表的形式:

\begin{tabular}{cc}
  boring cell content & \parbox[t]{5cm}{rather long par\\new par}
\end{tabular}
  • 1
  • 2
  • 3




调整行列间距可以使用命令:

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

\renewcommand{\arraystretch}{1.5} %rows, default value is 1.0
  • 1
  • 2
  • 3

另外一种方式是在\hline和cline{i-j}后添加\noalign{\smallskip}, 例如:

\begin{center}

    \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 \\
		Gnu   & stuffed  & 92.50 \\
		Emu   & stuffed  & 33.33 \\
		Armadillo & frozen & 8.99 \\
		\hline
	\end{tabular}

    example 1

    $ $

    \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 \\
		Gnu   & stuffed  & 92.50 \\
		Emu   & stuffed  & 33.33 \\
		Armadillo & frozen & 8.99 \\
		\hline
	\end{tabular}

    example 2

    $ $

    \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 \\
		Gnu   & stuffed  & 92.50 \\
		Emu   & stuffed  & 33.33 \\
		Armadillo & frozen & 8.99 \\
		\hline
	\end{tabular}

    example 3

    $ $

    \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 \\
		Gnu   & stuffed  & 92.50 \\
		Emu   & stuffed  & 33.33 \\
		Armadillo & frozen & 8.99 \\
		\noalign{\smallskip}\hline
	\end{tabular}

    example 4

\end{center}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77



其他用法如在某一行后空出一定间距:

\begin{tabular}{ll}
	\hline
	Mineral & Color \\[0.5cm]
	Ruby & red \\
	Sapphire & blue \\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7




一些LaTeX的环境也可以插入表格中:

\begin{tabular}{m{5cm} c} % here the m can be replaced by p or b.
	\\ \hline
	\begin{verbatim}
		I love coding
	\end{verbatim}
	& LaTeX
	\\ \hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8



使用列规格设置命令:>{\cmd} and <{\cmd},如设置表格中的字符都是数学手写字体:

...
\usepackage{array}
...

\newcolumntype{F}{>{$}c<{$}}
\begin{tabular}{FFF}
	\alpha & \beta    & \gamma   \\
	\delta & \epsilon & \upsilon \\
	\sigma & \tau     & \phi     \\
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10




@-expressions的用法:

\begin{tabular}{|@{}l|l@{}|}
  \hline
  stuff & stuff \\ \hline
  stuff & stuff \\
  \hline
\end{tabular}

\begin{tabular}{r@{.}l}
  3   & 14159 \\
  16  & 2     \\
  123 & 456   \\
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12




行的特别设置,给出几个例子:

\begin{tabular}{ |l|l| }
  \hline
  \multicolumn{2}{|c|}{Team sheet} \\
  \hline
  GK & Paul Robinson \\
  LB & Lucas Radebe \\
  DC & Michael Duberry \\
  DC & Dominic Matteo \\
  RB & Dider Domi \\
  MC & David Batty \\
  MC & Eirik Bakke \\
  MC & Jody Morris \\
  FW & Jamie McMaster \\
  ST & Alan Smith \\
  ST & Mark Viduka \\
  \hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17



...
\usepackage{multirow}
...

\begin{tabular}{ |l|l|l| }
	\hline
	\multicolumn{3}{ |c| }{Team sheet} \\
	\hline
	Goalkeeper & GK & Paul Robinson \\ \hline
	\multirow{4}{*}{Defenders} & LB & Lucas Radebe \\
	 & DC & Michael Duburry \\
	 & DC & Dominic Matteo \\
	 & RB & Didier Domi \\ \hline
	\multirow{3}{*}{Midfielders} & MC & David Batty \\
	 & MC & Eirik Bakke \\
	 & MC & Jody Morris \\ \hline
	Forward & FW & Jamie McMaster \\ \hline
	\multirow{2}{*}{Strikers} & ST & Alan Smith \\
	 & ST & Mark Viduka \\
	\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21



...
\usepackage{multirow}
...

\begin{tabular}{cc|c|c|c|c|l}
	\cline{3-6}
	& & \multicolumn{4}{ c| }{Primes} \\ \cline{3-6}
	& & 2 & 3 & 5 & 7 \\ \cline{1-6}
	\multicolumn{1}{ |c  }{\multirow{2}{*}{Powers} } &
	\multicolumn{1}{ |c| }{504} & 3 & 2 & 0 & 1 &     \\ \cline{2-6}
	\multicolumn{1}{ |c  }{}                        &
	\multicolumn{1}{ |c| }{540} & 2 & 3 & 1 & 0 &     \\ \cline{1-6}
	\multicolumn{1}{ |c  }{\multirow{2}{*}{Powers} } &
	\multicolumn{1}{ |c| }{gcd} & 2 & 2 & 0 & 0 & min \\ \cline{2-6}
	\multicolumn{1}{ |c  }{}                        &
	\multicolumn{1}{ |c| }{lcm} & 3 & 3 & 1 & 1 & max \\ \cline{1-6}
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17



\begin{tabular}{ r|c|c| }
	\multicolumn{1}{r}{}
	 &  \multicolumn{1}{c}{noninteractive}
	 & \multicolumn{1}{c}{interactive} \\
	\cline{2-3}
	massively multiple & Library & University \\
	\cline{2-3}
	one-to-one & Book & Tutor \\
	\cline{2-3}
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10




3.booktabs

即三线表:

\usepackage{booktabs}

\begin{tabular}{ccc}
	\toprule
		2&9&4\\
	\midrule
		7&5&3\\
		6&1&8\\
	\bottomrule
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10




4.colortbl

常用的表格填色colortbl包:

% example 1:
\usepackage{colortbl}

\begin{tabular}{ccc}
	\rowcolor[gray]{.9}
		2&9&4\\
	\rowcolor[gray]{.8}
		7&5&3\\
	\rowcolor[gray]{.7}
		6&1&8\\
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11



example 1

% example 2:
\begin{tabular}
	{>{\columncolor[gray]{.9}}c|
		>{\columncolor[gray]{.8}}c|
		>{\columncolor[gray]{.7}}c}
	2&9&4\\
	7&5&3\\
	6&1&8\\
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9



example 2

%example 3:
\begin{tabular}{ccc}
	\cellcolor[rgb]{.9,.9,.9}2&
	\cellcolor[rgb]{.8,.9,.9}9&
	\cellcolor[rgb]{.7,.9,.9}4\\
	\cellcolor[rgb]{.9,.8,.9}7&
	\cellcolor[rgb]{.8,.8,.9}5&
	\cellcolor[rgb]{.7,.8,.9}3\\
	\cellcolor[rgb]{.9,.7,.9}6&
	\cellcolor[rgb]{.8,.7,.9}1&
	\cellcolor[rgb]{.7,.7,.9}8\\
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12



example 3


5.diagbox

画斜线表头的包diagbox

\usepackage{diagbox}
...

\begin{tabular}{|l|ccc|}
\hline
\diagbox{Time}{Room}{Day} & Mon & Tue & Wed \\
\hline
Morning & used & used & \\
Afternoon & & used & used \\
\hline
\end{tabular}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

参考:

  • 知乎:http://zhuanlan.zhihu.com/LaTeX/19749566
  • 维基:https://en.wikibooks.org/wiki/LaTeX/Tables#Text_wrapping_in_tables
注:本文转载自blog.csdn.net的yhl_leo的文章"http://blog.csdn.net/yhl_leo/article/details/50066137"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top