使用Doxygen生成全中文的chm、pdf帮助文档的方法

所属分类: 软件教程 / 其他工具 阅读数: 938
收藏 0 赞 0 分享

下载和安装 Doxygen

Doxygen 官网 下载最新的Doxygen安装程序,然后安装。这个软件包包括了一个GUI界面的前端工具,可以帮助我们方便创建Doxygen配置文件和生成目标文档。

下载和安装 chm 编译器

我们使用微软古老的 HTML Help Workshop 1.3,这个软件N久没更新了。

下载地址: 微软官网

下载后根据提示安装。

项目一般设置

首先在“Wizard”标签的Project项进行如下设置:

这里写图片描述

项目名称:将在最新的文档首页中显示
源码列表:选择要生成文档的源代码或目录,可以有多个文件或目录形成一个列表。建议使用相对路径,相对于当前目录(也即当前配置文件所在的目录)
递归扫描:如果需要对整个源码目录下的所有子目录及文件生成文档,请勾选本项
输出目录:设置最终生成的帮助文档的存储路径,建议使用相对路径

下一步,
Mode项,根据需要设置文档生成模式。

这里写图片描述

下一步,Output项,设置输出格式,
勾选HTML和“prepare for compressed HTML(.chm)”

这里写图片描述

然后切换到“Expert”标签的“HTML”项,设置HTML和CHM相关的选项:

这里写图片描述

这里写图片描述

GENERATE_HTMLHELP:确保已经勾选了
CHM_FILE:最终生成的.chm的文件名,如“HkcProjectHelp.chm”。默认为“index.chm”。可以使用路径,也可以使用相对路径,相对于上面设置的输出目录的html目录(建设使用上一级目录,如“..\MyDoc.chm”)
**HHC_LOCATION:**chm 编译器(hhc.exe)的全路径。请指到 HTML Help Workshop 的安装目录的 hhc.exe 程序
**CHM_INDEX_ENCODING:**chm索引文件编码,下面会讲到,这里填“GBK”

编码设置
编码设置很重要,如果设置不当,生成的文档会出现乱码。因为 Doxygen 汲及的东西多,有好几项编码设置,所以需要认真对待,根据项目的实情情况设置。

所有高级设置(包括编码设置)都在“Expert”标签,重要的设置项如下:

Project/DOXYFILE_ENCODING:当前 Doxygen 配置文件本身的字符编码,默认为UTF-8,一般不需要修改
Project/OUTPUT_LANGUAGE:输出语言。这里是指Doxygen自己生成的导航、提示、帮助等文本的文字采用的语言。我们希望帮助文档是全中文的,所以选择Chinese
Input/INPUT_ENCODING:输入文件的编码。这里是指我们的源代码文件本身的编码。在Windows平台一般是系统编码(GBK),而Linux平台一般是UTF-8。请用文本编辑器查看源文件的编码。这里如果设置的不一致,源码文件的注释中所有非ASCII字符将在生成的文档中变成乱码。
HTMP/CHM_INDEX_ENCODING:这里设置Doxygen生成的CHM索引文件的编码,以前是不能设置的,默认为UTF-8,而微软的编译器不能识别UTF-8编码的索引文件,所以最终造成左边目录导航栏乱码。我们设置它为GBK,这样Doxygen将为我们生成GBK编码的索引文件(.hhc、.hhk、.hhp)

生成CHM文档

设置好了后,点击“Run”→“Run doxygen”生成最终的.chm文档,如果设置正确,打开后是全中文的了。 

使用doxygen生成中文pdf文档

作者:zyl910

  众所周知,能够利用doxygen生成pdf文档——但是,如果其中含有中文的话,那就会遇到一大堆问题无法顺利输出。我花了很长时间摸索,最终找到了让doxygen顺利生成中文pdf的办法。

  系统环境——
1) Mac OS X Lion 10.7.5 + MacTeX-2012 。
2) Windows XP SP3 + CTeX 2.9.2.164 。

一、原理解释
  doxygen本身并不能直接输出pdf文件,而是生成了latex目录,其中有一个 makefile 文件。若系统中装好了pdflatex,可在latex目录中运行“make”命令来生成pdf文件。
  怎样才能装好pdflatex呢?mac平台可安装MacTeX,windows平台可安装CTeX。

  环境装好之后,当在latex目录中运行“make”命令来生成pdf文件时会发现——纯英文文档能顺利生成pdf;而含有中文时,不能顺利生成pdf文件。

  对于latex排版,doxygen其实已经做了很多准备,比如——源文件是UTF-8编码,并默认使用了utf8 package。理论上是支持多国语言的。
  可对于中文来说,还需要加载 CJKutf8 package,并配置好CJK环境。这才能顺利的使用中文。

二、解决方案
  具体步骤——
1) 使用docxygen生成文档,注意选上 GENERATE_LATEX 、LATEX_OUTPUT、USE_PDFLATEX(最好还选上 PDF_HYPERLINKS);

2) 用文本编辑器打开docxygen生成的latex目录中的refman.tex。找到“\begin{document}”这一行,将其修改为——

\usepackage{CJKutf8} 
\begin{document}
\begin{CJK}{UTF8}{gbsn} 

然后再找到“\end{document}”这一行,将其修改为——

 

\end{CJK} 
\end{document} 

保存,关闭。

3) 打开终端,使用cd命令进入latex目录,然后执行“make”命令。执行完毕后后,该目录中会出现“refman.pdf”——

我在 mac + MacTeX 环境下make时,能完美生成带书签的pdf。
  而在 win + CTeX 环境下make时,其中还会弹出一堆错误(输入r再回车,可忽略后续错误),但是最终还是能够生成中文的pdf,可惜一般不能顺利的构造好书签。

更多精彩内容其他人还在看

UG怎么进入退出草图?

UG怎么进入退出草图?UG绘制零件图纸很简单,该怎么进入图纸he退出图纸呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

石青分类信息群发工具怎么使用?石青分类信息群发工具图文使用教程

石青分类信息群发工具怎么使用呢?初次使用石青分类信息群发工具的用户可能不知道怎么使用,下面小编就为大家具体的讲解石青分类信息群发工具的使用方法,快来试试吧
收藏 0 赞 0 分享

UG怎么设置草图尺寸? UG草图尺寸的编辑方法

UG怎么设置草图尺寸?ug绘制零件图纸的时候,首先需要知道该怎么设置草图尺寸,这是基础知识,下面我们就来看看UG草图尺寸的编辑方法,需要的朋友可以参考下
收藏 0 赞 0 分享

XShow图文编辑软件怎么使用?XShow图文使用教程

XShow图文编辑软件怎么使用呢?XShow是一款专为卡乐led显示屏打造的控制软件,下面小编就为大家具体的讲解XShow图文编辑软件的使用方法
收藏 0 赞 0 分享

BarTender条码打印怎么设置条码随文本数据的变化?

BarTender条码打印怎么设置条码随文本数据的变化?BarTender中想要让条码随文本数据的变化而产生变化,该怎么设置呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

UG NX怎么画渐开线?

UG NX怎么画渐开线?ug中绘制零件图纸的时候,经常想要使用渐开线,今天我们就来看看渐开线的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

UG NX怎么绘制正弦规律曲线?

UG NX怎么绘制正弦规律曲线?在解数学题的时候我们经常能见正弦曲线,但是想使用ug绘制正弦曲线该怎么绘制呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

如何使用考拉宝下载优酷网视频?考拉宝图文使用教程

考拉宝怎么使用呢?最近有用户反映不知道如何使用考拉宝下载优酷网的视频,下面小编就为大家具体的讲解如何用考拉宝下载优酷网搞笑视频的方法,需要的用户快来试试吧
收藏 0 赞 0 分享

SWFText简单制作flash动画

做简单Flash动画其实很简单,不会用到专业的制作工具,也不需要你懂得什么制作技术,只需要用到一款名叫SWFText的傻瓜级Flash小工具,下面小编就为大家介绍一下,来看看吧
收藏 0 赞 0 分享

Endnote参考文献管理软件怎么将数据库建到百度云?

Endnote参考文献管理软件怎么将数据库建到百度网盘?搞科研的朋友创作的时候,最重要的资料就是参考文献,怎么将参考文献保存到百度云管家中备份呢?请看下文详细介绍
收藏 0 赞 0 分享
查看更多