- 在线时间
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
% F' o! t- E" D/ A8 k* v dcolumn 对齐小数点+ s4 Y3 {8 n& v* s* W. P$ j- v1 z
makecell 单独控制单元格格式
! }$ y, D9 u1 K) E8 Q) E$ h diagbox 对表格进行斜线分割& o3 J% [# M; Z2 z7 U0 C, C+ r
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
/ `6 O: U. g6 L9 m ltxtable longtable和tabularx的结合体
' b- d7 e" k8 h! ]: m4 C5 a array 各个表格宏包都依赖于它) i' q2 ?8 f2 \
* tabu 命令简单、功能强大. C2 Q6 o* w7 q8 U' h3 R; s0 n; n
, E# ^/ _- r& K; x C% F* U7 X二、输入格式及说明% u; j+ V, C" t# h3 ~( L, R; ?4 b8 m
1、一般输入格式
9 t4 `0 y1 E3 a! o4 L" o\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
8 {0 G+ H c8 |# B & & & & \\
6 v4 B* W1 {2 q2 {3 c \end{tabular}/ U& K7 M4 @* }% ~1 r
& Q: r. l' |) O. V
2、一些说明# j% _2 t. \: T+ k, a! u: }
(1)特殊符号:
# i7 v$ ~3 |& M+ d7 r \\ 表示换行
& Z( N" u, N& V' G, M% D0 x & 表示分隔单元格3 C* O2 s% `8 H8 D
0 \! c! F$ o0 g# h2 I4 ?3 S
(2)垂直对齐方式:
+ b4 a% c: l6 b t 表示按表格顶部对齐9 X* U {9 D) _0 t3 M0 S3 Q
b 表示按表格底部对齐4 Y8 P+ i; E% |
默认为:垂直居中,非t和b的参数都看作居中
$ ^$ B4 v0 S0 K/ q8 K+ e" Z8 I `8 l
(3)列格式:# a7 {; \% ?9 u( s/ }) S
l 表示列左齐 (小写的 L)* X) c$ E* y! Z. q. G9 g z
c 表示列居中对齐8 B% B( g5 E9 D2 q1 S% ?
r 表示列右对齐7 ]; B9 L: n! x# X1 w6 E! `
! L3 L: }/ B0 h8 F/ k' [
三、单元格的合并2 c* }( k X4 Z; m8 X( O
1、行内单元格合并命令8 z9 R* B8 \/ O% I/ q& q9 {3 _. }: [( ]
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
4 L* O' {/ G: s L- ]) A) } G8 N! L( u( l H( e
(1)基础模板:* }4 f9 ]7 I; W7 B& [0 N
\begin{tabular}{ | c | c | }
2 z0 v z% M. A% l. g8 ?4 V' e9 @ \hline9 ~5 d5 {1 P3 C5 A. E
\multicolumn{2}{ | c | }{成绩} \\2 W4 N1 B0 E0 |4 a& \( l
\hline
$ E, o1 p( ]% B5 q 语文 & 数学 \\ \hline
. l% z) o+ h2 O# s, s' v% Q% l 100 & 100 \\ \hline4 Z1 ~ j2 G1 @/ V8 ?
%阿汪先生的博客: a% i" Q" r6 T
\end{tabular}& m0 M8 F& _2 x N
: Z) q4 i* W9 B4 a0 Y& }/ i3 Y
(2)进阶模板:
: m% S) B z6 P \begin{tabular}{ | c | r | r | }
# |5 J ^: Z) o, K2 a \hline7 v6 x" v$ O2 c0 a( d* [
&\multicolumn{2}{ c | }{成绩} \\
+ j; h- c7 l8 |2 w$ B0 ~4 r \cline {2-3}
8 I' S* _4 I9 g+ W. D6 { 姓名 & 语文 & 数学 \\ \hline
) G/ K3 [7 t" `) Q 阿汪 & 93 & 97 \\ \hline 9 B+ F7 D8 W5 ~7 i5 }
%阿汪先生的博客
" f6 A/ H s! ~) ^ \end{tabular}9 B. m" \2 h8 B& d* Y
9 `4 ]8 }# _# @" l: @9 s语句技巧:画水平表格线需要指定线的起始和终止列号。9 L/ B& \. d& n9 t% i
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
: t+ M6 w6 u" i$ \
6 p2 U+ d' B) b9 E/ G: n( m2、列内单元格合并命令! ~4 F. a, U, s" N, Z! n: W
需要用 multirow宏包: [* |- n( q9 R( |4 d1 Q
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行4 @ N/ ?3 x8 Z3 T) n7 t7 H
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
: k" g4 b) f5 d2 E2 q% s5 c
! z* D; H6 M# M5 L3 o7 H. _基础模板:7 F+ `. {2 ]: A* ]) x" a
%导言区 \usepackage{multirow}
4 G2 {) D6 s6 {- L5 r \begin{tabular}{ | c | r | r | }/ T& i/ B! S: P
\hline
7 f1 ]+ ]$ V& r7 J" M8 F& A \multirow{2}*{姓名}&8 `; O& g; n% a- C% Q" e
\multicolumn{2}{ c | }{成绩} \\
8 P9 V! b5 x( r3 U8 G# N \cline {2-3}3 n' C/ G# R+ z" h2 {7 s1 X
& 语文 & 数学 \\ \hline( o+ V! a4 G, f
阿汪 & 93 & 97 \\ \hline' x, f& @. c2 G# _3 u- F. r2 @
%阿汪先生的博客
; I7 D) Y. [: V4 m, n2 b \end{tabular} H( h8 P6 N' Z
$ W) \% T% F- Y, B$ z, u
四、特殊表格
8 r- `& ^. O3 f) j: L1、定宽表格—tabularx, f- S1 v3 [5 N
(1)注意点: H+ F: j$ C- c& q5 ~) O' y/ H
tabularx宏包提供tabularx环境$ a H# @2 }5 Y8 M% f& }( O5 S9 K
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
y, b- R8 B+ G: J" H& Y8 J2 x1 a7 U) n1 O$ y
(2)使用示例:
+ ^3 j, l: |, O& O5 X%导言区 \usepackage{tabularx}, b. X8 ~* G3 C; O( `. I' e. k" N
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
$ |# j9 W4 I1 C% T \hline" [5 l; |- P. [9 ~
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline9 O, A( C; D' }* S: T" o
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
% ]; J. p& q3 { %阿汪先生的博客$ `& u8 C% P, Y$ `2 Q: G
\end{tabularx}
: ?4 P, L$ Q. T M$ o; _: R; B+ P5 A
, m* ~: q7 A4 b- }/ M2、三线式表格—booktabs
$ A( l3 K4 c. _" D(1)booktabs提供了如下命令:
$ ~5 d$ D9 @! C J5 K! L( X \toprule ,画表格顶部粗线。
; h3 L$ W) G' T \midrule,画表格中部粗线。- y% z7 |; z' l/ b [' m
\bottomrule,画表格底部细线。
& y7 F6 X2 F2 ? \cmidrule 与 \cline命令相似。) J% O7 ~1 c: g, I- I8 x" O
* `4 v2 @8 i1 Z% j: q7 ~( t
(2)使用示例:
, I0 z3 i& M& w. f$ E" Q%导言区 \usepackage {booktabs}
' _# n! ~& ^# f \begin {tabular}{c c c}
* ~. ^4 g- E" u: k \toprule4 e* @6 g( v% K; Z
姓名 & 语文 & 数学 \\ \midrule6 s( c0 B w I4 q* Q; F$ `
阿汪 & 93 &97 \\ \cmidrule {2-3}
7 l0 @: P, h7 ^ 阿喵 & 98 &92 \\
3 {6 k& b( h8 a( {% U; q \bottomrule
+ x' R. g3 E: n4 t$ n %阿汪先生的博客! D* a$ y6 Z8 G) n) L, y+ A
\end{tabular}0 `$ d1 f- ^- b( Y r& Q7 ~* Q' j% t D
' C* A' N( J! b* s' L
五、常用表格参数的设定3 U4 J, |7 G# z0 [
1、表格浮动环境7 ]; K; i/ }) r8 q7 j+ m G
控制表格(浮动)在本页中的显示位置需要table环境。3 ], g% k' y9 e, M7 E7 @
位置参数有htbp四种:here 、top 、bottom 、float page。
* n# B" X# P0 F1 Q/ c7 Z6 ltable环境中可以通过 \caption 命令表格的标题。" F. d4 D( s. x L1 c
& X0 A/ R/ F6 n8 K(1)位置参数htbp释义:
1 X( Z! u1 s/ `% u* G0 \here:在输入表格的位置排版& t4 Z2 L, } L' Y
top:在输入页面的顶部排版
3 u7 G' i4 A U% A8 O+ m0 `$ Jbottom:在输入页面的底部排版# J% A2 |. ]1 s. J. W" s, M- s1 f6 \
float page:在单独的浮动页面排版$ ~9 ^2 k8 z- }/ J* Y, m( v: O9 ^
(2)使用模板:
9 k+ E4 F! A1 t- R% b2 {6 C k\renewcommand\tablename{表}
: K; b* w L5 j5 J \begin {table}[htbp]
1 C3 D' H( V4 r( E' y \centering \caption{成绩一览表}
. P1 P. }: a- q* j \begin {tabular}{c c c}
) r0 D, K& U$ t2 k* h( E \toprule . [# F R3 P, R, s# Z% R
姓名 & 语文 & 数学 \\ \midrule1 A% q/ M5 |. h p
阿汪 & 93 &97 \\ \cmidrule {2-3}
. J6 @8 Z* H5 s8 X' _/ u 阿喵 & 98 &92 \\
, g4 L/ z0 g: \* l \bottomrule
4 h* h4 Y- I* \ \end{tabular}
5 ?4 k; h/ {6 Q- R8 m* \2 m %阿汪先生的博客
3 U, A. M" O* v3 I: U7 |/ S) N \end {table}
' u, H5 L4 i; N# z z+ p0 o+ e
( U) K5 B8 Z0 O4 Y7 ?2、功能强大的tabu宏包. G- I. G% j+ u3 }; ^; ]
(1)tabu宏包提供的基本表格环境5 b6 O+ N S# b/ M
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}2 m/ j l. }- Y. f' H
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
# d6 j8 ]% F/ c# g\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
! N; P/ c8 R, C& I8 U, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。# m$ I6 c6 w2 F d
(2)画线格式% {" D' E; Q9 {: P% G
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
& G. [" P- ?; ] \begin{tabu}{|[2pt]c|c|[2pt]}
3 W `4 t; M& i. E3 V5 p7 ~ \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
# B$ [6 q. Q( j: d, h {-}指从本行起到本行末尾画一条横线,
. @. w! T; p, p {2-}指从第二个单元格开始画线至行尾。1 A4 }3 r A, ~) S" J: b( S
* l: _% } ? H! g9 n$ g$ K(3)单独设置一行的格式+ ~1 Z, t9 M4 `! Y% i
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
7 M- l& A& h* s' U# u' n2 F0 X% `使用示例:
; k, h, @: O4 P$ Z: N5 n- D/ f1 C) t% B% ~$ k& v
\begin{tabu}{|X|X|}, I+ z; l+ x% a+ m
\tabucline- %“-”表示无厚度等参数
) i% v5 D! S0 p3 _ \rowfont[c]{\bfseries} This & is \\ \tabucline-
7 E5 R6 `% a! S for & everyone \\ \tabucline[2pt]-
u( ]. {7 X6 l. I/ z" ?3 g1 b \rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
, m4 @8 l( w" O( V9 w, d, \ %阿汪先生的博客: D) l& v5 v% ~) s2 h
\end{tabu}
- O( {8 D. ~9 @* L
) g) \( e$ L! z' t(4)其他操作
. _5 L$ _, {" B. ^ F5 U在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
" B8 j( q% K3 U9 b' v) Y\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
/ A2 e( m- M1 R1 J" F v' ]使用示例:2 q) ~! H8 h; J, @4 P2 n
\begin{tabu}{| X | X |} \hline
, p) X9 m6 z% P, E* N+ i g5 e\multicolumn 2 {|c|}{Hello}&World \\ \hline
6 Y+ y: A7 S# K; G\tabuphantomline %阿汪先生的博客
7 Y/ J$ Q7 {2 u0 {5 Z9 f1 I; `1 m\end{tabu} %表格中不能有空行
2 \3 F( `7 n& J. v
. Z7 H# n" O% A- a/ t* F————————————————
4 ]0 Z \+ ~! P, q版权声明:本文为CSDN博主「阿汪先生」的原创文章。1 j" U( E: P7 a
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
& j3 I' ~0 r8 w3 Y9 u- H0 v- f |
zan
|