- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55508 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17604
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包$ k/ d9 f9 d, ^& u
dcolumn 对齐小数点( N4 X0 P4 I' T/ h: @
makecell 单独控制单元格格式
1 E4 H% V% C, w9 T! v( R diagbox 对表格进行斜线分割
& U7 X/ A( z1 f$ a+ Z* longtable 长表格,可用于处理分页表格(表格超过一页时使用)9 _/ ~/ i" k5 z/ a% y& H
ltxtable longtable和tabularx的结合体
% ]: i( e3 K- B array 各个表格宏包都依赖于它7 U' \* a# u, w- V2 ]& m) S
* tabu 命令简单、功能强大
?4 B& L+ B+ W# j. U) ?3 }6 G/ E/ O3 V/ w* }; M, `) [
二、输入格式及说明
7 r5 [/ a8 M( m! R5 |: E8 z7 v1 A5 m1、一般输入格式
9 v* B- ^) u7 R% ]\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
. C. M$ y% C# T+ M- _6 } & & & & \\
/ J, J( K! o5 @/ V, Z* }8 ? \end{tabular}( b% _5 Y" o, H/ Y+ {( {
9 G/ ]$ d, M3 k3 z/ ], t# S2、一些说明6 k& u4 h" G* X! D, j% m6 V2 w' P
(1)特殊符号:. U( n' G0 r/ k* m
\\ 表示换行# \/ m& t9 L) h+ w6 V( z
& 表示分隔单元格. i+ a7 g5 e2 N& _& D
: ?+ O' ]; r6 z5 n- j, c- Y(2)垂直对齐方式:( r/ f; h* W# a. C1 d$ D T! A2 i
t 表示按表格顶部对齐7 Y- \+ l) y- y6 S7 k0 O# t" V
b 表示按表格底部对齐
8 G9 l. e+ ?- B% x! b/ W v2 J 默认为:垂直居中,非t和b的参数都看作居中( e4 A: A& \3 O# j# v0 l
" a9 V: d+ e1 i(3)列格式:4 {) y' c: f$ G+ \
l 表示列左齐 (小写的 L)
( ~5 ~7 I3 E; g c 表示列居中对齐
/ E( ~; A |4 `9 r$ Q, H r 表示列右对齐
5 g1 S8 i' t0 c6 G4 O" p
7 [4 }7 o7 ? R2 W三、单元格的合并
$ ^, B* I/ F6 S" R$ C1、行内单元格合并命令1 r8 L9 s1 U; \- ]
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 / h0 ~8 d+ X k0 i# F; T8 H
- v! o) W* s: t! I- H D
(1)基础模板:8 M2 `0 W. s9 p1 J/ v5 ?
\begin{tabular}{ | c | c | }
2 e0 p% V' R# _9 l8 h3 v% o# g/ w \hline
5 g" T9 {& _ L( U0 A; z \multicolumn{2}{ | c | }{成绩} \\
- i/ k- R/ Z e2 Y$ L3 z8 R \hline
, |# R6 u I: ]3 h( m Y 语文 & 数学 \\ \hline' U" _7 |, B5 q8 Q- W+ G
100 & 100 \\ \hline
. ~0 Z( q2 l6 C: W %阿汪先生的博客2 ]" n1 G2 b) Y, D
\end{tabular}
) U, P" S. C* t 1 I' c) {" V! n
(2)进阶模板: R9 X& ?" s3 q( ?( }
\begin{tabular}{ | c | r | r | }, A. q: K* U& x. \$ w# k$ T
\hline9 D9 T+ _- I9 q7 B$ i
&\multicolumn{2}{ c | }{成绩} \\
* ~! e+ l' S& ]2 y. {0 U \cline {2-3}( l- y- E; C9 u* U2 d
姓名 & 语文 & 数学 \\ \hline
) H7 h2 T1 R( N* f: w- |8 ^ 阿汪 & 93 & 97 \\ \hline
& C. I" ]% V- }! R %阿汪先生的博客
' D1 w% l' ]: l, i \end{tabular}1 x9 k7 \6 r) D) j6 E
& h. w: z; I2 }, G1 T* M" {语句技巧:画水平表格线需要指定线的起始和终止列号。
! T1 u4 A5 z* `: a- J用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
- [' Y) w, ^+ D3 w) ~% c5 [
% S6 O1 M e& ?* G5 O: ^0 t! }; H+ E2、列内单元格合并命令# Z' ]. W: c v b' Y1 ?0 z/ Q/ O
需要用 multirow宏包
5 E+ B, ~ l3 K* n3 h\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行" H2 i T, B( f5 |1 Q8 h* U& a
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度6 O. H: j. F% m- d6 T" W- v
% C8 C* ]! e4 r! k& u+ G) d) X基础模板:$ B6 ~$ \) k' T, J' V- } H
%导言区 \usepackage{multirow}2 U) E+ R; D/ b7 k$ t R
\begin{tabular}{ | c | r | r | }
! [5 l8 `, F* g; Z; t7 J9 Y \hline* O0 V# U" M2 K' Y0 |) I( ~/ A
\multirow{2}*{姓名}&# v5 d+ S- Z+ A) E% ?5 C
\multicolumn{2}{ c | }{成绩} \\
" M" v1 D! w* c2 F \cline {2-3}
9 o; E! h) S% `/ q & 语文 & 数学 \\ \hline& ~: }* R3 t# @1 ~7 Z+ p, p
阿汪 & 93 & 97 \\ \hline
1 L* D0 R$ O* \1 E2 L %阿汪先生的博客
, v) y# T: P' I6 Z. T( C \end{tabular}
0 M$ p* o2 a2 }( A5 u( f8 D5 Y8 z; Q8 ~% N9 M
四、特殊表格" a: T2 g8 c: w8 ]) {% c
1、定宽表格—tabularx% X* v" C# H! I3 u1 h
(1)注意点:" b$ k1 q0 L4 i- V% R" c+ u$ l
tabularx宏包提供tabularx环境
1 D8 |! I( `# i, z$ H7 }8 r1 C1 u, \ X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。) `5 P$ @1 J4 N, m7 P
& [% ~2 C& [. |4 `! S* E
(2)使用示例:
( ^0 M0 F5 ?( h% b5 ]%导言区 \usepackage{tabularx}6 E( F4 Q+ B5 ~; n$ o
\begin{tabularx}{400}{ | c | X | X | X | X | X |}" `. Y% ~& L$ j8 [
\hline
6 ` G5 H0 @' p; E( T6 Q 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline9 m- i W1 U/ i7 V
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline+ a+ U7 Q/ @2 g' L9 N3 t6 S
%阿汪先生的博客
/ B1 O- {; S0 K \end{tabularx}, w$ |; R0 A' q3 e3 }0 _0 H$ D$ e
4 k$ f W5 g# ~0 m' u5 s7 c
2、三线式表格—booktabs
, |1 O4 Z0 i) q/ ~/ x2 ]% X(1)booktabs提供了如下命令:, Z6 F' o) p! {0 G8 u. W; n, V
\toprule ,画表格顶部粗线。
: O" O* T- Q) J, @$ K$ t$ ~ \midrule,画表格中部粗线。
' P! U; q- F( g' C \bottomrule,画表格底部细线。2 U- s% R) y/ }2 C
\cmidrule 与 \cline命令相似。
8 N- j5 k. M3 f) |+ @6 h7 g* e( S/ L7 Q* }& b# ]6 [2 l
(2)使用示例:& u6 z4 V. D, g: p) @
%导言区 \usepackage {booktabs}
5 W* h9 [/ g# D; e \begin {tabular}{c c c}
# F- g" |! I3 R) G# j \toprule
" e, t) T* x3 Y& [. O 姓名 & 语文 & 数学 \\ \midrule
! I- }# n, `6 d3 [ 阿汪 & 93 &97 \\ \cmidrule {2-3}9 O. C' c& h" ~" _% S
阿喵 & 98 &92 \\ + l1 K8 y% h- k& j( ]0 O
\bottomrule . X8 B( O9 N6 @7 f2 n# X
%阿汪先生的博客( \0 C! `( w+ p( M9 {
\end{tabular}7 T0 h% S" G. n/ t2 E% V
* ?. ]! l4 U6 x# J# c' L
五、常用表格参数的设定/ c" Q! F4 h x& ]* Y! z
1、表格浮动环境8 f' ?7 B! ~! [' b% k% R: y
控制表格(浮动)在本页中的显示位置需要table环境。
# I. \- D3 h" s位置参数有htbp四种:here 、top 、bottom 、float page。3 f7 Y& M& r+ v* c& C' a
table环境中可以通过 \caption 命令表格的标题。
) x- [' B7 n) }# C- ?( t" ?% p
(1)位置参数htbp释义:7 g! ` M% O" }+ B$ s
here:在输入表格的位置排版
' [3 I- v* L- Q+ `top:在输入页面的顶部排版
* {% @" r$ O" ?& zbottom:在输入页面的底部排版
; [2 w: L7 B# {9 J k/ M, mfloat page:在单独的浮动页面排版
% M0 s( D( a6 ?: c) R(2)使用模板:
7 K* |9 @2 q" i6 N- c\renewcommand\tablename{表}
1 f% c; R3 L" f) L; z) \ \begin {table}[htbp]' v) ~% D( L& \1 l- D. z; Z: C
\centering \caption{成绩一览表}
; {- \$ ]! b0 Q& V1 d6 P# W \begin {tabular}{c c c}8 F' `! F: q2 m! S4 ~- m
\toprule ' G; Z8 P( q, A
姓名 & 语文 & 数学 \\ \midrule( C5 \9 T1 U- C2 O
阿汪 & 93 &97 \\ \cmidrule {2-3}3 ?. ^1 H7 v- X D; z
阿喵 & 98 &92 \\
. c; {: w( m0 }8 A$ A0 z& k \bottomrule
) ?; I0 K9 }7 v7 [: W- c' a" r \end{tabular}5 O2 y3 ~0 P4 b: ^. Q, X0 Y1 e; P+ ]! p
%阿汪先生的博客' \* ^& ]& k4 o% ]! H+ x$ g
\end {table} 6 r% l5 v, k7 l+ x; O( O
( E7 h5 g$ y; s$ j
2、功能强大的tabu宏包9 b( k! \, `. J0 M; Q7 z
(1)tabu宏包提供的基本表格环境! l" F- R |1 }
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
6 E/ E! \* x6 v8 M ^9 k4 n\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}2 q0 ~- n7 D7 x3 R
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}: h; n. R# y+ u4 B: o4 T3 w
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。& @& d( T' O1 A0 ]
(2)画线格式
" Y5 {4 p+ w8 B tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
$ Z1 q7 ^" }# @- q: J \begin{tabu}{|[2pt]c|c|[2pt]}! B. s9 t7 z5 `! m* W q
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
+ W' ~8 D9 h- h {-}指从本行起到本行末尾画一条横线,
4 o k( F) q* M, f; g; i3 B, U {2-}指从第二个单元格开始画线至行尾。% j; A1 ~! @" [' J: e# v" D
) s7 i' ]& o4 K" Z# W% j/ l* n
(3)单独设置一行的格式" p% R. M# s) B4 m* w
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。+ X# A; B+ I9 @# g0 H
使用示例:
% s# A( K" ~; {# J: G, n* H# L2 r A, ?/ _
\begin{tabu}{|X|X|}
3 v# A7 @) O# A) E* K7 ]2 b/ i \tabucline- %“-”表示无厚度等参数
5 P3 C- y8 f% h! {! x7 Y7 p \rowfont[c]{\bfseries} This & is \\ \tabucline-0 W& J1 V' X8 N3 r4 x( a$ H4 H
for & everyone \\ \tabucline[2pt]-
) n: p9 O2 B5 w1 G+ m \rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
1 U; ?% B* P/ g" {7 N %阿汪先生的博客
2 D+ I6 c. m+ w3 Y4 U7 |: q\end{tabu} 4 i5 N7 l$ a# @0 G, Y0 i7 b
j( a! B$ z- a
(4)其他操作
; c0 Q; ?$ \6 T0 Y在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。% P" g( P! v5 F4 o! \8 p. Q5 ?8 W
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
% x2 k' r3 b. ^+ a$ v. V! v使用示例:
$ s9 p' D7 f$ o4 Q6 J; h" i\begin{tabu}{| X | X |} \hline9 G/ L$ s6 Q4 R
\multicolumn 2 {|c|}{Hello}&World \\ \hline" @7 l5 o& j0 v% ~
\tabuphantomline %阿汪先生的博客7 ^% n- l& f# X! P* H! Y' {% T+ l8 e9 U
\end{tabu} %表格中不能有空行) x4 V, z8 n# b. u$ z' q; I
0 N& a! X D( y5 T0 j/ j0 F0 W8 ~
————————————————
| O d8 O$ H, F6 B; }6 [5 M版权声明:本文为CSDN博主「阿汪先生」的原创文章。
( {4 h6 A* L, g5 Y原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
( Z+ Y# X( J- o e1 t' B |
zan
|