- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55539 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17613
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包4 {. E7 D+ ?* d& Y8 D& \4 X
dcolumn 对齐小数点3 J: E& J, b7 j9 D0 Y
makecell 单独控制单元格格式% j; a! N! ~! ]; O* w$ Y
diagbox 对表格进行斜线分割" K' _/ U- H ]4 D/ }7 ^; |
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)1 K4 a+ I# v! z1 l; @! q: B k5 c
ltxtable longtable和tabularx的结合体
- e3 j0 b; ?+ ] array 各个表格宏包都依赖于它* d3 Q) H1 g# c5 T
* tabu 命令简单、功能强大
) Y' O( s, L& B) Y% H) i4 G9 m7 f8 w0 `8 X
二、输入格式及说明
2 F. f0 a# h5 I7 m$ i1、一般输入格式" E6 o) F! L1 Z9 r6 B
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}" d# x j, ], D* p& [
& & & & \\! e6 t! R: O& D! e# Q
\end{tabular}. P2 d3 j( _( W0 N
7 T; l) v! O( R$ }2 _2、一些说明% I# E4 W( q& y# m; s! ?$ N
(1)特殊符号:
) O5 W6 D* x- l% S; I. }: x \\ 表示换行) n& f- z, c) y1 A! M5 p" Q1 z
& 表示分隔单元格
; t6 x: ^& y+ O
$ z/ s+ G- Q s! h- D: q# A(2)垂直对齐方式:+ v! P5 U% s" k. O9 h2 N. W0 _4 V
t 表示按表格顶部对齐
8 B, x! @6 v2 w3 E9 G6 A b 表示按表格底部对齐 t1 C* U1 v- I' R
默认为:垂直居中,非t和b的参数都看作居中
4 o9 ?( t0 Y" U' g/ Z' i* J" M) }% l* f3 w- ^# C
(3)列格式:
* z0 h2 u7 S, |$ s l 表示列左齐 (小写的 L)
. ^; G l. N' S- u5 J9 \4 p; x c 表示列居中对齐
3 r# E8 |' B, M+ c- w! b# d9 | r 表示列右对齐% c3 S3 q- _- J. Y2 ^
: }. l$ Q1 y, ]
三、单元格的合并
0 E( z5 J: q! D* h$ y+ t* Y1、行内单元格合并命令$ m. M% ~7 w# S7 u( \6 d ]
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
+ s( V5 C! G: l6 _" ~
2 Z& y' i/ K. e* F(1)基础模板:" z' Q( d; o( p/ z* l8 Q
\begin{tabular}{ | c | c | }
* ^9 l I% A% u! h4 o; \ \hline: r+ z$ V$ U6 h; i$ O
\multicolumn{2}{ | c | }{成绩} \\
2 F0 k- ~7 D, b \hline8 \7 [2 a+ L( f, [
语文 & 数学 \\ \hline' t' ?$ Y1 K1 w: Q, o
100 & 100 \\ \hline
4 h l/ E9 t& V %阿汪先生的博客
) z/ t* D( {. l$ E \end{tabular}- s+ D. [9 u7 @2 @. k2 B
' _+ s# B# G( V
(2)进阶模板:
; o( O7 O% o" S4 r \begin{tabular}{ | c | r | r | }. Z* E8 X' o4 k7 V& Z
\hline; q' v( }1 O6 |9 q! ^
&\multicolumn{2}{ c | }{成绩} \\
- N& x# R; O9 k9 l; x) y0 w \cline {2-3}4 w" b! v1 S3 v! [
姓名 & 语文 & 数学 \\ \hline% M* I0 p% }! ^6 W/ K4 H. x& k
阿汪 & 93 & 97 \\ \hline ; D$ r# A0 A% b7 n' {& e5 Y
%阿汪先生的博客* y/ v: H ~6 w, C, D& p: U
\end{tabular}/ y- X/ A* i0 Z# n7 n' F2 h, N
/ \( e; j- u! `4 B* g& L: G, D语句技巧:画水平表格线需要指定线的起始和终止列号。- h8 Y5 b* h& y+ T) X2 F
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。( l Q* I# d' N5 [: X6 F
1 e, D2 l/ A6 z( _( r: O9 I/ Z) M2、列内单元格合并命令* g0 {0 T S8 A+ p; F0 ?; @
需要用 multirow宏包
2 _# g+ w% r" u3 G3 Z\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行: p0 o) f) z. ]# W
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度' a: R) @2 Z0 [( H
" E8 H) M. f ]3 N; C [基础模板:$ k' p! i4 h: T3 `. ~# p
%导言区 \usepackage{multirow}. `$ E) ^& V, U* @- p
\begin{tabular}{ | c | r | r | }
, [. X0 C+ l! u \hline
7 Y- H# W) G7 @4 C8 _! \6 H \multirow{2}*{姓名}&
& D3 N, X9 n1 S( } \multicolumn{2}{ c | }{成绩} \\
% b* {& S) u$ I0 k" c' V C+ ] \cline {2-3}
5 s: V* q3 S% _( r9 j & 语文 & 数学 \\ \hline
9 M7 y1 t2 l9 V$ k8 R 阿汪 & 93 & 97 \\ \hline. @; \' e" x3 n$ z
%阿汪先生的博客9 B9 B/ b% m* s6 C1 a k0 e
\end{tabular}
* w( S6 e' p: k2 F) v/ R% Z7 F" \( e5 g3 V
四、特殊表格 k* I: o0 @1 T. `4 J
1、定宽表格—tabularx! ` o, [9 B0 |; N
(1)注意点:) y# ?, w# E& K, E0 ?$ I& T8 K
tabularx宏包提供tabularx环境
4 {3 ^% ^% Q; c' K. F) ^4 ?3 { X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。; n9 t1 C$ L5 I$ Q; G
) F) B, t6 Y! a9 h2 \(2)使用示例:
& L) z* j3 g. j" d$ r ?# Y- b%导言区 \usepackage{tabularx}. I2 @3 S7 o" s
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
. }, s/ G3 J2 F2 Y: n \hline8 t( f4 n" _( i
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline6 ?1 x& w: U& y9 R7 | [5 x. r
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
: ^* S2 C; K% f% ^$ ] %阿汪先生的博客7 y; z8 D0 b0 U t
\end{tabularx}
$ c0 _; u* u% V0 A8 H1 z
2 k& Q3 B0 `4 \4 _& l: }1 e2、三线式表格—booktabs
% P" w; M* j6 p V* ^, I# t(1)booktabs提供了如下命令:
9 f- d2 _' t ]0 d0 e# q. B \toprule ,画表格顶部粗线。* r# p$ C0 x- C4 s$ ~
\midrule,画表格中部粗线。 t$ ^& I2 I8 c6 o/ r
\bottomrule,画表格底部细线。6 h5 E' J' X3 w$ r; e) t% P
\cmidrule 与 \cline命令相似。5 l3 v+ Z% |0 U' j4 a5 _3 k# W- C
) i9 l$ K$ }% X1 b( Z7 y- z
(2)使用示例:
4 U3 O9 Y7 j! Q1 d%导言区 \usepackage {booktabs}
3 w" r2 b0 y9 {1 c \begin {tabular}{c c c}6 e5 j. H3 O! ]+ [4 m' S3 n
\toprule% M$ G) ^- p. H. A
姓名 & 语文 & 数学 \\ \midrule
& a' Z6 [8 _ X' H, e 阿汪 & 93 &97 \\ \cmidrule {2-3}
9 Q1 Y( J) H/ x1 O. Z6 E 阿喵 & 98 &92 \\ + k/ T+ s9 U' ^- @% N+ B6 [
\bottomrule 8 f1 R, G1 z0 m5 x* G! H
%阿汪先生的博客8 W/ ?8 P% p& w& p
\end{tabular}
; J8 _- ?+ o, O- J! t& c( ?
8 E3 m9 I# f: t五、常用表格参数的设定$ g1 M2 l8 M3 a# ~% @) N( j
1、表格浮动环境
- b/ @5 D. K- _% T, Q控制表格(浮动)在本页中的显示位置需要table环境。
; v( t7 t. \3 Y/ t8 B7 z位置参数有htbp四种:here 、top 、bottom 、float page。
. f; U5 `* u% F; i; ]& btable环境中可以通过 \caption 命令表格的标题。* X4 n- b- O; p, p7 u3 W
* z* D8 d/ N: i J. p(1)位置参数htbp释义:
2 t2 r. u8 I" z5 f; h; O/ ihere:在输入表格的位置排版6 B6 N7 U7 H- n" x; ?4 M
top:在输入页面的顶部排版3 w% Y( M( ~( p
bottom:在输入页面的底部排版
" L8 [0 z2 R) w8 A \float page:在单独的浮动页面排版9 y* Q3 m0 {/ {0 I+ w; [
(2)使用模板:
% P" m) S( U, o$ x, l0 t\renewcommand\tablename{表}
. O* Y2 g7 E3 ~8 Y6 D \begin {table}[htbp]! ^0 W1 u5 A% i8 I, {: u% a- K1 Y
\centering \caption{成绩一览表}
6 B5 X+ A) l) K' N \begin {tabular}{c c c}& _+ Y9 s$ W* x0 ^3 h
\toprule
* r8 i1 |/ c* {# i9 S 姓名 & 语文 & 数学 \\ \midrule; \4 {# ~7 G8 W6 N
阿汪 & 93 &97 \\ \cmidrule {2-3}
% I$ T$ A- s5 U% @+ X2 z 阿喵 & 98 &92 \\ 0 F$ b. B1 c" \5 K) c
\bottomrule
8 `" I+ Z8 B% `) q" d \end{tabular}7 }3 Q% k: u- ^- ^# J9 k5 |
%阿汪先生的博客
! l8 K1 E- F+ Z0 |$ n, T \end {table} / b5 J9 Y, g* n1 e, F, W
! h' ^# _3 l% h( X( O% q# }
2、功能强大的tabu宏包
! L; {) T, g) p/ _% Y(1)tabu宏包提供的基本表格环境) ?1 B6 Y) N" l3 I8 s
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}' C$ d: Q8 d6 Y5 C
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
: H* j" b7 e Y- e- }6 d\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}2 f) {1 L8 f- Q/ t. h( B- u
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。+ s& C* L3 Y1 U' [
(2)画线格式
" F* I y8 q1 x0 A tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
% S' c2 K0 ~& ^& ]8 o \begin{tabu}{|[2pt]c|c|[2pt]}
: E- W+ u! d+ E6 D \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,4 }$ R: L& K, b- M4 ?# Z8 y
{-}指从本行起到本行末尾画一条横线,$ c( x, N) D( h: a( H( R7 O! D8 G' ?
{2-}指从第二个单元格开始画线至行尾。' T$ p" j% q$ F5 \9 K
$ ^% C$ X k! O0 G. I, ?. o# _7 W9 _(3)单独设置一行的格式
: K& L0 x5 z9 U: Z& p) U2 U6 n i \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
' D; a. U) l1 m3 a* ]( D# L! k! J- }使用示例:
0 ?& k1 o! H, A" D1 j; `$ U4 H2 p' i# ^2 b. T8 c
\begin{tabu}{|X|X|}
5 s- U" {4 ?9 h0 D# w0 w( N \tabucline- %“-”表示无厚度等参数
! S8 N2 m) h/ ]4 O& u" ] \rowfont[c]{\bfseries} This & is \\ \tabucline-
& x* N& R7 d( X; d" t for & everyone \\ \tabucline[2pt]-
* M: ^. c' Z, v8 c) K% Y \rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
. \3 p9 F& G' A+ |+ E %阿汪先生的博客
* Q6 K+ k) J, d1 _* W9 x2 }\end{tabu}
3 \9 e! i0 N- ?) ^- k9 }
! J$ ~3 O A* b1 P* |(4)其他操作. n; L7 ^' P4 M+ p4 u# P" U5 |
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
, T9 |$ ^& A5 K8 V8 E: T% Y c$ i\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。! ^: Y# C8 ^/ V, f b7 o
使用示例:7 x. |( o) N8 i; }6 O
\begin{tabu}{| X | X |} \hline, x+ l* c0 D& t
\multicolumn 2 {|c|}{Hello}&World \\ \hline& y. V/ A/ o7 W" x, j& e' ]
\tabuphantomline %阿汪先生的博客
4 P) l4 F1 n# v7 A: e\end{tabu} %表格中不能有空行
) | ^( A% w7 [5 K4 j2 F1 ]$ c8 N6 b. [4 `9 z/ a! Q
————————————————1 f# ~# o5 E& ]" |
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
: |9 h' v5 K; A$ F6 Y" l原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
, H4 X6 k$ ]& q2 I" m: k |
zan
|