LaTeX 表格
2018-02-09 18:05
218 查看
LaTeX 表格
原创 2015年11月27日 09:20:24标签:latex /
table /
表格
14919
本系列文章由 @YhL_Leo 出品,转载请注明出处。
文章链接: http://blog.csdn.net/yhl_leo/article/details/50066137
一些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 \noalignerror in the tabular |
\cline{i-j} | partial horizontal line beginning in column iand 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: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}
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.01
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
相关文章推荐
- Latex表格
- latex 表格列宽度固定的情况下让文字居中显示
- LaTeX常用表格绘制入门
- LaTeX中表格多行显示的最简单设置方法
- latex设置表格字体大小
- LaTex使用表格常见问题集锦
- latex 处理表格/复杂表格
- LaTeX表格和图片排版(设置宽度和高度)
- Latex: 设置表格的宽度
- Latex生成并列表格
- LaTex中表格固定列宽并且居中的方法
- Latex表格
- [latex]表格
- Latex:基本用法、表格、公式、算法(持续更新)
- {Latex}{Tabular}文本超出表格自动换行
- LaTex 插入表格
- LaTex 表格虚线,颜色变化源码
- latex 表格中单元格换行,显示多行
- LaTeX常用表格绘制入门
- LaTeX 制作表格