如何在序列图调用之间添加垂直空间?

如何在序列图调用之间添加垂直空间?

我正在使用该包pgf-umlsd绘制序列图。我有两个后续调用嵌套在一个父调用中。当我用来\shortstack编写第二个调用的标签时,它与前一个调用有重叠。

在此处输入图片描述

这是我的源代码:

\begin{sequencediagram}
    \renewcommand\unitfactor{0.7}
    \tikzstyle{inststyle}+=[minimum width=2cm, minimum height=1cm, rounded corners=3mm]
    
    \newthread{user}{User}
    \newinst[1]{client}{Client}
    \newinst[1]{inst1}{inst1}
    \newinst[1]{inst2}{inst2}
    
    \begin{call}{user}{Authenticate}{client}{Home page}
    
        \begin{call}[2]{client}{call1()}{inst1}{return}
        \end{call}
        
        \begin{call}[3]
        {client}{\shortstack{\texttt{POST /token} \\ Client ID + Client}}{inst2}{access token}
        \end{call}
    
    \end{call}

\end{sequencediagram}

如何在连续的呼叫之间垂直创建更多空间?

答案1

我找到了解决方案,在此发布以帮助其他人。只需\postlevel在后续调用之间添加命令即可。

\documentclass{report}
\usepackage{pgf-umlsd}

\begin{document}

\begin{center}
\begin{sequencediagram}
    \renewcommand\unitfactor{0.7}
    \tikzstyle{inststyle}+=[minimum width=2cm, minimum height=1cm, rounded corners=3mm]
    
    \newthread{user}{User}
    \newinst[1]{client}{Client}
    \newinst[1]{inst1}{inst1}
    \newinst[1]{inst2}{inst2}
    
    \begin{call}{user}{Authenticate}{client}{Home page}
    
        \begin{call}[2]{client}{call1()}{inst1}{return}
        \end{call}

        \postlevel
        
        \begin{call}[3]
        {client}{\shortstack{\texttt{POST /token} \\ Client ID + Client}}{inst2}{access token}
        \end{call}
    
    \end{call}

\end{sequencediagram}
\end{center}

\end{document}

结果:

在此处输入图片描述

相关内容