diff options
Diffstat (limited to 'tex/src/figure-data-lineage.tex')
-rw-r--r-- | tex/src/figure-data-lineage.tex | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/tex/src/figure-data-lineage.tex b/tex/src/figure-data-lineage.tex new file mode 100644 index 0000000..31f4380 --- /dev/null +++ b/tex/src/figure-data-lineage.tex @@ -0,0 +1,209 @@ +% All macros commented % 1 +\newcommand{\paperpdf}{} % 2 +\newcommand{\papertex}{} % 3 +\newcommand{\projecttex}{} % 4 +\newcommand{\verifytex}{} % 5 +\newcommand{\initializetex}{} % 6 +\newcommand{\demoplottex}{} % 7 +\newcommand{\toolsperyear}{} % 8 +\newcommand{\tablethree}{} % 9 +\newcommand{\menkexlsx}{} % 10 +\newcommand{\inputsconf}{} % 11 +\newcommand{\downloadtex}{} % 12 +\newcommand{\formattex}{} % 13 +\newcommand{\demoyearconf}{} % 14 +\newcommand{\expandingproject}{} % 15 + + + + + +%% Start the TiKZ picture environment. +\begin{tikzpicture}[ + line width=1.5pt, + black!50, + text=black, +] + + %% Use small fonts + \footnotesize + + %% These white lines are only relevant when we want to add boxes in + %% multiple figures (for example to build slides). They are used to fix + %% the vertical position of the boxs in the figure so it doesn't change + %% as we add more boxes. + \draw [white] (-7.6,0) -- (7.5,0); + \draw [white] (0,-4.5) -- (0,4.9); + + %% top-make.mk + \node [at={(-0.05cm,2mm)}, + rectangle, + very thick, + text centered, + font=\ttfamily, + text width=2.8cm, + minimum width=15cm, + minimum height=7.8cm, + draw=green!50!black!50, + fill=black!10!green!2!white, + label={[shift={(0,-5mm)}]\texttt{top-make.mk}}] {}; + + %% Work-horse Makefiles. -5.6 -> -5.73 = -0.13 + \node (initializemk) [node-makefile, at={(-5.73cm,-1.3cm)}, + label={[shift={(0,-5mm)}]\texttt{initialize.mk}}] {}; + \node (downloadmk) [node-makefile, at={(-2.93cm,-1.3cm)}, + label={[shift={(0,-5mm)}]\texttt{download.mk}}] {}; + \node (analysis1mk) [node-makefile, at={(-0.13cm,-1.3cm)}, + label={[shift={(0,-5mm)}]\texttt{format.mk}}] {}; + \node (analysis2mk) [node-makefile, at={(2.67cm,-1.3cm)}, + label={[shift={(0,-5mm)}]\texttt{demo-plot.mk}}] {}; + + %% verify.mk + \node [at={(-5.3cm,-2.8cm)}, + thick, + rectangle, + text centered, + font=\ttfamily, + text width=2.45cm, + minimum width=3.5cm, + minimum height=1.3cm, + draw=green!50!black!50, + fill=black!10!green!12!white, + label={[shift={(1cm,-5mm)}]\texttt{verify.mk}}] {}; + + %% Paper.mk + \node [at={(2.67cm,-2.8cm)}, + thick, + rectangle, + text centered, + text width=2.8cm, + minimum width=8.5cm, + minimum height=1.3cm, + draw=green!50!black!50, + fill=black!10!green!12!white, + font=\ttfamily, + label={[shift={(0,-5mm)}]\texttt{paper.mk}}] {}; + + %% paper.pdf + \ifdefined\paperpdf + \node (paperpdf) [node-terminal, at={(5.47cm,-2.9cm)}] {paper.pdf}; + \fi + + %% paper.tex + \ifdefined\papertex + \node (reftex) [node-nonterminal, at={(2.67cm,-4.2cm)}] {references.tex}; + \node (papertex) [node-nonterminal, at={(5.47cm,-4.2cm)}] {paper.tex}; + \node (papertex-north) [node-point, at={(5.47cm,-3.58cm)}] {}; + \draw [rounded corners] (reftex) |- (papertex-north); + \draw [->] (papertex) -- (paperpdf); + \fi + + %% project.tex + \ifdefined\projecttex + \node (projecttex) [node-terminal, at={(-0.13cm,-2.9cm)}] {project.tex}; + \draw [->] (projecttex) -- (paperpdf); + \fi + + %% verify.tex + \ifdefined\verifytex + \node (verifytex) [node-terminal, at={(-5.73cm,-2.9cm)}] {verify.tex}; + \draw [->] (verifytex) -- (projecttex); + \fi + + %% Initialize.tex + \ifdefined\initializetex + \node (initializetex) [node-terminal, at={(-5.73cm,-0.8cm)}] {initialize.tex}; + \node (initialize-south) [node-point, at={(-5.73cm,-1.5cm)}] {}; + \draw [->] (initializetex) -- (verifytex); + \node [anchor=west, at={(-7.05cm,2.30cm)}] {Basic project info}; + \node [anchor=west, at={(-7.05cm,1.95cm)}] {(e.g., Git commit).}; + \node [anchor=west, at={(-7.05cm,1.10cm)}] {Also defines}; + \node [anchor=west, at={(-7.05cm,0.75cm)}] {project structure}; + \node [anchor=west, at={(-7.05cm,0.40cm)}] {(for \texttt{*.mk} files).}; + \fi + + %% demo-plot.tex + \ifdefined\demoplottex + \node (dptex) [node-terminal, at={(2.67cm,-0.8cm)}] {demo-plot.tex}; + \draw [rounded corners, -] (dptex) |- (initialize-south); + \fi + + %% tools-per-year.txt + \ifdefined\toolsperyear + \node (tpyear) [node-terminal, at={(2.67cm,0.3cm)}] {tools-per-\\year.txt}; + \draw [->] (tpyear) -- (dptex); + \fi + + %% table-3.txt + \ifdefined\tablethree + \node (tabthree) [node-terminal, at={(-0.13cm,1.1cm)}] {table-3.txt}; + \draw [rounded corners, ->] (tabthree) |- (tpyear); + \fi + + %% menkexlsx + \ifdefined\menkexlsx + \node (xlsx) [node-terminal, at={(-2.93cm,1.9cm)}] {menke20.xlsx}; + \draw [->, rounded corners] (xlsx) |- (tabthree); + \fi + + %% INPUTS.conf + \ifdefined\inputsconf + \node (INPUTS) [node-nonterminal, at={(-2.93cm,4.6cm)}] {INPUTS.conf}; + \node (xlsx-west) [node-point, at={(-4.33cm,1.9cm)}] {}; + \draw [->,rounded corners] (INPUTS.west) -| (xlsx-west) |- (xlsx); + \fi + + %% download.tex + \ifdefined\downloadtex + \node (downloadtex) [node-terminal, at={(-2.93cm,-0.8cm)}] {download.tex}; + \node (downloadtex-west) [node-point, at={(-4.33cm,-0.8cm)}] {}; + \draw [->,rounded corners] (INPUTS.west) -| (downloadtex-west) + |- (downloadtex); + \draw [rounded corners, -] (downloadtex) |- (initialize-south); + \fi + + %% format.tex + \ifdefined\formattex + \node (fmttex) [node-terminal, at={(-0.13cm,-0.8cm)}] {format.tex}; + \draw [->] (tabthree) -- (fmttex); + \draw [rounded corners, -] (fmttex) |- (initialize-south); + \fi + + %% demo-year.conf + \ifdefined\demoyearconf + \node (dyearconf) [node-nonterminal, at={(2.67cm,4.6cm)}] {demo-year.conf}; + \node (dptex-west) [node-point, at={(1.27cm,-0.8cm)}] {}; + \draw [->,rounded corners] (dyearconf.west) -| (dptex-west) |- (dptex); + \fi + + %% Expanding project + \ifdefined\expandingproject + + %% The Makefile. + \node [opacity=0.7, dashed] (analysis3mk) [node-makefile, at={(5.47cm,-1.3cm)}, + label={[shift={(0,-5mm)}, opacity=0.7]\texttt{next-step.mk}}] {}; + + %% next-step.tex + \node [opacity=0.7, dashed] (a3tex) [node-terminal, at={(5.47cm,-0.8cm)}] {next-step.tex}; + \draw [opacity=0.7, rounded corners, -, dashed] (a3tex) |- (initialize-south); + + % out-3a.dat and out-3b.dat + \node [opacity=0.7, dashed] (out3a) [node-terminal, at={(5.47cm,2.7cm)}] {out-a.dat}; + \node [opacity=0.7, dashed] (out3b) [node-terminal, at={(5.47cm,1.1cm)}] {out-b.dat}; + \node (a3tex-east) [node-point, at={(6.87cm,-0.8cm)}] {}; + \draw [opacity=0.7, ->,rounded corners, dashed] (out3a.east) -| (a3tex-east) |- (a3tex); + \draw [opacity=0.7, ->, dashed] (out3b) -- (a3tex); + + %% demo-out.dat + \node [opacity=0.7, dashed] (dout) [node-terminal, at={(2.67cm,1.9cm)}] {demo-out.dat}; + \draw [opacity=0.7, ->, rounded corners, dashed] (dout.south) |- (out3b); + + %% links + \node (dout-west) [node-point, at={(1.27cm,1.9cm)}] {}; + \draw [opacity=0.7, ->, dashed] (xlsx) -- (dout); + \node [opacity=0.7] (out3a-west) [node-point, at={(4.07cm,2.7cm)}] {}; + \draw [opacity=0.7, ->,rounded corners, dashed] (xlsx) |- (out3a); + \node [opacity=0.7, dashed] (a3conf1) [node-nonterminal, at={(5.47cm,4.6cm)}] {param.conf}; + \draw [opacity=0.7, rounded corners, dashed] (a3conf1.west) -| (out3a-west) |- (out3a); + \fi +\end{tikzpicture} |