Рисование блок-схем теории управления с помощью Doxygen

#c #latex #doxygen

#c #Латекс #doxygen

Вопрос:

Я работаю над проектом C в области автоматизации, который я хотел бы начать документировать. Я скорее решил для Doxygen. Но, помимо документирования определенных полей данных и рисования UML-диаграмм иерархии классов, я хотел бы задокументировать функциональные возможности нескольких методов с помощью блок-схем, подобных этой: введите описание изображения здесь

Каковы решения?

Я знаком с LaTeX. Я читал, что Doxygen имеет некоторую поддержку LaTeX, но я не знаю, как далеко это заходит. Можно ли использовать какой-либо пакет LaTeX в Doxygen? Какие конкретные пакеты вы бы порекомендовали, и не могли бы вы также привести несколько простых примеров?

Я также открыт для рекомендаций, отличных от Doxygen.

Комментарии:

1. Если вы хотите сделать это в LaTeX, вы можете создавать диаграммы, подобные приведенной выше, в TikZ. Если это ваш интерес, либо отметьте для миграции на tex.stackexchange.com или поищите в нем похожие вопросы.

2. Я думаю, что поддержка LaTeX в Doxygen больше связана с вводом математической формулы, и, возможно, GraphViz здесь больше подходит (отказ от ответственности: я не использую Doxygen и не знаком с ним).

3. Это выглядит очень интересно. Я создал инструмент, который генерирует код из визуального представления. memention.com/designer Я бы с удовольствием послушал, что вы думаете.

4. Спасибо за комментарии. В конце концов я начал изучать TikZ, который, похоже, обладает огромными возможностями. Я также читал о языке dot, который поддерживается Doxygen, но я думаю, что он подходит только для рисования графиков, а не блок-схем.

Ответ №1:

Если речь идет только о документировании структуры систем управления, переменных и т. Д., Вы можете сгенерировать диаграмму в другом месте (например, Dia, XFig или Inkscape, если вы хотите использовать инструменты с открытым исходным кодом) и встроить их в документацию Doxygen с помощью ключевого слова image из вашего кода:

 /*!
.. Doxygen doc here..
image html Data_Model.png "Figure 1: UML Diagram of the Data Source and Data Model Relationships"
*/
  

Для этого вам нужно указать Doxygen в файле Doxyfile, где искать изображения, и разместить изображения относительно вашего пути doxygen (в данном случае DOCROOT / images):

 # The IMAGE_PATH tag can be used to specify one or more files or 
# directories that contain image that are included in the documentation (see 
# the image command).

IMAGE_PATH             = images
  

Использование расширений latex или других графических разметок, управляемых языком, для генерации графиков из Doxygen doc, по-моему, не оправдывает накладные расходы на изучение языка, настройку и выравнивание цепочки инструментов. С другой стороны, если у вас уже есть какой-либо инструмент, который автоматически генерирует график (из вашего кода или файла конфигурации), запустить инструмент из Makefile должно быть легко, пусть он генерирует изображение и вставляет изображение в ваш doxygen doc с помощью ключевого слова image .