- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55556 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17618
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
" h6 i% _; j* M% V; G. ~% U6 [ dcolumn 对齐小数点; i2 J5 \2 \2 r: T& p
makecell 单独控制单元格格式" k0 p4 G" S' _; U7 E: T* {
diagbox 对表格进行斜线分割1 B* ]8 [, v1 R, T* M" V1 e2 C
* longtable 长表格,可用于处理分页表格(表格超过一页时使用); o9 D# d, o( ~$ W+ A' ~" O
ltxtable longtable和tabularx的结合体
- H: P# } U& Z, F0 r2 q- U% ^# M array 各个表格宏包都依赖于它
+ D! s9 T' p1 N- K* tabu 命令简单、功能强大* {$ P+ |# w/ X0 r1 G" D% e8 n* }8 ~
' Z! ?; ?# @" q. w3 y P
二、输入格式及说明7 t1 q9 I8 ]) ]; n, O
1、一般输入格式
* D' O6 x3 k# O3 ~* o\begin{tabular}[<垂直对齐方式>]{<列格式说明>}* h, ~1 t- X' d% M- o, G0 R2 s
& & & & \\
) \& {( c8 y: D5 n6 G l6 y \end{tabular}
( C( \, _, h. k0 q. m+ s9 b! |* p1 f9 P6 |* }9 I3 x
2、一些说明
9 S) p2 ^" O0 w: v- U# E; R/ x(1)特殊符号:/ @$ D! k6 b" N2 H
\\ 表示换行
9 P1 t6 Y9 z8 t$ W6 d; G, P & 表示分隔单元格
5 Y# C, S1 m3 Y9 A$ o. c+ \. U( H2 {1 D: g9 Z* [1 y8 V
(2)垂直对齐方式:
8 `# ?" y3 }7 C! @ t 表示按表格顶部对齐
; m: K3 S+ l6 X) l b 表示按表格底部对齐
# X8 m, g. R% X- l 默认为:垂直居中,非t和b的参数都看作居中) v, Q/ N) X1 I
; ~. h. d4 V7 ^& Z7 |( F- Z
(3)列格式:
& q" C8 E/ f! Y' V' h l 表示列左齐 (小写的 L)
9 r7 \9 L4 K9 U. u$ b c 表示列居中对齐
& w: F7 Z2 L7 G; ]' U, y r 表示列右对齐4 H, Y6 z7 g# E* V+ q
, q; F9 ?4 U# B三、单元格的合并
' G% y& Y: N e- k1、行内单元格合并命令% E1 d; d. n5 X8 P
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 ^/ I4 w( A+ j* z5 q
" X1 o, j+ \" ?0 O. M& k8 c3 x; W
(1)基础模板:5 f3 @' Q. g1 Z. K/ f
\begin{tabular}{ | c | c | }& o% Y( e/ _0 R2 O3 B6 b0 @0 R
\hline
- ~: @2 c9 i) O6 }, k) P' s/ T4 C) F \multicolumn{2}{ | c | }{成绩} \\
4 b+ r5 b6 H! o ^+ S, l \hline. m/ K( u- K1 o6 H+ v7 u4 S
语文 & 数学 \\ \hline( u! z8 u% i: u3 @
100 & 100 \\ \hline
6 z: C. C1 R& e. `3 @. r9 l+ l %阿汪先生的博客
+ m D3 _# y; i! c9 c3 e' ?) I \end{tabular}& u" B3 l( @7 a0 T- O4 \$ b4 B o% D
+ T1 Y/ P7 S* b* ?1 U9 s, J
(2)进阶模板:
. x4 J( O+ x' x8 n6 O2 N \begin{tabular}{ | c | r | r | }
g3 m, @# c l \hline
# S( i% n$ O k; c &\multicolumn{2}{ c | }{成绩} \\
. X. [% H& H4 n! _8 f9 B0 ^. j! h7 I4 Y \cline {2-3}+ o3 g* E( p0 f" @# L, J" |
姓名 & 语文 & 数学 \\ \hline
& G. A/ d, V; |; {8 m) f0 @ 阿汪 & 93 & 97 \\ \hline * r4 t! X8 f* u2 f4 e3 m# o4 S
%阿汪先生的博客
- `0 G; K( j a) t5 o \end{tabular}& y& e! W. w' o& X) e1 ~# M# p
% L Z! ^$ g' `% D
语句技巧:画水平表格线需要指定线的起始和终止列号。+ p* y4 o0 m1 N% M9 k9 l- ^
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
2 a8 t1 x2 M2 l! H& P5 |6 k! Y8 }- r5 A; t
2、列内单元格合并命令
7 @+ ?% ]4 n5 G7 `需要用 multirow宏包8 I3 b3 ^2 v0 }! W3 F: j( |3 }
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行2 k" i' }( g) K$ U
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度 p6 C8 b! n* M$ Y" u7 C8 f
! B& K& O$ u3 i) C+ b: {基础模板:% I# |2 x4 g5 c$ u, P
%导言区 \usepackage{multirow}
. i1 A* d4 d* _1 [, V# j/ i \begin{tabular}{ | c | r | r | }
3 J, T" O5 r3 G/ a: S0 Q \hline3 A# }1 x* L8 v w I$ K
\multirow{2}*{姓名}&
, C; m+ J/ c0 F: n* V \multicolumn{2}{ c | }{成绩} \\/ i: p( z* O/ N( I. T
\cline {2-3}
( H4 x% l6 b! v: r+ S & 语文 & 数学 \\ \hline% r4 I7 b! b3 M$ ~7 c" d# L% |9 ?
阿汪 & 93 & 97 \\ \hline: K0 l0 P% p5 V2 e' Y8 B* N
%阿汪先生的博客: U( c; t" w9 H# K* @0 Z
\end{tabular}. {; x& G, E( \, D3 q0 O- z$ M
3 E; g/ T% K) |* z8 S2 N四、特殊表格
$ U6 K, |) ~" i2 d3 L( T. S U1、定宽表格—tabularx
7 e3 e0 U+ i5 s(1)注意点:
8 u" l" }! D4 p Q tabularx宏包提供tabularx环境, T" ]% r3 `3 D9 G& |, t
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。2 ^: J1 R. l4 S% o" |2 v- c
* O# |& B; V. z+ b' p( w& C(2)使用示例:, A b+ P. c" Y; ^$ s: N1 ]2 L
%导言区 \usepackage{tabularx}
* o( k( l/ r8 i" g \begin{tabularx}{400}{ | c | X | X | X | X | X |}8 ^( D( \+ D: u- n
\hline4 ^4 L0 j" ]' r
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline* U/ W2 h* r1 `+ Q# v( t6 N5 B3 O
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline) B, e8 P4 U# s$ l$ e5 M* y
%阿汪先生的博客
0 j% u4 K' U+ c' A \end{tabularx}% _ Q& Z) Q1 e6 }: P4 R
5 o# n) [+ |6 `2、三线式表格—booktabs
+ q& ~3 C6 x1 [# ~! {3 [(1)booktabs提供了如下命令:& L" E" a2 I* ^& N8 A
\toprule ,画表格顶部粗线。& ^, F2 r I* A. t
\midrule,画表格中部粗线。
0 O3 f) b+ W( Q- I8 S/ S1 Q8 D' T \bottomrule,画表格底部细线。4 b! z. u! u4 O! o
\cmidrule 与 \cline命令相似。
+ v. v0 A& s9 c+ O h2 t" ?1 j: U4 q& P$ }1 ^9 W6 \
(2)使用示例:
" o2 H# F+ o7 q: ?) f1 @%导言区 \usepackage {booktabs}) r* d' Y* R9 H0 a: \
\begin {tabular}{c c c}' s" f2 j+ R( e5 G. O( x2 V1 ~
\toprule+ q0 J# x: ?& _! S% L
姓名 & 语文 & 数学 \\ \midrule- Z/ k8 E( D/ Y& T. ^ A, ^
阿汪 & 93 &97 \\ \cmidrule {2-3}- ?% z$ S% _ v8 v* ~: `, z
阿喵 & 98 &92 \\
4 o3 j; L" s% E% h# N9 t \bottomrule ; ^( Z" X2 D) h3 K2 J$ }% z2 B
%阿汪先生的博客
$ _9 q" P5 Y$ H% D8 N# A\end{tabular}9 V: R% g! Q4 e0 i* ?' O+ o7 I2 K( H4 d
, {: w4 @. p2 Q6 z五、常用表格参数的设定4 u: a6 @' _1 N4 L+ v% |
1、表格浮动环境
! ?5 ]% ]# l: o* n控制表格(浮动)在本页中的显示位置需要table环境。
; o" { y0 _ F% A# A9 B位置参数有htbp四种:here 、top 、bottom 、float page。
g F+ I4 x. g; qtable环境中可以通过 \caption 命令表格的标题。, d9 N% {# Y% w9 ?# w+ q8 |
' |6 b! q: \, m" g; X
(1)位置参数htbp释义:
% U( m; q' S7 } Nhere:在输入表格的位置排版# E3 ]1 N! j9 |7 |* Q
top:在输入页面的顶部排版0 \& T1 t. d7 [" \6 l
bottom:在输入页面的底部排版7 X* o2 V t- O- F1 T* s
float page:在单独的浮动页面排版
) Z' D$ k4 q5 f+ q(2)使用模板:: K) U- _! [- e- H" W
\renewcommand\tablename{表}' N; f3 {1 N# h- v( Q( a
\begin {table}[htbp]: [# V5 w0 \' B, f! @
\centering \caption{成绩一览表}: P: z# D8 H( Q% d6 w
\begin {tabular}{c c c} f4 v/ \5 Y. y/ B& M7 q3 b
\toprule
8 [2 X! u7 I: A! l$ I 姓名 & 语文 & 数学 \\ \midrule' s2 ], t" ?: \( G* F& x% ~
阿汪 & 93 &97 \\ \cmidrule {2-3}( m0 @5 o. l6 g
阿喵 & 98 &92 \\ % ~ Y, n; ^& @+ ?, H# ]: X
\bottomrule
3 b$ A) U# R( ?3 H& }1 j2 O \end{tabular}
5 L" Y- g& P1 T" M. d M# t6 \! J %阿汪先生的博客
! u) O+ o4 d# z- V \end {table} . R: ^" Q4 b0 a" l6 o) g
! ~! q5 D' x9 |8 l& w2、功能强大的tabu宏包
3 F( |- h. N3 s9 ~; P+ Q(1)tabu宏包提供的基本表格环境7 E9 A# c0 b3 t! W d6 F& t
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
, @9 t4 N$ s* C/ [) H# l\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}1 y# _! x3 n7 _8 x: J2 }$ |3 w/ E
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
) ^( [4 b4 A6 R) }3 A/ F* c, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
! R) t! x6 c1 r) I(2)画线格式
. `- L! Y. e& C9 {% q5 v tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。& r% I; ]; u3 h2 ?
\begin{tabu}{|[2pt]c|c|[2pt]}
) G! D0 w7 Z9 i8 I \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
9 K' [, d, E9 X/ | {-}指从本行起到本行末尾画一条横线,
& T8 \" p( C- [6 c$ O' V+ Q {2-}指从第二个单元格开始画线至行尾。; T7 ?+ X1 K" T6 S K9 k4 F
1 X4 E1 `; _. x4 t6 D2 h9 z9 n
(3)单独设置一行的格式: c0 e" A( q( m( w$ h# H# q
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。+ Y. H% c3 g1 ?
使用示例:
( O2 t j$ w! F9 M' b
4 [7 K% ?3 W8 Y9 c2 |8 n\begin{tabu}{|X|X|}
1 C' V5 R ^2 o- ? \tabucline- %“-”表示无厚度等参数
' L- d: }5 [& E" `! S% [ \rowfont[c]{\bfseries} This & is \\ \tabucline-& O' P+ X4 b& b
for & everyone \\ \tabucline[2pt]-6 D3 t0 d Q, l7 U
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
: j6 F/ }) z; F! } %阿汪先生的博客: n7 {1 z: n, m1 t* [9 G
\end{tabu}
9 |; a8 T# v5 Y( g
+ j8 d' [' v0 @+ Z9 e3 c) V6 e(4)其他操作
( A7 h0 M4 g: U/ E在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
; i1 X' X) T- v# {8 s* K7 R: T\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
w1 ~0 c9 b2 P5 ~使用示例:0 S: G- I3 D9 Z0 d' x4 r3 S
\begin{tabu}{| X | X |} \hline! A" Y4 U8 g$ r
\multicolumn 2 {|c|}{Hello}&World \\ \hline( K7 b5 @5 d( D( B
\tabuphantomline %阿汪先生的博客3 R' j$ w6 i: |' z- i2 U' C
\end{tabu} %表格中不能有空行% k3 X& O4 P8 t' A0 ~% s" A5 n
6 V% ?; D A; r" x y4 ^
————————————————' ~, i* l: g2 a/ s
版权声明:本文为CSDN博主「阿汪先生」的原创文章。% J) r& l+ M5 L# [
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437. g i- }+ V$ Q" G" B$ _3 f
|
zan
|