如何标记@ref引用的末尾

How mark the end of a @ref reference?

本文关键字:引用 何标记 @ref      更新时间:2023-10-16

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

  • 控制模块:控制一切的模块
  • 从模块:控制模块的从模块

我的文档来源如下:

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

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

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

在特殊命令下,Doxygen手册包括以下充满希望的探测信息:

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

  • 如果<锋利>使用大括号时,自变量是一个单词
  • 如果使用(圆形)大括号,则参数将一直延伸到找到了命令
  • 如果使用{大括号},则参数延伸到下一段。段落用空格分隔线或通过区段指示器

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

那么,如何指示Doxygen的引用名称的末尾呢?如果牙套是答案,它们会去哪里?

这适用于Doxygen 1.8.11:版本

ref name "":

显然,空字符串触发了一个回退,以使用前面的name参数。

您引用的Doxygen文档描述的是Doxygen文件的语法,而不是要通过使用Doxygen进行分析的源的语法。

换句话说,如果<锋利>大括号用于描述一个命令,它只包含一个单词;等等

查看@ref:的文档

ref <name> ["(text)"]

name参数使用"大括号",因此它只是一个单词。不幸的是,Doxygen似乎将:解释为该词的一部分。你最好的选择是引入一个空间:

@ref CM : the ...

你也可以试试零宽度字符是否会破坏单词识别:

@ref CM&zwnj;: the ...