- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55539 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17613
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 447
- 主题
- 326
- 精华
- 1
- 分享
- 0
- 好友
- 79
TA的每日心情 | 慵懒 2020-7-12 09:52 |
|---|
签到天数: 116 天 [LV.6]常住居民II 管理员
 群组: 2018教师培训(呼和浩 群组: 2017-05-04 量化投资实 群组: 2017“草原杯”夏令营 群组: 2018美赛冲刺培训 群组: 2017 田老师国赛冲刺课 |
一、常用的表格宏包' K9 _/ }9 D: l( N, }
dcolumn 对齐小数点
8 v F ~, f( \1 ~8 H makecell 单独控制单元格格式( ^8 Y( V# n; `- U! H
diagbox 对表格进行斜线分割5 i, e+ ^- m7 x! b
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
9 x5 m: D! E2 F$ J( M4 \ ltxtable longtable和tabularx的结合体
1 a3 ]% a8 f0 H2 v* H array 各个表格宏包都依赖于它
( E& X: W- }# o0 x Z; @* tabu 命令简单、功能强大
1 d3 ?5 J5 G% L; _+ Q$ b- a5 R, R+ q8 w4 g/ o$ b1 Y- Q% j
二、输入格式及说明; Q+ ~ }( O8 t
1、一般输入格式
$ R+ C$ j7 n% _: V v9 e. n\begin{tabular}[<垂直对齐方式>]{<列格式说明>}. G+ g8 U+ r" I( x! U1 [
& & & & \\3 S& m6 W# I- b* ]$ E2 p. w
\end{tabular}" u4 v: m2 i% M/ V
4 F% H3 I4 t! R: u0 |6 d% P
2、一些说明
1 S/ i* ^- F' d! f% V(1)特殊符号:
) }; P7 U V; Q4 C \\ 表示换行
, O4 g3 O& w! v# ?* B7 N P0 a & 表示分隔单元格
5 L5 W/ h0 a4 T' E0 H
, H2 H+ Z2 }5 _, E(2)垂直对齐方式:
0 v8 A. P3 m- ~& v+ G t 表示按表格顶部对齐
& k, l7 ~8 b f' i" ]5 _' p8 L b 表示按表格底部对齐
) S V% ~0 J; z$ {7 h& X7 D$ J 默认为:垂直居中,非t和b的参数都看作居中/ w6 l% C: N& N7 k' b
! p4 p* L* m, }9 ?
(3)列格式:
6 n) a1 ]2 ?2 @; p* O1 m1 o l 表示列左齐 (小写的 L)" h6 s3 _+ f' Q, X
c 表示列居中对齐
) t, A) v4 k9 h' ?1 B8 Q/ j4 u$ D7 b r 表示列右对齐/ O; A+ y: K5 m; Z% y+ v
3 h9 Q* Z. |$ S5 M A- [3 q4 K! R
三、单元格的合并
9 m0 A6 C p" W8 H: R9 V1、行内单元格合并命令/ C( e% n P4 r2 e6 ~/ O( R% F
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
6 W- r4 I2 L5 t! s1 s$ n
# F! W3 D7 @8 R(1)基础模板:4 Z# i5 ]$ M# h( z' E
\begin{tabular}{ | c | c | }
+ Q4 N0 S C0 x4 [+ Z \hline7 i& a, a" s8 |& s* P" H' Z4 I
\multicolumn{2}{ | c | }{成绩} \\
, R' @8 ]& L4 d$ z( R% A( o; Q \hline/ |% y$ o [% _/ ^& N- _, j
语文 & 数学 \\ \hline
# f; K j+ D0 M ] 100 & 100 \\ \hline* D d$ ^$ J& x; `4 C% g
%阿汪先生的博客' D/ l* J* N/ D: U& o7 J
\end{tabular}
+ W% p4 o6 b8 j; G. m" C! H0 s9 J 5 B4 A( N, A- ?# ~: M! H' {
(2)进阶模板:
8 ?; c3 B: @0 {" D0 N! P \begin{tabular}{ | c | r | r | }
! b e* b$ N5 G1 y$ X L8 P \hline0 L4 }, _0 p7 R! b0 @+ j1 a4 a5 r$ e
&\multicolumn{2}{ c | }{成绩} \\8 F+ e/ l6 l& m& n1 y
\cline {2-3}- u u% F ` k7 l. } o
姓名 & 语文 & 数学 \\ \hline: z0 ^( U; k5 J, R% _8 t/ {& b ~* j9 D
阿汪 & 93 & 97 \\ \hline
6 y( ~. z: ]! K0 h+ Y3 r$ G0 D %阿汪先生的博客
8 b, n; {1 j/ R3 W2 O \end{tabular}; Q% R3 } g7 Z- G6 c6 s j
: q6 O1 T& b4 G0 t; o$ y+ Z5 O
语句技巧:画水平表格线需要指定线的起始和终止列号。
: A4 K7 e" F# `, Z4 o0 g8 r( Z' I; K9 c用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。- d- M& V n+ O8 E: c S
0 Y7 N$ ?( u2 E- r7 k; k2、列内单元格合并命令
' f) y# m5 @% ~+ M/ J需要用 multirow宏包4 v0 t X1 ~8 @. Q" a7 h2 C
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
I" Q( i6 S9 c4 C* H v' J* H\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
' Q W3 p2 a7 Z' y1 U" J* J5 w2 F8 R' n. j2 _/ V3 i0 n
基础模板:* f3 p" l- k; x. \7 K
%导言区 \usepackage{multirow}; L( `2 W! t6 J; X9 s$ D4 a* U
\begin{tabular}{ | c | r | r | }6 v* s6 j! l* _/ x* o- b
\hline; a* D" y! w3 A2 b( z2 }( H
\multirow{2}*{姓名}&
" x: X7 `& ?, `* Y! g5 h \multicolumn{2}{ c | }{成绩} \\
' m3 N5 v8 B5 U3 ]: O# W \cline {2-3}
8 e( Z0 i+ ~$ L & 语文 & 数学 \\ \hline
8 H1 I) M% o3 i4 r 阿汪 & 93 & 97 \\ \hline
' V, ~' W$ V$ E5 Q %阿汪先生的博客9 O- O" _% P1 R! h3 i) s4 o
\end{tabular}/ L1 f1 C% s( U# j; P: ~ @
& d1 {1 @ z! l* N, n, q
四、特殊表格
) q2 Z3 ~1 y+ e2 d1、定宽表格—tabularx
! Z" ^. h0 z& Y1 ?(1)注意点:( S( ~3 m8 S9 \! K; e4 O
tabularx宏包提供tabularx环境5 l+ `( a! Z Y6 }
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
4 }1 ]2 U8 v1 `. @% t* }- g: B0 b* F0 L" Z! U5 f. y% p; P
(2)使用示例:
0 Q& j0 e/ r( l$ W%导言区 \usepackage{tabularx}8 g8 u# D) {6 p4 E- h# o3 Y. R
\begin{tabularx}{400}{ | c | X | X | X | X | X |}4 _' C9 }1 T& ]" E: s
\hline# O9 S. p$ K$ {" `& N+ A
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline* f9 ^+ k$ ^% T" N/ m, r' n7 C
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline& {0 x& G. ?2 B O- x8 S& T
%阿汪先生的博客4 U; E1 f4 N2 F
\end{tabularx}9 z. C$ m9 W* g' Y+ z U
! S9 x3 @3 c, H/ U
2、三线式表格—booktabs0 a7 l o2 A* ]1 I
(1)booktabs提供了如下命令:
% u5 Z- s# [/ ~+ W# h) O2 Y \toprule ,画表格顶部粗线。
H4 g2 ]) w# ]6 y0 w5 P7 y) B# i: X \midrule,画表格中部粗线。( F( a- {+ F5 d$ \# o5 J5 T e
\bottomrule,画表格底部细线。' Z/ H ?, c# q. n6 W8 O2 ]4 w( Q
\cmidrule 与 \cline命令相似。
& o7 q. D. k4 V4 I
3 R, Z" Y" r* {3 ^+ ~6 V(2)使用示例:- j% H) y y/ C3 d
%导言区 \usepackage {booktabs}' b2 T. Y5 f; g. Y9 R
\begin {tabular}{c c c}
+ T2 p9 o+ {& u8 F9 p$ O \toprule% d! C' Z2 C {' o8 m6 m
姓名 & 语文 & 数学 \\ \midrule6 G# O3 i$ E* `8 o9 X9 c. t
阿汪 & 93 &97 \\ \cmidrule {2-3}; d/ I% K& B$ @4 U* m' a
阿喵 & 98 &92 \\
4 z) q$ x& ~! C) A/ o9 ` \bottomrule
, M4 \) c/ @' t8 k; P4 V %阿汪先生的博客
7 q) W$ F' o, p$ b\end{tabular}- ~+ n( Z, {1 e5 S) n0 w
8 Z9 d& v' C& S! \. q/ J五、常用表格参数的设定
' ~& H/ ^8 P) R: o8 s1、表格浮动环境0 s/ O7 {+ W+ {% [+ x* a
控制表格(浮动)在本页中的显示位置需要table环境。4 U N1 Y$ q, ], t% z
位置参数有htbp四种:here 、top 、bottom 、float page。
& J* C3 }4 C- E6 y1 |5 j. qtable环境中可以通过 \caption 命令表格的标题。: C1 z: V7 }; G& b0 O: N2 m2 d
3 Y( x7 j4 l4 x+ m k
(1)位置参数htbp释义:2 h7 A' I+ ?' e
here:在输入表格的位置排版
5 ~' z& `( ]% I% \" l+ u# z8 O% }top:在输入页面的顶部排版( i! W' G- w: _) `% L( \
bottom:在输入页面的底部排版
3 c% Y* |9 B5 R/ l/ e/ @float page:在单独的浮动页面排版. Q- _: t# D4 A- h9 [9 R5 {
(2)使用模板:5 G7 ` B$ e+ p& i |( V( z# W
\renewcommand\tablename{表}- c8 B, F2 j# C7 o
\begin {table}[htbp]
" p4 a2 w% Z$ P+ n. j z% x) a# J \centering \caption{成绩一览表}9 ?. N; O6 H6 K* }6 |& o
\begin {tabular}{c c c}
9 v7 F k8 U+ l% B \toprule
5 }" _$ }$ J0 H' B" L5 w 姓名 & 语文 & 数学 \\ \midrule
; m }; U# L9 s- [( r8 S6 R 阿汪 & 93 &97 \\ \cmidrule {2-3}
/ n9 {. L! }0 W4 Q* Y0 n Y 阿喵 & 98 &92 \\ % i9 J( ~- J4 [3 P
\bottomrule4 |9 W, v7 |- C1 X8 \9 q$ u
\end{tabular}
! f+ @5 Z: h) m. Y %阿汪先生的博客0 f8 l+ o% T" ], r" K
\end {table} 3 r2 U3 l6 T/ {$ `8 \
$ j. N0 P$ ^) j. V2、功能强大的tabu宏包
' {+ R* q( M1 `8 p. `(1)tabu宏包提供的基本表格环境
' L6 D7 g* \, x( S/ g% N" X$ q" k* X6 R\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
; Y8 @0 H3 R- H6 Z$ X\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}4 a: H, |( l2 M$ ?8 M0 y- t
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
9 M/ @9 u) V. m, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
1 j( G) [ C Y' n! ]! K* ?(2)画线格式6 s# L' s# |' M/ H
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。+ j8 {$ _5 A& i2 z* Q8 G$ P" A, ]
\begin{tabu}{|[2pt]c|c|[2pt]} h4 {3 q- m/ s9 O2 ?$ Z
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
3 Z2 l2 q- G. z {-}指从本行起到本行末尾画一条横线,% n6 `# L# u; ~7 w
{2-}指从第二个单元格开始画线至行尾。
! i k6 A0 T' p& s5 h7 A7 r; r1 ^# x& x- @5 x: F
(3)单独设置一行的格式 S# |7 W7 @/ k0 Y9 O
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
% q1 f1 C" i7 P) F6 M0 c5 f使用示例:
6 @3 x8 J8 b0 o+ K4 ` {6 \
6 V( I z. r/ I+ H# ?4 ]\begin{tabu}{|X|X|}
" L2 O4 F8 y h" T& Q. W, E3 w \tabucline- %“-”表示无厚度等参数
( W5 X0 B: c* N0 A3 @# D9 s \rowfont[c]{\bfseries} This & is \\ \tabucline-
; ^% t. a4 ^9 y* g for & everyone \\ \tabucline[2pt]-8 G% n- R. I# b# L$ D4 {+ Y" L
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
4 v' M# p9 S) T& ^0 J) H, Y %阿汪先生的博客
1 ]( k7 i6 E; g6 Y8 _6 D\end{tabu} * Y- {; A6 _1 Q6 N8 L; D& t1 [+ r
- u/ z1 ]3 d) r2 C# ^9 `8 B
(4)其他操作
8 W, h; l& c$ p在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
) N* l: d% l4 n9 ^7 j9 L\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
: B8 f2 ]/ @3 I) \使用示例:* y+ \$ p0 z% U6 S8 `2 {
\begin{tabu}{| X | X |} \hline- N: F: g4 N8 B, {% X, K
\multicolumn 2 {|c|}{Hello}&World \\ \hline
( k! \: z4 Z9 f\tabuphantomline %阿汪先生的博客
9 | l* F# u! i" O+ J4 k0 ~\end{tabu} %表格中不能有空行
7 _- ]7 T1 ~1 S& k- ?' }
% o6 E. a5 E- f% t7 h u( ~————————————————6 {0 `3 c0 e5 A& d
版权声明:本文为CSDN博主「阿汪先生」的原创文章。1 @* \4 F/ n( _+ B- I
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437 I" K; S: k# N; m: i
|
zan
|