aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-11-30 23:50:38 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-12-01 00:12:11 +0000
commit6ca2fbf925d14fff862889840913e3c89ea8048a (patch)
tree4736e15abf52c5cef684dc747ced3ce766c8927b
parentc312f4e0e826e292d753c0d19fd5f96ed351fb94 (diff)
IMPORTANT: organizational improvements in Maneage TeX sources
This only concerns the TeX sources in the default branch. In case you don't use them, there should only be a clean conflict in 'paper.tex' (that is obvious and easy to fix). Conflicts may only happen in some of the 'tex/src/preamble-*.tex' files if you have actually changed them for your project. But generally any conflict that does arise by this commit with your project branch should be very clear and easy to fix and test. In short, from now on things will even be easier: any LaTeX configuration that you want to do for your project can be done in 'tex/src/preamble-project.tex', so you don't have to worry about any other LaTeX preamble file. They are either templates (like the ones for PGFPlots and BibLaTeX) or low-level things directly related to Maneage. Until now, this distinction wasn't too clear. Here is a summary of the improvements: - Two new options to './project make': with '--highlight-new' and '--highlight-notes' it is now possible to activate highlighting on the command-line. Until now, there was a LaTeX macro for this at the start of 'paper.tex' (\highlightchanges). But changing that line would change the Git commit hash, making it hard for the readers to trust that this is the same PDF. With these two new run-time options, the printed commit hash will not changed. - paper.tex: the sentences are formatted as one sentence per line (and one line per sentence). This helps in version controlling narrative and following the changes per sentence. A description of this format (and its advantages) is also included in the default text. - The internal Maneage preambles have been modified: - 'tex/src/preamble-header.tex' and 'tex/src/preamble-style.tex' have been merged into one preamble file called 'tex/src/preamble-maneage-default-style.tex'. This helps a lot in simply removing it when you use a journal style file for example. - Things like the options to highlight parts of the text are now put in a special 'tex/src/preamble-maneage.tex'. This helps highlight that these are Maneage-specific features that are independent of the style used in the paper. - There is a new 'tex/src/preamble-project.tex' that is the place you can add your project-specific customizations.
-rw-r--r--paper.tex266
-rwxr-xr-xproject17
-rw-r--r--reproduce/analysis/make/paper.mk17
-rw-r--r--tex/src/preamble-header.tex89
-rw-r--r--tex/src/preamble-maneage-default-style.tex (renamed from tex/src/preamble-style.tex)63
-rw-r--r--tex/src/preamble-maneage.tex35
-rw-r--r--tex/src/preamble-necessary.tex70
-rw-r--r--tex/src/preamble-project.tex75
8 files changed, 298 insertions, 334 deletions
diff --git a/paper.tex b/paper.tex
index 3a2c2f6..ac61cad 100644
--- a/paper.tex
+++ b/paper.tex
@@ -12,46 +12,33 @@
%% `tex/preamble-pgfplots.tex' for more.
\newcommand{\makepdf}{}
-%% (OPTIONAL) CONVENIENCE VARIABLE: Only relevant when
-%% 'tex/src/preamble-necessary.tex' is included (in particular the small
-%% patch relating to '\highlightchanges'). In there, Maneage defines two
-%% macros: `\tonote' and `\new'. When '\highlightchanges' is defined (value
-%% is irrelevant), the text in those two macros becomes colored (in the
-%% former, the text becomes dark red, in the latter it becomes dark
-%% green). When not defined, text in the former isn't printed in the output
-%% at all, and text in the latter becomes the same color as the rest of the
-%% text. This is useful in cases that you need to distribute drafts and you
-%% want to hightlight the new parts and add notes in the middle of the text
-%% only for discussion, and build a clean PDF without any such highlights
-%% without modifying the text.
-\newcommand{\highlightchanges}{}
-
-%% VALUES FROM ANALYSIS (NUMBERS AND STRINGS): these are automatically
-%% generated by the analysis phase of the project. The files loaded by
-%% 'project.tex' only contain macro definitions (with '\newcommand') and
-%% nothing else. So they won't interfere with any LaTeX style and can be
-%% safely used in any pre-defined style.
+%% VALUES FROM ANALYSIS (NUMBERS AND STRINGS): this file is automatically
+%% generated at the end of the processing and includes LaTeX macros
+%% (defined with '\newcommand') for various processing outputs to be used
+%% within the paper.
\input{tex/build/macros/project.tex}
-%% CUSTOM PREAMBLES FOR DEMO: You can remove them if you are using a
-%% specific journal style, or don't need features like BibLaTeX (advanced
-%% bibliography management) or PGFPlots (for drawing plots within LaTeX
-%% directly from tables of data). If you don't need them, you can also
-%% delete their files from your branch to keep the 'tex/src' directory on
-%% your branch clean.
-\input{tex/src/preamble-style.tex}
-\input{tex/src/preamble-header.tex}
-\input{tex/src/preamble-biblatex.tex}
-\input{tex/src/preamble-pgfplots.tex}
-\input{tex/src/preamble-necessary.tex}
+%% MANEAGE-ONLY PREAMBLE: this file contains LaTeX constructs that are
+%% provided by Maneage (for example enabling or disabling of highlighting
+%% from the './project' script). They are not style-related.
+\input{tex/src/preamble-maneage.tex}
+
+%% PROJECT-SPECIFIC PREAMBLE: This is where you can include any LaTeX
+%% setting for customizing your project.
+\input{tex/src/preamble-project.tex}
+
+
+
+
%% PROJECT TITLE: The project title should also be printed as metadata in
%% all output files. To avoid inconsistancy caused by manually typing it,
%% the title is defined with other core project metadata in
%% 'reproduce/analysis/config/metadata.conf'. That value is then written in
-%% the '\projectitle' LaTeX macro by
-%% 'reproduce/analysis/make/initialize.mk' and is directly used here. So
-%% please set your project's title in 'metadata.conf' (ideally with other
+%% the '\projectitle' LaTeX macro which is available in 'project.tex' (that
+%% was loaded above).
+%
+%% Please set your project's title in 'metadata.conf' (ideally with other
%% basic project information) and re-run the project to have your new
%% title. If you later use a different LaTeX style, please use the same
%% '\projectitle' in it (after importing 'tex/build/macros/project.tex'
@@ -62,7 +49,8 @@
%% including author name, or paper info, see
%% `tex/src/preamble-header.tex'. Note that if you plan to use a journal's
%% LaTeX style file, you will probably set the authors in a different way,
-%% feel free to change them here, this part is not related to the analysis.
+%% feel free to change them here, this is just basic style and varies from
+%% project to project.
\author[1]{Your name}
\author[2]{Coauthor one}
\author[1,3]{Coauthor two}
@@ -86,25 +74,13 @@
%% Project abstract and keywords.
\includeabstract{
-
- Welcome to Maneage (\emph{Man}aging data lin\emph{eage}) and reproducible
- papers/projects, for a review of the basics of this system, please see
- \citet{maneage}. You are now ready to configure Maneage and implement
- your own research in this framework. Maneage contains almost all the
- elements that you will need in a research project, and adding any missing
- parts is very easy once you become familiar with it. For example it
- already has steps to downloading of raw data and necessary software
- (while verifying them with their checksums), building the software, and
- processing the data with the software in a highly-controlled
- environment. But Maneage is not just for the analysis of your project,
- you will also write your paper in it (by replacing this text in
- \texttt{paper.tex}): including this abstract, figures and
- bibliography. If you design your project with Maneage's infra-structure,
- don't forget to add a notice and clearly let the readers know that your
- work is reproducible, we should spread the word and show the world how
- useful reproducible research is for the sciences, also don't forget to
- cite and acknowledge it so we can continue developing it. This PDF was
- made with Maneage, commit \projectversion{}.
+ Welcome to Maneage (\emph{Man}aging data lin\emph{eage}) and reproducible papers/projects, for a review of the basics of this system, please see \citet{maneage}.
+ You are now ready to configure Maneage and implement your own research in this framework.
+ Maneage contains almost all the elements that you will need in a research project, and adding any missing parts is very easy once you become familiar with it.
+ For example it already has steps to downloading of raw data and necessary software (while verifying them with their checksums), building the software, and processing the data with the software in a highly-controlled environment.
+ But Maneage is not just for the analysis of your project, you will also write your paper in it (by replacing this text in \texttt{paper.tex}): including this abstract, figures and bibliography.
+ If you design your project with Maneage's infra-structure, don't forget to add a notice and clearly let the readers know that your work is reproducible, we should spread the word and show the world how useful reproducible research is for the sciences, also don't forget to cite and acknowledge it so we can continue developing it.
+ This PDF was made with Maneage, commit \projectversion{}.
\vspace{0.25cm}
@@ -123,60 +99,39 @@
%% Start of main body.
\section{Congratulations!}
-Congratulations on running the raw template project! You can now follow the
-``Customization checklist'' in the \texttt{README-hacking.md} file,
-customize this template and start your exciting research project over
-it. You can always merge Maneage back into your project to improve its
-infra-structure and leaving your own project intact. If you haven't already
-read \citet{maneage}, please do so before continuing, it isn't long
-(just 7 pages).
-
-While you are writing your paper, just don't forget to \emph{not} use
-numbers or fixed strings (for example database urls like \url{\wfpctwourl})
-directly within your \LaTeX{} source. Put them in configuration files and
-after using them in the analysis, pass them into the \LaTeX{} source
-through macros in the same subMakefile that used them. For some already
-published examples, please see
-\citet{maneage}\footnote{\url{https://gitlab.com/makhlaghi/maneage-paper}},
-\citet{infantesainz20}\footnote{\url{https://gitlab.com/infantesainz/sdss-extended-psfs-paper}}
-and
-\citet{akhlaghi19}\footnote{\url{https://gitlab.com/makhlaghi/iau-symposium-355}}. Working
-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.
-
-Once your project is ready for publication, there is also a ``Publication
-checklist'' in \texttt{README-hacking.md} that will guide you in the steps
-to do for making your project as FAIR as possible (Findable, Accessibile,
-Interoperable, and Reusable).
-
-The default \LaTeX{} structure within Maneage also has two \LaTeX{} macros
-for easy marking of 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}.} Please try commenting
-the line that defines \texttt{highlightchanges} in \texttt{paper.tex} (by
-adding a `\texttt{\%}' at the start of the line or simply deleting the
-line). You will then notice that the line that was marked as \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).
-
-Figure \ref{squared} shows a simple plot as a demonstration of creating
-plots within \LaTeX{} (using the {\small PGFP}lots package). The minimum
-value in this distribution is $\deletememin$, and $\deletememax$ is the
-maximum. Take a look into the \LaTeX{} source and you'll see these numbers
-are actually macros that were calculated from the same dataset (they will
-change if the dataset, or function that produced it, changes).
-
-The individual {\small PDF} file of Figure \ref{squared} is available under
-the \texttt{tex/tikz/} directory of your build directory. You can use this
-PDF file in other contexts (for example in slides showing your progress or
-after publishing the work). 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.
+Congratulations on running the raw template project! You can now follow the ``Customization checklist'' in the \texttt{README-hacking.md} file, customize this template and start your exciting research project over it.
+You can always merge Maneage back into your project to improve its infra-structure and leaving your own project intact.
+If you haven't already read \citet{maneage}, please do so before continuing, it isn't long (just 7 pages).
+
+While you are writing your paper, just don't forget to \emph{not} use numbers or fixed strings (for example database urls like \url{\wfpctwourl}) directly within your \LaTeX{} source.
+Put them in configuration files and after using them in the analysis, pass them into the \LaTeX{} source through macros in the same subMakefile that used them.
+For some already published examples, please see \citet{maneage}\footnote{\url{https://gitlab.com/makhlaghi/maneage-paper}}, \citet{infantesainz20}\footnote{\url{https://gitlab.com/infantesainz/sdss-extended-psfs-paper}} and \citet{akhlaghi19}\footnote{\url{https://gitlab.com/makhlaghi/iau-symposium-355}}.
+Working 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.
+
+Once your project is ready for publication, there is also a ``Publication checklist'' in \texttt{README-hacking.md} that will guide you in the steps to do for making your project as FAIR as possible (Findable, Accessibile, Interoperable, and Reusable).
+
+The default \LaTeX{} structure within Maneage also has two \LaTeX{} macros for easy marking of text within your document as \emph{new} and \emph{notes}.
+To activate them, please use the \texttt{--highlight-new} or \texttt{--highlight-notes} options with \texttt{./project make}.
+
+For example if you run \texttt{./project make --highlight-new}, then \new{this text (that has been marked as \texttt{new}) will show up as green in the final PDF}.
+If you run \texttt{./project make --highlight-notes} then you will see a note following this sentence that is written in red and has square brackets around it (it is invisible without this option).
+\tonote{This text is written within a \texttt{tonote} and is invisible without \texttt{--highlight-notes}.}
+You can also use these two options together to both highlight the new parts and add notes within the text.
+
+Another thing you may notice from the \LaTeX{} source of this default paper is there is one line per sentence (and one sentence in a line).
+Of course, as with everything else in Maneage, you are free to use any format that you are most comfortable with.
+The reason behind this choice is that this source is under Git version control and that Git also primarily works on lines.
+In this way, when a change in a setence is made, git will only highlight/color that line/sentence we have found that this helps a lot in viewing the changes.
+Also, this format helps in reminding the author when the sentence is getting too long!
+Here is a tip when looking at the changes of narrative document in Git: use the \texttt{--word-diff} option (for example \texttt{git diff --word-diff}, you can also use it with \texttt{git log}).
+
+Figure \ref{squared} shows a simple plot as a demonstration of creating plots within \LaTeX{} (using the {\small PGFP}lots package).
+The minimum value in this distribution is $\deletememin$, and $\deletememax$ is the maximum.
+Take a look into the \LaTeX{} source and you'll see these numbers are actually macros that were calculated from the same dataset (they will change if the dataset, or function that produced it, changes).
+
+The individual {\small PDF} file of Figure \ref{squared} is available under the \texttt{tex/tikz/} directory of your build directory.
+You can use this PDF file in other contexts (for example in slides showing your progress or after publishing the work).
+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.
\begin{figure}[t]
\includetikz{delete-me-squared}{width=\linewidth}
@@ -185,57 +140,39 @@ at the top of this \LaTeX{} source file.
demonstration.}
\end{figure}
-Figure \ref{image-histogram} is another demonstration of showing images
-(datasets) using PGFPlots. It shows a small crop of an image from the
-Wide-Field Planetary Camera 2 (that was installed on the Hubble Space
-Telescope from 1993 to 2009). As another more realistic demonstration of
-reporting results with Maneage, here we report that the mean pixel value in
-that image is $\deletemewfpctwomean$ and the median is
-$\deletemewfpctwomedian$. The skewness in the histogram of Figure
-\ref{image-histogram}(b) explains this difference between the mean and
-median. The dataset is visualized here as a black and white image using the
-\textsf{Convert\-Type} program of GNU Astronomy Utilities (Gnuastro). The
-histogram and basic statstics were generated with Gnuastro's
-\textsf{Statistics} program.
-
-{\small PGFP}lots\footnote{\url{https://ctan.org/pkg/pgfplots}} is a great
-tool to build the plots within \LaTeX{} and removes the necessity to add
-further dependencies, just to create the plots. There are high-level
-libraries like Matplotlib which also generate plots. However, the problem
-is that they require \emph{many} dependencies, for example see Figure 1 of
-\citet{alliez19}. Installing these dependencies from source, is not easy
-and will harm the reproducibility of your paper in the future.
-
-Furthermore, since {\small PGFP}lots builds the plots within \LaTeX{}, it
-respects all the properties of your text (for example line width and fonts
-and etc). Therefore 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}}.
+Figure \ref{image-histogram} is another demonstration of showing images (datasets) using PGFPlots.
+It shows a small crop of an image from the Wide-Field Planetary Camera 2 (that was installed on the Hubble Space Telescope from 1993 to 2009).
+As another more realistic demonstration of reporting results with Maneage, here we report that the mean pixel value in that image is $\deletemewfpctwomean$ and the median is $\deletemewfpctwomedian$.
+The skewness in the histogram of Figure \ref{image-histogram}(b) explains this difference between the mean and median.
+The dataset is visualized here as a black and white image using the \textsf{Convert\-Type} program of GNU Astronomy Utilities (Gnuastro).
+The histogram and basic statstics were generated with Gnuastro's \textsf{Statistics} program.
+
+{\small PGFP}lots\footnote{\url{https://ctan.org/pkg/pgfplots}} is a great tool to build the plots within \LaTeX{} and removes the necessity to add further dependencies, just to create the plots.
+There are high-level libraries like Matplotlib which also generate plots.
+However, the problem is that they require \emph{many} dependencies, for example see Figure 1 of \citet{alliez19}.
+Installing these dependencies from source, is not easy and will harm the reproducibility of your paper in the future.
+
+Furthermore, since {\small PGFP}lots builds the plots within \LaTeX{}, it respects all the properties of your text (for example line width and fonts and etc).
+Therefore 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}}.
\begin{figure}[t]
\includetikz{delete-me-image-histogram}{width=\linewidth}
- \captionof{figure}{\label{image-histogram} (a) An example image
- of the Wide-Field Planetary Camera 2, on board the Hubble Space
- Telescope from 1993 to 2009. This is one of the sample images from the
- FITS standard webpage, kept as examples for this file format. (b)
- Histogram of pixel values in (a).}
+ \captionof{figure}{\label{image-histogram} (a) An example image of the Wide-Field Planetary Camera 2, on board the Hubble Space Telescope from 1993 to 2009.
+ This is one of the sample images from the FITS standard webpage, kept as examples for this file format.
+ (b) Histogram of pixel values in (a).}
\end{figure}
\section{Notice and citations}
-To encourage other scientists to publish similarly reproducible papers,
-please add a notice close to the start of your paper or in the end of the
-abstract clearly mentioning that your work is fully reproducible. One
-convention we have adopted until now is to put the Git checkum of the
-project as the last word of the abstract, for example see
-\citet{akhlaghi19}, \citet{infantesainz20} and \citet{maneage}
-
-Finally, don't forget to cite \citet{maneage} and acknowledge the
-funders mentioned below. Otherwise we won't be able to continue working on
-Maneage. Also, just as another reminder, before publication, don't forget
-to follow the ``Publication checklist'' of \texttt{README-hacking.md}.
+To encourage other scientists to publish similarly reproducible papers, please add a notice close to the start of your paper or in the end of the abstract clearly mentioning that your work is fully reproducible.
+One convention we have adopted until now is to put the Git checkum of the project as the last word of the abstract, for example see \citet{akhlaghi19}, \citet{infantesainz20} and \citet{maneage}
+
+Finally, don't forget to cite \citet{maneage} and acknowledge the funders mentioned below.
+Otherwise we won't be able to continue working on Maneage.
+Also, just as another reminder, before publication, don't forget to follow the ``Publication checklist'' of \texttt{README-hacking.md}.
%% End of main body.
@@ -243,27 +180,16 @@ to follow the ``Publication checklist'' of \texttt{README-hacking.md}.
\section{Acknowledgments}
-\new{Please include the following two paragraphs in the Acknowledgement
- section of your paper. Maneage was developed in parallel with Gnuastro,
- so it benefited from the same grants. If you don't use Gnuastro in your
- final/customized project, please remove it from the paragraph below, only
- mentioning the reproducible paper template.}
-
-This project was developed in the reproducible framework of Maneage
-\citep[\emph{Man}aging data lin\emph{eage},][latest Maneage commit of
- \maneageversion, and built on an {\machinearchitecture} machine with
- {\machinebyteorder} byte-order]{maneage}. Maneage has been
-funded partially by the following grants: Japanese Ministry of Education,
-Culture, Sports, Science, and Technology (MEXT) PhD scholarship to
-M. Akhlaghi and its Grant-in-Aid for Scientific Research (21244012,
-24253003). The European Research Council (ERC) advanced grant
-339659-MUSICOS. The European Union (EU) Horizon 2020 (H2020) research and
-innovation programmes No 777388 under RDA EU 4.0 project, and Marie
-Sk\l{}odowska-Curie grant agreement No 721463 to the SUNDIAL ITN. The State
-Research Agency (AEI) of the Spanish Ministry of Science, Innovation and
-Universities (MCIU) and the European Regional Development Fund (ERDF) under
-the grant AYA2016-76219-P. The IAC project P/300724, financed by the MCIU,
-through the Canary Islands Department of Economy, Knowledge and Employment.
+\new{Please include the following two paragraphs in the Acknowledgement section of your paper.
+ Maneage was developed in parallel with Gnuastro, so it benefited from the same grants.
+ If you don't use Gnuastro in your final/customized project, please remove it from the paragraph below, only mentioning the reproducible paper template.}
+
+This project was developed in the reproducible framework of Maneage \citep[\emph{Man}aging data lin\emph{eage},][latest Maneage commit of \maneageversion, and built on an {\machinearchitecture} machine with {\machinebyteorder} byte-order]{maneage}.
+Maneage has been funded partially by the following grants: Japanese Ministry of Education, Culture, Sports, Science, and Technology (MEXT) PhD scholarship to M. Akhlaghi and its Grant-in-Aid for Scientific Research (21244012, 24253003).
+The European Research Council (ERC) advanced grant 339659-MUSICOS.
+The European Union (EU) Horizon 2020 (H2020) research and innovation programmes No 777388 under RDA EU 4.0 project, and Marie Sk\l{}odowska-Curie grant agreement No 721463 to the SUNDIAL ITN.
+The State Research Agency (AEI) of the Spanish Ministry of Science, Innovation and Universities (MCIU) and the European Regional Development Fund (ERDF) under the grant AYA2016-76219-P.
+The IAC project P/300724, financed by the MCIU, through the Canary Islands Department of Economy, Knowledge and Employment.
%% Tell BibLaTeX to put the bibliography list here.
\printbibliography
diff --git a/project b/project
index 61463ec..d75a9ce 100755
--- a/project
+++ b/project
@@ -41,8 +41,10 @@ make_targets=
software_dir=
clean_texdir=0
prepare_redo=0
+highlightnew=0
all_highlevel=0
existing_conf=0
+highlightnotes=0
scriptname="./project"
minmapsize=10000000000
@@ -118,10 +120,14 @@ Configure and Make options:
-j, --jobs=INT Number of threads to build/run the software.
-?, --help Print this help list.
-Make options:
+Make (analysis) options:
-d, --debug=FLAGS Print various types of debugging information.
-p, --prepare-redo Re-do preparation (only done automatically once).
+Make (final PDF) options:
+ --highlight-new Highlight '\new' parts of text as green.
+ --highlight-notes Show '\tonote' regions as red text in PDF.
+
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
@@ -205,6 +211,10 @@ do
#
# Note that Make's `debug' can take values, but when called without any
# value, it is like giving it a value of `a'):
+ --highlight-new) highlightnew=1; shift;;
+ --highlight-new=*) on_off_option_error --highlight-new;;
+ --highlight-notes) highlightnotes=1; shift;;
+ --highlight-notes=*) on_off_option_error --highlight-notes;;
-d|--debug) if [ x"$2" = x ]; then debug=a; shift;
else debug="$2"; check_v debug "$debug"; shift;shift; fi;;
-d=*|--debug=*) debug="${1#*=}"; check_v debug "$debug"; shift;;
@@ -370,8 +380,9 @@ controlled_env() {
# Remove all existing environment variables (with `env -i') and only
# use some pre-defined environment variables, then build the project.
envmake=".local/bin/env -i HOME=$bdir sys_rm=$(which rm) $gopt"
- envmake="$envmake .local/bin/make --no-builtin-rules"
- envmake="$envmake --no-builtin-variables -f $1"
+ envmake="$envmake highlightnew=$highlightnew"
+ envmake="$envmake highlightnotes=$highlightnotes .local/bin/make"
+ envmake="$envmake --no-builtin-rules --no-builtin-variables -f $1"
if ! [ x"$debug" = x ]; then envmake="$envmake --debug=$debug"; fi
# Set the number of jobs. Note that for the `configure.sh' script the
diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk
index 28f44a9..fc10699 100644
--- a/reproduce/analysis/make/paper.mk
+++ b/reproduce/analysis/make/paper.mk
@@ -48,10 +48,23 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex
# Put a LaTeX input command for all the necessary macro files.
# 'hardware-parameters.tex' is created in 'configure.sh'.
- rm -f $(mtexdir)/project.tex
+ projecttex=$(mtexdir)/project.tex
+ rm -f $$projecttex
for t in $(subst paper,,$(makesrc)) hardware-parameters; do
- echo "\input{tex/build/macros/$$t.tex}" >> $(mtexdir)/project.tex
+ echo "\input{tex/build/macros/$$t.tex}" >> $$projecttex
done
+
+ # Possibly highlight the '\new' parts of the text.
+ if [ x"$(highlightnew)" = x1 ]; then
+ echo "\newcommand{\highlightnew}{}" >> $$projecttex
+ fi
+
+ # Possibly show the text within '\tonote'.
+ if [ x"$(highlightnotes)" = x1 ]; then
+ echo "\newcommand{\highlightnotes}{}" >> $$projecttex
+ fi
+
+ # The paper shouldn't be built.
else
echo
echo "-----"
diff --git a/tex/src/preamble-header.tex b/tex/src/preamble-header.tex
deleted file mode 100644
index 42bb409..0000000
--- a/tex/src/preamble-header.tex
+++ /dev/null
@@ -1,89 +0,0 @@
-%% The headers: title, authors, top of pages and section title formatting
-%% of the final LaTeX file are configured here.
-%
-%% Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
-%
-%% This file 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 file 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 file. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-
-%% General page header settings.
-\usepackage{fancyhdr}
-\pagestyle{fancy}
-\lhead{\footnotesize{\scshape Draft paper}, {\footnotesize nnn:i (pp), Year Month day}}
-\rhead{\scshape\footnotesize YOUR-NAME et al.}
-\cfoot{\thepage}
-\setlength{\voffset}{0.75cm}
-\setlength{\headsep}{0.2cm}
-\setlength{\footskip}{0.75cm}
-\renewcommand{\headrulewidth}{0pt}
-
-
-
-
-
-%% Specific style for first page.
-\fancypagestyle{firststyle}
-{
- \lhead{\footnotesize{\scshape Draft paper}, nnn:i (pp), YYYY Month day\\
- \scriptsize \textcopyright YYYY, Your name. All rights reserved.}
- \rhead{\footnotesize \footnotesize \today, \currenttime\\}
-}
-
-
-
-
-
-%To set the style of the titles:
-\usepackage{titlesec}
-\titleformat{\section}
- {\centering\normalfont\uppercase}
- {\thesection.}
- {0em}
- { }
-\titleformat{\subsection}
- {\centering\normalsize\slshape}
- {\thesubsection.}
- {0em}
- { }
-\titleformat{\subsubsection}
- {\centering\small\slshape}
- {\thesubsubsection.}
- {0em}
- { }
-
-
-
-
-
-% Basic Document information that goes into the PDF meta-data.
-\hypersetup
-{
- pdfauthor={YOUR NAME},
- pdfsubject={\projecttitle},
- pdftitle={\projecttitle},
- pdfkeywords={SOME, KEYWORDS, FOR, THE, PDF}
-}
-
-
-
-
-
-%% Title and author information
-\usepackage{authblk}
-\renewcommand\Authfont{\small\scshape}
-\renewcommand\Affilfont{\footnotesize\normalfont}
-\setlength{\affilsep}{0.2cm}
diff --git a/tex/src/preamble-style.tex b/tex/src/preamble-maneage-default-style.tex
index c07837f..665c846 100644
--- a/tex/src/preamble-style.tex
+++ b/tex/src/preamble-maneage-default-style.tex
@@ -150,3 +150,66 @@
\end{@twocolumnfalse}%
]%
}
+
+
+
+
+
+%% Basic header style
+%% ------------------
+%
+%% The steps below are to use the necessary LaTeX packages to get the demo
+%% Maneage paper running with a reasonably looking, custom paper style. If
+%% you are using a custom journal style, feel free to delete these.
+
+%% General page header settings.
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\lhead{\footnotesize{\scshape Draft paper}, {\footnotesize nnn:i (pp), Year Month day}}
+\rhead{\scshape\footnotesize YOUR-NAME et al.}
+\cfoot{\thepage}
+\setlength{\voffset}{0.75cm}
+\setlength{\headsep}{0.2cm}
+\setlength{\footskip}{0.75cm}
+\renewcommand{\headrulewidth}{0pt}
+
+%% Specific style for first page.
+\fancypagestyle{firststyle}
+{
+ \lhead{\footnotesize{\scshape Draft paper}, nnn:i (pp), YYYY Month day\\
+ \scriptsize \textcopyright YYYY, Your name. All rights reserved.}
+ \rhead{\footnotesize \footnotesize \today, \currenttime\\}
+}
+
+%To set the style of the titles:
+\usepackage{titlesec}
+\titleformat{\section}
+ {\centering\normalfont\uppercase}
+ {\thesection.}
+ {0em}
+ { }
+\titleformat{\subsection}
+ {\centering\normalsize\slshape}
+ {\thesubsection.}
+ {0em}
+ { }
+\titleformat{\subsubsection}
+ {\centering\small\slshape}
+ {\thesubsubsection.}
+ {0em}
+ { }
+
+% Basic Document information that goes into the PDF meta-data.
+\hypersetup
+{
+ pdfauthor={YOUR NAME},
+ pdfsubject={\projecttitle},
+ pdftitle={\projecttitle},
+ pdfkeywords={SOME, KEYWORDS, FOR, THE, PDF}
+}
+
+%% Title and author information
+\usepackage{authblk}
+\renewcommand\Authfont{\small\scshape}
+\renewcommand\Affilfont{\footnotesize\normalfont}
+\setlength{\affilsep}{0.2cm}
diff --git a/tex/src/preamble-maneage.tex b/tex/src/preamble-maneage.tex
new file mode 100644
index 0000000..81d8535
--- /dev/null
+++ b/tex/src/preamble-maneage.tex
@@ -0,0 +1,35 @@
+%% Preamble for Maneage-related features.
+%
+%% Copyright (C) 2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+%
+%% This LaTeX file is part of Maneage. Maneage 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.
+%
+%% Maneage 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. See <http://www.gnu.org/licenses/>.
+
+
+
+
+
+%% Highlighting
+%% ------------
+%
+%% Maneage feature for highlighting changes they can be set activated
+%% directly on the command-line with the '--highlight-new' or
+%% '--highlight-notes' options
+\ifdefined\highlightnew
+\newcommand{\new}[1]{\textcolor{green!50!black}{#1}}
+\else
+\newcommand{\new}[1]{\textcolor{black}{#1}}
+\fi
+
+\ifdefined\highlightnotes
+\newcommand{\tonote}[1]{\textcolor{red!60!black}{[#1]}}
+\else
+\newcommand{\tonote}[1]{{}}
+\fi
diff --git a/tex/src/preamble-necessary.tex b/tex/src/preamble-necessary.tex
deleted file mode 100644
index bf74c8b..0000000
--- a/tex/src/preamble-necessary.tex
+++ /dev/null
@@ -1,70 +0,0 @@
-%% Necessary (independent of style) macros for this project.
-%%
-%% These are a set of packages that have been commonly necessary in most
-%% LaTeX usages. However, if any are not needed in your work, please feel
-%% free to remove them.
-%
-%% Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
-%
-%% This file 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 file 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 file. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-
-%% For highlighting updates. When this is set, text marked as \new
-%% will be colored in dark green and text that is marked wtih \tonote
-%% will be marked in dark red.
-\ifdefined\highlightchanges
-\newcommand{\new}[1]{\textcolor{green!60!black}{#1}}
-\newcommand{\tonote}[1]{\textcolor{red!60!black}{[#1]}}
-\else
-\newcommand{\new}[1]{\textcolor{black}{#1}}
-\newcommand{\tonote}[1]{{}}
-\fi
-
-
-
-
-
-% Better than verbatim for displaying typed text.
-\usepackage{alltt}
-
-
-
-
-
-% For arithmetic opertions within LaTeX
-\usepackage[nomessages]{fp}
-
-
-
-
-
-%To add a code font to the text:
-\usepackage{courier}
-
-
-
-
-
-%To add some enumerating styles
-\usepackage{enumerate}
-
-
-
-
-
-%Including images if necessary
-\usepackage{graphicx}
diff --git a/tex/src/preamble-project.tex b/tex/src/preamble-project.tex
new file mode 100644
index 0000000..4206801
--- /dev/null
+++ b/tex/src/preamble-project.tex
@@ -0,0 +1,75 @@
+%% Necessary macros for this project.
+%%
+%% These are a set of packages that have been commonly necessary in most
+%% LaTeX usages. However, if any are not needed in your work, please feel
+%% free to remove them.
+%
+%% Copyright (C) 2018-2020 Mohammad Akhlaghi <mohammad@akhlaghi.org>
+%% Copyright (C) YYYY Your Name <your@email.address>
+%
+%% This file 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 file 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 file. If not, see <http://www.gnu.org/licenses/>.
+
+
+
+
+
+%% Packages you need in your project
+%% ---------------------------------
+%
+%% Here you can add/remove any custom LaTeX package that you need for this
+%% project that aren't provided by the journal's style.
+
+% Better than verbatim for displaying typed text.
+\usepackage{alltt}
+
+% For arithmetic opertions within LaTeX
+\usepackage[nomessages]{fp}
+
+%To add a code font to the text:
+\usepackage{courier}
+
+%To add some enumerating styles
+\usepackage{enumerate}
+
+%Including images if necessary
+\usepackage{graphicx}
+
+
+
+
+
+%% BibLaTeX or PGFPlots templates
+%% ------------------------------
+%
+%% These are ready-made customizations of these two commonly used packages
+%% that you can use as a template for your own project: BibLaTeX (advanced
+%% bibliography management) or PGFPlots (for drawing plots within LaTeX
+%% directly from tables of data). If you don't use them, you can just
+%% delete these two lines and also delete their files from your branch (to
+%% keep the 'tex/src' directory on your branch clean).
+\input{tex/src/preamble-biblatex.tex}
+\input{tex/src/preamble-pgfplots.tex}
+
+
+
+
+
+%% Style of default paper (DELETE IF USING JOURNAL STYLES)
+%% -------------------------------------------------------
+%
+%% This is primarily defined for the default Maneage paper style. So when
+%% you later import your journal's style, delete this line (and these
+%% comments). Also delete the file (to keep your project source branch
+%% clean from files you don't need/use).
+\input{tex/src/preamble-maneage-default-style.tex}