如何在PlantUML枚举类图中居中对齐literals分区标题?
问题:PlantUML枚举类图literals分区标题居中对齐
我希望依据UML 2.5.1规范(第168页)在PlantUML中创建枚举类图,使第三个分区上方的literals关键词居中对齐。该规范指出:枚举字面量列表可逐行放在名为“literals”的分区中,位于操作分区下方;属性和操作分区可被隐藏,通常为空。
原PlantUML代码如下:
@startuml package MyPackage { enum MyEnum { attrib1: str attrib2: int -- func1() func2() -- literals ONE_LITERAL TWO_LITERAL } } @enduml
解决方案
PlantUML默认的枚举分区标题为左对齐,可通过以下两种方式实现literals标题的居中:
方法一:使用HTML居中标签(局部生效)
直接用<center>标签包裹literals,PlantUML支持解析基础HTML格式,仅对该分区标题生效:
@startuml package MyPackage { enum MyEnum { attrib1: str attrib2: int -- func1() func2() -- <center>literals</center> ONE_LITERAL TWO_LITERAL } } @enduml
方法二:通过skinparam全局配置分区标题对齐
如果需要统一所有枚举分区的标题对齐方式,可使用skinparam设置全局样式:
@startuml skinparam enum { HeaderFontAlign center } package MyPackage { enum MyEnum { attrib1: str attrib2: int -- func1() func2() -- literals ONE_LITERAL TWO_LITERAL } } @enduml
该配置会将枚举的属性、操作、字面量所有分区的标题都设为居中,适合需要统一风格的场景。
两种方法均符合UML 2.5.1规范对枚举字面量分区的要求,可根据实际需求选择。
内容的提问来源于stack exchange,提问作者bad_coder
相关产品推荐
相关产品推荐

