- 在线时间
- 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 田老师国赛冲刺课 |
一、常用的表格宏包 q, K8 {2 b" k$ y; i5 Z
dcolumn 对齐小数点5 o8 X; e- f7 P6 r- k: W2 H
makecell 单独控制单元格格式
8 H4 {# b% E u4 F/ j1 k( |0 J diagbox 对表格进行斜线分割! N& H. j6 g+ w+ m
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
" \! s9 b0 s2 t* a2 D- } ltxtable longtable和tabularx的结合体
. j2 i4 ^! Y: u array 各个表格宏包都依赖于它
0 }9 A4 l4 u9 B+ Q H8 s* tabu 命令简单、功能强大' X s- Y/ G& ] a3 W
& ^, k1 j6 P; K: O/ M* G二、输入格式及说明
$ Z. l% ^. I# J+ N. Y1、一般输入格式$ Q& N3 }, ? J- h8 ]
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
: Z1 w3 q V8 A & & & & \\
. ?0 z' n! w9 k4 f \end{tabular}
5 V, B- V9 ?( b- ?$ g/ w2 u
0 R, F) x) |- ~9 B. q2、一些说明 y% _+ U6 _9 j5 W n$ r. m* T7 j
(1)特殊符号:& ]) q: z: F3 }0 l+ D' o
\\ 表示换行
. u$ y: e" M& x, T1 m6 T & 表示分隔单元格
2 R1 @4 n# @6 g7 A/ D+ _
" A- X$ J! I9 [5 a( Y" h(2)垂直对齐方式:8 H6 g8 k7 f1 b1 G3 _" z) O) W
t 表示按表格顶部对齐! M8 b* X; `- H, N ^2 Z
b 表示按表格底部对齐
, \; p" u1 l0 ]0 |9 |/ [ 默认为:垂直居中,非t和b的参数都看作居中6 x5 Q7 L' A4 R9 ^. b* ~. x
7 \& W; R. L5 K; j8 @
(3)列格式:& U) w1 }- F r* u8 C% \0 M
l 表示列左齐 (小写的 L)9 a# m8 l. @/ [4 s3 O) Y# {
c 表示列居中对齐
1 y* S7 g# I+ \$ {, r# N, W r 表示列右对齐3 X0 U7 q6 C# ?: i+ {
6 d) }: Y: Z" w! v# V* @三、单元格的合并
1 E5 ]; P) W+ ~& J' O W4 l; \1、行内单元格合并命令+ ^& s* Y3 {* o. Q( d; V! G
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 " m. R x6 Q. G4 j! m
' \4 t; O8 C, c9 |4 X5 v
(1)基础模板:1 e* A& C9 S$ b( v5 ]
\begin{tabular}{ | c | c | }
9 |$ e1 O6 G/ q+ Z5 M4 Y \hline: O/ F; U+ s/ P2 U- N5 X
\multicolumn{2}{ | c | }{成绩} \\7 {$ W7 `6 _$ j
\hline% V8 P* r4 Q/ i j0 t
语文 & 数学 \\ \hline1 X+ a# y/ j* j1 v" f" Z- N
100 & 100 \\ \hline
2 a9 y! A4 z9 N9 u %阿汪先生的博客
7 o2 @ I# V1 M \end{tabular}3 g+ `" S$ t' ?' P9 t
3 e1 l# `2 [& @2 q9 Q+ Q: r(2)进阶模板:5 x% L$ A2 }7 r+ |
\begin{tabular}{ | c | r | r | }% F$ I) y5 i4 S# t1 B" w* ]- Y
\hline/ A% I8 ?" Z s4 C l4 H
&\multicolumn{2}{ c | }{成绩} \\4 b8 `: \$ l+ T: d. V1 r/ R: ^
\cline {2-3}
: x* ]( g8 J0 q' d 姓名 & 语文 & 数学 \\ \hline
# W2 D9 Y& Y& v6 R- \% I+ G! G1 h 阿汪 & 93 & 97 \\ \hline & F0 n! @7 n7 B( `# F2 r! L# H
%阿汪先生的博客
2 }+ d5 j( {8 R7 P \end{tabular}
% J+ S' Z8 @& _9 | * z5 X' \: [6 B8 ]! o
语句技巧:画水平表格线需要指定线的起始和终止列号。
4 x$ L0 J/ b: I* p用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。- S& [5 V, v6 `* t
+ r8 p: K: w# O' Y
2、列内单元格合并命令
( I5 Z: Q3 [" S% Z" n+ A需要用 multirow宏包+ E: ^2 \) f+ x/ {8 g
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行- F6 S' L4 _0 r( M e( n
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度' i# y3 k4 E8 }% r
* E6 k$ c: H- e$ ?; D s基础模板:) {; L* D+ F1 S* m% S
%导言区 \usepackage{multirow}9 j# j E9 Z; J0 L- _/ R
\begin{tabular}{ | c | r | r | }
- c" a0 ]7 O& }5 C* o \hline
* _* r. j, ? x; { \multirow{2}*{姓名}&' p J. P% q: T/ o8 i/ J! Q" K. M
\multicolumn{2}{ c | }{成绩} \\: U# x2 D5 B. J+ Y7 i& z
\cline {2-3}
k8 Q- u5 _. c1 h- H( z- Y & 语文 & 数学 \\ \hline
. r: h. U9 F3 n$ { 阿汪 & 93 & 97 \\ \hline
# v, W# t/ L C$ v %阿汪先生的博客
. ]" l# ]2 j2 r" o* V \end{tabular}
& O. A; C5 f; K+ n: d- R! j5 T* V' z% `0 l* Q- }* K
四、特殊表格8 ]+ G0 x4 W6 }4 V& d# @$ y
1、定宽表格—tabularx
- g2 B* Z% ~% b A% r(1)注意点:- `$ K0 e# y0 {# C3 Z9 V! ?) r
tabularx宏包提供tabularx环境
. w# q: D* v8 C& S5 Q/ C$ d X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。! N& x Y) C5 F6 S# D' X
% j$ z7 C1 M8 p! f(2)使用示例:; m: z" s C7 k4 V( `1 b! W
%导言区 \usepackage{tabularx}7 y; C( B7 M8 x: `' I
\begin{tabularx}{400}{ | c | X | X | X | X | X |}& u6 ]* o' m$ d$ H/ }3 e
\hline
& q" U# m d% f' p, G 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
# x: [$ r s" j 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline- H5 q, T. c' D4 E/ f* J
%阿汪先生的博客
1 E! X U& |( Z1 w- z2 F: o9 U \end{tabularx}- t! T+ L- A/ a. N1 @1 r9 ]
! B1 g% e' c. N4 Z9 l0 }, }) J! @: n2、三线式表格—booktabs% o& I% E: W5 e& d% M8 m3 ]% [
(1)booktabs提供了如下命令:7 M+ t% Z4 W3 t+ L& `2 e
\toprule ,画表格顶部粗线。
/ z6 \& o8 u+ S2 }9 @/ ^* Y \midrule,画表格中部粗线。* k6 V8 M' {5 M8 r# S& d0 c
\bottomrule,画表格底部细线。
+ n9 u% P( l/ D \cmidrule 与 \cline命令相似。
{! Q2 }9 e+ v' c2 _2 a! U5 S2 {! }) I1 d5 Y
(2)使用示例: ]5 z5 z. L N# a: T$ W3 \1 D
%导言区 \usepackage {booktabs}
& d% \4 O' K+ C, Y( d' S' } \begin {tabular}{c c c}+ W5 L- P7 V9 V; |1 p
\toprule
; y0 B9 a7 h* H6 A) d5 c 姓名 & 语文 & 数学 \\ \midrule
E8 X J) X8 V5 Z& c* J4 V 阿汪 & 93 &97 \\ \cmidrule {2-3}% V( Z2 {3 E: h9 a
阿喵 & 98 &92 \\ - l; a$ R7 G! \! _
\bottomrule
$ S5 U8 d8 [; q) g: {' @* Q %阿汪先生的博客9 f& d9 m$ x0 ^0 w
\end{tabular}
1 n( ~0 T3 N& [, S: E$ j, L! v$ }( B7 s0 Z
五、常用表格参数的设定% I( b h% o4 t1 e) L, N1 v
1、表格浮动环境
" _/ J, h$ A. W控制表格(浮动)在本页中的显示位置需要table环境。5 p: a# y# p: c, h
位置参数有htbp四种:here 、top 、bottom 、float page。. c* [& R3 O O
table环境中可以通过 \caption 命令表格的标题。8 K+ w7 _, O* x
" u1 _6 X9 l) r5 _
(1)位置参数htbp释义:7 I0 j& S, t5 ~7 R0 n/ N+ |) _
here:在输入表格的位置排版" I" M U& Q0 H3 n
top:在输入页面的顶部排版
7 m4 e: ?3 a( v0 ~! [9 l. m' i5 \bottom:在输入页面的底部排版
- k7 P" g8 c% p# P0 ]0 t. Kfloat page:在单独的浮动页面排版+ `; _6 M! Z7 ^& m: C2 h
(2)使用模板:
% B( l4 J7 K3 c8 {+ |! ?% A6 X\renewcommand\tablename{表}9 W& Z) k- `; s3 C
\begin {table}[htbp]# |( R# V3 T& V! c
\centering \caption{成绩一览表}
; j4 d- S; i* J2 ~5 A \begin {tabular}{c c c}, q9 U- x( g& r
\toprule # g: ~& @( W5 j4 w) ^6 N
姓名 & 语文 & 数学 \\ \midrule3 s5 p z9 f) b; P8 c! A
阿汪 & 93 &97 \\ \cmidrule {2-3}2 `# _, `* z W9 w6 p: N9 c
阿喵 & 98 &92 \\ ( o _' [$ K! ]0 n& L
\bottomrule5 E' i. i" V m& }6 h/ R5 o: D
\end{tabular}" O+ M0 d& f0 [% H8 a
%阿汪先生的博客
, w' }* S3 H- s0 ^. R7 t \end {table} H0 F0 M$ P' [6 {
: D9 y# \! T8 I# F* a1 q
2、功能强大的tabu宏包
2 _5 @; ?. A' H9 w- [(1)tabu宏包提供的基本表格环境+ F/ L5 E) `) x; i3 q
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}: q" S$ [0 t* O3 E V8 q% r0 q
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
% T1 S" Z0 p+ Q- e& X& o+ s\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}; q4 w5 f# M; H
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
9 n4 _, ?4 A6 L' f4 W1 c$ K(2)画线格式; I- w9 r Y3 A" T% J) Y
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。) b6 D7 o) Q# y- Q, C9 l: o. a2 y
\begin{tabu}{|[2pt]c|c|[2pt]}
& K' y3 D0 C: v) r& @ \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,) X9 B* s# F3 x h7 H0 k2 d) t
{-}指从本行起到本行末尾画一条横线,
1 N) t$ S$ H) B& ] {2-}指从第二个单元格开始画线至行尾。+ T* O+ P [1 C* V8 L
6 z% I5 e; ]9 M4 I! S7 z/ f, x(3)单独设置一行的格式% l. A) `7 t5 Z6 A9 h7 D) t
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。' h }2 Z3 L% l) [6 r( Y* L
使用示例:3 P2 N1 ~6 v& D! W
* ~. F# h2 m3 @; |6 E) I' C' b" J
\begin{tabu}{|X|X|}
* f: }. {+ H/ V" U; G( w8 `! N. p2 g \tabucline- %“-”表示无厚度等参数( ~6 c9 Q- U6 F6 p; {" T
\rowfont[c]{\bfseries} This & is \\ \tabucline-" s! ~) C3 A" s# E$ E1 |8 B
for & everyone \\ \tabucline[2pt]-, |. _7 w, s7 y# h2 [+ Q1 S
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
1 a+ s' M$ P0 r% H: p3 u %阿汪先生的博客: w! u; p7 C7 n$ t9 k: x
\end{tabu} * I9 Q( Y% ~9 Q0 d M, O
- B v1 Z& K/ m& x1 V' } Z(4)其他操作
: `# b/ a3 l! M: w, f在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。; |) \4 z5 \- X1 Q, _! x9 d
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
' m% S' M4 @; n6 N6 n使用示例:2 s9 [5 t! X4 b! ]/ ^1 O$ ]6 l% n1 v
\begin{tabu}{| X | X |} \hline
4 O+ F5 Z% j: {- {# d\multicolumn 2 {|c|}{Hello}&World \\ \hline
; B; F! ]+ w, D: F! l+ R\tabuphantomline %阿汪先生的博客
( F3 N. w& j$ z8 W' R2 t1 ]; R\end{tabu} %表格中不能有空行5 U" y! V/ `. X7 K; U# Y" b& B
% t+ @' [# s( F: I2 x
————————————————
8 _5 N9 K1 p; X7 |- o, ?4 u版权声明:本文为CSDN博主「阿汪先生」的原创文章。; p5 N$ S, N; M
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
3 t7 C1 Q$ U4 O7 ^5 K2 w |
zan
|