在Doxygen的模块组中使用部分 [英] Use of sections within a module group in doxygen

查看:296
本文介绍了在Doxygen的模块组中使用部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我寻求构造双氧模块基团内容的最佳方法。例如,我想在不同部分的以下模块组中构造@details文本。特别是每个部分都应该出现在生成的PDF的书签中(作为模块组的子元素):

  @defgroup lorem 
@ {
@brief

Lorem ipsum

@details

Lorem ipsum dolor坐着,秘密教养专家。 Ut purus elit,前庭
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。佩伦特式的居民morbi tristique senectus et netus et malesuada享有盛名ac turpis
egestas。毛里斯·里奥。 Cras viverra metus rhoncus sem。 Nura et lectusvestibulum
urna fringilla ultrices。 Phasellus eu Tellus坐在amettor gravida placerat。

Integer sapien est,iaculis in,pretium quis,viverra ac,nunc。
实用信息,请参见两面。 Aenean紫红色。莫尔比·多罗·诺尔娜(Morbi Dolor nulla),
malesuada eu,莫尔利斯·阿卡(pulvinar),莫尔利斯·ac,诺尔娜(nulla)。 Curabitur auctor semper nulla。
Donec静脉曲张风险。 Duis nibh mi,congue eu,accumsan eleifend,
sagittis quis,diam。 Duis eget orci坐在amet orci dignissim rutrum。
@}

一种方法可以使用@section @subsection等,但是doxygen手册说:


警告:
该命令仅在相关页面文档
中有效,而在其他文档块中无效! / p>

是否可以使用@section或是否有其他(更好的)方法?




编辑:
使用@section的行为确实确实很奇怪,例如我尝试过这样的事情:

  @defgroup lorem 
@ {

@简短

Lorem ipsum

@section sec0 Lorem ipsum

Lorem ipsum dolor坐下来,秘密教养专家。 Ut purus elit,前庭
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居民morbi tristique senectus et netus et malesuada名望ac turpis
egestas。毛里斯·里奥。 Cras viverra metus rhoncus sem。 Nura et lectusvestibulum
urna fringilla ultrices。 Phasellus eu Tellus坐在amettor gravida placerat。


@section sec2整数est

整数esculen estial,preculium quis,viverra ac,nunc。
实用信息,请参见两面。 Aenean紫红色。莫尔比·多罗·诺尔娜(Morbi Dolor nulla),
malesuada eu,莫尔利斯·阿卡(pulvinar),莫尔利斯·ac,诺尔娜(nulla)。 Curabitur auctor semper nulla。
Donec静脉曲张风险。
Duis nibh mi,congue eu,accumsan eleifend,
sagittis quis,diam。 Duis eget orci坐在amet orci dignissim rutrum。

@}

结果看起来不错,在这种情况下,以下内容PDF中的结构:




  • 4.1 lorem

  • 4.1.1 Lorem ipsum

  • 4.1.2 Pellentesque

  • 4.1.3整数sapen est



现在,如果添加@file的@details节中不包含任何文本,则会在输出中显示,我无法摆脱。看起来像这样(我也测试过添加另一个包含@file的组-相同的结果):




  • 4.1 lorem

  • 4.1.1详细说明

  • 4.1.2 Lorem ipsum

  • 4.1.3 Pellentesque

  • 4.1.4整数智商



然后,我尝试移动这些部分并将其作为详细说明的子部分-从逻辑上讲还可以。但是当我将其更改为@subsection时,它们完全消失了。在这种情况下,Doxygen警告说,它已在节上下文之外找到了一个子节,因此显然它没有意识到它生成了这个神秘的空@details节。



下一个想法是使用Markdown支持来做到这一点。在这种情况下,部分内容不会放入PDF书签中,因此看起来还可以-但在乳胶代码中,它们仍与@details部分处于同一级别。 Markdown中的小节也消失了。我不知道发生了什么,但是我不能成为第一个尝试在模块组中构建事物的人。

解决方案

我亲自尝试了您的示例,如果您在 @ {... @} 之间放置了 @file 像这样



/ **

@defgroup lorem

@ {

...

@file

@}

* /



然后创建标准的Doxygen布局。



如果将@file移到外面,则可以这样工作。



/ * *

@defgroup lorem

@ {

...

@}

@文件

* /



但是,如果您确实需要在 @defgroup lorem @ {... @}中使用 @file ,有两种实现方法。



第一:



/ **

@defgroup文件

@ {

@file

@defgroup lorem

@ {

...

@}

@}

* /



第二次:



更改标准氧气布局。



为此,请按照手册说明进行操作此处,始于:通过创建自定义<$ c来更改页面的布局$ c> DoxygenLayout.xml 。



现在,编辑 DoxygenLayout.xml 并搜索< group> 标记。



将找到<详细说明标题= /> 标记,将其更改为< detaileddescription visible = no title = /> 和`Detailed说明您应该消失的错误。


I seek the preferred way to structure the contents of a doxygen module group. For example I want to structure the @details text in the following module group in different sections. Especially each of the sections should appear in the bookmarks of the generated PDF (as child elements of the module group):

@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.
@}

A way could be using @section @subsection etc, but the doxygen manual says:

Warning: This command only works inside related page documentation and not in other documentation blocks!

Is it possible to use @section or are there other (better) ways to do this?


Edit: The behavior using @section seems indeed odd, for example I tried something like this:

@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.

@}

The result looks fine and has in this case the following structure in the PDF:

  • 4.1 lorem
  • 4.1.1 Lorem ipsum
  • 4.1.2 Pellentesque
  • 4.1.3 Integer sapien est

Now if a add @file a @details section containing no text appears in the output I can't get rid of. It looks like this (I also tested adding another group containing a @file - same result):

  • 4.1 lorem
  • 4.1.1 Detailed Description
  • 4.1.2 Lorem ipsum
  • 4.1.3 Pellentesque
  • 4.1.4 Integer sapien est

Then I tried to move the sections and make them subsections of the "Detailed Description" -which would be logically okay. But when I change them to @subsection 's they completely disappear. Doxygen warns in this case it has found a subsection out of section context so obviously it doesn't realize it generated this mysterious empty @details section.

Next idea was to use the Markdown support to do it. In this case sections aren't put into the PDF bookmarks so it looks okay - but in latex code they are still on same level as the @details section. And subsections in Markdown disappear as well. I've no idea what is going on, but I can't be the first person trying to structure things in a module group.

解决方案

I tried your example myself and if you put the @file between your @{ ... @} like this,

/**
@defgroup lorem
@{
...
@file
@}
*/

then the standard Doxygen Layout is created.

If you move the @file outside, then your like this, then it should work.

/**
@defgroup lorem
@{
...
@}
@file
*/

However, if you really need the @file within your @defgroup lorem @{ ... @}, there are two ways to achive it.

FIRST:

/**
@defgroup file
@{
@file
@defgroup lorem
@{
...
@}
@}
*/

SECOND:

Change the standard doxygen layout.

To do this, follow the manuals description here, beginning at: Changing the layout of pages, by creating your custom DoxygenLayout.xml.

Now, edit the DoxygenLayout.xml and search for the <group> tag.

There will find <detaileddescription title=""/> tag, change it to <detaileddescription visible="no" title=""/>and the `Detailed Description" bugging you should vanish.

这篇关于在Doxygen的模块组中使用部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆