公式
Doxygen允许你把 公式显示在最终的输出中(这个功能仅限于HTML和输出).为了可以在HTML documentation显示公式(转化为图片),你必须安装以下软件:
latex:
编译器, 被用来解析公式, 首先提取公式写到一个_formulas.tex文件里,再用编译成DVI格式.dvips:
转化DVI文件到 PostScript.gs:
GhostScript 转换PostScript 文件为 bitmaps.这样就可以显示在网页了。
以上三个软件可以单独安装,可参考<<Including formulas>>,不过我是在windows环境下使用的,实际上只需要装一个CTEX程序,以上三个软件均会被装上。
对于HTML输出,还有一种办法就是使用MathJax,它不要求以上工具。如下图,我们选取USE_MATHJAX即可。
使用公式有三种方法:
- 使用行内公式,即在文本之间使用公式。这些公式将被放在一对 \f$ 之间。
显示为:The distance between and is .The distance between \f$(x_1,y_1)\f$ and \f$(x_2,y_2)\f$ is \f$\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\f$.
- 使用行间公式,即公式单独成一行 。这些公式将被放在一对 \f[ 和\f]之间 。
显示为:\f[|I_2|=\left| \int_{0}^T \psi(t) \left\{ u(a,t)-\int_{\gamma(t)}^a \frac{d\theta}{k(\theta,t)}\int_{a}^\theta c(\xi)u_t(\xi,t)\,d\xi\right\} dt\right|\f]
3. 使用environment,至于什么是environment,可以查询Latex的语法。语法是以 \f{environment}开始,以\f}结尾.
\f{eqnarray*}{g &=& \frac{Gm_2}{r^2} \\ &=& \frac{(6.673 \times 10^{-11}\,\mbox{m}^3\,\mbox{kg}^{-1}\,\mbox{s}^{-2})(5.9736 \times 10^{24}\,\mbox{kg})}{(6371.01\,\mbox{km})^2} \\ &=& 9.82066032\,\mbox{m/s}^2\f}
显示为:
Note:
有时候我们在编译Latex公式时需要某些包支持,而Doxygen调用Latex时仅仅调用了epsfig、graphicx、keyval、graphics、dvips等几个基本的包
其他如amsmath这种常用的包都没有调用。所以如果要排版数学公式的话需要手动把需要的包加进来。
在Linux环境下直接修改doxygen的配置文件即可,在windows下需要通过图形界面,在Expert->LaTeX->EXTRA_PACKAGES填入amsmath、xr、amsfonts三个包即可。
其他如amsmath这种常用的包都没有调用。所以如果要排版数学公式的话需要手动把需要的包加进来。
在Linux环境下直接修改doxygen的配置文件即可,在windows下需要通过图形界面,在Expert->LaTeX->EXTRA_PACKAGES填入amsmath、xr、amsfonts三个包即可。
效果:
我在libtest的test-helper.h使用了数学公式,可以查看效果。
参考文献:
1.《Doxygen Including formulas》
2.《 使用doxygen排版数学公式出错的解决方法》