\unprotect
\definesystemvariable {pv}
\definesystemvariable {pb}
\definemessageconstant {bib}
\definefileconstant {bibextension} {bbl}
\startmessages all library: bib
title: publications
1: file -- not found, unknown style ignored
2: file -- not found, waiting for bibtex
3: wrote a new auxiliary file \jobname.aux
4: loading database from --
5: warning: cite argument -- on \the\inputlineno
6: loading formatting style from --
\stopmessages
\startconstants dutch english
database: database database
artauthor: artauthor artauthor
editor: editor editor
authoretallimit: authoretallimit authoretallimit
artauthoretallimit: artauthoretallimit artauthoretallimit
editoretallimit: editoretallimit editoretallimit
authoretaldisplay: authoretaldisplay authoretaldisplay
artauthoretaldisplay: artauthoretaldisplay artauthoretaldisplay
editoretaldisplay: editoretaldisplay editoretaldisplay
authoretaltext: authoretaltext authoretaltext
artauthoretaltext: artauthoretaltext artauthoretaltext
editoretaltext: editoretaltext editoretaltext
otherstext: otherstext otherstext
andtext: andtext andtext
totalnumber: totalnumber totalnumber
firstnamesep: firstnamesep firstnamesep
vonsep: vonsep vonsep
juniorsep: juniorsep juniorsep
surnamesep: surnamesep surnamesep
lastnamesep: lastnamesep lastnamesep
finalnamesep: finalnamesep finalnamesep
namesep: namesep namesep
pubsep: pubsep pubsep
lastpubsep: lastpubsep lastpubsep
refcommand: refcommand refcommand
samplesize: samplesize samplesize
\stopconstants
\startvariables dutch english
german czech
italian romanian
french
title: titel title
titel titul
titolo titlu
titre
short: kort short
kurz short
short short
short
cite: cite cite
cite cite
cite cite
cite
bbl: bbl bbl
bbl bbl
bbl bbl
bbl
bib: bib bib
bib bib
bib bib
bib
author: auteur author
autor autor
autore autor
auteur
\stopvariables
\def\biblistname{pubs}
\let\preloadbiblist\relax
\ifx\currentcomponent\v!text
\edef\temp{\the\everystarttext}
\ifx\temp\empty
\def\preloadbiblist{\dousepublications\jobname }
\else
\appendtoks \dousepublications\jobname \to \everystarttext
\fi
\else \ifx\currentcomponent\v!project
\def\startproduct #1
{\doateverystarttext
\dousepublications{#1}
\donextlevel\v!product\currentproduct
\doexecutefileonce\doexecutefileonce
\donotexecutefile\doexecutefile#1\\}
\else \ifx\currentcomponent\v!product
\def\preloadbiblist{\dousepublications\jobname }
\else
\def\preloadbiblist{\dousepublications\jobname }
\fi \fi \fi
\definelist[pubs]
\setuplist[pubs][\c!width=]
\setupheadtext[en][pubs=References]
\setupheadtext[nl][pubs=Literatuur]
\setupheadtext[de][pubs=Literatur]
\setupheadtext[it][pubs=Bibliografia]
\setupheadtext[sl][pubs=Literatura]
\setupheadtext[fr][pubs=Bibliographie]
\long\def\bibdoifelse#1
{\@EA\def\@EA\!!stringa\@EA{#1}
\ifx\!!stringa\empty
\expandafter\secondoftwoarguments
\else
\expandafter\firstoftwoarguments
\fi}
\long\def\bibdoifnot#1
{\@EA\def\@EA\!!stringa\@EA{#1}
\ifx\!!stringa\empty
\expandafter\firstofoneargument
\else
\expandafter\gobbleoneargument
\fi}
\long\def\bibdoif#1
{\@EA\def\@EA\!!stringa\@EA{#1}
\ifx\!!stringa\empty
\expandafter\gobbleoneargument
\else
\expandafter\firstofoneargument
\fi}
\def\setupbibtex{\dosingleempty\dosetupbibtex}
\def\dosetupbibtex[#1]
{\let\@@pbdatabase\empty
\let\@@pbsort \empty
\getparameters[\??pb][#1]
\expanded{\processaction[\@@pbsort]}
[ \v!no=>\def\bibstyle{cont-no},
\v!author=>\def\bibstyle{cont-au},
\v!title=>\def\bibstyle{cont-ti},
\v!short=>\def\bibstyle{cont-ab},
\s!default=>\def\bibstyle{cont-no},
\s!unknown=>\def\bibstyle{cont-no}]
\ifx\@@pbdatabase\empty\else \writeauxfile \fi}
\dosetupbibtex[bibtex=bibtex]
\def\writeauxfile
{\doifmode{*first}
{\openout \scratchwrite \jobname.aux
\write \scratchwrite {\string\citation{*}}
\write \scratchwrite {\string\bibstyle{\bibstyle}}
\write \scratchwrite {\string\bibdata{\@@pbdatabase}}
\closeout\scratchwrite
\showmessage\m!bib{3}{}
\expanded{\installprogram{\@@pbbibtex\space\jobname}}}}
\newif\ifsortbycite \sortbycitetrue
\newif\iftypesetall \typesetallfalse
\newif\ifautohang \autohangfalse
\newif\ifbibcitecompress \bibcitecompresstrue
\def\setuppublications
{\dosingleargument\dosetuppublications}
\def\bibleftnumber#1
{#1\hfill~}
\def\dosetuppublications[#1]
{\getparameters
[\??pb]
[\c!alternative=,#1]
\doifsomething\@@pbalternative
{\readsysfile
{bibl-\@@pbalternative.tex}
{\showmessage\m!bib{6}{bibl-\@@pbalternative}\let\@@pbalternative\empty}
{\showmessage\m!bib{1}{bibl-\@@pbalternative}\let\@@pbalternative\empty}}
\getparameters
[\??pb]
[#1]
\processaction
[\@@pbcriterium]
[ \v!all=>\typesetalltrue,
\s!unknown=>\typesetallfalse]
\processaction
[\@@pbautohang]
[ \v!yes=>\autohangtrue,
\s!unknown=>\autohangfalse]
\processaction
[\@@pbsorttype]
[ \v!cite=>\sortbycitetrue,
\v!bbl=>\sortbycitefalse,
\s!default=>\sortbycitetrue,
\s!unknown=>\sortbycitefalse]
\processaction
[\@@pbnumbering]
[ \v!yes=>\let\@@pbinumbercommand\firstofoneargument,
\v!no=>\let\@@pbinumbercommand\gobbleoneargument,
\v!short=>\def\@@pbinumbercommand##1{\getvalue{pbds-\@@pbk}},
\v!bib=>\def\@@pbinumbercommand##1{\getvalue{pbdn-\@@pbk}},
\s!unknown=>\let\@@pbinumbercommand\firstofoneargument]
\processaction
[\@@pbrefcommand]
[\s!default=>\edef\@@citedefault{\@@pbrefcommand},
\s!unknown=>\edef\@@citedefault{\@@pbrefcommand}]}
\def\@@pbrefcommand{num}
\def\@@pbnumbercommand{\bibleftnumber}
\def\usepublications[#1]
{\usereferences[#1]\processcommalist[#1]\dousepublications}
\def\dousepublications#1
{\doonlyonce
{#1.\f!bibextension}
{\readfile{#1.\f!bibextension}
{\showmessage\m!bib{4}{#1.\f!bibextension}}
{\showmessage\m!bib{2}{#1.\f!bibextension}}}}
\def\setuppublicationlist
{\dosingleempty\dosetuppublicationlist}
\def\dosetuppublicationlist[#1]
{\getparameters[\??pv data][#1]
\setuplist
[pubs]
[\c!samplesize={AA99},\c!totalnumber={99},
\c!alternative=a,\c!interaction=,\c!pagenumber=\v!no,#1]}
\def\setuppublicationlayout[#1]#2
{\setvalue{\??pv data#1}{#2\unskip}}
\def\bibalternative#1
{\getvalue{\??pv\@@currentalternative#1}}
\def\simplebibdef#1
{\@EA\long\@EA\def\csname bib@#1\endcsname##1
{\setvalue{\??pb @#1}{##1}
\ignorespaces}
\@EA\def\csname insert#1\endcsname##1##2##3
{\@EA\bibdoifelse
\@EA{\csname @@pb@#1\endcsname}
{##1\csname @@pb@#1\endcsname##2}
{##3}
}}
\def\bibcommandlist
{abstract, annotate, arttitle, assignee, bibnumber, bibtype, biburl, chapter, city,
comment, country, day, dayfiled, doi, edition, eprint, howpublished, isbn, issn,
issue, journal, keyword, keywords, lastchecked, month, monthfiled, names, nationality,
note, notes, organization, pages, pubname, pubyear, revision, series, size, thekey,
title, volume, yearfiled}
\processcommacommand[\bibcommandlist]\simplebibdef
\def\insertdoi#1#2#3
{{\bibdoifelse{\@@pb@doi}
{\edef\ascii{\@EA\detokenize\@EA{\@@pb@doi}}
#1\expanded{\gotoDOI{\@@pb@thekey}{\ascii}}#2}{#3}}}
\def\insertbiburl#1#2#3
{{\bibdoifelse{\@@pb@biburl}
{\edef\ascii{\@EA\detokenize\@EA{\@@pb@biburl}}
#1\expanded{\gotoURL{\@@pb@thekey}{\ascii}}#2}{#3}}}
\def\insertmonth#1#2#3
{\bibdoifelse{\@@pb@month}
{#1\doifnumberelse{\@@pb@month}
{\doifconversiondefinedelse\@@pbmonthconversion
{\convertnumber\@@pbmonthconversion{\@@pb@month}}{\@@pb@month}}
{\@@pb@month}#2}{#3}}
\let\inserturl \insertbiburl
\let\inserttype\insertbibtype
\def\newbibfield[#1]
{\simplebibdef{#1}
\edef\bibcommandlist{\bibcommandlist,#1}}
\def\bib@crossref#1
{\setvalue{\??pb @crossref}{#1}\ignorespaces}
\def\insertcrossref#1#2#3
{\bibdoifelse{\@@pb@crossref}
{#1\@EA\cite\@EA[\@@pb@crossref]#2}
{#3}}
\def\docomplexbibdef#1
{\def\currentype{#1}
\dosingleempty\dodocomplexbibdef}
\def\dodocomplexbibdef[#1]#2
{\def\firstarg{#1}\def\secondarg{#2}
\dosingleempty\dododocomplexbibdef}
\def\dododocomplexbibdef[#1]#2#3
{\@EA\increment\csname \currentype @num\endcsname
\setevalue{\??pb @\currentype\csname \currentype @num\endcsname}
{{\secondarg}{#2}{#3}{#1}{\firstarg}}\ignorespaces}
\def\complexbibdef#1
{\@EA\newcounter\csname #1@num\endcsname
\@EA\def\csname bib@#1\endcsname{\docomplexbibdef{#1}}
\@EA\def\csname insert#1s\endcsname##1##2##3
{\specialbibinsert{#1}{\csname #1@num\endcsname}{##1}{\unskip ##2}{##3}}}
\processcommalist[author,artauthor,editor]\complexbibdef
\newcount\etallimitcounter
\newcount\etaldisplaycounter
\newcount\todocounter
\def\specialbibinsert#1#2#3#4#5
{\bgroup
\ifnum#2>\zerocount
\etallimitcounter =0\bibalternative{#1etallimit}\relax
\etaldisplaycounter=0\bibalternative{#1etaldisplay}\relax
\ifnum #2>\etallimitcounter
\todocounter\etaldisplaycounter
\ifnum\todocounter>\etallimitcounter
\todocounter\etallimitcounter
\fi
\else
\todocounter#2\relax
\fi
\ifnum\todocounter>\zerocount
\let\templist\empty
\dorecurse{#2}
{\toks0=\@EA\@EA\@EA{\csname @@pb@#1\recurselevel\endcsname}
\ifx\templist\empty \edef\templist{\the\toks0}
\else \edef\templist{\templist,\the\toks0}\fi }
\doifdefinedelse
{\??pv data#1\c!command}
{\doifemptyelsevalue
{\??pv data#1\c!command}
{#3\dospecialbibinsert{#1}{\todocounter}{\templist}#4}
{#3\getvalue{\??pv data#1\c!command}{#1}{\todocounter}{\templist}#4}}
{#3\dospecialbibinsert{#1}{\todocounter}{\templist}#4}
\else
#5
\fi
\else
#5
\fi
\egroup}
\def\dospecialbibinsert#1#2#3
{\getcommacommandsize[#3]
\scratchcounter 0
\def\processauthoritem##1
{\advance\scratchcounter1
\ifnum \numexpr\scratchcounter-1\relax<#2\relax
\getvalue{\??pv data#1}##1
\ifnum \scratchcounter=#2\relax
\ifnum\etallimitcounter<\commalistsize\relax \bibalternative{#1etaltext}\fi
\else \ifnum\numexpr\scratchcounter+1 = #2\relax
\ifnum \commalistsize > \plustwo \bibalternative\c!finalnamesep
\else \bibalternative\c!lastnamesep \fi
\else
\bibalternative\c!namesep
\fi \fi
\fi}
\processcommacommand[#3]\processauthoritem }
\def\normalauthor#1#2#3#4#5
{\bibdoif{#1}{#1\bibalternative\c!firstnamesep}
\bibdoif{#2}{#2\bibalternative\c!vonsep}
#3
\bibdoif{#5}{\bibalternative\c!surnamesep#5\unskip}}
\def\normalshortauthor#1#2#3#4#5
{\bibdoif{#4}{#4\bibalternative\c!firstnamesep}
\bibdoif{#2}{#2\bibalternative\c!vonsep}
#3
\bibdoif{#5}{\bibalternative\c!surnamesep#5\unskip}}
\def\invertedauthor#1#2#3#4#5
{\bibdoif{#2}{#2\bibalternative\c!vonsep}
#3
\bibdoif{#5}{\bibalternative\c!juniorsep #5}
\bibdoif{#1}{\bibalternative\c!surnamesep #1\unskip}}
\def\invertedshortauthor#1#2#3#4#5
{\bibdoif{#2}{#2\bibalternative\c!vonsep}
#3
\bibdoif{#5}{\bibalternative\c!juniorsep #5}
\bibdoif{#4}{\bibalternative\c!surnamesep #4\unskip}}
\def\clearbibitem#1{\setvalue{\??pb @#1}{}}
\def\clearbibitemtwo#1
{\letvalue{#1@num}\!!zerocount
\scratchcounter\plusone
\doloop
{\doifdefinedelse{\??pb @#1\the\scratchcounter}
{\letvalue{\??pb @#1\the\scratchcounter}\empty
\advance\scratchcounter\plusone}
{\exitloop}}}
\def\bibitemdefs#1
{\@EA\let\@EA\tempa \csname bib@#1\endcsname
\@EA\let\csname #1\endcsname \tempa }
\newcounter\bibcounter
\def\startpublication
{\edef\bibmodsavedpercent{\the\catcode`\%}
\catcode`\%=12
\dosingleempty\dostartpublication}
\def\stoppublication
{}
\long\def\dostartpublication[#1]#2\stoppublication
{\increment\bibcounter
\bgroup
\doifassignmentelse{#1}
{\getparameters[\??pb][k=,t=article,n=,s=,a=,y=,o=,u=,#1]}
{\getparameters[\??pb][k=#1,t=article,n=,s=,a=,y=,o=,u=]}
\@EA\toks\@EA2\@EA{\@@pba}
\@EA\toks\@EA4\@EA{\@@pbs}
\toks0={\ignorespaces #2}
\setxvalue{pbdk-\@@pbk}{\@@pbk}
\setxvalue{pbda-\@@pbk}{\the\toks2}
\setxvalue{pbdy-\@@pbk}{\@@pby}
\setxvalue{pbds-\@@pbk}{\the\toks4}
\setxvalue{pbdn-\@@pbk}{\@@pbn}
\setxvalue{pbdt-\@@pbk}{\@@pbt}
\setxvalue{pbdo-\@@pbk}{\@@pbo}
\setxvalue{pbdu-\@@pbk}{\@@pbu}
\setxvalue{pbdd-\@@pbk}{\the\toks0}
\xdef\allrefs{\allrefs,\@@pbk}
\egroup
\catcode`\%=\bibmodsavedpercent\relax }
\let\allrefs\empty
\def\makepbkvalue#1{\def\@@pbk{#1}}
\newif\ifinpublist
\def\ignoresectionconversion
{\let\@@sectionconversion\secondoftwoarguments}
\let\normaldosetfilterlevel\dosetfilterlevel
\def\patcheddosetfilterlevel#1#2
{\bgroup
\ignoresectionconversion
\edef\askedlevel{#1}
\edef\askedfilter{#2}
\ifx\askedlevel\v!current
\dosetcurrentlevel\askedlevel
\else\ifx\askedlevel\v!previous
\dosetpreviouslevel\askedlevel
\else\ifx\askedlevel\v!all
\global\chardef\alltoclevels\plusone
\else\ifx\askedlevel\v!text
\global\chardef\alltoclevels\plusone
\else
\edef\byaskedlevel{\csname\??by\askedlevel\endcsname}
\ifx\byaskedlevel\v!text
\dosettextlevel\askedlevel
\else
\dosetotherlevel\askedlevel
\fi
\fi\fi\fi\fi
\ifx\askedfilter\empty \else
\xdef\currentlevel{\currentlevel\sectionseparator\askedfilter}
\fi
\egroup}
\unless\ifcsname currentlocationrefence\endcsname
\let\currentlocationreference\empty
\def\dogetreferenceelements#1#2#3#4#5
{\chardef\currentreferencetype=\ifx#1\relax0\else#1\fi\relax
\ifnum\currentreferencetype<2
\edef\currentpagereference{#2}
\let \currentdatareference\empty
\edef\currentlocationreference{#2}
\ifx\currentpagereference \empty
\let\currentfolioreference\folio
\else
\def \currentpagereference {\referencepagenumber[#2]}
\edef\currentfolioreference{\dosplitofffoliopart[#2]}
\fi
\edef\currentrealreference{#3}
\settextreferences#4\end
\ifnum0#5<\crossreferencenumber
\forwardreferencetrue
\else
\forwardreferencefalse
\fi
\else
\let \currentlocationreference\empty
\edef\currentrealreference {#3}
\def \currentdatareference {#2}
\let \currentfolioreference\folio
\settextreferences#4\end
\forwardreferencefalse
\fi
\ifodd\currentreferencetype
\realreferencepagefalse
\else
\docheckrealreferencepage\currentrealreference
\ifrealreferencepage \else
\docheckrealreferencepage\currentdatareference
\fi
\fi}
\fi
\def\filllocalpublist
{\let\dosetfilterlevel\patcheddosetfilterlevel
\dosettoclevel\??li{pubs}
\let\dosetfilterlevel\normaldosetfilterlevel
\global\let\glocalpublist\empty
\doloop
{\doifdefinedelse
{\r!cross cite-\jobname-\recurselevel}
{\doifreferencefoundelse
{cite-\jobname-\recurselevel}
{\@EA\doifreglevelelse\@EA[\currentlocationreference]
{\@EA\doglobal\@EA\addtocommalist\@EA
{\currenttextreference}\glocalpublist}{}}
{}}
{\exitloop}}
\let\localpublist\glocalpublist}
\def\typesetpubslist
{\dobeginoflist
\edef\askedlevel{\csname \??li pubs\c!criterium\endcsname}
\ifx\askedlevel\v!all
\def\bibrefprefix{}
\else
\preparebibrefprefix
\fi
\ifsortbycite
\filllocalpublist
\iftypesetall
\let\localallrefs\allrefs
\processcommacommand[\localpublist]\typesetapublication
\def\removefromallrefs##1
{\removefromcommalist{##1}\localallrefs }
\processcommacommand[\localpublist]\removefromallrefs
\processcommacommand[\localallrefs]\typesetapublication
\else
\processcommacommand[\localpublist]\typesetapublication
\fi
\else
\iftypesetall
\processcommacommand[\allrefs]\typesetapublication
\else
\filllocalpublist
\processcommacommand[\allrefs]\maybetypesetapublication
\fi
\fi
\doendoflist }
\newif\ifinpublist
\def\maybetypesetapublication#1
{\global\inpublistfalse
\def\test{#1}
\def\runtest##1
{\def\tempa{##1}\ifx \test\tempa \global\inpublisttrue \fi}
\processcommacommand[\localpublist]\runtest
\ifinpublist \typesetapublication{#1}\fi}
\def\initializepubslist
{\edef\@@pbnumbering{\@@pbnumbering}
\ifautohang
\ifx\@@pbnumbering\v!short
\setbox\scratchbox\hbox{\@@pbnumbercommand{\getvalue{\??li pubs\c!samplesize}}}
\else\iftypesetall
\setbox\scratchbox\hbox{\@@pbnumbercommand{\getvalue{\??li pubs\c!totalnumber}}}
\else
\setbox\scratchbox\hbox{\@@pbnumbercommand{\numreferred}}
\fi\fi
\edef\samplewidth{\the\wd\scratchbox}
\setuplist[pubs][\c!width=\samplewidth,\c!distance=0pt]
\ifx\@@pbnumbering\v!short
\def\@@pblimitednumber##1{\hbox to \samplewidth
{\@@pbnumbercommand{\getvalue{pbds-\@@pbk}}}}
\else \ifx \@@pbnumbering\v!bib
\def\@@pblimitednumber##1{\hbox to \samplewidth
{\@@pbnumbercommand{\getvalue{pbdn-\@@pbk}}}}
\else
\def\@@pblimitednumber##1{\hbox to \samplewidth{\@@pbnumbercommand{##1}}}
\fi \fi
\else
\ifx\@@pbnumbering\v!short
\doifemptyelse
{\getvalue{\??li pubs\c!width}}
{\def\@@pblimitednumber##1{\hbox
{\@@pbnumbercommand{\getvalue{pbds-\@@pbk}}}}}
{\def\@@pblimitednumber##1{\hbox to \getvalue{\??li pubs\c!width}
{\@@pbnumbercommand{\getvalue{pbds-\@@pbk}}}}}
\else \ifx \@@pbnumbering\v!bib
\doifemptyelse
{\getvalue{\??li pubs\c!width}}
{\def\@@pblimitednumber##1{\hbox
{\@@pbnumbercommand{\getvalue{pbdn-\@@pbk}}}}}
{\def\@@pblimitednumber##1{\hbox to \getvalue{\??li pubs\c!width}
{\@@pbnumbercommand{\getvalue{pbdn-\@@pbk}}}}}
\else
\doifemptyelse
{\getvalue{\??li pubs\c!width}}
{\def\@@pblimitednumber##1{\hbox{\@@pbnumbercommand{##1}}}}
{\def\@@pblimitednumber##1{\hbox to \getvalue{\??li pubs\c!width}{\@@pbnumbercommand{##1}}}}
\fi
\fi
\fi
\ifx\@@pbnumbering\v!no
\setuplist[pubs][\c!numbercommand=,\c!symbol=\v!none,\c!textcommand=\outdented]
\else
\setuplist[pubs][\c!numbercommand=\@@pblimitednumber]
\fi
\doifelsevalue
{\??pv datamaybeyear}{\v!off}{\def\maybeyear##1{}}{\def\maybeyear##1{##1}}
\forgetall
}
\def\outdented#1
{\hskip -\hangindent #1}
\def\completepublications
{\dosingleempty\docompletepublications}
\def\docompletepublications[#1]
{
\begingroup
\setuplist[pubs][\c!criterium=\v!previous,#1]
\begingroup
\loggingall
\let\handletextprefix\firstoftwoarguments
\edef\headtextpubs{\dogetupsometextprefix\headlanguage\c!title{pubs}}
\doifdefinedelse
{\??pv data\v!title}
{\doifemptyelsevalue
{\??pv data\v!title}
{\expanded{\systemsuppliedtitle[pubs]{\headtextpubs}}}
{\expanded{\getvalue{\??pv data\v!title}{\headtextpubs}}}
}
{\expanded{\systemsuppliedtitle[pubs]{\headtextpubs}}}
\endgroup
\dodoplacepublications }
\def\placepublications
{\dosingleempty\doplacepublications}
\def\doplacepublications[#1]
{
\begingroup
\setuplist[pubs][\c!criterium=\v!previous,#1]
\dodoplacepublications }
\def\dodoplacepublications
{\initializepubslist
\doifelsevalue
{\??li pubs\c!option}{\v!continue}
{}
{\global\let\bibcounter\!!zerocount }
\inpublisttrue
\typesetpubslist
\inpublistfalse
\endgroup }
\unexpanded\def\typesetapublication#1
{\doifsomething{#1}{\doglobal\increment\bibcounter
\bgroup
\makepbkvalue{#1}
\ifgridsnapping
\snaptogrid\vbox{\dodolistelement{pubs}{}{\bibcounter}
{\expanded{\reference[\bibrefprefix#1]{\bibcounter}}
\strut \dotypesetapublication{#1}\strut }{}{}}
\else
\dodolistelement{pubs}{}{\bibcounter}
{\expanded{\reference[\bibrefprefix#1]{\bibcounter}}
\strut \dotypesetapublication{#1}\strut }{}{}
\fi
\egroup }}
\def\dotypesetapublication#1
{\bgroup
\def\@@currentalternative{data}
\processcommacommand[\bibcommandlist,crossref]\clearbibitem
\processcommalist [artauthor,author,editor]\clearbibitemtwo
\processcommacommand[\bibcommandlist]\bibitemdefs
\processcommalist [artauthor,author,editor,crossref]\bibitemdefs
\let\biblanguage\empty
\getvalue{pbdd-#1}
\ifcsname pbdt-#1\endcsname \bibalternative{\getvalue{pbdt-#1}}\fi
\egroup }
\def\maybeyear#1{}
\def\noopsort#1{}
\def\setbiblanguage#1#2{\setvalue{\??pb @lang@#1}{#2}}
\def\lang#1
{\def\biblanguage{#1}
\ifcsname \??pb @lang@#1\endcsname
\expanded{\language[\getvalue{\??pb @lang@#1}]}
\fi \ignorespaces}
\unexpanded\def\cite
{\doifnextcharelse{[}
{\dodocite}
{\dobibref}}
\def\dobibref#1
{\docite[#1][]}
\def\dodocite[#1]
{\startstrictinspectnextcharacter
\dodoubleempty\dododocite[#1]}
\def\dododocite[#1][#2]{
\stopstrictinspectnextcharacter
\docite[#1][#2]}
\def\docite[#1][#2]
{\begingroup
\setupinteraction[\c!style=]
\edef\temp{#2}
\ifx\empty\temp \secondargumentfalse
\else \secondargumenttrue \fi
\ifsecondargument
\processcommalist[#2]\docitation
\doifassignmentelse
{#1}
{\getparameters[LO][\c!alternative=,\c!extras=,#1]
\edef\@@currentalternative{\LOalternative}
\ifx\@@currentalternative\empty
\edef\@@currentalternative{\@@citedefault}
\fi
\ifx\LOextras\empty
\setupcite[\@@currentalternative][#1]
\else
\expandafter\ifx\csname LOright\endcsname \relax
\edef\LOextras{{\LOextras\bibalternative\c!right}}
\else
\edef\LOextras{{\LOextras\LOright}}
\fi
\expanded{\setupcite[\@@currentalternative][#1,\c!right=\LOextras]}
\fi
}
{\def\@@currentalternative{#1}}
\expanded{
\processaction[\csname @@pv\@@currentalternative \c!compress\endcsname]}
[ \v!yes=>\bibcitecompresstrue,
\v!no=>\bibcitecompressfalse,
\s!default=>\bibcitecompresstrue,
\s!unknown=>\bibcitecompresstrue]
\getvalue{bib\@@currentalternative ref}[#2]
\else
\processcommalist[#1]\docitation
\expanded{\processaction[\csname @@pv\@@citedefault \c!compress\endcsname]}
[ \v!yes=>\bibcitecompresstrue,
\v!no=>\bibcitecompressfalse,
\s!default=>\bibcitecompresstrue,
\s!unknown=>\bibcitecompresstrue]
\edef\@@currentalternative{\@@citedefault}
\getvalue{bib\@@citedefault ref}[#1]
\fi
\endgroup}
\def\nocite[#1]
{\processcommalist[#1]\addthisref
\processcommalist[#1]\docitation }
\def\setupcite{\dodoubleempty\dosetupcite}
\def\dosetupcite[#1][#2]
{\ifsecondargument
\def\dodosetupcite##1{\getparameters[\??pv##1][#2]}
\processcommalist[#1]\dodosetupcite
\else
\getparameters[\??pv\@@citedefault][#1]
\fi }
\def\getcitedata#1[#2]#3[#4]#5to#6
{\bgroup
\addthisref{#4}
\dofetchapublication{#4}
\doifdefinedelse{@@pb@bib#2}
{\xdef#6{\getvalue{@@pb@bib#2}}}
{\xdef#6{\getvalue{@@pb@#2}}}
\egroup }
\def\dofetchapublication#1
{\makepbkvalue{#1}
\processcommacommand[\bibcommandlist,crossref]\clearbibitem
\processcommalist [artauthor,author,editor]\clearbibitemtwo
\processcommacommand[\bibcommandlist]\bibitemdefs
\processcommalist [artauthor,author,editor,crossref]\bibitemdefs
\getvalue{pbdd-#1}}
\newcounter\citationnumber
\def\docitation#1{
\iftrialtypesetting \else
\ifdoinpututilities\else
\doglobal\increment\citationnumber
\expanded{\rawreference{}{cite-\jobname-\citationnumber}{#1}}
\fi \fi }
\newcounter\numreferred
\long\def\doifreferredelse#1{\doifdefinedelse{pbr-#1}}
\def\addthisref#1
{\doifundef