Doxygen能否将分散源码中的\section等内容归集到\mainpage内联展示?
Doxygen分散维护mainpage章节的可行方案
别用\page+\subpage的嵌套方案,这个命令从设计上就是用来生成独立页面/独立章节的,不管怎么调参数,LaTeX输出都会拆成单独章节,硬套多级小节只会越维护越乱。
要实现「章节内容放在对应代码附近维护、最终内联合并到mainpage同一层级下」的需求,用Doxygen原生的同名章节自动合并特性就可以,完全不会生成独立页面:
- 第一步先在任意位置写好mainpage的章节框架,定好各级section、subsection的标记名:
/** * \mainpage 项目开发手册 * \section sec_intro 项目概述 * \section sec_module 核心模块说明 * \subsection sec_module_base 基础模块 * \subsection sec_module_ext 扩展模块 * \section sec_dev 开发规范 */
- 第二步在对应功能的源码文件附近写文档块时,直接用相同的章节标记名写内容就行,不用加
\page标记:
// 比如在base模块的源码文件头部写 /** * \subsection sec_module_base * 这里写基础模块的接口说明、使用示例,所有内容会在生成文档时自动拼接到主页「基础模块」小节下 * 不管是HTML还是LaTeX/PDF输出,都和你直接把内容写在mainpage块里的效果完全一致,不会生成独立页面 */
注意:如果同个章节标记在多个位置出现,Doxygen会按文件解析顺序把所有对应内容拼接在该章节下,你可以通过配置文件里的
INPUT顺序调整内容排布顺序。
如果有整段的独立说明文档(比如安装步骤、更新日志这类不和代码强绑定的内容),直接在mainpage对应章节位置用\markdowninclude引入对应的md文件即可,内容会直接内联插入,不会拆成独立页。
内容的提问来源于stack exchange,提问作者ZioByte
相关产品推荐
相关产品推荐

