数学建模社区-数学中国
标题:
LaTeX论文写作系列之表格插入
[打印本页]
作者:
zhangtt123
时间:
2020-2-12 15:18
标题:
LaTeX论文写作系列之表格插入
一、常用的表格宏包
L: ^& R* v- N o1 O& m; ~
dcolumn 对齐小数点
0 v7 `4 O0 x) C4 X7 D1 Q! Z% Y9 l
makecell 单独控制单元格格式
* [5 T: ]/ `) y7 }
diagbox 对表格进行斜线分割
! D$ w) l) H) S. m8 D5 ?3 _( ?: q% m
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
* f6 ?5 l0 ? S) p7 ]" y5 {9 l" }
ltxtable longtable和tabularx的结合体
' H! h2 l( X4 S( a; Y
array 各个表格宏包都依赖于它
) s" _2 m' E' D8 Q, H$ U" J
* tabu 命令简单、功能强大
4 x; y. i8 K" `7 a5 b: K
7 k! @2 u4 M3 d4 V' {" \+ J
二、输入格式及说明
. J* I" L& M' v6 e
1、一般输入格式
$ y* K6 Z1 c" { U
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
' \- q5 _1 y) V. z0 Z {
& & & & \\
3 _, m6 l* o/ Y2 W1 o$ w% p
\end{tabular}
3 W1 e. b; c" E5 ]
6 o! b+ D0 z$ [% Z
2、一些说明
3 O; X5 c* C! ]/ n" s) t0 O
(1)特殊符号:
; o0 Q) X l/ N# n9 x7 @' R5 ^6 d
\\ 表示换行
* B3 q* @9 a# E0 Q
& 表示分隔单元格
$ _- F: \& x6 Q7 j# {) _( \; b
- r' I# P" \1 e# Q" p! A- i5 q" f
(2)垂直对齐方式:
. {. }& w. l" @9 t
t 表示按表格顶部对齐
& w* R ]! K6 l
b 表示按表格底部对齐
- @" Q8 O8 Y2 w
默认为:垂直居中,非t和b的参数都看作居中
4 O* b/ P$ M1 l3 a
, c1 F( c: O# A1 r0 y5 h
(3)列格式:
. D5 D" c; C9 r+ R7 i& O! g
l 表示列左齐 (小写的 L)
* Q% y0 z* L4 N9 M' X* K2 h
c 表示列居中对齐
! G1 _# V' y* {3 J( K
r 表示列右对齐
$ |( Z+ a1 j# r! x) y; ?
$ U" J" M4 R! ~* V( M1 w1 t- K2 B4 }0 l* j
三、单元格的合并
& z. C2 Z! P5 j+ _- r3 o0 E
1、行内单元格合并命令
4 m7 s' M' ~0 T2 D4 c4 ? l+ s9 S
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
1 o. }- U' I( |9 y- l" [
/ y. ]- ?" w7 M
(1)基础模板:
3 `8 l) S4 f# Z& [
\begin{tabular}{ | c | c | }
; k q8 d3 v9 Z
\hline
6 V s9 R F/ J% v( L
\multicolumn{2}{ | c | }{成绩} \\
7 p5 R! v( N# D' J" ~5 Z" d. k
\hline
( i1 [5 I5 j6 y! R4 L- K* {' s, R
语文 & 数学 \\ \hline
. Z2 Y4 {; p3 @. `; b" G
100 & 100 \\ \hline
+ p) F! h; R) A! ?/ Y7 z
%阿汪先生的博客
; P6 \( c9 [1 H
\end{tabular}
: s7 w& A+ b' N3 ?8 |
+ t, k+ c; O3 h2 Q: _3 a
(2)进阶模板:
, \/ G( e& Q$ c3 Y5 s
\begin{tabular}{ | c | r | r | }
; P! d$ O7 \& S9 U7 q" d U
\hline
2 ~6 G% g) d8 M( `' M
&\multicolumn{2}{ c | }{成绩} \\
2 o7 P- x' O. @8 A
\cline {2-3}
8 X! E" J; V5 c7 K# i7 r5 _4 R% E
姓名 & 语文 & 数学 \\ \hline
; L/ C2 |9 z2 `) }0 V7 B
阿汪 & 93 & 97 \\ \hline
) H/ H% F4 f( i0 u' b- h
%阿汪先生的博客
1 _0 H8 T5 E* x: @) T
\end{tabular}
" |: J8 y" N( ?# U& I6 \" R! f e
7 H1 K# B1 a4 x' U, Q
语句技巧:画水平表格线需要指定线的起始和终止列号。
4 G! [# i# x; u+ J/ O
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
, d" g3 o/ V G! P
' A4 `' [ m3 @; A3 z
2、列内单元格合并命令
8 t3 }$ f' S4 _0 I3 h
需要用 multirow宏包
3 C/ `6 ^: a$ w& Q3 f
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
1 I: K: g4 r, Q7 @
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
$ E5 f$ H4 ^/ i% Q
' \/ X/ h( z1 n6 t0 O
基础模板:
' t/ S# a3 U5 ^! U% F0 M
%导言区 \usepackage{multirow}
6 R" ?0 B1 d4 G' {
\begin{tabular}{ | c | r | r | }
5 Z6 {7 S" ~7 K* T2 R
\hline
! o7 U' a. y6 ~2 C% D4 W
\multirow{2}*{姓名}&
. x/ j% {7 F) j- e7 }: g/ B S
\multicolumn{2}{ c | }{成绩} \\
" N" J7 [! F: m* ?4 x; R2 P
\cline {2-3}
* N1 ~8 X2 c8 ~4 f6 }/ ?
& 语文 & 数学 \\ \hline
0 X' h3 |: b! M# E X
阿汪 & 93 & 97 \\ \hline
: P& Y2 r! P8 e! H f
%阿汪先生的博客
* Z- W9 b$ S) @
\end{tabular}
! j4 ~' C7 l; X( B9 m# l+ x% ?
3 u' W0 G. l2 k. @
四、特殊表格
) x/ t( X% o1 A6 i1 B$ I
1、定宽表格—tabularx
: _) {+ U8 q& N8 q
(1)注意点:
1 T, }! B H' i5 }! ?: ?/ z7 D
tabularx宏包提供tabularx环境
1 t- G4 F8 B4 g5 J U* t6 f+ l
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
a& ^/ M2 E7 v+ a- P7 \9 O
- }. t7 E' j* V: k; s
(2)使用示例:
) Z* H$ A2 }& m/ E+ p$ a6 p
%导言区 \usepackage{tabularx}
) H7 O% ? F+ ]8 Q M4 X! v
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
/ j2 D! N. ~& V1 d$ T* \( n
\hline
& { j3 ^0 r8 }3 B: |( o
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
' |. N, S1 e* s2 D( T+ g) c
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
" a: a* \7 V- }& A$ I+ I v" P0 F
%阿汪先生的博客
0 {, y7 k) F6 \' K3 |6 a
\end{tabularx}
$ z4 D) D) J% L2 Y: I
+ V( x5 z; u' S4 ?; m$ Y( V' ?
2、三线式表格—booktabs
; _" U+ R* I+ ?8 m( y) i; Z
(1)booktabs提供了如下命令:
* P- b# T1 W3 A% |0 c- A8 b# P
\toprule ,画表格顶部粗线。
+ {1 W! V! m; R' w. a; y" Q( }
\midrule,画表格中部粗线。
+ t5 X3 @7 K- B8 h6 u o/ r
\bottomrule,画表格底部细线。
* x# G. _+ O1 m* R7 [0 {0 Q2 D' r
\cmidrule 与 \cline命令相似。
3 p9 Z% @' z* P& A9 c7 i8 f
" r0 v9 ]: d2 [7 b
(2)使用示例:
* X; A3 {4 g# P- Z# S" B$ m
%导言区 \usepackage {booktabs}
M3 t+ v% W7 a5 n7 A5 p3 {/ i
\begin {tabular}{c c c}
* L' }' c0 z5 u, C
\toprule
* u- J6 Y. s# B% X; f9 v2 K8 X4 ?
姓名 & 语文 & 数学 \\ \midrule
4 v1 |/ W. f2 ~: X
阿汪 & 93 &97 \\ \cmidrule {2-3}
1 X. N8 ?( D. v* F8 X$ q
阿喵 & 98 &92 \\
' }) K B1 G1 F/ R" c( g
\bottomrule
( p4 L: e3 V$ `% d ?
%阿汪先生的博客
3 B+ _: ^* ^) d3 w
\end{tabular}
- y9 B7 t2 T2 ]7 k3 F
) |% d( Y3 {& Q# D' [
五、常用表格参数的设定
3 Z6 m2 Y% u4 q. ~% ^5 i
1、表格浮动环境
3 G4 Q! O! ?: O
控制表格(浮动)在本页中的显示位置需要table环境。
! I3 U" a' q; s
位置参数有htbp四种:here 、top 、bottom 、float page。
# t9 J- C# d% w3 k5 F) w6 q. X
table环境中可以通过 \caption 命令表格的标题。
) q @% \3 |* U2 Z1 r
: p* N; K! U2 y
(1)位置参数htbp释义:
5 V' O! o2 t+ K* U* o
here:在输入表格的位置排版
' x0 a O5 B9 Y, ^
top:在输入页面的顶部排版
. |. A* y6 a% e/ K% a! j4 p) W4 l
bottom:在输入页面的底部排版
* Q6 O, e# v$ `2 t; U
float page:在单独的浮动页面排版
2 x8 \+ d q/ |! E
(2)使用模板:
% ?2 u9 p7 X4 o$ t
\renewcommand\tablename{表}
# w `* n8 p: _. K: w
\begin {table}[htbp]
0 b' e4 g* j- t! t( n
\centering \caption{成绩一览表}
0 e6 @7 S" W6 `9 `, }
\begin {tabular}{c c c}
0 x- t a, ?' j, }
\toprule
2 J$ \" I- t W( c" q' h
姓名 & 语文 & 数学 \\ \midrule
* x9 B+ b5 b- C/ C& ~: X
阿汪 & 93 &97 \\ \cmidrule {2-3}
3 B4 R# g# |& b3 c5 M* H) K
阿喵 & 98 &92 \\
! v4 D; r- \2 Q8 A- i1 c
\bottomrule
2 `" b9 ?8 X' @* @$ N" O: D0 I) h5 G
\end{tabular}
8 x, D- a" H4 ]3 E
%阿汪先生的博客
0 m& u/ Q) |+ W
\end {table}
3 f8 Y3 ?+ Z' I, y2 G
8 n s* G' t: N( C8 A+ w6 \6 @
2、功能强大的tabu宏包
+ m, Q- f: O* }5 C' T9 B* R
(1)tabu宏包提供的基本表格环境
# a! |1 s) _4 I! [- V% H+ a" q5 x& F
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
5 v3 w0 r& U2 S6 w9 T/ s- s p7 u
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
& A1 j! y) N. X' l
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
% e6 S# R' a4 B) T P* J
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
" H" p: Z" z( [: b; r/ C. z V
(2)画线格式
. `9 D, U. v; [9 V0 Q$ m- L- E
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
7 |( O9 v7 w) k0 }0 ?
\begin{tabu}{|[2pt]c|c|[2pt]}
8 s" U- T) q7 C8 C5 l
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
' n. J0 C+ _7 o, ^. H
{-}指从本行起到本行末尾画一条横线,
4 |% f0 J) A& H0 Y
{2-}指从第二个单元格开始画线至行尾。
3 X2 O& N5 W) z* f) b! P- @
! U; m M/ Z" G5 o
(3)单独设置一行的格式
; P" s% z3 _; L0 y- u
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
4 E/ X; g6 b% k% [. X. H
使用示例:
: g. h# w. l0 p* O) s* ]% k
( k* Q" T1 b) D. }: V( C$ V& @, ~
\begin{tabu}{|X|X|}
9 x& Q- b' D+ f, r
\tabucline- %“-”表示无厚度等参数
% P: z. j0 v4 m0 b7 P# k3 v
\rowfont[c]{\bfseries} This & is \\ \tabucline-
V" `# l2 B/ ]/ X( _+ Y+ R( ~
for & everyone \\ \tabucline[2pt]-
/ e, E+ \' J' i- p9 B' @6 P& F5 v' K
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
4 {6 C1 E# k; L1 A
%阿汪先生的博客
( {( J2 w3 M! u. o/ g. |4 e$ m
\end{tabu}
; P/ H6 s) H" o0 X
6 }' V7 o2 n% c$ I3 b; K
(4)其他操作
! M$ ]" B1 \. M
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
$ ?* u" e7 c; C$ F' T
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
! E+ ~" D4 K: M! q
使用示例:
# N# C, v5 R/ Y; P5 w" K0 z
\begin{tabu}{| X | X |} \hline
( \" W6 b( L+ N% I+ [. L
\multicolumn 2 {|c|}{Hello}&World \\ \hline
6 C4 D: `- e+ N" Z, q H' ^
\tabuphantomline %阿汪先生的博客
; U0 u" y, w( w* V" V: A6 T; [& w
\end{tabu} %表格中不能有空行
$ ?) y4 ]5 `9 N( k. b" |+ Q
3 W0 I! r' z- v( ~/ |2 {
————————————————
" b, m; ~! \) _2 O: n4 x- k9 a
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
* {3 v e0 A9 c8 l! B
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
# a% X! @" K1 F7 \! i" d- B
作者:
925865807
时间:
2020-2-16 11:27
8 I3 R4 U6 v: ~5 @1 g- D1 d
, j/ B( _- {3 q2 w3 R, \
8 ^2 y/ E' c0 x H) V$ C
谢谢分享
" r) Q' L) ^) v O/ Q$ ], z; @5 x9 a
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5