DOxygen for C++使用说明——添加数学公式

来源:互联网 发布:金融大数据应用案例 编辑:程序博客网 时间:2024/05/29 11:41

$\mbox{\LaTeX}$ 公式

Doxygen允许你把$\mbox{\LaTeX}$ 公式显示在最终的输出中(这个功能仅限于HTML和$\mbox{\LaTeX}$输出).为了可以在HTML documentation显示公式(转化为图片),你必须安装以下软件:

  • latex:  $\mbox{\LaTeX}$ 编译器, 被用来解析公式, 首先提取公式写到一个_formulas.tex文件里,再用$\mbox{\LaTeX}$编译成DVI格式.
  • dvips: 转化DVI文件到 PostScript.
  • gs:  GhostScript 转换PostScript 文件为 bitmaps.这样就可以显示在网页了。

以上三个软件可以单独安装,可参考<<Including formulas>>,不过我是在windows环境下使用的,实际上只需要装一个CTEX程序,以上三个软件均会被装上。

对于HTML输出,还有一种办法就是使用MathJax,它不要求以上工具。如下图,我们选取USE_MATHJAX即可。


使用公式有三种方法:

  1.   使用行内公式,即在文本之间使用公式。这些公式将被放在一对 \f$ 之间。
     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$.
    显示为:The distance between $(x_1,y_1)$ and $(x_2,y_2)$ is $\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$
  2. 使用行间公式,即公式单独成一行 。这些公式将被放在一对 \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三个包即可。

效果:

我在libtest的test-helper.h使用了数学公式,可以查看效果。

参考文献:

1.《Doxygen Including formulas》

2.《 使用doxygen排版数学公式出错的解决方法

0 0
原创粉丝点击