Latex提供了不少绘制表格的宏包(参见:http://tug.org/pracjourn/2007-1/mori/),但在latex里画表并不直观,特别是在表格比较大的时候,有时候也需要先用Excel等软件先对数据稍作处理,因而经常需要将Excel等表格转化成Latex代码。而Excel插件excel2latex就能实现这一功能。
excel2latex能支持到Excel 2010,下面以Excel 2010为例说明下如何使用。
因为excel2latex是一个宏,因此首先要在 文件-选项-信任中心-信任中心设置-宏设置 里确认没有选择禁用所有宏,若已禁用的就更改下设置。然后在 文件-选项-加载项-管理加载项 的选项卡里点浏览,载入已下载好的Excel2LaTeX.xla文件,并勾选确认。
如果这时候Excel面板上还没有如下所示的加载项选项卡的话,就在 文件-选项-自定义功能区-主选项卡 下勾选加载项。
以上导入excel2latex成功后,就可以直接使用了。打开想要转化成latex代码的表格,选择表格内容点"Convert table to Latex",会弹出如下的对话框:
主要选项有三个:
-
是否生成浮动体table环境;
-
是否使用三线表booktabs,这种表格相当简洁美观,在科技文档中很常见,但勾选之后记得在插入表格的tex文件的导言区里加个usepackage{booktabs};
-
是否将$^_符号转义,这些都是一般tex文档中有特定作用的符号;
实际表格中经常需要插入数学公式,如上图中插入希腊字母和$pm$等公示,这时就不勾选转义。善用Excel的合并文本函数CONCATENATE能很方便地做出带公式的表格。当然,直接在tabular环境前后加$也能将整个表格设为数学模式,但表格内所有字母都会使倾斜的意大利体,是否好看就看个人爱好了。
设置好后可以点"Copy to the Clipboard"复制到剪切板后直接粘贴在tex文件中,也可在右边的框内选中,点"Export all"即可导出表格的tex文件,再用input命令即可插入表格:
begin{center}
input{文件名}
end{center}
注意:若是表格中有中文,导出tex文件后应注意tex文件的编码格式,默认的ANSI格式会使中文变成乱码,用文本编辑器转化为UTF-8格式就能显示正常了。
当然,对导出表格的tex文件也可根据实际需要进行修改,比如加表格标题、label等,对于比较长的表格,需要跨页显示的可改用longtable环境,需要设置各种表头表尾的。
OpenOffice.org表格也由类似的插件Calc2LaTeX,这一插件似乎也可用在LibreOffice的表格中,但时间所限尚未测试。
转载自http://my.oschina.net/u/1037903/blog/224114?p=1