aboutsummaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-01-26 02:55:43 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-01-26 02:55:43 +0000
commitf62596ea8b97727ab8366965faf6f316d463ebf7 (patch)
tree9e9e0690a69e7fc08752d4ac277fbc0a2c2bcef1 /tex
parent2ed0c82eff6af8aecd34b3e697b0e392ab129cd3 (diff)
General project structure and configuration described
In the last few days I have been writing these two sections in the middle of other work. But I am making this commit because it has already become a lot! I am now going onto the description of `./project make'.
Diffstat (limited to 'tex')
-rw-r--r--tex/src/figure-file-architecture.tex97
-rw-r--r--tex/src/preamble-pgfplots.tex8
-rw-r--r--tex/src/preamble-style.tex23
-rw-r--r--tex/src/references.tex89
4 files changed, 151 insertions, 66 deletions
diff --git a/tex/src/figure-file-architecture.tex b/tex/src/figure-file-architecture.tex
index 5c00e6e..c892232 100644
--- a/tex/src/figure-file-architecture.tex
+++ b/tex/src/figure-file-architecture.tex
@@ -1,3 +1,5 @@
+\newcommand{\fullfilearchitecture}{}
+
\begin{tikzpicture}[
line width=1.5pt,
black!50,
@@ -10,118 +12,143 @@
%% project/
\node [dirbox, at={(0,4cm)}, minimum width=15cm, minimum height=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};
+ 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/}}] {};
+ 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/}}] {};
+ 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/}}] {};
+ label={[shift={(0,-5mm)}]\texttt{config/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
\node [node-nonterminal-thin, at={(-5.75cm,0.8cm)}] {LOCAL.conf.in};
+ \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/}}] {};
+ 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=2.1cm,
- label={[shift={(0,-5mm)}]\texttt{bash/}}] {};
+ label={[shift={(0,-5mm)}]\texttt{bash/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
\node [node-nonterminal-thin, at={(-5.75cm,-1.5cm)}] {bashrc.sh};
\node [node-nonterminal-thin, at={(-5.75cm,-2.0cm)}] {configure.sh};
- \node [node-nonterminal-thin, at={(-5.75cm,-2.5cm)}] {git-pre-comit};
+ \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/}}] {};
+ 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/}}] {};
+ 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.1cm,
- label={[shift={(0,-5mm)}]\texttt{config/}}] {};
+ 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-2.conf};
%% reproduce/analysis/make
\node [dirbox, at={(2.95cm,1.5cm)}, minimum width=2.6cm, minimum height=2.1cm,
- label={[shift={(0,-5mm)}]\texttt{make/}}] {};
+ label={[shift={(0,-5mm)}]\texttt{make/}}, fill=brown!25!white] {};
\node [node-nonterminal-thin, at={(2.95cm,0.8cm)}] {initialize.mk};
\node [node-nonterminal-thin, at={(2.95cm,0.3cm)}] {download.mk};
\node [node-nonterminal-thin, at={(2.95cm,-0.2cm)}] {analysis-1.mk};
%% reproduce/analysis/bash
\node [dirbox, at={(0.15cm,-0.8cm)}, minimum width=2.6cm, minimum height=2.1cm,
- label={[shift={(0,-5mm)}]\texttt{bash/}}] {};
- \node [node-nonterminal-thin, at={(0.15cm,-1.5cm)}] {process-1.sh};
- \node [node-nonterminal-thin, at={(0.15cm,-2.0cm)}] {process-2.sh};
- \node [node-nonterminal-thin, at={(0.15cm,-2.5cm)}] {process-3.sh};
+ label={[shift={(0,-5mm)}]\texttt{bash/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(0.15cm,-1.5cm)}] {process-A.sh};
+ \fi
%% reproduce/analysis/python
\node [dirbox, at={(2.95cm,-0.8cm)}, minimum width=2.6cm, minimum height=2.1cm,
- label={[shift={(0,-5mm)}]\texttt{python/}}] {};
- \node [node-nonterminal-thin, at={(2.95cm,-1.5cm)}] {operation-1.py};
- \node [node-nonterminal-thin, at={(2.95cm,-2.0cm)}] {operation-2.py};
- \node [node-nonterminal-thin, at={(2.95cm,-2.5cm)}] {fitting-plot.py};
+ label={[shift={(0,-5mm)}]\texttt{python/}}, fill=brown!25!white] {};
+ \ifdefined\fullfilearchitecture
+ \node [node-nonterminal-thin, at={(2.95cm,-1.5cm)}] {operation-B.py};
+ \node [node-nonterminal-thin, at={(2.95cm,-2.0cm)}] {fitting-plot.py};
+ \fi
%% tex/
\node [dirbox, at={(6cm,2.6cm)}, minimum width=2.7cm, minimum height=6cm,
- label={[shift={(0,-5mm)}]\texttt{tex/}}] {};
+ label={[shift={(0,-5mm)}]\texttt{tex/}}, fill=brown!15!white] {};
%% tex/src
\node [dirbox, at={(6cm,2.1cm)}, minimum width=2.5cm, minimum height=2.1cm,
- label={[shift={(0,-5mm)}]\texttt{src/}}] {};
+ label={[shift={(0,-5mm)}]\texttt{src/}}, fill=brown!20!white] {};
+ \ifdefined\fullfilearchitecture
\node [node-nonterminal-thin, at={(6cm,1.4cm)}] {preamble-1.tex};
- \node [node-nonterminal-thin, at={(6cm,0.9cm)}] {preamble-2.tex};
- \node [node-nonterminal-thin, at={(6cm,0.4cm)}] {figure-1.tex};
+ \node [node-nonterminal-thin, at={(6cm,0.9cm)}] {figure-1.tex};
+ \fi
%% tex/build
+ \ifdefined\fullfilearchitecture
\node [dirbox, at={(6cm,-0.2cm)}, minimum width=2.5cm, minimum height=1.3cm,
- label={[shift={(0,-5mm)}]\texttt{build/}}, dashed] {};
+ label={[shift={(0,-5mm)}]\texttt{build/}}, dashed, , fill=brown!20!white] {};
\node [anchor=west, at={(4.7cm,-1.0cm)}] {\scriptsize\sf Symbolic link to};
\node [anchor=west, at={(4.7cm,-1.3cm)}] {\scriptsize\sf \LaTeX{} build directory.};
+ \fi
- %% tex/build
+ %% tex/tikz
+ \ifdefined\fullfilearchitecture
\node [dirbox, at={(6cm,-1.7cm)}, minimum width=2.5cm, minimum height=1.6cm,
- label={[shift={(0,-5mm)}]\texttt{tikz/}}, dashed] {};
+ label={[shift={(0,-5mm)}]\texttt{tikz/}}, dashed, fill=brown!20!white] {};
\node [anchor=west, at={(4.67cm,-2.5cm)}] {\scriptsize\sf Symbolic link to TikZ};
\node [anchor=west, at={(4.67cm,-2.8cm)}] {\scriptsize\sf directory (figures built};
\node [anchor=west, at={(4.67cm,-3.1cm)}] {\scriptsize\sf by \LaTeX).};
+ \fi
%% .local
- \node [dirbox, at={(-3.6cm,-3.7cm)}, minimum width=7cm, minimum height=1.2cm,
- label={[shift={(0,-5mm)}]\texttt{.local/}}, dashed] {};
- \node [anchor=west, at={(-7.1cm,-4.4cm)}]
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(-3.6cm,-3.6cm)}, minimum width=7cm, minimum height=1.2cm,
+ label={[shift={(0,-5mm)}]\texttt{.local/}}, dashed, fill=brown!15!white] {};
+ \node [anchor=west, at={(-7.1cm,-4.3cm)}]
{\scriptsize\sf Symbolic link to project's software environment, e.g., };
- \node [anchor=west, at={(-7.1cm,-4.7cm)}]
+ \node [anchor=west, at={(-7.1cm,-4.6cm)}]
{\scriptsize\sf Python or R, run `\texttt{.local/bin/python}' or `\texttt{.local/bin/R}'};
+ \fi
%% .build
- \node [dirbox, at={(3.6cm,-3.7cm)}, minimum width=7cm, minimum height=1.2cm,
- label={[shift={(0,-5mm)}]\texttt{.build/}}, dashed] {};
- \node [anchor=west, at={(0.1cm,-4.4cm)}]
+ \ifdefined\fullfilearchitecture
+ \node [dirbox, at={(3.6cm,-3.6cm)}, minimum width=7cm, minimum height=1.2cm,
+ label={[shift={(0,-5mm)}]\texttt{.build/}}, dashed, fill=brown!15!white] {};
+ \node [anchor=west, at={(0.1cm,-4.3cm)}]
{\scriptsize\sf Symbolic link to project's top-level build directory.};
- \node [anchor=west, at={(0.1cm,-4.7cm)}]
- {\scriptsize\sf Enabling easy access to built project components.};
+ \node [anchor=west, at={(0.1cm,-4.6cm)}]
+ {\scriptsize\sf Enabling easy access to all of project's built components.};
+ \fi
\end{tikzpicture}
diff --git a/tex/src/preamble-pgfplots.tex b/tex/src/preamble-pgfplots.tex
index 7f566b8..04affbd 100644
--- a/tex/src/preamble-pgfplots.tex
+++ b/tex/src/preamble-pgfplots.tex
@@ -152,11 +152,11 @@
\tikzset{node-nonterminal-thin/.style={
rectangle,
- very thick,
+ thick,
text centered,
top color=white,
text width=2cm,
- minimum size=4mm,
+ minimum size=2mm,
draw=green!50!black!50,
bottom color=green!80!black!50,
font=\ttfamily\scriptsize}}
@@ -211,5 +211,5 @@
font=\ttfamily,
minimum width=15cm,
minimum height=7.5cm,
- draw=green!50!black!50,
- fill=green!3!white }}
+ draw=brown!50!black!50,
+ fill=brown!10!white }}
diff --git a/tex/src/preamble-style.tex b/tex/src/preamble-style.tex
index f3a96e9..fe36eec 100644
--- a/tex/src/preamble-style.tex
+++ b/tex/src/preamble-style.tex
@@ -20,6 +20,16 @@
%% To see the layout, add a `\layout' right after `\begin{document}'.
\usepackage{layout}
+%% To display codes.
+\usepackage{listings}
+\input{listings-bash.prf}
+\lstset{
+ frame=none,
+ commentstyle=\color{gray},
+ basicstyle=\small\ttfamily,
+}
+
+
%% To allow a prefix to the enumeration.
\usepackage{enumitem}
\setlist{nolistsep} % No space before `\begin{itemize}'
@@ -50,11 +60,11 @@
%% Spacing before and after section titles.
%% Format: \titlespacing*{<command>}{<left>}{<before-sep>}{<after-sep>}
\usepackage{titlesec}
-\titlespacing*{\section}{0pt}{10pt plus 0pt minus 0pt}{0pt plus 0pt minus 0pt}
-\titlespacing*{\subsection}{0pt}{10pt plus 0pt minus 0pt}{0pt plus 0pt minus 0pt}
-\titlespacing*{\subsubsection}{0pt}{10pt plus 0pt minus 0pt}{0pt plus 0pt minus 0pt}
-\titleformat{\section}{\large\scshape\bf}{\thesection.{ }}{0pt}{}
-\titleformat{\subsection}{\bfseries\itshape}{\thesubsection.{ }}{0pt}{}
+\titlespacing*{\section} {0pt}{10pt plus 0pt minus 0pt}{0pt plus 0pt minus 0pt}
+\titlespacing*{\subsection} {0pt}{7pt plus 0pt minus 0pt} {0pt plus 0pt minus 0pt}
+\titlespacing*{\subsubsection}{0pt}{4pt plus 0pt minus 0pt} {0pt plus 0pt minus 0pt}
+\titleformat{\section}{\Large\scshape\bf}{\thesection.{ }}{0pt}{}
+\titleformat{\subsection}{\large\bfseries\itshape}{\thesubsection.{ }}{0pt}{}
\titleformat{\subsubsection}{\bfseries\itshape}{\thesubsubsection.{ }}{0pt}{}
%% Set the font.
@@ -124,3 +134,6 @@
\renewcommand\headrulewidth{0.1pt}
\renewcommand\footrulewidth{0.0pt}
}
+
+%% Custom macros
+\newcommand{\inlinecode}[1]{`\textcolor{blue!35!black}{\texttt{#1}}'}
diff --git a/tex/src/references.tex b/tex/src/references.tex
index 170ace6..68d59d3 100644
--- a/tex/src/references.tex
+++ b/tex/src/references.tex
@@ -1,3 +1,26 @@
+@ARTICLE{infante20,
+ author = {{Infante-Sainz}, Ra{\'u}l and {Trujillo}, Ignacio and
+ {Rom{\'a}n}, Javier},
+ title = "{The Sloan Digital Sky Survey extended point spread functions}",
+ journal = {Monthly Notices of the Royal Astronomical Society},
+ keywords = {instrumentation: detectors, methods: data analysis, techniques: image processing, techniques: photometric, galaxies: haloes, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Astrophysics of Galaxies},
+ year = "2020",
+ month = "Feb",
+ volume = {491},
+ number = {4},
+ pages = {5317-5329},
+ doi = {10.1093/mnras/stz3111},
+archivePrefix = {arXiv},
+ eprint = {1911.01430},
+ primaryClass = {astro-ph.IM},
+ adsurl = {https://ui.adsabs.harvard.edu/abs/2020MNRAS.491.5317I},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System}
+}
+
+
+
+
+
@ARTICLE{gibney20,
author = {Elizabeth Gibney},
title = {This AI researcher is trying to ward off a reproducibility crisis},
@@ -72,28 +95,6 @@ archivePrefix = {arXiv},
-@ARTICLE{infante19,
- author = {{Infante-Sainz}, Ra{\'u}l and {Trujillo}, Ignacio and
- {Rom{\'a}n}, Javier},
- title = "{The Sloan Digital Sky Survey extended Point Spread Functions}",
- journal = {MNRAS},
- volume = {arXiv},
- keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Astrophysics of Galaxies},
- year = "2019",
- month = "Nov",
- eid = {arXiv:1911.01430},
- pages = {1911.01430},
-archivePrefix = {arXiv},
- eprint = {1911.01430},
- primaryClass = {astro-ph.IM},
- adsurl = {https://ui.adsabs.harvard.edu/abs/2019arXiv191101430I},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System}
-}
-
-
-
-
-
@ARTICLE{fineberg19,
author = {Harvey V. Fineberg and David B. Allison and Lorena A. Barba and Dianne Chong and David L. Donoho and Juliana Freire and Gerald Gabrielse and Constantine Gatsonis and Edward Hall and Thomas H. Jordan and Dietram A. Scheufele and Victoria Stodden and Simine Vazire, Timothy D. Wilson and Wendy Wood and Jennifer Heimberg and Thomas Arrison and Michael Cohen and Michele Schwalbe and Adrienne Stith Butler and Barbara A. Wanchisen and Tina Winters and Rebecca Morgan and Thelma Cox and Lesley Webb and Garret Tyson and Erin Hammers Forstag},
title = {Reproducibility and Replicability in Science},
@@ -208,6 +209,22 @@ archivePrefix = {arXiv},
+@article{tange18,
+ author = {Tange, Ole},
+ title = {GNU Parallel 2018},
+ Journal = {Zenodo},
+ volume = {1146014},
+ pages = {\href{https://doi.org/10.5281/zenodo.1146014}{DOI:10.5281/zenodo.1146014}},
+ year = 2018,
+ ISBN = {9781387509881},
+ doi = {10.5281/zenodo.1146014},
+ url = {https://doi.org/10.5281/zenodo.1146014}
+}
+
+
+
+
+
@ARTICLE{plesser18,
author = {Hans E. Plesser},
title = {Reproducibility vs. Replicability: A Brief History of a Confused Terminology},
@@ -695,6 +712,20 @@ archivePrefix = {arXiv},
+@ARTICLE{romine15,
+ author = {Charles H. Romine},
+ title = {Secure Hash Standard (SHS)},
+ journal = {Federal Information processing standards publication},
+ volume = {180},
+ pages = {4},
+ year = {2015},
+ doi = {10.6028/NIST.FIPS.180-4},
+}
+
+
+
+
+
@ARTICLE{horvath15,
author = {Steve Horvath},
title = {Erratum to: DNA methylation age of human tissues and cell types},
@@ -878,6 +909,20 @@ archivePrefix = {arXiv},
+@ARTICLE{katz14,
+ author = {Daniel S. Katz},
+ title = {Transitive Credit as a Means to Address Social and Technological Concerns Stemming from Citation and Attribution of Digital Products},
+ journal = {Journal of Open Research Software},
+ year = {2014},
+ volume = {2},
+ pages = {e20},
+ doi = {10.5334/jors.be},
+}
+
+
+
+
+
@ARTICLE{herndon14,
author = {Thomas Herndon and Michael Ash and Robert Pollin},
title = {Does high public debt consistently stifle economic growth? A critique of Reinhart and Rogoff},