- 在线时间
- 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 田老师国赛冲刺课 |
一、常用的表格宏包! K# v$ c" i% }7 U. i
dcolumn 对齐小数点
6 ~* {/ R6 x: c makecell 单独控制单元格格式
4 f. P% F7 \! p/ B5 H, O diagbox 对表格进行斜线分割
9 N, c2 c3 U: R0 u7 S9 K* longtable 长表格,可用于处理分页表格(表格超过一页时使用)! |1 @$ e0 e& K7 m
ltxtable longtable和tabularx的结合体( h* A7 h# K5 D$ P4 t, J
array 各个表格宏包都依赖于它% G. f1 y- _( {) v& D* U; r( p
* tabu 命令简单、功能强大
~6 ]: G. S% o0 _3 E3 H3 H8 ~. }" \$ N8 c/ c' } v* P) ?6 _
二、输入格式及说明
2 Y3 M! V. x8 e, h* l& I5 D" Y1、一般输入格式/ f- M! g, R {: n
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}# d' H0 X n$ `9 _3 w5 }
& & & & \\
4 r+ f9 ]1 `, }% U5 V- }. T/ I5 V% f \end{tabular}
/ _$ R& V9 A3 b( b; U
' V, r2 g& R% H, T0 G9 t- B. c2、一些说明
2 ~9 n+ e f% @! }0 U$ v( ?9 q(1)特殊符号:. Q, \+ V- v7 _4 Y2 ?& m
\\ 表示换行: y# ~- @8 Z& k, l5 e/ Z
& 表示分隔单元格1 h3 |8 B9 r+ X2 O# a* I% v( o7 n
7 p+ u& {# {" Q e- u/ b1 L(2)垂直对齐方式:
. v# B0 s1 ]8 ?. P" `9 e" P: r1 e t 表示按表格顶部对齐/ P; @5 ^" i) \0 Y/ {8 W
b 表示按表格底部对齐1 G( ^3 `& J2 t" L2 x
默认为:垂直居中,非t和b的参数都看作居中
/ @+ e" w) o* e; i3 _4 h) P. q, u% R, p
* m; [% `9 Q) I/ X(3)列格式:6 ~4 l& p7 o7 f0 x/ P9 A) M+ c1 z
l 表示列左齐 (小写的 L)
+ O! V- a2 e1 d/ L# ]1 t, S c 表示列居中对齐4 l0 i% Y$ s* a9 `, z
r 表示列右对齐1 ^. k6 }! B7 H
9 w& \2 B" A* N' W三、单元格的合并
8 f5 T9 q/ O+ e9 ]5 s2 t" Z/ c5 p1、行内单元格合并命令
/ B, k& y+ f. W+ R0 ~/ Y6 d\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
3 l: U5 e, I9 X9 b* r0 D3 o, M. h
(1)基础模板:
8 D! I: `- ~% o7 n5 C% n \begin{tabular}{ | c | c | }' n: t/ e" F( `0 E" M. e' m ~3 ^# I
\hline7 X! ~4 |; V w$ I4 d
\multicolumn{2}{ | c | }{成绩} \\8 K( d. _& F/ v
\hline
5 b& Y) e3 b. N! `6 Q; _2 b 语文 & 数学 \\ \hline
7 O# ?$ K' T Z 100 & 100 \\ \hline5 G, K+ l" H6 V/ c7 a5 x
%阿汪先生的博客
2 z& {5 [2 ]% Y2 Y3 U5 d; d \end{tabular}
, \" o' d; D N$ o5 A. P9 \
. z3 g8 S! F8 B(2)进阶模板:
5 w" {0 j S% j8 _! | \begin{tabular}{ | c | r | r | }
$ j# ~- \1 @3 F% _# W, I5 j5 X) D \hline
1 y( k" e' T7 V- D6 J# ?; c &\multicolumn{2}{ c | }{成绩} \\
0 a: k* G. ]4 i \cline {2-3}
' H' Y$ S' B! I( ~, m. C 姓名 & 语文 & 数学 \\ \hline% X3 C1 E' ~3 e8 E6 n9 P' U
阿汪 & 93 & 97 \\ \hline 7 `; o" b2 \6 ^4 ^. C& @
%阿汪先生的博客
) o4 [* G/ B, } \end{tabular}: v2 X) d* \% g' |* U
' p* X. e+ c+ ]0 s$ D( V0 X& u! ]9 c
语句技巧:画水平表格线需要指定线的起始和终止列号。7 x* A% J4 E4 R+ L6 T7 h9 {
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
3 H& z4 f% u4 x2 J8 t* S$ a+ E
& g3 g$ X% t9 W" m% y! J( \2、列内单元格合并命令+ S; O5 q7 |/ a- T4 h
需要用 multirow宏包
; v8 c: \9 c' W# y0 B\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行% `/ ~$ C% u7 l) e; u
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
/ }" }) n6 g; Y; l* s, w" E; L* b1 M2 y! F
基础模板:
) R2 N5 h+ L0 d1 v3 A) B%导言区 \usepackage{multirow}3 b# a H; E/ e$ Q$ n8 c7 v
\begin{tabular}{ | c | r | r | }0 s8 r3 ~/ r0 y+ @# Z7 Y: Z
\hline
. ]/ ^ n6 n. q \multirow{2}*{姓名}&4 x9 }1 l3 @$ U" H' F) j
\multicolumn{2}{ c | }{成绩} \\
+ @6 I! B! g2 Y$ m0 c \cline {2-3}
v7 S! R5 y! g8 J7 [ & 语文 & 数学 \\ \hline
! f# v0 R# P6 G! r# I; N# t 阿汪 & 93 & 97 \\ \hline
( J; F: z' S/ y3 p6 g %阿汪先生的博客& i) q% n3 X% r0 ^+ R+ f
\end{tabular}+ ?! D% q$ h J6 i/ @
8 y. x( w- w9 `# @1 B四、特殊表格
& b4 f1 G( }( x0 U5 g1、定宽表格—tabularx
+ K, B/ ]" l* a7 U8 P/ V/ |(1)注意点:0 q" d2 I Q+ E. D% u/ ~' o; ?5 B7 c
tabularx宏包提供tabularx环境4 l, [* |$ z2 ]/ ~+ K
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
8 G* L1 ~8 X' b
: m' S/ f, u' I5 l(2)使用示例:" O6 N [9 F4 A) N2 @
%导言区 \usepackage{tabularx}
3 H9 l6 g8 \/ _* L \begin{tabularx}{400}{ | c | X | X | X | X | X |}7 y% U9 i1 b- g+ S1 N
\hline
o+ C& x- |3 O% G1 L 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline# ^9 @4 g! x! g4 U" a
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline m5 ?7 S+ J" f
%阿汪先生的博客
) _" f* |; C8 `% ~- D O( f! G \end{tabularx}
- O6 ~1 u( F3 b9 S8 U 3 O/ j5 O* b; Y
2、三线式表格—booktabs0 ^3 q4 {& R, c1 ~" t/ ]' J
(1)booktabs提供了如下命令:
- Z: K/ ^% Q, ~% ^ \toprule ,画表格顶部粗线。7 i' |$ N0 c ?( u
\midrule,画表格中部粗线。
! P' n- |: l* }, r1 J \bottomrule,画表格底部细线。
; A, ?8 {7 C, R$ r/ i \cmidrule 与 \cline命令相似。
" r2 [; h. @% b2 m2 {+ s: H- F" x$ G( f' @# s0 n. G/ H) `
(2)使用示例:
7 k9 e9 W1 u) _+ M( B%导言区 \usepackage {booktabs}+ {$ O1 n$ A. V6 C3 @- G# p; S, n
\begin {tabular}{c c c}- a2 z- U+ e, r9 m- M7 u# {
\toprule
2 b1 c0 A7 }5 W" ` 姓名 & 语文 & 数学 \\ \midrule7 P( V4 R: q3 R1 J1 _5 ^. W+ s/ K
阿汪 & 93 &97 \\ \cmidrule {2-3}. C( B- Q4 A7 s# @2 d
阿喵 & 98 &92 \\
, W P! Q1 J6 u7 Y" n) n; J \bottomrule
4 _4 x5 C% ]2 ~ %阿汪先生的博客8 J @3 k) m3 E/ L
\end{tabular}
% {% ? m) z9 F& B G
3 m9 Z) g% P/ F& t9 D& V' E五、常用表格参数的设定
" c1 c+ d# i; E' g" O1、表格浮动环境4 F% B! U; x5 |% |$ j
控制表格(浮动)在本页中的显示位置需要table环境。4 s' A; d" [+ e( k% j- P) W- R$ b8 z/ C
位置参数有htbp四种:here 、top 、bottom 、float page。
% j \2 {/ V" Ktable环境中可以通过 \caption 命令表格的标题。
; ^5 K7 h m5 J$ I3 Q. x) n- ?# ]
' a: Y% U4 P# s9 u* [(1)位置参数htbp释义:
& J# w9 k8 K5 l# O$ z2 e- k ghere:在输入表格的位置排版
& K, ]% v: Q1 R8 J4 htop:在输入页面的顶部排版
$ N2 L' z) S; Xbottom:在输入页面的底部排版
2 K7 I) Z/ E& s4 w. Efloat page:在单独的浮动页面排版
" W2 r) k% A0 [(2)使用模板:4 j/ R2 u! h: j$ D' A: I H
\renewcommand\tablename{表}
' x# g, ~- l% X# u7 ~" O \begin {table}[htbp]2 _& w. R+ F4 u5 t' t
\centering \caption{成绩一览表}
4 `! }9 t9 N) l& j. M) @ \begin {tabular}{c c c}
3 K8 u- V) q7 [* S2 X \toprule
( R* B7 S0 T& c. ^7 u 姓名 & 语文 & 数学 \\ \midrule
H" V0 d: T& Y0 h) M 阿汪 & 93 &97 \\ \cmidrule {2-3}; x3 D* T6 z9 P P
阿喵 & 98 &92 \\ ; g; H8 M7 C0 L+ e; m
\bottomrule! z7 E: L. g- n5 @: O+ n) K5 t) d
\end{tabular}
: I4 X' X% E0 a9 j9 A %阿汪先生的博客
6 i; X: C. v3 Q( c$ l8 U9 G \end {table} ! n2 T, T6 J7 w* Y2 {9 A5 Y" a! }
. U- v' V" |, `7 m0 f. A
2、功能强大的tabu宏包
, x/ N# H9 r) a1 l4 |(1)tabu宏包提供的基本表格环境8 b& Z Y2 }* e B* N
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
3 O- f& |2 K5 a\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}. l5 j [7 A* N) n
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}8 m7 K, Y! n# L0 l* D0 B* m
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。% G0 k, _5 ]9 B7 o1 a
(2)画线格式7 ~8 h9 T) m4 `9 M1 y; l
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
7 c% i/ i# i% } O \begin{tabu}{|[2pt]c|c|[2pt]}1 ]& ^. ]. v. W: T( s
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
- S. A6 J- I J+ ] {-}指从本行起到本行末尾画一条横线,* m5 ?& b3 W6 c" P+ T$ @
{2-}指从第二个单元格开始画线至行尾。" \$ c! K6 h4 C) @
) |# k& _9 S% `' M(3)单独设置一行的格式& a }7 ~9 b2 A& t" l7 E
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
7 B& b' d% g# U; j" Z3 b使用示例:
3 `; i) H+ s# ^+ A4 `$ W" s M. G5 k+ q
\begin{tabu}{|X|X|}) N- t2 r2 }/ _4 i, y
\tabucline- %“-”表示无厚度等参数' ]+ g6 V* m5 V2 e- i- U
\rowfont[c]{\bfseries} This & is \\ \tabucline-
5 \5 V2 Z, c ^9 d' `/ M1 C V for & everyone \\ \tabucline[2pt]-" |% a# |6 ]/ a1 P
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
/ R# h0 q9 C' w6 m% I% | %阿汪先生的博客* r6 n+ J6 L5 d; S
\end{tabu}
# q V7 z4 z* A7 y& c. Q8 O0 c6 N: W% r+ b) P1 q8 b
(4)其他操作! J8 M& U/ l0 _* l. W4 ]. e# ]
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。) e$ n6 s0 ?- d. |3 }# L% i
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。6 S1 G1 A0 M! y$ ^: @5 P
使用示例:
% W7 g/ D8 V$ w" d\begin{tabu}{| X | X |} \hline
1 f8 X9 j7 G ]' V- b0 h\multicolumn 2 {|c|}{Hello}&World \\ \hline ]7 |' R O9 P- f
\tabuphantomline %阿汪先生的博客0 {# @6 d0 F" X; x
\end{tabu} %表格中不能有空行, p+ S+ _. m* W# R1 G0 ]0 `
\, M+ B) c2 S) N2 k
————————————————
/ |& F- W# W3 a) s6 I版权声明:本文为CSDN博主「阿汪先生」的原创文章。
# R0 \; N9 V) g" F! |9 x* |5 x原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
! V$ N" Q, W6 y5 s! l$ L \+ m |
zan
|