diff options
-rw-r--r-- | paper.tex | 22 | ||||
-rwxr-xr-x | project | 14 | ||||
-rw-r--r-- | reproduce/analysis/make/initialize.mk | 21 | ||||
-rw-r--r-- | reproduce/analysis/make/paper.mk | 74 | ||||
-rw-r--r-- | reproduce/analysis/make/top-make.mk | 7 | ||||
-rw-r--r-- | tex/src/appendix-existing-solutions.tex | 15 | ||||
-rw-r--r-- | tex/src/appendix-existing-tools.tex | 16 | ||||
-rw-r--r-- | tex/src/appendix-necessity.tex | 17 | ||||
-rw-r--r-- | tex/src/appendix-used-software.tex | 4 | ||||
-rw-r--r-- | tex/src/preamble-project.tex | 9 | ||||
-rw-r--r-- | tex/src/supplement.tex | 85 |
11 files changed, 214 insertions, 70 deletions
@@ -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 @@ -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} |