我想为计算机视觉领域的项目,模块和库集合准备一份文档(主要用c ++编写)。为此,我查看了OpenCV文档,您可能知道OpenCV 2.4.x文档基于Sphinx,这是我寻求的确切解决方案。 Sphinx的优点是:
但我意识到基于Doxygen记录了OpenCV3.0的c ++版本,我不知道为什么!因为它没有Sphinx那么有趣。我知道Doxygen可以编译你的代码并提取你的评论,这是一个有用的功能。我也知道有些库(如呼吸)可以作为Doxygen和Sphinx之间的桥梁。
现在我的问题是:
这个答案解决了你问题的第2点。
是的,doxygen部分具有这些功能。
例如,下面的两行将在html和latex生成的输出中添加相同的图像:
\image latex my_image.png "My image" width=10cm
\image html my_image.png "My image" width=10cm
我想我记得在html中,标题和宽度被忽略了?但是Doxygen非常灵活,所以如果上面的命令还不够,你可以将它们添加为html代码:
<img src="my_image.png" ...additional html attributes...>
Doxygen还支持很多regular html commands,您可以直接在评论栏中添加。
除了构建Opencv手册之外,我没有使用Sphinx的经验,但我可以添加的关于Doxygen(我日常使用的)是它非常灵活,但这并不意味着它始终是最佳选择。页面可能会混乱,如果评论附加代码设计不当,它可能会阻碍你。
为了完整性,一个最好的展示doxygen可以做什么(当然除了Doxygen网站),是Eigen library。看一看。