-1

I'm looking to draw this design with TikZ.I learnt a lot with you guys but for this one, I have no idea about how to draw the infinite loop like this.

enter image description here

3

1 Answer 1

6

While solutions exist to plot such an infinity symbol ([1], [2]) we can just fake it with some arcs and curves.

The middle part that goes from top left to bottom right gets drawn separately but above the rest (that's why it's an edge) but also needs to be drawn before the nodes are constructed (that's why it's not a separate path).

The line cap=butt makes sure we don't see any slithers of white shining through at the connecting points (0, 2) and (6, -2) which some viewers don't render perfectly.

Code

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.arrows}
\begin{document}
\begin{tikzpicture}[
  radius=2, start angle=-90, line cap=round,
  arr node/.style={sloped, allow upside down, single arrow,
    single arrow head extend=+.15cm, thick, minimum height=+.7cm, fill=white},
  arr/.style ={  edge node={node[arr node, pos={#1}]{}}},
  arr'/.style={insert path={node[arr node, pos={#1}]{}}},
]
\sffamily\bfseries
\draw[line width=+1cm, sloped, text=white]
  (0, 2) edge[preaction={line cap=butt, line width=+2cm, draw=white, overlay},
              out=0, in=180, arr=.2, arr=.8] (6, -2)
  (6, -2) arc[delta angle= 180]
    [arr'=.5] node[very near start]{Study} node[very near end]{Measure}
  to[out=180, in=0, arr=.2, arr=.8] (0, -2) arc[delta angle=-180]
    [arr'=.5] node[very near start]{Build} node[very near end]{Maintain};
\end{tikzpicture}
\end{document}

Output

enter image description here

1
  • whaou, amazing work, thank you so much. The arr parameter is the thing I should learn with that arc figure. Thanks, I improve a lot with you. Aug 2, 2023 at 14:51

Not the answer you're looking for? Browse other questions tagged .