1 %% harvard.sty - harvard bibliography style Version 2.0.5
2 %% Author: Peter Williams peterw@archsci.arch.su.edu.au
3 %% Copyright: Peter Williams 1994
4 \NeedsTeXFormat{LaTeX2e
}
5 \ProvidesPackage{harvard
}
6 \RequirePackage{ifthen
}
7 \IfFileExists{html.sty
}{\RequirePackage{html
}
8 \newcommand{\harvardurl}[1]{\htmladdnormallink*
{\textbf{URL:
} \textit{#
#1}}{#
#1}}
10 \newcommand{\harvardurl}[1]{\textbf{URL:
} \textit{#
#1}}
12 \DeclareOption{full
}{\citationmode{full
}}
13 \DeclareOption{abbr
}{\citationmode{abbr
}}
14 \DeclareOption{default
}{\citationmode{default
}}
15 \DeclareOption{agsmcite
}{\citationstyle{agsm
}}
16 \DeclareOption{dcucite
}{\citationstyle{dcu
}}
17 \DeclareOption{round
}{\harvardparenthesis{round
}\harvardyearparenthesis{round
}}
18 \DeclareOption{curly
}{\harvardparenthesis{curly
}\harvardyearparenthesis{curly
}}
19 \DeclareOption{angle
}{\harvardparenthesis{angle
}\harvardyearparenthesis{angle
}}
20 \DeclareOption{square
}{\harvardparenthesis{square
}\harvardyearparenthesis{square
}}
21 \DeclareOption{none
}{\harvardparenthesis{none
}\harvardyearparenthesis{none
}}
23 \global\edef\HAR@tmp
{\CurrentOption}
24 %% Berwin A. Turlach <berwin@alphasun.anu.edu.au>
25 \AtEndDocument{\bibliographystyle{\HAR@tmp
}}
28 %% Kristoffer H. Rose <kris@diku.dk> 1995/03/01:
29 %% do not expand macros in citations: put definitions on .aux file instead.
30 {\catcode`\:=
12 \catcode`\-=
12 \catcode`\>=
12 \catcode`\<=
12 %
31 \gdef\codeof#1{\expandafter\codeof@
\meaning#1<-:
}%
32 \gdef\codeof@
#1:->
#2<-:
{#2}}
34 \def\harvardpreambletext{\catcode`\#=
12 \harvardpreambletext@
}
35 \def\harvardpreambletext@
#1{\def\next{#1}\catcode`\#=
6 %
36 \immediate\write\@auxout
{\string\harvardpreambledefs{%
37 \string\AtBeginDocument{\codeof\next}}}}
39 \def\harvardpreambledefs#1{#1\gdef\harvardpreambledefs#
#1{}}
41 \newcommand{\harvarditem}[4][\null]{\item[]%
42 \if@filesw
{ \def\protect#
#1{\string #
#1\space}%
43 \ifthenelse{\equal{#1}{\null}}
44 {\def\next{{#4}{#2}{#2}{#3}}}
45 {\def\next{{#4}{#2}{#1}{#3}}}
46 \immediate\write\@auxout
{\string\harvardcite\codeof\next}%
48 \protect\hspace*
{-
\labelwidth}\protect\hspace*
{-
\labelsep}\ignorespaces%
51 \newcommand{\harvardcite}[4]{
52 \global\@namedef
{HAR@fn@
#1}{#2}
53 \global\@namedef
{HAR@an@
#1}{#3}
54 \global\@namedef
{HAR@yr@
#1}{#4}
55 \global\@namedef
{HAR@df@
#1}{\csname HAR@fn@
#1\endcsname}
58 \newcommand{\citationmode}[1]{
59 \renewcommand{\HAR@citemode
}{\csname HAR@cite@
#1\endcsname}
62 \newcommand{\HAR@cite@full
}{HAR@fn@
}
63 \newcommand{\HAR@cite@abbr
}{HAR@an@
}
64 \newcommand{\HAR@cite@default
}{HAR@df@
}
65 \newcommand{\HAR@citemode
}{\HAR@cite@default
}
67 \newcommand{\HAR@citetoaux
}[1]{%
68 \if@filesw
\immediate\write\@auxout
{\string\citation{#1}}\fi%
71 \newcommand{\HAR@checkdef
}[2]{\@ifundefined
{HAR@df@
#1}%
72 {\textbf{?
}\@warning
{Citation '
#1' on page
\thepage \space undefined
}}%
76 \newcommand{\HAR@dolist
}[2]{\def\@citea
{\null}\@for\@citeb:=
#1\do%
77 {\@citea
\def\@citea
{\HAR@hisep
\penalty\@m\
}\HAR@checkdef
{\@citeb
}%
78 {#2{\@citeb
}\HAR@hysep
\penalty\@m\
%
79 \HAR@year
{\@citeb
}\HAR@setd
{\@citeb
}}}%
82 \def\@enamedef
#1{\expandafter\def\csname #1\expandafter\endcsname\expandafter}
83 \newcommand{\HAR@name
}[1]{\csname \HAR@citemode
#1\endcsname}
84 \newcommand{\HAR@fname
}[1]{\csname HAR@fn@
#1\endcsname}
85 \newcommand{\HAR@aname
}[1]{\csname HAR@an@
#1\endcsname}
86 \newcommand{\HAR@year
}[1]{\csname HAR@yr@
#1\endcsname}
87 \newcommand{\HAR@setd
}[1]{%
88 \global\@enamedef
{HAR@df@
#1}{\csname HAR@an@
#1\endcsname}%
91 %% Berwin A. Turlach <berwin@alphasun.anu.edu.au>
92 \global\@namedef
{HAR@df@*
}{\csname HAR@fn@*
\endcsname}
93 \renewcommand{\nocite}[1]{\HAR@citetoaux
{#1}%
95 {\HAR@checkdef
{\@citeb
}{}}}%
97 \renewcommand{\cite}{\@ifstar
{\@ifstar
{\HAR@acite
}{\HAR@fcite
}}{\HAR@dcite
}}
99 \newcommand{\HAR@dcite
}[2][\null]{\HAR@citetoaux
{#2}%
100 {\harvardleft\HAR@dolist
{#2}{\HAR@name
}\ifthenelse{\equal{#1}{\null}}%
101 {}{,
#1}\harvardright}%
104 \newcommand{\HAR@acite
}[2][\null]{\HAR@citetoaux
{#2}%
105 {\harvardleft\HAR@dolist
{#2}{\HAR@aname
}\ifthenelse{\equal{#1}{\null}}%
106 {}{,
#1}\harvardright}%
109 \newcommand{\HAR@fcite
}[2][\null]{\HAR@citetoaux
{#2}%
110 {\harvardleft\HAR@dolist
{#2}{\HAR@fname
}\ifthenelse{\equal{#1}{\null}}%
111 {}{,
#1}\harvardright}%
114 \newcommand{\citeaffixed}{\@ifstar
{\@ifstar
{\HAR@aciteaff
}{\HAR@fciteaff
}}%
118 \newcommand{\HAR@fciteaff
}[3][\null]{\HAR@citetoaux
{#2}%
119 {\harvardleft#3\
\HAR@dolist
{#2}{\HAR@fname
}\ifthenelse{\equal{#1}{\null}}%
120 {}{,
#1}\harvardright}%
123 \newcommand{\HAR@aciteaff
}[3][\null]{\HAR@citetoaux
{#2}%
124 {\harvardleft#3\
\HAR@dolist
{#2}{\HAR@aname
}\ifthenelse{\equal{#1}{\null}}%
125 {}{,
#1}\harvardright}%
128 \newcommand{\HAR@dciteaff
}[3][\null]{\HAR@citetoaux
{#2}%
129 {\harvardleft#3\
\HAR@dolist
{#2}{\HAR@name
}\ifthenelse{\equal{#1}{\null}}%
130 {}{,
#1}\harvardright}%
133 \newcommand{\citeasnoun}{\@ifstar
{\@ifstar
{\HAR@aciteasn
}{\HAR@fciteasn
}}%
137 \newcommand{\HAR@fciteasn
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
138 {\HAR@fname
{#2}\
\harvardyearleft\HAR@year
{#2}\ifthenelse{\equal{#1}{\null}}
139 {}{,
#1}\harvardyearright}\HAR@setd
{#2}}%
142 \newcommand{\HAR@aciteasn
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
143 {\HAR@aname
{#2}\
\harvardyearleft\HAR@year
{#2}\ifthenelse{\equal{#1}{\null}}
144 {}{,
#1}\harvardyearright}\HAR@setd
{#2}}%
147 \newcommand{\HAR@dciteasn
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
148 {\HAR@name
{#2}\
\harvardyearleft\HAR@year
{#2}\ifthenelse{\equal{#1}{\null}}
149 {}{,
#1}\harvardyearright}\HAR@setd
{#2}}%
152 \newcommand{\possessivecite}{\@ifstar
{\@ifstar
{\HAR@acitepos
}{\HAR@fcitepos
}}%
156 \newcommand{\HAR@fcitepos
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
157 {\HAR@fname
{#2}'s
\harvardyearleft\HAR@year
{#2}\ifthenelse{\equal{#1}{\null}}
158 {}{,
#1}\harvardyearright}\HAR@setd
{#2}}%
161 \newcommand{\HAR@acitepos
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
162 {\HAR@aname
{#2}'s
\harvardyearleft\HAR@year
{#2}\ifthenelse{\equal{#1}{\null}}
163 {}{,
#1}\harvardyearright}\HAR@setd
{#2}}%
166 \newcommand{\HAR@dcitepos
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
167 {\HAR@name
{#2}'s
\harvardyearleft\HAR@year
{#2}\ifthenelse{\equal{#1}{\null}}
168 {}{,
#1}\harvardyearright}\HAR@setd
{#2}}%
171 \newcommand{\citename}{\@ifstar
{\@ifstar
{\HAR@acitenam
}\HAR@fcitenam
}%
175 \newcommand{\HAR@fcitenam
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
176 {\HAR@fname
{#2}\ifthenelse{\equal{#1}{\null}}
177 {}{\
\harvardleft#1\harvardright}}}%
180 \newcommand{\HAR@acitenam
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
181 {\HAR@aname
{#2}\ifthenelse{\equal{#1}{\null}}
182 {}{\
\harvardleft#1\harvardright}}}%
185 \newcommand{\HAR@dcitenam
}[2][\null]{\HAR@citetoaux
{#2}\HAR@checkdef
{#2}{%
186 {\HAR@name
{#2}\ifthenelse{\equal{#1}{\null}}
187 {}{\
\harvardleft#1\harvardright}}}%
190 \newcommand{\citeyear}{\@ifstar
{\HAR@citeyrnb
}{\HAR@citeyr
}}
192 \newcommand{\HAR@citeyrnb
}[2][\null]{\HAR@citetoaux
{#2}%
193 {\def\@citea
{\null}\@for\@citeb:=
#2\do%
194 {\@citea
\def\@citea
{\HAR@hisep
\penalty\@m\
}\HAR@checkdef
{\@citeb
}%
195 {\HAR@year
{\@citeb
}}}\ifthenelse{\equal{#1}{\null}}%
199 \newcommand{\HAR@citeyr
}[2][\null]{\HAR@citetoaux
{#2}%
200 {\harvardleft\def\@citea
{\null}\@for\@citeb:=
#2\do%
201 {\@citea
\def\@citea
{\HAR@hisep
\penalty\@m\
}\HAR@checkdef
{\@citeb
}%
202 {\HAR@year
{\@citeb
}}}\ifthenelse{\equal{#1}{\null}}%
203 {}{,
#1}\harvardright}%
206 \newcommand{\HAR@hysep@apsr
}{\null}
207 \newcommand{\HAR@hisep@apsr
}{;
}
208 \newcommand{\HAR@hysep@agsm
}{\null}
209 \newcommand{\HAR@hisep@agsm
}{,
}
210 \newcommand{\HAR@hysep@dcu
}{,
}
211 \newcommand{\HAR@hisep@dcu
}{;
}
212 \newcommand{\HAR@and@agsm
}{\&
}
213 \newcommand{\HAR@and@dcu
}{and
}
214 \newcommand{\HAR@and@apsr
}{and
}
215 \newcommand{\HAR@hysep
}{\HAR@hysep@agsm
}
216 \newcommand{\HAR@hisep
}{\HAR@hisep@agsm
}
217 \newcommand{\harvardand}{\HAR@and@agsm
}
218 \newcommand{\citationstyle}[1]{%
219 \renewcommand{\HAR@hysep
}{\csname HAR@hysep@
#1\endcsname}
220 \renewcommand{\HAR@hisep
}{\csname HAR@hisep@
#1\endcsname}
221 \renewcommand{\harvardand}{\csname HAR@and@
#1\endcsname}
224 \newcommand{\HAR@bl@round
}{(
}
225 \newcommand{\HAR@br@round
}{)
}
226 \newcommand{\HAR@bl@square
}{[}
227 \newcommand{\HAR@br@square
}{]}
228 \newcommand{\HAR@bl@curly
}{\
{}
229 \newcommand{\HAR@br@curly
}{\
}}
230 \newcommand{\HAR@bl@angle
}{$<$
}
231 \newcommand{\HAR@br@angle
}{$>$
}
232 \newcommand{\HAR@bl@none
}{}
233 \newcommand{\HAR@br@none
}{}
234 \newcommand{\harvardleft}{\HAR@bl@round
}
235 \newcommand{\harvardright}{\HAR@br@round
}
236 \newcommand{\harvardparenthesis}[1]{
237 \renewcommand{\harvardleft}{\csname HAR@bl@
#1\endcsname}
238 \renewcommand{\harvardright}{\csname HAR@br@
#1\endcsname}
239 \harvardyearparenthesis{#1}
242 \newcommand{\harvardyearleft}{\HAR@bl@round
}
243 \newcommand{\harvardyearright}{\HAR@br@round
}
244 \newcommand{\harvardyearparenthesis}[1]{
245 \renewcommand{\harvardyearleft}{\csname HAR@bl@
#1\endcsname}
246 \renewcommand{\harvardyearright}{\csname HAR@br@
#1\endcsname}
249 \newcommand{\HAR@checkcitations
}[4]{
250 \def\HAR@tempa
{#2}\expandafter
251 \ifx \csname HAR@fn@
#1\endcsname \HAR@tempa
252 \def\HAR@tempa
{#3}\expandafter
253 \ifx \csname HAR@an@
#1\endcsname \HAR@tempa
254 \def\HAR@tempa
{#4}\expandafter
255 \ifx \csname HAR@yr@
#1\endcsname \HAR@tempa
267 \AtEndDocument{\renewcommand{\harvardcite}{\HAR@checkcitations
}}
269 \ExecuteOptions{agsm,agsmcite,default,round
}