zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

作者: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,可惜一般不能顺利的构造好书签。

 

参考文献——
MacTeX: http://www.tug.org/mactex/
CTeX: http://www.ctex.org/
《如何利用doxygen生成pdf文档》. David(bichenggui), 2009-04-22. http://blog.csdn.net/bichenggui/article/details/4101294
《如何在 Mac OS X 上裝設 LaTeX 以及 CJK 套件 (TeX Live 2007)》. 元智光電所元件物理暨檢測實驗室, 2009-03-06. http://exciton.eo.yzu.edu.tw/~lab/latex/install_cjk.html
《linux latex 中文解决办法(CJKUTF8)--超简单》.learningloong, 2011-08-31. http://learningloong.blog.163.com/blog/static/16230812420117318720817/
《Kile下使用CJK中文字体的简单方法》. 风临海岸, 2011-10-10. http://my.opera.com/adoskk/blog/2011/10/10/kile

posted on 2013-06-02 23:46  zyl910  阅读(13597)  评论(0编辑  收藏  举报