数学建模社区-数学中国
标题:
LaTeX论文写作系列之表格插入
[打印本页]
作者:
zhangtt123
时间:
2020-2-12 15:18
标题:
LaTeX论文写作系列之表格插入
一、常用的表格宏包
/ }6 _% c& L# x" K* n3 S
dcolumn 对齐小数点
9 g* K+ Z4 U: b
makecell 单独控制单元格格式
3 X* q9 f, A, l6 J5 z* Y, H: V
diagbox 对表格进行斜线分割
- ?/ L4 L8 I5 b8 ~3 d) C
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
6 W" H& F6 W* I( k5 {- J4 V
ltxtable longtable和tabularx的结合体
% `4 W! D( `. C w# S9 r
array 各个表格宏包都依赖于它
. Q; R* m: d3 ^# W, K% z
* tabu 命令简单、功能强大
' s, Z; @! p2 f+ l/ F [
9 c+ w7 Z0 F- U# C" M: h* j
二、输入格式及说明
5 ]5 J3 s3 r! m, d v* D2 K" G0 t
1、一般输入格式
$ t- C" \8 Q" ^" `6 p# } \4 N# G
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
Y, c M4 K3 O! x4 I; z9 m
& & & & \\
5 [$ K' C; j; v) N$ u, m
\end{tabular}
3 n* b9 h. D, Z' M" C7 i5 ?9 ]
( m9 o5 \9 z8 F
2、一些说明
* s, }' S8 A. C0 m9 p' e
(1)特殊符号:
; F( G; t7 b1 ^6 Y Z* U7 i7 O
\\ 表示换行
1 m3 O- I" A6 v4 ^( a/ \" P
& 表示分隔单元格
) G k: S+ @" I$ {# O3 Y* q
: X, z! }, S A: c- L! l
(2)垂直对齐方式:
1 k( Y3 m [8 B4 _$ a4 j# h! s
t 表示按表格顶部对齐
. T |* i: r* Z! T
b 表示按表格底部对齐
6 T1 ^* ~. H% S' g& v
默认为:垂直居中,非t和b的参数都看作居中
5 a5 y1 H! q+ Y# e" s5 c
# d% E6 e5 {" A1 J& E
(3)列格式:
/ x6 t, j: v/ b9 \
l 表示列左齐 (小写的 L)
d4 j& G9 K4 O8 x5 }- B; ?
c 表示列居中对齐
: ?( w5 [- X: ~ `9 N* b
r 表示列右对齐
" _; M$ s- h; U0 {! R/ G) V* I
4 p. N( E8 E: n8 h3 p
三、单元格的合并
3 {- f! |! Y% A2 B" b
1、行内单元格合并命令
( q* t6 R$ r% v( p: R7 j# y$ @4 M
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
, {3 Y ~4 @& z& q
: W# e7 B; R" h% B4 {$ e- O
(1)基础模板:
5 }) l5 H# @; Z* ~& y
\begin{tabular}{ | c | c | }
8 h% C0 }' W! {( p8 C) Q
\hline
/ Q4 T" n5 p; s" D4 L# W
\multicolumn{2}{ | c | }{成绩} \\
5 C+ N5 K3 W& H: S/ j
\hline
/ E* u/ q$ N* a# o, A8 ~
语文 & 数学 \\ \hline
( {7 W+ [) U& \
100 & 100 \\ \hline
: Y7 w4 \7 b+ p% t7 ?# }
%阿汪先生的博客
7 o! @ L3 z- B2 ^6 Q5 _
\end{tabular}
$ X$ W+ p7 w/ \" c v( H
; C* ^9 k% J: N: J) |4 G& m
(2)进阶模板:
% X& R2 o9 {+ K+ [0 N1 L% Z
\begin{tabular}{ | c | r | r | }
7 w' }& O4 i% o/ E
\hline
0 x# B& y( S6 d8 C; d5 U2 B
&\multicolumn{2}{ c | }{成绩} \\
6 I7 ?4 A. M% Y( e8 p& W/ J* O
\cline {2-3}
" W% `( N: ?, `, U' n
姓名 & 语文 & 数学 \\ \hline
; v7 G& J9 m$ }4 A0 y3 h& S
阿汪 & 93 & 97 \\ \hline
. Y$ {' Z. j. e/ ^2 [/ O$ G
%阿汪先生的博客
6 R. v- N1 Q; R, ^
\end{tabular}
- b7 q& R: I9 S s& I/ F
9 w! h1 R' I6 @' W; ]$ n
语句技巧:画水平表格线需要指定线的起始和终止列号。
& u. p5 q4 B+ L' ~) L* z4 F! s
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
' P% S$ b ?8 [/ N
* p* o- \" h8 n
2、列内单元格合并命令
/ L& |3 C2 I0 ^$ G
需要用 multirow宏包
4 v# Q2 n( Q' i2 v3 x' o
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
- s; k3 V; G1 x+ R" I
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
. h& L8 \. f6 X8 j/ c
* [! X2 b7 n# z8 Q" D! j( w# f0 l
基础模板:
2 E) I7 w+ i, j
%导言区 \usepackage{multirow}
% p3 T" N: _' C0 E4 Y5 m: u! l9 F6 v
\begin{tabular}{ | c | r | r | }
* O% k8 Q: {8 N* z: t/ S
\hline
- t& I' N0 Y6 P" V+ C
\multirow{2}*{姓名}&
9 U) a: {. s. P ~3 t- X
\multicolumn{2}{ c | }{成绩} \\
) t' H* p+ `, g" w" T" \+ I. S
\cline {2-3}
! h5 {- a+ b. S# b( w1 z+ O. b
& 语文 & 数学 \\ \hline
- H6 J* e/ Z, x
阿汪 & 93 & 97 \\ \hline
4 d# v: j- F( t- P
%阿汪先生的博客
5 v# k/ w3 K& d' A/ n3 H6 W
\end{tabular}
& b6 v( u9 K. T) A% m/ R& Q& b
* C; ^) U) V* R j: c- `
四、特殊表格
- K: n4 m3 w* g
1、定宽表格—tabularx
! H/ S. }, G: T" v
(1)注意点:
$ ]+ e/ Y- u" a: u) n# k
tabularx宏包提供tabularx环境
' }4 L% U5 j" ~
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
0 O+ c. T _7 p. L6 F
+ o" [, t1 J" C% e. E
(2)使用示例:
0 F+ c6 @$ N9 i; ?6 h
%导言区 \usepackage{tabularx}
) P$ f' |( t; V2 z0 w
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
/ o' A8 X1 @6 `, |: ~0 f
\hline
7 W% H& u6 ?5 i, Y; r/ Z9 U3 T" G
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
+ L6 G5 K- h1 A! d) |% U" n8 z
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
6 o! N: F" i$ h
%阿汪先生的博客
0 u2 R8 J( ]/ _5 U2 Z% o
\end{tabularx}
" B- H4 a, S& \/ W4 U' _4 T- r
( `& G& T4 u$ i2 T
2、三线式表格—booktabs
' g% T' k, m- {* l
(1)booktabs提供了如下命令:
4 a/ q4 d% f% w! ?8 Z
\toprule ,画表格顶部粗线。
9 @) Q+ ~! A: d: f! i
\midrule,画表格中部粗线。
7 \9 i: w, b/ {% C1 q# z- L
\bottomrule,画表格底部细线。
: b2 }2 C G1 a5 |, H+ [
\cmidrule 与 \cline命令相似。
. m! u6 D. _- L$ C0 k' w7 ]! L
- T# u; Z( ~" _6 ^: W
(2)使用示例:
* I$ I: M5 i* V6 U- |
%导言区 \usepackage {booktabs}
8 h; h8 g6 O( r9 n, X6 Y
\begin {tabular}{c c c}
! `* x: d0 p: N. b# m: O9 \
\toprule
/ G# r4 m3 G/ c" a. ]# Z$ Q) V
姓名 & 语文 & 数学 \\ \midrule
t+ {6 t8 a! q
阿汪 & 93 &97 \\ \cmidrule {2-3}
; o* A' N; E/ E+ l; X6 J2 ?
阿喵 & 98 &92 \\
2 g" T3 m5 R* v* S
\bottomrule
! S6 s* C8 H) e/ a
%阿汪先生的博客
8 q/ E& O7 o9 o" T% T8 m
\end{tabular}
" G0 s0 g4 O8 p$ \0 H* ?9 ]% x
& E8 ^8 Q4 H9 c
五、常用表格参数的设定
5 _! W& F* Q6 | j8 f1 F2 ~
1、表格浮动环境
/ ?+ q1 u+ S' d7 a7 [5 W8 V! @
控制表格(浮动)在本页中的显示位置需要table环境。
! j4 u, y& `8 q; M; R0 m
位置参数有htbp四种:here 、top 、bottom 、float page。
: m1 U0 U/ Q) C% G, O- Z
table环境中可以通过 \caption 命令表格的标题。
, p+ `+ M. U! }4 |2 A, A9 q
) e9 `+ A+ Y9 ~4 x! }+ V
(1)位置参数htbp释义:
" X- a' K5 ]" N+ o& r K P' r
here:在输入表格的位置排版
* K3 F$ ]4 U8 u: N. Q1 g9 C
top:在输入页面的顶部排版
! }2 E$ F) R3 T% j' ` T) l# S8 W
bottom:在输入页面的底部排版
% v1 ?) C1 f# a) r
float page:在单独的浮动页面排版
$ n4 P) J' M* a' O
(2)使用模板:
7 A' r. l2 |; X( A+ L3 ~
\renewcommand\tablename{表}
: V1 X. g4 R7 x# ?( q; ~
\begin {table}[htbp]
4 D/ U* e% ~, l( e# J
\centering \caption{成绩一览表}
( b* o- y( x% i/ F
\begin {tabular}{c c c}
3 K6 ~9 Y/ |+ h" |! ]$ Y
\toprule
k H8 Q5 k' C$ D$ t8 F. d+ O
姓名 & 语文 & 数学 \\ \midrule
% [: K& B8 w0 ?$ ?4 T- v
阿汪 & 93 &97 \\ \cmidrule {2-3}
- x' _0 X0 I' |0 I2 j* F: i3 v
阿喵 & 98 &92 \\
" b, Y d- \1 ^* Q- A
\bottomrule
) m, U( [! E0 g' e, J- |* {9 z
\end{tabular}
3 q& \( r3 |+ Q7 }+ X
%阿汪先生的博客
& L& o# ?7 m( r% }- w! J( S& V
\end {table}
# P( }$ I; E2 v# H
( O9 K0 V' v& F3 @/ i% w
2、功能强大的tabu宏包
6 F/ e, X4 V5 T: q: w- l
(1)tabu宏包提供的基本表格环境
% u# D! L- U9 y+ H+ v
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
9 {% T: |1 Z! x# [
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
% m0 _* @7 Z5 h0 u
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
$ S; d3 a- g; e% c8 p! f7 _
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
% C' K1 R. c ~* k
(2)画线格式
0 v( ]2 u" o3 M: b) {# z! }
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
/ {& Y0 F& m5 g3 ]3 N9 P
\begin{tabu}{|[2pt]c|c|[2pt]}
: D% `( O7 C. x" r9 Y
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
- f' _/ I& L! F" X( X+ m
{-}指从本行起到本行末尾画一条横线,
" x1 q3 Q+ Q+ R Q2 q/ I* O3 l
{2-}指从第二个单元格开始画线至行尾。
/ h! {7 R/ E6 i
; D8 @4 b% \! e" K( r0 P- k
(3)单独设置一行的格式
. n R. K t4 a/ A
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
6 ^/ ], S) z9 L4 V! U
使用示例:
1 [8 E( g5 a5 W9 b0 d$ m0 g) C0 E
$ |. o" a1 U, E+ N o( q: d1 U2 h
\begin{tabu}{|X|X|}
8 i/ h5 G0 j9 l" }3 G
\tabucline- %“-”表示无厚度等参数
0 D6 B- r2 K7 r, i4 M9 N# t5 ?
\rowfont[c]{\bfseries} This & is \\ \tabucline-
) i7 ]4 W) V$ M& w% d: c
for & everyone \\ \tabucline[2pt]-
p+ ^, [* R. q
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
. i+ p W% G. [
%阿汪先生的博客
: e, F5 n# i j" s$ Y
\end{tabu}
4 B8 X% d0 z" \* g' G8 A
% J0 M' y. n7 }; N$ A
(4)其他操作
) E- i, a: {* t1 ]* }
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
# b& {, c E* g% @8 k% O
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
- N( x2 k" o3 z; Y. u4 y+ M
使用示例:
& m, k, P; {; H: b4 |
\begin{tabu}{| X | X |} \hline
+ ^/ k/ \9 W# i
\multicolumn 2 {|c|}{Hello}&World \\ \hline
7 c, w3 s8 ?- r# z
\tabuphantomline %阿汪先生的博客
( [, X; D2 U) x/ E% X
\end{tabu} %表格中不能有空行
+ T5 g/ s" D* x+ z# i' i( S+ E
" |" `) s* C. h' D' e/ V( y
————————————————
0 @# J+ R7 _& F7 p: l2 T
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
* v6 w3 u6 q+ y) x
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
" F& N8 h6 |! I: O7 [# I
作者:
925865807
时间:
2020-2-16 11:27
! l0 n6 n/ V1 W, W
( m( ~) D! F9 F. n/ E( y# {9 F
$ D" g( g- y" H
谢谢分享
4 O1 Q4 |- X" B2 t8 }& Q
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5