- 在线时间
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
# i# r) d& K* M6 S6 R8 l# p3 s3 L3 C. P& Z dcolumn 对齐小数点& D) G1 z8 l5 D" R
makecell 单独控制单元格格式: d3 H. p4 |' _ q; u
diagbox 对表格进行斜线分割
/ W% l" t) L1 R/ C8 G/ J2 D* longtable 长表格,可用于处理分页表格(表格超过一页时使用); l/ z1 W" r6 A8 ]8 l" |( L
ltxtable longtable和tabularx的结合体
7 b. ]& J% ]8 s' a array 各个表格宏包都依赖于它2 x1 e2 o( @+ p# g7 @2 R8 Y4 a
* tabu 命令简单、功能强大3 Y4 P& O9 M' m5 T
# W2 Y: S, {& H q9 C+ N# \二、输入格式及说明' x( g) _$ [3 D# z2 g/ d$ r8 m
1、一般输入格式
2 m5 C- f: e/ |, C$ L\begin{tabular}[<垂直对齐方式>]{<列格式说明>}1 d2 [" u. d/ q/ B M
& & & & \\
$ N9 L7 N' m& t% M \end{tabular}
2 M% ^" b" g1 f; g# G/ y
g; q1 a M$ a( t' F2、一些说明7 m/ i, V7 E* x" c
(1)特殊符号:
% T1 X1 {7 ?( W' c \\ 表示换行, S7 e8 L; }! ?' Z
& 表示分隔单元格* D1 [$ \' z9 ]' S+ `
3 S6 D5 D% h6 i: B% q& F5 e, b0 n7 |% J
(2)垂直对齐方式:& V. Z. ^" n L- l! o$ n( w
t 表示按表格顶部对齐6 d% k6 d" W" T }
b 表示按表格底部对齐
9 w- W+ c6 b5 R% s 默认为:垂直居中,非t和b的参数都看作居中
' @. _) ^+ m5 }$ U$ K- i0 }& z: e0 u2 y+ ~& u+ z9 U& c
(3)列格式:
7 U1 ~& ^6 n. r! o2 e. ]0 m% y l 表示列左齐 (小写的 L)$ k* u% Z2 R# x6 S( F/ l4 s* \! \
c 表示列居中对齐
7 J1 h9 j' q+ } r 表示列右对齐# o3 S0 ]2 } M: h; E, L
+ H; W8 ^; f6 p" y; e: k% D* e. Y三、单元格的合并
5 w1 \& j) _" n1、行内单元格合并命令
* {- U& W( e- z\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
& [$ n# J3 o$ a4 |- f$ p
4 a& V2 u: o+ i) n% ~" S(1)基础模板:
, M1 q7 A1 I0 q5 a \begin{tabular}{ | c | c | }# Z) v6 K8 \# N* G2 B& F
\hline; y* o6 l3 M! T
\multicolumn{2}{ | c | }{成绩} \\
, C( n. A7 @: o+ u! F4 \ \hline
" ?+ b$ i1 M% d J" Y# S 语文 & 数学 \\ \hline9 V" h1 h9 v- i
100 & 100 \\ \hline# c( d& c) @' S3 P/ N! Z- z
%阿汪先生的博客- Z" @. C: u' U7 g* t- U9 F- ?7 l* Z
\end{tabular}
3 K" i* b7 V( J$ d3 P & q% k7 A: }( O* X
(2)进阶模板:
/ H d3 N/ j5 {' U- \1 X; n \begin{tabular}{ | c | r | r | }/ Y. r# j4 E8 x) V) U, b
\hline
+ _3 Y6 H. n/ a p" a% V6 ` &\multicolumn{2}{ c | }{成绩} \\
! b0 R8 R2 A2 Q) B. z' l \cline {2-3}
6 v: J n3 C# c 姓名 & 语文 & 数学 \\ \hline
: `2 [, J1 ^$ w) m6 V+ I- D, r" o3 a 阿汪 & 93 & 97 \\ \hline 3 ^4 \5 C& t3 S# }
%阿汪先生的博客
6 z4 I* B' Y7 M/ K k \end{tabular}% ?5 s8 T- U$ U! h: d, `
8 Z( V) L3 r1 \; D5 V
语句技巧:画水平表格线需要指定线的起始和终止列号。
1 l( ~' U; d' ?用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。) `6 H* }7 v( n6 U
: g+ l0 F% M: x" ]* Z2、列内单元格合并命令& w+ ]' R2 A! ~* ~9 |9 d' x9 }
需要用 multirow宏包
4 B6 A6 e6 N* S1 L$ ?/ g, ]- z. T7 _\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行4 e) `- H% E: b* L
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
: C2 o% }) h( k* V& F8 [( b" A2 g" O
基础模板:: I& ?3 m; P4 m5 v3 o
%导言区 \usepackage{multirow}
p7 `6 ?% p( i8 k) C2 Z# Z \begin{tabular}{ | c | r | r | }1 n7 g" Q3 k8 p* |& ?; _& Q( N
\hline
0 u: x# L n5 K: A# {1 ?2 j: o% ` \multirow{2}*{姓名}&* ?6 K; S/ G9 g, ~' d
\multicolumn{2}{ c | }{成绩} \\
8 _; i2 u& A! B8 A' Z2 B0 q+ N \cline {2-3}
; j7 n$ }+ C9 v+ ~4 [% @ & 语文 & 数学 \\ \hline L, {/ ^2 H. p; C3 V1 V
阿汪 & 93 & 97 \\ \hline
$ w- o |* o% J %阿汪先生的博客
7 E. X) W- k% s& b* }0 I# Z5 | \end{tabular}9 ?& h# C$ z4 d* N Z1 B6 H& l2 T
3 o. R( f, u% i四、特殊表格
5 `# K* W. n/ D. ` u& O2 O1、定宽表格—tabularx- ~0 c% V* a, A8 Q+ V2 W
(1)注意点:4 {1 N0 S4 ?! k% `1 A
tabularx宏包提供tabularx环境! R% u) z9 y y% a# z0 j9 `
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
D- U' Z& }8 M6 g* y3 L7 o- k9 v5 E2 Z" q3 [4 h7 A* H2 \ [
(2)使用示例:. w( P% d# j% X8 ]2 S
%导言区 \usepackage{tabularx}
% y8 F3 i8 b8 F* @* ?5 e \begin{tabularx}{400}{ | c | X | X | X | X | X |}
" J7 @ b6 L. o9 k2 Q; R! J \hline
6 b* O0 P2 w' x! U% Q+ `: n6 a& e 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
* U0 T1 n, \9 Y" y5 i 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
; T2 L9 d3 L# \# o %阿汪先生的博客 Z% m) m( n( {5 X/ X
\end{tabularx}! d9 T# I9 q& l1 ~$ t* O7 V' C& K
6 r8 q& p$ F9 s5 x! a2、三线式表格—booktabs
3 \3 K% V- J' W7 o(1)booktabs提供了如下命令:
5 X. f/ U! v3 G' f4 l \toprule ,画表格顶部粗线。
; s7 ^4 l3 x% g, d0 ^9 ^2 u6 [ \midrule,画表格中部粗线。9 r2 \" P! b, K1 R4 q5 {1 ~
\bottomrule,画表格底部细线。' p& b7 ]; h7 t d% C/ a2 `. ]$ e
\cmidrule 与 \cline命令相似。
5 O" F* B$ l2 Y' @# |, x m" C6 C6 P, e9 ~0 k# r7 F
(2)使用示例:
4 |! K' {* J* R& \7 V. z. T8 i. D%导言区 \usepackage {booktabs}
; ]7 P5 I1 a2 @7 O. a9 y. r \begin {tabular}{c c c}. N/ {) z" B8 t8 g4 M
\toprule
# M- `; w1 t u 姓名 & 语文 & 数学 \\ \midrule
+ s8 b/ r6 D/ n/ G2 ^2 K1 M 阿汪 & 93 &97 \\ \cmidrule {2-3}2 |& u( d! S, ]$ l, h1 a
阿喵 & 98 &92 \\ ; z- A% ^* T* }0 f- `4 D3 q1 O
\bottomrule
) `8 t h# I! x2 m2 | %阿汪先生的博客% L; N! N. c7 ?
\end{tabular}
, [) Z% a0 L. b0 q U& j$ X1 D: M( h5 J6 ^
五、常用表格参数的设定2 Z4 F4 R; s7 S# [
1、表格浮动环境4 _: v2 L0 H8 {% b) k, I( T
控制表格(浮动)在本页中的显示位置需要table环境。1 b* k8 e. ~8 [* N. k/ p: F% c# \/ @
位置参数有htbp四种:here 、top 、bottom 、float page。5 L3 ~% N1 H [' E$ `& `5 T6 [( r
table环境中可以通过 \caption 命令表格的标题。. L3 [+ n9 c4 Q- b0 v' C
$ x0 ]0 \, V3 V6 H+ Q& d
(1)位置参数htbp释义:
, m. c/ U8 K5 U7 `$ ahere:在输入表格的位置排版
3 h. ^! U! h$ s4 t$ |% atop:在输入页面的顶部排版, Y9 x3 @0 M' a1 W/ B+ e: H) \) O
bottom:在输入页面的底部排版0 e" j3 N0 \# w1 K" X
float page:在单独的浮动页面排版$ ?4 z' W2 U x! E+ t8 c q
(2)使用模板:1 y( _% N; ^# e
\renewcommand\tablename{表}
* _3 ^5 J* |8 }" U' {% k \begin {table}[htbp]$ n/ p E6 f) s$ o. a! ~% e
\centering \caption{成绩一览表}
* c" \: U& f& S1 d3 R- K! v \begin {tabular}{c c c}
~8 L9 s) U% ?. F3 o \toprule 4 d& I2 p: t {7 c8 `
姓名 & 语文 & 数学 \\ \midrule
" v& Q8 z' L- @: z3 C( n- Z& S 阿汪 & 93 &97 \\ \cmidrule {2-3}+ h8 b; I3 Q5 y
阿喵 & 98 &92 \\ 8 @ G5 M4 s8 D- t) Y
\bottomrule
% X" [9 |& ^& u+ J \end{tabular}
- N3 d7 p) I$ P* h %阿汪先生的博客
# ^. R! M( M) b V$ M \end {table} . p& d- [6 m0 Q# N: u
8 a2 m' N7 B H. a9 t/ z0 y2 |1 z2、功能强大的tabu宏包
# k/ w9 D4 w( |/ S* ~4 S(1)tabu宏包提供的基本表格环境/ j/ f: z5 H3 k4 m' e6 d) ?
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
" t& P6 L1 H9 q0 y0 C) k\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}, [; ?5 ^5 ~ s
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}/ X5 Y$ U* A( l( z5 `: C
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。. T' L/ Z3 _ Q
(2)画线格式
/ e) B- I" ]) S& ~+ ]0 J& |8 { tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。: Y G1 V' `8 t/ a9 \7 |
\begin{tabu}{|[2pt]c|c|[2pt]}
1 t- t# a9 n8 f \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
5 S0 K7 w/ D* P2 ?8 T8 \# T3 H H {-}指从本行起到本行末尾画一条横线,: y5 H+ u: x0 i$ G$ b9 e
{2-}指从第二个单元格开始画线至行尾。/ S2 y0 Q6 ]: U( E s4 a
O/ |9 |* F, g(3)单独设置一行的格式. X7 Y, L, \6 x, e8 k6 i+ `4 m
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。+ F; L* r& V/ `3 x2 G
使用示例:
. r7 M$ M$ L. l. W2 c6 U o9 i
_6 t+ `) _1 f- B- K3 v$ Y\begin{tabu}{|X|X|}# | ?4 Q- H9 O7 [0 _. Q
\tabucline- %“-”表示无厚度等参数( w T. @* ?' h& d# }( L
\rowfont[c]{\bfseries} This & is \\ \tabucline-3 v3 o3 }6 I% T- j
for & everyone \\ \tabucline[2pt]-; P" @& c. B5 _7 \8 A
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- . y8 U( _* ~5 ]. ~( ]
%阿汪先生的博客: K1 Q' G$ [+ j
\end{tabu}
$ {+ T/ \! v2 O& H: K
! G+ ]# X( h9 j4 C! ?(4)其他操作& ?+ t7 T4 U- s- F
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。) w4 X! Y/ [6 F* G! w3 b- y Y# s
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。4 q9 ~2 ]4 S1 H& _/ S$ [, {
使用示例:
5 ^# H) \3 t2 C( [\begin{tabu}{| X | X |} \hline3 a8 \" M' }7 k4 C3 {$ V
\multicolumn 2 {|c|}{Hello}&World \\ \hline7 `7 c; i9 w+ ]% s2 l
\tabuphantomline %阿汪先生的博客, M6 u8 P1 Y o# F3 ]
\end{tabu} %表格中不能有空行, j+ V3 D5 E, o9 J1 ]% X
+ p! ?+ m4 X1 H T
————————————————/ K% v3 B# J. p+ t% l7 y
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
% G( i5 ^5 `$ ~; R z原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
4 |2 I" Q9 f9 g2 j, M% Q |
zan
|