- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55510 点
- 威望
- 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 田老师国赛冲刺课 |
一、常用的表格宏包1 z8 X$ A; l) l) G3 j& s9 \$ `6 d
dcolumn 对齐小数点" \& X" i' S8 V% R- U
makecell 单独控制单元格格式/ C9 T0 a% Y3 m3 {. b
diagbox 对表格进行斜线分割4 m% `$ I! x6 V2 {" s2 X
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
3 n. ~; V7 k6 r& F& L ltxtable longtable和tabularx的结合体# `* ^3 q1 Y2 }; m" i
array 各个表格宏包都依赖于它) x- P, x) m. ~# V# v6 I
* tabu 命令简单、功能强大# C1 j% _0 |( e! \0 W
! ~# e3 O( p# p/ i0 ~8 q2 k# z1 ~二、输入格式及说明
1 O9 d3 G* F0 X8 y1、一般输入格式
0 V) j# k( f! M\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
: W X! |3 n( S & & & & \\
$ t' A0 ]' \4 e, [ \end{tabular}
- T2 b9 x, m. S# S: ~% a
9 ]$ b, T- }- I# |* x1 K" n2、一些说明0 A9 _9 o# o7 n* Q% H |
(1)特殊符号:
. I; p- q0 P' ` L- y& z \\ 表示换行
; y5 s3 E3 u* q: G & 表示分隔单元格
4 B0 h) g* G% V: T. {! i
" y3 h& w: q7 p5 O' _0 y* a(2)垂直对齐方式:- e% v; U0 j8 q. q, [
t 表示按表格顶部对齐4 M9 f' \' }0 N. g
b 表示按表格底部对齐% X1 j( S! A$ h) T( t9 ]# Y1 v
默认为:垂直居中,非t和b的参数都看作居中
( I" E2 C8 _+ A. ~; g# I. ]1 p5 k6 K3 k) L, z" D
(3)列格式:! B8 ~+ |$ M$ e7 ]& @
l 表示列左齐 (小写的 L)
% O+ Y3 y# r7 [ c 表示列居中对齐
- y8 v9 e4 o# i+ ~0 d2 l! k' Q r 表示列右对齐
6 _+ u7 K9 R# n( J8 g. f4 C$ W% @9 E% X* s9 X9 a, g
三、单元格的合并
) R6 d3 h/ P4 a, m. v9 e" }1、行内单元格合并命令1 I) C+ A" V3 R/ b9 h+ |1 a: x+ i" |
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
5 g- |* N: O) \- u/ }7 |/ F+ G' f- M2 m5 F8 S
(1)基础模板:3 M: J0 T7 N3 t Y
\begin{tabular}{ | c | c | }
6 o2 c7 {8 k' ~: K' J \hline
3 k6 g; c1 f! _# _1 k. J \multicolumn{2}{ | c | }{成绩} \\" q; G& G; n# F* v7 q/ `
\hline
5 u8 B+ p$ c0 L& e; J, J 语文 & 数学 \\ \hline
7 Y& x* L! |5 ^7 n8 X5 R- o 100 & 100 \\ \hline
$ Z2 i3 G+ e. n9 I1 E$ M %阿汪先生的博客
1 \7 {0 x6 P) Q% ] \end{tabular}. `5 X- f) i' T; M0 J t( i
; v0 D* |8 [& T% n$ \: j% H
(2)进阶模板:
- j1 @2 O1 `8 f, I3 d \begin{tabular}{ | c | r | r | }
5 W+ l) l2 m+ I/ ^. J6 _$ D' u \hline
+ J+ w0 |3 [1 h$ ^, l# g. B8 | &\multicolumn{2}{ c | }{成绩} \\: p6 h8 C9 w) S1 \; P
\cline {2-3}
$ {0 D, @- ?3 G% I( g4 p/ o: T 姓名 & 语文 & 数学 \\ \hline! x; b& D# \; z6 U" F
阿汪 & 93 & 97 \\ \hline * J! R3 k; Z7 C8 Z
%阿汪先生的博客8 S$ `- S/ w) a! K7 Q
\end{tabular}
. |3 E0 t* u( s1 A: I4 j; e4 j, q : m; W2 T; [* ? u, j; i, c1 [
语句技巧:画水平表格线需要指定线的起始和终止列号。
4 b3 r0 Z0 v6 U+ y% u P% Z# j( J用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。0 ?: T8 f- H; {( D, O1 S
% ?9 ?3 `4 H1 j: C3 U8 y
2、列内单元格合并命令( H) q# d/ T) r$ v% [2 u
需要用 multirow宏包
$ k7 Y: V8 [- o" S: e\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
; j6 ]7 p Y% g9 ]" m6 T y\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
' v3 ~4 w4 q0 G5 U0 {0 C, Z
- p' {, K8 z0 ~基础模板:7 K* h6 ~. j+ f* H' X! ~% g* \
%导言区 \usepackage{multirow}
P( u8 v9 o! V \begin{tabular}{ | c | r | r | }" T# u$ h* k4 q! m% l
\hline
}* j3 O. I+ Z/ F- n# ?4 h \multirow{2}*{姓名}&9 T' P# b. L2 D* E% Z Y8 ~
\multicolumn{2}{ c | }{成绩} \\1 a6 `9 \3 ~0 h
\cline {2-3}
( _' J' z) d; {$ N% H; ?- G & 语文 & 数学 \\ \hline
: ?" ?3 L9 K" v& p f 阿汪 & 93 & 97 \\ \hline% z6 T4 f+ Z8 p. E7 y/ ]
%阿汪先生的博客
( e) Z1 R/ }* h% q3 e \end{tabular}
4 T9 X' |2 c/ X' c4 i2 o+ S9 \' G: f4 [1 s& s. N4 m
四、特殊表格
" c+ A+ M! q9 I% @7 K/ j1、定宽表格—tabularx
$ ^2 P/ @) \9 `+ s3 G7 P! I(1)注意点:/ o9 N! Z6 m. l- R A) v
tabularx宏包提供tabularx环境. A1 X' M! i M& u# s
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
1 ~5 }1 o M: t9 O3 D
) A3 w, y. g2 B$ h2 N5 e(2)使用示例:
5 a+ C8 F% S- O8 ]%导言区 \usepackage{tabularx}: l- a) p: V* W+ k5 q& z9 s4 h9 [1 B
\begin{tabularx}{400}{ | c | X | X | X | X | X |}; x* I' k% g3 \1 m& d
\hline% V/ p; P" a& i }
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
H8 r# C! W) H4 [6 ?* c# |# O 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
$ }0 W u7 x; J. f %阿汪先生的博客+ {- n' `( Q. o& y$ w' c
\end{tabularx}* j6 }5 Z' N% b' i! N- E8 N
8 C- p+ t( t8 F6 C3 M$ x
2、三线式表格—booktabs
+ i; O( p8 f9 T/ j" d(1)booktabs提供了如下命令:2 _. r$ y# e1 v3 [4 ]0 o
\toprule ,画表格顶部粗线。2 P: C8 t# I7 @) K7 G- E0 h
\midrule,画表格中部粗线。0 j) w, ^& |3 y8 ]
\bottomrule,画表格底部细线。
8 N2 W- L1 S- a/ g3 k' O \cmidrule 与 \cline命令相似。
3 k- S0 R: K( F0 I
) y% ^0 d8 C. x' f(2)使用示例:
( \& |# m2 t: x4 C( Q%导言区 \usepackage {booktabs}9 x1 ?$ }/ P2 N' \- [2 a% p
\begin {tabular}{c c c}3 ~0 C Z* ^/ z
\toprule1 @" ?- }3 N# `, v6 |9 ` N/ }
姓名 & 语文 & 数学 \\ \midrule
* i8 S0 k" ~0 Z# ]! J 阿汪 & 93 &97 \\ \cmidrule {2-3}
( l5 v# }( T- s2 Z) j: u 阿喵 & 98 &92 \\
& U6 A& b* Y, C6 w$ P \bottomrule " [' K9 P: y) u k7 A- q0 J8 \
%阿汪先生的博客5 ~4 z4 S5 {5 D0 L
\end{tabular}0 Y2 B/ Y6 m3 E9 i+ F( L! q
+ G6 {' i" i- m2 Y' ?
五、常用表格参数的设定
) [( e1 _$ m, t6 z( S6 A* v$ f9 M1、表格浮动环境
& Y9 W8 H, W7 e' [$ p% m控制表格(浮动)在本页中的显示位置需要table环境。! p" J) D, Q4 S1 e
位置参数有htbp四种:here 、top 、bottom 、float page。
1 h/ n) a. D1 ]table环境中可以通过 \caption 命令表格的标题。
, `' r7 |# A4 N9 D t+ T5 l1 v6 m- @. O% X/ D
(1)位置参数htbp释义:" Y9 v6 {* u# k' I0 B) a
here:在输入表格的位置排版
) }% V8 T* u8 d6 t- p' d& [top:在输入页面的顶部排版9 C0 d; b: L4 f
bottom:在输入页面的底部排版
; v* q: |/ A& d0 E) p, G9 \' }$ k! Sfloat page:在单独的浮动页面排版- ^' h" H( `8 U
(2)使用模板:
% x1 N6 O/ h- Y* u\renewcommand\tablename{表}
" _3 z6 ?# ?$ U2 H U9 g+ ~3 P \begin {table}[htbp]- J9 \6 }) X: s) D6 ]& D' P' k
\centering \caption{成绩一览表}
+ m) ~& _5 s; \ \begin {tabular}{c c c}
8 F% R* R" K" o4 V \toprule 0 m- E7 R6 E3 s0 X) w3 A0 M# I/ u
姓名 & 语文 & 数学 \\ \midrule
9 H. D; v d7 E+ g; } 阿汪 & 93 &97 \\ \cmidrule {2-3}6 a; u! @ q% B# b K6 K/ \
阿喵 & 98 &92 \\
9 \9 J9 k- `, q. n/ X \bottomrule7 _. l+ [& ?( X6 T E7 N+ V# ~
\end{tabular}. r- q* {* {+ D. u% ^
%阿汪先生的博客
! g- U6 e7 x% B' T ?/ a. j9 c1 a \end {table} / y3 g. S; k" v; [' l* C" P" z, l
8 D: M2 O: `! l2 H; h2 L4 q2、功能强大的tabu宏包
) [4 H/ V* Y5 Y* C4 R3 z5 f7 W(1)tabu宏包提供的基本表格环境+ A6 y g/ n5 ~0 S
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
3 S* z& D) m; N }: _7 z( m" [\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
) E' k' b) h v, C5 i\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}/ e$ C8 o! c: d$ V% Q0 _
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。0 M- ~. K1 b5 J) P7 N" U6 p% y
(2)画线格式
; S7 i6 O' |* V0 Y) y tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。8 a8 P" K" u; F C5 H4 D! I9 c
\begin{tabu}{|[2pt]c|c|[2pt]}% W, l( `9 Y& o6 }
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
% ]! g9 u" W& x {-}指从本行起到本行末尾画一条横线,2 H$ g0 \' z* _) c
{2-}指从第二个单元格开始画线至行尾。
2 K3 {# e% D9 q4 Z- p4 f$ S& q$ r6 R8 z$ p$ n2 i6 P6 c! X) V
(3)单独设置一行的格式
$ F, K. i7 X+ ^: h. I \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
. H1 q7 C, |* P( E2 b7 _使用示例:9 {. Q* H( v, r
1 u, o/ F! c! J- c
\begin{tabu}{|X|X|}# C, ^, x9 A# s! N [
\tabucline- %“-”表示无厚度等参数3 X0 F- o3 k7 O/ @/ K2 h
\rowfont[c]{\bfseries} This & is \\ \tabucline-
: h" J4 \' ?, A& n. C for & everyone \\ \tabucline[2pt]-) x9 I8 y7 f5 u3 V2 w4 i* d) I
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
G. J9 J7 i4 |; ~- [7 S %阿汪先生的博客
( C2 k* S. w" k( e9 Y\end{tabu}
* f7 u; R# W* V% b/ w1 { j0 J9 P$ Q9 U) ~5 n4 l5 K
(4)其他操作& t" N" w2 q# S$ k4 J" c- X
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。0 l" R3 k8 k5 B; j* h
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
3 B$ J" x3 c4 h" [- ]3 K: ?& T使用示例:2 y7 w: }: e7 _$ g8 Z! b
\begin{tabu}{| X | X |} \hline
. \, O z' m- c1 P5 u\multicolumn 2 {|c|}{Hello}&World \\ \hline0 v$ S6 _' W3 v' {" P
\tabuphantomline %阿汪先生的博客
8 e/ ~) G" E, S, x$ @, J\end{tabu} %表格中不能有空行
2 ^+ [: H' {( p9 a8 R _; Z/ b7 i, R# _) ?
————————————————
% ]6 @2 b) r6 E0 K2 R版权声明:本文为CSDN博主「阿汪先生」的原创文章。' W U( W: w3 y( ^1 |, T' m
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
, Z, f5 o* m% P R$ c# D" g5 z( k1 P7 ~ |
zan
|