我寻求构建 doxygen 模块组内容的首选方法。例如,我想在不同部分的以下模块组中构造 @details 文本。特别是每个部分都应该出现在生成的 PDF 的书签中(作为模块组的子元素):
@defgroup lorem
@{
@brief
Lorem ipsum
@details
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu
neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis
egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum
urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
Integer sapien est, iaculis in, pretium quis, viverra ac, nunc.
Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla,
malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend,
sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
@}
一种方法可能是使用@section @subsection 等,但 doxygen 手册说:
警告:此命令仅适用于相关页面文档,不适用于其他文档块!
是否可以使用@section 或有其他(更好的)方法来做到这一点?
编辑:使用@section 的行为似乎确实很奇怪,例如我尝试过这样的事情:
@defgroup lorem
@{
@brief
Lorem ipsum
@section sec0 Lorem ipsum
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu
neque.
@section sec1 Pellentesque
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis
egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum
urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
@section sec2 Integer sapien est
Integer sapien est, iaculis in, pretium quis, viverra ac, nunc.
Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla,
malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
Donec varius orci eget risus.
Duis nibh mi, congue eu, accumsan eleifend,
sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
@}
结果看起来很好,在这种情况下,PDF 中的结构如下:
- 4.1 定理
- 4.1.1 Lorem ipsum
- 4.1.2 佩伦特斯克
- 4.1.3 整数智能
现在,如果在输出中出现一个添加@file 一个不包含文本的@details 部分,我将无法摆脱。它看起来像这样(我还测试了添加另一个包含 @file 的组 - 结果相同):
- 4.1 定理
- 4.1.1 详细说明
- 4.1.2 Lorem ipsum
- 4.1.3 佩伦特斯克
- 4.1.4 整数 sapien est
然后我尝试移动这些部分并将它们作为“详细描述”的子部分 - 这在逻辑上是可以的。但是当我将它们更改为 @subsection 时,它们会完全消失。在这种情况下,Doxygen 警告说它在节上下文之外找到了一个小节,因此显然它没有意识到它生成了这个神秘的空 @details 节。
下一个想法是使用 Markdown 支持来做到这一点。在这种情况下,部分不会放入 PDF 书签中,因此看起来还不错 - 但在乳胶代码中,它们仍然与 @details 部分处于同一级别。Markdown 中的小节也消失了。我不知道发生了什么,但我不能成为第一个尝试在模块组中构建事物的人。