How to define node blocks as composition from inside out? Announcing the arrival of Valued...

Did John Wesley plagiarize Matthew Henry...?

Where and when has Thucydides been studied?

Did pre-Columbian Americans know the spherical shape of the Earth?

The test team as an enemy of development? And how can this be avoided?

Problem with display of presentation

What does 丫 mean? 丫是什么意思?

Does a random sequence of vectors span a Hilbert space?

Plotting a Maclaurin series

How can I list files in reverse time order by a command and pass them as arguments to another command?

Twin's vs. Twins'

Is the Mordenkainen's Sword spell underpowered?

Weaponising the Grasp-at-a-Distance spell

Is there night in Alpha Complex?

New Order #6: Easter Egg

How to make an animal which can only breed for a certain number of generations?

Table formatting with tabularx?

Short story about astronauts fertilizing soil with their own bodies

Where did Ptolemy compare the Earth to the distance of fixed stars?

How does the body cool itself in a stillsuit?

Which types of prepositional phrase is "toward its employees" in Philosophy guiding the organization's policies towards its employees is not bad?

Why are current probes so expensive?

Can two people see the same photon?

Why not use the yoke to control yaw, as well as pitch and roll?

Why complex landing gears are used instead of simple, reliable and light weight muscle wire or shape memory alloys?



How to define node blocks as composition from inside out?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)How can I draw a TikZ element multiple times against a shaded background?Grouping objects and applying operation to the groupHow to draw path between nodes of nested tikzpictures?Define “block” and “connector” commands in TikZ?How to define the default vertical distance between nodes?To wrap the external lines so that it can touch the perimeterHow to fix naive solution for elements grouping?TikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingTikz: get the point at the arc endLine up nested tikz enviroments or how to get rid of themNode anchor centre of linefill color after batch drawSpace between containers and arrow from block to container












1















I've found a Q/A about how to create group nodes to blocks. It works, but exact opposite way as I needed. It defines internals and then draws blocks around them.



I need to define block with internals, LaTeX pseudocode:



begin{tikzpicture}
myblock(main){Main block name}{
mynode(anode)[params]
mynode(bnode)[params,right=of anode]
myblock(subblock){Subblock name}[below=of anode]{
mynode(subnodea)[p...]
mynode(subnodeb)[p...]
}
}
myblock(sideblock){Aux block}[right=of main]{
... mynodes ...
}
end{tikzpicture}


Is there a way, how to define myblock as "complex node" - position is as one node and it moves all its internal nodes.



I've figured out part of the solution (didn't put commands into def yet):



begin{tikzpicture}[
element/.style={draw=black, fill=white},
group/.style={draw=black, rounded corners, fill=white}
]

node(main_a)[element]{MAIN A};
node(group_a)[group, below=of main_a]{
begin{tikzpicture}
node(b)[element]{bb};
node(c)[element, left=of b]{ccc - left};
end{tikzpicture}
};
node(group_a_aux_r)[element,right=of group_a]{Aux Group Right};
node(group_a_aux_l)[element,left=of group_a]{Aux Group Left};
node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};

draw[->,red] (main_a) -- (group_a);
draw[->,red] (group_a) -- (group_a_aux_r);
draw[->,red] (group_a) -- (group_a_aux_l);
draw[->,red] (group_a) -- (group_a_aux_b);

node(group_b)[group, right=of group_a_aux_r]{
begin{tikzpicture}
node(d)[element]{dddd};
node(e)[element, left=of d]{eeee - left};
end{tikzpicture}
};

%code below fails - second image!!
node(aux_b)[element,right=of b,draw=blue]{Aux B};
node(aux_c)[element,left=of c,draw=blue]{Aux C};
draw[->,blue] (b) -- (aux_b);
draw[->,blue] (c) -- (aux_c);


draw[->,green] (c) -- (d);
end{tikzpicture}


Here is what I get without inner references:
complex node / group, without inner references
It works: lays out children, puts it into node and lays it out as node. However, It passes properties of group_a to its children, which is unwanted behaviour!



Here is what I get when inner references are added:
complex node / group, with inner references



This is completely broken.










share|improve this question




















  • 1





    I think you need a pic.

    – user11232
    Feb 8 '15 at 11:52











  • pic? What is that?

    – kravemir
    Feb 8 '15 at 12:16











  • Search for pic in pgfmanual.

    – user11232
    Feb 8 '15 at 12:25











  • Please always post complete code which can be compiled. You should post a minimal example which is a small document. Much more useful than fragments - especially with TiKZ.

    – cfr
    Feb 8 '15 at 14:42











  • Some examples with pics: tex.stackexchange.com/a/187977/1952, tex.stackexchange.com/a/151772/1952, tex.stackexchange.com/a/182700/1952

    – Ignasi
    Feb 9 '15 at 8:07
















1















I've found a Q/A about how to create group nodes to blocks. It works, but exact opposite way as I needed. It defines internals and then draws blocks around them.



I need to define block with internals, LaTeX pseudocode:



begin{tikzpicture}
myblock(main){Main block name}{
mynode(anode)[params]
mynode(bnode)[params,right=of anode]
myblock(subblock){Subblock name}[below=of anode]{
mynode(subnodea)[p...]
mynode(subnodeb)[p...]
}
}
myblock(sideblock){Aux block}[right=of main]{
... mynodes ...
}
end{tikzpicture}


Is there a way, how to define myblock as "complex node" - position is as one node and it moves all its internal nodes.



I've figured out part of the solution (didn't put commands into def yet):



begin{tikzpicture}[
element/.style={draw=black, fill=white},
group/.style={draw=black, rounded corners, fill=white}
]

node(main_a)[element]{MAIN A};
node(group_a)[group, below=of main_a]{
begin{tikzpicture}
node(b)[element]{bb};
node(c)[element, left=of b]{ccc - left};
end{tikzpicture}
};
node(group_a_aux_r)[element,right=of group_a]{Aux Group Right};
node(group_a_aux_l)[element,left=of group_a]{Aux Group Left};
node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};

draw[->,red] (main_a) -- (group_a);
draw[->,red] (group_a) -- (group_a_aux_r);
draw[->,red] (group_a) -- (group_a_aux_l);
draw[->,red] (group_a) -- (group_a_aux_b);

node(group_b)[group, right=of group_a_aux_r]{
begin{tikzpicture}
node(d)[element]{dddd};
node(e)[element, left=of d]{eeee - left};
end{tikzpicture}
};

%code below fails - second image!!
node(aux_b)[element,right=of b,draw=blue]{Aux B};
node(aux_c)[element,left=of c,draw=blue]{Aux C};
draw[->,blue] (b) -- (aux_b);
draw[->,blue] (c) -- (aux_c);


draw[->,green] (c) -- (d);
end{tikzpicture}


Here is what I get without inner references:
complex node / group, without inner references
It works: lays out children, puts it into node and lays it out as node. However, It passes properties of group_a to its children, which is unwanted behaviour!



Here is what I get when inner references are added:
complex node / group, with inner references



This is completely broken.










share|improve this question




















  • 1





    I think you need a pic.

    – user11232
    Feb 8 '15 at 11:52











  • pic? What is that?

    – kravemir
    Feb 8 '15 at 12:16











  • Search for pic in pgfmanual.

    – user11232
    Feb 8 '15 at 12:25











  • Please always post complete code which can be compiled. You should post a minimal example which is a small document. Much more useful than fragments - especially with TiKZ.

    – cfr
    Feb 8 '15 at 14:42











  • Some examples with pics: tex.stackexchange.com/a/187977/1952, tex.stackexchange.com/a/151772/1952, tex.stackexchange.com/a/182700/1952

    – Ignasi
    Feb 9 '15 at 8:07














1












1








1


0






I've found a Q/A about how to create group nodes to blocks. It works, but exact opposite way as I needed. It defines internals and then draws blocks around them.



I need to define block with internals, LaTeX pseudocode:



begin{tikzpicture}
myblock(main){Main block name}{
mynode(anode)[params]
mynode(bnode)[params,right=of anode]
myblock(subblock){Subblock name}[below=of anode]{
mynode(subnodea)[p...]
mynode(subnodeb)[p...]
}
}
myblock(sideblock){Aux block}[right=of main]{
... mynodes ...
}
end{tikzpicture}


Is there a way, how to define myblock as "complex node" - position is as one node and it moves all its internal nodes.



I've figured out part of the solution (didn't put commands into def yet):



begin{tikzpicture}[
element/.style={draw=black, fill=white},
group/.style={draw=black, rounded corners, fill=white}
]

node(main_a)[element]{MAIN A};
node(group_a)[group, below=of main_a]{
begin{tikzpicture}
node(b)[element]{bb};
node(c)[element, left=of b]{ccc - left};
end{tikzpicture}
};
node(group_a_aux_r)[element,right=of group_a]{Aux Group Right};
node(group_a_aux_l)[element,left=of group_a]{Aux Group Left};
node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};

draw[->,red] (main_a) -- (group_a);
draw[->,red] (group_a) -- (group_a_aux_r);
draw[->,red] (group_a) -- (group_a_aux_l);
draw[->,red] (group_a) -- (group_a_aux_b);

node(group_b)[group, right=of group_a_aux_r]{
begin{tikzpicture}
node(d)[element]{dddd};
node(e)[element, left=of d]{eeee - left};
end{tikzpicture}
};

%code below fails - second image!!
node(aux_b)[element,right=of b,draw=blue]{Aux B};
node(aux_c)[element,left=of c,draw=blue]{Aux C};
draw[->,blue] (b) -- (aux_b);
draw[->,blue] (c) -- (aux_c);


draw[->,green] (c) -- (d);
end{tikzpicture}


Here is what I get without inner references:
complex node / group, without inner references
It works: lays out children, puts it into node and lays it out as node. However, It passes properties of group_a to its children, which is unwanted behaviour!



Here is what I get when inner references are added:
complex node / group, with inner references



This is completely broken.










share|improve this question
















I've found a Q/A about how to create group nodes to blocks. It works, but exact opposite way as I needed. It defines internals and then draws blocks around them.



I need to define block with internals, LaTeX pseudocode:



begin{tikzpicture}
myblock(main){Main block name}{
mynode(anode)[params]
mynode(bnode)[params,right=of anode]
myblock(subblock){Subblock name}[below=of anode]{
mynode(subnodea)[p...]
mynode(subnodeb)[p...]
}
}
myblock(sideblock){Aux block}[right=of main]{
... mynodes ...
}
end{tikzpicture}


Is there a way, how to define myblock as "complex node" - position is as one node and it moves all its internal nodes.



I've figured out part of the solution (didn't put commands into def yet):



begin{tikzpicture}[
element/.style={draw=black, fill=white},
group/.style={draw=black, rounded corners, fill=white}
]

node(main_a)[element]{MAIN A};
node(group_a)[group, below=of main_a]{
begin{tikzpicture}
node(b)[element]{bb};
node(c)[element, left=of b]{ccc - left};
end{tikzpicture}
};
node(group_a_aux_r)[element,right=of group_a]{Aux Group Right};
node(group_a_aux_l)[element,left=of group_a]{Aux Group Left};
node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};

draw[->,red] (main_a) -- (group_a);
draw[->,red] (group_a) -- (group_a_aux_r);
draw[->,red] (group_a) -- (group_a_aux_l);
draw[->,red] (group_a) -- (group_a_aux_b);

node(group_b)[group, right=of group_a_aux_r]{
begin{tikzpicture}
node(d)[element]{dddd};
node(e)[element, left=of d]{eeee - left};
end{tikzpicture}
};

%code below fails - second image!!
node(aux_b)[element,right=of b,draw=blue]{Aux B};
node(aux_c)[element,left=of c,draw=blue]{Aux C};
draw[->,blue] (b) -- (aux_b);
draw[->,blue] (c) -- (aux_c);


draw[->,green] (c) -- (d);
end{tikzpicture}


Here is what I get without inner references:
complex node / group, without inner references
It works: lays out children, puts it into node and lays it out as node. However, It passes properties of group_a to its children, which is unwanted behaviour!



Here is what I get when inner references are added:
complex node / group, with inner references



This is completely broken.







tikz-pgf diagrams nodes






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '17 at 12:35









Community

1




1










asked Feb 8 '15 at 10:06









kravemirkravemir

24017




24017








  • 1





    I think you need a pic.

    – user11232
    Feb 8 '15 at 11:52











  • pic? What is that?

    – kravemir
    Feb 8 '15 at 12:16











  • Search for pic in pgfmanual.

    – user11232
    Feb 8 '15 at 12:25











  • Please always post complete code which can be compiled. You should post a minimal example which is a small document. Much more useful than fragments - especially with TiKZ.

    – cfr
    Feb 8 '15 at 14:42











  • Some examples with pics: tex.stackexchange.com/a/187977/1952, tex.stackexchange.com/a/151772/1952, tex.stackexchange.com/a/182700/1952

    – Ignasi
    Feb 9 '15 at 8:07














  • 1





    I think you need a pic.

    – user11232
    Feb 8 '15 at 11:52











  • pic? What is that?

    – kravemir
    Feb 8 '15 at 12:16











  • Search for pic in pgfmanual.

    – user11232
    Feb 8 '15 at 12:25











  • Please always post complete code which can be compiled. You should post a minimal example which is a small document. Much more useful than fragments - especially with TiKZ.

    – cfr
    Feb 8 '15 at 14:42











  • Some examples with pics: tex.stackexchange.com/a/187977/1952, tex.stackexchange.com/a/151772/1952, tex.stackexchange.com/a/182700/1952

    – Ignasi
    Feb 9 '15 at 8:07








1




1





I think you need a pic.

– user11232
Feb 8 '15 at 11:52





I think you need a pic.

– user11232
Feb 8 '15 at 11:52













pic? What is that?

– kravemir
Feb 8 '15 at 12:16





pic? What is that?

– kravemir
Feb 8 '15 at 12:16













Search for pic in pgfmanual.

– user11232
Feb 8 '15 at 12:25





Search for pic in pgfmanual.

– user11232
Feb 8 '15 at 12:25













Please always post complete code which can be compiled. You should post a minimal example which is a small document. Much more useful than fragments - especially with TiKZ.

– cfr
Feb 8 '15 at 14:42





Please always post complete code which can be compiled. You should post a minimal example which is a small document. Much more useful than fragments - especially with TiKZ.

– cfr
Feb 8 '15 at 14:42













Some examples with pics: tex.stackexchange.com/a/187977/1952, tex.stackexchange.com/a/151772/1952, tex.stackexchange.com/a/182700/1952

– Ignasi
Feb 9 '15 at 8:07





Some examples with pics: tex.stackexchange.com/a/187977/1952, tex.stackexchange.com/a/151772/1952, tex.stackexchange.com/a/182700/1952

– Ignasi
Feb 9 '15 at 8:07










1 Answer
1






active

oldest

votes


















1














Nesting TikZ pictures is not a good idea. It may give strange effects, as it happened to you.



You could use a TikZ matrix instead.



However, it is not clear where you want to position Aux B and Aux C because as they are in your MWE, they overlap with the other nodes.



documentclass{standalone} 
usepackage{tikz}
usetikzlibrary{matrix}
usetikzlibrary{positioning}
begin{document}
begin{tikzpicture}[
element/.style={draw=black},
group/.style={draw=black, rounded corners}
]
node(main_a)[element]{MAIN A};
matrix[group,
column sep=3em,
matrix of nodes,
nodes={element},
below=of main_a
] (group_a) {
|[name=b]|bb &
|[name=c]|{ccc - left}\
};
node(group_a_aux_r)[element,right= of group_a]{Aux Group Right};
node(group_a_aux_l)[element,left= of group_a]{Aux Group Left};
node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};
draw[->,red] (main_a) -- (group_a);
draw[->,red] (group_a) -- (group_a_aux_r);
draw[->,red] (group_a) -- (group_a_aux_l);
draw[->,red] (group_a) -- (group_a_aux_b);
matrix[group,
column sep=3em,
matrix of nodes,
nodes={element},
right=of group_a_aux_r
] (group_b) {
|[name=d]|dddd &
|[name=e]|{eeee - left}\
};
node(aux_b)[above left= of b,draw=blue]{Aux B};
node(aux_c)[below right=of c,draw=blue]{Aux C};
draw[->,blue] (b) -- (aux_b);
draw[->,blue] (c) -- (aux_c);

draw[->,green] (c) -- (d);
end{tikzpicture}
end{document}


enter image description here






share|improve this answer
























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "85"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f227162%2fhow-to-define-node-blocks-as-composition-from-inside-out%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Nesting TikZ pictures is not a good idea. It may give strange effects, as it happened to you.



    You could use a TikZ matrix instead.



    However, it is not clear where you want to position Aux B and Aux C because as they are in your MWE, they overlap with the other nodes.



    documentclass{standalone} 
    usepackage{tikz}
    usetikzlibrary{matrix}
    usetikzlibrary{positioning}
    begin{document}
    begin{tikzpicture}[
    element/.style={draw=black},
    group/.style={draw=black, rounded corners}
    ]
    node(main_a)[element]{MAIN A};
    matrix[group,
    column sep=3em,
    matrix of nodes,
    nodes={element},
    below=of main_a
    ] (group_a) {
    |[name=b]|bb &
    |[name=c]|{ccc - left}\
    };
    node(group_a_aux_r)[element,right= of group_a]{Aux Group Right};
    node(group_a_aux_l)[element,left= of group_a]{Aux Group Left};
    node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};
    draw[->,red] (main_a) -- (group_a);
    draw[->,red] (group_a) -- (group_a_aux_r);
    draw[->,red] (group_a) -- (group_a_aux_l);
    draw[->,red] (group_a) -- (group_a_aux_b);
    matrix[group,
    column sep=3em,
    matrix of nodes,
    nodes={element},
    right=of group_a_aux_r
    ] (group_b) {
    |[name=d]|dddd &
    |[name=e]|{eeee - left}\
    };
    node(aux_b)[above left= of b,draw=blue]{Aux B};
    node(aux_c)[below right=of c,draw=blue]{Aux C};
    draw[->,blue] (b) -- (aux_b);
    draw[->,blue] (c) -- (aux_c);

    draw[->,green] (c) -- (d);
    end{tikzpicture}
    end{document}


    enter image description here






    share|improve this answer




























      1














      Nesting TikZ pictures is not a good idea. It may give strange effects, as it happened to you.



      You could use a TikZ matrix instead.



      However, it is not clear where you want to position Aux B and Aux C because as they are in your MWE, they overlap with the other nodes.



      documentclass{standalone} 
      usepackage{tikz}
      usetikzlibrary{matrix}
      usetikzlibrary{positioning}
      begin{document}
      begin{tikzpicture}[
      element/.style={draw=black},
      group/.style={draw=black, rounded corners}
      ]
      node(main_a)[element]{MAIN A};
      matrix[group,
      column sep=3em,
      matrix of nodes,
      nodes={element},
      below=of main_a
      ] (group_a) {
      |[name=b]|bb &
      |[name=c]|{ccc - left}\
      };
      node(group_a_aux_r)[element,right= of group_a]{Aux Group Right};
      node(group_a_aux_l)[element,left= of group_a]{Aux Group Left};
      node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};
      draw[->,red] (main_a) -- (group_a);
      draw[->,red] (group_a) -- (group_a_aux_r);
      draw[->,red] (group_a) -- (group_a_aux_l);
      draw[->,red] (group_a) -- (group_a_aux_b);
      matrix[group,
      column sep=3em,
      matrix of nodes,
      nodes={element},
      right=of group_a_aux_r
      ] (group_b) {
      |[name=d]|dddd &
      |[name=e]|{eeee - left}\
      };
      node(aux_b)[above left= of b,draw=blue]{Aux B};
      node(aux_c)[below right=of c,draw=blue]{Aux C};
      draw[->,blue] (b) -- (aux_b);
      draw[->,blue] (c) -- (aux_c);

      draw[->,green] (c) -- (d);
      end{tikzpicture}
      end{document}


      enter image description here






      share|improve this answer


























        1












        1








        1







        Nesting TikZ pictures is not a good idea. It may give strange effects, as it happened to you.



        You could use a TikZ matrix instead.



        However, it is not clear where you want to position Aux B and Aux C because as they are in your MWE, they overlap with the other nodes.



        documentclass{standalone} 
        usepackage{tikz}
        usetikzlibrary{matrix}
        usetikzlibrary{positioning}
        begin{document}
        begin{tikzpicture}[
        element/.style={draw=black},
        group/.style={draw=black, rounded corners}
        ]
        node(main_a)[element]{MAIN A};
        matrix[group,
        column sep=3em,
        matrix of nodes,
        nodes={element},
        below=of main_a
        ] (group_a) {
        |[name=b]|bb &
        |[name=c]|{ccc - left}\
        };
        node(group_a_aux_r)[element,right= of group_a]{Aux Group Right};
        node(group_a_aux_l)[element,left= of group_a]{Aux Group Left};
        node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};
        draw[->,red] (main_a) -- (group_a);
        draw[->,red] (group_a) -- (group_a_aux_r);
        draw[->,red] (group_a) -- (group_a_aux_l);
        draw[->,red] (group_a) -- (group_a_aux_b);
        matrix[group,
        column sep=3em,
        matrix of nodes,
        nodes={element},
        right=of group_a_aux_r
        ] (group_b) {
        |[name=d]|dddd &
        |[name=e]|{eeee - left}\
        };
        node(aux_b)[above left= of b,draw=blue]{Aux B};
        node(aux_c)[below right=of c,draw=blue]{Aux C};
        draw[->,blue] (b) -- (aux_b);
        draw[->,blue] (c) -- (aux_c);

        draw[->,green] (c) -- (d);
        end{tikzpicture}
        end{document}


        enter image description here






        share|improve this answer













        Nesting TikZ pictures is not a good idea. It may give strange effects, as it happened to you.



        You could use a TikZ matrix instead.



        However, it is not clear where you want to position Aux B and Aux C because as they are in your MWE, they overlap with the other nodes.



        documentclass{standalone} 
        usepackage{tikz}
        usetikzlibrary{matrix}
        usetikzlibrary{positioning}
        begin{document}
        begin{tikzpicture}[
        element/.style={draw=black},
        group/.style={draw=black, rounded corners}
        ]
        node(main_a)[element]{MAIN A};
        matrix[group,
        column sep=3em,
        matrix of nodes,
        nodes={element},
        below=of main_a
        ] (group_a) {
        |[name=b]|bb &
        |[name=c]|{ccc - left}\
        };
        node(group_a_aux_r)[element,right= of group_a]{Aux Group Right};
        node(group_a_aux_l)[element,left= of group_a]{Aux Group Left};
        node(group_a_aux_b)[element,below=of group_a]{Aux Group Bottom};
        draw[->,red] (main_a) -- (group_a);
        draw[->,red] (group_a) -- (group_a_aux_r);
        draw[->,red] (group_a) -- (group_a_aux_l);
        draw[->,red] (group_a) -- (group_a_aux_b);
        matrix[group,
        column sep=3em,
        matrix of nodes,
        nodes={element},
        right=of group_a_aux_r
        ] (group_b) {
        |[name=d]|dddd &
        |[name=e]|{eeee - left}\
        };
        node(aux_b)[above left= of b,draw=blue]{Aux B};
        node(aux_c)[below right=of c,draw=blue]{Aux C};
        draw[->,blue] (b) -- (aux_b);
        draw[->,blue] (c) -- (aux_c);

        draw[->,green] (c) -- (d);
        end{tikzpicture}
        end{document}


        enter image description here







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 10 mins ago









        CarLaTeXCarLaTeX

        35.2k554148




        35.2k554148






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f227162%2fhow-to-define-node-blocks-as-composition-from-inside-out%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            El tren de la libertad Índice Antecedentes "Porque yo decido" Desarrollo de la...

            Castillo d'Acher Características Menú de navegación

            Connecting two nodes from the same mother node horizontallyTikZ: What EXACTLY does the the |- notation for...