数学建模社区-数学中国
标题:
LaTeX论文写作系列之表格插入
[打印本页]
作者:
zhangtt123
时间:
2020-2-12 15:18
标题:
LaTeX论文写作系列之表格插入
一、常用的表格宏包
4 i/ t3 w9 Y* L C2 r6 {+ i9 ?
dcolumn 对齐小数点
% K2 e& _- P8 o [1 k9 r* j O
makecell 单独控制单元格格式
, x, H! b1 N2 \! M, Y' C1 n6 ~
diagbox 对表格进行斜线分割
. L u# f: N# a- j# h
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
4 B# D9 }6 Z: J! ?! s
ltxtable longtable和tabularx的结合体
1 {! D% M" @$ \* @" S4 {5 R
array 各个表格宏包都依赖于它
k2 j4 z. \! u5 L
* tabu 命令简单、功能强大
o' {% L* h3 G% E
! x2 w! V# z @* X* X6 Q
二、输入格式及说明
* d# t& O6 M2 n+ G7 c
1、一般输入格式
' u5 q! ?1 M: ]- ~6 `8 ~
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
) w( s; N7 S! Y5 T' _5 x
& & & & \\
, T0 l8 u' E) d& ^, u
\end{tabular}
6 ^; N5 j; u$ E* i- y ]6 V7 W: F- X, L
$ K( d6 B7 ]% P+ [ X' M! ^9 X
2、一些说明
% O% I7 \1 ^" p; }
(1)特殊符号:
& R5 z7 G3 h' r1 ~7 M% R# A
\\ 表示换行
% V8 \+ y! t V! n7 s% ~+ B0 S9 h
& 表示分隔单元格
, `, i5 K, g7 Q: B4 V
4 ^/ i$ ~7 [5 @ X& r
(2)垂直对齐方式:
) C5 t- E' A8 ~; |# o
t 表示按表格顶部对齐
+ P: a0 G4 v* E* _0 V) g$ `* L1 H
b 表示按表格底部对齐
% Q( K; D% }3 y$ Z2 }4 {2 L+ M
默认为:垂直居中,非t和b的参数都看作居中
) v0 g1 `: @* W
3 B9 ?% v5 w$ [) ]: l
(3)列格式:
0 U% I6 I0 z$ Z6 i
l 表示列左齐 (小写的 L)
( a2 a1 P; x/ v! P; S
c 表示列居中对齐
/ y* Z) s6 Q$ o) _; M P8 H
r 表示列右对齐
- t: K1 q* {) e! ?
4 i/ O2 b1 k4 s+ y( P7 D
三、单元格的合并
! t/ C6 e( A s/ ?/ N* q( l5 D
1、行内单元格合并命令
$ Q: O+ Y/ H5 C/ D+ R
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
* I7 B' T3 L5 M6 q3 H
' r* b+ t# b' Z9 C& o
(1)基础模板:
0 F6 B+ M+ m6 f3 w1 w: I! o- A4 t
\begin{tabular}{ | c | c | }
3 b" I7 r3 w, M0 V1 c- A
\hline
, _6 H( \8 X+ l9 \
\multicolumn{2}{ | c | }{成绩} \\
. N i' n* ?% P$ j
\hline
- ~" p, Y$ X+ l i* D
语文 & 数学 \\ \hline
( k* j! t" t' `& ?; C/ b
100 & 100 \\ \hline
& H2 X/ r0 d+ \1 U# q1 y
%阿汪先生的博客
5 x+ s2 L8 f# W: H/ c( X
\end{tabular}
1 \5 o- [( b. x3 t5 s5 a' w' \
6 q: f6 L$ W, O/ s2 v" u' P
(2)进阶模板:
' G5 E6 I$ e8 ]8 Y2 R) I5 r& B8 u0 k
\begin{tabular}{ | c | r | r | }
* m8 m, I' i& K
\hline
1 J7 n$ Y- C0 C. W" g7 E+ s5 ?
&\multicolumn{2}{ c | }{成绩} \\
5 ]/ k; q; N2 f5 f9 \
\cline {2-3}
6 x! e+ B) v/ V( F d) ?- [2 S
姓名 & 语文 & 数学 \\ \hline
1 L0 a/ x) a7 |1 V
阿汪 & 93 & 97 \\ \hline
. P6 Q2 V) {6 D- s
%阿汪先生的博客
4 E% i( p& ~* y. u. p- }. p; D- v
\end{tabular}
0 @$ {8 T( T: ]6 C9 q4 u( G+ c
7 [8 D/ a+ d' D& F/ i u e0 Y
语句技巧:画水平表格线需要指定线的起始和终止列号。
- Y6 S* z/ t6 g! ]) k
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
1 V0 v2 Z+ X' I5 _+ T
) n9 J6 ^3 ^4 t# c7 |
2、列内单元格合并命令
0 d& K8 x/ p* ]; e$ m/ r! e
需要用 multirow宏包
* w8 l' X5 C/ `: P: y6 T
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
: Q" w4 n2 v0 z4 k0 Y& H) t3 Q6 \
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
- |* o U$ a i9 m
' m _+ q7 A0 z, D
基础模板:
6 `% h7 ^9 o: X3 d/ ^
%导言区 \usepackage{multirow}
: m) m; p: h' n5 n, S8 A
\begin{tabular}{ | c | r | r | }
+ n7 \0 p- o- K6 p0 q% y) B9 @
\hline
# \' P7 ?+ ^% A" S
\multirow{2}*{姓名}&
# h- l* {# f' q1 P& T
\multicolumn{2}{ c | }{成绩} \\
5 A2 N7 k, r+ N( h
\cline {2-3}
6 x7 @, d/ m% g
& 语文 & 数学 \\ \hline
' ]9 N$ ?0 A# J* R
阿汪 & 93 & 97 \\ \hline
& c( S) e! Z( j8 S+ c2 P
%阿汪先生的博客
# {# z& n/ |# Q: n0 i& l
\end{tabular}
0 q3 D6 z& ]* _7 Q- z# p: H
; ` P/ I6 X) | j9 G @
四、特殊表格
' L$ l& j- J5 n% ]- p* d
1、定宽表格—tabularx
3 w4 o! G$ `* z0 E Y" Y) u+ _
(1)注意点:
& P# g% V2 \( S8 Y! Y+ E
tabularx宏包提供tabularx环境
$ Y$ ^7 y& \, J/ m% v6 D: F
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
9 W K( s2 ?' i. N- s( S9 h, h
3 X9 \( w, P$ T; [6 u. K# K
(2)使用示例:
4 S4 z6 Q$ [/ x. b' E# s% P- y5 t, f# S2 J
%导言区 \usepackage{tabularx}
5 ]; @! W, l- C- y: c% ]2 s0 K
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
( M" m6 H+ Z1 Z: c+ G% P& [
\hline
$ q! o; E/ j, F( P
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
/ J* |) s% Y) R; w7 A
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
% B( P9 y; r8 m. S
%阿汪先生的博客
! {7 ^8 C! a4 Z* w$ V6 ^$ `
\end{tabularx}
; Q5 c' Y, V9 @* s' i5 M+ ^
7 w& l2 c0 y* ?' T1 s, q( C+ l3 M6 {
2、三线式表格—booktabs
! g" R m7 Y, t+ f: `- ?) [( Z
(1)booktabs提供了如下命令:
. \* ?. o, E3 K4 d$ D' c! Q
\toprule ,画表格顶部粗线。
6 o& P, @7 P+ ]* F$ C* J x
\midrule,画表格中部粗线。
- w7 [! ?7 H, I8 h* ?9 X
\bottomrule,画表格底部细线。
& w6 d& r% t, x; S" Z/ e# X
\cmidrule 与 \cline命令相似。
5 m7 B8 i3 H& q% `1 p* h1 ^
5 T& a4 n/ }' O" N" y# Y/ S
(2)使用示例:
* Z. N# c3 p8 D9 U* H
%导言区 \usepackage {booktabs}
$ \' |0 ]7 H0 E3 p1 s/ B$ q
\begin {tabular}{c c c}
/ i/ U: B) O- `
\toprule
3 K: p7 ~ u: e0 v% y3 B. V' Z: J: O" W9 s
姓名 & 语文 & 数学 \\ \midrule
1 B# |4 l7 g7 \5 c! P1 d
阿汪 & 93 &97 \\ \cmidrule {2-3}
6 A& u S' X2 F/ Y5 n2 G, z
阿喵 & 98 &92 \\
, E% J4 L$ U( G5 m) |
\bottomrule
/ D) X( d7 i, z; t+ s* l; Q
%阿汪先生的博客
/ \! i7 q1 @, Y/ S( ?, |
\end{tabular}
/ |+ a- [0 k( R# s% |
5 M% q1 C- C7 G) R1 W% q
五、常用表格参数的设定
' d/ y! g+ R% F& y8 p
1、表格浮动环境
8 A/ G4 Y: g- C7 x, t
控制表格(浮动)在本页中的显示位置需要table环境。
7 _8 L5 p% ]# O, T
位置参数有htbp四种:here 、top 、bottom 、float page。
3 ~. B# M0 L q J1 `9 [
table环境中可以通过 \caption 命令表格的标题。
" P4 ^/ ^$ ~1 O$ W; r
% U# f4 S X H% j' J
(1)位置参数htbp释义:
1 X) v, ]1 @: R+ M* x( v
here:在输入表格的位置排版
, D$ a: W" }8 U) ^
top:在输入页面的顶部排版
6 c4 z( |. X" i
bottom:在输入页面的底部排版
' f9 E4 e: D, @1 H( l
float page:在单独的浮动页面排版
0 V$ j9 ?) e2 A: `
(2)使用模板:
! x# ?, T( ?/ N% W$ Q7 ^
\renewcommand\tablename{表}
+ f4 R+ {" o2 \# @4 Y K
\begin {table}[htbp]
& m6 a1 |6 l! _6 U
\centering \caption{成绩一览表}
! f; T, ~$ e$ {6 B
\begin {tabular}{c c c}
$ {! A4 U7 N4 F ^: `$ o. j. S
\toprule
" @! r2 V& ?4 \; ^. n( }( W7 |
姓名 & 语文 & 数学 \\ \midrule
- m+ S( J1 q, T% z/ E+ I/ f/ ?
阿汪 & 93 &97 \\ \cmidrule {2-3}
' B; r) O: p" Q0 Q# \4 G
阿喵 & 98 &92 \\
/ c' w1 f( o. v1 m! t1 \4 t0 I, `, ^
\bottomrule
! t6 Z5 |% z J3 m0 J: x
\end{tabular}
8 R$ A v# L+ c$ Q! F g" i
%阿汪先生的博客
" J! x2 Y! Z# r6 m: q
\end {table}
0 J. I# S7 k# p( j ~" A
4 t6 w! A, O5 X) w
2、功能强大的tabu宏包
- X, {# y% F7 B% s3 y
(1)tabu宏包提供的基本表格环境
3 J0 ^7 v; q- q( m$ T. X) a& `) V! y
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
% o4 M; A! P1 D4 O( b
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
# [6 W" F# ?: p* e
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
6 \8 [, R% a* ]
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
0 s9 @, C/ I" V% b4 x/ K
(2)画线格式
2 Z1 j- J, c' d6 {: l" v- s0 w
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
5 D0 f/ u+ D- x h# F {
\begin{tabu}{|[2pt]c|c|[2pt]}
& v* W2 N& p( u
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
1 f: ~; w9 I4 s$ @/ r, S1 I( L
{-}指从本行起到本行末尾画一条横线,
0 F0 x( d7 U" R3 O8 k, Y! I
{2-}指从第二个单元格开始画线至行尾。
: F# j3 d& K$ b5 g
1 Q; Y T( ?& I' W y$ @! @
(3)单独设置一行的格式
- N; E- p; z, O( i
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
- a% G! [* Z2 L! b) p" M* n
使用示例:
* k5 ^* S' s0 w- k& W
4 ~# h! R8 |, e6 V
\begin{tabu}{|X|X|}
6 U% q8 \+ g j& p
\tabucline- %“-”表示无厚度等参数
+ F0 T6 G! x, j7 h; r2 p! c6 `7 V b
\rowfont[c]{\bfseries} This & is \\ \tabucline-
/ H+ R6 _' U' A5 t% ?
for & everyone \\ \tabucline[2pt]-
1 P$ _, D) V$ ?, Q
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
+ J9 i4 [. m, p: `6 C# c
%阿汪先生的博客
3 @( b- _: e$ q
\end{tabu}
?) f1 j! D9 f- H. S. j9 O, F
* w# `+ @" h+ t& Y2 i
(4)其他操作
4 {, f. U% J, l& K$ ?
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
1 m& K% W( ]( T8 r/ a; J$ X6 P3 V8 V
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
* E" A/ t: k/ M! l; d. b
使用示例:
# n# C6 _ Y: h& I1 _. F
\begin{tabu}{| X | X |} \hline
8 L5 _: D5 }9 p1 }8 G4 Q
\multicolumn 2 {|c|}{Hello}&World \\ \hline
+ T O, {) z1 d; B
\tabuphantomline %阿汪先生的博客
8 V6 T1 P. h4 J9 S: o( ~
\end{tabu} %表格中不能有空行
3 m3 W$ V, p/ p$ f9 _/ {
4 b5 Z& _- `- y+ c% e# o' |/ L
————————————————
. r; F# S @/ V# u/ R+ D% R
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
% R) U1 {4 o$ o- ] i" b) A
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
) C& ]7 g& ^! C- L6 l ]5 f( h g
作者:
925865807
时间:
2020-2-16 11:27
5 ]/ k2 g/ Q. ]/ T8 V4 w
( z. q7 F) L$ X6 a
; i& |( h, E" [/ E1 d; `
谢谢分享
1 F/ x6 K+ u- v( p
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5