Topology diagrams (labelled edges)












4














What is the best way to create diagrams like these in LaTeX? Is Tikz the way to go?





(Code for these specific instances would be useful but is not absolutely required, since I'll be needing to make diagrams similar in spirit but not identical. Also, this has almost certainly been asked before, so I would equally appreciate a link to a previous asking -- I'm just unsure what terms to search to find such a post.)



edit: looked at some old code and came up with



begin{tikzpicture}

draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,1) -- (0,0);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,1) -- (0,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,0) -- (1,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,0) -- (1,0);

node at (.5,-.2) {$a$};

end{tikzpicture}


although this seems rather clunky.










share|improve this question
























  • What have you tried?
    – Henri Menke
    2 hours ago










  • I thought about doing something with tikzpicture and explicitly stating the parametrization of each length but it seems that there ought to be a more elegant way to do it.
    – zjs
    2 hours ago






  • 1




    @zjs Just post what you have got. It will be much easier to see what you want if you post a code example.
    – Henri Menke
    2 hours ago
















4














What is the best way to create diagrams like these in LaTeX? Is Tikz the way to go?





(Code for these specific instances would be useful but is not absolutely required, since I'll be needing to make diagrams similar in spirit but not identical. Also, this has almost certainly been asked before, so I would equally appreciate a link to a previous asking -- I'm just unsure what terms to search to find such a post.)



edit: looked at some old code and came up with



begin{tikzpicture}

draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,1) -- (0,0);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,1) -- (0,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,0) -- (1,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,0) -- (1,0);

node at (.5,-.2) {$a$};

end{tikzpicture}


although this seems rather clunky.










share|improve this question
























  • What have you tried?
    – Henri Menke
    2 hours ago










  • I thought about doing something with tikzpicture and explicitly stating the parametrization of each length but it seems that there ought to be a more elegant way to do it.
    – zjs
    2 hours ago






  • 1




    @zjs Just post what you have got. It will be much easier to see what you want if you post a code example.
    – Henri Menke
    2 hours ago














4












4








4


1





What is the best way to create diagrams like these in LaTeX? Is Tikz the way to go?





(Code for these specific instances would be useful but is not absolutely required, since I'll be needing to make diagrams similar in spirit but not identical. Also, this has almost certainly been asked before, so I would equally appreciate a link to a previous asking -- I'm just unsure what terms to search to find such a post.)



edit: looked at some old code and came up with



begin{tikzpicture}

draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,1) -- (0,0);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,1) -- (0,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,0) -- (1,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,0) -- (1,0);

node at (.5,-.2) {$a$};

end{tikzpicture}


although this seems rather clunky.










share|improve this question















What is the best way to create diagrams like these in LaTeX? Is Tikz the way to go?





(Code for these specific instances would be useful but is not absolutely required, since I'll be needing to make diagrams similar in spirit but not identical. Also, this has almost certainly been asked before, so I would equally appreciate a link to a previous asking -- I'm just unsure what terms to search to find such a post.)



edit: looked at some old code and came up with



begin{tikzpicture}

draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,1) -- (0,0);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,1) -- (0,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (1,0) -- (1,1);
draw[ultra thick,domain=0:1,samples=100, postaction={decorate}, decoration={markings, mark=at position 0.5 with {arrow{stealth}}}] (0,0) -- (1,0);

node at (.5,-.2) {$a$};

end{tikzpicture}


although this seems rather clunky.







tikz-pgf diagrams






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago









Henri Menke

70.4k8156264




70.4k8156264










asked 2 hours ago









zjszjs

305




305












  • What have you tried?
    – Henri Menke
    2 hours ago










  • I thought about doing something with tikzpicture and explicitly stating the parametrization of each length but it seems that there ought to be a more elegant way to do it.
    – zjs
    2 hours ago






  • 1




    @zjs Just post what you have got. It will be much easier to see what you want if you post a code example.
    – Henri Menke
    2 hours ago


















  • What have you tried?
    – Henri Menke
    2 hours ago










  • I thought about doing something with tikzpicture and explicitly stating the parametrization of each length but it seems that there ought to be a more elegant way to do it.
    – zjs
    2 hours ago






  • 1




    @zjs Just post what you have got. It will be much easier to see what you want if you post a code example.
    – Henri Menke
    2 hours ago
















What have you tried?
– Henri Menke
2 hours ago




What have you tried?
– Henri Menke
2 hours ago












I thought about doing something with tikzpicture and explicitly stating the parametrization of each length but it seems that there ought to be a more elegant way to do it.
– zjs
2 hours ago




I thought about doing something with tikzpicture and explicitly stating the parametrization of each length but it seems that there ought to be a more elegant way to do it.
– zjs
2 hours ago




1




1




@zjs Just post what you have got. It will be much easier to see what you want if you post a code example.
– Henri Menke
2 hours ago




@zjs Just post what you have got. It will be much easier to see what you want if you post a code example.
– Henri Menke
2 hours ago










3 Answers
3






active

oldest

votes


















4














Welcome to TeX.SE! This answer makes use of this answer.



documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{decorations.markings}

begin{document}
tikzset{lab dis/.store in=LabDis,
lab dis=0.3,
->-/.style args={at #1 with label #2}{decoration={
markings,
mark=at position #1 with {arrow{>}; node at (0,LabDis) {#2};}},postaction={decorate}},
-<-/.style args={at #1 with label #2}{decoration={
markings,
mark=at position #1 with {arrow{<}; node at (0,LabDis)
{#2};}},postaction={decorate}},
-*-/.style={decoration={
markings,
mark=at position #1 with {fill (0,0) circle (1.5pt);}},postaction={decorate}},
}

begin{tikzpicture}[>=latex]
draw[->-=at 0.125 with label {$b$},
->-=at 0.375 with label {$a$},
-<-=at 0.625 with label {$b$},
-<-=at 0.875 with label {$a$}] (0,0) rectangle (4,4);

draw[lab dis=-0.3,
-*-=0,->-=at 0.125 with label {$b$},
-*-=0.25,->-=at 0.375 with label {$a$},
-*-=0.5,-<-=at 0.625 with label {$b$},
-*-=0.75,-<-=at 0.875 with label {$a$}] (2,-4) circle (2.5);
end{tikzpicture}
end{document}


enter image description here






share|improve this answer





















  • I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
    – Henri Menke
    2 hours ago










  • @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
    – marmot
    1 hour ago



















2














You can place nodes on a path which should simplify the node positioning a lot. You might also want to factor out the arrow business into a style.



documentclass{article}
usepackage{tikz}
usetikzlibrary{decorations.markings}
begin{document}

begin{tikzpicture}[
arrow inside/.style = {
postaction={decorate},
decoration={markings, mark=at position 0.5 with {arrow{stealth}}}
}
]

draw[arrow inside] (0,0) -- node [below] {$a$} (1,0);
draw[arrow inside] (0,1) -- node [above] {$a$} (1,1);
draw[arrow inside] (0,0) -- node [left] {$b$} (0,1);
draw[arrow inside] (1,0) -- node [left] {$b$} (1,1);

end{tikzpicture}

end{document}


enter image description here






share|improve this answer





















  • Maybe move right b outside?! :-)
    – Sigur
    1 hour ago



















1














A PSTricks solution just for fun purposes.



documentclass[pstricks,12pt]{standalone}
usepackage{pstricks-add}

begin{document}
pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
curvepnodes[plotpoints=5]{0}{360}{3.5 t 45 add PtoC}{I}
foreach i/l/a in {0/a/<,1/b/<,2/a/>,3/b/>}{%
pcline[ArrowInside=-a](Ii)(Ithenumexpri+1)nbput{$l$}}
endpspicture
pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
pnode(0,0){O}
curvepnodes[plotpoints=5]{0}{360}{3.5 t 135 add PtoC}{I}
foreach i/l in {0/a,1/b,2/a,3/b}{%
qdisk([nodesep=3.5,angle=-45]{Ii}O){2pt}
psarc{->}(0,0){3.5}{(Ii)}{(Ithenumexpri+1)}
uput{8pt}[{(Ii)}](>Ii){$l$}}
endpspicture
end{document}


enter image description here



enter image description here



Note: ArrowInside is not available for psarc. I don't know why.






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%2f469051%2ftopology-diagrams-labelled-edges%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    4














    Welcome to TeX.SE! This answer makes use of this answer.



    documentclass[tikz,border=3.14mm]{standalone}
    usetikzlibrary{decorations.markings}

    begin{document}
    tikzset{lab dis/.store in=LabDis,
    lab dis=0.3,
    ->-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{>}; node at (0,LabDis) {#2};}},postaction={decorate}},
    -<-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{<}; node at (0,LabDis)
    {#2};}},postaction={decorate}},
    -*-/.style={decoration={
    markings,
    mark=at position #1 with {fill (0,0) circle (1.5pt);}},postaction={decorate}},
    }

    begin{tikzpicture}[>=latex]
    draw[->-=at 0.125 with label {$b$},
    ->-=at 0.375 with label {$a$},
    -<-=at 0.625 with label {$b$},
    -<-=at 0.875 with label {$a$}] (0,0) rectangle (4,4);

    draw[lab dis=-0.3,
    -*-=0,->-=at 0.125 with label {$b$},
    -*-=0.25,->-=at 0.375 with label {$a$},
    -*-=0.5,-<-=at 0.625 with label {$b$},
    -*-=0.75,-<-=at 0.875 with label {$a$}] (2,-4) circle (2.5);
    end{tikzpicture}
    end{document}


    enter image description here






    share|improve this answer





















    • I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
      – Henri Menke
      2 hours ago










    • @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
      – marmot
      1 hour ago
















    4














    Welcome to TeX.SE! This answer makes use of this answer.



    documentclass[tikz,border=3.14mm]{standalone}
    usetikzlibrary{decorations.markings}

    begin{document}
    tikzset{lab dis/.store in=LabDis,
    lab dis=0.3,
    ->-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{>}; node at (0,LabDis) {#2};}},postaction={decorate}},
    -<-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{<}; node at (0,LabDis)
    {#2};}},postaction={decorate}},
    -*-/.style={decoration={
    markings,
    mark=at position #1 with {fill (0,0) circle (1.5pt);}},postaction={decorate}},
    }

    begin{tikzpicture}[>=latex]
    draw[->-=at 0.125 with label {$b$},
    ->-=at 0.375 with label {$a$},
    -<-=at 0.625 with label {$b$},
    -<-=at 0.875 with label {$a$}] (0,0) rectangle (4,4);

    draw[lab dis=-0.3,
    -*-=0,->-=at 0.125 with label {$b$},
    -*-=0.25,->-=at 0.375 with label {$a$},
    -*-=0.5,-<-=at 0.625 with label {$b$},
    -*-=0.75,-<-=at 0.875 with label {$a$}] (2,-4) circle (2.5);
    end{tikzpicture}
    end{document}


    enter image description here






    share|improve this answer





















    • I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
      – Henri Menke
      2 hours ago










    • @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
      – marmot
      1 hour ago














    4












    4








    4






    Welcome to TeX.SE! This answer makes use of this answer.



    documentclass[tikz,border=3.14mm]{standalone}
    usetikzlibrary{decorations.markings}

    begin{document}
    tikzset{lab dis/.store in=LabDis,
    lab dis=0.3,
    ->-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{>}; node at (0,LabDis) {#2};}},postaction={decorate}},
    -<-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{<}; node at (0,LabDis)
    {#2};}},postaction={decorate}},
    -*-/.style={decoration={
    markings,
    mark=at position #1 with {fill (0,0) circle (1.5pt);}},postaction={decorate}},
    }

    begin{tikzpicture}[>=latex]
    draw[->-=at 0.125 with label {$b$},
    ->-=at 0.375 with label {$a$},
    -<-=at 0.625 with label {$b$},
    -<-=at 0.875 with label {$a$}] (0,0) rectangle (4,4);

    draw[lab dis=-0.3,
    -*-=0,->-=at 0.125 with label {$b$},
    -*-=0.25,->-=at 0.375 with label {$a$},
    -*-=0.5,-<-=at 0.625 with label {$b$},
    -*-=0.75,-<-=at 0.875 with label {$a$}] (2,-4) circle (2.5);
    end{tikzpicture}
    end{document}


    enter image description here






    share|improve this answer












    Welcome to TeX.SE! This answer makes use of this answer.



    documentclass[tikz,border=3.14mm]{standalone}
    usetikzlibrary{decorations.markings}

    begin{document}
    tikzset{lab dis/.store in=LabDis,
    lab dis=0.3,
    ->-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{>}; node at (0,LabDis) {#2};}},postaction={decorate}},
    -<-/.style args={at #1 with label #2}{decoration={
    markings,
    mark=at position #1 with {arrow{<}; node at (0,LabDis)
    {#2};}},postaction={decorate}},
    -*-/.style={decoration={
    markings,
    mark=at position #1 with {fill (0,0) circle (1.5pt);}},postaction={decorate}},
    }

    begin{tikzpicture}[>=latex]
    draw[->-=at 0.125 with label {$b$},
    ->-=at 0.375 with label {$a$},
    -<-=at 0.625 with label {$b$},
    -<-=at 0.875 with label {$a$}] (0,0) rectangle (4,4);

    draw[lab dis=-0.3,
    -*-=0,->-=at 0.125 with label {$b$},
    -*-=0.25,->-=at 0.375 with label {$a$},
    -*-=0.5,-<-=at 0.625 with label {$b$},
    -*-=0.75,-<-=at 0.875 with label {$a$}] (2,-4) circle (2.5);
    end{tikzpicture}
    end{document}


    enter image description here







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 2 hours ago









    marmotmarmot

    89.4k4102193




    89.4k4102193












    • I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
      – Henri Menke
      2 hours ago










    • @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
      – marmot
      1 hour ago


















    • I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
      – Henri Menke
      2 hours ago










    • @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
      – marmot
      1 hour ago
















    I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
    – Henri Menke
    2 hours ago




    I'm not convinced by the ->- and -*- notation. It's pretty hard to read. Now there are dashes everywhere.
    – Henri Menke
    2 hours ago












    @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
    – marmot
    1 hour ago




    @HenriMenke Well, everyone can rename these things as they wish. I do not think this is a fair criticism. And if you really feel you need to make this comment, make it here, where this notation has been proposed. This answer got 69 upvotes without anyone complaining about the notation.
    – marmot
    1 hour ago











    2














    You can place nodes on a path which should simplify the node positioning a lot. You might also want to factor out the arrow business into a style.



    documentclass{article}
    usepackage{tikz}
    usetikzlibrary{decorations.markings}
    begin{document}

    begin{tikzpicture}[
    arrow inside/.style = {
    postaction={decorate},
    decoration={markings, mark=at position 0.5 with {arrow{stealth}}}
    }
    ]

    draw[arrow inside] (0,0) -- node [below] {$a$} (1,0);
    draw[arrow inside] (0,1) -- node [above] {$a$} (1,1);
    draw[arrow inside] (0,0) -- node [left] {$b$} (0,1);
    draw[arrow inside] (1,0) -- node [left] {$b$} (1,1);

    end{tikzpicture}

    end{document}


    enter image description here






    share|improve this answer





















    • Maybe move right b outside?! :-)
      – Sigur
      1 hour ago
















    2














    You can place nodes on a path which should simplify the node positioning a lot. You might also want to factor out the arrow business into a style.



    documentclass{article}
    usepackage{tikz}
    usetikzlibrary{decorations.markings}
    begin{document}

    begin{tikzpicture}[
    arrow inside/.style = {
    postaction={decorate},
    decoration={markings, mark=at position 0.5 with {arrow{stealth}}}
    }
    ]

    draw[arrow inside] (0,0) -- node [below] {$a$} (1,0);
    draw[arrow inside] (0,1) -- node [above] {$a$} (1,1);
    draw[arrow inside] (0,0) -- node [left] {$b$} (0,1);
    draw[arrow inside] (1,0) -- node [left] {$b$} (1,1);

    end{tikzpicture}

    end{document}


    enter image description here






    share|improve this answer





















    • Maybe move right b outside?! :-)
      – Sigur
      1 hour ago














    2












    2








    2






    You can place nodes on a path which should simplify the node positioning a lot. You might also want to factor out the arrow business into a style.



    documentclass{article}
    usepackage{tikz}
    usetikzlibrary{decorations.markings}
    begin{document}

    begin{tikzpicture}[
    arrow inside/.style = {
    postaction={decorate},
    decoration={markings, mark=at position 0.5 with {arrow{stealth}}}
    }
    ]

    draw[arrow inside] (0,0) -- node [below] {$a$} (1,0);
    draw[arrow inside] (0,1) -- node [above] {$a$} (1,1);
    draw[arrow inside] (0,0) -- node [left] {$b$} (0,1);
    draw[arrow inside] (1,0) -- node [left] {$b$} (1,1);

    end{tikzpicture}

    end{document}


    enter image description here






    share|improve this answer












    You can place nodes on a path which should simplify the node positioning a lot. You might also want to factor out the arrow business into a style.



    documentclass{article}
    usepackage{tikz}
    usetikzlibrary{decorations.markings}
    begin{document}

    begin{tikzpicture}[
    arrow inside/.style = {
    postaction={decorate},
    decoration={markings, mark=at position 0.5 with {arrow{stealth}}}
    }
    ]

    draw[arrow inside] (0,0) -- node [below] {$a$} (1,0);
    draw[arrow inside] (0,1) -- node [above] {$a$} (1,1);
    draw[arrow inside] (0,0) -- node [left] {$b$} (0,1);
    draw[arrow inside] (1,0) -- node [left] {$b$} (1,1);

    end{tikzpicture}

    end{document}


    enter image description here







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 2 hours ago









    Henri MenkeHenri Menke

    70.4k8156264




    70.4k8156264












    • Maybe move right b outside?! :-)
      – Sigur
      1 hour ago


















    • Maybe move right b outside?! :-)
      – Sigur
      1 hour ago
















    Maybe move right b outside?! :-)
    – Sigur
    1 hour ago




    Maybe move right b outside?! :-)
    – Sigur
    1 hour ago











    1














    A PSTricks solution just for fun purposes.



    documentclass[pstricks,12pt]{standalone}
    usepackage{pstricks-add}

    begin{document}
    pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
    curvepnodes[plotpoints=5]{0}{360}{3.5 t 45 add PtoC}{I}
    foreach i/l/a in {0/a/<,1/b/<,2/a/>,3/b/>}{%
    pcline[ArrowInside=-a](Ii)(Ithenumexpri+1)nbput{$l$}}
    endpspicture
    pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
    pnode(0,0){O}
    curvepnodes[plotpoints=5]{0}{360}{3.5 t 135 add PtoC}{I}
    foreach i/l in {0/a,1/b,2/a,3/b}{%
    qdisk([nodesep=3.5,angle=-45]{Ii}O){2pt}
    psarc{->}(0,0){3.5}{(Ii)}{(Ithenumexpri+1)}
    uput{8pt}[{(Ii)}](>Ii){$l$}}
    endpspicture
    end{document}


    enter image description here



    enter image description here



    Note: ArrowInside is not available for psarc. I don't know why.






    share|improve this answer




























      1














      A PSTricks solution just for fun purposes.



      documentclass[pstricks,12pt]{standalone}
      usepackage{pstricks-add}

      begin{document}
      pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
      curvepnodes[plotpoints=5]{0}{360}{3.5 t 45 add PtoC}{I}
      foreach i/l/a in {0/a/<,1/b/<,2/a/>,3/b/>}{%
      pcline[ArrowInside=-a](Ii)(Ithenumexpri+1)nbput{$l$}}
      endpspicture
      pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
      pnode(0,0){O}
      curvepnodes[plotpoints=5]{0}{360}{3.5 t 135 add PtoC}{I}
      foreach i/l in {0/a,1/b,2/a,3/b}{%
      qdisk([nodesep=3.5,angle=-45]{Ii}O){2pt}
      psarc{->}(0,0){3.5}{(Ii)}{(Ithenumexpri+1)}
      uput{8pt}[{(Ii)}](>Ii){$l$}}
      endpspicture
      end{document}


      enter image description here



      enter image description here



      Note: ArrowInside is not available for psarc. I don't know why.






      share|improve this answer


























        1












        1








        1






        A PSTricks solution just for fun purposes.



        documentclass[pstricks,12pt]{standalone}
        usepackage{pstricks-add}

        begin{document}
        pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
        curvepnodes[plotpoints=5]{0}{360}{3.5 t 45 add PtoC}{I}
        foreach i/l/a in {0/a/<,1/b/<,2/a/>,3/b/>}{%
        pcline[ArrowInside=-a](Ii)(Ithenumexpri+1)nbput{$l$}}
        endpspicture
        pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
        pnode(0,0){O}
        curvepnodes[plotpoints=5]{0}{360}{3.5 t 135 add PtoC}{I}
        foreach i/l in {0/a,1/b,2/a,3/b}{%
        qdisk([nodesep=3.5,angle=-45]{Ii}O){2pt}
        psarc{->}(0,0){3.5}{(Ii)}{(Ithenumexpri+1)}
        uput{8pt}[{(Ii)}](>Ii){$l$}}
        endpspicture
        end{document}


        enter image description here



        enter image description here



        Note: ArrowInside is not available for psarc. I don't know why.






        share|improve this answer














        A PSTricks solution just for fun purposes.



        documentclass[pstricks,12pt]{standalone}
        usepackage{pstricks-add}

        begin{document}
        pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
        curvepnodes[plotpoints=5]{0}{360}{3.5 t 45 add PtoC}{I}
        foreach i/l/a in {0/a/<,1/b/<,2/a/>,3/b/>}{%
        pcline[ArrowInside=-a](Ii)(Ithenumexpri+1)nbput{$l$}}
        endpspicture
        pspicture[arrowinset=0,arrowscale=2](-4,-4)(4,4)
        pnode(0,0){O}
        curvepnodes[plotpoints=5]{0}{360}{3.5 t 135 add PtoC}{I}
        foreach i/l in {0/a,1/b,2/a,3/b}{%
        qdisk([nodesep=3.5,angle=-45]{Ii}O){2pt}
        psarc{->}(0,0){3.5}{(Ii)}{(Ithenumexpri+1)}
        uput{8pt}[{(Ii)}](>Ii){$l$}}
        endpspicture
        end{document}


        enter image description here



        enter image description here



        Note: ArrowInside is not available for psarc. I don't know why.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 1 hour ago

























        answered 1 hour ago









        God Must Be CrazyGod Must Be Crazy

        5,85211039




        5,85211039






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f469051%2ftopology-diagrams-labelled-edges%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

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            Refactoring coordinates for Minecraft Pi buildings written in Python