【问题标题】:How mark the end of a @ref reference?如何标记@ref 引用的结尾?
【发布时间】:2016-03-30 13:24:46
【问题描述】:

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

我的文档来源如下所示:

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

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

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

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

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

  • 如果使用 大括号,则参数是一个单词。
  • 如果使用(圆)大括号,则参数将延伸到行尾 找到了哪个命令。
  • 如果使用 {curly} 大括号,则参数 延伸到下一段。段落由空格分隔 线或部分指示符。

好的,这一切都很好,但是文档没有说明,我也无法弄清楚,哪里这些大括号应该去。单独围绕争论?围绕整个命令和参数?两者都行不通,我也想不出可行的替代方案。

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

【问题讨论】:

  • 大括号用于符号约定,而不是分隔符。分隔符是空格/换行符。问题始终是使用什么作为“名称”的分隔符/结尾。

标签: c++ documentation doxygen


【解决方案1】:

这适用于 Doxygen 版本 1.8.11:

\ref name "":

显然,空字符串会触发回退以使用它之前的 name 参数。

【讨论】:

    【解决方案2】:

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

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

    @ref的文档:

    \ref <name> ["(text)"]
    

    name 参数在“尖括号”中,所以它只是一个单词。不幸的是,Doxygen 似乎将: 解释为该词的一部分。最好的办法是引入一个空格:

    @ref CM : the ...
    

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

    @ref CM&zwnj;: the ...
    

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多