首页 > 解决方案 > 有没有办法在 PlantUML 中实现每个块的 rankep 控制?

问题描述

我想避免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 之间的差距太大。其他块正在控制别克块的对齐方式:

排名第 25 位

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

排名 100

标签: umlplantuml

解决方案


推荐阅读