aboutsummaryrefslogtreecommitdiff
path: root/tex/src/figure-file-architecture.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/src/figure-file-architecture.tex')
-rw-r--r--tex/src/figure-file-architecture.tex165
1 files changed, 165 insertions, 0 deletions
diff --git a/tex/src/figure-file-architecture.tex b/tex/src/figure-file-architecture.tex
new file mode 100644
index 0000000..c3b55ff
--- /dev/null
+++ b/tex/src/figure-file-architecture.tex
@@ -0,0 +1,165 @@
+\newcommand{\fullfilearchitecture}{}
+
+\begin{tikzpicture}[
+ line width=1.5pt,
+ black!50,
+ text=black,
+]
+
+ %% Use small fonts
+ \footnotesize
+
+ %% project/
+ \node [dirbox, at={(0,4cm)}, minimum width=15cm, minimum height=9.9cm,
+ label={[shift={(0,-5mm)}]\texttt{project/}}] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-6.0cm,3.3cm)}] {COPYING};
+ \fi
+ \node [node-nonterminal-thin, at={(-3.5cm,3.3cm)}] {paper.tex};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-1.0cm,3.3cm)}] {project};
+ \node [node-nonterminal-thin, at={(+1.5cm,3.3cm)}] {README.md};
+ \node [node-nonterminal-thin, at={(+4.25cm,3.3cm)},
+ text width=2.5cm, text depth=-3pt] {README-hacking.md};
+ \fi
+
+ %% reproduce/
+ \node [dirbox, at={(-1.4cm,2.6cm)}, minimum width=11.9cm, minimum height=6cm,
+ label={[shift={(0,-5mm)}]\texttt{reproduce/}}, fill=brown!15!white] {};
+
+ %% reproduce/software/
+ \node [dirbox, at={(-4.35cm,2.1cm)}, minimum width=5.7cm, minimum height=5.3cm,
+ label={[shift={(0,-5mm)}]\texttt{software/}}, fill=brown!20!white] {};
+
+ %% reproduce/software/config/
+ \node [dirbox, at={(-5.75cm,1.5cm)}, minimum width=2.6cm, minimum height=2.1cm,
+ label={[shift={(0,-5mm)}]\texttt{config/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-5.75cm,0.8cm)}] {TARGETS.conf};
+ \fi
+ \node [node-nonterminal-thin, at={(-5.75cm,0.3cm)}] {versions.conf};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-5.75cm,-0.2cm)}] {checksums.conf};
+ \fi
+
+ %% reproduce/software/make/
+ \node [dirbox, at={(-2.95cm,1.5cm)}, minimum width=2.6cm, minimum height=2.1cm,
+ label={[shift={(0,-5mm)}]\texttt{make/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-2.95cm,0.8cm)}] {basic.mk};
+ \fi
+ \node [node-nonterminal-thin, at={(-2.95cm,0.3cm)}] {high-level.mk};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-2.95cm,-0.2cm)}] {python.mk};
+ \fi
+
+ %% reproduce/software/bash/
+ \node [dirbox, at={(-5.75cm,-0.8cm)}, minimum width=2.6cm, minimum height=1.6cm,
+ label={[shift={(0,-5mm)}]\texttt{shell/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-5.75cm,-1.5cm)}] {configure.sh};
+ \node [node-nonterminal-thin, at={(-5.75cm,-2.0cm)}] {bashrc.sh};
+ \fi
+
+ %% reproduce/software/bibtex/
+ \node [dirbox, at={(-2.95cm,-0.8cm)}, minimum width=2.6cm, minimum height=2.1cm,
+ label={[shift={(0,-5mm)}]\texttt{bibtex/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(-2.95cm,-1.5cm)}] {fftw.tex};
+ \node [node-nonterminal-thin, at={(-2.95cm,-2.0cm)}] {numpy.tex};
+ \node [node-nonterminal-thin, at={(-2.95cm,-2.5cm)}] {gnuastro.tex};
+ \fi
+
+ %% reproduce/analysis/
+ \node [dirbox, at={(1.55cm,2.1cm)}, minimum width=5.7cm, minimum height=5.3cm,
+ label={[shift={(0,-5mm)}]\texttt{analysis/}}, fill=brown!20!white] {};
+
+ %% reproduce/analysis/config/
+ \node [dirbox, at={(0.15cm,1.5cm)}, minimum width=2.6cm, minimum height=2.6cm,
+ label={[shift={(0,-5mm)}]\texttt{config/}}, fill=brown!25!white] {};
+ \node [node-nonterminal-thin, at={(0.15cm,0.8cm)}] {INPUTS.conf};
+ \node [node-nonterminal-thin, at={(0.15cm,0.3cm)}] {param-1.conf};
+ \node [node-nonterminal-thin, at={(0.15cm,-0.2cm)}] {param-2a.conf};
+ \node [node-nonterminal-thin, at={(0.15cm,-0.7cm)}] {param-2b.conf};
+
+ %% reproduce/analysis/make/
+ \node [dirbox, at={(2.95cm,1.5cm)}, minimum width=2.6cm, minimum height=2.6cm,
+ label={[shift={(0,-5mm)}]\texttt{make/}}, fill=brown!25!white] {};
+ \node [node-nonterminal-thin, at={(2.95cm,0.8cm)}] {top-prepare.mk};
+ \node [node-nonterminal-thin, at={(2.95cm,0.3cm)}] {top-make.mk};
+ \node [node-nonterminal-thin, at={(2.95cm,-0.2cm)}] {initialize.mk};
+ \node [node-nonterminal-thin, at={(2.95cm,-0.7cm)}] {format.mk};
+
+ %% reproduce/analysis/bash/
+ \node [dirbox, at={(0.15cm,-1.3cm)}, minimum width=2.6cm, minimum height=1.1cm,
+ label={[shift={(0,-5mm)}]\texttt{bash/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(0.15cm,-2.0cm)}] {process-A.sh};
+ \fi
+
+ %% reproduce/analysis/python/
+ \node [dirbox, at={(2.95cm,-1.3cm)}, minimum width=2.6cm, minimum height=1.6cm,
+ label={[shift={(0,-5mm)}]\texttt{python/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(2.95cm,-2.0cm)}] {operation-B.py};
+ \node [node-nonterminal-thin, at={(2.95cm,-2.5cm)}] {fitting-plot.py};
+ \fi
+
+ %% tex/
+ \node [dirbox, at={(6cm,2.6cm)}, minimum width=2.7cm, minimum height=6cm,
+ label={[shift={(0,-5mm)}]\texttt{tex/}}, fill=brown!15!white] {};
+
+ %% tex/src/
+ \node [dirbox, at={(6cm,2.1cm)}, minimum width=2.5cm, minimum height=1.6cm,
+ label={[shift={(0,-5mm)}]\texttt{src/}}, fill=brown!20!white] {};
+ \node [node-nonterminal-thin, at={(6cm,1.4cm)}] {references.tex};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(6cm,0.9cm)}] {figure-1.tex};
+ \fi
+
+ %% tex/build/
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(6cm,0.1cm)}, minimum width=2.5cm, minimum height=1.3cm,
+ label={[shift={(0,-5mm)}]\texttt{build/}}, dashed, , fill=brown!20!white] {};
+ \node [anchor=west, at={(4.7cm,-0.7cm)}] {\scriptsize\sf Symbolic link to};
+ \node [anchor=west, at={(4.7cm,-1.0cm)}] {\scriptsize\sf \LaTeX{} build directory.};
+ \fi
+
+ %% tex/tikz/
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(6cm,-1.6cm)}, minimum width=2.5cm, minimum height=1.6cm,
+ label={[shift={(0,-5mm)}]\texttt{tikz/}}, dashed, fill=brown!20!white] {};
+ \node [anchor=west, at={(4.67cm,-2.4cm)}] {\scriptsize\sf Symbolic link to TikZ};
+ \node [anchor=west, at={(4.67cm,-2.7cm)}] {\scriptsize\sf directory (figures built};
+ \node [anchor=west, at={(4.67cm,-3.0cm)}] {\scriptsize\sf by \LaTeX).};
+ \fi
+
+ %% .git/
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(0,-3.6cm)}, minimum width=14.2cm, minimum height=7mm,
+ label={[shift={(0,-5mm)}]\texttt{.git/}}, fill=brown!15!white] {};
+ \node [anchor=north, at={(0cm,-3.9cm)}]
+ {\scriptsize\sf Full project temporal provenance (version controlled history) in Git.};
+ \fi
+
+ %% .local/
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(-3.6cm,-4.5cm)}, minimum width=7cm, minimum height=1.2cm,
+ label={[shift={(0,-5mm)}]\texttt{.local/}}, dashed, fill=brown!15!white] {};
+ \node [anchor=west, at={(-7.1cm,-5.2cm)}]
+ {\scriptsize\sf Symbolic link to project's software environment, e.g., };
+ \node [anchor=west, at={(-7.1cm,-5.5cm)}]
+ {\scriptsize\sf Python or R, run `\texttt{.local/bin/python}' or `\texttt{.local/bin/R}'};
+ \fi
+
+ %% .build/
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(3.6cm,-4.5cm)}, minimum width=7cm, minimum height=1.2cm,
+ label={[shift={(0,-5mm)}]\texttt{.build/}}, dashed, fill=brown!15!white] {};
+ \node [anchor=west, at={(0.1cm,-5.2cm)}]
+ {\scriptsize\sf Symbolic link to project's top-level build directory.};
+ \node [anchor=west, at={(0.1cm,-5.5cm)}]
+ {\scriptsize\sf Enabling easy access to all of project's built components.};
+ \fi
+
+\end{tikzpicture}