played a little with settings for headstyle - causes strange numbers - check!!
[cluster_expansion_thesis.git] / Stylefiles / harvard.sty
blob9a4c64623f5360db5b7a0ed6159e0a21596e8d29
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}}
9 }{
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}}
22 \DeclareOption*{
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}%
47 }\fi%
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}}%
73 {#2}%
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}%
94 \@for\@citeb:=#1\do%
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}}%
115 {\HAR@dciteaff}%
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}}%
134 {\HAR@dciteasn}%
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}}%
153 {\HAR@dcitepos}%
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}%
172 {\HAR@dcitenam}%
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}}%
196 {}{, #1}}%
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
256 \else
257 \@tempswatrue
259 \else
260 \@tempswatrue
262 \else
263 \@tempswatrue
267 \AtEndDocument{\renewcommand{\harvardcite}{\HAR@checkcitations}}
269 \ExecuteOptions{agsm,agsmcite,default,round}
270 \ProcessOptions*