diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/jurabib/jurabib.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/jurabib/jurabib.sty | 5990 |
1 files changed, 5990 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/jurabib/jurabib.sty b/Master/texmf-dist/tex/latex/jurabib/jurabib.sty new file mode 100644 index 00000000000..751218c0906 --- /dev/null +++ b/Master/texmf-dist/tex/latex/jurabib/jurabib.sty @@ -0,0 +1,5990 @@ +%% +%% This is file `jurabib.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% jurabib.dtx (with options: `package') +%% +%% *** This is jurabib v0.6 (2004/01/25) *** +%% +%% LaTeX package for citing with abbreviated titles and +%% names, supporting short and long forms of citations +%% +%% Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org) +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 +%% of the License, or (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{jurabib}[2004/01/25 v0.6 Extended citations] +\RequirePackage{ifthen} +\RequirePackage{calc} +\RequirePackage{keyval} +\RequirePackage{url} +\RequirePackage{array} +\newcommand*{\jb@pkg@name}{jurabib} +\newif\ifjb@abbrv +\newif\ifjbidemabbrvwithperiod +\newif\ifjb@all@titles +\newif\ifjb@all@full +\newif\ifjb@allow@adding@of@pagerange +\newif\ifjb@allow@adding@of@pagerange@for@first@cite +\newif\ifjb@allow@dot@for@lookat +\newif\ifjb@allow@lookat@for@fullcite +\newif\ifjb@allow@howcited@art@period +\newif\ifjb@allow@hyper@cite@nobib +\newif\ifjb@allow@hyper@cite +\newif\ifjb@allow@nobib +\newif\ifjb@alphanum +\newif\ifjb@always@pageranges +\newif\ifjbaltformat +\newif\ifjb@author@year +\newif\ifjb@babel +\newif\ifjb@backref +\newif\ifjb@before@title@separator +\newif\ifjb@bib@hang +\newif\ifjb@bibetal\jb@bibetaltrue +\newif\ifjb@biblikecite +\newif\ifjb@bibssed +\newif\ifjb@change@fonts@for@fullcite +\newif\ifjb@cite +\newif\ifjb@cite@title +\newif\ifjb@cite@no@title +\newif\ifjb@annotator@last +\newif\ifjb@compare@title@fields +\newif\ifjb@comma@before@rest +\newif\ifjb@compressed@bib +\newif\ifjb@citetoend +\newif\ifjbcross +\newif\ifjb@debug +\newif\ifjb@debug@br +\newif\ifjb@do@authors@index +\newif\ifjb@do@editors@index +\newif\ifjb@do@organizations@index +\newif\ifjb@dot +\newif\ifjb@dynamic@author@fonts +\newif\ifjb@dynamic@crossrefs +\newif\ifjb@edby +\newif\ifjb@endnotes +\newif\ifjbetal +\newif\ifjb@fn +\newif\ifjb@foot +\newif\ifjb@footnote@period +\newif\ifjb@footnote@period@ibidem +\newif\ifjb@first@cite +\newif\ifjb@firstcite@full +\newif\ifjb@first@author@reversed +\newif\ifjb@formatted@pages +\newif\ifjb@fullcite@again +\newif\ifjblookforgender +\newif\ifjb@howcited +\newif\ifjb@howcited@all +\newif\ifjb@howcited@normal +\newif\ifjb@howcited@compare +\newif\ifjb@howcited@multiple +\newif\ifjb@humanbst@loaded +\newif\ifjb@hyper +\newif\ifjb@ibidem +\newif\ifjb@ibidem@pagewise +\newif\ifjb@ibidem@double@pagewise +\newif\ifjb@ibidem@with@name +\newif\ifjb@ibidem@with@short@name +\newif\ifjb@ibidem@with@name@and@title +\newif\ifjb@ibidem@with@name@and@title@auto +\newif\ifjb@same@author@different@work +\newif\ifjb@idem +\newif\ifjb@idem@pagewise +\newif\ifjb@idem@double@pagewise +\newif\ifjb@ignore@varioref +\newif\ifjb@index +\newif\ifjb@index@bib +\newif\ifjb@index@only@first@authors +\newif\ifjb@index@only@first@editors +\newif\ifjb@index@only@first@organization +\newif\ifjb@jura +\newif\ifjb@jox +\newif\ifjb@jureco +\newif\ifjb@kv@recognized +\newif\ifjb@lookat +\newif\ifjb@no@bib\global\jb@no@bibfalse +\newif\ifjb@no@lookat@for@bib +\newif\ifjb@no@nested@crossrefs +\newif\ifjb@no@title@replace +\newif\ifjb@no@firstname +\newif\ifjb@numbered@bib +\newif\ifjb@old@order +\newif\ifjb@nat@use@year@command +\newif\ifjb@noauthorforcitetitle +\newif\ifjbnoformatafterstartpage +\newif\ifjb@opcit +\newif\ifjb@@opcit +\newif\ifjb@period +\newif\ifjb@ragged +\newif\ifjb@bibformat@ibidem +\newif\ifjb@reverse@all@names +\newif\ifjb@reverse@names@in@citation +\newif\ifjb@same@fullauthor +\newif\ifjb@see +\newif\ifjb@second@extra@space +\newif\ifjb@super +\newif\ifjb@suppress@dot@for@howcited +\newif\ifjb@third@extra@space +\newif\ifjb@tabular +\newif\ifjb@tested@pageranges +\newif\ifjb@save@allfull@status +\newif\ifjb@save@lookat@status +\newif\ifjb@suppress@etal@dot +\newif\ifjb@ssed@after@author +\newif\ifjb@ssed@all +\newif\ifjb@ssed@commented +\newif\ifjb@ssed@kerning@wanted +\newif\ifjb@ssed@recent@kerned +\newif\ifjb@ssed@mult@works +\newif\ifjb@ssed@sw +\newif\ifjb@starred@cite +\newif\ifjb@start@page +\newif\ifjb@switchidemofflocally +\newif\ifjb@url +\newif\ifjbuseidemhrule +\newif\ifjbusehowcitedforcite +\newif\ifjb@vario +\newif\ifjbweareinbib +\newif\ifjbweareinendnotes +\newif\ifjbweareinhowcited +\newif\ifjb@yearafterauthor +\newif\ifjb@yearaftertitle +\newif\ifjb@oyear@in@citation +\jb@allow@adding@of@pagerangetrue +\jb@allow@dot@for@lookattrue +\jb@allow@lookat@for@fullcitetrue +\jb@allow@hyper@cite@nobibtrue +\jb@allow@hyper@citetrue +\jb@bib@hangtrue +\jb@annotator@lasttrue +\jb@second@extra@spacetrue +\jb@third@extra@spacetrue +\jbnoformatafterstartpagetrue +\jb@do@authors@indextrue +\jb@do@editors@indextrue +\jb@do@organizations@indextrue +\newcommand*{\NAT@citex}{}% +\def\bbl@cite@choice{% + \global\let\bibcite\bbl@bibcite + \@ifpackageloaded{jurabib}{\global\let\bibcite\org@bibcite}{}% + \global\let\bbl@cite@choice\relax +}% +\edef\jbselectlanguage{\noexpand\protect% + \expandafter\noexpand\csname jbselectlanguage \endcsname}% +\expandafter\def\csname jbselectlanguage \endcsname#1{% + \edef\languagename{\ifnum\escapechar=\expandafter`\string#1\@empty% + \else \string#1\@empty\fi}\select@language{\languagename}% +}% +\def\@mb@citenamelist{% + cite,% + citetitle,% + citenotitle,% + citetitleonly,% + footcite,% + footcitetitle,% + footcitenotitle,% + footcitetitleonly,% + fullcite,% + footfullcite,% + citep,% + citet,% + citealt,% + citealp,% + citeauthor,% + citeyear,% + citeyearpar,% + footcitep,% + footcitet,% + footcitealt,% + footcitealp,% + footciteauthor% + footciteyear,% + citefield, +} +\let\jb@typeout\typeout +\let\jb@package@warning\PackageWarning +\let\jb@package@warningNoLine\PackageWarningNoLine +\def\jb@info#1{\PackageInfo{\jb@pkg@name}{#1}}% +\newcommand*{\jbsilent}{% + \jb@info{*** Silent Mode ON ***}% + \let\jb@package@warning\@gobbletwo + \let\jb@package@warningNoLine\@gobbletwo + \let\jb@typeout\@gobble% +}% +\newcommand*{\jbauthorfont}{}% +\newcommand*{\jborgauthorfont}{}% +\newcommand*{\jbannotatorfont}{}% +\newcommand*{\jbtitlefont}{}% +\newcommand*{\jbactualauthorfont}{\textit}% +\newcommand*{\jbapifont}{\jbtitlefont}% +\newcommand*{\jbbtitlefont}{\normalfont}% +\newcommand*{\jbauthorfnfont}{\normalfont}% +\newcommand*{\jbactualauthorfnfont}{\textit}% +\newcommand\jbfulltitlefont{\jbtitlefont}% +\newcommand\jbshorttitlefont{\jbtitlefont}% +\newcommand*{\jbauthorfontifannotator}{\jborgauthorfont}% +\newcommand*{\jbignorevarioref}{\global\jb@ignore@varioreftrue}% +\newcommand*{\jbdisablecitationcrossref}{\jb@no@nested@crossrefstrue}% +\newcommand*{\jbdotafterbibentry}{\jb@dottrue}% +\newcommand*{\jbdotafterendnote}{\AtBeginDocument{\def\@endanenote{\unskip.\par\endgroup}}}% +\newcommand*{\jbsuperscripteditionafterauthor}{\jb@ssed@after@authortrue}% +\newcommand*{\jbssedbd}{}\let\jbssedbd\@gobble +\@ifpackageloaded{bibunits}{% + \ClassError{\jb@pkg@name}{Please load `bibunits' after `jurabib'}{% + Just put the command `\string\usepackage{bibunits}' % + after `\string\usepackage{jurabib}',\MessageBreak + otherwise these packages won't work together.}}{\relax} +\@ifpackageloaded{hyperref}{% NOTE: there's another check for hyperref \AtBeginDocument + \ClassError{\jb@pkg@name}{Please load `jurabib' before `hyperref'}{% + Just put the command `\string\usepackage{hyperref}' % + after `\string\usepackage{jurabib}',\MessageBreak + otherwise these packages won't work together.}}{\relax}% +\newcommand*{\jbyearaftertitle}{% + \AtBeginDocument{% + \global\jb@yearafterauthorfalse + \global\jb@yearaftertitletrue + }% +} +\newcommand*{\jboyearincitation}{\jb@oyear@in@citationtrue}% +\newcommand*{\bibauthormultiple}{% + \stepcounter{multiple@author}% to suppress inside bibliographic entry + \ifthenelse{\boolean{jblookforgender}}{% + \ifthenelse{\equal{\jb@@gender}{sm}}{% + \bibibidfont{\bibidemSmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pm}}{% + \bibibidfont{\bibidemPmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sf}}{% + \bibibidfont{\bibidemSfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pf}}{% + \bibibidfont{\bibidemPfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sn}}{% + \bibibidfont{\bibidemSnname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pn}}{% + \bibibidfont{\bibidemPnname}% + }{% + \ifthenelse{\equal{\jb@@gender}{}}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + You are using \string\jblookforgender,\MessageBreak + but gender field for `\jb@key'\MessageBreak + is empty}% + \bibibidfont{\bibidemSmname}% + }{% + \jb@package@warningNoLine{\jb@pkg@name}{% + You are using \string\jblookforgender,\MessageBreak + but gender field for `\jb@key'\MessageBreak + is not valid}% + \bibibidfont{\bibidemSmname}% + }% + }% + }% + }% + }% + }% + }% + \bibansep{}% + }{% + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{8pt}% + \else + \bibibidfont{\bibidemSmname}% + \ifthenelse{\equal{\jb@@testlast@au@or@ed}{au}% + \and\equal{\jb@@test@au@or@ed}{ed}% + }{% + \space\bibEIMfont{\editorname}\bibansep{}% + }{% + \ifthenelse{\equal{\jb@@testlast@au@or@ed}{aus}% + \and\equal{\jb@@test@au@or@ed}{eds}% + }{% + \space\bibEIMfont{\editorsname}\bibansep{}% + }{% + \ifthenelse{\(\equal{\jb@@testlast@au@or@ed}{ed}\and\equal{\jb@@test@au@or@ed}{au}\)% + \or + \(\equal{\jb@@testlast@au@or@ed}{eds}\and\equal{\jb@@test@au@or@ed}{aus}\)% + \or + \equal{\jb@@test@au@or@ed}{au}% + }{% + \bibansep{}% + }{}% + }% + }% + \fi + }% +}% +\providecommand\textitswitch[1]{\textit{#1}}% +\providecommand\Wrapquotes[1]{``#1''}% +\newcommand*{\jbdy}{}\global\let\jbdy\@gobble % !!! dummy year for .bst label generating mechanism +\newcommand*{\jbsy}[1]{\ifjb@author@year\else\space#1\fi}% +\DeclareRobustCommand{\jbissn}[1]{\unskip,\space ISSN #1}% +\DeclareRobustCommand{\jbisbn}[1]{\unskip,\space ISBN #1}% +\DeclareRobustCommand{\fsted}[1]{% + \ifjbaltformat + \ifjbweareinbib\else + \space\bibEIMfont{#1}% + \fi + \else + \space\bibEIMfont{#1}% + \fi +}% +\DeclareRobustCommand{\snded}[1]{% + \ifjbaltformat + \ifjbweareinbib + \begingroup + \def\bibfnfont{\textnormal}% + #1\bibansep% + \endgroup + \else\fi + \else\fi +}% +\DeclareRobustCommand{\bibedformat}[1]{%% exists only in jhuman.bst = \fsted! + \ifjbaltformat + \ifjbweareinbib\else + \space\edfont{#1}% + \fi + \else + \space\edfont{#1}% + \fi +}% +\DeclareRobustCommand{\bibedinformat}[1]{\unskip\unskip\space\edfont{#1}}% +\newcommand*{\addtoalllanguages}{}% +\newcommand*{\bibsall}{\addto\addtoalllanguages}% +\AtBeginDocument{\ifjbaltformat\else\let\snded\@gobble\fi} +\newcommand*{\jbedseplikecite}{% + \ifjb@before@title@separator + \AtBeginDocument{% + \renewcommand\bibaesep{% + \ifjb@reverse@all@names + \bibefnfont{\jbhowsepbeforetitle}% + \else + \bibelnfont{\jbhowsepbeforetitle}% + \fi + \space% + }% + }% + \fi +}% +\DeclareRobustCommand{\jbbtasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbfsasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbstasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbtesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbfsesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbstesep}{{\normalfont\slash}} +\DeclareRobustCommand{\jbatsep}{,} +\DeclareRobustCommand{\jbaensep}{.} +\DeclareRobustCommand\el[1]{#1}% +\DeclareRobustCommand\bibel[1]{\ifjb@nat@use@year@command#1\fi}% +\newcommand*{\jbshowbibextralabel}{\renewcommand\bibel[1]{##1}}% +\newcommand*{\jblookforgender}{\global\jblookforgendertrue}% +\newcommand*{\jbuseidemhrule}{% + \global\jbuseidemhruletrue + \global\jblookforgenderfalse +}% +\newcommand*{\jbrealcitation}[2]{\@gobble} +\newcommand*{\jbcitationyearformat}[1]{(#1)} +\newcommand*{\jbcitationoyearformat}[1]{\space[#1]} +\newcommand*{\jbbibyearformat}[1]{(#1)} +\newcommand*{\jbindexbib}{\jb@index@bibtrue} +\newcommand*{\jbdonotindexauthors}{\jb@do@authors@indexfalse} +\newcommand*{\jbdonotindexeditors}{\jb@do@editors@indexfalse} +\newcommand*{\jbdonotindexorganizations}{\jb@do@organizations@indexfalse} +\newcommand*{\jbindexonlyfirstauthors}{\jb@index@only@first@authorstrue} +\newcommand*{\jbindexonlyfirsteditors}{\jb@index@only@first@editorstrue} +\newcommand*{\jbindexonlyfirstorganizations}{\jb@index@only@first@organizationstrue} +\newcommand*{\jb@fornoop}{} +\newcommand*{\@jb@for}{} +\newcommand*{\jb@forloop}{} +\newcommand*{\jb@if@forloop}{} +\def\jb@fornoop#1\@@#2#3{} +\long\def\jb@for#1:=#2\do#3{% + \expandafter\def\expandafter\jb@fortmp\expandafter{#2}% + \ifx\jb@fortmp\@empty \else\expandafter\jb@forloop#2; % + \@nil; \@nil\@@#1{#3}\fi} +\long\def\jb@forloop#1; #2; #3\@@#4#5{% + \def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\jb@if@forloop #3\@@#4{#5}\fi\fi} +\long\def\jb@if@forloop#1; #2\@@#3#4{% + \def#3{#1}\ifx #3\@nnil\expandafter\jb@fornoop \else + #4\relax\expandafter\jb@if@forloop\fi#2\@@#3{#4}} +\newcommand*{\jb@@tempa}{} +\newcommand*{\jb@@tempb}{} +\newcommand*{\jb@call@index}[2]{% + \ifjbweareinbib\ifjb@index@bib\else\jb@indexfalse\fi\fi + \ifjb@index + \@ifundefined{jb@#1@#2}{}{% + \begingroup % keep assignments local + \@makeother\\\@makeother\"\def~{\string~}% + \protected@edef\jb@@tempa{\csname jb@#1@#2\endcsname}% + \jb@for\jb@@tempb:=\jb@@tempa\do{% + \ifjb@debug + \typeout{INDEXING: |\jb@@tempb|}% + \fi + \@ifundefined{#1@#2@\jb@@tempb}{% + \ifjb@debug\typeout{#1@#2@\jb@@tempb| undefined!}\fi + \expandafter\jb@@call@index\jb@@tempb{#1}% + }{% + \ifjb@debug\typeout{#1@#2@\jb@@tempb| DEFINED!}\fi + }% + \ifthenelse{\equal{#1}{aut}% + \and\boolean{jb@index@only@first@authors}% + }{% + \global\@namedef{aut@#2@\jb@@tempb}{}% + }{}% + \ifthenelse{\equal{#1}{ed}% + \and\boolean{jb@index@only@first@editors}% + }{% + \ifjb@debug + \typeout{Author/Editor Switch for `#2': \jb@@aut@ed@switch}% + \fi + \ifthenelse{\equal{\jb@@aut@ed@switch}{3}}{% + \@ifundefined{warn@ed@#2@\jb@@tempb}{% + \global\@namedef{warn@ed@#2@\jb@@tempb}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + You have set `\string\jbindexonlyfirsteditors', but\MessageBreak + `#2' has only editor, indexing continuously ..% + }% + }{\relax}% + }{\global\@namedef{ed@#2@\jb@@tempb}{}}% + }{}% + \ifthenelse{\equal{#1}{org}% + \and\boolean{jb@index@only@first@organization}% + }{% + \global\@namedef{org@#2@\jb@@tempb}{}% + }{}% + }% + \endgroup + }% + \fi +} +\newcommand{\jbmakeindexactual}{@}% +\newcommand{\jbauthorindexfont}[1]{#1}% +\newcommand{\jbeditorindexfont}[1]{#1}% +\newcommand{\jborganizationindexfont}[1]{#1}% +\newcommand{\jb@index@aut@markup}[1]{#1\jbmakeindexactual\jbauthorindexfont{#1}}% +\newcommand{\jb@index@ed@markup}[1]{#1\jbmakeindexactual\jbeditorindexfont{#1}}% +\newcommand{\jb@index@org@markup}[1]{#1\jbmakeindexactual\jborganizationindexfont{#1}}% +\newcommand*{\jb@inside@author}{} +\newcommand*{\jb@inside@editor}{} +\newcounter{ibidem@author} +\newcounter{multiple@author}% counter will be set by \bibauthormultiple +\newcommand*{\jb@last@ibidem@author}{} +\def\jb@tempcntc{}% +\newcommand*{\jb@bib@gender@checked}{% + \ifthenelse{\equal{\jb@@gender}{sm}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemSmedbyname}{\idemsmedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSmname\else\bibidemSmname\fi}{\idemsmname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{pm}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemPmedbyname}{\idempmedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPmname\else\bibidemPmname\fi}{\idempmname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{sf}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemSfedbyname}{\idemsfedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSfname\else\bibidemSfname\fi}{\idemsfname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{pf}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemPfedbyname}{\idempfedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPfname\else\bibidemPfname\fi}{\idempfname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{sn}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemSnedbyname}{\idemsnedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSnname\else\bibidemSnname\fi}{\idemsnname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{pn}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemPnedbyname}{\idempnedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPnname\else\bibidemPnname\fi}{\idempnname}% + }% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSmname\else\bibidemSmname\fi}{\idemsmname}% + }% + }% + }% + }% + }% + }% +} +\newcommand*\jb@gobbleseven[7]{} +\AtEndDocument{\let\jb@index\jb@gobbleseven} +\newcommand*\jb@index{\begingroup\@makeother\\\@makeother\"\def~{\string~}\jb@@index}% +\newcommand*\jb@@index[7]{% + \@ifundefined{jb@#1@#2}{% + \global\@namedef{jb@#1@#2}{{#3}{#4}{#5}{#6}{#7}}% + }{% + \protected@edef\@tempa{\csname jb@#1@#2\endcsname}% + \expandafter\global\expandafter\@namedef\expandafter{jb@#1@#2\expandafter}\expandafter{\@tempa; {#3}{#4}{#5}{#6}{#7}}% + }% + %\expandafter\global\expandafter\let\csname jb@#1@#2\endcsname\relax + \endgroup +} +\newcommand*{\jb@do@normal@index}[1]{\ifjb@debug\typeout{Indexing: |#1|}\fi\index{#1}}% +\newcommand*\jb@@call@normal@index[6]{% + \ifjb@debug + \typeout{******** indexing: |#1|#2|#3|#4|#5| of type: |#6|}% + \fi + \ifthenelse{\equal{#2}{\@empty}}{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1}}% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi}}% + }{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi}}% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi\space#4}}% + }{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}}% + }% + }% + }% +}% +\newcommand{\jbindextype}{} +\newcommand*\jb@@call@type@index[6]{% + \ifjb@debug\typeout{******** indexing: |#1|#2|#3|#4|#5| of type: |#6|}\fi + \begingroup + \ifthenelse{\equal{#2}{\@empty}}{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1}}% + }\expandafter\index\jb@tempa + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi}}% + }\expandafter\index\jb@tempa + }{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi}}% + }\expandafter\index\jb@tempa + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi\space#4}}% + }\expandafter\index\jb@tempa + }{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}}% + }\expandafter\index\jb@tempa + }% + }% + }% + \endgroup +}% +\newcommand\jbCheckedFirst{\ifjb@abbrv\jbFirstAbbrv\else\jbFirst\fi} +\newcommand\jbRevedFirstOnlyLast{\biblnfmt{\jbLast}}% +\newcommand\jbRevedFirstNoVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbRevedFirstNoVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbRevedFirstVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\newcommand\jbRevedFirstVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\newcommand\jbRevedNotFirstOnlyLast{\biblnfmt{\jbLast}}% +\newcommand\jbRevedNotFirstNoVonNoJr{\bibfnfmt{\jbCheckedFirst\space}\biblnfmt{\jbLast}}% +\newcommand\jbRevedNotFirstNoVonJr{\bibfnfmt{\jbCheckedFirst\space}\biblnfmt{\jbLast, \jbJunior}}% +\newcommand\jbRevedNotFirstVonNoJr{\bibfnfmt{\jbCheckedFirst\space\jbVon~}\biblnfmt{\jbLast}}% +\newcommand\jbRevedNotFirstVonJr{\bibfnfmt{\jbCheckedFirst\space\jbVon~}\biblnfmt{\jbLast, \jbJunior}}% +\newcommand\jbNotRevedOnlyLast{\biblnfmt{\jbLast}}% +\newcommand\jbNotRevedNoVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbNotRevedNoVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbNotRevedVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\newcommand\jbNotRevedVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\DeclareRobustCommand{\bibnf}[5]{% + \def\biblnfmt{\biblnfont}% + \def\bibfnfmt{\bibfnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifjb@first@author@reversed + \@ifundefined{jb@first@author}{% + \@namedef{jb@first@author}{}% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedFirstOnlyLast + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedFirstNoVonNoJr% + }{% + \jbRevedFirstNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedFirstVonNoJr% + }{% + \jbRevedFirstVonJr% + }% + }% + }% + }{% not first author! + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstNoVonNoJr% + }{% + \jbRevedNotFirstNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstVonNoJr% + }{% + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + \else + \ifthenelse{\equal{#2}{\@empty}}{% + \jbNotRevedOnlyLast + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbNotRevedNoVonNoJr% + }{% + \jbNotRevedNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbNotRevedVonNoJr% + }{% + \jbNotRevedVonJr% + }% + }% + }% + \fi + }% + \gdef\jb@inside@author{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\bibrnf}[5]{% + \def\biblnfmt{\biblnfont}% + \def\bibfnfmt{\bibfnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstNoVonNoJr% + }{% + \jbRevedNotFirstNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstVonNoJr% + }{% + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + \gdef\jb@inside@author{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\bibenf}[5]{% + \def\biblnfmt{\bibelnfont}% + \def\bibfnfmt{\bibefnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% + \def\jb@inside@editor{#1#2#3#4#5}% + \ifthenelse{% + \equal{\jb@inside@author}{\jb@inside@editor}% + \and + \boolean{jb@idem}% + }{% + \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{% + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\idemname}% + \fi + }{% + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\jb@bib@gender@checked}% + \fi + }% + \jb@bibetalfalse + }{% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifjb@first@author@reversed + \@ifundefined{jb@first@editor}{% + \@namedef{jb@first@editor}{}% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedFirstNoVonNoJr% + }{% + \jbRevedFirstNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedFirstVonNoJr% + }{% + \jbRevedFirstVonJr% + }% + }% + }% + }{% not first author! + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstNoVonNoJr% + }{% + \jbRevedNotFirstNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstVonNoJr% + }{% + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + \else + \ifthenelse{\equal{#2}{\@empty}}{% + \jbNotRevedOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbNotRevedNoVonNoJr% + }{% + \jbNotRevedNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbNotRevedVonNoJr% + }{% + \jbNotRevedVonJr% + }% + }% + }% + \fi + }% + }% + \gdef\jb@inside@author{#1#2#3#4#5}% + \gdef\jb@inside@editor{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\bibrenf}[5]{% + \def\biblnfmt{\bibelnfont}% + \def\bibfnfmt{\bibefnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% + \def\jb@inside@editor{#1#2#3#4#5}% + \ifthenelse{% + \equal{\jb@inside@author}{\jb@inside@editor}% + \and + \boolean{jb@idem}% + }{% + \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{% + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\idemname}% + \fi + }{% + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\jb@bib@gender@checked}% + \fi + }% + \jb@bibetalfalse + }{% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstNoVonNoJr% + }{% + \jbRevedNotFirstNoVonJr% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jbRevedNotFirstVonNoJr% + }{% + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + }% + \gdef\jb@inside@author{#1#2#3#4#5}% + \gdef\jb@inside@editor{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\biblenf}[5]{\bibenf{#1}{#2}{#3}{#4}{#5}} +\DeclareRobustCommand{\bibrlenf}[5]{\bibrenf{#1}{#2}{#3}{#4}{#5}} +\newcommand*{\jblinebreak}{\linebreak[4]}% +\DeclareRobustCommand{\biblnfont}{\textbf}% +\DeclareRobustCommand{\bibfnfont}{\textbf}% +\DeclareRobustCommand{\bibelnfont}{\textbf}% +\DeclareRobustCommand{\bibefnfont}{\textbf}% +\DeclareRobustCommand{\bibtfont}{}% +\DeclareRobustCommand{\bibbtfont}{}% +\DeclareRobustCommand{\bibjtfont}{}% +\DeclareRobustCommand{\bibapifont}{}% +\DeclareRobustCommand{\bibrevtfont}{}% +\DeclareRobustCommand{\bibibidfont}{\biblnfont}% +\newcommand{\bibimfont}{\bibfnfont}% +\newcommand{\jbimfont}{\textnormal}% +\newcommand{\bibeimfont}{\bibefnfont}% +\newcommand{\jbeimfont}{\textnormal}% +\DeclareRobustCommand{\bibanfont}{\biblnfont}% +\DeclareRobustCommand{\jbsamearch}{\mbox{}\\[-1.2\baselineskip]}% +\DeclareRobustCommand{\jbsamesubarch}{\mbox{}\\[-.5\baselineskip]}% +\DeclareRobustCommand{\jbnotsamearch}{\mbox{}\\[.3\baselineskip]}% +\DeclareRobustCommand{\jbsubarchsep}{\ifjbweareinbib:\\[.2\baselineskip]\fi}% +\DeclareRobustCommand{\jbarchnamesep}{\ifjbweareinbib\hspace{4em}\fi}% +\DeclareRobustCommand{\jbshortarchformat}[1]{(#1)}% +\DeclareRobustCommand{\jbshortsubarchformat}[1]{(#1)}% +\DeclareRobustCommand{\jbarchnameformat}[1]{\space(#1)}% +\DeclareRobustCommand{\jbsamesubarchindent}{\mbox{}\hspace{1em}--}% +\DeclareRobustCommand{\jbarchnameformat}[1]{(#1)}% +\newlength{\jb@subarchitemwidth}% +\newlength{\jb@subarchentrywidth}% +\addtolength{\jb@subarchentrywidth}{\textwidth}% +\DeclareRobustCommand{\jbarchsig}[2]{% + \ifjbweareinbib + \settowidth{\jb@subarchitemwidth}{\jbsamesubarchindent+#1}% + \setlength{\jb@subarchentrywidth}{\textwidth-\jb@subarchitemwidth-4em}% + \begin{tabular}{@{}p{\jb@subarchitemwidth}@{}j{\jb@subarchentrywidth}@{}}% + #1\ifjb@dot\unskip\unskip\unskip.\fi&\ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}% + \end{tabular} + \fi +}% +\DeclareRobustCommand{\bibIMfont}[1]{% + \ifjbweareinbib + \ifjbweareinhowcited + \jbimfont{#1}% + \else + \bibimfont{#1}% + \fi + \else + \jbimfont{#1}% + \fi +}% +\DeclareRobustCommand{\bibEIMfont}[1]{% + \ifjbweareinbib + \ifjbweareinhowcited + \jbeimfont{#1}% + \else + \bibeimfont{#1}% + \fi + \else + \jbeimfont{#1}% + \fi +}% +\DeclareRobustCommand{\edfont}[1]{% + \ifjbweareinbib + \ifjbweareinhowcited + \jbeimfont{#1}% + \else + \bibeimfont{#1}% + \fi + \else + \jbeimfont{#1}% + \fi +}% +\DeclareRobustCommand{\bibbtasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbfsasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbstasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\Bibbtasep}{\bibbtasep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbfsasep}{\bibbfsasep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbstasep}{\bibbstasep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\bibbtesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbfsesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbstesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\Bibbtesep}{\bibbtesep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbfsesep}{\bibbfsesep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbstesep}{\bibbstesep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\bibansep}{\bibfnfont{: }}% +\DeclareRobustCommand{\bibaesep}{\bibefnfont{: }}% +\DeclareRobustCommand{\bothaesep}{\ifjbweareinbib\bibaesep\else\jbhowsepbeforetitleae\fi}% +\DeclareRobustCommand{\bibatsep}{}\renewcommand*{\bibatsep}{.}% +\DeclareRobustCommand{\bibbdsep}{,}% +\DeclareRobustCommand{\bibBTsep}{\def\jb@first@editor{}\bibbtsep}% +\DeclareRobustCommand{\bibJTsep}{\def\jb@first@editor{}\bibjtsep}% +\DeclareRobustCommand{\bibbtsep}{\inname{} }% +\DeclareRobustCommand{\bibjtsep}{}% +\DeclareRobustCommand{\bibaldelim}{}% +\DeclareRobustCommand{\bibardelim}{}% +\DeclareRobustCommand{\bibpldelim}{[}% +\DeclareRobustCommand{\bibprdelim}{]}% +\DeclareRobustCommand{\bibapyldelim}{}% +\DeclareRobustCommand{\bibapyrdelim}{}% +\DeclareRobustCommand{\dateldelim}{}% +\DeclareRobustCommand{\daterdelim}{}% +\DeclareRobustCommand{\bpubaddr}{:}% between publisher and address +\DeclareRobustCommand{\apyformat}[1]{% + \ifjb@bibssed + \let\jbedition\@gobble% + \unskip\unskip\space% + \bibapyldelim{}\ifthenelse{\equal{\jb@@edition}{\@empty}}{}{% + \textsuperscript{\jb@@edition}}#1\bibapyrdelim{}% + \else + \bibapyldelim{}#1\bibapyrdelim{}% + \fi +}% +\DeclareRobustCommand{\ajtsep}{,} +\DeclareRobustCommand{\jblangle}{\raisebox{.15ex}{$\langle$}} +\DeclareRobustCommand{\jbrangle}{\raisebox{.15ex}{$\rangle$}} +\DeclareRobustCommand{\biburlprefix}{\jblangle{}URL: } +\DeclareRobustCommand{\biburlsuffix}{\jbrangle{}} +\DeclareRobustCommand{\biburlfont}[1]{\urlstyle{#1}}% +\DeclareRobustCommand{\urldatecomment}{} +\DeclareRobustCommand{\bibbudcsep}{~--\space} +\DeclareRobustCommand{\bibcommenthowcited}{} +\DeclareRobustCommand{\bibartperiodhowcited}{} +\DeclareRobustCommand{\bibnotcited}{} +\DeclareRobustCommand{\bibhowcited}{} +\DeclareRobustCommand{\howcitedprefix}{} +\DeclareRobustCommand{\howcitedsuffix}{} +\DeclareRobustCommand{\bibvolumecomment}{} +\DeclareRobustCommand{\volumeofname}{} +\DeclareRobustCommand{\alsothesisname}{} +\DeclareRobustCommand{\bibces}{: } +\DeclareRobustCommand{\bibcrossrefcite}{} +\DeclareRobustCommand{\bibcrossrefciteagain}{} +\DeclareRobustCommand{\bibincollcrossrefcite}{} +\DeclareRobustCommand{\bibincollcrossrefciteagain}{} +\DeclareRobustCommand{\bibsnfont}{}% +\DeclareRobustCommand{\bibvtfont}{\textit}% +\DeclareRobustCommand{\osep}{% + \ifjbweareinbib + \ifjboxford;\else.\fi % Maarten wishes semi-colon + \else + \ifjboxford + ;% Maarten wishes semi-colon + \else + \ifjbchicago + ;% + \else + .% + \fi + \fi + \fi +}% +\DeclareRobustCommand{\reprintname}{\ifjbweareinbib\Reprint\else\reprint\fi}% +\newcommand*{\jbedafti}[1]{}% +\newcommand*{\jbtiafed}[1]{#1}% +\newcommand*{\jbbookedaftertitle}{% + \renewcommand\jbedafti[1]{##1}% + \renewcommand\jbtiafed[1]{}} +\providecommand{\addto}{\g@addto@macro} +\def\jb@add@to#1#2{\addto{#1}{#2}#2}% <=== ????? +\def\AddTo#1#2{\AtBeginDocument{\jb@add@to#1{#2}}}% +\newcommand*{\jbonlyforcitations}{} +\newcommand*{\jbonlyforbib}{} +\newcommand*{\jbonlyforfirstcitefullbegin}{} +\newcommand*{\jbonlyforfirstcitefullend}{} +\newcommand{\bibAnnote}[1]{} +\newcommand{\bibAnnoteFile}[1]{} +\newcommand{\bibAnnotePath}[1]{\def\jb@ann@input@path{#1}} +\ifx\jb@ann@input@path\@undefined\let\jb@ann@input@path\input@path\fi +\newcommand{\jbannoteformat}[1]{{\small#1\par}}% +\providecommand{\bbl@main@language}{english}% +\newif\ifjbhum +\newif\ifjboxford +\newif\ifjbchicago +\newcommand*{\aftervolsep}{,}% +\DeclareRobustCommand{\volumeformat}[1]{\Volumename~#1\aftervolsep}% +\DeclareRobustCommand{\artvolumeformat}[1]{#1}% +\DeclareRobustCommand{\pervolumeformat}[1]{#1}% +\DeclareRobustCommand{\revvolumeformat}[1]{#1}% +\DeclareRobustCommand{\artnumberformat}[1]{\unskip,\space Nr.~#1}% +\DeclareRobustCommand{\pernumberformat}[1]{\unskip\space Nr.~#1}% +\DeclareRobustCommand{\revnumberformat}[1]{\unskip\space Nr.~#1}% +\DeclareRobustCommand{\artyearformat}[1]{\bibaldelim#1\bibardelim}% +\DeclareRobustCommand{\peryearformat}[1]{\bibpldelim#1\bibprdelim}% +\DeclareRobustCommand{\revyearformat}[1]{\artyearformat{#1}}% +\DeclareRobustCommand{\artvolnumformat}[2]{% + \ifthenelse{\equal{#1}{}}{% + #2% + }{% + \ifthenelse{\equal{#2}{}}{% + #1% + }{% + \artvolumeformat{#1}\artnumberformat{#2}% + }% + }% +}% +\DeclareRobustCommand{\pervolnumformat}[2]{% + \ifthenelse{\equal{#1}{}}{% + #2% + }{% + \ifthenelse{\equal{#2}{}}{% + #1% + }{% + \pervolumeformat{#1}\pernumberformat{#2}% + }% + }% +}% +\DeclareRobustCommand{\revvolnumformat}[2]{\artvolnumformat{#1}{#2}}% +\DeclareRobustCommand{\translator}[3]{% + \unskip\unskip\space% + \ifthenelse{\equal{#1}{}}{% translator missing + \ifjboxford\transfrom\else\Transfrom\fi\jbflanguage{#2}% + }{% translator given + \ifthenelse{\equal{\bbl@main@language}{german}}{% main language german + \ifthenelse{\equal{#2}{}}{% language missing + {\"U}bers. \transby{} #1% + }{% language given + \ifjboxford\transfrom\else\Transfrom\fi\jbflanguage{#2} ^^fcbers. \transby{} #1% + }% + }{% + \ifthenelse{\equal{#2}{}}{% language missing + \trans{} \transby{} #1% + }{% language given + \trans{} \transfrom{}\jbflanguage{#2} \transby{} #1% + }% + }% + }% dot or not? + \ifjbchicago + \ifthenelse{\equal{#3}{1}}{% \(type=incollection \and editor given\) \or type=article + \bibatsep{}% + }{}% + \else + \ifthenelse{\equal{#3}{1}\and\not\boolean{jboxford}}{% + \bibatsep{}% + }{}% + \fi +}% +\DeclareRobustCommand{\jbflanguage}[1]{% + \unskip\space% prevent from additional spaces for empty \transfrom macros + \ifthenelse{\equal{#1}{german}}{% + \fromgerman% + }{% + \ifthenelse{\equal{#1}{english}}{% + \fromenglish% + }{% + \ifthenelse{\equal{#1}{french}}{% + \fromfrench% + }{% + \ifthenelse{\equal{#1}{dutch}}{% + \fromdutch% + }{% + \ifthenelse{\equal{#1}{spanish}}{% + \fromspanish% + }{% + \ifthenelse{\equal{#1}{portuguese}}{% + \fromportuguese% + }{% + \ifthenelse{\equal{#1}{italian}}{% + \fromitalian% + }{% + \ifthenelse{\equal{#1}{norsk}}{% + \fromnorsk% + }{% + \ifthenelse{\equal{#1}{finnish}}{% + \fromfinnish% + }{% + \relax + }% + }% + }% + }% + }% + }% + }% + }% + }% +}% +\renewcommand*{\bibstyle}[1]{% + \ifthenelse{\equal{#1}{jox}}{% + \global\jb@joxtrue + \global\jb@humanbst@loadedtrue + \global\jboxfordtrue + }{% + \ifthenelse{\equal{#1}{jchicago}}{% + \global\jb@author@yeartrue + \global\jb@yearafterauthortrue + }{% + \ifthenelse{\equal{#1}{jureco}}{% + \global\jb@jurecotrue + \global\jb@author@yeartrue + \global\jb@yearafterauthortrue + \global\jb@yearaftertitlefalse + }{% + \ifthenelse{\equal{#1}{jhuman}}{\global\jb@humanbst@loadedtrue}{}% + }% + }% + }% +}% +\DeclareRobustCommand{\jbapifont}[1]{#1}% +\DeclareRobustCommand{\jbbtfont}{}% +\newif\ifjbopcit +\newcommand*{\jb@reset@look@label@for}{}% +\newcommand*{\jb@reset@opcit@label@for}{}% +\newcommand*{\opcit}{\textit{op.\,cit.}}% +\newcommand*{\OpCit}{% + \ifjbweareinbib\else + \ifjb@opcit + \ifjb@@opcit + \unskip\unskip,% + \ifjb@ssed@recent@kerned + \jb@do@ssed@kerning% + \else + \space% space part of the opcit hyperlink? + \fi + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup % <=== here we are ending with the link to the bibliography + \begingroup % <=== here we are starting a new hyperlink to the source citation of the opcit-sequence + \ifjb@allow@hyper@cite\hyper@jblinkstart{opcit.\@citeb.\jb@reset@opcit@label@for}\fi + \opcit% + \ifthenelse{\equal{\jb@@newpagecite}{}}{\ifjb@lookat\else\global\jb@footnote@periodfalse\fi}{}% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi % <=== we are closing the opcit hyperlink ... + \endgroup + \begingroup + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi % <=== ... an reopen the hyperlink to the bibliography + \jb@extract + \fi + \fi + \fi +}% +\newcommand*{\jb@open}{}% +\newcommand*{\jb@close}{}% +\newcommand*{\jb@cr@open}{}% +\newcommand*{\jb@cr@close}{}% +\newcommand*{\jb@incoll@cr@open}{}% +\newcommand*{\jb@incoll@cr@close}{}% +\newcommand*{\jb@art@cr@open}{}% +\newcommand*{\jb@art@cr@close}{}% +\DeclareRobustCommand{\jbpages}{}% +\DeclareRobustCommand{\jbedition}[1]{% + \unskip\unskip\ifjb@humanbst@loaded\else\space\fi#1}% +\DeclareRobustCommand{\jbPAGES}{} +\DeclareRobustCommand{\jbPages}[1]{% + \unskip\unskip\ifjbweareinbib, \else + \ifjb@comma@before@rest, \else\space\fi\fi + \jbprformat{#1}% +}% +\DeclareRobustCommand{\jbArchPages}[1]{% + \unskip\unskip\ifjbweareinbib, \else + \ifjb@comma@before@rest, \else\space\fi\fi + \jbprformat{#1}% +}% +\DeclareRobustCommand{\jbartPages}[1]{% + \ifjbchicago + \unskip:\space + \else + \unskip\unskip\ifjbweareinbib, \else + \ifjb@comma@before@rest, \else\space\fi\fi + \fi + \jbprformat{#1}% +}% +\let\origPAGES\jbPAGES +\let\origpages\jbpages +\let\origPages\jbPages +\let\origartPages\jbartPages +\newcommand*{\jb@endnote}{}% +\DeclareRobustCommand{\jbendnote}[1]{}% default +\DeclareRobustCommand{\jbnote}[2]{% + \ifjbweareinbib + \unskip\unskip\ifthenelse{\equal{#1}{1}}{, #2}{#2}% + \else + \unskip\unskip% + \fi +}% +\newcommand*{\jb@open@clean@for@crossref}{% + \jb@no@lookat@for@bibtrue + \jbcrosstrue + \ifjb@all@full + \jb@save@allfull@statustrue + \jb@all@fullfalse + \jb@fullcite@againfalse + \fi + \ifjb@lookat + \jb@save@lookat@statustrue + \jb@lookatfalse + \fi + \noibidem + \let\jbauthorfont\biblnfont + \let\jbauthorfnfont\bibfnfont + \let\jbactualauthorfont\biblnfont + \let\jbactualauthorfnfont\bibfnfont + \ifjbweareinbib + \let\jbhowsepbeforetitle\bibansep + \let\jbhowsepbeforetitleae\bibaesep + \fi + \let\jbbtasep\bibbtasep + \let\jbbfsasep\bibbfsasep + \let\jbbstasep\bibbstasep + \let\jbbtesep\bibbtesep + \let\jbbfsesep\bibbfsesep + \let\jbbstesep\bibbstesep + \let\jbtitlefont\bibtfont + \let\jbbtitlefont\bibbtfont + \let\jbapifont\bibapifont + \let\jb@extraspace\space +}% +\newcommand*{\jb@close@clean@for@crossref}{% + \ifjb@save@allfull@status + \jb@all@fulltrue + \jb@save@allfull@statusfalse + \fi + \ifjb@save@lookat@status + \jb@lookattrue + \jb@save@lookat@statusfalse + \fi + \jb@no@lookat@for@bibfalse + \jbcrossfalse + \jb@indextrue + \noidem +}% +\DeclareRobustCommand{\jbcrossrefchecked}[2][]{% + \begingroup + \jb@open@clean@for@crossref + \ifjb@firstcite@full\ifjb@all@full\else + \@ifundefined{citefull@#2}{% + \global\@namedef{citefull@#2}{citefull}% + }{}% + \fi\fi + \ifthenelse{\equal{#1}{}}{% + \jb@cr@open% + \inname{} % + % make a difference between first crossref cite + % and again crossref cite (ONLY FOR CITATION! 0.5e) + \ifjbweareinbib + \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}% + \else + \@ifundefined{NORMCR@#2}{% + \global\@namedef{NORMCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@cr@close% + }{% + \jb@cr@open% + \ifjboxford\volumename\else\Volumename\fi~#1 \volumeofname{} % + % make a difference between first crossref cite + % and again crossref cite (ONLY FOR CITATION! 0.5e) + \ifjbweareinbib + \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}% + \else + \@ifundefined{NORMCR@#2}{% + \global\@namedef{NORMCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@cr@close% + }% + \jb@close@clean@for@crossref + \endgroup% Grouping (otherwise fonts changed if `howcited') +}% +\DeclareRobustCommand{\jbartcrossrefchecked}[2][]{{% + \jb@open@clean@for@crossref + \ifjb@firstcite@full\ifjb@all@full\else + \@ifundefined{citefull@#2}{% + \global\@namedef{citefull@#2}{citefull}% + }{}% + \fi\fi + \ifthenelse{\equal{#1}{}}{% + \jb@art@cr@open% + \inname{} % + \ifjbweareinbib + \ifjb@index@bib\else + \jb@indexfalse + \fi + \bibcrossrefcite{#2}% + \else + \@ifundefined{ARTCR@#2}{% + \global\@namedef{ARTCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@art@cr@close% + }{% + \jb@art@cr@open% + \Volumename~#1 \volumeofname{} % + \ifjbweareinbib + \ifjb@index@bib\else + \jb@indexfalse + \fi + \bibcrossrefcite{#2}% + \else + \@ifundefined{ARTCR@#2}{% + \global\@namedef{ARTCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@art@cr@close% + }% + \jb@close@clean@for@crossref + }% +}% +\newcommand*{\fullnameoxfordcrossref}[1]{% + \ifjb@debug + \ifjb@debug@br[\fi + \textcolor[named]{Dandelion}{\citefield{author}{#1}\jbhowsepbeforetitle\citefield{title}{#1}}% + \ifjb@debug@br]\fi + \else + \citefield{author}{#1}\jbhowsepbeforetitle\citefield{title}{#1}% + \fi +} +\newcommand*{\jbedbyincollcrossreflong}[1]{% + \ifjbweareinbib + \bibtfont{\citefield{title}{#1}}% + \else + \jbbtfont{\citefield{title}{#1}}% + \fi + \bibatsep{} % + \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }% + \citefield{author}{#1}% + \unskip\ifjbetal\jbetalfalse\else.\fi\space% + \citefield{apy}{#1}% + \unskip\unskip% +} +\newcommand*{\jbedbyincollcrossrefshortwithapy}[1]{% + \ifjbweareinbib + \bibtfont{\citefield{shorttitle}{#1}}% + \else + \jbbtfont{\citefield{shorttitle}{#1}}% + \fi + \bibatsep{} % + \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }% + \citefield{shortauthor}{#1}% + \unskip\ifjbetal\jbetalfalse\else.\fi\space% + \citefield{apy}{#1}% + \unskip\unskip% +} +\newcommand*{\jbedbyincollcrossrefshortnoapy}[1]{% + \ifjbweareinbib + \bibtfont{\citefield{shorttitle}{#1}}% + \else + \jbbtfont{\citefield{shorttitle}{#1}}% + \fi + \bibatsep{} % + \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }% + \citefield{shortauthor}{#1}% + \unskip\unskip% +} +\newcommand*{\jbedbyincollcrossrefshort}[1]{% + \citefield{shortauthor}{#1}% + \unskip\unskip% +} +\DeclareRobustCommand{\jbincollcrossref}[2]{% + \begingroup + \jb@open@clean@for@crossref + \jb@incoll@cr@open% + \ifjb@firstcite@full\ifjb@all@full\else + \@ifundefined{citefull@#1}{% + \global\@namedef{citefull@#1}{citefull}% + }{}% + \fi\fi + \ifthenelse{% + \boolean{jb@edby}% + \and + \boolean{jbchicago}% + \and + \equal{#2}{1}% is there an editor??? + }{% + \let\bibedformat\@gobble % exists only in jhuman.bst + \incollinname{} % + \hyper@jblinkstart{#1}% + \ifjbweareinbib + \jbedbyincollcrossrefcite{#1}% + \else + \@ifundefined{INCCR@#1}{% + \global\@namedef{INCCR@#1}{}% + \jbedbyincollcrossrefcite{#1}% + }{% + \jbedbyincollcrossrefciteagain{#1}% + }% + \fi + \hyper@jblinkend% + }{% + \incollinname{} % + \ifjbweareinbib + \ifjb@index@bib\else + \jb@indexfalse + \fi + \bibincollcrossrefcite{#1}% + \else + \@ifundefined{INCCR@#1}{% + \global\@namedef{INCCR@#1}{}% + \bibincollcrossrefcite{#1}% + }{% + \jb@indexfalse\bibincollcrossrefciteagain{#1}% + }% + \fi + }% + \jb@incoll@cr@close% + \jb@close@clean@for@crossref + \endgroup% Grouping (otherwise fonts changed if `howcited') +}% +\DeclareRobustCommand{\numberandseries}[2]{% + \unskip\unskip\ifjb@jox\else,\fi + \space\bibsnfont{#2}% + \ifthenelse{\equal{#1}{}}{}{~#1}% +}% +\newcommand*{\edbysep}{\bibatsep{} }% +\newcommand*{\incolledformat}[5]{% + \bibBTsep% + \ifjb@edby + #3% + \ifx\relax#1\relax + \ifx\relax#5\relax\else + \ifx\relax#4\relax + \bibatsep{}% + \else + \bibatsep{}\space% + \fi + \fi + \else + \ifx\relax#5\relax + \ifjb@humanbst@loaded\edbysep{}\fi + \Edbyname{} % + \else + \edbysep{}% + \Edbyname{} % + \fi + \begingroup + #1% + \endgroup + \fi + \ifx\relax#4\relax\else + \ifx\relax#1\relax\else + \ifx\relax#5\relax + .\space% + \else + \bibatsep{} % + \fi + \fi + \Volumename~#4% + \fi + \ifx\relax#1\relax + \ifx\relax#4\relax\else.\fi % volume empty + \else + \ifjb@humanbst@loaded\else + \ifjbchicago\else.\fi + \fi + \fi + \else + \ifx\relax#1\relax\else + \begingroup + #1 % editor + \endgroup + \ifx\relax#2\relax\else#2\fi + \bothaesep% + \fi + #3% + \ifx\relax#4\relax + \ifx\relax#5\relax\else% No volume, but booktitleaddon + \bibatsep% + \fi + \else + \ifx\relax#5\relax\else,\space\fi% volume and booktitleaddon + \volumeformat{#4}% + \fi + \fi +} +\newcommand\jburldef{} +\newcommand\jb@urldef{} +\newcommand\jb@returnAfterFi{} +\long\def\jb@returnAfterFi#1\fi{\fi#1} +\newcommand*\jb@remove@percentCr{}% see hyperref.sty's \Hy@RemovePercentCr +\begingroup % no `%' inside this group! (Changing \endlinechar makes this easier). +\endlinechar\m@ne +\catcode`\^^M\active +\catcode`\%=12 +\gdef\jburldef#1{ + \begingroup + \def\jb@bbl@key{#1} + \let\do\@makeother\dospecials + \catcode`{\@ne \catcode`}\tw@ + \catcode`\^^M\active + \def^^M{ } + \jb@urldef +} +\gdef\jb@remove@percentCr#1%^^M#2\@nil{ + #1 + \ifx\limits#2\limits + \else + \jb@returnAfterFi\jb@remove@percentCr#2\@nil + \fi +} +\gdef\jb@urldef#1{ + \edef\@tempa{\jb@remove@percentCr#1%^^M\@nil} + \immediate\write\jb@urlfile{ + \string\expandafter\string\urldef\string\csname\space + jburl@\jb@bbl@key\string\endcsname\string\url\string{\@tempa\string} + } + \endgroup +} +\endgroup +\DeclareRobustCommand*\jburluse[1]{% + \biburlprefix\csname jburl@#1\endcsname\biburlsuffix% +} +\newwrite\jb@urlfile +\InputIfFileExists{\jobname.url}{}{} +\newread\jb@tempfile +\newcommand*\testnosig{}% +{% no spaces or percents in this group! (Changing \endlinechar makes this easier). +\catcode`\ =12 +\catcode`\%=12 +\endlinechar\m@ne +\gdef\jb@signature@line{%%% jurabib url repository} +\gdef\jb@if@no@sigline#1#2{\ifx#1\jb@signature@line\else#2\fi}} +\newcommand*\jb@chk@overwrite[1]{% + \bgroup + \openin\jb@tempfile=#1\relax + \let\do\@makeother \dospecials + \endlinechar\m@ne + \ifeof\jb@tempfile + % \typeout{File `#1' doesn't exist}% + \else + \read\jb@tempfile to\@tempa + \ifeof\jb@tempfile + % \typeout{File `#1' is empty}% + \else + \jb@if@no@sigline{\@tempa}{% + \ClassError{jurabib}{% + file `#1' not written by jurabib% + }{% + This doesn't look like a file written by jurabib.^^J% + Please save any valuable information contained in this file^^J% + to another place.^^J% + If you hit RETURN now, the file will be overwritten.^^J% + }% + }% + \fi + \fi + \closein\jb@tempfile + \egroup + \immediate\openout\jb@urlfile#1 + \immediate\write\jb@urlfile{\jb@signature@line}% + \AtEndDocument{\closeout\jb@urlfile} +} +\jb@chk@overwrite{\jobname.url} +\DeclareRobustCommand{\lookatprefix}{}% +\DeclareRobustCommand{\lookatsuffix}{}% +\newcommand*{\noibidem}{% + \gdef\jb@@lastauthorcite{}% + \gdef\jb@@lastannotatorcite{}% + \gdef\jb@@lastpagecite{}% +}% +\newcommand*{\noidem}{% + \gdef\jb@@last@@author{}% + \gdef\jb@@last@@title{}% +}% +\newcommand*{\nextcitefull}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{allnextfull}}}% +}% +\newcommand*{\nextciteshort}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{allnextshort}}}% +}% +\newcommand*{\nextcitenotitle}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{allnextnotitle}}}% +}% +\newcommand*{\nextcitereset}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{}}}% +}% +\newcommand*{\citeswithoutentry}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{NOBIB@\@tempa}{suppress}}}% +}% +\newcommand*{\nofirstnameforcitation}{\jb@no@firstnametrue}% +\newcommand*{\jb@cite@title@types}{}% +\newcommand*{\jb@cite@notitle@types}{}% +\newcommand*{\citetitlefortype}[1]{\gdef\jb@cite@title@types{#1}}% +\newcommand*{\citenotitlefortype}[1]{\gdef\jb@cite@notitle@types{#1}}% +\newcommand*{\jb@cite@title@for@type@hook}{% + \@for\@tempa:=\jb@cite@title@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@@title@switch{1}% + \fi + }% +}% +\newcommand*{\jb@cite@no@title@for@type@hook}{% + \@for\@tempa:=\jb@cite@notitle@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@@title@switch{-1}% + \fi + }% +}% +\def\jb@@cite@fullfirst@switch{}% +\newcommand*{\jb@cite@full@first@types}{}% +\newcommand*{\citefullfirstfortype}[1]{\gdef\jb@cite@full@first@types{#1}}% +\newcommand*{\jb@cite@full@first@fortype@hook}{% + \@for\@tempa:=\jb@cite@full@first@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@@cite@fullfirst@switch{1}% + \fi + }% +}% +\citefullfirstfortype{article,book,booklet,commented,inbook,incollection,inproceedings,jurthesis,manual,mastersthesis,misc,periodical,phdthesis,proceedings,techreport,unpublished,www,archival} +\def\jb@@lookat@for@type@switch{}% +\newcommand*{\jb@lookat@types}{}% +\newcommand*{\lookatfortype}[1]{\gdef\jb@lookat@types{#1}}% +\newcommand*{\jb@lookat@fortype@hook}{% + \@for\@tempa:=\jb@lookat@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@@lookat@for@type@switch{1}% + \fi + }% +}% +\lookatfortype{article,book,booklet,commented,inbook,incollection,inproceedings,jurthesis,manual,mastersthesis,misc,periodical,phdthesis,proceedings,techreport,unpublished,www,archival} +\newcommand*{\jb@cite@title@work}{}% +\newcommand*{\citeworkwithtitle}[1]{\gdef\jb@cite@title@work{#1}}% +\newcommand*{\jb@cite@title@for@work@hook}{% + \@for\@tempa:=\jb@cite@title@work\do{% + \protected@edef\@tempb{\jb@@newauthorcite}% + \ifx\@tempa\@tempb + \def\jb@@mult@switch{1}% + \fi + }% +}% +\newcommand*{\jb@start@page@for@types}{}% +\newcommand*{\jb@start@page@for@types@arg}{}% +\newcommand*{\jb@start@page@for@type@hook}{% + \@for\@tempa:=\jb@start@page@for@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@start@page@for@types@arg{1}% + \fi + }% +}% +\newcommand*{\jb@formatted@year}{% +\nobreakspace\textup{\jbcitationyearformat{\jb@@year}}% + \ifjb@oyear@in@citation\jb@formatted@oyear\fi +}% +\newcommand*{\jb@formatted@oyear}{% +\ifthenelse{\equal{\jb@@oyear}{}}{}{\unskip\unskip\textup{\jbcitationoyearformat{\jb@@year}}}% +}% +\DeclareRobustCommand{\jbyear}{% NEW 0.5c + \ifjb@author@year + \ifthenelse{\equal{\jb@@year}{}}{% + \@ifundefined{NOYEAR@\jb@@newauthorcite}{% + \global\@namedef{NOYEAR@\jb@@newauthorcite}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + No year for `\jb@@newauthorcite'!}}{\relax}% + \let\jbcitationyearformat\@empty + }{% + \jb@formatted@year% + }% + \fi +}% +\DeclareRobustCommand{\bibYear}[1]{% only for jureco.bst + \ifx\relax#1\relax\else + \nobreakspace\bibfnfont{% + \textup{% + \ifjbweareinbib + \jbbibyearformat{#1}% + \else + \jbcitationyearformat{#1}% + \fi + }% + }% + \fi +}% +\DeclareRobustCommand{\jbts}{\textsuperscript}% +\newcommand*{\bibleftcolumn}{6pc}% +\newcommand*{\bibcolumnsep}{1pc}% +\newcommand*{\bibrightcolumn}{\textwidth-\bibnumberwidth-\bibcolumnsep-\bibleftcolumn}% +\newcommand*{\bibleftcolumnadjust}{\raggedright}% +\newcommand*{\bibrightcolumnadjust}{\raggedright}% +\newcommand*{\bibleftcolumnstretch}{}% +\newcommand*{\bibrightcolumnstretch}{}% +\newcommand*{\bibtabularitemsep}{}% +\newcommand*{\bibaltformatalign}{\relax}% +\newcommand*{\jbdebug}{\jb@debugtrue + \jb@info{*** Debugging ON ***}% + \footnote{\textcolor[named]{Blue}{[volles Erstzitat]}}% + \footnote{\textcolor[named]{Red}{[volles Wiederholungszitat]}}% + \footnote{\textcolor[named]{Dandelion}{[Kurzzitat]}}% + \footnote{\textcolor[named]{WildStrawberry}{[ibidem]}}% + \footnote{\textcolor[named]{Gray}{[Titel ersetzt]}}% + \setcounter{footnote}{0}% +}% +\DeclareRobustCommand{\jbhowsepannotatorlast}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbhowsepbeforetitle}{\space}% +\DeclareRobustCommand{\jbhowsepbeforetitleae}{\jbhowsepbeforetitle}% +\DeclareRobustCommand{\jbhowsepbeforetitleibidemname}{,}% +\DeclareRobustCommand{\jbhowsepannotatorfirst}{~in: }% +\newcommand*{\jbbeforestartpagesep}{\space}% +\renewcommand*{\@biblabel}[1]{}% +\newcommand*{\jb@firstofseven} [7]{#1}% +\newcommand*{\jb@secondofseven} [7]{#2}% +\newcommand*{\jb@thirdofseven} [7]{#3}% +\newcommand*{\jb@fourthofseven} [7]{#4}% +\newcommand*{\jb@fifthofseven} [7]{#5}% +\newcommand*{\jb@sixthofseven} [7]{#6}% +\newcommand*{\jb@seventhofseven}[7]{#7}% +\def\jb@@author{\expandafter\jb@firstofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!! +\def\jb@@shorttitle{\expandafter\jb@secondofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!! +\def\jb@@fullname{\expandafter\jb@fifthofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!! +\def\jb@@fulltitle{\expandafter\jb@sixthofseven\jb@tempa\@empty\unskip}% +\newcommand*{\jb@firstofnine} [9]{#1}% +\newcommand*{\jb@secondofnine} [9]{#2}% +\newcommand*{\jb@thirdofnine} [9]{#3}% +\newcommand*{\jb@fourthofnine} [9]{#4}% +\newcommand*{\jb@fifthofnine} [9]{#5}% +\newcommand*{\jb@sixthofnine} [9]{#6}% +\newcommand*{\jb@seventhofnine}[9]{#7}% +\newcommand*{\jb@eighthofnine} [9]{#8}% +\newcommand*{\jb@ninethofnine} [9]{#9}% +\def\jb@@mult@switch{\expandafter\jb@firstofnine\jb@tempb}% +\def\jb@@howcited{\expandafter\jb@secondofnine\jb@tempb}% +\def\jb@@type{\expandafter\jb@thirdofnine\jb@tempb}% +\def\jb@@year{\expandafter\jb@fourthofnine\jb@tempb}% +\def\jb@@edition{\expandafter\jb@fifthofnine\jb@tempb}% +\def\jb@@edition@switch{\expandafter\jb@sixthofnine\jb@tempb}% +\def\jb@@language{\expandafter\jb@seventhofnine\jb@tempb}% +\def\jb@@pages{\expandafter\jb@eighthofnine\jb@tempb}% +\def\jb@@apy{\expandafter\jb@ninethofnine\jb@tempb}% +\def\jb@@title{\expandafter\jb@firstofnine\jb@tempc}% +\def\jb@@gender{\expandafter\jb@secondofnine\jb@tempc}% +\def\jb@@oyear{\expandafter\jb@thirdofnine\jb@tempc}% +\def\jb@@aut@ed@switch{\expandafter\jb@fourthofnine\jb@tempc}% +\def\jb@@title@switch{}% +\newcommand*{\jb@extract}{% + \protected@edef\jb@tempa{\csname b@\@citeb\@extra@b@citeb\endcsname}% + \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}% + \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}% +}% +\def\jb@use@fullcite{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \ifthenelse{\equal{\jb@@fullname}{\@empty}}{% + \jb@@fulltitle% + }{% + \jb@@fullname\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle\unskip% + }% + }{% + \ifthenelse{\equal{\jb@@fullname}{\@empty}}{% + \jbauthorfont{\jb@@author}\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle% + }{% + \jb@@fullname\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle\unskip% + }% + }% +}% +\newcommand*{\jb@extraspace}{\space}% +\@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{}% +\providecommand\@newciteauxhandle{\@auxout} +\AtBeginDocument{\@ifundefined{newcites}{\global\let\@restore@auxhandle\relax}{}} +\def\@restore@auxhandle{\gdef\@newciteauxhandle{\@auxout}} +\providecommand\hyper@natlinkstart[1]{} +\providecommand\hyper@natlinkend{} +\providecommand\hyper@natanchorstart[1]{} +\providecommand\hyper@natanchorend{} +\def\hyper@jblinkstart{\hyper@natlinkstart} +\def\hyper@jblinkend{\hyper@natlinkend} +\def\hyper@jbanchorstart{\hyper@natanchorstart} +\def\hyper@jbanchorend{\hyper@natanchorend} +\def\NAT@parse{} +\def\Hy@reserved@a{} +\newcounter{jbbibcnt} +\newcounter{jbbibcnta} +\newcounter{idemcnt}% NEW 0.5e idem feature +\newcounter{bibnamereplace}% +\newcounter{citefull}% +\newcounter{opcit}% +\newcounter{jb@cites@in@footnote} +\newcommand*{\samepageibidemname}{\ibidemname} +\newcommand*{\samepageibidemmidname}{\ibidemmidname} +\newcommand*{\diffpageibidemname}{\ibidemname} +\newcommand*{\diffpageibidemmidname}{\ibidemmidname} +\newcommand*{\IbidemName}{\ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\samepageibidemname}{\diffpageibidemname}} +\newcommand*{\IbidemMidName}{\ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\samepageibidemmidname}{\diffpageibidemmidname}} +\newcommand*{\jb@@lastpagecite}{}% +\newcommand*{\jb@@lastannotatorcite}{}% +\newcommand*{\jb@@lastauthorcite}{}% +\newcommand*{\jb@getsecondarg}{}% +\long\def\jb@getsecondarg#1#2#3\@nil{#2}% +\newcommand*{\jb@simple@pageref@by@heiko}[1]{% + \expandafter\expandafter\expandafter\jb@getsecondarg + \csname r@#1\endcsname{??}\@nil}% +\newcommand*{\jb@checked@edition}{}% +\newcommand*{\jb@aftertitleedition}{}% +\newcommand*{\jb@handle@superscript@ed}{% + \let\jb@checked@edition\@empty % complete removal of superscript edition or + %\let\jb@kerning@title@ed\@empty % only removal of kerning? + %\let\jb@kerning@notitle@ed\@empty % +}% +\newcommand*{\jb@formatted@author}{% + \ifjbcross + \ifthenelse{% + \equal{\jb@inside@author}{\jb@inside@editor}% + \and\boolean{jb@idem}% + }{% + \jb@@fullname% contains `idem, editor' + }{% + \jbauthorfont{\jb@@author}\ifjb@yearafterauthor\jbyear\fi + }% + \else + \jbauthorfont{\jb@@author}\ifjb@yearafterauthor\jbyear\fi + \fi +}% +\newcommand*{\jb@formatted@co@author}{% + \jbannotatorfont{\jb@@newannotatorcite}}% +\newcommand*{\jb@formatted@co@author@see}{% + \textup{\jb@@newannotatorcite}\ifthenelse{\equal{\jb@@newannotatorcite}{}}{}{\space}}% +\newcommand*{\jb@formatted@co@author@in}{% + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{\relax}{% + \jbannotatorfont{\jb@@newannotatorcite}\jbhowsepannotatorfirst}}% +\newcommand*{\jb@checked@title}{% + \ifjbhum + \ifthenelse{\equal{\jb@@type}{book}}{% + \let\jbtitlefont\jbbtfont}{\let\jbtitlefont\jbapifont}% + \fi + \ifthenelse{\equal{\jb@@shorttitle}{}}{% + \ifthenelse{% + \not\boolean{jb@author@year}% + \or + \( + \boolean{jb@all@titles}% + \and\boolean{jb@author@year}% + \) + }{% + \ifjb@no@title@replace\else + \ifjb@noauthorforcitetitle\else + \normalfont{\jbhowsepbeforetitle}% + \fi + \fi + \ifjb@no@title@replace\else + \@ifundefined{REPL@\jb@@newauthorcite}{% + \global\@namedef{REPL@\jb@@newauthorcite}{}% + \jb@package@warning{\jb@pkg@name}{% + `shorttitle' for `\jb@@newauthorcite'\MessageBreak + is missing -- replacing with `title'\MessageBreak + field}}{}% + \ifjb@debug + \textcolor[named]{Gray}{% + \ifjb@debug@br[\fi + \jbfulltitlefont{\jb@@title}% + \ifjb@debug@br]\fi + }% + \else + \jbfulltitlefont{\jb@@title}% + \fi% + \fi + }{}% + }{% + \ifthenelse{% + \not\boolean{jb@author@year}% + \or + \( + \boolean{jb@all@titles}% + \and\boolean{jb@author@year}% + \) + }{% + \ifjb@noauthorforcitetitle\else + \normalfont{\jbhowsepbeforetitle}% + \fi + \jbshorttitlefont{\jb@@shorttitle}% + }{}% + \@ifundefined{TITLE@\jb@@newauthorcite}{% + \global\@namedef{TITLE@\jb@@newauthorcite}{used}% + }{}% + }% +}% +\newcommand*{\jb@checked@author}{% + \ifthenelse{\equal{\jb@@fullname}{}}{% + \ifthenelse{\equal{\jb@@author}{}}{% + \relax + }{% + \jbauthorfont{\jb@@author}% + }% + }{% + \jbauthorfont{\jb@@fullname}% + }% +}% +\newcommand*{\jb@make@annotator@emph}{% + \ifjb@dynamic@author@fonts% + \let\jbannotatorfont\jbactualauthorfont% + \let\jbauthorfont\jbauthorfontifannotator% + \fi +}% +\newcommand*{\jb@make@author@emph}{% + \ifjb@dynamic@author@fonts% + \let\jbauthorfont\jbactualauthorfont% + \let\jbannotatorfont\normalfont% + \fi +}% +\newcommand*{\jb@relaxcommandsforfullcite}{% + \let\IbidemName\@empty + \let\jb@@author\@empty + \let\jb@@title\@empty + \let\jb@@shorttitle\relax + \let\jbyear\@empty + \let\jb@checked@edition\@empty + \let\jb@@newannotatorcite\@empty + \let\jbhowsepbeforetitle\@empty + \let\jbapifont\@empty + \let\jbbtfont\@empty + \let\jb@formatted@author\@empty +}% +\newcommand*{\jb@checkperiod}[1]{\jb@periodfalse\jb@@checkperiod#1.\jb@@end}% +\newcommand*{\jb@@checkperiod}{}% +\long\def\jb@@checkperiod#1.#2\jb@@end{% + \ifthenelse{\equal{#1}{}}{\jb@periodtrue\let\ecmd\relax}{% + \ifthenelse{\equal{#2}{}}{\let\ecmd\relax}{% + \def\ecmd{\jb@@checkperiod#2\jb@@end}}}\ecmd}% +\newlength{\jbbibhang} +\setlength{\jbbibhang}{2.5em} +\newlength{\bibnumberwidth} +\settowidth{\bibnumberwidth}{8888.\,} +\DeclareRobustCommand{\jb@checked@bibetal}{% + \ifjb@bibetal + \unskip\nobreakspace% + \ifjb@cite@no@title + \ifx\jb@@newpagecite\@empty + \bibIMfont{\etalnamenodot}% + \else + \bibIMfont{\etalname}% + \fi + \else + \bibIMfont{\etalname}% + \fi + \fi +} +\DeclareRobustCommand{\Bibetal}{\jb@checked@bibetal\global\jbetaltrue} +\newcommand*{\jb@checked@etal}{% + \let\@latex@info\@gobble + \DeclareRobustCommand{\Bibetal}{% + \bibIMfont{\etalname}% + \ifthenelse{\equal{\jb@@newpagecite}{}% + \or + \( + \boolean{jb@firstcite@full}% + \and + \equal{\jb@@newpagecite}{}% + \and + \equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% + \) + }{% + \ifthenelse{% + \not\boolean{jbcross}% NEW, otherwise missing footnote period for citations containing crossref's + \and + \not\boolean{jb@lookat}% + \and + \not\boolean{jb@author@year}% + \and + \not\boolean{jb@fullcite@again}% + \and + \not\equal{\jb@@mult@switch}{1}% + }{% + \global\jb@footnote@periodfalse + }{}% + }{}% + }% +}% +\newcommand*{\jb@missing@ldf@files}[1]{\ClassError{\jb@pkg@name}{You are in trouble here.\MessageBreak% + File `#1' not found}{Make sure that all .ldf files are living in the jurabib directory!}}% +\gdef\@bibsfrench{\InputIfFileExists{frjbbib.ldf}{}{\jb@missing@ldf@files{frjbbib.ldf}}}% +\gdef\@bibsgerman{\InputIfFileExists{dejbbib.ldf}{}{\jb@missing@ldf@files{dejbbib.ldf}}}% +\gdef\@bibsaustrian{\InputIfFileExists{dejbbib.ldf}{}{\jb@missing@ldf@files{dejbbib.ldf}}\def\janname{J{^^e4}nner}}% +\gdef\@bibsenglish{\InputIfFileExists{enjbbib.ldf}{}{\jb@missing@ldf@files{enjbbib.ldf}}}% +\gdef\@bibsdutch{\InputIfFileExists{dujbbib.ldf}{}{\jb@missing@ldf@files{dujbbib.ldf}}}% +\gdef\@bibsspanish{\InputIfFileExists{spjbbib.ldf}{}{\jb@missing@ldf@files{spjbbib.ldf}}}% +\gdef\@bibsportuguese{\InputIfFileExists{ptjbbib.ldf}{}{\jb@missing@ldf@files{ptjbbib.ldf}}}% +\gdef\@bibsitalian{\InputIfFileExists{itjbbib.ldf}{}{\jb@missing@ldf@files{itjbbib.ldf}}}% +\gdef\@bibsnorsk{\InputIfFileExists{nojbbib.ldf}{}{\jb@missing@ldf@files{nojbbib.ldf}}}% +\gdef\@bibsfinnish{\InputIfFileExists{fijbbib.ldf}{}{\jb@missing@ldf@files{fijbbib.ldf}}}% +\gdef\@bibsdanish{\InputIfFileExists{dajbbib.ldf}{}{\jb@missing@ldf@files{dajbbib.ldf}}}% +\newcommand*{\jb@kv@warning}[2]{% + \jb@package@warningNoLine{\jb@pkg@name}{% + unrecognized value `#1'\MessageBreak + for key `#2' ignored}} +\define@key{jb}{authorformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{smallcaps}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbauthorfont}{\textsc}% + \renewcommand*{\jbauthorfnfont}{\textsc}% + \renewcommand*{\jborgauthorfont}{\textsc}% + \renewcommand*{\jbannotatorfont}{\textsc}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{italic}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbauthorfont}{\textit}% + \renewcommand*{\jbauthorfnfont}{\textit}% + \renewcommand*{\jborgauthorfont}{\textit}% + \renewcommand*{\jbannotatorfont}{\textit}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{dynamic}}{% + \jb@kv@recognizedtrue + \jb@dynamic@author@fontstrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{citationreversed}}{% + \jb@kv@recognizedtrue + \jb@reverse@names@in@citationtrue + \jb@reverse@all@namesfalse + }{\relax}% + \ifthenelse{\equal{\jb@val}{firstnotreversed}}{% + \jb@kv@recognizedtrue + \jb@first@author@reversedtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{allreversed}}{% + \jb@kv@recognizedtrue + \jb@reverse@all@namestrue + \global\let\bibnf\bibrnf + \global\let\bibenf\bibrenf + \global\let\biblenf\bibrlenf + }{\relax}% + \ifthenelse{\equal{\jb@val}{reducedifibidem}}{% + \jb@kv@recognizedtrue + \jb@ibidem@with@short@nametrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{year}}{% + \jb@kv@recognizedtrue + \jb@author@yeartrue + \jb@yearafterauthortrue + \jbshowbibextralabel + }{\relax}% + \ifthenelse{\equal{\jb@val}{indexed}}{% + \jb@kv@recognizedtrue + \jb@indextrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{and}}{% + \jb@kv@recognizedtrue + \bibsall{% + \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }% + \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }% + \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }% + \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }% + \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }% + \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }% + \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }% + \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }% + }% + \addto\@bibsenglish{% + \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }% + \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\jbbstasep {\unskip\bibIMfont{\commaname{} \textandname} }% + \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }% + \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\bibbstasep{\unskip\bibIMfont{\commaname{} \bibandname} }% + \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }% + \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\jbbstesep {\unskip\bibEIMfont{\commaename{} \texteandname} }% + \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }% + \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\bibbstesep{\unskip\bibEIMfont{\commaename{} \bibeandname} }% + }% + }{\relax}% + \ifthenelse{\equal{\jb@val}{abbrv}}{% + \jb@kv@recognizedtrue + \jb@abbrvtrue + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{authorformat}\fi + }% +}% +\define@key{jb}{annotatorformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{italic}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbannotatorfont}{\textit}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{normal}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbannotatorfont}{\normalfont}% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{annotatorformat}\fi + }% +}% +\define@key{jb}{superscriptedition}[commented]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue\jb@ssed@alltrue}{}% + \ifthenelse{\equal{\jb@val}{commented}}{% + \jb@kv@recognizedtrue\jb@ssed@commentedtrue}{}% + \ifthenelse{\equal{\jb@val}{switch}}{% + \jb@kv@recognizedtrue\jb@ssed@swtrue}{}% + \ifthenelse{\equal{\jb@val}{bib}\or\equal{\jb@val}{address}}{% + \jb@kv@recognizedtrue\jb@bibssedtrue + \let\jbedition\@gobble}{}% + \ifthenelse{\equal{\jb@val}{multiple}}{% + \jb@kv@recognizedtrue\jb@ssed@mult@workstrue}{}% + \ifthenelse{\equal{\jb@val}{year}}{\jb@kv@recognizedtrue + \renewcommand*{\jbssedbd}{\textsuperscript}% + \let\jbedition\@gobble\DeclareRobustCommand{\apyformat}[1]{% + \unskip\unskip\space\bibapyldelim{}##1\bibapyrdelim{}} + }{}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{superscriptedition}\fi + }% +}% +\define@key{jb}{titleformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{italic}}{% + \jb@kv@recognizedtrue + \DeclareRobustCommand{\jbtitlefont}{\textit}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue + \ifjb@no@title@replace + \global\jb@no@title@replacefalse + \jb@package@warningNoLine{\jb@pkg@name}{% + `titleformat=all' and `titleformat=noreplace'\MessageBreak + cannot be used together. I will replace missing\MessageBreak + shorttitles to avoid ambiguity of citations}% + \fi + \jb@all@titlestrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{noreplace}}{% + \jb@kv@recognizedtrue + \jb@no@title@replacetrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{commasep}}{% + \jb@kv@recognizedtrue + \jb@before@title@separatortrue + \renewcommand*{\jbhowsepbeforetitle}{, }% + }{\relax}% + \ifthenelse{\equal{\jb@val}{colonsep}}{% + \jb@kv@recognizedtrue + \jb@before@title@separatortrue + \renewcommand*{\jbhowsepbeforetitle}{: }% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{titleformat}\fi + }% +}% +\define@key{jb}{din}[true]{% + \AtEndOfPackage{% + \DeclareRobustCommand{\biblnfont}{\textsc}% + \DeclareRobustCommand{\bibfnfont}{\normalfont}% + \DeclareRobustCommand{\bibbtfont}{\textit}% + \DeclareRobustCommand{\bibtfont}{\textit}% + \DeclareRobustCommand{\bibjtfont}{\textit}% + \DeclareRobustCommand{\bibapifont}{\normalfont}% + \DeclareRobustCommand{\bibatsep}{.}% + \DeclareRobustCommand{\bibbtsep}{\inname{} }% + \DeclareRobustCommand{\bibjtsep}{\inname{} }% + }% +}% +\define@key{jb}{howcited}[normal]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@alltrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{normal}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@normaltrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{multiple}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@multipletrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{compare}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@comparetrue + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{howcited}\fi + }% + \renewcommand*{\jbrealcitation}[2]{% + \@ifundefined{b@##2@C}{\global\@namedef{b@##2@C}{cite}}{\relax}% + \ifthenelse{\equal{##1}{citetitle}}{% + \global\@namedef{b@##2@C}{citetitle}}{\relax}% + \ifthenelse{\equal{##1}{citenotitle}}{% + \global\@namedef{b@##2@C}{citenotitle}}{\relax}}% +}% +\define@key{jb}{annotatorfirstsep}{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{#1}{comma}}{% + \jb@kv@recognizedtrue + \jb@annotator@lastfalse + \renewcommand*{\jbhowsepannotatorfirst}{, }% + }{\relax}% + \ifthenelse{\equal{#1}{in}}{% + \jb@kv@recognizedtrue + \jb@annotator@lastfalse + \renewcommand*{\jbhowsepannotatorfirst}{~in: }% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{#1}{annotatorfirstsep}\fi +}% +\define@key{jb}{annotatorlastsep}{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{#1}{divis}}{% + \jb@kv@recognizedtrue + \jb@annotator@lasttrue + \renewcommand*{\jbhowsepannotatorlast}{--}% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{#1}{annotatorlastsep}\fi +}% +\define@key{jb}{commabeforerest}[true]{\jb@comma@before@resttrue\renewcommand*{\jbbeforestartpagesep}{,\space}}% +\define@key{jb}{bibformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{compress}}{% + \jb@kv@recognizedtrue + \jb@compressed@bibtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{raggedright}}{% + \jb@kv@recognizedtrue + \addto\jbonlyforbib{\raggedright} + \let\bibaltformatalign\raggedright + }{\relax}% + \ifthenelse{\equal{\jb@val}{tabular}}{% + \jb@kv@recognizedtrue + \jb@tabulartrue\jb@bib@hangfalse + }{\relax}% + \ifthenelse{\equal{\jb@val}{numbered}}{% + \jb@kv@recognizedtrue + \jb@numbered@bibtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{ibidem}}{% + \jb@kv@recognizedtrue + \jb@bibformat@ibidemtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{ibidemalt}}{% + \jb@kv@recognizedtrue + \jb@bibformat@ibidemtrue + \jbaltformattrue + \jb@compressed@bibtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{nohang}}{% + \jb@kv@recognizedtrue + \jb@bib@hangfalse + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{bibformat}\fi + }% +}% +\define@key{jb}{citefull}[all]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{first}}{% + \jb@kv@recognizedtrue + \jb@change@fonts@for@fullcitetrue + \jb@firstcite@fulltrue + \jb@allow@nobibtrue + \global\jb@annotator@lastfalse + \ifjb@see\else\renewcommand*{\jbhowsepannotatorfirst}{~in: }\fi + \jb@all@fullfalse + }{% + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue + \jb@all@fulltrue + \jb@allow@nobibtrue + \global\jb@howcitedfalse + \global\jb@annotator@lastfalse + \ifjb@see\else\renewcommand*{\jbhowsepannotatorfirst}{~in: }\fi + \jb@firstcite@fullfalse + }{\relax}% + }% + \ifthenelse{\equal{\jb@val}{chapter}}{% + \jb@kv@recognizedtrue + \@ifundefined{chapter}{% + \ClassError{\jb@pkg@name}{% + Sorry, `citefull=chapter' makes no sense for\MessageBreak + classes without \string\chapter% + }{Try `citefull=section' for an article class}}{}% + \setkeys{jb}{citefull=first}% + \@addtoreset{citefull}{chapter}% + \def\jb@resetfor{chapter}% + \def\jb@reset@look@label@for{\thechapter}% for lookat + }{% + \ifthenelse{\equal{\jb@val}{section}}{% + \jb@kv@recognizedtrue + \@ifundefined{chapter}{}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + `citefull=section' was designed for use with\MessageBreak + an article class, note that it's not well\MessageBreak + tested for use with book or report classes}}% + \setkeys{jb}{citefull=first}% + \@addtoreset{citefull}{section}% + \def\jb@resetfor{section}% + \def\jb@reset@look@label@for{\thesection}% for lookat, to check + }{% + \ifthenelse{\equal{\jb@val}{false}}{% + \jb@kv@recognizedtrue + \global\jb@all@fullfalse + \global\jb@allow@nobibfalse + \global\jb@firstcite@fullfalse + }{\relax}% + }% + }% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{citefull}\fi + }% +}% +\define@key{jb}{see}[true]{% + \jb@seetrue\jb@annotator@lastfalse + \renewcommand*{\jbhowsepannotatorfirst}{}% + \renewcommand*{\jbannotatorfont}{\normalfont}% + \let\jb@formatted@co@author\jb@formatted@co@author@see + \let\jb@formatted@co@author@in\jb@formatted@co@author@see +}% +\define@key{jb}{ibidem}[strict]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{false}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \global\jb@ibidemfalse + \global\jb@ibidem@pagewisefalse + \global\jb@ibidem@double@pagewisefalse + \global\jb@ibidem@with@namefalse + \global\jb@ibidem@with@name@and@titlefalse + }% + }{% + \ifthenelse{\equal{\jb@val}{strict}}{% + \jb@kv@recognizedtrue + \jb@ibidemtrue + \jb@ibidem@pagewisetrue + \jb@ibidem@double@pagewisefalse + }{% + \ifthenelse{\equal{\jb@val}{strictdoublepage}}{% + \jb@kv@recognizedtrue + \jb@ibidemtrue + \jb@ibidem@pagewisetrue + \if@twoside\jb@ibidem@double@pagewisetrue + \else\jb@ibidem@double@pagewisefalse\fi + }{% + \ifthenelse{\equal{\jb@val}{nostrict}}{% + \jb@kv@recognizedtrue + \jb@ibidemtrue + \jb@ibidem@pagewisefalse + \jb@ibidem@double@pagewisefalse + }{% + \ifthenelse{\equal{\jb@val}{name}}{% + \jb@kv@recognizedtrue + \setkeys{jb}{citefull=first}% + \jb@ibidemfalse + \global\jb@ibidem@with@nametrue + }{% + \ifthenelse{\equal{\jb@val}{name&title}}{% + \jb@kv@recognizedtrue + \setkeys{jb}{citefull=first}% + \jb@ibidemfalse + \jb@ibidem@with@nametrue + \jb@ibidem@with@name@and@titletrue + }{% + \ifthenelse{\equal{\jb@val}{name&title&auto}}{% + \jb@kv@recognizedtrue + \setkeys{jb}{citefull=first}% + \jb@ibidemfalse + \jb@ibidem@with@nametrue + \jb@ibidem@with@name@and@title@autotrue + }{\relax}}}}}}}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{ibidem}\fi + }% +}% +\define@key{jb}{idem}[strict]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{false}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \global\jb@idemfalse + \global\jb@idem@pagewisefalse + \global\jb@idem@double@pagewisefalse + }% + }{% + \ifthenelse{\equal{\jb@val}{strict}}{% + \jb@kv@recognizedtrue + \jb@idemtrue + \jb@idem@pagewisetrue + \jb@idem@double@pagewisefalse + }{% + \ifthenelse{\equal{\jb@val}{strictdoublepage}}{% + \jb@kv@recognizedtrue + \jb@idemtrue + \jb@idem@pagewisetrue + \if@twoside\jb@idem@double@pagewisetrue + \else\jb@idem@double@pagewisefalse\fi + }{% + \ifthenelse{\equal{\jb@val}{nostrict}}{% + \jb@kv@recognizedtrue + \jb@idemtrue + \jb@idem@pagewisefalse + \jb@idem@double@pagewisefalse + }{\relax}}}}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{idem}\fi + }% +}% +\define@key{jb}{footnotes}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{marginal}}{% + \jb@kv@recognizedtrue + \newlength\jbfootnoteindent + \setlength\jbfootnoteindent{\parindent}% + \newlength\jbfootnotenumwidth + \settowidth\jbfootnotenumwidth{99}% + \newcommand*{\jbfootnotenumalign}{r}% + \newcommand*{\jbfootnoteformat}{\textsuperscript}% + \renewcommand\@makefntext[1]{\@setpar{\@@par + \@tempdima\hsize\advance\@tempdima-\jbfootnoteindent + \parshape\@ne\jbfootnoteindent\@tempdima}% + \parindent 1em\par\noindent + \makebox[0pt][r]{\makebox[\jbfootnoteindent][r]{% + \makebox[\jbfootnotenumwidth][\jbfootnotenumalign]{% + \jbfootnoteformat{\@thefnmark}}\hspace*{\fill}}}##1}% + \AtBeginDocument{% + \ifjb@endnotes + \def\enoteformat{\@setpar{\@@par\@tempdima\hsize + \advance\@tempdima-\jbfootnoteindent + \parshape\@ne\jbfootnoteindent\@tempdima}% + \parindent 1em\par\noindent + \makebox[0pt][r]{\makebox[\jbfootnoteindent][r]{% + \makebox[\jbfootnotenumwidth][\jbfootnotenumalign]{% + \jbfootnoteformat{\@theenmark}}\hspace*{\fill}}}}% + \fi + }% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{footnotes}\fi + }% +}% +\define@key{jb}{jurabiborder}[true]{\jb@old@ordertrue}% +\define@key{jb}{round}[true]{% + \renewcommand*{\jb@open}{(}% + \renewcommand*{\jb@close}{)}% +}% +\define@key{jb}{square}[true]{% + \renewcommand*{\jb@open}{[}% + \renewcommand*{\jb@close}{]}% +}% +\define@key{jb}{lookat}[true]{\jb@lookattrue}% +\define@key{jb}{crossref}[normal]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{dynamic}}{% + \jb@kv@recognizedtrue + \global\jb@dynamic@crossrefstrue + \setkeys{jb}{crossref=long}% + }{% + \ifthenelse{\equal{\jb@val}{short}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\cite}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\cite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortnoapy + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshort + \else + \renewcommand*{\bibcrossrefcite}{\cite}% + \renewcommand*{\bibcrossrefciteagain}{\cite}% + \renewcommand*{\bibincollcrossrefcite}{\cite}% + \renewcommand*{\bibincollcrossrefciteagain}{\cite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshort + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshort + \fi + }% + }{% + \ifthenelse{\equal{\jb@val}{normal}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\cite}% + \renewcommand*{\bibincollcrossrefciteagain}{\cite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortwithapy + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortnoapy + \else + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortwithapy + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortwithapy + \fi + }% + }{% + \ifthenelse{\equal{\jb@val}{long}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\fullcite}% + \renewcommand*{\bibincollcrossrefcite}{\fullcite}% + \renewcommand*{\bibcrossrefciteagain}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossreflong + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortwithapy + \else + \renewcommand*{\bibcrossrefcite}{\fullcite}% + \renewcommand*{\bibincollcrossrefcite}{\fullcite}% + \renewcommand*{\bibcrossrefciteagain}{\fullcite}% + \renewcommand*{\bibincollcrossrefciteagain}{\fullcite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossreflong + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossreflong + \fi + }% + }{\relax}}}}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{crossref}\fi + }% +}% +\define@key{jb}{pages}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{format}}{% + \jb@kv@recognizedtrue + \jb@formatted@pagestrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{always}}{% + \jb@kv@recognizedtrue + \jb@always@pagerangestrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{test}}{% + \jb@kv@recognizedtrue + \jb@tested@pagerangestrue + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{pages}\fi + }% +}% +\define@key{jb}{oxford}[true]{% + \jb@kv@recognizedtrue + \global\jbhumtrue + \global\jboxfordtrue\global\jbchicagofalse + \setkeys{jb}{% + authorformat={citationreversed},see,% + titleformat=commasep,% + }% + \jbdotafterbibentry + \AtEndOfPackage{% + \ifjboxford + \ifjb@biblikecite\else + \jb@info{*** jurabib set up for oxford style ***}% + \renewcommand*{\bibfnfont}{}% first name font + \renewcommand*{\biblnfont}{}% last name font + \renewcommand*{\bibefnfont}{}% editor first name font + \renewcommand*{\bibelnfont}{}% editor last name font + \renewcommand*{\bibtfont}{\textit}% title font + \renewcommand*{\bibbtfont}{\textit}% booktitle font + \renewcommand*{\bibjtfont}{\textit}% journal title font + \renewcommand*{\bibapifont}[1]{`##1'}% bib article/incollection title font + \renewcommand*{\jbapifont}[1]{`##1'}% text article/incollection title font + \renewcommand*{\jbtitlefont}{}% text title font + \renewcommand*{\bibansep}{,}% author name sep + \renewcommand*{\bibaesep}{, }% after editor sep + \renewcommand*{\bibatsep}{,}% after title sep + \DeclareRobustCommand{\bibapyldelim}{(}% always parentheses for oxford! + \DeclareRobustCommand{\bibapyrdelim}{)}% always parentheses for oxford! + \DeclareRobustCommand{\dateldelim}{(}% enclose the date in parentheses + \DeclareRobustCommand{\daterdelim}{)}% enclose the date in parentheses + \renewcommand*{\bibbtasep}{ \ }% between two authors sep + \renewcommand*{\bibbfsasep}{, }% between first and second author sep + \renewcommand*{\bibbstasep}{ \ }% between second and third author sep + \renewcommand*{\bibbtesep}{ \ }% between two editors sep + \renewcommand*{\bibbfsesep}{, }% between first and second editor sep + \renewcommand*{\bibbstesep}{ \ }% between second and third editor sep + \renewcommand*{\bibbtsep}{\inname{} }% booktitle sep + \renewcommand*{\jb@cr@open}{}% crossref left delimiter + \renewcommand*{\jb@cr@close}{}% crossref right delimiter + \renewcommand*{\jb@art@cr@open}{}% article crossref left delimiter + \renewcommand*{\jb@art@cr@close}{}% article crossref right delimiter + \renewcommand*{\jb@incoll@cr@open}{}% incoll crossref left delimiter + \renewcommand*{\jb@incoll@cr@close}{}% incoll crossref right delimiter + \renewcommand*{\bibaldelim}{(}% article year left delimiter + \renewcommand*{\bibardelim}{)}% article year right delimiter + \fi\fi + }% + \addto\jbonlyforbib{\renewcommand*{\bibansep}{, }}% make sure that a space appear + \DeclareRobustCommand{\artnumberformat}[1]{\unskip:##1}% + \ifjb@kv@recognized\else\jb@kv@warning{#1}{oxford}\fi +}% +\define@key{jb}{chicago}[true]{% + \jb@kv@recognizedtrue + \global\jbchicagotrue\global\jboxfordfalse + \setkeys{jb}{% + authorformat={citationreversed,firstnotreversed},edby,see,% + bibformat=ibidem,% + citefull=first,% + titleformat=commasep,% + commabeforerest,% + }% + \jb@package@warningNoLine{% + 'chicago' style is still experimental! Do not use together with jox.bst!% + }% + \jbdotafterbibentry% + \AtEndOfPackage{% + \ifjbchicago + \ifjb@biblikecite\else + \jb@info{*** jurabib set up for chicago style ***}% + \renewcommand*{\bibfnfont}{}% first name font + \renewcommand*{\biblnfont}{}% last name font + \renewcommand*{\bibefnfont}{}% editor first name font + \renewcommand*{\bibelnfont}{}% editor last name font + \renewcommand*{\bibtfont}{\textit}% title font + \renewcommand*{\bibbtfont}{\textit}% booktitle font + \renewcommand*{\bibjtfont}{\textit}% journal title font + \renewcommand*{\bibapifont}[1]{``##1''}% bib article/incollection title font + \renewcommand*{\bibsnfont}{}% series name font + \renewcommand*{\jbapifont}[1]{``##1''}% text article/incollection title font + \renewcommand*{\jbtitlefont}{}% text title font + \renewcommand*{\bibansep}{. }% author name sep + \renewcommand*{\bibaesep}{, }% after editor sep + \renewcommand*{\bibatsep}{,}% after title sep + \renewcommand*{\bibbdsep}{,}% before date sep + \renewcommand*{\bibbtasep}{ \bibIMfont{\bibandname} }% between two authors sep + \renewcommand*{\bibbfsasep}{\unskip\bibIMfont{\commaname} }% between first and second author sep + \renewcommand*{\bibbstasep}{ \bibIMfont{\bibandname} }% between second and third author sep + \renewcommand*{\bibbtesep}{ \bibEIMfont{\bibandname} }% between two editors sep + \renewcommand*{\bibbfsesep}{\unskip\bibEIMfont{\commaname} }%between first and second editor sep + \renewcommand*{\bibbstesep}{ \bibEIMfont{\bibandname} }% between second and third editor sep + \renewcommand*{\jbbtasep}{ \bibIMfont{\textandname} }% between two authors sep + \renewcommand*{\jbbfsasep}{\unskip\bibIMfont{\commaname} }% between first and second author sep + \renewcommand*{\jbbstasep}{ \bibIMfont{\textandname} }% between second and third author sep + \renewcommand*{\jbbtesep}{ \bibEIMfont{\texteandname} }% between two editors sep + \renewcommand*{\jbbfsesep}{\unskip\bibEIMfont{\commaename} }%between first and second editor sep + \renewcommand*{\jbbstesep}{ \bibEIMfont{\texteandname} }% between second and third editor sep + \renewcommand*{\bibbtsep}{\inname{} }% booktitle sep + \renewcommand*{\jb@cr@open}{}% crossref left delimiter + \renewcommand*{\jb@cr@close}{}% crossref right delimiter + \renewcommand*{\jb@art@cr@close}{}% article crossref left delimiter + \renewcommand*{\jb@art@cr@close}{}% article crossref right delimiter + \renewcommand*{\jb@incoll@cr@open}{}% incoll crossref left delimiter + \renewcommand*{\jb@incoll@cr@close}{}% incoll crossref right delimiter + \renewcommand*{\bibaldelim}{(}% article year left delimiter + \renewcommand*{\bibardelim}{)}% article year right delimiter + \renewcommand*{\artnumberformat}[1]{,\space{}no.~##1}% article number format + \renewcommand*{\pernumberformat}[1]{,\space{}no.~##1}% periodical format + \renewcommand*{\edbysep}{, }% + \def\bibauthormultiple{% + \stepcounter{multiple@author}% to suppress inside bibliographic entry + \leavevmode\vrule height 2pt depth -1.6pt width 3em\hspace{1pt}.\space}% + \DeclareRobustCommand{\jbnote}[2]{% + \ifjbweareinbib + \unskip\unskip\ifthenelse{\equal{##1}{1}}{\bibatsep{} ##2}{##2}% + \else + \unskip\unskip% + \fi + }% + \ifjbweareinbib\else + \renewcommand*{\bibapyldelim}{\unskip\space(}% + \renewcommand*{\bibapyrdelim}{)}% + \fi + \addto\jbonlyforbib{% + \DeclareRobustCommand\incollinname{\inname{} }% + \DeclareRobustCommand{\bibbtsep}{\inname{} }% + \DeclareRobustCommand{\bibapyldelim}{\unskip\unskip\space}% + \DeclareRobustCommand{\bibapyrdelim}{}% + \DeclareRobustCommand{\bibatsep}{.}% + \DeclareRobustCommand{\dateldelim}{\unskip.}% + \DeclareRobustCommand{\daterdelim}{}% + }% + \AddTo\bibsenglish{% + \def\incollinname{in}% + \def\inname{in}% + \def\editorname{\unskip,\space{}ed.}% + \def\editorsname{\unskip,\space{}eds.}% + \def\edbyname{ed.}% + \def\Edbyname{Ed.}% + \def\volumename{vol.}% + \def\Volumename{Vol.}% + \def\firstedname{1st}% + \def\secondedname{2nd}% + \def\thirdedname{3rd}% + \def\fourthedname{4th}% + \def\fifthedname{5th}% + \def\thedname{th}% + \def\editionname{ed}% dot removed, suggested by Robert Schlicht + }% + \fi\fi + }% + \addto\jbonlyforbib{\renewcommand*{\bibansep}{. }}% make sure that a space appear + \ifjb@kv@recognized\else\jb@kv@warning{#1}{chicago}\fi +}% +\define@key{jb}{human}[true]{\global\jbhumtrue} +\define@key{jb}{edby}[true]{\global\jb@edbytrue} +\define@key{jb}{endnote}[true]{% + \DeclareRobustCommand{\jbnote}[2]{\unskip}% + \DeclareRobustCommand{\jbendnote}[1]{\def\jb@endnote{\unskip\unskip\ifjb@dot\else,\fi\space##1}}% +} +\define@key{jb}{biblikecite}[true]{% + \global\jb@biblikecitetrue + \AtBeginDocument{% <== to make redefintions work + \global\let\biblnfont\jbauthorfont + \global\let\bibfnfont\jbauthorfnfont + \global\let\bibelnfont\jbauthorfont + \global\let\bibefnfont\jbauthorfnfont + \global\let\bibbtfont\jbtitlefont + \global\let\bibtfont\jbtitlefont + \global\let\bibapifont\jbapifont + }% +} +\define@key{jb}{opcit}[true]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{true}}{% + \jb@kv@recognizedtrue + \jb@opcittrue + }{}% + \ifthenelse{\equal{\jb@val}{chapter}}{% + \jb@kv@recognizedtrue + \global\jb@opcittrue + \@ifundefined{chapter}{% + \ClassError{\jb@pkg@name}{% + Sorry, `opcit=chapter' makes no sense for\MessageBreak + classes without \string\chapter% + }{Try `opcit=section' for an article class}}{}% + \@addtoreset{opcit}{chapter}% + \def\jb@reset@opcit@for{chapter}% + \def\jb@reset@opcit@label@for{\thechapter}% + }{% + \ifthenelse{\equal{\jb@val}{section}}{% + \jb@kv@recognizedtrue + \global\jb@opcittrue + \@ifundefined{chapter}{}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + `opcit=section' was designed for use with\MessageBreak + an article class, note that it's not well\MessageBreak + tested for use with book or report classes}}% + \@addtoreset{opcit}{section}% + \def\jb@reset@opcit@for{section}% + \def\jb@reset@opcit@label@for{\thesection}% + }{}% + }% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{opcit}\fi + }% +}% +\define@key{jb}{annote}[true]{% + \renewcommand{\bibAnnote}[1]{% + \ifjb@tabular + \par% + \begin{minipage}[t]{\bibleftcolumn}% + \renewcommand*{\bibansep}{}% + \bibleftcolumnadjust\mbox{}% + \end{minipage}% + \ifjb@numbered@bib\hspace{15mm}\else\hspace{10mm}\fi + \begin{minipage}[t]{\bibrightcolumn}% + \bibrightcolumnadjust% + \jbannoteformat{##1}% + \end{minipage}% + \else + \par\jbannoteformat{##1}% + \fi + }% + \renewcommand{\bibAnnoteFile}[1]{% + \ifjb@tabular + \par% + \begin{minipage}[t]{\bibleftcolumn}% + \renewcommand*{\bibansep}{}% + \bibleftcolumnadjust\mbox{}% + \end{minipage}% + \ifjb@numbered@bib\hspace{15mm}\else\hspace{10mm}\fi + \begin{minipage}[t]{\bibrightcolumn}% + \bibrightcolumnadjust% + \begingroup + \let\input@path\jb@ann@input@path + \IfFileExists{##1}{\ProvidesFile{##1.tex}% + [Bibliography annote file]\jbannoteformat{\input{##1}}}{}% + \endgroup + \end{minipage}% + \else + \begingroup + \let\input@path\jb@ann@input@path + \IfFileExists{##1}{\ProvidesFile{##1.tex}% + [Bibliography annote file]\par\jbannoteformat{\input{##1}}}{}% + \endgroup + \fi + }% +} +\define@key{jb}{citetoend}[true]{\jb@citetoendtrue} +\define@key{jb}{hypercite}{% + \ifthenelse{\equal{#1}{true}}{\jb@allow@hyper@citetrue}{% + \ifthenelse{\equal{#1}{false}}{\jb@allow@hyper@citefalse}{\relax}}} +\define@key{jb}{lookforgender}[true]{\global\jblookforgendertrue} +\define@key{jb}{dotafter}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{bibentry}}{% + \jb@kv@recognizedtrue + \jb@dottrue + }{% + \ifthenelse{\equal{\jb@val}{endnote}}{% + \jb@kv@recognizedtrue + \def\@endanenote{\unskip.\par\endgroup}% + }{}% + }% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{dotafter}\fi + } +}% +\define@key{jb}{silent}{\jbsilent}% +\define@key{jb}{super}[true]{\jb@supertrue}% +\define@key{jb}{nosplit}[true]{\jb@nosplittrue}% +\newcommand*{\jb@config@file}{jurabib.cfg}% +\newcommand*{\jb@own@config@file}{}% +\define@key{jb}{config}[jurabib]{\renewcommand*{\jb@own@config@file}{#1.cfg}}% +\newcommand*{\jb@enotes@warning}{% + \PackageWarning{\jb@pkg@name}{% + I assume you know what you are doing!\MessageBreak + You are using `\string\cite' or something similar inside\MessageBreak + a footnote while using endnotes.sty. This will\MessageBreak + produce ambiguous references and not the\MessageBreak + expected results. If you are unsure what\MessageBreak + to do, use \string\cite\space or \string\footcite\space\MessageBreak + instead}% +} +\AtBeginDocument{% + \setkeys{jb}{crossref=normal}% + \ifjbhum + \setkeys{jb}{authorformat=and}% + \DeclareRobustCommand{\jbbtfont}{\textit}% + \jb@typeout{^^JPackage jurabib Info: *** jurabib set up for humanities stuff ***^^J}% + \fi + \providecommand*{\SSS}{\S\kern-.8pt\S\relax}% + \@ifclassloaded{jura}{\global\jb@juratrue\global\jb@alphanumtrue}{\relax}% + \@ifpackageloaded{alphanum}{\global\jb@alphanumtrue}{\relax}% + \@ifpackageloaded{ragged2e}{\global\jb@raggedtrue}{\relax}% + \@ifpackageloaded{url}{\global\jb@urltrue}{\relax}% + \@ifpackageloaded{index}{\let\jb@@call@index\jb@@call@type@index}{\let\jb@@call@index\jb@@call@normal@index} + \@ifpackageloaded{babel}{\global\jb@babeltrue}{\relax}% + \@ifpackageloaded{varioref}{\ifjb@ignore@varioref\global\jb@variofalse\else\global\jb@variotrue\fi}{\relax}% + \@ifpackageloaded{hyperref}{% + \ifHy@hyperfootnotes\else % tabularx loaded! + \jb@typeout{^^JPackage jurabib Info: 'hyperref' + 'tabularx' loaded, adapting footnote macro}% + \let\Orig@tabularx@footnotetext\@footnotetext + \long\def\@footnotetext#1{% + \Orig@tabularx@footnotetext{% + \jb@fntrue + #1% + \setcounter{jb@cites@in@footnote}{0}% + }% + }% + \fi + \@ifpackageloaded{tex4ht}{}{% Hook for tex4ht added + \global\jb@hypertrue + \let\Orig@H@@footnotetext\H@@footnotetext + \long\def\H@@footnotetext#1{% + \Orig@H@@footnotetext{% + \jb@fntrue + #1% + \setcounter{jb@cites@in@footnote}{0}% + }% + }% + }{\relax}% + }{\relax}% + \ifjb@hyper + \@ifundefined{J@LongToc}{}{% + \let\J@SetCurrent\relax + \def\toclevel@lvla{0}\def\toclevel@lvlb{1} + \def\toclevel@lvlc{2}\def\toclevel@lvld{3} + \def\toclevel@lvle{4}\def\toclevel@lvlf{5} + \def\toclevel@lvlg{6}\def\toclevel@lvlh{7} + \def\toclevel@lvli{8}\def\toclevel@lvlj{9} + \def\toclevel@lvlj{10}\def\toclevel@lvll{11} + \newcommand*{\theHlvla}{\J@Number}\newcommand*{\theHlvlb}{\J@Number} + \newcommand*{\theHlvlc}{\J@Number}\newcommand*{\theHlvld}{\J@Number} + \newcommand*{\theHlvle}{\J@Number}\newcommand*{\theHlvlf}{\J@Number} + \newcommand*{\theHlvlg}{\J@Number}\newcommand*{\theHlvlh}{\J@Number} + \newcommand*{\theHlvli}{\J@Number}\newcommand*{\theHlvlj}{\J@Number} + \newcommand*{\theHlvlk}{\J@Number}\newcommand*{\theHlvll}{\J@Number} + \renewcommand*{\J@LongToc}[2][]{% + \@startsection{lvl\alph{tiefe}}{\number\value{tiefe}}{0pt}% + {\ifnum\value{tiefe}=1 -4ex plus-1,5ex minus-0,ex\else% + -2,7ex plus-0,8ex minus-0,2ex\fi}{\ifnum\value{tiefe}>7 % + -1em plus-0,5em\relax\else 0,6ex plus0,3ex minus0,1ex\fi}% + {\sectfont\csname lvl\alph{tiefe}style\endcsname}[#1]{#2}% + }% + }% + \def\BR@@lbibitem[#1]#2#3\par{\BRorg@bibitem[#1]{#2}#3\par}% + \else + \let\jbsaved@footnotetext\@footnotetext + \long\def\@footnotetext#1{% + \begingroup + \jb@fntrue + \jbsaved@footnotetext{#1}% + \setcounter{jb@cites@in@footnote}{0}% + \endgroup + }% + \ifjb@endnotes\g@addto@macro\enoteformat{\setcounter{jb@cites@in@footnote}{0}}\fi + \fi + \@ifpackageloaded{backref}{\global\jb@backreftrue}{\relax}% + \@ifpackageloaded{bibtopic}{\global\jb@all@titlestrue% + \ifjb@author@year\else + \jb@package@warningNoLine{\jb@pkg@name}{% + All titles are cited, you're using `bibtopic'!\MessageBreak + Make sure that the `shorttitle' fields are not\MessageBreak + empty, otherwise I'll using the `title' fields for\MessageBreak + replacement. See the package documentation for\MessageBreak + further explanation}% + \fi + }{\relax}% + \ifjb@babel + \jb@typeout{^^JPackage jurabib Info: *** jurabib set up for babel ***^^J}% + \ifthenelse{\equal{\bbl@main@language}{german}% + \TE@or\equal{\bbl@main@language}{germanb}% + \TE@or\equal{\bbl@main@language}{ngerman}% + \TE@or\equal{\bbl@main@language}{austrian}% + \TE@or\equal{\bbl@main@language}{naustrian}% + }{\@bibsgerman\bibsgerman}{% + \ifthenelse{\equal{\bbl@main@language}{french}% + \TE@or\equal{\bbl@main@language}{francaise}% + \TE@or\equal{\bbl@main@language}{canadien}% + \TE@or\equal{\bbl@main@language}{acadian}% + }{\@bibsfrench\bibsfrench}{% + \ifthenelse{\equal{\bbl@main@language}{english}% + \TE@or\equal{\bbl@main@language}{USenglish}% + \TE@or\equal{\bbl@main@language}{american}% + \TE@or\equal{\bbl@main@language}{UKenglish}% + \TE@or\equal{\bbl@main@language}{british}% + \TE@or\equal{\bbl@main@language}{canadian}% + }{\@bibsenglish\bibsenglish}{% + \ifthenelse{\equal{\bbl@main@language}{dutch}% + }{\@bibsdutch\bibsdutch}{% + \ifthenelse{\equal{\bbl@main@language}{spanish}% + }{\@bibsspanish\bibsspanish}{% + \ifthenelse{\equal{\bbl@main@language}{portuges}% + \TE@or\equal{\bbl@main@language}{portuguese}% + \TE@or\equal{\bbl@main@language}{brazilian}% + \TE@or\equal{\bbl@main@language}{brazil}% + }{\@bibsportuguese\bibsportuguese}{% + \ifthenelse{\equal{\bbl@main@language}{italian}% + }{\@bibsitalian\bibsitalian}{% + \ifthenelse{\equal{\bbl@main@language}{norsk}% + \TE@or\equal{\bbl@main@language}{nynorks}% + }{\@bibsnorsk\bibsnorsk}{% + \ifthenelse{\equal{\bbl@main@language}{finnish}% + }{\@bibsfinnish\bibsfinnish}{% + \ifthenelse{\equal{\bbl@main@language}{danish}% + }{\@bibsdanish\bibsdanish}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + The language you declared as babel main language\MessageBreak + is not yet supported by jurabib, please contact \MessageBreak + the maintainer! We're using english as the default now.}% + \@bibsenglish\bibsenglish% + }}}}}}}}}}% + \else + \@ifpackageloaded{german}{\@bibsgerman\bibsgerman\renewcommand{\bbl@main@language}{german}}{% + \@ifpackageloaded{ngerman}{\@bibsgerman\bibsgerman\renewcommand{\bbl@main@language}{german}}{ + \@ifpackageloaded{french}{\@bibsfrench\bibsfrench\renewcommand{\bbl@main@language}{french}}{% + \@ifpackageloaded{frenchle}{\@bibsfrench\bibsfrench\renewcommand{\bbl@main@language}{french}}{% + \@bibsenglish\bibsenglish}}}}% + \fi + \@ifundefined{chapter}{% + \let\jb@orig@section\section % chapterbib.sty + numberedbib + \renewcommand*{\section}{\setcounter{jbbibcnta}{0}\jb@orig@section}% + }{% + \let\jb@orig@chapter\chapter % chapterbib.sty + numberedbib + \renewcommand*{\chapter}{\setcounter{jbbibcnta}{0}\jb@orig@chapter}% + }% + \@ifundefined{@xendnotenext}{\relax}{% + \global\jb@endnotestrue + \let\jb@orig@citex\@citex + \let\orig@emulate@nat@cite\jb@emulate@nat@cite + \def\@citex[#1][#2]#3{% + \ifjbcross % no extra endnote for crossref's + \jb@orig@citex[#1][#2]{#3}% + \else + \ifjbweareinbib % no extra endnote for howcited's + \jb@orig@citex[#1][#2]{#3}% + \else + \ifjb@fn + \jb@enotes@warning\jb@orig@citex[#1][#2]{#3}% + \else + \ifthenelse{\boolean{jb@foot}\or\boolean{jb@citetoend}\or\boolean{jb@super}}{% + \expandafter\endnote\expandafter{\jb@enote@hook\jb@orig@citex[#1][#2]{#3}}% + }{\jb@enote@hook\jb@orig@citex[#1][#2]{#3}}% + \fi + \fi + \fi + }% + \def\jb@emulate@nat@cite[#1][#2]#3{% + \ifjbcross % no extra endnote for crossref's + \orig@emulate@nat@cite[#1][#2]{#3}% + \else + \ifjbweareinbib % no extra endnote for howcited's + \orig@emulate@nat@cite[#1][#2]{#3}% + \else + \ifjb@fn + \jb@enotes@warning\orig@emulate@nat@cite[#1][#2]{#3}% + \else + \ifthenelse{\boolean{jb@foot}\or\boolean{jb@citetoend}\or\boolean{jb@super}}{% + \expandafter\endnote\expandafter{\jb@enote@hook\orig@emulate@nat@cite[#1][#2]{#3}}% + }{\jb@enote@hook\orig@emulate@nat@cite[#1][#2]{#3}}% + \fi + \fi + \fi + }% + }% + \@ifpackageloaded{index}{\relax}{% + \ifjb@index + \@ifundefined{@indexfile}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + The `makeidx' package is not loaded,\MessageBreak + `authorformat=indexed' will not work}% + }{}% + \fi + }% +}% +\AtEndOfPackage{% + \ifjb@ragged + \renewcommand*{\bibleftcolumnadjust}{\RaggedRight}% + \renewcommand*{\bibrightcolumnadjust}{\RaggedRight}% + \fi +}% +\@ifundefined{bib@heading}{% + \@ifundefined{chapter}{% + \newcommand*{\bib@heading}% + {\section*{\refname\@mkboth{\refname}{\refname}}}% + }{% + \newcommand*{\bib@heading}% + {\chapter*{\bibname\@mkboth{\bibname}{\bibname}}}% + }% +}{% + \relax +}% +\@ifundefined{bibsection}{}{\let\bib@heading\bibsection}% +\newcommand*{\jbmakeinbiblist}{}% +\newcommand*{\jbmakeinbib}{% + \jbweareinbibtrue + \jbonlyforbib% + \let\jbPAGES\origPAGES + \let\jbpages\origpages + \let\jbPages\origPages + \let\jbartPages\origartPages + \jb@lookatfalse + \let\jbatsep\@empty + \jb@third@extra@spacefalse + \jb@ibidemfalse + \jb@ibidem@pagewisefalse + \jb@ibidem@double@pagewisefalse + \jb@ibidem@with@namefalse + \jb@ibidem@with@short@namefalse + \jb@ibidem@with@name@and@titlefalse + \jb@no@lookat@for@bibtrue + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}% + \fi + \let\jb@last@ibidem@author\@empty + \let\jb@ibidem@author\@empty +}% +\renewenvironment{thebibliography}[1]{% + \bib@heading + \jbmakeinbib% + \gdef\jb@inside@author{}% + \gdef\jb@inside@editor{}% + \addtolength{\jb@biblaw@entry@width}{\textwidth}% + \list{\relax}{% + \ifjb@compressed@bib + \setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}% + \fi + \jbmakeinbiblist% NEW 0.5e make \itemsep configurable with \addto + \ifjb@bib@hang% + \setlength{\itemindent}{-\jbbibhang}% + \setlength{\leftmargin}{\jbbibhang}% + \else + \setlength{\itemindent}{0pt}% + \setlength{\leftmargin}{0pt}% + \fi + }% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m% + }% + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}% + }\endlist\jbweareinbibfalse% +}% +\newcommand*{\jb@make@howcited}{% @* except of ... + \renewcommand*{\bibhowcited}{% + \jbweareinhowcitedtrue + \howcitedprefix% + \jb@specialcite{\jb@key}% + \howcitedsuffix\jbweareinhowcitedfalse}}% +\newcommand*{\jb@make@comment@howcited}{% ... @COMMENTED + \renewcommand*{\bibcommenthowcited}{% + \jbweareinhowcitedtrue + \howcitedprefix% + \jb@specialcite[Bearbeiter][]{\jb@key}% + \howcitedsuffix\jbweareinhowcitedfalse}}% +\newcommand*{\jb@make@artperiod@howcited}{% ... @ARTICLE and @PERIODICAL + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \jbweareinhowcitedtrue + \howcitedprefix% + \jb@specialcite{\jb@key}% + \howcitedsuffix\jbweareinhowcitedfalse}% + \fi}% +\newcommand*{\jb@make@all@howcited@empty}{% + \let\bibhowcited\@empty + \let\bibcommenthowcited\@empty + \ifjb@allow@howcited@art@period + \let\bibartperiodhowcited\@empty + \fi +}% +\newcommand*{\nocitebuthowcited}[1]{% + \if@filesw\immediate\write\@newciteauxhandle{% + \string\citation{#1}^^J% + \string\jbrealcitation{cite}{#1}} + \fi +}% +\newcommand*{\jbhowcitedcomparepart}{% + \ifthenelse{\equal{\jb@@howcited}{}}{% + \ifthenelse{\equal{\jb@@shorttitle}{\@empty}}{% + \jb@make@all@howcited@empty + }{% + \ifthenelse{\equal{\jb@@shorttitle}{\jb@@title}}{% + \jb@make@all@howcited@empty + }{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jb@make@all@howcited@empty + }{% + \ifthenelse{% + \equal{\@nameuse{TITLE@\jb@key}}{used}% + }{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited% + \jb@make@comment@howcited% + \jb@make@artperiod@howcited% + }{% + \jb@make@all@howcited@empty + }% + }% + }% + }% + }{% + \ifthenelse{\equal{\jb@@howcited}{1}}{% + \ifthenelse{% + \equal{\@nameuse{TITLE@\jb@key}}{used}% + }{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited% + \jb@make@comment@howcited% + \jb@make@artperiod@howcited% + }{% + \jb@make@all@howcited@empty + }% + }{% + \renewcommand*{\bibhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \renewcommand*{\bibcommenthowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \fi + }% + }% +}% +\newcommand*{\jbhowcitednormalpart}{% + \ifthenelse{\equal{\jb@@howcited}{}}{% % + \jb@make@all@howcited@empty + }{% + \ifthenelse{\equal{\jb@@howcited}{1}}{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited% + \jb@make@comment@howcited% + \jb@make@artperiod@howcited% + }{% + \renewcommand*{\bibhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \renewcommand*{\bibcommenthowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \fi + }% + }% +} +\newcommand*{\jbaddtomakehowcited}{} +\newcommand*{\jb@make@the@howcited}{% + \ifthenelse{\boolean{jb@howcited@normal}}{% + % NORMAL=TRUE + \ifthenelse{\boolean{jb@howcited@compare}}{% + % NORMAL=TRUE, COMPARE=TRUE + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % NORMAL=TRUE, COMPARE=TRUE, MULTIPLE=TRUE + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jbhowcitednormalpart% + \jbhowcitedcomparepart% + }% + }{% NORMAL=TRUE, COMPARE=TRUE, multiple=false + \jbhowcitednormalpart% + \jbhowcitedcomparepart% + }% + }{% + % NORMAL=TRUE, compare=false + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % NORMAL=TRUE, compare=false, MULTIPLE=TRUE + % howcited=normal AND howcited=multiple + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jbhowcitednormalpart% + }% + }{% NORMAL=TRUE, compare=false, multiple=false + \jbhowcitednormalpart% + }% + }% + }{% + % normal=false + \ifthenelse{\boolean{jb@howcited@compare}% + }{% normal=false, COMPARE=TRUE + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % normal=false, COMPARE=TRUE, MULTIPLE=TRUE + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jbhowcitedcomparepart% + }% + }{% normal=false, COMPARE=TRUE, multiple=false + \jbhowcitedcomparepart% + }% + }{% normal=false, compare=false + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % normal=false, compare=false, MULTIPLE=TRUE + \jb@suppress@dot@for@howcitedtrue + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jb@make@all@howcited@empty + }% + \jb@make@comment@howcited + }{% normal=false, compare=false, multiple=false, all=true + \ifthenelse{\boolean{jb@howcited@all}}{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited + \jb@make@comment@howcited + \jb@allow@howcited@art@periodtrue + \jb@make@artperiod@howcited + }{% + % normal=false, compare=false, multiple=false, all=false + % no howcited option + \relax + }% + }% + }% + }% + \jbaddtomakehowcited% +}% +%% we have to switch on `howcited' for articles and periodicals +\newcommand*{\jb@detect@used@cite@commands}{% + \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{cite}}{% + \let\jb@specialcite\cite}{\relax}% + \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{citetitle}}{% + \let\jb@specialcite\citetitle}{\relax}% + \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{citenotitle}}{% + \let\jb@specialcite\jbcitenotitle}{\relax}% +}% +\newcommand*{\jb@last@label}{} +\newcommand*{\jb@last@mult@author}{} +\AtEndDocument{\let\jb@chk@multiple\@gobbletwo} +\newcommand*{\jb@chk@multiple}[2]{% + \ifthenelse{\equal{#1}{\jb@last@mult@author}}{% + \global\@namedef{jb@fm@\jb@last@label}{}% + \global\@namedef{jb@fm@#2}{}% + }{% + \relax + }% + \def\jb@last@mult@author{#1}% + \def\jb@last@label{#2}% +}% +\newcommand*\jb@chk@bibetal[2]{% + \begingroup + \protected@edef\x{% + \endgroup + \def\noexpand\jb@@chk@bibetal####1\Bibetal####2\noexpand\end{% + \noexpand\jb@@bibetal@argcheck{####1}{####2}{#2}% + }% + }\x + \protected@edef\@tempa{#1}% + \protected@edef\@tempb{\Bibetal}% + \expandafter\expandafter\expandafter + \jb@@chk@bibetal\expandafter\@tempa\@tempb\end +} +\newcommand*\jb@@bibetal@argcheck[3]{% + \ifthenelse{\equal{#2}{}}{% + }{% + \if@filesw{% + \let\protect\noexpand + \immediate\write\@auxout{\string\jb@chk@multiple{#1#2}{#3}}% + }% + \fi + }% +} +\newcommand*{\jb@@name}{}% +\newcommand*{\jb@last@fullname}{}% +\newcommand*{\jb@biblaw@item}{\hspace{0.5em}$\triangleright$\hspace{0.5em}} +\newlength{\jb@biblaw@entry@width} +\newlength{\jb@biblaw@item@width} +\settowidth{\jb@biblaw@item@width}{\jb@biblaw@item} +\setlength{\jb@biblaw@entry@width}{\jb@biblaw@item@width} +\setlength{\jb@biblaw@entry@width}{-\jb@biblaw@entry@width} +\newcolumntype{j}[1]{>{\bibaltformatalign\hspace{0pt}}p{#1}} +\newcommand*{\jb@item}{\item}% +\newcommand\jb@deactivate@babel{% + %FIXME: \noextrasfrench or \bbl@deactivate don't work here?? just do it the low-level way: + \let\do\@makeother\do\:\do\;\do\!\do\?\do\"\do\`\do\'\do\^%<---! solved in 0.51r (bug reported by Andreas Altenburger) +} +\newcommand*{\bibnumberformat}[1]{\biblnfont{#1.}}% +\newcommand\jb@@test@fullname{} +\newcommand\jb@@testlast@fullname{} +\newcommand\jb@@test@au@or@ed{} +\newcommand\jb@@testlast@au@or@ed{} +\newcommand*{\jb@index@authors}[2]{% + \ifjb@do@authors@index + \if@filesw\let\protect\noexpand\immediate\write\@auxout{\string\jb@index{aut}{#1}#2}\fi + \fi +} +\newcommand*{\jb@index@editors}[2]{% + \ifjb@do@editors@index + \if@filesw\let\protect\noexpand\immediate\write\@auxout{\string\jb@index{ed}{#1}#2}\fi + \fi +} +\newcommand*{\jb@index@organization}[2]{% + \ifjb@do@organizations@index + \if@filesw\let\protect\noexpand\immediate\write\@auxout{\string\jb@index{org}{#1}#2}\fi + \fi +} +\newcommand*{\jbdoitem}{\begingroup\@makeother\\\@makeother\"\def~{\string~}\jb@doitem}% +\newcommand*{\jb@doitem}[3]{% + \ifjb@debug\typeout{========================^^Jauthor:#1^^Jeditor:#2^^Jorganization:#3^^J}\fi + \ifjb@index\protected@xdef\curr@key{\jb@key}% + \@ifundefined{jb@key}{\relax}{% + % the \@empty test is to remove empty entries in the .bbl between ';' (just for safety) + \begingroup % make \@tempa assignment local + \jb@for\@tempa:=#1\do{\ifx\@tempa\@empty\else\jb@index@authors{\jb@key}{\@tempa}\fi}% + \jb@for\@tempa:=#2\do{\ifx\@tempa\@empty\else\jb@index@editors{\jb@key}{\@tempa}\fi}% + \jb@for\@tempa:=#3\do{\ifx\@tempa\@empty\else\jb@index@organization{\jb@key}{\@tempa}\fi}% + \endgroup + }% + \fi + \endgroup % matches the \begingroup in \jbdoitem + \jb@do@post@item +} +\newcommand*\jb@do@post@item{% + \ifjb@no@bib\relax\else + \ifthenelse{\equal{\@nameuse{NOBIB@\jb@key}}{suppress}}{}{% + \jb@item\hyper@jbanchorstart{\jb@key}\hyper@jbanchorend + \ifjb@howcited + \@ifundefined{b@\jb@key @C}{% + \renewcommand*{\bibhowcited}{% + \bibnotcited}% + \renewcommand*{\bibcommenthowcited}{% + \bibnotcited}% + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \bibnotcited}% + \fi + }{% + \jb@detect@used@cite@commands + \jb@handle@superscript@ed + \jb@make@the@howcited + \let\OpCit\@empty + }% + \fi + \protected@edef\jb@tempcntc{\thebibnamereplace}% + \stepcounter{bibnamereplace}% + \label{jbib:\thebibnamereplace}% + \@tempcnta=\jb@tempcntc + \advance\@tempcnta\@ne + \protected@edef\jb@tempcntd{\the\@tempcnta}% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not\equal{\jb@@type}{archival}% + }{% + \ifthenelse{% + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \ifjb@debug SAME PAGE/\fi + \ifthenelse{\equal{\jb@@test@fullname}{\jb@@testlast@fullname}}{% + \ifjb@debug SAME AUTHOR \fi + \ifthenelse{\equal{\jb@@fullname}{}}{}{% + \ifthenelse{% + \boolean{jbaltformat}% + }{% + \def\jb@@name{}% + }{% + \def\jb@@name{\bibauthormultiple}% + }% + }% + }{% + \ifjb@debug AUTHOR DIFFERS \fi + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }{% DIFFERENT PAGES !!!!! + \ifthenelse{% + \boolean{@twoside}% + \and + \isodd{\jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + \and + \equal{% + \jb@simple@pageref@by@heiko{jbib:\jb@tempcntd}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \ifjb@debug DIFF AND ODD/\fi + \ifthenelse{% + \equal{\jb@@test@fullname}{\jb@@testlast@fullname}% + }{% + \ifjb@debug SAME AUTHOR \fi + \ifthenelse{\equal{\jb@@fullname}{}}{}{% + \ifthenelse{% + \boolean{jbaltformat}% + }{% + \def\jb@@name{% + \jb@@fullname% + \space% + \bibfnfont{\bibcontinuedname}% + \bibansep% + }% + }{% + \def\jb@@name{\bibauthormultiple}% + }% + }% + }{% + \ifjb@debug AUTHORS DIFFERS \fi + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }{% + \ifjb@debug DIFF AND EVEN/\fi + \ifthenelse{% + \equal{\jb@@test@fullname}{\jb@@testlast@fullname}% + }{% + \ifjb@debug SAME AUTHOR \fi + \ifthenelse{\equal{\jb@@fullname}{}}{}{% + \ifthenelse{% + \boolean{jbaltformat}% + }{% + \def\jb@@name{% + \jb@@fullname% + \space% + \bibfnfont{\bibcontinuedname}% + \bibansep% + }% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }{% + \ifjb@debug AUTHORS DIFFERS \fi + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }% + }% + }{% bibformat=ibidem false + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + \ifjb@babel + \ifthenelse{\equal{\jb@@language}{\@empty}}{% + \expandafter\jbselectlanguage\expandafter{\bbl@main@language}% + }{% + \language=\csname l@\jb@@language\endcsname\relax% + }% + \fi + \ifjbaltformat\else + \ifjb@numbered@bib + \begin{minipage}[t]{\bibnumberwidth}% + \stepcounter{jbbibcnta}\bibnumberformat{\thejbbibcnta}% + \end{minipage}% + \fi + \fi + \ifjb@tabular + \begin{minipage}[t]{\bibleftcolumn}% + \renewcommand*{\bibansep}{}% + \bibleftcolumnadjust\bibleftcolumnstretch\mbox{}% + \jb@@name% + \end{minipage} + \hspace{\bibcolumnsep}% + \begin{minipage}[t]{\bibrightcolumn}% + \bibrightcolumnadjust\bibleftcolumnstretch% + \let\jblinebreak\@empty + \jb@@fulltitle% + \begingroup + \let\hyper@jblinkstart\@gobble + \let\hyper@jblinkend\relax + \jb@bibarg@howcited% + \endgroup + \ifjb@dot\unskip\unskip\unskip.\fi + \jb@endnote% + \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi + \end{minipage}% + \bibtabularitemsep + \else + \ifjbaltformat + \ifx\jb@@name\@empty\else\medskip\fi % add some vertical space between different authors + \let\jblinebreak\@empty\setlength{\tabcolsep}{0pt}\mbox{}\noindent + \begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}} + \ifx\jb@@name\@empty\else\multicolumn{2}{p{\columnwidth}}{\jb@@name}\\\fi + \jb@biblaw@item & \jb@@fulltitle% + \begingroup + \let\hyper@jblinkstart\@gobble + \let\hyper@jblinkend\relax + \jb@bibarg@howcited% + \endgroup + \ifjb@dot\unskip\unskip\unskip.\fi + \jb@endnote% + \ifjb@backref + ~\backref{\csname br@\jb@key\endcsname}% + \fi + \end{tabular} + \else + \jb@@name\jb@@fulltitle% + \begingroup + \let\hyper@jblinkstart\@gobble + \let\hyper@jblinkend\relax + \jb@bibarg@howcited% + \endgroup + \ifthenelse{\equal{\jb@@type}{archival}}{}{\ifjb@dot\unskip\unskip\unskip.\fi}% + \jb@endnote% + \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi + \fi + \fi + \gdef\jb@endnote{}% + \protected@edef\jb@@testlast@fullname{\jb@@test@fullname}% + \protected@edef\jb@@testlast@au@or@ed{\jb@@test@au@or@ed}% + }% + \fi + \if@filesw{\let\protect\noexpand\immediate\write\@newciteauxhandle{% + \string\bibcite{\jb@key}{\jb@tempa}}}% + \fi + \ignorespaces +}% +\newcommand*{\jbbibargs}[5]{% + \protected@edef\jb@tempa{\jb@tempb{#1}{#4}}% + \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}% + \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}% + \def\jb@bibarg@howcited{#5}% + \ifthenelse{\equal{#2}{jureco}}{\global\jb@bibformat@ibidemfalse\global\jbaltformatfalse}{\gdef\jb@@test@fullname{#2}}% + \ifthenelse{\equal{#3}{}}{}{\gdef\jb@@test@au@or@ed{#3}}% + \jb@chk@bibetal{\jb@@author}{\jb@key}% + \let\jb@first@author\@undefined + \let\jb@first@editor\@undefined + \setcounter{ibidem@author}{0}% + \setcounter{multiple@author}{0}% +}% +\def\@lbibitem{% + \begingroup + \jb@deactivate@babel + \jb@lbibitem +} +\def\jb@lbibitem[#1]#2{% + \gdef\jb@tempb{#1}% + \gdef\jb@key{#2}% + \ifjb@index@bib + \jb@call@index{aut}{#2}% + \jb@call@index{ed}{#2}% + \jb@call@index{org}{#2}% + \fi + \endgroup +}% + +\newcommand*{\nobibliography}[1]{% + \ifjb@allow@nobib + \global\jb@no@bibtrue + \if@filesw\immediate\write\@newciteauxhandle{% + \string\global\string\jb@allow@hyper@citefalse^^J% + \string\global\string\jb@allow@hyper@cite@nobibfalse^^J% + \string\global\string\jb@no@bibtrue + }% + \fi + \begingroup + \renewenvironment{thebibliography}[1]{% + \usecounter{enumiv}% + \renewcommand*{\item}[1][]{% + \ifx\relax####1\relax\stepcounter\@listctr\fi + }% + }{\relax}% + \bibliography{#1}% + \endgroup + \else + \jb@package@warningNoLine{\jb@pkg@name}{% + You are using the `\string\nobibliography' command\MessageBreak + without using one of the `citefull' options.\MessageBreak + Choose `citefull=first' or `citefull=all'.\MessageBreak + I'm putting out the normal `\string\bibliography'% + }% + \bibliography{#1}% + \fi +}% +\newcommand\jb@enote@hook{} +\DeclareRobustCommand\cite{% + \@ifstar{% + \begingroup + \jb@deactivate@babel% + \jb@starred@citetrue + \@ifnextchar[{\jb@cite@no@title}{\jb@cite@no@title[]}% + }{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@cite}{\jb@cite[]}% + }% +}% +\newcommand*{\jb@cite}{}% +\def\jb@cite{% + \@ifnextchar[{\jb@@cite}{\jb@@cite[]}% +} +\def\jb@@cite[#1]{% + \@ifnextchar[{\jb@@@cite[#1]}{\jb@@@cite[][#1]}% +} +\def\jb@@@cite[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@citefalse + \else + \jb@citetrue + \jb@fullcite@againfalse + \fi + \jb@cite@titlefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jb@cite@no@title}{}% +\def\jb@cite@no@title{% + \@ifnextchar[{\jb@@cite@no@title}{\jb@@cite@no@title[]}% +} +\def\jb@@cite@no@title[#1]{% + \@ifnextchar[{\jb@@@cite@no@title[#1]}{\jb@@@cite@no@title[][#1]}% +} +\def\jb@@@cite@no@title[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@no@titlefalse + \else + \jb@cite@no@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jbcitetitle}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@cite@title}{\jb@cite@title[]}% +} +\newcommand*{\jb@cite@title}{}% +\def\jb@cite@title{% + \@ifnextchar[{\jb@@cite@title}{\jb@@cite@title[]}% +} +\def\jb@@cite@title[#1]{% + \@ifnextchar[{\jb@@@cite@title[#1]}{\jb@@@cite@title[][#1]}% +} +\def\jb@@@cite@title[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jbfullcite}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@fullcite}{\jb@fullcite[]}% +} +\newcommand*{\jb@fullcite}{}% +\def\jb@fullcite{% + \@ifnextchar[{\jb@@fullcite}{\jb@@fullcite[]}% +} +\def\jb@@fullcite[#1]{% + \@ifnextchar[{\jb@@@fullcite[#1]}{\jb@@@fullcite[][#1]}% +} +\def\jb@@@fullcite[#1][#2]#3{% + \def\jb@enote@hook{% + \noibidem% + \jb@change@fonts@for@fullcitetrue + \jb@cite@no@titlefalse + \jb@fullcite@againtrue + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jbfootcite}{% + \begingroup + \jb@deactivate@babel% + \@ifstar{\jbfootcitenotitle}{% + \@ifnextchar[{\jb@footcite}{\jb@footcite[]}}}% +\newcommand*{\jb@footcite}{}% +\def\jb@footcite{% + \@ifnextchar[{\jb@@footcite}{\jb@@footcite[]}% +} +\def\jb@@footcite[#1]{% + \@ifnextchar[{\jb@@@footcite[#1]}{\jb@@@footcite[][#1]}% +} +\def\jb@@@footcite[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footcite' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@citefalse + \else + \jb@citetrue + \jb@fullcite@againfalse + \fi + \jb@cite@titlefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jbfootcitetitle}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@footcitetitle}{\jb@footcitetitle[]}% +}% +\newcommand*{\jb@footcitetitle}{}% +\def\jb@footcitetitle{% + \@ifnextchar[{\jb@@footcitetitle}{\jb@@footcitetitle[]}% +} +\def\jb@@footcitetitle[#1]{% + \@ifnextchar[{\jb@@@footcitetitle[#1]}{\jb@@@footcitetitle[][#1]}% +} +\def\jb@@@footcitetitle[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footcitetitle' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% <== added to skip spaces before endnotes + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jbfootcitenotitle}{% + \begingroup + \jb@deactivate@babel% + \jb@starred@citetrue + \@ifnextchar[{\jb@footcitenotitle}{\jb@footcitenotitle[]}}% +\newcommand*{\jb@footcitenotitle}{}% +\def\jb@footcitenotitle{% + \@ifnextchar[{\jb@@footcitenotitle}{\jb@@footcitenotitle[]}% +} +\def\jb@@footcitenotitle[#1]{% + \@ifnextchar[{\jb@@@footcitenotitle[#1]}{\jb@@@footcitenotitle[][#1]}% +} +\def\jb@@@footcitenotitle[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footcite*' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@no@titlefalse + \else + \jb@cite@no@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\jbfootfullcite}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@footfullcite}{\jb@footfullcite[]}% +}% +\newcommand*{\jb@footfullcite}{}% +\def\jb@footfullcite{% + \@ifnextchar[{\jb@@footfullcite}{\jb@@footfullcite[]}% +} +\def\jb@@footfullcite[#1]{% + \@ifnextchar[{\jb@@@footfullcite[#1]}{\jb@@@footfullcite[][#1]}% +} +\def\jb@@@footfullcite[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footfullcite' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% + \noibidem% + \jb@change@fonts@for@fullcitetrue + \jb@cite@no@titlefalse + \jb@fullcite@againtrue + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\citetitleonly}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[% + {\jb@cite@titlewithoutauthor}{\jb@cite@titlewithoutauthor[]}% +} +\newcommand*{\jb@cite@titlewithoutauthor}{}% +\def\jb@cite@titlewithoutauthor{% + \@ifnextchar[{\jb@@cite@titlewithoutauthor}{\jb@@cite@titlewithoutauthor[]}% +} +\def\jb@@cite@titlewithoutauthor[#1]{% + \@ifnextchar[{\jb@@@cite@titlewithoutauthor[#1]}{\jb@@@cite@titlewithoutauthor[][#1]}% +} +\def\jb@@@cite@titlewithoutauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@noauthorforcitetitletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\footcitetitleonly}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[% + {\jb@foot@cite@titlewithoutauthor}{\jb@foot@cite@titlewithoutauthor[]}% +} +\newcommand*{\jb@foot@cite@titlewithoutauthor}{}% +\def\jb@foot@cite@titlewithoutauthor{% + \@ifnextchar[{\jb@@foot@cite@titlewithoutauthor}{\jb@@foot@cite@titlewithoutauthor[]}% +} +\def\jb@@foot@cite@titlewithoutauthor[#1]{% + \@ifnextchar[{\jb@@@foot@cite@titlewithoutauthor[#1]}{\jb@@@foot@cite@titlewithoutauthor[][#1]}% +} +\def\jb@@@foot@cite@titlewithoutauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@noauthorforcitetitletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\citefield}[3][]{% + \renewcommand*{\@cite}[2]{##1##2}% + \let\@citea\@empty\@cite{\@for\@citeb:=#3\do{% + \@citea\def\@citea{;\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@newciteauxhandle{\jb@makehowcited% + \string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \mbox{\reset@font{\bfseries ?}, #1}\G@refundefinedtrue\@latex@warning% + {Citation `\@citeb' on page \thepage \space undefined}}{% + \begingroup + \def\jb@@newauthorcite{#3}% + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \jb@extract + \ifjb@babel + \ifthenelse{\equal{\jb@@language}{\bbl@main@language}}{}{% + \ifthenelse{\equal{\jb@@language}{\@empty}}{% + \expandafter\jbselectlanguage% + \expandafter{\bbl@main@language}% + }{% + \language=\csname l@\jb@@language\endcsname\relax% + }% + }% + \fi + \ifthenelse{\equal{#2}{}}{???}{% + \ifthenelse{\equal{#2}{title}}{% + \jbfulltitlefont{\jb@@title}% + }{% + \ifthenelse{\equal{#2}{juratitle} + \or\equal{#2}{shorttitle}}{% + \jbshorttitlefont{\jb@@shorttitle}% + }{% + \ifthenelse{\equal{#2}{year}}{% + \ifx\jb@@year\@empty\else + \textup{\jbcitationyearformat{\jb@@year}}\fi + }{% + \ifthenelse{\equal{#2}{author}}{% + \let\biblnfont\jbauthorfont + \let\bibfnfont\jbauthorfnfont + \let\bibelnfont\jbauthorfont + \let\bibefnfont\jbauthorfnfont + \ifjbcross + \jb@checked@author% + \else + \jbauthorfont{\jb@@fullname}% + \fi + }{% + \ifthenelse{\equal{#2}{juraauthor}\or\equal{#2}{shortauthor}}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\or\equal{\jb@@title@switch}{1}}{% + \jbauthorfont{\jb@@author}% + \ifjbcross\jb@checked@title\fi% + }{% + \jbauthorfont{\jb@@author}% + }% + }{% + \ifthenelse{\equal{#2}{apy}}{% + \apyformat{\jb@@apy}% + }{% + \ifthenelse{\equal{#2}{url}}{% + \jburluse{#3}% + }{% + #2% + }% + }% + }% + }% + }% + }% + }% + }% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + \ifthenelse{\equal{#1}{\@empty}}{\relax}{\ifjb@comma@before@rest,\fi\space #1}% + }}}{}}% +\newcommand{\jb@nat@cite@left@sep}{}% +\newcommand{\jb@nat@cite@right@sep}{}% +\newcommand{\jb@nat@citep@left@sep}{}% +\newcommand{\jb@nat@citep@right@sep}{}% +\newcommand*{\citep}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citep}{\jb@citep[]}}% +\def\jb@citep[#1]{\@ifnextchar[{\jb@@citep[#1]}{\jb@@citep[][#1]}}% +\def\jb@@citep[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{(}\renewcommand{\jb@nat@citep@right@sep}{)}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +}% +\newcommand*{\citet}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citet}{\jb@citet[]}}% +\def\jb@citet[#1]{\@ifnextchar[{\jb@@citet[#1]}{\jb@@citet[][#1]}}% +\def\jb@@citet[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{)}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citealt}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citealt}{\jb@citealt[]}}% +\def\jb@citealt[#1]{\@ifnextchar[{\jb@@citealt[#1]}{\jb@@citealt[][#1]}}% +\def\jb@@citealt[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citealp}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citealp}{\jb@citealp[]}}% +\def\jb@citealp[#1]{\@ifnextchar[{\jb@@citealp[#1]}{\jb@@citealp[][#1]}}% +\def\jb@@citealp[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citeauthor}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeauthor}{\jb@citeauthor[]}}% +\def\jb@citeauthor[#1]{\@ifnextchar[{\jb@@citeauthor[#1]}{\jb@@citeauthor[][#1]}}% +\def\jb@@citeauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +}% +\newcommand*{\citeyear}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeyear}{\jb@citeyear[]}}% +\def\jb@citeyear[#1]{\@ifnextchar[{\jb@@citeyear[#1]}{\jb@@citeyear[][#1]}}% +\def\jb@@citeyear[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citeyearpar}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeyearpar}{\jb@citeyearpar[]}}% +\def\jb@citeyearpar[#1]{\@ifnextchar[{\jb@@citeyearpar[#1]}{\jb@@citeyearpar[][#1]}}% +\def\jb@@citeyearpar[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{(\jb@@year)}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitep}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitep}{\jb@footcitep[]}}% +\def\jb@footcitep[#1]{\@ifnextchar[{\jb@@footcitep[#1]}{\jb@@footcitep[][#1]}}% +\def\jb@@footcitep[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{(}\renewcommand{\jb@nat@citep@right@sep}{)}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitet}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitet}{\jb@footcitet[]}}% +\def\jb@footcitet[#1]{\@ifnextchar[{\jb@@footcitet[#1]}{\jb@@footcitet[][#1]}}% +\def\jb@@footcitet[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year)}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitealt}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitealt}{\jb@footcitealt[]}}% +\def\jb@footcitealt[#1]{\@ifnextchar[{\jb@@footcitealt[#1]}{\jb@@footcitealt[][#1]}}% +\def\jb@@footcitealt[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitealp}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitealp}{\jb@footcitealp[]}}% +\def\jb@footcitealp[#1]{\@ifnextchar[{\jb@@footcitealp[#1]}{\jb@@footcitealp[][#1]}}% +\def\jb@@footcitealp[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse % works for endnotes too + }% + \jb@enote@hook + \jb@foottrue + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footciteauthor}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footciteauthor}{\jb@footciteauthor[]}}% +\def\jb@footciteauthor[#1]{\@ifnextchar[{\jb@@footciteauthor[#1]}{\jb@@footciteauthor[][#1]}}% +\def\jb@@footciteauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +}% +\newcommand*{\jb@emulate@nat@cite}{\@ifnextchar[{\jb@@emulate@nat@cite}{\jb@@emulate@nat@cite[]}}% +\def\jb@@emulate@nat@cite[#1]{\@ifnextchar[{\jb@@@emulate@nat@cite[#1]}{\jb@@@emulate@nat@cite[][#1]}}% +\def\jb@@@emulate@nat@cite[#1][#2]#3{% + \ifthenelse{\boolean{jb@foot}\or\(\boolean{jb@super}\and\not\boolean{jb@fn}\and\not\boolean{jbweareinbib}\and\not\boolean{jbweareinendnotes}\)}{% + \renewcommand*{\@cite}[2]{\unskip\footnote{##1##2.}}% + }{% + \renewcommand*{\@cite}[2]{##1##2}% + }% + \let\@citea\@empty + \jb@nat@citep@left@sep% + \@cite{% + \@for\@citeb:=#3\do{% + \@citea\def\@citea{;\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw + \immediate\write\@newciteauxhandle{% + \jb@makehowcited\string\citation{\@citeb}}% + \fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \mbox{\reset@font{\bfseries ?}, #1}% + \G@refundefinedtrue + \@latex@warning{Citation `\@citeb' on page \thepage \space undefined}% + }{% + \begingroup + \jb@call@index{aut}{\@citeb}% + \jb@call@index{ed}{\@citeb}% + \jb@call@index{org}{\@citeb}% + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \jb@extract% + \jb@nat@cite@left@sep% + \ifjb@see + \ifthenelse{\equal{#1}{\@empty}}{}{#1\space}% + \else + \ifthenelse{\equal{#1}{\@empty}}{}{#1\space}% + \fi + \jb@nat@commands% + \ifthenelse{\equal{#2}{\@empty}}{}{,\space\jbprformat{#2}}% + \jb@nat@cite@right@sep% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + }% + }% + }{}% + \jb@nat@citep@right@sep% +}% +\newcommand*{\jb@makehowcited}{% +\ifjb@howcited + \ifjbcross\else + \ifjb@allow@hyper@cite@nobib + \ifjb@cite\string\jbrealcitation{cite}{\@citeb}^^J\fi + \ifjb@cite@title\string\jbrealcitation{citetitle}{\@citeb}^^J\fi + \ifjb@cite@no@title\string\jbrealcitation{citenotitle}{\@citeb}^^J\fi + \fi + \fi +\fi +}% +\newcommand*{\jb@changefontsforfullcite}{% + \ifjb@reverse@names@in@citation + \let\bibnf\bibrnf + \let\bibenf\bibrenf + \fi + \let\bibansep\jbhowsepbeforetitle + \let\bibbtasep\jbbtasep + \let\bibbfsasep\jbbfsasep + \let\bibbstasep\jbbstasep + \let\bibbtesep\jbbtesep + \let\bibbfsesep\jbbfsesep + \let\bibbstesep\jbbstesep + \let\jblinebreak\@empty + \ifjb@change@fonts@for@fullcite + \let\biblnfont\jbauthorfont% + \let\bibfnfont\jbauthorfnfont% + \let\bibelnfont\jbauthorfont% + \let\bibefnfont\jbauthorfnfont% + \let\bibtfont\jbtitlefont% + \let\bibbtfont\jbbtitlefont% + \let\bibapifont\jbapifont% + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \ifjb@dynamic@author@fonts + \let\jbauthorfont\jbactualauthorfont + \let\biblnfont\jbactualauthorfont + \let\bibfnfont\jbactualauthorfnfont + \fi + }{% + \ifjb@dynamic@author@fonts + \ifjb@see + \let\biblnfont\jbactualauthorfont + \else + \let\jbannotatorfont\jbactualauthorfont + \let\jbauthorfont\jbauthorfontifannotator + \fi + \fi + }% + \fi +}% +\newcommand*{\jb@test@last@author@ibidem}{% + \ifjb@see + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jb@formatted@co@author% + \let\IbidemName\IbidemMidName + }% + \fi + \ifthenelse{\equal{\jb@@newannotatorcite}{\jb@@lastannotatorcite}\or\boolean{jb@see}}{% + \let\jb@@newannotatorcite\@empty + \@ifundefined{ibidem}{\@namedef{ibidem}{}}{\relax}% + \ifjb@debug + \textcolor[named]{WildStrawberry}{% + \ifjb@debug@br[\fi\ifthenelse{\thejb@cites@in@footnote<2}{\IbidemName}{\IbidemMidName}\ifjb@debug@br]\fi}% + \else + \ifthenelse{\thejb@cites@in@footnote<2}{\IbidemName}{\IbidemMidName}% + \jb@switchidemofflocallytrue + \jbnoformatafterstartpagefalse + \fi + \ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\let\jb@@newpagecite\@empty}{}% + \let\jb@extraspace\@empty + \let\jbapifont\@empty% <== remove single quotes after ibid. + \let\jbbtfont\@empty % <== remove single quotes after ibid. + \ifjb@ibidem@with@name + \let\jb@@fullname\@empty + \let\IbidemName\@empty + \let\jbatsep\@empty + \jb@second@extra@spacefalse + \fi + \let\jb@use@fullcite\@empty + \let\jb@@author\@empty + \let\jb@aftertitleedition\@empty + \let\jb@checked@edition\@empty + \let\jbhowsepbeforetitle\@empty + \let\jb@@title\@empty + \let\jb@@shorttitle\relax + \let\jb@formatted@year\@empty + \let\OpCit\relax + \ifjbusehowcitedforcite\let\jb@@howcited\@empty\fi + \ifjb@see\else\let\jb@@newannotatorcite\@empty\fi + \ifthenelse{% + \equal{\jb@@newpagecite}{\jb@@lastpagecite}% + \or + \equal{\jb@@newpagecite}{}% + }{% + \global\jb@footnote@periodfalse + }{}% + %\let\jb@makeidem\@empty + }{\relax}% +}% +\newcommand*{\jb@idem@gender@checked}{% + \ifjb@noauthorforcitetitle\else + \ifjb@switchidemofflocally\else + \ifthenelse{% + \not\equal{\jb@@gender}{}% + \and + \boolean{jblookforgender}% + }{% + \ifthenelse{\equal{\jb@@gender}{sm}}{% + \@ifundefined{jb@morethanonecite}{\idemSmname}{\idemsmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pm}}{% + \@ifundefined{jb@morethanonecite}{\idemPmname}{\idempmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sf}}{% + \@ifundefined{jb@morethanonecite}{\idemSfname}{\idemsfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pf}}{% + \@ifundefined{jb@morethanonecite}{\idemPfname}{\idempfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sn}}{% + \@ifundefined{jb@morethanonecite}{\idemSnname}{\idemsnname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pn}}{% + \@ifundefined{jb@morethanonecite}{\idemPnname}{\idempnname}% + }{% + \@ifundefined{jb@morethanonecite}{\idemSmname}{\idemsmname}% + }% + }% + }% + }% + }% + }% + }{% + \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{% + \edfont{\idemname}% + }{% + \ifjbcross\edfont{\idemmidname}\else\edfont{\idemname}\fi + }% + }% + \fi + \fi +} +\newcommand*{\jb@do@idem}{% + \@ifundefined{idem}{\@namedef{idem}{}}{\relax}% + \ifjb@same@fullauthor + \ifthenelse{% + \equal{\jb@@mult@switch}{1}% 1. author wrote multiple works, + \and\equal{\jb@@shorttitle}{}% 2. shorttitle is empty, + \and\equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% 3. not the very first citation, and + \and\boolean{jb@no@title@replace}% 4. replacing shorttitle by title not possible + }{% + \@ifundefined{ETFII@\jb@@newauthorcite}{% The same warning is placed somewhere else, + \global\@namedef{ETFII@\jb@@newauthorcite}{}% but we don't want to disturb the user with warnings. + \jb@package@warningNoLine{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\on@line\MessageBreak + is an ambiguous citation! Because you are using\MessageBreak + `titleformat=noreplace', the title field can't\MessageBreak + be used to replace the missing shorttitle}% + }{\relax}% + }{}% + \ifjb@debug + \textcolor[named]{WildStrawberry}{% + \ifjb@debug@br[\fi + \jb@idem@gender@checked% + \ifjb@debug@br]\fi + }% + \else + \jb@idem@gender@checked% + \fi + \let\jb@@fullname\@empty + \let\jb@@author\@empty + \ifthenelse{% + \equal{\jb@@newpagecite}{\jb@@lastpagecite}% + \TE@or % normal \or causes problems + \equal{\jb@@newpagecite}{}% + }{% + \ifjb@opcit\else + \@ifundefined{jb@morethanonecite}{% + \ifjbidemabbrvwithperiod + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{}{% + \global\jb@footnote@periodfalse + }% + \fi + }{\global\jb@footnote@periodtrue}% + \fi + }{}% + \fi +} +\newcommand*{\jb@test@last@author@idem}{% + \ifjb@see + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jb@formatted@co@author% + \let\idemname\idemmidname + \let\jb@@newannotatorcite\@empty + }% + \jb@do@idem + \else + \ifjb@annotator@last + \jb@do@idem + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jbhowsepannotatorlast% + \jb@formatted@co@author% + \let\idemname\idemmidname + \let\jb@@newannotatorcite\@empty + }% + \else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jb@formatted@co@author% + \jbhowsepannotatorfirst% + \let\idemname\idemmidname + \let\jb@@newannotatorcite\@empty + }% + \jb@do@idem + \fi + \fi +}% +\newcommand*{\jb@makeibidem}{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jb@all@titlestrue + \let\jbhowsepannotatorlast\@empty + \ifjb@see\else + \let\jb@@newannotatorcite\@empty + \fi + \@ifundefined{MISS@##3}{% + \global\@namedef{MISS@##3}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + The author of `\jb@@newauthorcite'\MessageBreak + is missing, I assume you know what % + you are doing}% + }{\relax}% + }{\relax}% + \ifthenelse{\boolean{jb@ibidem}}{% + \protected@edef\jb@tempcnt{\thejbbibcnt}% + \stepcounter{jbbibcnt}% + \ifjb@fn + \begingroup + \label{ibidem:\thejbbibcnt}% + \endgroup + \fi + \ifthenelse{\equal{\jb@@newauthorcite}{\jb@@lastauthorcite}}{% + \@tempcnta=\jb@tempcnt + \ifjb@ibidem@double@pagewise + \advance\@tempcnta\@ne + \fi + \protected@edef\jb@idemcnta{\the\@tempcnta}% + \ifthenelse{\boolean{jb@ibidem@pagewise}}{% + \ifthenelse{% + \(% + \boolean{jb@ibidem@double@pagewise}% + \and + \isodd{\jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}} + \and + \equal{% + \jb@simple@pageref@by@heiko{ibidem:\jb@idemcnta}}{% + \jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}% + \)% + \or + \equal{% + \jb@simple@pageref@by@heiko{ibidem:\jb@tempcnt}}{% + \jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}% + }{% + \jb@test@last@author@ibidem + \jb@lookatfalse + }{% + \relax + }% + }{% + \jb@test@last@author@ibidem + }% jb@ibidem@pagewise end + }{\relax}% authors equal + }{\relax}% jb@ibidem +}% +\newcommand*{\jb@makeidem}{% + \ifjbweareinbib\else + \ifthenelse{\boolean{jb@idem}}{% + \protected@edef\jb@idemcnta{\theidemcnt}% + \stepcounter{idemcnt}% + \ifjb@fn + \begingroup + \label{idem:\theidemcnt}% + \endgroup + \fi + \ifjb@same@fullauthor + \@tempcnta=\jb@idemcnta + \ifjb@idem@double@pagewise + \advance\@tempcnta\@ne + \fi + \protected@edef\jb@idemcntb{\the\@tempcnta}% + \ifthenelse{\boolean{jb@idem@pagewise}}{% + \ifthenelse{% + \boolean{jb@idem@double@pagewise}% + \and + \isodd{\jb@simple@pageref@by@heiko{idem:\theidemcnt}}% + \and + \equal{% + \jb@simple@pageref@by@heiko{idem:\jb@idemcntb}}{% + \jb@simple@pageref@by@heiko{idem:\theidemcnt}}% + }{% + \jb@test@last@author@idem + }{% + \ifthenelse{% + \equal{\jb@simple@pageref@by@heiko{idem:\jb@idemcnta}}{% + \jb@simple@pageref@by@heiko{idem:\theidemcnt}}% + }{% + \jb@test@last@author@idem + }{}% + }% + }{% + \jb@test@last@author@idem + }% + \fi + }{}% + \fi +}% +\newcommand{\jb@make@ibidem@name@title}{% + \jb@relaxforemptyauthor + \ifthenelse{\equal{\jb@@shorttitle}{}}{% + \ifjb@no@title@replace\else + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \jbhowsepbeforetitle\jbfulltitlefont{\jb@@title}% + }{}% + \fi% + }{% + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \jbhowsepbeforetitle\jbshorttitlefont{\jb@@shorttitle}% + }{}% + \@ifundefined{TITLE@##3}{\global\@namedef{TITLE@##3}{used}}{}% + }% + \ifjb@author@year\ifjb@yearaftertitle\jb@formatted@year\fi\fi +}% +\newcommand*{\jb@makecheckednameibidem}{% + \ifjb@fullcite@again\else + \ifjb@ibidem@with@name + \jb@allow@adding@of@pagerangefalse + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jb@second@extra@spacefalse}{\relax}% + \ifjb@debug@br[\fi + \jb@formatted@co@author@in% + \ifjb@ibidem@with@short@name + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jbauthorfont{\jb@@fullname}% + }{% + \jbauthorfont{\jb@@author}% + }% + \else + \jb@@fullname% + \fi + \ifjb@author@year\ifjb@yearafterauthor\jb@formatted@year\fi\fi + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \@ifundefined{MULT@##3}{% + \global\@namedef{MULT@##3}{}% + \ifjb@ibidem@with@name@and@title\else + \ifjb@ibidem@with@name@and@title@auto\else + \jb@package@warningNoLine{\jb@pkg@name}{% + The author of `\jb@@newauthorcite'\MessageBreak + is cited with more than one work, I'm switching\MessageBreak + to `ibidem=name&title&auto' to avoid\MessageBreak + ambiguous citations}% + \global\jb@ibidem@with@name@and@title@autotrue + \fi\fi + }{\relax}% + }{\relax}% + \ifjb@ibidem@with@name@and@title + \jb@make@ibidem@name@title% + \else + \ifjb@ibidem@with@name@and@title@auto + \ifjb@same@author@different@work + \jb@make@ibidem@name@title + \fi + \fi + \fi + \ifthenelse{\equal{\jb@@title}{}}{% + \ifthenelse{\equal{\jb@@shorttitle}{}}{% + \IbidemName% + }{,\space\IbidemMidName}% + }{,\space\IbidemMidName}% + \ifthenelse{% + \equal{\jb@@newpagecite}{\jb@@lastpagecite}% + \TE@or % normal \or causes problems + \equal{\jb@@newpagecite}{}% + }{% + \global\let\jb@@newpagecite\@empty + \ifjb@opcit\else + \global\jb@footnote@periodfalse + \fi + }{}% + \jb@relaxcommandsforfullcite + \ifjb@debug@br]\fi + \fi + \fi +}% +\newcommand*{\jb@dofullcite}{% + \ifjb@debug + \textcolor[named]{Red}{% + \ifjb@debug@br[\fi + \jb@formatted@co@author@in\jb@use@fullcite% + \ifjb@debug@br]\fi}% + \else + \jb@formatted@co@author@in\jb@use@fullcite% + \fi% + \jb@relaxcommandsforfullcite + \let\jb@extraspace\@empty + \jb@allow@lookat@for@fullcitefalse +}% +\newcommand*{\jb@makeagainfullcite}{% + \ifjb@fullcite@again + \jb@allow@adding@of@pagerangefalse + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextshort}}{% + \relax + }{% + \jb@dofullcite% + }% + \else + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextfull}}{% + \jb@dofullcite% + }{% + \relax + }% + \fi +}% +\newcommand*{\jb@relaxforemptyauthor}{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \let\jb@@author\@empty + \let\jbhowsepbeforetitle\relax + \let\jb@extraspace\@empty + }{\relax}% +}% +\newcommand*{\jb@warningfootciteusage}{% + \ifjb@cite@no@title + \ifthenelse{% + \equal{\jb@@mult@switch}{1}% + \and + \not\boolean{jb@author@year}% + }{% + \jb@package@warning{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\MessageBreak + is an ambiguous citation! Beware of\MessageBreak + using \string\[foot]cite*}% + }{\relax}% + \fi +}% +\newcommand*{\jb@checktitlefields}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \ifthenelse{\equal{\jb@@shorttitle}{}\and\not\boolean{jb@author@year}}{% + \ifthenelse{\equal{\jb@@title}{}}{% + \let\jb@extraspace\@empty + \@ifundefined{ETF@\jb@@newauthorcite}{% + \global\@namedef{ETF@\jb@@newauthorcite}{}% + \jb@package@warning{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\MessageBreak + is an ambiguous citation! The `shorttitle'\MessageBreak + can't be used. I tried to substitute with\MessageBreak + `title' field - without success, please check the\MessageBreak + citation}{\relax}% + }{\relax}% + }{% + \ifthenelse{% + \equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% + \or + \boolean{jbcross}% + }{% + \ifjbweareinbib\else + \ifjb@no@title@replace + \@ifundefined{ETFII@\jb@@newauthorcite}{% + \global\@namedef{ETFII@\jb@@newauthorcite}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\on@line\MessageBreak + is an ambiguous citation! Because you are using\MessageBreak + `titleformat=noreplace', the title field can't\MessageBreak + be used to replace the missing shorttitle}% + }{\relax}% + \fi\fi + }{\relax}% + }% + }{\relax}% + }{% + \@ifundefined{jb@fm@\@citeb}{}{% + \ifthenelse{\equal{\jb@@mult@switch}{0}% + \and\not\boolean{jbweareinbib}% + \and\boolean{jb@no@title@replace}% + }{% + \@ifundefined{ETFII@\jb@@newauthorcite}{% + \global\@namedef{ETFII@\jb@@newauthorcite}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\on@line\MessageBreak + is an ambiguous citation! Because you are using\MessageBreak + `titleformat=noreplace', the title field can't\MessageBreak + be used to replace the missing shorttitle}% + }{\relax}% + }{\relax}% + }% + }% +}% +\newcommand*{\jb@maketitlewishestrue}{% + \ifjb@all@titles\def\jb@@title@switch{1}\fi + \ifjb@cite@title\def\jb@@title@switch{1}\fi + \ifjb@cite@no@title\def\jb@@title@switch{0}\fi +}% +\newcommand*{\jb@makeannotatorlastwithtitle}{% + \ifjb@noauthorforcitetitle\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@formatted@author% + \ifjb@ssed@after@author\jb@checked@edition\fi + \jb@make@annotator@emph% + \jbhowsepannotatorlast% + \jb@formatted@co@author% + \ifjb@ssed@after@author\else\jb@checked@edition\fi + }% + \fi + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}}{% + }{% + \jb@checked@title% + }% +}% +\newcommand*{\jb@makeannotatorfirstwithtitle}{% + \ifjb@noauthorforcitetitle\ifjb@see\jb@formatted@co@author@see\fi\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@make@annotator@emph% + \jb@formatted@co@author% + \jbhowsepannotatorfirst% + \jb@formatted@author% + \jb@checked@edition% + }% + \fi + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}}{% + }{% + \jb@checked@title% + }% +}% +\newcommand*{\jb@makeannotatorlastwithouttitle}{% + \ifjb@noauthorforcitetitle\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@formatted@author% + \ifjb@ssed@after@author\jb@checked@edition\fi + \jb@make@annotator@emph% + \jbhowsepannotatorlast% + \jb@formatted@co@author% + \ifjb@ssed@after@author\else\jb@checked@edition\fi + }% + \fi +}% +\newcommand*{\jb@makeannotatorfirstwithouttitle}{% + \ifjb@noauthorforcitetitle\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@make@annotator@emph% + \jb@formatted@co@author% + \jbhowsepannotatorfirst% + \jb@formatted@author% + \jb@checked@edition% + }% + \fi +}% +\newcommand*{\jb@makecheckedcite}{% + \ifthenelse{\not\equal{\jb@@howcited}{}\and\boolean{jbusehowcitedforcite}}{% + \ifjb@first@cite\else\jb@@howcited\fi + }{% + \ifthenelse{\equal{\jb@@type}{archival}}{% + \jb@@title% + }{% + \ifthenelse{% + \equal{\jb@@mult@switch}{1}% + \or\equal{\jb@@title@switch}{1}% + \and\not\boolean{jb@starred@cite}% + }{% + \ifjb@annotator@last + \jb@makeannotatorlastwithtitle + \else + \jb@makeannotatorfirstwithtitle + \fi + }{% + \ifjb@annotator@last + \jb@makeannotatorlastwithouttitle + \else + \jb@makeannotatorfirstwithouttitle + \fi + }% + \jb@aftertitleedition% + \ifjb@yearaftertitle\jbyear\fi + }% + }% +}% +\newcommand*{\jb@ssed@size}{\tiny}% +\newlength{\jb@length@i} \settowidth{\jb@length@i} {\jb@ssed@size 1}% +\newlength{\jb@length@ii} \settowidth{\jb@length@ii} {\jb@ssed@size 11}% +\newlength{\jb@length@iii}\settowidth{\jb@length@iii}{\jb@ssed@size 111}% +\newcommand*{\jb@kern@before@sepi} {\hspace{-\jb@length@i}}% +\newcommand*{\jb@kern@after@sepi} {\hspace{\jb@length@i}}% +\newcommand*{\jb@kern@before@sepii} {\hspace{-\jb@length@ii}}% +\newcommand*{\jb@kern@after@sepii} {\hspace{\jb@length@ii}}% +\newcommand*{\jb@kern@before@sepiii}{\hspace{-\jb@length@iii}}% +\newcommand*{\jb@kern@after@sepiii} {\hspace{\jb@length@iii}}% +\newcommand*{\jb@kern@sep}{}% +\newcommand*{\jb@extract@starting@page}[1]{% + \protected@edef\sp@tempa{#1}% + \expandafter\jb@@extract@starting@page\sp@tempa-\end% +} +\newcommand\jb@@start@page@switch{0}% +\newcommand*{\jb@@extract@starting@page}{}% make sure it's undefined +\def\jb@@extract@starting@page#1-#2\end{% + \def\jb@@start@page{#1}% +}% +\def\sndecmd{}% +\DeclareRobustCommand*{\nopage}{} +\newcommand*{\pageadd}[1]{{\space{}#1}} +\newcommand*{\jbprformat}[1]{% + \ifjb@formatted@pages + \if\nopage#1\else + \jb@parse@page{#1}% + \fi + \else + #1% + \fi +}% +\newcommand{\jbpagesnamesep}{\,}% +\newcommand{\bibpagesnamesep}{\,}% +\newcommand{\jbPageName}{\jbpagename\jbpagesnamesep}% +\newcommand{\jbPagesName}{\jbpagesname\jbpagesnamesep}% +\newcommand{\bibPageName}{\bibpagename\bibpagesnamesep}% +\newcommand{\bibPagesName}{\bibpagesname\bibpagesnamesep}% +\newcommand*{\jb@parse@page}[1]{% + \ifthenelse{\equal{\jbpagename}{}\and\equal{\jbpagesname}{}}{\def\jbpagesnamesep{}}{}% + \ifthenelse{\equal{\bibpagename}{}\and\equal{\bibpagesname}{}}{\def\bibpagesnamesep{}}{}% + \jb@if@contains@ff{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \jb@if@contains@f{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \jb@if@contains@endash{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \jb@if@contains@multiple{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \ifjbweareinbib + \bibPageName#1% + \else + \jbPageName#1% + \fi + }% + }% + }% + }% +}% +\newcommand*{\jb@if@contains@multiple}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\expandafter\expandafter\jb@@if@contains@multiple + \expandafter\@tempa\space\@nil +} +\newcommand*{\jb@if@contains@endash}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\jb@@if@contains@endash\@tempa--\@nil}% +\newcommand*{\jb@if@contains@ff}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\jb@@if@contains@ff\@tempa ff\@nil}% +\newcommand*{\jb@if@contains@f}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\jb@@if@contains@f\@tempa f\@nil}% +\newcommand*{\jb@@if@contains@multiple}{} +\def\jb@@if@contains@multiple#1 #2\@nil{% + \ifx\\#2\\% is #2 empty? + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi +}% +\newcommand*{\jb@@if@contains@endash}{} +\def\jb@@if@contains@endash#1--#2\@nil{% + \ifx\\#2\\% is #2 empty? + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi +}% +\newcommand*{\jb@@if@contains@f}{} +\def\jb@@if@contains@f#1f#2\@nil{% + \ifx\\#2\\% is #2 empty? + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi +}% +\newcommand*{\jb@@if@contains@ff}{} +\def\jb@@if@contains@ff#1ff#2\@nil{% + \ifx\\#2\\% is #2 empty? + \let\sndecmd\@secondoftwo + \else + \def\@tempa{ff}% + \def\@tempb{#2}% + \ifx\@tempa\@tempb + \let\sndecmd\@firstoftwo + \else + \let\sndecmd\@secondoftwo + \fi + \fi + \sndecmd +}% +\newcommand*{\jbpagesformat}[1]{#1}% +\newcommand*{\jbafterstartpagesep}{,}% +\newcommand*{\formatpages}{\@ifnextchar[{\jb@formatpages}{\jb@formatpages[]}}% +\def\jb@formatpages[#1]{\@ifnextchar[{\jb@@formatpages[#1]}{\jb@@formatpages[#1][]}}% +\def\jb@@formatpages[#1][#2]#3#4#5{% + \def\jb@afterstartpagesep{#1}% + \def\jb@beforestartpagesep{#2}% + \def\jb@start@page@for@types{#3}% + \def\jb@normalpageldelim{#4}% + \def\jb@normalpagerdelim{#5}% + \ifthenelse{\equal{#1}{}\and\equal{#2}{}% + }{% + \renewcommand*{\jbpagesformat}[1]{% + \jb@normalpageldelim##1\jb@normalpagerdelim}% + }{\jb@start@pagetrue}% +}% +\newcommand*{\formatarticlepages}[3][]{\formatpages[#1]{article}{#2}{#3}}% +\newcommand*{\jb@do@ssed@kerning}{% + \ifjb@ssed@after@author\else + \ifthenelse{\equal{\jb@@edition}{}}{}{% + \ifthenelse{\jb@@edition>9}{% + \ifthenelse{\jb@@edition>99}{% + \ifjb@comma@before@rest\,\,\,\,\,\,\else\kern\jbedwidth\fi + }{% + \ifjb@comma@before@rest\,\,\,\,\else\kern\jbedwidth\fi + }% + }{% + \ifjb@comma@before@rest\,\,\else\kern\jbedwidth\fi + }% + }% + \fi +}% +\newcommand\herename{} +\newcommand*{\jbfirstcitepageranges}{\jb@allow@adding@of@pagerange@for@first@citetrue} +\newcommand*{\jb@add@something@before@page}{% + \ifthenelse{% + \boolean{jb@allow@adding@of@pagerange@for@first@cite}% + \and + \not\equal{\jb@@pages}{}% + \and + \( + \boolean{jb@first@cite}% + \or + \boolean{jb@fullcite@again}% + \) + }{% + \herename% + }{}% +}% +\newcommand*{\jb@before@page@sep}{% + \unskip\jb@kern@sep\space% + \ifjb@ssed@recent@kerned + \jb@do@ssed@kerning% + \fi + \jb@add@something@before@page% +}% +\newcommand*{\jb@formatted@start@page}{% + \ifthenelse{% + \not\equal{\jb@@start@page}{}% + \and + \boolean{jb@allow@adding@of@pagerange}% + \and + \(% + \boolean{jb@start@page}% + \and + \equal{\jb@start@page@for@types@arg}{1}% + \)% + \and\not\boolean{jb@switchidemofflocally}% + }{% + \ifthenelse{\equal{\jb@beforestartpagesep}{}}{}{% + \renewcommand*{\jbbeforestartpagesep}{\jb@beforestartpagesep}}% + \renewcommand*{\jbafterstartpagesep}{\jb@afterstartpagesep}% + \renewcommand*{\jbpagesformat}[1]{% + \jb@normalpageldelim##1\jb@normalpagerdelim}% + \jb@allow@adding@of@pagerangefalse + \jbbeforestartpagesep% + \jbprformat{\jb@@start@page}% + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \let\jb@before@page@sep\@empty + \jbafterstartpagesep% + }% + }{}% +} +\newcommand*{\jb@@formatted@pages}{% + \ifthenelse{\equal{\jb@@pages}{}}{% + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + }{% + \jb@formatted@start@page% + \ifjb@always@pageranges + \ifjb@first@cite + \ifjb@allow@adding@of@pagerange + \jb@before@page@sep% + \jbprformat{\jb@@pages}% + \fi + \fi + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + \else + \ifjb@tested@pageranges + \ifthenelse{\equal{\jb@@newpagecite}{}}{% + \ifjb@allow@adding@of@pagerange + \ifthenelse{\not\equal{\diffpageibidemname}{\samepageibidemname}% + \TE@or + \not\equal{\diffpageibidemmidname}{\samepageibidemmidname}% + }{% + \jb@package@warning{\jb@pkg@name}{% + You have redefined one ore more ibidem macros\MessageBreak + while using `pages=test'. Please note it is\MessageBreak + possible that you did not get the desired\MessageBreak + results}% + }{}% + \jb@before@page@sep% + \jbprformat{\jb@@pages}% + \fi + }{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + \else + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + \fi + \fi + }% +}% +\newcommand*{\jb@checked@kerning}{% + \jb@@formatted@pages\unskip% +}% +\newcommand*{\jbpagesep}{,}% +\newcommand*{\jb@makecheckedpages}{% + \ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{% + \ifjb@suppress@dot@for@howcited\else + \ifjbcross\else + \ifjb@allow@dot@for@lookat + \ifthenelse{\boolean{jb@comma@before@rest}}{% + \ifthenelse{% + \( + \not\equal{\jb@@pages}{}% + \and + \( + \boolean{jb@always@pageranges}% + \or + \boolean{jb@tested@pageranges}% + \) + \) + \or + \( + \not\equal{\jb@@start@page}{}% + \and + \boolean{jb@allow@adding@of@pagerange}% + \and + \boolean{jb@start@page}% + \and + \equal{\jb@@type}{article}% + \) + }{% + \renewcommand*{\jb@kern@sep}{\jbpagesep}% + }{% + \renewcommand*{\jb@kern@sep}{}% + }% + \jb@checked@kerning% + }{% + \renewcommand*{\jb@kern@sep}{}% + \jb@checked@kerning% + }% + \fi + \fi + \fi + }{% + \ifjb@period + \ifjb@comma@before@rest + \renewcommand*{\jb@kern@sep}{\jbpagesep}% + \jb@checked@kerning% + \else + \renewcommand*{\jb@kern@sep}{}% + \jb@checked@kerning% + \fi + \else + \ifjb@comma@before@rest + \renewcommand*{\jb@kern@sep}{\jbpagesep}% + \jb@checked@kerning% + \else + \renewcommand*{\jb@kern@sep}{}% + \jb@checked@kerning% + \fi + \fi + }% +}% +\newcommand*{\jb@list}{} +\newcommand*{\jb@opcit@list}{} +\newcommand*{\jb@elt}{} +\let\jb@elt\relax +\newtoks\jb@temptoks +\newcommand*{\jb@@append}[2]{% + \ifthenelse{\equal{#2}{}}{% + \protected@xdef#2{#1}% + }{% + \jb@temptoks=\expandafter{#2}% + \protected@xdef#2{\the\jb@temptoks,#1}% + }% +}% +\newcommand*{\jb@append}[2]{% + \jb@if@elem{#1}{#2}{% + }{% + \jb@@append{#1}{#2}% + }% +}% +\newcommand*{\jb@list@tempa}{} +\newcommand*{\jb@list@tempb}{} +\newcommand*{\jb@test@cmd}{} +\newcommand*{\jb@if@elem}[2]{% + \protected@edef\jb@list@tempa{#1}% + \let\jb@test@cmd\@secondoftwo + \@for\jb@list@tempb:=#2\do{% + \ifx\jb@list@tempa\jb@list@tempb + \let\jb@test@cmd\@firstoftwo + \fi + }% + \jb@test@cmd +}% +\newcommand*{\jb@undefineall}[2]{% + \ifthenelse{\equal{#2}{opcit}}{% + \ifthenelse{\equal{\jb@reset@opcit@for}{chapter}}{% + \@ifundefined{resetopcit\thechapter}{% + \global\@namedef{resetopcit\thechapter}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Chapter \thechapter}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }{% + \@ifundefined{resetcf\thesection}{% + \global\@namedef{resetcf\thesection}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Section \thesection}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }% + }{% + \ifthenelse{\equal{\jb@resetfor}{chapter}}{% + \@ifundefined{resetcitefull\thechapter}{% + \global\@namedef{resetcitefull\thechapter}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Chapter \thechapter}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }{% + \@ifundefined{resetcitefull\thesection}{% + \global\@namedef{resetcitefull\thesection}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Section \thesection}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }% + }% +}% +\newcommand*{\jb@showelems}[1]{% + \@for\jb@list@tempa:=#1\do{% + \jb@typeout{\jb@list@tempa: + \expandafter\meaning\csname\jb@list@tempa\endcsname}% + }% +}% +\newcommand*{\jb@firstcitefull}{% + \ifthenelse{\equal{\@nameuse{\jb@@newauthorcite}}{allnextshort}\or + \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}% + }{}{% + \@ifundefined{jb@resetfor}{}{% + \ifthenelse{% + \( + \equal{\jb@resetfor}{chapter}% + \or + \equal{\jb@resetfor}{section}% + \) + \and\value{citefull}=0% + }{% + \jb@undefineall{\jb@list}{citefull=first}% + }{}% + }% + \ifthenelse{% + \not\boolean{jbweareinbib}% + \and% + \boolean{jb@firstcite@full}% + \and% + \equal{\jb@@cite@fullfirst@switch}{1}% + \and\not\boolean{jb@all@full}% + \and\not\boolean{jb@no@lookat@for@bib}% + \and\not\equal{\jb@@type}{archival}% + }{% + \ifthenelse{\equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}}{% + \let\jb@extraspace\@empty + \@ifundefined{jb@morethanonecite}{% + \jb@makecheckednameibidem% + }{\relax}% + \ifjb@ibidem@with@name@and@title\else + \@ifundefined{ibidem}{\let\jb@extraspace\space}{}% + \fi + }{% the first cite + \jb@first@citetrue + \ifthenelse{\not\equal{\jb@start@page@for@types@arg}{1}}{% + \jb@allow@adding@of@pagerangefalse + }{}% + \global\@namedef{citefull@\jb@@newauthorcite}{citefull}% + \global\@namedef{NORMCR@\jb@@newauthorcite}{}% + \global\@namedef{ARTCR@\jb@@newauthorcite}{}% + \global\@namedef{INCCR@\jb@@newauthorcite}{}% + \jb@append{citefull@\jb@@newauthorcite}{\jb@list}% + \jbonlyforfirstcitefullbegin% + \let\jb@extraspace\@empty + \ifjb@lookat + \ifjb@allow@lookat@for@fullcite + \begingroup + \label{look@\@citeb:\jb@reset@look@label@for}% + \hyper@jbanchorstart{look@\@citeb:\jb@reset@look@label@for}\hyper@jbanchorend% + \endgroup + \@namedef{look@\jb@@newauthorcite}{firsttime}% + \fi + \fi + \ifjb@debug + \textcolor[named]{Blue}{% + \ifjb@debug@br[\fi + \jb@formatted@co@author@in\jb@use@fullcite% + \ifjb@debug@br]\fi}% + \else + \jb@formatted@co@author@in\jb@use@fullcite% + \fi + \jbonlyforfirstcitefullend% + \let\jb@makeagainfullcite\@empty + \let\OpCit\@empty + \jb@relaxcommandsforfullcite + }% + }{% + \jb@allow@lookat@for@fullcitefalse + }% + }% +}% +\newcommand*{\jb@ssed@format}{% + \ifthenelse{\equal{\jb@@edition}{}}{}{% + \textsuperscript{\jb@ssed@size\jb@@edition}}}% +\newcommand*{\jb@ssed@notitle@format}{% + \ifthenelse{\equal{\jb@@edition}{}}{}{% + \textsuperscript{\jb@ssed@size\jb@@edition}% + }% +}% +\newcommand{\jb@@samework@edition@differs}{}% +\newlength{\jbedwidth} +\newcommand*{\jb@make@superscript@edition}{% + \ifthenelse{\equal{\jb@@edition}{\@empty}}{}{% + \ifjb@ssed@all + \renewcommand*{\jb@checked@edition}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{% + \ifthenelse{% + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{% + \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}% + }% + }{% + \jb@ssed@notitle@format% + }% + }% + \else + \ifjb@ssed@commented + \renewcommand*{\jb@checked@edition}{% + \ifthenelse{\equal{\jb@@type}{commented}}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{% + \ifthenelse{% + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{% + \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}% + }% + }{% + \jb@ssed@notitle@format% + }% + }{}% + }% + \else + \ifjb@ssed@sw + \ifthenelse{\equal{\jb@@edition@switch}{1}}{% + \renewcommand*{\jb@checked@edition}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{% + \ifthenelse{% + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{% + \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}% + }% + }{% + \jb@ssed@notitle@format% + }% + }% + }{}% + \else + \ifjb@ssed@mult@works + \renewcommand\jb@checked@edition{% + \ifthenelse{% + \boolean{jb@ssed@mult@works}% + \and + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{}% + }% + \fi + \fi + \fi + \fi + }% +}% +\newtoks\jb@ta\newtoks\jb@tb +\newcommand\jbauthorinfo{% + \begingroup\@sanitize % needed to deactivate \" etc. + \jb@deactivate@babel + \catcode`\ =10 % but treat spaces as usual (gobble between arguments) + \jb@define@verbatim@ +} +\newcommand\jb@define@verbatim@[2]{% + \def\jb@curr@key{#2}\def\jb@list{}\jb@do@authorinfo#1\jb@end\endgroup} +\newcommand\jb@curr@cite{} +\newcommand\jb@last@cite{} +\newcommand\jb@citeasedn[1]{\global\@namedef{jb@#1}{}} +\newcommand\jb@check@edn[1]{% + \@ifundefined{jb@#1}{% + \def\jb@@samework@edition@differs{0}% + }{% + \def\jb@@samework@edition@differs{1}% + }% +} +\def\jb@do@authorinfo#1#2\jb@end{% + \ifthenelse{\equal{#2}{}}{% + \jb@ta=\expandafter{\jb@list}% + \jb@tb=\expandafter{#1}% + \@ifundefined{\the\jb@ta\the\jb@tb}{% + }{% + \protected@write\@auxout{}{% + % save previous label, and current label: + \string\csname\space jb@citeasedn\string\endcsname{\@nameuse{\the\jb@ta\the\jb@tb}}^^J% + \string\csname\space jb@citeasedn\string\endcsname{\jb@curr@key}% + }% + }% + \expandafter\global\expandafter\@namedef\expandafter{\the\jb@ta\the\jb@tb\expandafter}\expandafter{\jb@curr@key}% + }{% + \jb@ta=\expandafter{\jb@list}% + \jb@tb=\expandafter{#1}% + \protected@edef\jb@list{\the\jb@ta\the\jb@tb}% + \jb@do@authorinfo#2\jb@end + }% +} +\newcommand\jb@@last@@author{} +\newcommand\jb@@new@@author{}\newcommand*{\footciteyear}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footciteyear}{\jb@footciteyear[]}}% +\def\jb@footciteyear[#1]{\@ifnextchar[{\jb@@footciteyear[#1]}{\jb@@footciteyear[][#1]}}% +\def\jb@@footciteyear[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \jb@footfalse % works for endnotes too + }% + \jb@enote@hook + \jb@foottrue + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +}% +\newcommand\jb@@last@@title{} +\newcommand\jb@@new@@title{} +\newcommand\jb@@last@fullname@author{} +\newcommand\jb@@new@fullname@author{} +\newcommand{\jb@do@ibidem@name@title@test}{% + \def\jb@@new@fullname@author{INTT@\jb@@fullname}% INTT= ibidem name & title test + \ifthenelse{\equal{\jb@@last@fullname@author}{\jb@@new@fullname@author}% + \and\not\equal{\jb@@newauthorcite}{\jb@@lastauthorcite}% + }{% + \jb@same@author@different@worktrue + }{% + \jb@same@author@different@workfalse + }% + \global\let\jb@@last@fullname@author\jb@@new@fullname@author +}% +\newcommand*{\jb@do@if@multiple@bibetal}{\def\jb@@title@switch{1}} +\newcommand*{\jb@make@opcit}{% + \ifjbweareinbib\else + \ifjbcross\else + \ifjb@opcit + \@ifundefined{jb@reset@opcit@for}{}{% + \ifthenelse{% + \not\equal{\jb@reset@opcit@for}{}% + \and\value{opcit}=0% + }{% + \jb@undefineall{\jb@opcit@list}{opcit}% + }{}% + }% + \ifthenelse{\equal{\@nameuse{opcit@\jb@@newauthorcite}}{cited}}{% + \jb@@opcittrue + }{% + \global\@namedef{opcit@\jb@@newauthorcite}{cited}% + \hyper@jbanchorstart{opcit.\jb@@newauthorcite.\jb@reset@opcit@label@for}% + \hyper@jbanchorend% + \jb@append{opcit@\@citeb}{\jb@opcit@list}% + \jb@@opcitfalse + }% + \fi + \fi + \fi +}% +\newcommand*{\jb@make@pageranges@for@first@cite}{% + \ifthenelse{\equal{\@nameuse{citefull@\@citeb}}{citefull}% + \and\not\boolean{jb@allow@adding@of@pagerange@for@first@cite}% + }{% + \let\jbPAGES\@gobble + \let\jbpages\@gobble + \let\jbPages\@gobble + \let\jbartPages\@gobble + }{% + \ifthenelse{\(% + \equal{\jb@@type}{article}% + \or + \equal{\jb@@type}{periodical}% + \or + \equal{\jb@@type}{incollection}% + \)% + \and\boolean{jb@allow@adding@of@pagerange@for@first@cite}% + }{}{% + \let\jbPAGES\@gobble + \let\jbpages\@gobble + \let\jbPages\@gobble + \let\jbartPages\@gobble + }% + }% +} +\def\@citex[#1][#2]#3{% + \stepcounter{jb@cites@in@footnote}% + \ifjb@ssed@mult@works\jb@check@edn{#3}\fi + \ifthenelse{\boolean{jb@foot}\or\(\boolean{jb@super}\and\not\boolean{jb@fn}% + \and\not\boolean{jbweareinbib}\and\not\boolean{jbweareinendnotes}\)}{% + \renewcommand*{\@cite}[2]{\unskip\footnote{##1##2\ifthenelse{\boolean{jb@footnote@period}}{\unskip.}{}}}% + }{% + \renewcommand*{\@cite}[2]{% + \ifjb@fn\else\ifjbweareinbib\else\ifjbcross\else\jb@open\fi\fi\fi + ##1##2% + \ifjb@fn\else\ifjbweareinbib\else\ifjbcross\else\jb@close\fi\fi\fi + }% + }% + \ifx\relax#1\relax + \ifx\relax#2\relax + \ifjb@debug + \typeout{#3: @citex arg1 and @citex arg2 are empty,}% + \typeout{#3: I assume \string\cite{key}}% + \fi + \def\jb@@newannotatorcite{}% + \def\jb@@newpagecite{\jbprformat{}}% + \else + \ifjb@debug + \typeout{#3: @citex arg1 is empty or missing/@citex arg2 is #2}% + \typeout{#3: I assume \string\cite[#2]{key} or \string\cite[][#2]{key}}% + \fi + \def\jb@@newannotatorcite{}% + \def\jb@@newpagecite{\jbprformat{#2}}% + \fi + \else + \ifx\relax#2\relax + \ifjb@debug + \typeout{#3: @citex arg1 is #1/@citex arg2 is empty or missing}% + \typeout{#3: I assume \string\cite[#1][]{key}}% + \fi + \ifjb@old@order + \def\jb@@newannotatorcite{}% + \def\jb@@newpagecite{\jbprformat{#1}}% + \else + \def\jb@@newannotatorcite{#1}% + \def\jb@@newpagecite{\jbprformat{}}% + \fi + \else + \ifjb@debug + \typeout{#3: @citex arg1 is #1/@citex arg2 is #2}% + \typeout{#3: I assume \string\cite[#1][#2]{key}}% + \fi + \ifjb@old@order + \def\jb@@newannotatorcite{#2}% + \def\jb@@newpagecite{\jbprformat{#1}}% + \else + \def\jb@@newannotatorcite{#1}% + \def\jb@@newpagecite{\jbprformat{#2}}% + \fi + \fi + \fi + \ifjb@no@nested@crossrefs + \let\origcrossref\jbcrossrefchecked + \renewcommand*{\jbcrossrefchecked}[2][]{}% + \let\origbibces\bibces + \renewcommand*{\bibces}{}% + \fi + \let\@citea\@empty% + \@cite{% + \@for\@citeb:=#3\do{% + \@citea% + \def\@citea{;\penalty\@m\ % + \@ifundefined{jb@morethanonecite}{% + \global\@namedef{jb@morethanonecite}{}}{}% + \ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{\relax}{% + \jb@package@warning{\jb@pkg@name}{% + I assume you know what you're doing % + using `\jb@@newpagecite'\MessageBreak + on a citation with more than one\MessageBreak + author}{\relax}% + }% + }% + \@ifundefined{b@\@citeb}{}{% + \protected@edef\@tempa{\csname b@\@citeb\endcsname}% + \protected@edef\jb@@new@@author{\expandafter\jb@fifthofseven\@tempa\@empty}% + }% + \ifthenelse{\equal{\jb@@last@@author}{\jb@@new@@author}\and\not\equal{\jb@@new@@author}{}}{% + \jb@same@fullauthortrue + }{% + \jb@same@fullauthorfalse + }% + \global\let\jb@@last@@author\jb@@new@@author + \@ifundefined{jb@morethanonecite}{\relax}{% + \let\jb@@newannotatorcite\@empty + \let\idemname\idemmidname + }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw + \immediate\write + \@newciteauxhandle{% + \jb@makehowcited\string\citation{\@citeb}% + }% + \fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \mbox{\reset@font{\bfseries ?}, #1}% + \G@refundefinedtrue + \@latex@warning{% + Citation `\@citeb' on page \thepage \space undefined + }% + }{% + \begingroup + \jb@extract% + \ifjb@always@pageranges\else\ifjb@tested@pageranges + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{\jb@make@pageranges@for@first@cite}% + \else\jb@make@pageranges@for@first@cite\fi\fi + \def\jb@@newauthorcite{\@citeb}% + \jb@make@opcit + \jb@call@index{aut}{\@citeb}% + \jb@call@index{ed}{\@citeb}% + \jb@call@index{org}{\@citeb}% + \jb@changefontsforfullcite + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \jb@extract% + \jb@do@ibidem@name@title@test% + \ifthenelse{% + \equal{\jb@@fullname}{\@empty}% + \and + \equal{\jb@@author}{\@empty}% + }{% + \let\jbhowsepbeforetitle\@empty + }{}% + \jbonlyforcitations% + \jb@cite@title@for@type@hook% + \jb@cite@full@first@fortype@hook% + \jb@cite@title@for@work@hook% + \jb@start@page@for@type@hook% + \jb@make@superscript@edition% + \@ifundefined{jb@fm@\@citeb}{}{% + \ifthenelse{\equal{\jb@@mult@switch}{0}}{% + \@ifundefined{jb@fmmess@\@citeb}{% only one message per entry + \global\@namedef{jb@fmmess@\@citeb}{}% + \jb@package@warning{\jb@pkg@name}{% + Multiple use of `et. al.' for the author(s)\MessageBreak + of `#3' \MessageBreak + detected, printing the title to\MessageBreak + avoid ambiguity}}{}}{\relax}% + \jb@do@if@multiple@bibetal% the things to do if true + }% + \ifjb@babel + \ifthenelse{% + \equal{\jb@@language}{\bbl@main@language}% + }{}{% + \ifthenelse{% + \equal{\jb@@language}{\@empty}% + }{% if no language is given, use the main language + \expandafter\jbselectlanguage% + \expandafter{\bbl@main@language}% + }{% if a language is given, use it + \language=\csname l@\jb@@language\endcsname\relax% + }% + }% + \fi + \jb@checktitlefields + \@ifundefined{jb@morethanonecite}{\jb@makeibidem}{\relax}% + \jb@makeidem + \jb@firstcitefull + \jb@checked@etal + \jb@makeagainfullcite% + \jb@relaxforemptyauthor + \jb@warningfootciteusage + \jb@maketitlewishestrue + \jb@cite@no@title@for@type@hook% + \ifjb@debug + \textcolor[named]{Dandelion}{% + \ifjb@debug@br[\fi\jb@makecheckedcite\ifjb@debug@br]\fi}% + \else + \jb@makecheckedcite% + \fi + \OpCit% + \ifjb@lookat + \ifjb@firstcite@full + \ifjb@allow@lookat@for@fullcite + \ifjb@all@full\else + \ifthenelse{% + \equal{\@nameuse{look@\@citeb}}{firsttime}% + }{% + \relax + }{% + \jb@lookat@fortype@hook + \ifthenelse{\equal{\jb@@lookat@for@type@switch}{1}}{% + \unskip\lookatprefix% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + \ifjb@vario + \vref{look@\@citeb:\jb@reset@look@label@for}% + \else + \ref{look@\@citeb:\jb@reset@look@label@for}% + \fi + \begingroup + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \lookatsuffix% + \jb@extract% + }{}% + }% + \fi % allfull end + \fi % allow@lookat@for@fullcite end + \fi % jb@firstcite@full end + \fi % jb@lookat end + \jb@checkperiod{#2}% + \jb@extract@starting@page{\jb@@pages}% + \jb@makecheckedpages + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + \ifx\relax#1\relax\ifx\relax#2\relax + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{EMPTY}% + \else + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{\jbprformat{#2}}% + \fi + \else + \ifx\relax#2\relax + \ifjb@old@order + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{\jbprformat{#1}}% + \else + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{EMPTY}% + \fi + \else + \ifjb@old@order + \gdef\jb@@lastannotatorcite{#2}\gdef\jb@@lastpagecite{\jbprformat{#1}}% + \else + \gdef\jb@@lastannotatorcite{#1}\gdef\jb@@lastpagecite{\jbprformat{#2}}% + \fi + \fi + \fi + \ifjbweareinbib\else\gdef\jb@@lastauthorcite{#3}\fi + \global\let\jb@morethanonecite\@undefined + \let\ibidem\@undefined + \ifjb@no@nested@crossrefs + \global\let\jbcrossrefchecked\origcrossref + \fi + \ifjb@fn + \let\jb@close\@empty + \let\jb@open\@empty + \fi + \stepcounter{citefull}% + \stepcounter{opcit}% + \jb@allow@adding@of@pagerangetrue + }% + }% + \global\jb@fullcite@againfalse + \jb@noauthorforcitetitlefalse + }{}% + \ifjb@fn\else\jb@fnfalse\fi + \jb@ssed@recent@kernedfalse + \@restore@auxhandle +}% +\AtBeginDocument{% + \let\citetitle\jbcitetitle + \let\fullcite\jbfullcite + \let\footfullcite\jbfootfullcite + \let\footcite\jbfootcite + \let\footcitetitle\jbfootcitetitle +}% +\def\jurabibsetup{\setkeys{jb}} +\let\jb@origExecuteOptions\ExecuteOptions +\let\ExecuteOptions\jurabibsetup +\def\ProcessOptionsWithKV#1{% + \let\@tempc\relax + \let\KVo@tempa\@empty + \@for\CurrentOption:=\@classoptionslist\do{% + \@ifundefined{KV@#1@\CurrentOption}% + {}% + {% + \edef\KVo@tempa{\KVo@tempa,\CurrentOption,}% + \@expandtwoargs\@removeelement\CurrentOption + \@unusedoptionlist\@unusedoptionlist + }% + }% + \edef\KVo@tempa{% + \noexpand\setkeys{#1}{% + \KVo@tempa\@ptionlist{\@currname.\@currext}% + }% + }% + \KVo@tempa + \AtEndOfPackage{\let\@unprocessedoptions\relax}% + \let\CurrentOption\@empty +} +\ProcessOptionsWithKV{jb}% +\InputIfFileExists{\jb@own@config@file}{% + \jb@typeout{Package jurabib Info: *** Local config file `\jb@own@config@file' used ***^^J}}{% + \InputIfFileExists{\jb@config@file}{% + \jb@typeout{Package jurabib Info: *** Local config file `\jb@config@file' used ***^^J}}{}% +}% +\ProcessOptionsWithKV{jb}% +\let\ExecuteOptions\jb@origExecuteOptions +\endinput +%% +%% End of file `jurabib.sty'. |