- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55580 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17625
- 相册
- 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( N2 f) {: r' d$ I- L$ f) w
dcolumn 对齐小数点1 C2 k$ C3 f$ x7 x* h" e7 ` E
makecell 单独控制单元格格式1 F, M4 I+ u I& s- n* ]/ z. ?
diagbox 对表格进行斜线分割
& q0 M9 m. g) o5 |* longtable 长表格,可用于处理分页表格(表格超过一页时使用)* ?+ H% j( h% Z5 e4 D/ c
ltxtable longtable和tabularx的结合体7 z" l3 x4 P- v: d# B e2 o
array 各个表格宏包都依赖于它4 G ?" [* ]7 r& S* {
* tabu 命令简单、功能强大
7 |. \# v) m2 `3 O% A0 F& E/ H( J5 e* E d5 o, a
二、输入格式及说明! t" J4 s+ F5 ^+ ~
1、一般输入格式
* o" C! q- T2 S# C9 U/ E\begin{tabular}[<垂直对齐方式>]{<列格式说明>}" \" C; s, k2 w5 N( M, C" ?( B! d1 }
& & & & \\
; m6 s# l4 v+ Q, O% r! d- C c \end{tabular}0 l$ P- ^+ U# u$ a+ a# {! d
. c2 S! k1 D J5 I5 ^: p2、一些说明5 w; Z2 b; o& z3 i
(1)特殊符号:
# O' {) k! e/ E- K \\ 表示换行, [$ e% I% L$ q" ?: r9 o/ n* a8 ]
& 表示分隔单元格# |; \4 S+ E; F' g0 m; {4 |
# Y# A0 } J; g6 s/ L(2)垂直对齐方式:
( a: ]$ a1 J% |5 ? t 表示按表格顶部对齐+ c" f. I( t$ C" p$ Z0 U* Z L
b 表示按表格底部对齐
9 @, h6 `1 B" v9 U3 J 默认为:垂直居中,非t和b的参数都看作居中 A! t+ ?, g! _: m5 B6 Q
2 F! k. {0 ~, R( W(3)列格式:1 o: b3 z4 j( u, h3 d" l7 z3 r
l 表示列左齐 (小写的 L)
& ]( ]5 E6 Y5 Q0 @9 M; l4 ~7 { X0 | c 表示列居中对齐
1 F8 C" u4 X8 Q" W! D+ w r 表示列右对齐
6 V+ {. ~ c. [# c) ?5 L5 [- J* t g$ X% |1 W O/ e
三、单元格的合并
# E% Z, i, U4 A/ l1、行内单元格合并命令
+ h1 e6 I, h; G9 e. u S1 W\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
w5 u* ^ p7 B1 [ V0 I0 X8 Z2 o6 W; n; _; q9 i. x+ [/ [( p
(1)基础模板:
( F6 \1 y$ B& T7 _ \begin{tabular}{ | c | c | }
9 G' z J' S3 W, j, ? \hline5 V* z6 g" n1 G: H" s
\multicolumn{2}{ | c | }{成绩} \\
3 y- \7 F1 `2 @ \hline
3 X6 J6 w1 i4 [ 语文 & 数学 \\ \hline: U. D1 k7 u! [( @ [% F
100 & 100 \\ \hline' Y- C2 V3 l/ U V4 \( ?7 t
%阿汪先生的博客
4 V9 o: g1 ~) |# I, n \end{tabular} Z; [' Y/ \6 |
: w8 Q1 m! Y( B$ X, z* X(2)进阶模板:+ c7 z5 `% W3 `5 V+ t' |1 h2 l3 ]! W
\begin{tabular}{ | c | r | r | }1 B* |5 h1 W1 k/ E4 V; e3 J
\hline
( N; A8 i: v) I- U$ _9 Z &\multicolumn{2}{ c | }{成绩} \\
! b2 e6 M# v# l% S9 W1 n \cline {2-3}
8 | i2 k8 e+ l: w' l7 |! ` 姓名 & 语文 & 数学 \\ \hline8 _% e. a& w. ]
阿汪 & 93 & 97 \\ \hline 7 W3 O0 V! ]) ~, i
%阿汪先生的博客4 Z7 G4 B3 C/ ^8 |" {- B T, Y1 X
\end{tabular}4 |" s, M' X; W+ X9 `" l. O2 N
- b; T) M2 k& Z3 ~2 [( N
语句技巧:画水平表格线需要指定线的起始和终止列号。7 d' \' c7 ]/ l. O) H
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
; |% P- e5 U) Q0 n' F k
1 p; j* q2 ?, @4 ~; `% d2 `) X2、列内单元格合并命令
; A$ }2 C7 s% l, J0 C* ]5 M需要用 multirow宏包
6 E/ }& e$ p3 b- [$ g7 v5 x8 I( t! s\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行6 h# J( u. }, A3 m6 O
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
5 f8 |3 f/ d- T5 j
$ f L4 R/ s2 ^基础模板:
: D- a/ m# c2 ?& Q! D6 @9 q%导言区 \usepackage{multirow}5 {8 }( I% \; ~" p$ ~; C' s# o
\begin{tabular}{ | c | r | r | }& ]3 S3 K( k5 x6 b
\hline/ }! L" i1 ]. a
\multirow{2}*{姓名}&+ ]7 }2 T( \; v4 B+ z- _1 e9 @
\multicolumn{2}{ c | }{成绩} \\
5 f8 V' B2 |- y$ S. ?( X% t \cline {2-3}
: h* A+ g8 X6 e6 F & 语文 & 数学 \\ \hline* _ ^0 w$ N% H# d+ D2 N
阿汪 & 93 & 97 \\ \hline
! y* r; S1 q3 q& X" ~ %阿汪先生的博客
7 x% `5 H9 Q& R% Y \end{tabular}
2 [9 v: \7 v/ u- B0 x+ W' |9 t0 r; p' x7 L& J. C$ H; i0 e
四、特殊表格- E) |4 I3 I1 _2 A* N
1、定宽表格—tabularx# q) t( c/ d; K/ U. U& ^
(1)注意点:
3 h& g; ^8 `# j3 B1 L M tabularx宏包提供tabularx环境" f# I: f$ J9 b. A
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。; O% a1 f2 _$ U$ O
+ A6 l7 }6 r5 [1 j" l% \" n0 B
(2)使用示例:
9 x% \5 E6 ^* B1 v" \* _%导言区 \usepackage{tabularx} g1 v1 f4 Q* K3 D: ]
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
p' K7 r" V% _* g- u \hline
/ C8 |" ^) M3 v r$ F7 ^ 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline2 V2 [8 d4 z( F( Q
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline# _4 r5 ^' ]! @5 F% Z6 l
%阿汪先生的博客
$ Z+ ^% T, n3 Y0 P9 d \end{tabularx}
3 C/ i& ]) Y) U8 V6 E, t4 V ! \$ } _+ \3 B' }6 U
2、三线式表格—booktabs
% f2 _3 s1 t( x(1)booktabs提供了如下命令:+ H; A; o1 Q7 K
\toprule ,画表格顶部粗线。% L+ H- Y6 i7 P) M
\midrule,画表格中部粗线。" r- x$ r) N. H* m
\bottomrule,画表格底部细线。
+ S$ z" f) d+ b9 g0 j# z) H' A \cmidrule 与 \cline命令相似。
" h6 I( N4 \ j, a' a' O. ~# M8 Y( U6 r, b3 r3 b3 M* g) q+ W2 s
(2)使用示例:! V- n3 Y: B; Z v ~
%导言区 \usepackage {booktabs}
* {: K& e4 Z3 E1 v/ _) W \begin {tabular}{c c c}
! T: {9 e) [0 l q \toprule
0 E3 i3 k6 ~ B3 `$ s0 J C 姓名 & 语文 & 数学 \\ \midrule
9 v( c% F) Y% ~1 }4 V5 [; i. x 阿汪 & 93 &97 \\ \cmidrule {2-3}+ M% W7 n( Y$ h/ A0 _$ x
阿喵 & 98 &92 \\ ; s7 Q& f/ D- j5 m7 ^
\bottomrule
& _2 ] x3 Z+ I! R% j4 | %阿汪先生的博客
3 r$ z0 m& T! Q; h; n4 P {3 Y\end{tabular}
, h2 V: F0 r! l( H( G1 L% H# Q
. [0 V4 l! {) `# P五、常用表格参数的设定
, T3 y6 T- }6 E( \$ Y" F1、表格浮动环境
# T k% I3 L1 s/ g: k控制表格(浮动)在本页中的显示位置需要table环境。
9 K7 `" Q! ~) F+ r9 j) ]! Y位置参数有htbp四种:here 、top 、bottom 、float page。. m5 {# P9 Y- v: d X
table环境中可以通过 \caption 命令表格的标题。
; }- J% s9 r6 w: `; y) \; i! V4 p1 E. M3 J: Z' `+ w
(1)位置参数htbp释义:- N) C, @$ r) ~* Q# A. H. b
here:在输入表格的位置排版4 T& y1 x, X% i7 ~: M
top:在输入页面的顶部排版
( a/ f3 b$ n- |4 `' Wbottom:在输入页面的底部排版
( {$ C4 H! }9 q. @+ s: c0 d( w U! y9 Jfloat page:在单独的浮动页面排版
R* b8 c+ e$ p) q, K* Z5 }(2)使用模板:; P- {5 M2 W& ~1 J, i3 P1 V$ C% n
\renewcommand\tablename{表}
4 P8 C4 M6 I0 \8 v m* Y \begin {table}[htbp]7 Q1 ?! N8 J `. s3 D- L w5 R2 A7 s
\centering \caption{成绩一览表}
* Q$ r5 }2 M" ?( d \begin {tabular}{c c c}# {& A/ J0 C0 k: {4 J7 |
\toprule 7 L* O4 }2 X8 K- o: [# A
姓名 & 语文 & 数学 \\ \midrule
6 `- Y s6 E$ g- {* a( P- ? 阿汪 & 93 &97 \\ \cmidrule {2-3}# v! d" [( z& a5 p' ~5 t
阿喵 & 98 &92 \\ / ?( ?, I# d7 O5 E7 H/ @0 c
\bottomrule
: ?, J h, n' w# Z$ K) j \end{tabular}
& `( ?4 q6 O) b) p' S %阿汪先生的博客
% r' y7 h8 S9 P; @$ w3 l* y. T \end {table} + @' `9 x) r1 `( P
* {3 C) l z( R$ R. p2、功能强大的tabu宏包
. A v& h8 ~' t$ F(1)tabu宏包提供的基本表格环境
0 z0 [ b4 b. }* s v2 s\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}9 b8 L; G5 {5 a" i* K( m
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
4 Y9 ?) i* {; V5 J\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
$ U9 C& n {; _# o, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
8 l$ {6 Y& F$ I$ V(2)画线格式
( \4 o0 F3 G! h r1 w1 y: `$ R" V& x tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
% ~7 }; u1 `" o \begin{tabu}{|[2pt]c|c|[2pt]}
' w0 G" _3 o2 L g% L \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,# q# v" j$ w* V$ g
{-}指从本行起到本行末尾画一条横线,
4 c% M9 D5 R m" j1 s4 j {2-}指从第二个单元格开始画线至行尾。% t6 J4 w, z: p3 c
9 y- s) X0 }! U
(3)单独设置一行的格式+ Z: N2 ^1 o( w. b+ f& m
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。- {( \$ L; ^' M. U0 T1 B$ E1 r. {
使用示例:
9 i0 S7 N4 a& d& e2 g# t6 ~$ D
1 z# {1 Z6 ~) S+ ^. [2 A\begin{tabu}{|X|X|}
7 D( K+ u2 o- j \tabucline- %“-”表示无厚度等参数
6 t. b+ `: J: I& [* l' h \rowfont[c]{\bfseries} This & is \\ \tabucline-
9 L; d" s. S, Q! F# f; Y8 a% ?; a1 q for & everyone \\ \tabucline[2pt]-' f1 v9 W9 n: l% M
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- 1 A. a, p3 v/ v
%阿汪先生的博客
; r! F% ~ g- c2 W\end{tabu}
9 Z3 q# z3 U' N. N" [7 d, ~0 d4 u" f- B0 V! \3 }2 w
(4)其他操作& p! V& a% o# K/ l, w3 M- @
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
* ?* T/ ], c( e% X\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
2 E; K6 @. s* j+ h+ }! V- W使用示例:2 k) f) G6 y9 G5 q. i
\begin{tabu}{| X | X |} \hline
% U4 _" E2 `2 O3 s\multicolumn 2 {|c|}{Hello}&World \\ \hline% n% N$ F) A/ O0 f
\tabuphantomline %阿汪先生的博客7 [, U6 F6 D; ~4 u, Z, j% q; r/ B
\end{tabu} %表格中不能有空行
$ ?1 ?& [* @/ r: I% ~8 S6 |4 L& V$ V! @0 b _, D4 g0 p- j7 B( R2 U
————————————————
4 I: A i2 P4 U4 ?. T$ A版权声明:本文为CSDN博主「阿汪先生」的原创文章。0 } K+ ]; l# C/ W9 ]( ] }3 ] ?
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
" J% s! Q. x5 L2 i3 }7 S |
zan
|