Estoy usando el gráfico de secuencia uml en una beamer
presentación, necesito escribir algunas ecuaciones en un cuadro flotante al lado del gráfico uml de manera que pueda precisar el posicionamiento.
Aquí está mi código 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}
Gracias...
Respuesta1
pgf-umlsd
utiliza varios nodos con nombres en la construcción del diagrama, por lo que si descubre cuáles son esos nombres de nodos, puede usarlos para colocar el texto. Debido a que el contenido de un sequencediagram
entorno se coloca dentro de un tikzpicture
entorno, puede utilizar lo habitual \node
para agregar texto.
Averiguar los nombres de los nodos requiere buscar en pgf-umlsd.sty
. Por ejemplo, los nodos CA
y $u_{i}$
se denominan inst1
y inst2
. Todos estos nodos se denominan instN
, donde N
hay un contador en ejecución.
Por lo tanto, podrías agregar las siguientes dos líneas justo antes \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};
para obtener el siguiente resultado:
Código completo:
\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}