显示标签为“presentation”的博文。显示所有博文
显示标签为“presentation”的博文。显示所有博文

2009年2月25日星期三

impressive

impressive 在我的 debian 里面已经 0.10.2r-2 了,现在就连我的破显卡也没什么问题了(当然不是说可以用显卡的 Open GL 加速了,而是说交给了软件 mesa 去渲染了,所以很慢,总比不能渲染好,呵呵)。
/usr/bin/impressive-gettransitions
/usr/share
/usr/share/impressive
/usr/share/impressive/impressive.py
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/impressive.1.gz
/usr/share/man/man1/impressive-gettransitions.1.gz
/usr/share/doc
/usr/share/doc/impressive
/usr/share/doc/impressive/demo.pdf
/usr/share/doc/impressive/impressive.html
/usr/share/doc/impressive/copyright
/usr/share/doc/impressive/demo.tex.gz
/usr/share/doc/impressive/changelog.Debian.gz
/usr/share/python-support
/usr/share/python-support/impressive.dirs
/usr/bin/impressive
这个 python 写的程序很小,主文件就是那个 py,另有一个 impressive-gettransitions 是用于从 beamer 的 tex src 里面提取 info 生成我们需要的配置的。

说起来想法很简单,使用 PyOpenGL 使得在 python 中可以调用 OpenGL,PyGame 是 SDL 库(快速显示),PIL(Python Imaging Library)处理图片,Xpdf 或 GhostScript 渲染 PDF,pdftk 获取 PDF 元信息、xdg-utils 用于呼叫外部的程序(如 Email)以及 MPlayer 播放声音视频。

启动非常方便,直接 impressive ur.pdf 就可以了,这里先介绍特色:
  • overview,按 tab,在回答问题的时候快速定位所需位置
  • hightlight box,鼠标拖动,立即看到高亮区域,右键点击去掉
  • spot light,轻按 enter,追光灯效果,+- 调整圈的大小
  • 黑白屏,B/W
  • L 返回浏览顺序的前一页(不是物理上的前一页)
  • S 保存高亮框、快捷键到 info。
  • T 显示 timer,R 重设 timer。
  • Z 进入 200% 放大,可用鼠标邮件 panning。
  • [] 调整 gamma,{} 调整 black level。
  • Fn 和 Shift+Fn,用于跳转到某页、记住某页。

更多的操纵来自命令行参数,
  • -a 指定自动翻页的时间间隔。
  • -A 指定 render 时候的比例(对宽屏)。
  • -b 不在后台 caching,而在一开始就处理完。
  • -B hightbox 等 fade 的时间。
  • -c 使用 caching 的方式,none 不进行,memory 在内存里,disk 使用一个临时文件,persistent 使用固定的文件。
  • -C 指定 cursor。
  • -d 指定一个 presentation 的长度(将显示一个 progress bar 在下面)。
  • -D 指定 mouse 隐藏的 idle 时间。
  • -f 全屏或者非全屏。
  • -g 指定 render 出来的大小,如 800x600。
  • -G 调整 Gamma 等。
  • -i 开始的页面编号。
  • -I 指定 info。
  • -l 列出所有的 transition。
  • -L 指定 OSD layout。
  • -M 显示 timer 用 minite 做单位。
  • -o 产生文件渲染输出的路径。
  • -O 选择 overview 自动选择模式,off 关闭,first 选择第一页,last 选择最后。
  • -p 指定起始和终止页。
  • -r n 转动 n 个 90 度。
  • -s 缩放图片。
  • -S OSD 字体大小。
  • -t or -T transition 时间,使用的类型。
  • -u poll 使用的 pdf。
  • -w 到尾页回头。
  • -Z zoom 的时间。
  • --cachefile 指定 cache 文件。

更加细腻的控制来自 .info 文件。主要分 PageProps 和一些全局的,稍微重要一点的就是指定 title(显示在 overview 里面)、transition(可以用更花的渐变)、transtime(单独设定渐变时间)、overview(是否显示在 overview)、skip(presentation 时跳过)、boxes(highlight box 的坐标)、timeout(设定停留时间)、comment(显示时的注释)、sound(音频文件)、video(视频文件)、progress(进度条显示否)、reset(是否重置 timer)、rotate 和通过一些事件(OnEnter、OnLeave、OnEnterOnce、OnLeaveOnce)和按键(key)触发 python 函数。