- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55572 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17623
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包! ?' Q8 Z7 T$ m4 t& R
dcolumn 对齐小数点! k2 n5 y" o: P! i! F* W' T
makecell 单独控制单元格格式
- V4 H8 H! R- o/ Y: L$ b diagbox 对表格进行斜线分割
6 n7 H6 Y6 ]) X5 G# e* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
9 Y( T" Z5 q* p2 [& J4 U2 Z, V( C ltxtable longtable和tabularx的结合体! C# A3 c3 t7 ?7 W
array 各个表格宏包都依赖于它
) f) z- o1 u: y5 x; H* tabu 命令简单、功能强大2 C, y7 I7 a- X
5 x. z/ J# Y& g+ S+ b1 g ?/ U* c二、输入格式及说明
5 J8 P2 D+ B% L# e- \5 X1、一般输入格式
; ]# \. b( `4 M" o6 Z& h" `( j$ |' B\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
- Q/ N! n9 @6 X & & & & \\) d7 v3 n# K. t/ l
\end{tabular}) L& Q9 P0 {4 N j, ^ j& |) S* T
4 w- o( B8 e# C8 ?# H2、一些说明
! o+ q+ I: A1 f/ G) X% j(1)特殊符号:! D! M! e9 ~. L% F/ b2 N; F7 E5 X
\\ 表示换行8 R1 z+ I0 R0 Y# I4 E; T
& 表示分隔单元格
8 Z4 \0 u( x/ h0 \% {' i& w2 G
$ n& s2 b5 K9 n- w: j, q, I9 h. N(2)垂直对齐方式: s0 v- o9 Q9 r$ m. r. K$ j) Q4 X
t 表示按表格顶部对齐; O, z9 C8 E) y: a+ q) ^
b 表示按表格底部对齐
2 q# Y7 Z! B. Q 默认为:垂直居中,非t和b的参数都看作居中
6 Q! Z/ j( O' R6 c
* l7 O: P. [- S(3)列格式:' i# b" E: ]# \8 p5 d8 g) w/ ~1 a
l 表示列左齐 (小写的 L). z- n# K" L9 [/ B; _
c 表示列居中对齐+ Z- r9 L2 w& D9 w3 b* a, M
r 表示列右对齐
: }3 u; Z0 x9 t9 R9 t) [1 R, F1 P/ [' i$ E7 H, O1 \7 p0 v8 G
三、单元格的合并& k' X$ c m; ^7 X' e ^' F6 X6 j
1、行内单元格合并命令
7 b! V3 {1 }( l9 w+ L\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 / U! ^7 }" T! h, r7 a; G
$ x, O% g [! Z$ v& V(1)基础模板:
9 o* e3 k; S+ z: F( M% T \begin{tabular}{ | c | c | }3 i; J5 z( X4 R, p
\hline% n0 q/ x, v; ^ m" g: d
\multicolumn{2}{ | c | }{成绩} \\
; R7 J6 r* N9 @' C+ b \hline
, H0 |* J# T( T. d T 语文 & 数学 \\ \hline2 Y, X/ Q4 H- Z. G0 m; l5 V! _
100 & 100 \\ \hline% G R9 ]; u8 j7 l( @' ^4 n
%阿汪先生的博客
1 r0 ~( m; C" T6 E4 l. c8 w1 p" P \end{tabular}( h; h4 R/ X5 V8 z! Z; S5 [/ O6 l& J I
9 x3 ~& f! a, y! p3 k
(2)进阶模板:# D% g/ O" Q* ?: a& R
\begin{tabular}{ | c | r | r | }1 A% l Z/ w# A% v& o
\hline/ P* N$ Z. c9 ~+ M; G4 P3 |" d
&\multicolumn{2}{ c | }{成绩} \\# f9 u1 p- U: Y$ G
\cline {2-3}
. z+ U. m2 l% ]3 ]3 @ 姓名 & 语文 & 数学 \\ \hline
$ d! m0 F3 K& c z+ c" z 阿汪 & 93 & 97 \\ \hline 3 l9 x4 q& q9 g& g
%阿汪先生的博客( @8 K, }6 i0 u- u2 Q
\end{tabular}9 a8 \' {) n: ~+ [5 X3 u
0 s2 |1 L( b% O6 Z, h
语句技巧:画水平表格线需要指定线的起始和终止列号。3 `4 |7 J+ I0 C2 A( t" K. l
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
+ x6 E- }! W* y- J& C9 k4 a8 ?& f# a8 m
2、列内单元格合并命令& Z: I+ A8 J f( h( X$ K
需要用 multirow宏包
0 g t+ a6 @& Z8 p1 }0 g. |\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行6 i7 y6 u7 X9 T; a4 d* @# e
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
^0 ~/ r6 B7 L1 c
' L3 s8 b n' q, Y基础模板:
% q, ^% k+ \' q# f%导言区 \usepackage{multirow}% [) L: v% q8 f; _1 |6 m
\begin{tabular}{ | c | r | r | }
- f; k. o: R( [$ K2 _5 f9 t \hline
" M( g w/ ^; ]" N( p \multirow{2}*{姓名}&
' }: p3 I2 b6 J/ c1 v& V0 a \multicolumn{2}{ c | }{成绩} \\4 R$ V" a1 k( P1 p; h) l% I
\cline {2-3}! E4 I( A# ]7 e
& 语文 & 数学 \\ \hline$ ~8 Y+ T: M7 s2 y0 ]3 ^
阿汪 & 93 & 97 \\ \hline: f2 \ j2 Z9 l+ |0 n$ c
%阿汪先生的博客
5 u$ X. u' c" H" |; s( K! e4 } \end{tabular}
5 r. l! N# a" v% V( r1 S( L
3 a4 E1 M& q0 T2 X* K4 }) W0 k四、特殊表格
; @. I4 }4 Y; r! u2 o, q" t! {1、定宽表格—tabularx
+ ]& o0 g- N2 s4 U1 s( }" s(1)注意点:
3 Q* t& e4 ]3 }) x tabularx宏包提供tabularx环境4 x/ P2 I5 l, Q# y
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。6 N. @% Z/ j: f9 P ]1 h
/ Q- a# b+ ?3 y(2)使用示例:
f( y: q( C G# G1 C%导言区 \usepackage{tabularx}* ~2 T4 X7 J" Q/ K9 w; g! P H
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
/ G" C, s/ K: H8 k# c \hline' E: X7 o& R3 I
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
0 r7 g+ C' C3 y u8 G5 ^' i 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
6 k& c. c0 `( \% i %阿汪先生的博客
1 }* b1 ~- J) d% ` \end{tabularx}; x1 s+ C1 R3 a8 e* |
) p0 ?5 v: `6 s$ J
2、三线式表格—booktabs
# u. s& G8 ~" { U b(1)booktabs提供了如下命令:
# h* P1 P c, l7 ` \toprule ,画表格顶部粗线。
/ S3 h9 X7 I' O2 Y( ` \midrule,画表格中部粗线。7 R2 k, C L. y% D/ I3 l
\bottomrule,画表格底部细线。0 A1 K6 S8 E& b$ p
\cmidrule 与 \cline命令相似。9 d: r2 x1 Q' r+ Q, W
& t$ S" G$ E* _) a$ M, [7 w: @(2)使用示例:. Q. U1 Y( N! g" N) d/ [
%导言区 \usepackage {booktabs}+ ]# E. }. j# A0 {
\begin {tabular}{c c c}
0 V$ U3 v9 z; V* R% h& x \toprule" ^/ U& o$ T) x
姓名 & 语文 & 数学 \\ \midrule
& f7 I5 P. C8 N% m4 B 阿汪 & 93 &97 \\ \cmidrule {2-3}
; R) C( F3 D/ W: D: u* p, | 阿喵 & 98 &92 \\
; J5 V5 b+ a; j \bottomrule
v% q/ c, q8 g8 L& D %阿汪先生的博客
4 @0 J N4 g) v# n, L" I\end{tabular}6 N+ _5 e; f% [& O ]
v# h0 Q3 f3 z7 v五、常用表格参数的设定3 f2 e3 I& e4 z, T5 G$ w: l: ]
1、表格浮动环境1 m0 c* }/ ?$ Y5 z! N0 J! S) r
控制表格(浮动)在本页中的显示位置需要table环境。
. t7 I1 R' J& i; {8 y位置参数有htbp四种:here 、top 、bottom 、float page。+ J1 X1 b: K! \; F2 f
table环境中可以通过 \caption 命令表格的标题。( t! |/ c2 }% S7 W1 D$ b4 d
" {$ g; E0 L' q) ]' Z) V(1)位置参数htbp释义:
5 {! M- i2 t3 ]& Z }here:在输入表格的位置排版! F6 |- F4 h3 q$ A
top:在输入页面的顶部排版, O( c; V" l6 x& f2 O+ Z1 a
bottom:在输入页面的底部排版
# c- D% I; p; Z8 s2 e* Ofloat page:在单独的浮动页面排版+ j4 f! k% W0 z* j' ]
(2)使用模板:. }6 x6 i3 H, }$ @- j
\renewcommand\tablename{表}" ~ _0 q3 B. k% u3 N
\begin {table}[htbp]
. U3 a% k2 t4 I- K \centering \caption{成绩一览表}
+ C9 b* W3 y9 r3 t \begin {tabular}{c c c}
1 \, Y5 s6 M( d% z7 G8 u& j \toprule
2 `! Z, t! X, Z4 w- y1 N 姓名 & 语文 & 数学 \\ \midrule
# g: b; I' k& g: ~" w 阿汪 & 93 &97 \\ \cmidrule {2-3}: Y8 n+ |; _! g) Y L
阿喵 & 98 &92 \\
6 }$ V" @3 A+ z: F \bottomrule
. `( r: `. v a) a- F# A \end{tabular}
0 a- _) U2 P1 S! d/ {$ A %阿汪先生的博客
9 E/ [+ K ~5 l8 X9 u7 b \end {table}
, K& W' p" N2 z" d1 r, T' ?3 `0 ]- Q/ N. W
2、功能强大的tabu宏包
7 u) N$ J+ o7 s8 p. p. T(1)tabu宏包提供的基本表格环境
+ U1 C/ `3 A$ n\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
5 O3 u; t. J, h% Y8 m3 O- N/ t\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}9 |1 S N1 l3 u1 q: |& K4 A- r' D
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}2 [7 c: s/ M2 \6 X& b
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
5 }2 [1 q7 |0 C( y2 A(2)画线格式
4 o7 u0 X k( \- Y- J tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。 r$ F% Z; S, F2 j3 A
\begin{tabu}{|[2pt]c|c|[2pt]}4 c" ^" w! E% A0 Y( s3 ], V5 O
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
, g" t" L, V* M1 s i! x {-}指从本行起到本行末尾画一条横线,4 s9 C, o" L5 L
{2-}指从第二个单元格开始画线至行尾。
( c4 O# V+ A0 }3 \8 q/ |! ?% x( y! D& [, ^. F
(3)单独设置一行的格式$ r8 [2 c9 F! V. n: E
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
0 s! v' |8 p# D使用示例:
% M1 l R: G2 G& I6 z7 [1 b
& Y& q' [& g. k- p- D4 g# r% q\begin{tabu}{|X|X|}
3 |7 `% K5 {% O \tabucline- %“-”表示无厚度等参数
# D3 a& Y. t# C4 J \rowfont[c]{\bfseries} This & is \\ \tabucline-
" r0 R5 y; }" ]+ e Z" i$ [ for & everyone \\ \tabucline[2pt]-4 a# ^3 S5 L$ c; Q5 n
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- 3 S: ?" ?5 I4 P0 z
%阿汪先生的博客' C+ b) K( o; F* T, A
\end{tabu}
1 r7 q H: T. P* I8 e- R
2 C4 d7 }" |* x. p& q4 m! d(4)其他操作: r, d2 o6 V$ a
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
- `$ l9 O( K% Q\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。+ ^0 X3 O. N' G* ?, X5 ]+ T
使用示例:; v( W* g" W* {4 w
\begin{tabu}{| X | X |} \hline& F6 k% \3 I( Y0 n; P- G& T
\multicolumn 2 {|c|}{Hello}&World \\ \hline
0 ^& D, A% P- D, g: S5 s, m% S\tabuphantomline %阿汪先生的博客$ s& f0 p% S. u: e4 v
\end{tabu} %表格中不能有空行% |- [- r& Y! n- l
% Q$ S& X+ W5 U& y0 h/ ] \8 ~————————————————
$ f% D' @4 @# s版权声明:本文为CSDN博主「阿汪先生」的原创文章。
' @. V- h7 @4 C8 o% }+ R# A原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
) N4 Z" {" L( j, N8 ]" z |
zan
|