texlive[41804] Master/texmf-dist: dccpaper (5aug16)

commits+karl at tug.org commits+karl at tug.org
Sat Aug 6 00:32:58 CEST 2016


Revision: 41804
          http://tug.org/svn/texlive?view=revision&revision=41804
Author:   karl
Date:     2016-08-06 00:32:58 +0200 (Sat, 06 Aug 2016)
Log Message:
-----------
dccpaper (5aug16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/dccpaper/dccpaper-base.doc
    trunk/Master/texmf-dist/doc/latex/dccpaper/dccpaper.pdf
    trunk/Master/texmf-dist/doc/latex/dccpaper/idcc.doc
    trunk/Master/texmf-dist/doc/latex/dccpaper/ijdc-v9.doc
    trunk/Master/texmf-dist/source/latex/dccpaper/Makefile
    trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.dtx
    trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.ins
    trunk/Master/texmf-dist/tex/latex/dccpaper/idcc.cls
    trunk/Master/texmf-dist/tex/latex/dccpaper/ijdc-v9.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/dccpaper/README.md
    trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/dccpaper/README
    trunk/Master/texmf-dist/doc/latex/dccpaper/README.txt
    trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.tex

Deleted: trunk/Master/texmf-dist/doc/latex/dccpaper/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dccpaper/README	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/doc/latex/dccpaper/README	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,95 +0,0 @@
-The dccpaper bundle: LaTeX classes for submissions to IJDC and IDCC
-===================================================================
-
-The dccpaper bundle consists of two very similar classes.
-
-ijdc-v9.cls corresponds to the template used by the `International
-Journal of Digital Curation`_, beginning with volume 9.
-
-idcc.cls corresponds to the template used for the `International Digital
-Curation Conference`_, beginning with IDCC15.
-
-As the classes are so similar, their common features are abstracted out
-into dccpaper-base.tex, which should be installed in the runtime tex
-directory, rather than with the documentation.
-
-The classes are suitable for submissions to the respective review
-boards, but can also be used to produce the final camera-ready papers.
-
-Installation
-------------
-
-Managed way
-~~~~~~~~~~~
-
-The latest stable release of the dccpaper bundle has been packaged for
-TeX Live and MiKTeX. If you are running TeX Live and have ``tlmgr``
-installed, you can install the bundle simply by running
-``tlmgr install dccpaper``. If you are running MiKTeX, you can install
-the bundle by running ``mpm --install=dccpaper``. Both ``tlmgr`` and
-``mpm`` have GUI versions that you might find friendlier.
-
-Automated way
-~~~~~~~~~~~~~
-
-A makefile is provided which you can use with the Make utility:
-
--  Running ``make`` generates the derived files
-
-   -  README
-   -  dccpaper.pdf
-   -  ijdc-v9.cls
-   -  idcc.cls
-   -  dccpaper-base.tex
-   -  dccpaper-apacite.bib
-   -  dccpaper-biblatex.bib
-
--  Running ``make inst`` installs the files in the user's TeX tree.
--  Running ``make install`` installs the files in the local TeX tree.
-
-Manual way
-~~~~~~~~~~
-
-1. Compile dccpaper.dtx just as you would a normal LaTeX file. Bear in
-   mind the documentation requires the Biblatex package and the Biber
-   tool rather than regular BibTeX. As well as the usual PDF (or DVI)
-   and auxiliary files, several others are generated.
-2. Rename README.txt to README (if you like).
-3. Move the files to your TeX tree as follows:
-
-   -  ``source/latex/dccpaper``: dccpaper.dtx, dccpaper.ins
-   -  ``tex/latex/dccpaper``: ijdc-v9.cls, idcc.cls, dccpaper-base.tex,
-      dccpaper-by.eps, dccpaper-by.pdf
-   -  ``doc/latex/dccpaper``: dccpaper.pdf, dccpaper-apacite.bib,
-      dccpaper-biblatex.bib, README
-
-4. You may then have to update your installation's file name database
-   before TeX and friends can see the files.
-
-Licence
--------
-
-Copyright 2015 Digital Curation Centre, University of Edinburgh.
-
-This work consists of the image files dccpaper-by.eps and
-dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
-
-The text files contained in this work may be distributed and/or modified
-under the conditions of the `LaTeX Project Public License (LPPL)`_,
-either version 1.3c of this license or (at your option) any later
-version.
-
-The image files distributed with this bundle derive from the file
-`by.eps`_ distributed by Creative Commons. The image is a trademark of
-Creative Commons and is subject to the `Creative Commons trademark
-policy`_.
-
-This work is "maintained" (as per LPPL maintenance status) by `Alex
-Ball`_.
-
-.. _International Journal of Digital Curation: http://www.ijdc.net/index.php/ijdc
-.. _International Digital Curation Conference: http://www.dcc.ac.uk/events/international-digital-curation-conference-idcc
-.. _LaTeX Project Public License (LPPL): http://www.latex-project.org/lppl.txt
-.. _by.eps: http://mirrors.creativecommons.org/presskit/buttons/88x31/eps/by.eps
-.. _Creative Commons trademark policy: http://creativecommons.org/policies
-.. _Alex Ball: http://alexball.me.uk/

Added: trunk/Master/texmf-dist/doc/latex/dccpaper/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dccpaper/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/dccpaper/README.md	2016-08-05 22:32:58 UTC (rev 41804)
@@ -0,0 +1,85 @@
+# The dccpaper bundle: LaTeX classes for submissions to IJDC and IDCC
+
+The dccpaper bundle consists of two very similar classes.
+
+ijdc-v9.cls corresponds to the template used by the [International
+Journal of Digital Curation], beginning with volume 9.
+
+idcc.cls corresponds to the template used for the [International Digital
+Curation Conference], beginning with IDCC15.
+
+As the classes are so similar, their common features are abstracted out
+into dccpaper-base.sty; please do not attempt to use this package
+independently of the above classes.
+
+The classes are suitable for submissions to the respective review
+boards, but can also be used to produce the final camera-ready papers.
+
+## Installation
+
+### Managed way
+
+The latest stable release of the dccpaper bundle has been packaged for
+TeX Live and MiKTeX. If you are running TeX Live and have `tlmgr`
+installed, you can install the bundle simply by running
+`tlmgr install dccpaper`. If you are running MiKTeX, you can install the
+bundle by running `mpm --install=dccpaper`. Both `tlmgr` and `mpm` have
+GUI versions that you might find friendlier.
+
+### Automated way
+
+A makefile is provided which you can use with the Make utility:
+
+  * Running `make` generates the derived files
+      - README.md
+      - dccpaper.pdf
+      - ijdc-v9.cls
+      - idcc.cls
+      - dccpaper-base.sty
+      - dccpaper-apacite.bib
+      - dccpaper-biblatex.bib
+  * Running `make inst` installs the files in the user's TeX tree.
+  * Running `make install` installs the files in the local TeX tree.
+
+### Manual way
+
+ 1. Compile dccpaper.dtx just as you would a normal LaTeX file. Bear in
+    mind the documentation requires the Biblatex package and the Biber
+    tool rather than regular BibTeX. As well as the usual PDF (or DVI)
+    and auxiliary files, several others are generated.
+ 2. Move the files to your TeX tree as follows:
+      - `source/latex/dccpaper`: dccpaper.dtx, dccpaper.ins
+      - `tex/latex/dccpaper`: ijdc-v9.cls, idcc.cls, dccpaper-base.sty,
+        dccpaper-by.eps, dccpaper-by.pdf
+      - `doc/latex/dccpaper`: dccpaper.pdf, dccpaper-apacite.bib,
+        dccpaper-biblatex.bib, README.md
+
+ 3. You may then have to update your installation's file name database
+    before TeX and friends can see the files.
+
+## Licence
+
+Copyright 2016 Digital Curation Centre, University of Edinburgh.
+
+This work consists of the image files dccpaper-by.eps and
+dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
+
+The text files contained in this work may be distributed and/or modified
+under the conditions of the [LaTeX Project Public License (LPPL)],
+either version 1.3c of this license or (at your option) any later
+version.
+
+The image files distributed with this bundle derive from the file
+[by.eps] distributed by Creative Commons. The image is a trademark of
+Creative Commons and is subject to the [Creative Commons trademark
+policy].
+
+This work is "maintained" (as per LPPL maintenance status) by [Alex
+Ball].
+
+[International Journal of Digital Curation]: http://www.ijdc.net/index.php/ijdc
+[International Digital Curation Conference]: http://www.dcc.ac.uk/events/international-digital-curation-conference-idcc
+[LaTeX Project Public License (LPPL)]: http://www.latex-project.org/lppl.txt
+[by.eps]: http://mirrors.creativecommons.org/presskit/buttons/88x31/eps/by.eps
+[Creative Commons trademark policy]: http://creativecommons.org/policies
+[Alex Ball]: http://alexball.me.uk/


Property changes on: trunk/Master/texmf-dist/doc/latex/dccpaper/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/dccpaper/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dccpaper/README.txt	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/doc/latex/dccpaper/README.txt	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,95 +0,0 @@
-The dccpaper bundle: LaTeX classes for submissions to IJDC and IDCC
-===================================================================
-
-The dccpaper bundle consists of two very similar classes.
-
-ijdc-v9.cls corresponds to the template used by the `International
-Journal of Digital Curation`_, beginning with volume 9.
-
-idcc.cls corresponds to the template used for the `International Digital
-Curation Conference`_, beginning with IDCC15.
-
-As the classes are so similar, their common features are abstracted out
-into dccpaper-base.tex, which should be installed in the runtime tex
-directory, rather than with the documentation.
-
-The classes are suitable for submissions to the respective review
-boards, but can also be used to produce the final camera-ready papers.
-
-Installation
-------------
-
-Managed way
-~~~~~~~~~~~
-
-The latest stable release of the dccpaper bundle has been packaged for
-TeX Live and MiKTeX. If you are running TeX Live and have ``tlmgr``
-installed, you can install the bundle simply by running
-``tlmgr install dccpaper``. If you are running MiKTeX, you can install
-the bundle by running ``mpm --install=dccpaper``. Both ``tlmgr`` and
-``mpm`` have GUI versions that you might find friendlier.
-
-Automated way
-~~~~~~~~~~~~~
-
-A makefile is provided which you can use with the Make utility:
-
--  Running ``make`` generates the derived files
-
-   -  README
-   -  dccpaper.pdf
-   -  ijdc-v9.cls
-   -  idcc.cls
-   -  dccpaper-base.tex
-   -  dccpaper-apacite.bib
-   -  dccpaper-biblatex.bib
-
--  Running ``make inst`` installs the files in the user's TeX tree.
--  Running ``make install`` installs the files in the local TeX tree.
-
-Manual way
-~~~~~~~~~~
-
-1. Compile dccpaper.dtx just as you would a normal LaTeX file. Bear in
-   mind the documentation requires the Biblatex package and the Biber
-   tool rather than regular BibTeX. As well as the usual PDF (or DVI)
-   and auxiliary files, several others are generated.
-2. Rename README.txt to README (if you like).
-3. Move the files to your TeX tree as follows:
-
-   -  ``source/latex/dccpaper``: dccpaper.dtx, dccpaper.ins
-   -  ``tex/latex/dccpaper``: ijdc-v9.cls, idcc.cls, dccpaper-base.tex,
-      dccpaper-by.eps, dccpaper-by.pdf
-   -  ``doc/latex/dccpaper``: dccpaper.pdf, dccpaper-apacite.bib,
-      dccpaper-biblatex.bib, README
-
-4. You may then have to update your installation's file name database
-   before TeX and friends can see the files.
-
-Licence
--------
-
-Copyright 2015 Digital Curation Centre, University of Edinburgh.
-
-This work consists of the image files dccpaper-by.eps and
-dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
-
-The text files contained in this work may be distributed and/or modified
-under the conditions of the `LaTeX Project Public License (LPPL)`_,
-either version 1.3c of this license or (at your option) any later
-version.
-
-The image files distributed with this bundle derive from the file
-`by.eps`_ distributed by Creative Commons. The image is a trademark of
-Creative Commons and is subject to the `Creative Commons trademark
-policy`_.
-
-This work is "maintained" (as per LPPL maintenance status) by `Alex
-Ball`_.
-
-.. _International Journal of Digital Curation: http://www.ijdc.net/index.php/ijdc
-.. _International Digital Curation Conference: http://www.dcc.ac.uk/events/international-digital-curation-conference-idcc
-.. _LaTeX Project Public License (LPPL): http://www.latex-project.org/lppl.txt
-.. _by.eps: http://mirrors.creativecommons.org/presskit/buttons/88x31/eps/by.eps
-.. _Creative Commons trademark policy: http://creativecommons.org/policies
-.. _Alex Ball: http://alexball.me.uk/

Modified: trunk/Master/texmf-dist/doc/latex/dccpaper/dccpaper-base.doc
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dccpaper/dccpaper-base.doc	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/doc/latex/dccpaper/dccpaper-base.doc	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,7 +1,7 @@
-\ProvidesFile{dccpaper-base.doc}[2015/06/23 automatically generated with makedoc.sty]
+\ProvidesFile{dccpaper-base.doc}[2016/08/06 automatically generated with makedoc.sty]
 \begin{lstlisting}[firstnumber=1]
 %%
-%% This is file `dccpaper-base.tex',
+%% This is file `dccpaper-base.sty',
 %% generated with the docstrip utility.
 %%
 %% The original source files were:
@@ -16,20 +16,14 @@
 %% See:     http://www.latex-project.org/lppl.txt
 %% ----------------------------------------------------------------
 %%
-\def\Version{2015/06/22 v1.4.1}
-\ProvidesFile{dccpaper-base.tex}
+\def\Version{2016/08/05 v1.5}
+\ProvidesPackage{dccpaper-base.sty}
     [\Version\space Common class code for IJDC and IDCC papers.]
 \end{lstlisting}
 
-The \textsf{dccpaper} classes are deliberately very similar. This file
-contains the common code. All the classes are based on the \textsf{article}
-class, and use A4 paper.
+The \textsf{dccpaper} classes are deliberately very similar. This package
+contains the common code.
 
-\begin{lstlisting}[firstnumber=last]
-\LoadClass[a4paper,12pt,twoside]{article}
-
-\end{lstlisting}
-
 We use British English orthography.
 
 \begin{lstlisting}[firstnumber=last]
@@ -1365,6 +1359,6 @@
 %% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
 %% <info at dcc.ac.uk>
 %%
-%% End of file `dccpaper-base.tex'.
+%% End of file `dccpaper-base.sty'.
 
 \end{lstlisting}

Modified: trunk/Master/texmf-dist/doc/latex/dccpaper/dccpaper.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/dccpaper/idcc.doc
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dccpaper/idcc.doc	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/doc/latex/dccpaper/idcc.doc	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,4 +1,4 @@
-\ProvidesFile{idcc.doc}[2015/06/23 automatically generated with makedoc.sty]
+\ProvidesFile{idcc.doc}[2016/08/06 automatically generated with makedoc.sty]
 \begin{lstlisting}[firstnumber=1]
 %%
 %% This is file `idcc.cls',
@@ -16,7 +16,7 @@
 %% See:     http://www.latex-project.org/lppl.txt
 %% ----------------------------------------------------------------
 %%
-\def\Version{2015/06/22 v1.4.1}
+\def\Version{2016/08/05 v1.5}
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesClass{idcc}
     [\Version\space Class for submissions to the International Digital Curation Conference.]
@@ -78,6 +78,12 @@
   2016 in Amsterdam. URL: \url{http://www.dcc.ac.uk/events/idcc16/}}
   \def\dccp at subject{11th \dccp at publ@long, 2016}
 }
+\DeclareOption{17}{%
+  \def\dccp at publ@short{IDCC17}
+  \def\dccp at publ@msg{The 12th \dccp at publ@long\ takes place on 20--23 February
+  2017 in Edinburgh. URL: \url{http://www.dcc.ac.uk/events/idcc17/}}
+  \def\dccp at subject{12th \dccp at publ@long, 2017}
+}
 \ProcessOptions\relax
 
 \end{lstlisting}
@@ -107,10 +113,17 @@
 
 \end{lstlisting}
 
+The class is based on the \textsf{article} class, and uses A4 paper.
+
+\begin{lstlisting}[firstnumber=last]
+\LoadClass[a4paper,12pt,twoside]{article}
+
+\end{lstlisting}
+
 The rest of the formatting happens in the following file.
 
 \begin{lstlisting}[firstnumber=last]
-\input{dccpaper-base}
+\usepackage{dccpaper-base}
 %%
 %% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
 %% <info at dcc.ac.uk>

Modified: trunk/Master/texmf-dist/doc/latex/dccpaper/ijdc-v9.doc
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dccpaper/ijdc-v9.doc	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/doc/latex/dccpaper/ijdc-v9.doc	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,4 +1,4 @@
-\ProvidesFile{ijdc-v9.doc}[2015/06/23 automatically generated with makedoc.sty]
+\ProvidesFile{ijdc-v9.doc}[2016/08/06 automatically generated with makedoc.sty]
 \begin{lstlisting}[firstnumber=1]
 %%
 %% This is file `ijdc-v9.cls',
@@ -16,7 +16,7 @@
 %% See:     http://www.latex-project.org/lppl.txt
 %% ----------------------------------------------------------------
 %%
-\def\Version{2015/06/22 v1.4.1}
+\def\Version{2016/08/05 v1.5}
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesClass{ijdc-v9}
     [\Version\space Class for submissions to the International Journal of Digital Curation, volume 9 onwards.]
@@ -50,7 +50,7 @@
 \end{lstlisting}
 
 These definitions are used to fill out the headers and footers. They include
-some details that are defined in \textsf{dccpaper-base.tex} and provided by
+some details that are defined in \textsf{dccpaper-base.sty} and provided by
 the user: |\thedate|, |\thevolume|, |\theissue|, |\thelastpage|, |\thedoi|.
 
 \begin{lstlisting}[firstnumber=last]
@@ -80,10 +80,17 @@
 
 \end{lstlisting}
 
+The class is based on the \textsf{article} class, and uses A4 paper.
+
+\begin{lstlisting}[firstnumber=last]
+\LoadClass[a4paper,12pt,twoside]{article}
+
+\end{lstlisting}
+
 The rest of the formatting happens in the following file.
 
 \begin{lstlisting}[firstnumber=last]
-\input{dccpaper-base}
+\usepackage{dccpaper-base}
 %%
 %% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
 %% <info at dcc.ac.uk>

Modified: trunk/Master/texmf-dist/source/latex/dccpaper/Makefile
===================================================================
--- trunk/Master/texmf-dist/source/latex/dccpaper/Makefile	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/source/latex/dccpaper/Makefile	2016-08-05 22:32:58 UTC (rev 41804)
@@ -6,38 +6,52 @@
 VERS  = $(shell ltxfileinfo -v $(NAME).dtx)
 LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL)
 UTREE = $(shell kpsewhich --var-value TEXMFHOME)
+
+.PHONY: clean distclean inst install uninst uninstall zip ctan
+
 all:	$(NAME).pdf clean
-	test -e README.txt && mv README.txt README || exit 0
-$(NAME).pdf: $(NAME).dtx
+	@exit 0
+
+ijdc-v9.cls idcc.cls $(NAME)-base.sty: $(NAME).dtx
 	pdflatex -shell-escape -recorder -interaction=batchmode $(NAME).dtx >/dev/null
+
+$(NAME).pdf: $(NAME).dtx ijdc-v9.cls $(NAME)-biblatex.bib $(NAME)-by.pdf
 	biber $(NAME)
 	pdflatex --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
 	pdflatex --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
+
 clean:
 	rm -f $(NAME).{aux,bbl,bcf,blg,fdb_latexmk,fls,glo,gls,hd,idx,ilg,ind,ins,log,out,run.xml,synctex.gz} $(NAME)-base.doc ijdc-v9.doc idcc.doc
+
 distclean: clean
-	rm -f $(NAME).pdf ijdc-v9.cls idcc.cls $(NAME)-base.tex $(NAME)-{biblatex,apacite}.bib README
+	rm -f $(NAME).pdf ijdc-v9.cls idcc.cls $(NAME)-base.sty $(NAME)-{biblatex,apacite}.bib
+
 inst: all
 	mkdir -p $(UTREE)/{tex,source,doc}/latex/$(NAME)
 	cp $(NAME).dtx $(UTREE)/source/latex/$(NAME)
-	cp ijdc-v9.cls $(UTREE)/tex/latex/$(NAME)
-	cp idcc.cls $(UTREE)/tex/latex/$(NAME)
-	cp $(NAME)-base.tex $(UTREE)/tex/latex/$(NAME)
-	cp $(NAME)-by.{eps,pdf} $(UTREE)/tex/latex/$(NAME)
-	cp $(NAME).pdf $(UTREE)/doc/latex/$(NAME)
-	cp $(NAME)-{biblatex,apacite}.bib $(UTREE)/doc/latex/$(NAME)
-	cp README $(UTREE)/doc/latex/$(NAME)
+	cp {ijdc-v9,idcc}.cls $(NAME)-base.sty $(NAME)-by.{eps,pdf} $(UTREE)/tex/latex/$(NAME)
+	cp $(NAME).pdf $(NAME)-{biblatex,apacite}.bib README.md $(UTREE)/doc/latex/$(NAME)
+	mktexlsr
+uninst:
+	rm -r $(UTREE)/{tex,source,doc}/latex/$(NAME)
+	mktexlsr
+
 install: all
 	sudo mkdir -p $(LOCAL)/{tex,source,doc}/latex/$(NAME)
 	sudo cp $(NAME).dtx $(LOCAL)/source/latex/$(NAME)
-	sudo cp ijdc-v9.cls $(UTREE)/tex/latex/$(NAME)
-	sudo cp idcc.cls $(UTREE)/tex/latex/$(NAME)
-	sudo cp $(NAME)-base.tex $(UTREE)/tex/latex/$(NAME)
-	sudo cp $(NAME)-by.{eps,pdf} $(UTREE)/tex/latex/$(NAME)
-	sudo cp $(NAME).pdf $(UTREE)/doc/latex/$(NAME)
-	sudo cp $(NAME)-{biblatex,apacite}.bib $(UTREE)/doc/latex/$(NAME)
-	sudo cp README $(UTREE)/doc/latex/$(NAME)
+	sudo cp {ijdc-v9,idcc}.cls $(NAME)-base.sty $(NAME)-by.{eps,pdf} $(LOCAL)/tex/latex/$(NAME)
+	sudo cp $(NAME).pdf $(NAME)-{biblatex,apacite}.bib README.md $(LOCAL)/doc/latex/$(NAME)
+	mktexlsr
+uninstall:
+	sudo rm -r $(LOCAL)/{tex,source,doc}/latex/$(NAME)
+	mktexlsr
+
 zip: all
 	mkdir $(TDIR)
-	cp $(NAME).{pdf,dtx} $(NAME)-by.{eps,pdf} README Makefile $(TDIR)
+	cp {ijdc-v9,idcc}.cls $(NAME)-base.sty $(NAME)-by.{eps,pdf} $(NAME).{dtx,pdf} README.md Makefile $(TDIR)
 	cd $(TEMP); zip -Drq $(PWD)/$(NAME)-$(VERS).zip $(NAME)
+
+ctan: all
+	mkdir $(TDIR)
+	cp $(NAME).{dtx,pdf} $(NAME)-by.{eps,pdf} README.md Makefile $(TDIR)
+	cd $(TEMP); zip -Drq $(PWD)/$(NAME)-$(VERS).zip $(NAME)

Modified: trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.dtx	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.dtx	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,111 +1,101 @@
 % \iffalse meta-comment
 %<*internal|ijdc9|idcc|base>
-\def\Version{2015/06/22 v1.4.1}
+\def\Version{2016/08/05 v1.5}
 %</internal|ijdc9|idcc|base>
 %<*internal>
 \iffalse
 %</internal>
 %<*readme>
-The dccpaper bundle: LaTeX classes for submissions to IJDC and IDCC
-===================================================================
+# The dccpaper bundle: LaTeX classes for submissions to IJDC and IDCC
 
 The dccpaper bundle consists of two very similar classes.
 
-ijdc-v9.cls corresponds to the template used by the `International
-Journal of Digital Curation`_, beginning with volume 9.
+ijdc-v9.cls corresponds to the template used by the [International
+Journal of Digital Curation], beginning with volume 9.
 
-idcc.cls corresponds to the template used for the `International Digital
-Curation Conference`_, beginning with IDCC15.
+idcc.cls corresponds to the template used for the [International Digital
+Curation Conference], beginning with IDCC15.
 
 As the classes are so similar, their common features are abstracted out
-into dccpaper-base.tex, which should be installed in the runtime tex
-directory, rather than with the documentation.
+into dccpaper-base.sty; please do not attempt to use this package
+independently of the above classes.
 
 The classes are suitable for submissions to the respective review
 boards, but can also be used to produce the final camera-ready papers.
 
-Installation
-------------
+## Installation
 
-Managed way
-~~~~~~~~~~~
+### Managed way
 
 The latest stable release of the dccpaper bundle has been packaged for
-TeX Live and MiKTeX. If you are running TeX Live and have ``tlmgr``
+TeX Live and MiKTeX. If you are running TeX Live and have `tlmgr`
 installed, you can install the bundle simply by running
-``tlmgr install dccpaper``. If you are running MiKTeX, you can install
-the bundle by running ``mpm --install=dccpaper``. Both ``tlmgr`` and
-``mpm`` have GUI versions that you might find friendlier.
+`tlmgr install dccpaper`. If you are running MiKTeX, you can install the
+bundle by running `mpm --install=dccpaper`. Both `tlmgr` and `mpm` have
+GUI versions that you might find friendlier.
 
-Automated way
-~~~~~~~~~~~~~
+### Automated way
 
 A makefile is provided which you can use with the Make utility:
 
--  Running ``make`` generates the derived files
+  * Running `make` generates the derived files
+      - README.md
+      - dccpaper.pdf
+      - ijdc-v9.cls
+      - idcc.cls
+      - dccpaper-base.sty
+      - dccpaper-apacite.bib
+      - dccpaper-biblatex.bib
+  * Running `make inst` installs the files in the user's TeX tree.
+  * Running `make install` installs the files in the local TeX tree.
 
-   -  README
-   -  dccpaper.pdf
-   -  ijdc-v9.cls
-   -  idcc.cls
-   -  dccpaper-base.tex
-   -  dccpaper-apacite.bib
-   -  dccpaper-biblatex.bib
+### Manual way
 
--  Running ``make inst`` installs the files in the user's TeX tree.
--  Running ``make install`` installs the files in the local TeX tree.
+ 1. Compile dccpaper.dtx just as you would a normal LaTeX file. Bear in
+    mind the documentation requires the Biblatex package and the Biber
+    tool rather than regular BibTeX. As well as the usual PDF (or DVI)
+    and auxiliary files, several others are generated.
+ 2. Move the files to your TeX tree as follows:
+      - `source/latex/dccpaper`: dccpaper.dtx, dccpaper.ins
+      - `tex/latex/dccpaper`: ijdc-v9.cls, idcc.cls, dccpaper-base.sty,
+        dccpaper-by.eps, dccpaper-by.pdf
+      - `doc/latex/dccpaper`: dccpaper.pdf, dccpaper-apacite.bib,
+        dccpaper-biblatex.bib, README.md
 
-Manual way
-~~~~~~~~~~
+ 3. You may then have to update your installation's file name database
+    before TeX and friends can see the files.
 
-1. Compile dccpaper.dtx just as you would a normal LaTeX file. Bear in
-   mind the documentation requires the Biblatex package and the Biber
-   tool rather than regular BibTeX. As well as the usual PDF (or DVI)
-   and auxiliary files, several others are generated.
-2. Rename README.txt to README (if you like).
-3. Move the files to your TeX tree as follows:
+## Licence
 
-   -  ``source/latex/dccpaper``: dccpaper.dtx, dccpaper.ins
-   -  ``tex/latex/dccpaper``: ijdc-v9.cls, idcc.cls, dccpaper-base.tex,
-      dccpaper-by.eps, dccpaper-by.pdf
-   -  ``doc/latex/dccpaper``: dccpaper.pdf, dccpaper-apacite.bib,
-      dccpaper-biblatex.bib, README
+Copyright 2016 Digital Curation Centre, University of Edinburgh.
 
-4. You may then have to update your installation's file name database
-   before TeX and friends can see the files.
-
-Licence
--------
-
-Copyright 2015 Digital Curation Centre, University of Edinburgh.
-
 This work consists of the image files dccpaper-by.eps and
 dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
 
 The text files contained in this work may be distributed and/or modified
-under the conditions of the `LaTeX Project Public License (LPPL)`_,
+under the conditions of the [LaTeX Project Public License (LPPL)],
 either version 1.3c of this license or (at your option) any later
 version.
 
 The image files distributed with this bundle derive from the file
-`by.eps`_ distributed by Creative Commons. The image is a trademark of
-Creative Commons and is subject to the `Creative Commons trademark
-policy`_.
+[by.eps] distributed by Creative Commons. The image is a trademark of
+Creative Commons and is subject to the [Creative Commons trademark
+policy].
 
-This work is "maintained" (as per LPPL maintenance status) by `Alex
-Ball`_.
+This work is "maintained" (as per LPPL maintenance status) by [Alex
+Ball].
 
-.. _International Journal of Digital Curation: http://www.ijdc.net/index.php/ijdc
-.. _International Digital Curation Conference: http://www.dcc.ac.uk/events/international-digital-curation-conference-idcc
-.. _LaTeX Project Public License (LPPL): http://www.latex-project.org/lppl.txt
-.. _by.eps: http://mirrors.creativecommons.org/presskit/buttons/88x31/eps/by.eps
-.. _Creative Commons trademark policy: http://creativecommons.org/policies
-.. _Alex Ball: http://alexball.me.uk/
+[International Journal of Digital Curation]: http://www.ijdc.net/index.php/ijdc
+[International Digital Curation Conference]: http://www.dcc.ac.uk/events/international-digital-curation-conference-idcc
+[LaTeX Project Public License (LPPL)]: http://www.latex-project.org/lppl.txt
+[by.eps]: http://mirrors.creativecommons.org/presskit/buttons/88x31/eps/by.eps
+[Creative Commons trademark policy]: http://creativecommons.org/policies
+[Alex Ball]: http://alexball.me.uk/
 %</readme>
 %<ijdc9|idcc>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<ijdc9>\ProvidesClass{ijdc-v9}
 %<idcc>\ProvidesClass{idcc}
-%<base>\ProvidesFile{dccpaper-base.tex}
+%<base>\ProvidesPackage{dccpaper-base.sty}
 %<*ijdc9>
     [\Version\space Class for submissions to the International Journal of Digital Curation, volume 9 onwards.]
 %</ijdc9>
@@ -142,7 +132,7 @@
 
 %
 % These definitions are used to fill out the headers and footers. They include 
-% some details that are defined in \textsf{dccpaper-base.tex} and provided by
+% some details that are defined in \textsf{dccpaper-base.sty} and provided by
 % the user: |\thedate|, |\thevolume|, |\theissue|, |\thelastpage|, |\thedoi|.
 %
 \def\dccp at publ@long{International Journal of Digital Curation}
@@ -168,9 +158,14 @@
 \def\dccp at subject{\dccp at publ@long, \thedate, Vol.\ \thevolume, Iss.\ \theissue}
 
 %
+% The class is based on the \textsf{article} class, and uses A4 paper.
+%
+\LoadClass[a4paper,12pt,twoside]{article}
+
+%
 % The rest of the formatting happens in the following file.
 %
-\input{dccpaper-base}
+\usepackage{dccpaper-base}
 %LITERATE
 %</ijdc9>
 %<*idcc>
@@ -223,6 +218,12 @@
   2016 in Amsterdam. URL: \url{http://www.dcc.ac.uk/events/idcc16/}}
   \def\dccp at subject{11th \dccp at publ@long, 2016}
 }
+\DeclareOption{17}{%
+  \def\dccp at publ@short{IDCC17}
+  \def\dccp at publ@msg{The 12th \dccp at publ@long\ takes place on 20--23 February
+  2017 in Edinburgh. URL: \url{http://www.dcc.ac.uk/events/idcc17/}}
+  \def\dccp at subject{12th \dccp at publ@long, 2017}
+}
 \ProcessOptions\relax
 
 %
@@ -249,21 +250,22 @@
 \@clearglobaloption{demo}
 
 %
+% The class is based on the \textsf{article} class, and uses A4 paper.
+%
+\LoadClass[a4paper,12pt,twoside]{article}
+
+%
 % The rest of the formatting happens in the following file.
 %
-\input{dccpaper-base}
+\usepackage{dccpaper-base}
 %LITERATE
 %</idcc>
 %<*base>
 %<<LITERATE
 %
-% The \textsf{dccpaper} classes are deliberately very similar. This file 
-% contains the common code. All the classes are based on the \textsf{article} 
-% class, and use A4 paper.
+% The \textsf{dccpaper} classes are deliberately very similar. This package 
+% contains the common code.
 %
-\LoadClass[a4paper,12pt,twoside]{article}
-
-%
 % We use British English orthography.
 %
 \RequirePackage[british]{babel}
@@ -1646,7 +1648,7 @@
 \generate{
   \file{ijdc-v9.cls}{\from{\jobname.dtx}{ijdc9}}
   \file{idcc.cls}{\from{\jobname.dtx}{idcc}}
-  \file{dccpaper-base.tex}{\from{\jobname.dtx}{base}}
+  \file{dccpaper-base.sty}{\from{\jobname.dtx}{base}}
 }
 %</install>
 %<install>\endbatchfile
@@ -1658,7 +1660,7 @@
 \nopreamble\nopostamble
 \usedir{doc/latex/dccpaper}
 \generate{
-  \file{README.txt}{\from{\jobname.dtx}{readme}}
+  \file{README.md}{\from{\jobname.dtx}{readme}}
   \file{dccpaper-biblatex.bib}{\from{\jobname.dtx}{biblatex}}
   \file{dccpaper-apacite.bib}{\from{\jobname.dtx}{apacite}}
 }
@@ -1792,7 +1794,7 @@
 \item\textsf{idcc}, which corresponds to the template used for the International Digital Curation Conference, beginning with IDCC15.
 \end{itemize}
 
-The version to which it relates is \UseVersionOf{dccpaper-base.tex}, last revised\printdateTeX{\UseDateOf{dccpaper-base.tex}}.
+The version to which it relates is \UseVersionOf{dccpaper-base.sty}, last revised\printdateTeX{\UseDateOf{dccpaper-base.sty}}.
 
 The code for this bundle is maintained at \url{https://github.com/DigitalCurationCentre/dccpaper}.
 
@@ -1874,6 +1876,8 @@
 Use this for the 2015 conference.
 \item[16]
 Use this for the 2016 conference.
+\item[17]
+Use this for the 2017 conference.
 \end{description}
 
 \section{Preamble Commands}
@@ -2135,7 +2139,9 @@
 \section{Appendix A: Change History}
 
 \begin{description}
-\item[v1.4.1] 2014-06-22\\
+\item[v1.5] 2016-08-05\\
+Added details of IDCC 2017. Slightly refactored code to convert dccpaper-base.tex into a package, dccpaper-base.sty.
+\item[v1.4.1] 2015-06-22\\
 Fixed bug preventing compilation in DVI mode.
 \item[v1.4] 2015-05-22\\
 Added details of IDCC 2016. Improved whitespace handling. Fixed bug triggered by \texttt{demo} option. Fixed missing use of \lstinline|\Authfont|. Added missing DOI tweak for \textsf{biblatex-apa}.
@@ -2178,10 +2184,10 @@
 \renewcommand*{\mdJobName}{idcc}
 \MakeInputJobDoc[cls]{0}{\ProcessInputWith{PScomment}}
 
-\subsection{dccpaper-base.tex}
+\subsection{dccpaper-base.sty}
 
 \renewcommand*{\mdJobName}{dccpaper-base}
-\MakeInputJobDoc[tex]{0}{\ProcessInputWith{PScomment}}
+\MakeInputJobDoc[sty]{0}{\ProcessInputWith{PScomment}}
 
 \noNiceVerb
 
@@ -2208,7 +2214,7 @@
 
   \begin{itemize}
   \item
-    README
+    README.md
   \item
     dccpaper.pdf
   \item
@@ -2216,7 +2222,7 @@
   \item
     idcc.cls
   \item
-    dccpaper-base.tex
+    dccpaper-base.sty
   \item
     dccpaper-apacite.bib
   \item
@@ -2238,8 +2244,6 @@
   tool rather than regular Bib\TeX. As well as the usual PDF (or DVI) and
   auxiliary files, several others are generated.
 \item
-  Rename README.txt to README (if you like).
-\item
   Move the files to your \TeX\ tree as follows:
 
   \begin{itemize}
@@ -2247,10 +2251,10 @@
     \path{source/latex/dccpaper}: dccpaper.dtx, dccpaper.ins
   \item
     \path{tex/latex/dccpaper}: ijdc-v9.cls, idcc.cls,
-    dccpaper-base.tex, dccpaper-by.eps, dccpaper-by.pdf
+    dccpaper-base.sty, dccpaper-by.eps, dccpaper-by.pdf
   \item
     \path{doc/latex/dccpaper}: dccpaper.pdf, dccpaper-apacite.bib,
-    dccpaper-biblatex.bib, README
+    dccpaper-biblatex.bib, README.md
   \end{itemize}
 \item
   You may then have to update your installation's file name database
@@ -2303,7 +2307,7 @@
 \newpage
 \section{Appendix E: Licence}
 
-Copyright \textcopyright\ 2015 Digital Curation Centre, University of Edinburgh.
+Copyright \textcopyright\ 2016 Digital Curation Centre, University of Edinburgh.
 
 This work consists of the image files dccpaper-by.eps and
 dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
@@ -2329,4 +2333,4 @@
 %</driver>
 % \fi
 %
-\endinput
\ No newline at end of file
+\endinput

Modified: trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.ins	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/source/latex/dccpaper/dccpaper.ins	2016-08-05 22:32:58 UTC (rev 41804)
@@ -38,7 +38,7 @@
 \generate{
   \file{ijdc-v9.cls}{\from{\jobname.dtx}{ijdc9}}
   \file{idcc.cls}{\from{\jobname.dtx}{idcc}}
-  \file{dccpaper-base.tex}{\from{\jobname.dtx}{base}}
+  \file{dccpaper-base.sty}{\from{\jobname.dtx}{base}}
 }
 \endbatchfile
 %% 

Added: trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.sty	2016-08-05 22:32:58 UTC (rev 41804)
@@ -0,0 +1,1198 @@
+%%
+%% This is file `dccpaper-base.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% dccpaper.dtx  (with options: `base')
+%% 
+%% ----------------------------------------------------------------
+%% The dccpaper bundle: Classes for submissions to IJDC and IDCC
+%% Author:  Alex Ball
+%% E-mail:  a.ball at ukoln.ac.uk
+%% License: Released under the LaTeX Project Public License v1.3c or later
+%% See:     http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%% 
+\def\Version{2016/08/05 v1.5}
+\ProvidesPackage{dccpaper-base.sty}
+    [\Version\space Common class code for IJDC and IDCC papers.]
+%
+% The \textsf{dccpaper} classes are deliberately very similar. This package
+% contains the common code.
+%
+% We use British English orthography.
+%
+\RequirePackage[british]{babel}
+%
+% The macro patching commands from \textsf{etoolbox} come in useful for handling
+% author and date information, and also for compatibility with \textsf{apacite}.
+%
+\RequirePackage{etoolbox}
+%
+% The \textsf{dccpaper} classes use Times as the main text font. We prefer
+% \textsf{newtx} as it provides support for mathematics, but the standard
+% \textsf{times} package will do. In case they are needed, we also provide
+% Helvetica for the sans serif font and Computer Modern Teletype for the
+% monospaced.
+%
+\RequirePackage[T1]{fontenc}
+\IfFileExists{newtxtext.sty}%
+  {\RequirePackage{newtxtext,newtxmath}}%
+  {\RequirePackage{times}}
+\RequirePackage[scaled=0.92]{helvet}
+\renewcommand{\ttdefault}{cmtt}
+%
+% We will need support for included graphics and colour. The structural elements
+% are a medium turquoise, while the links are slightly darker to make them
+% easier to read on screen.
+%
+\RequirePackage{graphicx}
+\IfFileExists{xcolor.sty}%
+  {\RequirePackage{xcolor}}%
+  {\RequirePackage{color}}
+\definecolor[named]{struct}{rgb}{0,0.5,0.5}
+\definecolor[named]{links}{rgb}{0,0.4,0.4}
+%
+% We will calculate some lengths later.
+%
+\RequirePackage{calc}
+
+%
+% Ragged right text is easier to read on screen, but fully justified text looks
+% better. The |\raggedyright| layout from Peter Wilson's \textsf{memoir} class
+% (2005/09/25 v1.618) is an excellent compromise. The code below replicates it.
+%
+% First we save the original definitions of |\\| and |\parindent| as
+% |\OrigLineBreak| and |\RaggedParindent| respectively.
+%
+\let\OrigLineBreak\\
+\newdimen\RaggedParindent
+\setlength{\RaggedParindent}{\parindent}
+
+%
+% The |\raggedyright| layout more or less lays text out as with full
+% justification, but then lets the shorter lines relax a bit from the right
+% margin. It is the default for DCC papers.
+%
+\newcommand{\raggedyright}[1][2em]{%
+  \let\\\@centercr\@rightskip \z@ \@plus #1\relax
+  \rightskip\@rightskip
+  \leftskip\z at skip
+  \parindent\RaggedParindent}
+\AtBeginDocument{\raggedyright}
+
+%
+% The |\flushleftright| layout restores full justification, in case it is
+% needed.
+%
+\newcommand*{\flushleftright}{%
+  \let\\\OrigLineBreak
+  \leftskip\z at skip
+  \rightskip\leftskip
+  \parfillskip\@flushglue
+  \everypar{}}
+
+%
+% Pdf\TeX\ 1.40.15 introduced the facility to include dummy interword spaces
+% to improve text extraction and reflow. We test for this facility and use it
+% if available.
+%
+\RequirePackage{ifpdf}
+\ifpdf
+  \ifdef{\pdfinterwordspaceon}{\pdfinterwordspaceon}{}
+\fi
+
+%
+% The classes have some special metadata requirements. We start with the author
+% information.
+%
+% The macro |\thecorrespondence| is used in the title page footer for the name,
+% postal address and email address of the corresponding author.
+%
+\def\thecorrespondence{}
+\newcommand*{\correspondence}[1]{\def\thecorrespondence{#1}}
+%
+% The handling of authors here is inspired by Patrick W Daly's \textsf{authblk},
+% (2001/02/27 1.3), and defines the familiar user commands. Authors are
+% presented in blocks, one affiliation but perhaps several authors per block.
+%
+% We make the presentation of the author information configurable (just in case)
+% with some hooks and lengths:
+% \begin{itemize}
+% \item |\Authfont| is the font used for author names;
+% \item |\Affilfont| is the font used for affiliations;
+% \item |\affilsep| is the line spacing between author names and affiliations;
+% \item |\authblksep| is the line spacing between author name/affiliation
+%       blocks.
+% \end{itemize}
+%
+\newcommand*{\Authfont}{\normalfont}
+\newcommand*{\Affilfont}{\normalfont\small}
+\newlength{\affilsep}\setlength{\affilsep}{0pt}
+\newlength{\authblksep}\setlength{\authblksep}{1.5\baselineskip}
+%
+% The |\AuthorBlock| command will be used to collect all the author information.
+%
+\newcommand{\AuthorBlock}{}
+%
+% The |\MainAuthor| command collects abbreviated author information for use in
+% the headers.
+%
+\newcommand{\MainAuthor}{}
+%
+% The |\dccp at author| command, meanwhile, collects a full list of authors for the
+% PDF metatdata.
+%
+\newcommand{\dccp at author}{}
+%
+% We define counters for
+% \begin{itemize}
+% \item the total number of authors defined;
+% \item the number of authors in the current block;
+% \item the number of blocks defined.
+% \end{itemize}
+%
+\newcounter{authors}
+\newcounter{authorsinblock}
+\newcounter{block}
+%
+% The |block| counter will increase once in the preamble, and again when the
+% information is typeset, so we need to reset it at the beginning of the
+% document.
+%
+\AtBeginDocument{\setcounter{block}{0}}
+%
+% The new definition of the author command starts here.
+%
+\renewcommand{\author}[1]{%
+%
+% If this is the first or second |\author| command, we add the name to our
+% abbreviated list of authors. Otherwise, we replace the name of the second
+% and subsequent authors with `et al.' in that list.
+%
+% At the same time, we use a simpler technique to populate |\dccp at author|.
+%
+  \ifnum\theauthors=0
+    \def\dccp at author{#1}%
+    \def\MainAuthor{#1}%
+  \else
+    \appto\dccp at author{, #1}%
+    \ifnum\theauthors=1%
+      \def\OtherMainAuthors{ and #1}%
+      \appto\MainAuthor{\OtherMainAuthors}%
+    \else
+      \ifnum\theauthors=2%
+        \def\OtherMainAuthors{ et al.}%
+      \fi
+    \fi
+  \fi
+  \stepcounter{authors}%
+%
+% Each block has its author names collected in a macro like |\blocki at auth|,
+% and its affiliation collected in a macro like |\blocki at affil| (the `i' is a
+% serial number).
+%
+% If this is the first author in a block, we need to create the block and add it
+% to |\AuthorBlock|; second and subsequent blocks are preceded by a |\quad| of
+% space.
+%
+  \ifnum\theauthorsinblock=0%
+    \stepcounter{block}%
+    \expandafter\def\csname block\roman{block}@auth\endcsname{\Authfont#1}%
+    \ifnum\theblock>1\appto\AuthorBlock{\quad}\fi
+    \appto\AuthorBlock{%
+      \stepcounter{block}%
+      \begin{minipage}[t]{0.45\textwidth}\centering
+      \csname block\roman{block}@auth\endcsname
+      \ifx\undefined\csname block\roman{block}@affil\endcsname
+      \else
+        \\[\affilsep]\csname block\roman{block}@affil\endcsname
+      \fi
+      \end{minipage}%
+      \rule{0pt}{2\baselineskip}%
+      }
+  \else
+%
+% Otherwise we just add the name to the right |\blocki at auth|-style macro.
+%
+    \csappto{block\roman{block}@auth}{, #1}%
+  \fi
+  \stepcounter{authorsinblock}%
+}
+%
+% The |\affil| command adds an affiliation to the current block and closes it by
+% resetting the |authorsinblock| counter.
+%
+\newcommand{\affil}[1]{%
+  \expandafter\def\csname block\roman{block}@affil\endcsname{\Affilfont#1}%
+  \setcounter{authorsinblock}{0}%
+}
+
+%
+% The |\HeadTitle| collects the abbreviated title for use in the headers.
+%
+\newcommand*{\HeadTitle}{}
+%
+% We wrap the normal |\title| command with code to populate |\HeadTitle| with
+% the optional argument if provided, or the mandatory one otherwise. We also
+% provide a persistent |\thetitle| macro, stripped of any |\thanks|.
+%
+\let\ProperTitle=\title
+\renewcommand{\title}[2][\empty]{
+  \ifx\empty #1%
+    \renewcommand*{\HeadTitle}{#2}%
+  \else
+    \renewcommand*{\HeadTitle}{#1}%
+  \fi%
+  \begingroup\let\footnote\@gobble
+  \ProperTitle{#2}%
+  \begingroup
+    \renewcommand{\thanks}[1]{}
+    \protected at xdef\thetitle{#2}
+  \endgroup\endgroup
+}
+%
+% To prevent \LaTeX\ throwing an error if no title is supplied, we supply a
+% fallback value and issue a warning instead.
+%
+\def\thetitle{%
+  Please supply a title
+  \ClassWarning{dccpaper}{%
+    Please supply a title in the preamble with \noexpand\title{}%
+  }
+}
+
+%
+% We make |\thedate| persistent, borrowing the technique used in Peter Wilson's
+% \textsf{memoir} class (2005/09/25 v1.618).
+%
+\pretocmd{\date}{\begingroup\let\footnote\@gobble}{}{}%
+\apptocmd{\date}{%
+  \begingroup
+    \renewcommand{\thanks}[1]{}
+    \protected at xdef\thedate{#1}
+  \endgroup\endgroup%
+}{}{}
+%
+% We ensure |\thedate| is defined using a dummy date.
+%
+\date{20xx}
+
+%
+% IJDC articles have extra bibliographic information:
+% \begin{itemize}
+% \item |\volume| sets the volume number, |\thevolume|;
+% \item |\issue| sets the issue number, |\theissue|;
+% \item |\subno| sets the submission number, |\thesubno|.
+% \end{itemize}
+%
+% These numbers are used to build the DOI, |\thedoi|.
+%
+\newcommand*{\thevolume}{0}
+\newcommand*{\volume}[1]{\renewcommand*{\thevolume}{#1}}
+\newcommand*{\theissue}{0}
+\newcommand*{\issue}[1]{\renewcommand*{\theissue}{#1}}
+\newcommand*{\thesubno}{0}
+\newcommand*{\subno}[1]{\renewcommand*{\thesubno}{#1}}
+\newcommand*{\thedoi}{10.2218/ijdc.v\thevolume i\theissue .\thesubno}
+%
+% They also display the page range. The following code was borrowed from Peter
+% Wilson's \textsf{memoir} class (2005/09/25 v1.618). It defines a counter
+% |lastpage| which, on the second run, will contain the number of the last page.
+%
+\newcounter{lastpage}
+\setcounter{lastpage}{0}
+\newcommand{\dol at stpage}{%
+  \if at filesw
+    \addtocounter{page}{-1}%
+    \immediate\write\@auxout%
+      {\string\setcounter{lastpage}{\the\c at page}}%
+    \stepcounter{page}%
+  \fi
+}
+\AtBeginDocument{\AtEndDocument{\clearpage\dol at stpage}}
+
+%
+% DCC papers display some important dates. We collect these in |\dccp at dates|,
+% initially setting the value to something sensible for papers in draft.
+%
+\def\dccp at dates{\emph{Draft from} \today}
+%
+% Several types of date can be added:
+% \begin{itemize}
+% \item |\submitted| for when the authors submitted the paper (intended for
+%       IDCC papers).
+% \item |\received| for when the paper was received by the editorial board
+%       (intended for IJDC papers).
+% \item |\revised| for when the most recent version was received by the
+%       editorial board.
+% \item |\accepted| for when the paper was accepted by the editorial board.
+% \end{itemize}
+%
+\newcommand*{\submitted}[1]{%
+  \def\dccp at dates{\emph{Submitted} #1}}
+\newcommand*{\received}[1]{%
+  \def\dccp at dates{\emph{Received} #1}}
+\newcommand*{\revised}[1]{%
+  \appto\dccp at dates{%
+    \space\space\space\textbar\space\space\space
+    \emph{Revision received} #1}%
+  }
+\newcommand*{\accepted}[1]{%
+  \appto\dccp at dates{%
+    \space\space\space\textbar\space\space\space
+    \emph{Accepted} #1}%
+  }
+%
+% IJDC papers need to say if they had a previous life as a conference paper.
+% This statement goes in |\dccp at conf|, which is initially empty. The user
+% command for setting this text is |\conference|.
+%
+\let\dccp at conf=\empty
+\newcommand*{\conference}[1]{%
+  \renewcommand*{\dccp at conf}{An earlier version of this paper was presented at #1.}%
+}
+
+%
+% The macro |\FixTextHeight| will be useful when switching from the first page
+% geometry to the regular geometry for the rest of the paper. It is based on
+% code from  Hideo Umeki's \textsf{geometry} package (2002/07/08 v3.2).
+%
+\newcommand{\FixTextHeight}{%
+  \setlength\@tempdima{\textheight}%
+  \addtolength\@tempdima{-\topskip}%
+  \@tempcnta\@tempdima
+  \@tempcntb\baselineskip
+  \divide\@tempcnta\@tempcntb
+  \setlength\@tempdimb{\baselineskip}%
+  \multiply\@tempdimb\@tempcnta
+  \advance\@tempdima-\@tempdimb
+  \global\advance\footskip\@tempdima
+  \multiply\@tempdima\tw@
+  \ifdim\@tempdima>\baselineskip
+    \addtolength\@tempdimb{\baselineskip}%
+    \global\advance\footskip-\baselineskip
+  \fi
+  \addtolength\@tempdimb{\topskip}%
+  \global\textheight\@tempdimb
+}
+
+%
+% The width of the textblock (on all pages) is 150mm, which on A4 paper implies
+% margins of 30mm each. (Making both horizontal margins the same in a two-sided
+% context makes the paper more pleasant to read on screen).
+%
+\setlength{\textwidth}{150mm}
+\setlength{\oddsidemargin}{30mm - \hoffset - 1in}
+\setlength{\evensidemargin}{30mm - \hoffset - 1in}
+%
+% It is rare to have marginal notes, but in case we ever do, we centre them in
+% the margin.
+%
+\setlength{\marginparwidth}{30mm - 2\marginparsep}
+%
+% We also want a distance of 15mm from the top of the page to the top of the
+% header, and two blank lines between the bottom of the header and the top of
+% the textblock.
+%
+\setlength{\topmargin}{15mm - \voffset - 1in}
+\setlength{\headsep}{2\baselineskip}
+
+%
+% IJDC editorials have slightly different headers and footers. This requires
+% testing for |\dccp at editorial| if it exists. In case it doesn't, we provide it.
+%
+\providecommand{\dccp at editorial}{Editorial}
+%
+% The height of the footer can vary a lot. To keep it a fixed distance from the
+% bottom of the page rather than the top, we need to vary the |\textheight|
+% accordingly. This means we need to measure the height of the footer. (The
+% header is more predictable but we may as well measure it while we are at it).
+%
+% Here we define the header and footer of the title page (i.e.\ the
+% \textsf{title} page style), making sure we save them to auxiliary macros
+% |\TitleHead| and |\TitleFoot| so we can measure them.
+%
+\def\ps at title{%
+  \def\@oddhead{%
+    \begin{minipage}{\textwidth}%
+      \centering
+      \LARGE\bfseries\color{struct}%
+      \ifx\dccp at type\dccp at editorial
+        \dccp at publ@long
+      \else
+        \dccp at publ@short\space\space\textbar\space\space\emph{\dccp at type}%
+      \fi
+      \par
+    \end{minipage}%
+  }%
+  \let\@evenhead=\@oddhead
+  \let\TitleHead=\@oddhead
+  \def\@oddfoot{%
+    \begin{minipage}[b]{\textwidth}%
+      \fontsize{9pt}{11pt}\selectfont
+      \ifx\dccp at type\dccp at editorial
+      \else
+        {\centering\dccp at dates\par}
+        \bigskip
+        Correspondence should be addressed to \thecorrespondence\par
+        \bigskip
+      \fi
+      \ifx\empty\dccp at conf
+      \else
+        \dccp at conf\par
+        \bigskip
+      \fi
+      \dccp at publ@msg\par
+      \bigskip
+      \begin{minipage}[b]{\linewidth - 25mm}
+      Copyright rests with the authors. This work is released under a Creative
+      Commons Attribution 4.0 International Licence. For details please see
+      \url{http://creativecommons.org/licenses/by/4.0/}%
+      \end{minipage}\hfill
+      \begin{minipage}[b]{19mm}
+        \href{http://creativecommons.org/licenses/by/4.0/}%
+          {\includegraphics[width=\hsize]{dccpaper-by}}%
+      \end{minipage}
+      \par
+      \bigskip
+      \makebox[0pt][l]{\parbox{0.4\hsize}{%
+        \ifx\undefined\dccp at titlefoot@bib\else\dccp at titlefoot@bib\fi
+      }}\hfill
+      \makebox[0pt][c]{\normalsize\thepage}\hfill
+      \makebox[0pt][r]{\parbox{0.4\hsize}{%
+        \raggedleft\ifx\undefined\dccp at titlefoot@doi\else\dccp at titlefoot@doi\fi
+      }}%
+    \end{minipage}%
+  }%
+  \let\@evenfoot=\@oddfoot
+  \let\TitleFoot=\@oddfoot
+}
+%
+% We set the normal page style to \textsf{title} here so that |\TitleHead| and
+% |\TitleFoot| are defined, but we will override it with the \textsf{dccpaper}
+% page style later.
+%
+\pagestyle{title}
+%
+% The first page should use the \textsf{title} page style, however.
+%
+\AtBeginDocument{\thispagestyle{title}}
+
+%
+% Here are the normal headers and footers (i.e.\ the \textsf{dccpaper} page
+% style). We save them to |\NormalHead| and |\NormalFoot|, again so we can
+% measure them.
+%
+\def\ps at dccpaper{%
+  \def\@oddhead{%
+    \begin{minipage}{\textwidth}\frenchspacing
+      {%
+        \fontsize{9pt}{11pt}\selectfont
+        \ifx\undefined\dccp at normhead@doi\else\dccp at normhead@doi\fi
+      }\hfill
+      {\MainAuthor}\space\space\space
+      \textcolor{struct}{\textbar}\space\space\space
+      \thepage\par
+      \vskip6pt\color{struct}{\hrule height 1bp}\par
+    \end{minipage}
+  }%
+  \def\@evenhead{%
+    \begin{minipage}{\textwidth}
+      \thepage\space\space\space
+      \textcolor{struct}{\textbar}\space\space\space
+      {\HeadTitle}\hfill
+      {%
+        \fontsize{9pt}{11pt}\selectfont
+        \ifx\undefined\dccp at normhead@doi\else\dccp at normhead@doi\fi
+      }\par
+      \vskip6pt\color{struct}{\hrule height 1bp}\par
+    \end{minipage}
+  }%
+  \let\NormalHead=\@oddhead
+  \def\@oddfoot{\begin{minipage}[b]{\textwidth}
+    \centering\bfseries\normalsize\color{struct}
+    \ifx\dccp at type\dccp at editorial
+      \dccp at publ@long
+    \else
+      \dccp at publ@short\space\space\textbar\space\space\emph{\dccp at type}%
+    \fi
+    \par
+  \end{minipage}}%
+  \let\@evenfoot=\@oddfoot
+  \let\NormalFoot=\@oddfoot
+}
+\pagestyle{dccpaper}
+
+%
+% We need to wait until the author has supplied the necessary information before
+% we can do our measuring and set the remainder of the geometry, so we do it at
+% the end of the preamble. First we put our saved macros into boxes we can
+% measure (i.e.\ |\dccp at firstpagehead|, |\dccp at firstpagefoot|,
+% |\dccp at restpagehead|, |\dccp at restpagefoot|).
+%
+\AtEndPreamble{
+  \newsavebox{\dccp at firstpagehead}
+  \sbox\dccp at firstpagehead{\normalfont\TitleHead}
+  \newsavebox{\dccp at firstpagefoot}
+  \sbox\dccp at firstpagefoot{\normalfont
+    \def\email#1{#1}\def\url#1{#1}\def\href#1#2{#2}\TitleFoot}
+  \newsavebox{\dccp at restpagehead}
+  \sbox\dccp at restpagehead{\normalfont\NormalHead}
+  \newsavebox{\dccp at restpagefoot}
+  \sbox\dccp at restpagefoot{\normalfont\NormalFoot}
+%
+% We can now set the geometry of the title page\dots
+%
+  \setlength{\headheight}{\ht\dccp at firstpagehead + \dp\dccp at firstpagehead}
+  \setlength{\footskip}{%
+    2\baselineskip + \ht\dccp at firstpagefoot + \dp\dccp at firstpagefoot
+  }
+  \setlength{\textheight}{%
+    \paperheight
+    - 30mm % 15mm top and bottom
+    - \headheight
+    - \headsep
+    - \footskip
+  }
+%
+% {\dots}and provide a macro that will reset the geometry for the remaining
+% pages.
+%
+  \def\dccp at resetgeometry{%
+    \setlength{\headheight}{\ht\dccp at restpagehead + \dp\dccp at restpagehead}
+    \global\headheight=\headheight
+    \setlength{\footskip}{%
+      2\baselineskip + \ht\dccp at restpagefoot
+    }
+    \global\footskip=\footskip
+    \setlength{\textheight}{%
+      \paperheight
+      - 30mm % 15mm top and bottom
+      - \headheight
+      - \headsep
+      - \footskip
+    }
+    \FixTextHeight
+    \global\textheight=\textheight
+  }
+}
+
+%
+% The |\maketitle| command is redefined to the correct formatting. At the end it
+% sets a hook that will reset the geometry when the first page is shipped out,
+% i.e.\ with effect from the second page. It is here rather than at the end of
+% the abstract in case the abstract itself spills over to the second page.
+%
+\RequirePackage{atbegshi}
+\renewcommand{\maketitle}{%
+  \null\nobreak\vspace*{-0.528\baselineskip}%
+  \begingroup
+    \centering
+    {\Large\thetitle\par}
+    \vspace{0.7\baselineskip}
+    \AuthorBlock\par
+    \vspace{1.7\baselineskip}
+  \endgroup
+  \AtBeginShipoutNext{\dccp at resetgeometry}%
+}
+
+%
+% The \textsf{abstract} environment is redefined in terms of an environment
+% \textsf{widequote}, which mimics the \textsf{quote} environment, but is a bit
+% wider. We also provide a hook, |\afterabstract|, so that if some annotation
+% needs to be appended to the title page after the abstract, we can do that.
+%
+\newenvironment{widequote}{%
+  \list{}{%
+    \setlength{\rightmargin}{2\parindent}%
+    \setlength{\leftmargin}{2\parindent}%
+  }%
+  \flushleftright\item[]%
+}{%
+    \endlist
+}
+\def\afterabstract{}
+\renewenvironment{abstract}{%
+  \vskip1em%
+  \begin{center}%
+    {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
+  \end{center}%
+  \widequote\footnotesize
+}{%
+  \endwidequote\afterabstract\newpage
+}
+
+%
+% We use the \textsf{titlesec} package to give headings the correct formatting.
+% The settings below try to space out headings so they occupy an integer number
+% of normal lines (an attempt at grid typesetting). They are a little
+% complicated because we want it to work even if the heading appears at the top
+% of the page.
+%
+\RequirePackage{titlesec}
+\titlespacing*{\section}{0pt}{0pt}{\baselineskip}
+\titlespacing*{\subsection}{0pt}{0pt}{0.6\baselineskip}
+\titlespacing{\subsubsection}{\parindent}{\baselineskip}{0pt}
+\titlespacing{\paragraph}{\parindent}{\baselineskip}{0pt}
+\titlespacing{\subparagraph}{\parindent}{\baselineskip}{0pt}
+%
+% An unfortunate side effect of spacing headings like this is that if a
+% |\subsection| immediately follows a |\section| it forms an unsightly gap. To
+% remedy this, we count how many paragraphs there have been since the last
+% |\section|. Note that as we do not normally number the sections, an automatic
+% reset of the |sectionpars| counter within the |section| counter won't work.
+%
+\newcounter{sectionpars}
+\let\dccp at old@ep\everypar
+\newtoks\everypar
+\dccp at old@ep{\the\everypar\stepcounter{sectionpars}}
+%
+% We need to manually reset |sectionpars| when |\section| is called. Also,
+% the normal font size is 12pt/14.5pt, while |\Large| is 17pt/22pt;
+% so the |\Large| line height = 1.5172 $\times$ normal line height. Nevertheless
+% it seems to work better if we let the heading eat 0.528|\baselineskip| into
+% the 2|\baselineskip| of padding above it.
+%
+\titleformat{\section}
+  [block]
+  {%
+    \vspace{2\baselineskip}%
+    \nobreak
+    \vspace*{-0.528\baselineskip}%
+    \setcounter{sectionpars}{0}%
+    \filcenter\normalfont\Large\bfseries
+  }
+  {\thesection}
+  {1em}
+  {}
+%
+% The others use a |\normalsize| font so that makes life easier. The format
+% for |\subsection| command includes conditional spacing: if the |sectionpars|
+% counter equals 2, this means the heading immediately follows a |\section|, so
+% less white space is needed.
+%
+\titleformat{\subsection}
+  {%
+    \ifnum\thesectionpars>2%
+      \vspace{2\baselineskip}%
+    \else
+      \vspace{\baselineskip}%
+    \fi\nobreak
+    \vspace*{-0.6\baselineskip}%
+    \normalfont\normalsize\bfseries
+  }
+  {\thesubsection}
+  {1em}
+  {}
+\titleformat{\subsubsection}
+  [block]
+  {\normalfont\normalsize\bfseries}
+  {\thesubsubsection}
+  {1em}
+  {}
+\titleformat{\paragraph}
+  [block]
+  {\normalfont\normalsize\bfseries\itshape}
+  {\thesubsubsection}
+  {1em}
+  {}
+\titleformat{\subparagraph}
+  [block]
+  {\normalfont\normalsize\itshape}
+  {\thesubsubsection}
+  {1em}
+  {}
+%
+% DCC papers do not typically number their sections.
+%
+\setcounter{secnumdepth}{0}
+
+%
+% To help with the display of tables we load the \textsf{array} and
+% \textsf{booktabs} packages. As we don't like lines between rows in the table
+% body, we stretch them out a bit so that white space does the job instead.
+%
+\RequirePackage{array,booktabs}
+\renewcommand{\arraystretch}{1.25}
+
+%
+% We use the \textsf{caption} package to give captions the right format.
+%
+\RequirePackage
+  [ format=hang
+  , labelsep=period
+  , font=small
+  , labelfont=bf
+  , figureposition=bottom
+  , tableposition=top
+  ]{caption}
+
+%
+% Footnotes should be set right up against the left margin. They should be
+% set hung and in the same half-ragged style as the main text. They should also,
+% for neatness, be at the bottom of the page regardless of how short it is. The
+% \textsf{footmisc} package helps here.
+%
+\RequirePackage[hang,bottom]{footmisc}
+\settowidth{\footnotemargin}{\footnotesize\textsuperscript{99}\space}
+\renewcommand{\footnotelayout}{\raggedyright}
+%
+% Also, if multiple footnotes are set at once, the markers should be separated
+% with superscript commas. The \textsf{footmisc} package should help here but
+% its solution is clobbered by \textsf{hyperref}. So after a footnote is set,
+% we check to see if the next token is also a footnote, and if so, slip a comma
+% in before it.\footnote{This solution was provided at
+% \url{http://tex.stackexchange.com/q/40072}} This tweak needs to be done late,
+% |\AtBeginDocument|. Note that the \textsf{newtx} superior figures are a bit
+% lower than normal superscript text.
+%
+\AtBeginDocument{
+  \let\dccp at footnote\footnote
+  \def\dccp at next@token{\relax}%
+  \def\dccp at supercomma{\textsuperscript{,}}%
+  \IfFileExists{newtxtext.sty}%
+    {\def\dccp at supercomma{\raisebox{-0.2ex}{\textsuperscript{,}}}}%
+    {}
+
+  \newcommand\dccp at check@for at footnote{%
+    \ifx\footnote\dccp at next@token
+      \dccp at supercomma
+    \fi
+  }
+
+  \renewcommand\footnote[1]{%
+    \dccp at footnote{#1}%
+    \futurelet\dccp at next@token\dccp at check@for at footnote
+  }
+}
+
+%
+% By default lists are quite loose. These settings help to tighten them.
+%
+\topsep = \z@
+\partopsep = \z@
+\appto{\enumerate}{\itemsep = 0.5ex plus 0.25ex minus 0.25ex}
+\appto{\itemize}{\itemsep = 0.5ex plus 0.25ex minus 0.25ex}
+
+%
+% A DCC paper should either be using \textsf{biblatex} or \textsf{apacite} for
+% references.
+%
+% If \textsf{biblatex} is used, we need to ensure that the reference list
+% heading is a normal section rather than a starred one so it appears in the
+% PDF bookmarks.
+%
+\AtBeginDocument{
+  \@ifpackageloaded{biblatex}{%
+    \defbibheading{bibliography}[\refname]{\section{#1}}%
+%
+% We also move the ‘doi:’ portion of a DOI inside the hyperlink.
+%
+    \DeclareFieldFormat{doi}{%
+      \ifhyperref{%
+        \href{http://dx.doi.org/#1}{\nolinkurl{doi:#1}}%
+      }{%
+        \nolinkurl{doi:#1}%
+      }%
+    }
+  }{%
+%
+% If \textsf{apacite} is used, there are a few other adaptations we need to
+% make.
+%
+    \@ifpackageloaded{apacite}{%
+%
+% With \textsf{hyperref} loaded, \textsf{apacite} makes the whole of a citation
+% a link to the reference list item. We patch |\@ifauthorsunequalc at de| so only
+% the year portion gets linked.
+%
+      \def\@ifauthorsunequalc at de#1{%
+        \if at F@cite
+          \@F at citefalse
+        \else
+          \if at Y@cite
+              {\@BAY}%
+          \fi
+          {\@BBC}%
+        \fi
+        \edef\@cite at undefined{?}%
+        \def\BBA{\@BBA}%
+        \if at A@cite
+          %%\hyper at natlinkstart{#1}% We remove this line...
+          {\csname b@\@citeb\APAC at extra@b at citeb\endcsname}%
+          %%\hyper at natlinkend% ...and this one.
+          \if at Y@cite
+              {\@BBAY}%
+          \fi
+        \fi
+        \if at Y@cite
+          \hyper at natlinkstart{#1}%
+          {\csname Y@\@citeb\APAC at extra@b at citeb\endcsname}%
+          \hyper at natlinkend
+        \fi
+        \let\BBA\relax
+      }
+%
+% The Spanish language support file defines a different version of
+% |\@ifauthorsunequalc at de|, which might override the patch we have just
+% introduced. So we employ the same test that \textsf{apacite} uses when
+% deciding whether to load that file; if successful, we patch the Spanish
+% version. Note that as \textsf{apacite} loads language support files
+% |\AtBeginDocument|, we have to do our thing after that, |\AfterEndPreamble|.
+%
+% (Note that as we set the language to British English earlier, this should
+% never be needed, but we try to be resilient to tinkering!)
+%
+      \AfterEndPreamble{%
+        \@ifundefined{iflanguage}{%
+          \relax
+        }{%
+          \edef\APAC at tmp{nohyphenation}%
+          \ifx\languagename\APAC at tmp
+          \else
+            \edef\APAC at tmp{spanish}%
+            \ifx\languagename\APAC at tmp
+              \def\@ifauthorsunequalc at de#1{%
+                \if at F@cite
+                  \@F at citefalse
+                \else
+                  \if at Y@cite
+                      {\@BAY}%
+                  \fi
+                  {\@BBC}%
+                \fi
+                \edef\@cite at undefined{?}%
+                \def\BBA{\@BBA}%
+                \@ifundefined{spanishe@\@citeb\APAC at extra@b at citeb}%
+                  {}% skip
+                  {{% Use `e' instead of `y' in Spanish
+                  \global\let\oldBBA\BBA
+                  \global\def\BBA{e\global\let\BBA\oldBBA}%
+                  }}%
+                \if at A@cite
+                  %%\hyper at natlinkstart{#1}% We remove this line...
+                  {\csname b@\@citeb\APAC at extra@b at citeb\endcsname}%
+                  %%\hyper at natlinkend% ...and this one.
+                  \if at Y@cite
+                      {\@BBAY}%
+                  \fi
+                \fi
+                \if at Y@cite
+                  \hyper at natlinkstart{#1}%
+                  {\csname Y@\@citeb\APAC at extra@b at citeb\endcsname}%
+                  \hyper at natlinkend
+                \fi
+                \let\BBA\relax
+              }%
+            \fi
+          \fi
+        }%
+%
+% Another thing \textsf{apacite} does |\AtBeginDocument| is set the URL style
+% to monospaced. So we reset it back to normal roman type |\AfterEndPreamble|.
+%
+        \urlstyle{APACrm}
+       }%
+%
+% We pre-empt \textsf{apacite}'s |\providecommand| of |\doi| with our own
+% definition that includes the `doi' URI scheme label in the link, remembering
+% to remove the one inserted by |\doiprefix|.
+%
+      \newcommand{\doi}[1]{\href{http://dx.doi.org/#1}{\nolinkurl{doi:#1}}}%
+      \renewcommand{\doiprefix}{\unskip}%
+    }{}%
+  }%
+%
+% Both \textsf{biblatex} and \textsf{apacite} use |\bibitemsep| for the space
+% between bibliography items. Just in case they haven't been loaded, though, we
+% protect our setting of that length with an |\ifx| test.
+%
+  \ifx\undefined\bibitemsep
+  \else
+    \setlength{\bibitemsep}{1em plus 1ex minus 1ex}%
+  \fi
+}
+%
+% As mentioned above, if \textsf{apacite} is used, we can use a package option
+% to ensure that the reference list heading appears in the PDF bookmarks.
+%
+\PassOptionsToPackage{numberedbib}{apacite}
+
+%
+% We, of course, use \textsf{hyperref} for enhancing the PDF with working links,
+% bookmarks, metadata, etc.
+%
+\usepackage
+  [ colorlinks=true
+  , linkcolor=black
+  , anchorcolor=black
+  , citecolor=links
+  , filecolor=black
+  , menucolor=black
+  , runcolor=black
+  , urlcolor=links
+  ]{hyperref}
+%
+% Links should be in roman type, not monospaced.
+%
+\urlstyle{rm}
+%
+% We provide an |\email| command for displaying the email address of the
+% corresponding author.
+%
+\newcommand*{\email}[1]{\href{mailto:#1}{#1}}
+%
+% Once the user has had a chance to provide the metadata, we can add it to the
+% PDF metadata.
+%
+\AtBeginDocument{%
+  \hypersetup
+    { pdftitle={\thetitle}
+    , pdfauthor={\dccp at author}
+    , pdfsubject={\dccp at subject}
+    }
+%
+% The APA has its own style for line breaks in URLs. The \textsf{apacite}
+% package provides the code for this, but in case \textsf{biblatex} is used
+% instead, we repeat the settings (from 2013/07/21 v6.03) here.
+%
+  \@ifundefined{Url at force@Tilde}{\def\Url at force@Tilde{\relax}}{}%
+  \def\url at apa@dot{\mathchar"2E }%
+  \def\url at apa@comma{\mathchar"2C }%
+  \def\url at apa@questionmark{\mathchar"3F }%
+  \def\url at apa@exclamation{\mathchar"21 }%
+  \def\url at apa@hyphen{\mathchar"2D }%
+  \def\url at apa@underscore{\_}%
+  \def\UrlBreaks{\do\@\do\\\do\|\do\;\do\>\do\]\do\)\do\'\do+\do\=\do\#}%
+  \def\UrlBigBreaks{\do\/\do\:\do at url@hyp}%
+  \def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% \)}
+  \def\UrlOrds{\do\*\do\~\do\'\do\"}%
+  \def\UrlSpecials{%
+    \do\.{\mathbin{}\url at apa@dot }%
+    \do\,{\mathbin{}\url at apa@comma }%
+    \do\-{\mathbin{}\url at apa@hyphen }%
+    \do\?{\mathbin{}\url at apa@questionmark }%
+    \do\!{\mathbin{}\url at apa@exclamation }%
+    \do\_{\mathbin{}\url at apa@underscore }%
+    \do\ {\Url at space}\do\%{\Url at percent}\do\^^M{\Url at space}%
+    \Url at force@Tilde}%
+  \def\Url at OTnonTT{\do\<{\langle}\do\>{\mathbin{\rangle}}\do
+    \_{\mathbin{}\_}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
+    \\{\mathbin{\backslash}}\UrlTildeSpecial}
+}
+
+%
+% We now embed the Creative Commons licence information in the PDF using an XMP
+% packet. To do this, we employ the same technique as Scott Pakin's
+% \textsf{hyperxmp} (2014/01/02 v2.4). In order to avoid avoid a bug whereby
+% Adobe Acrobat confuses the XMP author information and the regular author
+% information, though, we \emph{only} embed the licence information.
+%
+% We need to make sure that any characters to appear verbatim in the XMP packet
+% are treated as ordinary characters and not active ones. The likely active
+% characters are symbols and punctuation, so should be treated as `other'
+% (category 12).
+%
+\begingroup
+\catcode`\"=12
+\catcode`\&=12
+\catcode`\#=12
+\catcode`\<=12
+\catcode`\>=12
+\catcode`\_=12
+%
+% We construct the XMP packet as the document begins.
+%
+\AtBeginDocument{%
+%
+% For convenience we define |\sp| to be a level of indent, translating to three
+% spaces.
+%
+  \def\sp{\space\space\space}
+%
+% The text of the XMP packet is recorded in |\cc at xmp@packet|. We use |^^J| to
+% break lines.
+%
+  \long\gdef\cc at xmp@packet{%
+<?xpacket begin='' id=''?>^^J%
+<x:xmpmeta xmlns:x='adobe:ns:meta/'>^^J%
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>^^J%
+\sp<rdf:Description rdf:about=''^^J%
+\sp\sp xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'>^^J%
+\sp\sp<xapRights:Marked>True</xapRights:Marked>^^J%
+\sp</rdf:Description>^^J%
+\sp<rdf:Description rdf:about=''^^J%
+\sp\sp xmlns:dc='http://purl.org/dc/elements/1.1/'>^^J%
+\sp\sp<dc:rights>^^J%
+\sp\sp\sp<rdf:Alt>^^J%
+\sp\sp\sp\sp<rdf:li xml:lang='x-default'>This work is licensed under a Creative Commons Attribution 4.0 International Licence.</rdf:li>^^J%
+\sp\sp\sp</rdf:Alt>^^J%
+\sp\sp</dc:rights>^^J%
+\sp</rdf:Description>^^J%
+\sp<rdf:Description rdf:about=''^^J%
+\sp\sp xmlns:cc='http://creativecommons.org/ns#'>^^J%
+\sp\sp<cc:license rdf:resource='http://creativecommons.org/licenses/by/4.0/'/>^^J%
+\sp</rdf:Description>^^J%
+</rdf:RDF>^^J%
+</x:xmpmeta>^^J%
+<?xpacket end='r'?>^^J%
+  }%
+}
+\endgroup
+%
+% Different workflows require the XMP packet to be embedded in different ways.
+%
+% Pdf\TeX\ can inject objects into PDFs natively.
+%
+\newcommand*{\ccxmp at embed@packet at pdftex}{%
+  \bgroup
+    \pdfcompresslevel=0
+    \immediate\pdfobj stream attr {%
+      /Type /Metadata
+      /Subtype /XML
+    }{\cc at xmp@packet}%
+    \pdfcatalog {/Metadata \the\pdflastobj\space 0 R}%
+  \egroup
+}
+%
+% The |\pdfmark| command defined by \textsf{hyperref} is respected by tools such
+% as Dvipdf, Dvips, Dvipsone, etc.
+%
+\newcommand*{\ccxmp at embed@packet at pdfmark}{%
+  \pdfmark{%
+    pdfmark=/NamespacePush
+  }%
+  \pdfmark{%
+    pdfmark=/OBJ,
+    Raw={/_objdef \string{ccxmp at packet\string} /type /stream}%
+  }%
+  \pdfmark{%
+    pdfmark=/PUT,
+    Raw={\string{ccxmp at packet\string}
+      2 dict begin
+        /Type /Metadata def
+        /Subtype /XML def
+        currentdict
+      end
+    }%
+  }%
+  \pdfmark{%
+    pdfmark=/PUT,
+    Raw={\string{ccxmp at packet\string} (\cc at xmp@packet)}%
+  }%
+  \pdfmark{%
+    pdfmark=/Metadata,
+    Raw={\string{Catalog\string} \string{ccxmp at packet\string}}%
+  }%
+  \pdfmark{%
+    pdfmark=/NamespacePop
+  }%
+}
+%
+% Dvipdfm has its own |\special| command for inserting PDF objects, but
+% it is a bit basic and requires advance knowledge of how long (in characters)
+% the object is.
+%
+% The |\ccxmp at count@spaces| macro counts the number of spaces in its parameter
+% through a process of iteration, adding this figure to |\@tempcnta|.
+%
+\def\ccxmp at count@spaces#1 {%
+  \def\ccxmp at one@token{#1}%
+  \ifx\ccxmp at one@token\@empty
+    \advance\@tempcnta by -1
+  \else
+    \advance\@tempcnta by 1
+    \expandafter\ccxmp at count@spaces
+  \fi
+}
+%
+% The |\ccxmp at count@non at spaces| command counts the number of non-spaces in its
+% argument through a process of iteration, adding this figure to |\@tempcnta|.
+%
+\newcommand*{\ccxmp at count@non at spaces}[1]{%
+  \def\ccxmp at one@token{#1}%
+  \ifx\ccxmp at one@token\@empty
+  \else
+    \advance\@tempcnta by 1
+    \expandafter\ccxmp at count@non at spaces
+  \fi
+}
+%
+% The |\ccxmp at string@len| command sets |\@tempcnta| to the number of characters
+% (spaces + non-spaces) in its argument.
+%
+\newcommand*{\ccxmp at string@len}[1]{%
+  \@tempcnta=0
+  \expandafter\ccxmp at count@spaces#1 {} %
+  \expandafter\ccxmp at count@non at spaces#1{}%
+}
+%
+% So now, finally, is the command for embedding the packet using Dvipdfm.
+%
+\newcommand*{\ccxmp at embed@packet at dvipdfm}{%
+  \ccxmp at string@len{\cc at xmp@packet}%
+  \special{pdf: object @ccxmp at packet
+    <<
+      /Type /Metadata
+      /Subtype /XML
+      /Length \the\@tempcnta
+    >>
+    stream^^J\cc at xmp@packet endstream%
+  }%
+  \special{pdf: docview
+    <<
+      /Metadata @ccxmp at packet
+    >>
+  }%
+}
+%
+% \XeTeX\ creates PDFs with Xdvipdfmx, which supports a simpler |\special| for
+% inserting objects that does not require us to count characters.
+%
+\newcommand*{\ccxmp at embed@packet at xetex}{%
+  \special{pdf:stream @ccxmp at packet (\cc at xmp@packet)
+    <<
+      /Type /Metadata
+      /Subtype /XML
+    >>
+  }%
+  \special{pdf:put @catalog
+    <<
+      /Metadata @ccxmp at packet
+    >>
+  }%
+}
+%
+% We rely on \textsf{hyperref} to tell us how the PDF will be generated (after
+% all, it may not be done in the current pass) and use the respective technique
+% to embed the XMP packet.
+%
+\AtBeginDocument{%
+  \begingroup
+  \def\ccxmp at driver{hpdftex}%
+  \ifx\ccxmp at driver\Hy at driver
+    \ccxmp at embed@packet at pdftex
+  \else
+    \def\ccxmp at driver{hdvipdfm}%
+    \ifx\ccxmp at driver\Hy at driver
+      \ccxmp at embed@packet at dvipdfm
+    \else
+      \def\ccxmp at driver{hxetex}%
+      \ifx\ccxmp at driver\Hy at driver
+        \ccxmp at embed@packet at xetex
+      \else
+        \@ifundefined{pdfmark}{}{%
+          \ccxmp at embed@packet at pdfmark
+        }%
+      \fi
+    \fi
+  \fi
+  \endgroup
+}
+%% 
+%% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
+%% <info at dcc.ac.uk>
+%%
+%% End of file `dccpaper-base.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.tex	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/tex/latex/dccpaper/dccpaper-base.tex	2016-08-05 22:32:58 UTC (rev 41804)
@@ -1,1202 +0,0 @@
-%%
-%% This is file `dccpaper-base.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% dccpaper.dtx  (with options: `base')
-%% 
-%% ----------------------------------------------------------------
-%% The dccpaper bundle: Classes for submissions to IJDC and IDCC
-%% Author:  Alex Ball
-%% E-mail:  a.ball at ukoln.ac.uk
-%% License: Released under the LaTeX Project Public License v1.3c or later
-%% See:     http://www.latex-project.org/lppl.txt
-%% ----------------------------------------------------------------
-%% 
-\def\Version{2015/06/22 v1.4.1}
-\ProvidesFile{dccpaper-base.tex}
-    [\Version\space Common class code for IJDC and IDCC papers.]
-%
-% The \textsf{dccpaper} classes are deliberately very similar. This file
-% contains the common code. All the classes are based on the \textsf{article}
-% class, and use A4 paper.
-%
-\LoadClass[a4paper,12pt,twoside]{article}
-
-%
-% We use British English orthography.
-%
-\RequirePackage[british]{babel}
-%
-% The macro patching commands from \textsf{etoolbox} come in useful for handling
-% author and date information, and also for compatibility with \textsf{apacite}.
-%
-\RequirePackage{etoolbox}
-%
-% The \textsf{dccpaper} classes use Times as the main text font. We prefer
-% \textsf{newtx} as it provides support for mathematics, but the standard
-% \textsf{times} package will do. In case they are needed, we also provide
-% Helvetica for the sans serif font and Computer Modern Teletype for the
-% monospaced.
-%
-\RequirePackage[T1]{fontenc}
-\IfFileExists{newtxtext.sty}%
-  {\RequirePackage{newtxtext,newtxmath}}%
-  {\RequirePackage{times}}
-\RequirePackage[scaled=0.92]{helvet}
-\renewcommand{\ttdefault}{cmtt}
-%
-% We will need support for included graphics and colour. The structural elements
-% are a medium turquoise, while the links are slightly darker to make them
-% easier to read on screen.
-%
-\RequirePackage{graphicx}
-\IfFileExists{xcolor.sty}%
-  {\RequirePackage{xcolor}}%
-  {\RequirePackage{color}}
-\definecolor[named]{struct}{rgb}{0,0.5,0.5}
-\definecolor[named]{links}{rgb}{0,0.4,0.4}
-%
-% We will calculate some lengths later.
-%
-\RequirePackage{calc}
-
-%
-% Ragged right text is easier to read on screen, but fully justified text looks
-% better. The |\raggedyright| layout from Peter Wilson's \textsf{memoir} class
-% (2005/09/25 v1.618) is an excellent compromise. The code below replicates it.
-%
-% First we save the original definitions of |\\| and |\parindent| as
-% |\OrigLineBreak| and |\RaggedParindent| respectively.
-%
-\let\OrigLineBreak\\
-\newdimen\RaggedParindent
-\setlength{\RaggedParindent}{\parindent}
-
-%
-% The |\raggedyright| layout more or less lays text out as with full
-% justification, but then lets the shorter lines relax a bit from the right
-% margin. It is the default for DCC papers.
-%
-\newcommand{\raggedyright}[1][2em]{%
-  \let\\\@centercr\@rightskip \z@ \@plus #1\relax
-  \rightskip\@rightskip
-  \leftskip\z at skip
-  \parindent\RaggedParindent}
-\AtBeginDocument{\raggedyright}
-
-%
-% The |\flushleftright| layout restores full justification, in case it is
-% needed.
-%
-\newcommand*{\flushleftright}{%
-  \let\\\OrigLineBreak
-  \leftskip\z at skip
-  \rightskip\leftskip
-  \parfillskip\@flushglue
-  \everypar{}}
-
-%
-% Pdf\TeX\ 1.40.15 introduced the facility to include dummy interword spaces
-% to improve text extraction and reflow. We test for this facility and use it
-% if available.
-%
-\RequirePackage{ifpdf}
-\ifpdf
-  \ifdef{\pdfinterwordspaceon}{\pdfinterwordspaceon}{}
-\fi
-
-%
-% The classes have some special metadata requirements. We start with the author
-% information.
-%
-% The macro |\thecorrespondence| is used in the title page footer for the name,
-% postal address and email address of the corresponding author.
-%
-\def\thecorrespondence{}
-\newcommand*{\correspondence}[1]{\def\thecorrespondence{#1}}
-%
-% The handling of authors here is inspired by Patrick W Daly's \textsf{authblk},
-% (2001/02/27 1.3), and defines the familiar user commands. Authors are
-% presented in blocks, one affiliation but perhaps several authors per block.
-%
-% We make the presentation of the author information configurable (just in case)
-% with some hooks and lengths:
-% \begin{itemize}
-% \item |\Authfont| is the font used for author names;
-% \item |\Affilfont| is the font used for affiliations;
-% \item |\affilsep| is the line spacing between author names and affiliations;
-% \item |\authblksep| is the line spacing between author name/affiliation
-%       blocks.
-% \end{itemize}
-%
-\newcommand*{\Authfont}{\normalfont}
-\newcommand*{\Affilfont}{\normalfont\small}
-\newlength{\affilsep}\setlength{\affilsep}{0pt}
-\newlength{\authblksep}\setlength{\authblksep}{1.5\baselineskip}
-%
-% The |\AuthorBlock| command will be used to collect all the author information.
-%
-\newcommand{\AuthorBlock}{}
-%
-% The |\MainAuthor| command collects abbreviated author information for use in
-% the headers.
-%
-\newcommand{\MainAuthor}{}
-%
-% The |\dccp at author| command, meanwhile, collects a full list of authors for the
-% PDF metatdata.
-%
-\newcommand{\dccp at author}{}
-%
-% We define counters for
-% \begin{itemize}
-% \item the total number of authors defined;
-% \item the number of authors in the current block;
-% \item the number of blocks defined.
-% \end{itemize}
-%
-\newcounter{authors}
-\newcounter{authorsinblock}
-\newcounter{block}
-%
-% The |block| counter will increase once in the preamble, and again when the
-% information is typeset, so we need to reset it at the beginning of the
-% document.
-%
-\AtBeginDocument{\setcounter{block}{0}}
-%
-% The new definition of the author command starts here.
-%
-\renewcommand{\author}[1]{%
-%
-% If this is the first or second |\author| command, we add the name to our
-% abbreviated list of authors. Otherwise, we replace the name of the second
-% and subsequent authors with `et al.' in that list.
-%
-% At the same time, we use a simpler technique to populate |\dccp at author|.
-%
-  \ifnum\theauthors=0
-    \def\dccp at author{#1}%
-    \def\MainAuthor{#1}%
-  \else
-    \appto\dccp at author{, #1}%
-    \ifnum\theauthors=1%
-      \def\OtherMainAuthors{ and #1}%
-      \appto\MainAuthor{\OtherMainAuthors}%
-    \else
-      \ifnum\theauthors=2%
-        \def\OtherMainAuthors{ et al.}%
-      \fi
-    \fi
-  \fi
-  \stepcounter{authors}%
-%
-% Each block has its author names collected in a macro like |\blocki at auth|,
-% and its affiliation collected in a macro like |\blocki at affil| (the `i' is a
-% serial number).
-%
-% If this is the first author in a block, we need to create the block and add it
-% to |\AuthorBlock|; second and subsequent blocks are preceded by a |\quad| of
-% space.
-%
-  \ifnum\theauthorsinblock=0%
-    \stepcounter{block}%
-    \expandafter\def\csname block\roman{block}@auth\endcsname{\Authfont#1}%
-    \ifnum\theblock>1\appto\AuthorBlock{\quad}\fi
-    \appto\AuthorBlock{%
-      \stepcounter{block}%
-      \begin{minipage}[t]{0.45\textwidth}\centering
-      \csname block\roman{block}@auth\endcsname
-      \ifx\undefined\csname block\roman{block}@affil\endcsname
-      \else
-        \\[\affilsep]\csname block\roman{block}@affil\endcsname
-      \fi
-      \end{minipage}%
-      \rule{0pt}{2\baselineskip}%
-      }
-  \else
-%
-% Otherwise we just add the name to the right |\blocki at auth|-style macro.
-%
-    \csappto{block\roman{block}@auth}{, #1}%
-  \fi
-  \stepcounter{authorsinblock}%
-}
-%
-% The |\affil| command adds an affiliation to the current block and closes it by
-% resetting the |authorsinblock| counter.
-%
-\newcommand{\affil}[1]{%
-  \expandafter\def\csname block\roman{block}@affil\endcsname{\Affilfont#1}%
-  \setcounter{authorsinblock}{0}%
-}
-
-%
-% The |\HeadTitle| collects the abbreviated title for use in the headers.
-%
-\newcommand*{\HeadTitle}{}
-%
-% We wrap the normal |\title| command with code to populate |\HeadTitle| with
-% the optional argument if provided, or the mandatory one otherwise. We also
-% provide a persistent |\thetitle| macro, stripped of any |\thanks|.
-%
-\let\ProperTitle=\title
-\renewcommand{\title}[2][\empty]{
-  \ifx\empty #1%
-    \renewcommand*{\HeadTitle}{#2}%
-  \else
-    \renewcommand*{\HeadTitle}{#1}%
-  \fi%
-  \begingroup\let\footnote\@gobble
-  \ProperTitle{#2}%
-  \begingroup
-    \renewcommand{\thanks}[1]{}
-    \protected at xdef\thetitle{#2}
-  \endgroup\endgroup
-}
-%
-% To prevent \LaTeX\ throwing an error if no title is supplied, we supply a
-% fallback value and issue a warning instead.
-%
-\def\thetitle{%
-  Please supply a title
-  \ClassWarning{dccpaper}{%
-    Please supply a title in the preamble with \noexpand\title{}%
-  }
-}
-
-%
-% We make |\thedate| persistent, borrowing the technique used in Peter Wilson's
-% \textsf{memoir} class (2005/09/25 v1.618).
-%
-\pretocmd{\date}{\begingroup\let\footnote\@gobble}{}{}%
-\apptocmd{\date}{%
-  \begingroup
-    \renewcommand{\thanks}[1]{}
-    \protected at xdef\thedate{#1}
-  \endgroup\endgroup%
-}{}{}
-%
-% We ensure |\thedate| is defined using a dummy date.
-%
-\date{20xx}
-
-%
-% IJDC articles have extra bibliographic information:
-% \begin{itemize}
-% \item |\volume| sets the volume number, |\thevolume|;
-% \item |\issue| sets the issue number, |\theissue|;
-% \item |\subno| sets the submission number, |\thesubno|.
-% \end{itemize}
-%
-% These numbers are used to build the DOI, |\thedoi|.
-%
-\newcommand*{\thevolume}{0}
-\newcommand*{\volume}[1]{\renewcommand*{\thevolume}{#1}}
-\newcommand*{\theissue}{0}
-\newcommand*{\issue}[1]{\renewcommand*{\theissue}{#1}}
-\newcommand*{\thesubno}{0}
-\newcommand*{\subno}[1]{\renewcommand*{\thesubno}{#1}}
-\newcommand*{\thedoi}{10.2218/ijdc.v\thevolume i\theissue .\thesubno}
-%
-% They also display the page range. The following code was borrowed from Peter
-% Wilson's \textsf{memoir} class (2005/09/25 v1.618). It defines a counter
-% |lastpage| which, on the second run, will contain the number of the last page.
-%
-\newcounter{lastpage}
-\setcounter{lastpage}{0}
-\newcommand{\dol at stpage}{%
-  \if at filesw
-    \addtocounter{page}{-1}%
-    \immediate\write\@auxout%
-      {\string\setcounter{lastpage}{\the\c at page}}%
-    \stepcounter{page}%
-  \fi
-}
-\AtBeginDocument{\AtEndDocument{\clearpage\dol at stpage}}
-
-%
-% DCC papers display some important dates. We collect these in |\dccp at dates|,
-% initially setting the value to something sensible for papers in draft.
-%
-\def\dccp at dates{\emph{Draft from} \today}
-%
-% Several types of date can be added:
-% \begin{itemize}
-% \item |\submitted| for when the authors submitted the paper (intended for
-%       IDCC papers).
-% \item |\received| for when the paper was received by the editorial board
-%       (intended for IJDC papers).
-% \item |\revised| for when the most recent version was received by the
-%       editorial board.
-% \item |\accepted| for when the paper was accepted by the editorial board.
-% \end{itemize}
-%
-\newcommand*{\submitted}[1]{%
-  \def\dccp at dates{\emph{Submitted} #1}}
-\newcommand*{\received}[1]{%
-  \def\dccp at dates{\emph{Received} #1}}
-\newcommand*{\revised}[1]{%
-  \appto\dccp at dates{%
-    \space\space\space\textbar\space\space\space
-    \emph{Revision received} #1}%
-  }
-\newcommand*{\accepted}[1]{%
-  \appto\dccp at dates{%
-    \space\space\space\textbar\space\space\space
-    \emph{Accepted} #1}%
-  }
-%
-% IJDC papers need to say if they had a previous life as a conference paper.
-% This statement goes in |\dccp at conf|, which is initially empty. The user
-% command for setting this text is |\conference|.
-%
-\let\dccp at conf=\empty
-\newcommand*{\conference}[1]{%
-  \renewcommand*{\dccp at conf}{An earlier version of this paper was presented at #1.}%
-}
-
-%
-% The macro |\FixTextHeight| will be useful when switching from the first page
-% geometry to the regular geometry for the rest of the paper. It is based on
-% code from  Hideo Umeki's \textsf{geometry} package (2002/07/08 v3.2).
-%
-\newcommand{\FixTextHeight}{%
-  \setlength\@tempdima{\textheight}%
-  \addtolength\@tempdima{-\topskip}%
-  \@tempcnta\@tempdima
-  \@tempcntb\baselineskip
-  \divide\@tempcnta\@tempcntb
-  \setlength\@tempdimb{\baselineskip}%
-  \multiply\@tempdimb\@tempcnta
-  \advance\@tempdima-\@tempdimb
-  \global\advance\footskip\@tempdima
-  \multiply\@tempdima\tw@
-  \ifdim\@tempdima>\baselineskip
-    \addtolength\@tempdimb{\baselineskip}%
-    \global\advance\footskip-\baselineskip
-  \fi
-  \addtolength\@tempdimb{\topskip}%
-  \global\textheight\@tempdimb
-}
-
-%
-% The width of the textblock (on all pages) is 150mm, which on A4 paper implies
-% margins of 30mm each. (Making both horizontal margins the same in a two-sided
-% context makes the paper more pleasant to read on screen).
-%
-\setlength{\textwidth}{150mm}
-\setlength{\oddsidemargin}{30mm - \hoffset - 1in}
-\setlength{\evensidemargin}{30mm - \hoffset - 1in}
-%
-% It is rare to have marginal notes, but in case we ever do, we centre them in
-% the margin.
-%
-\setlength{\marginparwidth}{30mm - 2\marginparsep}
-%
-% We also want a distance of 15mm from the top of the page to the top of the
-% header, and two blank lines between the bottom of the header and the top of
-% the textblock.
-%
-\setlength{\topmargin}{15mm - \voffset - 1in}
-\setlength{\headsep}{2\baselineskip}
-
-%
-% IJDC editorials have slightly different headers and footers. This requires
-% testing for |\dccp at editorial| if it exists. In case it doesn't, we provide it.
-%
-\providecommand{\dccp at editorial}{Editorial}
-%
-% The height of the footer can vary a lot. To keep it a fixed distance from the
-% bottom of the page rather than the top, we need to vary the |\textheight|
-% accordingly. This means we need to measure the height of the footer. (The
-% header is more predictable but we may as well measure it while we are at it).
-%
-% Here we define the header and footer of the title page (i.e.\ the
-% \textsf{title} page style), making sure we save them to auxiliary macros
-% |\TitleHead| and |\TitleFoot| so we can measure them.
-%
-\def\ps at title{%
-  \def\@oddhead{%
-    \begin{minipage}{\textwidth}%
-      \centering
-      \LARGE\bfseries\color{struct}%
-      \ifx\dccp at type\dccp at editorial
-        \dccp at publ@long
-      \else
-        \dccp at publ@short\space\space\textbar\space\space\emph{\dccp at type}%
-      \fi
-      \par
-    \end{minipage}%
-  }%
-  \let\@evenhead=\@oddhead
-  \let\TitleHead=\@oddhead
-  \def\@oddfoot{%
-    \begin{minipage}[b]{\textwidth}%
-      \fontsize{9pt}{11pt}\selectfont
-      \ifx\dccp at type\dccp at editorial
-      \else
-        {\centering\dccp at dates\par}
-        \bigskip
-        Correspondence should be addressed to \thecorrespondence\par
-        \bigskip
-      \fi
-      \ifx\empty\dccp at conf
-      \else
-        \dccp at conf\par
-        \bigskip
-      \fi
-      \dccp at publ@msg\par
-      \bigskip
-      \begin{minipage}[b]{\linewidth - 25mm}
-      Copyright rests with the authors. This work is released under a Creative
-      Commons Attribution 4.0 International Licence. For details please see
-      \url{http://creativecommons.org/licenses/by/4.0/}%
-      \end{minipage}\hfill
-      \begin{minipage}[b]{19mm}
-        \href{http://creativecommons.org/licenses/by/4.0/}%
-          {\includegraphics[width=\hsize]{dccpaper-by}}%
-      \end{minipage}
-      \par
-      \bigskip
-      \makebox[0pt][l]{\parbox{0.4\hsize}{%
-        \ifx\undefined\dccp at titlefoot@bib\else\dccp at titlefoot@bib\fi
-      }}\hfill
-      \makebox[0pt][c]{\normalsize\thepage}\hfill
-      \makebox[0pt][r]{\parbox{0.4\hsize}{%
-        \raggedleft\ifx\undefined\dccp at titlefoot@doi\else\dccp at titlefoot@doi\fi
-      }}%
-    \end{minipage}%
-  }%
-  \let\@evenfoot=\@oddfoot
-  \let\TitleFoot=\@oddfoot
-}
-%
-% We set the normal page style to \textsf{title} here so that |\TitleHead| and
-% |\TitleFoot| are defined, but we will override it with the \textsf{dccpaper}
-% page style later.
-%
-\pagestyle{title}
-%
-% The first page should use the \textsf{title} page style, however.
-%
-\AtBeginDocument{\thispagestyle{title}}
-
-%
-% Here are the normal headers and footers (i.e.\ the \textsf{dccpaper} page
-% style). We save them to |\NormalHead| and |\NormalFoot|, again so we can
-% measure them.
-%
-\def\ps at dccpaper{%
-  \def\@oddhead{%
-    \begin{minipage}{\textwidth}\frenchspacing
-      {%
-        \fontsize{9pt}{11pt}\selectfont
-        \ifx\undefined\dccp at normhead@doi\else\dccp at normhead@doi\fi
-      }\hfill
-      {\MainAuthor}\space\space\space
-      \textcolor{struct}{\textbar}\space\space\space
-      \thepage\par
-      \vskip6pt\color{struct}{\hrule height 1bp}\par
-    \end{minipage}
-  }%
-  \def\@evenhead{%
-    \begin{minipage}{\textwidth}
-      \thepage\space\space\space
-      \textcolor{struct}{\textbar}\space\space\space
-      {\HeadTitle}\hfill
-      {%
-        \fontsize{9pt}{11pt}\selectfont
-        \ifx\undefined\dccp at normhead@doi\else\dccp at normhead@doi\fi
-      }\par
-      \vskip6pt\color{struct}{\hrule height 1bp}\par
-    \end{minipage}
-  }%
-  \let\NormalHead=\@oddhead
-  \def\@oddfoot{\begin{minipage}[b]{\textwidth}
-    \centering\bfseries\normalsize\color{struct}
-    \ifx\dccp at type\dccp at editorial
-      \dccp at publ@long
-    \else
-      \dccp at publ@short\space\space\textbar\space\space\emph{\dccp at type}%
-    \fi
-    \par
-  \end{minipage}}%
-  \let\@evenfoot=\@oddfoot
-  \let\NormalFoot=\@oddfoot
-}
-\pagestyle{dccpaper}
-
-%
-% We need to wait until the author has supplied the necessary information before
-% we can do our measuring and set the remainder of the geometry, so we do it at
-% the end of the preamble. First we put our saved macros into boxes we can
-% measure (i.e.\ |\dccp at firstpagehead|, |\dccp at firstpagefoot|,
-% |\dccp at restpagehead|, |\dccp at restpagefoot|).
-%
-\AtEndPreamble{
-  \newsavebox{\dccp at firstpagehead}
-  \sbox\dccp at firstpagehead{\normalfont\TitleHead}
-  \newsavebox{\dccp at firstpagefoot}
-  \sbox\dccp at firstpagefoot{\normalfont
-    \def\email#1{#1}\def\url#1{#1}\def\href#1#2{#2}\TitleFoot}
-  \newsavebox{\dccp at restpagehead}
-  \sbox\dccp at restpagehead{\normalfont\NormalHead}
-  \newsavebox{\dccp at restpagefoot}
-  \sbox\dccp at restpagefoot{\normalfont\NormalFoot}
-%
-% We can now set the geometry of the title page\dots
-%
-  \setlength{\headheight}{\ht\dccp at firstpagehead + \dp\dccp at firstpagehead}
-  \setlength{\footskip}{%
-    2\baselineskip + \ht\dccp at firstpagefoot + \dp\dccp at firstpagefoot
-  }
-  \setlength{\textheight}{%
-    \paperheight
-    - 30mm % 15mm top and bottom
-    - \headheight
-    - \headsep
-    - \footskip
-  }
-%
-% {\dots}and provide a macro that will reset the geometry for the remaining
-% pages.
-%
-  \def\dccp at resetgeometry{%
-    \setlength{\headheight}{\ht\dccp at restpagehead + \dp\dccp at restpagehead}
-    \global\headheight=\headheight
-    \setlength{\footskip}{%
-      2\baselineskip + \ht\dccp at restpagefoot
-    }
-    \global\footskip=\footskip
-    \setlength{\textheight}{%
-      \paperheight
-      - 30mm % 15mm top and bottom
-      - \headheight
-      - \headsep
-      - \footskip
-    }
-    \FixTextHeight
-    \global\textheight=\textheight
-  }
-}
-
-%
-% The |\maketitle| command is redefined to the correct formatting. At the end it
-% sets a hook that will reset the geometry when the first page is shipped out,
-% i.e.\ with effect from the second page. It is here rather than at the end of
-% the abstract in case the abstract itself spills over to the second page.
-%
-\RequirePackage{atbegshi}
-\renewcommand{\maketitle}{%
-  \null\nobreak\vspace*{-0.528\baselineskip}%
-  \begingroup
-    \centering
-    {\Large\thetitle\par}
-    \vspace{0.7\baselineskip}
-    \AuthorBlock\par
-    \vspace{1.7\baselineskip}
-  \endgroup
-  \AtBeginShipoutNext{\dccp at resetgeometry}%
-}
-
-%
-% The \textsf{abstract} environment is redefined in terms of an environment
-% \textsf{widequote}, which mimics the \textsf{quote} environment, but is a bit
-% wider. We also provide a hook, |\afterabstract|, so that if some annotation
-% needs to be appended to the title page after the abstract, we can do that.
-%
-\newenvironment{widequote}{%
-  \list{}{%
-    \setlength{\rightmargin}{2\parindent}%
-    \setlength{\leftmargin}{2\parindent}%
-  }%
-  \flushleftright\item[]%
-}{%
-    \endlist
-}
-\def\afterabstract{}
-\renewenvironment{abstract}{%
-  \vskip1em%
-  \begin{center}%
-    {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
-  \end{center}%
-  \widequote\footnotesize
-}{%
-  \endwidequote\afterabstract\newpage
-}
-
-%
-% We use the \textsf{titlesec} package to give headings the correct formatting.
-% The settings below try to space out headings so they occupy an integer number
-% of normal lines (an attempt at grid typesetting). They are a little
-% complicated because we want it to work even if the heading appears at the top
-% of the page.
-%
-\RequirePackage{titlesec}
-\titlespacing*{\section}{0pt}{0pt}{\baselineskip}
-\titlespacing*{\subsection}{0pt}{0pt}{0.6\baselineskip}
-\titlespacing{\subsubsection}{\parindent}{\baselineskip}{0pt}
-\titlespacing{\paragraph}{\parindent}{\baselineskip}{0pt}
-\titlespacing{\subparagraph}{\parindent}{\baselineskip}{0pt}
-%
-% An unfortunate side effect of spacing headings like this is that if a
-% |\subsection| immediately follows a |\section| it forms an unsightly gap. To
-% remedy this, we count how many paragraphs there have been since the last
-% |\section|. Note that as we do not normally number the sections, an automatic
-% reset of the |sectionpars| counter within the |section| counter won't work.
-%
-\newcounter{sectionpars}
-\let\dccp at old@ep\everypar
-\newtoks\everypar
-\dccp at old@ep{\the\everypar\stepcounter{sectionpars}}
-%
-% We need to manually reset |sectionpars| when |\section| is called. Also,
-% the normal font size is 12pt/14.5pt, while |\Large| is 17pt/22pt;
-% so the |\Large| line height = 1.5172 $\times$ normal line height. Nevertheless
-% it seems to work better if we let the heading eat 0.528|\baselineskip| into
-% the 2|\baselineskip| of padding above it.
-%
-\titleformat{\section}
-  [block]
-  {%
-    \vspace{2\baselineskip}%
-    \nobreak
-    \vspace*{-0.528\baselineskip}%
-    \setcounter{sectionpars}{0}%
-    \filcenter\normalfont\Large\bfseries
-  }
-  {\thesection}
-  {1em}
-  {}
-%
-% The others use a |\normalsize| font so that makes life easier. The format
-% for |\subsection| command includes conditional spacing: if the |sectionpars|
-% counter equals 2, this means the heading immediately follows a |\section|, so
-% less white space is needed.
-%
-\titleformat{\subsection}
-  {%
-    \ifnum\thesectionpars>2%
-      \vspace{2\baselineskip}%
-    \else
-      \vspace{\baselineskip}%
-    \fi\nobreak
-    \vspace*{-0.6\baselineskip}%
-    \normalfont\normalsize\bfseries
-  }
-  {\thesubsection}
-  {1em}
-  {}
-\titleformat{\subsubsection}
-  [block]
-  {\normalfont\normalsize\bfseries}
-  {\thesubsubsection}
-  {1em}
-  {}
-\titleformat{\paragraph}
-  [block]
-  {\normalfont\normalsize\bfseries\itshape}
-  {\thesubsubsection}
-  {1em}
-  {}
-\titleformat{\subparagraph}
-  [block]
-  {\normalfont\normalsize\itshape}
-  {\thesubsubsection}
-  {1em}
-  {}
-%
-% DCC papers do not typically number their sections.
-%
-\setcounter{secnumdepth}{0}
-
-%
-% To help with the display of tables we load the \textsf{array} and
-% \textsf{booktabs} packages. As we don't like lines between rows in the table
-% body, we stretch them out a bit so that white space does the job instead.
-%
-\RequirePackage{array,booktabs}
-\renewcommand{\arraystretch}{1.25}
-
-%
-% We use the \textsf{caption} package to give captions the right format.
-%
-\RequirePackage
-  [ format=hang
-  , labelsep=period
-  , font=small
-  , labelfont=bf
-  , figureposition=bottom
-  , tableposition=top
-  ]{caption}
-
-%
-% Footnotes should be set right up against the left margin. They should be
-% set hung and in the same half-ragged style as the main text. They should also,
-% for neatness, be at the bottom of the page regardless of how short it is. The
-% \textsf{footmisc} package helps here.
-%
-\RequirePackage[hang,bottom]{footmisc}
-\settowidth{\footnotemargin}{\footnotesize\textsuperscript{99}\space}
-\renewcommand{\footnotelayout}{\raggedyright}
-%
-% Also, if multiple footnotes are set at once, the markers should be separated
-% with superscript commas. The \textsf{footmisc} package should help here but
-% its solution is clobbered by \textsf{hyperref}. So after a footnote is set,
-% we check to see if the next token is also a footnote, and if so, slip a comma
-% in before it.\footnote{This solution was provided at
-% \url{http://tex.stackexchange.com/q/40072}} This tweak needs to be done late,
-% |\AtBeginDocument|. Note that the \textsf{newtx} superior figures are a bit
-% lower than normal superscript text.
-%
-\AtBeginDocument{
-  \let\dccp at footnote\footnote
-  \def\dccp at next@token{\relax}%
-  \def\dccp at supercomma{\textsuperscript{,}}%
-  \IfFileExists{newtxtext.sty}%
-    {\def\dccp at supercomma{\raisebox{-0.2ex}{\textsuperscript{,}}}}%
-    {}
-
-  \newcommand\dccp at check@for at footnote{%
-    \ifx\footnote\dccp at next@token
-      \dccp at supercomma
-    \fi
-  }
-
-  \renewcommand\footnote[1]{%
-    \dccp at footnote{#1}%
-    \futurelet\dccp at next@token\dccp at check@for at footnote
-  }
-}
-
-%
-% By default lists are quite loose. These settings help to tighten them.
-%
-\topsep = \z@
-\partopsep = \z@
-\appto{\enumerate}{\itemsep = 0.5ex plus 0.25ex minus 0.25ex}
-\appto{\itemize}{\itemsep = 0.5ex plus 0.25ex minus 0.25ex}
-
-%
-% A DCC paper should either be using \textsf{biblatex} or \textsf{apacite} for
-% references.
-%
-% If \textsf{biblatex} is used, we need to ensure that the reference list
-% heading is a normal section rather than a starred one so it appears in the
-% PDF bookmarks.
-%
-\AtBeginDocument{
-  \@ifpackageloaded{biblatex}{%
-    \defbibheading{bibliography}[\refname]{\section{#1}}%
-%
-% We also move the ‘doi:’ portion of a DOI inside the hyperlink.
-%
-    \DeclareFieldFormat{doi}{%
-      \ifhyperref{%
-        \href{http://dx.doi.org/#1}{\nolinkurl{doi:#1}}%
-      }{%
-        \nolinkurl{doi:#1}%
-      }%
-    }
-  }{%
-%
-% If \textsf{apacite} is used, there are a few other adaptations we need to
-% make.
-%
-    \@ifpackageloaded{apacite}{%
-%
-% With \textsf{hyperref} loaded, \textsf{apacite} makes the whole of a citation
-% a link to the reference list item. We patch |\@ifauthorsunequalc at de| so only
-% the year portion gets linked.
-%
-      \def\@ifauthorsunequalc at de#1{%
-        \if at F@cite
-          \@F at citefalse
-        \else
-          \if at Y@cite
-              {\@BAY}%
-          \fi
-          {\@BBC}%
-        \fi
-        \edef\@cite at undefined{?}%
-        \def\BBA{\@BBA}%
-        \if at A@cite
-          %%\hyper at natlinkstart{#1}% We remove this line...
-          {\csname b@\@citeb\APAC at extra@b at citeb\endcsname}%
-          %%\hyper at natlinkend% ...and this one.
-          \if at Y@cite
-              {\@BBAY}%
-          \fi
-        \fi
-        \if at Y@cite
-          \hyper at natlinkstart{#1}%
-          {\csname Y@\@citeb\APAC at extra@b at citeb\endcsname}%
-          \hyper at natlinkend
-        \fi
-        \let\BBA\relax
-      }
-%
-% The Spanish language support file defines a different version of
-% |\@ifauthorsunequalc at de|, which might override the patch we have just
-% introduced. So we employ the same test that \textsf{apacite} uses when
-% deciding whether to load that file; if successful, we patch the Spanish
-% version. Note that as \textsf{apacite} loads language support files
-% |\AtBeginDocument|, we have to do our thing after that, |\AfterEndPreamble|.
-%
-% (Note that as we set the language to British English earlier, this should
-% never be needed, but we try to be resilient to tinkering!)
-%
-      \AfterEndPreamble{%
-        \@ifundefined{iflanguage}{%
-          \relax
-        }{%
-          \edef\APAC at tmp{nohyphenation}%
-          \ifx\languagename\APAC at tmp
-          \else
-            \edef\APAC at tmp{spanish}%
-            \ifx\languagename\APAC at tmp
-              \def\@ifauthorsunequalc at de#1{%
-                \if at F@cite
-                  \@F at citefalse
-                \else
-                  \if at Y@cite
-                      {\@BAY}%
-                  \fi
-                  {\@BBC}%
-                \fi
-                \edef\@cite at undefined{?}%
-                \def\BBA{\@BBA}%
-                \@ifundefined{spanishe@\@citeb\APAC at extra@b at citeb}%
-                  {}% skip
-                  {{% Use `e' instead of `y' in Spanish
-                  \global\let\oldBBA\BBA
-                  \global\def\BBA{e\global\let\BBA\oldBBA}%
-                  }}%
-                \if at A@cite
-                  %%\hyper at natlinkstart{#1}% We remove this line...
-                  {\csname b@\@citeb\APAC at extra@b at citeb\endcsname}%
-                  %%\hyper at natlinkend% ...and this one.
-                  \if at Y@cite
-                      {\@BBAY}%
-                  \fi
-                \fi
-                \if at Y@cite
-                  \hyper at natlinkstart{#1}%
-                  {\csname Y@\@citeb\APAC at extra@b at citeb\endcsname}%
-                  \hyper at natlinkend
-                \fi
-                \let\BBA\relax
-              }%
-            \fi
-          \fi
-        }%
-%
-% Another thing \textsf{apacite} does |\AtBeginDocument| is set the URL style
-% to monospaced. So we reset it back to normal roman type |\AfterEndPreamble|.
-%
-        \urlstyle{APACrm}
-       }%
-%
-% We pre-empt \textsf{apacite}'s |\providecommand| of |\doi| with our own
-% definition that includes the `doi' URI scheme label in the link, remembering
-% to remove the one inserted by |\doiprefix|.
-%
-      \newcommand{\doi}[1]{\href{http://dx.doi.org/#1}{\nolinkurl{doi:#1}}}%
-      \renewcommand{\doiprefix}{\unskip}%
-    }{}%
-  }%
-%
-% Both \textsf{biblatex} and \textsf{apacite} use |\bibitemsep| for the space
-% between bibliography items. Just in case they haven't been loaded, though, we
-% protect our setting of that length with an |\ifx| test.
-%
-  \ifx\undefined\bibitemsep
-  \else
-    \setlength{\bibitemsep}{1em plus 1ex minus 1ex}%
-  \fi
-}
-%
-% As mentioned above, if \textsf{apacite} is used, we can use a package option
-% to ensure that the reference list heading appears in the PDF bookmarks.
-%
-\PassOptionsToPackage{numberedbib}{apacite}
-
-%
-% We, of course, use \textsf{hyperref} for enhancing the PDF with working links,
-% bookmarks, metadata, etc.
-%
-\usepackage
-  [ colorlinks=true
-  , linkcolor=black
-  , anchorcolor=black
-  , citecolor=links
-  , filecolor=black
-  , menucolor=black
-  , runcolor=black
-  , urlcolor=links
-  ]{hyperref}
-%
-% Links should be in roman type, not monospaced.
-%
-\urlstyle{rm}
-%
-% We provide an |\email| command for displaying the email address of the
-% corresponding author.
-%
-\newcommand*{\email}[1]{\href{mailto:#1}{#1}}
-%
-% Once the user has had a chance to provide the metadata, we can add it to the
-% PDF metadata.
-%
-\AtBeginDocument{%
-  \hypersetup
-    { pdftitle={\thetitle}
-    , pdfauthor={\dccp at author}
-    , pdfsubject={\dccp at subject}
-    }
-%
-% The APA has its own style for line breaks in URLs. The \textsf{apacite}
-% package provides the code for this, but in case \textsf{biblatex} is used
-% instead, we repeat the settings (from 2013/07/21 v6.03) here.
-%
-  \@ifundefined{Url at force@Tilde}{\def\Url at force@Tilde{\relax}}{}%
-  \def\url at apa@dot{\mathchar"2E }%
-  \def\url at apa@comma{\mathchar"2C }%
-  \def\url at apa@questionmark{\mathchar"3F }%
-  \def\url at apa@exclamation{\mathchar"21 }%
-  \def\url at apa@hyphen{\mathchar"2D }%
-  \def\url at apa@underscore{\_}%
-  \def\UrlBreaks{\do\@\do\\\do\|\do\;\do\>\do\]\do\)\do\'\do+\do\=\do\#}%
-  \def\UrlBigBreaks{\do\/\do\:\do at url@hyp}%
-  \def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% \)}
-  \def\UrlOrds{\do\*\do\~\do\'\do\"}%
-  \def\UrlSpecials{%
-    \do\.{\mathbin{}\url at apa@dot }%
-    \do\,{\mathbin{}\url at apa@comma }%
-    \do\-{\mathbin{}\url at apa@hyphen }%
-    \do\?{\mathbin{}\url at apa@questionmark }%
-    \do\!{\mathbin{}\url at apa@exclamation }%
-    \do\_{\mathbin{}\url at apa@underscore }%
-    \do\ {\Url at space}\do\%{\Url at percent}\do\^^M{\Url at space}%
-    \Url at force@Tilde}%
-  \def\Url at OTnonTT{\do\<{\langle}\do\>{\mathbin{\rangle}}\do
-    \_{\mathbin{}\_}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
-    \\{\mathbin{\backslash}}\UrlTildeSpecial}
-}
-
-%
-% We now embed the Creative Commons licence information in the PDF using an XMP
-% packet. To do this, we employ the same technique as Scott Pakin's
-% \textsf{hyperxmp} (2014/01/02 v2.4). In order to avoid avoid a bug whereby
-% Adobe Acrobat confuses the XMP author information and the regular author
-% information, though, we \emph{only} embed the licence information.
-%
-% We need to make sure that any characters to appear verbatim in the XMP packet
-% are treated as ordinary characters and not active ones. The likely active
-% characters are symbols and punctuation, so should be treated as `other'
-% (category 12).
-%
-\begingroup
-\catcode`\"=12
-\catcode`\&=12
-\catcode`\#=12
-\catcode`\<=12
-\catcode`\>=12
-\catcode`\_=12
-%
-% We construct the XMP packet as the document begins.
-%
-\AtBeginDocument{%
-%
-% For convenience we define |\sp| to be a level of indent, translating to three
-% spaces.
-%
-  \def\sp{\space\space\space}
-%
-% The text of the XMP packet is recorded in |\cc at xmp@packet|. We use |^^J| to
-% break lines.
-%
-  \long\gdef\cc at xmp@packet{%
-<?xpacket begin='' id=''?>^^J%
-<x:xmpmeta xmlns:x='adobe:ns:meta/'>^^J%
-<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>^^J%
-\sp<rdf:Description rdf:about=''^^J%
-\sp\sp xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'>^^J%
-\sp\sp<xapRights:Marked>True</xapRights:Marked>^^J%
-\sp</rdf:Description>^^J%
-\sp<rdf:Description rdf:about=''^^J%
-\sp\sp xmlns:dc='http://purl.org/dc/elements/1.1/'>^^J%
-\sp\sp<dc:rights>^^J%
-\sp\sp\sp<rdf:Alt>^^J%
-\sp\sp\sp\sp<rdf:li xml:lang='x-default'>This work is licensed under a Creative Commons Attribution 4.0 International Licence.</rdf:li>^^J%
-\sp\sp\sp</rdf:Alt>^^J%
-\sp\sp</dc:rights>^^J%
-\sp</rdf:Description>^^J%
-\sp<rdf:Description rdf:about=''^^J%
-\sp\sp xmlns:cc='http://creativecommons.org/ns#'>^^J%
-\sp\sp<cc:license rdf:resource='http://creativecommons.org/licenses/by/4.0/'/>^^J%
-\sp</rdf:Description>^^J%
-</rdf:RDF>^^J%
-</x:xmpmeta>^^J%
-<?xpacket end='r'?>^^J%
-  }%
-}
-\endgroup
-%
-% Different workflows require the XMP packet to be embedded in different ways.
-%
-% Pdf\TeX\ can inject objects into PDFs natively.
-%
-\newcommand*{\ccxmp at embed@packet at pdftex}{%
-  \bgroup
-    \pdfcompresslevel=0
-    \immediate\pdfobj stream attr {%
-      /Type /Metadata
-      /Subtype /XML
-    }{\cc at xmp@packet}%
-    \pdfcatalog {/Metadata \the\pdflastobj\space 0 R}%
-  \egroup
-}
-%
-% The |\pdfmark| command defined by \textsf{hyperref} is respected by tools such
-% as Dvipdf, Dvips, Dvipsone, etc.
-%
-\newcommand*{\ccxmp at embed@packet at pdfmark}{%
-  \pdfmark{%
-    pdfmark=/NamespacePush
-  }%
-  \pdfmark{%
-    pdfmark=/OBJ,
-    Raw={/_objdef \string{ccxmp at packet\string} /type /stream}%
-  }%
-  \pdfmark{%
-    pdfmark=/PUT,
-    Raw={\string{ccxmp at packet\string}
-      2 dict begin
-        /Type /Metadata def
-        /Subtype /XML def
-        currentdict
-      end
-    }%
-  }%
-  \pdfmark{%
-    pdfmark=/PUT,
-    Raw={\string{ccxmp at packet\string} (\cc at xmp@packet)}%
-  }%
-  \pdfmark{%
-    pdfmark=/Metadata,
-    Raw={\string{Catalog\string} \string{ccxmp at packet\string}}%
-  }%
-  \pdfmark{%
-    pdfmark=/NamespacePop
-  }%
-}
-%
-% Dvipdfm has its own |\special| command for inserting PDF objects, but
-% it is a bit basic and requires advance knowledge of how long (in characters)
-% the object is.
-%
-% The |\ccxmp at count@spaces| macro counts the number of spaces in its parameter
-% through a process of iteration, adding this figure to |\@tempcnta|.
-%
-\def\ccxmp at count@spaces#1 {%
-  \def\ccxmp at one@token{#1}%
-  \ifx\ccxmp at one@token\@empty
-    \advance\@tempcnta by -1
-  \else
-    \advance\@tempcnta by 1
-    \expandafter\ccxmp at count@spaces
-  \fi
-}
-%
-% The |\ccxmp at count@non at spaces| command counts the number of non-spaces in its
-% argument through a process of iteration, adding this figure to |\@tempcnta|.
-%
-\newcommand*{\ccxmp at count@non at spaces}[1]{%
-  \def\ccxmp at one@token{#1}%
-  \ifx\ccxmp at one@token\@empty
-  \else
-    \advance\@tempcnta by 1
-    \expandafter\ccxmp at count@non at spaces
-  \fi
-}
-%
-% The |\ccxmp at string@len| command sets |\@tempcnta| to the number of characters
-% (spaces + non-spaces) in its argument.
-%
-\newcommand*{\ccxmp at string@len}[1]{%
-  \@tempcnta=0
-  \expandafter\ccxmp at count@spaces#1 {} %
-  \expandafter\ccxmp at count@non at spaces#1{}%
-}
-%
-% So now, finally, is the command for embedding the packet using Dvipdfm.
-%
-\newcommand*{\ccxmp at embed@packet at dvipdfm}{%
-  \ccxmp at string@len{\cc at xmp@packet}%
-  \special{pdf: object @ccxmp at packet
-    <<
-      /Type /Metadata
-      /Subtype /XML
-      /Length \the\@tempcnta
-    >>
-    stream^^J\cc at xmp@packet endstream%
-  }%
-  \special{pdf: docview
-    <<
-      /Metadata @ccxmp at packet
-    >>
-  }%
-}
-%
-% \XeTeX\ creates PDFs with Xdvipdfmx, which supports a simpler |\special| for
-% inserting objects that does not require us to count characters.
-%
-\newcommand*{\ccxmp at embed@packet at xetex}{%
-  \special{pdf:stream @ccxmp at packet (\cc at xmp@packet)
-    <<
-      /Type /Metadata
-      /Subtype /XML
-    >>
-  }%
-  \special{pdf:put @catalog
-    <<
-      /Metadata @ccxmp at packet
-    >>
-  }%
-}
-%
-% We rely on \textsf{hyperref} to tell us how the PDF will be generated (after
-% all, it may not be done in the current pass) and use the respective technique
-% to embed the XMP packet.
-%
-\AtBeginDocument{%
-  \begingroup
-  \def\ccxmp at driver{hpdftex}%
-  \ifx\ccxmp at driver\Hy at driver
-    \ccxmp at embed@packet at pdftex
-  \else
-    \def\ccxmp at driver{hdvipdfm}%
-    \ifx\ccxmp at driver\Hy at driver
-      \ccxmp at embed@packet at dvipdfm
-    \else
-      \def\ccxmp at driver{hxetex}%
-      \ifx\ccxmp at driver\Hy at driver
-        \ccxmp at embed@packet at xetex
-      \else
-        \@ifundefined{pdfmark}{}{%
-          \ccxmp at embed@packet at pdfmark
-        }%
-      \fi
-    \fi
-  \fi
-  \endgroup
-}
-%% 
-%% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
-%% <info at dcc.ac.uk>
-%%
-%% End of file `dccpaper-base.tex'.

Modified: trunk/Master/texmf-dist/tex/latex/dccpaper/idcc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dccpaper/idcc.cls	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/tex/latex/dccpaper/idcc.cls	2016-08-05 22:32:58 UTC (rev 41804)
@@ -14,7 +14,7 @@
 %% See:     http://www.latex-project.org/lppl.txt
 %% ----------------------------------------------------------------
 %% 
-\def\Version{2015/06/22 v1.4.1}
+\def\Version{2016/08/05 v1.5}
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesClass{idcc}
     [\Version\space Class for submissions to the International Digital Curation Conference.]
@@ -66,6 +66,12 @@
   2016 in Amsterdam. URL: \url{http://www.dcc.ac.uk/events/idcc16/}}
   \def\dccp at subject{11th \dccp at publ@long, 2016}
 }
+\DeclareOption{17}{%
+  \def\dccp at publ@short{IDCC17}
+  \def\dccp at publ@msg{The 12th \dccp at publ@long\ takes place on 20--23 February
+  2017 in Edinburgh. URL: \url{http://www.dcc.ac.uk/events/idcc17/}}
+  \def\dccp at subject{12th \dccp at publ@long, 2017}
+}
 \ProcessOptions\relax
 
 %
@@ -92,9 +98,14 @@
 \@clearglobaloption{demo}
 
 %
+% The class is based on the \textsf{article} class, and uses A4 paper.
+%
+\LoadClass[a4paper,12pt,twoside]{article}
+
+%
 % The rest of the formatting happens in the following file.
 %
-\input{dccpaper-base}
+\usepackage{dccpaper-base}
 %% 
 %% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
 %% <info at dcc.ac.uk>

Modified: trunk/Master/texmf-dist/tex/latex/dccpaper/ijdc-v9.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dccpaper/ijdc-v9.cls	2016-08-05 22:18:56 UTC (rev 41803)
+++ trunk/Master/texmf-dist/tex/latex/dccpaper/ijdc-v9.cls	2016-08-05 22:32:58 UTC (rev 41804)
@@ -14,7 +14,7 @@
 %% See:     http://www.latex-project.org/lppl.txt
 %% ----------------------------------------------------------------
 %% 
-\def\Version{2015/06/22 v1.4.1}
+\def\Version{2016/08/05 v1.5}
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesClass{ijdc-v9}
     [\Version\space Class for submissions to the International Journal of Digital Curation, volume 9 onwards.]
@@ -43,7 +43,7 @@
 
 %
 % These definitions are used to fill out the headers and footers. They include
-% some details that are defined in \textsf{dccpaper-base.tex} and provided by
+% some details that are defined in \textsf{dccpaper-base.sty} and provided by
 % the user: |\thedate|, |\thevolume|, |\theissue|, |\thelastpage|, |\thedoi|.
 %
 \def\dccp at publ@long{International Journal of Digital Curation}
@@ -69,9 +69,14 @@
 \def\dccp at subject{\dccp at publ@long, \thedate, Vol.\ \thevolume, Iss.\ \theissue}
 
 %
+% The class is based on the \textsf{article} class, and uses A4 paper.
+%
+\LoadClass[a4paper,12pt,twoside]{article}
+
+%
 % The rest of the formatting happens in the following file.
 %
-\input{dccpaper-base}
+\usepackage{dccpaper-base}
 %% 
 %% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
 %% <info at dcc.ac.uk>



More information about the tex-live-commits mailing list