Ответ 1
В этом ответе указан пункт 2 вашего вопроса.
Да, Doxygen частично имеет эти функции.
- У вас могут быть математические формулы, которые могут отображаться либо при локальной установке Latex, либо в MathJax, в библиотеке рендеринга javascript. Как и в случае с латекс, они могут быть либо "встроены" в текст, либо как отдельный блок в текстовом потоке.
- Он также включает поисковую систему.
- Вы можете легко включить изображения.
Например, две приведенные ниже строки добавят одно и то же изображение как в html, так и в латексном выражении:
\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, которые вы можете напрямую включить в свой блок комментариев.
У меня нет опыта работы с Sphinx, кроме создания руководства Opencv, но то, что я могу добавить о doxygen (которое я использую изо дня в день), состоит в том, что он действительно гибкий, но это не значит, что он всегда лучший выбор. Страницы могут стать загроможденными, а если дополнительный код комментария плохо разработан, он может помешать вам.
Для полноты одной из лучших демонстраций того, что может сделать Doxygen (помимо веб-сайта Doxygen), является