2007年2月25日星期日

EPS图片绘制与转换

在 Latex 中, EPS 是最常用的图片格式。但由于我最常用的 Visio 不支持
EPS 输出,所以我要重新寻找合适的 EPS 图片绘制与转换工具 。

【绘制】
Metapost 和 Asymptote : Metapost 是 Latex 平台使用最广泛的图片绘制环
境,其语法还是很容易学习的。但在 CTex 套件中的 Metapost 在 WinXP2 平台下
编译似乎并不好,有时会出错。所以我最常用的绘制环境是 Asymptote, 其优点
是编译稳定,且是类 C 语法,对于程序员更容易上手。但其支持文档很少,其帮
助文件中对于支持包的解释更少,常常需要直接阅读 asy 代码。

【转换】
(1) bmeps: CTex 套件中这个工具可以将 JPG/TIFF/PNG 格式的图片转换到
EPS 格式。由于在编译 Latex 之前总要进行对应的转换,可以用下面的 Windows
命令行来批处理(保存在 BAT 文件中运行)。
for %%f in (*.jpg) do D:\CTeX\texmf\miktex\bin\bmeps.exe -c -t jpg %%f
%%~nf.eps
for %%f in (*.png) do D:\CTeX\texmf\miktex\bin\bmeps.exe -c -t png %%f
%%~nf.eps
for %%f in (*.tiff) do D:\CTeX\texmf\miktex\bin\bmeps.exe -c -t tiff
%%f %%~nf.eps
(2) 我使用了 eps2png(linux)、AdvanceBatchConverter(Windows)和
ReaConvert(Windows)这三个软件来进行 EPS 到 JPG/PNG 格式的转换,但效果
都不是很好,会出现锯齿感。

【数据可视化】
gnuplot:在编写 Latex 文件中,常要将一些数据进行图表化。我以前的方法
是在 Excel 中导入数据绘制图表,然后导出为 JPG 文件,再转换为 EPS 格式。
如果遇到大规模数据则在 Matlab 中编写个小程序来绘制。现在看来这都是很"笨
拙"的方法。现在我使用 gnuplot 来进行数据绘制,该软件是一个数据绘制环境,
可以对数据进行2D/3D绘制,并提供多种图片格式输出(如JPG/EPS),甚至可直接
输出 Latex/Metapost等代码。