存档

文章标签 ‘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日 3 条评论
    (一)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/论文 标签: , , ,

今天做的工作

2009年5月18日 7 条评论

有一个问题,折磨了我好几天,问了几个搞这个领域的人,都没有一个确切的答案。

昨天晚上临睡前,忽然有个想法闪过,曾经想爬起来写到纸上,后来还是相信可以记那么一晚上的。今天早晨起来,整理一下思路,发现记忆力还不算太差。看来有点苗头。

上午,骑车冲到办公室以后,开始实现这个想法。在笔记上,写了几页公式,画了若干示意图。做了半天快吃午饭了,在几乎可以写出结论的时候,忽然不太喜欢那个一开始就做出的假设。

于是翻出上世纪70年代的一篇文献,非常系统的工作,研究了一个下午。看到最后发现,其实也有我最初做的那个假设。作者声称,在统计上,可能这个假设并没有太大的问题。我在想,直接用统计的方法,何必非这么大牛劲,最后都是一个上限一个下限。

在下班前,终于放弃了,又回到了问题没有解答的起点......

_____________________

PS,测试WordPress的 LaTeX 功能:\(\)。采用将 LaTeX代码放在双$$符号之间的方式实现。

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

在LaTeX里插入全页的图片

2009年2月6日 没有评论

这里说的是,如何插入全页图片,覆盖原来的页眉和页脚。这种情况比价多见,例如做封面,例如插入一个大图。下面的代码是插入一张全页图,不过有时候效果不好:

clearpage
thispagestyle{empty}
begin{figure}
...
end{figure}
clearpage

另外一个方法,现在经常用的,就是使用 pdfpages包。在定义引用包时加入:

usepackage[final]{pdfpages}

然后,先把图片转成PDF文档,用下面的命令在文中加入此页。

includepdf{figure.pdf}
newpage

发现这个的时候,是需要别人帮我做论文的封面,那人只用Word,给了个Office文档的标准封面,无奈之下,只能先编成PDF,后调用了。

分类: LaTeX/论文 标签: