加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LaTeX学习(9)表格

(2013-11-03 10:55:32)
标签:

latex

表格

it

分类: Other
http://s15/mw690/002vBAY3gy6DVv5xUXI7e&690

http://s4/mw690/002vBAY3gy6DVv5Ba4r43&690

http://s13/mw690/002vBAY3gy6DVv5E684fc&690

http://s1/mw690/002vBAY3gy6DVv5GJiM20&690

在latex文件最前面用这个包\usepackage{multirow}

multirow 宏包提供了 \multirow 命令可以在表格中排版横跨两行以上的文本。命令的格式如下:

\multirow{nrows}[bigstructs]{width}[fixup]{text}

nrows   设定所占用的行数。

bigstructs  此为可选项,主要是在你使用了 bigstruct 宏包时使用。

width  设定该栏文本的宽度。如果想让 LaTeX 自行决定文本的宽度,则用 * 即可。

fixup   此为可选项,主要用来调整文本的垂直位置。

text     所要排版的文本。可用 \\ 来强迫换行。


更多介绍与实例:http://www.ctex.org/documents/packages/table/multirow.htm



补充例子1: http://blog.sina.com.cn/s/blog_5e16f1770100u40t.html

       

        \renewcommand{\multirowsetup}{\centering}  

        \begin{tabular}{|l|l|l|l|} 

        \hline  

        \multirow{4}{2cm}{This is a demo table}  

                & C2a & 

        \multirow{4}{2cm}{This is another one} & C4a\\ 

                & C2b &  & C4b\\ 

                & C2c &  & C4c\\ 

                & C2d & & C4d\\ 

        \hline 

        \end{tabular} 
  
http://www.ctex.org/documents/packages/images/multirow-2.gif

补充例子2:http://jhengjyun.blogspot.fr/2011/01/latexmulticolumnmultirow.html
通常畫表格需要使用到\multicolumn, \multirow, \hline, \cline四種指令
其中要使用\multirow,必須在前頭先行加入\usepackage{multirow}
直接看例子,Latex程式碼 =>
de style="" >\begin{tabular}{|c|c|c|c|c|}
\hline
\multirow{2}{*}{Multi-Row} &
\multicolumn{2}{c|}{Multi-Column} &
\multicolumn{2}{c|}{\multirow{2}{*}{Multi-Row and Col}} \\
\cline{2-3}
  & column-1 & column-2 & \multicolumn{2}{c|}{} \\
\hline
label-1 & label-2 & label-3 & label-4 & label-5 \\
\hline
\end{tabular}de>
顯示結果 =>








补充个例子3:http://blog.sina.com.cn/s/blog_5e16f1770100h6jl.html

使用宏包multirow,提供了如下命令:参看http://www.ctan.org/tex-archive/macros/latex/contrib/multirow/
效果图:
http://img.ph.126.net/xcUb1_hHNVUR3c44dIjs_w==/6597200608542095192.jpg

演示代码:
\documentclass{article}
\usepackage{longtable}
\usepackage{rotating}
\usepackage{multirow}
\begin{document}
\begin{longtable}{| c | c | c | c 
| c | c |}
    \hline
    & \multicolumn{5}{| c |}{ } \\
    & \multicolumn{5}{| c |}{\textbf{\large Father's Occupation}} \\
    & \multicolumn{5}{| c |}{ } \\
    \hline
    & & & & & \\
    \multicolumn{1}{|c|}{\textbf{}}
    \multicolumn{1}{|c|}{\textbf{}}
    \multicolumn{1}{c|}{\textbf{Group A}}
    \multicolumn{1}{c|}{\textbf{Group B}}
    \multicolumn{1}{c|}{\textbf{Group C}}
    \multicolumn{1}{c|}{\textbf{Group D}} \\
    & & & & & \\
     \cline{2-6}
    & & & & & \\
    \multirow{5}{*}{\begin{sideways}{\textbf{\large Mother's Occupation}}\end{sideways}}
     \textbf{Group A}    $8$       $3$       $4$       $1$   \\
    & & & & & \\
    \cline{2-6}
    & & & & & \\
    \textbf{Group B}    $3$       $3$       $0$       $1$   \\
    & & & & & \\
     \cline{2-6}
    & & & & & \\
     \textbf{Group C}    $0$       $0$       $1$       $0$   \\
    & & & & & \\
     \cline{2-6}
    & & & & & \\
     \textbf{Group D}    $2$       $0$       $0$       $1$   \\
    & & & & & \\
    \hline
    & & & & & \\
     \textbf{Total:}       \textbf{26}    \textbf{10}    \textbf{10}    \textbf{4}    \\
    & & & & & \\
    \hline
    \end{longtable}
  
  
    \end{document}

转自: http://blog.163.com/chen_dawn/blog/static/1125063201318115613703/

原址:http://blog.sina.com.cn/s/blog_797cd06b010134je.html

帖子虽好 但是好多代码部分是图  不爽 先贴着

标准 LaTeX 提供有 array  tabular 两个制表环境,它们的完整格式如下:

\begin{array}[表格位置]{列样式} \end{array}

\begin{tabular}[表格位置]{列样式} \end{tabular}

\begin{tabular*}{表格总宽度}[表格位置]{列样式} \end{tabular*}

这两个环境的选项和参数定义是相同的,不过 array 主要用于数组矩阵的排版,且只能用在数学环境中,如equation 等。

array 宏包扩展了 array 和 tabular 环境功能,主要增加和增强了列样式选项,甚至可编程定义新的列样式;还增加了许多细部微调功能,如改变垂直表格线的粗细 和自动调整表格间隙等。使用该宏包可以排印出外形美观、功能丰富的表格。

该宏包没有任何选项,扩展后的两个环境的列样式选项:

 

选项

说明

l

该列左对齐排列

c

该列居中排列

r

该列右对齐排列

p{列宽}

设置该列宽度,文本顶对齐

@{声明}

该列每行插入声明中文本

m{列宽}

设置该列宽度,文本居中对齐

b{列宽}

设置该列宽度,文本底对齐

>{声明}

声明可以是命令或插入列元素之前的文本

<{声明}

声明可以是命令或插入列元素之后的文本

|

列边或列间加入一条垂直线

!{声明}

用声明要求的样式取代列间垂直线

 

应用举例:

http://zzg34b.w3.c361.com/package/images/array-1.png

http://zzg34b.w3.c361.com/package/images/array-2.png

列样式还可设置为:>{\setlength{\parindent}{26pt}}p{列宽},对该列文本行或段落缩排。

源文件 

Frank Mittelbach et al

booktabs

它定义了三条划线命令:\toprule、\midrule 和 \bottomrule,可分别对表格顶部、中部和底部使用不同粗细的水平线,见下例:

http://zzg34b.w3.c361.com/package/images/booktabs-1.png

它还可以改变表格的行距,使表格尤其是长表格更加美观。

该宏包可与 enfloatthreeparttablerotating 宏包配合使用。同时加载 colortbl 宏包,还可以划彩色格线。

使用 booktabs 宏包应注意:绝不要画垂直线,绝不要画双线 ;如果表格左右两边的内容毫无关联,最好将其分为两个表格而不是用垂直线隔开。另外在排表格时,单位符号应置于列首;相同数据不要用同上之类的简称;0.1不要写成.1

再加载 longtable 宏包,该宏包的三条划线命令也可在跨页长表格中使用。

源文件

Simon Fear  

colortbl

它可以设置表格中数据、文本、行、列、单元格前景和背景以及边框的颜色,从而得到彩色表格。它需要 array 和 color 两个宏包的支持。 它提供了一组着色命令,经常用到是列着色命令,其格式为:

\columncolor[色系]{色名}[左伸出][右伸出]。

常用色系有三原色 rgb 和灰度 gray 两种;被预定义的色名有68个,详见 color 宏包介绍中所附的色标;左右伸出的长度单位可用 pt。

举例说明:

http://zzg34b.w3.c361.com/package/images/colortbl-1.png

源文件经过 LaTeX、dvips、pspdf 编译后,得到:

http://zzg34b.w3.c361.com/package/images/colortbl-2.png

源文件

David Carlisle

dcolumn

若表格中一列的数字位数不一且都带有小数点或逗号时,为便于阅读和美观起见,应将这些符号上下对齐,但做起来很麻烦。

该宏包就可解决这一问题,它把小数点或逗号也定义为一列。一般可以直接使用其提供的D 格式:D{键入符号}{输出符号}{小数点位数},举例说明:

另外也可使用 \newcolumntype 命令自行定义对齐样式。

该宏包是 LaTeX 工具宏包套件之一。

源文件

David Carlisle 

 

hhline

带框的表格中总会有水平线与垂直线相交,在交点处会出现各种形态,这在标准 LaTeX 表格环境中是不可改变的。该宏包提供了一条 \hhline{交点样式} 画线命令,用它可以很好地处理交点形态问题。

编注:从美观角度讲,排版表格要尽可能避免使用垂直线,即尽量不使用该宏包。

源文件

David Carlisle

 

longtable

在 LaTeX 中的表格是当做一个“盒子”来处理,不能分割,所以无法跨页显示。

该宏包是 LaTeX 工具宏包套件之一,可用于跨页表格。它定义了一个长表环境,只需将tabular 环境改为 longtable 环境,跨页长表格就可自动拆分为多页表格。注意:使用长表环境后,须经两或三次编译,才能得到正确结果。

由于改变了原有输出方式,所以它不能用在 multicolumn 多栏环境或 twocolumn 双栏页面格式中。

源文件

David Carlisle

 

ltxtable

它将 longtable 和 tabularx 两个宏包合并,两者的功能在 longtable 环境中体现。当调用 ltxtable.tex 时,其实就是加载上述两个宏包。

源文件

David Carlisle

makecell

它提供了一组命令,可使表格中列数据单独定位:居中、靠左或靠右,可将某一列标题旋转90度,可在单元格中划对角线,还可设定表格线段的粗细等。举例:


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有