How to make multiple sequence diagrams in single page
Asked Answered
C

2

19

I wonder if there is any way to make a plantuml two sequence diagram in single page side by side. I want to keep the same actor names in both diagram. Currently if I do something like below, it automatically combined into single sequence diagram.

@startuml
Bob -> Alice : hello
@enduml

@startuml
Bob -> Mark : Hi
@enduml

sample

But expected two sequence side by side

Cruickshank answered 8/2, 2019 at 7:30 Comment(0)
S
27

newpage: The newpage keyword is used to split a diagram into several images.

@startuml

header SayHello
footer Page %page% of %lastpage%

Bob -> Alice : hello

newpage last page

Bob -> Mark : Hi

@enduml

Result:

enter image description here

Reference

You also could define a variable like "PAGE_SETTING" to decide whether on or off it.

@startuml

' seton demo
!define PAGE_SETTING newpage

header SayHello
footer Page %page% of %lastpage%

Bob -> Alice : hello

PAGE_SETTING

Bob -> Mark : Hi

@enduml

Result:

enter image description here

Reference:Macro definition

Specimen answered 13/2, 2019 at 9:13 Comment(5)
Wow thats exactly what I wanted. Thanks Carson Arucard.Cruickshank
dont know if something has changed, but it is not working anymore..Andiron
Hi @MichałMargiel , This post has been up for a while. You said it suddenly didn't work, so I thought there might be some changes in the new version, and after I updated all the packages ( plantuml.1.2021.3.jar | Graphviz 2.47.0 ) and tried again, it still worked. hope you can solve the problem successfully!Specimen
@Carson, maybe its because i am trying onhttp://www.plantuml.com/ and I dont see any way how to display all pages.Andiron
@MichałMargiel it seems that newpage does not work, when using the default start/end state [*] in state diagrams. There might also be other generated objects, that break newpage.Phytobiology
S
3

if you just want to mark "newpage" you can try something like this

@startuml

    ' define
        !define NEW_PAGE_1 == newpage ==

        !definelong NEW_PAGE_2(obj)
            note over obj: newpage
        !enddefinelong

    ' main
        Bob -> Alice : hello
        NEW_PAGE_1
        Bob -> Mark : Hi
        NEW_PAGE_2(Bob)
        Bob -> Carson

@enduml

enter image description here

Specimen answered 15/2, 2019 at 3:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.