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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
\small
\Wider[5em]{
\begin{tikzpicture}[>=stealth, thick, black!50, text=black,
every new ->/.style={shorten >=1pt},
hv path/.style={to path={-| (\tikztotarget)}},
graphs/every graph/.style={edges=rounded corners}]
%% This white line is only added to fix the vertical position of the
%% figure so it doesn't change as we add more boxes.
\draw [white] (0,-4.2) -- (0,4.2);
\draw [white] (-0.5,0) -- (12,0);
\graph[grow right sep, simple] {
{ [nodes={yshift=7mm}]
soft/Software [gbox] -> build/Build [bbox],
hard/Hardware/data [gbox, yshift=-0.5cm] --
p1 [coordinate, xshift=2cm, yshift=-0.5cm]
} -- [hv path]
p2 [coordinate] ->
srun/Run software on data [bbox] ->
paper/Paper [bbox]
};
\ifdefined\paperfinal
\node (happy) [inner sep=0pt, below=of paper, yshift=+8mm]
{\includegraphics[width=2cm]{img/happy-question.jpg}};
\node (happyurl) [below=of happy, xshift=-9.5mm, yshift=+1cm]
{\tiny \url{https://heywhatwhatdidyousay.wordpress.com}};
\node (qurl) [below=of happyurl, xshift=10.5mm, yshift=+1.2cm]
{\tiny \url{http://pngimages.net}};
\else
\ifdefined\paperinit
\node (happy) [inner sep=0pt, below=of paper, yshift=+8mm]
{\includegraphics[width=2cm]{img/happy.jpg}};
\node (happyurl) [below=of happy, xshift=-9.5mm, yshift=+1cm]
{\tiny \url{https://heywhatwhatdidyousay.wordpress.com}};
\fi
\fi
%% Software...
\ifdefined\sver
\node (sver) [rbox, above=of soft, yshift=-8mm, opacity=\nodeopacity] {What version?};
\fi
\ifdefined\srep
\node (srep) [rbox, above=of sver, yshift=-8mm, opacity=\nodeopacity] {Repository?};
\fi
%% Hardware...
\ifdefined\db
\node (db) [rbox, below=of hard, yshift=+8mm, opacity=\nodeopacity] {Data base?};
\fi
\ifdefined\calib
\node (calib) [rbox, below=of db, yshift=+8mm, opacity=\nodeopacity] {Calibration/version?};
\fi
\ifdefined\corr
\node (corr) [rbox, below=of calib, yshift=+8mm, opacity=\nodeopacity] {Integrity?};
\fi
%% Build
\ifdefined\dver
\node (dver) [rbox, above=of build, yshift=-8mm, opacity=\nodeopacity] {Dependencies?};
\fi
\ifdefined\ddver
\node (ddver) [rbox, above=of dver, yshift=-8mm, opacity=\nodeopacity] {Dep. versions?};
\fi
\ifdefined\confopt
\node (confopt) [rbox, above=of ddver, yshift=-8mm, opacity=\nodeopacity] {Config options?};
\fi
\ifdefined\confenv
\node (confenv) [rbox, above=of confopt, yshift=-8mm, opacity=\nodeopacity] {Config environment?};
\fi
%% Run software ...
\ifdefined\runord
\node (runord) [rbox, above=of srun, yshift=-8mm, opacity=\nodeopacity] {What order?};
\fi
\ifdefined\runopt
\node (runopt) [rbox, above=of runord, yshift=-8mm, opacity=\nodeopacity] {Runtime options?};
\fi
\ifdefined\humanerr
\node (humanerr) [rbox, above=of runopt, yshift=-8mm, opacity=\nodeopacity] {Human error?};
\fi
\ifdefined\depupdate
\node (depupdate) [rbox, below=of srun, yshift=+8mm, opacity=\nodeopacity] {Environment update?};
\fi
\ifdefined\coauth
\node (coaut) [rbox, below=of depupdate, yshift=+8mm, opacity=\nodeopacity] {In sync with coauthors?};
\fi
%% Paper ...
\ifdefined\varsinpaper
\node (varsinpaper) [rbox, above=of paper, xshift=-1mm, yshift=-8mm, opacity=1] {Sync with analysis?};
\fi
\ifdefined\recordinfo
\node (recordinfo) [rbox, above=of varsinpaper, yshift=-8mm, opacity=\nodeopacity] {Report this info?};
\fi
\ifdefined\softcite
\node (softcite) [rbox, above=of recordinfo, yshift=-8mm, opacity=\nodeopacity] {Cited software?};
\fi
\ifdefined\prevchange
\node (prevchange) [rbox, above=of softcite, yshift=-8mm, opacity=\nodeopacity] {History recorded?};
\fi
\ifdefined\gitlogo
\node [inner sep=0pt, opacity=0.5] at (5.5,0) {\includegraphics[width=10cm]{img/git.png}};
\fi
\end{tikzpicture}
}
|