存档

文章标签 ‘LaTeX’

LaTeX/Beamer里的动画

2010年8月31日 杨羽 没有评论

今天算是弄通了Beamer里面的动画。之前,动画是我唯一让我留在MS PPT的理由,做模拟做实验,都是动画演示比较直观。Office的公式很差,而且换台计算机,可能还无法显示。还好有TeXPoint插件,利用LaTeX编译出来的公式图形来替代原生的Office公式输出。而Beamer输出的PDF文档,对于动画的支持一直不是那么好。于是还是暂时忍受PowerPoint做讲稿了。

最近,由于国际大搬家,换了一个地方以后,单位购买的Office版本从2003换到了2007,结果问题来了,以前一些讲稿,现在拿新版的Office一开,有不少地方需要调节。有一些由于版本的问题,不能在Wine里面的Office打开,还要到Windows原生的Office里转换格式,才能在Linux里面用。

想想以后不想如此折腾了,毕竟已经完全转到Linux,而且这个系统对于工作又不可或缺。于是查了几种方法来在PDF里加动画,找到了一个很满意解决方案。实际就是用一个animate包(英文说明,作者Alexander Grahn),然后用下面代码就可以实现:

\usepackage{animate}

\animategraphics[<options>]{<frame rate>}{<file basename>}{<first>}{<last>}

这个动画是由一个系列的图形文件构成的,自己定义动画的帧速<frame rate>,图形文件的目录和名称<file basename>,以及开始和结束的文件名称<first>、<last>。对于系列的图形文件,很多软件都有直接输出文件的命令。例如,下面的Mathematica输出命令就可以自动输出一系列的图片(文件名A1.jpg到A100.jpg):

Table[{image = "A" <> ToString[i] <> “.jpg”;
Export[image, Show[G[i][[1]]]];}, {i, 1, 100}];

这里“G[i]”是一个带函数的图形输出命令。如果文件存在Figures目录下面,那么Beamer里调用下面命令就可以了。

\animategraphics[controls, buttonsize=3mm, height=0.3\textheight]{5}{Figures/A}{1}{100}

实际的例子可以看这里:slides.pdf

如果动画是GIF、AVI格式之类的,也是有很多方法转换成系列图形的,例如ImageMagick,直接在命令行就可以完成转换。输出的带有动画的PDF文档,不再需要保存动画和图形文件,每次拷贝只需要一个文件就足够了。另外PDF的好处就是跨平台,在什么地方都可以看到一样的结果。

现在,用LaTeX/Beamer做讲稿的唯一问题已经解决。虽然做出来比较复杂的讲稿需要很多的时间,但是简单的东西,够用就可以了。另外,讲稿的目的,其实就是为了演讲者自己讲得清除,讲稿过于华丽倒是有反作用的。

PS,想到以后如果用PDF文档投文章,是不是可以直接插入动画了。如果从网上下载PDF,那么本地就可以直接看动画了。

转换LaTeX文档

2009年8月26日 杨羽 14 条评论

9月份日本会议的文章。之前看见会议网页上只有接受WORD格式的论文说明,于是写信问组委会能否提交LaTeX格式的。提到我们实在无法接受M$的公式显示,太难看,看见了就恶心得写不了下文。组委会回信说,可以提交LaTeX 源文件和编译好的PDF文件。按照要求提交完毕以后,以为就此结束了。结果发现最近连被编辑发信催着改格式,说不用M$ WORD主编就不能操作,跟打兴奋剂似的。原先对日本人就没有什么好印象,不过感觉至少不会这样出尔反尔。

既然被强烈要求换成M$ WORD格式,那就硬着头皮用GrindEQ转换一次吧。转换以后发现,还要手动修改参考文献列表和编号,重新安排图片格式。这些都算了,花点时间折腾折腾就好。最受不了的是,M$ WORD排出来的公式真难看,无法接受这样的丑陋。已经用了不那么难看的MathType了,WORD原生的公式编辑器,简直就是噩梦。算了,以后投文章,找用LaTeX排版的杂志吧。不然自己都不会看第二遍。

下面是两个版本的区别,猜猜哪个是M$出的吧。

WORD

 LaTeX

差别在于细节:看那个积分号,看那些希腊字母,那些间距的处理……M$ WORD的公式编辑器更难看,借用MathType以后还是如此“豪迈”,堪比毛博士的书法。唉~~

PS:其实之前也遇到一次类似的情况,都在亚洲。

PPS:厌恶WORD还有一点,就是版本之间的兼容问题,和别人合作,虽然WORD可以比较好的修改。但几个人版本不一样就完了。我笔记本上装的WORD 2003,一个合作者用WORD 2007,发个我的版本(.docx),我只能用我的OpenOffice打开。这个世界变化快,不如WORD升级快。简直就是笑话。

分类: LaTeX/论文 标签: , , ,

都是鼠标惹得祸

2009年7月9日 杨羽 2 条评论

不知道哪个人发明的鼠标,让人偷了不少懒,惹了不少祸……Firstmouseunderside

上次说过,现在做数据处理,直接用Mathematica出图成PDF,然后用LaTeX调用。

今天,准备打印一篇文稿,用纸笔好好修改一下。在笔记本上连接单位的打印机,一打印就出错,说“打印任务无法执行”。于是换到办公室的台式机,同样出错……于是开始怀疑打印机出错,跑到打印机跟前,发现同事们照打印不误……于是又怀疑打印机服务器PC出错,从远端连接几次,没有什么问题……于是怀疑文件问题,开始一页一页试,发现就是那两页有图片的不能打印,仔细观察图片,在屏幕上完好显示的……于是换了一台彩色打印机,终于可以打印了!不过出来的纸上没有图。于是又用Acrobat Distiller,从PDF虚拟打印成PDF/EPS/PNG等等等等,竟然发现出的文件里也没有图。看来有苗头了,拿出从Mathematica里直接出的PDF格式图片,实际打印和虚拟打印都只有空白页面。眼睛可以看见的东西,却打印不出来,只能对着电脑抓狂~~ ·#*§$€^@% ~~

找到同事讨论,也被别人视为奇谈。聊了很久,我偶然提到自己经常用鼠标右键,然后在弹出菜单里选择 Save Graphics As。他说虽然方便,却从来都是用命令行输出文件的。难道就是这个原因?回到办公室把图片更新一遍,竟然问题解决了。

其实,只需要在绘图命令以后加这样一行就可以输出了。

Export["ExpData.pdf", %, "PDF"];

修改以后,再没有这么奇怪的打印机问题。教训在于:

  1. 以后能用命令行解决的事情,决不要偷懒用鼠标。
  2. 以后眼睛眼见的东西(例如,屏幕上显示的东西),实际上可能完全不一样。(这话怎么像说的是针对婚纱照写真集呢。)

一个下午,原来计划修改文章的,现在被鼠标右键给毁了。

分类: 科学工作 标签: , ,

工作杂记

2009年7月2日 杨羽 2 条评论
    (一)Mathematica,数据处理
    以前用的几个数据处理软件,按照使用的频率排是Origin,KaleidaGraph,Excel。最不喜欢的是Excel,有点太简单了,不过做实验的人喜欢,给的实验数据都是这个格式的。
    最先使用Mathematica是用来推公式的,图形方面比较弱,以前画图都是将Mathematica产生的数据导到Origin里处理。最近发现Mathematica 7里的3D绘图性能提高以后,几乎所有的图都是从Mathematica出的。新版本里支持图形输出成EPS、PDF格式,用LaTeX写文章很方便。Mathematica里的图形控制相对比较复杂,不过用过几次以后,就已经熟悉了,而且可以定制。
    例子,一个数据文件,带XY两列数据,文件头部有一段文字说明。可以直接拿下面的代码搞定绘图。

SetDirectory["D:\\@WorkExchange\\2009_NcEffect\\Data"];
stream = OpenRead[NcFileName];
Skip[stream, String];
Data = ReadList[stream, {Number, Number}];
Close[stream];
Nc = Transpose[{Data[[All, 1]], Data[[All, 2]]}];
ListPlot[Nc, Frame -> True]

第一行设定工作路径;第二打开文件;第三行跳过头部的文字;第四行读出数据;第五行,转成XY的数组,最后就可以画出来了。NcEffect_DataProcessing

现在需要读写大量的数据,要是用Origin什么的,估计用鼠标都用得手抽筋。用代码实现,还是很不错的选择。记得Linux下面,有个直接命令行绘图的,出EPS文件,现在也不用管了。

Mathematica里的好处,就是可以设定拟合函数,和拟合方法(例如,最大似然估计)。最后一个对于数据的统计分析非常重要,代码实现起来也就3、4行。而在Origin里没有现成的方法,需要自己写子程序。另外,3D的数据重现也是非常方便的,例如右图。实现起来,也就是上面一段代码的简单扩展。这个如果要用Origin画,估计就要花费比较多的时间来处理。现在对于Excel里的实验数据,都是到处成文本,然后用Mathematica处理的。

不过,Mathematica里还是有几个问题,例如循环的有效性比较低,占用比较多的CPU资源。这个就不如Matlab之类的软件了。

(二)Elservier的LaTeX投稿

上次说过ElsevierLaTeX投稿时出现的图片格式问题。最近投出另外一篇文章的时候发现,其实Elsevier已经提供了很好的LaTeX支持了。很详细的说明和宏包都可以在这里找到。只需要将 elsarticle.cls 文件拷贝到工作目录,在LaTeX头部文档说明处改成

\documentclass[option]{elsarticle}

option 可以是preprint, review, 1p, 3p, 5p等。用5p选项,可以得到类似期刊双栏的实际排版效果。最近,就用这个选项估计了文章在期刊上出现的长度。这个对于一些有长度限制的文章投稿,很有帮助。

(三)Word 还是 LaTeX

今年要参加的一个会议,文章都快写完了发现,人家只收WORD版本的文档。

用过LaTeX写科研文章以后,怎么也想不通,一个MS Office排出的东西不好看,还要收费。于是写信和人家讨论,询问是不是可能收LaTeX,信件如石沉大海。唉~

另外,发现一个GrindEQ,可以转化LaTeX文档到WORD,包括文档中的公式和表格。转化的效果还是不错的,尤其在文档里有大量公式的时候,从LaTeX->Html->Word的方法显然是不够用的。不过GrindEQ是个收费版本,有10次试用。算算手头的东西转10次估计也是够了吧。

还有一些,等等再写吧…

PDF图片到EPS文档的转换

2009年5月29日 杨羽 没有评论

一篇论文寄到Elsevier准备校样。今天收到Elsevier的信件,说我的文件是基于PDFLaTeX的,他们只接受LaTeX/TeX的文档,图片只能是TIF或者EPS的,PDF格式的他们不收,而我用的几乎都是PDF格式的图片。原文这样说:

Acceptable text file formats include MS Word, Word Prefect, RTF, TEX and plain ASCII text. TIF and EPS files are preferred for figures. PDF, DVI and PS files are not acceptable for publication purposes.

看来,这个杂志还是比较偏向M$ Word的。以前投过Word版本的,没有任何问题。现在,只能想办法去转换所有的PDF图片了。总不能转回Word版本吧。之前,我用的是LaTeX,后来发现PDFLaTeX非常方便,图片PNG、JPEG、PDF都可以,一直就用来下来。几乎所有的图片输出都是PDF的,以前的EPS文件,都已经转存成PDF了。现在又要转回去,所谓”折腾”。一篇文章里十几张图,查了一下Windows下可用的软件,没有合适的。上午,竟然手动用Acrobat Professional一张张转换。后来发现在Linux/Unix下,直接就可以做批处理。命令是

pdftops -eps <PDF-file>

直接转成同名但不同后缀的EPS文件,比手动转换快多了。在LaTeX文档里,需要改变的也不多。EPS的文件大小比PDF的大很多,但放到压缩包以后,就问题不大了。所以,把文档传到Unix服务器,几个键盘操作,转换完毕后传回来,比在Win下面用鼠标点来点去效率高多了。终于搞定了。

分类: LaTeX/论文 标签: , , ,