- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55580 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17625
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
1 a1 D* L) C, }8 U9 [ dcolumn 对齐小数点$ S+ r2 [" C# u4 b# l
makecell 单独控制单元格格式& J' U9 ]' B. m& A' t! H
diagbox 对表格进行斜线分割- t. ?7 d; J* K: C* D
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)7 }( x% g6 n4 Y/ l
ltxtable longtable和tabularx的结合体
3 B, Y4 a- C) w( t2 M9 J array 各个表格宏包都依赖于它4 e6 Q# \4 l0 D+ Q0 I
* tabu 命令简单、功能强大
1 {8 |1 v% ?3 G# m# a# g, V) `; j# U. `0 W7 X6 M" M1 v' {
二、输入格式及说明
& e7 o3 A3 S' }0 ]1、一般输入格式
, C5 D6 z/ G; R2 r: y9 c% a' y\begin{tabular}[<垂直对齐方式>]{<列格式说明>}/ V* ` F2 M6 ~+ J9 s
& & & & \\
4 G8 s7 }* Z N: x. L \end{tabular}0 n+ i$ [0 O, g, p+ _+ P5 ~- E& E
0 E4 F: N* H$ V" A2 I1 L6 F& y
2、一些说明
) Q: a) d8 _8 v/ N6 ?1 h(1)特殊符号:2 Z8 R6 M$ f/ X. G: ?$ c" f
\\ 表示换行
# x8 B5 o0 m7 i9 R- B6 `2 y$ s & 表示分隔单元格) T w- j; o. H6 {0 J2 u s
9 Q$ a) Z$ V0 J9 M: y- Y& U(2)垂直对齐方式:1 o" X5 p/ Y; b/ T- P Y6 O, F
t 表示按表格顶部对齐/ C3 n. ?' s; ~' ~: x) t) g- ?
b 表示按表格底部对齐
3 ?. m8 ]" U/ l! P0 Y 默认为:垂直居中,非t和b的参数都看作居中
s- K. X8 z6 l; J2 p! g4 I4 U, E3 s1 [* A1 t) v' A0 I- `3 v
(3)列格式:4 m! V# ^6 i5 H
l 表示列左齐 (小写的 L)
. o+ A4 M8 C& E5 P5 l c 表示列居中对齐
: p: J( I7 `5 Z1 k8 }$ A& _ r 表示列右对齐
% z: X% b$ T1 U, L$ U& y, }; [
$ a- E5 c8 I6 t三、单元格的合并
h3 \ m- k. Q/ v1、行内单元格合并命令: J9 c+ J' M& \* ~ `2 ~5 N6 O
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 . ~; q3 x) |. v
. [" ^9 i: v. [0 j6 O8 q4 U( O0 r/ g7 i(1)基础模板:
' g4 V: K0 t) a7 L* n$ c \begin{tabular}{ | c | c | }
/ B/ x' w6 c/ M: F+ u \hline
. t/ M7 t( V' a; u+ S% a. @2 a \multicolumn{2}{ | c | }{成绩} \\* S7 X9 F3 e" {3 U. `: O' O" P/ w
\hline) t& c+ h0 q( P8 A; o1 \
语文 & 数学 \\ \hline
+ y# @! | s; W8 Y/ o, f( A 100 & 100 \\ \hline T2 f& X! }7 i0 @4 c7 b2 h
%阿汪先生的博客. U, q8 M2 K4 u; h0 [) `
\end{tabular}& u7 T" n P* {' @% e* y( G) N# B
, m: E" _/ a6 l/ n$ |6 G(2)进阶模板:
5 e4 c% x5 g; K* ? \begin{tabular}{ | c | r | r | }+ w ?, M# ]& ]
\hline0 g% u( Y5 u+ o( c
&\multicolumn{2}{ c | }{成绩} \\
# J6 P* a5 a; T+ q" _ \cline {2-3}! D. Y4 Y6 K6 L
姓名 & 语文 & 数学 \\ \hline
: y3 A5 k/ D( |3 p* O1 C) ~ 阿汪 & 93 & 97 \\ \hline 5 m! z! j! d( |: R
%阿汪先生的博客# H& Y4 L0 o+ x5 I! f8 {$ I+ e& @
\end{tabular}) a. S2 [) u6 }$ E" _( A
! U+ |4 l! R' G ]语句技巧:画水平表格线需要指定线的起始和终止列号。
9 n1 `% a: t( G$ F# B用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
, }" V" y% \- r: }- ^6 s/ k$ P/ K# D8 H F: M/ t7 m# ^& ]- p; J
2、列内单元格合并命令
% W- ~( a# c1 ^9 J6 _需要用 multirow宏包4 y: r7 j, p$ \+ q3 d0 X7 h
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行; }6 x+ c+ B9 I& M* W3 C2 K' L4 X) ?
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度! F/ l% L k$ a+ d
, V) b3 ?" U8 b5 ]+ j/ G/ ]7 q基础模板:
" ] M4 k8 I; I; _0 b3 I- q( ~- N%导言区 \usepackage{multirow}
, t( H& b2 U1 B6 r: C$ y( H \begin{tabular}{ | c | r | r | }1 p, D d' K E: H# o1 Z$ l* ~1 V
\hline
' \2 I+ u% ~( U6 E8 y; G3 a \multirow{2}*{姓名}&
; R# ~" R6 m L2 a \multicolumn{2}{ c | }{成绩} \\. z" m5 M9 Q. H9 u( j2 n
\cline {2-3}1 J/ I3 T2 S! u1 q" y) b# P
& 语文 & 数学 \\ \hline/ s1 R; ?- {; s/ V$ a m
阿汪 & 93 & 97 \\ \hline, E: `& `) X3 g. t5 V# l' k! F
%阿汪先生的博客
" \0 ~8 T1 K6 _/ {$ m2 S3 o \end{tabular}- w5 R. {6 ]: D& V) W7 Y7 n
2 N. a& N3 u4 N* c8 H: y$ ~
四、特殊表格
# d p. J( P% J* j [* } C e1、定宽表格—tabularx
4 p# [% O6 o3 w(1)注意点:
1 `/ v0 e% m5 S5 M; ` tabularx宏包提供tabularx环境6 A$ a2 o+ D$ n8 \7 b
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
! c R% M* S' \3 E) t! `% \0 y# y o9 B% w2 g
(2)使用示例:
/ p( R- [; W) D6 ?2 L%导言区 \usepackage{tabularx}+ t5 {, _: @. ]
\begin{tabularx}{400}{ | c | X | X | X | X | X |}4 n) a( m) e7 p5 A
\hline
1 Z" X) i: S" \( w2 L- s- r 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
0 F8 Z0 G r$ d& q4 P+ J- m 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline" D7 ] z- s- O+ f; n) _$ _0 O+ g
%阿汪先生的博客* b6 Q+ w6 L6 s$ r- o+ X; z, E6 D. p
\end{tabularx}
; ^( ^3 @% D4 L' Z9 K/ P7 \0 f" R ; L8 a5 w7 W! Z. ~: C. h. g
2、三线式表格—booktabs: W6 ~) R) d: C
(1)booktabs提供了如下命令:
# `' d, k" J4 u \toprule ,画表格顶部粗线。6 y/ V3 r8 t0 D$ {+ t8 s
\midrule,画表格中部粗线。
6 o7 `" X2 b$ Q$ w \bottomrule,画表格底部细线。
|+ S" {$ O& h! B+ K7 S _ \cmidrule 与 \cline命令相似。
) T: Q3 ]- t* T8 t; Y" c& \+ _% l2 g' }3 |5 o
(2)使用示例:" I9 N3 y) S9 m& X7 ?5 Q
%导言区 \usepackage {booktabs}
4 X. W1 ^- H$ V F- o \begin {tabular}{c c c}- x; z" v% i9 ~) X" `' ]/ b [
\toprule
1 U" D z" o% z% n 姓名 & 语文 & 数学 \\ \midrule
! ?2 ~% e' ]% N+ I2 c 阿汪 & 93 &97 \\ \cmidrule {2-3}+ b4 Q& l* q, f6 i
阿喵 & 98 &92 \\ 9 O% y' I$ p! d2 k6 a; i
\bottomrule
2 S; [# _( d- z6 k) q5 Z %阿汪先生的博客+ C8 H$ \" k" |/ g% K6 _
\end{tabular} N8 A; c! g; a' b. b" n4 _6 m
, }4 a& M7 ^# u* K五、常用表格参数的设定
4 P. {5 a& g- ?0 n+ c+ ]1、表格浮动环境5 d# R1 f2 W8 ?! c% X- C% k
控制表格(浮动)在本页中的显示位置需要table环境。
3 S W9 E* u0 o2 {* j位置参数有htbp四种:here 、top 、bottom 、float page。0 _7 F; m0 C9 O: O8 X% v# ]
table环境中可以通过 \caption 命令表格的标题。
8 c) X+ c7 o9 g+ ?
. D, g# F7 d* F4 W; X(1)位置参数htbp释义:/ o: J" E! v* B+ ~! p5 r$ X" R
here:在输入表格的位置排版6 ]" X0 H6 U: w, }7 _% h' ?
top:在输入页面的顶部排版$ Q* V% C& b2 [7 h; \8 Q$ M
bottom:在输入页面的底部排版
7 j2 o6 T" d2 g$ r) v. [ q( ^float page:在单独的浮动页面排版
" @7 n2 I) J5 g(2)使用模板:) a4 a9 P0 v5 W1 |( _
\renewcommand\tablename{表}
+ V8 o% g+ ]. ^- O" r& A P \begin {table}[htbp]
1 {9 ]* U$ ?: E \centering \caption{成绩一览表}. j5 u9 ^4 O6 y' D; s
\begin {tabular}{c c c}
% F# B1 _. a/ e% L! E. M- u% k \toprule
) Z% L$ ] r+ X+ j# Z 姓名 & 语文 & 数学 \\ \midrule3 o: b4 m6 E- l+ B; J
阿汪 & 93 &97 \\ \cmidrule {2-3}! [. z" J6 \: U, F$ g
阿喵 & 98 &92 \\ ) D* U; u/ p+ K# Y9 w7 f
\bottomrule
" m( s* e2 G9 X4 W' a& J& S \end{tabular}8 B* W0 L4 P/ `- o( \
%阿汪先生的博客; E, j. \+ G. \3 |- t A
\end {table}
; k6 u* T P6 M1 h$ `: j2 H- `" i+ f5 l4 @; N- G
2、功能强大的tabu宏包
6 t% P6 {% ~, n(1)tabu宏包提供的基本表格环境
9 k5 R9 n0 k, Q" g\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}$ V" }4 Q& o B& V5 S$ Z+ I" C& i
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}5 E' I: _( V- l* G9 ]
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}/ K6 P( z. T% |
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
5 `5 Q3 j; q' K! G9 K(2)画线格式' l i/ V# x7 {" m4 }( p- h
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。: F [+ b' C7 w
\begin{tabu}{|[2pt]c|c|[2pt]}/ f% A F0 U9 a0 p
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,! _% L0 ]- [$ I
{-}指从本行起到本行末尾画一条横线,
8 S2 x) ?1 ~8 m, F( [9 ] {2-}指从第二个单元格开始画线至行尾。
1 s; R; Q& E( B I
* ` S3 Z5 F; H(3)单独设置一行的格式2 K, Z3 m7 ~5 h: q3 r% t
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。3 M% D5 k' d1 |; ^% M
使用示例:1 l( e* y1 F; @
- [- o. q0 t" N$ g
\begin{tabu}{|X|X|}
) q. D3 k2 M4 r: E# ^) Z: m3 L3 o \tabucline- %“-”表示无厚度等参数
8 O0 ~' {/ x; ^ V \rowfont[c]{\bfseries} This & is \\ \tabucline-
! y4 P' x( f+ {! m* H, A for & everyone \\ \tabucline[2pt]-0 Z- H# X5 H0 b' w c
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
% k3 E5 a3 [' A9 Y$ Y. Q %阿汪先生的博客
e8 A4 M# t W\end{tabu}
. a6 m; E) O, ^/ d o$ k. H1 ~- r$ ]+ U& X ?4 q, e
(4)其他操作* |6 v# P) q r# [+ W
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。0 P9 M a0 u$ Q- d* z. B3 }& D' j
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
) s9 ~: U. s5 k使用示例:7 G* T- L1 O; ~" I4 p( B6 D# L
\begin{tabu}{| X | X |} \hline% Q+ _$ K- q/ w$ u- `. ]: r3 ~) K
\multicolumn 2 {|c|}{Hello}&World \\ \hline
9 |$ K6 x- Q9 Z\tabuphantomline %阿汪先生的博客
: O- w5 _# k- ?$ [; }1 R: h\end{tabu} %表格中不能有空行
$ g1 | |, Y) @, ]
5 ?* H- d$ ~/ S————————————————
- Z1 J" ^8 i0 {- d! u% |7 x1 I, P版权声明:本文为CSDN博主「阿汪先生」的原创文章。2 b# C9 d" U; g @6 s$ o
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
, z s. P( G- I4 R& N/ d! P5 w |
zan
|