- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55556 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17618
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包' t% l$ j$ n+ T( L( Y
dcolumn 对齐小数点' y- J, D( L/ x; f+ ]! Y* p
makecell 单独控制单元格格式
$ _8 b+ `6 w' ^4 v3 i4 n A$ X diagbox 对表格进行斜线分割
- j8 x* s" W3 N9 E. r* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
* G$ k7 f( {8 b$ v/ w ltxtable longtable和tabularx的结合体: v& _! g& I2 Q# w# z% C
array 各个表格宏包都依赖于它
0 k9 j8 B) ~+ }* tabu 命令简单、功能强大
! z: M. J9 D9 \* O" b, N" g& s+ U) Q7 {5 w/ }, t$ w
二、输入格式及说明
. R/ [- S7 U0 V7 V+ e7 T1、一般输入格式& W$ V6 O) ~0 u: v+ O# d
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}' m2 \- N: x7 _( q/ p! H
& & & & \\$ s1 F4 V) [9 b
\end{tabular}
% ]- K6 Y' N, Y/ F' m' n5 o$ M5 h( g+ s2 l. T
2、一些说明( U1 s% L% X! K* s) L" {
(1)特殊符号:
J& S* d8 b) E2 V. }* V \\ 表示换行8 B8 f8 N+ S; W1 V
& 表示分隔单元格& P" ^. p& z# t) ^
* Q$ O$ L; X7 R& S: m" h(2)垂直对齐方式:! C# H0 X2 ~9 ~9 B- ?: k
t 表示按表格顶部对齐, Y Z; ^% N, M7 }
b 表示按表格底部对齐& V0 ~6 ]! }% d: E( X/ Q) j( N( ^
默认为:垂直居中,非t和b的参数都看作居中
8 ^( N0 V& u" s1 {1 L2 [& g$ n6 m' j+ m% p+ Z6 F2 F2 C
(3)列格式: `( @5 V: G4 t: g+ [% _
l 表示列左齐 (小写的 L)
/ f, A+ N1 P" x) @" j c 表示列居中对齐0 X8 O# J& _& i- t
r 表示列右对齐
6 ~3 L0 f. B6 u& B
1 Z; | l( M2 W$ c5 \& J8 b+ ^. L, m三、单元格的合并
! g% `8 z/ f3 {" [9 h9 F. Y1、行内单元格合并命令# f; |: t, K+ E7 n$ {0 V
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
% z' B8 L# n5 y8 q" M, q; |" s* a! D" V. n9 }+ U
(1)基础模板:2 @: b0 H7 \- t7 W9 a9 A; h
\begin{tabular}{ | c | c | }
3 {: K- q! a: o! e. S! W \hline% c8 q7 t* w! B* C) M9 Z" p
\multicolumn{2}{ | c | }{成绩} \\
l ]: p2 p% Z+ w \hline
' ^$ l: p$ i: ~4 k 语文 & 数学 \\ \hline
! l& h+ D# e$ T, ?% p: R 100 & 100 \\ \hline9 k% I" @3 z2 v- E8 W; ]" d
%阿汪先生的博客
& h) m+ s+ b- C2 a( d% P; W \end{tabular}
% r# P6 b& y$ L" W2 G5 L
$ T* d( p3 ~6 d( g: L(2)进阶模板:. ]& e. m, v$ ?/ X% Y
\begin{tabular}{ | c | r | r | }
$ o- |* ?% J6 h& x& O, f o( E5 j4 t# s \hline
' r* I' U0 | g [+ Q6 x+ S8 Y &\multicolumn{2}{ c | }{成绩} \\; s' e5 f% T$ x
\cline {2-3}
+ Z9 M/ d; V* N3 h7 u, @ 姓名 & 语文 & 数学 \\ \hline
8 C- v) i* f: x) h2 @, x; S 阿汪 & 93 & 97 \\ \hline 3 S4 r i i2 w( ]5 S4 u3 B
%阿汪先生的博客
, ^" P% Q: Y- A1 N/ \ \end{tabular}
* R' h# b6 N& ]6 t. d
2 y0 ~. `3 ?* x o. b语句技巧:画水平表格线需要指定线的起始和终止列号。7 l' {: O9 a% K$ @% P; O' g2 h' b
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
# D i/ ^+ _% K' @% ~, a! D# n2 a% n O8 v. b; a
2、列内单元格合并命令$ n- r8 u- k9 ]9 U. H
需要用 multirow宏包
* R( i# W/ |9 y8 T* L6 x# S\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
/ k) ]0 z3 `! ^( F4 v\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
9 }2 Q3 D( E, I1 [
0 r$ D- X6 I, J0 q9 o# i基础模板:
$ t* P4 D6 D! i* R" v3 h$ K7 C j' b%导言区 \usepackage{multirow}5 [0 k) B7 J: b z3 \# J/ A
\begin{tabular}{ | c | r | r | }* A* t: q# l: r7 C
\hline$ g( A! q& i i) L6 b/ n& F6 ~4 t/ c
\multirow{2}*{姓名}&7 |- \5 @0 q! q3 a6 B
\multicolumn{2}{ c | }{成绩} \\: B7 U: w ?& v3 K
\cline {2-3}9 m* E+ c, Q' i; a* [
& 语文 & 数学 \\ \hline
( P1 \& G: l4 |6 U" I8 y5 H 阿汪 & 93 & 97 \\ \hline2 L: F/ \% T! c9 D- w
%阿汪先生的博客
8 O! M3 t" y3 s" c* F \end{tabular}4 L, f2 }3 C; |1 o8 w
! }& w0 ~5 Y+ q# G6 z四、特殊表格, O. Z& U: f5 |6 G# T# X( v# a
1、定宽表格—tabularx7 `2 C( i- `3 E* E! j- }' M8 r
(1)注意点:6 J7 K; [6 o# H$ O0 C& a5 \
tabularx宏包提供tabularx环境
" F' C3 C4 Z6 U6 K+ ]0 g' l X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
, y+ Y9 s) x5 {. N) z
6 e* s U; Z5 a* B& S7 J(2)使用示例:
8 s" G5 u4 N! g" O%导言区 \usepackage{tabularx}
9 a) V; }; D. j$ v2 T i+ s \begin{tabularx}{400}{ | c | X | X | X | X | X |}
6 _0 l, B' e5 k' J \hline
' x6 o# c+ s: D 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline- N2 O/ k$ G- m( h% h$ i7 T
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
3 j7 l8 d3 x0 G %阿汪先生的博客" @# r) m8 z% a7 I( D) M8 m
\end{tabularx}8 o6 c2 P" S) @* {
( n* r3 b" T G1 R
2、三线式表格—booktabs5 r3 K; n5 O0 x1 g% v# f- {+ f
(1)booktabs提供了如下命令:/ ?. e; L9 Y% d; E; _& i8 t) Q
\toprule ,画表格顶部粗线。
- {( b/ }5 O' ]0 Z; [ \midrule,画表格中部粗线。
( B2 E5 M/ h1 L4 r* x( _" U \bottomrule,画表格底部细线。7 S+ ] a7 a. L. {% o( _
\cmidrule 与 \cline命令相似。; ]6 ?8 W7 b9 N: Z& U G+ i
8 |) l9 u3 R* b1 Z
(2)使用示例:
{% u/ u7 x/ N7 Y3 h; ]%导言区 \usepackage {booktabs}
$ [, x6 X0 s* C! y5 |, c& _2 v g \begin {tabular}{c c c}9 u9 i5 Q* ^' D+ Y
\toprule
2 O: X/ x& ^: G# W 姓名 & 语文 & 数学 \\ \midrule
5 F; @3 g; U. W$ H 阿汪 & 93 &97 \\ \cmidrule {2-3}1 {& a1 ^* h2 u! [, S2 Z- b& _9 P
阿喵 & 98 &92 \\
/ A% q4 n0 G' v \bottomrule
: w) B; H, k3 h %阿汪先生的博客- I7 N9 i) q0 k2 Y, Z
\end{tabular}
6 a7 f# x& ^: I B: M' ^* O, `( P$ r9 e3 }* c
五、常用表格参数的设定1 v( `1 v! {3 a! |; N4 Y
1、表格浮动环境' t$ e& A( r, o% `- o% ~# z
控制表格(浮动)在本页中的显示位置需要table环境。3 @, X K( a1 ^/ X1 B+ B! c
位置参数有htbp四种:here 、top 、bottom 、float page。; n( D0 {( R; ^& Z0 } d, c
table环境中可以通过 \caption 命令表格的标题。, R0 F$ B: q! j% G
/ b |9 U- k, P& f: E9 U
(1)位置参数htbp释义:% x" L" ~3 m* O/ G4 u$ x3 X
here:在输入表格的位置排版9 c' e" V5 x$ K3 i& @0 b1 t
top:在输入页面的顶部排版' Q# ~, p0 a7 [+ R
bottom:在输入页面的底部排版) m4 b j- c; C/ A' @( I' O2 d
float page:在单独的浮动页面排版
5 ~( m3 `8 e2 s! @. H(2)使用模板: {. y! e5 S; Q* J q
\renewcommand\tablename{表}6 t, L6 B1 n' \% Z) G7 _( k
\begin {table}[htbp]
% H8 J- | I" A3 J7 B \centering \caption{成绩一览表}
( Y. m) q) [1 k. J7 t \begin {tabular}{c c c}
# \1 Q! D8 x& _! q' G2 }# T \toprule 3 ~' c* g- L1 i( s
姓名 & 语文 & 数学 \\ \midrule% Y" |+ T2 B7 c: I$ f2 |4 o
阿汪 & 93 &97 \\ \cmidrule {2-3}
* P; V9 H2 ~- F1 ?3 q0 t; \ 阿喵 & 98 &92 \\ 8 a3 x8 ]- f& R+ I1 B8 B8 A8 D
\bottomrule p. t7 k, J {3 a. _. F+ Z
\end{tabular}
+ w8 @/ H. X5 V' \; d& r %阿汪先生的博客% O2 \1 e# |. Y* a+ k+ w
\end {table} a! O; U, r9 o9 q3 \
% H$ E1 q6 \) j0 X/ D: c& }, p
2、功能强大的tabu宏包
+ u% \; @) }. o: t* m; r+ N1 ?(1)tabu宏包提供的基本表格环境
, m) G4 l- M- N# A\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}! u' x* ~/ D3 Z' o' n" h
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
1 D5 P7 N _! V# d8 ]\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
* l1 `/ ]2 ]! V3 P% T1 J0 g, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
& R c1 ]9 L" M(2)画线格式( n. o, K; Q" ]8 ?/ w( E# @6 \( L" |
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
0 g) i( u! L, g7 G \begin{tabu}{|[2pt]c|c|[2pt]}
, ]7 U" N" J. D; `' i" x) B \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
" h% z) v0 s6 U4 P2 k# G {-}指从本行起到本行末尾画一条横线,% k; t* c/ ~; z. U; @
{2-}指从第二个单元格开始画线至行尾。
% c O/ g0 @ G4 }
* F+ @- A# |3 B _' E: j( ^0 p(3)单独设置一行的格式
o2 H" r" @& L- L7 a( o \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
- e; W6 g- [* t7 O使用示例:
' R7 {. q* A$ j8 K1 O. g
; M+ w2 j. G# ]9 @, p2 n\begin{tabu}{|X|X|}' t% w# E! w7 }, ]" j
\tabucline- %“-”表示无厚度等参数% r! j' ~3 X* B: p6 s1 s V4 E- m
\rowfont[c]{\bfseries} This & is \\ \tabucline-
1 M$ J# G8 G( a g for & everyone \\ \tabucline[2pt]-/ w. k, [& e, t Y5 y( J1 h. s
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- 9 c3 [/ O0 I# E! a
%阿汪先生的博客
7 H+ E( {. D% T1 ?, i1 i\end{tabu} $ ^$ D- b! t0 \
z% T3 y5 U! l* }1 g" k
(4)其他操作
5 b' q6 T8 l# k+ ]在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。2 S! W" R3 Y6 ^ K* u0 V
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
/ O" v' Z7 j& S8 x# Y! G( T" d' d使用示例:% Q |5 W+ @2 @- H
\begin{tabu}{| X | X |} \hline2 H4 U: B: w. a7 X+ W
\multicolumn 2 {|c|}{Hello}&World \\ \hline& V, F. x: f. [9 o( T
\tabuphantomline %阿汪先生的博客6 Z, u1 z, c7 y! S6 Z8 h
\end{tabu} %表格中不能有空行
0 O$ W! C) l+ n
9 b9 O: U" K. o$ A6 `————————————————
- d7 l3 H; y* L: B版权声明:本文为CSDN博主「阿汪先生」的原创文章。( G8 Y8 n0 P* K* U( Q
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437( ~8 l& `, d% ?# j
|
zan
|