Typsetting diagram chases (with TikZ?) Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)How to define the default vertical distance between nodes?To wrap the external lines so that it can touch the perimeterDraw edge on arcNumerical conditional within tikz keys?TikZ: 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 themHow to place nodes in an absolute coordinate system in tikzCommutative diagram with curve connecting between nodesTikz with standalone: pinning tikz coordinates to page cm

what is the log of the PDF for a Normal Distribution?

What is the "studentd" process?

What are the main differences between the original Stargate SG-1 and the Final Cut edition?

Does the Black Tentacles spell do damage twice at the start of turn to an already restrained creature?

How can a team of shapeshifters communicate?

Why is it faster to reheat something than it is to cook it?

Resize vertical bars (absolute-value symbols)

i2c bus hangs in master RPi access to MSP430G uC ~1 in 1000 accesses

How to change the tick of the color bar legend to black

Constant factor of an array

Why weren't discrete x86 CPUs ever used in game hardware?

A proverb that is used to imply that you have unexpectedly faced a big problem

If Windows 7 doesn't support WSL, then what is "Subsystem for UNIX-based Applications"?

Simple Line in LaTeX Help!

My mentor says to set image to Fine instead of RAW — how is this different from JPG?

Random body shuffle every night—can we still function?

I got rid of Mac OSX and replaced it with linux but now I can't change it back to OSX or windows

Why is std::move not [[nodiscard]] in C++20?

Is openssl rand command cryptographically secure?

Most effective melee weapons for arboreal combat? (pre-gunpowder technology)

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

Is it dangerous to install hacking tools on my private linux machine?

One-one communication

Google .dev domain strangely redirects to https



Typsetting diagram chases (with TikZ?)



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)How to define the default vertical distance between nodes?To wrap the external lines so that it can touch the perimeterDraw edge on arcNumerical conditional within tikz keys?TikZ: 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 themHow to place nodes in an absolute coordinate system in tikzCommutative diagram with curve connecting between nodesTikz with standalone: pinning tikz coordinates to page cm










5















Background. I recently came across a Youtube video with a bunch of really nicely typeset 'diagram chases' that seem to have been made in TeX (perhaps TikZ?):



Exmples of a diagram chase



I'd like to create something similar for a presentation that I'm working on, but I feel a bit lost when it comes to figuring out a systematic/scalable way to this.



Own attempt. For small diagrams, it's possible to do this in a very ad hoc way, by just playing around with coordinates and the bend right and bend left attributes in TikZ. A quick example of what this might look like:



documentclassarticle

usepackagetikz
usetikzlibraryarrows.meta

begindocument

begintikzpicture[scale=1.5, bend left=15, bend right=15]

node (B) at (0,0) $B$;
node (B') at (0,-1) $B'$;
node (C) at (1,0) $C$;
node (C') at (1,-1) $C'$;

draw[->,gray] (B) -- (B');
draw[->,gray,shorten >= -1pt] (B') -- (C');
draw[->,gray,shorten >= -1pt] (B) -- (C);
draw[->,gray] (C) -- (C');

node (b) at (-0.3,0.2) footnotesize $b$;
node (bprime) at (-0.3,-1.2) footnotesize $b'$;
node (cbar) at (0.7,0.2) footnotesize $barc$;
node (cdiff) at (0.7,-1.3) footnotesize $c'-c''$;

path (b) edge [[scale=0.7]->[scale=0.7],bend left] node [left] (cbar);
path (b) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [[scale=0.7]->[scale=0.7],bend right, shorten >= -2pt, shorten <= -1pt] node [left] (cdiff);

endtikzpicture

enddocument


Result of own attempt



I think this gives a decent end result. But for larger diagrams, it would be an absolute nightmare to work with a code that is so messy and so heavily dependent on coordinates and tweaked parameters.



Thus, if anyone has suggestions (big or small) for a more clever way to do this (with or without TikZ) and/or a way to make my own approach a bit cleaner or more systematic somehow, that would be greatly appreciated!










share|improve this question
























  • Any other tools that you think could be useful? I'm definitely willing to try out other tools than TikZ if need be!

    – Oskar Henriksson
    Apr 15 at 4:38















5















Background. I recently came across a Youtube video with a bunch of really nicely typeset 'diagram chases' that seem to have been made in TeX (perhaps TikZ?):



Exmples of a diagram chase



I'd like to create something similar for a presentation that I'm working on, but I feel a bit lost when it comes to figuring out a systematic/scalable way to this.



Own attempt. For small diagrams, it's possible to do this in a very ad hoc way, by just playing around with coordinates and the bend right and bend left attributes in TikZ. A quick example of what this might look like:



documentclassarticle

usepackagetikz
usetikzlibraryarrows.meta

begindocument

begintikzpicture[scale=1.5, bend left=15, bend right=15]

node (B) at (0,0) $B$;
node (B') at (0,-1) $B'$;
node (C) at (1,0) $C$;
node (C') at (1,-1) $C'$;

draw[->,gray] (B) -- (B');
draw[->,gray,shorten >= -1pt] (B') -- (C');
draw[->,gray,shorten >= -1pt] (B) -- (C);
draw[->,gray] (C) -- (C');

node (b) at (-0.3,0.2) footnotesize $b$;
node (bprime) at (-0.3,-1.2) footnotesize $b'$;
node (cbar) at (0.7,0.2) footnotesize $barc$;
node (cdiff) at (0.7,-1.3) footnotesize $c'-c''$;

path (b) edge [[scale=0.7]->[scale=0.7],bend left] node [left] (cbar);
path (b) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [[scale=0.7]->[scale=0.7],bend right, shorten >= -2pt, shorten <= -1pt] node [left] (cdiff);

endtikzpicture

enddocument


Result of own attempt



I think this gives a decent end result. But for larger diagrams, it would be an absolute nightmare to work with a code that is so messy and so heavily dependent on coordinates and tweaked parameters.



Thus, if anyone has suggestions (big or small) for a more clever way to do this (with or without TikZ) and/or a way to make my own approach a bit cleaner or more systematic somehow, that would be greatly appreciated!










share|improve this question
























  • Any other tools that you think could be useful? I'm definitely willing to try out other tools than TikZ if need be!

    – Oskar Henriksson
    Apr 15 at 4:38













5












5








5








Background. I recently came across a Youtube video with a bunch of really nicely typeset 'diagram chases' that seem to have been made in TeX (perhaps TikZ?):



Exmples of a diagram chase



I'd like to create something similar for a presentation that I'm working on, but I feel a bit lost when it comes to figuring out a systematic/scalable way to this.



Own attempt. For small diagrams, it's possible to do this in a very ad hoc way, by just playing around with coordinates and the bend right and bend left attributes in TikZ. A quick example of what this might look like:



documentclassarticle

usepackagetikz
usetikzlibraryarrows.meta

begindocument

begintikzpicture[scale=1.5, bend left=15, bend right=15]

node (B) at (0,0) $B$;
node (B') at (0,-1) $B'$;
node (C) at (1,0) $C$;
node (C') at (1,-1) $C'$;

draw[->,gray] (B) -- (B');
draw[->,gray,shorten >= -1pt] (B') -- (C');
draw[->,gray,shorten >= -1pt] (B) -- (C);
draw[->,gray] (C) -- (C');

node (b) at (-0.3,0.2) footnotesize $b$;
node (bprime) at (-0.3,-1.2) footnotesize $b'$;
node (cbar) at (0.7,0.2) footnotesize $barc$;
node (cdiff) at (0.7,-1.3) footnotesize $c'-c''$;

path (b) edge [[scale=0.7]->[scale=0.7],bend left] node [left] (cbar);
path (b) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [[scale=0.7]->[scale=0.7],bend right, shorten >= -2pt, shorten <= -1pt] node [left] (cdiff);

endtikzpicture

enddocument


Result of own attempt



I think this gives a decent end result. But for larger diagrams, it would be an absolute nightmare to work with a code that is so messy and so heavily dependent on coordinates and tweaked parameters.



Thus, if anyone has suggestions (big or small) for a more clever way to do this (with or without TikZ) and/or a way to make my own approach a bit cleaner or more systematic somehow, that would be greatly appreciated!










share|improve this question
















Background. I recently came across a Youtube video with a bunch of really nicely typeset 'diagram chases' that seem to have been made in TeX (perhaps TikZ?):



Exmples of a diagram chase



I'd like to create something similar for a presentation that I'm working on, but I feel a bit lost when it comes to figuring out a systematic/scalable way to this.



Own attempt. For small diagrams, it's possible to do this in a very ad hoc way, by just playing around with coordinates and the bend right and bend left attributes in TikZ. A quick example of what this might look like:



documentclassarticle

usepackagetikz
usetikzlibraryarrows.meta

begindocument

begintikzpicture[scale=1.5, bend left=15, bend right=15]

node (B) at (0,0) $B$;
node (B') at (0,-1) $B'$;
node (C) at (1,0) $C$;
node (C') at (1,-1) $C'$;

draw[->,gray] (B) -- (B');
draw[->,gray,shorten >= -1pt] (B') -- (C');
draw[->,gray,shorten >= -1pt] (B) -- (C);
draw[->,gray] (C) -- (C');

node (b) at (-0.3,0.2) footnotesize $b$;
node (bprime) at (-0.3,-1.2) footnotesize $b'$;
node (cbar) at (0.7,0.2) footnotesize $barc$;
node (cdiff) at (0.7,-1.3) footnotesize $c'-c''$;

path (b) edge [[scale=0.7]->[scale=0.7],bend left] node [left] (cbar);
path (b) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [[scale=0.7]->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [[scale=0.7]->[scale=0.7],bend right, shorten >= -2pt, shorten <= -1pt] node [left] (cdiff);

endtikzpicture

enddocument


Result of own attempt



I think this gives a decent end result. But for larger diagrams, it would be an absolute nightmare to work with a code that is so messy and so heavily dependent on coordinates and tweaked parameters.



Thus, if anyone has suggestions (big or small) for a more clever way to do this (with or without TikZ) and/or a way to make my own approach a bit cleaner or more systematic somehow, that would be greatly appreciated!







tikz-pgf diagrams tikz-cd commutative-diagrams






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 15 at 5:56









JouleV

14.6k22665




14.6k22665










asked Apr 15 at 3:53









Oskar HenrikssonOskar Henriksson

1406




1406












  • Any other tools that you think could be useful? I'm definitely willing to try out other tools than TikZ if need be!

    – Oskar Henriksson
    Apr 15 at 4:38

















  • Any other tools that you think could be useful? I'm definitely willing to try out other tools than TikZ if need be!

    – Oskar Henriksson
    Apr 15 at 4:38
















Any other tools that you think could be useful? I'm definitely willing to try out other tools than TikZ if need be!

– Oskar Henriksson
Apr 15 at 4:38





Any other tools that you think could be useful? I'm definitely willing to try out other tools than TikZ if need be!

– Oskar Henriksson
Apr 15 at 4:38










1 Answer
1






active

oldest

votes


















6














We clearly can't avoid difficulties and complexity when dealing with such a complicated graph when using any kinds of tool, but by using matrices it has saved a lot of work.



documentclass[tikz]standalone
usetikzlibrarymatrix,positioning,arrows.meta
usepackagemathptmx
tikzsettoarrow/.style=[scale=0.7]->[scale=0.7],
backarrow/.style=<[scale=0.7]-[scale=0.7]
begindocument
begintikzpicture
matrix[matrix of math nodes,row sep=2cm,column sep=2cm] (m) %
A & B & C & D & E\
A' & B' & C' & D' & E'\;
path (m-1-2) node[above left=1.5ex and 1.5ex] (b) $b$
(m-1-3) node[above left=1.5ex and 1.5ex] (c) $c$
(m-1-4) node[above left=1.5ex and 1.5ex] (d) $d$
(m-1-5) node[above left=1.5ex and 1.5ex] (e) $e$
(m-2-2) node[below left=1.5ex and 1.5ex] (b2) $b'$
(m-2-3) node[below left=1.5ex and 1.5ex] (c2) $c'$
(m-2-4) node[below left=1.5ex and 1.5ex] (d2) $d'$
(m-2-5) node[below left=1.5ex and 1.5ex] (e2) $0$
(m-2-3) node[above left=1.5ex and 1.5ex] (c3) $c''$
(c) node[above left=1.5ex and -1.5ex] (cp) $overlinec+c$
(c2) node[below=1.5ex] (cm) $c'-c''$
(d2) node[below=1.5ex] (db) $0$
(e.base east) node[above right=-.3333em and -1ex] $=0$
(c.base west) node[above left=-.3333em and 1.5ex] (co) $overlinec$;
% Delete the following part to see what happens
foreach i [count=j from 2] in 1,2,3,4
draw[dotted,->] (m-1-i) -- (m-2-i);
draw[dotted,->] (m-1-i) -- (m-1-j);
draw[dotted,->] (m-2-i) -- (m-2-j);

draw[dotted,->] (m-1-5) -- (m-2-5);
draw[toarrow] (b) edge[bend right] (b2) edge[bend left] (co);
draw[toarrow] (b2) to[bend right] (cm);
draw[toarrow] (cm) to[bend right] (db);
draw[toarrow] (co) to[bend right] (cm);
draw[toarrow] (cp) to[bend right] (c2);
draw[toarrow] (c) edge[bend right] (c3) edge[bend left] (d);
draw[backarrow] (d2) edge[bend left] (c2) edge[bend right=20] (c3) edge[bend left] (d);
draw[backarrow] (e2) edge[bend left] (d2) edge[bend left] (e);
draw[toarrow] (d) edge[bend left] (e);
endtikzpicture
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/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f484877%2ftypsetting-diagram-chases-with-tikz%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    6














    We clearly can't avoid difficulties and complexity when dealing with such a complicated graph when using any kinds of tool, but by using matrices it has saved a lot of work.



    documentclass[tikz]standalone
    usetikzlibrarymatrix,positioning,arrows.meta
    usepackagemathptmx
    tikzsettoarrow/.style=[scale=0.7]->[scale=0.7],
    backarrow/.style=<[scale=0.7]-[scale=0.7]
    begindocument
    begintikzpicture
    matrix[matrix of math nodes,row sep=2cm,column sep=2cm] (m) %
    A & B & C & D & E\
    A' & B' & C' & D' & E'\;
    path (m-1-2) node[above left=1.5ex and 1.5ex] (b) $b$
    (m-1-3) node[above left=1.5ex and 1.5ex] (c) $c$
    (m-1-4) node[above left=1.5ex and 1.5ex] (d) $d$
    (m-1-5) node[above left=1.5ex and 1.5ex] (e) $e$
    (m-2-2) node[below left=1.5ex and 1.5ex] (b2) $b'$
    (m-2-3) node[below left=1.5ex and 1.5ex] (c2) $c'$
    (m-2-4) node[below left=1.5ex and 1.5ex] (d2) $d'$
    (m-2-5) node[below left=1.5ex and 1.5ex] (e2) $0$
    (m-2-3) node[above left=1.5ex and 1.5ex] (c3) $c''$
    (c) node[above left=1.5ex and -1.5ex] (cp) $overlinec+c$
    (c2) node[below=1.5ex] (cm) $c'-c''$
    (d2) node[below=1.5ex] (db) $0$
    (e.base east) node[above right=-.3333em and -1ex] $=0$
    (c.base west) node[above left=-.3333em and 1.5ex] (co) $overlinec$;
    % Delete the following part to see what happens
    foreach i [count=j from 2] in 1,2,3,4
    draw[dotted,->] (m-1-i) -- (m-2-i);
    draw[dotted,->] (m-1-i) -- (m-1-j);
    draw[dotted,->] (m-2-i) -- (m-2-j);

    draw[dotted,->] (m-1-5) -- (m-2-5);
    draw[toarrow] (b) edge[bend right] (b2) edge[bend left] (co);
    draw[toarrow] (b2) to[bend right] (cm);
    draw[toarrow] (cm) to[bend right] (db);
    draw[toarrow] (co) to[bend right] (cm);
    draw[toarrow] (cp) to[bend right] (c2);
    draw[toarrow] (c) edge[bend right] (c3) edge[bend left] (d);
    draw[backarrow] (d2) edge[bend left] (c2) edge[bend right=20] (c3) edge[bend left] (d);
    draw[backarrow] (e2) edge[bend left] (d2) edge[bend left] (e);
    draw[toarrow] (d) edge[bend left] (e);
    endtikzpicture
    enddocument


    enter image description here






    share|improve this answer





























      6














      We clearly can't avoid difficulties and complexity when dealing with such a complicated graph when using any kinds of tool, but by using matrices it has saved a lot of work.



      documentclass[tikz]standalone
      usetikzlibrarymatrix,positioning,arrows.meta
      usepackagemathptmx
      tikzsettoarrow/.style=[scale=0.7]->[scale=0.7],
      backarrow/.style=<[scale=0.7]-[scale=0.7]
      begindocument
      begintikzpicture
      matrix[matrix of math nodes,row sep=2cm,column sep=2cm] (m) %
      A & B & C & D & E\
      A' & B' & C' & D' & E'\;
      path (m-1-2) node[above left=1.5ex and 1.5ex] (b) $b$
      (m-1-3) node[above left=1.5ex and 1.5ex] (c) $c$
      (m-1-4) node[above left=1.5ex and 1.5ex] (d) $d$
      (m-1-5) node[above left=1.5ex and 1.5ex] (e) $e$
      (m-2-2) node[below left=1.5ex and 1.5ex] (b2) $b'$
      (m-2-3) node[below left=1.5ex and 1.5ex] (c2) $c'$
      (m-2-4) node[below left=1.5ex and 1.5ex] (d2) $d'$
      (m-2-5) node[below left=1.5ex and 1.5ex] (e2) $0$
      (m-2-3) node[above left=1.5ex and 1.5ex] (c3) $c''$
      (c) node[above left=1.5ex and -1.5ex] (cp) $overlinec+c$
      (c2) node[below=1.5ex] (cm) $c'-c''$
      (d2) node[below=1.5ex] (db) $0$
      (e.base east) node[above right=-.3333em and -1ex] $=0$
      (c.base west) node[above left=-.3333em and 1.5ex] (co) $overlinec$;
      % Delete the following part to see what happens
      foreach i [count=j from 2] in 1,2,3,4
      draw[dotted,->] (m-1-i) -- (m-2-i);
      draw[dotted,->] (m-1-i) -- (m-1-j);
      draw[dotted,->] (m-2-i) -- (m-2-j);

      draw[dotted,->] (m-1-5) -- (m-2-5);
      draw[toarrow] (b) edge[bend right] (b2) edge[bend left] (co);
      draw[toarrow] (b2) to[bend right] (cm);
      draw[toarrow] (cm) to[bend right] (db);
      draw[toarrow] (co) to[bend right] (cm);
      draw[toarrow] (cp) to[bend right] (c2);
      draw[toarrow] (c) edge[bend right] (c3) edge[bend left] (d);
      draw[backarrow] (d2) edge[bend left] (c2) edge[bend right=20] (c3) edge[bend left] (d);
      draw[backarrow] (e2) edge[bend left] (d2) edge[bend left] (e);
      draw[toarrow] (d) edge[bend left] (e);
      endtikzpicture
      enddocument


      enter image description here






      share|improve this answer



























        6












        6








        6







        We clearly can't avoid difficulties and complexity when dealing with such a complicated graph when using any kinds of tool, but by using matrices it has saved a lot of work.



        documentclass[tikz]standalone
        usetikzlibrarymatrix,positioning,arrows.meta
        usepackagemathptmx
        tikzsettoarrow/.style=[scale=0.7]->[scale=0.7],
        backarrow/.style=<[scale=0.7]-[scale=0.7]
        begindocument
        begintikzpicture
        matrix[matrix of math nodes,row sep=2cm,column sep=2cm] (m) %
        A & B & C & D & E\
        A' & B' & C' & D' & E'\;
        path (m-1-2) node[above left=1.5ex and 1.5ex] (b) $b$
        (m-1-3) node[above left=1.5ex and 1.5ex] (c) $c$
        (m-1-4) node[above left=1.5ex and 1.5ex] (d) $d$
        (m-1-5) node[above left=1.5ex and 1.5ex] (e) $e$
        (m-2-2) node[below left=1.5ex and 1.5ex] (b2) $b'$
        (m-2-3) node[below left=1.5ex and 1.5ex] (c2) $c'$
        (m-2-4) node[below left=1.5ex and 1.5ex] (d2) $d'$
        (m-2-5) node[below left=1.5ex and 1.5ex] (e2) $0$
        (m-2-3) node[above left=1.5ex and 1.5ex] (c3) $c''$
        (c) node[above left=1.5ex and -1.5ex] (cp) $overlinec+c$
        (c2) node[below=1.5ex] (cm) $c'-c''$
        (d2) node[below=1.5ex] (db) $0$
        (e.base east) node[above right=-.3333em and -1ex] $=0$
        (c.base west) node[above left=-.3333em and 1.5ex] (co) $overlinec$;
        % Delete the following part to see what happens
        foreach i [count=j from 2] in 1,2,3,4
        draw[dotted,->] (m-1-i) -- (m-2-i);
        draw[dotted,->] (m-1-i) -- (m-1-j);
        draw[dotted,->] (m-2-i) -- (m-2-j);

        draw[dotted,->] (m-1-5) -- (m-2-5);
        draw[toarrow] (b) edge[bend right] (b2) edge[bend left] (co);
        draw[toarrow] (b2) to[bend right] (cm);
        draw[toarrow] (cm) to[bend right] (db);
        draw[toarrow] (co) to[bend right] (cm);
        draw[toarrow] (cp) to[bend right] (c2);
        draw[toarrow] (c) edge[bend right] (c3) edge[bend left] (d);
        draw[backarrow] (d2) edge[bend left] (c2) edge[bend right=20] (c3) edge[bend left] (d);
        draw[backarrow] (e2) edge[bend left] (d2) edge[bend left] (e);
        draw[toarrow] (d) edge[bend left] (e);
        endtikzpicture
        enddocument


        enter image description here






        share|improve this answer















        We clearly can't avoid difficulties and complexity when dealing with such a complicated graph when using any kinds of tool, but by using matrices it has saved a lot of work.



        documentclass[tikz]standalone
        usetikzlibrarymatrix,positioning,arrows.meta
        usepackagemathptmx
        tikzsettoarrow/.style=[scale=0.7]->[scale=0.7],
        backarrow/.style=<[scale=0.7]-[scale=0.7]
        begindocument
        begintikzpicture
        matrix[matrix of math nodes,row sep=2cm,column sep=2cm] (m) %
        A & B & C & D & E\
        A' & B' & C' & D' & E'\;
        path (m-1-2) node[above left=1.5ex and 1.5ex] (b) $b$
        (m-1-3) node[above left=1.5ex and 1.5ex] (c) $c$
        (m-1-4) node[above left=1.5ex and 1.5ex] (d) $d$
        (m-1-5) node[above left=1.5ex and 1.5ex] (e) $e$
        (m-2-2) node[below left=1.5ex and 1.5ex] (b2) $b'$
        (m-2-3) node[below left=1.5ex and 1.5ex] (c2) $c'$
        (m-2-4) node[below left=1.5ex and 1.5ex] (d2) $d'$
        (m-2-5) node[below left=1.5ex and 1.5ex] (e2) $0$
        (m-2-3) node[above left=1.5ex and 1.5ex] (c3) $c''$
        (c) node[above left=1.5ex and -1.5ex] (cp) $overlinec+c$
        (c2) node[below=1.5ex] (cm) $c'-c''$
        (d2) node[below=1.5ex] (db) $0$
        (e.base east) node[above right=-.3333em and -1ex] $=0$
        (c.base west) node[above left=-.3333em and 1.5ex] (co) $overlinec$;
        % Delete the following part to see what happens
        foreach i [count=j from 2] in 1,2,3,4
        draw[dotted,->] (m-1-i) -- (m-2-i);
        draw[dotted,->] (m-1-i) -- (m-1-j);
        draw[dotted,->] (m-2-i) -- (m-2-j);

        draw[dotted,->] (m-1-5) -- (m-2-5);
        draw[toarrow] (b) edge[bend right] (b2) edge[bend left] (co);
        draw[toarrow] (b2) to[bend right] (cm);
        draw[toarrow] (cm) to[bend right] (db);
        draw[toarrow] (co) to[bend right] (cm);
        draw[toarrow] (cp) to[bend right] (c2);
        draw[toarrow] (c) edge[bend right] (c3) edge[bend left] (d);
        draw[backarrow] (d2) edge[bend left] (c2) edge[bend right=20] (c3) edge[bend left] (d);
        draw[backarrow] (e2) edge[bend left] (d2) edge[bend left] (e);
        draw[toarrow] (d) edge[bend left] (e);
        endtikzpicture
        enddocument


        enter image description here







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 15 at 4:55

























        answered Apr 15 at 4:38









        JouleVJouleV

        14.6k22665




        14.6k22665



























            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%2f484877%2ftypsetting-diagram-chases-with-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

            Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

            Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

            What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company