Problem drawing boxes with arrows in tikZ Announcing the arrival of Valued Associate #679:...

Dominant seventh chord in the major scale contains diminished triad of the seventh?

Are my PIs rude or am I just being too sensitive?

What are the motives behind Cersei's orders given to Bronn?

3 doors, three guards, one stone

When is phishing education going too far?

When -s is used with third person singular. What's its use in this context?

Disable hyphenation for an entire paragraph

Were Kohanim forbidden from serving in King David's army?

What is the correct way to use the pinch test for dehydration?

Does surprise arrest existing movement?

How to motivate offshore teams and trust them to deliver?

Is there a "higher Segal conjecture"?

What would be the ideal power source for a cybernetic eye?

Why is black pepper both grey and black?

List *all* the tuples!

Letter Boxed validator

What causes the vertical darker bands in my photo?

Antler Helmet: Can it work?

What do you call a plan that's an alternative plan in case your initial plan fails?

Why did the IBM 650 use bi-quinary?

Storing hydrofluoric acid before the invention of plastics

Right-skewed distribution with mean equals to mode?

Bonus calculation: Am I making a mountain out of a molehill?

Is there a concise way to say "all of the X, one of each"?



Problem drawing boxes with arrows in tikZ



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)TikZ node placement and arrow drawingHow to define the default vertical distance between nodes?Computing the rectangle encompassing a node and a pointNumerical conditional within tikz keys?Input/Output Nodes - Specification and Description LanguageTikZ: Drawing an arc from an intersection to an intersectionHow to prevent rounded and duplicated tick labels in pgfplots with fixed precision?Drawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to draw a square and its diagonals with arrows?












1















Could someone, whenever it's possible, post a minimal tikZ example to draw this? I also would like to put an "R" inside the upper box. This is mi code so far (I know, it's a mess):



documentclass[tikz]{standalone}
begin{document}
tikzstyle{vspecies}=[rectangle, minimum size=0.5cm,draw=black,fill=blue]
begin{tikzpicture}

node [vspecies] (I) {I} ;
node [vspecies, above left of = I] (N) {M} ;
node [vspecies, below left of = I] (K) {K} ;
draw [->,thick] (S.south east) -- node {small{$N$}} (M) ; ;
draw [->,thick] (C) -- node [below right] {small{$M$}} (M) ;

end{tikzpicture}
end{document}


enter image description here










share|improve this question







New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    You can use local bounding box. Btw, your code is not even compilable

    – JouleV
    1 hour ago


















1















Could someone, whenever it's possible, post a minimal tikZ example to draw this? I also would like to put an "R" inside the upper box. This is mi code so far (I know, it's a mess):



documentclass[tikz]{standalone}
begin{document}
tikzstyle{vspecies}=[rectangle, minimum size=0.5cm,draw=black,fill=blue]
begin{tikzpicture}

node [vspecies] (I) {I} ;
node [vspecies, above left of = I] (N) {M} ;
node [vspecies, below left of = I] (K) {K} ;
draw [->,thick] (S.south east) -- node {small{$N$}} (M) ; ;
draw [->,thick] (C) -- node [below right] {small{$M$}} (M) ;

end{tikzpicture}
end{document}


enter image description here










share|improve this question







New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    You can use local bounding box. Btw, your code is not even compilable

    – JouleV
    1 hour ago
















1












1








1


0






Could someone, whenever it's possible, post a minimal tikZ example to draw this? I also would like to put an "R" inside the upper box. This is mi code so far (I know, it's a mess):



documentclass[tikz]{standalone}
begin{document}
tikzstyle{vspecies}=[rectangle, minimum size=0.5cm,draw=black,fill=blue]
begin{tikzpicture}

node [vspecies] (I) {I} ;
node [vspecies, above left of = I] (N) {M} ;
node [vspecies, below left of = I] (K) {K} ;
draw [->,thick] (S.south east) -- node {small{$N$}} (M) ; ;
draw [->,thick] (C) -- node [below right] {small{$M$}} (M) ;

end{tikzpicture}
end{document}


enter image description here










share|improve this question







New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












Could someone, whenever it's possible, post a minimal tikZ example to draw this? I also would like to put an "R" inside the upper box. This is mi code so far (I know, it's a mess):



documentclass[tikz]{standalone}
begin{document}
tikzstyle{vspecies}=[rectangle, minimum size=0.5cm,draw=black,fill=blue]
begin{tikzpicture}

node [vspecies] (I) {I} ;
node [vspecies, above left of = I] (N) {M} ;
node [vspecies, below left of = I] (K) {K} ;
draw [->,thick] (S.south east) -- node {small{$N$}} (M) ; ;
draw [->,thick] (C) -- node [below right] {small{$M$}} (M) ;

end{tikzpicture}
end{document}


enter image description here







tikz-pgf






share|improve this question







New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 1 hour ago









naveganteXnaveganteX

465




465




New contributor




naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1





    You can use local bounding box. Btw, your code is not even compilable

    – JouleV
    1 hour ago
















  • 1





    You can use local bounding box. Btw, your code is not even compilable

    – JouleV
    1 hour ago










1




1





You can use local bounding box. Btw, your code is not even compilable

– JouleV
1 hour ago







You can use local bounding box. Btw, your code is not even compilable

– JouleV
1 hour ago












4 Answers
4






active

oldest

votes


















2














Just for fun.



documentclass[tikz]{standalone}
usetikzlibrary{positioning}
begin{document}
tikzset{vspecies/.style={rectangle, minimum size=0.5cm,draw=blue}}
begin{tikzpicture}[>=latex]
node[draw,minimum width=1cm,minimum height=2cm,
label=left:$M$,label=above:$N$] (R){$R$};
node [vspecies,below left=1cm and 0.2cm of R,minimum height=1.2cm,
label=left:$M$,label=above:$K$] (R1) {} ;
node [vspecies,below right=1cm and 0.2cm of R,minimum width=1.2cm,
label=left:$K$,label=above:$N$] (R2) {} ;
draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south west) -- (R1.north east);
draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south east) -- (R2.north west);
end{tikzpicture}
end{document}


enter image description here






share|improve this answer































    2














    Something like this?



    documentclass[tikz,margin=1mm]{standalone}
    usetikzlibrary{positioning}
    begin{document}
    begin{tikzpicture}
    begin{scope}[local bounding box=a]
    node[minimum width=2cm,minimum height=3cm,draw] (main-a) {};
    path (main-a.west) node[left] {$N$} (main-a.north) node[above] {$M$};
    end{scope}
    begin{scope}[local bounding box=b2]
    node[minimum width=2cm,minimum height=1cm,draw,below right=of main-a] (main-b2) {};
    path (main-b2.east) node[right] {$K$} (main-b2.north) node[above] {$M$};
    end{scope}
    begin{scope}[local bounding box=b1]
    node[minimum width=1cm,minimum height=3cm,draw,below left=of main-a] (main-b1) {};
    path (main-b1.west) node[left] {$N$} (main-b1.north) node[above] {$K$};
    end{scope}
    draw[-stealth] (main-a.south) -- (b1.north east);
    draw[-stealth] (main-a.south) -- (b2.north west);
    end{tikzpicture}
    end{document}


    enter image description here






    share|improve this answer
























    • Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

      – naveganteX
      54 mins ago






    • 1





      @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

      – JouleV
      52 mins ago











    • I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

      – naveganteX
      50 mins ago



















    1














    Here is an overkill solution that defines a new pics "shape" (see section 18.2 of the 3.1.1 tikz manual),together with some custom pgfkeys for styling it. The end result is that you can produce:



    enter image description here



    using code:



    documentclass[tikz, border=5mm]{standalone}
    usetikzlibrary{positioning}

    begin{document}
    pgfkeys{/vspecies/.is family, /vspecies,
    colour/.initial = black, % rectangle colour
    fill/.initial = white, % default fill
    top label/.initial = M, % label on right
    right label/.initial= N, % label on left
    bottom label/.initial=, % label on left
    left label/.initial=, % label on left
    X/.initial = 5mm, % default width
    Y/.initial = 5mm, % default height
    shape/.initial = rectangle % default shape
    }

    tikzset{
    pics/vspecies/.style args={#1,#2}{% node name, pgfkeys key-value pairs
    code = {
    pgfkeys{/vspecies, #2}
    node[pgfkeysvalueof{/vspecies/shape},
    minimum size=pgfkeysvalueof{/vspecies/X},
    minimum height=pgfkeysvalueof{/vspecies/Y},
    draw=pgfkeysvalueof{/vspecies/colour},
    fill=pgfkeysvalueof{/vspecies/fill},
    label=east:pgfkeysvalueof{/vspecies/left label},
    label=north:pgfkeysvalueof{/vspecies/top label},
    label=south:pgfkeysvalueof{/vspecies/bottom label},
    label=west:pgfkeysvalueof{/vspecies/right label},
    ](#1) at (0,0){};
    }
    }
    }

    begin{tikzpicture}
    pic at (0,0) {vspecies={A,colour=red,Y=10mm}};
    pic[below left=10mm of A] {vspecies={B,top label=K,colour=blue,Y=20mm}};
    pic[below right=10mm of A] {vspecies={C,fill=blue!10,X=10mm,shape=circle,left label=N,right label=}};
    draw[->](A.south west)--(B.north east);
    draw[->](A.south east)--(C.north west);
    end{tikzpicture}

    end{document}


    The vspecies pic command take two arguments: the first is the name of a (normal) tikz node label and the second argunment is a comma separated list of key-value pairs tha specify:




    • the colour of the rectangle (default black)

    • the fill colour (default white)

    • the top label (default M)

    • the left label (default "")

    • the bottom label (default "")

    • the left label (default N)

    • the minimum X width

    • the minimum Y height

    • the shape (default rectangle)


    As I said, this is overkill (and I was bored:)






    share|improve this answer































      0














      Final version:



      documentclass[tikz,margin=1mm]{standalone}
      usetikzlibrary{positioning}
      begin{document}
      sffamily
      begin{tikzpicture}
      begin{scope}[local bounding box=a]
      node[minimum width=2cm,line width=0.199mm,minimum height=3cm,draw=black] (main-a) {R};
      path (main-a.west) node[left] {N} (main-a.north) node[above] {M};
      end{scope}
      begin{scope}[local bounding box=b2]
      node[minimum width=2cm,line width=0.199mm,minimum height=1cm,draw=blue,below right=of main-a] (main-b2) {};
      path (main-b2.east) node[right] {K} (main-b2.north) node[above] {M};
      end{scope}
      begin{scope}[local bounding box=b1]
      node[minimum width=1cm,line width=0.199mm,minimum height=3cm,draw=blue,below left=of main-a] (main-b1) {};
      path (main-b1.west) node[left] {N} (main-b1.north) node[above] {K};
      end{scope}
      draw[-stealth] (main-a.south) -- (b1.north east);
      draw[-stealth] (main-a.south) -- (b2.north west);
      end{tikzpicture}
      end{document}





      share|improve this answer








      New contributor




      naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





















        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
        });


        }
        });






        naveganteX is a new contributor. Be nice, and check out our Code of Conduct.










        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f485078%2fproblem-drawing-boxes-with-arrows-in-tikz%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        2














        Just for fun.



        documentclass[tikz]{standalone}
        usetikzlibrary{positioning}
        begin{document}
        tikzset{vspecies/.style={rectangle, minimum size=0.5cm,draw=blue}}
        begin{tikzpicture}[>=latex]
        node[draw,minimum width=1cm,minimum height=2cm,
        label=left:$M$,label=above:$N$] (R){$R$};
        node [vspecies,below left=1cm and 0.2cm of R,minimum height=1.2cm,
        label=left:$M$,label=above:$K$] (R1) {} ;
        node [vspecies,below right=1cm and 0.2cm of R,minimum width=1.2cm,
        label=left:$K$,label=above:$N$] (R2) {} ;
        draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south west) -- (R1.north east);
        draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south east) -- (R2.north west);
        end{tikzpicture}
        end{document}


        enter image description here






        share|improve this answer




























          2














          Just for fun.



          documentclass[tikz]{standalone}
          usetikzlibrary{positioning}
          begin{document}
          tikzset{vspecies/.style={rectangle, minimum size=0.5cm,draw=blue}}
          begin{tikzpicture}[>=latex]
          node[draw,minimum width=1cm,minimum height=2cm,
          label=left:$M$,label=above:$N$] (R){$R$};
          node [vspecies,below left=1cm and 0.2cm of R,minimum height=1.2cm,
          label=left:$M$,label=above:$K$] (R1) {} ;
          node [vspecies,below right=1cm and 0.2cm of R,minimum width=1.2cm,
          label=left:$K$,label=above:$N$] (R2) {} ;
          draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south west) -- (R1.north east);
          draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south east) -- (R2.north west);
          end{tikzpicture}
          end{document}


          enter image description here






          share|improve this answer


























            2












            2








            2







            Just for fun.



            documentclass[tikz]{standalone}
            usetikzlibrary{positioning}
            begin{document}
            tikzset{vspecies/.style={rectangle, minimum size=0.5cm,draw=blue}}
            begin{tikzpicture}[>=latex]
            node[draw,minimum width=1cm,minimum height=2cm,
            label=left:$M$,label=above:$N$] (R){$R$};
            node [vspecies,below left=1cm and 0.2cm of R,minimum height=1.2cm,
            label=left:$M$,label=above:$K$] (R1) {} ;
            node [vspecies,below right=1cm and 0.2cm of R,minimum width=1.2cm,
            label=left:$K$,label=above:$N$] (R2) {} ;
            draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south west) -- (R1.north east);
            draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south east) -- (R2.north west);
            end{tikzpicture}
            end{document}


            enter image description here






            share|improve this answer













            Just for fun.



            documentclass[tikz]{standalone}
            usetikzlibrary{positioning}
            begin{document}
            tikzset{vspecies/.style={rectangle, minimum size=0.5cm,draw=blue}}
            begin{tikzpicture}[>=latex]
            node[draw,minimum width=1cm,minimum height=2cm,
            label=left:$M$,label=above:$N$] (R){$R$};
            node [vspecies,below left=1cm and 0.2cm of R,minimum height=1.2cm,
            label=left:$M$,label=above:$K$] (R1) {} ;
            node [vspecies,below right=1cm and 0.2cm of R,minimum width=1.2cm,
            label=left:$K$,label=above:$N$] (R2) {} ;
            draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south west) -- (R1.north east);
            draw [->,thick,shorten >=1mm,shorten <=1mm] (R.south east) -- (R2.north west);
            end{tikzpicture}
            end{document}


            enter image description here







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 50 mins ago









            marmotmarmot

            118k6152286




            118k6152286























                2














                Something like this?



                documentclass[tikz,margin=1mm]{standalone}
                usetikzlibrary{positioning}
                begin{document}
                begin{tikzpicture}
                begin{scope}[local bounding box=a]
                node[minimum width=2cm,minimum height=3cm,draw] (main-a) {};
                path (main-a.west) node[left] {$N$} (main-a.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b2]
                node[minimum width=2cm,minimum height=1cm,draw,below right=of main-a] (main-b2) {};
                path (main-b2.east) node[right] {$K$} (main-b2.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b1]
                node[minimum width=1cm,minimum height=3cm,draw,below left=of main-a] (main-b1) {};
                path (main-b1.west) node[left] {$N$} (main-b1.north) node[above] {$K$};
                end{scope}
                draw[-stealth] (main-a.south) -- (b1.north east);
                draw[-stealth] (main-a.south) -- (b2.north west);
                end{tikzpicture}
                end{document}


                enter image description here






                share|improve this answer
























                • Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

                  – naveganteX
                  54 mins ago






                • 1





                  @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

                  – JouleV
                  52 mins ago











                • I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

                  – naveganteX
                  50 mins ago
















                2














                Something like this?



                documentclass[tikz,margin=1mm]{standalone}
                usetikzlibrary{positioning}
                begin{document}
                begin{tikzpicture}
                begin{scope}[local bounding box=a]
                node[minimum width=2cm,minimum height=3cm,draw] (main-a) {};
                path (main-a.west) node[left] {$N$} (main-a.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b2]
                node[minimum width=2cm,minimum height=1cm,draw,below right=of main-a] (main-b2) {};
                path (main-b2.east) node[right] {$K$} (main-b2.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b1]
                node[minimum width=1cm,minimum height=3cm,draw,below left=of main-a] (main-b1) {};
                path (main-b1.west) node[left] {$N$} (main-b1.north) node[above] {$K$};
                end{scope}
                draw[-stealth] (main-a.south) -- (b1.north east);
                draw[-stealth] (main-a.south) -- (b2.north west);
                end{tikzpicture}
                end{document}


                enter image description here






                share|improve this answer
























                • Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

                  – naveganteX
                  54 mins ago






                • 1





                  @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

                  – JouleV
                  52 mins ago











                • I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

                  – naveganteX
                  50 mins ago














                2












                2








                2







                Something like this?



                documentclass[tikz,margin=1mm]{standalone}
                usetikzlibrary{positioning}
                begin{document}
                begin{tikzpicture}
                begin{scope}[local bounding box=a]
                node[minimum width=2cm,minimum height=3cm,draw] (main-a) {};
                path (main-a.west) node[left] {$N$} (main-a.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b2]
                node[minimum width=2cm,minimum height=1cm,draw,below right=of main-a] (main-b2) {};
                path (main-b2.east) node[right] {$K$} (main-b2.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b1]
                node[minimum width=1cm,minimum height=3cm,draw,below left=of main-a] (main-b1) {};
                path (main-b1.west) node[left] {$N$} (main-b1.north) node[above] {$K$};
                end{scope}
                draw[-stealth] (main-a.south) -- (b1.north east);
                draw[-stealth] (main-a.south) -- (b2.north west);
                end{tikzpicture}
                end{document}


                enter image description here






                share|improve this answer













                Something like this?



                documentclass[tikz,margin=1mm]{standalone}
                usetikzlibrary{positioning}
                begin{document}
                begin{tikzpicture}
                begin{scope}[local bounding box=a]
                node[minimum width=2cm,minimum height=3cm,draw] (main-a) {};
                path (main-a.west) node[left] {$N$} (main-a.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b2]
                node[minimum width=2cm,minimum height=1cm,draw,below right=of main-a] (main-b2) {};
                path (main-b2.east) node[right] {$K$} (main-b2.north) node[above] {$M$};
                end{scope}
                begin{scope}[local bounding box=b1]
                node[minimum width=1cm,minimum height=3cm,draw,below left=of main-a] (main-b1) {};
                path (main-b1.west) node[left] {$N$} (main-b1.north) node[above] {$K$};
                end{scope}
                draw[-stealth] (main-a.south) -- (b1.north east);
                draw[-stealth] (main-a.south) -- (b2.north west);
                end{tikzpicture}
                end{document}


                enter image description here







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 57 mins ago









                JouleVJouleV

                13.9k22664




                13.9k22664













                • Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

                  – naveganteX
                  54 mins ago






                • 1





                  @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

                  – JouleV
                  52 mins ago











                • I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

                  – naveganteX
                  50 mins ago



















                • Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

                  – naveganteX
                  54 mins ago






                • 1





                  @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

                  – JouleV
                  52 mins ago











                • I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

                  – naveganteX
                  50 mins ago

















                Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

                – naveganteX
                54 mins ago





                Are you a kind of wizard with TeX? I must admit that I'm impressed. I read up on tikZ but it is still hard for me. So, thank you for giving me a hand with this rather tough Tex world!

                – naveganteX
                54 mins ago




                1




                1





                @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

                – JouleV
                52 mins ago





                @naveganteX I'm not yet a "wizard" with either TikZ or LaTeX. I'm a complete novice in TeX :D There are so many TeXperts out there, but I am not one of them, of course. I don't even know anything about TikZ 3D yet (it is in my ever to-do list)

                – JouleV
                52 mins ago













                I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

                – naveganteX
                50 mins ago





                I happen to think that you're pretty good at both, tikz and Tex. Regarding tikZ 3d, I have been wanting to plot those 3D histograms/bar chart for so long. But at the moment, it is just an illusion!

                – naveganteX
                50 mins ago











                1














                Here is an overkill solution that defines a new pics "shape" (see section 18.2 of the 3.1.1 tikz manual),together with some custom pgfkeys for styling it. The end result is that you can produce:



                enter image description here



                using code:



                documentclass[tikz, border=5mm]{standalone}
                usetikzlibrary{positioning}

                begin{document}
                pgfkeys{/vspecies/.is family, /vspecies,
                colour/.initial = black, % rectangle colour
                fill/.initial = white, % default fill
                top label/.initial = M, % label on right
                right label/.initial= N, % label on left
                bottom label/.initial=, % label on left
                left label/.initial=, % label on left
                X/.initial = 5mm, % default width
                Y/.initial = 5mm, % default height
                shape/.initial = rectangle % default shape
                }

                tikzset{
                pics/vspecies/.style args={#1,#2}{% node name, pgfkeys key-value pairs
                code = {
                pgfkeys{/vspecies, #2}
                node[pgfkeysvalueof{/vspecies/shape},
                minimum size=pgfkeysvalueof{/vspecies/X},
                minimum height=pgfkeysvalueof{/vspecies/Y},
                draw=pgfkeysvalueof{/vspecies/colour},
                fill=pgfkeysvalueof{/vspecies/fill},
                label=east:pgfkeysvalueof{/vspecies/left label},
                label=north:pgfkeysvalueof{/vspecies/top label},
                label=south:pgfkeysvalueof{/vspecies/bottom label},
                label=west:pgfkeysvalueof{/vspecies/right label},
                ](#1) at (0,0){};
                }
                }
                }

                begin{tikzpicture}
                pic at (0,0) {vspecies={A,colour=red,Y=10mm}};
                pic[below left=10mm of A] {vspecies={B,top label=K,colour=blue,Y=20mm}};
                pic[below right=10mm of A] {vspecies={C,fill=blue!10,X=10mm,shape=circle,left label=N,right label=}};
                draw[->](A.south west)--(B.north east);
                draw[->](A.south east)--(C.north west);
                end{tikzpicture}

                end{document}


                The vspecies pic command take two arguments: the first is the name of a (normal) tikz node label and the second argunment is a comma separated list of key-value pairs tha specify:




                • the colour of the rectangle (default black)

                • the fill colour (default white)

                • the top label (default M)

                • the left label (default "")

                • the bottom label (default "")

                • the left label (default N)

                • the minimum X width

                • the minimum Y height

                • the shape (default rectangle)


                As I said, this is overkill (and I was bored:)






                share|improve this answer




























                  1














                  Here is an overkill solution that defines a new pics "shape" (see section 18.2 of the 3.1.1 tikz manual),together with some custom pgfkeys for styling it. The end result is that you can produce:



                  enter image description here



                  using code:



                  documentclass[tikz, border=5mm]{standalone}
                  usetikzlibrary{positioning}

                  begin{document}
                  pgfkeys{/vspecies/.is family, /vspecies,
                  colour/.initial = black, % rectangle colour
                  fill/.initial = white, % default fill
                  top label/.initial = M, % label on right
                  right label/.initial= N, % label on left
                  bottom label/.initial=, % label on left
                  left label/.initial=, % label on left
                  X/.initial = 5mm, % default width
                  Y/.initial = 5mm, % default height
                  shape/.initial = rectangle % default shape
                  }

                  tikzset{
                  pics/vspecies/.style args={#1,#2}{% node name, pgfkeys key-value pairs
                  code = {
                  pgfkeys{/vspecies, #2}
                  node[pgfkeysvalueof{/vspecies/shape},
                  minimum size=pgfkeysvalueof{/vspecies/X},
                  minimum height=pgfkeysvalueof{/vspecies/Y},
                  draw=pgfkeysvalueof{/vspecies/colour},
                  fill=pgfkeysvalueof{/vspecies/fill},
                  label=east:pgfkeysvalueof{/vspecies/left label},
                  label=north:pgfkeysvalueof{/vspecies/top label},
                  label=south:pgfkeysvalueof{/vspecies/bottom label},
                  label=west:pgfkeysvalueof{/vspecies/right label},
                  ](#1) at (0,0){};
                  }
                  }
                  }

                  begin{tikzpicture}
                  pic at (0,0) {vspecies={A,colour=red,Y=10mm}};
                  pic[below left=10mm of A] {vspecies={B,top label=K,colour=blue,Y=20mm}};
                  pic[below right=10mm of A] {vspecies={C,fill=blue!10,X=10mm,shape=circle,left label=N,right label=}};
                  draw[->](A.south west)--(B.north east);
                  draw[->](A.south east)--(C.north west);
                  end{tikzpicture}

                  end{document}


                  The vspecies pic command take two arguments: the first is the name of a (normal) tikz node label and the second argunment is a comma separated list of key-value pairs tha specify:




                  • the colour of the rectangle (default black)

                  • the fill colour (default white)

                  • the top label (default M)

                  • the left label (default "")

                  • the bottom label (default "")

                  • the left label (default N)

                  • the minimum X width

                  • the minimum Y height

                  • the shape (default rectangle)


                  As I said, this is overkill (and I was bored:)






                  share|improve this answer


























                    1












                    1








                    1







                    Here is an overkill solution that defines a new pics "shape" (see section 18.2 of the 3.1.1 tikz manual),together with some custom pgfkeys for styling it. The end result is that you can produce:



                    enter image description here



                    using code:



                    documentclass[tikz, border=5mm]{standalone}
                    usetikzlibrary{positioning}

                    begin{document}
                    pgfkeys{/vspecies/.is family, /vspecies,
                    colour/.initial = black, % rectangle colour
                    fill/.initial = white, % default fill
                    top label/.initial = M, % label on right
                    right label/.initial= N, % label on left
                    bottom label/.initial=, % label on left
                    left label/.initial=, % label on left
                    X/.initial = 5mm, % default width
                    Y/.initial = 5mm, % default height
                    shape/.initial = rectangle % default shape
                    }

                    tikzset{
                    pics/vspecies/.style args={#1,#2}{% node name, pgfkeys key-value pairs
                    code = {
                    pgfkeys{/vspecies, #2}
                    node[pgfkeysvalueof{/vspecies/shape},
                    minimum size=pgfkeysvalueof{/vspecies/X},
                    minimum height=pgfkeysvalueof{/vspecies/Y},
                    draw=pgfkeysvalueof{/vspecies/colour},
                    fill=pgfkeysvalueof{/vspecies/fill},
                    label=east:pgfkeysvalueof{/vspecies/left label},
                    label=north:pgfkeysvalueof{/vspecies/top label},
                    label=south:pgfkeysvalueof{/vspecies/bottom label},
                    label=west:pgfkeysvalueof{/vspecies/right label},
                    ](#1) at (0,0){};
                    }
                    }
                    }

                    begin{tikzpicture}
                    pic at (0,0) {vspecies={A,colour=red,Y=10mm}};
                    pic[below left=10mm of A] {vspecies={B,top label=K,colour=blue,Y=20mm}};
                    pic[below right=10mm of A] {vspecies={C,fill=blue!10,X=10mm,shape=circle,left label=N,right label=}};
                    draw[->](A.south west)--(B.north east);
                    draw[->](A.south east)--(C.north west);
                    end{tikzpicture}

                    end{document}


                    The vspecies pic command take two arguments: the first is the name of a (normal) tikz node label and the second argunment is a comma separated list of key-value pairs tha specify:




                    • the colour of the rectangle (default black)

                    • the fill colour (default white)

                    • the top label (default M)

                    • the left label (default "")

                    • the bottom label (default "")

                    • the left label (default N)

                    • the minimum X width

                    • the minimum Y height

                    • the shape (default rectangle)


                    As I said, this is overkill (and I was bored:)






                    share|improve this answer













                    Here is an overkill solution that defines a new pics "shape" (see section 18.2 of the 3.1.1 tikz manual),together with some custom pgfkeys for styling it. The end result is that you can produce:



                    enter image description here



                    using code:



                    documentclass[tikz, border=5mm]{standalone}
                    usetikzlibrary{positioning}

                    begin{document}
                    pgfkeys{/vspecies/.is family, /vspecies,
                    colour/.initial = black, % rectangle colour
                    fill/.initial = white, % default fill
                    top label/.initial = M, % label on right
                    right label/.initial= N, % label on left
                    bottom label/.initial=, % label on left
                    left label/.initial=, % label on left
                    X/.initial = 5mm, % default width
                    Y/.initial = 5mm, % default height
                    shape/.initial = rectangle % default shape
                    }

                    tikzset{
                    pics/vspecies/.style args={#1,#2}{% node name, pgfkeys key-value pairs
                    code = {
                    pgfkeys{/vspecies, #2}
                    node[pgfkeysvalueof{/vspecies/shape},
                    minimum size=pgfkeysvalueof{/vspecies/X},
                    minimum height=pgfkeysvalueof{/vspecies/Y},
                    draw=pgfkeysvalueof{/vspecies/colour},
                    fill=pgfkeysvalueof{/vspecies/fill},
                    label=east:pgfkeysvalueof{/vspecies/left label},
                    label=north:pgfkeysvalueof{/vspecies/top label},
                    label=south:pgfkeysvalueof{/vspecies/bottom label},
                    label=west:pgfkeysvalueof{/vspecies/right label},
                    ](#1) at (0,0){};
                    }
                    }
                    }

                    begin{tikzpicture}
                    pic at (0,0) {vspecies={A,colour=red,Y=10mm}};
                    pic[below left=10mm of A] {vspecies={B,top label=K,colour=blue,Y=20mm}};
                    pic[below right=10mm of A] {vspecies={C,fill=blue!10,X=10mm,shape=circle,left label=N,right label=}};
                    draw[->](A.south west)--(B.north east);
                    draw[->](A.south east)--(C.north west);
                    end{tikzpicture}

                    end{document}


                    The vspecies pic command take two arguments: the first is the name of a (normal) tikz node label and the second argunment is a comma separated list of key-value pairs tha specify:




                    • the colour of the rectangle (default black)

                    • the fill colour (default white)

                    • the top label (default M)

                    • the left label (default "")

                    • the bottom label (default "")

                    • the left label (default N)

                    • the minimum X width

                    • the minimum Y height

                    • the shape (default rectangle)


                    As I said, this is overkill (and I was bored:)







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 11 mins ago









                    AndrewAndrew

                    31k34482




                    31k34482























                        0














                        Final version:



                        documentclass[tikz,margin=1mm]{standalone}
                        usetikzlibrary{positioning}
                        begin{document}
                        sffamily
                        begin{tikzpicture}
                        begin{scope}[local bounding box=a]
                        node[minimum width=2cm,line width=0.199mm,minimum height=3cm,draw=black] (main-a) {R};
                        path (main-a.west) node[left] {N} (main-a.north) node[above] {M};
                        end{scope}
                        begin{scope}[local bounding box=b2]
                        node[minimum width=2cm,line width=0.199mm,minimum height=1cm,draw=blue,below right=of main-a] (main-b2) {};
                        path (main-b2.east) node[right] {K} (main-b2.north) node[above] {M};
                        end{scope}
                        begin{scope}[local bounding box=b1]
                        node[minimum width=1cm,line width=0.199mm,minimum height=3cm,draw=blue,below left=of main-a] (main-b1) {};
                        path (main-b1.west) node[left] {N} (main-b1.north) node[above] {K};
                        end{scope}
                        draw[-stealth] (main-a.south) -- (b1.north east);
                        draw[-stealth] (main-a.south) -- (b2.north west);
                        end{tikzpicture}
                        end{document}





                        share|improve this answer








                        New contributor




                        naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                        Check out our Code of Conduct.

























                          0














                          Final version:



                          documentclass[tikz,margin=1mm]{standalone}
                          usetikzlibrary{positioning}
                          begin{document}
                          sffamily
                          begin{tikzpicture}
                          begin{scope}[local bounding box=a]
                          node[minimum width=2cm,line width=0.199mm,minimum height=3cm,draw=black] (main-a) {R};
                          path (main-a.west) node[left] {N} (main-a.north) node[above] {M};
                          end{scope}
                          begin{scope}[local bounding box=b2]
                          node[minimum width=2cm,line width=0.199mm,minimum height=1cm,draw=blue,below right=of main-a] (main-b2) {};
                          path (main-b2.east) node[right] {K} (main-b2.north) node[above] {M};
                          end{scope}
                          begin{scope}[local bounding box=b1]
                          node[minimum width=1cm,line width=0.199mm,minimum height=3cm,draw=blue,below left=of main-a] (main-b1) {};
                          path (main-b1.west) node[left] {N} (main-b1.north) node[above] {K};
                          end{scope}
                          draw[-stealth] (main-a.south) -- (b1.north east);
                          draw[-stealth] (main-a.south) -- (b2.north west);
                          end{tikzpicture}
                          end{document}





                          share|improve this answer








                          New contributor




                          naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.























                            0












                            0








                            0







                            Final version:



                            documentclass[tikz,margin=1mm]{standalone}
                            usetikzlibrary{positioning}
                            begin{document}
                            sffamily
                            begin{tikzpicture}
                            begin{scope}[local bounding box=a]
                            node[minimum width=2cm,line width=0.199mm,minimum height=3cm,draw=black] (main-a) {R};
                            path (main-a.west) node[left] {N} (main-a.north) node[above] {M};
                            end{scope}
                            begin{scope}[local bounding box=b2]
                            node[minimum width=2cm,line width=0.199mm,minimum height=1cm,draw=blue,below right=of main-a] (main-b2) {};
                            path (main-b2.east) node[right] {K} (main-b2.north) node[above] {M};
                            end{scope}
                            begin{scope}[local bounding box=b1]
                            node[minimum width=1cm,line width=0.199mm,minimum height=3cm,draw=blue,below left=of main-a] (main-b1) {};
                            path (main-b1.west) node[left] {N} (main-b1.north) node[above] {K};
                            end{scope}
                            draw[-stealth] (main-a.south) -- (b1.north east);
                            draw[-stealth] (main-a.south) -- (b2.north west);
                            end{tikzpicture}
                            end{document}





                            share|improve this answer








                            New contributor




                            naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.










                            Final version:



                            documentclass[tikz,margin=1mm]{standalone}
                            usetikzlibrary{positioning}
                            begin{document}
                            sffamily
                            begin{tikzpicture}
                            begin{scope}[local bounding box=a]
                            node[minimum width=2cm,line width=0.199mm,minimum height=3cm,draw=black] (main-a) {R};
                            path (main-a.west) node[left] {N} (main-a.north) node[above] {M};
                            end{scope}
                            begin{scope}[local bounding box=b2]
                            node[minimum width=2cm,line width=0.199mm,minimum height=1cm,draw=blue,below right=of main-a] (main-b2) {};
                            path (main-b2.east) node[right] {K} (main-b2.north) node[above] {M};
                            end{scope}
                            begin{scope}[local bounding box=b1]
                            node[minimum width=1cm,line width=0.199mm,minimum height=3cm,draw=blue,below left=of main-a] (main-b1) {};
                            path (main-b1.west) node[left] {N} (main-b1.north) node[above] {K};
                            end{scope}
                            draw[-stealth] (main-a.south) -- (b1.north east);
                            draw[-stealth] (main-a.south) -- (b2.north west);
                            end{tikzpicture}
                            end{document}






                            share|improve this answer








                            New contributor




                            naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.









                            share|improve this answer



                            share|improve this answer






                            New contributor




                            naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.









                            answered 35 mins ago









                            naveganteXnaveganteX

                            465




                            465




                            New contributor




                            naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.





                            New contributor





                            naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.






                            naveganteX is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                            Check out our Code of Conduct.






















                                naveganteX is a new contributor. Be nice, and check out our Code of Conduct.










                                draft saved

                                draft discarded


















                                naveganteX is a new contributor. Be nice, and check out our Code of Conduct.













                                naveganteX is a new contributor. Be nice, and check out our Code of Conduct.












                                naveganteX is a new contributor. Be nice, and check out our Code of Conduct.
















                                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%2f485078%2fproblem-drawing-boxes-with-arrows-in-tikz%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

                                “%fieldName is a required field.”, in Magento2 REST API Call for GET Method Type The Next...

                                How to change City field to a dropdown in Checkout step Magento 2Magento 2 : How to change UI field(s)...

                                變成蝙蝠會怎樣? 參考資料 外部連結 导航菜单Thomas Nagel, "What is it like to be a...