2011年8月5日星期五

linux 下的数学工具

先说说网页如何显示数学公式,直接将公式转换为图片。生成pdf再截图固然可以,但总显得麻烦。Linux和Windows下各有简便的方法。


Linux下使用tex2im可以把tex直接生成为图片,tex2im支持多种图片格式。比如有formular1.tex文件:

\psi_{tot}(x,-t_0,r) = \frac{1}{(2\pi)^2} \int\!\!\!\int
\tilde\Psi_{tot}\left(k_x,\frac{c}{2}\sqrt{k_x^2 + k_r^2},r=0\right)

命令行中 tex2im formular1.tex ,会得到 formular1.png。

Windows下可使用LaTeX Equation Editor,可预览公式,并且按右键将公式图片保存在剪贴板,粘帖到画图程序即可。


*Update* 20120102
要在网页中显示数学公式,更好的方法是直接使用latex语法编写公式,然后使用mathjax提供的javascript库来显示。
比如下文的这个公式(好像图片挂了),用mathjax的方法,生成如下:
$$\psi_{tot}(x,-t_0,r) = \frac{1}{(2\pi)^2} \int\!\!\!\int
\tilde\Psi_{tot}\left(k_x,\frac{c}{2}\sqrt{k_x^2 + k_r^2},r=0\right)$$


Linux下画图用gnuplot,数值计算有octave,符号计算推荐maxima,这几个软件嘛,只是在此一提,基本没用过。octave和maxima画图功能调用的是gnuplot。不知道gnuplot能不能画形如f(x,y)隐函数的?有待考察。octave可以用ezplot,maxima可以用implicit_plot来画隐函数。但这两函数都不保证能正常工作,可能隐函数复杂点就乱了。

Ubuntu 10.4 apt 安装的maxima是5.20.1版本,implicit_plot函数有bug。卸载后,下载maxima源码,下载clisp编译器,./configure ,make, sudo make install。maxima有很多前端,命令行下公式显示太丑,我使用maxima + emacs + imaxima 模式,imaxima.el文件都是maxima自己安装的。在.emacs配置文件中加入

(add-to-list 'load-path "/usr/local/share/maxima/5.25.0/emacs/")
(autoload 'maxima-mode "maxima" "Maxima mode" t)
(autoload 'imaxima "imaxima" "Frontend for maxima with Image support" t)
(autoload 'maxima "maxima" "Maxima interaction" t)
(autoload 'imath-mode "imath" "Imath mode for math formula input" t)
(setq imaxima-use-maxima-mode-flag t)
(setq imaxima-fnt-size "LARGE")

就可以 M-x imaxima 执行 imaxima 模式了。

在我这里,emacs(23.3.1) 与 maxima(5.25.0),按照上述配置好,提示latex error。通过以下两步修改后,可以正常显示。
  1. 修改imaxima.el文件。 搜索 "\n% mylatex \n",再前面添加两语句,改为
    ...
    "\\usepackage{color} \n"
    "\\usepackage{breqn} \n"
    "\n% mylatex \n"
  2. Imaxima uses breqn.sty. Get http://members3.jcom.home.ne.jp/imaxima/breqn097a.zip and unzip it to your /usr/share/texmf-texlive/tex/latex/ and run texhash.

没有评论:

发表评论