From d11b81f10866a17616878ca6a035eb721e25566f Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Mon, 30 Mar 2020 06:01:36 +0100 Subject: Section on starting new projects, and publishing project added With the main structure of Maneage explained, I have started to explain how a new project is created, along with a schematic diagram that shows two scenarios of how Git can help with project management. --- tex/img/collaboration-icon.pdf | Bin 0 -> 2855 bytes tex/img/paper-icon.pdf | Bin 0 -> 2165 bytes tex/src/figure-branching.tex | 140 ++++++++++++++++++++++++++++++++++++++++ tex/src/figure-data-lineage.tex | 4 +- tex/src/figure-src-download.tex | 2 +- tex/src/figure-src-topmake.tex | 4 +- tex/src/references.tex | 20 ++++++ 7 files changed, 165 insertions(+), 5 deletions(-) create mode 100644 tex/img/collaboration-icon.pdf create mode 100644 tex/img/paper-icon.pdf create mode 100644 tex/src/figure-branching.tex (limited to 'tex') diff --git a/tex/img/collaboration-icon.pdf b/tex/img/collaboration-icon.pdf new file mode 100644 index 0000000..7bb5795 Binary files /dev/null and b/tex/img/collaboration-icon.pdf differ diff --git a/tex/img/paper-icon.pdf b/tex/img/paper-icon.pdf new file mode 100644 index 0000000..db7660c Binary files /dev/null and b/tex/img/paper-icon.pdf differ diff --git a/tex/src/figure-branching.tex b/tex/src/figure-branching.tex new file mode 100644 index 0000000..bc6fb41 --- /dev/null +++ b/tex/src/figure-branching.tex @@ -0,0 +1,140 @@ +% Copyright (C) 2020 Mohammad Akhlaghi +% +%% This LaTeX source is free software: you can redistribute it and/or +%% modify it under the terms of the GNU General Public License as published +%% by the Free Software Foundation, either version 3 of the License, or (at +%% your option) any later version. +% +%% This LaTeX source is distributed in the hope that it will be useful, but +%% WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%% General Public License for more details. +% +%% You should have received a copy of the GNU General Public License along +%% with this LaTeX source. If not, see . + + + + + +%% To simplify the adding of new commits. +\newcommand{\branchcommit}[4]{ + \draw [fill=#1, opacity=0.8] (#2,#3) circle [x radius=5.5mm, y radius=2.1mm]; + \draw [anchor=center] (#2,#3) node {\textcolor{white}{\scriptsize\texttt{#4}}}; +} + + + + + +\begin{tikzpicture} + + %% Just for a reference (so the image size always remains fixed). It also + %% helps in defining easy coordinates for all the other elements. + \draw [white] (0,0) -- (0,10cm); + \draw [white] (0,0) -- (\linewidth,0); + + %% Maneage branch line. + \draw [black!40!white, dashed, line width=2mm] (2cm,0) -- (2cm,0.6cm); + \draw [->, black!40!white, line width=2mm] (2cm,0.6cm) -- (2cm,7.9cm); + \draw [anchor=south, black!20!white] (2cm,4cm) node [rotate=90, scale=2] + {\bf Maneage branch}; + + %% Project branch line. + \draw [->, black!40!white, rounded corners, line width=2mm] + (2cm,2cm) -- (3.5cm,2.5cm) -- (3.5cm,7.9cm); + \draw [black!40!white, line width=2mm] (2cm,5cm) -- (3.5cm,5.5cm); + \draw [anchor=south, black!20!white] (3.5cm,5cm) node [rotate=90, scale=2] + {\bf Project branch}; + + %% Derivative project + \draw [black!40!white, rounded corners, line width=2mm] + (3.5cm,4.5cm) -- (5cm,5cm) -- (5cm,6cm) -- (3.5cm,6.5cm); + + %% Maneage commits. + \branchcommit{green!70!blue}{2cm}{1cm}{1d72e26} + \branchcommit{green!70!blue}{2cm}{2cm}{0c120cb} + \branchcommit{green!70!blue}{2cm}{3cm}{5781173} + \branchcommit{green!70!blue}{2cm}{4cm}{0774aac} + \branchcommit{green!70!blue}{2cm}{5cm}{3c05235} + \branchcommit{green!70!blue}{2cm}{6cm}{6ec4881} + \branchcommit{green!70!blue}{2cm}{7cm}{852d996} + + %% Project commits. + \branchcommit{red!60!green}{3.5cm}{2.5cm}{4483a81} + \branchcommit{red!60!green}{3.5cm}{3.5cm}{5e830f5} + \branchcommit{red!60!green}{3.5cm}{4.5cm}{01dd812} + \branchcommit{red!60!green}{3.5cm}{5.5cm}{2ed0c82} + \branchcommit{red!60!green}{3.5cm}{6.5cm}{f62596e} + + %% Derivate project commits. + \branchcommit{red!60!green}{5cm}{5cm}{f69e1f4} + \branchcommit{red!60!green}{5cm}{6cm}{716b56b} + \node[inner sep=0pt] at (4.5cm,7cm) + {\includegraphics[width=9mm]{tex/img/collaboration-icon.pdf}}; + + + %% Description of this scenario: + \draw [anchor=west, black] (2.7cm,1.5cm) node {\textbf{Scenario 1} (pre-publication):}; + \draw [anchor=west, black] (2.8cm,1.1cm) node {\small Collaborating on a project while}; + \draw [anchor=west, black] (2.8cm,0.7cm) node {\small working in parallel, then merging.}; + + + + %% Middle line. + \draw [black] (8cm,0.5) -- (8cm,7.5cm); + + + + + %% Maneage branch line. + \draw [black!40!white, dashed, line width=2mm] (10cm,0) -- (10cm,0.6cm); + \draw [->, black!40!white, line width=2mm] (10cm,0.6cm) -- (10cm,9.9cm); + \draw [anchor=south, black!20!white] (10cm,4cm) node [rotate=90, scale=2] + {\bf Maneage branch}; + + %% Project branch line. + \draw [black!40!white, rounded corners, line width=2mm] + (10cm,2cm) -- (11.5cm,2.5cm) -- (11.5cm,6.9cm); + \draw [black!40!white, line width=2mm] (10cm,5cm) -- (11.5cm,5.5cm); + \draw [anchor=south, black!20!white] (11.5cm,5cm) node [rotate=90, scale=2] + {\bf Project branch}; + + %% Derivative project + \draw [->, black!40!white, rounded corners, line width=2mm] + (11.5cm,6.5cm) -- (13cm,7cm) -- (13cm,9.9cm); + \draw [black!40!white, line width=2mm] (10cm,8cm) -- (13cm,9cm); + \draw [anchor=south, black!20!white] (13cm,6.5cm) node [rotate=90, scale=2] + {\bf Derivative branch}; + + %% Maneage commits. + \branchcommit{green!70!blue}{10cm}{1cm}{1d72e26} + \branchcommit{green!70!blue}{10cm}{2cm}{0c120cb} + \branchcommit{green!70!blue}{10cm}{3cm}{5781173} + \branchcommit{green!70!blue}{10cm}{4cm}{0774aac} + \branchcommit{green!70!blue}{10cm}{5cm}{3c05235} + \branchcommit{green!70!blue}{10cm}{6cm}{6ec4881} + \branchcommit{green!70!blue}{10cm}{7cm}{852d996} + \branchcommit{green!70!blue}{10cm}{8cm}{13a1881} + \branchcommit{green!70!blue}{10cm}{9cm}{61b6b01} + + %% Project commits. + \branchcommit{red!60!green}{11.5cm}{2.5cm}{4483a81} + \branchcommit{red!60!green}{11.5cm}{3.5cm}{5e830f5} + \branchcommit{red!60!green}{11.5cm}{4.5cm}{01dd812} + \branchcommit{red!60!green}{11.5cm}{5.5cm}{2ed0c82} + \branchcommit{red!60!green}{11.5cm}{6.5cm}{f62596e} + \node[inner sep=0pt] at (11.5cm,7.2cm) {\includegraphics[width=9mm]{tex/img/paper-icon.pdf}}; + \draw [anchor=north, black] (11.5cm,8cm) node {\scriptsize Published}; + + %% Derivate project commits. + \branchcommit{purple!60!yellow}{13cm}{7cm}{b177c7e} + \branchcommit{purple!60!yellow}{13cm}{8cm}{5ae1fdc} + \branchcommit{purple!60!yellow}{13cm}{9cm}{bcf4512} + + %% Description of this scenario: + \draw [anchor=west, black] (10.7cm,1.5cm) node {\textbf{Scenario 2} (post-publication):}; + \draw [anchor=west, black] (10.8cm,1.1cm) node {\small Other researchers building upon}; + \draw [anchor=west, black] (10.8cm,0.7cm) node {\small previously published work.}; + +\end{tikzpicture} diff --git a/tex/src/figure-data-lineage.tex b/tex/src/figure-data-lineage.tex index 7379b2f..146a833 100644 --- a/tex/src/figure-data-lineage.tex +++ b/tex/src/figure-data-lineage.tex @@ -61,8 +61,8 @@ label={[shift={(0,-5mm)}]\texttt{format.mk}}] {}; \node (analysis2mk) [node-makefile, at={(2.67cm,-1.3cm)}, label={[shift={(0,-5mm)}]\texttt{demo-plot.mk}}] {}; - \node (analysis3mk) [node-makefile, at={(5.47cm,-1.3cm)}, - label={[shift={(0,-5mm)}]\texttt{another-step.mk}}] {}; + \node [opacity=0.6] (analysis3mk) [node-makefile, at={(5.47cm,-1.3cm)}, + label={[shift={(0,-5mm)}, opacity=0.6]\texttt{another-step.mk}}] {}; %% verify.mk \node [at={(-5.3cm,-2.8cm)}, diff --git a/tex/src/figure-src-download.tex b/tex/src/figure-src-download.tex index 74026b8..4d4b755 100644 --- a/tex/src/figure-src-download.tex +++ b/tex/src/figure-src-download.tex @@ -1,4 +1,4 @@ -\begin{tcolorbox}[title=\inlinecode{\textcolor{white}{download.mk}} \textcolor{white}{(only \LaTeX{} macro's rule.}] +\begin{tcolorbox}[title=\inlinecode{\textcolor{white}{download.mk}} \hfill\textcolor{white}{(only \LaTeX{} macro's rule)}] \footnotesize \texttt{\mkcomment{Write download URL into the paper (through a LaTeX macro).}} diff --git a/tex/src/figure-src-topmake.tex b/tex/src/figure-src-topmake.tex index bd4b67d..6ed315b 100644 --- a/tex/src/figure-src-topmake.tex +++ b/tex/src/figure-src-topmake.tex @@ -15,10 +15,10 @@ \texttt{{ }{ }{ }{ }{ }{ }{ }{ }{ }{ }paper}\par \vspace{1em} - \texttt{\mkcomment{Load all the configuration files.}}\par + \texttt{\mkcomment{Include all the configuration files.}}\par \texttt{\textcolor{purple}{include} reproduce/analysis/config/*.conf} \vspace{1em} - \texttt{\mkcomment{Load/include the subMakefiles in the specified order.}}\par + \texttt{\mkcomment{Include the subMakefiles in the specified order.}}\par \texttt{\textcolor{purple}{include} \$(\textcolor{blue}{foreach} s, \$(\mkvar{makesrc}), reproduce/analysis/make/\$(\mkvar{s}).mk)} \end{tcolorbox} diff --git a/tex/src/references.tex b/tex/src/references.tex index 6e1de41..510fc89 100644 --- a/tex/src/references.tex +++ b/tex/src/references.tex @@ -1428,6 +1428,26 @@ Reproducible Research in Image Processing}, +@Article{matplotlib2007, + Author = {Hunter, J. D.}, + Title = {Matplotlib: A 2D graphics environment}, + Journal = {CiSE}, + Volume = {9}, + Number = {3}, + Pages = {90}, + abstract = {Matplotlib is a 2D graphics package used for Python + for application development, interactive scripting, and + publication-quality image generation across user + interfaces and operating systems.}, + publisher = {IEEE COMPUTER SOC}, + doi = {10.1109/MCSE.2007.55}, + year = 2007 +} + + + + + @ARTICLE{witten2007, author = {Ben Witten and Bill Curry and Jeff Shragge}, title = {A New Build Environment for SEP}, -- cgit v1.2.1