コンピュータービジョン(主にc ++で書かれた)の分野でのプロジェクト、モジュール、およびライブラリのコレクションのドキュメントを準備したい。このため、私はOpenCVのドキュメントを調べました。ご存知かもしれませんが、OpenCV2.4.xのドキュメントは Sphinx そしてそれは私が求めていた正確な解決策でした。 Sphinxの素晴らしい機能は次のとおりです。
しかし、私はOpenCV3.0のc ++バージョンが Doxygen に基づいて文書化されていることに気付き、なぜかわかりません! Sphinxほど面白くないからです。 Doxygenがコードをコンパイルしてコメントを抽出できることは知っています。これは便利な機能です。 breatheなどのライブラリがあり、Doxygenとスフィンクス。
今私の質問は:
この回答は、質問のポイント2に対応しています。
はい、doxygenは部分的にそれらの機能を備えています。
たとえば、次の2行は、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は、コメントブロックに直接含めることができる多くの 通常のhtmlコマンド もサポートしています。
私はOpencvマニュアルを作成する以外にSphinxの経験はありませんが、Doxygen(私が日常的に使用しています)について追加できることは、それが本当に柔軟であることですが、これが常に最良の選択であるとは限りません。ページが乱雑になる可能性があり、コメントの追加コードが不適切に設計されている場合、邪魔になる可能性があります。
完全を期すために、(もちろんDoxygen Webサイト以外に)doxygenができることの最も優れたショーケースの1つは Eigenライブラリ です。見てください。