- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55543 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17614
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包* e: p# K: V0 R. {* Z7 f
dcolumn 对齐小数点! ]1 }' C, I2 f3 F/ z5 m5 F! V
makecell 单独控制单元格格式! c6 M& B, O' q: m2 q6 K/ C. U
diagbox 对表格进行斜线分割) N* Q! U5 ~- }2 z
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)9 a! Q6 t+ m* r/ v9 S, u
ltxtable longtable和tabularx的结合体
& c h9 b& V3 C$ r) N8 K1 i- C. z array 各个表格宏包都依赖于它$ Q8 ~) n- a- c* |+ \5 U4 }$ Y
* tabu 命令简单、功能强大
6 o0 z. l/ v3 B4 p& T' X7 P b, c5 K1 {
二、输入格式及说明
% V7 |$ @* J% _2 |1、一般输入格式$ z$ u- [' F* J+ n! r8 ~' e6 @
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}6 g7 d* G1 `+ T" n( l2 G! c
& & & & \\
: B& L! \7 M/ Z L \end{tabular}
5 G( ^- h* e% x* m, \ H7 K! J! L% G( C$ p0 @$ K2 R7 d I- R4 M
2、一些说明# [4 Y- ]/ K k8 P8 {5 _$ ^
(1)特殊符号:' ]4 ?8 ?4 N. t+ h
\\ 表示换行
3 G2 w2 n7 q8 S( j, \) K. o! C9 M4 |$ ~ & 表示分隔单元格5 d+ w# A2 k% q
. ~. V9 ]% x& p- z5 A' r(2)垂直对齐方式:5 r' f; Y+ F& V7 w/ [+ R
t 表示按表格顶部对齐
, U8 Z4 g+ [# C5 l+ _: f' m b 表示按表格底部对齐
. J# J$ _4 \; {9 ]3 `( W N 默认为:垂直居中,非t和b的参数都看作居中4 Y F& {& D& q& u" Q2 Y) U4 [& B
8 `* e) Y5 o! L& F
(3)列格式:+ Z2 S) l9 _! y8 ]; Y. A4 v, H
l 表示列左齐 (小写的 L); d) Q- G! [! r
c 表示列居中对齐* k! V9 ~% q, n9 s
r 表示列右对齐
( n5 j' ]8 t: w6 c* V. V4 T9 z, p) x& |: s1 }
三、单元格的合并
% v5 P1 E9 y8 o/ b; g1、行内单元格合并命令3 i' m6 J1 z2 J% S
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 ) r N+ Y/ N+ h- v* Y' K3 L$ g1 G
+ L# i9 q t, g
(1)基础模板:
# k2 p+ D$ [1 g }# | \begin{tabular}{ | c | c | }
3 F8 t2 W. p; d6 ?. u _) b \hline
, Y2 R5 B6 V; _ \multicolumn{2}{ | c | }{成绩} \\
: g. T3 B% f7 y+ n, l: r* p% t \hline
( x. i4 ~- d" u/ p! [. l' w 语文 & 数学 \\ \hline! ?5 b; `. S/ h
100 & 100 \\ \hline1 {% w6 Z) v2 E8 _) u5 e- g
%阿汪先生的博客 v o3 C1 ^" z( e) i/ I/ S
\end{tabular}6 }# M7 l4 g! c; P* \" ^
! `* B- @$ _8 b3 d2 |+ w( I* r0 J
(2)进阶模板:3 l3 r* G7 m* L6 f9 A
\begin{tabular}{ | c | r | r | }
4 d' J. a7 `: K2 |5 h1 D \hline
5 T- e3 I$ {" C &\multicolumn{2}{ c | }{成绩} \\- N$ s& f; W6 K i# D
\cline {2-3}" o6 r3 _4 \! x3 L8 t
姓名 & 语文 & 数学 \\ \hline
1 @: N; K. \; C- b+ G 阿汪 & 93 & 97 \\ \hline
$ }$ g- a$ N0 r' F. h %阿汪先生的博客5 b. R9 z( s% a) J' l0 h" k; d
\end{tabular}- |3 |7 U4 W& H& O2 z$ w0 J9 x7 j
# ]7 v1 J0 _' `0 t* `# M
语句技巧:画水平表格线需要指定线的起始和终止列号。
/ _5 v+ ^2 c# P# u: _: l4 R: B; I用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
% W3 d, N% i/ q9 ~6 `, ~+ u3 g. _9 z: g6 Y# {' f
2、列内单元格合并命令! w0 j" Y2 s% H% D* |
需要用 multirow宏包* `& P5 w( e% X ^' F& x; R
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行+ A9 |! f- Q3 V+ J
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
, m* O0 m3 B1 U$ `$ R4 w% v. `( ?$ L
% U0 i# r- _0 I% S0 I7 D% t基础模板:2 C3 P8 j; D s- O% x; H
%导言区 \usepackage{multirow}- p4 h9 E+ I0 \4 g) J+ j
\begin{tabular}{ | c | r | r | }( S6 Y' N( c7 H4 }/ }" \
\hline7 o- L; w- C: s* l
\multirow{2}*{姓名}& u! p n5 h. b
\multicolumn{2}{ c | }{成绩} \\
3 Q3 U; z b8 c \cline {2-3}$ a, W1 `+ |$ I( N
& 语文 & 数学 \\ \hline: W( \# _2 W+ b6 Z \2 U* e
阿汪 & 93 & 97 \\ \hline
% S) U$ t8 w" e %阿汪先生的博客
( c* L9 N8 a8 ~! {: Y \end{tabular}* o3 _; C5 U" W) R1 `/ ~
, L4 g# S8 \1 V1 [2 [
四、特殊表格4 O+ l, T- ~& o: Z
1、定宽表格—tabularx; w, A% D- ~% b. e Z% A; Y
(1)注意点:' n0 `, j/ i+ d+ h
tabularx宏包提供tabularx环境
o4 m o6 @% E8 v9 p3 _ X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
) J4 s# }/ d( B4 x& Z; K# z* J# v0 g
(2)使用示例:
& |: [+ l3 N3 r/ D%导言区 \usepackage{tabularx}, h9 e! i! }7 b6 c5 L' v
\begin{tabularx}{400}{ | c | X | X | X | X | X |}, ^7 X k4 c0 E L
\hline' }& r4 o0 @ S' q
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
6 q9 g: J7 n/ S 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline% O; `2 B3 X! Z' @. P
%阿汪先生的博客) L8 l9 I1 O; G) u+ U$ J& n
\end{tabularx}3 i$ F% D2 q" J& c x9 Q0 B
) F6 p! Z8 q* ]& j7 H8 Y2、三线式表格—booktabs
( Q2 W+ T. A/ x& r! V$ T, e(1)booktabs提供了如下命令:
q- {. ?1 w* ?5 @ \toprule ,画表格顶部粗线。
- U3 o; b; Q3 ^. } \midrule,画表格中部粗线。7 [2 ^) |! V! k, W
\bottomrule,画表格底部细线。7 J, p* d+ r) ~* ^2 D6 k
\cmidrule 与 \cline命令相似。
- A: z5 S! h+ ?4 ~/ ~9 T5 b/ e; y3 [! T4 f- _
(2)使用示例:8 s1 }; K( I7 K: f- L) q
%导言区 \usepackage {booktabs}
5 q! K. V3 q2 e! i t' R% K \begin {tabular}{c c c}
( M' w- ]% f1 a. F& o$ { \toprule w+ }) c5 |* S
姓名 & 语文 & 数学 \\ \midrule
0 {- o) }" |+ j9 q 阿汪 & 93 &97 \\ \cmidrule {2-3}0 i0 n. O$ M/ f
阿喵 & 98 &92 \\
! S3 w& A/ n# P0 b& [ I7 D0 W \bottomrule
" k; M- d' {; C3 q8 }0 M9 g3 L8 T7 V %阿汪先生的博客
; V7 C. D0 ^3 j* S\end{tabular}0 D( D4 `; ], T2 ?% \+ _
4 D' r& f+ u6 i* p/ H7 B
五、常用表格参数的设定
, N& n' _3 L6 x2 E9 @" z* b1、表格浮动环境
1 r8 x/ [) _+ X' r! q控制表格(浮动)在本页中的显示位置需要table环境。
/ S4 h9 i' t) X1 j位置参数有htbp四种:here 、top 、bottom 、float page。
' a; L7 j! o q9 c7 h" wtable环境中可以通过 \caption 命令表格的标题。0 T2 }$ q; l9 V! }
0 B2 y* l# R. n5 J
(1)位置参数htbp释义:
) c1 J) o) x' Khere:在输入表格的位置排版: o! I a/ S' E- \5 P, _3 R- X
top:在输入页面的顶部排版6 _9 ]% ]8 O: V. _6 U& A! W
bottom:在输入页面的底部排版! c7 V' \4 ~& |! P
float page:在单独的浮动页面排版) _' s; `4 B1 n3 y
(2)使用模板:7 U0 K5 b( {% M/ \# l
\renewcommand\tablename{表}( N4 H( s. u4 P- j
\begin {table}[htbp]
/ C0 ~7 g, g( u6 f" w4 g P \centering \caption{成绩一览表}% C: i$ D2 }: i! F8 K$ T
\begin {tabular}{c c c}$ Y6 }0 i. ^; b' N( a+ i5 Q0 ]# B$ T
\toprule 1 n) w: l- K, K7 ?3 _/ F9 n
姓名 & 语文 & 数学 \\ \midrule% B/ x4 h( A) ?) o
阿汪 & 93 &97 \\ \cmidrule {2-3}: X' t1 p) Y/ I8 Z
阿喵 & 98 &92 \\
g* t/ m4 ]9 Y0 M2 ~# @+ m6 n$ N \bottomrule) x9 Y n6 i+ H6 `; Q
\end{tabular}
/ g% c+ b; k$ e. r0 S& N* D %阿汪先生的博客, u7 c# H4 s* ]5 X( b
\end {table} * F! `% K* L/ F7 {) v5 t
" @" X$ r g ]2、功能强大的tabu宏包. C& I: j' n+ @5 e& {1 H2 r+ f
(1)tabu宏包提供的基本表格环境% L- ^. U+ P, ]% Q9 t
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
- A5 W$ Q; I" V$ ^: l9 F( A8 _\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
1 s- v6 H9 G+ T# q$ L8 i" J7 `\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
; Y7 |. C n y' I, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。6 v) M1 Q( M7 N$ H% i) M
(2)画线格式+ u' r$ c8 t1 r, A
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
) i# E/ h( e0 I2 P4 l" g) N4 @! J& g5 f \begin{tabu}{|[2pt]c|c|[2pt]}# V* V( _) \) H6 v* }5 `+ v" h
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,; K& s9 |1 C' ^7 X0 q$ s1 k! R7 H
{-}指从本行起到本行末尾画一条横线,/ {: L/ w4 ~: x2 e8 c
{2-}指从第二个单元格开始画线至行尾。7 a5 ^: C6 y; O- u2 o6 j) U, [9 ~: m5 l/ V
[' y3 a* T1 ^8 a: U/ j(3)单独设置一行的格式* d& N3 o: D- q2 ^, r1 A
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
! G( y) Q) f$ o0 E5 a# p使用示例:" p7 a# l0 x/ q9 V
$ z% N j5 n! J4 A& c( f
\begin{tabu}{|X|X|}
" |( \7 |9 P7 w2 c \tabucline- %“-”表示无厚度等参数( l3 Q- i5 x! M
\rowfont[c]{\bfseries} This & is \\ \tabucline-
; Z0 i5 s% ?! t3 P for & everyone \\ \tabucline[2pt]-
' G- @. r8 T( A7 k \rowfont [r]{\itshape} Mr & Wang \\ \tabucline- . J. |. \+ }( k0 L7 t
%阿汪先生的博客
' W4 l+ }& I5 G4 x3 n\end{tabu}
; z- }% d0 j1 [! |+ t V% X% Y4 g( t. u6 p1 E" R/ h
(4)其他操作2 {" X& J' q! e c9 g
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
% {$ H- l! k0 X. ]. U; u- S\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
u/ d( u; l% E3 k使用示例:* a8 r. I+ F, r. i2 U" Z& j# y9 g
\begin{tabu}{| X | X |} \hline
8 T! p: Q5 e K- x3 M8 O& G\multicolumn 2 {|c|}{Hello}&World \\ \hline6 W! e! o/ P" O K: K9 a" T
\tabuphantomline %阿汪先生的博客% q- Q" N0 t+ X
\end{tabu} %表格中不能有空行8 ^7 f+ L0 t' ]/ M2 Q* h0 s
6 t# z" \* W. w3 a6 ]3 T0 {1 X
————————————————
( h: S* w# @* V: p+ |版权声明:本文为CSDN博主「阿汪先生」的原创文章。7 _$ p- Z1 J4 v. A4 ]& a/ x+ {; e
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
2 j) q- Z9 X3 U, x# [2 I |
zan
|