How to draw this diagram using TikZ package?Rotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?TikZ/ERD: node (=Entity) label on the insideTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themProblems with nested TikZpicturesHow to draw a square and its diagonals with arrows?How to draw the following diagram using tikz?

How to write characters doing illogical things in a believable way?

Where is it? - The Google Earth Challenge Ep. 3

Test to know when to use GLM over Linear Regression?

Building Truncatable Primes using Nest(List), While, Fold

Impossible Scrabble Words

Are space camera sensors usually round, or square?

Planar regular languages

If I want an interpretable model, are there methods other than Linear Regression?

What is the mathematical notation for rounding a given number to the nearest integer?

Read string of any length in C

Does a large scratch in an ND filter affect image quality?

How do certain apps show new notifications when internet access is restricted to them?

Why is belonging not transitive?

What organs or modifications would be needed for a life biological creature not to require sleep?

Some Prime Peerage

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

How clean are pets?

How to modify this code to add more vertical space in timeline that uses Tikz

Why any infinite sequence of real functions can be generated from a finite set through composition?

Meaning of Swimming their horses

Output a Super Mario Image

Why is my fire extinguisher emptied after one use?

Python web-scraper to download table of transistor counts from Wikipedia

Examples of proofs by making reduction to a finite set



How to draw this diagram using TikZ package?


Rotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?TikZ/ERD: node (=Entity) label on the insideTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themProblems with nested TikZpicturesHow to draw a square and its diagonals with arrows?How to draw the following diagram using tikz?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















Please can someone show me how to draw the diagram (photo) using TikZ package.



enter image description here



I just arrived to the following diagram



enter image description here



by using the following code



documentclass[smallextended]svjour3 % onecolumn (second format)
%documentclass[twocolumn]svjour3 % twocolumn
%
smartqed % flush right qed marks, e.g. at end of proof
%
usepackagegraphicx
usepackagelineno,hyperref
usepackagegraphicx
usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
allowdisplaybreaks
usetikzlibraryarrows,matrix,positioning,shapes,arrows
usetikzlibraryshapes.geometric, arrows, calc, intersections
newcommandtikznode[2]relax
ifmmode%
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
else
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
fi

begindocument
begintikzpicture
[
roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
]
%Nodes
node[squarednode] (maintopic) BM;
node[squarednode] (uppersquare) [above=of maintopic] MC;
node[squarednode] (rightsquare) [right=of maintopic] FM;
node[squarednode] (lowersquare) [above=of rightsquare] TM;

%Lines
draw[->] (uppersquare.south) -- (maintopic.north);
draw[->] (maintopic.east) -- (rightsquare.west);
draw[->] (rightsquare.north) -- (lowersquare.south);
draw[->] (uppersquare.east) -- (lowersquare.west);
%draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
endtikzpicture
enddocument









share|improve this question


























  • @downvoters: The OP uploaded an MWE 8 hours ago. What is the reason of the downvotes then?

    – user156344
    Apr 15 at 15:16

















4















Please can someone show me how to draw the diagram (photo) using TikZ package.



enter image description here



I just arrived to the following diagram



enter image description here



by using the following code



documentclass[smallextended]svjour3 % onecolumn (second format)
%documentclass[twocolumn]svjour3 % twocolumn
%
smartqed % flush right qed marks, e.g. at end of proof
%
usepackagegraphicx
usepackagelineno,hyperref
usepackagegraphicx
usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
allowdisplaybreaks
usetikzlibraryarrows,matrix,positioning,shapes,arrows
usetikzlibraryshapes.geometric, arrows, calc, intersections
newcommandtikznode[2]relax
ifmmode%
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
else
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
fi

begindocument
begintikzpicture
[
roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
]
%Nodes
node[squarednode] (maintopic) BM;
node[squarednode] (uppersquare) [above=of maintopic] MC;
node[squarednode] (rightsquare) [right=of maintopic] FM;
node[squarednode] (lowersquare) [above=of rightsquare] TM;

%Lines
draw[->] (uppersquare.south) -- (maintopic.north);
draw[->] (maintopic.east) -- (rightsquare.west);
draw[->] (rightsquare.north) -- (lowersquare.south);
draw[->] (uppersquare.east) -- (lowersquare.west);
%draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
endtikzpicture
enddocument









share|improve this question


























  • @downvoters: The OP uploaded an MWE 8 hours ago. What is the reason of the downvotes then?

    – user156344
    Apr 15 at 15:16













4












4








4


2






Please can someone show me how to draw the diagram (photo) using TikZ package.



enter image description here



I just arrived to the following diagram



enter image description here



by using the following code



documentclass[smallextended]svjour3 % onecolumn (second format)
%documentclass[twocolumn]svjour3 % twocolumn
%
smartqed % flush right qed marks, e.g. at end of proof
%
usepackagegraphicx
usepackagelineno,hyperref
usepackagegraphicx
usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
allowdisplaybreaks
usetikzlibraryarrows,matrix,positioning,shapes,arrows
usetikzlibraryshapes.geometric, arrows, calc, intersections
newcommandtikznode[2]relax
ifmmode%
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
else
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
fi

begindocument
begintikzpicture
[
roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
]
%Nodes
node[squarednode] (maintopic) BM;
node[squarednode] (uppersquare) [above=of maintopic] MC;
node[squarednode] (rightsquare) [right=of maintopic] FM;
node[squarednode] (lowersquare) [above=of rightsquare] TM;

%Lines
draw[->] (uppersquare.south) -- (maintopic.north);
draw[->] (maintopic.east) -- (rightsquare.west);
draw[->] (rightsquare.north) -- (lowersquare.south);
draw[->] (uppersquare.east) -- (lowersquare.west);
%draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
endtikzpicture
enddocument









share|improve this question
















Please can someone show me how to draw the diagram (photo) using TikZ package.



enter image description here



I just arrived to the following diagram



enter image description here



by using the following code



documentclass[smallextended]svjour3 % onecolumn (second format)
%documentclass[twocolumn]svjour3 % twocolumn
%
smartqed % flush right qed marks, e.g. at end of proof
%
usepackagegraphicx
usepackagelineno,hyperref
usepackagegraphicx
usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
allowdisplaybreaks
usetikzlibraryarrows,matrix,positioning,shapes,arrows
usetikzlibraryshapes.geometric, arrows, calc, intersections
newcommandtikznode[2]relax
ifmmode%
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
else
tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
fi

begindocument
begintikzpicture
[
roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
]
%Nodes
node[squarednode] (maintopic) BM;
node[squarednode] (uppersquare) [above=of maintopic] MC;
node[squarednode] (rightsquare) [right=of maintopic] FM;
node[squarednode] (lowersquare) [above=of rightsquare] TM;

%Lines
draw[->] (uppersquare.south) -- (maintopic.north);
draw[->] (maintopic.east) -- (rightsquare.west);
draw[->] (rightsquare.north) -- (lowersquare.south);
draw[->] (uppersquare.east) -- (lowersquare.west);
%draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
endtikzpicture
enddocument






tikz-pgf tikz-styles tikz-arrows






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 15 at 16:06







user156344

















asked Apr 15 at 6:04









Amirul AizadAmirul Aizad

537 bronze badges




537 bronze badges















  • @downvoters: The OP uploaded an MWE 8 hours ago. What is the reason of the downvotes then?

    – user156344
    Apr 15 at 15:16

















  • @downvoters: The OP uploaded an MWE 8 hours ago. What is the reason of the downvotes then?

    – user156344
    Apr 15 at 15:16
















@downvoters: The OP uploaded an MWE 8 hours ago. What is the reason of the downvotes then?

– user156344
Apr 15 at 15:16





@downvoters: The OP uploaded an MWE 8 hours ago. What is the reason of the downvotes then?

– user156344
Apr 15 at 15:16










4 Answers
4






active

oldest

votes


















8
















a bit shorter code, exploiting TikZ libraries arrows.meta and quotes:



documentclass[smallextended]svjour3
usepackagetikz
usetikzlibraryarrows.meta, % <---
positioning,
quotes % <---

begindocument
begintikzpicture[
node distance = 12mm and 24mm,
squarednode/.style = draw=black!60,
very thick,
align=center,
minimum width=15mm,
minimum height=7mm,
font=itshape,
every edge/.style = draw, -Triangle, % <---
every edge quotes/.style = auto=right,
font=smallsffamily % <---
]
% nodes
beginscope[every node/.style = squarednode] % <---
node (n11) MC;
node (n12) [right=of n11] TM;
node (n21) [below=of n11] BM;
node (n22) [below=of n12] FM;
endscope
% conection
draw (n11) edge (n12) % <---
(n11) edge["Algorithm 1"] (n21)
(n21) edge["Algorithm 2"] (n22)
(n22) edge["Algorithm 3"] (n12);
endtikzpicture
enddocument


enter image description here






share|improve this answer


































    7
















    You can add labels to path by using node[midway]:



    documentclassarticle
    usepackagegraphicx
    usepackagelineno,hyperref
    usepackagegraphicx
    usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
    allowdisplaybreaks
    usetikzlibraryarrows,matrix,positioning,shapes,arrows
    usetikzlibraryshapes.geometric, arrows, calc, intersections
    newcommandtikznode[2]relax
    ifmmode%
    tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
    else
    tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
    fi

    begindocument
    begintikzpicture
    [
    roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
    squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
    node distance=2cm
    ]
    %Nodes
    node[squarednode] (maintopic) BM;
    node[squarednode] (uppersquare) [above=of maintopic] MC;
    node[squarednode] (rightsquare) [right=of maintopic] FM;
    node[squarednode] (lowersquare) [above=of rightsquare] TM;

    %Lines
    draw[->] (uppersquare.south) -- (maintopic.north) node[midway,left] Algorithm 1;
    draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
    draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,right] Algorithm 3;
    draw[->] (uppersquare.east) -- (lowersquare.west);
    %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
    endtikzpicture
    enddocument


    enter image description here



    Use some rotates to make your diagram even nicer:



    documentclassarticle
    usepackagegraphicx
    usepackagelineno,hyperref
    usepackagegraphicx
    usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
    allowdisplaybreaks
    usetikzlibraryarrows,matrix,positioning,shapes,arrows
    usetikzlibraryshapes.geometric, arrows, calc, intersections
    newcommandtikznode[2]relax
    ifmmode%
    tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
    else
    tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
    fi

    begindocument
    begintikzpicture
    [
    roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
    squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
    node distance=2cm
    ]
    %Nodes
    node[squarednode] (maintopic) BM;
    node[squarednode] (uppersquare) [above=of maintopic] MC;
    node[squarednode] (rightsquare) [right=of maintopic] FM;
    node[squarednode] (lowersquare) [above=of rightsquare] TM;

    %Lines
    draw[->] (uppersquare.south) -- (maintopic.north) node[midway,above,rotate=90] Algorithm 1;
    draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
    draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,above,rotate=-90] Algorithm 3;
    draw[->] (uppersquare.east) -- (lowersquare.west);
    %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
    endtikzpicture
    enddocument


    enter image description here






    share|improve this answer

























    • You could replace manual rotates with sloped ;)

      – TeXnician
      Apr 15 at 9:52


















    4
















    First, you need to clean up your packages and your tikz libraries. You load graphicx thrice and hyperref twice. Loading only what you need for your document will speed up your compiling time. Loading packages only once will lead to less errors in complex preambles.



    As for an MWE, use a common document class that will reproduce your problem, say article. The only package you need to load in your example is tikz, as it loads xcolor and other packages by default (you can't know that). The only tikz library you need is positioning, as arrows is used for other kinds of arrows as the ones you used. Look up the libraries in the tikz documentation on CTAN.



    I eliminated some of the superfluous content in your tikz code (you might want to leave it in if it is necessary for something else, but try without and see if it breaks things) and added text centering and text width in your boxes. Generally, stuff you don't need, toss it out of your code and keep it clean. This will minimize mistakes.



    documentclassarticle

    usepackagetikz

    usetikzlibrarypositioning

    begindocument
    begintikzpicture
    [
    squarednode/.style=%
    rectangle,
    draw=black!60,
    fill=white,
    very thick,
    minimum size=5mm,
    text centered,
    text width=1.5cm,

    ]
    %Nodes
    node[squarednode] (maintopic) BM;
    node[squarednode] (uppersquare) [above=of maintopic] MC;
    node[squarednode] (rightsquare) [right=2.5cm of maintopic] FM;
    node[squarednode] (lowersquare) [above=of rightsquare] TM;

    %Lines
    draw[->] (uppersquare.south) -- node[anchor=east] Algorithm 1 (maintopic.north);
    draw[->] (maintopic.east) -- node[anchor=south] Algorithm 2 (rightsquare.west);
    draw[->] (rightsquare.north) -- node[anchor=west] Algorithm 3 (lowersquare.south);
    draw[->] (uppersquare.east) -- (lowersquare.west);
    endtikzpicture
    enddocument





    share|improve this answer
































      2
















      The whole thing can be made much shorter.



      documentclassarticle
      usepackagetikz-cd
      usepackageamsmath
      begindocument
      tikzsetsquarednode/.style=rectangle, draw=black!60, very thick,
      minimum size=5mm,commutative diagrams/arrows=thick,-latex
      begintikzcd[column sep=2.3cm,row sep=1.2cm,>=latex]
      |[squarednode]| MC ar[r] ar[d,swap,"textsfAlgorithm 1"] & |[squarednode]| TM\
      |[squarednode]| BM ar[r,swap,"textsfAlgorithm 2"] & |[squarednode]| FM
      ar[u,swap,"textsfAlgorithm 2"]\
      endtikzcd
      enddocument


      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/4.0/"u003ecc by-sa 4.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%2f484886%2fhow-to-draw-this-diagram-using-tikz-package%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









        8
















        a bit shorter code, exploiting TikZ libraries arrows.meta and quotes:



        documentclass[smallextended]svjour3
        usepackagetikz
        usetikzlibraryarrows.meta, % <---
        positioning,
        quotes % <---

        begindocument
        begintikzpicture[
        node distance = 12mm and 24mm,
        squarednode/.style = draw=black!60,
        very thick,
        align=center,
        minimum width=15mm,
        minimum height=7mm,
        font=itshape,
        every edge/.style = draw, -Triangle, % <---
        every edge quotes/.style = auto=right,
        font=smallsffamily % <---
        ]
        % nodes
        beginscope[every node/.style = squarednode] % <---
        node (n11) MC;
        node (n12) [right=of n11] TM;
        node (n21) [below=of n11] BM;
        node (n22) [below=of n12] FM;
        endscope
        % conection
        draw (n11) edge (n12) % <---
        (n11) edge["Algorithm 1"] (n21)
        (n21) edge["Algorithm 2"] (n22)
        (n22) edge["Algorithm 3"] (n12);
        endtikzpicture
        enddocument


        enter image description here






        share|improve this answer































          8
















          a bit shorter code, exploiting TikZ libraries arrows.meta and quotes:



          documentclass[smallextended]svjour3
          usepackagetikz
          usetikzlibraryarrows.meta, % <---
          positioning,
          quotes % <---

          begindocument
          begintikzpicture[
          node distance = 12mm and 24mm,
          squarednode/.style = draw=black!60,
          very thick,
          align=center,
          minimum width=15mm,
          minimum height=7mm,
          font=itshape,
          every edge/.style = draw, -Triangle, % <---
          every edge quotes/.style = auto=right,
          font=smallsffamily % <---
          ]
          % nodes
          beginscope[every node/.style = squarednode] % <---
          node (n11) MC;
          node (n12) [right=of n11] TM;
          node (n21) [below=of n11] BM;
          node (n22) [below=of n12] FM;
          endscope
          % conection
          draw (n11) edge (n12) % <---
          (n11) edge["Algorithm 1"] (n21)
          (n21) edge["Algorithm 2"] (n22)
          (n22) edge["Algorithm 3"] (n12);
          endtikzpicture
          enddocument


          enter image description here






          share|improve this answer





























            8














            8










            8









            a bit shorter code, exploiting TikZ libraries arrows.meta and quotes:



            documentclass[smallextended]svjour3
            usepackagetikz
            usetikzlibraryarrows.meta, % <---
            positioning,
            quotes % <---

            begindocument
            begintikzpicture[
            node distance = 12mm and 24mm,
            squarednode/.style = draw=black!60,
            very thick,
            align=center,
            minimum width=15mm,
            minimum height=7mm,
            font=itshape,
            every edge/.style = draw, -Triangle, % <---
            every edge quotes/.style = auto=right,
            font=smallsffamily % <---
            ]
            % nodes
            beginscope[every node/.style = squarednode] % <---
            node (n11) MC;
            node (n12) [right=of n11] TM;
            node (n21) [below=of n11] BM;
            node (n22) [below=of n12] FM;
            endscope
            % conection
            draw (n11) edge (n12) % <---
            (n11) edge["Algorithm 1"] (n21)
            (n21) edge["Algorithm 2"] (n22)
            (n22) edge["Algorithm 3"] (n12);
            endtikzpicture
            enddocument


            enter image description here






            share|improve this answer















            a bit shorter code, exploiting TikZ libraries arrows.meta and quotes:



            documentclass[smallextended]svjour3
            usepackagetikz
            usetikzlibraryarrows.meta, % <---
            positioning,
            quotes % <---

            begindocument
            begintikzpicture[
            node distance = 12mm and 24mm,
            squarednode/.style = draw=black!60,
            very thick,
            align=center,
            minimum width=15mm,
            minimum height=7mm,
            font=itshape,
            every edge/.style = draw, -Triangle, % <---
            every edge quotes/.style = auto=right,
            font=smallsffamily % <---
            ]
            % nodes
            beginscope[every node/.style = squarednode] % <---
            node (n11) MC;
            node (n12) [right=of n11] TM;
            node (n21) [below=of n11] BM;
            node (n22) [below=of n12] FM;
            endscope
            % conection
            draw (n11) edge (n12) % <---
            (n11) edge["Algorithm 1"] (n21)
            (n21) edge["Algorithm 2"] (n22)
            (n22) edge["Algorithm 3"] (n12);
            endtikzpicture
            enddocument


            enter image description here







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Apr 15 at 9:43

























            answered Apr 15 at 9:08









            ZarkoZarko

            147k8 gold badges84 silver badges194 bronze badges




            147k8 gold badges84 silver badges194 bronze badges


























                7
















                You can add labels to path by using node[midway]:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,left] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,right] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here



                Use some rotates to make your diagram even nicer:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,above,rotate=90] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,above,rotate=-90] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here






                share|improve this answer

























                • You could replace manual rotates with sloped ;)

                  – TeXnician
                  Apr 15 at 9:52















                7
















                You can add labels to path by using node[midway]:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,left] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,right] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here



                Use some rotates to make your diagram even nicer:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,above,rotate=90] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,above,rotate=-90] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here






                share|improve this answer

























                • You could replace manual rotates with sloped ;)

                  – TeXnician
                  Apr 15 at 9:52













                7














                7










                7









                You can add labels to path by using node[midway]:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,left] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,right] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here



                Use some rotates to make your diagram even nicer:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,above,rotate=90] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,above,rotate=-90] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here






                share|improve this answer













                You can add labels to path by using node[midway]:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,left] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,right] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here



                Use some rotates to make your diagram even nicer:



                documentclassarticle
                usepackagegraphicx
                usepackagelineno,hyperref
                usepackagegraphicx
                usepackageamsfonts, amssymb, amsmath, graphicx, hyperref, etoolbox, algorithm, tikz, algpseudocode, algorithm, algorithmicx, tabu, longtable, mathtools, qtree, xcolor, framed, lipsum, caption
                allowdisplaybreaks
                usetikzlibraryarrows,matrix,positioning,shapes,arrows
                usetikzlibraryshapes.geometric, arrows, calc, intersections
                newcommandtikznode[2]relax
                ifmmode%
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) $#2$;
                else
                tikz[remember picture,baseline=(#1.base),inner sep=0pt] node (#1) #2;%
                fi

                begindocument
                begintikzpicture
                [
                roundnode/.style=circle, draw=green!60, fill=green!5, very thick, minimum size=7mm,
                squarednode/.style=rectangle, draw=black!60, fill=red!5, very thick, minimum size=5mm,
                node distance=2cm
                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- (maintopic.north) node[midway,above,rotate=90] Algorithm 1;
                draw[->] (maintopic.east) -- (rightsquare.west) node[midway,above] Algorithm 2;
                draw[->] (rightsquare.north) -- (lowersquare.south) node[midway,above,rotate=-90] Algorithm 3;
                draw[->] (uppersquare.east) -- (lowersquare.west);
                %draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
                endtikzpicture
                enddocument


                enter image description here







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Apr 15 at 6:42







                user156344






















                • You could replace manual rotates with sloped ;)

                  – TeXnician
                  Apr 15 at 9:52

















                • You could replace manual rotates with sloped ;)

                  – TeXnician
                  Apr 15 at 9:52
















                You could replace manual rotates with sloped ;)

                – TeXnician
                Apr 15 at 9:52





                You could replace manual rotates with sloped ;)

                – TeXnician
                Apr 15 at 9:52











                4
















                First, you need to clean up your packages and your tikz libraries. You load graphicx thrice and hyperref twice. Loading only what you need for your document will speed up your compiling time. Loading packages only once will lead to less errors in complex preambles.



                As for an MWE, use a common document class that will reproduce your problem, say article. The only package you need to load in your example is tikz, as it loads xcolor and other packages by default (you can't know that). The only tikz library you need is positioning, as arrows is used for other kinds of arrows as the ones you used. Look up the libraries in the tikz documentation on CTAN.



                I eliminated some of the superfluous content in your tikz code (you might want to leave it in if it is necessary for something else, but try without and see if it breaks things) and added text centering and text width in your boxes. Generally, stuff you don't need, toss it out of your code and keep it clean. This will minimize mistakes.



                documentclassarticle

                usepackagetikz

                usetikzlibrarypositioning

                begindocument
                begintikzpicture
                [
                squarednode/.style=%
                rectangle,
                draw=black!60,
                fill=white,
                very thick,
                minimum size=5mm,
                text centered,
                text width=1.5cm,

                ]
                %Nodes
                node[squarednode] (maintopic) BM;
                node[squarednode] (uppersquare) [above=of maintopic] MC;
                node[squarednode] (rightsquare) [right=2.5cm of maintopic] FM;
                node[squarednode] (lowersquare) [above=of rightsquare] TM;

                %Lines
                draw[->] (uppersquare.south) -- node[anchor=east] Algorithm 1 (maintopic.north);
                draw[->] (maintopic.east) -- node[anchor=south] Algorithm 2 (rightsquare.west);
                draw[->] (rightsquare.north) -- node[anchor=west] Algorithm 3 (lowersquare.south);
                draw[->] (uppersquare.east) -- (lowersquare.west);
                endtikzpicture
                enddocument





                share|improve this answer





























                  4
















                  First, you need to clean up your packages and your tikz libraries. You load graphicx thrice and hyperref twice. Loading only what you need for your document will speed up your compiling time. Loading packages only once will lead to less errors in complex preambles.



                  As for an MWE, use a common document class that will reproduce your problem, say article. The only package you need to load in your example is tikz, as it loads xcolor and other packages by default (you can't know that). The only tikz library you need is positioning, as arrows is used for other kinds of arrows as the ones you used. Look up the libraries in the tikz documentation on CTAN.



                  I eliminated some of the superfluous content in your tikz code (you might want to leave it in if it is necessary for something else, but try without and see if it breaks things) and added text centering and text width in your boxes. Generally, stuff you don't need, toss it out of your code and keep it clean. This will minimize mistakes.



                  documentclassarticle

                  usepackagetikz

                  usetikzlibrarypositioning

                  begindocument
                  begintikzpicture
                  [
                  squarednode/.style=%
                  rectangle,
                  draw=black!60,
                  fill=white,
                  very thick,
                  minimum size=5mm,
                  text centered,
                  text width=1.5cm,

                  ]
                  %Nodes
                  node[squarednode] (maintopic) BM;
                  node[squarednode] (uppersquare) [above=of maintopic] MC;
                  node[squarednode] (rightsquare) [right=2.5cm of maintopic] FM;
                  node[squarednode] (lowersquare) [above=of rightsquare] TM;

                  %Lines
                  draw[->] (uppersquare.south) -- node[anchor=east] Algorithm 1 (maintopic.north);
                  draw[->] (maintopic.east) -- node[anchor=south] Algorithm 2 (rightsquare.west);
                  draw[->] (rightsquare.north) -- node[anchor=west] Algorithm 3 (lowersquare.south);
                  draw[->] (uppersquare.east) -- (lowersquare.west);
                  endtikzpicture
                  enddocument





                  share|improve this answer



























                    4














                    4










                    4









                    First, you need to clean up your packages and your tikz libraries. You load graphicx thrice and hyperref twice. Loading only what you need for your document will speed up your compiling time. Loading packages only once will lead to less errors in complex preambles.



                    As for an MWE, use a common document class that will reproduce your problem, say article. The only package you need to load in your example is tikz, as it loads xcolor and other packages by default (you can't know that). The only tikz library you need is positioning, as arrows is used for other kinds of arrows as the ones you used. Look up the libraries in the tikz documentation on CTAN.



                    I eliminated some of the superfluous content in your tikz code (you might want to leave it in if it is necessary for something else, but try without and see if it breaks things) and added text centering and text width in your boxes. Generally, stuff you don't need, toss it out of your code and keep it clean. This will minimize mistakes.



                    documentclassarticle

                    usepackagetikz

                    usetikzlibrarypositioning

                    begindocument
                    begintikzpicture
                    [
                    squarednode/.style=%
                    rectangle,
                    draw=black!60,
                    fill=white,
                    very thick,
                    minimum size=5mm,
                    text centered,
                    text width=1.5cm,

                    ]
                    %Nodes
                    node[squarednode] (maintopic) BM;
                    node[squarednode] (uppersquare) [above=of maintopic] MC;
                    node[squarednode] (rightsquare) [right=2.5cm of maintopic] FM;
                    node[squarednode] (lowersquare) [above=of rightsquare] TM;

                    %Lines
                    draw[->] (uppersquare.south) -- node[anchor=east] Algorithm 1 (maintopic.north);
                    draw[->] (maintopic.east) -- node[anchor=south] Algorithm 2 (rightsquare.west);
                    draw[->] (rightsquare.north) -- node[anchor=west] Algorithm 3 (lowersquare.south);
                    draw[->] (uppersquare.east) -- (lowersquare.west);
                    endtikzpicture
                    enddocument





                    share|improve this answer













                    First, you need to clean up your packages and your tikz libraries. You load graphicx thrice and hyperref twice. Loading only what you need for your document will speed up your compiling time. Loading packages only once will lead to less errors in complex preambles.



                    As for an MWE, use a common document class that will reproduce your problem, say article. The only package you need to load in your example is tikz, as it loads xcolor and other packages by default (you can't know that). The only tikz library you need is positioning, as arrows is used for other kinds of arrows as the ones you used. Look up the libraries in the tikz documentation on CTAN.



                    I eliminated some of the superfluous content in your tikz code (you might want to leave it in if it is necessary for something else, but try without and see if it breaks things) and added text centering and text width in your boxes. Generally, stuff you don't need, toss it out of your code and keep it clean. This will minimize mistakes.



                    documentclassarticle

                    usepackagetikz

                    usetikzlibrarypositioning

                    begindocument
                    begintikzpicture
                    [
                    squarednode/.style=%
                    rectangle,
                    draw=black!60,
                    fill=white,
                    very thick,
                    minimum size=5mm,
                    text centered,
                    text width=1.5cm,

                    ]
                    %Nodes
                    node[squarednode] (maintopic) BM;
                    node[squarednode] (uppersquare) [above=of maintopic] MC;
                    node[squarednode] (rightsquare) [right=2.5cm of maintopic] FM;
                    node[squarednode] (lowersquare) [above=of rightsquare] TM;

                    %Lines
                    draw[->] (uppersquare.south) -- node[anchor=east] Algorithm 1 (maintopic.north);
                    draw[->] (maintopic.east) -- node[anchor=south] Algorithm 2 (rightsquare.west);
                    draw[->] (rightsquare.north) -- node[anchor=west] Algorithm 3 (lowersquare.south);
                    draw[->] (uppersquare.east) -- (lowersquare.west);
                    endtikzpicture
                    enddocument






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Apr 15 at 7:17









                    thymarothymaro

                    9135 silver badges25 bronze badges




                    9135 silver badges25 bronze badges
























                        2
















                        The whole thing can be made much shorter.



                        documentclassarticle
                        usepackagetikz-cd
                        usepackageamsmath
                        begindocument
                        tikzsetsquarednode/.style=rectangle, draw=black!60, very thick,
                        minimum size=5mm,commutative diagrams/arrows=thick,-latex
                        begintikzcd[column sep=2.3cm,row sep=1.2cm,>=latex]
                        |[squarednode]| MC ar[r] ar[d,swap,"textsfAlgorithm 1"] & |[squarednode]| TM\
                        |[squarednode]| BM ar[r,swap,"textsfAlgorithm 2"] & |[squarednode]| FM
                        ar[u,swap,"textsfAlgorithm 2"]\
                        endtikzcd
                        enddocument


                        enter image description here






                        share|improve this answer





























                          2
















                          The whole thing can be made much shorter.



                          documentclassarticle
                          usepackagetikz-cd
                          usepackageamsmath
                          begindocument
                          tikzsetsquarednode/.style=rectangle, draw=black!60, very thick,
                          minimum size=5mm,commutative diagrams/arrows=thick,-latex
                          begintikzcd[column sep=2.3cm,row sep=1.2cm,>=latex]
                          |[squarednode]| MC ar[r] ar[d,swap,"textsfAlgorithm 1"] & |[squarednode]| TM\
                          |[squarednode]| BM ar[r,swap,"textsfAlgorithm 2"] & |[squarednode]| FM
                          ar[u,swap,"textsfAlgorithm 2"]\
                          endtikzcd
                          enddocument


                          enter image description here






                          share|improve this answer



























                            2














                            2










                            2









                            The whole thing can be made much shorter.



                            documentclassarticle
                            usepackagetikz-cd
                            usepackageamsmath
                            begindocument
                            tikzsetsquarednode/.style=rectangle, draw=black!60, very thick,
                            minimum size=5mm,commutative diagrams/arrows=thick,-latex
                            begintikzcd[column sep=2.3cm,row sep=1.2cm,>=latex]
                            |[squarednode]| MC ar[r] ar[d,swap,"textsfAlgorithm 1"] & |[squarednode]| TM\
                            |[squarednode]| BM ar[r,swap,"textsfAlgorithm 2"] & |[squarednode]| FM
                            ar[u,swap,"textsfAlgorithm 2"]\
                            endtikzcd
                            enddocument


                            enter image description here






                            share|improve this answer













                            The whole thing can be made much shorter.



                            documentclassarticle
                            usepackagetikz-cd
                            usepackageamsmath
                            begindocument
                            tikzsetsquarednode/.style=rectangle, draw=black!60, very thick,
                            minimum size=5mm,commutative diagrams/arrows=thick,-latex
                            begintikzcd[column sep=2.3cm,row sep=1.2cm,>=latex]
                            |[squarednode]| MC ar[r] ar[d,swap,"textsfAlgorithm 1"] & |[squarednode]| TM\
                            |[squarednode]| BM ar[r,swap,"textsfAlgorithm 2"] & |[squarednode]| FM
                            ar[u,swap,"textsfAlgorithm 2"]\
                            endtikzcd
                            enddocument


                            enter image description here







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Apr 15 at 15:07







                            user121799






































                                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%2f484886%2fhow-to-draw-this-diagram-using-tikz-package%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

                                Tamil (spriik) Luke uk diar | Nawigatjuun

                                Align equal signs while including text over equalitiesAMS align: left aligned text/math plus multicolumn alignmentMultiple alignmentsAligning equations in multiple placesNumbering and aligning an equation with multiple columnsHow to align one equation with another multline equationUsing \ in environments inside the begintabularxNumber equations and preserving alignment of equal signsHow can I align equations to the left and to the right?Double equation alignment problem within align enviromentAligned within align: Why are they right-aligned?

                                Where does the image of a data connector as a sharp metal spike originate from?Where does the concept of infected people turning into zombies only after death originate from?Where does the motif of a reanimated human head originate?Where did the notion that Dragons could speak originate?Where does the archetypal image of the 'Grey' alien come from?Where did the suffix '-Man' originate?Where does the notion of being injured or killed by an illusion originate?Where did the term “sophont” originate?Where does the trope of magic spells being driven by advanced technology originate from?Where did the term “the living impaired” originate?