?公式
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?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$.
?and?
?is?
.?
- 使用行間公式,即公式單獨成一行 。這些公式將被放在一對?\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排版數學公式出錯的解決方法》