是否可以在 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
该节点(类似地,调用该节点),因此您可以使用它来定位节点。op
a-op
return
a-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}