楼主: oliyiyi
7958 0

makecell宏包使用简介 [推广有奖]

版主

泰斗

0%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
7
论坛币
271951 个
通用积分
31269.3519
学术水平
1435 点
热心指数
1554 点
信用等级
1345 点
经验
383775 点
帖子
9598
精华
66
在线时间
5468 小时
注册时间
2007-5-21
最后登录
2024-4-18

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
makecell宏包使用简介


很多刚开始输入表格的时候,经常遇到表格内容换行的问题,除了固定列宽,很多用户用parbox,这里给大家介绍
makecell包,应该是非常好用的换行包,当然还有其他应用,这里引用用户的整理,希望能够帮助大家更好使用该包。

一,基础部分① 盒子(box)上下重直间距——
\Gape[Heith corr][depth corr]{<text>}和 \gape

② 
\theadset——表头文字的行距;

③ 
\theadfont——表头文字的字体;

④ 
\theadalign——表头文字的对齐; \theadalign{cc},默认行列均居中对齐,再如 \theadalign{lc}:为行居左,列居中对齐。

⑤ 
\theadgape——表头文字上下垂直距离。可以将 \Gape或 \gape作为参数。

二、单元格格式⑴表格单元格(注意:不包括表头)设置:

\cellset——单元格文字的行距;


\cellalign——单元格中文字垂直方向基线 (t, c, b)与单元格中多行文字水平 (l,c, r)对齐方式(注意:是多行文字之间的对齐,绝不是相对于单元格的对 齐;如l(左)对齐,并不是单元格中的每行文字均对齐到单元格的最左 边,而是单元格中的每行文字左边对齐到一条垂直直线上。)。如: \renewcommand\cellalign{t c }:文字基线在上方;多行文字水平居中。 \renewcommand\cellalign{b r }:文字基线在下方;多行文字右对齐。

默认对齐方式:
\renewcommand\cellalign{cc}

③ 
\cellgape——单元格文字上下垂直距离。可以将\Gape 或 \gape作为参数。如: \renewcommand\cellgape{\Gape[1pt]}\renewcommand\cellgape{\gape[t]}


\makecell

格式:
\makecell[<vertical or/and horizontal alignment>]{<hcell text>}

Ⅰ Vertical alignment——垂直方向基线,取值:
t,c,b; 优先级比 \cellalign的 t,c,b高。若省略,则按 \cellalign的设置的基线进行。

Ⅱ Horizontal alignment——水平对齐(相对于单元格),取值l,c,r,或
{p{3cm}}, {m{3cm}}、 {b{3cm}},或 {>{\parindent 1cm}p{3cm}}(缩进1cm长度)。

\makecell[c]——只有一个参数,代表水平居中,不代表重直基线居中。

[说明:3cm是指单元格中每行文字的长度,而不是单元格的宽度]
Ⅲ 若
\makecell后面接一个星号(即 \makecell*),则相当于文字与单元格上下 边线之间的垂直空隙增加了一个 \jot(约3pt)。

Ⅳ 如果采用
{p{3cm}}形式的水平对齐方式,则:

1)若定义了垂直基线位置参数
(t,c,b),则形式为 [c{p{3cm}}]。

[说明:一般不采用这种方式,因为
p{3cm},m{3cm},b{3cm}中已包含垂直基线位置。]

2)若未定义垂直参数,则形式必须有双{},如:
[{{p{3cm}}}],或 [{}{p{3cm}}]。

[说明:该种方式为通常采用的方式。]
三、单元格格式
\setcellgapes [<t or b>]{<value>}

作用:
try to emulate one of possibilities of tabls package: to get necessary vertical spacing around cells. 仿真tabls宏包,在表格所有单元中产生单元格上下边线之间的垂直间隙。

\makegapedcells
作用:使能 \setcellgapes [<t or b>]{<value>}。
使用:要用在table环境中。若用到table环境外,则对位于后面所有表格均起作用,但对位于其前面的表格不起作用;若在table环境中加上 \nomakegapedcells,则会取消前面 \makegapedcells对该表格的影响。

\begin{table}[htbp]\makegapedcells…\end{table}③
\nomakegapedcells

作用:与
\makegapedcells相反,取消使能作用。

③ 不能更改单元格中文字行距,即下列指令与 \makegapedcells不兼容。
%\renewcommand\cellset{\renewcommand\arraystretch{1}%\setlength\extrarowheight{0pt}}④ 比较
\setcellgapes[t]{8pt}:适用于表格中所有单元格。

\renewcommand\cellgape{\Gape[15pt][0pt]},只适用于\makecell{}的单元格。

\renewcommand\theadgape{\Gape[15pt][0pt]},只适用于\thead{}的单元格。

四、合并行首先,要在导言区(Preamble)将以下两个宏包包含进来。
\usepackage{multirow}\usepackage{makecell}缺一不可。否则,会出现
\multirowthead与 \multirowcell中文字不竖向居中!


\multirowhead命令

\multirowhead{<nrow>}[<vmove>][<hor alignment >]{<contents>}


\multirowcell命令

\multirowcell{<nrow>}[<vmove>][<hor alignment >]{<contents>}

[对照:multirow宏包应用:multirow宏包有命令:
\multirow{<nrow>}[<njot>]{<width>}[<vmove>]{<contents>}]

\multirowcell中省略了[<njot>]和{<width>}。表格中文字垂直位移的微调可以采用[<vmove>],而不用[<njot>],故省略了。 \multirowcell使用{<contents>}中文字的自然宽度,相当于{<width>}=*。

\multirowcell中增加了[<hor alignment >]参数。表示水平对齐方式。

[对照:multirow宏包用命令参数
\multirowsetup来改变文本在格子中被排版的方式。这个参数的默认定义就是 \raggedright,即文本在格子中左对齐,因而命令 \renewcomand{\multirowsetup}{\centering}使文本在格子中居中排列。]


选自:http://blog.csdn.net/lishoubox/article/details/7300054


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:cell make cel Mak horizontal 用户

缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 23:16