- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55511 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17605
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
; c6 h8 u B5 O3 l6 n% r$ H, _ dcolumn 对齐小数点1 K1 h2 C6 y( \ V/ O" f; ~, D
makecell 单独控制单元格格式8 N, G$ _/ X7 m5 F
diagbox 对表格进行斜线分割
# m0 x$ L1 D" w% }$ A/ G( G* longtable 长表格,可用于处理分页表格(表格超过一页时使用)) [* _; l1 @" W
ltxtable longtable和tabularx的结合体
! N2 z6 C$ U, ^% B( L array 各个表格宏包都依赖于它 o) p& e, N9 G4 Q7 y& G5 `- a
* tabu 命令简单、功能强大( `! {, {) \9 j, t" s& a
, k- L$ o U" P# H/ f3 f: s二、输入格式及说明$ a1 t' V6 \8 F
1、一般输入格式
5 n N3 a5 R$ ~& c. {9 z\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
h# o* r: f3 P' |" B1 q& E q1 p & & & & \\
/ I- ~3 ]! { R/ ]# q% {' v; R& [$ r \end{tabular}! B( Z! |6 \2 ~- B0 x6 w
, g# [2 i {5 X' U
2、一些说明# |2 ^$ V5 k9 s0 R( T. w
(1)特殊符号: d3 u4 F. ]3 V, d1 p6 D7 _: q
\\ 表示换行% f* P+ v* R8 B r5 y& S/ J! _0 I4 ~$ \
& 表示分隔单元格
+ I6 w" ]; G6 \ {) ?- ?9 t( Y m( j& ?" r+ k' _
(2)垂直对齐方式:7 y# \. C% B0 `/ P
t 表示按表格顶部对齐$ P% D% E7 M3 D2 {
b 表示按表格底部对齐6 t7 O1 y& ]. z- |" B
默认为:垂直居中,非t和b的参数都看作居中' P5 \9 }/ I1 R6 G( {
5 C; T& z6 Y: M, L* m& `
(3)列格式:
( z, V0 P% E/ L+ ]' j l 表示列左齐 (小写的 L)* A! y# F% A6 Q i2 d: j v* w
c 表示列居中对齐( f" `: m$ c8 p" G0 |( s
r 表示列右对齐
$ D6 F8 `$ A1 B) k( {' ~* d4 p+ ~
三、单元格的合并
6 ~) n8 G! Z: o6 O1、行内单元格合并命令
: O8 z: K( ^- ]$ Z\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 . Q+ l9 K. z+ N6 I: L9 K; S
; m+ k5 e3 ^8 t4 k5 ~- i(1)基础模板:, d& B/ m" f% ~2 \3 X8 s
\begin{tabular}{ | c | c | }
8 c0 i h5 H5 z \hline! K: d0 S* T+ n& m Z B
\multicolumn{2}{ | c | }{成绩} \\
( f5 j i- S4 M \hline" ~6 Q4 p# Q# g* S! S! U8 l0 j
语文 & 数学 \\ \hline( P5 |$ p2 N, |# p* a# j
100 & 100 \\ \hline O! ?5 r/ W* B: [$ X# o; |
%阿汪先生的博客; V7 `8 ~3 v; |* Y
\end{tabular}
) E# j/ j. p. e3 z) ^& C
5 W+ g( P. U/ m" L+ J& a8 i6 Z(2)进阶模板:: [; T7 G. m& F5 M
\begin{tabular}{ | c | r | r | }5 K6 R+ v# W% r
\hline. l# t+ o+ P/ f$ J4 {3 t
&\multicolumn{2}{ c | }{成绩} \\4 H0 ~& g% }+ |
\cline {2-3}" H/ E. ~/ i/ B, ~3 f% u7 ]+ {
姓名 & 语文 & 数学 \\ \hline
) F! x2 E* K6 { 阿汪 & 93 & 97 \\ \hline
) y% ?& s' p; M5 C; H3 l %阿汪先生的博客
. ~4 _: E# e" ~2 f* i' ? \end{tabular}
1 s1 ?( F$ Y& Z- Z, @& [ 8 p# `1 J. O& P: i4 j c
语句技巧:画水平表格线需要指定线的起始和终止列号。" X+ ~2 J0 Z7 `
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。$ z' m @- s8 h1 Z! l
2 q: F4 `6 {$ i, ~) t
2、列内单元格合并命令
# f& g; `# D% H% z6 ^- ?' ?需要用 multirow宏包
. Y4 h, V% t7 |. ~* [9 c\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
+ G7 F# R5 J0 U) S8 y\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度6 v/ [; D3 {- o% f
9 Z% l$ g% t9 d% `
基础模板:
7 U3 p: J% \4 F+ x%导言区 \usepackage{multirow}
) m. ^1 A1 _# G* t* g \begin{tabular}{ | c | r | r | }- b4 o9 w) z" q9 ]2 {% ]# {
\hline
: f+ Z t4 }1 D9 `+ U \multirow{2}*{姓名}&
( G* M7 Y" }3 P# i4 E, c! X9 C \multicolumn{2}{ c | }{成绩} \\5 B4 x) b, P0 p1 m3 _+ _, u- u
\cline {2-3}$ f9 }5 x. g9 L2 R1 B6 k
& 语文 & 数学 \\ \hline8 g1 H- k" R6 h3 _) J
阿汪 & 93 & 97 \\ \hline
1 }" A3 W% d6 U %阿汪先生的博客
- L7 J5 I: t! o! l \end{tabular}
* ]/ F5 R( c$ }7 n7 z V- t% g
7 N) z, M3 ~ e+ N7 n, u% p四、特殊表格
2 |* M! Y( j$ B, u- ~1、定宽表格—tabularx
8 o. A& k1 h6 |(1)注意点:
+ d/ x! _- ?/ e! ^+ p! z) U tabularx宏包提供tabularx环境+ Q% e, `5 G9 f
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。# e @! A) R4 P2 ?/ E9 d+ B2 s1 B+ Y
& ^8 d9 d! e( A6 ]5 [
(2)使用示例:; I @* O$ U3 A; z+ f
%导言区 \usepackage{tabularx}4 N# ^3 G0 E: H$ A0 |/ s" i0 H
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
' d/ @' q2 e0 D4 _1 N- [ \hline
) y, K9 j$ x- U( M: g5 k& f% s: ^2 G 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
. W3 j+ o8 N! U/ D 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline! h* h8 |1 X, B
%阿汪先生的博客
3 O* j) v% z3 c$ F& k \end{tabularx}/ I/ G9 ~9 u1 }
. G0 L) W. V! {" q# v5 Q* Y0 F. d) t; i
2、三线式表格—booktabs
: S! }0 d3 g9 |, |(1)booktabs提供了如下命令:
% [7 [* M1 L: e* M. a+ {- _ \toprule ,画表格顶部粗线。
7 o) ^' x' B/ p" g5 E7 S \midrule,画表格中部粗线。
4 i( E* {. `9 l* D( ?4 |% { \bottomrule,画表格底部细线。2 x2 O, I% t3 c9 t) x
\cmidrule 与 \cline命令相似。" p) x5 F9 A* V' m1 k
; b: D7 _9 f# S4 _& }. B7 O(2)使用示例:- w$ I( I. b9 X9 N0 d
%导言区 \usepackage {booktabs}$ P( ], y; H' l3 w4 f! J: n7 z
\begin {tabular}{c c c}5 `/ j' |7 m8 _; X
\toprule) v, X9 F2 h6 s: `( q# s& ?
姓名 & 语文 & 数学 \\ \midrule
" x, K- `3 N0 f# D w; P 阿汪 & 93 &97 \\ \cmidrule {2-3}( D6 Q- R% |" W+ |
阿喵 & 98 &92 \\ ( t% ^8 t4 `8 ]2 F3 B
\bottomrule
6 H0 h. | H3 Q5 V %阿汪先生的博客( K0 y+ P! M! \, Z! e/ F! ~/ H
\end{tabular}
* r, A% K* {5 I" u! h1 }
* Z/ O; z+ N G五、常用表格参数的设定* b! A6 i" ~: j; O+ {( {3 K: J
1、表格浮动环境+ w- S2 S: Z/ ]( [
控制表格(浮动)在本页中的显示位置需要table环境。
7 o5 F2 T8 P0 R$ |7 B. M R位置参数有htbp四种:here 、top 、bottom 、float page。
9 P' y4 E- @9 }* w. D! ftable环境中可以通过 \caption 命令表格的标题。
) p7 _5 U* v3 \- k( C X5 v8 k. J- i2 r4 X6 q
(1)位置参数htbp释义:4 B* ^- M/ Z: k. r$ h0 n
here:在输入表格的位置排版
- ]' N0 I$ t, o7 L( `- [1 Ctop:在输入页面的顶部排版
' J; S9 Q" w% u2 p' Abottom:在输入页面的底部排版# u6 d# V( |. B" Z- }" F7 s
float page:在单独的浮动页面排版- D" B& E! g3 \2 r& l
(2)使用模板:, B5 Z( T% `6 D" R
\renewcommand\tablename{表}
7 T" y. e$ }/ w \begin {table}[htbp]! i5 _ L5 J8 o. q; D: E6 R
\centering \caption{成绩一览表}
3 T& d6 q% ^% ~& B2 ~/ k3 _/ G9 j \begin {tabular}{c c c}
A# Y# b/ N$ t5 h, T# }" P/ b \toprule ! c# `8 N5 ] N' p+ K5 [, W( `
姓名 & 语文 & 数学 \\ \midrule
% }8 [+ P, a: N 阿汪 & 93 &97 \\ \cmidrule {2-3}
- \1 M% I' k, l8 `' v% x$ O 阿喵 & 98 &92 \\
! o' a0 c/ Y1 |. O; }) k \bottomrule+ D1 {: W6 y) Y" d$ a
\end{tabular}; _: g8 r" X y. M
%阿汪先生的博客" d. ?, p* I [# C& S f
\end {table} 5 O& X2 [# `5 e4 h4 |
. Q8 k5 U( j4 f7 K2、功能强大的tabu宏包; c; A9 f, F. z
(1)tabu宏包提供的基本表格环境
, R1 ~9 U: x. Q! Q\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
0 b5 }6 m; S4 x C X3 D\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
# M- |! J, G3 I\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
2 T/ v. Y- V6 F7 c; z5 O% C" x1 t, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
8 \$ N9 H: S* j$ r(2)画线格式
1 Y! a9 J) L' ~6 s: Z tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
2 o- d+ }3 C3 P0 r* b3 d9 Z \begin{tabu}{|[2pt]c|c|[2pt]}
6 A% U" x3 i! n6 U \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
' ?% P) ^0 x, y% d. N3 W {-}指从本行起到本行末尾画一条横线,
/ Z! t3 ~! c5 b$ i3 B {2-}指从第二个单元格开始画线至行尾。; T8 d* s8 A8 s2 W
) ^. f1 p4 p- @7 Q( Y, }' {1 f% Y(3)单独设置一行的格式/ B( h5 m6 e% l3 r# Z
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。# j2 Y' m% `) Z1 k1 Q
使用示例:1 p3 T5 y1 d/ m2 L8 X, E" x, L
& v+ m: n$ V7 g5 Y" S\begin{tabu}{|X|X|}
4 a" f. t( b1 {2 _ \tabucline- %“-”表示无厚度等参数! F/ ^; T+ q0 L' `1 J
\rowfont[c]{\bfseries} This & is \\ \tabucline-
* q- H* U2 Q! p7 n for & everyone \\ \tabucline[2pt]-6 s; E' Q* U6 v: w0 x0 U
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
3 G6 Z+ |: ~- ]6 d: S! d %阿汪先生的博客0 W' Q6 N4 ~! `" b
\end{tabu}
3 i8 V. x" p I, D5 Y1 r! A2 v% R( D
(4)其他操作6 T) J+ d, _6 n! S
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。% X1 p4 o0 j2 j- w: P& A2 T, [0 ?
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
( C7 `0 e% R8 @2 t/ Q: B使用示例:: U% [5 u( }! t* x0 [% q
\begin{tabu}{| X | X |} \hline& k* N2 D6 V8 S3 s) {
\multicolumn 2 {|c|}{Hello}&World \\ \hline0 `+ N2 P$ I8 Y
\tabuphantomline %阿汪先生的博客
- E% }' M. |" @6 I4 \& S- K\end{tabu} %表格中不能有空行
, W: u) a; p8 |
- J. B. _# N2 @6 \3 Z7 Z————————————————
& J! h1 p1 T& S: j/ U4 a版权声明:本文为CSDN博主「阿汪先生」的原创文章。1 \6 y6 _$ J; h+ L# B1 c
原文链接:https://blog.csdn.net/qq_43499622/article/details/968944372 X, U3 k7 i* I2 K5 D
|
zan
|