Sozi:基于 Inkscape 和 SVG/JS 的幻灯片制作工具

(这个帖子写得比较快,语言不太流畅,致歉)
非常酷的工具。 可惜 openSUSE 没有。 再加上这个连 configure 都不用只需要拷贝文件,我第一次使用 OBS 就先搞定了这个玩意儿。

目前已经可以在 software.opensuse.org 搜索到 inkscape-sozi 这个软件包,在我的 home project 源里面。 还有一个 inkscape-inksyntax 可以配合使用。

思想方法: sozi 是革命性的幻灯片工具。 是真正基于缩放界面的幻灯片工具。 而且制作的文件是 SVG+Javascript, 只要你有 firefox,就可以播放,完全无需 impress 等幻灯片软件包,只需 firefox 即可放映。 更是彻底摆脱了 powerpoint 、 keynote 等私有软体。

sozi 的幻灯片里没有任何 “页面”。 这点比 prezi 还要先进 (prezi 是在线的,还是私有的,还是依赖 flash 的)。 Prezi 这种缩放,不过是伪装的缩放。 就是把几页纸张放在一个页面上再缩放。每一个页面的大小都是固定的,所谓的“缩放”实际上就是类似于幻灯片转场的死板切换罢了。 实际上相当与几张 impress/powerpoint 幻灯片,只是切换的特效非常动感而已。 而 Sozi 的这种缩放,是真正的缩放,完全摆脱了 幻灯片 中 “页” 的概念。 整个幻灯片 实际上就是一个 SVG 画板,随意缩放,而且完全预设。

可以把 sozi 幻灯片想想成一张纸和一个投影机,投影机把纸张的局部投影到屏幕上,并且可以不断调整投影的部位和大小。

使用方法: 在 Inkscape 里画内容。 和平常使用 Inkscape 没有任何区别。 但是 Inkscape 不能插入视频。 如果你要做幻灯片,可能需要插入视频。 而 firefox 也支持 HTML5 的 video/audio 标签。 插入视频、音频的方法为: 扩展 ->Sozi extras -> Add video or audio

整个画布布置好之后就要预设缩放、移动投影机的轨迹。 每切换一张幻灯片,就是切换一个方块。 因此你可以使用 方块 工具在 Inkscape 里创建方块,创建方块之后把这个方块选中,然后点击 扩展 ->Sozi 即可把这个方块添加为一张幻灯片。 在播放到这一张的时候就会移动并缩放到这个方块所在的区域 (好像也可以使用其他形状,我没有试验过)。 看起来好像还是没摆脱页面的概念? 其实不然。 两个方块之间可以重叠的。 甚至可以让一个方块完全包括另一个方块,这样就可以先播放全局,再放大到细节。 Prezi 虽然有缩放的效果,但是缩放仅仅是从一张切换到另外一张的过程中缩放,所以完全不是一片天地。

小技巧: 如果嫌方块太多,可以创建一个新图层,把方块创建到新图层上,再在做其他操作时把这个方块图层隐藏、锁定。

提示:firefox 渲染 SVG 路径的速度远快于渲染 SVG 文本的速度。 如果你确定一个文字以后不会再编辑了的话,就可以把它转换成路径。 除此之外,如果你不转换为路径,那么在没有相应字体的计算机上放映时文字的效果就会不同了。 但是用文字也有一个优点,就是以后可以再编辑。

实例:
这个讲天文望远镜的,很短但是做得很精致: gwoptics.org/research/et/layout/ET_layout_02.svg
这个计算机科学的,很好的体现了 Sozi 的独有优势: sozi.wdfiles.com/local–files/presentations/2012.1-CPTA012-02.svg
这个神经科学的,做得比较差的感觉,反正我不太喜欢: col4.net/pres/ASBD_Conference_sozi/ASBD_hacked_sozi_12_relative.svg

×××××××××××××××××××××××××××
inksyntax:

做计算机方面、linux 方面的演示的话,难免插入一点点代码。 既然 Sozi 是基于 Inkscape 的插件,那么其他 Inkscape 插件的功能自然也可以为 Sozi 所用。

Inksyntax 是一个 Inkscape 的代码高亮插件。 几年没更新了,去年又复活了。 支持 GTK/TK 两种 toolkit,也支持 pygments 和 highlight 两种高亮工具。 不过我在 OBS 的 specfile 上就直接依赖了 python-gtk 和 python-Pygments 这两个包了。 经测试基本能用。 但是好像 line number 不正常(我在 debian 手动装的好像也是这样) 软件包名称: inkscape-inksyntax

使用方法: 扩展 -> 文字 ->InkSyntax,然后选择高亮语言,拷贝进源代码,就可以把高亮好的代码插入到画布里面了。

×××××××××××××××××××××××××××××

使用 Inkscape/Sozi 做幻灯片的另一大优势就是 LaTeX 导入功能。

Inkscape 自己就带了一个导入 LaTeX 公式的功能。 但是我搞不清楚怎么输入多行的公式。 另外如果要用 amsmath 的话就需要 preamble,自带的这个功能不支持,不知道怎么使用 amsmath 宏包。 可以用 扩展 -> 渲染 ->LaTeX 公式 来调用自带的这个。 高级一点的就是 textext 这个扩展,比较有名。 我用过,可以用 preamble 来调用 amsmath 宏包,这样就非常实用了。 但是 textext 已经几年没更新了,虽然还能正常使用,总让人有点担心。 我也感觉自己没能力 takeover。 所以我暂时没有把这个打包。

2赞

很特别的东西,我用过 Prezi,也很喜欢,感觉楼主说的技术层次有点深,不懂,不过是个很好的学习材料,谢谢楼主。

赞 mark 一下 明天电脑上看看效果 楼主很精湛

Sent from my iPhone using Tapatalk

Prezi 的界面非常新颖。 但是本质上先进程度是不及 Sozi 的。 Prezi 是一种以非线性形象展示的线性幻灯片。 而 Sozi 是真正的非线性放映技术。 而且 Prezi 是私有的,Sozi 不但开源,还是 SVG 技术实现的,彻底摆脱了不通用的格式。

谢谢