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