我正在使用该包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}
结果: