Doxygen DITA Edition Quick start

Doxygen can be configured to generate HTML, DITA, Latex, RTF, MAN and XML. The doxygen DITA Edition has been created to produce DITA XML. The DITA produced by the DITA Edition is a specialised form of DITA defined by the DITA C++ APIREF specialisation.

Set Up

Put the doxygen.exe on the system path.

Doxygen will use any config.dox that is in the current directory by default. To use another, specify the location on the command line.

doxygen myconfig.dox

To make doxygen DITA edition output DITA set GENERATE_XML_DITA to YES in the configuration file.

A sample configuration file is supplied.

Changing the output format

Using the DITA specialisation DITA is the default output format. To output other formats see the Doxygen configuration guide and change the configuration settings to output different types of document.

Table 1. Configuration options and generated output. These configuration options can have the value YES or NO only. To generate options change their corresponding values to YES and all the others in this list to NO.
Doxygen Output | Configuration Option | Default value
HTML | GENERATE_HTML | NO
Latex | GENERATE_LATEX | NO
RTF | GENERATE_RTF | NO
MAN | GENERATE_MAN | NO
XML | GENERATE_XML | NO
DITA | GENERATE_XML_DITA | YES
Attention: Some output formats take longer to generate than others. It is recommended that no more than two different formats are generated at the same time and, if possible, build only what you require or build overnight.


Examples

This is a brief description of what can be expected in the DITA output.

Note: Other output formats will greatly differ from the DITA output as not all tags have been implemented in the C++ DITA specialisation so far. See the Supported Doxygen Commands document for a list of commands supported in the DITA output. It is recommended that only supported commands are used when writing in source comments destined to go into DITA output.

code and endcode

Use \code and \endcode to enclose code examples.

In Source
\code
if ( firstEnabled == -1 )
    firstEnabled = ii ;http://lohdr001.europe.nokia.com/
if ( aPlugInArray[ii]->DisplayName().FindF( aPreferredSupplier ) == KErrNotFound )
    aPlugInArray[ii]->SetDisabled( ETrue ) ;
else
    matchCount++ ;
\endcode
DITA Output
<codeblock>if ( firstEnabled == -1 )
    firstEnabled = ii ;http://lohdr001.europe.nokia.com/
if ( aPlugInArray[ii]->DisplayName().FindF( aPreferredSupplier ) == KErrNotFound )
    aPlugInArray[ii]->SetDisabled( ETrue ) ;
else
    matchCount++ ;</codeblock>

leave

A \leave tag is transformed into two seperate paragraphs, one that contains the text "leave" and another that contains the content after the \leave tag.

In Source
\leave KErrNoMemory - insufficient free memory for object creation when decoding parts
DITA Output
<p><b>leave</b></p>
  <p>KErrNoMemory - insufficient free memory for object creation when decoding parts </p>

li

\li tag items are transformed into DITA <li> elements within an unordered list <ul>. The \li tags are non nestable.

In Source
\li apples
\li bananas
\li bacon
DITA Output
<ul>
  <li>
    <p>apples </p>
  </li>
  <li>
    <p>bananas </p>
  </li>
  <li>
    <p>bacon</p>
  </li>
</ul>

note

\note is transformed into a DITA <note> element with the type attribute equaling "note".

In Source
\note It's raining, use an umbrella.
DITA Output
<note type="note">
  <p>It's raining, use an umbrella. </p>
</note>

par

The \par tag can take a title, the line afterwards is the actual parapraph. The title is optional and can be omited by leaving the first line blank and entering the paragraph on the line below the \par tag.

In Source
/**
  \par Paragraph Title
  Paragraph contents.
*/
DITA Output
<p>
    <b>Paragraph Title</b>
</p>
<p>Paragraph contents.</p>

verbatim and endverbatim

Text within \verbatim and \endverbatim tags will be reproduced in DITA exactly as it appeared in the source.

In Source
\verbatim
       typedef struct
            {
              double x;
              double y;
              double z;
              char * name;
              int    namelength;
            } point3d;
\endverbatim
DITA Output
<p><pre>
       typedef struct
            {
              double x;
              double y;
              double z;
              char * name;
              int    namelength;
            } point3d;
      </pre></p>


Supported Doxygen Commands

This is the list of supported and not supported (marked Unsupported) doxygen tags and other html items.

Special Commands

The descriptions of these tags have been taken from the Doxygen special commands manual. Refer to this manual for more information about special commands.

Command | Command Format | Description | Supported in DITA
\a | a <word> | Displays the argument <word> using a special font. Use this command to refer to member arguments in the running text. | Unsupported
\addindex | addindex (text) | This command adds (text) to the index. | Unsupported
\addtogroup | addtogroup <name> [(title)] | Defines a group just like \defgroup, but in contrast to that command using the same name more than once will not result in a warning, but rather one group with a merged documentation and the first title found in any of the commands. | Unsupported
\anchor | anchor <word> | This command places an invisible, named anchor into the documentation to which you can refer with the \ref command. | Unsupported
\arg | arg { item-description } | This command has one argument that continues until the first blank line or until another \arg is encountered. The command can be used to generate a simple, not nested list of arguments. Each argument should start with a \arg command. | Unsupported
\attention | attention { attention text } | Starts a paragraph where a message that needs attention may be entered. | Unsupported
\author | author { list of authors } | Starts a paragraph where one or more author names may be entered. | Unsupported
\b | b <word> | Displays the argument <word> using a bold font. Equivalent to <b>word</b>. To put multiple words in bold use <b>multiple words. | Unsupported
\brief | brief {brief description} | Starts a paragraph that serves as a brief description. For classes and files the brief description will be used in lists and at the start of the documentation page. For class and file members, the brief description will be placed at the declaration of the member and prepended to the detailed description. | Unsupported
\bug | bug { bug description } | Starts a paragraph where one or more bugs may be reported. | Unsupported
\c c <word> Displays the argument <word> using a typewriter font. Use this to refer to a word of code. Supported as
<tt>...</tt>
\callergraph | callergraph | When this command is put in a comment block of a function or method and HAVE_DOT is set to YES, then doxygen will generate a caller graph for that function (provided the implementation of the function or method calls other documented functions). The caller graph will generated regardless of the value of CALLER_GRAPH. | Unsupported
\callgraph | callgraph | When this command is put in a comment block of a function or method and HAVE_DOT is set to YES, then doxygen will generate a call graph for that function (provided the implementation of the function or method calls other documented functions). The call graph will generated regardless of the value of CALL_GRAPH. | Unsupported
\category | category <name> [<header-file>] [<header-name>] | For Objective-C only | Unsupported
\class | class <name>[<header-file>] [<header-name>] | Indicates that a comment block contains documentation for a class with name <name>. | Supported
\code code Starts a block of code. Supported as
<codeblock>...</codeblock>
\cond | cond [<section-label>] | Starts a conditional section that ends with a corresponding \endcond command, which is typically found in another comment block. The main purpose of this pair of commands is to (conditionally) exclude part of a file from processing (in older version of doxygen this could only be achieved using C preprocessor commands). | Unsupported
\copybrief | copybrief <link-object> | Works in a similar way as \copydoc but will only copy the brief description, not the detailed documentation. | Unsupported
\copydetails | copydetails <link-object> | Works in a similar way as \copydoc but will only copy the detailed documentation, not the brief description. | Unsupported
\copydoc | copydoc <link-object> | Copies a documentation block from the object specified by <link-object> and pastes it at the location of the command.</link-object> | Unsupported
\date | date { date description } | Starts a paragraph where one or more dates may be entered. | Unsupported
\def def <name> Indicates that a comment block contains documentation for a #define macro. Supported as specialisation:
<cxxDefine id="def_8h_1aacc3ee1a7f283f8ef65cea31f4436a95">
    <apiName>MAX</apiName>
    <shortdesc/>
    <cxxDefineDetail>
        <cxxDefineDef>
            <cxxDefineAccessSpecifier value="public"/>
            <cxxDefineScopedName/>
            <cxxDefinePrototype>#define MAX(xParam, yParam)</cxxDefinePrototype>
            <cxxDefineNameLookup>MAX</cxxDefineNameLookup>
            <cxxParameter>
                <cxxParameterDeclarationName>xParam</cxxParameterDeclarationName>
                <apiDefNote/>
            </cxxParameter>
            <cxxParameter>
                <cxxParameterDeclarationName>yParam</cxxParameterDeclarationName>
                <apiDefNote/>
            </cxxParameter>
        </cxxDefineDef>
        <apiDesc>
            <p>Computes max xParam and yParam.</p>
        </apiDesc>
    </cxxDefineDetail>
    <initializer>((xParam)>(yParam)?(xParam):(yParam))</initializer>
</cxxDefine>
\defgroup | defgroup <name> (group title) | Indicates that a comment block contains documentation for a group of classes, files or namespaces. This can be used to categorize classes, files or namespaces, and document those categories. You can also use groups as members of other groups, thus building a hierarchy of groups. | Unsupported
\deprecated deprecated { description } Starts a paragraph indicating that this documentation block belongs to a deprecated entity. Treated as IM tag
<title>Deprecated List</title>
<body>
    <p/>
    <p id="deprecated_1_deprecated000001"> <dl>
            <dlentry>
                <dt>Member <xref href="class_test_deprecated_1a5c6767c449b21eb7c4c06abd7066da81">TestDeprecated::test_deprecated</xref> () </dt>
                <dd>
                    <p>Test for deprecated tag </p>
                </dd>
            </dlentry>
        </dl>
    </p>
</body>
\details | details {detailed decription} | Just like \brief starts a brief description, \details starts the detailed description. | Unsupported
\dir | dir [<path fragment>] | Indicates that a comment block contains documentation for a directory. | Unsupported
\dontinclude | dontinclude <file-name> | This command can be used to parse a source file without actually verbatim including it in the documentation (as the \include command does). This is useful if you want to divide the source file into smaller pieces and add documentation between the pieces. | Unsupported
\dot | dot | Starts a text fragment which should contain a valid description of a dot graph. The text fragment ends with \enddot. | Unsupported
\dotfile | dotfile <file> ["caption"] | Inserts an image generated by dot from <file> into the documentation. | Unsupported
\e | e <word> | Displays the argument <word> in italics. Use this command to emphasize words. | Unsupported
\else | else | Starts a conditional section if the previous conditional section was not enabled. | Unsupported
\elseif | elseif <section-label> | Starts a conditional documentation section if the previous section was not enabled. | Unsupported
\em | em <word> | Displays the argument <word> in italics. Use this command to emphasize words. | Unsupported
\endcode | endcode | Ends a block of code. | Supported, See \code
\endcond | endcond | Ends a conditional section that was started by \cond. | Unsupported
\enddot | enddot | Ends a blocks that was started with \dot. | Unsupported
\endhtmlonly | endhtmlonly | Ends a block of text that was started with a \htmlonly command. | Unsupported
\endif | endif | Ends a conditional section that was started by \if or \ifnot For each \if or \ifnot one and only one matching \endif must follow. | Unsupported
\endlatexonly | endlatexonly | Ends a block of text that was started with a \latexonly command. | Unsupported
\endlink | endlink | This command ends a link that is started with the \link command. | Unsupported
\endmanonly | endmanonly | Ends a block of text that was started with a \manonly command. | Unsupported
\endmsc | endmsc | Ends a blocks that was started with \msc. | Unsupported
\endverbatim | endverbatim | Ends a block of text that was started with a \verbatim command. | Supported, See \verbatim
\endxmlonly | endxmlonly | Ends a block of text that was started with a \xmlonly command. | Unsupported
\enum | enum <name> | Indicates that a comment block contains documentation for an enumeration, with name <name>. If the enum is a member of a class and the documentation block is located outside the class definition, the scope of the class should be specified as well. | Supported
\example | example <file-name> | Indicates that a comment block contains documentation for a source code example. | Unsupported
\exception | exception <exception-object> { exception description } | Starts an exception description for an exception object with name <exception-object>.</exception-object> | Unsupported
\extends | extends <name> | This command can be used to manually indicate an inheritance relation, when the programming language does not support this concept natively (e.g. C). | Unsupported
\f\$ | f$ | Marks the start and end of an in-text formula. | Unsupported
\f[ | f[ | Marks the start of a long formula that is displayed centered on a separate line. | Unsupported
\f] | f] | Marks the end of a long formula that is displayed centered on a separate line. | Unsupported
\f{ | f{environment}{ | Marks the start of a formula that is in a specific environment. NOTE: The second is optional and is only to help editors (such as Vim) to do proper syntax highlighting by making the number of opening and closing braces the same. | Unsupported
\f} | f} | Marks the end of a formula that is in a specific environment. | Unsupported
\file | file [<name>] | Indicates that a comment block contains documentation for a source or header file with name <name>. | Supported
\fn | fn (function declaration) | Indicates that a comment block contains documentation for a function (either global or as a member of a class). This command is only needed if a comment block is not placed in front (or behind) the function declaration or definition. | Supported
\headerfile | headerfile <header-file> [<header-name>] | Intended to be used for class, struct, or union documentation, where the documentation is in front of the definition. | Unsupported
\hideinitializer | hideinitializer | By default the value of a define and the initializer of a variable are displayed unless they are longer than 30 lines. By putting this command in a comment block of a define or variable, the initializer is always hidden. | Unsupported
\htmlinclude | htmlinclude <file-name> | This command includes the file <file-name> as is in the HTML documentation. The command is equivalent to pasting the file in the documentation and placing \htmlonly and \endhtmlonly commands around it.</file-name> | Unsupported
\htmlonly | htmlonly | Starts a block of text that will be verbatim included in the generated HTML documentation only. The block ends with an \endhtmlonly command. | Unsupported
\if | if <section-label> | Starts a conditional documentation section. The section ends with a matching \endif command. | Unsupported
\ifnot | ifnot <section-label> | Starts a conditional documentation section. The section ends with a matching \endif command. | Unsupported
\image | image <format> <file> ["caption"] [<sizeindication>=<size>] | Inserts an image into the documentation. This command is format specific, so if you want to insert an image for more than one format you'll have to repeat this command for each format. | Unsupported
\implements | implements <name> | This command can be used to manually indicate an inheritance relation, when the programming language does not support this concept natively (e.g. C). | Unsupported
\include | include <file-name> | This command can be used to include a source file as a block of code. | Unsupported
\includelineno | includelineno <file-name> | This command works the same way as \include, but will add line numbers to the included file. | Unsupported
\ingroup | ingroup (<groupname> [<groupname> <groupname>]) | If the \ingroup command is placed in a comment block of a class, file or namespace, then it will be added to the group or groups identified by <groupname>. | Unsupported
\internal | internal | This command writes the message `For internal use only' to the output and all text after an \internal command until the end of the comment block or the end of the section (whichever comes first) is marked as "internal". | Unsupported
\invariant | invariant { description of invariant } | Starts a paragraph where the invariant of an entity can be described. | Unsupported
\interface | interface <name> [<header-file>] [<header-name>] | Indicates that a comment block contains documentation for an interface with name <name>. | Unsupported
\latexonly | latexonly | Starts a block of text that will be verbatim included in the generated $\mbox{\LaTeX}$ documentation only. The block ends with a endlatexonly command. | Unsupported
\li li { item-description } This command has one argument that continues until the first blank line or until another \li is encountered. The command can be used to generate a simple, not nested list of arguments. Supported as:
<ul>
    <li>
        <p>First item</p>
    </li>
    <li>
        <p>Second item</p>
    </li>
    <li>
        <p>Third item</p>
    </li>
</ul>
\line | line ( pattern ) | This command searches line by line through the example that was last included using \include or \dontinclude until it finds a non-blank line. | Unsupported
\link | link <link-object> | The \link command can be used to create a link to an object (a file, class, or member) with a user specified link-text. The link command should end with an \endlink command. | Unsupported
\mainpage | mainpage [(title)] | If the \mainpage command is placed in a comment block the block is used to customize the index page (in HTML) or the first chapter (in $\mbox{\LaTeX}$). | Unsupported
\manonly | manonly | Starts a block of text that will be verbatim included in the generated MAN documentation only. The block ends with a endmanonly command. | Unsupported
\memberof | memberof <name> | This command make a function a member of a class in a similar way as \relates does, only with this command the function is represented as a real member of the class. This can be useful when the programming language does not support the concept of member functions natively (e.g. C). | Unsupported
\msc | msc | Starts a text fragment which should contain a valid description of a message sequence chart. See http://www.mcternan.me.uk/mscgen/ for examples. The text fragment ends with \endmsc. | Unsupported
\n | n | Forces a new line. Equivalent to and inspired by the printf function. | Unsupported
\name | name (header) | This command turns a comment block into a header definition of a member group. The comment block should be followed by a //@{ ... //@} block containing the members of the group. | Unsupported
\namespace | namespace <name> | Indicates that a comment block contains documentation for a namespace with name <name>. | Supported
\nosubgrouping | nosubgrouping | This command can be put in the documentation of a class. It can be used in combination with member grouping to avoid that doxygen puts a member group as a subgroup of a Public/Protected/Private/... section. | Unsupported
\note note {text} Starts a paragraph where a note can be entered. Supported as
<note type="note"><p>...</p></note>
\overload | overload [(function declaration)] | This command can be used to generate the following standard text for an overloaded member function: "This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts." If the documentation for the overloaded member function is not located in front of the function declaration or definition, the optional argument should be used to specify the correct function. | Unsupported
\p p <word> Displays the parameter <word> using a typewriter font. You can use this command to refer to member function parameters in the running text. See \c Supported as
<tt>...</tt>
\package | package <name> | Indicates that a comment block contains documentation for a Java package with name <name>. | Unsupported
\page | page <name> (title) | Indicates that a comment block contains a piece of documentation that is not directly related to one specific class, file or member. | Unsupported
\par par [(paragraph title)] { paragraph } If a paragraph title is given this command starts a paragraph with a user defined heading. The heading extends until the end of the line. The paragraph following the command will be indented. Supported as
<p>
    <b>Paragraph Title</b>
</p>
<p>Paragraph contents</p>
\paragraph | paragraph <paragraph-name> (paragraph title) | Creates a named paragraph with name <paragraph-name>. Warning! This command only works inside a subsubsection of a related page documentation block and not in other documentation blocks!</paragraph-name> | Unsupported
\param param <parameter-name> { parameter description } Starts a parameter description for a function parameter with name <parameter-name>. The existence of the parameter is checked and a warning is given if the documentation of this (or any other) parameter is missing or not present in the function declaration or definition.</parameter-name> Supported as specialisation:
<cxxParameter>
    <cxxParameterType>int</cxxParameterType>
    <cxxParameterDeclarationName>iNum</cxxParameterDeclarationName>
    <apiDefNote>Cakes to be consumed. </apiDefNote>
</cxxParameter>
\post post { description of the postcondition } Starts a paragraph where the postcondition of an entity can be described. Basic support only
<p>text</p>
\pre pre { description of the precondition } Starts a paragraph where the precondition of an entity can be described. Basic support only
<p>text</p>
\private | private | Indicates that the member documented in the comment block is private, i.e., should only be accessed by other members in the same class. | Unsupported
\privatesection | privatesection | For starting a section of private members, in a way similar to the "private:" class marker in C++, use \privatesection. | Unsupported
\property | property (qualified property name) | Indicates that a comment block contains documentation for a property (either global or as a member of a class). | Unsupported
\protected | protected | Indicates that the member documented in the comment block is protected, i.e., should only be accessed by other members in the same or derived classes. | Unsupported
\protectedsection | protectedsection | For starting a section of protected members, in a way similar to the "protected:" class marker in C++, use \protectedsection | Unsupported
\protocol | protocol <name> [<header-file>] [<header-name>] | Indicates that a comment block contains documentation for a protocol in Objective-C with name <name>. | Unsupported
\public | public | Indicates that the member documented in the comment block is public, i.e., can be accessed by any other class or function. | Unsupported
\publicsection | publicsection | For starting a section of public members, in a way similar to the "public:" class marker in C++, use \publicsection. | Unsupported
\ref | ref <name> ["(text)"] | Creates a reference to a named section, subsection, page or anchor. For HTML documentation the reference command will generate a link to the section. For a sections or subsections the title of the section will be used as the text of the link. | Supported for use with the @capability tag
\relates | relates <name> | This command can be used in the documentation of a non-member function <name>. It puts the function inside the `related function' section of the class documentation. This command is useful for documenting non-friend functions that are nevertheless strongly coupled to a certain class. It prevents the need of having to document a file, but only works for functions. | Unsupported
\relatesalso | relatesalso <name> | This command can be used in the documentation of a non-member function <name>. It puts the function both inside the `related function' section of the class documentation as well as leaving its normal file documentation location. | Unsupported
\remarks | remarks { remark text } | Starts a paragraph where one or more remarks may be entered. | Unsupported
\return return { description of the return value } Starts a return value description for a function. Supported
<p>Return text</p>
\retval | retval <return value> { description } | Starts a return value description for a function with name <return value>. | Unsupported
\sa | sa { references } | Starts a paragraph where one or more cross-references to classes, functions, methods, variables, files or URL may be specified. Two names joined by either :: or # are understood as referring to a class and one of its members. One of several overloaded methods or constructors may be selected by including a parenthesized list of argument types after the method name. | Unsupported
\section | section <section-name> (section title) | Creates a section with name <section-name>. Warning! This command only works inside related page documentation and not in other documentation blocks!</section-name> | Unsupported
\see see { references } Equivalent to \sa. Introduced for compatibility with Javadoc. Supported
<p>ItemToSee</p>
\showinitializer | showinitializer | See \hideinitializer. | Unsupported
\since since { text } This tag can be used to specify since when (version or time) an entity is available. Basic Support:
<p>version 4.2, as of July 1980</p>
\skip | skip ( pattern ) | This command searches line by line through the example that was last included using \include or \dontinclude until it finds a line that contains the specified pattern. | Unsupported
\skipline | skipline ( pattern ) | This command searches line by line through the example that was last included using \include or \dontinclude until it finds a line that contains the specified pattern. It then writes the line to the output. | Unsupported
\struct | struct <name> [<header-file>] [<header-name>] | Indicates that a comment block contains documentation for a struct with name <name>. | Supported
\subpage | subpage <name> ["(text)"] | This command can be used to create a hierarchy of pages. Note: Each page can be the sub page of only one other page and no cyclic relations are allowed, i.e. the page hierarchy must have a tree structure. | Unsupported
\subsection | subsection <subsection-name> (subsection title) | Creates a subsect$on with name <subsection-name>. This command only works inside a section of a related page documentation block and not in other documentation blocks!</subsection-name> | Unsupported
\subsubsection | subsubsection <subsubsection-name> (subsubsection title) | Creates a subsubsection with name <subsubsection-name>.</subsubsection-name> | Unsupported
\test | test { paragraph describing a test case } | Starts a paragraph where a test case can be described. The description will also add the test case to a separate test list. The two instances of the description will be cross-referenced. Each test case in the test list will be preceded by a header that indicates the origin of the test case. | Unsupported
\throw | throw <exception-object> { exception description } | Synonymous to \exception (see section \exception). | Unsupported
\todo | todo { paragraph describing what is to be done } | Starts a paragraph where a TODO item is described. The description will also add an item to a separate TODO list. The two instances of the description will be cross-referenced. Each item in the TODO list will be preceded by a header that indicates the origin of the item. | Unsupported
\tparam | tparam <template-parameter-name> { description } | Starts a template parameters for a class or function template parameter with name <template-parameter-name>, followed by a description of the template parameter.</template-parameter-name> | Unsupported
\typedef | typedef (typedef declaration) | Indicates that a comment block contains documentation for a typedef (either global or as a member of a class). | Supported
\union | union <name> [<header-file>] [<header-name>] | Indicates that a comment block contains documentation for a union with name <name>. | Supported
\until | until ( pattern ) | This command writes all lines of the example that was last included using \include or \dontinclude to the output, until it finds a line containing the specified pattern. The line containing the pattern will be written as well. | Unsupported
\var | var (variable declaration) | Indicates that a comment block contains documentation for a variable or enum value (either global or as a member of a class). | Supported
\verbatim verbatim Starts a block of text that will be verbatim included in both the HTML and the $\mbox{\LaTeX}$ documentation. The block should end with a \endverbatim block. All commands are disabled in a verbatim block. Supported as
<p>
  <pre>
    typedef struct
    {
        double x;
        double y;
        double z;
        char * name;
        int    namelength;
    } point3d;
  </pre>
</p>
\verbinclude | verbinclude <file-name> | This command includes the file <file-name> verbatim in the documentation. The command is equivalent to pasting the file in the documentation and placing \verbatim and \endverbatim commands around it.</file-name> | Unsupported
\version | version { version number } | Starts a paragraph where one or more version strings may be entered. | Unsupported
\warning | warning { warning message } | Starts a paragraph where one or more warning messages may be entered. | Unsupported
\weakgroup | weakgroup <name> [(title)] | Can be used exactly like \addtogroup, but has a lower priority when it comes to resolving conflicting grouping definitions. | Unsupported
\xmlonly | xmlonly | Starts a block of text that will be verbatim included in the generated XML output only. The block ends with a endxmlonly command. | Unsupported
\xrefitem | xrefitem <key> "(heading)" "(list title)" {text} | This command is a generalization of commands such as \todo and \bug. It can be used to create user-defined text sections which are automatically cross-referenced between the place of occurrence and a related page, which will be generated. On the related page all sections of the same type will be collected. | Unsupported
\$ $ This command writes the $ character to the output. Supported
\@ @ This command writes an at-sign (@) to the HTML and $\mbox{\LaTeX}$ output. Supported
\\ This command writes a backslash character (\) to the HTML and $\mbox{\LaTeX}$ output. Supported
\& & This command writes the & character to output. Supported
\~ ~[LanguageId] This command enables/disables a language specific filter. This can be used to put documentation for different language into one comment block and use the OUTPUT_LANGUAGE tag to filter out only a specific language. Use \~language_id to enable output for a specific language only and \~ to enable output for all languages (this is also the default mode). Supported
\< < This command writes the < character to the output. Supported
\> > This command writes the > character to the output. Supported
\# # This command writes the # character to the output. Supported
\% % This command writes the % character to the output. Supported

HTML Commands

Most of these commands are supported as expected. Others have yet to be correctly implemented and although the content will be output it might not be excactly as expected.

See the Doxygen HTML Commands manual for more information.

HTML Command | Description | Supported in DITA
<A HREF="...">...</A> Starts a HTML hyper-link (HTML only). Supported as:
<xref href="http://www.google.com">text</xref>
<B>...</B> Starts a piece of text displayed in a bold font. Supported as:
<b>...</b>
<BODY>...</BODY> | Does not generate any output. | Unsupported
<BR>...</BR> | Forces a line break. | Unsupported
<CENTER>...</CENTER> | starts a section of centered text. | Unsupported
<CAPTION>...</CAPTION> | Starts a caption. Use within a table only. See <table>. | Unsupported
<CODE>...</CODE> Starts a piece of text displayed in a typewriter font. Note that for C# code, this command is equivalent to \code. Supported as:
<tt>...</tt>
<DD>...</DD> Starts an item description. Used within <DL> Supported as:
<dd>Description</dd>
<DFN>...</DFN> Starts a piece of text displayed in a typewriter font. Supported as:
<tt>...</tt>
<DIV>...</DIV> Starts a section with a specific style (HTML only) Supported as:
<p>...</p>
<DL>...</DL> Starts a description list. Supported as:
<dl>
  <dt>Coffee</dt>
    <dd>black hot drink</dd>
  <dt>Milk</dt>
    <dd>white cold drink</dd>
</dl>
<DT>...</DT> Starts an item title. Used within <DL> Supported as:
<dt>Milk</dt>
<EM>...</EM> Starts a piece of text displayed in an italic font. Supported as:
<i>text</i>
<FORM>...</FORM> | Does not generate any output. | Unsupported
<HR>...</HR> | Writes a horizontal ruler. | Unsupported
<H1>...</H1> Starts an unnumbered section. Supported as:
<p><b>text</b><p>
<H2>...</H2> Starts an unnumbered subsection. Supported as:
<p><b>text</b><p>
<H3>...</H3> Starts an unnumbered subsubsection. Supported as:
<p><b>text</b><p>
<I>...</I> Starts a piece of text displayed in an italic font. Supported as:
<i>text</i>
<INPUT>...</INPUT> | Does not generate any output. | Unsupported
<IMG>...</IMG> | This command is written with attributes to the HTML output only. | Unsupported
<LI>...</LI> Starts a new list item. Use within the list elements <ul> or <ol>. Supported as:
<li>
  <p>Coffee </p>
</li>
<META>...</META> | Does not generate any output. | Unsupported
<MULTICOL>...</MULTICOL> | ignored by doxygen. | Unsupported
<OL>...</OL> Starts a numbered item list. Supported as:
<ol>
    <li>
        <p>Coffee </p>
    </li>
    <li>
        <p>Tea </p>
    </li>
    <li>
        <p>Milk </p>
    </li>
</ol>
<P>...</P> Starts a new paragraph. Supported as:
<p>text</p>
<PRE>...</PRE> Starts a preformatted fragment. Supported as:
<p>
            <pre>
Text in a pre element
is displayed in a fixed-width
font, and it preserves
both      spaces and
line breaks
</pre> </p>
<SMALL>...</SMALL> | Starts a section of text displayed in a smaller font. | Unsupported
<SPAN>...</SPAN> | Starts an inline text fragment with a specific style (HTML only) | Unsupported
<STRONG>...</STRONG> Starts a section of bold text. Supported as:
<b>text</b>
<SUB>...</SUB> Starts a piece of text displayed in subscript. Supported as:
<sub>text</sub>
<SUP>...</SUP> Starts a piece of text displayed in superscript. Supported as:
<sup>text</sup>
<TABLE>...</TABLE> starts a table. Supported as:
<simpletable>
    <strow>
        <stentry>
            <p>row 1, cell 1 </p>
        </stentry>
        <stentry>
            <p>row 1, cell 2  </p>
        </stentry>
    </strow>
    <strow>
        <stentry>
            <p>row 2, cell 1 </p>
        </stentry>
        <stentry>
            <p>row 2, cell 2  </p>
        </stentry>
    </strow>
</simpletable>
<TD>...</TD> Starts a new table data element. Use within a <TR> element. Supported as:
<stentry><p>row 1, cell 1 </p></stentry>
<TR>...</TR> Starts a new table row. Use within a <table> element Supported as:
<strow>
    <stentry>
        <p>row 2, cell 1 </p>
    </stentry>
    <stentry>
        <p>row 2, cell 2  </p>
    </stentry>
</strow>
<TT>...</TT> Starts a piece of text displayed in a typewriter font. Supported as:
<tt>text</tt>
<KBD>...</KBD> Starts a piece of text displayed in a typewriter font. Supported as:
<tt>text</tt>
<UL>...</UL> Starts an unnumbered item list. Supported as:
<ul>
    <li>
        <p>Coffee </p>
    </li>
    <li>
        <p>Tea </p>
    </li>
    <li>
        <p>Milk </p>
    </li>
</ul>
<VAR>...</VAR> Starts a piece of text displayed in an italic font. Supported as:
<i>text</i>

Symbols

HTML Command | Symbol | Description | Supported in DITA
&copy; | © | the copyright symbol | Supported
&tm; | ™ | the trade mark symbol | Supported
&reg; | ® | the registered trade mark symbol | Supported
&lt; | < | less-than symbol | Supported
&gt; | > | greater-than symbol | Supported
&amp; | & | ampersand | Supported
&apos; | ' | single quotation mark (straight) | Supported
&quot; | " | double quotation mark (straight) | Supported
&lsquo; | ‘ | left single quotation mark | Supported
&rsquo; | ’ | right single quotation mark | Supported
&ldquo; | “ | left double quotation mark | Supported
&rdquo; | ” | right double quotation mark | Supported
&ndsh; | - | n-dash (for numeric ranges, eg. 2–8) | Supported
&mdash; | — | m-dash (for parenthetical punctuation — like this) | Supported
&?uml; | ö | where ? is one of {A,E,I,O,U,Y,a,e,i,o,u,y}, writes a character with a diaeresis accent. | Supported
&?acute; | á | where ? is one of {A,E,I,O,U,Y,a,e,i,o,u,y}, writes a character with a acute accent. | Supported
&?grave; | ò | where ? is one of {A,E,I,O,U,a,e,i,o,u,y}, writes a character with a grave accent. | Supported
&?circ; | ô | where ? is one of {A,E,I,O,U,a,e,i,o,u,y}, writes a character with a circumflex accent. | Supported
&?tilde; | õ | where ? is one of {A,N,O,a,n,o}, writes a character with a tilde accent. | Supported
&szlig; | ß | write a sharp s (i.e. ß) to the output. | Supported
&?cedil; | ç | where ? is one of {c,C}, writes a c-cedille. | Supported
&?ring; | å | where ? is one of {a,A}, writes an a with a ring. | Supported
&nbsp; |  | a non breakable space. | Supported