474. LaTeX技巧184:精致的表格教程 您所在的位置:网站首页 c的格式三线怎么写呀 474. LaTeX技巧184:精致的表格教程

474. LaTeX技巧184:精致的表格教程

2024-06-29 09:50| 来源: 网络整理| 查看: 265

一个英文的全面教材

"Tables in LaTeX2e: Packages and Methods"

LaTeX 表格处理概述

与 word 不同,LaTeX 通过一定的语法规则将表格写成纯文本形式。基本规则包 括:表格从上到下,每一行从左到右,单元格内容使用 & 分隔,用\\ 换行。 最基本的表格环境是 tabular环境。下面是一个简单的表格代码和实际效果:

\begin{tabular}[t]{l|c}\hline姓名 & 年龄 \\\hline张三 & 32 \\李四 & 12 \\王五 & 24 \\\hline\end{tabular}一般三线表的处理

学术论文普遍使用三线表。三线表的特点主要是:整个表格通常只有三条横线, 首尾两条横线较粗,中间一条较细,一般不使用竖线。LaTeX 处理三线表相当简 单方便。用到的宏包主要是booktabs 。下面是普通三线表的代码和效果:

\begin{table}[htbp] \caption{\label{tab:test}示例表格} \begin{tabular}{lcl} \toprule 姓名 & 年龄 & 地址\\ \midrule 张三 & 32 & 中华人民共和国\\ 李四 & 12 & 中华人民共和国\\ 王五 & 24 & 中华人民共和国\\ \bottomrule \end{tabular}\end{table}带表格注释的三线表

三线表有时候还需要加上注释以便给出表格的资料来源等信息。解决这一问题可 以使用下面三个办法之一:

使用 ctable 宏包。该宏包用法简单,下面是典型代码和效果:

\ctable[%caption=The Skewing Angles,label=tab:nowidth,]{lcc}{\tnote{for the abstraction reaction,$Mu+HX \rightarrow MuH+X$.} \tnote[b]{1 degree${} = \pi/180$ radians.}\tnote[c]{this is a particularly long note, showing that footnotesare set in raggedright mode as we don't like hyphenationin table footnotes.}}{\FL & $H(Mu)+F_2$ & $H(Mu)+Cl_2$ \ML$\beta$(H) & $80.9$\tmark[b] & $83.2$ \NN$\beta$(Mu) & $86.7$ & $87.7$ \LL}

使用 threeparttable 宏包。下面是典型代码和效果:

\begin{table}[htbp]\centering\small\begin{threeparttable}\caption{\label{tab:results}Effect of Trade Openness onEnvironment (Air Pollution)}\begin{tabular}{lccc}\toprule & NO$_2$ & SO$_2$ & PM \\ \midrule$\ln(y/pop)$ & 408.74* & 287.25* & 566.65 \\& (121.79) & (118.81) & (336.19) \\$\ln(y/pop)^2$ & $-$22.85* & $-$16.58* & $-$35.57** \\& (6.90) & (6.78) & (19.06) \\$(X+M)/Y$ & $-$.29** & $-$.31* & $-$.37 \\& (.17) & (.08) & (.34) \\$Polity$ & $-$3.20* & $-$6.58* & $-$6.70** \\& (1.47) & (2.05) & (3.42) \\$\ln(LandArea/pop)$ & $-$5.94 & $-$2.92* & $-$13.02* \\& (5.93) & (1.39) & (6.29) \\Obs. & 36 & 41 & 38 \\$R^2$ & 0.16 & 0.68 & 0.62 \\\bottomrule \end{tabular} \smallNote: Robust standard errors in parentheses. Interceptincluded but not reported.\begin{tablenotes}\item[*] significant at 5\% level\item[**] significant at 10\% level\end{tablenotes}\end{threeparttable}\end{table}固定列宽和自动伸缩列宽

有时三线表需要固定某列的列宽,或者指定整个表格的总宽度,指定某几列自动 伸缩。

固定列宽与对齐方式

固定列宽可以使用 array 宏包的 p{2cm}系列命令,如果需要指定水平对齐方 式,可以使用下面的形式>{\centering}p{2cm} 实现,但如果使用这种方式, 缺省情况下不能使用 \\ 换行,需要使用 \tabularnewline代替。为了仍然使 用 \\ 换行,需要在导言区加上下面的代码:

\usepackage{array}\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}

\newcolumntype{C}[1]{>{\PreserveBackslash\centering}p{#1}}\newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}}\newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}}

使用 C{3cm} 命令即可指定该列宽度为 3cm,并且文字居中对齐,左对齐和右对 齐命令分别是L{2cm} 和 R{2cm} 。

下面是一个的例子:

\begin{table}[htbp]\centering\caption{\label{tab:test}2000 和~2004 年中国制造业产品的出口份额}\begin{tabular}{l*{2}{R{2cm}}}\toprule& 2000 & 2004 \\\midrule钢铁 & 3.1 & 5.2 \\化学制品 & 2.1 & 2.7 \\办公设备及电信设备 & 4.5 & 15.2 \\汽车产品 & 0.3 & 0.7 \\纺织品 & 10.4 & 17.2 \\服装 & 18.3 & 24\\\bottomrule\end{tabular}\end{table}自动伸缩列宽

使用 tabularx 宏包可以实现自动伸缩列宽。下面是一个简单的例子。与普通的tabular 环境不同之处在于:(1)需要指定整个表格的总宽度;(2)需要用 X指定至少一列为自动伸缩列。

\begin{table}[htbp]\centering\caption{\label{tab:test}2000 和~2004 年中国制造业产品的出口份额}\begin{tabularx}{10cm}{Xrr}\toprule& 2000 & 2004 \\\midrule钢铁 & 3.1 & 5.2 \\化学制品 & 2.1 & 2.7 \\办公设备及电信设备 & 4.5 & 15.2 \\汽车产品 & 0.3 & 0.7 \\纺织品 & 10.4 & 17.2 \\服装 & 18.3 & 24\\\bottomrule\end{tabularx}\end{table}跨页表格

普通的表格不能跨页。如果需要跨页表格,需要使用 longtable 或supertabular 等宏包。此处以 longtable 为主介绍。

下面是一个例子。

\begin{longtable}{p{1.2cm}p{8cm}p{5cm}}\caption{\label{tab:test}WTO 英语缩写}\\ \toprule缩写 & 原\hspace{1em}文 & 解\hspace{1em}释\\\midrule\endfirsthead{\bf 续表~\ref{tab:test}}\\\toprule缩写 & 原\hspace{1em}文 & 解\hspace{1em}释\\\midrule\endhead\endfoot\bottomrule\endlastfootWTO & World Trade Organization & 世界贸易组织\\TRIMs & Trade-Related Investment Measures & 与贸易有关的投资措施\\TPR & Trade Policy Review & 贸易政策审议\\....\end{longtable}表格旋转和后置表格旋转

如果表格过宽,可以将表格旋转 90 度横放。使用 rotating 宏包即可实现此功 能。与普通表格的不同之处是:需要将 table 环境替换成sidewaystable 环境 。

表格后置

使用 endfloat 宏包可以将文章中的所有图表置于文章末尾,以满足某些杂志的 排版要求。

辅助转换工具

calc2latex 或 excel2latex 可以将电子表格文件数据转换为 latex 表格。

dat2latex.pl 这是 perl 脚本,可将 gnuplot 的文本数据文件转换为 latex 表格。点击此处下载。

http://space.uibe.edu.cn/u1/ryang/latex-table.html

http://www.andy-roberts.net/misc/latex/latextutorial4.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有