RE: [Doxygen-users] Understanding how Doxygen Documentation is ge nerated.
Brought to you by:
dimitri
From: Prikryl,Petr <PRI...@sk...> - 2002-03-11 16:11:48
|
Hi Bob, Bob Stafford wrote... > I'm trying to use doxygen to generate general documentation, > in the same way that is appears it is used to generate the > doxygen documentation itself, but I'm having some problems > understanding how this documentation is generated. > > In particular I have the following questions. > > 1. How is the doxygen manual divided into 3 parts. For > example Part I starts with the following heading > > Part I > User Manual > > Greping the doc directory in the doxygen source shows that > the only place this text occurs is in doxygen_manual.tex (A > latex file I believe). I've found nothing in the doxygen > documentation about using latex files as part of the source > for doxygen. So is this file generated by doxygen? If it is > generated by doxygen then where is the source that it used > to get the "Part I User Manual" text? The doxygen_manual.tex is not generated from doc sources. It is (probably) a hand-crafted file that can be found at doxygen/doc/ subdirectory. When you look inside the doxygen/doc/Makefile, you can see that the doxygen_manual.tex is processed by sed (replacing the version mark by the version information), and the result is placed into doxygen/latex/ subdirectory. The \part{} is the LaTeX command that produces the "Part I...". To summarize, the non-HTML documentation (i.e. DVI, PS, PDF) is generated via LaTeX sources, and the doxygen_manual.tex is the external file that defines how the pieces of the documentation should be put together. > 2. While trying to regenerate the doxygen documentation from > the doc directory, if I type make pdf in the ../latex > directory I get the following latex error. Do I need a > particular version of Latex. > > [59] > Underfull \vbox (badness 10000) has occurred while \output is active [60] > Underfull \hbox (badness 10000) in paragraph at lines 167--167 These are only warnings related to the typographical quality (basically, the line is shorter than it should be -- from the typography point of view; just ignore this). > > ) [61] (config.tex > > ! LaTeX Error: Environment multicols undefined. > > See the LaTeX manual or LaTeX Companion for explanation. > Type H <return> for immediate help. > ... > > l.25 \begin{multicols} > {2} > ? This means that you do not have multicols.sty installed in your LaTeX instalation. This package is required. > The make pdf command does work if I type it before doing the > doxygen Doxyfile command in the doc directory. I am not sure here, what Makefile is used in your case. But generally, the pdf is produced by ps2pdf from PS result, the PS is produced by dvips from DVI result, the DVI is produced by LaTeX from LaTeX sources, and the LaTeX sources are produced by doxygen from your C/C++/Java source files plus from your doc files (plus also from the doxygen_manual.tex). I guess that there may be some problem in the Makefile that is used in your case. (There are also alternative ways how PDF can be produced from LaTeX.) > 3. How do you generate different chapters. In my > documentation each /page ends up being a different > section in one big chapter. [...] As far as I know, the doxygen \page commands are transformed to LaTeX \section commands. This is fine for generating the "article" class of the document, which is used by doxygen when generating LaTeX output (see the \documentclass LaTeX command at beginning of the doxygen_manual.tex). The "article" document class knows nothing about chapters. The sections do not inject pagebreaks. If you want to inject a pagebreak into your LaTeX documentation, you can use the following sequence in your doxygen doc files: \latexonly \pagebreak \endlatexonly But you should know what you are doing from the LaTeX point of view. (The \latexonly and \endlatexonly are doxygen commands, the \pagebreak is the LaTeX comand.) On the other hand, doxygen generates refman.tex for your project documentation (instead of doxygen_manual.tex). The chapters are used for higher structure level than your \page level. In other words, the refman.tex uses the "book" document class where the \chapter{} LaTeX command can be used, but doxygen reserves the chapter level for other things. Hope this helps, Petr -- Petr Prikryl, Skil, spol. s r.o., (pri...@sk...) |