一、常用的表格宏包 * U. g4 k9 C2 g; e6 W/ Z8 Y; i dcolumn 对齐小数点7 V `( g4 t3 c( p' m
makecell 单独控制单元格格式# Z+ v& }2 D1 K) Q. W) u9 T
diagbox 对表格进行斜线分割 4 x j- e* b" Y- w' X- ~* longtable 长表格,可用于处理分页表格(表格超过一页时使用)! |7 B$ j. j( N7 j) q- |! y
ltxtable longtable和tabularx的结合体* s& R" L4 o0 R( J
array 各个表格宏包都依赖于它/ d) y' q* `' n1 {- o& A7 }9 X/ u
* tabu 命令简单、功能强大 3 `; Z5 @0 V& k8 H% }) U# V8 J7 R- { 2 U! U9 R; i( e' a- U5 A二、输入格式及说明 / I$ P' P/ ?! S) N1、一般输入格式 9 K4 M' o6 a! g\begin{tabular}[<垂直对齐方式>]{<列格式说明>} 5 O: {, B4 ]( H+ W) Y* B; t; A' N, |$ [ & & & & \\# x9 g) p7 C) d& }
\end{tabular}4 B; F% n1 B! T0 N( ]
' j9 T+ c: k4 W* f# h( i6 t% J
2、一些说明, u. A1 [, x7 [! w9 w
(1)特殊符号: : W6 t: p c. g: W3 J3 S \\ 表示换行 / e( U0 h& l: q% v) L1 m0 h & 表示分隔单元格 1 D3 Y3 t: t2 X( }1 d' y ! R8 K) ^# X0 @" q4 M& |' x; ~(2)垂直对齐方式:3 \0 ?& H: h9 y& x X! Y
t 表示按表格顶部对齐 `+ w4 ?& U& r' O& a, y& e b 表示按表格底部对齐 6 {: {+ d* h7 y' b- k, N( `3 ?# A 默认为:垂直居中,非t和b的参数都看作居中 3 q; ^: d# G7 s6 M; e; Y) _: ]. i0 P1 U1 P$ i3 V4 w' m
(3)列格式: % c9 w9 ]9 V8 o l 表示列左齐 (小写的 L), j0 `6 c- @! g$ I* { ]3 W/ x
c 表示列居中对齐( I3 `4 Y* Y4 J- m6 U
r 表示列右对齐 0 s2 c/ @9 q( Z: ]$ P7 ]: N% a, A/ n2 G: J: B l
三、单元格的合并- O# `3 C z- _( F' U+ J8 E
1、行内单元格合并命令( n: a) [6 V6 c( L
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 7 W& C }+ }! t; \9 { % g9 d' Q" W8 V4 [& ?- P1 ](1)基础模板:1 ~9 L8 V8 e+ B
\begin{tabular}{ | c | c | }2 J5 m: Y! E6 ~! \: V# l8 P
\hline , V* l; G N/ m' l8 T4 [0 B5 f6 G \multicolumn{2}{ | c | }{成绩} \\ 4 M+ Q0 H+ a: o/ |- t* {* } \hline! y, r* z2 h/ n8 P: h+ [2 z* ]
语文 & 数学 \\ \hline 8 B' b, n( B6 J. V V# U$ M2 } 100 & 100 \\ \hline/ ~( m# J3 W1 r, |! F+ A) u. K
%阿汪先生的博客 ' \5 M' Z: b/ D* m& R5 ?( h/ ~+ p \end{tabular} 1 B: C: S4 L7 e+ q; n5 V0 G' f % E9 r+ G) _7 w6 {# p7 L# {/ f(2)进阶模板: 0 {$ N" I+ _* a8 o+ U' H \begin{tabular}{ | c | r | r | }# _& [- o* M" Z* [2 w$ Z
\hline % D) h% P, U+ F9 Z1 b8 w" q &\multicolumn{2}{ c | }{成绩} \\6 N- b" E; N. }3 {( C; k
\cline {2-3}# A: W0 I/ M$ d) h
姓名 & 语文 & 数学 \\ \hline $ o- C, x% V$ ^8 e6 r2 h2 }; D( f3 D 阿汪 & 93 & 97 \\ \hline ( d; O" @: k! q
%阿汪先生的博客- u& O' z& A4 }
\end{tabular} 9 }. G7 v6 q( B4 |8 m 0 l [, q9 X2 b* ? X& Z a语句技巧:画水平表格线需要指定线的起始和终止列号。 " D. H `! q7 d, ^7 Y" P# f用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。/ b* d* ]. C/ s8 l$ Y
3 O! R9 g5 G% ^& o; U0 M8 n( ?4 T* {2、列内单元格合并命令+ x- Q2 C" e7 |( U! f
需要用 multirow宏包 8 ^% a/ C& Z( w1 k\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行- c! { n' t' g2 X: k) D
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度 N$ n/ Y4 N% v. v$ e6 Y7 z6 ]" M& _9 e
基础模板: . n0 t- a* o+ R0 _%导言区 \usepackage{multirow} : [0 H: ^, @2 s# W5 @ \begin{tabular}{ | c | r | r | } i1 B, F$ K* d5 A5 L5 @9 R$ {# c \hline" [& ?8 U% [4 T$ c
\multirow{2}*{姓名}& 5 i2 Y7 C# }1 M% ]5 U6 u8 v9 R+ E2 _2 ? \multicolumn{2}{ c | }{成绩} \\ 4 A* }8 n" P* A' N& I* ? \cline {2-3}9 I4 [7 a0 `, W" g1 \1 ^1 F" \. V
& 语文 & 数学 \\ \hline # w8 L0 E' [% u" Q! q, k% Z; w 阿汪 & 93 & 97 \\ \hline) g: M3 k& @! G
%阿汪先生的博客5 D. g) d" |! e3 n' _4 f
\end{tabular}( A5 D1 z, P* |* ?2 W
3 d. \: m, R6 f: g四、特殊表格4 W( p$ w3 F9 v: S& ] }7 x- a$ r
1、定宽表格—tabularx8 t8 ]8 p7 [" b- W- x* ~2 [
(1)注意点:5 T/ A- Y" G3 k, I* K
tabularx宏包提供tabularx环境3 l+ K w* C( L/ I) X. p, d3 A
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。 9 _: k# s* ^3 w( A% s4 i) ], J( s7 y. u
(2)使用示例:' x9 l+ }4 l& g
%导言区 \usepackage{tabularx}1 E3 I2 @/ x/ U3 K
\begin{tabularx}{400}{ | c | X | X | X | X | X |}2 f- N3 m4 Q( v `
\hline : U. e5 _* ~! f: n: g. H 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline * p6 Q2 ]9 U1 _6 e, M# \. h 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline , ?$ @5 S, H% B; e" p& O %阿汪先生的博客* m6 G. x, O& x' w# w( l( u; @
\end{tabularx}& \3 G( ~- ^9 r: V
/ R" ~1 j9 U( w- J% C5 N- ^( T
2、三线式表格—booktabs! D; z2 Z/ B o
(1)booktabs提供了如下命令: 6 x: ?: g/ g+ y \toprule ,画表格顶部粗线。5 y- E8 y; c0 w( o
\midrule,画表格中部粗线。 & Y' I* H/ r+ A% [( | \bottomrule,画表格底部细线。- ?# ]1 L$ X) V
\cmidrule 与 \cline命令相似。 $ V4 z r6 p; v5 w. k* b; }" J8 x" `* A# R. p0 b4 y* S" _
(2)使用示例:& s0 d/ P' N! t2 }5 V! M
%导言区 \usepackage {booktabs} / d O: X, u! x, {& r: z, r6 B$ t \begin {tabular}{c c c}) f3 h# J; L5 A! P2 z0 G- G8 Y% o0 S
\toprule- D. M: r* k. w; ?1 T( v/ }- h0 L
姓名 & 语文 & 数学 \\ \midrule; i# R9 r* ^- ~" N( I: z( W3 K
阿汪 & 93 &97 \\ \cmidrule {2-3}9 Q+ y: V9 `8 e
阿喵 & 98 &92 \\ $ H' g3 d" ?* [7 G! a0 Z \bottomrule % N; u" Q7 Q5 E6 S, o0 x" ~2 ] %阿汪先生的博客) a6 {' S1 J; d
\end{tabular}2 `7 c' E7 ]. b0 U- N. o( i5 L6 |
6 _4 @0 z' l+ {' P) t五、常用表格参数的设定 - E) t# ]) S% R1、表格浮动环境 4 I1 h. |! D' w6 P控制表格(浮动)在本页中的显示位置需要table环境。% \. X7 N- m' Y" L: T5 z
位置参数有htbp四种:here 、top 、bottom 、float page。5 @" R. t {+ G' M
table环境中可以通过 \caption 命令表格的标题。8 K+ E$ b. j5 o1 s( s0 |
& Q# H3 `* w9 M: P; f(1)位置参数htbp释义: * P, T! y# W9 q0 x+ hhere:在输入表格的位置排版; O3 G y# x( Y! g5 s+ y
top:在输入页面的顶部排版* _% u3 S& m% m8 K
bottom:在输入页面的底部排版 4 k$ r1 `, |5 ?" L& vfloat page:在单独的浮动页面排版 5 b% E2 _$ {1 I+ I. ]* K U C(2)使用模板:6 q: f' \1 m; X- M. @
\renewcommand\tablename{表}& o7 k( |- u' }' x. F O( w
\begin {table}[htbp]4 f7 m- I" y: `" e
\centering \caption{成绩一览表}5 A. c3 B; o% i, J: U3 {
\begin {tabular}{c c c} 8 `, o; j& ^2 R; k$ r* e8 ?4 w \toprule 5 d- c8 r2 x" z5 H% B2 }) ^
姓名 & 语文 & 数学 \\ \midrule6 I$ a5 ?6 g8 {9 y4 @$ l _
阿汪 & 93 &97 \\ \cmidrule {2-3}5 q! j6 [# w) a' ^
阿喵 & 98 &92 \\ 5 u8 Q; j6 }* n9 ?
\bottomrule _ F+ A' h {& Q" I2 r5 T5 H8 O% B) e
\end{tabular} . a+ l# X9 o5 P# G( Y8 d) c %阿汪先生的博客 `" a: s9 i* C( y5 [9 j9 U
\end {table} % D: ?7 Z2 V& o; @+ L! ]
6 z+ R& T8 r& l( i( ~ Z
2、功能强大的tabu宏包 6 P5 A( V" w) b K6 }4 K(1)tabu宏包提供的基本表格环境 . T. w {) d. H3 n% L' N: o\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>} + d+ X, \! a7 }1 h, m: ?\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}6 i& R2 o5 X/ N% a
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>} 9 E7 F+ K T8 `" U. J, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。 ; h* F+ G+ T! H7 g" B8 X0 ?(2)画线格式+ W! E- y7 y7 M/ H$ d, K8 h
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。 / U- w9 J6 @) I \begin{tabu}{|[2pt]c|c|[2pt]}" M1 a+ A& {, z m* h J
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度, 8 I4 i9 s4 b7 i p {-}指从本行起到本行末尾画一条横线, ; q0 B1 _$ f1 D" M {2-}指从第二个单元格开始画线至行尾。4 D3 j6 ^' H5 K7 T) a
" @! x1 C. V9 G, }$ G0 n
(3)单独设置一行的格式" U( P' S8 U0 }6 e
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。 a& u1 B; u" i
使用示例:! W! }. {$ k3 n+ o* \- ?
. a; ]6 ]0 w* r! W" L" Q\begin{tabu}{|X|X|}, Y. o& e2 W% E1 T% n
\tabucline- %“-”表示无厚度等参数/ R. l( w/ E$ M/ Y
\rowfont[c]{\bfseries} This & is \\ \tabucline- ' ^. L6 l' t5 W F: Q3 N for & everyone \\ \tabucline[2pt]- 4 ~3 \+ |8 I+ c' X: C$ j) c \rowfont [r]{\itshape} Mr & Wang \\ \tabucline- 8 F+ L( E2 f' g4 T% `1 `; B) d1 V" d %阿汪先生的博客0 z' {: m. X) O5 }9 f0 g
\end{tabu} ) \6 @. R1 S" A R3 G; Z, S
$ M6 W! a3 i$ }(4)其他操作4 U$ z4 |* H* h) q
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。' {5 e0 _, e. n, q
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。 : X* O8 i f" ^2 l7 z+ m. s- A& K使用示例:, @& F/ B4 f" ]. H6 O& Y+ `
\begin{tabu}{| X | X |} \hline' o6 t U3 ]3 H' H
\multicolumn 2 {|c|}{Hello}&World \\ \hline1 R& h/ T# N( L* d- J
\tabuphantomline %阿汪先生的博客* p- Y) ]! }9 u/ [$ ]; Z9 ]
\end{tabu} %表格中不能有空行 W* x1 m4 F( T3 R" [ 0 K) k/ o8 ~; e X3 F' @# Y————————————————5 l* ~' d9 E) ^" \0 h: I4 R! u
版权声明:本文为CSDN博主「阿汪先生」的原创文章。 0 w8 q" f* L7 I5 {原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437. a* K! L. Q; p$ M6 E9 u+ \0 g: y. C