2009年3月31日星期二

当MathML与Flash相遇

在理工科网络化教学中,最麻烦的就是如何在Web上正确有效地显示数学公式。在MathML之前,通常做法是利用专用工具将Word或LaTeX文档中的数学公式渲染成JPG或GIF格式,再嵌入到HTML文件中。这样的做法问题在于数学公式与HTML文本间无对应关系,排版困难,且不能随浏览字体大小的改变而自动缩放。随后出现了OpenMath,其采用XML方式来对数学公式进行表达。由于Openmath提供了特定格式的XML语言定义了数学对象的语义字典,故其可将数学对象在不同的计算机环境间交换,从理论上解决了Web环境的兼容性问题。但Openmath的问题在于其只关心数学公式的语意,而不关心数学公式的视觉效果,故其主要面向数学系统专家而非Web出版者。基于上述原因,1999年W3C组织提出了基于XML语言标准的数学标记语言——MathML,其结合了HTML、XHTML与Openmath等语言的优点,具有良好的数据存储格式、可拓展性与高度结构化,从而成为Web上数学公式出版的工业标准。目前主流浏览器,如Firefox、Opera等都默认支持MathML,而IE6则可用通过插件(如IBM的TechExplorer或 MathPlayer)来浏览MathML。

MathML的缺点在于其繁缛的语法结构不利于人的输入与阅读,从而又出现了许多MathML辅助输入工具。比如利用MathType公式编辑器可将当前的公式用MathML形式输出,或者利用TeX4ht工具将TeX公式输出成MathML代码。这些都是非在线时的MathML辅助输入工具。

目前,在线式的MathML编辑工具主要有两类:基于TeX或者LaTeX系统的写作工具,如 AsciiaMathML 与 LaTeXMathML。其采用Javascript将TeX或LaTeX数据控制字符串转换成MathML语义字符串。另一类是所见即所得的Web编辑器,如 Webeq 和 amaya 等,其利用Javascript或Java构建一个类Word的编辑环境来输入公式。

上述的工具都是基于HTML或XHTML的,在以Flash为主流的RIA日益盛行的今天,如何在Flash中创建MathML呢?Ionel Alexandru给出了一个很好的解决方法。他开发了一个AS3的代码包,可以方便地渲染出基于MathML语义字符串的Flash MovieClip。虽然其尚未能完全覆盖所有MathML定义,但已经很不错了。加油 Ionel Alexandru!

当MathML遇上Flash,必然带来基于Flash平台的理工类网络教学软件一次技术上的飞跃!而基于LaTeX的Flash交互平台也离我们不远了!

2009年3月30日星期一

用Endnote进行资源管理心得

 

Endnote是一个优秀的文献管理软件。经过一段时间的试用,我逐步建立一个用Endnote的文献资源管理流程。本文主要介绍Endnote中的一些基本类型,与我使用Endnote的一些技巧。


Endnote提供了许多的文献类型,从使用角度上,我觉得可分为如下几类:

  • 学术:这是Endnote最主要的功能,即管理科学文献。

    • Journal Article:学术期刊论文
    • Conference Proceeding:学术会议论文集中的论文
    • Conference Paper:学术会议论文:其与Conference Processin的区别在于其主要指未发表或未收入论文集中的论文
    • Book:出版的书籍
    • Thesis:学位论文
    • Report:学术报告

    学术文献主要可通过一些国内外的学术数据库进行查找,然后通过对应的Filter(过滤器)导入到Endnote中。

  • 书籍:主要是建立自己的图书馆。

    • Book:图书
    • Electronic Book:电子图书
    • Edited Book:其与Book的区别在于其是某个书系中的由多个编辑制作的书

    对于外文图书信息的录入,可利用Endnote的Remote Library Search 方式在国外图书馆中进行搜索,我常用的是Yale与MIT的图书馆,其藏书量大且连接速度快。在搜索时尽量利用搜索式缩小范围,否则会下载许多图书条目而浪费流量。对于国内图书,则只能在国家的OPAC中进行检索,或是到本地图书馆OPAC中进行检索。一般这些系统都不提供Endnote远程接口,一些有MARC条目输入。可根据MARC条目自己编写Filter,但比较麻烦。还一种方法是利用Google Scholar Search进行搜索,然后用其BibTeX输出,再导入到Endnote中。

  • 工作:建立面向工作的参考文献集。

    • Govenment Document:政府文档,也可将单位的主要文档存放其中
    • Grant:授权书
    • Encyclopedia:百科全书
    • Directory:字典,一些工程手册也放在这个类别中
    • Legal Rule/Regulation:规则条例
    • Patent:专利,有时也将项目说明书等文档放入其中
    • Catalog:目录,主要是一些汇总文件集
    • Standard:标准,以及一些常用参考手册

    这些文献应单独放在一个库中,这样利于快速浏览。

  • 网络收藏:用Endnote来管理自己浏览与下载的网络资源

    • Blog:博客文章,用PDF打印
    • Web Page:网页,用抓屏软件存储为JPG格式。
    • Computer Program:优秀的软件与源代码等。
    • Electronic Article:下载的电子文档
    • Online Multimedia:下载一些小视频或动画等,并且将下载的图片等也放入其中

    • 定期清理迅雷/FlashGet等下载目录,将有用的信息放入Endnote库。

  • 个人:建立自己个人文档的数据库

    • Personal Communication:一些个人交流信息,如Email,MSN/QQ的聊天记录等
    • Film or Broadcast:看过的电影等信息,就是将豆瓣的本地化
    • Case:项目,主要用来管理一些个人项目




Endnote的使用技巧:

  • 不要将所有的文献都放入一个Endnote库中,而要建立多个库,比如 BookLibrary,WebArticleLibrary等,这样可以设置每个库的默认文献类型,利于进行输入。而且由于库比较小,在打开时比较快。Endnote有导入Endnote库文件的功能,故可定期(如半年/一年)将文献库进行合并(注意Endnote在导入文献库时并不将文献条目上附加的文件一并导入)。

  • 应充分利用 Research Note 字段,而且利用(0-5)分来给每个文献进行打分,如"5.详细介绍了Omega函数的应用"这样的短小笔记,如果是比较长的笔记,则应存入Text文档中,然后将该文件Attach到该条目上

  • 将Keyword作为Tag来进行管理,每个关键词用分号来分隔

Posted by Picasa