星期二, 十二月 26, 2006

TeX2Img

编了一个小软件,TeX2Img,就是把LaTeX数学公式转换成PNG图片。如果需要在Word,PowerPoint和网页(比如blog)里插入LaTeX公式,这个软件或许有点帮助。Solstice同学做过一个eqLaTeX,也是干这个的,当然他的比我的强多了。我在做的时候GUI设计全是抄他的。唯一一点我认为可以算是改进的地方,就是我的这个软件不依赖于Perl。

有不少人写过TeX->PNG or GIF的Perl脚本,比如eqLaTeX里的tex2png.pl,textogif.pl,工作原理都差不多,先用latex和dvips把LaTeX源文件转换为ps格式,然后用ghostscript把ps文件打印成png(tex2gif有些不同,它把ps文件打印成pnm格式,然后再用NetPbm包里的pnmtopng把pnm转换为png。这样得到的png质量可能更好些)。我花了一个钟头hack了tex2png的源码,深刻地认识到Perl这种语言有多么恶心。然后把上面给的ghostscript的命令行参数照搬到我的代码里。目前这个软件算是能工作了。编GUI界面是件体力活,我又不懂什么MVC模式,只能傻乎乎地把界面和业务逻辑分离,分到最后发现藕断丝连,分得不甚干净,这个时候代码已经要进入混沌状态……。幸好我希望它能工作的部分非常争气,所以我就把这个半吊子的东西发布出来了。

事先声明,TeX2Img目前还处于under construction的状态(在可以预见的时间内,会进入beta状态),主要表现在工具栏里甚至还有两个按钮的代码尚未编写。现在懒得写代码,等以后再来完善吧。

系统要求:.NET Framework 2.0,LaTeX2e,dvips,Ghostscript(后面三样一般的LaTeX发行包里都带了)

截图:

下载地址:Download

3 条评论:

Corsair 说...

靠~~ 现在你写东西也要求 .NET 了~~~ 支持不支持透明背景阿?

Meng Cheng 说...

WinForm编Windows程序确实比较方便,反正现在.NET也普及了。透明背景我不清楚,gs虚拟打印时可以选择输出设备,有pngalpha,pnggray,png256等等,我现在用的是pngalpha

Corsair 说...

那就是支持了。写个 Linux port 吧 :-p