\documentclass[preview]{standalone} \usepackage{tikz} \usepackage{tikz-cd} \usepackage{amssymb} \usetikzlibrary{calc} % `pathmorphing` is necessary to draw squiggly arrows. \usetikzlibrary{decorations.pathmorphing} % A TikZ style for curved arrows of a fixed height, due to AndréC. \tikzset{curve/.style={settings={#1},to path={(\tikztostart) .. controls ($(\tikztostart)!\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$) and ($(\tikztostart)!1-\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$) .. (\tikztotarget)\tikztonodes}}, settings/.code={\tikzset{quiver/.cd,#1} \def\pv##1{\pgfkeysvalueof{/tikz/quiver/##1}}}, quiver/.cd,pos/.initial=0.35,height/.initial=0} % TikZ arrowhead/tail styles. \tikzset{tail reversed/.code={\pgfsetarrowsstart{tikzcd to}}} \tikzset{2tail/.code={\pgfsetarrowsstart{Implies[reversed]}}} \tikzset{2tail reversed/.code={\pgfsetarrowsstart{Implies}}} % TikZ arrow styles. \tikzset{no body/.style={/tikz/dash pattern=on 0 off 1mm}} \begin{document} \[\begin{tikzcd} && \bullet && \bullet \\ \\ \bullet && \bullet && \bullet && \bullet \\ \\ \bullet && \bullet && \bullet && \bullet \\ \\ && \bullet && \bullet && \bullet \arrow[from=3-3, to=5-3] \arrow[from=3-5, to=5-5] \arrow[from=5-3, to=5-5] \arrow[from=3-3, to=3-5] \arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=3-3, to=5-5] \arrow[from=3-1, to=3-3] \arrow[from=5-1, to=5-3] \arrow[from=3-5, to=3-7] \arrow[from=5-5, to=5-7] \arrow[from=1-5, to=3-5] \arrow[from=1-3, to=3-3] \arrow[from=5-3, to=7-3] \arrow[from=5-5, to=7-5] \arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=5-3, to=7-5] \arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=3-5, to=5-7] \arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=5-5, to=7-7] \end{tikzcd}\] \end{document}