ACT
TikZ-Picture demo

Example 1


+--{: style="margin: auto; text-align: center"}
\begin{tikzpicture}[every tqft/.style={fill=orange,fill opacity=0.25},
tqft/every boundary component/.style={fill=yellow,fill opacity=.5},
tqft/every upper boundary component/.style={draw,thin,blue},
tqft/every lower boundary component/.style={draw,dashed,thin,blue}]
\usetikzlibrary{tqft}
\begin{scope}[tqft/every incoming boundary component/.style={fill=green, fill opacity= .25}]
\pic[tqft/pair of pants,draw,name=a,at={(0,0)}];
\pic[tqft/reverse pair of pants,draw,anchor=incoming boundary 2,name=e,at={(8,0)}];
\end{scope}
\begin{scope}[tqft/every outgoing boundary component/.style={draw,thin,blue,fill=yellow}]
\pic[tqft/reverse pair of pants,draw,anchor=incoming boundary 1,name=b,at=(a-outgoing boundary 2)];
\end{scope}
\begin{scope}[tqft/every incoming boundary component/.style={fill=green, fill opacity= .25}]
\pic[tqft/cylinder,draw,anchor=outgoing boundary 1,name=d,at=(b-incoming boundary 2)];
\end{scope}
\path (b-incoming boundary 2) ++(1.5,0) node[font=\Huge] {\(=\)};
\begin{scope}[tqft/every outgoing boundary component/.style={draw,thin,blue,fill=yellow}]
\pic[tqft/cylinder,draw,anchor=incoming boundary 1,name=c,at=(a-outgoing boundary 1)];
\pic[tqft/pair of pants,draw,anchor=incoming boundary 1,name=f,at=(e-outgoing boundary 1)];
\end{scope}
\end{tikzpicture}
=--

  • Original source: TQFT documentation, enhanced by Jacques Distler.


Example 2


\begin{tikzpicture}[decoration={markings,
mark=at position .5 with {\arrow{>}}}]
\usetikzlibrary{arrows,shapes,decorations.markings}
\begin{scope}[scale=2.0]
\node[Bl,scale=.75] (or1) at (8,3) {};
\node[scale=1] at (8.7,2.9) {$D3$ brane};
\node[draw,diamond,fill=yellow,scale=.3] (A1) at (7,0) {}; 
\draw[dashed] (A1) -- (7,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A2) at (7.5,0) {}; 
\draw[dashed] (A2) -- (7.5,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A3) at (8,0) {}; 
\draw[dashed] (A3) -- (8,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A4) at (8.5,0) {}; 
\draw[dashed] (A4) -- (8.5,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A5) at (9,0) {};
\draw[dashed] (A5) -- (9,-.7);
\node[draw,circle,fill=aqua,scale=.3] (B) at (9.5,0) {};
\draw[dashed] (B) -- (9.5,-.7);
\node[draw,regular polygon,regular polygon sides=5,fill=purple,scale=.3] (C1) at (10,0) {}; 
\draw[dashed] (C1) -- (10,-.7);
\node[draw,regular polygon,regular polygon sides=5,fill=purple,scale=.3] (C2) at (10.5,0) {};
\draw[dashed] (C2) -- (10.5,-.7);
\draw (6.8,-.7) -- (6.8,-.9) to (9.2,-.9) to (9.2,-.7);
\draw (9.8,-.7) -- (9.8,-.9) to (10.7,-.9) to (10.7,-.7);
\draw[->-=.75] (C2) to (10.2,.35);
\draw[->-=.75] (C1) to (10.2,.35);
\node[scale=.6] at (9.9,.35) {$(2,2)$};
\draw[->-=.7] (B) to (9.6,.7);
\draw (10.2,.35) to (9.6,.7);
\node[scale=.6] at (9.35,.9) {$(4,0)$};
\draw[->-=.5] (9.1,.8) to (A5);
\draw (9.6,.7) to (9.1,.8) to (A5);
\draw (9.1,.8) to [out=170,in=280] (8.3,1.45);
\draw[dashed] (8.3,1.45) to (8.1,2.5);
\draw[->-=.5] (8.1,2.5) to (or1);
\node[scale=.75] at (7.7,2.7) {$(3,0)$};
%\draw (11.4,2.4) to [out=180,in=90] (6.2,-.5) to [out=90,in=0] (or1) -- cycle;
\node[scale=.75] at (8,-1.1) {A-type};
\node[scale=.75] at (9.5,-1.1) {B-type};
\node[scale=.75] at (10.25,-1.1) {C-type};
\draw[dashed] (8.7,.6) to [out=180,in=90] (6.2,-.55) to [out=270,in=180] (8.7,-1.6) to [out=0,in=270] (11.2,-.55) to [out=90,in=0] (8.7,.6) -- cycle;
\node[scale=1] at (12,.6) {$E_6$ singularity};
\end{scope}
\end{tikzpicture}

  • Source: Instiki documentation