一、常用的表格宏包 , s" i C; _9 k/ } dcolumn 对齐小数点 % Y$ ~; M+ L0 g2 u( n/ w" N' e makecell 单独控制单元格格式 & o) C0 l3 l5 O. V- M' ]0 E( i diagbox 对表格进行斜线分割 3 Y. e3 Z6 M2 l' e$ R- x* longtable 长表格,可用于处理分页表格(表格超过一页时使用)3 e5 { K( {' t; N0 F8 u& @
ltxtable longtable和tabularx的结合体4 f; L! s/ Y: @2 j) v8 \+ u. x
array 各个表格宏包都依赖于它 , i/ a e j5 @* g) d, p* tabu 命令简单、功能强大% l" U4 k9 H% p$ }
+ R" v2 x Y8 o: i/ O* N二、输入格式及说明( O3 f8 [8 f) q; v
1、一般输入格式 ( T8 F6 l @1 P9 B# o3 J\begin{tabular}[<垂直对齐方式>]{<列格式说明>}, b4 i* l, M) ]
& & & & \\6 u' ` K8 N& Y$ E& F# X* B
\end{tabular} 2 z [; d: K" _4 c % m5 G" W# D8 j+ m0 I7 Q2、一些说明 a7 R' o8 Z" K8 n6 B
(1)特殊符号: ' N- j2 H* G" C# Z \\ 表示换行 ' b* c& a/ b. L3 h & 表示分隔单元格 - }9 E* g( J5 h% R4 ^5 c# | 0 F3 I: `. h2 r0 K) P9 D, F1 G+ Q: a(2)垂直对齐方式:: t3 ~- g" q! r" V( f# t
t 表示按表格顶部对齐 : Y5 G* v2 x; c. i% L) i. G: K b 表示按表格底部对齐' B9 d; c7 T" e7 L/ h/ z
默认为:垂直居中,非t和b的参数都看作居中* J, T/ `9 y6 J3 j) i+ R! J7 I- C
8 ]* f# Q2 B8 H* p* F(3)列格式:! c2 m; A0 Y9 p# {9 {/ k6 B) w
l 表示列左齐 (小写的 L)5 |) N F8 Y* U7 N! P
c 表示列居中对齐 ) R7 |; r1 o& P8 b: x1 i r 表示列右对齐( o, X1 z. Z, f# i! c1 _ w, b
8 ^$ {0 [* b) r& a) V5 ?' Z8 j' N2 h* h* ^三、单元格的合并* t% F$ i W" D3 y( M
1、行内单元格合并命令 ) |* A3 f- T& @" O\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 9 j5 S& W2 m! I m% n, m7 b B; x" J) L0 O. _
(1)基础模板:( s2 Y. v' `; v2 L
\begin{tabular}{ | c | c | } ! u. _! z; \# M: n \hline8 m: e4 U. r) S0 M$ r
\multicolumn{2}{ | c | }{成绩} \\2 Y: _* ]: I7 S* q! z/ B
\hline ! T# X! K) h8 D) ]) Q' l! R 语文 & 数学 \\ \hline+ g' D5 x! ~, q
100 & 100 \\ \hline " P+ `0 G f' L5 m+ i" d# r %阿汪先生的博客! ]* p+ N' Z: D$ ]$ e
\end{tabular}. g- G: T! j6 |9 c, k8 y
. V5 c5 o1 d8 ^- g( u
(2)进阶模板:- |! A) x! ?( Y7 E
\begin{tabular}{ | c | r | r | }, b+ A S# @1 w; v/ k e
\hline x9 v X4 T: b; o* f- l0 i- T &\multicolumn{2}{ c | }{成绩} \\, ~8 h; [4 v6 Y
\cline {2-3} 9 K% T8 H1 X: F5 _) p- A 姓名 & 语文 & 数学 \\ \hline ! I3 @* `6 c# V8 P& k5 D9 k 阿汪 & 93 & 97 \\ \hline - w3 t7 X4 g* y. z1 ?. Y. \' G
%阿汪先生的博客 ( o. T5 m$ U/ r+ \8 \0 V \end{tabular} 4 J! g1 v. V: X5 T( z+ M % w; ^. a# [( r' A" D6 Y3 [
语句技巧:画水平表格线需要指定线的起始和终止列号。 7 U0 v; I$ o5 W: c9 A* M4 g6 I用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。 " m( ?0 J# {0 k2 l. D5 X7 x0 E1 ]6 L+ R( E
2、列内单元格合并命令 4 p; w! x" v" ~/ Z8 S$ @需要用 multirow宏包8 x, q5 J3 }3 x& y
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行 G2 y7 q9 b5 y) A3 l\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度" ?- Q" `8 P5 f+ o6 {5 P$ ^: x
& N3 ]; P& L# d9 x c% {+ ~
基础模板:) D% I v" y* l2 k$ y
%导言区 \usepackage{multirow}1 d7 F! V }# [, w, Y
\begin{tabular}{ | c | r | r | }5 _1 y! p u, N1 Y o7 @" H+ r
\hline m' W; ~. E0 g$ f \multirow{2}*{姓名}&. ]( @/ [% W1 ?
\multicolumn{2}{ c | }{成绩} \\- v8 f% t5 |3 w- [. q, ]
\cline {2-3}4 T, Z! }4 l' `! E' b! G. a
& 语文 & 数学 \\ \hline' [* _( _. W( V& r) ^. O% d. n
阿汪 & 93 & 97 \\ \hline : u6 L! U! ^+ |5 A1 L4 \8 P %阿汪先生的博客 ; G5 m4 F1 Z0 c Q6 y; c# \ \end{tabular} " Z% {3 l1 y: \; l$ O8 G' v & _$ I5 z: ~0 Y9 J9 T四、特殊表格0 H, Z. _9 H! \8 A4 x! t
1、定宽表格—tabularx % j1 J( G- P1 z1 n! E2 @2 \' O- J(1)注意点:" p$ x1 g1 i5 K, A- g) M
tabularx宏包提供tabularx环境 2 y3 A0 O9 H$ G. V- a X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。& N9 o1 |6 [1 Q$ X- t
" N- N* K8 Z! w(2)使用示例: 0 N! H7 X2 D& v a%导言区 \usepackage{tabularx} ; r: O! i9 J1 v \begin{tabularx}{400}{ | c | X | X | X | X | X |} & T: \: J1 g. E6 i \hline 8 O7 K9 s; l @6 m8 p 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline ! t9 C0 _, b! Q1 O& E7 P 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline t" X( k$ B$ ~8 M9 q' w d
%阿汪先生的博客4 G, c) R2 z; }2 q
\end{tabularx} 1 y6 y9 t9 ?: { 2 ~# q) @0 E( R: |* C! ^6 h
2、三线式表格—booktabs7 Z! i `' f: V/ l; v
(1)booktabs提供了如下命令: 6 e3 j5 I: h9 q. \9 ] \toprule ,画表格顶部粗线。3 W0 c2 u" U" Z+ n2 V* W2 C
\midrule,画表格中部粗线。1 W$ a( Q$ Y7 j0 m- ]% M
\bottomrule,画表格底部细线。 6 X! n, l9 r- H; `) k7 ] X \cmidrule 与 \cline命令相似。1 G! N/ s% w) |/ o3 |1 l3 I
! C# {: O- [" @) h1 E8 [(2)使用示例:! P2 N( ?9 s4 { P- @( ^! T6 {* }2 y
%导言区 \usepackage {booktabs}! i1 m7 F) @+ O0 z- V0 w7 O- K
\begin {tabular}{c c c}( x5 P6 j8 E$ i: i9 A
\toprule. T7 ?" A: ^* h S! P
姓名 & 语文 & 数学 \\ \midrule% G' B2 I$ B9 t# U. j
阿汪 & 93 &97 \\ \cmidrule {2-3} 8 b# m* ^& v0 Q6 w 阿喵 & 98 &92 \\ ) M* H8 S8 L# @6 r2 r: L
\bottomrule ! d: i' A) T. Q: I
%阿汪先生的博客0 f; P4 i5 p% ~# Q- i) k4 y
\end{tabular} 8 t+ R \; M8 \. A" K% R2 d% ~* s7 u* v
五、常用表格参数的设定! j% N$ N5 A$ N9 l* r1 b
1、表格浮动环境 ! d6 W$ g$ J% ?. r, P: H控制表格(浮动)在本页中的显示位置需要table环境。; b, ~3 }) S% P7 H7 M
位置参数有htbp四种:here 、top 、bottom 、float page。 " G, w! n5 V8 X7 ^table环境中可以通过 \caption 命令表格的标题。 * [& V2 d- U5 E4 @3 w" K; O. F1 ]* x1 A" ~. j+ Z* g
(1)位置参数htbp释义:% `% e2 U$ ?& F9 g# w' m
here:在输入表格的位置排版 , c6 b) c* A+ r+ w4 [9 t0 htop:在输入页面的顶部排版0 a5 Z$ \4 f7 |: l' Q6 j& y
bottom:在输入页面的底部排版 4 S8 A5 Z% {$ Sfloat page:在单独的浮动页面排版 i( d7 b% K# P- o- V* \9 U(2)使用模板: , r# M4 P2 n- o K\renewcommand\tablename{表} 1 m) y. b6 [) q' ]- A \begin {table}[htbp]* \. L1 y4 u- N- D1 W$ L
\centering \caption{成绩一览表}2 `+ ~ I1 Z; _$ k! H$ _/ H
\begin {tabular}{c c c} ) N3 W$ k5 P' i/ L( r7 v+ x' | \toprule f6 _9 a7 A: H0 C& V
姓名 & 语文 & 数学 \\ \midrule 8 }( {. v2 Q2 j- a6 p/ h, } 阿汪 & 93 &97 \\ \cmidrule {2-3}, U' E" z( ]1 n& d# E, T* n
阿喵 & 98 &92 \\ : I0 z5 c8 h$ l, `% `5 S7 i \bottomrule - q. h5 A( k5 w1 o0 Z4 ^* h \end{tabular}* X( h. N8 x0 Q# s: ?! `
%阿汪先生的博客. q: F% J5 M! G( G4 J
\end {table} + B1 l2 \4 t7 j# v# t+ ?
) M4 t$ |" w& Y' W" p; K
2、功能强大的tabu宏包: | d% n' a( E0 a4 Y% U: `' W
(1)tabu宏包提供的基本表格环境 9 Z) ]* l1 B$ S! ]# {+ T\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>} ( Q: w F) F6 h5 R\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}+ A& S; T: c5 `
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}% F( R) F3 ~4 \1 `0 q; F
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。 5 G+ G" x9 p& I' ~+ ]2 v(2)画线格式 . Q0 a8 [' B; S( F3 t" o tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。 6 A1 \" R( V- L2 S \begin{tabu}{|[2pt]c|c|[2pt]}+ O; b( q F8 y* `; r: u2 N$ f
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,# O* _$ a3 S6 d% r
{-}指从本行起到本行末尾画一条横线, & S! ^( B( \2 a' C O9 s; ^ {2-}指从第二个单元格开始画线至行尾。* y4 c1 S' V2 x+ ~0 D
, g! Y: V4 {/ q7 s1 C6 I
(3)单独设置一行的格式' P6 ~6 H3 `9 a' | E; O- R3 N9 {
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。( e5 z7 G t7 d
使用示例:2 {! W' t" K: C, l! c& T
( t! n2 J# s2 @, v. r* A# t1 \\begin{tabu}{|X|X|} , `: ?/ {/ I5 t \tabucline- %“-”表示无厚度等参数" v. h0 Z# C( R$ i, J7 n: E
\rowfont[c]{\bfseries} This & is \\ \tabucline- - ~3 m4 m' J8 K for & everyone \\ \tabucline[2pt]- . {& y& W. M/ ^* V \rowfont [r]{\itshape} Mr & Wang \\ \tabucline- # k+ D; n3 R0 A1 m; q9 M3 T %阿汪先生的博客# D2 q. f: k1 J) Q% v9 ?0 d& N
\end{tabu} 9 l# W. y1 u! w/ W9 a; { 1 k+ o& G9 v" G7 v; g6 X(4)其他操作 2 }$ ~5 g4 D6 N( u* ~1 F' D在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。 1 j8 l4 { y* l6 ~\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。 2 k. M7 t8 S1 e2 h. {/ S! W& b使用示例:+ `2 n: _# J0 i" X5 j
\begin{tabu}{| X | X |} \hline$ ?3 ?6 H' L! g6 R7 F$ Z
\multicolumn 2 {|c|}{Hello}&World \\ \hline' j9 z& h+ w1 {
\tabuphantomline %阿汪先生的博客 . m# u$ \# ^% n, \\end{tabu} %表格中不能有空行+ z$ J) c; E. S0 B5 ~# e