-
Notifications
You must be signed in to change notification settings - Fork 3
/
replaysubject.tex
61 lines (51 loc) · 1.95 KB
/
replaysubject.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
\documentclass{standalone}
\usepackage{tikz,rxmarbles}
\usetikzlibrary[arrows,shapes,positioning,matrix]
\begin{document}
\begin{tikzpicture}
\matrix[row sep=0.5cm]
{
\coordinate (Sx0) at (0.3,0);
\draw [time] (0,0) -- (6,0);
\node[marble,hexagon,red] (0x0) [right=0.5 of Sx0] {};
\node[marble,hexagon,green] (1x0) [right=1.7 of Sx0] {};
\node[marble,hexagon,blue] (2x0) [right=3.4 of Sx0] {};
\node[complete] (3x0) [right=4.5 of Sx0] {};
\\
\node[box,minimum width=6cm] (op) {ReplaySubject};
\\
\coordinate (Sx2) at (0.3,0);
\draw [time] (0,0) -- (6,0);
\node[marble,hexagon,red] (0x2) [right=0.5 of Sx2] {};
\node[marble,hexagon,green] (1x2) [right=1.7 of Sx2] {};
\node[marble,hexagon,blue] (2x2) [right=3.4 of Sx2] {};
\node[complete] (3x2) [right=4.5 of Sx2] {};
\\
\coordinate (Sx3) at (3.0,0);
\coordinate (Rx3) at (3.1,0);
\coordinate (R1x3) at (3.2,0);
\coordinate (R2x3) at (4.05,0);
\draw [time] (2.7,0) -- (6,0);
\node[marble,hexagon,red] (0x3) [right=0.1 of Sx3] {};
\node[marble,hexagon,green] (1x3) [right=0.6 of Sx3] {};
\node[marble,hexagon,blue] (2x3) [right=1.1 of Sx3] {};
\node[complete] (3x3) [right=1.8 of Sx3] {};
\\
};
\draw [fdash] (0x0) -- (0x0|-op.north);
\draw [fdash] (1x0) -- (1x0|-op.north);
\draw [fdash] (2x0) -- (2x0|-op.north);
\draw [fdash] (3x0) -- (3x0|-op.north);
\draw [subscribe] (Sx0) -- (Sx0|-op.north) node[above,sloped,pos=0.5] {\tiny{subscribe}};
\draw [subscribe] (Sx2|-op.south) -- (Sx2) node[above,sloped,pos=0.5] {\tiny{subscribe}};
\draw [subscribe] (Sx3|-op.south) -- (Sx3) node[below,sloped,pos=0.75] {\tiny{subscribe}};
\draw [rdash] (0x2) -- (0x2|-op.south);
\draw [rdash] (1x2) -- (1x2|-op.south);
\draw [rdash] (2x2) -- (2x2|-op.south);
\draw [rdash] (3x2) -- (3x2|-op.south);
\draw [fdash] (Rx3|-op.south) -- (0x3);
\draw [fdash] (R1x3|-op.south) -- (1x3);
\draw [fdash] (R2x3|-op.south) -- (2x3);
\draw [fdash] (3x2|-op.south) -- (3x3);
\end{tikzpicture}
\end{document}