template.tex 1.47 KB
Newer Older
rusty1s's avatar
rusty1s committed
1
2
3
4
5
6
7
8
\documentclass[class=minimal]{standalone}

\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\newcommand{\tiny}[1]{\scalebox{0.45}{#1}}

\begin{document}

rusty1s's avatar
rusty1s committed
9
10
11
12
\begin{tikzpicture}

\tikzstyle{title}=[text width=1.1cm, inner sep=0pt]
\tikzstyle{square}=[rectangle, draw, minimum width=0.5cm, minimum height=0.5cm, inner sep=0pt, fill opacity=0.5, text opacity=1]
rusty1s's avatar
rusty1s committed
13
14
15
\tikzstyle{op}=[ellipse, draw, inner sep=0pt, minimum height=8pt, minimum width=8pt]
\tikzstyle{edge}=[->]
\tikzstyle{round}=[out=-90, in=90, looseness=0.85]
rusty1s's avatar
rusty1s committed
16
17
18
19

\node[title] at (-0.8, 2.2) {index};
\node[title] at (-0.8, 1.5) {input};
\foreach \i in {0,...,\numberInputs} {
rusty1s's avatar
rusty1s committed
20
21
22
  \pgfmathparse{\indices[\i]}\let\idx\pgfmathresult
  \pgfmathparse{\inputs[\i]}\let\in\pgfmathresult
  \pgfmathparse{\colors[\idx]}\let\co\pgfmathresult
rusty1s's avatar
rusty1s committed
23
24
  \node[square] (index\i) at (\i * 0.5, 2.2) {\idx};
  \node[square, fill=\co] (input\i) at (\i * 0.5, 1.5) {\in};
rusty1s's avatar
rusty1s committed
25
  \draw[edge] (index\i) -- (input\i);
rusty1s's avatar
rusty1s committed
26
27
28
29
}

\node[title] at (-0.8, 0.0) {output};
\foreach \i in {0,...,\numberOutputs} {
rusty1s's avatar
rusty1s committed
30
31
  \pgfmathparse{\outputs[\i]}\let\out\pgfmathresult
  \pgfmathparse{\colors[\i]}\let\co\pgfmathresult
rusty1s's avatar
rusty1s committed
32
33
34
  \def \x{(\numberInputs - \numberOutputs) * 0.25 + \i * 0.5}
  \node[op] (op\i) at ({\x}, 0.6) {\tiny{\operation}};
  \node[square, fill=\co] (output\i) at ({\x}, 0.0) {\out};
rusty1s's avatar
rusty1s committed
35
  \draw[edge] (op\i) -- (output\i);
rusty1s's avatar
rusty1s committed
36
37
38
}

\foreach \i in {0,...,\numberInputs} {
rusty1s's avatar
rusty1s committed
39
40
  \pgfmathparse{\indices[\i]}\let\idx\pgfmathresult
  \draw[edge] (input\i) to[round] (op\idx);
rusty1s's avatar
rusty1s committed
41
42
43
}

\end{tikzpicture}
rusty1s's avatar
rusty1s committed
44
45

\end{document}