mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2025-10-21 20:10:41 +00:00
243 lines
7.7 KiB
TeX
243 lines
7.7 KiB
TeX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%% TikZ Example %%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\documentclass[11pt]{article}
|
|
|
|
%################################################
|
|
%######## Packages ########
|
|
%################################################
|
|
|
|
\usepackage{tikz} % Diagrams
|
|
\usetikzlibrary{positioning,arrows,shadows,shapes,patterns,decorations.pathmorphing} % Some TikZ libraries
|
|
|
|
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
%>>>>>> Setup >>>>>>
|
|
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
|
\tikzset{
|
|
modal/.style={
|
|
>=stealth',
|
|
shorten >=1pt,
|
|
shorten <=1pt,
|
|
auto,
|
|
node distance=2cm,
|
|
semithick
|
|
},
|
|
state/.style={
|
|
circle,
|
|
draw,
|
|
minimum size=0.5cm,
|
|
fill=gray!15
|
|
},
|
|
point/.style={
|
|
circle,
|
|
draw,
|
|
inner sep=0.5mm,
|
|
fill=black
|
|
},
|
|
sees/.style={
|
|
->
|
|
},
|
|
seen/.style={
|
|
<-
|
|
},
|
|
seens/.style={
|
|
<->
|
|
},
|
|
rfl/.style={
|
|
->,
|
|
in=120,
|
|
out=60,
|
|
loop,
|
|
looseness=5
|
|
}}
|
|
|
|
\newcommand{\stack}[1]{{\def\arraystretch{0.6}\begin{array}{c} #1 \end{array}}}
|
|
|
|
%::::::::::::::::::::::::::::::::::::::::::::::::
|
|
%:::::: Front Matter ::::::
|
|
%::::::::::::::::::::::::::::::::::::::::::::::::
|
|
|
|
\begin{document}
|
|
|
|
\textbf{Example 1:}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[modal, node distance=1cm]
|
|
\node[point] (p1) [label=above:$p_1$] {};
|
|
\node[point] (p2) [right of=p1, label=above:$\stack{p_1 \\ p_2}$] {};
|
|
\node[point] (p3) [right of=p2, label=above:$\stack{p_1 \\ p_2 \\ p_3}$] {};
|
|
\node[point] (r) [below of=p2, label=below:$t_\mathsf{root}$] {};
|
|
\node (con) [right of=p3] {$\cdots$};
|
|
\node[point] (pw) [right of=con, label=above:$\stack{p_1 \\ p_2 \\ p_3 \\ \vdots}$, label=right:``$t_\omega$''] {};
|
|
\node (T') [below of=r] {$\mathcal{T}$};
|
|
|
|
\path (r) edge[sees] (p1);
|
|
\path (r) edge[sees] (p2);
|
|
\path (r) edge[sees] (p3);
|
|
\path (r) edge[sees,dashed, bend right=25] (pw);
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\textbf{Example 2:}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[modal, node distance=1.5cm]
|
|
\node[point] (0) [label=above:$p_1$, label=below:$0$] {};
|
|
\node[point] (1) [right of=0, label=above:$p_2$, label=below:$1$] {};
|
|
\node[point] (2) [right of=1, label=above:$p_1$, label=below:$2$] {};
|
|
\node[point] (3) [right of=2, label=above:$p_2$, label=below:$3$] {};
|
|
\node (r) [right of=3] {$\cdots$};
|
|
\node[point] (-1) [left of=0, label=above:$p_2$, label=below:$-1$] {};
|
|
\node[point] (-2) [left of=-1, label=above:$p_1$, label=below:$-2$] {};
|
|
\node[point] (-3) [left of=-2, label=above:$p_2$, label=below:$-3$] {};
|
|
\node (l) [left of=-3] {$\cdots$};
|
|
|
|
\path (l) edge[sees] (-3);
|
|
\path (-3) edge[sees] (-2);
|
|
\path (-2) edge[sees] (-1);
|
|
\path (-1) edge[sees] (0);
|
|
\path (0) edge[sees] (1);
|
|
\path (1) edge[sees] (2);
|
|
\path (2) edge[sees] (3);
|
|
\path (3) edge[sees] (r);
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\textbf{Example 3:}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[modal, node distance=1.5cm]
|
|
\node[point] (e) [label=above:$p_1$, label=below:$e$] {};
|
|
\node[point] (m) [right of=e, label=below:$m$] {};
|
|
\node[point] (o) [right of=m, label=above:$p_2$, label=below:$o$] {};
|
|
|
|
\path (e) edge[sees, bend left=25] (m);
|
|
\path (m) edge[sees, bend left=25] (e);
|
|
\path (o) edge[sees, bend left=25] (m);
|
|
\path (m) edge[sees, bend left=25] (o);
|
|
\path (m) edge[rfl, in=60, out=120, looseness=30] (m);
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\textbf{Example 4:}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[modal]
|
|
\node (r) {$t_\mathsf{root}$};
|
|
\node (1p1) [above left=5mm of r] {$p_1$};
|
|
\node (1p2) [above left=5mm of 1p1] {$p_2$};
|
|
\node (1p3) [above left=5mm of 1p2] {$p_3$};
|
|
\node (1pd) [above left=-2mm of 1p3] {\rotatebox[origin=c]{-10}{$\ddots$}};
|
|
|
|
\node (2p1) [above=5mm of r] {$p_1$};
|
|
\node (2p2) [above=5mm of 2p1] {$p_1$};
|
|
\node (2p3) [above=5mm of 2p2] {$p_2$};
|
|
\node (2p4) [above=5mm of 2p3] {$p_3$};
|
|
\node (2pd) [above=1mm of 2p4] {$\vdots$};
|
|
|
|
\node (3p1) [above right=5mm of r] {$p_1$};
|
|
\node (3p2) [above right=5mm of 3p1] {$p_1$};
|
|
\node (3p3) [above right=5mm of 3p2] {$p_1$};
|
|
\node (3p4) [above right=5mm of 3p3] {$p_2$};
|
|
\node (3p5) [above right=5mm of 3p4] {$p_3$};
|
|
\node (3pd) [above right=-2mm of 3p5] {\rotatebox[origin=c]{80}{$\ddots$}};
|
|
|
|
\node (con) [below right=1mm of 3p3] {$\ddots$};
|
|
\node (cont) [below right=1mm of con] {$\vdots$};
|
|
|
|
\node (wp1) [right=5mm of r] {$p_1$};
|
|
\node (wp2) [right=5mm of wp1] {$p_1$};
|
|
\node (wp3) [right=5mm of wp2] {$p_1$};
|
|
\node (wp4) [right=5mm of wp3] {$p_1$};
|
|
\node (wpd) [right=0mm of wp4] {$\dots$};
|
|
|
|
|
|
\path (r) edge[sees] (1p1);
|
|
\path (r) edge[sees] (2p1);
|
|
\path (r) edge[sees] (3p1);
|
|
\path (r) edge[sees] (wp1);
|
|
|
|
\path (1p1) edge[sees] (1p2);
|
|
\path (1p2) edge[sees] (1p3);
|
|
|
|
\path (2p1) edge[sees] (2p2);
|
|
\path (2p2) edge[sees] (2p3);
|
|
\path (2p3) edge[sees] (2p4);
|
|
|
|
\path (3p1) edge[sees] (3p2);
|
|
\path (3p2) edge[sees] (3p3);
|
|
\path (3p3) edge[sees] (3p4);
|
|
\path (3p4) edge[sees] (3p5);
|
|
|
|
\path (wp1) edge[sees] (wp2);
|
|
\path (wp2) edge[sees] (wp3);
|
|
\path (wp3) edge[sees] (wp4);
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\pagebreak
|
|
\textbf{Example 5:}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[modal]
|
|
\node[state] (h1) {H};
|
|
\node[state] (h2) [right of = h1] {H};
|
|
\node[state] (h3) [right of = h2] {H};
|
|
\node[state] (t1) [above right of = h1] {T};
|
|
\node[state] (t2) [above right of = h2] {T};
|
|
\node[state] (t3) [above right of = h3] {T};
|
|
\node (e) [right of = h3] {\dots};
|
|
|
|
\path (h1) edge[rfl, in=150, out=210] (h1);
|
|
\path (t1) edge[rfl] (t1);
|
|
|
|
\path (h1) edge[sees] (h2);
|
|
\path (h2) edge[sees] (h3);
|
|
\path (h3) edge[sees] (e);
|
|
|
|
\path (h1) edge[sees,dashed] (t1);
|
|
\path (h2) edge[sees,dashed] (t2);
|
|
\path (h3) edge[sees,dashed] (t3);
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
\textbf{Example 6:}
|
|
|
|
\begin{center}
|
|
\begin{tikzpicture}[node distance=1ex]
|
|
\node (A->B) {$A \rightarrow B$};
|
|
\node (A&-B) [below=of A->B] {$A \wedge \neg B$};
|
|
\node (-A) [below left=7mm of A&-B] {$\neg A$};
|
|
\node (A) [below=of -A] {$A$};
|
|
\node (x-A) [below=of A] {$\times$};
|
|
\node (B) [below right=7mm of A&-B] {$B$};
|
|
\node (A2) at (x-A -| B) [yshift=-7mm] {$A$};
|
|
\node (-B) [below=of A2] {$\neg B$};
|
|
\node (x-B) [below=of -B] {$\times$};
|
|
|
|
\path (A&-B) edge[-] (-A);
|
|
\path (A&-B) edge[-] (B);
|
|
\path (B) edge[-] (A2);
|
|
|
|
\node (1) [left=2cm of A->B] {1.};
|
|
\node (2) at (1 |- A&-B) {2.};
|
|
\node (3) at (1 |- -A) {3.};
|
|
\node (4) at (1 |- A) {4.};
|
|
\node (5) at (1 |- A2) {5.};
|
|
\node (6) at (1 |- -B) {6.};
|
|
|
|
\path (5) edge[-,dashed] (A2);
|
|
\path (6) edge[-,dotted] (-B);
|
|
|
|
\node (r1) [right=2cm of A->B] {P};
|
|
\node (r2) at (r1 |- A&-B) {P};
|
|
\node (r3) at (r1 |- -A) {($\rightarrow$), 1};
|
|
\node (r4) at (r1 |- A) {($\wedge$), 2};
|
|
\node (r5) at (r1 |- A2) {($\wedge$), 2};
|
|
\node (r6) at (r1 |- -B) {($\wedge$), 2};
|
|
\end{tikzpicture}
|
|
\end{center}
|
|
|
|
|
|
\end{document} |