aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2021-01-02 16:46:55 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2021-01-02 17:30:15 +0000
commite4f61544facf8a3bd88c8466e7d3d847544c8228 (patch)
tree16aa6ce14f38c537c1f14e63ac2764febc0d4f77
parente7bfc66ab080ea662003ba173d70b7e9d94b9371 (diff)
Supplement (containing appendices) optionally built separately
Until now, the build strategy of the paper was to have a single output PDF that either contains (1) the full paper with appendices in the same paper (2) only the main body of the paper with no appencies. But the editor in chief of CiSE recently recommended publishing the appendices as supplements that is a separate PDF (on its webpage). So with this commit, the project can make either (1) a single PDF (containing both the main body and the appendices) that will be published on arXiv and will be the default output (this is the same as before). (2) two PDFs: one that is only the main body of the paper and another that is only the appendices. Since the appendices will be printed as a PDF in any case now, the old '--no-appendix' option has been replaced by '--supplement'. Also, the internal shell/TeX variable 'noappendix' has been renamed to 'separatesupplement'.
-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}