%!TEX root = ../pmdraw.tex % *------------------------------* % |8````````````````````````````7| % |`````____````____`````````````| % |````|MFMF\ /MFMF|````````````| % |````|MF|MF\/MF|MF|````````````| % |````|MF|\MFMF/|MF|_______`````| % |````|MF|``````|MFMFMFMFMF|````| % |````|MF|``````|MF|````````````| % |````|MF|``````|MF|___`````````| % |``````````````|MFMFMF|````````| % |``````````````|MF|````````````| % |``````````````|MF|````````````| % |``````````````|MF|````````````| % |7````````````````````````````3| % *------------------------------* \usetikzlibrary{patterns} \newcommand{\blockStyles}{ \tikzstyle{typeI} = [ very thick, rounded corners=5pt, red, preaction={fill, red!3} ] \tikzstyle{typeT} = [ very thick, rounded corners=5pt, dash pattern={on 7.5pt off 2.5pt}, green, preaction={fill, green!3} ] \tikzstyle{typeB} = [ very thick, rounded corners=5pt, dash pattern={on 2.5pt off 2.5pt}, blue, preaction={fill, blue!3} ] \tikzstyle{typeO} = [ very thick, rounded corners=5pt, dash pattern={on 2.5pt off 2.5pt on 7.5pt off 2.5pt}, orange, preaction={fill, orange!3} ] \tikzstyle{typeU} = [ very thick, rounded corners=5pt, dash pattern={on 2.5pt off 2.5pt on 2.5pt off 2.5pt on 7.5pt off 2.5pt}, violet, preaction={fill, violet!3} ] \tikzstyle{typeN} = [ very thick, rounded corners=5pt, dash pattern={on 7.5pt off 2.5pt on 7.5pt off 2.5pt on 2.5pt off 2.5pt}, yellow, preaction={fill, yellow!3} ] } \pmdProduct[ % Options decorate before={ \blockStyles \draw[typeO] (0.6, -1.9) rectangle (4.4, 0.7); \foreach \x in {0,2} { \begin{scope}[shift={(\x,0)}] \draw[typeB] (0.6, -3.4) rectangle (2.4, -2.3); \draw[typeT] (0.6, 1.3) rectangle (2.4, 2.4); \end{scope} } } ]{ % Added edges {1}{4} }{ % Top Diagram { % Brick 1 [ % Options degree=4 ]{ % Upper non transversal edges {1}{2} {3}{4} }{ % Lower non transversal edges {1}{2} {3}{4} }{ % Transversal edges \pmdEmpty } } }{ % Bottom Diagram { % Brick 1 [ % Options degree=4, levels top=2 ]{ % Upper non transversal edges [level=2]{1}{4} {2}{3} }{ % Lower non transversal edges {1}{2} {3}{4} }{ % Transversal edges \pmdEmpty } } } \hspace{5em} \pmdProduct[ % Options decorate before={ \blockStyles \draw[typeO] (0.6, -1.9) rectangle (11.4, 0.7); \foreach \x in {0,2,4,7,9} { \begin{scope}[shift={(\x,0)}] \draw[typeB] (0.6, -3.4) rectangle (2.4, -2.3); \draw[typeT] (0.6, 1.3) rectangle (2.4, 2.4); \end{scope} } } ]{ % Added edges {1}{5} {9}{11} }{ % Top Diagram { % Brick 1 [ % Options degree=6 ]{ % Upper non transversal edges {1}{2} {3}{4} {5}{6} }{ % Lower non transversal edges {1}{2} {3}{4} {5}{6} }{ % Transversal edges \pmdEmpty } }{ % Brick 2 [ % Options degree=4 ]{ % Upper non transversal edges {1}{2} {3}{4} }{ % Lower non transversal edges {1}{2} {3}{4} }{ % Transversal edges \pmdEmpty } } }{ % Bottom Diagram { % Brick 1 [ % Options degree top=5, levels top=2, degree bottom=6 ]{ % Upper non transversal edges [level=2]{1}{11} {2}{3} {4}{5} }{ % Lower non transversal edges {1}{2} {3}{4} {5}{6} }{ % Transversal edges \pmdEmpty } }{ % Brick 2 [ % Options blank top=1, degree top=3, degree bottom=4, levels top=2 ]{ % Upper non transversal edges {2}{3} }{ % Lower non transversal edges {1}{2} {3}{4} }{ % Transversal edges \pmdEmpty } } }