宏包 makecell 应用(二)

来源:互联网 发布:javascript sha1 编辑:程序博客网 时间:2024/06/11 22:11
 

知识点:

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

①   \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}}]。

          [说明:该种方式为通常采用的方式。]

下面是代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{CJK} 

\usepackage{makecell}

\begin{document}
\begin{CJK*}{GBK}{song}
\CJKtilde

\begin{tabular}{|c|c|}

\hline

Cell text & 28--31 \\

\hline

\makecell[c]{Multilined \\ cell text sdf  sdf  sdf sad sd } &28--31 \\%\makecell[c]--只有一个参数,代表水平居中,不代表重直基线居中。

\hline

\makecell[l]{Left aligned \\cell text}&37--43 \\

\hline

\makecell*[r]{Right aligned \\cell text} &37--43\\

\hline

\makecell[b]{Bottom aligned \\ cell text} & 52--58\\

\hline

\makecell*[{}{b{3cm}}]{Cell long text with predefined width}& 52--58 \\

\hline

\makecell[{}{>{\parindent 1em}m{3cm}}]{Cell long text with predefined width}& 52--58 \\

\hline

\end{tabular}

\end{document}

结果: