我在簡報中使用 uml 序列圖beamer
,我需要在 uml 圖旁邊的浮動框中編寫一些方程,以便可以精確定位。
這是我的 uml 程式碼:
\documentclass[10pt]{beamer}
\usepackage{pgf-umlsd}
\begin{document}
\begin{frame}
\begin{sequencediagram}
\newthread{CA}{CA}
\newinst[4]{P}{$u_i$}
\begin{messcall}{CA}{$
\begin{bmatrix}
s_{11}^i & \cdots & s_{1d}^i \\
\vdots & \ddots & \vdots \\
s_{m1}^i & \cdots & s_{md}^i \\
\end{bmatrix}
$}{P}
\end{messcall}
\end{sequencediagram}
\end{frame}
\end{document}
謝謝...
答案1
pgf-umlsd
在建立圖表時使用各種命名節點,因此如果您知道這些節點名稱是什麼,則可以使用它們來放置文字。由於環境的內容sequencediagram
放置在tikzpicture
環境內部,因此您可以使用通常的方式\node
添加文字。
找出節點名稱需要查看pgf-umlsd.sty
.例如,CA
和$u_{i}$
節點被命名為inst1
和inst2
。所有此類節點都被命名為instN
,其中N
是一個正在運行的計數器。
因此,您可以在之前添加以下兩行\end{sequencediagram}
:
\node [below=3mm,xshift=2mm,anchor=north east,font=\tiny,align=left] at (inst1.south west) {some text here\\the align key\\allows for line breaks};
\node [below=3mm,xshift=-2mm,anchor=north west,font=\tiny,align=left] at (inst2.south east) {some other\\text\\over here};
得到以下結果:
完整程式碼:
\documentclass[10pt]{beamer}
\usepackage{pgf-umlsd}
\begin{document}
\begin{frame}
\begin{sequencediagram}
\newthread{CA}{CA}
\newinst[4]{P}{$u_i$}
\begin{messcall}{CA}{$
\begin{bmatrix}
s_{11}^i & \cdots & s_{1d}^i \\
\vdots & \ddots & \vdots \\
s_{m1}^i & \cdots & s_{md}^i \\
\end{bmatrix}
$}{P}
\end{messcall}
\node [below=3mm,xshift=2mm,anchor=north east,font=\tiny,align=left] at (inst1.south west) {some text here\\the align key\\allows for line breaks};
\node [below=3mm,xshift=-2mm,anchor=north west,font=\tiny,align=left] at (inst2.south east) {some other\\text\\over here};
\end{sequencediagram}
\end{frame}
\end{document}