- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55447 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17586
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包# g, X) l+ j4 m4 q# _/ U
dcolumn 对齐小数点8 s) }- J/ @+ D
makecell 单独控制单元格格式# m; ?* e2 m0 [' [) n
diagbox 对表格进行斜线分割8 z2 p- l, `6 i. Q$ P, }$ {# K
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)6 _% ~" b/ v# ~; N
ltxtable longtable和tabularx的结合体
" k* o# m2 n! `+ |. K array 各个表格宏包都依赖于它. N; M0 G& V8 e, A: U$ y
* tabu 命令简单、功能强大
+ Q0 H1 a% v% a% Z5 O* H9 l0 s( v% ]9 ^
二、输入格式及说明
. w. g/ H& q ~' q6 G1、一般输入格式; n9 {! e* W! e, j: W
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}0 d- O L9 ~( m" [/ X' e5 W6 i0 j
& & & & \\% {- [- \% R7 ]8 _* C! H: p: n
\end{tabular}
1 [; ^$ x) g& i" M8 N* N4 H# R# y9 M1 v
2、一些说明
" _0 H+ v/ n3 k4 V7 t8 w# U; P(1)特殊符号:
: C1 x6 o$ y$ q ?& O/ m$ V* D \\ 表示换行
4 Z) r: M$ N6 } & 表示分隔单元格
& |' O0 m9 E* C# A! t q9 {! {
8 g" [9 w2 o7 ~* \(2)垂直对齐方式:3 o# m L: O& K* Y5 t: w
t 表示按表格顶部对齐
1 J8 O' B, f. W* U b 表示按表格底部对齐$ \: \& ?2 a3 m# ^3 u
默认为:垂直居中,非t和b的参数都看作居中3 m1 C+ x9 ]8 D0 Y' _
7 F2 w( U! i# A0 R; A0 I(3)列格式:
u8 @! u; s: S! c9 n; Z' w l 表示列左齐 (小写的 L), ?4 H6 k4 w& w! @
c 表示列居中对齐' P! S9 @5 G8 S2 ~: L7 ?
r 表示列右对齐
4 J T4 f1 Z. F8 l& E
2 A, n+ V$ T4 f. B三、单元格的合并8 G: r/ a' e4 z/ O5 u4 d7 ^% b
1、行内单元格合并命令
9 |) K/ E5 Z* K\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 / P T8 O; S/ `: P& W( D* H
4 e' b$ u1 w' I8 M
(1)基础模板:
# a* }0 [9 F3 V" Q. ^ \begin{tabular}{ | c | c | }4 w6 `; G" e: d6 [: Y' q0 V) C
\hline$ y0 C. @- i7 n( _/ [0 J" l+ B
\multicolumn{2}{ | c | }{成绩} \\
2 g7 l$ M" _7 ^2 g ` \hline6 C u! e4 o* N( F/ Q7 ?
语文 & 数学 \\ \hline
o; J2 W4 E2 j ]! w0 ?! G 100 & 100 \\ \hline
: \) l5 \6 r% M# t5 r5 B %阿汪先生的博客9 {9 I7 `8 c+ N* ]% x+ t
\end{tabular}
8 K! ]' f `4 Z. P$ v! K* ~3 @- s. s " V$ O& c4 o( v" v# U1 Z
(2)进阶模板:
! z( \/ U6 U' q4 N: q5 ` \begin{tabular}{ | c | r | r | }
/ U8 r7 w% L8 h: T \hline
# f$ i. I8 {0 W6 H: `4 Y2 A% c4 G &\multicolumn{2}{ c | }{成绩} \\
1 B& H0 b7 H, r# d \cline {2-3}
0 c2 T5 `: U; t* V9 m 姓名 & 语文 & 数学 \\ \hline
1 C4 F: ^9 k3 n7 n1 {- ]! H# D. [ 阿汪 & 93 & 97 \\ \hline
5 u2 M0 |9 @7 m- n, n %阿汪先生的博客
m) h3 x, u; i, m* N& f \end{tabular}
5 i9 u( I# B6 t( W, J+ B
U+ R& F! D5 |* O6 J语句技巧:画水平表格线需要指定线的起始和终止列号。% ?0 a( |4 F" o) G5 H: d
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。4 x2 n" V2 `" o; d
+ m- g0 x4 r! Y+ a6 e J
2、列内单元格合并命令6 g. h; A- a; H5 Q+ S
需要用 multirow宏包
$ e. o2 u+ M% T& ~) x\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行7 G+ p& F6 h% l" @3 E
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度4 A: W( y! q3 V+ w
2 R7 ]9 F4 y: s: ?# l
基础模板:
9 w2 W- s) I, [: G- {%导言区 \usepackage{multirow} ]' r5 c6 K B+ s
\begin{tabular}{ | c | r | r | }5 ?3 }7 J4 K: V7 m T; s- J
\hline7 J5 @! @/ p8 N9 V w
\multirow{2}*{姓名}&4 Q3 u1 m- ?8 ^' ]. }
\multicolumn{2}{ c | }{成绩} \\- f1 Y3 O$ ~6 a$ T( C1 `
\cline {2-3}
: D" i7 k# \# @! [ & 语文 & 数学 \\ \hline
, t' O6 r3 L, N ^% r 阿汪 & 93 & 97 \\ \hline
, b3 J% J4 J1 b6 a* y; T %阿汪先生的博客! y# n9 N- q c, p0 x4 C
\end{tabular}
0 M% I' z7 T' ^6 ^( |7 c, }; n7 Z; `5 r$ c: Q
四、特殊表格
. m) I) L$ m4 s# ^0 r9 z+ q) A% i1、定宽表格—tabularx
1 S" L# s2 d6 {, Q. x- Y8 I; I+ B/ ~(1)注意点:
6 {5 Q z/ I5 h tabularx宏包提供tabularx环境
8 w5 k4 d& U$ z& E" P; [- d( k X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
' S$ f l# f+ Y; ^
8 d) S9 Y8 @7 n: Z$ {) G(2)使用示例:
, F8 d) c! J w% r4 Z7 s3 M3 i# ^2 p( J%导言区 \usepackage{tabularx}
) [; a* y" n# D9 k0 R, o \begin{tabularx}{400}{ | c | X | X | X | X | X |}
" V9 P. r, {1 }# C/ g" r \hline
. |4 ~! y$ [: }; C" j$ _' ? 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline( h' l; P) P9 L
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
2 k8 A6 m. v+ U8 l" U5 } %阿汪先生的博客/ d3 R9 U: ^( J" C' c! n+ f/ j4 N
\end{tabularx}& \& e/ t; M' c7 f; x) o7 u4 {. B
0 y# v0 k! A# Z# {6 Z2、三线式表格—booktabs
& t8 p4 P' a- N) y, w. ?/ ^(1)booktabs提供了如下命令:: a# _4 G4 _; i4 s6 ?8 b
\toprule ,画表格顶部粗线。2 R k. E* f2 T
\midrule,画表格中部粗线。
: t6 m5 {& A! `" |3 q5 y \bottomrule,画表格底部细线。& g' e- o$ I: d2 c
\cmidrule 与 \cline命令相似。3 H) ^2 E4 p/ n( ?' {
4 O2 M+ f0 h- A
(2)使用示例:4 c. D# u1 k" x* e# S
%导言区 \usepackage {booktabs}
( T* I$ k# i$ J- S8 X+ a) y \begin {tabular}{c c c}% w; G2 Z9 ^+ R w" C
\toprule
, g6 |) M$ @, q9 A4 Q5 j 姓名 & 语文 & 数学 \\ \midrule* T# \0 _3 f% X
阿汪 & 93 &97 \\ \cmidrule {2-3}
7 T. t4 t4 F& I. ] 阿喵 & 98 &92 \\ # p; ^* `- y0 O8 u0 T9 R* E( \
\bottomrule
$ c3 i7 g% h* A ^4 S6 R; c) V %阿汪先生的博客5 ]4 s+ i! J5 Z4 C& e2 `
\end{tabular}
1 V6 ]. y$ z H: n* p# r; y* ]) x2 l# i* n* z1 ~; z
五、常用表格参数的设定9 M. G# z6 h6 f0 J
1、表格浮动环境
5 H# Y& W2 ]4 n2 ?7 y# @; D8 w. X控制表格(浮动)在本页中的显示位置需要table环境。
s/ i6 ?) ^! a; I9 F: m位置参数有htbp四种:here 、top 、bottom 、float page。
+ a8 r- s# o% O4 v! ttable环境中可以通过 \caption 命令表格的标题。! J, n. W& z, F) D7 |8 a
( x- |" g3 x( o6 l' R3 J(1)位置参数htbp释义:
$ P* c6 {& `; nhere:在输入表格的位置排版
. |) o* R) t) C: htop:在输入页面的顶部排版
# c! U- V8 E- X9 b2 U/ Mbottom:在输入页面的底部排版3 h) Z. ?. @& { @7 Z+ n
float page:在单独的浮动页面排版8 Z. t8 p$ I* ~" \
(2)使用模板:$ N- a6 L) T. P8 c- n# F% f1 l( Q6 \
\renewcommand\tablename{表}
9 h' ~& ~6 Y4 d* x" `8 v \begin {table}[htbp]
* b5 h P: W s c" h# r \centering \caption{成绩一览表}
: j" q. H/ C T5 f) o \begin {tabular}{c c c}* M! ]7 g. K. z1 L% b8 p+ N8 X3 r% Z; X
\toprule
/ |5 n5 u/ I2 |6 y 姓名 & 语文 & 数学 \\ \midrule
5 F4 t. S% ?. D+ V 阿汪 & 93 &97 \\ \cmidrule {2-3}
' H( o" r+ L1 _5 B7 z( g( u 阿喵 & 98 &92 \\
2 h2 Z+ h; j7 ? \bottomrule
. s, N0 m: Z, ?. H) {, W$ c7 t \end{tabular}
2 I( r) e' Y. V6 _* w* D %阿汪先生的博客
! v$ H! J H5 ^, T5 T \end {table} 5 R0 O/ w: A7 P! H, Y
: ?: e# ^& X7 r1 y2、功能强大的tabu宏包
4 m- g1 M- c2 T5 z(1)tabu宏包提供的基本表格环境 E& K$ v% h k' U: K/ V
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}+ ]3 k+ b0 x8 B0 j: X
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
( R% Q+ V( G1 x$ r. u1 k6 M0 Z4 B\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
. @# p" b4 @4 }4 a, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
3 C0 v) f, p" o$ k b) c x/ _(2)画线格式
+ O+ g7 S7 X) Q tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
6 P2 o5 z% d) |4 V$ w \begin{tabu}{|[2pt]c|c|[2pt]}
6 Q# a8 S, v2 {% @5 J4 a( ~ \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
9 k1 e, j6 g i' ^" X D {-}指从本行起到本行末尾画一条横线,
, `) t5 k, `% a! ~ A& a {2-}指从第二个单元格开始画线至行尾。 v8 K* D! T* w! r0 w, k
, M4 Y) T( h/ w' l+ L m! d
(3)单独设置一行的格式' Q% x. P9 P2 A
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
7 `6 Q+ b P8 h g& b e使用示例:
: z0 o4 ?+ [/ }- r2 y% X7 h2 ^8 ~* b
\begin{tabu}{|X|X|}
, x. }4 A& h- Y \tabucline- %“-”表示无厚度等参数
: ?7 x t$ H, `" u/ _! f2 L \rowfont[c]{\bfseries} This & is \\ \tabucline-4 V$ {5 w0 C) M# i
for & everyone \\ \tabucline[2pt]-7 c5 V; X+ J% R" b' C( I
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
6 v& m( Z5 F2 H %阿汪先生的博客/ F7 V/ p! u, R/ v. K7 ]/ a1 i
\end{tabu}
! n2 R3 C7 L9 [8 e& V& U
+ J" ~ A) u2 l5 v& W* q4 ?, l; W(4)其他操作! h" ^; N8 X/ X# N9 D( H, z
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
! b! q8 d# w* \% J( p% G) \; Y! X\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
: ]+ l7 k: x0 N使用示例:
! g& Y9 J1 n, q; c\begin{tabu}{| X | X |} \hline
. A! [) b* y- N; e( n0 p8 D/ y! i p\multicolumn 2 {|c|}{Hello}&World \\ \hline
6 y1 z% V6 ?6 Q' b\tabuphantomline %阿汪先生的博客$ a3 ]" k9 |2 Z' Y/ M! V
\end{tabu} %表格中不能有空行3 p% V& ~: t- R" G3 R/ d
% l5 ~2 ^8 w& h+ `/ c& r+ ^2 P
————————————————
+ |/ V7 ~7 R' E" W% \版权声明:本文为CSDN博主「阿汪先生」的原创文章。; D4 Q8 p' I2 o8 B8 r- q6 u
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437! l, S: K9 }& d! V$ I& g L
|
zan
|