비머의 UML 그래프 옆에 플로트 텍스트

비머의 UML 그래프 옆에 플로트 텍스트

프레젠테이션에서 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}$노드의 이름은 inst1and 입니다 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}

관련 정보