在 tikz-uml 序列图上添加注释

在 tikz-uml 序列图上添加注释

是否可以在 tikz-uml 图上添加一些注释?例如,我希望在 handleMessage 下(箭头线下方)添加“MSG_PERSIST_VOLUME”。

\documentclass[border=2pt]{standalone} 
\usepackage[english]{babel} 
\usepackage{tikz} 
\usepackage{tikz-uml} 
\usetikzlibrary{matrix, shapes, positioning} 

\begin{document} 
\small\begin{tikzpicture} 
  \begin{umlseqdiag} 
    \umlactor{user} 
    \umlobject{AudioService} 
    \umlobject[]{Settings} 
    \begin{umlcall}[op=handleMessage(),return=1]{user}{AudioService}
        \begin{umlcall}[op=persistVolume(),return=1]{AudioService}{AudioService}
             \begin{umlcall}[op=putIntForUser(),return=1]{AudioService}{Settings}
                \begin{umlcall}[op=putStringForUser(),return=1]{Settings}{Settings}
                \end{umlcall} 
             \end{umlcall} 
        \end{umlcall} 
    \end{umlcall}
  \end{umlseqdiag} 
\end{tikzpicture} 

 \end{document}

输出: 在此处输入图片描述

答案1

name=a如果您向环境提供选项,则将调用umlcall该节点(类似地,调用该节点),因此您可以使用它来定位节点。opa-opreturna-return

如果不提供name,这些节点就像call-N-op,其中N是从 1 开始的 s 的计数器umlcall。换句话说,如果您name=a在下面的代码中省略 ,请使用call-1-op.south而不是a.south

代码输出

\documentclass[border=20pt]{standalone} 
\usepackage[english]{babel} 
\usepackage{tikz-uml} 

\begin{document} 
\small\begin{tikzpicture} 
  \begin{umlseqdiag} 
    \umlactor{user} 
    \umlobject{AudioService} 
    \umlobject[]{Settings} 
    \begin{umlcall}[op=handleMessage(),return=1,name=a]{user}{AudioService}
        \begin{umlcall}[op=persistVolume(),return=1]{AudioService}{AudioService}
             \begin{umlcall}[op=putIntForUser(),return=1]{AudioService}{Settings}
                \begin{umlcall}[op=putStringForUser(),return=1]{Settings}{Settings}
                \end{umlcall} 
             \end{umlcall} 
        \end{umlcall} 
    \end{umlcall}
  \end{umlseqdiag} 

\node [below,font=\scriptsize] at (a-op.south) {MSG\_PERSIST\_VOLUME};
\end{tikzpicture} 
\end{document}

相关内容