- 在线时间
- 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 田老师国赛冲刺课 |
一、常用的表格宏包# x& I; l6 y) _4 g; O
dcolumn 对齐小数点9 |; r7 \, f! \8 V* c. C7 q
makecell 单独控制单元格格式: ]$ H% l3 X! T
diagbox 对表格进行斜线分割
- @/ _% ]9 G3 ~: B* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
1 _- J" l( o7 V! m0 W& k, T X5 F ltxtable longtable和tabularx的结合体, N' W0 z h1 [5 m0 e) f, V1 C
array 各个表格宏包都依赖于它
5 I6 O: t1 q* d3 S- t* tabu 命令简单、功能强大
1 B: L/ f9 X9 R1 ?% m0 g2 [ C: {0 \) Q, n* f: j; l
二、输入格式及说明& E( |# y4 }/ \/ }" i9 s/ U
1、一般输入格式
$ U$ ?) D3 n# p\begin{tabular}[<垂直对齐方式>]{<列格式说明>}$ Z) a5 H# z/ j+ {% n! J0 t
& & & & \\
, r5 H+ q( @" F2 j \end{tabular}1 w# i$ D& m, F/ D/ j f
' e0 q0 ?. \! g* g
2、一些说明
. ~) c2 u' c; V(1)特殊符号:
' S+ I6 {. P* } S \\ 表示换行
* u. L6 j# [5 B' f6 T. v X & 表示分隔单元格$ w" e3 ]& {5 w/ s5 b
: e; T4 z* |: F _) L(2)垂直对齐方式:
B$ Y# t5 S" X l t 表示按表格顶部对齐7 \; M8 x7 I/ j6 I5 L& `3 S- b5 Y* i
b 表示按表格底部对齐
]6 h3 Z2 Z* n* p+ j/ P6 \ X! ~ 默认为:垂直居中,非t和b的参数都看作居中7 l& w- _( D7 M9 E K+ u
: O0 r6 N+ C+ A* E1 y9 ^
(3)列格式:
$ q; d& v: v: X3 E; g* J l 表示列左齐 (小写的 L)
' \( T: v) U5 h( U; H6 ?% [, } c 表示列居中对齐
" \- C7 P4 G, N$ X0 G9 l r 表示列右对齐1 r* g, d( Q# |' `) M5 h
7 e) m1 f, a: x; `5 b3 G! ~三、单元格的合并# j% S* p/ M: _. k: o, N* q
1、行内单元格合并命令
$ P% V, Z; l: A- w/ @! e\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
^4 x6 r) o' d9 e; K: N3 U
" r% A0 f9 O5 v1 C1 Z(1)基础模板:
$ R. I. p* l3 n! `3 p/ x \begin{tabular}{ | c | c | }
3 \) k9 I6 P4 a& R% s- { \hline! B. m8 N- z" E( h4 ]
\multicolumn{2}{ | c | }{成绩} \\- F4 C9 R9 n: X- b
\hline
) n% C/ M+ ]5 e$ G 语文 & 数学 \\ \hline. D, n( O! M! X, M7 \' R: _/ N
100 & 100 \\ \hline' U. z* M9 N0 _ i' D4 Q5 v" Z3 J
%阿汪先生的博客( f- `* {# X' f1 w) n
\end{tabular}. Y! p5 V6 l' }* z: K3 ~
, N$ V0 j2 M! G! r$ Z, [(2)进阶模板:
O/ C, q8 N3 t- }. m7 T% @ \begin{tabular}{ | c | r | r | }
0 V: J2 ?. j! Z7 ^; {5 o* b \hline# a- v/ N" @) ~. {$ c; _
&\multicolumn{2}{ c | }{成绩} \\2 ]" x9 ]) U$ f, i; i
\cline {2-3} Q' y1 V8 Y; d6 @: x$ y
姓名 & 语文 & 数学 \\ \hline
I6 ?- m q6 K1 h4 U$ K/ \ 阿汪 & 93 & 97 \\ \hline
6 O; }* A- P/ x& q7 A' | %阿汪先生的博客
: A* e4 _2 j) C \end{tabular}& \' U3 t! z' i) t1 U2 z# f
' P q# r$ j7 v# V语句技巧:画水平表格线需要指定线的起始和终止列号。- _ w3 C V# o! L) M/ F, e5 C
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。- s8 N/ r7 }% K& w. N
* W% T5 F. n7 K, q- h0 Z
2、列内单元格合并命令
0 T0 H' X% Z# V- |3 P需要用 multirow宏包
( } |/ @0 i' y- V7 K& z\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行) K& [9 e3 O& {& P$ S1 \
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度; u4 Q2 u1 {' j/ ?! q3 y5 y+ x
4 @$ B$ w$ ~% `+ Y& h* q" }基础模板:
8 s' c& j7 r8 u) g%导言区 \usepackage{multirow}: i7 w" ]; R$ \
\begin{tabular}{ | c | r | r | } v/ h4 M6 A5 }
\hline
% W1 y& O( S7 o# _7 `! _ \multirow{2}*{姓名}&
$ [4 Y6 T8 y8 ?! Z# T' r$ p6 U; h \multicolumn{2}{ c | }{成绩} \\% S7 C& A) E7 b8 q* o4 G- w. g" f
\cline {2-3}. F& n8 N* D) j+ x
& 语文 & 数学 \\ \hline
% q2 F- V2 o1 g9 S 阿汪 & 93 & 97 \\ \hline
: ~0 [. Y: P- q+ U$ d8 x2 V %阿汪先生的博客7 W" U# L9 R5 v* C: n! e
\end{tabular}
' s* {; G* n9 w' N0 d C9 O: ~' E8 [; r
四、特殊表格
! ?4 R }6 `) @& A. _! [. O4 W1、定宽表格—tabularx& L' O5 f% K" t) c6 s: s
(1)注意点:
8 w% e* Y% E* f1 o0 r( m9 I$ C( ?- a tabularx宏包提供tabularx环境1 n J! C4 a0 j2 r
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
w: F3 ?( b; `5 H# V" @3 u7 [3 z1 M7 K* E2 D4 n1 o" {9 g. t' ^( f
(2)使用示例: d0 W5 p" A1 Y2 E
%导言区 \usepackage{tabularx}9 z& \7 U" R3 M1 r/ \
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
- G- t/ c4 I4 w+ Q \hline
9 D: @% g* J$ Y0 P5 M+ P7 |/ Z 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline+ x: i5 j4 b; D- J
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
3 U. j8 A% M* r& x& a4 f0 C, y( Y %阿汪先生的博客! [0 {/ _: n' m. v
\end{tabularx}& Y( W* O. d8 b4 X; D: E# O" E# E
3 j( P% M5 Y% r
2、三线式表格—booktabs- E" Z% P) q$ r- z: ]
(1)booktabs提供了如下命令:4 m' n/ x4 t0 `! E/ ?# {8 `) O
\toprule ,画表格顶部粗线。* a* E+ t1 P3 R4 p" M
\midrule,画表格中部粗线。6 u/ V, A3 r6 O! W7 z
\bottomrule,画表格底部细线。
% E8 V a* i+ i* n( N \cmidrule 与 \cline命令相似。
$ _" E) u$ a" E+ L* c* \; h
. |3 B. ~, h" `5 r3 ](2)使用示例:
6 I7 J4 C5 n* K%导言区 \usepackage {booktabs}- S8 B1 P, F+ f
\begin {tabular}{c c c}$ L5 L# Z& p9 p! f8 [( y2 y( F4 X- ]
\toprule l, t, `3 z4 u* a! \+ L
姓名 & 语文 & 数学 \\ \midrule
( ]) N6 f2 {9 N& [$ U 阿汪 & 93 &97 \\ \cmidrule {2-3}
# X, s- ^! }1 ^ 阿喵 & 98 &92 \\
& Z1 a; ^- w8 i/ h% z" P" C \bottomrule R2 H" N$ d+ ^$ q
%阿汪先生的博客% X# h2 ~+ M8 g' G8 A
\end{tabular}
& `9 a4 g+ o: Q" p+ N
: Z2 V0 @+ X; |3 ^: U2 o' H, n五、常用表格参数的设定7 Q3 F: P* u& [( s( b3 v5 l& z; I: `
1、表格浮动环境
- @7 M) T8 j5 Q! W6 D8 G控制表格(浮动)在本页中的显示位置需要table环境。
4 e* A, t$ R& @) L4 p# U8 @位置参数有htbp四种:here 、top 、bottom 、float page。% Q5 ~4 {, d4 i5 c
table环境中可以通过 \caption 命令表格的标题。) b/ N( H) L1 K+ a; ~5 ^) j# x
7 i- ?& o3 O4 V1 z) O& h(1)位置参数htbp释义:0 V* i; C$ Y) g: d- C2 H- G( e
here:在输入表格的位置排版/ ], z* ?0 |# S$ r3 b L- Q" k6 U
top:在输入页面的顶部排版/ ~/ G5 l' ~3 v! A$ k
bottom:在输入页面的底部排版% e+ b* l* Y/ L
float page:在单独的浮动页面排版3 Q! A9 {2 e% e2 `. F I5 l
(2)使用模板:
' J( q5 p: H4 q) n6 S\renewcommand\tablename{表}
9 c! n$ J+ O3 @ \begin {table}[htbp]& v+ \' b0 s; M, h( J- O, Z$ R
\centering \caption{成绩一览表}7 h. H$ R+ Q* f
\begin {tabular}{c c c} Z7 Z. a4 p a3 W
\toprule
" {! T6 M! {% N; s7 H* C: b 姓名 & 语文 & 数学 \\ \midrule
?' K; Z4 |+ w/ r2 r1 k 阿汪 & 93 &97 \\ \cmidrule {2-3}
) {1 g# f* _, b 阿喵 & 98 &92 \\
& h* P" G7 ?! ]% Q( ~; x \bottomrule
! f1 `. p$ t8 Y2 _ ^2 _ \end{tabular}) `8 T! X: P( T; X3 U0 | {7 t) b9 s& n w
%阿汪先生的博客" S! o3 J" \$ b
\end {table}
# J R" V) C& m0 Q/ i9 y
5 a" v7 H7 |, z* s# v2、功能强大的tabu宏包
G4 ?4 T7 J7 R7 t, Y, V(1)tabu宏包提供的基本表格环境8 J' d8 `9 Q9 y8 k7 ]8 D5 Y( r# g
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
; j1 C7 i% w# d( G1 [! Q) Z3 _% u\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
8 c7 l O0 D- z( d5 K n) _\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}4 w0 l \3 e- q7 b& y
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。% x. G9 t, ^) G# U+ {# i2 \0 G
(2)画线格式* p8 a' P5 z8 F# a' r
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。/ |* U2 N# B# U0 H4 G
\begin{tabu}{|[2pt]c|c|[2pt]}
% j# @, g+ z9 h8 x: d! v ?, x \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,3 Z( m5 R) S+ |% M2 ?: a5 R7 r
{-}指从本行起到本行末尾画一条横线,' [1 Z$ z+ h- ^! }7 B0 p; j2 |8 i
{2-}指从第二个单元格开始画线至行尾。
3 a6 `' O: v" {: o2 o0 X; L$ r' j" P# Z/ @
(3)单独设置一行的格式
% X% a3 A, o; h2 u( B3 P \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。$ W! u0 h2 c! F9 O9 r2 n5 w( V
使用示例:
; b. T3 j5 y* ?3 ?* L' u% Z$ S3 c' K0 u U2 ^( X2 X
\begin{tabu}{|X|X|}
3 q& n4 E. Y3 a" K3 h3 L! G/ h' C" P \tabucline- %“-”表示无厚度等参数! @# g% L) l% ~0 X* {8 g i
\rowfont[c]{\bfseries} This & is \\ \tabucline-
9 [% {# E# v8 V3 @- A for & everyone \\ \tabucline[2pt]-% N9 ?: U9 x# d8 L5 E: c2 G
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- 6 m4 s8 q, y! B: e9 b4 P4 c
%阿汪先生的博客 [$ D5 V( _3 j2 g9 t
\end{tabu} : W" }3 y O0 d1 Y! |! z5 y
7 U! V/ Q2 q& f2 v! A(4)其他操作1 \ N4 }: T, w, v" n
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
" Z2 h1 c3 d% _7 B% V) D# i\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。* y+ R# a; H$ r9 _6 q* E
使用示例:
4 A" P" G8 Y: _1 v7 ~( j\begin{tabu}{| X | X |} \hline* Z* f5 y2 |1 B% B! M7 D; c
\multicolumn 2 {|c|}{Hello}&World \\ \hline
# ?/ m( G# V& X) m& s% O\tabuphantomline %阿汪先生的博客
" \+ N, n2 y9 S\end{tabu} %表格中不能有空行, Y7 X0 k0 E5 w+ H" p+ X9 l) L
+ J9 _7 Y# F+ k& X
————————————————
7 d$ U. D; H' g* k0 _4 `版权声明:本文为CSDN博主「阿汪先生」的原创文章。
, V. T& I, |, o7 Y/ A原文链接:https://blog.csdn.net/qq_43499622/article/details/968944371 \4 J9 K# M6 R: S/ s" M) O, J
|
zan
|