Typsetting diagram chases (with TikZ?) Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm 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

Classification of bundles, Postnikov towers, obstruction theory, local coefficients

Single author papers against my advisor's will?

Why does tar appear to skip file contents when output file is /dev/null?

Is it possible to ask for a hotel room without minibar/extra services?

Replacing HDD with SSD; what about non-APFS/APFS?

I'm having difficulty getting my players to do stuff in a sandbox campaign

Is 1 ppb equal to 1 μg/kg?

Do working physicists consider Newtonian mechanics to be "falsified"?

What would be Julian Assange's expected punishment, on the current English criminal law?

What do you call the holes in a flute?

What can I do if my MacBook isn’t charging but already ran out?

If I can make up priors, why can't I make up posteriors?

Was credit for the black hole image misattributed?

Blender game recording at the wrong time

Unexpected result with right shift after bitwise negation

3 doors, three guards, one stone

How can you insert a "times/divide" symbol similar to the "plus/minus" (±) one?

Is drag coefficient lowest at zero angle of attack?

Stop battery usage [Ubuntu 18]

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

Two different pronunciation of "понял"

How do I automatically answer y in bash script?

Typsetting diagram chases (with TikZ?)

What is the order of Mitzvot in Rambam's Sefer Hamitzvot?



Typsetting diagram chases (with TikZ?)



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm 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










2















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],bend left] node [left] (cbar);
path (b) edge [->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [->[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
























  • The diagram was created with a very nice tool, but that is not TikZ (as far as I can see). Anyway, it is always possible to create the diagram using TikZ.

    – JouleV
    2 hours ago











  • 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
    2 hours ago















2















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],bend left] node [left] (cbar);
path (b) edge [->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [->[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
























  • The diagram was created with a very nice tool, but that is not TikZ (as far as I can see). Anyway, it is always possible to create the diagram using TikZ.

    – JouleV
    2 hours ago











  • 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
    2 hours ago













2












2








2








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],bend left] node [left] (cbar);
path (b) edge [->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [->[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],bend left] node [left] (cbar);
path (b) edge [->[scale=0.7],bend right] node [left] (bprime);
path (bprime) edge [->[scale=0.7],bend right] node [left] (cdiff);
path (cbar) edge [->[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 51 mins ago









JouleV

13.5k22664




13.5k22664










asked 2 hours ago









Oskar HenrikssonOskar Henriksson

1256




1256












  • The diagram was created with a very nice tool, but that is not TikZ (as far as I can see). Anyway, it is always possible to create the diagram using TikZ.

    – JouleV
    2 hours ago











  • 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
    2 hours ago

















  • The diagram was created with a very nice tool, but that is not TikZ (as far as I can see). Anyway, it is always possible to create the diagram using TikZ.

    – JouleV
    2 hours ago











  • 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
    2 hours ago
















The diagram was created with a very nice tool, but that is not TikZ (as far as I can see). Anyway, it is always possible to create the diagram using TikZ.

– JouleV
2 hours ago





The diagram was created with a very nice tool, but that is not TikZ (as far as I can see). Anyway, it is always possible to create the diagram using TikZ.

– JouleV
2 hours ago













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
2 hours ago





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
2 hours ago










1 Answer
1






active

oldest

votes


















3














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],
backarrow/.style=<[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









    3














    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],
    backarrow/.style=<[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





























      3














      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],
      backarrow/.style=<[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



























        3












        3








        3







        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],
        backarrow/.style=<[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],
        backarrow/.style=<[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 1 hour ago

























        answered 2 hours ago









        JouleVJouleV

        13.5k22664




        13.5k22664



























            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

            Isurus Índice Especies | Notas | Véxase tamén | Menú de navegación"A compendium of fossil marine animal genera (Chondrichthyes entry)"o orixinal"A review of the Tertiary fossil Cetacea (Mammalia) localities in wales port taf Museum Victoria"o orixinalThe Vertebrate Fauna of the Selma Formation of Alabama. Part VII. Part VIII. The Mosasaurs The Fishes50419737IDsh85068767Isurus2548834613242066569678159923NHMSYS00210535017845105743

            Wolfenstein 3D Contents Availability Essential improvements Game data Video settings Input settings Audio settings Network VR support Issues fixed Other information System requirements NotesReferences    3D Realms Wolfenstein 3D pageGOG.com Community DiscussionsGOG.com Support PageSteam Community DiscussionsWolfenstein WikiOfficial websiteAmazon.comBethesda.netGamersGateGOG.comGreen Man GamingHumble StoreSteamweb browser versionWolfenstein 3D: Super UpgradesherehereUltraWolfhereWolfMenuECWolf Wolf4SDL WolfGL WinWolf3d NewWolf BetterWolf Sprite Fix and Rotation Project    Wolfenstein 3D VRSplitWolfWolfenstein 3D VRWolfenstein 3D VRWolfenstein 3D VR4DOS command shellFreeDOS's MORE.COMMacBin themthis shim fileWine regeditRELEASE: QUAKE II + III, WOLFENSTEIN 3D, RETURN TO CASTLE WOLFENSTEIN - GOG.com NewsMac Family - Wolfenstein Wiki - WikiaNerdly Pleasures: How many FPS? - DOS Games and Framerates

            Король Коль Исторические данные | Стихотворение | Примечания | Навигацияверсии1 правкаверсии1 правкаA New interpretation of the 'Artognou' stone, TintagelTintagel IslandАрхивировано