summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/datatool/databib.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/datatool/databib.sty')
-rw-r--r--Master/texmf-dist/tex/latex/datatool/databib.sty1529
1 files changed, 1529 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/datatool/databib.sty b/Master/texmf-dist/tex/latex/datatool/databib.sty
new file mode 100644
index 00000000000..2b168d64dd4
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/datatool/databib.sty
@@ -0,0 +1,1529 @@
+%%
+%% This is file `databib.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datatool.dtx (with options: `databib.sty,package')
+%%
+%% datatool.dtx
+%% Copyright 2007 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files datatool.dtx and datatool.ins and the derived files datatool.sty, datapie.sty, dataplot.sty, databar.sty, databib.sty, databib.bst.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{databib}[2007/08/17 v1.0 (NLCT)]
+\RequirePackage{datatool}
+\newcommand*{\dtlbib@style}{plain}
+\define@choicekey{databib.sty}{style}{plain,abbrv,alpha}{%
+\def\dtlbib@style{#1}}
+\ProcessOptionsX
+\newcommand*{\DTLloadbbl}[3][\jobname.bbl]{%
+\bibliographystyle{databib}%
+\if@filesw
+ \immediate\write\@auxout{\string\bibdata{#3}}%
+\fi
+\DTLnewdb{#2}%
+\edef\DTLBIBdbname{#2}%
+\@input@{#1}}
+\newcommand*{\DTLnewbibrow}{\DTLnewrow{\DTLBIBdbname}}
+\newcommand*{\DTLnewbibitem}[2]{%
+\DTLnewdbentry{\DTLBIBdbname}{#1}{#2}}
+\providecommand*{\andname}{and}
+\providecommand*{\ofname}{of}
+\providecommand*{\inname}{in}
+\providecommand*{\etalname}{et al.}
+\providecommand*{\editorname}{editor}
+\providecommand*{\editorsname}{editors}
+\providecommand*{\volumename}{volume}
+\providecommand*{\numbername}{number}
+\providecommand*{\pagesname}{pages}
+\providecommand*{\pagename}{page}
+\providecommand*{\editionname}{edition}
+\providecommand*{\techreportname}{Technical report}
+\providecommand*{\mscthesisname}{Master's thesis}
+\providecommand*{\phdthesisname}{PhD thesis}
+\newcommand*{\DTLbibliography}[2][\boolean{true}]{%
+\begin{DTLthebibliography}[#1]{#2}%
+\DTLforeachbibentry[#1]{#2}{%
+\DTLbibitem \DTLformatbibentry \DTLendbibitem
+}%
+\end{DTLthebibliography}%
+}
+\newcommand*{\DTLformatbibentry}{%
+\@ifundefined{DTLformat\DBIBentrytype}{%
+\PackageError{databib}{Don't know how to format bibliography entries
+of type `\DBIBentrytype'}{}}{%
+\dtl@message{[\DBIBcitekey]}%
+\DTLstartsentencefalse\DTLmidsentencefalse\DTLperiodfalse
+\csname DTLformat\DBIBentrytype\endcsname}%
+}
+\newcommand*{\DTLendbibitem}{}
+\newlength\dtl@widest
+\newcommand*{\DTLcomputewidestbibentry}[4]{%
+\dtl@widest=0pt\relax
+\let#4=\@empty
+\DTLforeachbibentry[#1]{#2}{%
+\settowidth{\dtl@tmplength}{#3}%
+\ifdim\dtl@tmplength>\dtl@widest\relax
+ \dtl@widest=\dtl@tmplength
+ \protected@edef#4{#3}%
+\fi
+}%
+}
+\newcommand*{\DTLforeachbibentry}{%
+\@ifstar\@DTLforeachbibentry\@DTLforeachbibentry}
+\newcommand*{\@DTLforeachbibentry}[3][\boolean{true}]{%
+\edef\DBIBname{#2}\setcounter{DTLbibrow}{0}%
+\@DTLforeach{#2}{\DBIBcitekey=CiteKey,\DBIBentrytype
+=EntryType}{\dtl@gathervalues{#2}{\@dtl@currentrow}%
+\ifthenelse{#1}{\refstepcounter{DTLbibrow}#3}{}}}
+\newcommand*{\@sDTLforeachbibentry}[3][\boolean{true}]{%
+\edef\DBIBname{#2}\setcounter{DTLbibrow}{0}%
+\@sDTLforeach{#2}{\DBIBcitekey=CiteKey,\DBIBentrytype
+=EntryType}{\dtl@gathervalues{#2}{\@dtl@currentrow}%
+\ifthenelse{#1}{\refstepcounter{DTLbibrow}#3}{}}}
+\newcounter{DTLbibrow}
+\def\theHDTLbibrow{\theHDTLrow.bib.\arabic{DTLbibrow}}%
+\newcommand*{\DTLbibfield}[1]{\csname @dtl@key@#1\endcsname}
+\newcommand*{\DTLifbibfieldexists}[3]{%
+\@ifundefined{@dtl@key@#1}{#3}{%
+\expandafter\DTLifnull\csname @dtl@key@#1\endcsname
+{#3}{#2}}}
+\newcommand*{\DTLifanybibfieldexists}[3]{%
+\@for\dtl@thisfield:=#1\do{%
+\@ifundefined{@dtl@key@\dtl@thisfield}{}{%
+\expandafter\DTLifnull\csname @dtl@key@\dtl@thisfield\endcsname
+{}{%
+\@endfortrue}}}%
+\if@endfor
+ #2%
+\else
+ #3%
+\fi
+\@endforfalse
+}
+\newif\ifDTLperiod
+\newcommand*{\DTLcheckendsperiod}[1]{%
+\dtl@checkendsperiod#1\@nil\relax}
+\def\dtl@checkendsperiod#1#2{%
+\def\@dtl@argi{#1}\def\@dtl@argii{#2}%
+\def\@dtl@period{.}%
+\ifx\@dtl@argi\@nnil
+ \global\DTLperiodfalse
+ \let\@dtl@donext=\relax
+\else
+ \ifx\@dtl@argii\@nnil
+ \ifx\@dtl@argi\@dtl@period
+ \global\DTLperiodtrue
+ \else
+ \global\DTLperiodfalse
+ \fi
+ \let\@dtl@donext=\@gobble
+ \else
+ \let\@dtl@donext=\dtl@checkendsperiod
+ \fi
+\fi
+\@dtl@donext{#2}%
+}
+\newcommand*{\DTLcheckbibfieldendsperiod}[1]{%
+\protected@edef\@dtl@tmp{\DTLbibfield{#1}}%
+\expandafter\DTLcheckendsperiod\expandafter{\@dtl@tmp}}
+\newif\ifDTLmidsentence
+\newif\ifDTLstartsentence
+\newcommand*{\DTLaddperiod}{\DTLmidsentencefalse\DTLperiodfalse
+\DTLstartsentencetrue
+\ifDTLperiod\else.\fi}
+\newcommand*{\DTLaddcomma}{, \DTLmidsentencetrue
+\DTLperiodfalse\DTLstartsentencefalse}
+\newcommand*{\DTLstartsentencespace}{%
+\ifDTLstartsentence\spacefactor=\sfcode`\.\relax\space
+\fi\DTLstartsentencefalse}
+\newcommand*{\DTLtwoand}{\ \andname\ }
+\newcommand*{\DTLandlast}{, \andname\ }
+\newcommand*{\DTLandnotlast}{, }
+\newcount\@dtl@authorcount
+\newcounter{DTLmaxauthors}
+\setcounter{DTLmaxauthors}{10}
+\newcommand*{\DTLformatauthorlist}{%
+\DTLifbibfieldexists{Author}{%
+\DTLstartsentencespace
+\@dtl@authorcount=0\relax
+\@for\@dtl@author:=\@dtl@key@Author\do{%
+\advance\@dtl@authorcount by 1\relax}%
+\@dtl@tmpcount=0\relax
+\ifnum\@dtl@authorcount>\c@DTLmaxauthors
+{%
+ \@for\@dtl@author:=\@dtl@key@Author\do{%
+ \advance\@dtl@tmpcount by 1\relax
+ \ifnum\@dtl@tmpcount=1\relax
+ \expandafter\DTLformatauthor\@dtl@author
+ \else
+ \ifnum\@dtl@tmpcount>\c@DTLmaxauthors
+ \DTLandnotlast \etalname
+ \expandafter\DTLcheckendsperiod\expandafter{\etalname}%
+ \@endfortrue
+ \else
+ \DTLandnotlast \expandafter\DTLformatauthor\@dtl@author
+ \fi
+ \fi
+ }%
+}%
+\else
+ \@for\@dtl@author:=\@dtl@key@Author\do{%
+ \advance\@dtl@tmpcount by 1\relax
+ \ifnum\@dtl@tmpcount=1\relax
+ \expandafter\DTLformatauthor\@dtl@author
+ \else
+ \ifnum\@dtl@tmpcount=\@dtl@authorcount
+ \ifnum\@dtl@authorcount=2\relax
+ \DTLtwoand
+ \else
+ \DTLandlast
+ \fi
+ \expandafter\DTLformatauthor\@dtl@author
+ \else
+ \DTLandnotlast \expandafter\DTLformatauthor\@dtl@author
+ \fi
+ \fi
+ }%
+\fi
+}{}%
+}
+\newcounter{DTLmaxeditors}
+\setcounter{DTLmaxeditors}{10}
+\newcommand*{\DTLformateditorlist}{%
+\DTLifbibfieldexists{Editor}{%
+\DTLstartsentencespace
+\@dtl@authorcount=0\relax
+\@for\@dtl@author:=\@dtl@key@Editor\do{%
+\advance\@dtl@authorcount by 1\relax}%
+\@dtl@tmpcount=0\relax
+\ifnum\@dtl@authorcount>\c@DTLmaxeditors
+{%
+ \@for\@dtl@author:=\@dtl@key@Editor\do{%
+ \advance\@dtl@tmpcount by 1\relax
+ \ifnum\@dtl@tmpcount=1\relax
+ \expandafter\DTLformateditor\@dtl@author
+ \else
+ \ifnum\@dtl@tmpcount>\c@DTLmaxeditors
+ \DTLandnotlast \etalname
+ \expandafter\DTLcheckendsperiod\expandafter{\etalname}%
+ \@endfortrue
+ \else
+ \DTLandnotlast \expandafter\DTLformateditor\@dtl@author
+ \fi
+ \fi
+ }%
+}%
+\else
+\@for\@dtl@author:=\@dtl@key@Editor\do{%
+ \advance\@dtl@tmpcount by 1\relax
+ \ifnum\@dtl@tmpcount=1\relax
+ \expandafter\DTLformateditor\@dtl@author
+ \else
+ \ifnum\@dtl@tmpcount=\@dtl@authorcount
+ \ifnum\@dtl@authorcount=2\relax
+ \DTLtwoand
+ \else
+ \DTLandlast
+ \fi
+ \expandafter\DTLformateditor\@dtl@author
+ \else
+ \DTLandnotlast \expandafter\DTLformateditor\@dtl@author
+ \fi
+ \fi
+ }%
+\fi
+,
+\ifnum\@dtl@authorcount=1\relax
+ \editorname
+ \expandafter\DTLcheckendsperiod\expandafter{\editorname}%
+\else
+ \editorsname
+ \expandafter\DTLcheckendsperiod\expandafter{\editorsname}%
+\fi
+}{}%
+}
+\newcommand*{\DTLformatsurnameonly}[4]{%
+\DTLstartsentencespace
+\def\@dtl@tmp{#1}%
+\ifx\@dtl@tmp\@empty\else#1~\fi
+#2%
+\def\@dtl@tmp{#3}%
+\ifx\@dtl@tmp\@empty
+ \DTLcheckendsperiod{#2}%
+\else
+ , #3%
+ \DTLcheckendsperiod{#3}%
+\fi
+}
+\newcommand*{\DTLformatforenames}[1]{%
+\DTLstartsentencespace
+#1%
+\DTLcheckendsperiod{#1}}
+\newcommand*{\DTLformatabbrvforenames}[1]{%
+\DTLstartsentencespace
+\DTLstoreinitials{#1}{\@dtl@tmp}\@dtl@tmp
+\expandafter\DTLcheckendsperiod\expandafter{\@dtl@tmp}}
+\newcommand*{\DTLformatvon}[1]{%
+\DTLstartsentencespace
+\def\@dtl@tmp{#1}%
+\ifx\@dtl@tmp\@empty
+\else
+ #1~%
+\fi
+}
+\newcommand*{\DTLformatsurname}[1]{%
+\DTLstartsentencespace
+#1\DTLcheckendsperiod{#1}}
+\newcommand*{\DTLformatjr}[1]{%
+\DTLstartsentencespace
+\def\@dtl@tmp{#1}%
+\ifx\@dtl@tmp\@empty
+\else
+ , #1\DTLcheckendsperiod{#1}%
+\fi
+}
+\newcommand*{\DTLformatcrossrefeditor}{%
+\DTLifbibfieldexists{Editor}{%
+\DTLstartsentencespace
+\@dtl@authorcount=0\relax
+\@for\@dtl@author:=\@dtl@key@Editor\do{%
+\advance\@dtl@authorcount by 1\relax}%
+{\@dtl@tmpcount=0\relax
+\@for\@dtl@author:=\@dtl@key@Editor\do{%
+\ifnum\@dtl@authorcount=1\relax
+ \expandafter\DTLformatsurnameonly\@dtl@author
+\else
+ \advance\@dtl@tmpcount by 1\relax
+ \ifnum\@dtl@tmpcount=1\relax
+ \expandafter\DTLformatsurnameonly\@dtl@author
+ \else
+ \ifnum\@dtl@authorcount=2\relax
+ \ \andname\ \expandafter\DTLformatsurnameonly\@dtl@author
+ \else
+ \ \etalname
+ \expandafter\DTLcheckendsperiod\expandafter{\etalname}
+ \fi
+ \@endfortrue
+ \fi
+\fi
+}}%
+}{}%
+}
+\newcommand*{\DTLformatvolnumpages}{%
+\DTLifbibfieldexists{Volume}{%
+\DTLstartsentencespace
+\DTLbibfield{Volume}\DTLperiodfalse}{}%
+\DTLifbibfieldexists{Number}{%
+\DTLstartsentencespace
+(\DTLbibfield{Number})\DTLperiodfalse}{}%
+\DTLifbibfieldexists{Pages}{%
+\DTLifanybibfieldexists{Volume,Number}{:}{%
+\DTLstartsentencespace
+\protected@edef\@dtl@pages{0\DTLbibfield{Pages}}%
+\DTLifnumerical{\@dtl@pages}{\pagename}{\pagesname}~}%
+\DTLbibfield{Pages}\DTLperiodfalse}{}%
+}
+\newcommand*{\DTLformatbvolume}{%
+\DTLifbibfieldexists{Volume}{%
+\ifDTLmidsentence
+ \volumename
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\volumename
+\fi
+~\DTLbibfield{Volume}%
+\DTLifbibfieldexists{Series}{\ \ofname\
+{\em\DTLbibfield{Series}}\DTLcheckbibfieldendsperiod{Series}}{%
+\DTLcheckbibfieldendsperiod{Volume}}%
+}{}}
+\newcommand*{\DTLformatchapterpages}{%
+\DTLifbibfieldexists{Chapter}{%
+\DTLifbibfieldexists{Type}{%
+\DTLstartsentencespace
+\DTLbibfield{Type}}{%
+\DTLstartsentencespace
+\chaptername}~\DTLbibfield{Chapter}%
+\DTLifbibfieldexists{Pages}{\DTLaddcomma}{%
+\DTLcheckbibfieldendsperiod{Chapter}}}{}%
+\DTLstartsentencespace
+\DTLformatpages}
+\newcommand*{\DTLformatpages}{%
+\DTLifbibfieldexists{Pages}{%
+\DTLstartsentencespace
+\protected@edef\@dtl@pages{0\DTLbibfield{Pages}}%
+\DTLifnumerical{\@dtl@pages}{\pagename}{\pagesname}~%
+\DTLbibfield{Pages}\DTLcheckbibfieldendsperiod{Pages}}{}%
+}
+\newcommand*{\DTLformatnumberseries}{%
+\DTLifbibfieldexists{Volume}{}{%
+\DTLifbibfieldexists{Number}{%
+\ifDTLmidsentence
+ \numbername
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\numbername
+\fi~\DTLbibfield{Number}%
+\DTLifbibfieldexists{Series}{\ \inname\ \DTLbibfield{Series}%
+\DTLcheckbibfieldendsperiod{Series}}{%
+\DTLcheckbibfieldendsperiod{Number}}%
+}{%
+\DTLifbibfieldexists{Series}{%
+\DTLstartsentencespace
+\DTLbibfield{Series}%
+\DTLcheckbibfieldendsperiod{Series}}{}}%
+}%
+}
+\newcommand*{\DTLformatbookcrossref}{%
+\DTLifbibfieldexists{Volume}{%
+\ifDTLmidsentence
+ \volumename
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\volumename
+\fi
+~\DTLbibfield{Volume}\ \ofname\
+}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi\ }%
+\DTLifbibfieldexists{Editor}{\DTLformatcrossrefeditor}{%
+\DTLifbibfieldexists{Key}{%
+\DTLbibfield{Key}}{%
+\DTLifbibfieldexists{Series}{%
+{\em\DTLbibfield{Series}}}{}%
+}%
+}%
+\edef\@dtl@tmp{\DTLbibfield{CrossRef}}%
+~\cite{\@dtl@tmp}%
+}
+\newcommand*{\DTLformatincollproccrossref}{%
+\DTLifbibfieldexists{Editor}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi\
+\DTLformatcrossrefeditor
+}{%
+\DTLifbibfieldexists{Key}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi\ \DTLbibfield{Key}%
+}{%
+\DTLifbibfieldexists{BookTitle}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi\ {\em\DTLbibfield{BookTitle}}}{}%
+}}%
+\edef\@dtl@tmp{\DTLbibfield{CrossRef}}%
+~\cite{\@dtl@tmp}%
+}
+\newcommand*{\DTLformatinedbooktitle}{%
+\DTLifbibfieldexists{BookTitle}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi\
+\DTLifbibfieldexists{Editor}{%
+\DTLformateditorlist\DTLaddcomma {\em\DTLbibfield{BookTitle}}%
+\DTLcheckbibfieldendsperiod{BookTitle}%
+}{{\em\DTLbibfield{BookTitle}}%
+\DTLcheckbibfieldendsperiod{BookTitle}%
+}}{}}
+\newcommand*{\DTLformatdate}{%
+\DTLifbibfieldexists{Year}{%
+\DTLifbibfieldexists{Month}{%
+\protected@edef\@dtl@tmp{\DTLbibfield{Month}}%
+\ifDTLmidsentence
+ \@dtl@tmp
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\@dtl@tmp
+\fi\
+\DTLmidsentencefalse}{}%
+\DTLstartsentencespace
+\DTLbibfield{Year}}{%
+\DTLifbibfieldexists{Month}{%
+\protected@edef\@dtl@tmp{\DTLbibfield{Month}}%
+\ifDTLmidsentence
+ \@dtl@tmp
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\@dtl@tmp
+\fi
+\DTLcheckbibfieldendsperiod{Month}%
+}{}}}
+\newcommand*{\DTLformatarticlecrossref}{%
+\DTLifbibfieldexists{Key}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi
+\ {\em\DTLbibfield{Key}}}{%
+\DTLifbibfieldexists{Journal}{%
+\ifDTLmidsentence
+ \inname
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\inname
+\fi
+\ {\em\DTLbibfield{Journal}}}{}}%
+\edef\@dtl@tmp{\DTLbibfield{CrossRef}}%
+~\cite{\@dtl@tmp}%
+}
+\newcommand*{\DTLbibfieldexists}[1]{%
+\TE@throw\noexpand\dtl@testbibfieldexists{#1}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldexists}[1]{%
+\DTLifbibfieldexists{#1}{\@dtl@conditiontrue}{\@dtl@conditionfalse}}
+\newcommand*{\DTLbibfieldiseq}[2]{%
+\TE@throw\noexpand\dtl@testbibfieldiseq{#1}{#2}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldiseq}[2]{%
+\DTLifbibfieldexists{#1}{%
+\expandafter\let\expandafter\@dtl@tmp\expandafter
+ =\csname @dtl@key@#1\endcsname
+\expandafter\toks@\expandafter{\@dtl@tmp}%
+\@dtl@toks{#2}%
+\edef\@dtl@docompare{\noexpand\dtlcompare{\noexpand\@dtl@tmpcount}%
+{\the\toks@}{\the\@dtl@toks}}%
+\@dtl@docompare
+\ifnum\@dtl@tmpcount=0\relax
+ \@dtl@conditiontrue
+\else
+ \@dtl@conditionfalse
+\fi
+}{%
+\@dtl@conditionfalse}%
+}
+\newcommand*{\DTLbibfieldislt}[2]{%
+\TE@throw\noexpand\dtl@testbibfieldislt{#1}{#2}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldislt}[2]{%
+\DTLifbibfieldexists{#1}{%
+\expandafter\let\expandafter\@dtl@tmp\expandafter
+ =\csname @dtl@key@#1\endcsname
+\expandafter\toks@\expandafter{\@dtl@tmp}%
+\@dtl@toks{#2}%
+\edef\@dtl@docompare{\noexpand\dtlcompare{\noexpand\@dtl@tmpcount}%
+{\the\toks@}{\the\@dtl@toks}}%
+\@dtl@docompare
+\ifnum\@dtl@tmpcount=-1\relax
+ \@dtl@conditiontrue
+\else
+ \@dtl@conditionfalse
+\fi
+}{%
+\@dtl@conditionfalse}%
+}
+\newcommand*{\DTLbibfieldisle}[2]{%
+\TE@throw\noexpand\dtl@testbibfieldisle{#1}{#2}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldisle}[2]{%
+\DTLifbibfieldexists{#1}{%
+\expandafter\let\expandafter\@dtl@tmp\expandafter
+ =\csname @dtl@key@#1\endcsname
+\expandafter\toks@\expandafter{\@dtl@tmp}%
+\@dtl@toks{#2}%
+\edef\@dtl@docompare{\noexpand\dtlcompare{\noexpand\@dtl@tmpcount}%
+{\the\toks@}{\the\@dtl@toks}}%
+\@dtl@docompare
+\ifnum\@dtl@tmpcount<1\relax
+ \@dtl@conditiontrue
+\else
+ \@dtl@conditionfalse
+\fi
+}{%
+\@dtl@conditionfalse}%
+}
+\newcommand*{\DTLbibfieldisgt}[2]{%
+\TE@throw\noexpand\dtl@testbibfieldisgt{#1}{#2}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldisgt}[2]{%
+\DTLifbibfieldexists{#1}{%
+\expandafter\let\expandafter\@dtl@tmp\expandafter
+ =\csname @dtl@key@#1\endcsname
+\expandafter\toks@\expandafter{\@dtl@tmp}%
+\@dtl@toks{#2}%
+\edef\@dtl@docompare{\noexpand\dtlcompare{\noexpand\@dtl@tmpcount}%
+{\the\toks@}{\the\@dtl@toks}}%
+\@dtl@docompare
+\ifnum\@dtl@tmpcount=1\relax
+ \@dtl@conditiontrue
+\else
+ \@dtl@conditionfalse
+\fi
+}{%
+\@dtl@conditionfalse}%
+}
+\newcommand*{\DTLbibfieldisge}[2]{%
+\TE@throw\noexpand\dtl@testbibfieldisge{#1}{#2}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldisge}[2]{%
+\DTLifbibfieldexists{#1}{%
+\expandafter\let\expandafter\@dtl@tmp\expandafter
+ =\csname @dtl@key@#1\endcsname
+\expandafter\toks@\expandafter{\@dtl@tmp}%
+\@dtl@toks{#2}%
+\edef\@dtl@docompare{\noexpand\dtlcompare{\noexpand\@dtl@tmpcount}%
+{\the\toks@}{\the\@dtl@toks}}%
+\@dtl@docompare
+\ifnum\@dtl@tmpcount>-1\relax
+ \@dtl@conditiontrue
+\else
+ \@dtl@conditionfalse
+\fi
+}{%
+\@dtl@conditionfalse}%
+}
+\newcommand*{\DTLbibfieldcontains}[2]{%
+\TE@throw\noexpand\dtl@testbibfieldcontains{#1}{#2}%
+\noexpand\if@dtl@condition}
+\newcommand*{\dtl@testbibfieldcontains}[2]{%
+\DTLifbibfieldexists{#1}{%
+\expandafter\let\expandafter\@dtl@tmp\expandafter
+ =\csname @dtl@key@#1\endcsname
+\expandafter\dtl@testifsubstring\expandafter{\@dtl@tmp}{#2}%
+}{\@dtl@conditionfalse}}
+\newenvironment{DTLthebibliography}[2][\boolean{true}]{%
+\@dtl@tmpcount=0\relax
+\@sDTLforeach[#1]{#2}{}{\advance\@dtl@tmpcount by 1\relax}%
+\begin{thebibliography}{\number\@dtl@tmpcount}
+}{\end{thebibliography}}
+\newcommand*{\DTLmonthname}[1]{%
+\dtl@monthname{#1}}
+\newcommand*{\dtl@monthname}[1]{%
+\ifcase#1%
+\or January%
+\or February%
+\or March%
+\or April%
+\or May%
+\or June%
+\or July%
+\or August%
+\or September%
+\or October%
+\or November%
+\or December%
+\fi}
+\newcommand*{\dtl@abbrvmonthname}[1]{%
+\ifcase#1%
+\or Jan.%
+\or Feb.%
+\or Mar.%
+\or Apr.%
+\or May%
+\or June%
+\or July%
+\or Aug.%
+\or Sept.%
+\or Oct.%
+\or Nov.%
+\or Dec.%
+\fi}
+\newcommand*{\DTLbibitem}{\bibitem{\DBIBcitekey}}
+\newcommand*{\DTLformatauthor}[4]{%
+\DTLformatforenames{#4}
+\DTLformatvon{#1}%
+\DTLformatsurname{#2}%
+\DTLformatjr{#3}}
+\newcommand*{\DTLformateditor}[4]{%
+\DTLformatforenames{#4}
+\DTLformatvon{#1}%
+\DTLformatsurname{#2}%
+\DTLformatjr{#3}}
+\newcommand*{\DTLformatedition}[1]{#1 \editionname}
+\newcommand{\DTLformatarticle}{}
+\newcommand{\DTLformatbook}{}
+\newcommand{\DTLformatbooklet}{}
+\newcommand{\DTLformatinbook}{}
+\newcommand{\DTLformatincollection}{}
+\newcommand{\DTLformatinproceedings}{}
+\newcommand{\DTLformatmanual}{}
+\newcommand{\DTLformatmastersthesis}{}
+\newcommand{\DTLformatmisc}{}
+\newcommand{\DTLformatphdthesis}{}
+\newcommand{\DTLformatproceedings}{}
+\newcommand{\DTLformattechreport}{}
+\newcommand{\DTLformatunpublished}{}
+\newcommand*{\DTLacmcs}{ACM Computing Surveys}
+\newcommand*{\DTLacta}{Acta Informatica}
+\newcommand*{\DTLcacm}{Communications of the ACM}
+\newcommand*{\DTLibmjrd}{IBM Journal of Research and Development}
+\newcommand*{\DTLibmsj}{IBM Systems Journal}
+\newcommand*{\DTLieeese}{IEEE Transactions on Software Engineering}
+\newcommand*{\DTLieeetc}{IEEE Transactions on Computers}
+\newcommand*{\DTLieeetcad}{IEEE Transactions on Computer-Aided Design
+of Integrated Circuits}
+\newcommand*{\DTLipl}{Information Processing Letters}
+\newcommand*{\DTLjacm}{Journal of the ACM}
+\newcommand*{\DTLjcss}{Journal of Computer and System Sciences}
+\newcommand*{\DTLscp}{Science of Computer Programming}
+\newcommand*{\DTLsicomp}{SIAM Journal on Computing}
+\newcommand*{\DTLtocs}{ACM Transactions on Computer Systems}
+\newcommand*{\DTLtods}{ACM Transactions on Database Systems}
+\newcommand*{\DTLtog}{ACM Transactions on Graphics}
+\newcommand*{\DTLtoms}{ACM Transactions on Mathematical Software}
+\newcommand*{\DTLtoois}{ACM Transactions on Office Information
+Systems}
+\newcommand*{\DTLtoplas}{ACM Transactions on Programming Languages
+and Systems}
+\newcommand*{\DTLtcs}{Theoretical Computer Science}
+\newcommand{\dtlbst@plain}{%
+\renewenvironment{DTLthebibliography}[2][\boolean{true}]{%
+\@dtl@tmpcount=0\relax
+\@sDTLforeach[##1]{##2}{}{\advance\@dtl@tmpcount by 1\relax}%
+\begin{thebibliography}{\number\@dtl@tmpcount}%
+}{\end{thebibliography}}%
+\renewcommand*{\DTLbibitem}{\bibitem{\DBIBcitekey}}%
+\renewcommand*{\DTLformatauthor}[4]{%
+\DTLformatforenames{##4}
+\DTLformatvon{##1}%
+\DTLformatsurname{##2}%
+\DTLformatjr{##3}}
+\renewcommand*{\DTLformateditor}[4]{%
+\DTLformatforenames{##4}
+\DTLformatvon{##1}%
+\DTLformatsurname{##2}%
+\DTLformatjr{##3}}
+\renewcommand*{\DTLformatedition}[1]{##1 \editionname}%
+\let\DTLmonthname\dtl@monthname
+\renewcommand*{\DTLacmcs}{ACM Computing Surveys}
+\renewcommand*{\DTLacta}{Acta Informatica}
+\renewcommand*{\DTLcacm}{Communications of the ACM}
+\renewcommand*{\DTLibmjrd}{IBM Journal of Research and Development}
+\renewcommand*{\DTLibmsj}{IBM Systems Journal}
+\renewcommand*{\DTLieeese}{IEEE Transactions on Software Engineering}
+\renewcommand*{\DTLieeetc}{IEEE Transactions on Computers}
+\renewcommand*{\DTLieeetcad}{IEEE Transactions on Computer-Aided Design
+of Integrated Circuits}
+\renewcommand*{\DTLipl}{Information Processing Letters}
+\renewcommand*{\DTLjacm}{Journal of the ACM}
+\renewcommand*{\DTLjcss}{Journal of Computer and System Sciences}
+\renewcommand*{\DTLscp}{Science of Computer Programming}
+\renewcommand*{\DTLsicomp}{SIAM Journal on Computing}
+\renewcommand*{\DTLtocs}{ACM Transactions on Computer Systems}
+\renewcommand*{\DTLtods}{ACM Transactions on Database Systems}
+\renewcommand*{\DTLtog}{ACM Transactions on Graphics}
+\renewcommand*{\DTLtoms}{ACM Transactions on Mathematical Software}
+\renewcommand*{\DTLtoois}{ACM Transactions on Office Information
+Systems}
+\renewcommand*{\DTLtoplas}{ACM Transactions on Programming Languages
+and Systems}
+\renewcommand*{\DTLtcs}{Theoretical Computer Science}
+\renewcommand*{\DTLformatarticle}{%
+\DTLformatauthorlist
+\DTLifbibfieldexists{Author}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{CrossRef}{%
+\DTLformatarticlecrossref
+\DTLifbibfieldexists{Pages}{\DTLaddcomma}{}%
+\DTLformatpages
+\DTLaddperiod
+}{% no cross ref field
+\DTLifbibfieldexists{Journal}{\DTLstartsentencespace
+{\em\DTLbibfield{Journal}}%
+\DTLcheckbibfieldendsperiod{Journal}%
+\DTLifanybibfieldexists{Number,Volume,Pages,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatvolnumpages
+\DTLifanybibfieldexists{Volume,Number,Pages}{%
+\DTLifanybibfieldexists{Year,Month}{\DTLaddcomma}{%
+\DTLaddperiod}%
+\DTLmidsentencefalse}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Year,Month}{\DTLaddperiod}{}%
+}%
+\DTLifbibfieldexists{Note}{\DTLstartsentencespace\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}
+\renewcommand*{\DTLformatbook}{%
+\DTLifbibfieldexists{Author}{%
+\DTLformatauthorlist\DTLaddperiod
+}{\DTLformateditorlist\DTLifbibfieldexists{Editor}{%
+\DTLaddperiod}{}}%
+\DTLifbibfieldexists{Title}{\DTLstartsentencespace
+{\em\DTLbibfield{Title}}%
+\DTLcheckbibfieldendsperiod{Title}}{}%
+\DTLifbibfieldexists{CrossRef}{%
+\DTLifbibfieldexists{Title}{\DTLaddperiod}{}%
+\DTLformatbookcrossref
+\DTLifanybibfieldexists{Edition,Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}%
+}{% no cross ref field
+\DTLifbibfieldexists{Title}{%
+\DTLifbibfieldexists{Volume}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatbvolume
+\DTLformatnumberseries
+\DTLifanybibfieldexists{Number,Series,Volume}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Publisher}{\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLifbibfieldexists{Address}{\DTLaddcomma}{%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}%
+}}{}%
+\DTLifbibfieldexists{Address}{\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{\DTLaddperiod}}{}%
+}%
+\DTLifbibfieldexists{Edition}{%
+\protected@edef\@dtl@tmp{\DTLformatedition{\DTLbibfield{Edition}}}%
+\ifDTLmidsentence
+ \@dtl@tmp
+\else
+ \DTLstartsentencespace\expandafter\MakeUppercase\@dtl@tmp
+\fi
+\expandafter\DTLcheckendsperiod\expandafter{\@dtl@tmp}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{\DTLaddperiod}%
+}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Year,Month}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatbooklet}{%
+\DTLifbibfieldexists{Author}{%
+\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{HowPublished}{%
+\DTLstartsentencespace\DTLbibfield{HowPublished}%
+\DTLcheckbibfieldendsperiod{HowPublished}%
+\DTLifanybibfieldexists{Address,Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Year,Month}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{\DTLstartsentencespace\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatinbook}{%
+\DTLifbibfieldexists{Author}{%
+\DTLformatauthorlist\DTLaddperiod}{%
+\DTLifbibfieldexists{Editor}{\DTLformateditorlist\DTLaddperiod}{}}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+{\em\DTLbibfield{Title}}%
+\DTLcheckbibfieldendsperiod{Title}%
+}{}%
+\DTLifbibfieldexists{CrossRef}{%
+\DTLifbibfieldexists{Title}{%
+\DTLifbibfieldexists{Chapter}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatchapterpages
+\DTLifanybibfieldexists{Chapter,Pages}{\DTLaddperiod}{}%
+\DTLformatbookcrossref
+}{% no cross ref
+\DTLifbibfieldexists{Title}{%
+\DTLifanybibfieldexists{Chapter,Volume}{\DTLaddcomma
+}{\DTLaddperiod}}{}%
+\DTLformatbvolume
+\DTLifanybibfieldexists{Volume,Series}{%
+\DTLifanybibfieldexists{Chapter,Pages}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatchapterpages
+\DTLifanybibfieldexists{Chapter,Pages}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLifbibfieldexists{Address}{\DTLaddcomma}{}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}}{}%
+}%
+\DTLifanybibfieldexists{Edition,Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}%
+\DTLifbibfieldexists{Edition}{%
+\protected@edef\@dtl@tmp{\DTLformatedition{\DTLbibfield{Edition}}}%
+\ifDTLmidsentence
+ \@dtl@tmp
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\@dtl@tmp
+\fi
+\expandafter\DTLcheckendsperiod\expandafter{\@dtl@tmp}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}%
+}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatincollection}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{CrossRef}{%
+\DTLformatincollproccrossref
+\DTLifanybibfieldexists{Chapter,Pages}{\DTLaddcomma}{}%
+\DTLformatchapterpages\DTLaddperiod
+}{% no cross ref entry
+\DTLformatinedbooktitle
+\DTLifbibfieldexists{BookTitle}{%
+\DTLifanybibfieldexists{Volume,Series,Chapter,Pages,Number}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatbvolume
+\DTLifbibfieldexists{Volume}{%
+\DTLifanybibfieldexists{Number,Series,Chapter,Pages}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatnumberseries
+\DTLifanybibfieldexists{Number,Series}{%
+\DTLifanybibfieldexists{Chapter,Pages}{\DTLaddcomma
+}{\DTLaddperiod}}{}%
+\DTLformatchapterpages
+\DTLifanybibfieldexists{Chapter,Pages}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLifanybibfieldexists{Address,Edition,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Edition,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Edition}{%
+\protected@edef\@dtl@tmp{\DTLformatedition{\DTLbibfield{Edition}}}%
+\ifDTLmidsentence
+ \@dtl@tmp
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\@dtl@tmp
+\fi
+\expandafter\DTLcheckendsperiod\expandafter{\@dtl@tmp}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}%
+}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatinproceedings}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{CrossRef}{%
+\DTLformatincollproccrossref
+\DTLifbibfieldexists{Pages}{\DTLaddcomma}{%
+\DTLaddperiod}%
+\DTLformatpages
+\DTLifbibfieldexists{Pages}{\DTLaddperiod}{}%
+}{% no cross ref
+\DTLformatinedbooktitle
+\DTLifbibfieldexists{BookTitle}{%
+\DTLifanybibfieldexists{Volume,Series,Pages,Number,Address,%
+Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatbvolume
+\DTLifbibfieldexists{Volume}{%
+\DTLifanybibfieldexists{Number,Series,Pages,Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatnumberseries
+\DTLifanybibfieldexists{Number,Series}{%
+\DTLifanybibfieldexists{Pages,Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatpages
+\DTLifbibfieldexists{Pages}{%
+\DTLifanybibfieldexists{Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{%
+\DTLaddperiod}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLifbibfieldexists{Publisher}{\DTLaddcomma}{%
+\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLaddperiod}{}%
+}{%
+\DTLifanybibfieldexists{Publisher,Organization}{%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLifanybibfieldexists{Publisher,Month,Year}{%
+\DTLaddcomma}{}}{}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{%
+\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+}%
+}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatmanual}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist
+\DTLaddperiod}{%
+\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLifbibfieldexists{Address}{\DTLaddcomma \DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+}{}%
+\DTLaddperiod}{}%
+}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+{\em\DTLbibfield{Title}}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLifbibfieldexists{Author}{%
+\DTLifanybibfieldexists{Organization,Address}{%
+\DTLaddperiod}{\DTLaddcomma}}{%
+\DTLifanybibfieldexists{Organization,Address,Edition,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}}{}%
+\DTLifbibfieldexists{Author}{%
+\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLifanybibfieldexists{Address,Edition,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Edition,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+}{%
+\DTLifbibfieldexists{Organization}{}{%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Edition,Month,Year}{\DTLaddcomma}{%
+\DTLaddperiod}}{}}%
+}%
+\DTLifbibfieldexists{Edition}{%
+\protected@edef\@dtl@tmp{\DTLformatedition{\DTLbibfield{Edition}}}%
+\ifDTLmidsentence
+ \@dtl@tmp
+\else
+ \DTLstartsentencespace
+ \expandafter\MakeUppercase\@dtl@tmp
+\fi
+\expandafter\DTLcheckendsperiod\expandafter{\@dtl@tmp}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{%
+\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatmastersthesis}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{Type}{%
+\DTLstartsentencespace
+\DTLbibfield{Type}%
+\DTLcheckbibfieldendsperiod{Type}%
+\DTLifanybibfieldexists{School,Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{School}{%
+\DTLstartsentencespace
+\DTLbibfield{School}%
+\DTLcheckbibfieldendsperiod{School}%
+\DTLifanybibfieldexists{Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatmisc}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLifbibfieldexists{HowPublished}{\DTLaddperiod}{%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{%
+\DTLaddperiod}%
+}%
+\DTLmidsentencefalse}{}%
+\DTLifbibfieldexists{HowPublished}{%
+\DTLstartsentencespace
+\DTLbibfield{HowPublished}%
+\DTLcheckbibfieldendsperiod{HowPublished}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{%
+\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatphdthesis}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+{\em\DTLbibfield{Title}}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{Type}{%
+\DTLstartsentencespace
+\DTLbibfield{Type}%
+\DTLcheckbibfieldendsperiod{Type}%
+\DTLifanybibfieldexists{School,Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{School}{%
+\DTLstartsentencespace
+\DTLbibfield{School}%
+\DTLcheckbibfieldendsperiod{School}%
+\DTLifanybibfieldexists{Address,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatproceedings}{%
+\DTLifbibfieldexists{Editor}{%
+\DTLformateditorlist\DTLaddperiod}{%
+\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLaddperiod}{}}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+{\em\DTLbibfield{Title}}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLifanybibfieldexists{Volume,Number,Address,Editor,Publisher,%
+Month,Year}{\DTLaddcomma}{\DTLaddperiod}%
+}{}%
+\DTLformatbvolume
+\DTLifbibfieldexists{Volume}{%
+\DTLifanybibfieldexists{Number,Address,Editor,Publisher,%
+Month,Year}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatnumberseries
+\DTLifbibfieldexists{Number}{%
+\DTLifanybibfieldexists{Address,Editor,Publisher,%
+Month,Year}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{\DTLaddperiod}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Editor}{\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLaddcomma}{\DTLaddperiod}}{}}{}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLaddperiod
+}{}%
+}{% no address
+\DTLifbibfieldexists{Editor}{%
+\DTLifbibfieldexists{Organization}{%
+\DTLstartsentencespace
+\DTLbibfield{Organization}%
+\DTLcheckbibfieldendsperiod{Organization}%
+\DTLifanybibfieldexists{Publisher,Month,Year}{%
+\DTLaddcomma}{\DTLaddperiod}}{}%
+}{}%
+\DTLifbibfieldexists{Publisher}{%
+\DTLstartsentencespace
+\DTLbibfield{Publisher}%
+\DTLcheckbibfieldendsperiod{Publisher}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformattechreport}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{Type}{%
+\DTLstartsentencespace
+\DTLbibfield{Type}%
+\DTLcheckbibfieldendsperiod{Type}%
+\DTLifbibfieldexists{Number}{~}{}}{}%
+\DTLifbibfieldexists{Number}{%
+\DTLstartsentencespace
+\DTLbibfield{Number}%
+\DTLcheckbibfieldendsperiod{Number}%
+}{}%
+\DTLifanybibfieldexists{Type,Number}{%
+\DTLifanybibfieldexists{Institution,Address,Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Institution}{%
+\DTLstartsentencespace
+\DTLbibfield{Institution}%
+\DTLcheckbibfieldendsperiod{Institution}%
+\DTLifanybibfieldexists{Address,Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}}{}%
+\DTLifbibfieldexists{Address}{%
+\DTLstartsentencespace
+\DTLbibfield{Address}%
+\DTLcheckbibfieldendsperiod{Address}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma
+}{\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLaddperiod}{}%
+}%
+\renewcommand*{\DTLformatunpublished}{%
+\DTLifbibfieldexists{Author}{\DTLformatauthorlist\DTLaddperiod}{}%
+\DTLifbibfieldexists{Title}{%
+\DTLstartsentencespace
+\DTLbibfield{Title}%
+\DTLcheckbibfieldendsperiod{Title}%
+\DTLaddperiod}{}%
+\DTLifbibfieldexists{Note}{%
+\DTLstartsentencespace
+\DTLbibfield{Note}%
+\DTLcheckbibfieldendsperiod{Note}%
+\DTLifanybibfieldexists{Month,Year}{\DTLaddcomma}{\DTLaddperiod}}{}%
+\DTLformatdate
+\DTLifanybibfieldexists{Month,Year}{\DTLaddperiod}{}%
+}%
+}
+\newcommand{\dtlbst@abbrv}{%
+\dtlbst@plain
+\renewcommand*{\DTLformatauthor}[4]{%
+\DTLformatabbrvforenames{##4}
+\DTLformatvon{##1}%
+\DTLformatsurname{##2}%
+\DTLformatjr{##3}}
+\renewcommand*{\DTLformateditor}[4]{%
+\DTLformatabbrvforenames{##4}
+\DTLformatvon{##1}%
+\DTLformatsurname{##2}%
+\DTLformatjr{##3}}
+\let\DTLmonthname\dtl@abbrvmonthname
+\renewcommand*{\DTLacmcs}{ACM Comput.\ Surv.}
+\renewcommand*{\DTLacta}{Acta Inf.}
+\renewcommand*{\DTLcacm}{Commun.\ ACM}
+\renewcommand*{\DTLibmjrd}{IBM J.\ Res.\ Dev.}
+\renewcommand*{\DTLibmsj}{IBM Syst.~J.}
+\renewcommand*{\DTLieeese}{IEEE Trans. Softw.\ Eng.}
+\renewcommand*{\DTLieeetc}{IEEE Trans.\ Comput.}
+\renewcommand*{\DTLieeetcad}{IEEE Trans.\ Comput.-Aided Design
+Integrated Circuits}
+\renewcommand*{\DTLipl}{Inf.\ Process.\ Lett.}
+\renewcommand*{\DTLjacm}{J.~ACM}
+\renewcommand*{\DTLjcss}{J.~Comput.\ Syst.\ Sci.}
+\renewcommand*{\DTLscp}{Sci.\ Comput.\ Programming}
+\renewcommand*{\DTLsicomp}{SIAM J.~Comput.}
+\renewcommand*{\DTLtocs}{ACM Trans.\ Comput.\ Syst.}
+\renewcommand*{\DTLtods}{ACM Trans.\ Database Syst.}
+\renewcommand*{\DTLtog}{ACM Trans.\ Gr.}
+\renewcommand*{\DTLtoms}{ACM Trans.\ Math. Softw.}
+\renewcommand*{\DTLtoois}{ACM Trans. Office Inf.\ Syst.}
+\renewcommand*{\DTLtoplas}{ACM Trans.\ Prog. Lang.\ Syst.}
+\renewcommand*{\DTLtcs}{Theoretical Comput.\ Sci.}
+}
+\newcommand{\dtlbst@alpha}{%
+\dtlbst@plain
+\renewenvironment{DTLthebibliography}[2][\boolean{true}]{%
+\dtl@createalphabiblabels{##1}{##2}%
+\begin{thebibliography}{\@dtl@widestlabel}%
+}{\end{thebibliography}}%
+\renewcommand*{\DTLbibitem}{%
+\expandafter\bibitem\expandafter
+ [\csname dtl@biblabel@\DBIBcitekey\endcsname]{\DBIBcitekey}}%
+}
+\newcommand*{\dtl@createalphabiblabels}[2]{%
+\dtl@message{Creating bib labels}%
+\begingroup
+\gdef\@dtl@widestlabel{}%
+\dtl@widest=0pt\relax
+\DTLforeachbibentry[#1]{#2}{%
+\dtl@message{\DBIBcitekey}%
+\DTLifbibfieldexists{Author}{%
+ \dtl@listgetalphalabel{\@dtl@thislabel}{\@dtl@key@Author}%
+}{%
+\DTLifbibfieldexists{Editor}{%
+ \dtl@listgetalphalabel{\@dtl@thislabel}{\@dtl@key@Editor}%
+ }{%
+ \DTLifbibfieldexists{Key}{%
+ \expandafter\dtl@get@firstthree\expandafter
+ {\@dtl@key@Key}{\@dtl@thislabel}%
+ }{%
+ \DTLifbibfieldexists{Organization}{%
+ \expandafter\dtl@get@firstthree\expandafter
+ {\@dtl@key@Organization}{\@dtl@thislabel}%
+ }{%
+ \expandafter\dtl@get@firstthree\expandafter
+ {\DBIBentrytype}{\@dtl@thislabel}%
+ }%
+ }}}%
+\DTLifbibfieldexists{Year}{}{\DTLifbibfieldexists{CrossRef}{%
+\DTLgetvalueforkey{\@dtl@key@Year}{Year}{#2}{CiteKey}{%
+\@dtl@key@CrossRef}}{}}%
+\DTLifbibfieldexists{Year}{%
+\expandafter\dtl@get@yearsuffix\expandafter{\@dtl@key@Year}%
+\expandafter\toks@\expandafter{\@dtl@thislabel}%
+\expandafter\@dtl@toks\expandafter{\@dtl@year}%
+\edef\@dtl@thislabel{\the\toks@\the\@dtl@toks}%
+}{}%
+\let\@dtl@s@thislabel=\@dtl@thislabel
+\@onelevel@sanitize\@dtl@s@thislabel
+\@ifundefined{c@biblabel@\@dtl@s@thislabel}{%
+\newcounter{biblabel@\@dtl@s@thislabel}%
+\setcounter{biblabel@\@dtl@s@thislabel}{1}%
+\expandafter\edef\csname @dtl@bibfirst@\@dtl@s@thislabel\endcsname{%
+\DBIBcitekey}%
+\expandafter\global
+\expandafter\let\csname dtl@biblabel@\DBIBcitekey\endcsname=
+ \@dtl@thislabel
+}{%
+\expandafter\ifnum\csname c@biblabel@\@dtl@s@thislabel\endcsname=1\relax
+ \expandafter\let\expandafter\@dtl@tmp
+ \csname @dtl@bibfirst@\@dtl@s@thislabel\endcsname
+ \expandafter\protected@xdef\csname dtl@biblabel@\@dtl@tmp\endcsname{%
+ \@dtl@thislabel a}%
+\fi
+\stepcounter{biblabel@\@dtl@s@thislabel}%
+\expandafter\protected@xdef\csname dtl@biblabel@\DBIBcitekey\endcsname{%
+ \@dtl@thislabel\alph{biblabel@\@dtl@s@thislabel}}%
+}%
+\settowidth{\dtl@tmplength}{%
+ \csname dtl@biblabel@\DBIBcitekey\endcsname}%
+\ifdim\dtl@tmplength>\dtl@widest
+ \dtl@widest=\dtl@tmplength
+ \expandafter\global\expandafter\let\expandafter\@dtl@widestlabel
+ \expandafter=\csname dtl@biblabel@\DBIBcitekey\endcsname
+\fi
+}%
+\endgroup
+}
+\newcommand*{\dtl@listgetalphalabel}[2]{%
+\@dtl@authorcount=0\relax
+\@for\@dtl@author:=#2\do{%
+\advance\@dtl@authorcount by 1\relax}%
+\ifnum\@dtl@authorcount=1\relax
+ \expandafter\dtl@getsinglealphalabel#2{#1}\relax
+\else
+ {%
+ \xdef#1{}%
+ \@dtl@tmpcount=0\relax
+ \def\DTLafterinitials{}\def\DTLbetweeninitials{}%
+ \def\DTLafterinitialbeforehyphen{}\def\DTLinitialhyphen{}%
+ \@for\@dtl@author:=#2\do{%
+ \expandafter\dtl@getauthorinitial\@dtl@author
+ \expandafter\toks@\expandafter{\@dtl@tmp}%
+ \expandafter\@dtl@toks\expandafter{#1}%
+ \xdef#1{\the\@dtl@toks\the\toks@}%
+ \advance\@dtl@tmpcount by 1\relax
+ \ifnum\@dtl@tmpcount>2\relax\@endfortrue\fi
+ }}%
+\fi
+}
+\newcommand*{\dtl@getauthorinitial}[4]{%
+\def\@dtl@vonpart{#1}%
+\ifx\@dtl@vonpart\@empty
+ \DTLstoreinitials{#2}{\@dtl@tmp}%
+\else
+ \DTLstoreinitials{#1 #2}{\@dtl@tmp}%
+\fi}
+\newcommand*{\dtl@getsinglealphalabel}[5]{%
+\def\@dtl@vonpart{#1}%
+\ifx\@dtl@vonpart\@empty
+ \DTLifSubString{#2}{-}{%
+ {\def\DTLafterinitials{}\def\DTLbetweeninitials{}%
+ \def\DTLafterinitialbeforehyphen{}%
+ \def\DTLinitialhyphen{}%
+ \DTLstoreinitials{#2}{\@dtl@tmp}\global\let#5=\@dtl@tmp}%
+ }{%
+ \dtl@getfirstthree{#5}#2{}{}{}{}\@nil
+ }
+\else
+ {\def\DTLafterinitials{}\def\DTLbetweeninitials{}%
+ \def\DTLafterinitialbeforehyphen{}%
+ \def\DTLinitialhyphen{}%
+ \DTLstoreinitials{#1 #2}{\@dtl@tmp}\global\let#5=\@dtl@tmp}%
+\fi
+}
+\def\dtl@getfirstthree#1#2#3#4#5\@nil{%
+ \def#1{#2#3#4}%
+}
+\newcommand*{\dtl@get@firstthree}[2]{%
+\dtl@getfirstthree#2#1{}{}{}{}{}\@nil}
+\newcommand*{\dtl@get@yearsuffix}[1]{%
+\dtl@getyearsuffix#1\@nil\relax\relax}
+
+\def\dtl@getyearsuffix#1#2#3{%
+\def\@dtl@argi{#1}\def\@dtl@argii{#2}%
+\def\@dtl@argiii{#3}%
+\ifx\@dtl@argi\@nnil
+ \def\@dtl@year{}%
+ \let\@dtl@donext=\relax
+\else
+ \ifx\@dtl@argii\@nnil
+ \dtl@ifsingle{#1}{%
+ \def\@dtl@year{#1}%
+ \let\@dtl@donext=\relax
+ }{%
+ \def\@dtl@donext{\dtl@getyearsuffix#1#2#3}%
+ }%
+ \else
+ \ifx\@dtl@argiii\@nnil
+ \dtl@ifsingle{#1}{%
+ \dtl@ifsingle{#2}{%
+ \def\@dtl@year{#1#2}%
+ \let\@dtl@donext=\relax
+ }{%
+ \def\@dtl@donext{\dtl@getyearsuffix#2#3}%
+ }%
+ }{%
+ \def\@dtl@donext{\dtl@getyearsuffix#2#3}%
+ }%
+ \else
+ \def\@dtl@donext{\dtl@getyearsuffix{#2}{#3}}%
+ \fi
+ \fi
+\fi
+\@dtl@donext
+}
+\newcommand*{\DTLbibliographystyle}[1]{%
+\@ifundefined{dtlbst@#1}{\PackageError{databib}{Unknown
+bibliography style `#1'}{}}{\csname dtlbst@#1\endcsname}}
+\DTLbibliographystyle{\dtlbib@style}
+\endinput
+%%
+%% End of file `databib.sty'.