imagedoxygendocbook

Doxygen creates empty image titles for Docbook output


I'm using doxygen 1.8.14 to create docbook output. Images are marked up with

\image docbook Legend.png "Coloring and Graph Scheme" width=10cm

The resulting docbook is

<figure>
    <title></title>
    <mediaobject>
        <imageobject>
            <imagedata width="10cm" align="center" valign="middle"
             scalefit="1" fileref="Legend.png"></imagedata>
        </imageobject>
    <caption>Coloring and Graph Scheme</caption>
    </mediaobject>
</figure>

Note how the <title> is empty (the title string from markup went to the <caption> element). This causes the document's "List of figures" section to look like this:

1.1. ........................... 8
1.2. ........................... 9
2.1. .......................... 13
2.2. .......................... 14
2.3. .......................... 16

(because the List of Figures uses the figure <title> contents, not the <caption> content). Before I start hacking or whacking the caption to the title with a perl one-liner, is there something I have overlooked? In the doxygen configuration perhaps?

The correct docbook code is

<figure>
    <title>Coloring and Graph Scheme</title>
    <mediaobject>
        <imageobject>
            <imagedata width="10cm" align="center" valign="middle"
             scalefit="1" fileref="Legend.png"></imagedata>
        </imageobject>
    </mediaobject>
</figure>

Solution

  • In version 1.8.14 the title is written as a caption, in the master version til now the title is written, but on the wrong place. For this I made a proposed pull request for doxygen (https://github.com/doxygen/doxygen/pull/6638).

    A workaround is to use:

    \docbookonly
    <figure>
        <title>Coloring and Graph Scheme</title>
        <mediaobject>
            <imageobject>
                <imagedata width="10cm" align="center" valign="middle"
                 scalefit="1" fileref="Legend.png"></imagedata>
            </imageobject>
        </mediaobject>
    </figure>
    \enddocbookonly
    

    instead of:

    \image docbook Legend.png "Coloring and Graph Scheme" width=10cm
    

    EDIT: Code of pull request has been integrated in master on github.