tikz: dibuja un cuadro de notas estilo uml

tikz: dibuja un cuadro de notas estilo uml

¿Puedo dibujar un cuadro de notas estilo uml con tikz?

La imagen de abajo está copiada de UML:

ingrese la descripción de la imagen aquí

Lo intento con tikz como se muestra a continuación:

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning,shapes.multipart}

\definecolor{activityBackgroundColor}{RGB}{254,254,206}
\definecolor{activityBorderColor}{RGB}{168,0,54}
\definecolor{noteBackgroundColor}{RGB}{251,251,119}
\definecolor{noteBorderColor}{RGB}{168,0,54}
\begin{document}

\begin{tikzpicture}[every text node part/.style={align=center}]

\node (A) [draw=activityBorderColor,fill=activityBackgroundColor,rectangle,rounded corners,] {Hello \\ world};
\node[draw=noteBorderColor,fill=noteBackgroundColor,rectangle,right=2mm of A] {this is \\ a node};
\end{tikzpicture}

\end{document}

Producción:

ingrese la descripción de la imagen aquí

¿Cómo podemos obtener exactamente el mismo estilo que el cuadro de notas uml?

Respuesta1

Hay una shapes.calloutbiblioteca que se acerca sin mucho trabajo. Si insistes en el aspecto de las esquinas dobladas, es posible crear una nueva forma tú mismo (aunque sospecho que requiere bastante trabajo para ese detalle).

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning,shapes.multipart,shapes.callouts}

\definecolor{activityBackgroundColor}{RGB}{254,254,206}
\definecolor{activityBorderColor}{RGB}{168,0,54}
\definecolor{noteBackgroundColor}{RGB}{251,251,119}
\definecolor{noteBorderColor}{RGB}{168,0,54}
\begin{document}

\begin{tikzpicture}[every text node part/.style={align=center}]

\node (A) [draw=activityBorderColor,fill=activityBackgroundColor,rectangle,rounded corners,] {Hello \\ world};
\node[draw=noteBorderColor,fill=noteBackgroundColor,rectangle callout,callout relative pointer={(-1,0)},right =of A] {this is \\ a node};
\end{tikzpicture}

\end{document}

salida de código

Respuesta2

Si desea agregar el pequeño rincón doblado a la respuesta de Alan Munn:

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{positioning,%shapes.multipart,
    shapes.callouts}
\definecolor{activityBackgroundColor}{RGB}{254,254,206}
\definecolor{activityBorderColor}{RGB}{168,0,54}
\definecolor{noteBackgroundColor}{RGB}{251,251,119}
\definecolor{noteBorderColor}{RGB}{168,0,54}
\begin{document}

    \begin{tikzpicture}[every text node part/.style={align=center}]
        \node (A) [draw=activityBorderColor,fill=activityBackgroundColor,rectangle,rounded corners] {Hello \\ world};
        \node[draw=noteBorderColor,fill=noteBackgroundColor,rectangle callout,callout relative pointer={(-1,0)},right =3em of A] (B) {this is \\ a node};
        \draw[white, fill=white] ([xshift=-4pt]B.north east) -- (B.north east) -- ([yshift=-4pt]B.north east);
        \draw[noteBorderColor, fill=noteBackgroundColor, line width=.4pt] ([shift={(-4pt,-.2pt)}]B.north east) -- ([shift={(-4pt,-4pt)}]B.north east)  [rounded corners=.01pt]-- ([shift={(-.2pt,-4pt)}]B.north east) -- cycle;
    \end{tikzpicture}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada