Doxygen 为 Docbook 输出创建空图像标题

Doxygen creates empty image titles for Docbook output

我正在使用 doxygen 1.8.14 创建 docbook 输出。图片标有

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

生成的文档是

<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>

请注意 <title> 是空的(来自标记的标题字符串转到 <caption> 元素)。 这导致文档的 "List of figures" 部分看起来像这样:

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

(因为图表使用的是图<title>的内容,不是<caption>的内容)。在我开始使用 perl one-liner 修改标题或修改标题之前,有什么我忽略的吗?也许在 doxygen 配置中?

正确的文档代码是

<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>

在1.8.14版本中标题写成标题,在现在的master版本中标题写错了。为此,我为 doxygen (https://github.com/doxygen/doxygen/pull/6638) 提出了一个 pull request。

解决方法是使用:

\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

而不是:

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

编辑:拉取请求的代码已集成到 github 的 master 中。