有没有办法在 PlantUML 中实现每块的ranksep 控制?

问题描述

我想避免 PlantUML 行列(行)跨块(packages)排列。我宁愿它在自身内部对齐。我在没有运气的情况下搜索了 SO 和搜索引擎。我尝试了各种组合、顺序和方向,看看是否有帮助,但还是没有运气。 skinparam ranksep 具有全局效果,在块内移动它不起作用。

有没有办法阻止它跨块对齐并使其在块内布局?

这是我制作的 MRE:

@startuml
skinparam packageStyle rectangle
skinparam ranksep 100
together {
   package Q {
      C -- D
   }
   package R  {
      E -- F
   }
}
Q --[hidden]- R
package Buick {
   class "Buick Electra 225 Riviera" as Electra225Riviera
   class "Buick Electra 225" as Electra225
   class "Buick Electra" as Electra
   class "Buick"
   Electra225 <|-- Electra225Riviera
   Electra  <|--  Electra225
   Buick <|-- Electra
}
@enduml

使用 ranksep 25 它会产生这个,它没有我想要的均匀对齐。我不想要Electra和Electra 225之间的大差距。其他块是控制别克块的对齐方式:

ranksep 25

为了比较,这是与 ranksep 100 的比较,其中的分离是偶然的。如果其他块被改变,它会改变:

ranksep 100

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)