From 7a989feae06c46f57d31fc434f940561a4199669 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Tue, 27 Feb 2018 20:00:07 +0100 Subject: Abstract added to final PDF along with better explanation An abstract is also something most research reports will need, so a simple macro was defined to make it easy (not too many code lines within the text of the main body) to implement an abstract. The title was also moved up a little to better use the extra white space at the top of the page. Finally, the `\highlightchanges' along with its explanation (both as comments and within the text with examples) was added in `paper.tex' to demonstrate how useful the `\new' and `\tonote' macros are. --- paper.tex | 83 +++++++++++++++++++++++++++++++++++--------------- tex/preamble-style.tex | 35 ++++++++++++++++++++- 2 files changed, 93 insertions(+), 25 deletions(-) diff --git a/paper.tex b/paper.tex index 049bc18..4dd644a 100644 --- a/paper.tex +++ b/paper.tex @@ -1,4 +1,4 @@ -\documentclass[twocolumn]{article} +\documentclass[10pt, twocolumn]{article} %% This is a convenience variable if you are using PGFPlots to build plots %% within LaTeX. If you want to import PDF files for plots directly (and @@ -9,6 +9,13 @@ %% in. \newcommand{\makepdf}{} +%% When defined (value is irrelevant), `\highlightchanges' will cause text +%% in `\tonote' and `\new' to become colored. This is useful in cases that +%% you need to distribute drafts that is undergoing revision and you want +%% to hightlight to your colleagues which parts are new and which parts are +%% only for discussion. +\newcommand{\highlightchanges}{} + %% Necessary LaTeX preambles to include for relevant functionality. We want %% to start this file as fast as possible with the actual body of the %% paper, while keeping modularity in the preambles. @@ -31,7 +38,21 @@ \begin{document} %% Write the title, authors and date. -\maketitle +\includeabstract{ + %% -------- Delete this --------- + + You have completed the reproduction pipeline and are ready to configure + and implement it for your own research. This template reproduction + pipeline and document contains almost all the elements that you will need + in a research project containing the downloading of raw data, processing + it, including them in plots and report, including this abstract, figures + and bibliography. If you use this pipeline in your work, don't forget to + add a notice to clearly let the readers know that your work is + reproducible. If this pipeline proves useful in your research, please + cite \citet{ai15}. + + %% ------------------------------ +} %% -------- Delete this --------- \section{Congratulations!} @@ -54,40 +75,54 @@ in this way, will let you focus clearly on your science and not have to worry about fixing this or that number/name in the text. Just as a demonstration of creating plots within \LaTeX{} (using the -PGFPlots package), in Figure \ref{deleteme} we show a plot of +{\small PGFP}lots package), in Figure \ref{deleteme} we show a plot of \deletemenum{} random points that were generated by this pipeline using the text manipulation program {\small AWK} (which is not the best random number generator, but just used here to generate some values). The minimum value in this distribution is $\deletememin$ and $\deletememax$ is the maximum. The {\small PDF} file of Figure \ref{deleteme} is available in the -directory \texttt{\bdir/tex/build/tikz} and can be used in other contexts -(for example slides). If you want to directly use the PDF file in the -figure without having to let TiKZ decide if it should be remade or not, you -can also comment the \texttt{makepdf} macro at the top of this \LaTeX{} -source file. - -PGFPlots is a great tool to build the plots within \LaTeX{} and removes the -necessity to add further dependencies (to create the plots) to your -reproduction pipeline. High-level language libraries like Matplotlib do -exist to also generate plots. However, bare in mind that they require many -dependencies (Python, Numpy and etc). Installing these dependencies from -source (after several years when the binaries are no longer available in -common repositories), is not easy and will harm the reproducibility of your -paper. - -\begin{Figure} +directory \texttt{\bdir/tex/build/tikz/} and can be used in other contexts +(for example slides). If you want to directly use the {\small PDF} file in +the figure without having to let {\small T}i{\small KZ} decide if it should +be remade or not, you can also comment the \texttt{makepdf} macro at the +top of this \LaTeX{} source file. + +{\small PGFP}lots is a great tool to build the plots within \LaTeX{} and +removes the necessity to add further dependencies (to create the plots) to +your reproduction pipeline. High-level language libraries like Matplotlib +do exist to also generate plots. However, bare in mind that they require +many dependencies (Python, Numpy and etc). Installing these dependencies +from source (after several years when the binaries are no longer available +in common repositories), is not easy and will harm the reproducibility of +your paper. + +\begin{figure}[t] \includetikz{delete-me} \captionof{figure}{\label{deleteme} A random set of values plotted as a demonstration of how to generate plots within LaTeX.} -\end{Figure} +\end{figure} -Furthermore, since PGFPlots is built by \LaTeX{} it respects all the -properties of your text (for example line width and fonts and etc), so the -final plot blends in your paper much more nicely. It also has a wonderful +Furthermore, since {\small PGFP}lots is built by \LaTeX{} it respects all +the properties of your text (for example line width and fonts and etc), so +the final plot blends in your paper much more nicely. It also has a +wonderful manual\footnote{\url{http://mirrors.ctan.org/graphics/pgf/contrib/pgfplots/doc/pgfplots.pdf}}. +This pipeline also defines two \LaTeX{} macros that allow you to mark text +within your document as \emph{new} and \emph{notes}. For example, \new{this + text has been marked as \texttt{new}.} \tonote{While this one is marked + as \texttt{tonote}.} If you comment the line (by adding a `\texttt{\%}' +at the start of the line or simply deleting the line) that defines +\texttt{highlightchanges}, then the one that was marked \texttt{new} will +become black (totally blend in with the rest of the text) and the one +marked \texttt{tonote} will not be in the final PDF. You can thus use +\texttt{highlightchanges} to easily make copies of your research for +existing coauthors (who are just interested in the new parts or notes) and +new co-authors (who don't want to be distracted by these issues in their +first time reading). + \section{Notice and citations} To encourage other scientists to publish similarly reproducible papers, @@ -101,7 +136,7 @@ cite the first paper that used the first version of this pipeline: After publication, don't forget to upload all the necessary data, software source code and the reproduction pipeline to a long-lasting host like -Zenodo (\url{https://zenodo.org/}). +Zenodo (\url{https://zenodo.org}). %% ------------------------------ diff --git a/tex/preamble-style.tex b/tex/preamble-style.tex index b53181d..2e4180f 100644 --- a/tex/preamble-style.tex +++ b/tex/preamble-style.tex @@ -64,6 +64,8 @@ \captionsetup{font=footnotesize, labelfont={color=DarkBlue,bf}, skip=1pt} \captionsetup[figure]{font={stretch=1, small}} \setlength{\abovecaptionskip}{3pt plus 1pt minus 1pt} +\setlength{\belowcaptionskip}{-1.25em} + @@ -98,6 +100,37 @@ +%% Define the abstract environment +\renewenvironment{abstract} + {\vspace{-0.5cm}\small% + \list{}{% + \setlength{\leftmargin}{2cm}% + \setlength{\rightmargin}{\leftmargin}% + }% + \item\relax} + {\endlist} + + + + + +%% To keep the main page's code clean. +\newcommand{\includeabstract}[1]{% +\twocolumn[% + \begin{@twocolumnfalse}% + \maketitle% + \begin{abstract}% + #1% + \end{abstract}% + \vspace{1cm}% + \end{@twocolumnfalse}% + ]% +} + + + + + % Basic Document information that goes into the PDF meta-data. \hypersetup { @@ -112,7 +145,7 @@ % Title, author, pipeline info and date as they appear on the output PDF. -\title{THE TITLE OF YOUR PROJECT} +\title{\vspace{-3em}THE TITLE OF YOUR PROJECT} \author{YOUR NAME, COLLEAGE1 NAME, ETC} \date{\small Reproduction pipeline \pipelineversion{} and Gnuastro \gnuastroversion\\on \today, \currenttime} -- cgit v1.2.1