第1页共7页latex论文插图技巧总结要对latex插图仔细研究,推荐Latex插图指南一文(一般CTEX安装目录下help文件夹graphics.pdf就是了),下边用双引号括起来的都引自此书。PS:本文中代码里的图片文件名在编译时请换成你的电脑里实际有的图片,这个大家应该都懂的。1、我用惯word的结果是觉得Latex的图片浮动格式很不习惯,然后我听到这样一段话,觉得有醍醐之感:“一、不要使用依赖于图形放置位置的文本。使用如“这幅图...”或“下面的图形...”等短语要求所指的图形需在固定位置。而像“图5...”这样的短语则允许图形出现在任意位置。二、放松。一些使用者在发现图形没有十分准确的出现在他们所想要的位置时,往往非常着急。这没有必要,图形的放置是LATEX的工作,最好放松一些。”为什么Latex不推荐我们让图形准确出现在放置的位置呢?“因为那会导致糟糕的分页,将大片的空白留在页面下方。为得到专家级的排版效果,作者不得不手工调整图形的位置。这种工作是非常乏味的,尤其是几乎每次修改文档都得这样做一次。”Knuth同学当年做tex时,目的就是让我们将注意力集中在文章的内容,而不是排版上。尤其是在做长文章或书时,用word每次修改时插入新的文字都要重新调整图片,很不方便。(其实还好啦,我们的文章都短的像兔子尾巴就觉得word也挺好的)2、浮动格式一个典型的插图语句\begin{figure}[htbp]\centering\includegraphics[width=6.5cm]{graph.eps}\caption{ThisisaninsertedEPSgraphic}\label{fig:graph}\end{figure}其中[htbp]就是浮动格式“h当前位置。将图形放置在正文文本中给出该图形环境的地方。如果本页所剩的页面不够,这一参数将不起作用。t顶部。将图形放置在页面的顶部。b底部。将图形放置在页面的底部。p浮动页。将图形放置在一只允许有浮动对象的页面上。”我一般使用[htb]这样的组合,只用[h]是没有用的(原因请读者思考)。这样组合的意思就是latex会尽量满足排在前面的浮动格式,就是h-t-b这个顺序,让排版的效果尽量好。反正记住,放轻松。3、如果你就是要插在你想插的位置怎么办?我会这样做:如果tex不让你插在你想插的位置,说明你的图片太大了,你可以试试调整[width=6.5cm]中的大小,让它能够插得下,其实我们在word中也是这样做的。推荐使用\textwidth这个单位。但还是那句话,不要太勉强。4、一些图片的并排如果想要这样的效果,要两张图并列,或几张图排在一起。可以试试下面的模板,效果请自第2页共7页己运行模板一\begin{figure}[htbp]\centering\subfigure[sin1]{\label{fig:fft:a}\begin{minipage}[c]{0.5\textwidth}\centering\includegraphics[width=6.5cm]{sin1.eps}\end{minipage}%}%注意这个”%”绝对不能省,可以试试不打%的效果\subfigure[sin2]{\begin{minipage}[c]{0.5\textwidth}\centering\includegraphics[width=6.5cm]{sin2.eps}\end{minipage}}\caption{fft}\label{fig:fft}\end{figure}模板二\begin{figure}[htbp]\centering\begin{minipage}[c]{0.5\textwidth}\centering\includegraphics[width=6.5cm]{sin1.eps}\end{minipage}%}%注意这个”%”绝对不能省,可以试试不打%的效果\begin{minipage}[c]{0.5\textwidth}\centering\includegraphics[width=6.5cm]{sin2.eps}\end{minipage}}\caption{fft}\label{fig:fft}\end{figure}5、其他细节可以详见开头说的那本书。还有关于图片的格式,如果用Latex编译的话只能用eps格式的图片,matlab就存为eps,其他用软件转吧,但是如果用Latex2pdf编译的话好像就能用jpg,eps反而不可以。但推荐使用eps,我试验下来matlab的图eps质量好,但好像不太支持中文,其实也有办法解决,我所知道的方法是用Psfrag宏包,详细方法还是参见那本书,但是我觉得用英文就行了嘛。6、其实真正的高手latex画图是这样画的,下面一段代码引自Arnold的一篇论文,可以运行一下,看看什么效果。第3页共7页\begin{picture}(6,6)\thicklines\put(0,0){\line(1,1){6}}\put(0,6){\line(1,-1){3}}\put(1,1){\circle*{0.2}}\put(1,5){\circle*{0.2}}\put(5,5){\circle*{0.2}}\thinlines\multiput(1,1)(0,0.2){20}{\line(0,1){0.1}}\multiput(1,5)(0.2,0){20}{\line(1,0){0.1}}\put(1,5.2){\mbox{$A$}}\put(1,0.5){\mbox{$C$}}\put(4.5,5.2){\mbox{$B$}}\end{picture}================我就是传说中的分割线============7、转载tex的爸爸Knuth八卦若干(与技术无关)传说Knuth写书写文章的第一稿都是用铅笔写的。很多人不明白他为什么不用键盘。其实原因是这样,Knuth曾经参加过一个训练小秘的学习班,练习打字每分钟80个词以上。到了后来,他发现他打字的速度大大高于他思考的速度,所以如果他用键盘,就会出现很多停顿。所以他决定用铅笔,这样可以与读者的思考速度保持一致。标题:八卦Knuth(2)Knuth作为一个计算机科学家,为什么放下他所有的工作10年,专心研究排版美学,创造TeX系统。这是很奇怪的一件事情。其实原因是这样。真正完美的数学排版应该是用金属活字进行的。但是自从70年代以来,真正懂得这项技术的人都死光了。新的排版机器,很不幸的都被计算机操纵了(想想Matrix)虽然当时计算机能够排出一些简单的报纸,杂志,但是它们不能很好的处理数学公式。Knuth想写出一个小玩艺儿能够在不同的计算机上制造漂亮的数学公式,于是TeX(读作Tech(nology)的前半部分)就诞生了。标题:八卦Knuth(3)很多人都对TeX断行的算法感到满意,其实只有Knuth觉得担心。他设计TeX的时候听说有一本书叫做AestheticMeasures,作者是美国No.1数学家GeorgeDavidBirkhoff。是说怎样用数学公式来衡量“美”。他查阅了7个Harvard图书馆,其中有一个图书馆有一个拷贝,第4页共7页但是却被人借走了。无奈,跑到MIT去借。还好,借到了。后来他就在TeX里加入了一个变量叫做badness,用来衡量一行文字的美感。badness越小这行文字就越美。但是与Birkhoff不同,Knuth对这个公式没有多少信心。也许是因为谦虚。标题:八卦Knuth(4)Knuth的书都是自己用TeX排版的,但是却不都是自己设计的。传说Knuth和Graham,Patashnik合作写ConcreteMathmatics的时候请了一位有名的图书版面设计家为他们设计好了书的尺寸,字体大小,标题样式,后来HermannZapf专门设计了一种数学字体叫做Euler,自此,数学家Euler的灵魂浮游于CM当中……另外一个图书设计家告诉Knuth一种格式数学公式的办法,就是不把数学居中,而是只相对正文缩进一定距离。标题:八卦Knuth(5)大家都知道1974年图灵奖授予Knuth主要是因为他写了一部巨著叫做TheArtofComputerProgramming但是不幸的是,很多人不能理解,甚至不相信他为这部书起了这么一个不“科学”的名字。后来很多人的著作里出现这样的文献引用:TheActofComputerProgramming,DonaldKnuth.--Youwillbeawinnertoday.Pickafightwithafour-year-old.标题:八卦Knuth(6)Knuth是个喜欢自夸的人,这是毫无疑问的。在他出版TheArtofComputerProgramming之前就已经有这种苗头了。还没有出版的时候,在一次会议上,有个人知道他的这种性格,就说:“我猜你正在写的这本书的书名肯定是‘AnIntroductiontoDonKnuth’。”Knuth回答说:“正好相反。我要以你的名字来命名它。”原来这个人的名字叫ArtEvans.标题:八卦Knuth(7)Knuth是Caltech数学系博士毕业的但是他常常说:“我戴着一顶计算机科学家的帽子,而不是一顶数学家的帽子。”这说明他似乎对数学家有某些看法。在他看来数学家只知道“Whatisit”,而他还知道Howtodoit.这就是他认为的数学与计算机科学的区别。标题:八卦Knuth(第5页共7页Knuth回到Stanford时,学校让他自己给自己一个头衔他就选了一个ProfessorEmeritusofTheArtofComputerProgramming他其实觉得“计算机科学”不是科学。虽然大家很希望计算机编程变成科学,这是某ACM刊物提出的忠旨。但是Knuth觉得奇怪为什么大家这么喜欢科学,以致于他们瞬间把程序设计变成了科学,方法就是叫它“计算机科学”。--JustcallitComputerScience在他眼里,计算机科学其实仍然是门艺术。标题:八卦Knuth(9)在Knuth的眼里,科学与艺术有什么区别呢?艺术是人创造的,而科学不是。艺术永远是可以无止境的提高的,而科学不是。艺术需要天赋才能掌握,而科学不需要,按部就班就行。所以,The...ART...ofComputerProgramming!标题:八卦Knuth(10)Knuth的TheArt...ft,这么长……以后简称TAOCP吧……开始写的也不那么好。传说有一天BobFloyd给Knuth一封信,开门见山就说:“Don,请不要用那么多感叹号!”信的结尾至少打了五个概叹号。看了之后,Knuth发现TAOCP里竟然平均每页有两个感叹号!!标题:八卦Knuth(11)有人说Knuth写完三卷taocp就去研究TeX,其实是因为害怕写第四卷。很多人早就希望他放下TeX,继续写书。Knuth说:“一个人要把事情做的完美,只有当他跟上帝的意图保持和谐,现在上帝要我去写第四卷了。”标题:八卦Knuth(12)Knuth很推崇随机算法。他批改作业时,一般都是翻到随机一页,仔细看那一页,之后就对学生的作业有了一个概貌,其它的部分就看的不那么仔细了。Knuth看书的时候首先看第316页,如果书很短就看第100页。仔细看那一页。之后他就可以说那本书好不好。据说这样做出判断的正确率很高。不知道是否有很多人跟他学,看316和100.以后写书要注意把第316页或者100页写好呀!标题:八卦Knuth(13)继续八卦你们知道Knuth发明了一种程序设计方法叫做LiterateProgramming(文学编程)把程序当成文学作品来写。这样可以创造永恒的作品,甚至几十年后还有人用它作为茶余饭后的读物。他为什么要发明这个东西。原因有2:1.他想让一个程序员(也许是他自己)在某一天拿到普利策奖。2.他想让提出“StructuredProgramming”(结构化程序)的那些家伙第6页共7页在写“非文学程序”的时候,就像他当