Использование подходящего узла поверх тени для включения тени

Использование подходящего узла поверх тени для включения тени

Я использовал двойную копию тени (изэтот ответ) для добавления нескольких прямоугольников к узлу. Теперь я хотел бы обернуть этот узел и несколько других узлом подгонки, но, похоже, узел подгонки не включает тени.

Например:

\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}

В результате получается:

визуализированный пример

Можно ли изменить код, чтобы включить их?

решение1

Если известно увеличение заполняемости из-за теней, можно определить fit shadowстиль с увеличенной заполняемостью, x|y sepвключающей тени.

\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}

введите описание изображения здесь

В качестве альтернативы можно также включить желаемый угол тени в fitсписок:

\node [fit={(a)([shift={(2ex,-3ex)}]b.south east)}, draw, rectangle] {};

введите описание изображения здесь

Связанный контент