- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55582 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17626
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
8 b& m3 S( Z Y7 b2 t$ I dcolumn 对齐小数点
4 g, f0 V% K; }+ }- ^* F9 V makecell 单独控制单元格格式
$ V! c r% F: ~: w9 @0 t diagbox 对表格进行斜线分割
1 `. U+ U$ f* k* o3 H, s* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
* z; u1 A! c" _, z6 P. Q: ^6 O9 _! ~ ltxtable longtable和tabularx的结合体+ u: y& X% I! D/ r. P1 \2 P
array 各个表格宏包都依赖于它
I, Z% X8 j$ o. z3 \7 m1 q* tabu 命令简单、功能强大
9 } p( [, I4 [, m4 i# K; o' g& d8 Y5 y
二、输入格式及说明3 V9 w5 {1 U, \ J/ r" c
1、一般输入格式
2 ], k2 u8 A4 c\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
( z( a: A) ^/ g* S5 Q- c' M & & & & \\
0 S( \7 t, `) \9 C1 ?% Z \end{tabular}/ J t$ G( u' f' D, u, t
: F* j, ` d% E7 Q
2、一些说明
, c4 V; ~7 m* F3 Q" E# Q. S+ a(1)特殊符号:
# k3 @# \; G% d* I* d% z \\ 表示换行
1 V2 Y/ i9 r8 S, I: J & 表示分隔单元格
2 K# ^* K4 r R; P7 z4 V' M
1 v9 U, \! u$ h: s6 U, E(2)垂直对齐方式:5 K4 W3 {, |; w5 I* {8 v) I) L3 W0 c& R
t 表示按表格顶部对齐
# z# D% ?* Y- m8 p4 H+ v b 表示按表格底部对齐
% L3 k9 }/ m4 f6 h 默认为:垂直居中,非t和b的参数都看作居中$ B! w7 Q0 w$ l) U
! S0 ^9 }) N0 l7 w# H' x(3)列格式:
0 h! r" _8 d" h x* j2 D l 表示列左齐 (小写的 L)
2 [% X+ W$ q4 u0 i* h0 z$ @& z5 l8 O c 表示列居中对齐
7 h1 l& n6 o$ s& L r 表示列右对齐
, D* g. v# a2 k0 R4 S: D% ?# g& d2 Y
三、单元格的合并% m( }3 \4 G- D$ e! f
1、行内单元格合并命令5 |- B( w/ g" f# N) p- z
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
% D/ R% v T g' G* |% j" \8 X7 j$ Q+ ]' O6 K+ B0 a% ?
(1)基础模板:4 R U- Z! G: j5 d8 ~% A2 C- P- c
\begin{tabular}{ | c | c | }
1 W( ?% k% w6 ?6 A# E \hline' r( d/ z! ?" \7 f0 Z/ J3 {
\multicolumn{2}{ | c | }{成绩} \\
7 Z2 L( w* u8 B3 Q' y0 Y \hline
1 f( B8 \ V; g2 k" F5 E D 语文 & 数学 \\ \hline
/ a6 d3 d* [- T; X) c' l 100 & 100 \\ \hline
5 g$ s2 H. |, |1 R %阿汪先生的博客
6 X) q: Z& l0 ]6 z- w5 r \end{tabular}
: W1 ~* @% e& d4 ]; g # _; l0 D, N! t5 w4 I& v
(2)进阶模板:
/ ]9 G; H& q4 \, k E$ ^6 K; ? \begin{tabular}{ | c | r | r | }1 y# {% K! Y9 h! x0 E
\hline: ~3 I& b6 H8 ^ ^ \( r
&\multicolumn{2}{ c | }{成绩} \\2 g+ m" z! @0 u7 g8 S/ S
\cline {2-3}) o v. |7 Z6 g# J
姓名 & 语文 & 数学 \\ \hline
. i* |+ o! h% f5 n E1 V 阿汪 & 93 & 97 \\ \hline
C" u- o; ~0 R9 |+ U/ c# p; m3 V %阿汪先生的博客
2 b, H4 g% ]5 M \end{tabular}) _7 J$ |/ J4 a, _ V3 @. Y7 S& S
6 B9 M( k* N& h) o
语句技巧:画水平表格线需要指定线的起始和终止列号。 X. K& H% @8 T. P% y$ \1 V
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。& ]7 _* r: a/ m5 z" ]9 v
( L2 ^! u% D7 N# I9 n2 \. M2、列内单元格合并命令0 n$ @8 F+ e e7 {2 R
需要用 multirow宏包# F+ @( M3 _, ~
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行. d% ?- {* c8 B
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度. V: x8 d, x( z* L5 g* [
! c+ ^3 ], h5 `) d% Z* @) r
基础模板:% S! E: Q: d+ A. P; E% Q
%导言区 \usepackage{multirow}
% J. y$ T) D: q3 j \begin{tabular}{ | c | r | r | }* c" k1 ^9 G# @! M3 Y' G
\hline
7 \; M$ ]8 H! u$ L+ l" k% Y H; v% c- T \multirow{2}*{姓名}&# c6 G& y& b, y- A3 K
\multicolumn{2}{ c | }{成绩} \\
2 E* l3 l1 `- ^; f t: b \cline {2-3}
4 y$ o7 u9 {4 v & 语文 & 数学 \\ \hline8 J$ i' E8 Z ?' u, L, q1 l
阿汪 & 93 & 97 \\ \hline
9 Q5 P; d2 Q% }/ s %阿汪先生的博客) {8 ?: y0 ^! Y, J5 i
\end{tabular}
9 P! A4 \6 i( j* B
8 z: r* ?+ S/ _& p8 f+ ]# W四、特殊表格( a4 u: o( o* i7 r `6 _/ H
1、定宽表格—tabularx
3 ]9 J& B- A$ w+ y8 L) O(1)注意点:
/ X+ j$ c9 m0 t1 i) Q1 O+ n0 p2 E tabularx宏包提供tabularx环境- W. S0 X# T! n8 S, u2 b
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。5 t! M4 p( r/ k' n% {5 b( I
; B/ S) d5 [/ t; s5 }# v8 V L4 F(2)使用示例:
9 P( W. n7 l, p%导言区 \usepackage{tabularx}- Y2 [2 Q, W" F: l, R4 z
\begin{tabularx}{400}{ | c | X | X | X | X | X |}( D5 B/ v! L( |7 Y# g4 f
\hline
5 k' {: g- I8 ]0 L 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
' s; w# V* n9 f; L$ Z$ s r7 F 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline6 D& Q9 x& C# p' {: S
%阿汪先生的博客& S9 p; y$ g Q1 ?9 q( L
\end{tabularx}, u( k" ?/ k$ g {" |& M# s& o8 Z
( E2 S8 w+ r; T7 x# [& Z. N: ?
2、三线式表格—booktabs1 R3 Q9 q; i7 n- ]$ y$ @! \" x
(1)booktabs提供了如下命令:
4 V: \4 k# ^$ l2 k! I0 l0 d \toprule ,画表格顶部粗线。2 {# S7 u; y, {( t$ I8 b
\midrule,画表格中部粗线。6 s, v3 ?/ ^7 v* ~
\bottomrule,画表格底部细线。) E3 e5 Z9 y# g/ o
\cmidrule 与 \cline命令相似。
/ S. {% ^3 a3 T- H/ F- ^; ]8 D% v) z( M3 X U3 r% }& `" j$ x
(2)使用示例:8 r: X" \7 Y1 x/ T3 _/ _- Z
%导言区 \usepackage {booktabs}
' w+ I+ g5 b3 d. e6 U. s1 e \begin {tabular}{c c c}
+ D" N/ ]2 |% \6 r2 j \toprule, g& S9 I3 o$ W& K( D: P7 [
姓名 & 语文 & 数学 \\ \midrule
$ r; k! b( N6 b5 s8 N 阿汪 & 93 &97 \\ \cmidrule {2-3}
/ {! ^% X( P0 m, o 阿喵 & 98 &92 \\ 2 w9 G0 y3 E4 h! Z9 t
\bottomrule " o' Y% p+ d1 \3 p
%阿汪先生的博客
7 W+ {1 z; [9 ^9 d! {7 n+ Y\end{tabular}# j" k, @" T# Q( n. n8 c, o' z9 l
a2 j+ \- E6 n8 S4 ^8 z& c& j五、常用表格参数的设定3 T3 H% r$ x ?0 U
1、表格浮动环境! f5 m( W) \( x8 X' j; U2 ?
控制表格(浮动)在本页中的显示位置需要table环境。
. I, C/ T- b+ a& ? x6 v位置参数有htbp四种:here 、top 、bottom 、float page。
9 ~4 q9 }3 x! g; v# }table环境中可以通过 \caption 命令表格的标题。" L) @" l7 A5 U' O7 P
6 r/ [/ f; U4 v4 F: w4 ?/ h) p
(1)位置参数htbp释义:# b. g" o4 q) i! g! i( d3 d
here:在输入表格的位置排版% G( y$ R& F; n5 R
top:在输入页面的顶部排版- u$ J" P1 u3 O. Y- \3 u- Y
bottom:在输入页面的底部排版
3 C. U6 a& P! S" Y7 nfloat page:在单独的浮动页面排版
( L* r- r# J% ^" c! {(2)使用模板:4 _7 K6 Z: _1 p1 p+ m
\renewcommand\tablename{表}0 G) V; r: L: L2 ~2 e: y
\begin {table}[htbp]# h/ v, O+ q% V" v( d% S( N! v
\centering \caption{成绩一览表}( [6 X2 a3 c. Y2 [
\begin {tabular}{c c c}( W% D) g" `) D8 J( @/ h
\toprule
! J# B/ a9 b7 x! k4 X! o 姓名 & 语文 & 数学 \\ \midrule
; {- |! [0 a1 c 阿汪 & 93 &97 \\ \cmidrule {2-3}
8 [7 s4 D- e$ l3 V% D0 l 阿喵 & 98 &92 \\
* }- {0 j' @& n* D# `1 X& I! h \bottomrule
7 A( v! t& N4 _, V; Q+ X0 D! g \end{tabular}
( b' A2 o) ?; e %阿汪先生的博客
$ ~ R" I+ C* n: d. u& ]' M \end {table} 0 o+ M) @* T2 S# ]( {! \! f: W
4 y' Q$ C5 Q8 x( l
2、功能强大的tabu宏包
, A9 Z; M# H: V& s(1)tabu宏包提供的基本表格环境8 c0 H$ a# Z3 `% Q
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}$ Y3 y9 v# G `4 x) Y3 J0 y! G
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}. z! b8 z4 f F/ B% [& B1 z
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}0 R# u! {. `* z9 G2 o
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。2 ~3 A. j# J% V
(2)画线格式
2 Y$ }1 g4 z# p' A tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
* E. @. E1 F( O* {( V \begin{tabu}{|[2pt]c|c|[2pt]}
) _6 @, Q7 v4 F J: _: m' x \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
9 W; h2 K; ?; u {-}指从本行起到本行末尾画一条横线,
# i5 C% r& b0 Y: o {2-}指从第二个单元格开始画线至行尾。
5 Q8 Y7 \$ N; C+ f4 M C( M4 M H% f
(3)单独设置一行的格式7 j! a5 f# c0 @# D9 Y) M L
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
% l: I; |! h0 }& ]! T0 S o3 }; ~& h, L使用示例:
" i P8 _" `$ p+ O1 j& g
9 y G4 D" t7 ]- Q% p' ]+ ?$ e- y\begin{tabu}{|X|X|}$ F* Z9 c0 _" d' [& T, ]' Q
\tabucline- %“-”表示无厚度等参数0 G) Q6 W& W8 Y8 `
\rowfont[c]{\bfseries} This & is \\ \tabucline-
* ~ q. w9 W( f- h4 Z A for & everyone \\ \tabucline[2pt]-
8 @) }; ~$ X/ K$ C* ?. T3 d. J \rowfont [r]{\itshape} Mr & Wang \\ \tabucline- ; j7 Q5 S+ I( i% o$ W
%阿汪先生的博客0 v9 i% u! I( S
\end{tabu} 8 U2 j) E) E% F5 ^ P* r
4 |5 V% x& S2 W4 e! a% e4 @
(4)其他操作& t% S7 @# D% m, y
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
9 X! z) J- N8 X/ b0 x6 ]\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
- J" T8 X$ _" }- m' q1 f8 F使用示例:
- p' N$ ?3 u% f* z+ e\begin{tabu}{| X | X |} \hline/ A# h) s- c7 I+ J Y+ M- O0 R6 X5 E
\multicolumn 2 {|c|}{Hello}&World \\ \hline
2 I! P5 r8 S7 [; E {" J, a\tabuphantomline %阿汪先生的博客8 D6 `3 F4 {) d
\end{tabu} %表格中不能有空行% f" N( p) {5 l% ]- M
% P9 q- N% p4 J# `4 a
————————————————' D8 P% y/ B. ]$ ^' z: W# V
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
3 N6 c2 Y6 _' s原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
* g0 o; O" r; V p8 P |
zan
|