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

参考:http://blog.csdn.net/huangbo10/article/details/46801949

问题

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

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

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

分析

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

把公式都提取出来写到一个_formulas.tex文件里
这个文件先用LATEX编译成DVI格式
再由dvips转成PostScript格式
最后由gs(GhostScript)转成图片显示在网页里
上面的错误信息意思是在第2步遇到了问题。

解决

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

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

另一种方法就是也可以尝试使用mathjax,见:《 DOxygen for C++使用说明——添加数学公式》

使用doxygen生成的帮助文档,中文出现乱码的问题

参考:http://blog.csdn.net/hujian2008/article/details/16343489
今天使用doxygen工具生成帮助文档发现中文注释都是乱码。
然后根据网上的要求把
Exper>>Input>>INPUT_ENCODING:(输入文件的编码) UTF-8 改成 GBK 或者 GB2312
Exper>>HTML>>CHM_INDEX_ENCODING:(输出文件的编码) UTF-8 改成 GBK 或者 GB2312

但是改了之后发现连chm文件都没有生成。查看doxygen的输出窗口,发现这样一条报错:
E:/VCProject/LCD_Development_Kit_2008/LCD_Development_Kit/cHtmlEditor.cpp: failed to translate characters from GBK to UTF-8: check

INPUT_ENCODING

经过检查,这个文件是直接导入的开源类。原来VC2005会根据文件本身的编码方式来打开文件,也就是说,虽然VC的默认设置中新建一个文件是GB2312,但是如

果这个时候引入一个UTF-8的文件,VC也能识别出来而不会去改变它,除非是VC无法识别的文件编码格式。
在Tools>>Options>>Environment>>Documents 就有一个”Save documents as…”选项….好了,弄明白原因就好办了,言归正传。

解决办法:

修改对应文件编码。
1. 用vc打开报错的文件
2. File>>Advanced Save Options
将GB2312 936 改成 GB2312-80 20936 OK
然后保存文件就可以了,这个时候如果有无法转换的字符就会出现以下提示,

选择No就可以了。
3. 再次执行doxygen run 编译成功。
也可参考:http://blog.csdn.net/zhuangshn/article/details/5518672

doxygen问题集锦相关推荐

  1. Emacs Lisp 功能扩展集锦

    From 参考 Emacs Lisp 功能扩展集锦 session.el desktop.el ibuffer.el browse-kill-ring.el ido.el tabbar.el spee ...

  2. GitHub:TensorFlow、PyTorch最全资料集锦

    给各位小伙伴们推出几个深度学习框架的资料集锦,统一命名为:XXX-From-Zero-To-One.下面po一幅深度学习框架发展的重要历史点: 从上图可知,TensorFlow和PyTorch是目前深 ...

  3. LAMP 关键数据集锦技术选项参考

    LAMP 关键数据集锦技术选项参考 源自日积月累自己的其他人的经验总结 负载均衡 LVS 工作在四层,内核态,性能极高,有VIP功能,配合 keepalived 做有效的 心跳检查和负载均衡安装配置 ...

  4. HEAD元素使用集锦

    作者:火焰鸟    文章来源:大众网络报 HTML文档由两部分组成:Head(主题部分,一般来说是不可见的)和Body(正文部分,在浏览器中是可见的).随着FrontPage及Dreamweaver( ...

  5. Doxygen使用介绍

    Doxygen的主页为http://doxygen.nl/,它的license为GPL,最新发布版本为1.8.17,源代码存放在https://github.com/doxygen/doxygen,它 ...

  6. Unity 4.x游戏开发技巧集锦(内部资料)

    2019独角兽企业重金招聘Python工程师标准>>> Unity 4.x游戏开发技巧集锦(内部资料) 淘宝书店地址:http://item.taobao.com/item.htm? ...

  7. Centos系统上安装php遇到的错误解决方法集锦

    Centos系统上安装php遇到的错误解决方法集锦 1.configure: error: xml2-config not found. Please check your libxml2 insta ...

  8. 常用MySQL的命令集锦

    常用MySQL的命令集锦 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...

  9. VSCode自动生成Doxygen格式注释

    Doxygen Documentation Generator插件使用及配置 安装插件后,File–Preferences–Settings-- 中打开用户 setting.json文件 初步设置后如 ...

最新文章

  1. Landsat 8 OLI_TIRS 卫星数字产品
  2. 洛谷【P2257】YY的GCD
  3. 用户id生成规则_阿里/网易/美团/58用户画像中的ID体系建设
  4. java23中设计模式——行为模式——Memento(备忘机制)
  5. Python协程深入理解
  6. MachineLearning:UFLDL学习笔记 ---- 主成分分析与白化
  7. JAVA基础知识|进程与线程
  8. 提取HTML代码中的网址
  9. 为了方便手机观看,博文最好36个字一行
  10. RHEL AS 5 安装MYSQL
  11. 交叉火力dsp手机调音软件_DSP680AM调音软件下载
  12. windows自带录屏_电脑版免费的录屏软件有哪些?
  13. 计算机c 逻辑符号,c语言基本符号
  14. AM信号的调制与解调
  15. 微信小程序 - 公农历通用时间选择器组件
  16. Python+Appium实现京东双十一自动领金币
  17. Xshell vim使用右侧数字键盘时数字变成英文字母的解决办法
  18. 完全二叉树和满二叉树
  19. jQuery for Web Designers Web开发jQuery教程 Lynda课程中文字幕
  20. 市场调研-环保型烟花市场现状及未来发展趋势

热门文章

  1. NSTimer不准确与GCDTimer详解
  2. d3.js 制作简单的俄罗斯方块
  3. Spring---基于Spring IOC的小程序
  4. caffe 中的一些参数介绍
  5. 被流氓360设置浏览器主页的解决办法(如果你也遇到了跟我一样的问题,不妨看一下是不是这个原因)...
  6. Visual Studio 常用快捷键 (二)
  7. 钩子函数和回调函数的区别
  8. jQuery --- 简单操作合集
  9. 激光炸弹(BZOJ1218)
  10. 深入浅出NIO之Selector实现原理