在Doxygen注释中,我们经常需要用空格加上符号来描述一种结构图,但是因为Doxygen默认忽略空格和换行,因此导致输出的结果不是我们想要的。假定我们想输出如下的注释:
/**
* JOIN (exists (select 1 from x3 where x1.id3 = x3.id3)
* / \
* r1 x1
*/ 因为Doxygen忽略空格和换行,因此输出到html以后,就变成了下面的样子:
JOIN(preserve) (exists (select 1 from x3 where x1.id3 = x3.id3) / \ r1 x1 如果需要按原始格式输出,有两种方法:
1. 用html标签<pre>
/**
* <pre>
* JOIN (exists (select 1 from x3 where x1.id3 = x3.id3)
* / \
* r1 x1
* </pre>
*/ 这样输出就成了
JOIN(preserve) (exists (select 1 from x3 where x1.id3 = x3.id3)
/ \
r1 x1 2. 用Doxygen的标签verbatim和endverbatim
/**
* @verbatim
* JOIN (exists (select 1 from x3 where x1.id3 = x3.id3)
* / \
* r1 x1
* @endverbatim
*/ 输出如下
JOIN(preserve) (exists (select 1 from x3 where x1.id3 = x3.id3)
/ \
r1 x1 <pre>标签和verbatim的区别。
1. <pre>是html的标签,verbatim是Doxygen自己的标签。
2. <pre>不会影响Doxygen自身的标签,例如<pre>标签中有Doxygen标签@ref等,@ref仍然会指向参考。
3. verbatim标签是真正的逐字输出,因此@verbatim和@endverbatim之间的所有Doxygen标签都会失效。
这篇博客探讨了在Doxygen中如何处理原始注释,以确保空格和换行在输出时得以保留。作者指出,由于Doxygen通常会忽略这些格式,这在创建结构图注释时成为问题。文章旨在分享解决这个问题的方法,帮助读者更好地控制Doxygen生成的文档格式。
4938

被折叠的 条评论
为什么被折叠?



