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

原创 2015年07月08日 12:39:06

问题

今天玩了一下doxygen,碰到一个问题

! Undefined control sequence.
l.77 $ y_{\mbox{test}} = \mathbb
                                {E}[y_{\mbox{train}}] = x $
? 
! Emergency stop.

这时候打开生成的网页,所有应该是公式(图片)的地方都只有LATEX代码。

分析

doxygen对代码注释中LATEX公式的处理方法是:

  1. 把公式都提取出来写到一个_formulas.tex文件里
  2. 这个文件先用LATEX编译成DVI格式
  3. 再由dvips转成PostScript格式
  4. 最后由gs(GhostScript)转成图片显示在网页里

上面的错误信息意思是在第2步遇到了问题。

解决

我把上面的公式拎出来用自己的模板编译了一下发现没什么问题,说明LATEX工作是正常的。Google+查阅日志之后发现doxygen调用LATEX的时候默认仅调用了epsfig、graphicx、keyval、graphics、dvips等几个基本的包,其他如amsmath这种常用的包都没有调用。所以如果要排版数学公式的话需要手动把需要的包加进来。

在Linux环境下直接修改doxygen的配置文件即可,在windows下需要通过图形界面,在Expert->LaTeX->EXTRA_PACKAGES填入amsmath、xr、amsfonts三个包即可。

相关文章推荐

Vim编程下自创Makefile模板

前言        一直都对Linux和Vim情有独钟,其实windows也很不错,因为工作上难免有些情况只能使用windows进行开发,包括有些API或者SDK都只有windows版本,只是用Lin...

梯度下降-Momentum

总结: 梯度下降算法中,学习率太大,函数无法收敛,甚至发散,如下图。学习率足够小,理论上是可以达到局部最优值的(非凸函数不能保证达到全局最优),但学习率太小却使得学习过程过于缓慢,合适的学习率应该是...

Word2013 图片或数学公式显示不全解决方法

嵌入式的图片有时只显示部分,原因多是行距为固定值,调整行间距为单倍行距或其他,即可。...
  • zhaizu
  • zhaizu
  • 2015年03月12日 16:21
  • 6574

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

参考文献: 1.《Doxygen Including formulas》 2.《 使用doxygen排版数学公式出错的解决方法》...

Latex 排版技巧 1——数学公式对齐

在我们排版数学推导式时,很多时候我们希望能够让公式的等号对齐这样更接近人的数学推导习惯如下图效果图使用 begin{aligned} end{aligned将所需对齐的数学公式代码块包起来即可代码如下...

html/css排版一些简单的数学公式

最近做H5应用,遇到了一个棘手的问题,怎么在网页上排版中学题目。问题关键在于,现在的中学题目,具有太丰富的形式,在网页设计的时候,有许多情形要考虑,列几条: - 题目篇幅太长,一般还带有阅读材料,主...

关于数学公式输入中括号的换行问题 的两种常用方法

LaTeX最为擅长的就是数学公式的精彩输出,美观,漂亮。但是大公式的处理是很多用户比较棘手的问题,比如下面这个问题, 通常我们输入的大公式,主要有两种情况比较难处理: 1、因为长的分式,比如一个非...

Web数学公式提取方法的研究

  • 2012年05月07日 10:03
  • 3.72MB
  • 下载

Markdown中插入数学公式的方法

Markdown中插入数学公式的方法
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用doxygen排版数学公式出错的解决方法
举报原因:
原因补充:

(最多只允许输入30个字)