- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55572 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17623
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
4 x2 q* |9 Z @4 j+ c7 T) C5 \ dcolumn 对齐小数点- r. _! N% o7 z7 I. @
makecell 单独控制单元格格式
; \0 R4 v. k5 z/ W6 T+ Q diagbox 对表格进行斜线分割
1 r9 G# }5 u1 E' G# N$ s O* longtable 长表格,可用于处理分页表格(表格超过一页时使用)% |" j& _1 G1 b# t
ltxtable longtable和tabularx的结合体% q- a5 c$ h" n8 h
array 各个表格宏包都依赖于它
, Z( p3 @( W0 H: B8 C8 G* tabu 命令简单、功能强大
; q/ x2 `4 l# v# t$ V: w6 A+ e6 G) W3 B( Z( \* N& |3 O; x% d1 Q
二、输入格式及说明
( h3 p! e: Y* J4 w9 D! M1、一般输入格式2 Y3 H5 u) ?$ G" Q8 b: v+ x5 l0 o8 @
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}: o* C( J2 d; o8 W- P# p
& & & & \\
# _) G6 Y5 z" o, m. x" M5 w! J- v \end{tabular}
# s U# z. o$ ?+ `. P8 v3 d
( r* U; U- s n5 D s6 v2、一些说明
7 I# B. r" F4 Y(1)特殊符号: }2 y3 B3 n# n9 V
\\ 表示换行
' V! `" t2 N# C5 s- | & 表示分隔单元格
; V. H* O8 D4 R; n# H: a9 a {1 D a# V8 U( |
(2)垂直对齐方式:
: v ?. n1 \% q) M4 s+ R) z8 x/ ^ t 表示按表格顶部对齐
4 m" w- E" u; C( x b 表示按表格底部对齐
) S* [0 V" R: A. t+ P 默认为:垂直居中,非t和b的参数都看作居中
( B5 b% n4 d+ S4 ~
( h8 K1 a! ^, M- p/ p- G2 y(3)列格式:
7 G( C7 W! I: y' s l 表示列左齐 (小写的 L)+ y- P$ D' D( V5 @8 w1 j
c 表示列居中对齐
1 M/ |( Y9 K% ^2 } r 表示列右对齐7 _# u4 V! i; o a3 l
, c: Z3 k9 v5 I- \. @; d( z三、单元格的合并
) a# Z4 A ~4 b1、行内单元格合并命令
7 T# Q* F2 l: ]5 [5 \* O+ x3 ?\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 ; w$ Q" m) L. Z9 `+ |+ ?, L
% t) }! U( I% [& d& e! O4 q
(1)基础模板:
* j2 o; K9 b, z7 _1 T a& d8 Z \begin{tabular}{ | c | c | }
, w% ]5 o5 U0 s- i `2 P- Z \hline* F: K$ p' F2 t; M3 Y$ o2 ^, j
\multicolumn{2}{ | c | }{成绩} \\$ d( x ~8 ?2 P
\hline
5 r' z/ u- {9 d+ V+ `' ` 语文 & 数学 \\ \hline
* v+ [3 N! t/ k2 ]2 @8 R 100 & 100 \\ \hline
' e( k5 l8 e7 @ %阿汪先生的博客6 x+ Q( \' L7 X" ?8 h& a
\end{tabular}& J, m9 Q! P1 ^! v1 p
8 u7 n6 W/ V5 l3 ^% n' L+ V
(2)进阶模板:
0 r- [' D/ {1 Q4 c9 a, B \begin{tabular}{ | c | r | r | }9 M2 s+ P4 z" W! f; ~0 ]2 P3 Q3 B
\hline2 s0 ?6 y+ m* u& f
&\multicolumn{2}{ c | }{成绩} \\
( B3 @7 J1 V) K5 A \cline {2-3}: b5 r5 L' l8 x( Q* ~* U; B
姓名 & 语文 & 数学 \\ \hline
0 Y0 `" ^ ?) y, z, Q" z0 Q: r! w$ [ 阿汪 & 93 & 97 \\ \hline $ y, ? u7 G% P2 Y
%阿汪先生的博客
! l# x2 F+ H5 z# h$ ~( Q( c \end{tabular}) q; }1 \( v5 c- v
: L$ w5 i! B ]语句技巧:画水平表格线需要指定线的起始和终止列号。5 v: w, j5 [2 W, H* d
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
0 I' h5 I8 J3 U- j7 {0 q7 n# ]9 O* \) M! m2 B
2、列内单元格合并命令
) q( P/ ^9 J0 o3 w- Q4 o- I需要用 multirow宏包. C& \4 E3 F3 a6 R2 b/ R8 B
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行" y C2 M; B% M
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
' b$ R0 o, ]( X7 w( f$ }* M; s
基础模板:3 x1 U d+ Y% y! a! [4 z
%导言区 \usepackage{multirow}8 ^5 H: q( H5 q, {0 l1 {0 B7 j+ f
\begin{tabular}{ | c | r | r | }
& B5 W+ A; Z# Y! Q \hline
; m+ F: a" h6 @3 K \multirow{2}*{姓名}&
Q8 }( {2 v) N, o2 n/ t0 u \multicolumn{2}{ c | }{成绩} \\
% v4 o/ C' E1 Z/ M8 D9 v \cline {2-3}2 j4 F$ \- h+ F( b* C5 d
& 语文 & 数学 \\ \hline7 W# Q1 f* ?7 _! @" m: M
阿汪 & 93 & 97 \\ \hline: o& V. T2 b- g6 i; j/ \
%阿汪先生的博客
, W+ @ i, k) j$ h4 J; F! \! v4 J \end{tabular}3 S) D8 M4 `+ k; @. Z' o; [
; e1 f$ T4 M! {! g. i# a6 E四、特殊表格
- H% P! l0 X9 [. d# n; C( }1、定宽表格—tabularx
' Z0 e8 P6 t$ A; q$ q. R- w6 d(1)注意点:
2 C; _7 [" F5 N7 w: F$ }% o tabularx宏包提供tabularx环境
9 M |; ^ _8 [7 Q X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。0 Z$ f& @, t0 K; o
+ W" V/ Y) G- v. C(2)使用示例:( l9 Y8 M$ N0 m1 M0 k- l# I3 P
%导言区 \usepackage{tabularx}
+ }* ^# `4 {5 J5 K8 A, O- h( W \begin{tabularx}{400}{ | c | X | X | X | X | X |}. J. P9 I* R. r( n, K/ F
\hline
* {/ V! \' @& E# R3 ^) _ 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
. L+ W6 h- X+ S0 p+ a 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
( V" ^ ^# ~- {4 w$ z, s8 ] %阿汪先生的博客# Q9 P0 L9 g9 b I6 q
\end{tabularx}
. `% a$ F4 g2 a5 B# s: r1 J6 a
5 E C. J$ b E, H0 }7 o2、三线式表格—booktabs
& k1 W5 ?1 _- i: u6 K(1)booktabs提供了如下命令:
: c6 K# W. m+ z4 z( D: ~( v \toprule ,画表格顶部粗线。1 K8 K1 S! ^0 t, s
\midrule,画表格中部粗线。
' \" z$ ?+ [ G, G4 m \bottomrule,画表格底部细线。
9 `5 F& e5 s8 L \cmidrule 与 \cline命令相似。3 g) \" h. |; N! q m/ D$ `9 K
* O i. n' a; X8 m2 g: F1 K) b(2)使用示例:
7 |8 v" W: N+ c9 g2 G/ W# C# C( K$ c%导言区 \usepackage {booktabs}
$ @1 |- Q5 W( g5 V* r \begin {tabular}{c c c}- N3 P/ \' b/ o8 b* L
\toprule
6 X& T2 c7 x9 ?" b1 K/ ?! C 姓名 & 语文 & 数学 \\ \midrule8 E* G* T& z8 z9 ?" s, y
阿汪 & 93 &97 \\ \cmidrule {2-3} _ U2 b2 F! R, |' w, r
阿喵 & 98 &92 \\
" E. b0 ~+ J9 a. } \bottomrule
; D9 O* S: t+ m! B, I4 | %阿汪先生的博客6 E+ ^+ c3 l- v u/ Q
\end{tabular}+ P; b% U( \; ]( ~
. H# I* g3 ^2 s, J: q
五、常用表格参数的设定2 o0 {4 y U6 r- B
1、表格浮动环境
$ ~0 I* C5 ^& ]" Q8 {0 @3 z控制表格(浮动)在本页中的显示位置需要table环境。9 h, i/ R8 b) K& L; Q5 m& a) Z
位置参数有htbp四种:here 、top 、bottom 、float page。
+ V' K, ^" S4 @! R' X! ^table环境中可以通过 \caption 命令表格的标题。
4 s- o) _5 B% _- U4 `7 |/ t2 k. k1 ^/ ]+ m2 X) q, } C f) r
(1)位置参数htbp释义:
' x5 r1 X5 r2 {5 ohere:在输入表格的位置排版
% Z3 ?' y* ~* Ltop:在输入页面的顶部排版
9 h+ n6 g Z. E! _- Vbottom:在输入页面的底部排版# g4 t. Q0 Q5 R. e
float page:在单独的浮动页面排版& B5 f8 h# i! N1 D* T5 C" o1 t
(2)使用模板:
0 Z+ ]1 S% j; p8 N# G\renewcommand\tablename{表}5 N2 j: ]4 b2 C7 x# Y8 V
\begin {table}[htbp]: x3 t- z. U9 s$ s
\centering \caption{成绩一览表}
% t4 m+ ]" n0 c4 V( N+ C \begin {tabular}{c c c}
2 g+ n9 m% n& _, I' k \toprule
0 t0 W0 N* b& u9 e. L) E6 C6 W" d7 } 姓名 & 语文 & 数学 \\ \midrule
: h$ H% B) `" ^ 阿汪 & 93 &97 \\ \cmidrule {2-3}
5 @1 D3 y8 Q$ m3 z* d1 h5 W 阿喵 & 98 &92 \\
1 f, P/ I1 l' w, R5 W$ w \bottomrule% p7 s2 f8 U y# ^/ j
\end{tabular}
% [9 q) q# m5 e3 E# X! }: N2 S %阿汪先生的博客
0 p% V7 C4 ~3 p2 S8 N! K) m5 |" `0 B2 Z \end {table} 8 N5 h$ y* M j( T
* N ~1 X$ A: b7 S4 j3 Q
2、功能强大的tabu宏包. P9 n1 X3 T% f) L$ ~
(1)tabu宏包提供的基本表格环境
4 r0 E$ g2 _3 _; C- S\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}+ @& Y8 X7 Y' T7 x
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}9 m( }7 F& v: ]7 d
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}/ R4 Q# t3 t$ h( r3 t1 H0 P
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
% y7 {% }$ X4 T1 f, z: s(2)画线格式
* s! U9 N5 W# ] tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
( t+ O; f4 ` M# k' d \begin{tabu}{|[2pt]c|c|[2pt]}
D* U, r$ F8 C K5 h! J# u \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度, q% [- ], e j; [( `7 O( H: S2 K
{-}指从本行起到本行末尾画一条横线,( B7 E* j W3 P+ h# D# B" J$ L
{2-}指从第二个单元格开始画线至行尾。# @) r' w% V. d/ ]
2 n5 }5 S! P: _% q8 \7 U
(3)单独设置一行的格式1 n+ z: _# t2 W* |: C5 C ]/ r4 z
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
: X# y! s9 m; W2 O9 O! k1 ^' {使用示例:
. \# |- [5 Y. r' z* K+ h
' v. \$ n$ [1 w- R\begin{tabu}{|X|X|}. x0 K2 J# e" F' M3 ?; B, H2 G
\tabucline- %“-”表示无厚度等参数6 C' m* ?: `( b; Y- y# f2 x& ]2 z: v
\rowfont[c]{\bfseries} This & is \\ \tabucline-
. r9 {1 _5 g( T$ R( s; c8 b for & everyone \\ \tabucline[2pt]-: c: o1 i& M R. ]! G
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- M' t) j) t& B3 G* q
%阿汪先生的博客1 j* x/ P, k) {/ q9 T
\end{tabu}
$ x+ m; {5 A% I' u i( c" e! R! N1 Y
(4)其他操作; _0 l0 v# @3 c. n
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。1 z8 k9 W2 y7 M) o# P5 B6 P8 R
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。9 H$ B' K5 {+ S: f- o( a
使用示例:7 s; Q, i V* N4 _( G3 f7 O
\begin{tabu}{| X | X |} \hline/ g, s$ Y* E P
\multicolumn 2 {|c|}{Hello}&World \\ \hline3 e: Q; k8 g; Y7 ?4 B2 a l9 l$ A
\tabuphantomline %阿汪先生的博客
J5 b6 R4 P- Z' ?5 }. E\end{tabu} %表格中不能有空行
' T/ g% z! Y# y9 ^2 a
5 k) h8 F1 f5 f& p, v————————————————
# L, {% |3 Q2 n, O5 X版权声明:本文为CSDN博主「阿汪先生」的原创文章。' U1 [. {( }/ `5 o
原文链接:https://blog.csdn.net/qq_43499622/article/details/968944371 E$ H! @/ g3 T5 j* M/ P
|
zan
|