- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55575 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17624
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
7 a% H+ v2 W3 c6 e0 {$ |! q dcolumn 对齐小数点
+ e7 D7 C( j# Y) B makecell 单独控制单元格格式+ y/ S- ?4 k5 @
diagbox 对表格进行斜线分割
! [% U' [" }; D* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
# P6 y3 O7 X5 B# C0 u' M ltxtable longtable和tabularx的结合体* v- ^+ ?5 l! \
array 各个表格宏包都依赖于它
! @/ t6 `" i1 L: d) K2 m! C: ^5 i* tabu 命令简单、功能强大
& \4 ~1 v) q: b+ G
- G9 \% \5 e6 j# b二、输入格式及说明
7 ?8 ~/ e( k8 j1、一般输入格式' _1 H$ y f; j; e8 a% p( P
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
9 S6 q& `' {4 X* G& s7 M & & & & \\0 e- j) N n( ]! y9 ?: b$ w' m) p
\end{tabular}
# _, O4 u5 I2 I u( `8 I" z/ O: _% l
2、一些说明
o2 `4 R# _( O8 I: a- F3 H(1)特殊符号:% J" R2 F& F o; H3 F6 L
\\ 表示换行
0 _/ ~4 W# p3 F & 表示分隔单元格
' |+ n- F+ w) Y; r: s: ~/ C# L m/ \+ H2 y! K# ?: n2 U
(2)垂直对齐方式:
7 }5 C4 a1 _5 C5 j$ d0 q t 表示按表格顶部对齐
4 `8 I! ~% Z' B) ^5 [* s5 h# f B4 \ b 表示按表格底部对齐- Q1 H1 W2 ~6 O1 H/ K1 p: K D
默认为:垂直居中,非t和b的参数都看作居中/ W/ [9 r" Z# {' _! |+ p
6 ?0 f4 X2 ~5 Z9 [2 U8 u(3)列格式:$ i" W- A6 T9 p+ Q" @% }: q9 ?
l 表示列左齐 (小写的 L)! O( N, T4 p; p3 u. v% C
c 表示列居中对齐) `2 {/ B8 I- Q& G* M- x2 z/ g5 [
r 表示列右对齐
0 O- m9 x, q. ? ^3 U( h5 x
1 X2 ]6 {% r) p9 @3 ` `6 ^; R0 z1 c三、单元格的合并0 B9 ] T3 {6 j, J% t
1、行内单元格合并命令7 \8 N2 z: s+ H8 t6 t0 C# M8 x) p) k
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 3 ~- p# F* R! G1 n, V7 ~4 w p
) ]5 D$ [" o% Y9 x( r. n# I(1)基础模板:1 \7 e* H3 t( V0 e7 c, y
\begin{tabular}{ | c | c | }
; i" x$ f& A' n V( K \hline v' E" p5 {4 k- x6 O
\multicolumn{2}{ | c | }{成绩} \\# b1 t1 F6 ^/ _4 ?; v
\hline
+ W6 K+ D7 H# U7 t# w- s2 b 语文 & 数学 \\ \hline: D/ u. e) c7 q+ `, l
100 & 100 \\ \hline
# m6 t& L( E4 J: Y2 y5 w3 v2 [ %阿汪先生的博客
% L" [! J3 w q- R2 F: B \end{tabular}9 s% }, q# }* C3 O! W
: w! V( ^( a, w
(2)进阶模板:1 M# b5 y p- V9 N# S
\begin{tabular}{ | c | r | r | }0 X8 }: U7 X; I! K% m' k! S3 o
\hline `, `8 X# ~! g5 ~% r/ n
&\multicolumn{2}{ c | }{成绩} \\
5 @- E: U% q! n* H* l D" v \cline {2-3}
% ]! B& h0 V4 P7 i: N1 ~" S5 T 姓名 & 语文 & 数学 \\ \hline. _* ]3 L( m: m) N, J$ j! m
阿汪 & 93 & 97 \\ \hline
- C% Z* G( x; R %阿汪先生的博客/ @% U9 l- h$ ?/ w( v
\end{tabular}0 V" g x9 ^3 ~+ Q1 `+ R
, Z; h: P( S+ ^9 x' R! I; |语句技巧:画水平表格线需要指定线的起始和终止列号。
' [8 P& @. ?% Y Q用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
& ^+ ^) p8 n2 [- p/ \2 T" H7 m, a( }8 [" Q& T
2、列内单元格合并命令
. o6 K i& ~& H) h# ^需要用 multirow宏包7 G. j7 {: c+ V0 f+ H! V
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行 @6 e4 Y+ q+ W. l9 k
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度/ f. V8 j/ O- t8 M0 t P7 ~
8 V# X0 o- P3 g5 u2 e6 e( `) Q1 q9 ]基础模板:
6 U# z, w2 o* l9 z" d: \%导言区 \usepackage{multirow}! [2 |( X+ {5 p2 }5 C% J
\begin{tabular}{ | c | r | r | }# ^+ n/ w1 C+ P- m2 \; |* \
\hline
6 a: ^! q- g! K) G( | \multirow{2}*{姓名}&
& U; L0 W( S7 H8 o \multicolumn{2}{ c | }{成绩} \\7 F* J3 ?$ M; s8 m( S
\cline {2-3}, L9 c) L* M! R# g1 g
& 语文 & 数学 \\ \hline# t+ D! b2 E/ N* Q ~
阿汪 & 93 & 97 \\ \hline
- `. x( P) `3 q4 l3 f& \6 a %阿汪先生的博客
3 K# T( _5 l+ d( g, T \end{tabular}
. s/ Z1 N8 n# ^$ z5 q) q# m2 Y0 L* ^$ e* G# s# B9 E
四、特殊表格
l' r( ~! Z, ^1 u" z! A4 w, D6 c& i1、定宽表格—tabularx
) I( M7 k8 i& n(1)注意点:
5 I' n0 L8 s. y& S1 N tabularx宏包提供tabularx环境
4 P/ q3 n4 k) R. S X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
! t! c4 D( {7 O' t, p. X4 T3 P, n- ~. `: q7 N; m
(2)使用示例:
7 D8 ]9 j. ]: e6 m1 {. q" L$ k%导言区 \usepackage{tabularx}
+ ^& v$ N2 ^. g% m: [; q" z1 U* R3 N \begin{tabularx}{400}{ | c | X | X | X | X | X |}
$ d0 N% }0 S: [& y. Y3 v \hline: j6 M& n! ^, g9 y
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
$ Q6 @% }+ z( j+ L$ O: l7 i0 q 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
9 d' S) D1 r8 G$ ] %阿汪先生的博客
% A! Y& T% r5 n. H: c8 ] \end{tabularx}
$ ?4 {' y4 [- D& s. w; S
* t# z: u. B0 @! C, S; {4 F2、三线式表格—booktabs
9 \( J8 B! s$ }) O(1)booktabs提供了如下命令:
* I: u- E: {( X" Y' Y& G \toprule ,画表格顶部粗线。1 D' r; F" _( k! Q4 l( Z
\midrule,画表格中部粗线。
. m; w) E3 K2 D \bottomrule,画表格底部细线。
2 m: _ F F+ \, }/ W7 F- C \cmidrule 与 \cline命令相似。: Y3 O, Q2 D+ |; Q( M
1 d/ q$ e+ o/ _6 H5 Z9 U
(2)使用示例:8 W4 o$ T c. f X; B6 W+ ?
%导言区 \usepackage {booktabs}
$ Z8 L0 s0 m$ a: m: c \begin {tabular}{c c c}
! u3 H* {7 R9 ?0 c3 p( V \toprule; P# y! j- z% F% | V
姓名 & 语文 & 数学 \\ \midrule
7 v7 S7 m$ B7 F0 m N 阿汪 & 93 &97 \\ \cmidrule {2-3}
; t( F% s! y9 g% K" O; i- ]+ o 阿喵 & 98 &92 \\ 2 _) O. B7 R2 z' s
\bottomrule
, z$ ~( N8 k: Z- y %阿汪先生的博客( l6 n$ P" [6 M1 r0 o2 {
\end{tabular}' }3 p8 w/ s' b: H
" D, W; h; T! J$ j# w0 Q
五、常用表格参数的设定
, s9 s% x# f' m. J1、表格浮动环境
4 p6 \$ B K% \ S( N. y控制表格(浮动)在本页中的显示位置需要table环境。; ~6 {! w( Z- s% w
位置参数有htbp四种:here 、top 、bottom 、float page。6 g7 R/ N' y, C
table环境中可以通过 \caption 命令表格的标题。
. G, F4 C2 D( {5 C) q! I- s
3 n! L' @ A) D/ `4 k* v2 |(1)位置参数htbp释义:4 V' |( z: v8 J1 d( }$ Q
here:在输入表格的位置排版
3 g6 m/ ^9 e' m8 {top:在输入页面的顶部排版1 N' z( q9 {* ^& r
bottom:在输入页面的底部排版, }. h) L! H+ F, C7 v
float page:在单独的浮动页面排版1 Z! r! D c. S/ F, p! m
(2)使用模板:+ d8 }1 a( C e/ ^. U
\renewcommand\tablename{表}, Y( F+ H3 R% ]+ p k
\begin {table}[htbp]
* N# S/ N6 v; s1 w5 u/ \4 Z. ] \centering \caption{成绩一览表}
; c+ S+ X8 o" K* y( V& P \begin {tabular}{c c c}1 T2 V5 x- `+ }* Z; l7 a
\toprule 8 `* I- j6 j, m
姓名 & 语文 & 数学 \\ \midrule9 |+ a% ^. B! m. ~3 o% Q0 i
阿汪 & 93 &97 \\ \cmidrule {2-3}
! M( y0 m% x9 l, |5 e 阿喵 & 98 &92 \\
7 `5 I% m$ b2 \ \bottomrule
( a; f, A! B* f! d8 ~! ~) {% J \end{tabular}
2 p' o. N+ `6 H" q2 K5 \" S7 ` %阿汪先生的博客
8 W7 M, M$ [- N+ _ \end {table} + B0 b# z6 B1 g) O2 x9 b; q
( `: s" G. e& m; N
2、功能强大的tabu宏包4 j* n% i3 M" A3 Z* G% Q
(1)tabu宏包提供的基本表格环境
+ g. t* u9 G J& C. \2 ~5 A: C5 j\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}. f4 E* R$ C% B3 @
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}+ r1 e' L7 G& q7 m* a% G
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
8 I3 J) X8 K" F+ ]' O$ `, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。3 \5 J4 }* Q' W) w. {, w
(2)画线格式
. S. D0 t/ V) b* _4 b7 S* P tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。9 ?/ N8 {, ?3 i( l' _7 F3 e
\begin{tabu}{|[2pt]c|c|[2pt]}
/ c* Q! l, w0 n+ S) p: z \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度," [2 P$ y" P3 A! o$ L" M! m$ v
{-}指从本行起到本行末尾画一条横线,
6 A: s8 i2 D+ E {2-}指从第二个单元格开始画线至行尾。( k: P8 s$ @. J' j7 V8 ]2 I/ C
; g% }! \' V3 Z% T# _
(3)单独设置一行的格式. L8 j& M2 e2 J$ \ }! A
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。7 j b, B1 R5 p: U( {2 X& N
使用示例:
$ v, [8 u' s+ A2 q8 E5 v s- m0 n; e: m6 Z# h
\begin{tabu}{|X|X|}5 }/ ^2 c: r# a! }
\tabucline- %“-”表示无厚度等参数! b) }. p; ~- A. o/ j& G6 z% n# ~
\rowfont[c]{\bfseries} This & is \\ \tabucline-
, Y8 S. a9 A5 z for & everyone \\ \tabucline[2pt]-
$ H( W% d1 \* \9 |3 W; e4 _1 N. U4 \ \rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
' G% R7 {, n. s/ {& T; S y# K %阿汪先生的博客
: x# o# R3 g4 r: H$ w\end{tabu} ( u0 I: \9 b- f: d
& m2 O" z, |$ N2 ?(4)其他操作) C. G$ C3 _+ L2 o* y( M
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
% Y# y' H1 F4 v\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
, z+ H2 G, Z4 R1 n使用示例:- c8 m# v' d6 w! Z4 }( g9 h
\begin{tabu}{| X | X |} \hline' e& N1 }6 I& ?: K, O
\multicolumn 2 {|c|}{Hello}&World \\ \hline( }& |' W7 n& z7 B* `& O
\tabuphantomline %阿汪先生的博客' |3 J4 m! a* t7 |/ s
\end{tabu} %表格中不能有空行
" q7 \2 x& }; F ~( q* O5 N$ v' x$ b0 |% U, I# I! K; j
————————————————3 `, \, R& J+ M# u! r. K
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
% T- L- B8 p2 {& S( `原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
3 _1 K! o- g& I1 ~/ z |
zan
|