
Estoy trabajando en un diagrama de interacción para un curso de diseño de programación. Para conjuntos de objetos, debo dibujar rectángulos superpuestos, más o menos así:
Hubo unpublicar sobre rellenos superpuestoseso parece bastante parecido a lo que quiero, pero no pude entender cómo usar el estilo de mis otros rectángulos.
Aquí hay una versión mínima de lo que tengo:
\documentclass{article}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning}
\title{Interaction Diagram - Add Book}
\author{}
\begin{document}
\begin{center}
\begin{tikzpicture}[
auto,
block/.style = {
minimum width = 9em,
rectangle,
draw=black,
align=center,
rounded corners
}
]
\node[block, below = 2cm of start] (controller) {\underline{: SystemController}};
\node[block, below = 2cm of controller] (system) {\underline{: System}};
% the following line should be the doubled up rectangles.
\node[block, below = 2cm of system] (books) {Books};
\end{tikzpicture}
\end{center}
\end{document}
Respuesta1
Supongo que en realidad te gusta tener algo como esto:
o
o
Para la última imagen utilizo el siguiente código:
\documentclass[tikz,
border= 3mm]{standalone}
\usetikzlibrary{positioning,shadows}
\begin{document}
\begin{tikzpicture}[
book/.style = {rectangle, draw, rounded corners, fill= white,
text width=9em, align= center,
copy shadow={draw, fill=gray,
shadow xshift=0.5mm, shadow yshift=-0.5mm}
}
]
\node[book] (books) {Books};
\end{tikzpicture}
\end{document}
En el código uso la biblioteca TikZ shadows
.
Respuesta2
Aquí hay una forma sin tikz
. Las \rule
dimensiones y el primer argumento de \stackengine
permitirán diferentes tamaños de caja y desplazamientos.
En este caso, los cuadros son de 30 puntos x 30 puntos, con un desplazamiento horizontal de 4 puntos y un desplazamiento vertical de 3 puntos. El grosor de la regla de caja es el predeterminado \fboxrule
.
\documentclass[12pt]{article}
\usepackage{xcolor,stackengine}
\fboxsep=-\fboxrule
\begin{document}
\stackengine{3pt}{\rule{4pt}{0pt}\fbox{\textcolor{white}{\rule{30pt}{30pt}}}}
{\fbox{\textcolor{white}{\rule{30pt}{30pt}}}}
{O}{l}{F}{F}{L}
\end{document}