
Ich habe den doppelten Schatten verwendet (vondiese Antwort), um einem Knoten mehrere Rechtecke hinzuzufügen. Ich möchte diesen Knoten und mehrere andere nun mit einem Anpassungsknoten umschließen, aber es scheint, als ob der Anpassungsknoten die Schatten nicht enthält.
Zum Beispiel:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadows,positioning,calc,fit}
\tikzset{multiple/.style = {double copy shadow={shadow xshift=1ex,shadow
yshift=-1.5ex,draw=black!30},fill=white,draw=black,thick,minimum height = 1cm,minimum
width=2cm},
ordinary/.style = {rectangle,draw,thick,minimum height = 1cm,minimum width=2cm}}
\begin{document}
\begin{tikzpicture}
\node [ordinary] at (0,0) (a) {Some};
\node [multiple,below=3cm of a] (b) {Text};
\draw[-latex] (a) -- coordinate (ab) (b);
\draw (ab) -- ++(0.7,-0.5)coordinate[pos=.3](ab1) coordinate[pos=.6](ab2);
\draw[-latex] (ab1) -- ($(b.north west)!(ab1)!(b.north east)$);
\draw[-latex] (ab2) -- ($(b.north west)!(ab2)!(b.north east)$);
\node [fit=(a)(b),draw,rectangle] {};
\end{tikzpicture}
\end{document}
Daraus ergibt sich:
Ist es möglich, den Code zu ändern, um sie einzuschließen?
Antwort1
Wenn die durch Schatten erhöhte Belegung bekannt ist, kann ein fit shadow
Stil mit erhöhter Belegung definiert werden x|y sep
, um Schatten einzubeziehen.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shadows,positioning,calc,fit}
\tikzset{%
multiple/.style = {%
double copy shadow={%
shadow xshift=1ex,
shadow yshift=-1.5ex,
draw=black!30},
fill=white,
draw=black,
thick,
minimum height = 1cm,
minimum width=2cm},
ordinary/.style = {%
rectangle,
draw,
thick,
minimum height = 1cm,
minimum width=2cm},
fit shadow/.style = {%
fit = #1,
inner xsep=2ex+.3333em,
inner ysep=3ex+.3333em}
}
\begin{document}
\begin{tikzpicture}
\node [ordinary] at (0,0) (a) {Some};
\node [multiple, below=3cm of a] (b) {Text};
\draw[-latex] (a) -- coordinate (ab) (b);
\draw (ab) -- ++(0.7,-0.5)coordinate[pos=.3](ab1) coordinate[pos=.6](ab2);
\draw[-latex] (ab1) -- ($(b.north west)!(ab1)!(b.north east)$);
\draw[-latex] (ab2) -- ($(b.north west)!(ab2)!(b.north east)$);
\node [fit shadow=(a)(b), draw, rectangle] {};
\end{tikzpicture}
\end{document}
Alternativ ist es auch möglich, die gewünschte Schattenecke in fit
die Liste aufzunehmen:
\node [fit={(a)([shift={(2ex,-3ex)}]b.south east)}, draw, rectangle] {};