数学建模社区-数学中国
标题:
LaTeX论文写作系列之表格插入
[打印本页]
作者:
zhangtt123
时间:
2020-2-12 15:18
标题:
LaTeX论文写作系列之表格插入
一、常用的表格宏包
; ?; b6 w: o Y( w8 {. N
dcolumn 对齐小数点
' I: _" \, A/ v; m
makecell 单独控制单元格格式
, E8 Z4 B4 n9 E% q& G- W
diagbox 对表格进行斜线分割
( h O q" q, V9 D
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
# e' h! \+ m2 I0 j. }) P" i
ltxtable longtable和tabularx的结合体
: L' i3 l( @* }6 ^9 s
array 各个表格宏包都依赖于它
$ `' b0 b7 u* v0 m
* tabu 命令简单、功能强大
$ s" ^% P) Y4 f7 }) [- p7 e8 a
. q* \; S# C) f# E& J& I
二、输入格式及说明
$ M; k$ d% X: ~
1、一般输入格式
8 X( N4 } m0 o& n+ i
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
v1 ^, d) G% D+ N
& & & & \\
2 V9 F, z0 |% L+ V4 p* T- w8 P) z
\end{tabular}
4 T% {: f3 @$ y+ c
1 Y: c5 {. m: M+ b! }
2、一些说明
' t& u& t; o$ W0 [; @
(1)特殊符号:
Q3 D. J5 o1 E& E/ K; N+ W; G4 p
\\ 表示换行
! b/ x/ N% @( ?# N% R
& 表示分隔单元格
: ]; \, i/ Q" A# D; \( u
- x8 W Q% r8 `5 S' U
(2)垂直对齐方式:
d# ^3 X! }7 E. n! a
t 表示按表格顶部对齐
7 a) c* }: q* m6 c% h- i ^; y
b 表示按表格底部对齐
9 k4 }8 E; z* Y' b h A1 x
默认为:垂直居中,非t和b的参数都看作居中
4 t! c: L6 \5 U) t! j4 n
& c2 p' s. K0 r/ @
(3)列格式:
" j# b0 e# f% b5 j
l 表示列左齐 (小写的 L)
4 X6 ?6 U( K. {1 V# Q7 U, _
c 表示列居中对齐
( h& Y3 E6 v' c& I/ e) }% i N8 h8 K
r 表示列右对齐
5 T: l5 R: j" H
, s: e1 E2 ?" W7 s3 Y8 O$ ]
三、单元格的合并
- Y* i6 N0 H: h7 v: d! l
1、行内单元格合并命令
9 x( j9 W2 g4 |
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
! F% w. h$ O; D- k
, K3 Q3 S' s9 R/ k/ z
(1)基础模板:
# }3 g; Y) U9 V6 O% T& N! ]$ t
\begin{tabular}{ | c | c | }
! M& O5 k1 W+ C- f' H. D
\hline
' q0 P3 x! @. K* O. C. w$ j
\multicolumn{2}{ | c | }{成绩} \\
( f# G& x: P0 F+ a7 v
\hline
# l. R) d5 v% N j+ U- y
语文 & 数学 \\ \hline
3 N4 s& `" m0 U c: w$ K- m y
100 & 100 \\ \hline
* F% u, `1 A3 N+ K; ~
%阿汪先生的博客
8 e E! r* c& t3 K: z0 D
\end{tabular}
- z7 d0 {9 Q9 D. M
& i; k) f. S8 f9 V
(2)进阶模板:
7 ?; T! Y7 o" U8 q
\begin{tabular}{ | c | r | r | }
$ B: P& F7 I* r3 |
\hline
/ Z! j5 n- t( N8 K! i
&\multicolumn{2}{ c | }{成绩} \\
0 ?& w4 a) ?/ o& E) L
\cline {2-3}
: W# h/ |. n; v ~
姓名 & 语文 & 数学 \\ \hline
! V# ^" p/ X% L1 d/ C
阿汪 & 93 & 97 \\ \hline
: R% x( s* Q9 [( n! i9 c: r
%阿汪先生的博客
# O; @7 d+ Z8 U
\end{tabular}
; i6 Q3 U/ F/ k9 J; g4 a: D
' o2 |' O m* y$ l
语句技巧:画水平表格线需要指定线的起始和终止列号。
" b; S M2 f; f& }! F; w; {# N* u
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
: ?+ e0 J1 Y: E2 \7 S0 J2 V" ?' t
1 z+ [7 r" l4 Y, ]% k
2、列内单元格合并命令
0 R: y* C( V4 u2 I- R! H
需要用 multirow宏包
1 t) r/ f9 W7 y6 n2 s
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
; z( V5 q F9 ?/ t' p
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
' P# X9 |; Q# e8 ^$ d" a
, s% X+ G: k1 I0 y1 k
基础模板:
. _9 E: } p8 s" K. P+ N: v ^4 E) I R2 R
%导言区 \usepackage{multirow}
6 ^0 d. y) l8 b9 t; N+ w1 a7 U9 R+ |
\begin{tabular}{ | c | r | r | }
$ g/ ^% P" C) I8 [! p
\hline
' y( X, I: o+ `0 X
\multirow{2}*{姓名}&
: F8 \/ t" t6 D) R; j
\multicolumn{2}{ c | }{成绩} \\
+ q( y. X9 Z, J! p. T
\cline {2-3}
* k' L# R. @( a: Q
& 语文 & 数学 \\ \hline
% z5 N/ d2 k- C# x7 z1 B
阿汪 & 93 & 97 \\ \hline
7 _3 G" \$ E+ T$ N6 ]8 E
%阿汪先生的博客
6 a0 v1 ~! d, J; V# z& T1 T$ O
\end{tabular}
3 O# M+ ^ ^# p0 T" \
1 i" q( C/ s: l2 X1 k0 V) ~7 `4 |2 Z
四、特殊表格
# b: ~4 N& w- n$ W+ b9 E" S
1、定宽表格—tabularx
) {: t6 d/ K; `- @0 c; l1 G3 S) _
(1)注意点:
z4 Z" w9 s M3 e. P, [7 A
tabularx宏包提供tabularx环境
" k9 u7 l4 S5 L- r+ ]5 m
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
5 x% M7 E' ^& h, W3 u
1 g2 V4 W3 \( K) \8 U8 h. ^
(2)使用示例:
4 R6 J" \. a2 S& q" Q
%导言区 \usepackage{tabularx}
: \, Q: o+ G% e- g
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
b/ H' U/ l+ y) A
\hline
3 g; M' W8 d; \6 b: U7 `. Z
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
: s' E9 G9 ~0 I/ X9 G' n
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
& E4 h, ?* h* i/ S. f6 h9 D' i
%阿汪先生的博客
8 E% e+ x: s1 k9 g# u" D! |& c# ^
\end{tabularx}
) U. a8 Y( V. C5 q& l( O* J+ w
' N# T7 S: j: C; W
2、三线式表格—booktabs
& t6 b5 y. ]7 o& g% B8 T2 j
(1)booktabs提供了如下命令:
q B' p: Y. }0 `9 ]* u/ t
\toprule ,画表格顶部粗线。
" i2 D( [: d& T+ h! B7 ^
\midrule,画表格中部粗线。
" Z& M# e# P; G; Q
\bottomrule,画表格底部细线。
0 [. o7 @6 v4 ]9 {! l+ y2 Q: j
\cmidrule 与 \cline命令相似。
0 m4 v; p" S5 C; k
o1 g! A w M2 H* L, f8 A* k/ \% F
(2)使用示例:
7 i( r [6 m6 k7 @1 m: K
%导言区 \usepackage {booktabs}
( L" k# @, L# G" F0 I" R Z$ a
\begin {tabular}{c c c}
+ ?1 p/ b! d1 \) n: S( t& J) Q! S6 U
\toprule
5 R; j: P% i8 D" x7 m; p, H5 D
姓名 & 语文 & 数学 \\ \midrule
( R& C U7 r" D' j. K, ^4 T/ R3 ~, E
阿汪 & 93 &97 \\ \cmidrule {2-3}
. M6 X( \! u) X3 Y1 C; R
阿喵 & 98 &92 \\
/ L* g( R+ \6 [% w; a
\bottomrule
: Y, x: E6 o) D# C
%阿汪先生的博客
; J: ~2 c4 E! {& t+ l, m) t' H- A
\end{tabular}
$ R) Q3 _) @3 m$ E/ }0 P9 L
( a% q/ x5 j V0 i3 E: G H
五、常用表格参数的设定
. B% F, b; j! H' |
1、表格浮动环境
6 [* {- m( |. W- C; F
控制表格(浮动)在本页中的显示位置需要table环境。
1 ^& H9 h4 G, Z; `; T
位置参数有htbp四种:here 、top 、bottom 、float page。
1 G, d% @7 n0 ]' }% R& E
table环境中可以通过 \caption 命令表格的标题。
8 B, U; o9 d+ O5 c$ S K6 k
; C; i) c# r e
(1)位置参数htbp释义:
, C& F8 ~6 J, M$ j
here:在输入表格的位置排版
' ]. d/ |! d3 H$ e9 Y9 y
top:在输入页面的顶部排版
( B% ~8 P/ {6 t& S/ s- k
bottom:在输入页面的底部排版
; T- |* N* {( N: {
float page:在单独的浮动页面排版
: t% |) y7 Q' H8 {5 i4 t. u1 f
(2)使用模板:
6 Q! Q. {4 y1 ~( }. [
\renewcommand\tablename{表}
$ W) L2 T2 L. o! S
\begin {table}[htbp]
: B- M+ X5 K: t6 X. a" t
\centering \caption{成绩一览表}
3 ~" w ^1 E7 v
\begin {tabular}{c c c}
/ R8 n# i0 |: w% ^/ D
\toprule
% G. C# N& X C) u
姓名 & 语文 & 数学 \\ \midrule
, ?. ?: O1 i; f: q0 f& K0 [
阿汪 & 93 &97 \\ \cmidrule {2-3}
* K% r0 b$ c' w* i
阿喵 & 98 &92 \\
! v5 d5 x2 _9 w( T7 g
\bottomrule
! L' H5 H( o; N' [6 D
\end{tabular}
* \+ [( G& Y+ Z8 V# v9 f/ u
%阿汪先生的博客
) _8 B3 l- c" _7 u: p; d
\end {table}
1 o% X. A" P: D9 S9 \2 _; |1 V
$ h4 |6 B5 v) R! L4 c
2、功能强大的tabu宏包
. z% A+ o! V" s5 d5 {- U
(1)tabu宏包提供的基本表格环境
1 e5 x0 F% a* k) c/ p6 C
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
6 l! i, l( \ q t& B0 ^
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
' _/ n, A$ F9 O$ N6 _& L
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
) B2 @* A" C2 p" [
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
7 z4 H4 M5 Q9 D, S
(2)画线格式
% g0 L9 `6 Q" |, W* O/ u, m
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
3 I8 W5 K1 h- l- Z
\begin{tabu}{|[2pt]c|c|[2pt]}
( _" W4 L3 I4 D9 K; r5 W& ^
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
2 M9 h, K( S0 f' }$ V! l
{-}指从本行起到本行末尾画一条横线,
7 h( ~$ e& W% U8 E$ G7 t1 I$ S
{2-}指从第二个单元格开始画线至行尾。
S& x6 A; c% l. y1 Y& c; i! Y
Y' O$ ?0 B- B% U X; [3 o' _
(3)单独设置一行的格式
+ x H) P1 R2 B6 y& j& @, N5 k% \
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
- V5 h0 Z: X/ I$ w. d6 G- @
使用示例:
I2 B$ `# y* q
) B+ n) n3 d# M0 w4 q$ j
\begin{tabu}{|X|X|}
+ W+ ~. M6 T8 J6 q) a
\tabucline- %“-”表示无厚度等参数
u, a+ J$ k6 i7 ?
\rowfont[c]{\bfseries} This & is \\ \tabucline-
9 U7 p8 q# [4 h2 V! {
for & everyone \\ \tabucline[2pt]-
; f3 P, E( q4 C% M( L8 ^
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
- W9 N0 ]2 t" Y& ]( H
%阿汪先生的博客
0 i( a% K, D: `* ?$ v
\end{tabu}
, [" ~& P( v- A" C% M+ P! {
8 C# y! g0 h3 Y/ q! ~
(4)其他操作
$ G9 |0 y" T1 s% d! `
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
$ r3 x, `8 z9 a0 y9 f% E7 X( g& @( ^
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
0 y2 L0 ]" d& B
使用示例:
/ c% \' z8 p( P
\begin{tabu}{| X | X |} \hline
' }) g" B2 H7 \7 v- ?5 r
\multicolumn 2 {|c|}{Hello}&World \\ \hline
* @# ]9 P9 D8 X. W3 p% [- Z
\tabuphantomline %阿汪先生的博客
2 n7 G" r5 N' _, F) ~# @
\end{tabu} %表格中不能有空行
2 }: D$ U1 D! x1 [! f8 W) {! Q
2 s# q4 u' ?) n/ s
————————————————
9 r0 z/ k% n0 Q4 k1 @
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
* q, n! Q- V4 v6 }+ M
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
$ N+ [- X+ l6 `7 I% N- G( E
作者:
925865807
时间:
2020-2-16 11:27
$ ~* z/ m6 ^+ v B* F0 ~9 k; E, P3 F
% V' J' f; W" g, u2 n+ |
8 x/ v8 w! u# D1 d. Z+ j: }
谢谢分享
. i! w' z5 r4 {! D0 ~
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5