Archived
1
Fork 0
This repository has been archived on 2025-04-09. You can view files and clone it, but cannot push or open issues or pull requests.
phd-thesis/environment/tikz.tex
2018-11-13 12:39:15 +01:00

39 lines
1.4 KiB
TeX

\startenvironment tikz
\usemodule[tikz]
\usetikzlibrary[automata, arrows, positioning, matrix, fit, decorations.pathreplacing]
\usemodule[pgfplots]
% defaults
\tikzset{node distance=2cm} % 'shorten >=2pt' only for automata
\tikzset{/pgfplots/table/search path={data,../data}}
\tikzset{initial text=}
% observation table
\tikzset{obs table/.style={matrix of math nodes, ampersand replacement=\&, column 1/.style={anchor=base west}}}
% This command is used to draw the internal data structure for the minimal separating sequences paper
\define[5]\gasblock{
\fill (#1-0.495,{(3-#3)*0.75+0.5}) [rounded corners=0.2cm] -- (#1-0.495,{(3-#3)*0.75+0.655}) -- (#2-0.505,{(3-#3)*0.75+0.655}) [sharp corners] -- (#2-0.505,{(3-#3)*0.75+0.5}) [rounded corners=0.2cm] -- (#2-0.505,{(3-#3)*0.75+0.645}) -- (#1-0.495,{(3-#3)*0.75+0.645}) [sharp corners] -- cycle;
\draw ({(#1+#2)/2-0.5},{(3-#3)*0.75+0.65}) node[fill=white] (B#4) {{$B_{#4}$} {$\scriptscriptstyle #5$}};
}
\define[4]\splitnode{
\node (#1) [#4] {$#2$};
\node (#1s) [below=-2pt of #1] {$#3$};
}
\define[5]\adsnode{
\node (#1) [align=center,#5] {$I = #2$ \\ $C = #3$};
\node (#1s) [below=-2pt of #1] {$#4$};
}
% Used to draw extended cells in observation tables for the learning nominal automata paper
\define[1]\NomCell{
\startmathcases[numberdistance=0pt]
\NC 1 \NC if $#1$ \NR
\NC 0 \NC else \NR
\stopmathcases
}
\stopenvironment