1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
\ProvidesFile{idcc.doc}[2015/06/23 automatically generated with makedoc.sty]
\begin{lstlisting}[firstnumber=1]
%%
%% This is file `idcc.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% dccpaper.dtx (with options: `idcc')
%%
%% ----------------------------------------------------------------
%% The dccpaper bundle: Classes for submissions to IJDC and IDCC
%% Author: Alex Ball
%% E-mail: a.ball@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}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{idcc}
[\Version\space Class for submissions to the International Digital Curation Conference.]
\end{lstlisting}
These definitions are used to fill out the headers and footers.
The ones for |\dccp@publ@short| and |\dccp@publ@msg| are a fallback,
defined here but ordinarily overridden using a package option.
\begin{lstlisting}[firstnumber=last]
\def\dccp@publ@long{International Digital Curation Conference}
\def\dccp@publ@short{IDCC}
\def\dccp@publ@msg{The \dccp@publ@long\ takes place on [TBC] in [TBC]. URL:
\url{http://www.dcc.ac.uk/events/international-digital-curation-conference-idcc}}
\end{lstlisting}
|\dccp@subject| will be used for the PDF subject. The value here is again a
fallback, ordinarily overridden using a package option.
\begin{lstlisting}[firstnumber=last]
\def\dccp@subject{\dccp@publ@long}
\end{lstlisting}
Paper type is recorded in |\def\dccp@type|. The values can be
`Research Paper', `Practice Paper', `Poster', `Demonstration', or `Workshop'.
\begin{lstlisting}[firstnumber=last]
\def\dccp@type{Practice Paper}
\end{lstlisting}
These options set the value of |\def\dccp@type| appropriately.
The |practice| option is redundant, but included for symmetry.
\begin{lstlisting}[firstnumber=last]
\DeclareOption{research}{\def\dccp@type{Research Paper}}
\DeclareOption{data}{\def\dccp@type{Data Paper}}
\DeclareOption{poster}{\def\dccp@type{Poster}}
\DeclareOption{demo}{\def\dccp@type{Demonstration}}
\DeclareOption{bof}{\def\dccp@type{Birds of a Feather}}
\DeclareOption{workshop}{\def\dccp@type{Workshop}}
\DeclareOption{practice}{\def\dccp@type{Practice Paper}}
\end{lstlisting}
The details for each conference are slightly different, so they each have an
associated option for overriding the fallback definitions for
|\dccp@publ@short|, |\dccp@publ@msg| and |\dccp@subject|.
\begin{lstlisting}[firstnumber=last]
\DeclareOption{15}{%
\def\dccp@publ@short{IDCC15}
\def\dccp@publ@msg{The 10th \dccp@publ@long\ takes place on 9--12 February
2015 in London. URL: \url{http://www.dcc.ac.uk/events/idcc15/}}
\def\dccp@subject{10th \dccp@publ@long, 2015}
}
\DeclareOption{16}{%
\def\dccp@publ@short{IDCC16}
\def\dccp@publ@msg{The 11th \dccp@publ@long\ takes place on 22--25 February
2016 in Amsterdam. URL: \url{http://www.dcc.ac.uk/events/idcc16/}}
\def\dccp@subject{11th \dccp@publ@long, 2016}
}
\ProcessOptions\relax
\end{lstlisting}
The |demo| option, if passed, would be passed on to the \textsf{graphics}
package wreaking havoc with each and every included image. To avoid this,
we clear it from the list of class options using
\href{http://tex.stackexchange.com/q/33245}{code from Enrico Gregorio}.
\begin{lstlisting}[firstnumber=last]
\def\@clearglobaloption#1{%
\def\@tempa{#1}%
\def\@tempb{\@gobble}%
\@for\next:=\@classoptionslist\do{%
\ifx\next\@tempa
\message{Option \next\space has been hidden from subsequent packages}%
\else
\edef\@tempb{\@tempb,\next}%
\fi
}%
\let\@classoptionslist\@tempb
\expandafter\ifx\@tempb\@gobble
\let\@classoptionslist\@empty
\fi
}
\@clearglobaloption{demo}
\end{lstlisting}
The rest of the formatting happens in the following file.
\begin{lstlisting}[firstnumber=last]
\input{dccpaper-base}
%%
%% Copyright (C) 2015 Digital Curation Centre, University of Edinburgh
%% <info@dcc.ac.uk>
%%
%% End of file `idcc.cls'.
\end{lstlisting}
|