From: wolf
In order to extract documentation from the header files of the
- project, we use a modified version of
- kdoc,
- written by Sirtaj Singh Kang,
- which is one of the documentation tools of the
- KDE
- project. It requires that documentation is written in a form which
+ project, we use
+ doxygen.
+ It requires that documentation is written in a form which
closely follows the
- JavaDoc standard, with some small additions which we will
- explain below. The patched version of kdoc is included into the
- library and can be found in the
-
- Alternatively, one can use
- Doc++ to
- create a LaTeX document from the sources which can then be
- printed. Due to the size of the resulting file (at present 2000+
- pages, with tendencies to further growth), you will not want to do
- that regularly, though.
+ JavaDoc standard.
Basically, every declaration, whether class or member
- function/variable declaration, may be preceded by a comment of the
- following form:
+ function/variable declaration, global function or namespace, may
+ be preceded by a comment of the following form:
- There is one exception to the rule that every member can be
- documented separately: due to internal restrictions of the
-
- In order to allow better structured output for long comments, we
- have extended kdoc to understand the following
- tags inside comments, which are partly borrowed from LaTeX like
- languages:
-
By writing comments like the following,
- Likewise, you can get numbered lists by using the tags
-
One would often like to use a typewriter font for variable,
- function, or class names. For this, the
- As a convention, we always enclose variable and function
- names into
- To generate output in italics, use the
- Sections can be generated using deal.II/contrib/kdoc
directory.
-
- kdoc will then generate a page for the class
+ doxygen will then generate a page for the class
/**
@@ -112,42 +97,29 @@
};
TestClass
and document each of the member functions
and variables. The content of the @author
tag will be
included into the online documentation of the class.
kdoc2
tool by which the documentation is generated,
- elements of en enumeration type (i.e. an enum
object
- in technical terminus) may not be documented right above their
- declaration, but must be documented atop of the enum
- declaration. (This is due to the fact that inside enums,
- kdoc2
does not parse the elements separately at
- present, but rather the whole enum as one.)
- Extended Layout
-
you can get itemized lists both in the online and printed
@@ -159,9 +131,9 @@
/**
- * @begin{itemize}
- * @item foo
- * @item bar
- * @end{itemize}
+ *
+ *
*/
@begin{enumerate}
and
- @end{enumerate}
along with @item
s.
+ In other words, one can use standard HTML tags for this
+ task. Likewise, you can get numbered lists by using the
+ respective HTML tags <ol>
.
you will get the lines between the verbatim environment with
@@ -194,47 +166,37 @@
/**
- * @begin{verbatim}
+ * @verbatim
* void foobar ()
* {
* i = 0;
* };
- * @end{verbatim}
+ * @endverbatim
*/
@p{...}
- tag is used, which generates output in which the content
- inside the braces is set in typewriter font.
+ function, or class names. For this, the @p
+ one_word_without_spaces
tag is used, which generates
+ output in which the single word after the tag is set in
+ typewriter font. If you want to put multiple words into
+ typewriter font, then enclosing them in the HTML
+ <tt>
is the way to go.
@p{...}
in order to give them a visible
+ As a convention, we always write variable and function
+ names as @p name
in order to give them a visible
distinction.
@em{...}
tag.
+ To generate output in italics, use the @em
+ one_word_without_spaces
tag.
@sect1{...},
- @sect2{...}, @sect3{...}, @sect4{...}
tags. We don't
- normally use @sect1{...}
as it produces section
- titles that are overly large compared to the rest of a page.
+ Sections can be generated using @section TAG Section_name,
+ tag. Here,
TAG
is a symbolic name for the
+ section, which can be used for cross references.
- We are considering switching to DocBook SGML instead of Latex for - printed output. At present, printing of some documentation, most - notably the example programs is not really supported, and we - consider ways to convert them to SGML along with most other - documentation, since SGML is readily convertible into many other - formats, for example Postscript. -
- - -