- 在线时间
- 661 小时
- 最后登录
- 2023-8-1
- 注册时间
- 2017-5-2
- 听众数
- 32
- 收听数
- 1
- 能力
- 10 分
- 体力
- 55581 点
- 威望
- 51 点
- 阅读权限
- 255
- 积分
- 17626
- 相册
- 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 田老师国赛冲刺课 |
一、常用的表格宏包
- F" }7 d8 d) M. N" Y dcolumn 对齐小数点( ~, |. T' C2 x4 I
makecell 单独控制单元格格式
3 B' e6 W$ P* T diagbox 对表格进行斜线分割 I# f2 o) m! u/ Q- H
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)( q( x6 E" m' W! H% Z0 k9 d* x
ltxtable longtable和tabularx的结合体+ I# m& [, N7 l
array 各个表格宏包都依赖于它
4 ~% }0 j8 k5 P/ r* U* tabu 命令简单、功能强大 k, `3 m/ q0 }' E8 o. m' q* ^
- B& Y, [; c7 z" Q: X( @7 \; w
二、输入格式及说明
5 @8 k( ]8 H# C) R1、一般输入格式9 T" y, o, O" }$ N8 C6 E7 n, I
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
0 h$ s @) i* k L0 x3 N & & & & \\
, e% \" t0 H" |& k% J/ ^/ B \end{tabular}7 n# ^7 e1 g/ c( t; J
' u; i% Z, c& ?" |: O( w
2、一些说明
1 b: }, ?+ ^" B! e5 r) _( Z! J# W(1)特殊符号:
# E. a& s4 y7 v4 W+ a v \\ 表示换行; ?! Z! W: u2 i1 y1 m% l
& 表示分隔单元格2 k) b: d7 R# z+ s1 _3 g
% t6 v8 I5 O6 H, v0 @(2)垂直对齐方式:
H" N+ T+ \0 R& x+ a4 L t 表示按表格顶部对齐
9 {" d1 z$ H: o b 表示按表格底部对齐0 K/ p3 Y; v$ e2 r e& ^
默认为:垂直居中,非t和b的参数都看作居中
- m! m9 i4 T8 Q
) V% w/ B5 {- r' _' U(3)列格式:
a3 {, Z2 w4 f9 @: ~ l 表示列左齐 (小写的 L)
, U2 ]7 @& x9 x$ E/ z, {& Q! A) v c 表示列居中对齐! |! C* j" M* J X9 V9 P
r 表示列右对齐9 _6 I+ q' W J {
9 a/ E9 ]' t0 E( b三、单元格的合并& B) P$ Y* J# j' A/ F# y
1、行内单元格合并命令& [7 h1 q1 @5 T6 t
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容 / o. x4 H( B: Y9 b6 s# F- E
! i1 z Z7 z( s
(1)基础模板:
8 I- L2 P- N- s( O, {. L7 m \begin{tabular}{ | c | c | }
* k n+ U7 Q& x9 h) M( P& k3 {5 g. N \hline+ ?* p5 G0 T9 A4 \1 K+ I1 M( E
\multicolumn{2}{ | c | }{成绩} \\4 H" R3 y: {( a- R9 `! A1 {, m
\hline7 V+ a5 Q! Q) f3 s) I
语文 & 数学 \\ \hline2 j) n( p1 \" A. l B3 _: C& L
100 & 100 \\ \hline
" Q; K; E) E: C: B" v; t% m %阿汪先生的博客
. g+ O) Y" ? B/ ~* \ \end{tabular}
6 P5 Y/ s6 U' P
8 {; B& v: J9 A6 @4 J# O(2)进阶模板:+ c/ f2 P: _+ D# }: Z& N! h
\begin{tabular}{ | c | r | r | }
. P) s2 \% ~! H \hline
5 }1 N, y2 O# ?- ~% I &\multicolumn{2}{ c | }{成绩} \\
9 X7 ~- G6 }0 u# Y! n' F6 j \cline {2-3}+ V& Q+ _+ I( y# F/ X
姓名 & 语文 & 数学 \\ \hline4 a4 o' k( a8 S+ S# z3 c
阿汪 & 93 & 97 \\ \hline ~( y9 M1 K& K: M3 U
%阿汪先生的博客2 I4 k0 Z/ V s
\end{tabular} \( k% w3 X p1 t V. _5 G9 k# V" w
. r6 t( _# Q9 Z. Z6 X4 Y语句技巧:画水平表格线需要指定线的起始和终止列号。4 \) b; q( B$ I4 U: O/ h1 q
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。' t& ]( r' D% L* J' x2 y) e
! F. J* l3 p5 @8 i$ N( E
2、列内单元格合并命令" L; b6 D3 U5 P* b+ ~ _
需要用 multirow宏包) J r1 q- T* n% F- W
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
! V1 R/ |: z" |- C' p1 F+ C% ?\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度4 o" p" w6 G" S. J _2 Z
/ _* l( P: D* e1 D$ ^) U& i基础模板:
$ ?, |4 h; R% m%导言区 \usepackage{multirow}
1 M# W8 p! F/ r \begin{tabular}{ | c | r | r | }/ v. [' J5 H9 t& _ A a3 _/ Y
\hline
* J/ l a- L! r; W0 J \multirow{2}*{姓名}&' s$ ] f# v" ~+ a* F
\multicolumn{2}{ c | }{成绩} \\9 |9 B! T# z1 Y! T4 c8 z E) g$ N
\cline {2-3}
/ M: |1 V) N3 ^9 Z & 语文 & 数学 \\ \hline+ g2 d' q i" u! j
阿汪 & 93 & 97 \\ \hline" F3 S& {- `( q+ u6 c
%阿汪先生的博客
! i# b' m0 A+ @2 c' _8 [3 F% @ \end{tabular}
% K w, U) y W, N8 w
" K* s7 A3 p3 s- V四、特殊表格
7 l6 k$ V$ W7 l7 I1 f1、定宽表格—tabularx
- a$ |2 P" I# H(1)注意点:7 x. @9 c) Z3 o+ Z( b. d$ N
tabularx宏包提供tabularx环境
" d; S+ [# ]4 P' f# Y B X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
! L: C! T2 ~* [8 V8 M# }/ I, R" P" m6 _3 V0 `4 A0 E, `. L
(2)使用示例:4 b4 t0 X0 l2 |* j8 G
%导言区 \usepackage{tabularx}
+ p h* x0 H8 W6 E4 J: r7 x7 G \begin{tabularx}{400}{ | c | X | X | X | X | X |}- n! `* k$ W: H9 s; ~' H. T& p
\hline; V B: d" W5 M8 ~
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
1 T/ A! s8 A0 C+ }5 X 汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
* B* l7 l4 Z- _% Z; b% v% E+ V %阿汪先生的博客
! y( N% Q$ h1 d \end{tabularx}! W" G$ \4 F- z1 w
& u, {- U' O A# m7 s2、三线式表格—booktabs. i9 j G) Z2 }( j, j5 D1 Q
(1)booktabs提供了如下命令:' `* P; _7 s. d8 J D
\toprule ,画表格顶部粗线。/ G) i* Y& H0 J1 h3 ~
\midrule,画表格中部粗线。
# @; y# R2 e9 U8 ?- p \bottomrule,画表格底部细线。
7 ?" G7 C1 O/ V. [* g \cmidrule 与 \cline命令相似。! ~5 e% T% F2 ?% N" H
5 P$ U7 e P) @7 _4 X$ S(2)使用示例:
( b* v$ S5 u2 H%导言区 \usepackage {booktabs}
: k3 w: G; k0 I4 j1 S+ v \begin {tabular}{c c c}
. [7 D2 o& z3 |9 B \toprule) `/ g3 a4 k. L& I1 `4 {
姓名 & 语文 & 数学 \\ \midrule
. o* a, w- q+ c w0 o q8 x3 G4 v* z 阿汪 & 93 &97 \\ \cmidrule {2-3}1 c8 ^4 e: s1 S a A0 Y. F' G2 H
阿喵 & 98 &92 \\
, V6 N" R0 O3 M0 H; S6 y \bottomrule
( d: R' ]8 k [2 V! e %阿汪先生的博客
8 C( X3 N7 @; u\end{tabular}
- L$ T3 N: c# ]
- `' z7 {$ K8 Y' |五、常用表格参数的设定& N% r" [+ K' ?5 U2 Z, ?
1、表格浮动环境! J# _( N& ^- G# i) m, r: o
控制表格(浮动)在本页中的显示位置需要table环境。) e0 Y% \- a* T5 O" Q) F/ ^
位置参数有htbp四种:here 、top 、bottom 、float page。6 \ L0 j3 O8 u. I- h- e/ x
table环境中可以通过 \caption 命令表格的标题。
; S# E" @& f+ _. t. ~2 [0 M7 d1 r2 p- Z% C6 }7 D
(1)位置参数htbp释义:: v. y+ s9 X1 y* v
here:在输入表格的位置排版
6 W' I A/ p/ q" r1 _top:在输入页面的顶部排版. n* _! y1 S/ [# t; t
bottom:在输入页面的底部排版% ~/ s( W$ o( p2 z I
float page:在单独的浮动页面排版
! L! O4 M2 Y j" @% F+ g( [(2)使用模板:6 S; A: ~! \) q& n5 P0 A2 R
\renewcommand\tablename{表}
6 T: Y( k0 I) @; z0 w$ s \begin {table}[htbp], b" K1 |2 N( p/ e* }2 M7 i
\centering \caption{成绩一览表}, }% n+ |: Z. b+ s# }9 A
\begin {tabular}{c c c}
" X6 P! s" n' W1 z \toprule 3 U) O9 k8 E6 x: K: b
姓名 & 语文 & 数学 \\ \midrule' X( Z- z& }6 @! u: @, e, L
阿汪 & 93 &97 \\ \cmidrule {2-3}/ W% |2 a2 @+ [/ [# J! v
阿喵 & 98 &92 \\ * t2 B! E. K: I2 n% j
\bottomrule7 t$ _3 V! B! Y) A6 q8 Y' y
\end{tabular}
- e& L- n: H3 J4 ?% R %阿汪先生的博客) A: n$ L' B/ w/ [
\end {table} . V2 q9 C; d% _
5 _3 E1 M+ w( v; k" ?7 }3 b, b
2、功能强大的tabu宏包- A; a9 Q2 Y) _$ L, v& S* S. F
(1)tabu宏包提供的基本表格环境% U: `" S8 v+ D: E( g# ^
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
% ~9 s6 ^% R B0 B\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}4 ?; c1 P2 \7 m1 M4 U
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
& r' F: T3 ]' q8 I* v% G: n4 I, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
5 C5 [+ L5 y" \ M5 i7 _& ^1 h7 s r(2)画线格式
* n b2 G- ]4 d1 v2 H tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
( K9 T5 _% ~3 D. u \begin{tabu}{|[2pt]c|c|[2pt]}2 s, a( s9 L8 a) F% V
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,8 K s8 O3 x! e4 A8 }+ Q
{-}指从本行起到本行末尾画一条横线,& u, V9 E8 ]3 P; t1 G! f& _7 N
{2-}指从第二个单元格开始画线至行尾。+ d: Z, `/ w) Z: K/ N' u
6 M0 c* O; m" O4 i2 o5 I
(3)单独设置一行的格式
& Z. _, C! R: R1 a, k \rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
# u! I$ M, J1 s使用示例:( |) U$ i/ ]. P8 l' ]; Y( D
& _( o" W U* T# S9 @5 Z
\begin{tabu}{|X|X|}8 o: Y& A8 B3 S" n
\tabucline- %“-”表示无厚度等参数( y1 G+ B- o8 N! _( Y
\rowfont[c]{\bfseries} This & is \\ \tabucline-
1 l, l( V! s4 }) C, O4 ~- k for & everyone \\ \tabucline[2pt]-4 ?; F4 k, g9 L
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
! u9 ]7 z# ]5 f6 E: i9 k4 n %阿汪先生的博客0 s2 o/ G; p# u
\end{tabu} 5 Z( t0 V% i9 Z! X9 `
% x. f5 T7 [ E(4)其他操作
& `$ t8 q G! N' o5 u9 n/ q" B/ y& {在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
4 K, ~; h N' j4 N- D7 z\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。5 _: t8 z8 g3 U3 Z5 e
使用示例:
" h' u. S8 | B. V8 o; J/ V' p\begin{tabu}{| X | X |} \hline
; g3 t' X1 w S+ N& `/ d\multicolumn 2 {|c|}{Hello}&World \\ \hline* o1 g+ X" T( c
\tabuphantomline %阿汪先生的博客
4 \+ Y ~8 a; B8 J% u; n\end{tabu} %表格中不能有空行* U2 v% k' @1 a: \- ^' s' [# V; q
% g, a; C4 T5 F8 u$ h
————————————————% u g) k( p( v. ]6 B3 T* I+ M6 J
版权声明:本文为CSDN博主「阿汪先生」的原创文章。7 k- g% R6 i/ Y# M3 N0 x. C
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
) g. j8 s1 a8 c* a: x |
zan
|