
¿Puedo dibujar un cuadro de notas estilo uml con tikz?
La imagen de abajo está copiada de UML:
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:
¿Cómo podemos obtener exactamente el mismo estilo que el cuadro de notas uml?
Respuesta1
Hay una shapes.callout
biblioteca 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}
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}