54 lines
1.8 KiB
TeX
54 lines
1.8 KiB
TeX
\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}
|