texto flotante al lado del gráfico uml en beamer

texto flotante al lado del gráfico uml en beamer

Estoy usando el gráfico de secuencia uml en una beamerpresentació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...

ingrese la descripción de la imagen aquí

Respuesta1

pgf-umlsdutiliza 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 sequencediagramentorno se coloca dentro de un tikzpictureentorno, puede utilizar lo habitual \nodepara agregar texto.

Averiguar los nombres de los nodos requiere buscar en pgf-umlsd.sty. Por ejemplo, los nodos CAy $u_{i}$se denominan inst1y inst2. Todos estos nodos se denominan instN, donde Nhay 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:

diagrama de secuencia con nodos agregados

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}

información relacionada