数学建模社区-数学中国
标题:
LaTeX论文写作系列之表格插入
[打印本页]
作者:
zhangtt123
时间:
2020-2-12 15:18
标题:
LaTeX论文写作系列之表格插入
一、常用的表格宏包
/ q) s; y' ~; v8 t2 [
dcolumn 对齐小数点
9 g! V5 B2 r! V! ]( i- ]8 H
makecell 单独控制单元格格式
( B: d+ x" q9 v9 J. p/ o
diagbox 对表格进行斜线分割
7 r# t) B* \2 a. c: w
* longtable 长表格,可用于处理分页表格(表格超过一页时使用)
8 q9 g0 O5 A& `# A2 E+ c e
ltxtable longtable和tabularx的结合体
" V7 k$ t( p( b7 ~! A6 ]5 X
array 各个表格宏包都依赖于它
9 O7 P. h' h3 Y5 c: X5 D% H8 ^6 f
* tabu 命令简单、功能强大
. y$ y" {; `8 _! |
" N( Q7 k a Q! i6 ^3 ^9 }
二、输入格式及说明
; v" e; r% T8 p* q4 P0 B+ J1 P Y/ h
1、一般输入格式
' L: _3 R. r" A3 b( F6 S7 T: U
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
- p: J2 Y/ M) k7 W. K2 @$ w, t1 e
& & & & \\
( y" y8 y& F5 b# `1 Z! m' P" {
\end{tabular}
$ `$ R: Q0 i$ D& k7 s" q
& ?5 o0 I* h- B& K- {% J8 F6 I' A
2、一些说明
8 |* f- D4 }* ~( c6 |( ^, Z
(1)特殊符号:
; V$ ~ F1 D4 g0 `2 |
\\ 表示换行
% K, t9 B0 @% g( c
& 表示分隔单元格
% y* {) c) M" c/ s+ z2 p
+ t4 z, \! b/ O0 g& v- _, u
(2)垂直对齐方式:
& y9 R4 Y* ^/ E$ E' a$ p5 p
t 表示按表格顶部对齐
T3 H% O K1 d1 t( C4 s
b 表示按表格底部对齐
2 d. X k" N/ \, ~4 ^# y( g
默认为:垂直居中,非t和b的参数都看作居中
$ R" ^& m& ^$ V, Z$ r- x
3 j/ u, L0 T' K! o
(3)列格式:
5 @6 s, X, _% r+ U4 N1 Q. J2 c4 x
l 表示列左齐 (小写的 L)
) j& S; e- i7 P+ l X
c 表示列居中对齐
! U3 Y7 U, _* s
r 表示列右对齐
2 z/ n8 z) f8 w8 P7 R
! x# a1 b7 m* Z( Y9 e3 z! e
三、单元格的合并
' ^; W' a) ~5 T( m0 }& q
1、行内单元格合并命令
! _& n6 Z! H! E3 Z& \3 v3 D3 ^
\multicolumn{<项数>}{<新列格式>}{<内容>} %<内容>为合并后的新内容
, m) M! Y9 O2 Q8 z# E
1 q& Q r4 i) b! l; y1 t& H
(1)基础模板:
* ~4 T7 o; I8 v+ h' l0 J" n
\begin{tabular}{ | c | c | }
5 R) t' @' m5 U
\hline
! y8 g+ ?+ o' o* j, h
\multicolumn{2}{ | c | }{成绩} \\
. ^ ~. t" V- `& c4 Y$ f
\hline
5 U8 U$ V& u, C* l
语文 & 数学 \\ \hline
& u* O1 J5 r" }5 v
100 & 100 \\ \hline
: g# o/ ?4 z/ ?2 f
%阿汪先生的博客
- t: c! k7 [3 N; C; i" m+ h6 y" p ]6 \
\end{tabular}
5 p0 w+ ~# g4 O, s& Q2 }; ~) l6 ^ m# n
, ^' K9 n X9 p6 o0 M: y0 ~' l
(2)进阶模板:
" a! I3 n( v+ g; X' F
\begin{tabular}{ | c | r | r | }
7 f( n7 [3 d8 n
\hline
. x" M' F* L3 \% L( n
&\multicolumn{2}{ c | }{成绩} \\
9 u$ f. o; y2 E+ ]# f$ X/ y ^" A+ D( E
\cline {2-3}
; g% Q$ d. f7 X7 l4 [" B& Z; n* x
姓名 & 语文 & 数学 \\ \hline
7 @' z M- C+ s {
阿汪 & 93 & 97 \\ \hline
+ P) w" n. |! p+ `& B& k1 L
%阿汪先生的博客
8 J6 R+ X/ F% x. b' R
\end{tabular}
' B& X- V% i) r# W2 G/ x
4 d$ k1 r: p# R' ]
语句技巧:画水平表格线需要指定线的起始和终止列号。
& a1 d( j; g- w0 ^" ?. [
用 \cline {<起始位置> - <终止位置>} ,如\cline{2-3} 。
! `, c6 I$ S* B% e. q' T+ ]* `
; i/ N% S8 W' Z& {2 ]
2、列内单元格合并命令
: C t+ }1 s' D3 v
需要用 multirow宏包
. T/ m* ~* W) T9 {, a" e
\multirow{<行数>}{<宽度>}{<内容>}:内容达到指定宽度后自动换行
1 W) J3 I$ c; K! f1 l4 w% |: Y3 P Y
\multirow{<行数>}*{<内容>}:单元格的宽度即为输入内容的宽度
# p, ?" {6 q. }/ i, x8 j8 ?8 T
& Z% j: s& ]/ c/ t E; @$ A9 C
基础模板:
+ |( ~, y# l) \+ c2 ^
%导言区 \usepackage{multirow}
# L; z) z! i2 p6 |2 N6 i
\begin{tabular}{ | c | r | r | }
2 C- C. W" K( J g
\hline
+ b9 O0 F% h) ~: x% _2 \& P, n9 {
\multirow{2}*{姓名}&
. B8 {* L; x6 M. D
\multicolumn{2}{ c | }{成绩} \\
1 G3 X/ ?7 r. ^0 g- a
\cline {2-3}
3 J/ Y. M2 d8 |
& 语文 & 数学 \\ \hline
9 L3 t( w7 a2 P+ \7 A6 ~7 L
阿汪 & 93 & 97 \\ \hline
9 g8 @2 Q) \+ b9 s
%阿汪先生的博客
) l ^# H; Q" o5 E
\end{tabular}
3 X7 _* r, p8 G7 U
/ M' R* F, G" V, L1 D* T+ X
四、特殊表格
; v7 c7 Y% H0 E8 v
1、定宽表格—tabularx
+ F! E5 Z ~# u' l( i5 Q5 K3 P
(1)注意点:
; y3 d) B" Y# E: c3 n
tabularx宏包提供tabularx环境
6 H' z3 X9 f' Y+ f
X为列格式说明符(列宽自动延伸),单元格内部默认左对齐,使其居中需要array宏包支持。
( b V6 f f* y) e8 B- C& c3 P
, [ |. \/ |: M8 ?. ?) |" g7 s
(2)使用示例:
; K- |0 ] [& t0 H8 F+ n+ p+ N5 h
%导言区 \usepackage{tabularx}
& W+ V) [( a# N6 x. H. o
\begin{tabularx}{400}{ | c | X | X | X | X | X |}
" H. X' ?4 O B/ P# G
\hline
& R" v' r0 X( u6 O) W( |+ G; `
数字 & 1 & 2 & 3 & 4 & 5 \\ \hline
% p* I$ a) S5 H* j; B y
汉字 & 一 & 二 & 三 & 四 & 五 \\ \hline
, @; z& W6 r1 N |) T2 ~6 \
%阿汪先生的博客
' f3 }2 L6 v9 `5 l( M* ?
\end{tabularx}
9 ^( o5 A: }# s$ _
: Y7 C9 g5 E- L i
2、三线式表格—booktabs
' f! Y. b: P9 C9 g
(1)booktabs提供了如下命令:
6 c) M" O+ G. u O6 n9 R1 C3 O6 a5 D+ d
\toprule ,画表格顶部粗线。
& x6 c8 D# @: C8 i% b5 H9 W
\midrule,画表格中部粗线。
; ~- b7 \3 Q1 Y3 s. v" F9 e! ~
\bottomrule,画表格底部细线。
' @' F' E0 J# P, h
\cmidrule 与 \cline命令相似。
3 u Z+ h: c" Y2 H1 \/ I
: S9 x/ R/ Q, L
(2)使用示例:
7 b7 C& }$ x/ e5 ~/ {: R2 K/ F6 P5 S
%导言区 \usepackage {booktabs}
: C. o5 ?7 F [1 n9 U) {1 g
\begin {tabular}{c c c}
) X" T. R, G( c9 f* `) |
\toprule
+ z+ a% ^ D0 m+ h! l3 m+ I
姓名 & 语文 & 数学 \\ \midrule
2 f! a* P4 Q0 Z) l0 F
阿汪 & 93 &97 \\ \cmidrule {2-3}
3 [; Q9 M$ x# W6 |/ [9 P
阿喵 & 98 &92 \\
9 j- T. G+ ^9 ]* ]
\bottomrule
) A/ D# n# w S' H& a
%阿汪先生的博客
+ A' E" f1 s {0 \8 C$ L
\end{tabular}
* q( D/ L" Y1 |& e) o
) o5 K M+ n8 Q" P; w4 a
五、常用表格参数的设定
5 s/ o- t$ g% c- I" j
1、表格浮动环境
, H3 N. d( E: p1 j
控制表格(浮动)在本页中的显示位置需要table环境。
; E6 M/ e j( Z: o& G
位置参数有htbp四种:here 、top 、bottom 、float page。
% M8 Q0 Z6 b) ]5 G# Z6 w/ R
table环境中可以通过 \caption 命令表格的标题。
, A( J7 M, b( J% f& V
8 |* K0 l! K, f% R# Y
(1)位置参数htbp释义:
7 T8 q2 |' e: u! k3 A+ ]: F5 X
here:在输入表格的位置排版
% `' J9 P. w% }6 a& }/ J( C9 X
top:在输入页面的顶部排版
$ n% M. E4 x, p, |
bottom:在输入页面的底部排版
" N6 B* {' T3 Y5 D2 [
float page:在单独的浮动页面排版
) \& r+ {$ ?$ P$ _* ~( f
(2)使用模板:
5 P+ _$ \/ H+ e' u; B
\renewcommand\tablename{表}
, W2 G( c& O1 f- p1 Q% n
\begin {table}[htbp]
- B [+ V+ M. ?
\centering \caption{成绩一览表}
# |8 R6 D9 V/ U+ ]' @
\begin {tabular}{c c c}
0 ]! [# ?" q1 A* o8 |5 |
\toprule
5 k h% [4 @4 d2 z' G
姓名 & 语文 & 数学 \\ \midrule
, M7 B! g7 d& {
阿汪 & 93 &97 \\ \cmidrule {2-3}
9 C3 T" }4 o- o* _8 [
阿喵 & 98 &92 \\
l( w+ e! R* Q' Z
\bottomrule
$ M5 d" E9 `" q3 Q
\end{tabular}
( D! |1 A# F* y( K: C! a; T+ M1 I7 Y2 V
%阿汪先生的博客
# `; c) t# Z, D
\end {table}
7 Y# F7 Z/ w I4 u
% X# j& X9 V" v- J# {6 q
2、功能强大的tabu宏包
# u. w6 }8 c: c# M4 W4 w
(1)tabu宏包提供的基本表格环境
/ D# l" j7 ]4 L" S; W2 z
\begin{tabu}[<垂直对齐方式>]{<tabular列格式说明>}
6 ]$ K) c: O* U ]
\begin{tabu} to <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
1 }) M6 X" O$ E
\begin{tabu} spread <尺寸>[<垂直对齐方式>]{<tabularX列格式说明>}
2 }* w9 u1 o& S- `0 x
, 其中**spread <尺寸>**表示:在表格的自然宽度下再增加一个<尺寸>。
0 Q# h; a* H, K: k9 q% b
(2)画线格式
/ l4 O; u, X7 `1 |+ v
tabu环境中的画线命令:竖线|有一个可选项,可用来设置表格竖线的宽度。
) o0 f7 p& K3 Y# t7 O
\begin{tabu}{|[2pt]c|c|[2pt]}
+ o, |7 O: [, @, ]; ^
\tabucline[<尺寸>]{-}用来画横线,<尺寸>设置横线厚度,
- a! c) @) Y* Y% ]+ @2 p& |. ^
{-}指从本行起到本行末尾画一条横线,
' Y1 h2 V9 X, ~4 r$ C2 L) D
{2-}指从第二个单元格开始画线至行尾。
! Q; c) x6 g8 R% r; O
( Z! s0 f6 g$ u/ O# c/ \- c+ F
(3)单独设置一行的格式
: |! _. a6 r8 D$ e% W
\rowfont[<对齐方式>]{<字体格式>} 可以设置一行单元格字体的格式。
8 v+ |. ]% X& G% V% e
使用示例:
! b& H- U2 y" U: J7 Z/ e# e: f
* u$ N' s# n9 H9 W, b4 b4 R8 z$ `
\begin{tabu}{|X|X|}
7 g8 ~1 t! S0 j& z) D
\tabucline- %“-”表示无厚度等参数
! D5 p: c! \+ t0 X# D9 B* t
\rowfont[c]{\bfseries} This & is \\ \tabucline-
. |0 ~ R" B% f. T
for & everyone \\ \tabucline[2pt]-
0 D. g* |/ j9 E. T! {
\rowfont [r]{\itshape} Mr & Wang \\ \tabucline-
) ` g+ }2 n3 T" U; |
%阿汪先生的博客
! ~& _4 [& W9 p' K2 \# F
\end{tabu}
! H& E( M [7 c7 E- L9 Y
L) ^. ~5 b" |' D# d7 A
(4)其他操作
# b8 ?/ ?, ~7 e8 E
在tabu环境中合并与tabular环境不一样,前\extrarowsep后要在\end{tabu}之前添加命令 \tabuphantomline。
+ S. Y# C9 X! N1 b! |0 Q
\extrarowsep可以在每行垂直方向上添加额外空白,得到相同的行高。
. }. l1 m9 U0 j+ J
使用示例:
1 X7 m: f; }4 @: h
\begin{tabu}{| X | X |} \hline
9 q' P! F% J0 ~/ X- S& h5 W" ]
\multicolumn 2 {|c|}{Hello}&World \\ \hline
; d- Q! s3 g; `6 U4 A1 D' ^
\tabuphantomline %阿汪先生的博客
+ i* w6 t! ?' z ]' V) J3 u. D
\end{tabu} %表格中不能有空行
! m9 Q% V0 o( Z+ ~0 d# v' e
& \/ ~. |$ n* J1 v
————————————————
( {9 V+ s* g$ s+ w. c2 C o; X
版权声明:本文为CSDN博主「阿汪先生」的原创文章。
8 `" R8 {* K# d- e
原文链接:https://blog.csdn.net/qq_43499622/article/details/96894437
/ w9 o# m$ l& M2 E& {/ \9 { K* K# } P
作者:
925865807
时间:
2020-2-16 11:27
k6 {) w; T9 C3 U& ~5 `& u; }
3 o# ~( w3 r& L- |8 t) f
1 S3 x$ _* O3 Z3 S5 h7 j
谢谢分享
* I% `# V3 x6 h; a
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5