- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55509 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17604
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包, _. N) d8 _- ? R
dcolumn 对齐小数点
/ m7 g# y3 ~9 Y- Z makecell 单独控制单元格格式& N$ E1 ^( M9 Q0 N3 W
diagbox 对表格进行斜线分割 V' a9 ` b% T. H' T
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
) o' j! |6 a, s5 J5 J ltxtable longtable和tabularx的结合体! D T; I9 [! T, k9 d3 l% R) b
array 各个表格宏包都依赖于它
, _3 T& n0 J! r1 Q7 ?* ^, w7 a* tabu 命令简单、功能强大/ P$ g2 t2 Y' I4 ]1 I& B$ B$ P
1 g+ `$ D' q) l; e, X$ }/ Y& F
二、输入格式及说明7 @. @; o5 R8 I; \) {
1、一般输入格式' a: I& L+ c: l
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}" ~- r7 b% I5 V1 I5 v
& & & & \\, d! t( |# K( n% V4 C
\end{tabular}7 f/ x1 d3 z, H, h
5 o, Y- Y" P( s/ ]1 x# S2、一些说明$ K4 x# N* U) ^+ J1 Z2 Y" M
(1)特殊符号:6 v3 t# h2 F2 h0 _
\\ 表示换行
! o$ B% i7 f, K; U# K3 c$ E1 s) A & 表示分隔单元格; l5 k$ ^7 Z# R" f: }" P
& x' ?; L$ V0 Y: h7 q5 k7 V
(2)垂直对齐方式:
! o0 |" B1 Q9 }" D: ^ t 表示按表格顶部对齐( M2 |; m/ W4 H
b 表示按表格底部对齐
- L" S2 c. g0 [3 Y$ k# m 默认为:垂直居中,非t和b的参数都看作居中
0 s4 ]7 v! q5 R9 b
' @: f0 F% I. T8 C* g3 m9 w$ T(3)列格式:
) C4 E! f7 k( j, ` l 表示列左齐 (小写的 L)
/ M# r) i$ Q" ? c 表示列居中对齐
0 s. b4 K, n7 t: k r 表示列右对齐/ ^; W" n# Y; }9 p2 a# q( f
/ J5 t% {$ h9 I2 X9 ]
三、单元格的合并! b$ }1 j' Q( ?5 g3 t, i
1、行内单元格合并命令$ H/ {2 ^& N5 C' W9 e; X
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 / y2 C0 n8 [4 J. X1 x$ T; ?
. W( E8 Q# n3 z& P# c# ~; A(1)基础模板:. a* o! V8 u( y) `
\begin{tabular}{ | c | c | }
- b# a6 \0 y6 { \hline7 z# n+ z# W0 i& |8 l
\multicolumn{2}{ | c | }{成绩} \\
/ O. ^( J( U( @9 G" p \hline8 i9 Y, P! b4 p! j
语文 & 数学 \\ \hline- M5 L1 W7 o% O8 o, R$ b7 E' ~; f
100 & 100 \\ \hline
' d/ f7 n! _4 X# J3 E# m5 O %阿汪先生的博客
* I- e- l( B R7 O$ @9 U ? \end{tabular}
( F: k+ t: ?+ S/ U
0 L+ m3 f. U- Q" b- X+ Z(2)进阶模板:8 S! x( L6 U8 H/ ~
\begin{tabular}{ | c | r | r | }' |7 B9 {5 A9 i
\hline }! S3 G3 O# j
&\multicolumn{2}{ c | }{成绩} \\2 r2 g6 X# y5 X+ R
\cline {2-3}
7 @0 F" y8 {6 ]$ |$ C 姓名 & 语文 & 数学 \\ \hline Q& N S" k V5 s/ q+ @# c6 c7 P
阿汪 & 93 & 97 \\ \hline O, W; x' t! k, B I* u; g
%阿汪先生的博客
: ]& v/ o) b* f' K- r4 [ \end{tabular}3 ^4 M, _$ k+ j L) v
4 e, k( m. ]! z2 T ] i
语句技巧:画水平表格线需要指定线的起始和终止列号。
% c$ V) }+ p4 W( ?用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
& `4 J: _1 i9 O: w; ]& Q2 M
. r: ^, M8 k. O, c2、列内单元格合并命令& g7 }- D: ^; U; ?
需要用 multirow宏包
* E% S3 c- l" V6 Q6 L\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行0 E5 l# B4 Z( a; |2 _. F3 {
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
& A0 r1 @) g4 p4 P' c! T, c- U0 L; j4 g4 D( F6 a
基础模板:3 T' c) I" r, \9 c' W% w- W
%导言区 \usepackage{multirow}
+ w! ~: G1 j) ~ \begin{tabular}{ | c | r | r | }$ }9 r+ g7 F- m& `
\hline
/ `% \/ }; p5 v3 E8 ^! h7 C \multirow{2}*{姓名}&% j3 g% j3 O1 S. u, \9 A
\multicolumn{2}{ c | }{成绩} \\ w; c2 t* X8 v/ t
\cline {2-3}/ z( [; D% ^# I& i* u1 Q6 \" h
& 语文 & 数学 \\ \hline* k; ]9 Q) Z" e! z& m+ q
阿汪 & 93 & 97 \\ \hline+ _) E$ F$ Y' S
%阿汪先生的博客$ |+ V+ s) j5 _/ r# e6 E [ t
\end{tabular}
5 ]0 Q2 k, L7 s) G( a# C* F" ?4 _8 Z, t$ Y* L
四、特殊表格 k4 }. b+ I! e3 o, S1 A
1、定宽表格—tabularx
6 l$ \) X* @1 ?' f1 i(1)注意点:- y6 q9 K* K& s
tabularx宏包提供tabularx环境. z; _# V/ h; J: \0 i( A6 ]3 @
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
0 {, J9 D3 L1 S5 ?3 ?( ^! q. g
$ v. c g, G- w7 T2 z c* X(2)使用示例:
% k6 g7 f, |2 K# t: U' w%导言区 \usepackage{tabularx}
( P% O8 a0 D5 m1 g( b \begin{tabularx}{400}{ | c | X | X | X | X | X |}2 Z L2 ^2 C6 Q: N# @. g9 B
\hline
S# N `' s2 B" ?! e+ N: Q 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
; o3 Q V% W" C" l8 \+ h/ K) G I 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline* m2 E% u2 q8 l
%阿汪先生的博客1 O I F" W2 e
\end{tabularx}2 M! X; ~5 `. F" ?# }4 t( |# W1 U
0 U# x; J) b" u* |
2、三线式表格—booktabs* J& W$ L( }" [" k
(1)booktabs提供了如下命令:
- ]' Q5 k# i6 b( x3 I& M \toprule ,画表格顶部粗线。5 |8 }. L! p& p" L; x' e* P
\midrule,画表格中部粗线。
M8 r* [1 a) _" t1 z6 o K \bottomrule,画表格底部细线。* {' ]( Z# a* t% B: s- w/ u
\cmidrule 与 \cline命令相似。
1 }0 v2 ]) S5 K, ~' S/ Q c0 Z" F% g9 [. m3 p S1 U/ U, b
(2)使用示例:: s1 y/ k5 q3 O5 B
%导言区 \usepackage {booktabs}
( ], V& T5 Z/ U4 `( {' s! B \begin {tabular}{c c c}
6 F1 @2 @8 E# V2 a, s \toprule
5 J6 \: @+ F- T" N8 J, N2 c' r 姓名 & 语文 & 数学 \\ \midrule& n# m3 f k7 Z/ R0 ?1 L/ U; U
阿汪 & 93 &97 \\ \cmidrule {2-3}4 j/ h3 @/ v! j" K2 k
阿喵 & 98 &92 \\ 2 F' e$ d9 g, ^! Q
\bottomrule
! Q& I# W/ D) g5 { z %阿汪先生的博客0 u! w9 Q" @( Z+ \7 B
\end{tabular}. @6 j# _1 R6 Z& T S; o. z
- @9 T# J' r5 q0 [. k: ?& `; n五、常用表格参数的设定
d3 ^* D& v7 y! R8 \" S7 u1、表格浮动环境
: z+ D8 D2 l3 B0 j' P0 O: A; e& n; v控制表格(浮动)在本页中的显示位置需要table环境。! h' D: k" {% L" P0 B" W* z
位置参数有htbp四种:here 、top 、bottom 、float page。7 T5 e" s/ x$ n5 A2 {
table环境中可以通过 \caption 命令表格的标题。
c) p% v4 F, [8 a
8 \0 X6 b& T u& L8 v(1)位置参数htbp释义:# o: u- M- A4 v3 r4 m; t
here:在输入表格的位置排版9 O* z- ]0 z# t4 D* r: q
top:在输入页面的顶部排版; k& G; a; @6 j( I
bottom:在输入页面的底部排版: n8 o/ q/ R7 c2 I# c' @& N
float page:在单独的浮动页面排版1 [+ J* Q+ j- C$ G3 i+ H- x* C
(2)使用模板:- B* G) g* o: Y5 z6 U' C
\renewcommand\tablename{表} ?5 Q) U: W" p9 |' R; f4 u2 Z
\begin {table}[htbp]0 D. O! M" ]$ g1 F3 x8 c3 a
\centering \caption{成绩一览表}9 F- J4 f. J; F4 H, t
\begin {tabular}{c c c}! H3 W1 e( x1 u' {* V; H
\toprule 2 I) s6 ]! }# N _
姓名 & 语文 & 数学 \\ \midrule: q" g2 J) X& V8 m$ ~
阿汪 & 93 &97 \\ \cmidrule {2-3}, O! M/ I) I4 _) L
阿喵 & 98 &92 \\
^' k C' q3 T \bottomrule7 P2 U. I" e" u% ~7 k7 B+ A, f
\end{tabular}
" {% d% z' e' A2 q) q1 X %阿汪先生的博客
6 j( R% C% U1 m2 } \end {table} ' B3 Y" U1 V3 d( q L
$ e% e( R3 m$ G. W2、功能强大的tabu宏包/ x( M, ^ Z7 a# s& @0 d( c) W* S
(1)tabu宏包提供的基本表格环境; Z! Q5 [3 c6 U3 ?
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}' X& o( d2 [# w2 s3 p3 k
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
- W4 V' F8 }* e. k$ ^2 x# s1 O\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>} B B' Q8 N' j5 k8 `0 Q* N4 z
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。- i0 e( _0 @! Z, l. E
(2)画线格式9 s' o/ X+ l$ s% w! T3 j2 j; s
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
0 \9 w9 J9 ]( n% w% n$ X0 \ \begin{tabu}{|[2pt]c|c|[2pt]}
: N9 Z( H/ s, t) p' s9 c \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
* j) M( V+ a! {2 Q. c% w; |0 Q {-}指从本行起到本行末尾画一条横线,
0 }, K" [# {1 [5 S) Q# c3 c {2-}指从第二个单元格开始画线至行尾。( R: H! n* d% l: v
) K2 d2 f$ H2 U1 m, _
(3)单独设置一行的格式& Y R: ]. N$ Q$ r5 S% f+ S' ^2 J
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
1 w; B; Y$ g" e7 c5 K使用示例:
- B; ?( m$ o7 s$ h* u& R" }2 {0 L
\begin{tabu}{|X|X|}- O/ n- i ^2 E4 A: ^& P; B& V2 Z
\tabucline- %“-”表示无厚度等参数
2 x) }2 E4 M9 m6 L' L& { \rowfont[c]{\bfseries} This & is \\ \tabucline-
) w' q$ i V5 l K ^, H for & everyone \\ \tabucline[2pt]-
( R i# j7 w. h/ E; M \rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
/ K! Z! a4 z; V4 l( P+ b %阿汪先生的博客) t$ d% b& `2 g8 Q- S9 d! Q7 ~
\end{tabu}
! t6 c& Y# P: ~. @0 l- G! M
) E- K! z" z: [. U(4)其他操作
3 n( o3 Y$ W/ y& e( `( H7 L& e8 {5 Y在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。0 _7 V% w. G/ t+ C0 w
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。/ R) k1 G. Y: a7 f1 I- _3 Y
使用示例:2 G3 Y1 O$ ]) b8 o
\begin{tabu}{| X | X |} \hline
. E+ `. ~4 E' G1 Y7 Z$ z\multicolumn 2 {|c|}{Hello}&World \\ \hline
' y$ P4 Y$ a, }0 |& ]6 N8 e; S\tabuphantomline %阿汪先生的博客1 S8 N/ ^" L& R! @! J) k2 I
\end{tabu} %表格中不能有空行
+ S$ Y- I2 H) I' O
3 Z2 u$ B6 I9 S7 Q! m————————————————
+ C! d- W* G3 Q1 O A9 B版权声明:本文为CSDN博主「阿汪先生」的原创文章。
0 C9 k- C8 A8 w: X' J4 `原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
* D0 |: ?7 j( K2 e' C6 y |
zan
|