- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55490 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17598
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
R& @) f0 M% ~% q& {+ l5 `& w$ U dcolumn 对齐小数点 L' ?) c8 B4 x8 t% c: i7 @
makecell 单独控制单元格格式! m- `7 g* ~# f1 X. f
diagbox 对表格进行斜线分割! w3 r3 [6 m+ G( r, }
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)4 \( j; Y- V0 F
ltxtable longtable和tabularx的结合体
3 g- _% ~, v& `2 a/ g8 F array 各个表格宏包都依赖于它
0 ~$ G) D- c0 g( e* _1 ~7 G* tabu 命令简单、功能强大+ s& m( I4 c+ Y. ]1 E
) I( m" Q. Y1 i, n4 r4 O* t
二、输入格式及说明
) ~9 h% |9 k6 r. X" X1、一般输入格式
2 x0 l$ H$ V4 x( V* Y% p) p8 Y\begin{tabular}[<垂直对齐方式>]{<列格式说明>}2 P7 x$ L8 k6 g6 Q% J7 \( @- s
& & & & \\
" T. f" B- H8 L0 s8 [ \end{tabular}% r0 |$ }% |! A5 t
: r3 L& w( F, l) G# l2、一些说明2 f0 S5 g1 s$ o' L4 A a1 R1 O' U
(1)特殊符号:% ~$ K9 z/ \7 Z/ _1 y) ?+ t
\\ 表示换行
/ S1 i2 p$ y W" w & 表示分隔单元格
0 ^' c4 ` i8 C5 I
4 Z) @/ m2 H j2 B: j# n% M(2)垂直对齐方式:: h8 f# m( _; k6 c
t 表示按表格顶部对齐
/ F* D8 D, t: u b 表示按表格底部对齐
1 h; R- E+ [1 y# ? 默认为:垂直居中,非t和b的参数都看作居中0 c9 a: J% f0 X- x" ?1 B, E
- s6 F, d* k1 c% F+ O- I, H$ H7 f(3)列格式:
: ?; Q6 D0 d! Q7 i7 Q) L$ u l 表示列左齐 (小写的 L)/ Y+ @ I( p, K( D( U
c 表示列居中对齐/ s; g5 A. S; A+ g1 K+ t: F
r 表示列右对齐
$ E# z% e; \) A4 Z1 z# D9 g6 D1 I) |) v1 y$ Y3 q8 Q5 h0 M! m
三、单元格的合并; X; x6 _+ e! L0 } k$ S
1、行内单元格合并命令# N! V# L1 `& b* y
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
1 Y4 @" G1 N8 B+ e/ I
, V( G8 [4 W9 O. x(1)基础模板:
+ [) S% d& @8 C V2 e9 O \begin{tabular}{ | c | c | }% |/ ?( X4 K$ i
\hline8 G! P9 i' F% [
\multicolumn{2}{ | c | }{成绩} \\
`: k \" D- @, Z" Z' z* z$ O \hline" E- j l+ m: s ]& v, p( q: F
语文 & 数学 \\ \hline( N: c, T3 D/ b; f1 C+ o+ o3 H' w
100 & 100 \\ \hline
# ]# z S/ E! G% d3 ^4 @9 m) B3 F %阿汪先生的博客
& G* C7 ]2 V4 k: V% b! @7 b \end{tabular}$ H9 c- R+ L# p/ J% @* d: t
; y ]/ E7 t3 m% d3 S
(2)进阶模板:+ G! `7 X. D2 W2 O* u7 z
\begin{tabular}{ | c | r | r | }! N7 `" V& }+ H3 r: F" f
\hline; d, y Q# y/ R2 c' L6 i
&\multicolumn{2}{ c | }{成绩} \\$ f7 O9 |6 ]8 O1 {. W8 y6 M
\cline {2-3}: k* ]. m. d! x' i
姓名 & 语文 & 数学 \\ \hline9 u4 \" [/ g7 e
阿汪 & 93 & 97 \\ \hline
1 n, F! ]9 m; A" H- n& K& s3 \3 d %阿汪先生的博客
# U; P( R: v4 ?8 M \end{tabular}
$ C, g* ^! t ~! d7 ~' p " D/ y, A5 m: W/ r2 K9 }' A4 P
语句技巧:画水平表格线需要指定线的起始和终止列号。0 U+ R* C% r/ k- w) E
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。$ L% f. d9 ?3 `
( Y: J2 K( b( M K
2、列内单元格合并命令( O1 q5 L# Z! x; v$ n b/ P
需要用 multirow宏包. k& e9 i9 ]% h; j" a; x2 M* q
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
* }4 f1 t" R1 `\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度8 a' x: R0 n8 b! k g9 z: w1 o
; ?+ a1 ^- N z" U
基础模板:& f1 `: I& U3 e+ i7 a/ v+ Q
%导言区 \usepackage{multirow}0 [8 F3 i6 Z6 E
\begin{tabular}{ | c | r | r | }7 V7 f% L7 T5 u) @: n6 Z- [& ]
\hline2 G" s3 x6 ]1 o o, V
\multirow{2}*{姓名}&
7 y: f! c' [* s, x6 t \multicolumn{2}{ c | }{成绩} \\
: z6 r+ n5 K# E8 C \cline {2-3}
; T# i! f d* I3 }6 j & 语文 & 数学 \\ \hline8 `7 h& ~- C" `
阿汪 & 93 & 97 \\ \hline2 }, x% i8 s& K1 L& q! E/ e2 _
%阿汪先生的博客
* {, Z0 l) Y4 ~) u7 E3 ~) Q \end{tabular}
/ ] Y1 @" j T1 E3 C7 b6 |1 l" R- {9 Z
四、特殊表格! N$ V; E( z: b8 m! o, s9 x
1、定宽表格—tabularx% n" |% t! Z- p5 w
(1)注意点:
4 i8 F& ?& e4 B, ]' D. g" w( v* j tabularx宏包提供tabularx环境
5 G* x! r1 i L. h) n+ B X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。: N: r2 _) q% V M4 ?
+ d1 R6 e( P1 j$ L( G- M(2)使用示例:/ w" r Z+ o4 w% S* m$ v" e
%导言区 \usepackage{tabularx}* {' p- x/ a: s& S
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
$ `2 u* w& F+ u2 b \hline
( m0 R( w& f; d. C& A 数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
& d- K1 S% |. n- _( T& Y* P 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline- g# N9 A& N$ a* q, j
%阿汪先生的博客
$ G1 z6 \! Z$ j$ _, ~ \end{tabularx}
6 K5 H; r& M% f 2 R: W( U% Z: u i
2、三线式表格—booktabs: E6 k) S$ u# Z- _ N
(1)booktabs提供了如下命令:
: F( K0 Z1 |, g8 p( v5 i8 e* S6 H \toprule ,画表格顶部粗线。
9 O$ ?! f, l: `) I' V1 ^! I& c \midrule,画表格中部粗线。. |( {, p' M8 c y
\bottomrule,画表格底部细线。2 c9 \( L- p5 J) c5 ^3 U4 ?' L! b
\cmidrule 与 \cline命令相似。
3 \$ U8 C1 o7 Q* p( \, H: r$ d* s f2 F& q' {. u) Z- z! D
(2)使用示例:& I' F" m% a6 M) [
%导言区 \usepackage {booktabs}
1 E. |$ w% B' q7 g \begin {tabular}{c c c}
) n' E' Z- B2 ~, j% ~" O \toprule" W& W7 r3 \' A, B% ]' N# ?( c! g
姓名 & 语文 & 数学 \\ \midrule
l4 |2 b) H, v2 k 阿汪 & 93 &97 \\ \cmidrule {2-3}5 o% q/ z p* a% u; I" Y
阿喵 & 98 &92 \\ , @' ~" V! f* i7 r9 U8 P `
\bottomrule
& T' T" E3 Z- j. |1 _" O4 U: s4 p %阿汪先生的博客$ s. J$ U; _7 \1 @
\end{tabular}
3 X3 X/ A7 N7 A- `( k
( s9 a6 w) X Y/ z0 [( Q# D0 ^五、常用表格参数的设定
. x& ?3 y, E7 V* s' @4 p( `1、表格浮动环境
2 \# x! t9 }: N控制表格(浮动)在本页中的显示位置需要table环境。
" Z2 g8 L0 U9 C; e位置参数有htbp四种:here 、top 、bottom 、float page。
5 z: I8 \1 f( ~# xtable环境中可以通过 \caption 命令表格的标题。) a& m. x% t/ a% j: ?# [/ h& f: A/ S
0 _# x. G, o8 K6 b3 d* ]
(1)位置参数htbp释义:8 z A, L S# Q
here:在输入表格的位置排版
0 R" l+ B4 |" c; ]6 z: a* B9 dtop:在输入页面的顶部排版2 [+ t0 X$ `% }' U
bottom:在输入页面的底部排版! m5 G' P B: {/ ~( v- R9 l8 r E
float page:在单独的浮动页面排版7 e; o1 ~/ e( h6 ~7 [* S3 B5 I2 X
(2)使用模板:
8 ^/ y" D, \" }. r7 e/ \\renewcommand\tablename{表}
" ]. q' m1 u: [9 g5 L" J \begin {table}[htbp]: `: g7 |9 j2 y3 v. ~/ x1 ^
\centering \caption{成绩一览表}0 a: A7 k5 N$ T' i1 E3 n8 x* d
\begin {tabular}{c c c}
0 k' N, A* k3 [* b4 y \toprule 9 M4 B5 q j9 X3 ^1 s
姓名 & 语文 & 数学 \\ \midrule3 s2 Z# Y9 {8 D
阿汪 & 93 &97 \\ \cmidrule {2-3}. X: B" _4 z+ D ]
阿喵 & 98 &92 \\
! Y$ B8 a9 N0 t( g \bottomrule
1 c8 J. ~8 f% U" N" D/ x$ Q8 g \end{tabular}% \& r0 M4 H6 z0 L
%阿汪先生的博客
& g7 ~: o7 D" G H8 l* ~ \end {table}
7 j$ \3 s' r; ^% m, Q8 I. k: f8 K5 K8 N$ c5 S2 Q6 l
2、功能强大的tabu宏包8 \* b8 J& Q8 u5 B& L. m* R, h0 t
(1)tabu宏包提供的基本表格环境' L; j/ j2 K5 R
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}- M. j5 g7 t1 _ E3 I. O: G1 N. h
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}9 m( j6 r- `/ r9 Y2 d
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}# c' P2 [ @, z0 K6 }! d
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。$ E* q- h2 a4 L# u- w
(2)画线格式* z1 w7 r l! w. n$ _% E; j
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。4 K8 x$ s4 h% K* m: \ i: A
\begin{tabu}{|[2pt]c|c|[2pt]}
; H6 r" C: R! A( j; j2 F# J \tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
; _/ B$ m3 D4 |1 M& u3 ? {-}指从本行起到本行末尾画一条横线,
9 H: T4 Q# [7 q, M' x1 B6 z {2-}指从第二个单元格开始画线至行尾。+ h' Q0 D+ a1 ~: h
, G8 b' X9 `/ y4 i* V! e5 e(3)单独设置一行的格式
7 l4 f) Y& f- P \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
+ f1 t. N/ B! f6 \5 L使用示例:
8 D, {' H. b$ E7 @( Q9 P5 j* ?( d" U/ Q5 }% @) k2 q$ `* ?2 P
\begin{tabu}{|X|X|}
8 ~5 e# G6 ~$ }0 z! h \" O \tabucline- %“-”表示无厚度等参数3 m. L, r# L) o1 H0 @4 d
\rowfont[c]{\bfseries} This & is \\ \tabucline-* I# P4 ?' ~+ u3 I: L$ P
for & everyone \\ \tabucline[2pt]-* G8 Q2 K0 v* P, b e2 q' ]
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline- - k9 ?2 S% s# v( }9 w! Q) S) P
%阿汪先生的博客
9 n7 Y- V. Y0 U. w% X. d$ i\end{tabu} " b) Y. R# m3 x% o7 t
5 n, a6 k" S7 t8 N4 W7 Z(4)其他操作
& f! `8 F! W7 w* x- ]在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。# _! Y$ E$ I: y% L2 V7 k
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
; I3 {/ a5 y8 M" s) @5 T5 x7 d6 I使用示例:
# J/ f. e9 t; N# P7 B$ K. `$ q\begin{tabu}{| X | X |} \hline
8 z' C; q/ n7 @/ }# ~$ ]" x/ E\multicolumn 2 {|c|}{Hello}&World \\ \hline6 `9 X( q+ w' d# R, i1 r
\tabuphantomline %阿汪先生的博客# v0 o9 a+ d$ K# |/ d, e
\end{tabu} %表格中不能有空行
. a, B+ z) O$ n8 o5 c9 d. ?7 G" O
" z0 M1 ?/ {1 H! U; _————————————————* u% Y( [9 Z6 C+ K
版权声明:本文为CSDN博主「阿汪先生」的原创文章。0 I2 _+ ^. }, l) [
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
0 P5 P3 G7 d% U% ] O @ |
zan
|