Doxygen and external dot file. - doxygen

I want to include an external dot diagram to my doxygen documentation -- in \mainpage My Personal Index Page. How would I go about it?
Would I include it as an attached png or can I have doxygen generate the diagram itself?

You can use the \dotfile command to reference a dot file from inside a doxygen comment block.
Doxygen will run dot and include the resulting image in the generated documentation.
See http://www.doxygen.nl/manual/commands.html#cmddotfile for more info.

Related

how to link to plantuml diagram in doxygen?

I'd like to add some UML diagrams to my *.dox document, with these requirements:
I'd like to include plain PlantUML document, without doxygen tags in it.
I want it as link to image in my final document, instead of having it on the main page directly.
How can I achieve this goal?
To achieve first requirement try using Plantuml preprocessing. Like this:
/**
* #startuml
* !include my_diagram.txt!0
* #enduml
*/
Second requirement, as I know, is not supported by Doxygen so far.
I believe this is currently not possible, there is no command similar to #dotfile, #mscfile or #diafile which does this for dot, msc or dia source files. But if you want to reuse the same diagram in different pages of the documentation you can let doxygen generate a png file from the code and just include the png file:
\startuml [{file}] ["caption"] [<sizeindication>=<size>]
e.g.:
#startuml{myimage.png} "Image Caption" width=5cm
I did not try this, but this way you might workaround this, you could create an extra page in a .h, .dox or .txt file containing a doxygen comment, where you put all your diagrams in. From this file doxygen generates the png files. Those png files you might embed using the #image command.

Include an external .md file in a docblock?

There are doxygen commands #include, #htmlinclude, #verbinclude and the rest of the family. Each of them is equivalent to inlcuding the file inline and surrounding it with a pair of start and end tags like #code, #htmlonly, #verbatim etc.
For the life of me, I cannot find the doxygen command equivalent to just pasting a markdown file into the docblock without surrounding it with any tags that modify the interpretation of the included fragment.
Is this possible? How?

Include *prewritten* documentation in Doxygen

To distinguish this question from Doxygen: Adding a custom link under the "Related Pages" section which has an accepted answer that is not a real answer to the question, I specifically add prewritten to the question.
What I want:
Write one document tex file (without preamble, since this file will be \input-ed into a full document)
Import the document into Doxygen's HTML output.
Using Doxygen to produce tex file will probably not work, since it does too much layout work [This holds for its HTML output too like empty table rows 2015]. If Doxygen takes some other input that can easily be transformed into LaTeX, that will do.
You can easily add an already existing Latex file to your doxygen documentation using \latexonly\input{yourfile}\endlatexonly.
I would assume you put it e.g. under a doxygen \page.

Get class hierarchy dot file from doxygen

Doxygen generates a nice class hierarchy for my project using graphviz. But I now want to add manual annotations to that graph. For that I need to edit the DOT file. However doxygen doesn't seem to output that file anywhere. It only outputs a .map file and the .png image.
How do I get doxygen to give me the dot file? I checked their documentation, but couldn't find any way to achieve it. Surely doxygen has to produce the dot file at some stage?
If you set DOT_CLEANUP to NO in doxygen's configuration file, doxygen will not remove the .dot files.

Doxygen \cite producing empty bibliography

I'm trying to use \cite in Doxygen to produce a bibliography page and also a reference within my text. I have bibtex in my search path and a proper .bib file. I have added the .bib file to CITE_BIB_FILES and am using a proper BibTex label found in the .bib file. Doxygen is creating a bibliography page, but it is empty. It is also creating a citation link in the documentation text, but the link is also empty. Any idea how I can get the citation info displayed?
I was facing the same problem. There is an perl dependency to generate citation. So you must have both perl and bibtex in the system path.
Ignore the example above, that only applies to Latex, for doxygen use (Note: no braces):
\cite Hale
The .bib file has to be located in doxygen working directory.
Bibliographic References HTML page will be then produced by doxygen with:
[1]J. K. Hale. Theory of functional–differential equations. Springer–Verlag, Berlin–Heidelberg–New York, 1977.
for the following bib entry:
#BOOK{Hale,
author = "J. K. Hale",
title = "Theory of functional--differential equations",
publisher = "Springer--Verlag, Berlin--Heidelberg--New York",
year = 1977
}
In order for \cite to work properly you need:
be sure to put your file.bib in the working directory where you call doxygen Doxyfile
bibtex executable must be in the search path
perl executable must be in the search path
the RefName used in \cite RefName must have a corresponding entry in file.bib
Maybe a little late, but I had the same problem. Doxygen generated a bibliography for LaTeX output, but not for HTML output and none of the proposed answers worked for me.
As suggested by #Raffi, this seems to be a bug in Doxygen < 1.8.3. I used Doxygen 1.8.1.1 and it did not work. Then I installed Doxygen 1.8.3.1 without changing anything else and it worked fine.
When you set CITE_BIB_FILES in DoxyFile did you include the .bib extension on the filename?
Doxygen claims it will automatically add the .bib extension, but if you omit it doxygen seems to gets confused and doesn't generate the citelist.doc file properly.
Include .bib in the filename and it should work fine, at least that is the case for me.
In order to create a bibliography you need to instal Perl, and add it to the search path, along with bibtex. In the documentation
for CITE_BIB_FILES it says:
"The CITE_BIB_FILES ... To use this feature you need bibtex and perl available in the search path ... "