如何标记@ref 引用的结尾?

Dan*_*com 5 c++ documentation doxygen

我正在使用 Doxygen 来记录 C++ 代码,并且正在为代码编写大量 Doxygen 文档。在一个地方,我在代码中制作了一个组列表,并希望它显示如下:

我的文档来源如下所示:

- @ref CM:控制一切的模块
- @ref SM:作为@CM 从属的模块

但是,问题:Doxygen 似乎将参考名称读取为CM:,而不是CM,因此找不到参考。所以,不知何故,我需要告诉 Doxygen 参考名称在哪里结束。(例如,如果我使用 Bash,并且想要回显带有“s”作为后缀的变量字符串,我会使用echo "${NOUN}s".)

作为一种解决方法,我可以在名称和后面的冒号之间添加一个空格,但这会使生成的文档更难阅读,我想避免它。

Special Commands 下,Doxygen 手册包含以下听起来充满希望的信息:

一些命令有一个或多个参数。每个参数都有一定的范围:

  • 如果使用 <sharp> 大括号,则参数是单个单词。
  • 如果使用(圆)大括号,则参数将扩展到找到命令的行的末尾。
  • 如果使用 {curly} 大括号,则参数会扩展到下一段。段落由空行或节指示符分隔。

好的,这一切都很好,但是文档没有说,我也想不通,这些大括号应该放在哪里。仅围绕争论?围绕整个命令和参数?两者都不起作用,我想不出一个可行的替代方案。

那么,我如何指示 Doxygen 引用名称的结尾?如果大括号是答案,它们会去哪里?

小智 5

这适用于 Doxygen 版本 1.8.11:

\ref name "":
Run Code Online (Sandbox Code Playgroud)

显然,空字符串会触发回退以使用其前面的名称参数。


Rei*_*ica 1

您引用的 Doxygen 文档描述的是 Doxygen 文档的语法而不是您使用 Doxygen 解析的源的语法。

换句话说,如果在描述命令时使用<sharp>大括号,则它只需要一个单词;等等。

查看以下文档@ref

\ref <name> ["(text)"]
Run Code Online (Sandbox Code Playgroud)

name论证位于“尖括号”中,因此它只是一个单词。不幸的是,Doxygen 似乎将其解释:为该词的一部分。你最好的选择是引入一个空间:

@ref CM : the ...
Run Code Online (Sandbox Code Playgroud)

您还可以尝试零宽度字符是否会破坏单词识别:

@ref CM&zwnj;: the ...
Run Code Online (Sandbox Code Playgroud)