Archive for ‘LaTeX’ Category
由于月底要开国际会议,开始着手准备幻灯片,一如既往,抛开PowerPoint,使用Latex+Prosper来生成PDF。今天做了一个新样式,因为打算把学校的校徽放上去,所以整体的颜色就以校徽的颜色为基调,像下面的样子,名字就以我的名字和大学的名字的头字母,mytu,来命名。
Prosper样式:mytu。
样式的设计很简单,一个置顶的渐变蓝色背景,一条与校徽中间等高的渐变深蓝色窄条,标题使用白色底,细黑线勾边,这个功能使用了如下的命令:
\newcommand{\slidetitle}[1]{%
\rput[l](-1.4, 4.1){\pscharpath[fillstyle=solid,fillcolor=white,%
linecolor=black,linewidth=0.5pt]{\parbox{13cm}{\fontTitle{#1}}}}}
其中的\pscharpath是Ps-tricks的一个命令,需要pst-char包的支持。另外,\pscharpath与\parbox的顺序不能调换,如果\parbox在前,对于过长的标题就不会自动换行,这是花了好长时间才弄明白的。
校徽的插入并没有在样式中定义,是使用\Logo命令插入的,所以,用户可以自由放置自己学校的图案,宽度设置在1厘米时可达到最佳效果。
\Logo{\includegraphics[width=1cm]{tulogo.eps}}
如果您也是Prosper的用户,并喜欢此样式的话,欢迎下载使用。也许你要插入的Logo不是蓝色的,不要紧,你可以修改样式文件中的颜色定义,变成你喜欢的颜色。
下载此Prosper样式
我用此样式文件制作的PDF演示文稿,此文件曾于国际会议ISCAS05上演讲。
上午分析了一下PPRblends.sty样式的详细构成,现在就根据blends样式,做一些适当的修改,来产生自己的样式文件。
先来看看原本的blends样式是什么样子的:
作如下修改:
对三种基本颜色重新定义,使用纯的红黄蓝。
对方块的大小和位置进行修改,重新摆放。
将横竖两条线的两头都变成白色,并改变坐标使其穿透页面
标题和正文的位置向左做适当移动
就这样,我制作了一个新的样式,因为颜色比较鲜艳,像红黄蓝三色的大旗,所以起个名字就叫RYBFlags。同一页面的样式预览如下:
本样式欢迎Prosper爱好者下载使用。当然,本文的目的还是想推动Prosper样式向多样化发展,希望鼓励大家都来进行设计,百花齐放,以后一定要比微软的Powerpoint多!
点击下载
很久以前就筹划这篇文章。因为用Prosper制作幻灯目前最大的弱点就是样式相对单调。不过这也许也是它的优势所在,因为在PowerPoint里面想要做一个样式可能还不如Prosper里面简单。下面就讨论一下Prosper里面如何修改甚至自己制作一个样式。
Prosper的样式文件是以PPR作为开头的,名字如PPRblends.sty,就是blends样式的源文件(这个模板的样子可以参看我以前的帖子),下面就以PPRblends.sty来做为例子进行说明。在源文件上添加注释文件如下:
% =======% Prosper — (PPRblends.sty) Style file% 版权说明以及一些其他乱七八糟的,不用理它。% =======\NeedsTeXFormat{LaTeX2e}[1995/12/01]% 不用动\ProvidesPackage{PPRblends}[2001/11/15]% 这里是PPRblends,如果你要做自己的样式,% 这里要与文件名一致,否则会有警告信息。\typeout{’Blends’ style for Prosper —}\typeout{(c) 2001 Andrew Arnt}% 上述信息会在编译的时候出现。% 如果你要发行自己创作的样式,% 请在这里申明版权之类,一切你想说的东西。\IfFileExists{pst-grad}{\RequirePackage{pst-grad}}{\RequirePackage{gradient}}% 这里是做了一个判断,选择一个包来实现颜色的渐变。% 如果pst-grand包存在,就用pst-grand包,% 如果不,就用gradient包。
\RequirePackage{semhelv}% semhelv.sty是seminar包的一部分。% 其实整个Prosper就是基于seminar这个样式之上的。
\ifinColor% 如果在文件的option声明里使用了颜色的话。% 按照下面定义几种颜色(彩色RGB)。\newrgbcolor{cyellow}{1.0 0.812 0.004} \newrgbcolor{cred}{1.0 0.220 0.224}\newrgbcolor{cblue}{0.2 0.2 0.8}\newrgbcolor{ctitle}{0.2 0.2 0.6}\newrgbcolor{cblack}{0.110 0.110 0.110}% 以上颜色都由{颜色名字随便起}{R G B}定义而成,% RGB分别从0到1,由弱变强,0就是黑,1就是白。\else% 与ifinColor对应,如果没有选择彩色,即为黑白。\newgray{cyellow}{0.75}\newgray{cred}{0.50}\newgray{cblue}{0.25}\newgray{ctitle}{0.00}\newrgbcolor{cblack}{0.110 0.110 0.110}% 颜色的定义由\netgbcolor变成了\newgray,% 只有一个参数定义灰度。\fi% 判断完了。\FontTitle{%\usefont{T1}{phv}{b}{n}\fontsize{17.28pt}{14pt}\selectfont\ctitle}{%\usefont{T1}{phv}{b}{n}\fontsize{17.28pt}{14pt}\selectfont\ctitle}\FontText{%\black\usefont{T1}{phv}{m}{n}\fontsize{14.4pt}{12pt}\selectfont}{%\black\usefont{T1}{phv}{m}{n}\fontsize{14.4pt}{12pt}\selectfont}%上面的文字用来定义字体,无论是Title还是Text都有两行,% 一个是针对彩色的情况,一个是针对黑白的(但在这里,两种都使用了同一种定义)。% \fontsize用来定义大小,这个可以修改到合适的数值。% phv是指PostScript Helvetica字体,有关字体的详细,有时间再讨论。
\ColorFoot{\ctitle}% 角标的颜色,ctitle在上面有定义
\newcommand{\slidetitle}[1]{%\rput[rb](11,3.3){%\parbox{9.5cm}{\begin{flushleft}\fontTitle{#1}\end{flushleft}}}}% [...]
使用LaTeX的双栏(twocolumn)格式在最后一页如果不加修改,通常会左面到底,右面悬空这样的两边不齐的样子,这通常不是我们想要的输出。如何使双栏的底端找齐呢?基本上有如下方法:
如果文章到最后是进入到参考文献的部分,可以在你觉得应该拐弯儿的地方加入\newpage命令。可是如果你的参考文献是用BibTeX来嵌入的话,就不好办了,虽然可以在.bbl文件里面加入,但是如果重新编译了BibTeX的话,.bbl文件会被重新刷新。如果是使用IEEEtran(用来向IEEE会刊投稿的样式)的style的话,可以使用IEEE提供的\IEEEtriggeratref{x}命令,这个命令放在bibliography的前面,x就是你想要断开的文献号码。他会在第x个参考文献前面自动加入\newpage。
如果你的文档没有参考文献,或者很少,上面的方法就不适用了。这种情况下可以用\enlargethispage{-X.Yin}命令来使最后一页的左面栏的长度缩短。这个命令需要放在你最后一页第一栏的文字顶部某处,X.Y就是要缩小的量。在IEEEtran中命令变成了\IEEEtriggercmd{\enlargethispage{-5.35in}}的格式。
使用第三方的package。如:balance.sty或者flushend.sty。虽然他们都可以很方便的得到,但是不少杂志都不太接受这种非官方的包,因为这样也许会使排版变得不够标准。所以,很多目的都必须通过很传统的LaTeX命令来实现,这也正是深入了解LaTeX的必要性。
使用Prosper时,要在特定的位置放置特定的文字,图片,表格最常用的命令(我个人比较喜欢使用的)就是
\rput[bp]{rot}(px,py){objects}
[bp] – 参考点(基准点),也就是说指定的坐标是对要放的东西的那个点来说的。
[c] center
[t] top
[b] bottom
[u] upper
[l] left
[r] right
可以使用上面的组合,一般来讲,使用左上角[tl]或者左下角[bl]是比较方便的。
{rot} — 制定偏角,一般用不到,可以忽略。
(px,py) — 顾名思义,就是横纵坐标的意思。坐标值可以参考在本文第一部分打印的坐标图。
{objects} — 就是你要放置的东西了。
也许你也注意到了,这个命令里面没有关于宽度高度的定义。那么它就会把你要放的object按照它的大小一比一的放到指定的坐标值上。这里有一点技巧,就是为了使它的大小也可以控制,我通常把\rput和\parbox一同来使用,通过\parbox来控制宽度。使用的时候就是如下的样子:
\rput[tl](1,0.2){ \parbox[t]{10cm}{ \shadowbox{ $\piff{\vtx_2}{\vtx_0} = %略 } }}\rput[tl](0.5,-2.9){ \parbox[t]{10cm}{ By finding %略 }}
上面的代码放到一个页面里的输出如下:
文字和公式都分别用\rput被安放在制定的位置。所以,有了这个命令,Prosper就充满了生气,不必像普通的LaTeX文档一样,一行接着一行的排版了。这种定位准确,灵活,不会像Powerpoint一样会有移动的情况。活用这个命令,可以实现很多功能。
未完待续……
使用Prosper制作幻灯的时候,如果只是使用Latex的命令的话,未免单调,对位置的控制往往也不尽如人意。那么通常需要调用PS的一些命令来实现准确的定位,绘制几何图形,连线,箭头等等略微复杂但是却有效的操作。有关PS的命令有很多package。常用的几个如下:
\usepackage{pstricks,pst-node,pst-plot}
每个package里面也涉及了很多功能,不可能一一赘述,只挑些我用过的来介绍。
使用Pstricks最关键的就是关于版面的定位。而每个样式的位置还都略有差异,所以,使用之前,最好先对版面的坐标有一个清醒地认识。怎么办呢?建议用如下的代码针对要用的样式画一个坐标。
%%— 前面有你的样式文件和package定义,此处略。\begin{slide}[Wipe]{}\psline[linecolor=cyan] (-3, 2)(12, 2)\psline[linecolor=cyan] (-3, 1)(12, 1)\rput(0,0){(0,0)}\psline[linecolor=red] (-3, 0)(12, 0)\psline[linecolor=cyan] (-3,-1)(12,-1)\psline[linecolor=cyan] (-3,-2)(12,-2)\psline[linecolor=cyan] (-3,-3)(12,-3)\psline[linecolor=cyan] (-3,-4)(12,-4)\rput(0,-5){(0,-5)}\psline[linecolor=green](-3,-5)(12,-5)\psline[linecolor=cyan] (-3,-6)(12,-6)\psline[linecolor=cyan] (-3,-7)(12,-7)\psline[linecolor=cyan] (-3,-8)(12,-8)\psline[linecolor=cyan] (-3,-9)(12,-9)\rput(5,-5){(5,-5)}\psline[linecolor=cyan] (-2,3)(-2,-9)\psline[linecolor=cyan] (-1,3)(-1,-9)\rput(10,-5){(10,-5)}\psline[linecolor=red] ( 0,3)( 0,-9)\psline[linecolor=cyan] ( 1,3)( 1,-9)\psline[linecolor=cyan] ( 2,3)( 2,-9)\psline[linecolor=cyan] ( 3,3)( 3,-9)\psline[linecolor=cyan] ( 4,3)( 4,-9)\rput(5,0){(5,0)}\psline[linecolor=green]( 5,3)( 5,-9)\psline[linecolor=cyan] ( 6,3)( 6,-9)\psline[linecolor=cyan] ( 7,3)( 7,-9)\psline[linecolor=cyan] ( 8,3)( 8,-9)\psline[linecolor=cyan] ( 9,3)( 9,-9)\rput(10,0){(10,0)}\psline[linecolor=green](10,3)(10,-9)\psline[linecolor=cyan] (11,3)(11,-9)\psline[linecolor=cyan] (12,3)(12,-9)\end{slide}
这样,编译后会输出一个类似于下面的页面:
如图所示,版面的坐标就是这个样子的了(此图为自制的iscas样式),将输出的页面打印出来作为参考。然后,使用Pstricks的命令就可以随心所欲的在页面上放置任何东西了。
此为(1),为完待续……
参考网站(日文):http://cse.naro.affrc.go.jp/takezawa/tex/latex/image1/
和PPT一样,PROSPER提供了若干预设的模板供用户选择,还有一些由用户制作的模板提供下载。不象PPT里面,可以看到要选择的模板是什么样子的,在PROSPER中,在没有编译之前,你不知道样式是什么样子的。这种弱点显然很不方便,这里,我把收集到的所有模板的样子的抓屏提供出来,供参考。
prosper是一个class,就像常用到的artical, book, report一样。一个完整的prosper的文件通常由如下格式写成:
% 粗体为必须内容% 开始预定义部分\documentclass[选项]{prosper}% 定义标题页\title{文档标题}\subtitle{副标题}\author{作者姓名}\institution{作者所属}\slideCaption{页脚说明文字} %出现在每页的下面%% 正式开始文档\begin{document} %和所有的LaTeX文档一样\maketitle%% 第一页内容\begin{slide}[切换动画模式]{页标题}% …… %页面里的内容% ……\end{slide}% 第一页结束% ……% 定义具有动画效果的页面\overlays{n}{ %n为动画的步骤数\begin{slide}[切换动画模式]{页标题}% ……% 页面内容,里面包含诸如% fromSlide{p} onlySlide{p}% 之类的命令来定义动画的动作% ……\end{slide}} %这个括号是对应于overlays的。% 由overlays扩起来的部分在PDF文件里是一大页,% 里面含有若干子页,通过子页来实现一页中的“动画”效果。%\end{document}% 全文结束
现在,一说到幻灯片,人们就会联想到微软的PowerPoint(PP)。确实,PP在制作精美的幻灯这方面确实有过人之处,尤其是近几年的新版本,功能却是越来越强大。但是对于科学技术人员,尤其是用过Latex的人们来说,还有另一个不错的选择,那就是用Latex的Prosper这个Package来制作PDF文档的幻灯片。
在具体介绍Prosper的使用之前,先就已有的经验来分析一下用Latex来制作幻灯的优缺点:
优点:
对于科学技术论文,有非常好的数学公式输出,与矢量图形的显示。
往往用Latex写过的文章,想制作幻灯时,文字与图片可以直接运用,省去了移植到PP里的麻烦。
元素定位精准,不受版本以及系统字体的影响。不象PP如果一换机器,往往会出现和制作时不一样的显示。
支持动画功能。
弱点:
模版不如PP丰富。
动画功能不如PP强大,但是动画的控制要比PP来得方便和准确。
要经过编译才能输出,这也是Latex的特点,不能够所见即所得。
不能插入其他类型的文件,诸如动画等。(但是可以做链接)
从博士毕业的答辩到后来的几次国际会议,都是用Prosper制作的幻灯,积累了一些经验,有待总结。


