aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--paper.tex22
-rwxr-xr-xproject14
-rw-r--r--reproduce/analysis/make/initialize.mk21
-rw-r--r--reproduce/analysis/make/paper.mk74
-rw-r--r--reproduce/analysis/make/top-make.mk7
-rw-r--r--tex/src/appendix-existing-solutions.tex15
-rw-r--r--tex/src/appendix-existing-tools.tex16
-rw-r--r--tex/src/appendix-necessity.tex17
-rw-r--r--tex/src/appendix-used-software.tex4
-rw-r--r--tex/src/preamble-project.tex9
-rw-r--r--tex/src/supplement.tex85
11 files changed, 214 insertions, 70 deletions
diff --git a/paper.tex b/paper.tex
index 45cead1..778cb19 100644
--- a/paper.tex
+++ b/paper.tex
@@ -86,7 +86,7 @@
\vspace{2.5mm}
\emph{Appendices} ---
Two comprehensive appendices that review existing solutions; available
-\ifdefined\noappendix
+\ifdefined\separatesupplement
at \href{https://arxiv.org/abs/\projectarxivid}{\texttt{arXiv:\projectarxivid}} or \href{https://doi.org/10.5281/zenodo.\projectzenodoid}{\texttt{zenodo.\projectzenodoid}}.
\else
at the end (Appendices \ref{appendix:existingtools} and \ref{appendix:existingsolutions}).
@@ -155,7 +155,7 @@ To highlight the necessity, a short review of commonly-used tools is provided be
(3) job management (like shell scripts or Make);
(4) notebooks (like Jupyter).
\new{A comprehensive review of existing tools and solutions is available in the
- \ifdefined\noappendix
+ \ifdefined\separatesupplement
\href{https://doi.org/10.5281/zenodo.\projectzenodoid}{appendices}.%
\else%
appendices (\ref{appendix:existingsolutions}).%
@@ -169,7 +169,7 @@ We will focus on Docker here because it is currently the most common.
\new{It is hypothetically possible to precisely identify the used Docker ``images'' with their checksums (or ``digest'') to re-create an identical OS image later.
However, that is rarely done.}
Usually images are imported with operating system (OS) names; e.g., \cite{mesnard20}
-\ifdefined\noappendix
+\ifdefined\separatesupplement
\new{(more examples in the \href{https://doi.org/10.5281/zenodo.\projectzenodoid}{appendices})}%
\else%
\new{(more examples: see the appendices (\ref{appendix:existingtools}))}%
@@ -332,7 +332,7 @@ Acting as a link, the macro files build the core skeleton of Maneage.
For example, during the software building phase, each software package is identified by a \LaTeX{} file, containing its official name, version and possible citation.
These are combined at the end to generate precise software \new{acknowledgement} and citation that is shown in the
\new{
- \ifdefined\noappendix
+ \ifdefined\separatesupplement
\href{https://doi.org/10.5281/zenodo.\projectzenodoid}{appendices}.%
\else%
appendices (\ref{appendix:software}).%
@@ -683,21 +683,15 @@ The Pozna\'n Supercomputing and Networking Center (PSNC) computational grant 314
-%% Appendix (only build if 'noappendix' has not been given). So in default,
-%% the appendix is built.
-\ifdefined\noappendix
+%% Appendix (only build if 'separatesupplement' has not been given): by
+%% default, the appendices are built.
+\ifdefined\separatesupplement
\else
\clearpage
\appendices
\input{tex/src/appendix-existing-tools.tex}
\input{tex/src/appendix-existing-solutions.tex}
-
-%% Mention all used software in an appendix.
-\section{Software acknowledgement}
-\label{appendix:software}
-\input{tex/build/macros/dependencies.tex}
-
-%% Bibliography of appendix
+\input{tex/src/appendix-used-software.tex}
\bibliographystyleappendix{IEEEtran_openaccess}
\bibliographyappendix{IEEEabrv,references}
\fi
diff --git a/project b/project
index e53bcf0..33564f8 100755
--- a/project
+++ b/project
@@ -36,7 +36,6 @@ host_cc=0
operation=
build_dir=
input_dir=
-noappendix=0
check_config=
make_targets=
software_dir=
@@ -46,6 +45,7 @@ highlightnew=0
all_highlevel=0
existing_conf=0
highlightnotes=0
+separatesupplement=0
scriptname="./project"
minmapsize=10000000000
@@ -92,6 +92,7 @@ Project 'make' special features.
./project make Build the project on one thread
./project make -jN Built the project in parallel on N threads.
./project make clean Clean all files generated by 'make' (not software).
+ ./project make texclean Clean all files built by (La)TeX.
./project make distclean Clean everything (including compiled software).
./project make dist Produce a LaTeX-ready-to-build distribution tarball
('tar.gz') of the project. This is ready to be
@@ -128,7 +129,7 @@ Make (analysis) options:
Make (final PDF) options:
--highlight-new Highlight '\new' parts of text as green.
--highlight-notes Show '\tonote' regions as red text in PDF.
- --no-appendix Don't include the appendix in the final paper.
+ --supplement Build the appendices as a separate supplement PDF.
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
@@ -213,8 +214,8 @@ do
#
# Note that Make's `debug' can take values, but when called without any
# value, it is like giving it a value of `a'):
- --no-appendix) noappendix=1; shift;;
- --no-appendix=*) on_off_option_error --no-appendix;;
+ --supplement) separatesupplement=1; shift;;
+ --supplement=*) on_off_option_error --supplement;;
--highlight-new) highlightnew=1; shift;;
--highlight-new=*) on_off_option_error --highlight-new;;
--highlight-notes) highlightnotes=1; shift;;
@@ -384,7 +385,8 @@ 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 noappendix=$noappendix highlightnew=$highlightnew"
+ envmake="$envmake separatesupplement=$separatesupplement "
+ 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
@@ -507,7 +509,7 @@ case $operation in
numwords=$(pdftotext paper.pdf && cat paper.txt | wc -w)
numeff=$(echo $numwords | awk '{print $1-850+500}')
echo; echo "Number of words in full PDF: $numwords"
- if [ $noappendix = 1 ]; then
+ if [ $separatesupplement = 1 ]; then
echo "No abstract, and captions (250 for each figure): $numeff"
fi
rm paper.txt
diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk
index 75f87ee..0cc04ee 100644
--- a/reproduce/analysis/make/initialize.mk
+++ b/reproduce/analysis/make/initialize.mk
@@ -77,21 +77,11 @@ endif
# (independent parts of the paper can be added to it independently). To fix
# this problem, when we are in a group setting, we'll use the user's ID to
# create a separate LaTeX build directory for each user.
-#
-# The same logic applies to the final paper PDF: each user will create a
-# separte final PDF (for example `paper-user1.pdf' and `paper-user2.pdf')
-# and no `paper.pdf' will be built. This isn't a problem because
-# `initialize.tex' is a .PHONY prerequisite, so the rule to build the final
-# paper is always executed (even if it is present and nothing has
-# changed). So in terms of over-all efficiency and processing steps, this
-# doesn't change anything.
ifeq (x$(GROUP-NAME),x)
texbtopdir = build
-final-paper = paper.pdf
else
user = $(shell whoami)
texbtopdir = build-$(user)
-final-paper = paper-$(user).pdf
endif
texbdir = $(texdir)/$(texbtopdir)
tikzdir = $(texbdir)/tikz
@@ -220,14 +210,15 @@ project-package-contents = $(texdir)/$(project-package-name)
# we want to ensure that the file is always built in every run: it contains
# the project version which may change between two separate runs, even when
# no file actually differs.
-.PHONY: all clean dist dist-zip dist-lzip distclean clean-mmap \
+.PHONY: all clean dist dist-zip dist-lzip texclean distclean \
$(project-package-contents) $(mtexdir)/initialize.tex
-# --------- Delete for no Gnuastro ---------
-clean-mmap:; rm -f reproduce/config/gnuastro/mmap*
-# ------------------------------------------
+texclean:
+ rm *.pdf
+ rm -rf $(BDIR)/tex/build/*
+ mkdir $(BDIR)/tex/build/tikz # 'tikz' is assumed to already exist.
-clean: clean-mmap
+clean:
# Delete the top-level PDF file.
rm -f *.pdf
diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk
index d8f18b3..1776363 100644
--- a/reproduce/analysis/make/paper.mk
+++ b/reproduce/analysis/make/paper.mk
@@ -18,6 +18,7 @@
+
# LaTeX macros for paper
# ----------------------
#
@@ -55,8 +56,8 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex
done
# Possibly print the appendix in the final PDF.
- if [ x"$(noappendix)" = x1 ]; then
- echo "\newcommand{\noappendix}{}" >> $$projecttex
+ if [ x"$(separatesupplement)" = x1 ]; then
+ echo "\newcommand{\separatesupplement}{}" >> $$projecttex
fi
# Possibly highlight the '\new' parts of the text.
@@ -99,17 +100,18 @@ $(mtexdir)/project.tex: $(mtexdir)/verify.tex
# The bibliography
# ----------------
#
-# We need to run the `biber' program on the output of LaTeX to generate the
-# necessary bibliography before making the final paper. So we'll first have
-# one run of LaTeX (similar to the `paper.pdf' recipe), then `biber'.
+# We need to run the `bibtex' program on the output of LaTeX to generate
+# the necessary bibliography before making the final paper. So we'll first
+# have one run of LaTeX (similar to the `paper.pdf' recipe), then `biber'.
#
# NOTE: `$(mtexdir)/project.tex' is an order-only-prerequisite for
# `paper.bbl'. This is because we need to run LaTeX in both the `paper.bbl'
# recipe and the `paper.pdf' recipe. But if `tex/src/references.bib' hasn't
# been modified, we don't want to re-build the bibliography, only the final
# PDF.
-$(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
- | $(mtexdir)/project.tex
+bbls = $(foreach t,$(subst .pdf,,$(top-pdfs)),$(texbdir)/$(t).bbl)
+$(bbls): $(texbdir)/%.bbl: tex/src/references.tex \
+ $(mtexdir)/dependencies-bib.tex | $(mtexdir)/project.tex
# If `$(mtexdir)/project.tex' is empty, don't build PDF.
@macros=$$(cat $(mtexdir)/project.tex)
@@ -120,14 +122,14 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
# building directory.
p=$$(pwd)
if ! [ -L $(texbdir)/references.bib ]; then
- ln -s $$p/tex/src/references.tex $(texbdir)/references.bib
+ ln -sf $$p/tex/src/references.tex $(texbdir)/references.bib
fi
# Copy the improved IEEE bst file into the build directory.
# The improved bst file provides ArXiv clickable URLs and
# if available, open-access URLs based on the DOIs, with
# closed-access URLs as a fallback, via https://oadoi.org .
- cp -pv $$p/tex/src/IEEEtran_openaccess.bst $(texbdir)
+ ln -sf $$p/tex/src/IEEEtran_openaccess.bst $(texbdir)/
# We'll run LaTeX first to generate the `.bcf' file (necessary
# for `biber') and then run `biber' to generate the `.bbl' file.
@@ -140,19 +142,27 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
# it. It will be built anyway once this rule is done.
rm -f $@
+ # Put a link to the main LaTeX source that we want to build.
+ if [ $* = paper ]; then sdir="$$p"
+ else sdir="$$p"/tex/src
+ fi
+ ln -sf "$$sdir"/$*.tex ./
+
# The pdflatex option '-shell-escape' is "normally disallowed for
# security reasons" according to the `info pdflatex' manual, but
# is enabled here in order to allow the use of PGFPlots. If you
- # do not use PGFPlots, then you should remove the `-shell-escape'
+ # do not use PGFPlots, then you can remove the `-shell-escape'
# option for better security. See
# https://savannah.nongnu.org/task/?15694 for details.
- latex -shell-escape -halt-on-error "$$p"/paper.tex
-
- # Since we have multiple bibliographies (one for the main body,
- # and one for the appendix), we use 'multibib'. Multibib creates
- # a separate '.aux' file for each bibliography.
- bibtex paper
- if [ x"$(noappendix)" != x1 ]; then
+ latex -shell-escape -halt-on-error $*.tex
+
+ # When we are building the main paper and the appendices are to
+ # be built within the main paper's PDF, we need two
+ # bibliographies: one for the main body, and one for the
+ # appendix. For this, we use 'multibib'. Multibib creates a
+ # separate '.aux' file for each bibliography.
+ bibtex $*
+ if [ x"$(separatesupplement)" != x1 ]; then
bibtex appendix
fi
@@ -160,14 +170,14 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
# TODO (better): read Part 4 of
# http://mirrors.ctan.org/info/bibtex/tamethebeast/ttb_en.pdf
# and fix the .bst style properly.
- cp -pv paper.bbl paper-tmp.bbl \
- && sed -e "s/\'/EOLINE/g" paper-tmp.bbl \
+ cp -pv $*.bbl $*-tmp.bbl \
+ && sed -e "s/\'/EOLINE/g" $*-tmp.bbl \
| tr -d '\n' \
| sed -e 's/\([0-9]\)\( \|EOLINE\)}/\1}/g' \
| sed -e 's/\([^,]\) *\( \|EOLINE\) *\\eprint/\1, \\eprint/g' \
| sed -e 's/\([^,]\) *\( \|EOLINE\) *\\doi/\1, \\doi/g' \
- | sed -e 's/EOLINE/\n/g' > paper.bbl
- if [ x"$(noappendix)" != x1 ]; then
+ | sed -e 's/EOLINE/\n/g' > $*.bbl
+ if [ x"$(separatesupplement)" != x1 ]; then
cp -pv appendix.bbl appendix-tmp.bbl \
&& sed -e "s/\'/EOLINE/g" appendix-tmp.bbl \
| tr -d '\n' \
@@ -178,18 +188,19 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
fi
# Paper-specific hacks for reducing very-long author lists.
- cp -pv paper.bbl paper-tmp.bbl \
- && sed -e "s/\'/EOLINE/g" paper-tmp.bbl \
+ cp -pv $*.bbl $*-tmp.bbl \
+ && sed -e "s/\'/EOLINE/g" $*-tmp.bbl \
| tr -d '\n' \
| sed -e 's;, D\..Chong[^{]*Forstag; et al.\\/;' \
| sed -e 's;, V\..Khodiyar[^{]*Whyte; et al.\\/;' \
- | sed -e 's/EOLINE/\n/g' > paper.bbl
+ | sed -e 's/EOLINE/\n/g' > $*.bbl
+
# The pre-final run of LaTeX after 'paper.bbl' was created.
- latex -shell-escape -halt-on-error "$$p"/paper.tex
+ latex -shell-escape -halt-on-error $*.tex
fi
-# | sed -e 's;Chong;HELLO MUM;' \
+
# The final paper
@@ -200,7 +211,8 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
# to run everything cleanly from there, it is necessary to add the current
# directory (top project directory) to the `TEXINPUTS' environment
# variable.
-paper.pdf: $(mtexdir)/project.tex paper.tex $(texbdir)/paper.bbl
+$(top-pdfs): %.pdf: $(mtexdir)/project.tex paper.tex \
+ tex/src/appendix-*.tex $(texbdir)/%.bbl
# If `$(mtexdir)/project.tex' is empty, don't build the PDF.
@macros=$$(cat $(mtexdir)/project.tex)
@@ -213,17 +225,17 @@ paper.pdf: $(mtexdir)/project.tex paper.tex $(texbdir)/paper.bbl
# See above for a warning and brief discussion on the the
# pdflatex option `-shell-escape'.
- latex -shell-escape -halt-on-error "$$p"/paper.tex
+ latex -shell-escape -halt-on-error $*.tex
# Convert the DVI to PostScript, and the PostScript to PDF. The
# `-dNOSAFER' option to GhostScript allows transparencies in the
# conversion from PostScript to PDF, see
# https://www.ghostscript.com/doc/current/Language.htm#Transparency
- dvips paper.dvi
- ps2pdf paper.ps
+ dvips $*.dvi
+ ps2pdf $*.ps
# Come back to the top project directory and copy the built PDF
# file here.
cd "$$p"
- cp $(texbdir)/$@ $(final-paper)
+ cp $(texbdir)/$*.pdf $@
fi
diff --git a/reproduce/analysis/make/top-make.mk b/reproduce/analysis/make/top-make.mk
index 18d54b1..d552dc1 100644
--- a/reproduce/analysis/make/top-make.mk
+++ b/reproduce/analysis/make/top-make.mk
@@ -64,8 +64,13 @@ include reproduce/software/config/LOCAL.conf
# If you are just interested in the processing and don't want to build the
# PDF, you can skip the creation of the final PDF by giving a value of
# `yes' to `pdf-build-final' in `reproduce/analysis/config/pdf-build.conf'.
+ifeq ($(separatesupplement),0)
+top-pdfs = paper.pdf
+else
+top-pdfs = paper.pdf supplement.pdf
+endif
ifeq (x$(reproducible_paper_group_name),x$(GROUP-NAME))
-all: paper.pdf
+all: $(top-pdfs)
else
all:
@if [ "x$(GROUP-NAME)" = x ]; then \
diff --git a/tex/src/appendix-existing-solutions.tex b/tex/src/appendix-existing-solutions.tex
index d80c0b4..919f4e5 100644
--- a/tex/src/appendix-existing-solutions.tex
+++ b/tex/src/appendix-existing-solutions.tex
@@ -1,3 +1,18 @@
+%% Appendix on reviewing existing reproducible workflow solutions. This
+%% file is loaded by the project's 'paper.tex' or 'tex/src/supplement.tex',
+%% it should not be run independently.
+%
+%% Copyright (C) 2020-2021 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. See <http://www.gnu.org/licenses/>.
\section{Survey of common existing reproducible workflows}
\label{appendix:existingsolutions}
diff --git a/tex/src/appendix-existing-tools.tex b/tex/src/appendix-existing-tools.tex
index 8ad1cc3..794a3fe 100644
--- a/tex/src/appendix-existing-tools.tex
+++ b/tex/src/appendix-existing-tools.tex
@@ -1,3 +1,19 @@
+%% Appendix on reviewing existing low-level tools that are used in
+%% high-level reproducible workflow solutions. This file is loaded by the
+%% project's 'paper.tex' or 'tex/src/supplement.tex', it should not be run
+%% independently.
+%
+%% Copyright (C) 2020-2021 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. See <http://www.gnu.org/licenses/>.
\section{Survey of existing tools for various phases}
\label{appendix:existingtools}
diff --git a/tex/src/appendix-necessity.tex b/tex/src/appendix-necessity.tex
index 6578e5f..325fb69 100644
--- a/tex/src/appendix-necessity.tex
+++ b/tex/src/appendix-necessity.tex
@@ -1,5 +1,18 @@
-
-
+%% Appendix on reviewing the necessity for reproducible research
+%% papers. This file is loaded by the project's 'paper.tex' or
+%% 'tex/src/supplement.tex', it should not be run independently.
+%
+%% Copyright (C) 2020-2021 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. See <http://www.gnu.org/licenses/>.
\section{Necessity for reproducible research}
\label{appendix:necessity}
diff --git a/tex/src/appendix-used-software.tex b/tex/src/appendix-used-software.tex
new file mode 100644
index 0000000..aa06d45
--- /dev/null
+++ b/tex/src/appendix-used-software.tex
@@ -0,0 +1,4 @@
+%% Mention all used software in an appendix.
+\section{Software acknowledgement}
+\label{appendix:software}
+\input{tex/build/macros/dependencies.tex}
diff --git a/tex/src/preamble-project.tex b/tex/src/preamble-project.tex
index 11bf9c3..f360ce9 100644
--- a/tex/src/preamble-project.tex
+++ b/tex/src/preamble-project.tex
@@ -49,9 +49,16 @@
%% To have multiple bibliographies (one for the main paper, one for the
%% appendix). With 'multibib' we need to specify a name for each
-%% bibliography.
+%% bibliography. But this is only necessary when the appendices are to be
+%% included in the final paper. When the supplement should be separate, it
+%% will be treated as a completely independent build, so '\citeappendix'
+%% should just be mapped to '\cite'.
+\ifdefined\separatesupplement
+\newcommand{\citeappendix}{\cite}
+\else
\usepackage{multibib}
\newcites{appendix}{Bibliography}
+\fi
%% To have typewriter font
\usepackage{courier}
diff --git a/tex/src/supplement.tex b/tex/src/supplement.tex
new file mode 100644
index 0000000..e1db463
--- /dev/null
+++ b/tex/src/supplement.tex
@@ -0,0 +1,85 @@
+%% The top-level file to build the separate supplement that contains the
+%% appendices (to be published as a separate PDF file).
+%
+%% Copyright (C) 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. See <http://www.gnu.org/licenses/>.
+\documentclass[journal]{IEEEtran}
+
+%% This is a convenience variable if you are using PGFPlots to build plots
+%% within LaTeX. If you want to import PDF files for figures directly, you
+%% can use the standard `\includegraphics' command. See the definition of
+%% `\includetikz' in `tex/preamble-pgfplots.tex' for where the files are
+%% assumed to be if you use `\includetikz' when `\makepdf' is not defined.
+\newcommand{\makepdf}{}
+
+%% 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}
+\input{tex/src/preamble-maneage.tex}
+
+%% Import the other necessary TeX files for this particular project.
+\input{tex/src/preamble-project.tex}
+
+%% Title and author names.
+\title{Supplement to\\ \projecttitle}
+\author{
+ Mohammad Akhlaghi,
+ Ra\'ul Infante-Sainz,
+ Boudewijn F. Roukema,
+ Mohammadreza Khellat,\\
+ David Valls-Gabaud,
+ Roberto Baena-Gall\'e
+ \thanks{Manuscript received MM DD, YYYY; revised MM DD, YYYY.}
+}
+
+%% The paper headers
+\markboth{Computing in Science and Engineering, Vol. X, No. X, MM YYYY}%
+{Akhlaghi \MakeLowercase{\textit{et al.}}: \projecttitle}
+
+
+
+
+
+
+
+
+
+
+%% Start the paper.
+\begin{document}
+
+% make the title area
+\maketitle
+
+% For peer review papers, you can put extra information on the cover
+% page as needed:
+% \ifCLASSOPTIONpeerreview
+% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
+% \fi
+%
+% For peerreview papers, this IEEEtran command inserts a page break and
+% creates the second title. It will be ignored for other modes.
+\IEEEpeerreviewmaketitle
+
+%% Import the appendices.
+\input{tex/src/appendix-existing-tools.tex}
+\input{tex/src/appendix-existing-solutions.tex}
+\input{tex/src/appendix-used-software.tex}
+
+%% Bibliography.
+\bibliographystyle{IEEEtran_openaccess}
+\bibliography{IEEEabrv,references}
+
+%% End the paper.
+\end{document}