一、常用的表格宏包 2 C5 k* U7 z, E# i dcolumn 对齐小数点; Z. z7 T& b- w( K" o
makecell 单独控制单元格格式 # x4 S* L' m( C3 `" N- G% ?$ p diagbox 对表格进行斜线分割 3 F _* O) E R+ H/ @8 s4 B* longtable 长表格,可用于处理分页表格(表格超过一页时使用)7 d0 ]- o; i+ f& n& ~! o
ltxtable longtable和tabularx的结合体 : u- x+ F0 w# f0 b array 各个表格宏包都依赖于它3 j8 ~& j, x3 v9 f% R: @! F+ {
* tabu 命令简单、功能强大5 ~9 H0 `) c8 `
: m7 M- I; u0 c( w$ P+ t4 J5 w二、输入格式及说明 0 H6 W3 A9 f) |1、一般输入格式 9 e/ H! F: o% f% A# w% s2 n5 d* a# U* D W\begin{tabular}[<垂直对齐方式>]{<列格式说明>}) E5 A1 `& B+ O1 R
& & & & \\ " A: Q# Z3 O8 M2 p! X% C. H( H \end{tabular} ; D6 J$ ?$ W( a3 J/ i t2 Q$ V& p7 i/ e/ K0 S! d" W2、一些说明 ! x" V' Y0 k6 \4 w' f& W(1)特殊符号:: c- \; ~( w3 s2 i/ x& s+ w
\\ 表示换行 + x+ b9 t7 g# e3 ? & 表示分隔单元格 1 V5 |: x, e& s0 `6 H7 c7 b/ {7 x K1 v! d0 U3 r% u( U7 Q/ d( U f
(2)垂直对齐方式:9 V2 w G; t- U+ j, P; Z# L
t 表示按表格顶部对齐 & F0 V2 B. |- {( M b 表示按表格底部对齐 # @( H' b1 f# L' o# O7 c3 n 默认为:垂直居中,非t和b的参数都看作居中* V4 g* B a9 V( c
) g- g; L7 |; W8 x(3)列格式: , M6 U& t/ L0 v* o+ F' t# X8 q l 表示列左齐 (小写的 L)6 a9 I) k2 f" a: G
c 表示列居中对齐 - g0 M9 w4 N- a, [/ v, s r 表示列右对齐0 s. n' k# a- a, B: k1 v
1 @6 ^- _4 ~; p& a三、单元格的合并; w, [6 h: H. {5 U1 q, U) R# e
1、行内单元格合并命令. q' Z4 X/ p" Q: _" E& x
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 3 d. a0 k/ A7 u3 M B, G
% n9 ~: H, d2 i& o" S9 y: _(1)基础模板: ' l" r0 U. R, f# E \begin{tabular}{ | c | c | }' v* N/ c3 @ [% P8 K2 C' |
\hline. `& w% \" P6 _
\multicolumn{2}{ | c | }{成绩} \\; B3 `! W5 Q8 w' g& O6 u8 S! P
\hline 1 n2 {1 v" |8 v 语文 & 数学 \\ \hline8 N3 X- s, F0 s
100 & 100 \\ \hline A+ y" ~. x8 m1 o2 G %阿汪先生的博客 ! U9 R6 J' O. [ \end{tabular}4 m7 T$ w( O4 s" l' f7 g
( |; T% P: S2 X& _- a) I1 o4 y(2)进阶模板:, c. U7 A ~0 K9 {8 h, T% j# S
\begin{tabular}{ | c | r | r | } 0 g4 Q8 K: l6 m$ B2 K" L8 `& O7 a \hline: b8 Z% B* g6 D, B+ r6 D
&\multicolumn{2}{ c | }{成绩} \\ # F% s0 n. s g' w& ]6 ^ \cline {2-3}' p+ c) P& e. J
姓名 & 语文 & 数学 \\ \hline ; f) s6 J: k6 R 阿汪 & 93 & 97 \\ \hline 2 M: D% V% V* U* I: D1 |' r7 G %阿汪先生的博客& _: v; z4 L. A6 G5 Z3 m
\end{tabular} ~; t, f# c' e f
: \' f5 K/ D4 M7 L
语句技巧:画水平表格线需要指定线的起始和终止列号。 + N7 ^) P8 ]0 ^- O$ p" I, g用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。 ' X7 l0 _1 V- p3 k8 A# E, D ! G6 M6 j, W% E9 E9 m2、列内单元格合并命令 8 g* D& o3 d1 n! s$ [: z9 X$ ?需要用 multirow宏包* Z! B4 e% t0 [/ J w$ [* \2 ?/ R! C2 j
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行; ^6 E% m9 z& J% i
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度 1 h7 m$ ^) @6 p' a 7 \' Y4 l- C0 L: f1 p1 G( V基础模板: 4 V$ S0 U; B' C%导言区 \usepackage{multirow}2 S# P: |+ L T$ z' @6 F" _# E
\begin{tabular}{ | c | r | r | }3 \! r' W& v0 G6 ]
\hline - f, @- l9 {% ] B9 ]+ g& x \multirow{2}*{姓名}&5 f6 D+ `0 V& s" j' p
\multicolumn{2}{ c | }{成绩} \\ ' b- ^: G' |$ C& K \cline {2-3} / P' K9 J" L3 z, e$ ] & 语文 & 数学 \\ \hline* ^! H& F2 p5 B; e$ L8 x. a/ p
阿汪 & 93 & 97 \\ \hline : r- Q, d2 C1 S# y7 Y; b %阿汪先生的博客 " j) T. o% _& R# { \end{tabular} 6 o$ s5 J H- v* T + k4 `* ^2 R3 t3 q四、特殊表格 ) l1 f5 f( K. o9 t9 c1 { \0 J( ]1、定宽表格—tabularx $ Y9 {/ e. E, }" I(1)注意点:/ x% f1 a# Q* r4 k4 h
tabularx宏包提供tabularx环境' `/ Q" a4 s4 z
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。2 b2 c. j: Y' l+ `: u) f
$ y% E! A4 ^. F- L
(2)使用示例:$ ?% G4 o1 N& }! \( F
%导言区 \usepackage{tabularx} 8 M- ?. `$ x$ v9 P5 K \begin{tabularx}{400}{ | c | X | X | X | X | X |} % x$ v0 k- G6 U, I \hline $ c1 r# R0 e1 w5 q 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline $ l' j8 I b: } 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline: B* I3 o% Z, Q# X
%阿汪先生的博客4 W# L, T$ _; d# G3 B: a9 G( o
\end{tabularx} 2 R5 B! {( q$ h( d7 Z( S- T( M ( ?0 r! e% R9 O! s! L9 A
2、三线式表格—booktabs : G" p2 g( }5 }" x- A/ s3 _(1)booktabs提供了如下命令: j# x0 J- A8 G9 Z# m( I% Z" K3 m \toprule ,画表格顶部粗线。" R+ ], b1 X+ v p" G; X
\midrule,画表格中部粗线。 2 T3 y- Z# L) k/ v; B- h \bottomrule,画表格底部细线。 ( L6 z, p; |: A5 Y% T5 o0 Z* h$ V6 g \cmidrule 与 \cline命令相似。 . Q0 h+ q6 b& K1 Y2 ?; G # U, j( x( S( }3 N" P(2)使用示例: , d+ g; G! ~+ J0 x% d3 o# Z- k! r%导言区 \usepackage {booktabs} % ~) q. W2 f& w \begin {tabular}{c c c}' \& I1 c5 F) A/ s/ y3 U
\toprule0 ]$ W& \7 K1 D/ S& e9 ^6 E
姓名 & 语文 & 数学 \\ \midrule" @6 J+ R( }5 ~& O1 u6 f' C
阿汪 & 93 &97 \\ \cmidrule {2-3}/ c" H+ m& ~" ]: V# T0 O* G0 c
阿喵 & 98 &92 \\ ' ]; S( F" [# b: Z9 b \bottomrule , h% [. v) ]2 P3 p t4 d %阿汪先生的博客' _" ]% S! `5 B l
\end{tabular} 4 Y; Q: C0 L- N' a. \. f4 n! ^3 k# }
五、常用表格参数的设定+ }# P9 K- ~5 ]# Y* I
1、表格浮动环境 : G( }$ f9 i6 q$ ^控制表格(浮动)在本页中的显示位置需要table环境。 2 i) i" Z) ^: e6 }) V% z# ]9 x位置参数有htbp四种:here 、top 、bottom 、float page。$ f0 H% X; P0 \9 h6 R
table环境中可以通过 \caption 命令表格的标题。" z' }) F8 s1 w6 I3 x9 U$ q
/ r1 H6 |3 ?5 [+ O7 g% b
(1)位置参数htbp释义:, D+ S& H2 v7 _
here:在输入表格的位置排版# z$ Y* A: c& u H8 h" I1 \2 q
top:在输入页面的顶部排版: J" u: p3 U* y4 N2 k
bottom:在输入页面的底部排版 + S% u4 _& X9 ~% _float page:在单独的浮动页面排版' Q4 e( ^% P3 V& y
(2)使用模板:# m# I+ ^) D8 {5 e @1 U. L
\renewcommand\tablename{表}* _7 @0 \7 a# b! j/ n. u4 {: k
\begin {table}[htbp] " q. E: R: `! f/ T* P \centering \caption{成绩一览表}* R9 u4 ]3 p( B9 @& _8 w: k
\begin {tabular}{c c c}- t: J* h6 }: I
\toprule 0 n% @8 m/ }/ w 姓名 & 语文 & 数学 \\ \midrule1 K" J& j) _7 M8 M$ y8 H3 F
阿汪 & 93 &97 \\ \cmidrule {2-3} 4 E" L# x$ a) _$ S 阿喵 & 98 &92 \\ 8 Q1 z" k6 J. [4 `# F9 T
\bottomrule 0 c7 w/ G& s- e$ p \end{tabular}4 Z9 H- [: G- _5 y& b/ ?- W4 `
%阿汪先生的博客5 ^8 g0 M3 F2 C$ n; L! a
\end {table} ! H7 Z G- w8 q/ B3 v2 Z0 P1 L+ J7 u2 B$ v5 Y* M$ W, a; n" `! M
2、功能强大的tabu宏包 8 G) c7 X9 F. P% N0 e(1)tabu宏包提供的基本表格环境 E z% @( x7 \7 r ^\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>} 2 F* `! E5 O+ J% J1 W( ]5 F\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}4 m; p( P5 t- p3 x! K1 J
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>} . n( r% I1 w% K$ \, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。4 ^# ~2 m) D: j, M. E5 v
(2)画线格式9 P7 U6 `- ?) w4 h+ V& q, w
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。 8 u; c8 i) C* N5 p3 \7 g1 U! V' s \begin{tabu}{|[2pt]c|c|[2pt]} ; A1 m& {3 l/ q/ r6 h1 G1 } \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度, + u" J0 ? s% t: T# R! `2 h, |* f# z {-}指从本行起到本行末尾画一条横线,3 R" N2 f# C( S, k% X1 L
{2-}指从第二个单元格开始画线至行尾。3 r, A* U7 Q: I* N$ ^
( D6 |: r- B) \0 Z: a e" z* I" w5 v
(3)单独设置一行的格式 ) w+ } V4 \' }! ] \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。 5 a. J0 F- m9 Z% e% S! q8 \使用示例: 4 \$ Q( i8 V* F" Y" d" c$ x* r5 {: c' W
\begin{tabu}{|X|X|}. M9 F* U, a4 ]) X
\tabucline- %“-”表示无厚度等参数1 T2 s/ z9 F- h, p* C: u
\rowfont[c]{\bfseries} This & is \\ \tabucline-, u6 I& [$ @& i! `# O8 W
for & everyone \\ \tabucline[2pt]- $ i* U6 F1 ]. {, h( Y8 W; d \rowfont [r]{\itshape} Mr & Wang \\ \tabucline- 0 H9 r; e4 k* N$ x. N* ^. h %阿汪先生的博客 * n3 B/ I; V z9 X0 A) g\end{tabu} , n, @, n( o% S3 s0 t* |' f7 Q' q4 w
(4)其他操作 ( L4 m5 s, m$ P在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。 0 o* c F3 ?8 e+ O1 v\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。 % Q2 ~- {: Q- X1 K! t1 t) d( `使用示例:- x% U6 K' W: N5 m f
\begin{tabu}{| X | X |} \hline/ g( S0 v( ?1 W: a4 [
\multicolumn 2 {|c|}{Hello}&World \\ \hline _* d% Q; x( b) R+ r9 [+ ?- V\tabuphantomline %阿汪先生的博客1 J2 ?( O. p4 R; [# @
\end{tabu} %表格中不能有空行 ! Z" i3 W8 X7 ~, b 9 Q2 c5 x( H) K, H) ]& K4 W0 w————————————————- a* U: G1 v0 T/ K( \$ b! p8 {
版权声明:本文为CSDN博主「阿汪先生」的原创文章。 5 w% O. _- H D0 v i" N! k" L原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437& P2 p0 g1 g, r6 p* Y3 M3 K