【问题标题】:doxygen: include packet structure drawing in html documentationdoxygen:在 html 文档中包含数据包结构图
【发布时间】:2020-10-28 09:06:19
【问题描述】:

我正在尝试在我的 doxygen 文档 (html) 中包含一个表示数据包结构的图形,类似于以下示例:

我知道可以使用多个命令(例如@startuml/@enduml@dot/@enddot@msc/@endmsc)从代码中生成图表,但是看看我不知道的各种用法示例找不到合适的方法。

有谁知道我如何在不必包含外部资源(例如图像或图表文件)的情况下获得类似的结果(使用上述命令之一,或在需要时使用其他命令)?

提前致谢。

【问题讨论】:

  • 你使用的是哪个版本的 doxygen?您尝试使用哪种格式制作图像,也许提到的格式不是绘制此类图表的最佳格式,您应该查看直接包含图像的可能性(\image 或 markdown 图像格式或 html 图像定义) 到文档中。请显示一些您尝试过的代码。
  • 感谢您的评论。我正在使用 doxygen 1.8.13。目前,我没有尝试编写代码,所以我没有要显示的代码。我只是查看了那些 doxygen 命令,我想知道其中是否有任何适合实现我想要的结果。特别是我感兴趣的是了解我是否可以在不直接包含图像的情况下做到这一点。
  • 在您的情况下,甚至一个 HTML 表格(带有 rowspan 和 colpan)也可以(doxygen 将解释大多数表格并将其也用于 LaTeX 等其他输出)?
  • 感谢您的建议。如果没有更合适的,我会去找一张桌子。因此,如果我理解正确,然后我可以在 doxygen 块 @htmlonly/@endhtmlonly 内按照这些示例 html.com/tables/rowspan-colspan 对表格进行编码。我说的对吗?
  • 我认为这会起作用,甚至更好的是你可能甚至不需要@htmlonly/@endhtmlonly,因为 doxygen 可以理解大多数表命令并转换一些属性供自己使用(如rowspancolspan并且逐字使用带有标签的使用属性)。我瘦了一个很好的例子也可以在 doxygen 手册中找到:doxygen.nl/manual/tables.html

标签: doxygen diagram packet


【解决方案1】:

按照 albert 的建议,HTML 表格似乎是实现我想要的结果的合理工具。

这是我的尝试:

<table style="border: none; border-collapse: collapse; margin-left:auto; margin-right:auto; table-layout: fixed; width: 1000px;">
 <caption style="caption-side: bottom" id="Figure-1">Example of binary string: IP packet structure.</caption>
 <tr>
  <td>
  <td style="text-align: left; font-size: 10px;" colspan="8">0
  <td style="text-align: left; font-size: 10px;" colspan="8">8
  <td style="text-align: left; font-size: 10px;" colspan="2">16
  <td style="text-align: right; font-size: 10px;" colspan="1">18
  <td style="text-align: left; font-size: 10px;" colspan="5">
  <td style="text-align: left; font-size: 10px;" colspan="4">24
  <td style="text-align: right; font-size: 10px;" colspan="4">31
 <tr>
  <td text-align="center" vertical-align="middle">1
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="4">Version
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="4">Header Length
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="8">Type of Service
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="16">Total Length
 <tr>
  <td text-align="center" vertical-align="middle">2
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="16">Identification
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="3">Flags
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="13">Fragment Offset
 <tr>
  <td text-align="center" vertical-align="middle">3
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="8">Time To Live
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="8">Protocol
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="16">Header Checksum
 <tr>
  <td text-align="center" vertical-align="middle">4
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="32">Source IP Address
 <tr>
  <td text-align="center" vertical-align="middle">5
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="32">Destination IP Address
 <tr>
  <td text-align="center" vertical-align="middle">6
  <td style="border: 2px solid black; border-collapse: collapse; text-align: center;" colspan="32" rowspan="3">Options
 <tr>
  <td text-align="center" vertical-align="middle">7
 <tr>
  <td text-align="center" vertical-align="middle">8
</table>

任何其他建议将不胜感激。

【讨论】:

  • 对于“标志”,我会更清楚地指出它使用 3 位
  • 类似于在第一行的字段末尾对应的位置添加另一个索引? (见编辑的 sn-p)
  • 这个想法是让它与其他索引相对应,因此在字段的开头,即在这种情况下为值 19。 (很好的例子,我试过了,LaTeX 输出有一个小问题,找到了问题,但必须看看是否还有其他极端情况)。
  • 再次感谢您的建议。反正我暂时只对html输出感兴趣
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
相关资源
最近更新 更多