ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/matt_papers/canidacy_talk/jurabib.dtx
Revision: 62
Committed: Tue Aug 6 22:06:13 2002 UTC (22 years, 1 month ago) by mmeineke
File size: 409949 byte(s)
Log Message:

added a crapload of crap that may or may norbe neccassary. Time will tell. Also, got footnote references working.

File Contents

# User Rev Content
1 mmeineke 62 % \iffalse
2     % jurabib.dtx
3     %
4     % $Header: /Volumes/Gezelter/cvsroot/matt_papers/canidacy_talk/jurabib.dtx,v 1.1 2002-08-06 22:06:12 mmeineke Exp $
5     %
6     % Docstrip archive, run jurabib.ins through LaTeX.
7     %
8     % Run jbgerdoc.tex through LaTeX for German documentation.
9     %
10     % Run jbendoc.tex through LaTeX for English documentation.
11     %
12     % Copyright (C) 1999, 2000, 2001, 2002 Jens Berger
13     % This program is free software; you can redistribute it and/or
14     % modify it under the terms of the GNU General Public License
15     % as published by the Free Software Foundation; either version 2
16     % of the License, or (at your option) any later version.
17     %
18     % This program is distributed in the hope that it will be useful,
19     % but WITHOUT ANY WARRANTY; without even the implied warranty of
20     % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21     % GNU General Public License for more details.
22     %
23     % You should have received a copy of the GNU General Public License
24     % along with this program; if not, write to the Free Software
25     % Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26     %
27     %<*driver>
28     \documentclass{ltxdoc}
29     \begin{document}\DocInput{jurabib.dtx}\end{document}
30     %</driver>
31     % \fi
32     % \ClassError{jurabib}{The German jurabib documentation will no longer be\MessageBreak
33     % produced by LaTeX'ing the file jurabib.dtx!\MessageBreak
34     % Please use `latex jbgerdoc.tex' instead. You will\MessageBreak
35     % find this file on CTAN and on www.jurabib.org}%
36     % \endinput
37     %<*package>
38     \NeedsTeXFormat{LaTeX2e}[1995/12/01]
39     \ProvidesPackage{jurabib}[2002/07/11 v0.52o Extended citations]
40     \RequirePackage{ifthen}
41     \RequirePackage{calc}
42     \RequirePackage{keyval}
43     \RequirePackage{url}
44     \RequirePackage{array}
45     \newcommand*{\jb@pkg@name}{jurabib}
46     \newif\ifjb@abbrv
47     \newif\ifjbidemabbrvwithperiod
48     \newif\ifjb@all@titles
49     \newif\ifjb@all@full
50     \newif\ifjb@allow@adding@of@pagerange
51     \newif\ifjb@allow@adding@of@pagerange@for@first@cite
52     \newif\ifjb@allow@dot@for@lookat
53     \newif\ifjb@allow@lookat@for@fullcite
54     \newif\ifjb@allow@howcited@art@period
55     \newif\ifjb@allow@hyper@cite@nobib
56     \newif\ifjb@allow@hyper@cite
57     \newif\ifjb@allow@nobib
58     \newif\ifjb@alphanum
59     \newif\ifjb@always@pageranges
60     \newif\ifjbaltformat
61     \newif\ifjb@author@year
62     \newif\ifjb@babel
63     \newif\ifjb@backref
64     \newif\ifjb@before@title@separator
65     \newif\ifjb@bib@hang
66     \newif\ifjb@bibetal\jb@bibetaltrue
67     \newif\ifjb@biblikecite
68     \newif\ifjb@bibssed
69     \newif\ifjb@change@fonts@for@fullcite
70     \newif\ifjb@cite
71     \newif\ifjb@cite@title
72     \newif\ifjb@cite@no@title
73     \newif\ifjb@coauthor@last
74     \newif\ifjb@compare@title@fields
75     \newif\ifjb@comma@before@rest
76     \newif\ifjb@compressed@bib
77     \newif\ifjb@citetoend
78     \newif\ifjbcross
79     \newif\ifjb@debug
80     \newif\ifjb@debug@br
81     \newif\ifjb@dot
82     \newif\ifjb@dynamic@author@fonts
83     \newif\ifjb@dynamic@crossrefs
84     \newif\ifjb@edby
85     \newif\ifjb@endnotes
86     \newif\ifjbetal
87     \newif\ifjb@fn
88     \newif\ifjb@foot
89     \newif\ifjb@footnote@period
90     \newif\ifjb@footnote@period@ibidem
91     \newif\ifjb@first@cite
92     \newif\ifjb@firstcite@full
93     \newif\ifjb@first@author@reversed
94     \newif\ifjb@formatted@pages
95     \newif\ifjb@fullcite@again
96     \newif\ifjblookforgender
97     \newif\ifjb@howcited
98     \newif\ifjb@howcited@all
99     \newif\ifjb@howcited@normal
100     \newif\ifjb@howcited@compare
101     \newif\ifjb@howcited@multiple
102     \newif\ifjb@humanbst@loaded
103     \newif\ifjb@hyper
104     \newif\ifjb@ibidem
105     \newif\ifjb@ibidem@pagewise
106     \newif\ifjb@ibidem@double@pagewise
107     \newif\ifjb@ibidem@with@name
108     \newif\ifjb@ibidem@with@short@name
109     \newif\ifjb@ibidem@with@name@and@title
110     \newif\ifjb@ibidem@with@name@and@title@auto
111     \newif\ifjb@same@author@different@work
112     \newif\ifjb@idem
113     \newif\ifjb@idem@pagewise
114     \newif\ifjb@idem@double@pagewise
115     \newif\ifjb@ignore@varioref
116     \newif\ifjb@index
117     \newif\ifjb@index@bib
118     \newif\ifjb@jura
119     \newif\ifjb@jureco
120     \newif\ifjb@kv@recognized
121     \newif\ifjb@lookat
122     \newif\ifjb@no@bib\global\jb@no@bibfalse
123     \newif\ifjb@no@lookat@for@bib
124     \newif\ifjb@no@nested@crossrefs
125     \newif\ifjb@no@title@replace
126     \newif\ifjb@numbered@bib
127     \newif\ifjb@natbib@opt@arg@order
128     \newif\ifjb@noauthorforcitetitle
129     \newif\ifjbnoformatafterstartpage
130     \newif\ifjb@opcit
131     \newif\ifjb@@opcit
132     \newif\ifjb@period
133     \newif\ifjb@ragged
134     \newif\ifjb@bibformat@ibidem
135     \newif\ifjb@reverse@all@names
136     \newif\ifjb@reverse@names@in@citation
137     \newif\ifjb@same@fullauthor
138     %\newif\ifjb@same@fulltitle % ... later
139     \newif\ifjb@see
140     \newif\ifjb@second@extra@space
141     \newif\ifjb@suppress@dot@for@howcited
142     \newif\ifjb@third@extra@space
143     \newif\ifjb@tabular
144     \newif\ifjb@tested@pageranges
145     \newif\ifjb@save@allfull@status
146     \newif\ifjb@save@lookat@status
147     \newif\ifjb@suppress@etal@dot
148     \newif\ifjb@ssed@after@author
149     \newif\ifjb@ssed@all
150     \newif\ifjb@ssed@commented
151     \newif\ifjb@ssed@kerning@wanted
152     \newif\ifjb@ssed@recent@kerned
153     \newif\ifjb@ssed@mult@works
154     \newif\ifjb@ssed@sw
155     \newif\ifjb@starred@cite
156     \newif\ifjb@start@page
157     \newif\ifjb@switchidemofflocally
158     \newif\ifjb@url
159     \newif\ifjbuseidemhrule
160     \newif\ifjb@vario
161     \newif\ifjbweareinbib
162     \newif\ifjbweareinhowcited
163     \newif\ifjb@yearafterauthor
164     \newif\ifjb@yearaftertitle
165     \jb@allow@adding@of@pagerangetrue
166     \jb@allow@dot@for@lookattrue
167     \jb@allow@lookat@for@fullcitetrue
168     \jb@allow@hyper@cite@nobibtrue
169     \jb@allow@hyper@citetrue
170     \jb@bib@hangtrue
171     \jb@coauthor@lasttrue
172     \jb@second@extra@spacetrue
173     \jb@third@extra@spacetrue
174     \jbnoformatafterstartpagetrue
175     % default changed for 0.5e
176     %\jb@no@nested@crossrefstrue
177     % simulate natbib to avoid problems with \cite and the french packages ***
178     \newcommand*{\NAT@citex}{}%
179     % some redefinitions for babel support
180     \def\bbl@cite@choice{%
181     \global\let\bibcite\bbl@bibcite
182     \@ifpackageloaded{jurabib}{\global\let\bibcite\org@bibcite}{}%
183     \global\let\bbl@cite@choice\relax
184     }%
185     \edef\jbselectlanguage{\noexpand\protect%
186     \expandafter\noexpand\csname jbselectlanguage \endcsname}%
187     % important whitespace!---^
188     \expandafter\def\csname jbselectlanguage \endcsname#1{%
189     % important whitespace!---^
190     \edef\languagename{\ifnum\escapechar=\expandafter`\string#1\@empty%
191     \else \string#1\@empty\fi}\select@language{\languagename}%
192     % analogous to the definition in switch.def from babel,
193     % but with this command we can avoid the lots of unwanted write's
194     % into the .aux file by deleting the \addtocontents commands.
195     }%
196     %
197     \let\jb@typeout\typeout
198     \let\jb@package@warning\PackageWarning
199     \let\jb@package@warningNoLine\PackageWarningNoLine
200     \def\jb@info#1{\PackageInfo{\jb@pkg@name}{#1}}%
201     \newcommand*{\jbsilent}{%
202     \jb@info{*** Silent Mode ON ***}%
203     \let\jb@package@warning\@gobbletwo
204     \let\jb@package@warningNoLine\@gobbletwo
205     \let\jb@typeout\@gobble%
206     }%
207     \newcommand*{\jbauthorfont}{}%
208     \newcommand*{\jborgauthorfont}{}%
209     \newcommand*{\jbcoauthorfont}{}%
210     \newcommand*{\jbtitlefont}{}%
211     \newcommand*{\jbactualauthorfont}{\textit}%
212     % to restore for bib in crossrefs
213     \newcommand*{\jbapifont}{\jbtitlefont}%
214     \newcommand*{\jbbtitlefont}{\normalfont}%
215     \newcommand*{\jbauthorfnfont}{\normalfont}%
216     \newcommand*{\jbactualauthorfnfont}{\textit}%
217     % to restore for bib in crossrefs
218     \newcommand*{\jbauthorfontifcoauthor}{\jborgauthorfont}%
219     \newcommand*{\jbignorevarioref}{\global\jb@ignore@varioreftrue}%
220     % default changed for 0.5e
221     \newcommand*{\jbdisablecitationcrossref}{\jb@no@nested@crossrefstrue}%
222     \newcommand*{\jbdotafterbibentry}{\jb@dottrue}%
223     \newcommand*{\jbdotafterendnote}{\AtBeginDocument{\def\@endanenote{\unskip.\par\endgroup}}}%
224     \newcommand*{\jbsseditionkerned}{\jb@ssed@kerning@wantedtrue}%
225     \newcommand*{\jbsuperscripteditionafterauthor}{\jb@ssed@after@authortrue}%
226     \newcommand*{\jbssedbd}{}\let\jbssedbd\@gobble
227     % SU: changed: For packages that mustn't be loaded before jurabib,
228     % the check \AtBeginDocument might be too late (no need to delay it
229     % anyway): We need to check for hyperref *before* reading \jobname.url.
230     \@ifpackageloaded{bibunits}{%
231     \ClassError{\jb@pkg@name}{Please load `bibunits' after `jurabib'}{%
232     Just put the command `\string\usepackage{bibunits}' %
233     after `\string\usepackage{jurabib}',\MessageBreak
234     otherwise these packages won't work together.}}{\relax}
235     \@ifpackageloaded{hyperref}{% NOTE: there's another check for hyperref \AtBeginDocument
236     \ClassError{\jb@pkg@name}{Please load `jurabib' before `hyperref'}{%
237     Just put the command `\string\usepackage{hyperref}' %
238     after `\string\usepackage{jurabib}',\MessageBreak
239     otherwise these packages won't work together.}}{\relax}%
240     \newcommand*{\jbyearaftertitle}{%
241     \AtBeginDocument{%
242     \global\jb@yearafterauthorfalse
243     \global\jb@yearaftertitletrue
244     }%
245     }
246     % CH 0.51w reworked
247     \newcommand*{\bibauthormultiple}{%
248     \stepcounter{multiple@author}% to suppress inside bibliographic entry
249     \ifthenelse{\boolean{jblookforgender}}{%
250     \ifthenelse{\equal{\jb@@gender}{sm}}{%
251     \bibibidfont{\bibidemSmname}%
252     }{%
253     \ifthenelse{\equal{\jb@@gender}{pm}}{%
254     \bibibidfont{\bibidemPmname}%
255     }{%
256     \ifthenelse{\equal{\jb@@gender}{sf}}{%
257     \bibibidfont{\bibidemSfname}%
258     }{%
259     \ifthenelse{\equal{\jb@@gender}{pf}}{%
260     \bibibidfont{\bibidemPfname}%
261     }{%
262     \ifthenelse{\equal{\jb@@gender}{sn}}{%
263     \bibibidfont{\bibidemSnname}%
264     }{%
265     \ifthenelse{\equal{\jb@@gender}{pn}}{%
266     \bibibidfont{\bibidemPnname}%
267     }{%
268     \ifthenelse{\equal{\jb@@gender}{}}{%
269     \jb@package@warningNoLine{\jb@pkg@name}{%
270     You are using \string\jblookforgender,\MessageBreak
271     but gender field for `\jb@key'\MessageBreak
272     is empty}%
273     \bibibidfont{\bibidemSmname}%
274     }{%
275     \jb@package@warningNoLine{\jb@pkg@name}{%
276     You are using \string\jblookforgender,\MessageBreak
277     but gender field for `\jb@key'\MessageBreak
278     is not valid}%
279     \bibibidfont{\bibidemSmname}%
280     }%
281     }%
282     }%
283     }%
284     }%
285     }%
286     }%
287     \bibansep{}%
288     }{%
289     \ifjbuseidemhrule
290     \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{8pt}%
291     \else
292     \bibibidfont{\bibidemSmname}%
293     %
294     \ifthenelse{\equal{\jb@@testlast@au@or@ed}{au}%
295     \and\equal{\jb@@test@au@or@ed}{ed}%
296     }{%
297     \space\bibEIMfont{\editorname}%
298     }{}%
299     %
300     \bibansep{}%
301     \fi
302     }%
303     }%
304     \newcommand*{\jbmultfootsep}{\textsuperscript{,\,}}%
305     \AtBeginDocument{%
306     % CHANGED 0.52j No special code for loaded footmisc, exceeded TeX capacity if `multiple' option was used.
307     \@ifpackageloaded{footmisc}{}{%
308     \let\jb@@footnote\footnote
309     \renewcommand\footnote[2][]{\def\@tempa{#1}%
310     \ifx\@tempa\@empty\jb@@footnote{#2}\else
311     \jb@@footnote[#1]{#2}\fi
312     \futurelet\@let@token\@next@footnote}%
313     \let\jb@@footnotemark\footnotemark
314     \renewcommand\footnotemark[1][]{\def\@tempa{#1}%
315     \ifx\@tempa\@empty\jb@@footnotemark\else
316     \jb@@footnotemark[2]\fi
317     \futurelet\@let@token\@next@footnote}%
318     }%
319     }%
320     \def\@next@footnote{%
321     % \typeout{lettoken: \meaning\@let@token}%
322     \ifx\@let@token\footnote
323     \jbmultfootsep%
324     \else
325     \ifx\@let@token\footnotemark
326     \jbmultfootsep%
327     \else
328     \ifx\@let@token\footcite
329     \jbmultfootsep%
330     \else
331     \ifx\@let@token\footfullcite
332     \jbmultfootsep%
333     \else
334     \ifx\@let@token\footcitetitle
335     \jbmultfootsep%
336     \else
337     \ifx\@let@token\footcitep
338     \jbmultfootsep%
339     \else
340     \ifx\@let@token\footcitet
341     \jbmultfootsep%
342     \else
343     \ifx\@let@token\footcitealp
344     \jbmultfootsep%
345     \else
346     \ifx\@let@token\footcitealt
347     \jbmultfootsep%
348     \else
349     \ifx\@let@token\footciteauthor
350     \jbmultfootsep%
351     \else
352     \ifx\@let@token\footciteyear
353     \jbmultfootsep%
354     \else
355     \ifx\@let@token\footciteyearpar
356     \jbmultfootsep%
357     \else
358     \ifx\@let@token\cite
359     \ifjb@citetoend\jbmultfootsep\fi
360     \else
361     \ifx\@let@token\fullcite
362     \jbmultfootsep%
363     \else
364     \ifx\@let@token\citetitle
365     \ifjb@citetoend\jbmultfootsep\fi
366     \else
367     \ifx\@let@token\citep
368     \ifjb@citetoend\jbmultfootsep\fi
369     \else
370     \ifx\@let@token\citet
371     \ifjb@citetoend\jbmultfootsep\fi
372     \else
373     \ifx\@let@token\citealp
374     \ifjb@citetoend\jbmultfootsep\fi
375     \else
376     \ifx\@let@token\citealt
377     \ifjb@citetoend\jbmultfootsep\fi
378     \else
379     \ifx\@let@token\citeauthor
380     \ifjb@citetoend\jbmultfootsep\fi
381     \else
382     \ifx\@let@token\citeyear
383     \ifjb@citetoend\jbmultfootsep\fi
384     \else
385     \ifx\@let@token\citeyearpar
386     \ifjb@citetoend\jbmultfootsep\fi
387     \fi
388     \fi
389     \fi
390     \fi
391     \fi
392     \fi
393     \fi
394     \fi
395     \fi
396     \fi
397     \fi
398     \fi
399     \fi
400     \fi
401     \fi
402     \fi
403     \fi
404     \fi
405     \fi
406     \fi
407     \fi
408     \fi
409     }%
410     \providecommand\textitswitch[1]{\textit{#1}}%
411     \providecommand\Wrapquotes[1]{``#1''}%
412     \newcommand*{\jbdy}{}\global\let\jbdy\@gobble % !!! dummy year for .bst label generating mechanism
413     \DeclareRobustCommand{\jbissn}[1]{\unskip,\space ISSN #1}%
414     \DeclareRobustCommand{\jbisbn}[1]{\unskip,\space ISBN #1}%
415     % CH 0.51w completely reworked editor macros
416     \DeclareRobustCommand{\fsted}[1]{%
417     \ifjbaltformat
418     \ifjbweareinbib\else
419     \space\bibEIMfont{#1}%
420     \fi
421     \else
422     \space\bibEIMfont{#1}%
423     \fi
424     }%
425     % 0.51x changed
426     \DeclareRobustCommand{\snded}[1]{%
427     \ifjbaltformat
428     \ifjbweareinbib
429     \begingroup
430     \def\bibfnfont{\textnormal}%
431     #1\bibansep%
432     \endgroup
433     \else\fi
434     \else\fi
435     }%
436     \DeclareRobustCommand{\bibedformat}[1]{%% exists only in jhuman.bst = \fsted!
437     \ifjbaltformat
438     \ifjbweareinbib\else
439     \space\edfont{#1}%
440     \fi
441     \else
442     \space\edfont{#1}%
443     \fi
444     }%
445     \DeclareRobustCommand{\bibedinformat}[1]{\unskip\unskip\space\edfont{#1}}%
446     % 0.51v space added
447     \newcommand*{\addtoalllanguages}{}%
448     \newcommand*{\bibsall}{\addto\addtoalllanguages}%
449     \AtBeginDocument{\ifjbaltformat\else\let\snded\@gobble\fi}
450     \newcommand*{\jbedseplikecite}{%
451     \ifjb@before@title@separator
452     \AtBeginDocument{%
453     \renewcommand\bibaesep{%
454     \ifjb@reverse@all@names
455     \bibefnfont{\jbhowsepbeforetitle}%
456     \else
457     \bibelnfont{\jbhowsepbeforetitle}%
458     \fi
459     \space%
460     }%
461     }%
462     \fi
463     }%
464     % (btasep= between two author sep) for only two authors
465     \DeclareRobustCommand{\jbbtasep}{{\normalfont\slash}}
466     % (bfsasep= between first and second author sep)
467     \DeclareRobustCommand{\jbbfsasep}{{\normalfont\slash}}
468     % (bstasep= between second and third author sep)
469     \DeclareRobustCommand{\jbbstasep}{{\normalfont\slash}}
470     % same for ed's ...
471     % (btasep= between two editor sep) for only two editors
472     \DeclareRobustCommand{\jbbtesep}{{\normalfont\slash}}
473     % (bfsasep= between first and second editor sep)
474     \DeclareRobustCommand{\jbbfsesep}{{\normalfont\slash}}
475     % (bstasep= between second and third editor sep)
476     \DeclareRobustCommand{\jbbstesep}{{\normalfont\slash}}
477     \DeclareRobustCommand{\jbatsep}{,}
478     % NEW 0.5e after editionname sep
479     \DeclareRobustCommand{\jbaensep}{.}
480     % markup for the .bst extra.label
481     \DeclareRobustCommand\el[1]{#1}%
482     \DeclareRobustCommand\bibel[1]{}%
483     \newcommand*{\jbshowbibextralabel}{\renewcommand\bibel[1]{##1}}%
484     \newcommand*{\jblookforgender}{%
485     \AtBeginDocument{%
486     \ifthenelse{%
487     \equal{\bbl@main@language}{german}%
488     \or
489     \equal{\bbl@main@language}{ngerman}%
490     }{%
491     \global\jblookforgendertrue
492     }{%
493     \jb@package@warningNoLine{\jb@pkg@name}{%
494     You are not using German as main language.\MessageBreak
495     Gender fields are only implemented for German\MessageBreak
496     at the moment. Please contact jb@jurabib.org}%
497     \global\jblookforgenderfalse
498     }%
499     % REMOVED 0.52a
500     % \global\jblookforgenderfalse
501     }%
502     }%
503     \newcommand*{\jbuseidemhrule}{%
504     \global\jbuseidemhruletrue
505     \global\jblookforgenderfalse
506     }%
507     \newcommand*{\jbrealcitation}[2]{\@gobble}
508     \newcommand*{\jbcitationyearformat}[1]{(#1)}
509     % NEW 0.5f separate command for bibliography year
510     \newcommand*{\jbbibyearformat}[1]{(#1)}
511     \newcommand*{\jbindexbib}{\jb@index@bibtrue}
512     \newcommand*{\jb@reset@look@label@for}{}%
513     \newcommand*{\jb@reset@opcit@label@for}{}%
514     \newcommand*{\jb@authorlist}{}%
515     \newcommand*{\jb@savelist}{}%
516     \newcommand*{\jb@append@to}[2]{%
517     \let\jb@savelist=#1%
518     \ifx\jb@savelist\@empty
519     \protected@xdef#1{#2}%
520     \else
521     \protected@xdef#1{\jb@savelist; #2}%
522     \fi
523     }%
524     \newcommand*{\jb@fornoop}{}\newcommand*{\@jb@for}{}
525     \newcommand*{\jb@forloop}{}\newcommand*{\jb@if@forloop}{}
526     \def\jb@fornoop#1\@@#2#3{}
527     \long\def\jb@for#1:=#2\do#3{%
528     \expandafter\def\expandafter\jb@fortmp\expandafter{#2}%
529     \ifx\jb@fortmp\@empty \else\expandafter\jb@forloop#2; %
530     \@nil; \@nil\@@#1{#3}\fi}
531     \long\def\jb@forloop#1; #2; #3\@@#4#5{%
532     \def#4{#1}\ifx #4\@nnil \else
533     #5\def#4{#2}\ifx #4\@nnil \else#5\jb@if@forloop #3\@@#4{#5}\fi\fi}
534     \long\def\jb@if@forloop#1; #2\@@#3#4{%
535     \def#3{#1}\ifx #3\@nnil\expandafter\jb@fornoop \else
536     #4\relax\expandafter\jb@if@forloop\fi#2\@@#3{#4}}
537     % NEW 0.5e, better code for indexing, once again contributed by Stefan Ulrich
538     \newcommand*{\jbindextype}{}
539     \newcommand*{\jb@do@index}[1]{%
540     \@ifundefined{@indexfile}{}{%
541     \@bsphack\begingroup\def~{\string~}\@wrindex{#1}%
542     }%
543     }
544     \newcommand*{\jb@do@index@alt}[1]{%
545     \mbox{}\index[\jbindextype]{#1}%
546     }
547     \newcommand*{\jb@index@as@alias}[1]{%
548     \ifjb@index
549     \@ifundefined{Idx@alias#1}{}{%
550     \protected@edef\@tempb{\csname Idx@alias#1\endcsname}%
551     \jb@for\@tempa:=\@tempb\do{%
552     \protected@edef\@tempc{\jb@index@markup{\@tempa}}%<= contributed by Stefan Ulrich
553     \expandafter\jb@do@index\expandafter{\@tempc}}%
554     }%
555     \fi
556     }%
557     \newcommand{\jbmakeindexactual}{@}%
558     \newcommand{\jbauthorindexfont}{}%
559     \newcommand{\jb@index@markup}[1]{#1\jbmakeindexactual\jbauthorindexfont{#1}}%
560     \newcommand*{\jb@define@alias}[2]{%
561     % \@ifundefined{@indexfile}{}{%
562     \ifthenelse{\equal{#2}{}}{%
563     \jb@package@warning{\jb@pkg@name}{%
564     key `#1' has no author list\MessageBreak(not indexing it)}%
565     \global\@namedef{Idx@alias#1}{}%
566     }{%
567     \@ifundefined{Idx@alias#1}{%
568     \global\@namedef{Idx@alias#1}{#2}%
569     }{\relax}%
570     }%
571     % }%
572     }%
573     \AtEndDocument{\ifjb@index\let\jb@define@alias\@gobbletwo\fi}%
574     % to issue warning about non-indexed keys only once
575     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
576     \newcommand*{\jb@inside@author}{}
577     \newcommand*{\jb@inside@editor}{}
578     % NEW 0.5f ibidem for multiple authors
579     \newcounter{ibidem@author}
580     \newcounter{multiple@author}% counter will be set by \bibauthormultiple
581     \newcommand*{\jb@last@ibidem@author}{}
582     % NEW 0.5f we have to define this command, otherwise we are getting error messages inside \bib*nf macros while testing if we are on same page
583     \def\jb@tempcntc{}%
584     \newcommand*{\jb@bib@gender@checked}{%
585     \ifthenelse{\equal{\jb@@gender}{sm}}{%
586     \ifthenelse{\boolean{jb@edby}}{%
587     \@ifundefined{jb@morethanonecite}{\idemSmedbyname}{\idemsmedbyname}%
588     }{%
589     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSmname\else\bibidemSmname\fi}{\idemsmname}%
590     }%
591     }{%
592     \ifthenelse{\equal{\jb@@gender}{pm}}{%
593     \ifthenelse{\boolean{jb@edby}}{%
594     \@ifundefined{jb@morethanonecite}{\idemPmedbyname}{\idempmedbyname}%
595     }{%
596     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPmname\else\bibidemPmname\fi}{\idempmname}%
597     }%
598     }{%
599     \ifthenelse{\equal{\jb@@gender}{sf}}{%
600     \ifthenelse{\boolean{jb@edby}}{%
601     \@ifundefined{jb@morethanonecite}{\idemSfedbyname}{\idemsfedbyname}%
602     }{%
603     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSfname\else\bibidemSfname\fi}{\idemsfname}%
604     }%
605     }{%
606     \ifthenelse{\equal{\jb@@gender}{pf}}{%
607     \ifthenelse{\boolean{jb@edby}}{%
608     \@ifundefined{jb@morethanonecite}{\idemPfedbyname}{\idempfedbyname}%
609     }{%
610     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPfname\else\bibidemPfname\fi}{\idempfname}%
611     }%
612     }{%
613     \ifthenelse{\equal{\jb@@gender}{sn}}{%
614     \ifthenelse{\boolean{jb@edby}}{%
615     \@ifundefined{jb@morethanonecite}{\idemSnedbyname}{\idemsnedbyname}%
616     }{%
617     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSnname\else\bibidemSnname\fi}{\idemsnname}%
618     }%
619     }{%
620     \ifthenelse{\equal{\jb@@gender}{pn}}{%
621     \ifthenelse{\boolean{jb@edby}}{%
622     \@ifundefined{jb@morethanonecite}{\idemPnedbyname}{\idempnedbyname}%
623     }{%
624     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPnname\else\bibidemPnname\fi}{\idempnname}%
625     }%
626     }{%
627     \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSmname\else\bibidemSmname\fi}{\idemsmname}%
628     }%
629     }%
630     }%
631     }%
632     }%
633     }%
634     }
635     % completely redefined for v0.5 (jurabib.bst replaces jurplain.bst and jurabbrv.bst)
636     %
637     \newcommand\jbCheckedFirst{\ifjb@abbrv\jbFirstAbbrv\else\jbFirst\fi}
638     %
639     %% Reved=reversed, NotReved=not reversed, First=First author, NotFirst=Not the first author
640     %% NoVon=No von Part given, NoJr=No junior part given
641     %% Von=von Part given, Jr=junior part given
642     %% Ind=for indexing macros
643     \newcommand\jbRevedFirstOnlyLast{\biblnfmt{\jbLast}}%
644     \newcommand\jbRevedFirstNoVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst}}%
645     \newcommand\jbRevedFirstNoVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst}}%
646     \newcommand\jbRevedFirstVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}%
647     \newcommand\jbRevedFirstVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}%
648     %
649     \newcommand\jbRevedNotFirstOnlyLast{\biblnfmt{\jbLast}}%
650     \newcommand\jbRevedNotFirstNoVonNoJr{\bibfnfmt{\jbCheckedFirst\space}\biblnfmt{\jbLast}}%
651     \newcommand\jbRevedNotFirstNoVonJr{\bibfnfmt{\jbCheckedFirst\space}\biblnfmt{\jbLast, \jbJunior}}%
652     \newcommand\jbRevedNotFirstVonNoJr{\bibfnfmt{\jbCheckedFirst\space\jbVon~}\biblnfmt{\jbLast}}%
653     \newcommand\jbRevedNotFirstVonJr{\bibfnfmt{\jbCheckedFirst\space\jbVon~}\biblnfmt{\jbLast, \jbJunior}}%
654     %
655     \newcommand\jbNotRevedOnlyLast{\biblnfmt{\jbLast}}%
656     \newcommand\jbNotRevedNoVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst}}%
657     \newcommand\jbNotRevedNoVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst}}%
658     \newcommand\jbNotRevedVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}%
659     \newcommand\jbNotRevedVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}%
660     %
661     \newcommand\jbIndOnlyLast{\jb@append@to\jb@authorlist{\jbLast}}%
662     \newcommand\jbnfIndOnlyLast{\jbIndOnlyLast}%
663     \newcommand\jbrnfIndOnlyLast{\jbIndOnlyLast}%
664     \newcommand\jbenfIndOnlyLast{\jbIndOnlyLast}%
665     \newcommand\jbrenfIndOnlyLast{\jbIndOnlyLast}%
666     \newcommand\jbIndNoVonNoJr{\jb@append@to\jb@authorlist{\jbLast, \jbCheckedFirst}}%
667     \newcommand\jbnfIndNoVonNoJr{\jbIndNoVonNoJr}%
668     \newcommand\jbrnfIndNoVonNoJr{\jbIndNoVonNoJr}%
669     \newcommand\jbenfIndNoVonNoJr{\jbIndNoVonNoJr}%
670     \newcommand\jbrenfIndNoVonNoJr{\jbIndNoVonNoJr}%
671     \newcommand\jbIndNoVonJr{\jb@append@to\jb@authorlist{\jbLast, \jbJunior, \jbCheckedFirst}}%
672     \newcommand\jbnfIndNoVonJr{\jbIndNoVonJr}%
673     \newcommand\jbrnfIndNoVonJr{\jbIndNoVonJr}%
674     \newcommand\jbenfIndNoVonJr{\jbIndNoVonJr}%
675     \newcommand\jbrenfIndNoVonJr{\jbIndNoVonJr}%
676     \newcommand\jbIndVonNoJr{\jb@append@to\jb@authorlist{\jbLast, \jbCheckedFirst\space\jbVon}}%
677     \newcommand\jbnfIndVonNoJr{\jbIndVonNoJr}%
678     \newcommand\jbrnfIndVonNoJr{\jbIndVonNoJr}%
679     \newcommand\jbenfIndVonNoJr{\jbIndVonNoJr}%
680     \newcommand\jbrenfIndVonNoJr{\jbIndVonNoJr}%
681     \newcommand\jbIndVonJr{\jb@append@to\jb@authorlist{\jbLast, \jbJunior, \jbCheckedFirst\space\jbVon}}%
682     \newcommand\jbnfIndVonJr{\jbIndVonJr}%
683     \newcommand\jbrnfIndVonJr{\jbIndVonJr}%
684     \newcommand\jbenfIndVonJr{\jbIndVonJr}%
685     \newcommand\jbrenfIndVonJr{\jbIndVonJr}%
686     %
687     %% #1 = last #2 = first #3 = f. #4 = von #5 = jr.
688     \DeclareRobustCommand{\bibnf}[5]{%
689     \def\biblnfmt{\biblnfont}%
690     \def\bibfnfmt{\bibfnfont}%
691     \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f
692     \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}%
693     \ifthenelse{\equal{#2}{\@empty}}{%
694     % \jb@append@to\jb@authorlist{#1}%
695     \jbIndOnlyLast%
696     }{%
697     \ifthenelse{\equal{#4}{\@empty}}{%
698     % `von' empty
699     \ifthenelse{\equal{#5}{\@empty}}{%
700     % `jr.' empty
701     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi}%
702     \jbnfIndNoVonNoJr%
703     }{%
704     % `von' empty, `jr.' not empty
705     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi}%
706     \jbnfIndNoVonJr%
707     }%
708     }{%
709     % `von' not empty
710     \ifthenelse{\equal{#5}{\@empty}}{%
711     % `von' not empty, `jr.' empty
712     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi\space#4}%
713     \jbnfIndVonNoJr%
714     }{%
715     % `von' not empty, `jr.' not empty
716     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}%
717     \jbnfIndVonJr%
718     }%
719     }%
720     }%
721     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
722     % temporarily removed \def\jb@inside@editor{#1#2#3#4#5}%
723     % temporarily removed \ifthenelse{%
724     % temporarily removed \equal{\jb@inside@author}{\jb@inside@editor}%
725     % temporarily removed \and
726     % temporarily removed \boolean{jb@idem}%
727     % temporarily removed \and
728     % temporarily removed \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
729     % temporarily removed \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
730     % temporarily removed \and\boolean{jbweareinbib}%
731     % temporarily removed }{%
732     % temporarily removed% NEW 0.5f we make a difference between english and other language output of idem,
733     % temporarily removed% for oxford should appear an uppercase Idem after "in:", suggested by Maarten Wisse
734     % temporarily removed \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{%
735     % temporarily removed% NEW 0.51x new switch \jbuseidemhrule
736     % temporarily removed \ifjbuseidemhrule
737     % temporarily removed \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
738     % temporarily removed \else
739     % temporarily removed \edfont{\idemname}%
740     % temporarily removed \fi
741     % temporarily removed }{%
742     % temporarily removed% NEW 0.51d gender + case check for bibliography idem
743     % temporarily removed% NEW 0.51x new switch \jbuseidemhrule
744     % temporarily removed \ifjbuseidemhrule
745     % temporarily removed \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
746     % temporarily removed \else
747     % temporarily removed \edfont{\jb@bib@gender@checked}%
748     % temporarily removed \fi
749     % temporarily removed }%
750     % temporarily removed% we are switching off et~al. output
751     % temporarily removed \jb@bibetalfalse
752     % temporarily removed }{%
753     \ifthenelse{\boolean{jb@bibformat@ibidem}%
754     \and\not
755     \boolean{jbcross}%
756     \and
757     \theibidem@author=1%
758     \and
759     \themultiple@author<1%
760     \and
761     \equal{\jb@ibidem@author}{\jb@last@ibidem@author}%
762     \and
763     \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
764     \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
765     }{%
766     \bibauthormultiple%
767     }{%
768     \ifjb@first@author@reversed
769     \@ifundefined{jb@first@author}{%
770     \@namedef{jb@first@author}{}%
771     \ifthenelse{\equal{#2}{\@empty}}{%
772     % \biblnfont{#1}%
773     \jbRevedFirstOnlyLast
774     }{%
775     \ifthenelse{\equal{#4}{\@empty}}{%
776     % `von' empty
777     \ifthenelse{\equal{#5}{\@empty}}{%
778     % `jr.' empty
779     % \biblnfont{#1, }\bibfnfont{\ifjb@abbrv#3\else#2\fi}%
780     \jbRevedFirstNoVonNoJr%
781     }{%
782     % `von' empty, `jr.' not empty
783     % \biblnfont{#1, #5, }\bibfnfont{\ifjb@abbrv#3\else#2\fi}%
784     \jbRevedFirstNoVonJr%
785     }%
786     }{%
787     % `von' not empty
788     \ifthenelse{\equal{#5}{\@empty}}{%
789     % `von' not empty, `jr.' empty
790     % \biblnfont{#1, }\bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
791     \jbRevedFirstVonNoJr%
792     }{%
793     % `von' not empty, `jr.' not empty
794     % \biblnfont{#1, #5, }\bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
795     \jbRevedFirstVonJr%
796     }%
797     }%
798     }%
799     }{% not first author!
800     \ifthenelse{\equal{#2}{\@empty}}{%
801     % \biblnfont{#1}%
802     \jbRevedNotFirstOnlyLast%
803     }{%
804     \ifthenelse{\equal{#4}{\@empty}}{%
805     % `von' empty
806     \ifthenelse{\equal{#5}{\@empty}}{%
807     % `jr.' empty
808     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space}\biblnfont{#1}%
809     \jbRevedNotFirstNoVonNoJr%
810     }{%
811     % `von' empty, `jr.' not empty
812     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space}\biblnfont{#1, #5}%
813     \jbRevedNotFirstNoVonJr%
814     }%
815     }{%
816     % `von' not empty
817     \ifthenelse{\equal{#5}{\@empty}}{%
818     % `von' not empty, `jr.' empty
819     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\biblnfont{#1}%
820     \jbRevedNotFirstVonNoJr%
821     }{%
822     % `von' not empty, `jr.' not empty
823     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\biblnfont{#1, #5}%
824     \jbRevedNotFirstVonJr%
825     }%
826     }%
827     }%
828     }%
829     \else
830     \ifthenelse{\equal{#2}{\@empty}}{%
831     % \biblnfont{#1}%
832     \jbNotRevedOnlyLast
833     }{%
834     \ifthenelse{\equal{#4}{\@empty}}{%
835     % `von' empty
836     \ifthenelse{\equal{#5}{\@empty}}{%
837     % `jr.' empty
838     % \biblnfont{#1, }\bibfnfont{\ifjb@abbrv#3\else#2\fi}%
839     \jbNotRevedNoVonNoJr%
840     }{%
841     % `von' empty, `jr.' not empty
842     % \biblnfont{#1, #5, }\bibfnfont{\ifjb@abbrv#3\else#2\fi}%
843     \jbNotRevedNoVonJr%
844     }%
845     }{%
846     % `von' not empty
847     \ifthenelse{\equal{#5}{\@empty}}{%
848     % `von' not empty, `jr.' empty
849     % \biblnfont{#1, }\bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
850     \jbNotRevedVonNoJr%
851     }{%
852     % `von' not empty, `jr.' not empty
853     % \biblnfont{#1, #5, }\bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
854     \jbNotRevedVonJr%
855     }%
856     }%
857     }%
858     \fi
859     }%
860     % temporarily removed }%
861     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
862     % here we save all five args to identify author=editor
863     \gdef\jb@inside@author{#1#2#3#4#5}%
864     % temporarily removed \gdef\jb@inside@editor{#1#2#3#4#5}%
865     \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi
866     }%
867     \DeclareRobustCommand{\bibrnf}[5]{%
868     \def\biblnfmt{\biblnfont}%
869     \def\bibfnfmt{\bibfnfont}%
870     \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f
871     \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}%
872     \ifthenelse{\equal{#2}{\@empty}}{%
873     % \jb@append@to\jb@authorlist{#1}%
874     \jbIndOnlyLast%
875     }{%
876     \ifthenelse{\equal{#4}{\@empty}}{%
877     % `von' empty
878     \ifthenelse{\equal{#5}{\@empty}}{%
879     % `jr.' empty
880     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi}%
881     \jbrnfIndNoVonNoJr%
882     }{%
883     % `von' empty, `jr.' not empty
884     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi}%
885     \jbrnfIndNoVonJr%
886     }%
887     }{%
888     % `von' not empty
889     \ifthenelse{\equal{#5}{\@empty}}{%
890     % `von' not empty, `jr.' empty
891     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi\space#4}%
892     \jbrnfIndVonNoJr%
893     }{%
894     % `von' not empty, `jr.' not empty
895     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}%
896     \jbrnfIndVonJr%
897     }%
898     }%
899     }%
900     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
901     % temporarily removed \def\jb@inside@editor{#1#2#3#4#5}%
902     % temporarily removed \ifthenelse{%
903     % temporarily removed \equal{\jb@inside@author}{\jb@inside@editor}%
904     % temporarily removed \and
905     % temporarily removed \boolean{jb@idem}%
906     % temporarily removed \and
907     % temporarily removed \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
908     % temporarily removed \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
909     % temporarily removed \and\boolean{jbweareinbib}%
910     % temporarily removed }{%
911     % temporarily removed% NEW 0.5f we make a difference between english and other language output of idem,
912     % temporarily removed% for oxford should appear an uppercase Idem after "in:", suggested by Maarten Wisse
913     % temporarily removed \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{%
914     % temporarily removed% NEW 0.51x new switch \jbuseidemhrule
915     % temporarily removed \ifjbuseidemhrule
916     % temporarily removed \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
917     % temporarily removed \else
918     % temporarily removed \edfont{\idemname}%
919     % temporarily removed \fi
920     % temporarily removed }{%
921     % temporarily removed% NEW 0.51d gender + case check for bibliography idem
922     % temporarily removed% NEW 0.51x new switch \jbuseidemhrule
923     % temporarily removed \ifjbuseidemhrule
924     % temporarily removed \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
925     % temporarily removed \else
926     % temporarily removed \edfont{\jb@bib@gender@checked}%
927     % temporarily removed \fi
928     % temporarily removed }%
929     % temporarily removed% we are switching off et~al. output
930     % temporarily removed \jb@bibetalfalse
931     % temporarily removed }{%
932     \ifthenelse{\boolean{jb@bibformat@ibidem}%
933     \and\not
934     \boolean{jbcross}%
935     \and
936     \theibidem@author=1%
937     \and
938     \themultiple@author<1%
939     \and
940     \equal{\jb@ibidem@author}{\jb@last@ibidem@author}%
941     \and
942     \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
943     \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
944     }{%
945     \bibauthormultiple%
946     }{%
947     \ifthenelse{\equal{#2}{\@empty}}{%
948     % \biblnfont{#1}%
949     \jbRevedNotFirstOnlyLast%
950     }{%
951     \ifthenelse{\equal{#4}{\@empty}}{%
952     % `von' empty
953     \ifthenelse{\equal{#5}{\@empty}}{%
954     % `jr.' empty
955     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space}\biblnfont{#1}%
956     \jbRevedNotFirstNoVonNoJr%
957     }{%
958     % `von' empty, `jr.' not empty
959     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space}\biblnfont{#1, #5}%
960     \jbRevedNotFirstNoVonJr%
961     }%
962     }{%
963     % `von' not empty
964     \ifthenelse{\equal{#5}{\@empty}}{%
965     % `von' not empty, `jr.' empty
966     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\biblnfont{#1}%
967     \jbRevedNotFirstVonNoJr%
968     }{%
969     % `von' not empty, `jr.' not empty
970     % \bibfnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\biblnfont{#1, #5}%
971     \jbRevedNotFirstVonJr%
972     }%
973     }%
974     }%
975     }%
976     % temporarily removed }%
977     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
978     % here we save all five args to identify author=editor
979     \gdef\jb@inside@author{#1#2#3#4#5}%
980     % temporarily removed \gdef\jb@inside@editor{#1#2#3#4#5}%
981     \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi
982     }%
983     \DeclareRobustCommand{\bibenf}[5]{%
984     \def\biblnfmt{\bibelnfont}%
985     \def\bibfnfmt{\bibefnfont}%
986     \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f
987     \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}%
988     \ifthenelse{\equal{#2}{\@empty}}{%
989     % \jb@append@to\jb@authorlist{#1}%
990     \jbIndOnlyLast%
991     }{%
992     \ifthenelse{\equal{#4}{\@empty}}{%
993     % `von' empty
994     \ifthenelse{\equal{#5}{\@empty}}{%
995     % `jr.' empty
996     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi}%
997     \jbenfIndNoVonNoJr%
998     }{%
999     % `von' empty, `jr.' not empty
1000     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi}%
1001     \jbenfIndNoVonJr%
1002     }%
1003     }{%
1004     % `von' not empty
1005     \ifthenelse{\equal{#5}{\@empty}}{%
1006     % `von' not empty, `jr.' empty
1007     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi\space#4}%
1008     \jbenfIndVonNoJr%
1009     }{%
1010     % `von' not empty, `jr.' not empty
1011     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}%
1012     \jbenfIndVonJr%
1013     }%
1014     }%
1015     }%
1016     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
1017     \def\jb@inside@editor{#1#2#3#4#5}%
1018     \ifthenelse{%
1019     \equal{\jb@inside@author}{\jb@inside@editor}%
1020     \and
1021     \boolean{jb@idem}%
1022     % temporarily removed \and
1023     % temporarily removed \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
1024     % temporarily removed \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
1025     % \and\boolean{jbweareinbib}% NO !!!!!!!!!!!!
1026     }{%
1027     % NEW 0.5f we make a difference between english and other language output of idem,
1028     % for oxford should appear an uppercase Idem after "in:", suggested by Maarten Wisse
1029     \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{%
1030     % NEW 0.51x new switch \jbuseidemhrule
1031     \ifjbuseidemhrule
1032     \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
1033     \else
1034     \edfont{\idemname}%
1035     \fi
1036     }{%
1037     % NEW 0.51d gender + case check for bibliography idem
1038     % NEW 0.51x new switch \jbuseidemhrule
1039     \ifjbuseidemhrule
1040     \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
1041     \else
1042     \edfont{\jb@bib@gender@checked}%
1043     \fi
1044     }%
1045     % we are switching off et~al. output
1046     \jb@bibetalfalse
1047     }{%
1048     \ifthenelse{\boolean{jb@bibformat@ibidem}%
1049     \and\not
1050     \boolean{jbcross}%
1051     \and
1052     \theibidem@author=1%
1053     \and
1054     \themultiple@author<1%
1055     \and
1056     \equal{\jb@ibidem@author}{\jb@last@ibidem@author}%
1057     \and
1058     \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
1059     \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
1060     }{%
1061     \bibauthormultiple%
1062     }{%
1063     \ifjb@first@author@reversed
1064     \@ifundefined{jb@first@editor}{%
1065     \@namedef{jb@first@editor}{}%
1066     \ifthenelse{\equal{#2}{\@empty}}{%
1067     % \bibelnfont{#1}%
1068     \jbRevedFirstOnlyLast%
1069     }{%
1070     \ifthenelse{\equal{#4}{\@empty}}{%
1071     % `von' empty
1072     \ifthenelse{\equal{#5}{\@empty}}{%
1073     % `jr.' empty
1074     % \bibelnfont{#1, }\bibefnfont{\ifjb@abbrv#3\else#2\fi}%
1075     \jbRevedFirstNoVonNoJr%
1076     }{%
1077     % `von' empty, `jr.' not empty
1078     % \bibelnfont{#1, #5, }\bibefnfont{\ifjb@abbrv#3\else#2\fi}%
1079     \jbRevedFirstNoVonJr%
1080     }%
1081     }{%
1082     % `von' not empty
1083     \ifthenelse{\equal{#5}{\@empty}}{%
1084     % `von' not empty, `jr.' empty
1085     % \bibelnfont{#1, }\bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
1086     \jbRevedFirstVonNoJr%
1087     }{%
1088     % `von' not empty, `jr.' not empty
1089     % \bibelnfont{#1, #5, }\bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
1090     \jbRevedFirstVonJr%
1091     }%
1092     }%
1093     }%
1094     }{% not first author!
1095     \ifthenelse{\equal{#2}{\@empty}}{%
1096     % \bibelnfont{#1}%
1097     \jbRevedNotFirstOnlyLast%
1098     }{%
1099     \ifthenelse{\equal{#4}{\@empty}}{%
1100     % `von' empty
1101     \ifthenelse{\equal{#5}{\@empty}}{%
1102     % `jr.' empty
1103     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space}\bibelnfont{#1}%
1104     \jbRevedNotFirstNoVonNoJr%
1105     }{%
1106     % `von' empty, `jr.' not empty
1107     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space}\bibelnfont{#1, #5}%
1108     \jbRevedNotFirstNoVonJr%
1109     }%
1110     }{%
1111     % `von' not empty
1112     \ifthenelse{\equal{#5}{\@empty}}{%
1113     % `von' not empty, `jr.' empty
1114     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\bibelnfont{#1}%
1115     \jbRevedNotFirstVonNoJr%
1116     }{%
1117     % `von' not empty, `jr.' not empty
1118     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\bibelnfont{#1, #5}%
1119     \jbRevedNotFirstVonJr%
1120     }%
1121     }%
1122     }%
1123     }%
1124     \else
1125     \ifthenelse{\equal{#2}{\@empty}}{%
1126     % \bibelnfont{#1}%
1127     \jbNotRevedOnlyLast%
1128     }{%
1129     \ifthenelse{\equal{#4}{\@empty}}{%
1130     % `von' empty
1131     \ifthenelse{\equal{#5}{\@empty}}{%
1132     % `jr.' empty
1133     % \bibelnfont{#1, }\bibefnfont{\ifjb@abbrv#3\else#2\fi}%
1134     \jbNotRevedNoVonNoJr%
1135     }{%
1136     % `von' empty, `jr.' not empty
1137     % \bibelnfont{#1, #5, }\bibefnfont{\ifjb@abbrv#3\else#2\fi}%
1138     \jbNotRevedNoVonJr%
1139     }%
1140     }{%
1141     % `von' not empty
1142     \ifthenelse{\equal{#5}{\@empty}}{%
1143     % `von' not empty, `jr.' empty
1144     % \bibelnfont{#1, }\bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
1145     \jbNotRevedVonNoJr%
1146     }{%
1147     % `von' not empty, `jr.' not empty
1148     % \bibelnfont{#1, #5, }\bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4}%
1149     \jbNotRevedVonJr%
1150     }%
1151     }%
1152     }%
1153     \fi
1154     }%
1155     }%
1156     % NEW 0.5f make \jb@inside@author empty, otherwise for more than
1157     % one and different editors we will get:
1158     % `author: [...] editor1, editor2 and idem, editors:'
1159     % ^^^^!
1160     % \def\jb@inside@author{}%
1161     \gdef\jb@inside@author{#1#2#3#4#5}%
1162     \gdef\jb@inside@editor{#1#2#3#4#5}%
1163     \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi
1164     }%
1165     \DeclareRobustCommand{\bibrenf}[5]{%
1166     \def\biblnfmt{\bibelnfont}%
1167     \def\bibfnfmt{\bibefnfont}%
1168     \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f
1169     \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}%
1170     \ifthenelse{\equal{#2}{\@empty}}{%
1171     % \jb@append@to\jb@authorlist{#1}%
1172     \jbIndOnlyLast%
1173     }{%
1174     \ifthenelse{\equal{#4}{\@empty}}{%
1175     % `von' empty
1176     \ifthenelse{\equal{#5}{\@empty}}{%
1177     % `jr.' empty
1178     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi}%
1179     \jbrenfIndNoVonNoJr%
1180     }{%
1181     % `von' empty, `jr.' not empty
1182     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi}%
1183     \jbrenfIndNoVonJr%
1184     }%
1185     }{%
1186     % `von' not empty
1187     \ifthenelse{\equal{#5}{\@empty}}{%
1188     % `von' not empty, `jr.' empty
1189     % \jb@append@to\jb@authorlist{#1, \ifjb@abbrv#3\else#2\fi\space#4}%
1190     \jbrenfIndVonNoJr%
1191     }{%
1192     % `von' not empty, `jr.' not empty
1193     % \jb@append@to\jb@authorlist{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}%
1194     \jbrenfIndVonJr%
1195     }%
1196     }%
1197     }%
1198     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
1199     \def\jb@inside@editor{#1#2#3#4#5}%
1200     \ifthenelse{%
1201     \equal{\jb@inside@author}{\jb@inside@editor}%
1202     \and
1203     \boolean{jb@idem}%
1204     % temporarily removed \and
1205     % temporarily removed \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
1206     % temporarily removed \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
1207     % \and\boolean{jbweareinbib}% NO !!!!!!!!!!!!
1208     }{%
1209     % NEW 0.5f we make a difference between english and other language output of idem,
1210     % for oxford should appear an uppercase Idem after "in:", suggested by Maarten Wisse
1211     \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{%
1212     % NEW 0.51x new switch \jbuseidemhrule
1213     \ifjbuseidemhrule
1214     \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
1215     \else
1216     \edfont{\idemname}%
1217     \fi
1218     }{%
1219     % NEW 0.51d gender + case check for bibliography idem
1220     % NEW 0.51x new switch \jbuseidemhrule
1221     \ifjbuseidemhrule
1222     \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}%
1223     \else
1224     \edfont{\jb@bib@gender@checked}%
1225     \fi
1226     }%
1227     % we are switching off et~al. output
1228     \jb@bibetalfalse
1229     }{%
1230     \ifthenelse{\boolean{jb@bibformat@ibidem}%
1231     \and\not
1232     \boolean{jbcross}%
1233     \and
1234     \theibidem@author=1%
1235     \and
1236     \themultiple@author<1%
1237     \and
1238     \equal{\jb@ibidem@author}{\jb@last@ibidem@author}%
1239     \and
1240     \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
1241     \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
1242     }{%
1243     \bibauthormultiple%
1244     }{%
1245     \ifthenelse{\equal{#2}{\@empty}}{%
1246     % \bibelnfont{#1}%
1247     \jbRevedNotFirstOnlyLast
1248     }{%
1249     \ifthenelse{\equal{#4}{\@empty}}{%
1250     % `von' empty
1251     \ifthenelse{\equal{#5}{\@empty}}{%
1252     % `jr.' empty
1253     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space}\bibelnfont{#1}%
1254     \jbRevedNotFirstNoVonNoJr%
1255     }{%
1256     % `von' empty, `jr.' not empty
1257     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space}\bibelnfont{#1, #5}%
1258     \jbRevedNotFirstNoVonJr%
1259     }%
1260     }{%
1261     % `von' not empty
1262     \ifthenelse{\equal{#5}{\@empty}}{%
1263     % `von' not empty, `jr.' empty
1264     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\bibelnfont{#1}%
1265     \jbRevedNotFirstVonNoJr%
1266     }{%
1267     % `von' not empty, `jr.' not empty
1268     % \bibefnfont{\ifjb@abbrv#3\else#2\fi\space#4~}\bibelnfont{#1, #5}%
1269     \jbRevedNotFirstVonJr%
1270     }%
1271     }%
1272     }%
1273     }%
1274     }%
1275     % NEW 0.5f make \jb@inside@author empty, otherwise for more than
1276     % one and different editors we will get:
1277     % `author: [...] editor1, editor2 and idem, editors:'
1278     % ^^^^!
1279     % \def\jb@inside@author{}%
1280     \gdef\jb@inside@author{#1#2#3#4#5}%
1281     \gdef\jb@inside@editor{#1#2#3#4#5}%
1282     \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi
1283     }%
1284     % NEW 0.5f
1285     % lenf = lonely editor name format: font for editor(s), if no author is given.
1286     % rlenf = reversed lonely editor name format: font for editor(s), if no author is given.
1287     \DeclareRobustCommand{\biblenf}[5]{\bibenf{#1}{#2}{#3}{#4}{#5}}
1288     \DeclareRobustCommand{\bibrlenf}[5]{\bibrenf{#1}{#2}{#3}{#4}{#5}}
1289     \newcommand*{\jblinebreak}{\linebreak[4]}%
1290     \newcommand*{\jb@check@language@start}{%
1291     \ifjb@debug\ifjb@babel
1292     \iflanguage{german}{\textcolor{red}{[}}{%
1293     \iflanguage{english}{\textcolor{blue}{[}}{%
1294     \iflanguage{dutch}{\textcolor{green}{[}}{%
1295     \iflanguage{french}{\textcolor{yellow}{[}}{}}}}%
1296     \fi\fi
1297     }%
1298     \newcommand*{\jb@check@language@end}{%
1299     \ifjb@debug\ifjb@babel
1300     \iflanguage{german}{\textcolor{red}{]\textsuperscript{\tiny de}}}{%
1301     \iflanguage{english}{\textcolor{blue}{]\textsuperscript{\tiny en}}}{%
1302     \iflanguage{dutch}{\textcolor{green}{]\textsuperscript{\tiny du}}}{%
1303     \iflanguage{french}{\textcolor{yellow}{]\textsuperscript{\tiny fr}}}{}}}}%
1304     \fi\fi
1305     }%
1306     \DeclareRobustCommand{\biblnfont}{\textbf}%
1307     \DeclareRobustCommand{\bibfnfont}{\textbf}%
1308     \DeclareRobustCommand{\bibelnfont}{\textbf}%
1309     \DeclareRobustCommand{\bibefnfont}{\textbf}%
1310     \DeclareRobustCommand{\bibtfont}{}%
1311     \DeclareRobustCommand{\bibbtfont}{}%
1312     \DeclareRobustCommand{\bibjtfont}{}%
1313     \DeclareRobustCommand{\bibapifont}{}%
1314     % ibid font for `derselbe', `dieselbe' ....
1315     \DeclareRobustCommand{\bibibidfont}{\biblnfont}%
1316     % intermediate font for `and' and `,'
1317     % CHANGED 0.5f make a difference between bibliography and text
1318     % CH 0.51t \bibfnfont instead of \biblnfont
1319     \newcommand{\bibimfont}{\bibfnfont}%
1320     \newcommand{\jbimfont}{\textnormal}%
1321     % CH 0.51t \bibefnfont instead of \bibelnfont
1322     \newcommand{\bibeimfont}{\bibefnfont}%
1323     \newcommand{\jbeimfont}{\textnormal}%
1324     \DeclareRobustCommand{\bibIMfont}[1]{%
1325     \ifjbweareinbib
1326     \ifjbweareinhowcited
1327     \jbimfont{#1}%
1328     \else
1329     \bibimfont{#1}%
1330     \fi
1331     \else
1332     \jbimfont{#1}%
1333     \fi
1334     }%
1335     \DeclareRobustCommand{\bibEIMfont}[1]{%
1336     \ifjbweareinbib
1337     \ifjbweareinhowcited
1338     \jbeimfont{#1}%
1339     \else
1340     \bibeimfont{#1}%
1341     \fi
1342     \else
1343     \jbeimfont{#1}%
1344     \fi
1345     }%
1346     \DeclareRobustCommand{\edfont}[1]{%
1347     \ifjbweareinbib
1348     \ifjbweareinhowcited
1349     \jbeimfont{#1}%
1350     \else
1351     \bibeimfont{#1}%
1352     \fi
1353     \else
1354     \jbeimfont{#1}%
1355     \fi
1356     }%
1357     %\DeclareRobustCommand{\bibIMfont}[1]{%
1358     % \ifthenelse{\equal{\biblnfont}{\textsc}}{%
1359     % \textnormal{#1}}{\biblnfont{#1}}%
1360     %}%
1361     %\DeclareRobustCommand{\edfont}[1]{%
1362     % \ifthenelse{\equal{\bibelnfont}{\textsc}}{%
1363     % \textnormal{#1}}{\bibelnfont{#1}}%
1364     %}%
1365     \DeclareRobustCommand{\bibbtasep}{{\normalfont\slash}}%
1366     \DeclareRobustCommand{\bibbfsasep}{{\normalfont\slash}}%
1367     \DeclareRobustCommand{\bibbstasep}{{\normalfont\slash}}%
1368     \DeclareRobustCommand{\Bibbtasep}{\bibbtasep\ifjb@tabular\jblinebreak\fi}%
1369     \DeclareRobustCommand{\Bibbfsasep}{\bibbfsasep\ifjb@tabular\jblinebreak\fi}%
1370     \DeclareRobustCommand{\Bibbstasep}{\bibbstasep\ifjb@tabular\jblinebreak\fi}%
1371     %
1372     \DeclareRobustCommand{\bibbtesep}{{\normalfont\slash}}%
1373     \DeclareRobustCommand{\bibbfsesep}{{\normalfont\slash}}%
1374     \DeclareRobustCommand{\bibbstesep}{{\normalfont\slash}}%
1375     \DeclareRobustCommand{\Bibbtesep}{\bibbtesep\ifjb@tabular\jblinebreak\fi}%
1376     \DeclareRobustCommand{\Bibbfsesep}{\bibbfsesep\ifjb@tabular\jblinebreak\fi}%
1377     \DeclareRobustCommand{\Bibbstesep}{\bibbstesep\ifjb@tabular\jblinebreak\fi}%
1378     %
1379     \DeclareRobustCommand{\bibansep}{\bibfnfont{: }}%
1380     \DeclareRobustCommand{\bibaesep}{\bibefnfont{: }}%
1381     \DeclareRobustCommand{\bothaesep}{\ifjbweareinbib\bibaesep\else\jbhowsepbeforetitleae\fi}%
1382     \DeclareRobustCommand{\bibatsep}{}\renewcommand*{\bibatsep}{.}%
1383     \DeclareRobustCommand{\bibbdsep}{,}%
1384     \DeclareRobustCommand{\bibBTsep}{\def\jb@first@editor{}\bibbtsep}%
1385     \DeclareRobustCommand{\bibJTsep}{\def\jb@first@editor{}\bibjtsep}%
1386     % ^^^^^^^^^^^^^^^^^^^^^^
1387     % added in 0.5e, suggested by Joachim Trinkwitz (jtr@uni-bonn.de),
1388     % no reversed editors for authorformat=firstnotreversed, makes no sense, but if one want to have it: See definition of \jbbibargs too.
1389     % \DeclareRobustCommand{\bibBTsep}{\bibbtsep}%
1390     % \DeclareRobustCommand{\bibJTsep}{\bibjtsep}%
1391     % NEW 0.5f changed \jb@first@author to \jb@first@editor to make it easier to allow this feature.
1392     % NEW 0.5e \bibbtsep default now `in: '
1393     % CH 0.52o \bibbtsep default now `\inname ' in order to make it language dependent
1394     \DeclareRobustCommand{\bibbtsep}{\inname{} }%
1395     \DeclareRobustCommand{\bibjtsep}{}%
1396     \DeclareRobustCommand{\bibaldelim}{}%
1397     \DeclareRobustCommand{\bibardelim}{}%
1398     \DeclareRobustCommand{\bibpldelim}{[}%
1399     \DeclareRobustCommand{\bibprdelim}{]}%
1400     \DeclareRobustCommand{\bibapyldelim}{}%
1401     \DeclareRobustCommand{\bibapyrdelim}{}%
1402     \DeclareRobustCommand{\dateldelim}{}%
1403     \DeclareRobustCommand{\daterdelim}{}%
1404     \DeclareRobustCommand{\bpubaddr}{:}% between publisher and address
1405     \DeclareRobustCommand{\apyformat}[1]{%
1406     \ifjb@bibssed
1407     \let\jbedition\@gobble%
1408     \unskip\unskip\space%
1409     \bibapyldelim{}\ifthenelse{\equal{\jb@@edition}{\@empty}}{}{%
1410     \textsuperscript{\jb@@edition}}#1\bibapyrdelim{}%
1411     \else
1412     \bibapyldelim{}#1\bibapyrdelim{}%
1413     \fi
1414     }%
1415     \DeclareRobustCommand{\ajtsep}{}
1416     % URL stuff
1417     \DeclareRobustCommand{\jblangle}{\raisebox{.15ex}{$\langle$}}
1418     \DeclareRobustCommand{\jbrangle}{\raisebox{.15ex}{$\rangle$}}
1419     \DeclareRobustCommand{\biburlprefix}{\jblangle{}URL: }
1420     \DeclareRobustCommand{\biburlsuffix}{\jbrangle{}}
1421     %\DeclareRobustCommand{\biburl}[1]{\biburlprefix\biburlfont{#1}\biburlsuffix}
1422     %\DeclareRobustCommand{\biburlfont}{\texttt}
1423     % NEW 0.5f changed interface to format url
1424     \DeclareRobustCommand{\biburlfont}[1]{\urlstyle{#1}}%
1425     \DeclareRobustCommand{\urldatecomment}{}
1426     % NEW 0.51x
1427     \DeclareRobustCommand{\bibbudcsep}{~--\space}
1428     %
1429     \DeclareRobustCommand{\bibcommenthowcited}{}
1430     \DeclareRobustCommand{\bibartperiodhowcited}{}
1431     \DeclareRobustCommand{\bibnotcited}{}
1432     \DeclareRobustCommand{\bibhowcited}{}
1433     \DeclareRobustCommand{\howcitedprefix}{}
1434     \DeclareRobustCommand{\howcitedsuffix}{}
1435     \DeclareRobustCommand{\bibvolumecomment}{}
1436     \DeclareRobustCommand{\volumeofname}{}
1437     \DeclareRobustCommand{\alsothesisname}{}
1438     % crossref editor sep.
1439     \DeclareRobustCommand{\bibces}{: }
1440     \DeclareRobustCommand{\bibcrossrefcite}{}
1441     \DeclareRobustCommand{\bibcrossrefciteagain}{}
1442     \DeclareRobustCommand{\bibincollcrossrefcite}{}
1443     \DeclareRobustCommand{\bibincollcrossrefciteagain}{}
1444     % series number font
1445     \DeclareRobustCommand{\bibsnfont}{}%
1446     % NEW 0.5f volumetitle font
1447     \DeclareRobustCommand{\bibvtfont}{\textit}%
1448     % `original' stuff
1449     \DeclareRobustCommand{\osep}{%
1450     \ifjbweareinbib
1451     \ifjboxford;\else.\fi % Maarten wishes semi-colon
1452     \else
1453     \ifjboxford
1454     ;% Maarten wishes semi-colon
1455     \else
1456     \ifjbchicago
1457     ;%
1458     \else
1459     .%
1460     \fi
1461     \fi
1462     \fi
1463     }%
1464     \DeclareRobustCommand{\reprintname}{\ifjbweareinbib\Reprint\else\reprint\fi}%
1465     \newcommand*{\jbedafti}[1]{}%
1466     \newcommand*{\jbtiafed}[1]{#1}%
1467     \newcommand*{\jbbookedaftertitle}{%
1468     \renewcommand\jbedafti[1]{##1}%
1469     \renewcommand\jbtiafed[1]{}}
1470     \providecommand{\J@LongToc}{}
1471     \providecommand{\addto}{\g@addto@macro}
1472     \def\jb@add@to#1#2{\addto{#1}{#2}#2}% <=== ?????
1473     %\def\jb@add@to#1#2{\addto{#1}{#2}}%
1474     % macro for changing macros inside \bibs<language>, thanks to Bernard Gaulle
1475     \def\AddTo#1#2{\AtBeginDocument{\jb@add@to#1{#2}}}%
1476     % macros for adding definitions via \addto
1477     \newcommand*{\jbonlyforcitations}{}
1478     \newcommand*{\jbonlyforbib}{}
1479     \newcommand*{\jbonlyforfirstcitefullbegin}{}
1480     \newcommand*{\jbonlyforfirstcitefullend}{}
1481     % NO starred '\[re]newcommand*' for the annote commands !!!!!!!!!!!! Causes problems when using \par inside annote
1482     \newcommand{\bibAnnote}[1]{}
1483     \newcommand{\bibAnnoteFile}[1]{}
1484     \newcommand{\bibAnnotePath}[1]{\def\jb@ann@input@path{#1}}
1485     \ifx\jb@ann@input@path\@undefined\let\jb@ann@input@path\input@path\fi
1486     % 0.51t \par inserted, suggested by Robert Schlicht
1487     \newcommand{\jbannoteformat}[1]{{\small#1\par}}% Grouping is important!
1488     % NEW 0.5f, english is default, if babel is not loaded
1489     \providecommand{\bbl@main@language}{english}%
1490     \newif\ifjbhum
1491     \newif\ifjboxford
1492     \newif\ifjbchicago
1493     % NEW 0.52e
1494     \newcommand*{\aftervolsep}{,}%
1495     % NEW 0.52e ------------------------------------------vvvvvvvvvvvv
1496     \DeclareRobustCommand{\volumeformat}[1]{\Volumename~#1\aftervolsep}%
1497     \DeclareRobustCommand{\artvolumeformat}[1]{#1}%
1498     \DeclareRobustCommand{\pervolumeformat}[1]{#1}%
1499     \DeclareRobustCommand{\artnumberformat}[1]{\unskip,\space Nr.~#1}%
1500     \DeclareRobustCommand{\pernumberformat}[1]{\unskip\space Nr.~#1}%
1501     \DeclareRobustCommand{\artyearformat}[1]{\bibaldelim#1\bibardelim}%
1502     \DeclareRobustCommand{\peryearformat}[1]{\bibpldelim#1\bibprdelim}%
1503     % NEW 0.5f combined command for jox.bst
1504     \DeclareRobustCommand{\artvolnumformat}[2]{%
1505     \ifthenelse{\equal{#1}{}}{%
1506     #2%
1507     }{%
1508     \ifthenelse{\equal{#2}{}}{%
1509     #1%
1510     }{%
1511     \artvolumeformat{#1}\artnumberformat{#2}%
1512     }%
1513     }%
1514     }%
1515     % NEW 0.5f
1516     \DeclareRobustCommand{\translator}[3]{%
1517     % NEW 0.52e
1518     \unskip\unskip\space%
1519     \ifthenelse{\equal{#1}{}}{% translator missing
1520     \ifjboxford\transfrom\else\Transfrom\fi\jbflanguage{#2}%
1521     }{% translator given
1522     \ifthenelse{\equal{\bbl@main@language}{german}}{% main language german
1523     \ifthenelse{\equal{#2}{}}{% language missing
1524     {\"U}bers. \transby{} #1%
1525     }{% language given
1526     \ifjboxford\transfrom\else\Transfrom\fi\jbflanguage{#2} ^^fcbers. \transby{} #1%
1527     }%
1528     }{%
1529     \ifthenelse{\equal{#2}{}}{% language missing
1530     \trans{} \transby{} #1%
1531     }{% language given
1532     \trans{} \transfrom{}\jbflanguage{#2} \transby{} #1%
1533     % ^ space removed for empty \transfrom macro for french
1534     }%
1535     }%
1536     }% dot or not?
1537     \ifjbchicago
1538     \ifthenelse{\equal{#3}{1}}{% \(type=incollection \and editor given\) \or type=article
1539     \bibatsep{}%
1540     }{}%
1541     \else
1542     \ifthenelse{\equal{#3}{1}\and\not\boolean{jboxford}}{%
1543     \bibatsep{}%
1544     }{}%
1545     \fi
1546     }%
1547     \DeclareRobustCommand{\jbflanguage}[1]{%
1548     \unskip\space% prevent from additional spaces for empty \transfrom macros
1549     \ifthenelse{\equal{#1}{german}}{%
1550     \fromgerman%
1551     }{%
1552     \ifthenelse{\equal{#1}{english}}{%
1553     \fromenglish%
1554     }{%
1555     \ifthenelse{\equal{#1}{french}}{%
1556     \fromfrench%
1557     }{%
1558     \ifthenelse{\equal{#1}{dutch}}{%
1559     \fromdutch%
1560     }{%
1561     \ifthenelse{\equal{#1}{spanish}}{%
1562     \fromspanish%
1563     }{%
1564     \ifthenelse{\equal{#1}{italian}}{%
1565     \fromitalian%
1566     }{%
1567     \ifthenelse{\equal{#1}{norsk}}{%
1568     \fromnorsk%
1569     }{%
1570     \relax
1571     }%
1572     }%
1573     }%
1574     }%
1575     }%
1576     }%
1577     }%
1578     }%
1579     \renewcommand*{\bibstyle}[1]{%
1580     \ifthenelse{\equal{#1}{jox}}{%
1581     \global\jb@humanbst@loadedtrue
1582     \global\jboxfordtrue
1583     }{%
1584     \ifthenelse{\equal{#1}{jchicago}}{%
1585     \global\jb@author@yeartrue
1586     \global\jb@yearafterauthortrue
1587     }{%
1588     \ifthenelse{\equal{#1}{jureco}}{%
1589     \global\jb@jurecotrue
1590     % The jureco-defaults:
1591     \global\jb@author@yeartrue
1592     \global\jb@yearafterauthortrue
1593     \global\jb@yearaftertitlefalse
1594     }{%
1595     % reintroduced for backward compatibility with old jhuman users
1596     \ifthenelse{\equal{#1}{jhuman}}{\global\jb@humanbst@loadedtrue}{}%
1597     }%
1598     }%
1599     }%
1600     }%
1601     % article incollection title font (in citations)
1602     \DeclareRobustCommand{\jbapifont}[1]{#1}%
1603     \DeclareRobustCommand{\jbbtfont}{}%
1604     % NEW 0.5e op.cit. feature for recurring citations, which aren't immediately following
1605     \newif\ifjbopcit
1606     \newcommand*{\opcit}{\textit{op.\,cit.}}%
1607     % NEW 0.5f rewritten code for op. cit. for linking to the first citation.
1608     \newcommand*{\OpCit}{%
1609     \ifjbweareinbib\else
1610     \ifjb@opcit
1611     \ifjb@@opcit
1612     \unskip\unskip,%
1613     % NEW 0.51h some new kerning code
1614     \ifjb@ssed@recent@kerned
1615     \jb@do@ssed@kerning%
1616     \else
1617     \space% space part of the opcit hyperlink?
1618     \fi
1619     \ifjb@allow@hyper@cite\hyper@jblinkend\fi
1620     \endgroup % <=== here we are ending with the link to the bibliography
1621     \begingroup % <=== here we are starting a new hyperlink to the source citation of the opcit-sequence
1622     \ifjb@allow@hyper@cite\hyper@jblinkstart{opcit.\@citeb.\jb@reset@opcit@label@for}\fi
1623     \opcit%
1624     % we need to check if we are in a crossref, it overrides the settings of the main citation
1625     % \ifjbcross\else
1626     \ifthenelse{\equal{\jb@@newpagecite}{}}{\ifjb@lookat\else\global\jb@footnote@periodfalse\fi}{}%
1627     % \fi
1628     % \ifthenelse{\equal{\jb@@newpagecite}{}}{\ifjb@lookat\else\global\jb@footnote@periodfalse\fi}{}%
1629     \ifjb@allow@hyper@cite\hyper@jblinkend\fi % <=== we are closing the opcit hyperlink ...
1630     \endgroup
1631     \begingroup
1632     \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi % <=== ... an reopen the hyperlink to the bibliography
1633     \jb@extract
1634     \fi
1635     \fi
1636     \fi
1637     }%
1638     % citation parentheses
1639     \newcommand*{\jb@open}{}%
1640     \newcommand*{\jb@close}{}%
1641     % crossref parentheses
1642     \newcommand*{\jb@cr@open}{}%
1643     \newcommand*{\jb@cr@close}{}%
1644     % incoll crossref parentheses
1645     \newcommand*{\jb@incoll@cr@open}{}%
1646     \newcommand*{\jb@incoll@cr@close}{}%
1647     % article crossref parentheses
1648     \newcommand*{\jb@art@cr@open}{}%
1649     \newcommand*{\jb@art@cr@close}{}%
1650     \DeclareRobustCommand{\jbpages}{}%
1651     \DeclareRobustCommand{\jbedition}[1]{%
1652     \unskip\unskip\ifjb@humanbst@loaded\else\space\fi#1}%
1653     % ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^
1654     % NEW 0.5f added, because jhuman.bst places a comma inside \jbedition
1655     % NEW 0.5e command for jchicago.bst
1656     \DeclareRobustCommand{\jbPAGES}{}
1657     % NEW 0.5f Reduced to one command, formatting by \jbprformat
1658     %\DeclareRobustCommand{\jbPage}[1]{%
1659     % \unskip\unskip\ifjbweareinbib, \else
1660     % \ifjb@comma@before@rest, \else\space\fi\fi
1661     % \ifjb@formatted@pages\jbpagename~#1\else#1\fi
1662     %}%
1663     \DeclareRobustCommand{\jbPages}[1]{%
1664     \unskip\unskip\ifjbweareinbib, \else
1665     \ifjb@comma@before@rest, \else\space\fi\fi
1666     \ifjb@formatted@pages\jbprformat{#1}\else#1\fi
1667     }%
1668     % NEW 0.5f special article pages, suggested by Alp Aker
1669     % NEW 0.5f Reduced to one command, formatting by \jbprformat
1670     %\DeclareRobustCommand{\jbartPage}[1]{%
1671     % \ifjbchicago
1672     % \unskip:\space
1673     % \else
1674     % \unskip\unskip\ifjbweareinbib, \else
1675     % \ifjb@comma@before@rest, \else\space\fi\fi
1676     % \fi
1677     % \ifjb@formatted@pages\jbpagename~#1\else#1\fi
1678     %}%
1679     \DeclareRobustCommand{\jbartPages}[1]{%
1680     \ifjbchicago
1681     \unskip:\space
1682     \else
1683     \unskip\unskip\ifjbweareinbib, \else
1684     \ifjb@comma@before@rest, \else\space\fi\fi
1685     \fi
1686     \ifjb@formatted@pages\jbprformat{#1}\else#1\fi
1687     }%
1688     % save the definition for the pages in bib
1689     \let\origPAGES\jbPAGES
1690     \let\origpages\jbpages
1691     \let\origPages\jbPages
1692     % NEW 0.5f Reduced to one command, formatting by \jbprformat
1693     %\let\origPage\jbPage
1694     % NEW 0.5f Reduced to one command, formatting by \jbprformat
1695     %\let\origartPage\jbartPage
1696     \let\origartPages\jbartPages
1697     \newcommand*{\jb@endnote}{}%
1698     \DeclareRobustCommand{\jbendnote}[1]{}% default
1699     \DeclareRobustCommand{\jbnote}[2]{%
1700     \ifjbweareinbib
1701     \ifthenelse{\equal{#1}{1}}{\unskip\unskip, #2}{#2}%
1702     \fi
1703     }%
1704     \newcommand*{\jb@open@clean@for@crossref}{%
1705     \jb@no@lookat@for@bibtrue
1706     \jbcrosstrue
1707     % REMOVED in 0.51i
1708     % \jb@indexfalse
1709     % The following is needed to achieve a clear handling
1710     % of crossref's, it's now a absolutely separate level
1711     % of citations, independent of the main citations!
1712     % crossref's are managed by \bib[incoll]crossrefcite
1713     % and the crossref-options.
1714     \ifjb@all@full
1715     \jb@save@allfull@statustrue
1716     % to suppress allfull for crossrefs in bib
1717     \jb@all@fullfalse
1718     % to suppress allfull for crossrefs in citations
1719     \jb@fullcite@againfalse
1720     \fi
1721     % if lookat is active, save (it could be redef'd)%
1722     % and suppress it in crossrefs
1723     \ifjb@lookat
1724     \jb@save@lookat@statustrue
1725     \jb@lookatfalse
1726     \fi
1727     % NEW 0.5f No ibid. for crossref's
1728     \noibidem
1729     \let\jbauthorfont\biblnfont
1730     \let\jbauthorfnfont\bibfnfont
1731     \let\jbactualauthorfont\biblnfont
1732     \let\jbactualauthorfnfont\bibfnfont
1733     % REMOVED 0.5e for correct sep handling for crossrefs
1734     % \let\jbhowsepbeforetitle\bibansep
1735     % REINTRODUCED, but only for bibliography!
1736     \ifjbweareinbib
1737     \let\jbhowsepbeforetitle\bibansep
1738     \let\jbhowsepbeforetitleae\bibaesep
1739     \fi
1740     \let\jbbtasep\bibbtasep
1741     \let\jbbfsasep\bibbfsasep
1742     \let\jbbstasep\bibbstasep
1743     %
1744     \let\jbbtesep\bibbtesep
1745     \let\jbbfsesep\bibbfsesep
1746     \let\jbbstesep\bibbstesep
1747     %
1748     \let\jbtitlefont\bibtfont
1749     \let\jbbtitlefont\bibbtfont
1750     \let\jbapifont\bibapifont
1751     \let\jb@extraspace\space
1752     }%
1753     \newcommand*{\jb@close@clean@for@crossref}{%
1754     % restore allfull if it was chosen
1755     \ifjb@save@allfull@status
1756     \jb@all@fulltrue
1757     \jb@save@allfull@statusfalse
1758     \fi
1759     % restore lookat
1760     \ifjb@save@lookat@status
1761     \jb@lookattrue
1762     \jb@save@lookat@statusfalse
1763     \fi
1764     \jb@no@lookat@for@bibfalse
1765     \jbcrossfalse
1766     \jb@indextrue
1767     % NEW 0.5f No idem after crossref:
1768     % _______________
1769     % ²bar in: foo, baz.
1770     % ³idem (should be foo!), bar.
1771     \noidem
1772     % NEW 0.5f No dot after op. cit. in a crossref
1773     % \ifthenelse{\equal{\jb@@newpagecite}{}}{\ifjb@lookat\else\global\jb@footnote@periodfalse\fi}{}%
1774     }%
1775     \DeclareRobustCommand{\jbcrossrefchecked}[2][]{%
1776     \begingroup
1777     \jb@open@clean@for@crossref
1778     % NEW 0.5f work, which were cited first as a crossref, should then be
1779     % cited with short form, if `citefull=first' is active
1780     \ifjb@firstcite@full\ifjb@all@full\else
1781     \@ifundefined{citefull@#2}{%
1782     \global\@namedef{citefull@#2}{citefull}%
1783     }{}%
1784     \fi\fi
1785     \ifthenelse{\equal{#1}{}}{%
1786     \jb@cr@open%
1787     \inname{} %
1788     % make a difference between first crossref cite
1789     % and again crossref cite (ONLY FOR CITATION! 0.5e)
1790     \ifjbweareinbib
1791     % NEW 0.51i [Editors of crossref'ed works] should appear each
1792     % time when an essay from their collection is cited for the first time ...
1793     % But here we have to make sure that it is only suppressed if no \jbindexbib is given
1794     \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}%
1795     \else
1796     \@ifundefined{NORMCR@#2}{%
1797     \global\@namedef{NORMCR@#2}{}%
1798     \bibcrossrefcite{#2}%
1799     }{%
1800     % NEW 0.51i [Editors of crossref'ed works] should appear each
1801     % time when an essay from their collection is cited for the first time ...
1802     \jb@indexfalse\bibcrossrefciteagain{#2}%
1803     }%
1804     \fi
1805     \jb@cr@close%
1806     }{%
1807     \jb@cr@open%
1808     \ifjboxford\volumename\else\Volumename\fi~#1 \volumeofname{} %
1809     % make a difference between first crossref cite
1810     % and again crossref cite (ONLY FOR CITATION! 0.5e)
1811     \ifjbweareinbib
1812     % NEW 0.51i [Editors of crossref'ed works] should appear each
1813     % time when an essay from their collection is cited for the first time ...
1814     % But here we have to make sure that it is only suppressed if no \jbindexbib is given
1815     \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}%
1816     \else
1817     \@ifundefined{NORMCR@#2}{%
1818     \global\@namedef{NORMCR@#2}{}%
1819     \bibcrossrefcite{#2}%
1820     }{%
1821     % NEW 0.51i [Editors of crossref'ed works] should appear each
1822     % time when an essay from their collection is cited for the first time ...
1823     \jb@indexfalse\bibcrossrefciteagain{#2}%
1824     }%
1825     \fi
1826     \jb@cr@close%
1827     }%
1828     \jb@close@clean@for@crossref
1829     \endgroup
1830     %^^^^^^^^^ Grouping (otherwise fonts changed if `howcited')
1831     }%
1832     \DeclareRobustCommand{\jbartcrossrefchecked}[2][]{{%
1833     \jb@open@clean@for@crossref
1834     % NEW 0.5f work, which were cited first as a crossref, should then be
1835     % cited with short form, if `citefull=first' is active
1836     \ifjb@firstcite@full\ifjb@all@full\else
1837     \@ifundefined{citefull@#2}{%
1838     \global\@namedef{citefull@#2}{citefull}%
1839     }{}%
1840     \fi\fi
1841     \ifthenelse{\equal{#1}{}}{%
1842     \jb@art@cr@open%
1843     \inname{} %
1844     % make a difference between first crossref cite
1845     % and again crossref cite (ONLY FOR CITATION! 0.5e)
1846     \ifjbweareinbib
1847     % NEW 0.51i [Editors of crossref'ed works] should appear each
1848     % time when an essay from their collection is cited for the first time ...
1849     % But here we have to make sure that it is only suppressed if no \jbindexbib is given
1850     \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}%
1851     \else
1852     \@ifundefined{ARTCR@#2}{%
1853     \global\@namedef{ARTCR@#2}{}%
1854     \bibcrossrefcite{#2}%
1855     }{%
1856     % NEW 0.51i [Editors of crossref'ed works] should appear each
1857     % time when an essay from their collection is cited for the first time ...
1858     \jb@indexfalse\bibcrossrefciteagain{#2}%
1859     }%
1860     \fi
1861     \jb@art@cr@close%
1862     }{%
1863     \jb@art@cr@open%
1864     \Volumename~#1 \volumeofname{} %
1865     % make a difference between first crossref cite
1866     % and again crossref cite (ONLY FOR CITATION! 0.5e)
1867     \ifjbweareinbib
1868     % NEW 0.51i [Editors of crossref'ed works] should appear each
1869     % time when an essay from their collection is cited for the first time ...
1870     % But here we have to make sure that it is only suppressed if no \jbindexbib is given
1871     \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}%
1872     \else
1873     \@ifundefined{ARTCR@#2}{%
1874     \global\@namedef{ARTCR@#2}{}%
1875     \bibcrossrefcite{#2}%
1876     }{%
1877     % NEW 0.51i [Editors of crossref'ed works] should appear each
1878     % time when an essay from their collection is cited for the first time ...
1879     \jb@indexfalse\bibcrossrefciteagain{#2}%
1880     }%
1881     \fi
1882     \jb@art@cr@close%
1883     }%
1884     \jb@close@clean@for@crossref
1885     }%
1886     }%
1887     % NEW 0.5f To check: do we really need the full name (with `eds.') in the crossref citations for oxford?
1888     \newcommand*{\fullnameoxfordcrossref}[1]{%
1889     \ifjb@debug
1890     \ifjb@debug@br[\fi
1891     \textcolor[named]{Dandelion}{\citefield{author}{#1}\jbhowsepbeforetitle\citefield{title}{#1}}%
1892     \ifjb@debug@br]\fi
1893     \else
1894     \citefield{author}{#1}\jbhowsepbeforetitle\citefield{title}{#1}%
1895     \fi
1896     }
1897     \newcommand*{\jbedbyincollcrossreflong}[1]{%
1898     \ifjbweareinbib
1899     \bibtfont{\citefield{title}{#1}}%
1900     \else
1901     \jbbtfont{\citefield{title}{#1}}%
1902     \fi
1903     \bibatsep{} %
1904     \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }%
1905     \citefield{author}{#1}%
1906     \unskip\ifjbetal\jbetalfalse\else.\fi\space%
1907     \citefield{apy}{#1}%
1908     \unskip\unskip%
1909     }
1910     \newcommand*{\jbedbyincollcrossrefshortwithapy}[1]{%
1911     \ifjbweareinbib
1912     \bibtfont{\citefield{shorttitle}{#1}}%
1913     \else
1914     \jbbtfont{\citefield{shorttitle}{#1}}%
1915     \fi
1916     \bibatsep{} %
1917     \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }%
1918     \citefield{shortauthor}{#1}%
1919     \unskip\ifjbetal\jbetalfalse\else.\fi\space%
1920     \citefield{apy}{#1}%
1921     \unskip\unskip%
1922     }
1923     \newcommand*{\jbedbyincollcrossrefshortnoapy}[1]{%
1924     \ifjbweareinbib
1925     \bibtfont{\citefield{shorttitle}{#1}}%
1926     \else
1927     \jbbtfont{\citefield{shorttitle}{#1}}%
1928     \fi
1929     \bibatsep{} %
1930     \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }%
1931     \citefield{shortauthor}{#1}%
1932     \unskip\unskip%
1933     }
1934     \newcommand*{\jbedbyincollcrossrefshort}[1]{%
1935     \citefield{shortauthor}{#1}%
1936     \unskip\unskip%
1937     }
1938     \DeclareRobustCommand{\jbincollcrossref}[2]{%
1939     \begingroup
1940     % REMOVED in 0.51i
1941     % \jb@indexfalse
1942     \jb@open@clean@for@crossref
1943     \jb@incoll@cr@open%
1944     % NEW 0.5f works, which were cited first as a crossref, should then be
1945     % cited with short form, if `citefull=first' is active
1946     \ifjb@firstcite@full\ifjb@all@full\else
1947     \@ifundefined{citefull@#1}{%
1948     \global\@namedef{citefull@#1}{citefull}%
1949     }{}%
1950     \fi\fi
1951     % NEW 0.5e suggested by Maarten Wisse, crossref entries in chicago
1952     % should also be formatted with edby
1953     \ifthenelse{%
1954     \boolean{jb@edby}%
1955     \and
1956     \boolean{jbchicago}%
1957     \and
1958     \equal{#2}{1}% is there an editor???
1959     }{%
1960     \let\bibedformat\@gobble % exists only in jhuman.bst
1961     \incollinname{} %
1962     \hyper@jblinkstart{#1}%
1963     \ifjbweareinbib
1964     \jbedbyincollcrossrefcite{#1}%
1965     \else
1966     \@ifundefined{INCCR@#1}{%
1967     \global\@namedef{INCCR@#1}{}%
1968     \jbedbyincollcrossrefcite{#1}%
1969     }{%
1970     \jbedbyincollcrossrefciteagain{#1}%
1971     }%
1972     \fi
1973     \hyper@jblinkend%
1974     }{%
1975     \incollinname{} %
1976     % make a difference between first crossref cite
1977     % and again crossref cite (ONLY FOR CITATION! 0.5e)
1978     \ifjbweareinbib
1979     % NEW 0.51i [Editors of crossref'ed works] should appear each
1980     % time when an essay from their collection is cited for the first time ...
1981     % But here we have to make sure that it is only suppressed if no \jbindexbib is given
1982     \ifjb@index@bib\else\jb@indexfalse\fi\bibincollcrossrefcite{#1}%
1983     \else
1984     \@ifundefined{INCCR@#1}{%
1985     \global\@namedef{INCCR@#1}{}%
1986     \bibincollcrossrefcite{#1}%
1987     }{%
1988     % NEW 0.51i [Editors of crossref'ed works] should appear each
1989     % time when an essay from their collection is cited for the first time ...
1990     \jb@indexfalse\bibincollcrossrefciteagain{#1}%
1991     }%
1992     \fi
1993     }%
1994     \jb@incoll@cr@close%
1995     \jb@close@clean@for@crossref
1996     \endgroup
1997     %^^^^^^^^^ Grouping (otherwise fonts changed if `howcited')
1998     }%
1999     %\DeclareRobustCommand{\numberandseries}[2]{%
2000     % \ifthenelse{\equal{#2}{}}{#1}{\unskip\unskip,\space\bibsnfont{#2}~#1}}%
2001     \DeclareRobustCommand{\numberandseries}[2]{%
2002     \unskip\unskip,\space\bibsnfont{#2}%
2003     \ifthenelse{\equal{#1}{}}{}{~#1}%
2004     }%
2005     % NEW 0.5e Format the ed
2006     % #1=editor, #2=more than one ed switch #3=booktitle, #4=volume, #5=booktitleaddon switch (1=yes)
2007     \newcommand*{\jb@@tempa}{.}%
2008     \newcommand*{\edbysep}{\bibatsep{} }%
2009     \newcommand*{\incolledformat}[5]{%
2010     \bibBTsep%
2011     \ifjb@edby
2012     #3%
2013     \ifx\relax#1\relax
2014     \ifx\relax#5\relax\else
2015     \ifx\relax#4\relax
2016     \bibatsep{}%
2017     \else
2018     \bibatsep{}\space%
2019     \fi
2020     \fi
2021     \else
2022     \ifx\relax#5\relax
2023     \ifjb@humanbst@loaded\edbysep{}\fi
2024     \ifx\bibatsep\jb@@tempa\Edbyname{} \else\edbyname{} \fi
2025     \else
2026     \edbysep{}%
2027     \ifx\bibatsep\jb@@tempa\Edbyname{} \else\edbyname{} \fi
2028     \fi
2029     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
2030     % we have to group the ed, otherwise the et~al. is suppressed for the author too
2031     \begingroup
2032     #1%
2033     \endgroup
2034     \fi
2035     \ifx\relax#4\relax\else
2036     \ifx\relax#1\relax\else
2037     \ifx\relax#5\relax
2038     .\space%
2039     \else
2040     \bibatsep{} %
2041     \fi
2042     \fi
2043     \volumeformat{#4}%
2044     % \Volumename~#4%
2045     \fi
2046     \ifx\relax#1\relax
2047     \ifx\relax#4\relax\else.\fi % volume empty
2048     \else
2049     \ifjb@humanbst@loaded\else
2050     \ifjbchicago\else.\fi
2051     \fi
2052     \fi
2053     \else
2054     \ifx\relax#1\relax\else
2055     % NEW 0.5f idem should work inside bibliographic entries too (If author = editor)
2056     % we have to group the ed, otherwise the et~al. is suppressed for the author too
2057     \begingroup
2058     #1 % editor
2059     \endgroup
2060     \ifx\relax#2\relax\else#2\fi
2061     \bothaesep%
2062     \fi
2063     #3%
2064     \ifx\relax#4\relax
2065     % CH 0.51v hardcoded dot replaced by \bibatsep
2066     \ifx\relax#5\relax\else% No volume, but booktitleaddon
2067     \bibatsep%
2068     \fi
2069     \else
2070     \ifx\relax#5\relax\else,\space\fi% volume and booktitleaddon
2071     \volumeformat{#4}%
2072     % \Volumename~#4.%
2073     \fi
2074     \fi
2075     }
2076     % NEW 0.5f: contributed by Stefan Ulrich
2077     % ------------------------- NEW URL Interface --------------------------------
2078     % for defining URLs in the bibliography. These might be used in other
2079     % places as well (such as footnotes), so we use url.sty's \urldef
2080     % to define aliases in the form `\jburl@<citation-key>' for them
2081     % (this alias is unique, since each bib entry can only have one
2082     % URL field).
2083     % To make this work with hyperref, the aliases need to be written
2084     % to a separate auxiliary file (we can't use \@auxout, since this is
2085     % read \AtBeginDocument, after hyperref, but an incompatibility
2086     % between hyperref and url makes it necessary to use \urldef *before*
2087     % loading hyperref).
2088     % As with url.sty, the URL may contain arbitrary characters,
2089     % but `{}' must be properly nested.
2090     % In 0.5f beta 25 Stefan Ulrich contributed a solution for the
2091     % `%\n' BibTeX bug, similar to the solution in hyperref.
2092     % Very special thanks!
2093     \newcommand\jburldef{}
2094     \newcommand\jb@urldef{}
2095     \newcommand\jb@returnAfterFi{}
2096     \long\def\jb@returnAfterFi#1\fi{\fi#1}
2097     \newcommand*\jb@remove@percentCr{}% see hyperref.sty's \Hy@RemovePercentCr
2098     \begingroup % no `%' inside this group! (Changing \endlinechar makes this easier).
2099     % Following implements deletion of `%\n' in \jburldef like in hyperref (url.sty
2100     % doesn't do this).
2101     % Inside \jburldef, `^^M' needs to be active so that it expands to a space when
2102     % writing to \jb@urlfile; `%' only needs to have catcode 12.
2103     \endlinechar\m@ne
2104     \catcode`\^^M\active
2105     \catcode`\%=12
2106     \gdef\jburldef#1{
2107     \begingroup
2108     \def\jb@bbl@key{#1}
2109     \let\do\@makeother\dospecials
2110     \catcode`{\@ne \catcode`}\tw@
2111     \catcode`\^^M\active
2112     \def^^M{ }
2113     \jb@urldef
2114     }
2115     \gdef\jb@remove@percentCr#1%^^M#2\@nil{
2116     #1
2117     \ifx\limits#2\limits
2118     \else
2119     \jb@returnAfterFi\jb@remove@percentCr#2\@nil
2120     \fi
2121     }
2122     \gdef\jb@urldef#1{
2123     \edef\@tempa{\jb@remove@percentCr#1%^^M\@nil}
2124     \immediate\write\jb@urlfile{
2125     \string\expandafter\string\urldef\string\csname\space
2126     jburl@\jb@bbl@key\string\endcsname\string\url\string{\@tempa\string}
2127     }
2128     \endgroup
2129     }
2130     \endgroup
2131     \DeclareRobustCommand*\jburluse[1]{%
2132     \biburlprefix\csname jburl@#1\endcsname\biburlsuffix%
2133     }
2134     \newwrite\jb@urlfile
2135     % load our url file:
2136     \InputIfFileExists{\jobname.url}{}{}
2137     % Now to some interface paranoia ;-)
2138     % Since we'll try to write to \jobname.url, which is not a standard
2139     % LaTeX .aux file, the user might have a file with the same name
2140     % somewhere in TeX's search path. We don't want to overwrite such a
2141     % file; therefore we check whether the first line equals a special
2142     % `signature' line and only in this case overwrite the file.
2143     \newread\jb@tempfile
2144     \newcommand*\testnosig{}%
2145     {% no spaces or percents in this group! (Changing \endlinechar makes this easier).
2146     \catcode`\ =12
2147     \catcode`\%=12
2148     \endlinechar\m@ne
2149     % CH 0.52o year + version removed, so warning should not appear when the fiel was created by jurabib
2150     % \gdef\jb@signature@line{%%% 2002/07/11 v0.52o jurabib url repository}
2151     \gdef\jb@signature@line{%%% jurabib url repository}
2152     \gdef\jb@if@no@sigline#1#2{\ifx#1\jb@signature@line\else#2\fi}}
2153     \newcommand*\jb@chk@overwrite[1]{%
2154     \bgroup
2155     \openin\jb@tempfile=#1\relax
2156     \let\do\@makeother \dospecials
2157     \endlinechar\m@ne
2158     \ifeof\jb@tempfile
2159     % \typeout{File `#1' doesn't exist}%
2160     \else
2161     \read\jb@tempfile to\@tempa
2162     \ifeof\jb@tempfile
2163     % \typeout{File `#1' is empty}%
2164     \else
2165     \jb@if@no@sigline{\@tempa}{%
2166     \ClassError{jurabib}{%
2167     file `#1' not written by jurabib%
2168     }{%
2169     This doesn't look like a file written by jurabib.^^J%
2170     Please save any valuable information contained in this file^^J%
2171     to another place.^^J%
2172     If you hit RETURN now, the file will be overwritten.^^J%
2173     }%
2174     }%
2175     \fi
2176     \fi
2177     \closein\jb@tempfile
2178     \egroup
2179     % arrive here only if the user didn't abort, erase the file:
2180     \immediate\openout\jb@urlfile#1
2181     % ... and write our `signature line' to it:
2182     \immediate\write\jb@urlfile{\jb@signature@line}%
2183     \AtEndDocument{\closeout\jb@urlfile}
2184     }
2185     \jb@chk@overwrite{\jobname.url}
2186     % ------------------------- NEW URL Interface --------------------------------
2187     \DeclareRobustCommand{\lookatprefix}{}%
2188     \DeclareRobustCommand{\lookatsuffix}{}%
2189     \newcommand*{\noibidem}{%
2190     \gdef\jb@@lastauthorcite{}%
2191     \gdef\jb@@lastcoauthorcite{}%
2192     \gdef\jb@@lastpagecite{}%
2193     }%
2194     % NEW 0.5e
2195     \newcommand*{\noidem}{%
2196     \gdef\jb@@last@@author{}%
2197     \gdef\jb@@last@@title{}%
2198     }%
2199     \newcommand*{\nextcitefull}[1]{%
2200     {\@for\@tempa:=#1\do{%
2201     \global\@namedef{\@tempa}{allnextfull}}}%
2202     }%
2203     \newcommand*{\nextciteshort}[1]{%
2204     {\@for\@tempa:=#1\do{%
2205     \global\@namedef{\@tempa}{allnextshort}}}%
2206     }%
2207     \newcommand*{\nextcitenotitle}[1]{%
2208     {\@for\@tempa:=#1\do{%
2209     \global\@namedef{\@tempa}{allnextnotitle}}}%
2210     }%
2211     \newcommand*{\nextcitereset}[1]{%
2212     {\@for\@tempa:=#1\do{%
2213     \global\@namedef{\@tempa}{}}}%
2214     }%
2215     \newcommand*{\citeswithoutentry}[1]{%
2216     {\@for\@tempa:=#1\do{%
2217     \global\@namedef{NOBIB@\@tempa}{suppress}}}%
2218     }%
2219     % NEW v0.5b, to provide an interface where the publication types can be given
2220     % for those the title should appear, mainly used for legal articles ...
2221     % special thanks to Stefan Ulrich (once again)
2222     \newcommand*{\jb@cite@title@types}{}%
2223     \newcommand*{\jb@cite@notitle@types}{}%
2224     \newcommand*{\citetitlefortype}[1]{\gdef\jb@cite@title@types{#1}}%
2225     \newcommand*{\citenotitlefortype}[1]{\gdef\jb@cite@notitle@types{#1}}%
2226     \newcommand*{\jb@cite@title@for@type@hook}{%
2227     \@for\@tempa:=\jb@cite@title@types\do{%
2228     \protected@edef\@tempb{\jb@@type}%
2229     % comparing: \@tempa-\@tempb
2230     \ifx\@tempa\@tempb
2231     % Match!!
2232     \def\jb@@title@switch{1}%
2233     \fi
2234     }%
2235     }%
2236     \newcommand*{\jb@cite@no@title@for@type@hook}{%
2237     \@for\@tempa:=\jb@cite@notitle@types\do{%
2238     \protected@edef\@tempb{\jb@@type}%
2239     % comparing: \@tempa-\@tempb
2240     \ifx\@tempa\@tempb
2241     % Match!!
2242     \def\jb@@title@switch{-1}%
2243     \fi
2244     }%
2245     }%
2246     % NEW 0.52n, \citefullfirstfortype{<typelist>} allows to specify a list of publication types for which `citefull=first' works.
2247     \def\jb@@cite@fullfirst@switch{}%
2248     \newcommand*{\jb@cite@full@first@types}{}%
2249     \newcommand*{\citefullfirstfortype}[1]{\gdef\jb@cite@full@first@types{#1}}%
2250     \newcommand*{\jb@cite@full@first@fortype@hook}{%
2251     \@for\@tempa:=\jb@cite@full@first@types\do{%
2252     \protected@edef\@tempb{\jb@@type}%
2253     \ifx\@tempa\@tempb
2254     \def\jb@@cite@fullfirst@switch{1}%
2255     \fi
2256     }%
2257     }%
2258     \citefullfirstfortype{article,book,booklet,commented,inbook,incollection,inproceedings,jurthesis,manual,mastersthesis,misc,periodical,phdthesis,proceedings,techreport,unpublished,www}
2259     % NEW 0.52n, \citeworkwithtitle allows to specify a list of works, for those the title should always be printed.
2260     \newcommand*{\jb@cite@title@work}{}%
2261     \newcommand*{\citeworkwithtitle}[1]{\gdef\jb@cite@title@work{#1}}%
2262     \newcommand*{\jb@cite@title@for@work@hook}{%
2263     \@for\@tempa:=\jb@cite@title@work\do{%
2264     \protected@edef\@tempb{\jb@@newauthorcite}%
2265     \ifx\@tempa\@tempb
2266     \def\jb@@mult@switch{1}%
2267     \fi
2268     }%
2269     }%
2270     % NEW 0.5f special pages format possible for all publication types
2271     \newcommand*{\jb@start@page@for@types}{}%
2272     \newcommand*{\jb@start@page@for@types@arg}{}%
2273     \newcommand*{\jb@start@page@for@type@hook}{%
2274     \@for\@tempa:=\jb@start@page@for@types\do{%
2275     \protected@edef\@tempb{\jb@@type}%
2276     \ifx\@tempa\@tempb
2277     \def\jb@start@page@for@types@arg{1}%
2278     \fi
2279     }%
2280     }%
2281     % NEW 0.5e support for jchicago.bst
2282     \newcommand*{\jb@formatted@year}{\nobreakspace\textup{\jbcitationyearformat{\jb@@year}}}%
2283     % ^^^^^^^ to protect from smallcaps and ...
2284     \DeclareRobustCommand{\jbyear}{% NEW 0.5c
2285     \ifjb@author@year
2286     \ifthenelse{\equal{\jb@@year}{}}{%
2287     \@ifundefined{NOYEAR@\jb@@newauthorcite}{%
2288     \global\@namedef{NOYEAR@\jb@@newauthorcite}{}%
2289     \jb@package@warningNoLine{\jb@pkg@name}{%
2290     No year for `\jb@@newauthorcite'!}}{\relax}%
2291     \let\jbcitationyearformat\@empty
2292     }{%
2293     \jb@formatted@year%
2294     }%
2295     \fi
2296     }%
2297     % NEW 0.5f improved \bibYear macro, difference between citation and
2298     % bibliography introduced (suggested by Uwe Kellermann)
2299     \DeclareRobustCommand{\bibYear}[1]{% only for jureco.bst
2300     \ifx\relax#1\relax\else
2301     \nobreakspace\bibfnfont{%
2302     \textup{%
2303     % ^^^^^^^ to protect from smallcaps and ...
2304     \ifjbweareinbib
2305     \jbbibyearformat{#1}%
2306     \else
2307     \jbcitationyearformat{#1}%
2308     \fi
2309     }%
2310     }%
2311     \fi
2312     }%
2313     \DeclareRobustCommand{\jbts}{\textsuperscript}%
2314     \newcommand*{\bibleftcolumn}{\textwidth /3}
2315     \newcommand*{\bibrightcolumn}{\textwidth-\bibleftcolumn-1cm}
2316     \newcommand*{\bibleftcolumnadjust}{\raggedright}%
2317     \newcommand*{\bibrightcolumnadjust}{\raggedright}%
2318     \newcommand*{\bibaltformatalign}{\relax}%
2319     \newcommand*{\jbdebug}{\jb@debugtrue
2320     \jb@info{*** Debugging ON ***}%
2321     \footnote{\textcolor[named]{Blue}{[volles Erstzitat]}}%
2322     \footnote{\textcolor[named]{Red}{[volles Wiederholungszitat]}}%
2323     \footnote{\textcolor[named]{Dandelion}{[Kurzzitat]}}%
2324     \footnote{\textcolor[named]{WildStrawberry}{[ibidem]}}%
2325     \footnote{\textcolor[named]{Gray}{[Titel ersetzt]}}%
2326     % \renewcommand*{\@biblabel}[1]{%
2327     % \footnotesize\textcolor[named]{NavyBlue}{##1}}%
2328     \setcounter{footnote}{0}%
2329     }%
2330     \DeclareRobustCommand{\jbhowsepcoauthorlast}{{\normalfont\slash}}%
2331     \DeclareRobustCommand{\jbhowsepbeforetitle}{\space}%
2332     % special separation after ed's.
2333     \DeclareRobustCommand{\jbhowsepbeforetitleae}{\jbhowsepbeforetitle}%
2334     \DeclareRobustCommand{\jbhowsepbeforetitleibidemname}{,}%
2335     \DeclareRobustCommand{\jbhowsepcoauthorfirst}{}%
2336     % 0.51p changed, bug reported by Tilman Finke
2337     \newcommand*{\jbbeforestartpagesep}{\space}%
2338     \renewcommand*{\@biblabel}[1]{}%
2339     % added
2340     \newcommand*{\jb@firstofseven} [7]{#1}%
2341     \newcommand*{\jb@secondofseven} [7]{#2}%
2342     \newcommand*{\jb@thirdofseven} [7]{#3}%
2343     \newcommand*{\jb@fourthofseven} [7]{#4}%
2344     \newcommand*{\jb@fifthofseven} [7]{#5}%
2345     \newcommand*{\jb@sixthofseven} [7]{#6}%
2346     \newcommand*{\jb@seventhofseven}[7]{#7}%
2347     \def\jb@@author{\expandafter\jb@firstofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!!
2348     \def\jb@@shorttitle{\expandafter\jb@secondofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!!
2349     % \jb@thirdofseven=\jb@tempb !!!!
2350     % \jb@fourthofseven=\jb@tempc !!!!
2351     \def\jb@@fullname{\expandafter\jb@fifthofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!!
2352     % \jb@@fullname test for empty doesn't give the right results!!
2353     \def\jb@@fulltitle{\expandafter\jb@sixthofseven\jb@tempa\@empty\unskip}%
2354     %\jb@seventhofseven=\@empty !!!!
2355     \newcommand*{\jb@firstofnine} [9]{#1}%
2356     \newcommand*{\jb@secondofnine} [9]{#2}%
2357     \newcommand*{\jb@thirdofnine} [9]{#3}%
2358     \newcommand*{\jb@fourthofnine} [9]{#4}%
2359     \newcommand*{\jb@fifthofnine} [9]{#5}%
2360     \newcommand*{\jb@sixthofnine} [9]{#6}%
2361     \newcommand*{\jb@seventhofnine}[9]{#7}%
2362     \newcommand*{\jb@eighthofnine} [9]{#8}%
2363     \newcommand*{\jb@ninethofnine} [9]{#9}%
2364     \def\jb@@mult@switch{\expandafter\jb@firstofnine\jb@tempb}%
2365     \def\jb@@howcited{\expandafter\jb@secondofnine\jb@tempb}%
2366     \def\jb@@type{\expandafter\jb@thirdofnine\jb@tempb}%
2367     \def\jb@@year{\expandafter\jb@fourthofnine\jb@tempb}%
2368     \def\jb@@edition{\expandafter\jb@fifthofnine\jb@tempb}%
2369     \def\jb@@edition@switch{\expandafter\jb@sixthofnine\jb@tempb}%
2370     \def\jb@@language{\expandafter\jb@seventhofnine\jb@tempb}%
2371     \def\jb@@pages{\expandafter\jb@eighthofnine\jb@tempb}%
2372     \def\jb@@apy{\expandafter\jb@ninethofnine\jb@tempb}%
2373     %
2374     \def\jb@@title{\expandafter\jb@firstofnine\jb@tempc}%
2375     \def\jb@@gender{\expandafter\jb@secondofnine\jb@tempc}%
2376     %
2377     %\def\jb@@{\expandafter\jb@fourthofnine\jb@tempc}%
2378     %\def\jb@@{\expandafter\jb@fifthofnine\jb@tempc}%
2379     %\def\jb@@{\expandafter\jb@sixthofnine\jb@tempc}%
2380     %\def\jb@@{\expandafter\jb@seventhofnine\jb@tempc}%
2381     %\def\jb@@{\expandafter\jb@eighthofnine\jb@tempc}%
2382     %\def\jb@@{\expandafter\jb@ninethofnine\jb@tempc}%
2383     \def\jb@@title@switch{}%
2384     % NEW 0.5f new command
2385     \newcommand*{\jb@extract}{%
2386     \protected@edef\jb@tempa{\csname b@\@citeb\@extra@b@citeb\endcsname}%
2387     \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}%
2388     \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}%
2389     }%
2390     \def\jb@use@fullcite{%
2391     \ifthenelse{\equal{\jb@@author}{empty}}{%
2392     \ifthenelse{\equal{\jb@@fullname}{\@empty}}{%
2393     \jb@@fulltitle%
2394     }{%
2395     \jb@@fullname\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle\unskip%
2396     }%
2397     }{%
2398     \ifthenelse{\equal{\jb@@fullname}{\@empty}}{%
2399     \jbauthorfont{\jb@@author}\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle%
2400     }{%
2401     \jb@@fullname\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle\unskip%
2402     }%
2403     }%
2404     }%
2405     \newcommand*{\jb@extraspace}{\space}%
2406     % chapterbib compatibility
2407     \@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{}%
2408     % bibunits compatibility
2409     \newcommand*{\jb@save@auxfile}{\let\jb@auxout@bak\@auxout}%
2410     \newcommand*{\jb@restore@auxfile}{\let\@auxout\jb@auxout@bak}
2411     \providecommand\hyper@natlinkstart[1]{}%
2412     \providecommand\hyper@natlinkend{}%
2413     \providecommand\hyper@natanchorstart[1]{}%
2414     \providecommand\hyper@natanchorend{}%
2415     \def\hyper@jblinkstart{\hyper@natlinkstart}
2416     \def\hyper@jblinkend{\hyper@natlinkend}
2417     \def\hyper@jbanchorstart{\hyper@natanchorstart}
2418     \def\hyper@jbanchorend{\hyper@natanchorend}
2419     \def\NAT@parse{}%
2420     \def\Hy@reserved@a{}%
2421     \newcounter{jbbibcnt}%
2422     \newcounter{jbbibcnta}%
2423     \newcounter{idemcnt}% NEW 0.5e idem feature
2424     \newcounter{bibnamereplace}%
2425     \newcounter{citefull}%
2426     \newcounter{opcit}%
2427     % NEW 0.52l
2428     \newcounter{jb@cites@in@footnote}
2429     \newcommand*{\samepageibidemname}{\ibidemname}
2430     \newcommand*{\samepageibidemmidname}{\ibidemmidname}
2431     \newcommand*{\diffpageibidemname}{\ibidemname}
2432     \newcommand*{\diffpageibidemmidname}{\ibidemmidname}
2433     \newcommand*{\IbidemName}{\ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\samepageibidemname}{\diffpageibidemname}}
2434     \newcommand*{\IbidemMidName}{\ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\samepageibidemmidname}{\diffpageibidemmidname}}
2435     \newcommand*{\jb@@lastpagecite}{}%
2436     \newcommand*{\jb@@lastcoauthorcite}{}%
2437     \newcommand*{\jb@@lastauthorcite}{}%
2438     \newcommand*{\jb@getsecondarg}{}%
2439     \long\def\jb@getsecondarg#1#2#3\@nil{#2}%
2440     \newcommand*{\jb@simple@pageref@by@heiko}[1]{%
2441     \expandafter\expandafter\expandafter\jb@getsecondarg
2442     \csname r@#1\endcsname{??}\@nil}%
2443     \newcommand*{\jb@checked@edition}{}%
2444     \newcommand*{\jb@aftertitleedition}{}%
2445     \newcommand*{\jb@handle@superscript@ed}{%
2446     \let\jb@checked@edition\@empty % complete removal of superscript edition or
2447     %\let\jb@kerning@title@ed\@empty % only removal of kerning?
2448     %\let\jb@kerning@notitle@ed\@empty %
2449     }%
2450     % changed for 05.f
2451     \newcommand*{\jb@formatted@author}{%
2452     \ifjbcross
2453     \ifthenelse{%
2454     \equal{\jb@inside@author}{\jb@inside@editor}%
2455     \and\boolean{jb@idem}%
2456     }{%
2457     \jb@@fullname% contains `idem, editor'
2458     }{%
2459     \jbauthorfont{\jb@@author}\ifjb@yearafterauthor\jbyear\fi
2460     }%
2461     \else
2462     \jbauthorfont{\jb@@author}\ifjb@yearafterauthor\jbyear\fi
2463     \fi
2464     }%
2465     \newcommand*{\jb@formatted@co@author}{%
2466     \jbcoauthorfont{\jb@@newcoauthorcite}}%
2467     % changed for 0.5e
2468     \newcommand*{\jb@formatted@co@author@see}{%
2469     \textup{\jb@@newcoauthorcite}\ifthenelse{\equal{\jb@@newcoauthorcite}{}}{}{\space}}%
2470     \newcommand*{\jb@formatted@co@author@in}{%
2471     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{\relax}{%
2472     \jbcoauthorfont{\jb@@newcoauthorcite}\jbhowsepcoauthorfirst}}%
2473     \newcommand*{\jb@checked@title}{%
2474     \ifjbhum
2475     \ifthenelse{\equal{\jb@@type}{book}}{%
2476     \let\jbtitlefont\jbbtfont}{\let\jbtitlefont\jbapifont}%
2477     \fi
2478     \ifthenelse{\equal{\jb@@shorttitle}{}}{%
2479     \ifjb@author@year\else% NEW 0.52i, no title, but shorttitle if `authorformat=year' is used.
2480     \ifjb@no@title@replace\else
2481     \ifjb@noauthorforcitetitle\else
2482     \normalfont{\jbhowsepbeforetitle}%
2483     \fi
2484     \fi
2485     \ifjb@no@title@replace\else
2486     \@ifundefined{REPL@\jb@@newauthorcite}{%
2487     \global\@namedef{REPL@\jb@@newauthorcite}{}%
2488     \jb@package@warning{\jb@pkg@name}{%
2489     `shorttitle' for `\jb@@newauthorcite'\MessageBreak
2490     is missing -- replacing with `title'\MessageBreak
2491     field}}{}%
2492     \ifjb@debug
2493     \textcolor[named]{Gray}{%
2494     \ifjb@debug@br[\fi
2495     \jbtitlefont{\jb@@title}%
2496     \ifjb@debug@br]\fi
2497     }%
2498     \else
2499     \jbtitlefont{\jb@@title}%
2500     \fi%
2501     \fi
2502     \fi
2503     }{%
2504     \ifjb@noauthorforcitetitle\else
2505     \normalfont{\jbhowsepbeforetitle}%
2506     \fi
2507     \jbtitlefont{\jb@@shorttitle}%
2508     % NEW 0.5f: switch for howcited=compare, we have to know, if the shorttitle was used.
2509     \@ifundefined{TITLE@\jb@@newauthorcite}{%
2510     \global\@namedef{TITLE@\jb@@newauthorcite}{used}%
2511     }{}%
2512     }%
2513     }%
2514     % NEW 0.5f analogous to previous command, primarily for oxford crossref command
2515     \newcommand*{\jb@checked@author}{%
2516     \ifthenelse{\equal{\jb@@fullname}{}}{%
2517     \ifthenelse{\equal{\jb@@author}{}}{%
2518     \relax
2519     }{%
2520     \jbauthorfont{\jb@@author}%
2521     }%
2522     }{%
2523     \jbauthorfont{\jb@@fullname}%
2524     }%
2525     }%
2526     \newcommand*{\jb@make@coauthor@emph}{%
2527     \ifjb@dynamic@author@fonts%
2528     \let\jbcoauthorfont\jbactualauthorfont%
2529     \let\jbauthorfont\jbauthorfontifcoauthor%
2530     \fi
2531     }%
2532     \newcommand*{\jb@make@author@emph}{%
2533     \ifjb@dynamic@author@fonts%
2534     \let\jbauthorfont\jbactualauthorfont%
2535     \let\jbcoauthorfont\normalfont%
2536     \fi
2537     }%
2538     \newcommand*{\jb@relaxcommandsforfullcite}{%
2539     \let\IbidemName\@empty
2540     \let\jb@@author\@empty
2541     \let\jb@@title\@empty
2542     % NEW 0.5e bug removed for ibidem'ed citations, wrong error message about missing shorttitle
2543     % (although given), submitted by Andreas K. Foerster (<AKFoerster@nikocity.de>)
2544     % changed \@empty to \relax
2545     \let\jb@@shorttitle\relax
2546     % NEW 0.5c
2547     \let\jbyear\@empty
2548     \let\jb@checked@edition\@empty
2549     \let\jb@@newcoauthorcite\@empty
2550     \let\jbhowsepbeforetitle\@empty
2551     % NEW 0.5e humanities stuff
2552     \let\jbapifont\@empty
2553     \let\jbbtfont\@empty
2554     % NEW 0.5f avoid output of \jb@formatted@author after fullcite's
2555     \let\jb@formatted@author\@empty
2556     % CHANGED 0.51h kerning routine removed
2557     % \ifjb@ssed@kerning@wanted
2558     % % no ssedkerning for fullcite
2559     % \setlength{\jb@length@i}{0pt}%
2560     % \setlength{\jb@length@ii}{0pt}%
2561     % \setlength{\jb@length@iii}{0pt}%
2562     % \renewcommand*{\jb@kern@before@sepi}{}%
2563     % \renewcommand*{\jb@kern@before@sepii}{}%
2564     % \renewcommand*{\jb@kern@before@sepiii}{}%
2565     % \renewcommand*{\jb@kern@after@sepi}{ }%
2566     % \renewcommand*{\jb@kern@after@sepii}{ }%
2567     % \renewcommand*{\jb@kern@after@sepiii}{ }%
2568     % \fi
2569     }%
2570     \newcommand*{\jb@checkperiod}[1]{\jb@periodfalse\jb@@checkperiod#1.\jb@@end}%
2571     \newcommand*{\jb@@checkperiod}{}%
2572     \long\def\jb@@checkperiod#1.#2\jb@@end{%
2573     \ifthenelse{\equal{#1}{}}{\jb@periodtrue\let\ecmd\relax}{%
2574     \ifthenelse{\equal{#2}{}}{\let\ecmd\relax}{%
2575     \def\ecmd{\jb@@checkperiod#2\jb@@end}}}\ecmd}%
2576     \newlength{\jbbibhang}
2577     \setlength{\jbbibhang}{2.5em}
2578     \newlength{\jbnumberbibwidth}
2579     \settowidth{\jbnumberbibwidth}{8888.\,}
2580     \DeclareRobustCommand{\jb@checked@bibetal}{%
2581     \ifjb@bibetal
2582     \unskip\nobreakspace%
2583     \ifjb@cite@no@title
2584     \ifx\jb@@newpagecite\@empty
2585     \bibIMfont{\etalnamenodot}%
2586     \else
2587     \bibIMfont{\etalname}%
2588     \fi
2589     \else
2590     \bibIMfont{\etalname}%
2591     \fi
2592     \fi
2593     }
2594     \DeclareRobustCommand{\Bibetal}{\jb@checked@bibetal\global\jbetaltrue}
2595     % CHANGED rewritten in 0.5f
2596     \newcommand*{\jb@checked@etal}{%
2597     \let\@latex@info\@gobble
2598     \DeclareRobustCommand{\Bibetal}{%
2599     \bibIMfont{\etalname}%
2600     \ifthenelse{\equal{\jb@@newpagecite}{}%
2601     \or
2602     \(
2603     \boolean{jb@firstcite@full}%
2604     \and
2605     \equal{\jb@@newpagecite}{}%
2606     \and
2607     \equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}%
2608     \)
2609     }{%
2610     % CHANGED 0.5f, boole'd
2611     \ifthenelse{%
2612     \not\boolean{jbcross}% NEW, otherwise missing footnote period for citations containing crossref's
2613     \and
2614     \not\boolean{jb@lookat}%
2615     \and
2616     \not\boolean{jb@author@year}%
2617     \and
2618     \not\boolean{jb@fullcite@again}%
2619     \and
2620     \not\equal{\jb@@mult@switch}{1}%
2621     }{%
2622     \global\jb@footnote@periodfalse
2623     }{}%
2624     }{}%
2625     }%
2626     }%
2627     \newcommand*{\jb@missing@ldf@files}[1]{\ClassError{\jb@pkg@name}{You are in trouble here.\MessageBreak%
2628     File `#1' not found}{Make sure that all .ldf files are living in the jurabib directory!}}%
2629     \gdef\@bibsfrench{\InputIfFileExists{frjbbib.ldf}{}{\jb@missing@ldf@files{frjbbib.ldf}}}%
2630     \gdef\@bibsgerman{\InputIfFileExists{dejbbib.ldf}{}{\jb@missing@ldf@files{dejbbib.ldf}}}%
2631     \gdef\@bibsaustrian{\InputIfFileExists{dejbbib.ldf}{}{\jb@missing@ldf@files{dejbbib.ldf}}\def\janname{J{^^e4}nner}}%
2632     \gdef\@bibsenglish{\InputIfFileExists{enjbbib.ldf}{}{\jb@missing@ldf@files{enjbbib.ldf}}}%
2633     \gdef\@bibsdutch{\InputIfFileExists{dujbbib.ldf}{}{\jb@missing@ldf@files{dujbbib.ldf}}}%
2634     \gdef\@bibsspanish{\InputIfFileExists{spjbbib.ldf}{}{\jb@missing@ldf@files{spjbbib.ldf}}}%
2635     \gdef\@bibsitalian{\InputIfFileExists{itjbbib.ldf}{}{\jb@missing@ldf@files{itjbbib.ldf}}}%
2636     \gdef\@bibsnorsk{\InputIfFileExists{nojbbib.ldf}{}{\jb@missing@ldf@files{nojbbib.ldf}}}%
2637     \newcommand*{\jb@kv@warning}[2]{%
2638     \jb@package@warningNoLine{\jb@pkg@name}{%
2639     unrecognized value `#1'\MessageBreak
2640     for key `#2' ignored}}
2641     \define@key{jb}{authorformat}{%
2642     \@for\jb@val:=#1\do{%
2643     \jb@kv@recognizedfalse
2644     \ifthenelse{\equal{\jb@val}{smallcaps}}{%
2645     \jb@kv@recognizedtrue
2646     \renewcommand*{\jbauthorfont}{\textsc}%
2647     \renewcommand*{\jbauthorfnfont}{\textsc}%
2648     \renewcommand*{\jborgauthorfont}{\textsc}%
2649     \renewcommand*{\jbcoauthorfont}{\textsc}%
2650     }{\relax}%
2651     \ifthenelse{\equal{\jb@val}{italic}}{%
2652     \jb@kv@recognizedtrue
2653     \renewcommand*{\jbauthorfont}{\textit}%
2654     \renewcommand*{\jbauthorfnfont}{\textit}%
2655     \renewcommand*{\jborgauthorfont}{\textit}%
2656     \renewcommand*{\jbcoauthorfont}{\textit}%
2657     }{\relax}%
2658     \ifthenelse{\equal{\jb@val}{dynamic}}{%
2659     \jb@kv@recognizedtrue
2660     \jb@dynamic@author@fontstrue
2661     }{\relax}%
2662     \ifthenelse{\equal{\jb@val}{citationreversed}}{%
2663     \jb@kv@recognizedtrue
2664     \jb@reverse@names@in@citationtrue
2665     \jb@reverse@all@namesfalse
2666     }{\relax}%
2667     \ifthenelse{\equal{\jb@val}{firstnotreversed}}{%
2668     \jb@kv@recognizedtrue
2669     \jb@first@author@reversedtrue
2670     }{\relax}%
2671     \ifthenelse{\equal{\jb@val}{allreversed}}{%
2672     \jb@kv@recognizedtrue
2673     \jb@reverse@all@namestrue
2674     \global\let\bibnf\bibrnf
2675     \global\let\bibenf\bibrenf
2676     % NEW 0.5f
2677     \global\let\biblenf\bibrlenf
2678     }{\relax}%
2679     \ifthenelse{\equal{\jb@val}{reducedifibidem}}{%
2680     \jb@kv@recognizedtrue
2681     \jb@ibidem@with@short@nametrue
2682     }{\relax}%
2683     \ifthenelse{\equal{\jb@val}{year}}{%
2684     \jb@kv@recognizedtrue
2685     \jb@author@yeartrue
2686     \jb@yearafterauthortrue
2687     \jbshowbibextralabel
2688     }{\relax}%
2689     \ifthenelse{\equal{\jb@val}{indexed}}{%
2690     \jb@kv@recognizedtrue
2691     \jb@indextrue
2692     }{\relax}%
2693     \ifthenelse{\equal{\jb@val}{and}}{%
2694     \jb@kv@recognizedtrue
2695     \addto\@bibsgerman{%
2696     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2697     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2698     \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }%
2699     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2700     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2701     \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }%
2702     % ed section
2703     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2704     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2705     \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }%
2706     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2707     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2708     \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }%
2709     }%
2710     \addto\@bibsenglish{%
2711     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2712     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2713     \DeclareRobustCommand\jbbstasep {\unskip\bibIMfont{\commaname{} \textandname} }%
2714     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2715     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2716     \DeclareRobustCommand\bibbstasep{\unskip\bibIMfont{\commaname{} \bibandname} }%
2717     % ed section
2718     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2719     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2720     \DeclareRobustCommand\jbbstesep {\unskip\bibEIMfont{\commaename{} \texteandname} }%
2721     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2722     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2723     \DeclareRobustCommand\bibbstesep{\unskip\bibEIMfont{\commaename{} \bibeandname} }%
2724     }%
2725     \addto\@bibsfrench{%
2726     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2727     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2728     \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }%
2729     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2730     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2731     \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }%
2732     % ed section
2733     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2734     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2735     \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }%
2736     \DeclareRobustCommand\bibbstasep{ \bibEIMfont{\bibandname} }%
2737     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2738     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2739     \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }%
2740     }%
2741     \addto\@bibsdutch{%
2742     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2743     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2744     \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }%
2745     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2746     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2747     \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }%
2748     % ed section
2749     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2750     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2751     \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }%
2752     \DeclareRobustCommand\bibbstasep{ \bibEIMfont{\bibandname} }%
2753     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2754     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2755     \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }%
2756     }%
2757     \addto\@bibsspanish{%
2758     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2759     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2760     \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }%
2761     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2762     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2763     \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }%
2764     % ed section
2765     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2766     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2767     \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }%
2768     \DeclareRobustCommand\bibbstasep{ \bibEIMfont{\bibandname} }%
2769     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2770     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2771     \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }%
2772     }%
2773     \addto\@bibsitalian{%
2774     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2775     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2776     \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }%
2777     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2778     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2779     \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }%
2780     % ed section
2781     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2782     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2783     \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }%
2784     \DeclareRobustCommand\bibbstasep{ \bibEIMfont{\bibandname} }%
2785     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2786     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2787     \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }%
2788     }%
2789     \addto\@bibsnorsk{%
2790     \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }%
2791     \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }%
2792     \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }%
2793     \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }%
2794     \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }%
2795     \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }%
2796     % ed section
2797     \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }%
2798     \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }%
2799     \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }%
2800     \DeclareRobustCommand\bibbstasep{ \bibEIMfont{\bibandname} }%
2801     \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }%
2802     \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }%
2803     \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }%
2804     }%
2805     }{\relax}%
2806     \ifthenelse{\equal{\jb@val}{abbrv}}{%
2807     \jb@kv@recognizedtrue
2808     \jb@abbrvtrue
2809     }{\relax}%
2810     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{authorformat}\fi
2811     }%
2812     }%
2813     \define@key{jb}{coauthorformat}{%
2814     % NEW 0.5d
2815     \@for\jb@val:=#1\do{%
2816     \jb@kv@recognizedfalse
2817     \ifthenelse{\equal{\jb@val}{italic}}{%
2818     \jb@kv@recognizedtrue
2819     \renewcommand*{\jbcoauthorfont}{\textit}%
2820     }{\relax}%
2821     \ifthenelse{\equal{\jb@val}{normal}}{%
2822     \jb@kv@recognizedtrue
2823     \renewcommand*{\jbcoauthorfont}{\normalfont}%
2824     }{\relax}%
2825     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{coauthorformat}\fi
2826     }%
2827     }%
2828     \define@key{jb}{superscriptedition}[commented]{%
2829     % NEW 0.5d
2830     \@for\jb@val:=#1\do{%
2831     \jb@kv@recognizedfalse
2832     \ifthenelse{\equal{\jb@val}{all}}{%
2833     \jb@kv@recognizedtrue\jb@ssed@alltrue}{}%
2834     \ifthenelse{\equal{\jb@val}{commented}}{%
2835     \jb@kv@recognizedtrue\jb@ssed@commentedtrue}{}%
2836     \ifthenelse{\equal{\jb@val}{switch}}{%
2837     \jb@kv@recognizedtrue\jb@ssed@swtrue}{}%
2838     \ifthenelse{\equal{\jb@val}{bib}\or\equal{\jb@val}{address}}{%
2839     \jb@kv@recognizedtrue\jb@bibssedtrue
2840     % NEW 0.5f gobbling \jbedition inside \apyformat causes errors in first bibliographic entry,
2841     % bug reported by Andrea Heilmann (<andrea.heilmann@t-online.de>)
2842     \let\jbedition\@gobble}{}%
2843     \ifthenelse{\equal{\jb@val}{multiple}}{%
2844     \jb@kv@recognizedtrue\jb@ssed@mult@workstrue}{}%
2845     \ifthenelse{\equal{\jb@val}{kerning}}{%
2846     \jb@kv@recognizedtrue\jb@ssed@kerning@wantedtrue}{}%
2847     % NEW 0.51j
2848     \ifthenelse{\equal{\jb@val}{year}}{\jb@kv@recognizedtrue
2849     \renewcommand*{\jbssedbd}{\textsuperscript}%
2850     \let\jbedition\@gobble\DeclareRobustCommand{\apyformat}[1]{%
2851     \unskip\unskip\space\bibapyldelim{}##1\bibapyrdelim{}}
2852     }{}%
2853     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{superscriptedition}\fi
2854     }%
2855     }%
2856     \define@key{jb}{titleformat}{%
2857     % NEW 0.5d
2858     \@for\jb@val:=#1\do{%
2859     \jb@kv@recognizedfalse
2860     \ifthenelse{\equal{\jb@val}{italic}}{%
2861     \jb@kv@recognizedtrue
2862     \DeclareRobustCommand{\jbtitlefont}{\textit}%
2863     }{\relax}%
2864     \ifthenelse{\equal{\jb@val}{all}}{%
2865     \jb@kv@recognizedtrue
2866     \ifjb@no@title@replace
2867     \global\jb@no@title@replacefalse
2868     \jb@package@warningNoLine{\jb@pkg@name}{%
2869     `titleformat=all' and `titleformat=noreplace'\MessageBreak
2870     cannot be used together. I will replace missing\MessageBreak
2871     shorttitles to avoid ambiguity of citations}%
2872     \fi
2873     \jb@all@titlestrue
2874     }{\relax}%
2875     \ifthenelse{\equal{\jb@val}{noreplace}}{%
2876     \jb@kv@recognizedtrue
2877     \jb@no@title@replacetrue
2878     }{\relax}%
2879     \ifthenelse{\equal{\jb@val}{commasep}}{%
2880     \jb@kv@recognizedtrue
2881     \jb@before@title@separatortrue
2882     % NEW 0.5e making \jbhowsepbeforetitle again a two char command
2883     \renewcommand*{\jbhowsepbeforetitle}{, }%
2884     }{\relax}%
2885     \ifthenelse{\equal{\jb@val}{colonsep}}{%
2886     \jb@kv@recognizedtrue
2887     \jb@before@title@separatortrue
2888     % NEW 0.5e making \jbhowsepbeforetitle again a two char command
2889     \renewcommand*{\jbhowsepbeforetitle}{: }%
2890     }{\relax}%
2891     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{titleformat}\fi
2892     }%
2893     }%
2894     \define@key{jb}{din}[true]{%
2895     \AtEndOfPackage{%
2896     \DeclareRobustCommand{\biblnfont}{\textsc}%
2897     \DeclareRobustCommand{\bibfnfont}{\normalfont}%
2898     \DeclareRobustCommand{\bibbtfont}{\textit}%
2899     \DeclareRobustCommand{\bibtfont}{\textit}%
2900     \DeclareRobustCommand{\bibjtfont}{\textit}%
2901     \DeclareRobustCommand{\bibapifont}{\normalfont}%
2902     \DeclareRobustCommand{\bibatsep}{.}%
2903     \DeclareRobustCommand{\bibbtsep}{\inname: }%
2904     \DeclareRobustCommand{\bibjtsep}{\inname: }%
2905     }%
2906     }%
2907     \define@key{jb}{howcited}[normal]{%
2908     \@for\jb@val:=#1\do{%
2909     \jb@kv@recognizedfalse
2910     \ifthenelse{\equal{\jb@val}{all}}{%
2911     \jb@kv@recognizedtrue
2912     \jb@howcitedtrue
2913     \jb@howcited@alltrue
2914     }{\relax}%
2915     \ifthenelse{\equal{\jb@val}{normal}}{%
2916     \jb@kv@recognizedtrue
2917     \jb@howcitedtrue
2918     \jb@howcited@normaltrue
2919     }{\relax}%
2920     \ifthenelse{\equal{\jb@val}{multiple}}{%
2921     \jb@kv@recognizedtrue
2922     \jb@howcitedtrue
2923     \jb@howcited@multipletrue
2924     }{\relax}%
2925     \ifthenelse{\equal{\jb@val}{compare}}{%
2926     \jb@kv@recognizedtrue
2927     \jb@howcitedtrue
2928     \jb@howcited@comparetrue
2929     }{\relax}%
2930     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{howcited}\fi
2931     }%
2932     \renewcommand*{\jbrealcitation}[2]{%
2933     \@ifundefined{b@##2@C}{\global\@namedef{b@##2@C}{cite}}{\relax}%
2934     \ifthenelse{\equal{##1}{citetitle}}{%
2935     \global\@namedef{b@##2@C}{citetitle}}{\relax}%
2936     \ifthenelse{\equal{##1}{citenotitle}}{%
2937     \global\@namedef{b@##2@C}{citenotitle}}{\relax}}%
2938     }%
2939     \define@key{jb}{cofirstsep}{%
2940     \jb@kv@recognizedfalse
2941     \ifthenelse{\equal{#1}{comma}}{%
2942     \jb@kv@recognizedtrue
2943     \jb@coauthor@lastfalse
2944     \renewcommand*{\jbhowsepcoauthorfirst}{, }%
2945     }{\relax}%
2946     \ifthenelse{\equal{#1}{in}}{%
2947     \jb@kv@recognizedtrue
2948     \jb@coauthor@lastfalse
2949     \renewcommand*{\jbhowsepcoauthorfirst}{~in: }%
2950     }{\relax}%
2951     \ifjb@kv@recognized\else\jb@kv@warning{#1}{cofirstsep}\fi
2952     }%
2953     \define@key{jb}{colastsep}{%
2954     \jb@kv@recognizedfalse
2955     \ifthenelse{\equal{#1}{divis}}{%
2956     \jb@kv@recognizedtrue
2957     \jb@coauthor@lasttrue
2958     \renewcommand*{\jbhowsepcoauthorlast}{--}%
2959     }{\relax}%
2960     \ifjb@kv@recognized\else\jb@kv@warning{#1}{colastsep}\fi
2961     }%
2962     \define@key{jb}{commabeforerest}[true]{\jb@comma@before@resttrue\renewcommand*{\jbbeforestartpagesep}{,\space}}%
2963     \define@key{jb}{bibformat}{%
2964     \@for\jb@val:=#1\do{%
2965     \jb@kv@recognizedfalse
2966     \ifthenelse{\equal{\jb@val}{compress}}{%
2967     \jb@kv@recognizedtrue
2968     \jb@compressed@bibtrue
2969     }{\relax}%
2970     \ifthenelse{\equal{\jb@val}{raggedright}}{%
2971     \jb@kv@recognizedtrue
2972     \addto\jbonlyforbib{\raggedright}
2973     \let\bibaltformatalign\raggedright
2974     }{\relax}%
2975     \ifthenelse{\equal{\jb@val}{tabular}}{%
2976     \jb@kv@recognizedtrue
2977     \jb@tabulartrue\jb@bib@hangfalse
2978     }{\relax}%
2979     \ifthenelse{\equal{\jb@val}{numbered}}{%
2980     \jb@kv@recognizedtrue
2981     \jb@numbered@bibtrue
2982     }{\relax}%
2983     \ifthenelse{\equal{\jb@val}{ibidem}}{%
2984     \jb@kv@recognizedtrue
2985     \jb@bibformat@ibidemtrue
2986     }{\relax}%
2987     \ifthenelse{\equal{\jb@val}{ibidemalt}}{%
2988     \jb@kv@recognizedtrue
2989     \jb@bibformat@ibidemtrue
2990     \jbaltformattrue
2991     % CH 0.51w removed
2992     % \let\fsted\@gobble
2993     % \let\bibedformat\@gobble
2994     \jb@compressed@bibtrue % make a compressed list
2995     }{\relax}%
2996     \ifthenelse{\equal{\jb@val}{nohang}}{%
2997     \jb@kv@recognizedtrue
2998     \jb@bib@hangfalse
2999     }{\relax}%
3000     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{bibformat}\fi
3001     }%
3002     }%
3003     \define@key{jb}{citefull}[all]{%
3004     \@for\jb@val:=#1\do{%
3005     \jb@kv@recognizedfalse
3006     \ifthenelse{\equal{\jb@val}{first}}{%
3007     \jb@kv@recognizedtrue
3008     \jb@change@fonts@for@fullcitetrue
3009     \jb@firstcite@fulltrue
3010     \jb@allow@nobibtrue
3011     \global\jb@coauthor@lastfalse
3012     % make sure see is off for `in'
3013     \ifjb@see\else\renewcommand*{\jbhowsepcoauthorfirst}{~in: }\fi
3014     \jb@all@fullfalse
3015     }{%
3016     \ifthenelse{\equal{\jb@val}{all}}{%
3017     \jb@kv@recognizedtrue
3018     \jb@all@fulltrue
3019     \jb@allow@nobibtrue
3020     \global\jb@howcitedfalse
3021     \global\jb@coauthor@lastfalse
3022     % make sure see is off for `in'
3023     \ifjb@see\else\renewcommand*{\jbhowsepcoauthorfirst}{~in: }\fi
3024     \jb@firstcite@fullfalse
3025     }{\relax}%
3026     }%
3027     \ifthenelse{\equal{\jb@val}{chapter}}{%
3028     \jb@kv@recognizedtrue
3029     \@ifundefined{chapter}{%
3030     \ClassError{\jb@pkg@name}{%
3031     Sorry, `citefull=chapter' makes no sense for\MessageBreak
3032     classes without \string\chapter%
3033     }{Try `citefull=section' for an article class}}{}%
3034     \setkeys{jb}{citefull=first}%
3035     \@addtoreset{citefull}{chapter}%
3036     \def\jb@resetfor{chapter}%
3037     \def\jb@reset@look@label@for{\thechapter}% for lookat
3038     }{%
3039     \ifthenelse{\equal{\jb@val}{section}}{%
3040     \jb@kv@recognizedtrue
3041     \@ifundefined{chapter}{}{%
3042     \jb@package@warningNoLine{\jb@pkg@name}{%
3043     `citefull=section' was designed for use with\MessageBreak
3044     an article class, note that it's not well\MessageBreak
3045     tested for use with book or report classes}}%
3046     \setkeys{jb}{citefull=first}%
3047     \@addtoreset{citefull}{section}%
3048     \def\jb@resetfor{section}%
3049     \def\jb@reset@look@label@for{\thesection}% for lookat, to check
3050     }{%
3051     % NEW 0.5e false value to override .cfg settings with \AtBeginDocument{\setkeys{jb}{citefull=false}}
3052     \ifthenelse{\equal{\jb@val}{false}}{%
3053     \jb@kv@recognizedtrue
3054     \global\jb@all@fullfalse
3055     \global\jb@allow@nobibfalse
3056     \global\jb@firstcite@fullfalse
3057     }{\relax}%
3058     }%
3059     }%
3060     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{citefull}\fi
3061     }%
3062     }%
3063     \define@key{jb}{see}[true]{%
3064     \jb@seetrue\jb@coauthor@lastfalse
3065     % space removed for 0.5e
3066     \renewcommand*{\jbhowsepcoauthorfirst}{}%
3067     \renewcommand*{\jbcoauthorfont}{\normalfont}%
3068     % NEW 0.5e
3069     \let\jb@formatted@co@author\jb@formatted@co@author@see
3070     %
3071     \let\jb@formatted@co@author@in\jb@formatted@co@author@see
3072     }%
3073     % NEW 0.5e nested tests to avoid \jb@val=\@nil
3074     \define@key{jb}{ibidem}[strict]{%
3075     \@for\jb@val:=#1\do{%
3076     \jb@kv@recognizedfalse
3077     \ifthenelse{\equal{\jb@val}{false}}{%
3078     \jb@kv@recognizedtrue
3079     \AtBeginDocument{%
3080     \global\jb@ibidemfalse
3081     \global\jb@ibidem@pagewisefalse
3082     \global\jb@ibidem@double@pagewisefalse
3083     \global\jb@ibidem@with@namefalse
3084     \global\jb@ibidem@with@name@and@titlefalse
3085     }%
3086     }{%
3087     \ifthenelse{\equal{\jb@val}{strict}}{%
3088     \jb@kv@recognizedtrue
3089     \jb@ibidemtrue
3090     \jb@ibidem@pagewisetrue
3091     \jb@ibidem@double@pagewisefalse
3092     }{%
3093     \ifthenelse{\equal{\jb@val}{strictdoublepage}}{%
3094     \jb@kv@recognizedtrue
3095     \jb@ibidemtrue
3096     \jb@ibidem@pagewisetrue
3097     \if@twoside\jb@ibidem@double@pagewisetrue
3098     \else\jb@ibidem@double@pagewisefalse\fi
3099     }{%
3100     \ifthenelse{\equal{\jb@val}{nostrict}}{%
3101     \jb@kv@recognizedtrue
3102     \jb@ibidemtrue
3103     \jb@ibidem@pagewisefalse
3104     \jb@ibidem@double@pagewisefalse
3105     }{%
3106     \ifthenelse{\equal{\jb@val}{name}}{%
3107     \jb@kv@recognizedtrue
3108     %% first make citefull=first
3109     \setkeys{jb}{citefull=first}%
3110     \jb@ibidemfalse
3111     \global\jb@ibidem@with@nametrue
3112     }{%
3113     \ifthenelse{\equal{\jb@val}{name&title}}{%
3114     \jb@kv@recognizedtrue
3115     %% first make citefull=first
3116     \setkeys{jb}{citefull=first}%
3117     \jb@ibidemfalse
3118     \jb@ibidem@with@nametrue
3119     \jb@ibidem@with@name@and@titletrue
3120     }{%
3121     % NEW 0.5f
3122     \ifthenelse{\equal{\jb@val}{name&title&auto}}{%
3123     \jb@kv@recognizedtrue
3124     %% first make citefull=first
3125     \setkeys{jb}{citefull=first}%
3126     \jb@ibidemfalse
3127     \jb@ibidem@with@nametrue
3128     \jb@ibidem@with@name@and@title@autotrue
3129     }{\relax}}}}}}}%
3130     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{ibidem}\fi
3131     }%
3132     }%
3133     \define@key{jb}{idem}[strict]{%
3134     \@for\jb@val:=#1\do{%
3135     \jb@kv@recognizedfalse
3136     \ifthenelse{\equal{\jb@val}{false}}{%
3137     \jb@kv@recognizedtrue
3138     \AtBeginDocument{%
3139     \global\jb@idemfalse
3140     \global\jb@idem@pagewisefalse
3141     \global\jb@idem@double@pagewisefalse
3142     }%
3143     }{%
3144     \ifthenelse{\equal{\jb@val}{strict}}{%
3145     \jb@kv@recognizedtrue
3146     \jb@idemtrue
3147     \jb@idem@pagewisetrue
3148     \jb@idem@double@pagewisefalse
3149     }{%
3150     \ifthenelse{\equal{\jb@val}{strictdoublepage}}{%
3151     \jb@kv@recognizedtrue
3152     \jb@idemtrue
3153     \jb@idem@pagewisetrue
3154     \if@twoside\jb@idem@double@pagewisetrue
3155     \else\jb@idem@double@pagewisefalse\fi
3156     }{%
3157     \ifthenelse{\equal{\jb@val}{nostrict}}{%
3158     \jb@kv@recognizedtrue
3159     \jb@idemtrue
3160     \jb@idem@pagewisefalse
3161     \jb@idem@double@pagewisefalse
3162     }{\relax}}}}%
3163     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{idem}\fi
3164     }%
3165     }%
3166     \define@key{jb}{footnotes}{%
3167     \@for\jb@val:=#1\do{%
3168     \jb@kv@recognizedfalse
3169     \ifthenelse{\equal{\jb@val}{marginal}}{%
3170     \jb@kv@recognizedtrue
3171     % The code here is originally from myfootnote.sty by Stefan Ulrich, posted in d.c.t.t.
3172     \newlength\jbfootnoteindent
3173     \setlength\jbfootnoteindent{\parindent}%
3174     \newlength\jbfootnotenumwidth
3175     \settowidth\jbfootnotenumwidth{99}%
3176     \newcommand*{\jbfootnotenumalign}{r}%
3177     \newcommand*{\jbfootnoteformat}{\textsuperscript}%
3178     \renewcommand\@makefntext[1]{\@setpar{\@@par
3179     \@tempdima\hsize\advance\@tempdima-\jbfootnoteindent
3180     \parshape\@ne\jbfootnoteindent\@tempdima}%
3181     \parindent 1em\par\noindent
3182     \makebox[0pt][r]{\makebox[\jbfootnoteindent][r]{%
3183     \makebox[\jbfootnotenumwidth][\jbfootnotenumalign]{%
3184     \jbfootnoteformat{\@thefnmark}}\hspace*{\fill}}}##1}%
3185     \AtBeginDocument{%
3186     \ifjb@endnotes
3187     \def\enoteformat{\@setpar{\@@par\@tempdima\hsize
3188     \advance\@tempdima-\jbfootnoteindent
3189     \parshape\@ne\jbfootnoteindent\@tempdima}%
3190     \parindent 1em\par\noindent
3191     \makebox[0pt][r]{\makebox[\jbfootnoteindent][r]{%
3192     \makebox[\jbfootnotenumwidth][\jbfootnotenumalign]{%
3193     \jbfootnoteformat{\@theenmark}}\hspace*{\fill}}}}%
3194     \fi
3195     }%
3196     }{\relax}%
3197     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{footnotes}\fi
3198     }%
3199     }%
3200     \define@key{jb}{natoptargorder}[true]{\jb@natbib@opt@arg@ordertrue}%
3201     \define@key{jb}{round}[true]{%
3202     \renewcommand*{\jb@open}{(}%
3203     \renewcommand*{\jb@close}{)}%
3204     }%
3205     \define@key{jb}{square}[true]{%
3206     \renewcommand*{\jb@open}{[}%
3207     \renewcommand*{\jb@close}{]}%
3208     }%
3209     \define@key{jb}{lookat}[true]{\jb@lookattrue}%
3210     % NEW 0.5e nested tests to avoid \jb@val=\@nil
3211     \define@key{jb}{crossref}[normal]{%
3212     \@for\jb@val:=#1\do{%
3213     \jb@kv@recognizedfalse
3214     \ifthenelse{\equal{\jb@val}{dynamic}}{%
3215     \jb@kv@recognizedtrue
3216     \global\jb@dynamic@crossrefstrue
3217     \setkeys{jb}{crossref=long}%
3218     }{%
3219     \ifthenelse{\equal{\jb@val}{short}}{%
3220     \jb@kv@recognizedtrue
3221     % NEW 0.5e \AtBeginDocument added, otherwise the default [normal] won't be overridden
3222     \AtBeginDocument{%
3223     \ifjb@dynamic@crossrefs
3224     \renewcommand*{\bibcrossrefcite}{\citetitle}%
3225     \renewcommand*{\bibcrossrefciteagain}{\cite}%
3226     \renewcommand*{\bibincollcrossrefcite}{\citetitle}%
3227     \renewcommand*{\bibincollcrossrefciteagain}{\cite}%
3228     \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortnoapy
3229     \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshort
3230     \else
3231     \renewcommand*{\bibcrossrefcite}{\cite}%
3232     \renewcommand*{\bibcrossrefciteagain}{\cite}%
3233     \renewcommand*{\bibincollcrossrefcite}{\cite}%
3234     \renewcommand*{\bibincollcrossrefciteagain}{\cite}%
3235     \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshort
3236     \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshort
3237     \fi
3238     }%
3239     }{%
3240     \ifthenelse{\equal{\jb@val}{normal}}{%
3241     \jb@kv@recognizedtrue
3242     \AtBeginDocument{%
3243     \ifjb@dynamic@crossrefs
3244     \renewcommand*{\bibcrossrefcite}{\citetitle}%
3245     \renewcommand*{\bibincollcrossrefcite}{\citetitle}%
3246     \renewcommand*{\bibcrossrefciteagain}{\cite}%
3247     \renewcommand*{\bibincollcrossrefciteagain}{\cite}%
3248     \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortwithapy
3249     \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortnoapy
3250     \else
3251     \renewcommand*{\bibcrossrefcite}{\citetitle}%
3252     \renewcommand*{\bibincollcrossrefcite}{\citetitle}%
3253     \renewcommand*{\bibcrossrefciteagain}{\citetitle}%
3254     \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}%
3255     \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortwithapy
3256     \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortwithapy
3257     \fi
3258     }%
3259     }{%
3260     \ifthenelse{\equal{\jb@val}{long}}{%
3261     \jb@kv@recognizedtrue
3262     \AtBeginDocument{%
3263     \ifjb@dynamic@crossrefs
3264     \renewcommand*{\bibcrossrefcite}{\fullcite}%
3265     \renewcommand*{\bibincollcrossrefcite}{\fullcite}%
3266     \renewcommand*{\bibcrossrefciteagain}{\citetitle}%
3267     \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}%
3268     \let\jbedbyincollcrossrefcite\jbedbyincollcrossreflong
3269     \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortwithapy
3270     \else
3271     \renewcommand*{\bibcrossrefcite}{\fullcite}%
3272     \renewcommand*{\bibincollcrossrefcite}{\fullcite}%
3273     \renewcommand*{\bibcrossrefciteagain}{\fullcite}%
3274     \renewcommand*{\bibincollcrossrefciteagain}{\fullcite}%
3275     \let\jbedbyincollcrossrefcite\jbedbyincollcrossreflong
3276     \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossreflong
3277     \fi
3278     }%
3279     }{\relax}}}}%
3280     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{crossref}\fi
3281     }%
3282     }%
3283     \define@key{jb}{pages}{%
3284     \@for\jb@val:=#1\do{%
3285     \jb@kv@recognizedfalse
3286     \ifthenelse{\equal{\jb@val}{format}}{%
3287     \jb@kv@recognizedtrue
3288     \jb@formatted@pagestrue
3289     }{\relax}%
3290     \ifthenelse{\equal{\jb@val}{always}}{%
3291     \jb@kv@recognizedtrue
3292     \jb@always@pagerangestrue
3293     }{\relax}%
3294     \ifthenelse{\equal{\jb@val}{test}}{%
3295     \jb@kv@recognizedtrue
3296     \jb@tested@pagerangestrue
3297     }{\relax}%
3298     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{pages}\fi
3299     }%
3300     }%
3301     \define@key{jb}{oxford}[true]{%
3302     \jb@kv@recognizedtrue
3303     \global\jbhumtrue
3304     \global\jboxfordtrue\global\jbchicagofalse
3305     \setkeys{jb}{%
3306     authorformat={citationreversed},see,%
3307     titleformat=commasep,%
3308     }%
3309     \jbdotafterbibentry
3310     \AtEndOfPackage{%
3311     \ifjboxford
3312     % NEW 0.5e
3313     \ifjb@biblikecite\else
3314     \jb@info{*** jurabib set up for oxford style ***}%
3315     %%%%%% bibliographic font commands %%%%%%%%%
3316     \renewcommand*{\bibfnfont}{}% first name font
3317     \renewcommand*{\biblnfont}{}% last name font
3318     \renewcommand*{\bibefnfont}{}% editor first name font
3319     \renewcommand*{\bibelnfont}{}% editor last name font
3320     \renewcommand*{\bibtfont}{\textit}% title font
3321     \renewcommand*{\bibbtfont}{\textit}% booktitle font
3322     \renewcommand*{\bibjtfont}{\textit}% journal title font
3323     \renewcommand*{\bibapifont}[1]{`##1'}% bib article/incollection title font
3324     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3325     \renewcommand*{\jbapifont}[1]{`##1'}% text article/incollection title font
3326     \renewcommand*{\jbtitlefont}{}% text title font
3327     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3328     \renewcommand*{\bibansep}{,}% author name sep
3329     \renewcommand*{\bibaesep}{, }% after editor sep
3330     \renewcommand*{\bibatsep}{,}% after title sep
3331     \DeclareRobustCommand{\bibapyldelim}{(}% always parentheses for oxford!
3332     \DeclareRobustCommand{\bibapyrdelim}{)}% always parentheses for oxford!
3333     \DeclareRobustCommand{\dateldelim}{(}% enclose the date in parentheses
3334     \DeclareRobustCommand{\daterdelim}{)}% enclose the date in parentheses
3335     %%%%%% author separation bibliography %%%%%%
3336     \renewcommand*{\bibbtasep}{ \ }% between two authors sep
3337     \renewcommand*{\bibbfsasep}{, }% between first second author sep
3338     \renewcommand*{\bibbstasep}{ \ }% between second third author sep
3339     %%%%%% editor separation bibliography %%%%%%
3340     \renewcommand*{\bibbtesep}{ \ }% between two editors sep
3341     \renewcommand*{\bibbfsesep}{, }% between first second editor sep
3342     \renewcommand*{\bibbstesep}{ \ }% between second third editor sep
3343     %%%%%% author separation citation %%%%%%%%%%
3344     % already done by authorformat=and
3345     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3346     \renewcommand*{\bibbtsep}{\inname: }% booktitle sep
3347     \renewcommand*{\jb@cr@open}{}% crossref left delimiter
3348     \renewcommand*{\jb@cr@close}{}% crossref right delimiter
3349     \renewcommand*{\jb@art@cr@open}{}% article crossref left delimiter
3350     \renewcommand*{\jb@art@cr@close}{}% article crossref right delimiter
3351     \renewcommand*{\jb@incoll@cr@open}{}% incoll crossref left delimiter
3352     \renewcommand*{\jb@incoll@cr@close}{}% incoll crossref right delimiter
3353     \renewcommand*{\bibaldelim}{(}% article year left delimiter
3354     \renewcommand*{\bibardelim}{)}% article year right delimiter
3355     \fi\fi
3356     }%
3357     \addto\jbonlyforbib{\renewcommand*{\bibansep}{, }}% make sure that a space appear
3358     \DeclareRobustCommand{\artnumberformat}[1]{\unskip:##1}%
3359     \ifjb@kv@recognized\else\jb@kv@warning{#1}{oxford}\fi
3360     }%
3361     \define@key{jb}{chicago}[true]{%
3362     \jb@kv@recognizedtrue
3363     % \global\jbhumtrue
3364     \global\jbchicagotrue\global\jboxfordfalse
3365     \setkeys{jb}{%
3366     authorformat={citationreversed,firstnotreversed},edby,see,%
3367     bibformat=ibidem,%
3368     citefull=first,%
3369     % authorformat=and,% (also set by humtrue!)
3370     titleformat=commasep,%
3371     commabeforerest,%
3372     }%
3373     \jbdotafterbibentry% (added in 0.5f)
3374     \AtEndOfPackage{%
3375     \ifjbchicago
3376     \ifjb@biblikecite\else
3377     \jb@info{*** jurabib set up for chicago style ***}%
3378     %%%%%% bibliographic font commands %%%%%%%%%
3379     \renewcommand*{\bibfnfont}{}% first name font
3380     \renewcommand*{\biblnfont}{}% last name font
3381     \renewcommand*{\bibefnfont}{}% editor first name font
3382     \renewcommand*{\bibelnfont}{}% editor last name font
3383     \renewcommand*{\bibtfont}{\textit}% title font
3384     \renewcommand*{\bibbtfont}{\textit}% booktitle font
3385     \renewcommand*{\bibjtfont}{\textit}% journal title font
3386     \renewcommand*{\bibapifont}[1]{``##1''}% bib article/incollection title font (changed in 0.5f)
3387     \renewcommand*{\bibsnfont}{}% series name font
3388     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3389     \renewcommand*{\jbapifont}[1]{``##1''}% text article/incollection title font (changed in 0.5f)
3390     \renewcommand*{\jbtitlefont}{}% text title font
3391     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3392     \renewcommand*{\bibansep}{. }% author name sep (changed in 0.5f)
3393     \renewcommand*{\bibaesep}{, }% after editor sep
3394     \renewcommand*{\bibatsep}{,}% after title sep
3395     \renewcommand*{\bibbdsep}{,}% before date sep (changed in 0.5f)
3396     %%%%%% author separation bibliography %%%%%%
3397     \renewcommand*{\bibbtasep}{ \bibIMfont{\bibandname} }% between two authors sep (changed in 0.5f)
3398     \renewcommand*{\bibbfsasep}{\unskip\bibIMfont{\commaname} }% between first and second author sep (changed in 0.5f)
3399     \renewcommand*{\bibbstasep}{ \bibIMfont{\bibandname} }% between second and third author sep (changed in 0.5f)
3400     %%%%%% editor separation bibliography %%%%%%
3401     \renewcommand*{\bibbtesep}{ \bibEIMfont{\bibandname} }% between two editors sep (changed in 0.5f)
3402     \renewcommand*{\bibbfsesep}{\unskip\bibEIMfont{\commaname} }% between first and second editor sep (changed in 0.5f)
3403     \renewcommand*{\bibbstesep}{ \bibEIMfont{\bibandname} }% between second and third editor sep (changed in 0.5f)
3404     %%%%%% author separation citation %%%%%%%%%%
3405     \renewcommand*{\jbbtasep}{ \bibIMfont{\textandname} }% between two authors sep (changed in 0.5f)
3406     \renewcommand*{\jbbfsasep}{\unskip\bibIMfont{\commaname} }% between first and second author sep (changed in 0.5f)
3407     \renewcommand*{\jbbstasep}{ \bibIMfont{\textandname} }% between second and third author sep (changed in 0.5f)
3408     %%%%%% editor separation citation %%%%%%
3409     \renewcommand*{\jbbtesep}{ \bibEIMfont{\texteandname} }% between two editors sep (changed in 0.5f)
3410     \renewcommand*{\jbbfsesep}{\unskip\bibEIMfont{\commaename} }% between first and second editor sep (changed in 0.5f)
3411     \renewcommand*{\jbbstesep}{ \bibEIMfont{\texteandname} }% between second and third editor sep (changed in 0.5f)
3412     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3413     \renewcommand*{\bibbtsep}{\inname{} }% booktitle sep (changed in 0.5f)
3414     \renewcommand*{\jb@cr@open}{}% crossref left delimiter
3415     \renewcommand*{\jb@cr@close}{}% crossref right delimiter
3416     \renewcommand*{\jb@art@cr@close}{}% article crossref left delimiter
3417     \renewcommand*{\jb@art@cr@close}{}% article crossref right delimiter
3418     \renewcommand*{\jb@incoll@cr@open}{}% incoll crossref left delimiter
3419     \renewcommand*{\jb@incoll@cr@close}{}% incoll crossref right delimiter
3420     \renewcommand*{\bibaldelim}{(}% article year left delimiter
3421     \renewcommand*{\bibardelim}{)}% article year right delimiter
3422     \renewcommand*{\artnumberformat}[1]{,\space{}no.~##1}% article number format (added in 0.5f)
3423     \renewcommand*{\pernumberformat}[1]{,\space{}no.~##1}% periodical format (added in 0.5f)
3424     \renewcommand*{\edbysep}{, }% (added in 0.5f)
3425     \def\bibauthormultiple{%
3426     \stepcounter{multiple@author}% to suppress inside bibliographic entry
3427     \leavevmode\vrule height 2pt depth -1.6pt width 3em\hspace{1pt}.\space}% (added in 0.5f)
3428     \DeclareRobustCommand{\jbnote}[2]{%
3429     \ifjbweareinbib
3430     \ifthenelse{\equal{##1}{1}}{\unskip\unskip\bibatsep{} ##2}{##2}%
3431     \fi
3432     }% (added in 0.5f)
3433     % only parentheses in text, not in the bibliography!
3434     \ifjbweareinbib\else
3435     \renewcommand*{\bibapyldelim}{\unskip\space(}%
3436     \renewcommand*{\bibapyrdelim}{)}%
3437     \fi
3438     \addto\jbonlyforbib{%
3439     \DeclareRobustCommand\incollinname{\inname{} }% (added in 0.5f)
3440     \DeclareRobustCommand{\bibbtsep}{\inname{} }% (added in 0.5f)
3441     % \DeclareRobustCommand{\bibapyldelim}{\unskip\unskip.\space}% dot removed, suggested by Robert Schlicht
3442     \DeclareRobustCommand{\bibapyldelim}{\unskip\unskip\space}%
3443     \DeclareRobustCommand{\bibapyrdelim}{}%
3444     \DeclareRobustCommand{\bibatsep}{.}% (added in 0.5f)
3445     \DeclareRobustCommand{\dateldelim}{\unskip.}%
3446     \DeclareRobustCommand{\daterdelim}{}%
3447     }%
3448     \AddTo\bibsenglish{%
3449     \def\incollinname{in}% (added in 0.5f)
3450     \def\inname{in}% (added in 0.5f)
3451     \def\editorname{\unskip,\space{}ed.}% (added in 0.5f)
3452     \def\editorsname{\unskip,\space{}eds.}% (added in 0.5f)
3453     \def\edbyname{ed.}% (added in 0.5f)
3454     \def\Edbyname{Ed.}% (added in 0.5f)
3455     \def\volumename{vol.}% (added in 0.5f)
3456     \def\Volumename{Vol.}% (added in 0.5f)
3457     \def\firstedname{1st}% (added in 0.5f)
3458     \def\secondedname{2nd}% (added in 0.5f)
3459     \def\thirdedname{3rd}% (added in 0.5f)
3460     \def\fourthedname{4th}% (added in 0.5f)
3461     \def\fifthedname{5th}% (added in 0.5f)
3462     \def\thedname{th}% (added in 0.5f)
3463     % \def\editionname{ed.}% (added in 0.5f)
3464     \def\editionname{ed}% dot removed, suggested by Robert Schlicht
3465     }%
3466     \fi\fi
3467     }%
3468     \addto\jbonlyforbib{\renewcommand*{\bibansep}{. }}% make sure that a space appear
3469     \ifjb@kv@recognized\else\jb@kv@warning{#1}{chicago}\fi
3470     }%
3471     \define@key{jb}{human}[true]{\global\jbhumtrue}
3472     \define@key{jb}{edby}[true]{\global\jb@edbytrue}
3473     \define@key{jb}{endnote}[true]{%
3474     \DeclareRobustCommand{\jbnote}[2]{\unskip}%
3475     \DeclareRobustCommand{\jbendnote}[1]{\def\jb@endnote{\unskip\unskip\ifjb@dot\else,\fi\space##1}}%
3476     }
3477     \define@key{jb}{biblikecite}[true]{%
3478     \global\jb@biblikecitetrue
3479     \AtBeginDocument{% <== to make redefintions work
3480     \global\let\biblnfont\jbauthorfont
3481     \global\let\bibfnfont\jbauthorfnfont
3482     \global\let\bibelnfont\jbauthorfont
3483     \global\let\bibefnfont\jbauthorfnfont
3484     \global\let\bibbtfont\jbtitlefont
3485     \global\let\bibtfont\jbtitlefont
3486     \global\let\bibapifont\jbapifont
3487     % to think about ...
3488     % \global\let\bibbtasep\jbbtasep
3489     % \global\let\bibbfsasep\jbbfsasep
3490     % \global\let\bibbstasep\jbbstasep
3491     % \global\let\bibbtesep\jbbtesep
3492     % \global\let\bibbfsesep\jbbfsesep
3493     % \global\let\bibbstesep\jbbstesep
3494     }%
3495     }
3496     \define@key{jb}{opcit}[true]{%
3497     \@for\jb@val:=#1\do{%
3498     \jb@kv@recognizedfalse
3499     \ifthenelse{\equal{\jb@val}{true}}{%
3500     \jb@kv@recognizedtrue
3501     \jb@opcittrue
3502     % NEW 0.5f opcit uses now shorttitle to avoid ambiguity
3503     % \jb@author@yeartrue
3504     % \jb@yearaftertitletrue
3505     }{}%
3506     \ifthenelse{\equal{\jb@val}{chapter}}{%
3507     \jb@kv@recognizedtrue
3508     \global\jb@opcittrue
3509     % NEW 0.5f opcit uses now shorttitle to avoid ambiguity
3510     % \jb@author@yeartrue
3511     % \jb@yearaftertitletrue
3512     \@ifundefined{chapter}{%
3513     \ClassError{\jb@pkg@name}{%
3514     Sorry, `opcit=chapter' makes no sense for\MessageBreak
3515     classes without \string\chapter%
3516     }{Try `opcit=section' for an article class}}{}%
3517     \@addtoreset{opcit}{chapter}%
3518     \def\jb@reset@opcit@for{chapter}%
3519     \def\jb@reset@opcit@label@for{\thechapter}% for opcit
3520     }{%
3521     \ifthenelse{\equal{\jb@val}{section}}{%
3522     \jb@kv@recognizedtrue
3523     \global\jb@opcittrue
3524     % NEW 0.5f opcit uses now shorttitle to avoid ambiguity
3525     % \jb@author@yeartrue
3526     % \jb@yearaftertitletrue
3527     \@ifundefined{chapter}{}{%
3528     \jb@package@warningNoLine{\jb@pkg@name}{%
3529     `opcit=section' was designed for use with\MessageBreak
3530     an article class, note that it's not well\MessageBreak
3531     tested for use with book or report classes}}%
3532     \@addtoreset{opcit}{section}%
3533     \def\jb@reset@opcit@for{section}%
3534     \def\jb@reset@opcit@label@for{\thesection}% for opcit
3535     }{}%
3536     }%
3537     \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{opcit}\fi
3538     }%
3539     }%
3540     % CH 0.51s \bibAnnotePath introduced
3541     \define@key{jb}{annote}[true]{%
3542     \renewcommand{\bibAnnote}[1]{%
3543     \ifjb@tabular
3544     \par%
3545     \begin{minipage}[t]{\bibleftcolumn}%
3546     \renewcommand*{\bibansep}{}%
3547     \bibleftcolumnadjust\mbox{}%
3548     \end{minipage}%
3549     \ifjb@numbered@bib\hspace{15mm}\else\hspace{10mm}\fi
3550     \begin{minipage}[t]{\bibrightcolumn}%
3551     \bibrightcolumnadjust%
3552     \jbannoteformat{##1}%
3553     \end{minipage}%
3554     \else
3555     \par\jbannoteformat{##1}%
3556     \fi
3557     }%
3558     \renewcommand{\bibAnnoteFile}[1]{%
3559     \ifjb@tabular
3560     \par%
3561     \begin{minipage}[t]{\bibleftcolumn}%
3562     \renewcommand*{\bibansep}{}%
3563     \bibleftcolumnadjust\mbox{}%
3564     \end{minipage}%
3565     \ifjb@numbered@bib\hspace{15mm}\else\hspace{10mm}\fi
3566     \begin{minipage}[t]{\bibrightcolumn}%
3567     \bibrightcolumnadjust%
3568     \begingroup
3569     \let\input@path\jb@ann@input@path
3570     \IfFileExists{##1}{\ProvidesFile{##1.tex}%
3571     [Bibliography annote file]\jbannoteformat{\input{##1}}}{}%
3572     \endgroup
3573     \end{minipage}%
3574     \else
3575     \begingroup
3576     \let\input@path\jb@ann@input@path
3577     \IfFileExists{##1}{\ProvidesFile{##1.tex}%
3578     [Bibliography annote file]\par\jbannoteformat{\input{##1}}}{}%
3579     \endgroup
3580     \fi
3581     }%
3582     }
3583     \define@key{jb}{citetoend}[true]{\jb@citetoendtrue}
3584     % NEW 0.51c Option to switch off automated hyperlinks when using hyperref package
3585     % ADDED 0.51m check for loaded hyperref package added
3586     % REMOVED 0.51u check for loaded hyperref package removed, caused wrong hyperlinks
3587     \define@key{jb}{hypercite}{%
3588     \ifthenelse{\equal{#1}{true}}{\jb@allow@hyper@citetrue}{%
3589     \ifthenelse{\equal{#1}{false}}{\jb@allow@hyper@citefalse}{\relax}}%
3590     }
3591     \newcommand*{\jb@enotes@warning}{%
3592     \PackageWarning{\jb@pkg@name}{%
3593     I assume you know what you are doing!\MessageBreak
3594     You are using `\string\cite' or something similar inside\MessageBreak
3595     a footnote while using endnotes.sty. This will\MessageBreak
3596     produce ambiguous references and not the\MessageBreak
3597     expected results. If you are unsure what\MessageBreak
3598     to do, use \string\cite\space or \string\footcite\space\MessageBreak
3599     instead}%
3600     }
3601     % REMOVED 0.5f, suggested by Stefan Ulrich
3602     %\@ifpackageloaded{bibunits-jur}{\global\@bu@before@jbtrue}{\relax}%
3603     %\@ifpackageloaded{hyperref}{\global\@hy@before@jbtrue}{\relax}%
3604     \AtBeginDocument{%
3605     \setkeys{jb}{crossref=normal}% set the default crossref option
3606     \ifjbhum
3607     \setkeys{jb}{authorformat=and}%
3608     \DeclareRobustCommand{\jbbtfont}{\textit}%
3609     \jb@typeout{^^JPackage jurabib Info: *** jurabib set up for humanities stuff ***^^J}%
3610     \fi
3611     \renewcommand*{\SS}{\S\kern-.8pt\S\relax}%
3612     \@ifclassloaded{jura}{\global\jb@juratrue\global\jb@alphanumtrue}{\relax}%
3613     \@ifpackageloaded{alphanum}{\global\jb@alphanumtrue}{\relax}%
3614     \@ifpackageloaded{ragged2e}{\global\jb@raggedtrue}{\relax}%
3615     \@ifpackageloaded{url}{\global\jb@urltrue}{\relax}%
3616     \@ifpackageloaded{index}{\let\jb@do@index\jb@do@index@alt}{\relax}%
3617     \@ifpackageloaded{babel}{\global\jb@babeltrue}{\relax}%
3618     \@ifpackageloaded{varioref}{\ifjb@ignore@varioref\global\jb@variofalse\else\global\jb@variotrue\fi}{\relax}%
3619     \@ifpackageloaded{hyperref}{%
3620     \@ifpackageloaded{tex4ht}{}{% Hook for tex4ht added
3621     \global\jb@hypertrue
3622     \long\def\@footnotetext#1{%
3623     \H@@footnotetext{%
3624     \jb@fntrue% we are in footnote, borrowed from camel.sty
3625     \def\baselinestretch{1}% no spacing in footnotes (jura.cls!)
3626     \ifHy@nesting
3627     \hyper@@anchor{\@currentHref}{#1}%
3628     \else
3629     \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1%
3630     \fi
3631     % NEW 0.52l reset the counter for citations inside a footnote at the end of the footnote
3632     \setcounter{jb@cites@in@footnote}{0}%
3633     }%
3634     }%
3635     }{\relax}%
3636     }{\relax}%
3637     \@ifpackageloaded{backref}{\global\jb@backreftrue}{\relax}%
3638     \@ifpackageloaded{bibtopic}{\global\jb@all@titlestrue%
3639     % NEW 0.52o No warning about ambiguous citations if `authorformat=year' is used
3640     \ifjb@author@year\else
3641     \jb@package@warningNoLine{\jb@pkg@name}{%
3642     All titles are cited, you're using `bibtopic'!\MessageBreak
3643     Make sure that the `shorttitle' fields are not\MessageBreak
3644     empty, otherwise I'll using the `title' fields for\MessageBreak
3645     replacement. See the package documentation for\MessageBreak
3646     further explanation}%
3647     \fi
3648     }{\relax}%
3649     \ifjb@babel
3650     \jb@typeout{^^JPackage jurabib Info: *** jurabib set up for babel ***^^J}%
3651     % chose the main language, the *last* given in \usepackage[german,english]{babel}
3652     % ^^^^^^^ !!!!!!!
3653     \ifthenelse{\equal{\bbl@main@language}{german}}{\@bibsgerman\bibsgerman}{%
3654     % NEW 0.5f ngerman added, bug reported by Robert Schlicht (schlicht@informatik.hu-berlin.de)
3655     \ifthenelse{\equal{\bbl@main@language}{ngerman}}{\@bibsgerman\bibsgerman}{%
3656     \ifthenelse{\equal{\bbl@main@language}{french}}{\@bibsfrench\bibsfrench}{%
3657     \ifthenelse{\equal{\bbl@main@language}{english}}{\@bibsenglish\bibsenglish}{%
3658     \ifthenelse{\equal{\bbl@main@language}{dutch}}{\@bibsdutch\bibsdutch}{%
3659     \ifthenelse{\equal{\bbl@main@language}{spanish}}{\@bibsspanish\bibsspanish}{%
3660     \ifthenelse{\equal{\bbl@main@language}{italian}}{\@bibsitalian\bibsitalian}{%
3661     \ifthenelse{\equal{\bbl@main@language}{norsk}}{\@bibsnorsk\bibsnorsk}{}}}}}}}}%
3662     \else
3663     % NEW 0.5f defining \bbl@mainlaguage also, if babel isn't loaded
3664     \@ifpackageloaded{german}{\@bibsgerman\bibsgerman\renewcommand{\bbl@main@language}{german}}{%
3665     \@ifpackageloaded{ngerman}{\@bibsgerman\bibsgerman\renewcommand{\bbl@main@language}{german}}{
3666     \@ifpackageloaded{french}{\@bibsfrench\bibsfrench\renewcommand{\bbl@main@language}{french}}{%
3667     \@ifpackageloaded{frenchle}{\@bibsfrench\bibsfrench\renewcommand{\bbl@main@language}{french}}{%
3668     \@bibsenglish\bibsenglish}}}}%
3669     \fi
3670     \ifjb@hyper
3671     \let\J@SetCurrent\relax
3672     \def\toclevel@lvla{0}\def\toclevel@lvlb{1}
3673     \def\toclevel@lvlc{2}\def\toclevel@lvld{3}
3674     \def\toclevel@lvle{4}\def\toclevel@lvlf{5}
3675     \def\toclevel@lvlg{6}\def\toclevel@lvlh{7}
3676     \def\toclevel@lvli{8}\def\toclevel@lvlj{9}
3677     \def\toclevel@lvlj{10}\def\toclevel@lvll{11}
3678     \newcommand*{\theHlvla}{\J@Number}\newcommand*{\theHlvlb}{\J@Number}
3679     \newcommand*{\theHlvlc}{\J@Number}\newcommand*{\theHlvld}{\J@Number}
3680     \newcommand*{\theHlvle}{\J@Number}\newcommand*{\theHlvlf}{\J@Number}
3681     \newcommand*{\theHlvlg}{\J@Number}\newcommand*{\theHlvlh}{\J@Number}
3682     \newcommand*{\theHlvli}{\J@Number}\newcommand*{\theHlvlj}{\J@Number}
3683     \newcommand*{\theHlvlk}{\J@Number}\newcommand*{\theHlvll}{\J@Number}
3684     \renewcommand*{\J@LongToc}[2][]{%
3685     \@startsection{lvl\alph{tiefe}}{\number\value{tiefe}}{0pt}%
3686     {\ifnum\value{tiefe}=1 -4ex plus-1,5ex minus-0,ex\else%
3687     -2,7ex plus-0,8ex minus-0,2ex\fi}{\ifnum\value{tiefe}>7 %
3688     -1em plus-0,5em\relax\else 0,6ex plus0,3ex minus0,1ex\fi}%
3689     {\sectfont\csname lvl\alph{tiefe}style\endcsname}[#1]{#2}%
3690     }%
3691     \fi
3692     \ifjb@hyper
3693     % \DeclareRobustCommand{\biburlfont}[1]{\url{#1}}%
3694     % \def\Hy@backout#1{%
3695     % \@bsphack
3696     % \ifx\@empty\@currentlabel\else
3697     % % no backref for crossref citations in bib, produces
3698     % % very strange (not existing) footnote numbers!
3699     % \ifjbweareinbib\else
3700     % % only one backref for the same citation!
3701     % \@ifundefined{BACK@#1@\@currentHref}{%
3702     % \global\@namedef{BACK@#1@\@currentHref}{}%
3703     % \protected@write\@auxout{}{%
3704     % \string\@writefile{brf}{%
3705     % \string\backcite{#1}{%
3706     % {\thepage}{\jbts{\@currentlabel}}{\@currentHref}}}}%
3707     % }{}%
3708     % \fi
3709     % \fi
3710     % \@esphack%
3711     % }%
3712     % \def\backcite#1#2{%
3713     % \@for\x:=#1\do{%
3714     % \edef\x{\expandafter\@firstofone\x\@empty}%
3715     % \expandafter\protected@xdef\csname br@\x\endcsname{%
3716     % \expandafter\ifx\csname br@\x\endcsname\relax\else
3717     % \csname br@\x\endcsname\jbts{,} \fi\protect\backrefxxx#2}}%
3718     % }%
3719     \def\BR@@lbibitem[#1]#2#3\par{\BRorg@bibitem[#1]{#2}#3\par}%
3720     % \else
3721     % \ifjb@url
3722     % \DeclareRobustCommand{\biburlfont}{\begingroup\urlstyle{tt}\Url}%
3723     % \fi
3724     \fi
3725     \@ifundefined{chapter}{%
3726     \let\jb@orig@section\section % chapterbib.sty + numberedbib
3727     \renewcommand*{\section}{\setcounter{jbbibcnta}{0}\jb@orig@section}%
3728     }{%
3729     \let\jb@orig@chapter\chapter % chapterbib.sty + numberedbib
3730     \renewcommand*{\chapter}{\setcounter{jbbibcnta}{0}\jb@orig@chapter}%
3731     }%
3732     % 0.5e: moved from \AtEndOfPackage because of problems, if setspace.sty is loaded after jurabib
3733     % reported by Hubert Selhofer (<hubert.selhofer@telering.at>)
3734     \ifjb@hyper\else
3735     \long\def\@footnotetext#1{\insert\footins{%
3736     \jb@fntrue% we are in footnote, borrowed from camel.sty
3737     \def\baselinestretch{1}% no spacing in footnotes (jura.cls!)
3738     \reset@font\footnotesize
3739     \interlinepenalty\interfootnotelinepenalty
3740     \splittopskip\footnotesep
3741     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
3742     \hsize\columnwidth \@parboxrestore
3743     \let\@tempa\protect
3744     \def\protect{\noexpand\protect\noexpand}%
3745     \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
3746     \let\protect\@tempa
3747     \color@begingroup
3748     \normalcolor
3749     \@makefntext{%
3750     \rule\z@\footnotesep\ignorespaces#1%
3751     \@finalstrut\strutbox}
3752     \color@endgroup%
3753     % NEW 0.52l reset the counter for citations inside a footnote at the end of the footnote
3754     \setcounter{jb@cites@in@footnote}{0}%
3755     }%
3756     }%
3757     \fi
3758     % NEW 0.5f \jb@enote@hook introduced for compatibility with endnotes.sty
3759     \@ifundefined{@xendnotenext}{\relax}{%
3760     \global\jb@endnotestrue
3761     \let\jb@orig@citex\@citex
3762     \let\orig@emulate@nat@cite\jb@emulate@nat@cite
3763     \def\@citex[#1][#2]#3{%
3764     \ifjbcross % no extra endnote for crossref's
3765     \jb@orig@citex[#1][#2]{#3}%
3766     \else
3767     \ifjbweareinbib % no extra endnote for howcited's
3768     \jb@orig@citex[#1][#2]{#3}%
3769     \else
3770     \ifjb@fn
3771     \jb@enotes@warning\jb@orig@citex[#1][#2]{#3}%
3772     \else
3773     \ifthenelse{\boolean{jb@foot}\or\boolean{jb@citetoend}}{%
3774     \expandafter\endnote\expandafter{\jb@enote@hook\jb@orig@citex[#1][#2]{#3}}%
3775     }{\jb@enote@hook\jb@orig@citex[#1][#2]{#3}}%
3776     \fi
3777     \fi
3778     \fi
3779     }%
3780     \def\jb@emulate@nat@cite[#1][#2]#3{%
3781     \ifjbcross % no extra endnote for crossref's
3782     \orig@emulate@nat@cite[#1][#2]{#3}%
3783     \else
3784     \ifjbweareinbib % no extra endnote for howcited's
3785     \orig@emulate@nat@cite[#1][#2]{#3}%
3786     \else
3787     \ifjb@fn
3788     \jb@enotes@warning\orig@emulate@nat@cite[#1][#2]{#3}%
3789     \else
3790     \ifthenelse{\boolean{jb@foot}\or\boolean{jb@citetoend}}{%
3791     \expandafter\endnote\expandafter{\jb@enote@hook\orig@emulate@nat@cite[#1][#2]{#3}}%
3792     }{\jb@enote@hook\orig@emulate@nat@cite[#1][#2]{#3}}%
3793     \fi
3794     \fi
3795     \fi
3796     }%
3797     }%
3798     % NEW 0.5f a warning if makeidx.sty isn't loaded
3799     \@ifpackageloaded{index}{\relax}{%
3800     \ifjb@index
3801     \@ifundefined{@indexfile}{%
3802     \jb@package@warningNoLine{\jb@pkg@name}{%
3803     The `makeidx' package is not loaded,\MessageBreak
3804     `authorformat=indexed' will not work}%
3805     }{}%
3806     \fi
3807     }%
3808     }%
3809     \AtEndOfPackage{%
3810     \ifjb@ragged
3811     \renewcommand*{\bibleftcolumnadjust}{\RaggedRight}%
3812     \renewcommand*{\bibrightcolumnadjust}{\RaggedRight}%
3813     \fi
3814     % 0.5e: moved to \AtBeginDocument because of problems if setspace.sty is loaded after jurabib,
3815     % reported by Hubert Selhofer (<hubert.selhofer@telering.at>)
3816     % \long\def\@footnotetext#1{\insert\footins{ ...%
3817     }%
3818     \def\jurabibsetup{\setkeys{jb}}
3819     \let\jb@origExecuteOptions\ExecuteOptions
3820     \let\ExecuteOptions\jurabibsetup
3821     \def\ProcessOptionsWithKV#1{%
3822     \let\@tempa\@empty
3823     \@for\CurrentOption:=\@classoptionslist\do{%
3824     \@ifundefined{KV@#1@\CurrentOption}%
3825     {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
3826     \edef\@tempa{%
3827     \noexpand\setkeys{#1}{\@tempa\@ptionlist{\@currname.\@currext}}}%
3828     \@tempa%
3829     \AtEndOfPackage{\let\@unprocessedoptions\relax}%
3830     }%
3831     \ProcessOptionsWithKV{jb}%
3832     \let\ExecuteOptions\jb@origExecuteOptions
3833     \@ifundefined{bib@heading}{%
3834     \@ifundefined{chapter}{%
3835     \newcommand*{\bib@heading}%
3836     {\section*{\refname\@mkboth{\refname}{\refname}}}%
3837     }{%
3838     \newcommand*{\bib@heading}%
3839     {\chapter*{\bibname\@mkboth{\bibname}{\bibname}}}%
3840     }%
3841     }{%
3842     \relax
3843     }%
3844     \newcommand*{\jbmakeinbiblist}{}%
3845     \newcommand*{\jbmakeinbib}{%
3846     \jbweareinbibtrue
3847     \jbonlyforbib%
3848     \let\jbPAGES\origPAGES
3849     \let\jbpages\origpages
3850     \let\jbPages\origPages
3851     % NEW 0.5f Reduced to one command, formatting by \jbprformat
3852     % \let\jbPage\origPage
3853     % NEW 0.5f
3854     \let\jbartPages\origartPages
3855     % NEW 0.5f Reduced to one command, formatting by \jbprformat
3856     % \let\jbartPage\origartPage
3857     \jb@lookatfalse
3858     \let\jbatsep\@empty
3859     \jb@third@extra@spacefalse
3860     \jb@ibidemfalse
3861     \jb@ibidem@pagewisefalse
3862     \jb@ibidem@double@pagewisefalse
3863     \jb@ibidem@with@namefalse
3864     \jb@ibidem@with@short@namefalse
3865     \jb@ibidem@with@name@and@titlefalse
3866     \jb@no@lookat@for@bibtrue
3867     % NEW 0.5e: disable `crossref=dynamic' for bibliography
3868     % NEW 0.5f: different handling for oxford crossrefs (do we need `ed.' inside the crossref)????
3869     \ifjb@dynamic@crossrefs
3870     % \ifjboxford
3871     % \renewcommand*{\bibcrossrefcite}{\fullnameoxfordcrossref}%
3872     % \renewcommand*{\bibincollcrossrefcite}{\fullnameoxfordcrossref}%
3873     % \renewcommand*{\bibcrossrefciteagain}{\fullnameoxfordcrossref}%
3874     % \renewcommand*{\bibincollcrossrefciteagain}{\fullnameoxfordcrossref}%
3875     % \else
3876     \renewcommand*{\bibcrossrefcite}{\citetitle}%
3877     \renewcommand*{\bibincollcrossrefcite}{\citetitle}%
3878     \renewcommand*{\bibcrossrefciteagain}{\citetitle}%
3879     \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}%
3880     % \fi
3881     \fi
3882     % NEW 0.5f make memory empty when starting bibliography
3883     \let\jb@last@ibidem@author\@empty
3884     \let\jb@ibidem@author\@empty
3885     }%
3886     \renewenvironment{thebibliography}[1]{%
3887     \bib@heading
3888     \jbmakeinbib%
3889     % INSERTED because of problems using \typearea from the KOMA-bundle after loading jurabib
3890     % calculation should be done here, suggested by Tilman Finke
3891     \addtolength{\jb@biblaw@entry@width}{\textwidth}%
3892     \list{\relax}{%
3893     % NEW 0.5e compressed bibliography
3894     \ifjb@compressed@bib
3895     \setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}%
3896     \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}%
3897     \fi
3898     \jbmakeinbiblist% NEW 0.5e make \itemsep configurable with \addto
3899     \ifjb@bib@hang%
3900     \setlength{\itemindent}{-\jbbibhang}%
3901     \setlength{\leftmargin}{\jbbibhang}%
3902     \else
3903     \setlength{\itemindent}{0pt}%
3904     \setlength{\leftmargin}{0pt}%
3905     \fi
3906     }%
3907     \sloppy\clubpenalty4000\widowpenalty4000%
3908     \sfcode`\.=\@m%
3909     }%
3910     {\def\@noitemerr
3911     {\@latex@warning{Empty `thebibliography' environment}%
3912     }\endlist\jbweareinbibfalse%
3913     }%
3914     \newcommand*{\jb@make@howcited}{% @* except of ...
3915     \renewcommand*{\bibhowcited}{%
3916     \jbweareinhowcitedtrue
3917     \space\howcitedprefix%
3918     \jb@specialcite{\jb@key}%
3919     \howcitedsuffix\jbweareinhowcitedfalse}}%
3920     \newcommand*{\jb@make@comment@howcited}{% ... @COMMENTED
3921     \renewcommand*{\bibcommenthowcited}{%
3922     \jbweareinhowcitedtrue
3923     \space\howcitedprefix%
3924     \jb@specialcite[][Bearbeiter]{\jb@key}%
3925     \howcitedsuffix\jbweareinhowcitedfalse}}%
3926     \newcommand*{\jb@make@artperiod@howcited}{% ... @ARTICLE and @PERIODICAL
3927     \ifjb@allow@howcited@art@period
3928     \renewcommand*{\bibartperiodhowcited}{%
3929     \jbweareinhowcitedtrue
3930     \space\howcitedprefix%
3931     \jb@specialcite{\jb@key}%
3932     \howcitedsuffix\jbweareinhowcitedfalse}%
3933     \fi}%
3934     \newcommand*{\jb@make@all@howcited@empty}{%
3935     \let\bibhowcited\@empty
3936     \let\bibcommenthowcited\@empty
3937     \ifjb@allow@howcited@art@period
3938     \let\bibartperiodhowcited\@empty
3939     \fi
3940     }%
3941     % NEW 0.5c; special command, inspired by Christian Meyn, declares a work which isn't really cited, but
3942     % should appear in the bibliography _with_ a howcited note (perhaps given by the howcited field),
3943     % see also the changed command \jb@make@howcited@compare
3944     % Usage: \nocitebuthowcited{<key>}
3945     \newcommand*{\nocitebuthowcited}[1]{%
3946     \if@filesw\immediate\write\@auxout{%
3947     \string\citation{#1}^^J%
3948     \string\jbrealcitation{cite}{#1}}
3949     \fi
3950     }%
3951     \newcommand*{\jbhowcitedcomparepart}{%
3952     \ifthenelse{\equal{\jb@@howcited}{}}{%
3953     \ifthenelse{\equal{\jb@@shorttitle}{\@empty}}{%
3954     \jb@make@all@howcited@empty
3955     }{%
3956     \ifthenelse{\equal{\jb@@shorttitle}{\jb@@title}}{%
3957     \jb@make@all@howcited@empty
3958     }{%
3959     \ifthenelse{\equal{\jb@@author}{empty}}{%
3960     \jb@make@all@howcited@empty
3961     }{%
3962     % NEW 0.5f: only howcited remark, if shorttitle != title AND shorttitle was _used_!
3963     \ifthenelse{%
3964     \equal{\@nameuse{TITLE@\jb@key}}{used}%
3965     % \and\not
3966     % NEW 0.5f: should compare ignore multiple citations???
3967     % \equal{\jb@@mult@switch}{1}%
3968     }{%
3969     \jb@suppress@dot@for@howcitedtrue
3970     \jb@make@howcited%
3971     \jb@make@comment@howcited%
3972     \jb@make@artperiod@howcited%
3973     }{%
3974     \jb@make@all@howcited@empty
3975     }%
3976     }%
3977     }%
3978     }%
3979     }{%
3980     \ifthenelse{\equal{\jb@@howcited}{1}}{%
3981     % should the howcited field be ignored in compare mode???
3982     \ifthenelse{%
3983     \equal{\@nameuse{TITLE@\jb@key}}{used}%
3984     }{%
3985     \jb@suppress@dot@for@howcitedtrue
3986     \jb@make@howcited%
3987     \jb@make@comment@howcited%
3988     \jb@make@artperiod@howcited%
3989     }{%
3990     \jb@make@all@howcited@empty
3991     }%
3992     }{%
3993     \renewcommand*{\bibhowcited}{%
3994     \space\howcitedprefix \jb@@howcited\howcitedsuffix}%
3995     \renewcommand*{\bibcommenthowcited}{%
3996     \space\howcitedprefix \jb@@howcited\howcitedsuffix}%
3997     \ifjb@allow@howcited@art@period
3998     \renewcommand*{\bibartperiodhowcited}{%
3999     \space\howcitedprefix \jb@@howcited\howcitedsuffix}%
4000     \fi
4001     }%
4002     }%
4003     }%
4004     \newcommand*{\jbhowcitednormalpart}{%
4005     \ifthenelse{\equal{\jb@@howcited}{}}{% %
4006     \jb@make@all@howcited@empty
4007     }{%
4008     \ifthenelse{\equal{\jb@@howcited}{1}}{%
4009     \jb@suppress@dot@for@howcitedtrue
4010     \jb@make@howcited%
4011     \jb@make@comment@howcited%
4012     \jb@make@artperiod@howcited%
4013     }{%
4014     \renewcommand*{\bibhowcited}{%
4015     \space\howcitedprefix \jb@@howcited\howcitedsuffix}%
4016     \renewcommand*{\bibcommenthowcited}{%
4017     \space\howcitedprefix \jb@@howcited\howcitedsuffix}%
4018     \ifjb@allow@howcited@art@period
4019     \renewcommand*{\bibartperiodhowcited}{%
4020     \space\howcitedprefix \jb@@howcited\howcitedsuffix}%
4021     \fi
4022     }%
4023     }%
4024     }
4025     \newcommand*{\jbaddtomakehowcited}{}
4026     \newcommand*{\jb@make@the@howcited}{%
4027     \ifthenelse{\boolean{jb@howcited@normal}}{%
4028     % NORMAL=TRUE
4029     \ifthenelse{\boolean{jb@howcited@compare}}{%
4030     % NORMAL=TRUE, COMPARE=TRUE
4031     \ifthenelse{\boolean{jb@howcited@multiple}}{%
4032     % NORMAL=TRUE, COMPARE=TRUE, MULTIPLE=TRUE
4033     % \jb@typeout{Using howcited=normal AND howcited=compare AND howcited=multiple}%
4034     \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start
4035     \jb@make@howcited
4036     \jb@make@comment@howcited
4037     \jb@make@artperiod@howcited % multiple part end
4038     }{%
4039     \jbhowcitednormalpart%
4040     \jbhowcitedcomparepart%
4041     }%
4042     }{% NORMAL=TRUE, COMPARE=TRUE, multiple=false
4043     % \jb@typeout{Using howcited=normal AND howcited=compare}%
4044     \jbhowcitednormalpart%
4045     \jbhowcitedcomparepart%
4046     }%
4047     }{%
4048     % NORMAL=TRUE, compare=false
4049     \ifthenelse{\boolean{jb@howcited@multiple}}{%
4050     % NORMAL=TRUE, compare=false, MULTIPLE=TRUE
4051     % howcited=normal AND howcited=multiple
4052     % \jb@typeout{Using howcited=normal AND howcited=multiple}%
4053     \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start
4054     \jb@make@howcited
4055     \jb@make@comment@howcited
4056     \jb@make@artperiod@howcited % multiple part end
4057     }{%
4058     \jbhowcitednormalpart%
4059     }%
4060     }{% NORMAL=TRUE, compare=false, multiple=false
4061     % \jb@typeout{Using ONLY howcited=normal}
4062     \jbhowcitednormalpart%
4063     }%
4064     }%
4065     }{%
4066     % normal=false
4067     \ifthenelse{\boolean{jb@howcited@compare}%
4068     }{% normal=false, COMPARE=TRUE
4069     \ifthenelse{\boolean{jb@howcited@multiple}}{%
4070     % normal=false, COMPARE=TRUE, MULTIPLE=TRUE
4071     % \jb@typeout{Using howcited=compare AND howcited=multiple}
4072     \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start
4073     \jb@make@howcited
4074     \jb@make@comment@howcited
4075     \jb@make@artperiod@howcited % multiple part end
4076     }{%
4077     \jbhowcitedcomparepart%
4078     }%
4079     }{% normal=false, COMPARE=TRUE, multiple=false
4080     % \jb@typeout{Using ONLY howcited=compare}
4081     \jbhowcitedcomparepart%
4082     }%
4083     }{% normal=false, compare=false
4084     \ifthenelse{\boolean{jb@howcited@multiple}}{%
4085     % normal=false, compare=false, MULTIPLE=TRUE
4086     % \jb@typeout{Using ONLY howcited=multiple}
4087     \jb@suppress@dot@for@howcitedtrue
4088     \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start
4089     \jb@make@howcited
4090     \jb@make@comment@howcited
4091     \jb@make@artperiod@howcited % multiple part end
4092     }{%
4093     \jb@make@all@howcited@empty
4094     }%
4095     }{% normal=false, compare=false, multiple=false, all=true
4096     \ifthenelse{\boolean{jb@howcited@all}}{%
4097     \jb@suppress@dot@for@howcitedtrue
4098     \jb@make@howcited
4099     \jb@make@comment@howcited
4100     % we have to switch on `howcited' for articles and periodicals
4101     \jb@allow@howcited@art@periodtrue
4102     \jb@make@artperiod@howcited
4103     }{%
4104     % normal=false, compare=false, multiple=false, all=false
4105     % no howcited option
4106     \relax
4107     }%
4108     }%
4109     }%
4110     }%
4111     \jbaddtomakehowcited%
4112     }%
4113     %\newcommand*{\jb@make@howcited@all}{%
4114     % \jb@suppress@dot@for@howcitedtrue
4115     % \jb@make@howcited
4116     % \jb@make@comment@howcited
4117     %% we have to switch on `howcited' for articles and periodicals
4118     % \jb@allow@howcited@art@periodtrue
4119     % \jb@make@artperiod@howcited
4120     %}%
4121     \newcommand*{\jb@detect@used@cite@commands}{%
4122     \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{cite}}{%
4123     \let\jb@specialcite\cite}{\relax}%
4124     \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{citetitle}}{%
4125     \let\jb@specialcite\citetitle}{\relax}%
4126     \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{citenotitle}}{%
4127     \let\jb@specialcite\jbcitenotitle}{\relax}%
4128     }%
4129     \newcommand*{\jb@last@label}{}
4130     \newcommand*{\jb@last@mult@author}{}
4131     \AtEndDocument{\let\jb@chk@multiple\@gobbletwo}
4132     \newcommand*{\jb@chk@multiple}[2]{%
4133     \ifthenelse{\equal{#1}{\jb@last@mult@author}}{%
4134     \global\@namedef{jb@fm@\jb@last@label}{}%
4135     \global\@namedef{jb@fm@#2}{}%
4136     }{%
4137     \relax
4138     }%
4139     \def\jb@last@mult@author{#1}%
4140     \def\jb@last@label{#2}%
4141     }%
4142     \newcommand*\jb@chk@bibetal[2]{%
4143     \begingroup
4144     \protected@edef\x{%
4145     \endgroup
4146     \def\noexpand\jb@@chk@bibetal####1\Bibetal####2\noexpand\end{%
4147     \noexpand\jb@@bibetal@argcheck{####1}{####2}{#2}%
4148     }%
4149     }\x
4150     \protected@edef\@tempa{#1}%
4151     \protected@edef\@tempb{\Bibetal}%
4152     \expandafter\expandafter\expandafter
4153     \jb@@chk@bibetal\expandafter\@tempa\@tempb\end
4154     }
4155     \newcommand*\jb@@bibetal@argcheck[3]{%
4156     \ifthenelse{\equal{#2}{}}{%
4157     % \jb@typeout{---NO bibetal in citation |#1|#2|}%
4158     }{%
4159     % \jb@typeout{--- bibetal in citation |#1|#2|}%
4160     \if@filesw{%
4161     \let\protect\noexpand
4162     \immediate\write\@auxout{\string\jb@chk@multiple{#1#2}{#3}}%
4163     }%
4164     \fi
4165     }%
4166     }
4167     \newcommand*{\jb@@name}{}%
4168     \newcommand*{\jb@last@fullname}{}%
4169     % NEW 0.5e biblaw commands contributed by Tilman Finke
4170     \newcommand*{\jb@biblaw@item}{\hspace{0.5em}$\triangleright$\hspace{0.5em}}
4171     \newlength{\jb@biblaw@entry@width}
4172     \newlength{\jb@biblaw@item@width}
4173     \settowidth{\jb@biblaw@item@width}{\jb@biblaw@item}
4174     \setlength{\jb@biblaw@entry@width}{\jb@biblaw@item@width}
4175     \setlength{\jb@biblaw@entry@width}{-\jb@biblaw@entry@width}
4176     %\addtolength{\jb@biblaw@entry@width}{\columnwidth}
4177     % REMOVED because of problems using \typearea from the KOMA-bundle after loading jurabib
4178     % calculation should be done inside \thebibliography, suggested by Tilman Finke
4179     % \addtolength{\jb@biblaw@entry@width}{\textwidth}%
4180     \newcolumntype{j}[1]{>{\bibaltformatalign\hspace{0pt}}p{#1}}
4181     % NEW 0.5f changed item to make consecutive bibliographies possible
4182     \newcommand*{\jb@item}{\item}%
4183     \newcommand\jb@deactivate@babel{%
4184     %FIXME: \noextrasfrench or \bbl@deactivate don't work here?? just do it the low-level way:
4185     \let\do\@makeother\do\:\do\;\do\!\do\?\do\"\do\`\do\'\do\^%<---! solved in 0.51r (bug reported by Andreas Altenburger)
4186     % \do\~ % 0.51r removed, causes problems with ~ from .bst
4187     }
4188     \newcommand*{\bibnumberformat}[1]{\biblnfont{#1.}}%
4189     \newcommand\jb@@test@fullname{}
4190     \newcommand\jb@@testlast@fullname{}
4191     \newcommand\jb@@test@au@or@ed{}
4192     \newcommand\jb@@testlast@au@or@ed{}
4193     \newcommand*{\jbdoitem}{%
4194     \ifjb@index\protected@xdef\curr@key{\jb@key}%
4195     \gdef\jb@authorlist{}\fi
4196     \ifjb@no@bib\relax\else
4197     \ifthenelse{\equal{\@nameuse{NOBIB@\jb@key}}{suppress}}{}{%
4198     % NEW 0.5f changed item to make consecutive bibliographies possible
4199     \jb@item\hyper@jbanchorstart{\jb@key}\hyper@jbanchorend
4200     \ifjb@howcited
4201     \@ifundefined{b@\jb@key @C}{%
4202     % the work \jb@key isn't cited
4203     \renewcommand*{\bibhowcited}{%
4204     \space\bibnotcited}%
4205     \renewcommand*{\bibcommenthowcited}{%
4206     \space\bibnotcited}%
4207     \ifjb@allow@howcited@art@period
4208     \renewcommand*{\bibartperiodhowcited}{%
4209     \space\bibnotcited}%
4210     \fi
4211     }{%
4212     % the work \jb@key is cited
4213     \jb@detect@used@cite@commands
4214     \jb@handle@superscript@ed
4215     \jb@make@the@howcited
4216     % NEW 0.5f no op. cit. in howcited remark!
4217     \let\OpCit\@empty
4218     }%
4219     \fi
4220     \protected@edef\jb@tempcntc{\thebibnamereplace}%
4221     \stepcounter{bibnamereplace}%
4222     \label{jbib:\thebibnamereplace}%
4223     \@tempcnta=\jb@tempcntc
4224     \advance\@tempcnta\@ne
4225     \protected@edef\jb@tempcntd{\the\@tempcnta}%
4226     \ifthenelse{\boolean{jb@bibformat@ibidem}}{%
4227     % 0.5e completely rewritten bibformat=ibidem
4228     \ifthenelse{%
4229     \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{%
4230     \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
4231     }{%
4232     \ifjb@debug SAME PAGE/\fi
4233     \ifthenelse{\equal{\jb@@test@fullname}{\jb@@testlast@fullname}}{%
4234     \ifjb@debug SAME AUTHOR \fi
4235     \ifthenelse{\equal{\jb@@fullname}{}}{}{%
4236     \ifthenelse{%
4237     \boolean{jbaltformat}%
4238     }{%
4239     \def\jb@@name{}%
4240     }{%
4241     \def\jb@@name{\bibauthormultiple}%
4242     }%
4243     }%
4244     }{%
4245     \ifjb@debug AUTHOR DIFFERS \fi
4246     \ifthenelse{\equal{\jb@@fullname}{}}{%
4247     \def\jb@@name{}%
4248     }{%
4249     \def\jb@@name{\jb@@fullname\bibansep}%
4250     }%
4251     }%
4252     }{% DIFFERENT PAGES !!!!!
4253     \ifthenelse{%
4254     \boolean{@twoside}%
4255     \and
4256     \isodd{\jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
4257     \and
4258     \equal{%
4259     \jb@simple@pageref@by@heiko{jbib:\jb@tempcntd}}{%
4260     \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}%
4261     }{%
4262     \ifjb@debug DIFF AND ODD/\fi
4263     \ifthenelse{%
4264     \equal{\jb@@test@fullname}{\jb@@testlast@fullname}%
4265     }{%
4266     \ifjb@debug SAME AUTHOR \fi
4267     \ifthenelse{\equal{\jb@@fullname}{}}{}{%
4268     \ifthenelse{%
4269     \boolean{jbaltformat}%
4270     }{%
4271     \def\jb@@name{%
4272     \jb@@fullname%
4273     \space%
4274     \bibfnfont{\bibcontinuedname}%
4275     \bibansep%
4276     }%
4277     }{%
4278     \def\jb@@name{\bibauthormultiple}%
4279     }%
4280     }%
4281     }{%
4282     \ifjb@debug AUTHORS DIFFERS \fi
4283     \ifthenelse{\equal{\jb@@fullname}{}}{%
4284     \def\jb@@name{}%
4285     }{%
4286     \def\jb@@name{\jb@@fullname\bibansep}%
4287     }%
4288     }%
4289     }{%
4290     \ifjb@debug DIFF AND EVEN/\fi
4291     \ifthenelse{%
4292     \equal{\jb@@test@fullname}{\jb@@testlast@fullname}%
4293     }{%
4294     \ifjb@debug SAME AUTHOR \fi
4295     \ifthenelse{\equal{\jb@@fullname}{}}{}{%
4296     \ifthenelse{%
4297     \boolean{jbaltformat}%
4298     }{%
4299     \def\jb@@name{%
4300     \jb@@fullname%
4301     \space%
4302     \bibfnfont{\bibcontinuedname}%
4303     \bibansep%
4304     }%
4305     }{%
4306     \def\jb@@name{\jb@@fullname\bibansep}%
4307     }%
4308     }%
4309     }{%
4310     \ifjb@debug AUTHORS DIFFERS \fi
4311     \ifthenelse{\equal{\jb@@fullname}{}}{%
4312     \def\jb@@name{}%
4313     }{%
4314     \def\jb@@name{\jb@@fullname\bibansep}%
4315     }%
4316     }%
4317     }%
4318     }%
4319     }{% bibformat=ibidem false
4320     \ifthenelse{\equal{\jb@@fullname}{}}{%
4321     \def\jb@@name{}%
4322     }{%
4323     \def\jb@@name{\jb@@fullname\bibansep}%
4324     }%
4325     }%
4326     \ifjb@babel
4327     \ifthenelse{\equal{\jb@@language}{\@empty}}{%
4328     \expandafter\jbselectlanguage\expandafter{\bbl@main@language}%
4329     }{%
4330     \language=\csname l@\jb@@language\endcsname\relax%
4331     }%
4332     \jb@check@language@start%
4333     \fi
4334     \ifjbaltformat\else
4335     \ifjb@numbered@bib
4336     \renewcommand*{\bibleftcolumn}{.36\linewidth}%
4337     \renewcommand*{\bibrightcolumn}{%
4338     \textwidth-\bibleftcolumn-5mm-\jbnumberbibwidth}%
4339     \begin{minipage}[t]{\jbnumberbibwidth}%
4340     \stepcounter{jbbibcnta}\bibnumberformat{\thejbbibcnta}%
4341     \end{minipage}%
4342     \fi
4343     \fi
4344     \ifjb@tabular
4345     \begin{minipage}[t]{\bibleftcolumn}%
4346     \renewcommand*{\bibansep}{}%
4347     \bibleftcolumnadjust\mbox{}%
4348     \jb@@name%
4349     \end{minipage}\ifjb@numbered@bib\hspace{5mm}\else\hspace{10mm}\fi%
4350     \begin{minipage}[t]{\bibrightcolumn}%
4351     \bibrightcolumnadjust%
4352     % no linebreak in right column
4353     \let\jblinebreak\@empty
4354     \jb@@fulltitle%
4355     \begingroup
4356     \jb@check@language@end%
4357     \let\hyper@jblinkstart\@gobble
4358     \let\hyper@jblinkend\relax
4359     \jb@bibarg@howcited%
4360     \endgroup
4361     \ifjb@dot\unskip\unskip\unskip.\fi
4362     % NEW 0.5e
4363     \jb@endnote%
4364     \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi
4365     \end{minipage}%\medskip%
4366     \else
4367     \ifjbaltformat
4368     \ifx\jb@@name\@empty\else\medskip\fi % add some vertical space between different authors
4369     \let\jblinebreak\@empty\setlength{\tabcolsep}{0pt}\mbox{}\noindent
4370     \begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}}
4371     \ifx\jb@@name\@empty\else\multicolumn{2}{p{\columnwidth}}{\jb@@name}\\\fi
4372     \jb@biblaw@item & \jb@@fulltitle%
4373     \begingroup
4374     \jb@check@language@end%
4375     \let\hyper@jblinkstart\@gobble
4376     \let\hyper@jblinkend\relax
4377     \jb@bibarg@howcited%
4378     \endgroup
4379     \ifjb@dot\unskip\unskip\unskip.\fi
4380     \jb@endnote%
4381     \ifjb@backref
4382     ~\backref{\csname br@\jb@key\endcsname}%
4383     \fi
4384     \end{tabular}
4385     \else
4386     \jb@@name\jb@@fulltitle%
4387     \begingroup
4388     \jb@check@language@end%
4389     \let\hyper@jblinkstart\@gobble
4390     \let\hyper@jblinkend\relax
4391     \jb@bibarg@howcited%
4392     \endgroup
4393     \ifjb@dot\unskip\unskip\unskip.\fi
4394     \jb@endnote%
4395     \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi
4396     \fi
4397     \fi
4398     % NEW 0.5e
4399     \gdef\jb@endnote{}%
4400     \ifjb@index\ifjb@index@bib\jb@index@as@alias{\jb@key}\fi\fi
4401     % save last author
4402     \protected@edef\jb@@testlast@fullname{\jb@@test@fullname}%
4403     \protected@edef\jb@@testlast@au@or@ed{\jb@@test@au@or@ed}%
4404     }%
4405     \fi
4406     \if@filesw{\let\protect\noexpand\immediate\write\@auxout{%
4407     \string\bibcite{\jb@key}{\jb@tempa}%
4408     \ifjb@index
4409     % NEW 0.5f No writeout to aux if \nobibliography is used
4410     \ifjb@no@bib\else
4411     ^^J\string\jb@define@alias{\curr@key}{\jb@authorlist}%
4412     \fi
4413     \fi}}%
4414     \fi
4415     \ignorespaces
4416     }%
4417     \newcommand*{\jbbibargs}[5]{%
4418     \protected@edef\jb@tempa{\jb@tempb{#1}{#4}}%
4419     \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}%
4420     \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}%
4421     \def\jb@bibarg@howcited{#5}%
4422     \ifthenelse{\equal{#2}{jureco}}{\global\jb@bibformat@ibidemfalse\global\jbaltformatfalse}{\gdef\jb@@test@fullname{#2}}%
4423     \ifthenelse{\equal{#3}{}}{}{\gdef\jb@@test@au@or@ed{#3}}%
4424     \jb@chk@bibetal{\jb@@author}{\jb@key}%
4425     \let\jb@first@author\@undefined
4426     \let\jb@first@editor\@undefined
4427     \setcounter{ibidem@author}{0}%
4428     \setcounter{multiple@author}{0}%
4429     }%
4430     % % NEW 0.51v 4 args now
4431     % \newcommand*{\jbbibargs}[4]{%
4432     % \protected@edef\jb@tempa{\jb@tempb{#1}{#3}}%
4433     % \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}%
4434     % % NEW 0.5f revised for more arguments from .bbl
4435     % \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}%
4436     % \def\jb@bibarg@howcited{#4}%
4437     % % NEW 0.51v 4 args now, bibformat=ibidemalt
4438     % \ifthenelse{\equal{#2}{jureco}}{\global\jb@bibformat@ibidemfalse\global\jbaltformatfalse}{\gdef\jb@@test@fullname{#2}}%
4439     % \jb@chk@bibetal{\jb@@author}{\jb@key}%
4440     % % added in 0.5e, suggested by Joachim Trinkwitz (jtr@uni-bonn.de),
4441     % % no reversed editors for authorformat=firstnotreversed, makes no sense
4442     % \let\jb@first@author\@undefined
4443     % % added in 0.5f to allow the firstnotreversed-feature optionally by removing \def\jb@firsteditor{} from \bibBTsep and \bibJTsep.
4444     % \let\jb@first@editor\@undefined
4445     % % NEW 0.5f idem feature -- forget last author at the end of the entry.
4446     % % No comparing with the next entry!
4447     % % \def\jb@inside@author{}%
4448     % % \def\jb@inside@editor{}%
4449     % \setcounter{ibidem@author}{0}%
4450     % \setcounter{multiple@author}{0}%
4451     % }%
4452     % \def\@lbibitem[#1]#2{\def\jb@tempb{#1}\def\jb@key{#2}}%
4453     \def\@lbibitem{%
4454     \begingroup
4455     \jb@deactivate@babel
4456     \jb@lbibitem
4457     }
4458     \def\jb@lbibitem[#1]#2{\gdef\jb@tempb{#1}\gdef\jb@key{#2}\endgroup}%
4459     % special thanks to Stefan Ulrich
4460     \newcommand*{\nobibliography}[1]{%
4461     \ifjb@allow@nobib
4462     \global\jb@no@bibtrue
4463     % no hyperlinks if bibliography is suppressed
4464     \if@filesw\immediate\write\@auxout{%
4465     % NEW 0.51v switch off hypercite when \nobibliography is used
4466     \string\global\string\jb@allow@hyper@citefalse^^J%
4467     \string\global\string\jb@allow@hyper@cite@nobibfalse^^J%
4468     \string\global\string\jb@no@bibtrue
4469     % ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ indexing for \nobibliography too
4470     }%
4471     \fi
4472     \begingroup
4473     \renewenvironment{thebibliography}[1]{%
4474     \usecounter{enumiv}%
4475     \renewcommand*{\item}[1][]{%
4476     \ifx\relax####1\relax\stepcounter\@listctr\fi
4477     }%
4478     }{\relax}%
4479     \bibliography{#1}%
4480     \endgroup
4481     \else
4482     \jb@package@warningNoLine{\jb@pkg@name}{%
4483     You are using the `\string\nobibliography' command\MessageBreak
4484     without using one of the `citefull' options.\MessageBreak
4485     Choose `citefull=first' or `citefull=all'.\MessageBreak
4486     I'm putting out the normal `\string\bibliography'%
4487     }%
4488     \bibliography{#1}%
4489     \fi
4490     }%
4491     % NEW 0.5f \jb@enote@hook introduced for compatibility with endnotes.sty
4492     \newcommand\jb@enote@hook{}
4493     % *******************************************************
4494     %
4495     % THE CITE COMMANDS
4496     %
4497     %
4498     % *******************************************************
4499     % \cite section
4500     % *******************************************************
4501     \def\cite{%
4502     \begingroup
4503     \jb@deactivate@babel%
4504     \jb@save@auxfile%
4505     \@ifstar{\jbcitenotitle}{\@ifnextchar[{\jb@cite}{\jb@cite[]}}%
4506     }%
4507     \newcommand*{\jb@cite}{}%
4508     %
4509     \def\jb@cite{%
4510     \@ifnextchar[{\jb@@cite}{\jb@@cite[]}%
4511     }
4512     \def\jb@@cite[#1]{%
4513     \@ifnextchar[{\jb@@@cite[#1]}{\jb@@@cite[#1][]}%
4514     }
4515     \def\jb@@@cite[#1][#2]#3{%
4516     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4517     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4518     \def\jb@enote@hook{%
4519     \ifjb@all@full
4520     \jb@change@fonts@for@fullcitetrue
4521     \jb@fullcite@againtrue
4522     \jb@citefalse
4523     \else
4524     \jb@citetrue
4525     \jb@fullcite@againfalse
4526     \fi
4527     \jb@cite@titlefalse
4528     \jb@cite@no@titlefalse
4529     \jb@footfalse % works for endnotes too
4530     }%
4531     \jb@enote@hook
4532     \jb@footfalse % works only for non-endnotes
4533     \@citex[#1][#2]{#3}%
4534     \endgroup
4535     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4536     \ifjb@index\ifjb@no@bib\if@filesw
4537     {\let\protect\noexpand\immediate\write\@auxout{%
4538     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4539     \fi\fi\fi
4540     \futurelet\@let@token\@next@footnote
4541     }%
4542     % *******************************************************
4543     % \cite* section
4544     % *******************************************************
4545     \newcommand*{\jbcitenotitle}{%
4546     \begingroup
4547     \jb@deactivate@babel%
4548     \jb@save@auxfile%
4549     % NEW 0.51k
4550     \jb@starred@citetrue
4551     \@ifnextchar[{\jb@cite@no@title}{\jb@cite@no@title[]}%
4552     }
4553     \newcommand*{\jb@cite@no@title}{}%
4554     %
4555     \def\jb@cite@no@title{%
4556     \@ifnextchar[{\jb@@cite@no@title}{\jb@@cite@no@title[]}%
4557     }
4558     \def\jb@@cite@no@title[#1]{%
4559     \@ifnextchar[{\jb@@@cite@no@title[#1]}{\jb@@@cite@no@title[#1][]}%
4560     }
4561     \def\jb@@@cite@no@title[#1][#2]#3{%
4562     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4563     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4564     \def\jb@enote@hook{%
4565     \ifjb@all@full
4566     \jb@change@fonts@for@fullcitetrue
4567     \jb@fullcite@againtrue
4568     \jb@cite@no@titlefalse
4569     \else
4570     \jb@cite@no@titletrue
4571     \jb@fullcite@againfalse
4572     \fi
4573     \jb@citefalse
4574     \jb@cite@titlefalse
4575     \jb@footfalse % works for endnotes too
4576     }%
4577     \jb@enote@hook
4578     \jb@footfalse % works only for non-endnotes
4579     \@citex[#1][#2]{#3}%
4580     \endgroup
4581     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4582     \ifjb@index\ifjb@no@bib\if@filesw
4583     {\let\protect\noexpand\immediate\write\@auxout{%
4584     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4585     \fi\fi\fi
4586     \futurelet\@let@token\@next@footnote
4587     }%
4588     % *******************************************************
4589     % \citetitle section
4590     % *******************************************************
4591     \newcommand*{\jbcitetitle}{%
4592     \begingroup
4593     \jb@deactivate@babel%
4594     \jb@save@auxfile%
4595     \@ifnextchar[{\jb@cite@title}{\jb@cite@title[]}%
4596     }
4597     \newcommand*{\jb@cite@title}{}%
4598     %
4599     \def\jb@cite@title{%
4600     \@ifnextchar[{\jb@@cite@title}{\jb@@cite@title[]}%
4601     }
4602     \def\jb@@cite@title[#1]{%
4603     \@ifnextchar[{\jb@@@cite@title[#1]}{\jb@@@cite@title[#1][]}%
4604     }
4605     \def\jb@@@cite@title[#1][#2]#3{%
4606     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4607     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4608     \def\jb@enote@hook{%
4609     \ifjb@all@full
4610     \jb@change@fonts@for@fullcitetrue
4611     \jb@fullcite@againtrue
4612     \jb@cite@titlefalse
4613     \else
4614     \jb@cite@titletrue
4615     \jb@fullcite@againfalse
4616     \fi
4617     \jb@citefalse
4618     \jb@cite@no@titlefalse
4619     \jb@footfalse % works for endnotes too
4620     }%
4621     \jb@enote@hook
4622     \jb@footfalse % works only for non-endnotes
4623     \@citex[#1][#2]{#3}%
4624     \endgroup
4625     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4626     \ifjb@index\ifjb@no@bib\if@filesw
4627     {\let\protect\noexpand\immediate\write\@auxout{%
4628     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4629     \fi\fi\fi
4630     \futurelet\@let@token\@next@footnote
4631     }%
4632     % *******************************************************
4633     % \fullcite section
4634     % *******************************************************
4635     \newcommand*{\jbfullcite}{%
4636     \begingroup
4637     \jb@deactivate@babel%
4638     \jb@save@auxfile%
4639     \@ifnextchar[{\jb@fullcite}{\jb@fullcite[]}%
4640     }
4641     \newcommand*{\jb@fullcite}{}%
4642     %
4643     \def\jb@fullcite{%
4644     \@ifnextchar[{\jb@@fullcite}{\jb@@fullcite[]}%
4645     }
4646     \def\jb@@fullcite[#1]{%
4647     \@ifnextchar[{\jb@@@fullcite[#1]}{\jb@@@fullcite[#1][]}%
4648     }
4649     \def\jb@@@fullcite[#1][#2]#3{%
4650     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4651     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4652     \def\jb@enote@hook{%
4653     \noibidem%
4654     \jb@change@fonts@for@fullcitetrue
4655     \jb@cite@no@titlefalse
4656     \jb@fullcite@againtrue
4657     \jb@citefalse
4658     \jb@cite@titlefalse
4659     \jb@footfalse % works for endnotes too
4660     }%
4661     \jb@enote@hook
4662     \jb@footfalse % works only for non-endnotes
4663     \@citex[#1][#2]{#3}%
4664     \endgroup
4665     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4666     \ifjb@index\ifjb@no@bib\if@filesw
4667     {\let\protect\noexpand\immediate\write\@auxout{%
4668     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4669     \fi\fi\fi
4670     \futurelet\@let@token\@next@footnote
4671     }%
4672     % *******************************************************
4673     %
4674     % THE FOOT CITE COMMANDS
4675     %
4676     %
4677     % *******************************************************
4678     % \footcite section
4679     % *******************************************************
4680     \newcommand*{\jbfootcite}{%
4681     \begingroup
4682     \jb@deactivate@babel%
4683     \jb@save@auxfile%
4684     \@ifstar{\jbfootcitenotitle}{%
4685     \@ifnextchar[{\jb@footcite}{\jb@footcite[]}}}%
4686     \newcommand*{\jb@footcite}{}%
4687     %
4688     \def\jb@footcite{%
4689     \@ifnextchar[{\jb@@footcite}{\jb@@footcite[]}%
4690     }
4691     \def\jb@@footcite[#1]{%
4692     \@ifnextchar[{\jb@@@footcite[#1]}{\jb@@@footcite[#1][]}%
4693     }
4694     \def\jb@@@footcite[#1][#2]#3{%
4695     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4696     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4697     \ifjb@fn\ClassError{\jb@pkg@name}{%
4698     You are using `\string\footcite' inside a footnote}{%
4699     Sorry, that makes no sense.}\fi
4700     \def\jb@enote@hook{\unskip%
4701     \ifjb@all@full
4702     \jb@change@fonts@for@fullcitetrue
4703     \jb@fullcite@againtrue
4704     \jb@citefalse
4705     \else
4706     \jb@citetrue
4707     \jb@fullcite@againfalse
4708     \fi
4709     \jb@cite@titlefalse
4710     \jb@cite@no@titlefalse
4711     \jb@footfalse % works for endnotes too
4712     }%
4713     \jb@enote@hook
4714     \jb@footnote@periodtrue
4715     \jb@foottrue % works only for non-endnotes
4716     \@citex[#1][#2]{#3}%
4717     \endgroup
4718     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4719     \ifjb@index\ifjb@no@bib\if@filesw
4720     {\let\protect\noexpand\immediate\write\@auxout{%
4721     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4722     \fi\fi\fi
4723     \futurelet\@let@token\@next@footnote
4724     }%
4725     % *******************************************************
4726     % \footcitetitle section
4727     % *******************************************************
4728     \newcommand*{\jbfootcitetitle}{%
4729     \begingroup
4730     \jb@deactivate@babel%
4731     \jb@save@auxfile%
4732     \@ifnextchar[{\jb@footcitetitle}{\jb@footcitetitle[]}%
4733     }%
4734     \newcommand*{\jb@footcitetitle}{}%
4735     %
4736     \def\jb@footcitetitle{%
4737     \@ifnextchar[{\jb@@footcitetitle}{\jb@@footcitetitle[]}%
4738     }
4739     \def\jb@@footcitetitle[#1]{%
4740     \@ifnextchar[{\jb@@@footcitetitle[#1]}{\jb@@@footcitetitle[#1][]}%
4741     }
4742     \def\jb@@@footcitetitle[#1][#2]#3{%
4743     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4744     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4745     \ifjb@fn\ClassError{\jb@pkg@name}{%
4746     You are using `\string\footcitetitle' inside a footnote}{%
4747     Sorry, that makes no sense.}\fi
4748     \def\jb@enote@hook{\unskip% <== added to skip spaces before endnotes
4749     \ifjb@all@full
4750     \jb@change@fonts@for@fullcitetrue
4751     \jb@fullcite@againtrue
4752     \jb@cite@titlefalse
4753     \else
4754     \jb@cite@titletrue
4755     \jb@fullcite@againfalse
4756     \fi
4757     \jb@citefalse
4758     \jb@cite@no@titlefalse
4759     \jb@footfalse % works for endnotes too
4760     }%
4761     \jb@enote@hook
4762     \jb@footnote@periodtrue
4763     \jb@foottrue % works only for non-endnotes
4764     \@citex[#1][#2]{#3}%
4765     \endgroup
4766     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4767     \ifjb@index\ifjb@no@bib\if@filesw
4768     {\let\protect\noexpand\immediate\write\@auxout{%
4769     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4770     \fi\fi\fi
4771     \futurelet\@let@token\@next@footnote
4772     }%
4773     % *******************************************************
4774     % \footcite* section
4775     % *******************************************************
4776     \newcommand*{\jbfootcitenotitle}{%
4777     \begingroup
4778     \jb@deactivate@babel%
4779     \jb@save@auxfile%
4780     % NEW 0.51k
4781     \jb@starred@citetrue
4782     \@ifnextchar[{\jb@footcitenotitle}{\jb@footcitenotitle[]}}%
4783     \newcommand*{\jb@footcitenotitle}{}%
4784     %
4785     \def\jb@footcitenotitle{%
4786     \@ifnextchar[{\jb@@footcitenotitle}{\jb@@footcitenotitle[]}%
4787     }
4788     \def\jb@@footcitenotitle[#1]{%
4789     \@ifnextchar[{\jb@@@footcitenotitle[#1]}{\jb@@@footcitenotitle[#1][]}%
4790     }
4791     \def\jb@@@footcitenotitle[#1][#2]#3{%
4792     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4793     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4794     \ifjb@fn\ClassError{\jb@pkg@name}{%
4795     You are using `\string\footcite*' inside a footnote}{%
4796     Sorry, that makes no sense.}\fi
4797     \def\jb@enote@hook{\unskip%
4798     \ifjb@all@full
4799     \jb@change@fonts@for@fullcitetrue
4800     \jb@fullcite@againtrue
4801     \jb@cite@no@titlefalse
4802     \else
4803     \jb@cite@no@titletrue
4804     \jb@fullcite@againfalse
4805     \fi
4806     \jb@citefalse
4807     \jb@cite@titlefalse
4808     \jb@footfalse % works for endnotes too
4809     }%
4810     \jb@enote@hook
4811     \jb@footnote@periodtrue
4812     \jb@foottrue % works only for non-endnotes
4813     \@citex[#1][#2]{#3}%
4814     \endgroup
4815     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4816     \ifjb@index\ifjb@no@bib\if@filesw
4817     {\let\protect\noexpand\immediate\write\@auxout{%
4818     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4819     \fi\fi\fi
4820     \futurelet\@let@token\@next@footnote
4821     }%
4822     % *******************************************************
4823     % \footfullcite section
4824     % *******************************************************
4825     \newcommand*{\jbfootfullcite}{%
4826     \begingroup
4827     \jb@deactivate@babel%
4828     \jb@save@auxfile%
4829     \@ifnextchar[{\jb@footfullcite}{\jb@footfullcite[]}%
4830     }%
4831     \newcommand*{\jb@footfullcite}{}%
4832     %
4833     \def\jb@footfullcite{%
4834     \@ifnextchar[{\jb@@footfullcite}{\jb@@footfullcite[]}%
4835     }
4836     \def\jb@@footfullcite[#1]{%
4837     \@ifnextchar[{\jb@@@footfullcite[#1]}{\jb@@@footfullcite[#1][]}%
4838     }
4839     \def\jb@@@footfullcite[#1][#2]#3{%
4840     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4841     \ifjb@index\ifjb@no@bib\gdef\jb@authorlist{}\fi\fi
4842     \ifjb@fn\ClassError{\jb@pkg@name}{%
4843     You are using `\string\footfullcite' inside a footnote}{%
4844     Sorry, that makes no sense.}\fi
4845     \def\jb@enote@hook{\unskip%
4846     \noibidem%
4847     \jb@change@fonts@for@fullcitetrue
4848     \jb@cite@no@titlefalse
4849     \jb@fullcite@againtrue
4850     \jb@citefalse
4851     \jb@cite@titlefalse
4852     \jb@footfalse % works for endnotes too
4853     }%
4854     \jb@enote@hook
4855     \jb@footnote@periodtrue
4856     \jb@foottrue % works only for non-endnotes
4857     \@citex[#1][#2]{#3}%
4858     \endgroup
4859     % NEW 0.5f `authorformat=indexed' for \nobibliography too
4860     \ifjb@index\ifjb@no@bib\if@filesw
4861     {\let\protect\noexpand\immediate\write\@auxout{%
4862     \string\jb@define@alias{#3}{\jb@authorlist}}}%
4863     \fi\fi\fi
4864     \futurelet\@let@token\@next@footnote
4865     }%
4866     % END ****************************************************************
4867     % NEW 0.5f
4868     \newcommand*{\citetitleonly}{%
4869     \begingroup
4870     \jb@deactivate@babel%
4871     \jb@save@auxfile%
4872     \@ifnextchar[%
4873     {\jb@cite@titlewithoutauthor}{\jb@cite@titlewithoutauthor[]}}%
4874     \newcommand*{\jb@cite@titlewithoutauthor}{}%
4875     \def\jb@cite@titlewithoutauthor[#1]{%
4876     \def\jb@enote@hook{%
4877     \ifjb@all@full
4878     \jb@change@fonts@for@fullcitetrue
4879     \jb@fullcite@againtrue
4880     \jb@cite@titlefalse
4881     \else
4882     \jb@cite@titletrue
4883     \jb@noauthorforcitetitletrue
4884     \jb@fullcite@againfalse
4885     \fi
4886     \jb@citefalse
4887     \jb@cite@no@titlefalse
4888     \jb@footfalse % works for endnotes too
4889     }%
4890     \jb@enote@hook
4891     \jb@footfalse % works only for non-endnotes
4892     \@ifnextchar[{\@citex[#1]}{\@citex[#1][]}%
4893     }%
4894     \newcommand*{\citefield}[3][]{%
4895     \renewcommand*{\@cite}[2]{##1##2}%
4896     \let\@citea\@empty\@cite{\@for\@citeb:=#3\do{%
4897     \@citea\def\@citea{;\penalty\@m\ }%
4898     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
4899     \if@filesw\immediate\write\@auxout{\jb@makehowcited%
4900     \string\citation{\@citeb}}\fi
4901     \@ifundefined{b@\@citeb\@extra@b@citeb}{%
4902     \mbox{\reset@font\bfseries ?}\G@refundefinedtrue\@latex@warning%
4903     {Citation `\@citeb' on page \thepage \space undefined}}{%
4904     \begingroup
4905     % NEW 0.5e only for \jb@checked@title, otherwise \jb@@newauthorcite is undefined
4906     \def\jb@@newauthorcite{#3}%
4907     \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi
4908     % \protected@edef\jb@tempa{\csname b@\@citeb\@extra@b@citeb\endcsname}%
4909     % \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}%
4910     % NEW 0.5f revised for more arguments from .bbl
4911     % \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}%
4912     % NEW 0.5f new command because of increasing use
4913     \jb@extract
4914     \ifthenelse{\equal{#2}{}}{???}{%
4915     \ifthenelse{\equal{#2}{title}}{%
4916     \jbtitlefont{\jb@@title}%
4917     }{%
4918     \ifthenelse{\equal{#2}{juratitle}
4919     \or\equal{#2}{shorttitle}}{%
4920     \jbtitlefont{\jb@@shorttitle}%
4921     }{%
4922     \ifthenelse{\equal{#2}{year}}{%
4923     \ifx\jb@@year\@empty\else
4924     \textup{\jbcitationyearformat{\jb@@year}}\fi
4925     }{%
4926     \ifthenelse{\equal{#2}{author}}{%
4927     \let\biblnfont\jbauthorfont
4928     \let\bibfnfont\jbauthorfnfont
4929     \let\bibelnfont\jbauthorfont
4930     \let\bibefnfont\jbauthorfnfont
4931     % NEW 0.5f \jb@checked@author introduced for oxford crossrefs
4932     \ifjbcross
4933     \jb@checked@author%
4934     \else
4935     \jbauthorfont{\jb@@fullname}%
4936     \fi
4937     }{%
4938     \ifthenelse{\equal{#2}{juraauthor}\or\equal{#2}{shortauthor}}{%
4939     % NEW 0.5e to avoid ambiguous author ``\citefield's''
4940     \ifthenelse{\equal{\jb@@mult@switch}{1}\or\equal{\jb@@title@switch}{1}}{%
4941     \jbauthorfont{\jb@@author}%
4942     % later in 0.5e: check for crossref's added, because outside crossref's the title is unwanted!
4943     \ifjbcross\jb@checked@title\fi%
4944     }{%
4945     \jbauthorfont{\jb@@author}%
4946     }%
4947     }{%
4948     \ifthenelse{\equal{#2}{apy}}{%
4949     \apyformat{\jb@@apy}%
4950     }{%
4951     % NEW 0.51r access to url field added, suggested by Andreas Altenburger
4952     \ifthenelse{\equal{#2}{url}}{%
4953     \jburluse{#3}%
4954     }{%
4955     #2%
4956     }%
4957     }%
4958     }%
4959     }%
4960     }%
4961     }%
4962     }%
4963     }%
4964     \ifjb@allow@hyper@cite\hyper@jblinkend\fi
4965     \endgroup
4966     \ifthenelse{\equal{#1}{\@empty}}{\relax}{,\space #1}%
4967     }}}{}}%
4968     % NEW 0.5f emulate the most important natbib citation commands
4969     \newcommand{\jb@nat@cite@left@sep}{}%
4970     \newcommand{\jb@nat@cite@right@sep}{}%
4971     \newcommand*{\citep}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citep}{\jb@citep[]}}%
4972     %\def\jb@citep[#1]{\@ifnextchar[{\jb@@citep[#1]}{\jb@@citep[#1][]}}%
4973     \def\jb@citep[#1]{\@ifnextchar[{\jb@@citep[#1]}{\jb@@citep[][#1]}}%
4974     % ^^
4975     % CHANGED 0.52n first optional argument should print out the page
4976     \def\jb@@citep[#1][#2]#3{%
4977     \def\jb@enote@hook{%
4978     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}%
4979     \renewcommand{\jb@nat@cite@left@sep}{(}\renewcommand{\jb@nat@cite@right@sep}{)}%
4980     % to avoid double footnotes when using endnotes.sty
4981     \jb@footfalse
4982     }%
4983     \jb@enote@hook
4984     \jb@footfalse
4985     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
4986     \futurelet\@let@token\@next@footnote
4987     }%
4988     \newcommand*{\citet}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citet}{\jb@citet[]}}%
4989     %\def\jb@citet[#1]{\@ifnextchar[{\jb@@citet[#1]}{\jb@@citet[#1][]}}%
4990     \def\jb@citet[#1]{\@ifnextchar[{\jb@@citet[#1]}{\jb@@citet[][#1]}}%
4991     % ^^
4992     % CHANGED 0.52n first optional argument should print out the page
4993     \def\jb@@citet[#1][#2]#3{%
4994     \def\jb@enote@hook{%
4995     % \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year)}}%
4996     % CH 0.52n removed closing brace after year
4997     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year}}%
4998     % \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
4999     % CH 0.52n added closing brace after page, if given
5000     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{)}%
5001     % to avoid double footnotes when using endnotes.sty
5002     \jb@footfalse
5003     }%
5004     \jb@enote@hook
5005     \jb@footfalse
5006     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5007     \futurelet\@let@token\@next@footnote
5008     }%
5009     \newcommand*{\citealt}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citealt}{\jb@citealt[]}}%
5010     %\def\jb@citealt[#1]{\@ifnextchar[{\jb@@citealt[#1]}{\jb@@citealt[#1][]}}%
5011     \def\jb@citealt[#1]{\@ifnextchar[{\jb@@citealt[#1]}{\jb@@citealt[][#1]}}%
5012     % CHANGED 0.52n first optional argument should print out the page ^^
5013     \def\jb@@citealt[#1][#2]#3{%
5014     \def\jb@enote@hook{%
5015     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year}}%
5016     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5017     % to avoid double footnotes when using endnotes.sty
5018     \jb@footfalse
5019     }%
5020     \jb@enote@hook
5021     \jb@footfalse
5022     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5023     \futurelet\@let@token\@next@footnote
5024     }%
5025     \newcommand*{\citealp}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citealp}{\jb@citealp[]}}%
5026     %\def\jb@citealp[#1]{\@ifnextchar[{\jb@@citealp[#1]}{\jb@@citealp[#1][]}}%
5027     \def\jb@citealp[#1]{\@ifnextchar[{\jb@@citealp[#1]}{\jb@@citealp[][#1]}}%
5028     % CHANGED 0.52n first optional argument should print out the page ^^
5029     \def\jb@@citealp[#1][#2]#3{%
5030     \def\jb@enote@hook{%
5031     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}%
5032     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5033     % to avoid double footnotes when using endnotes.sty
5034     \jb@footfalse
5035     }%
5036     \jb@enote@hook
5037     \jb@footfalse
5038     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5039     \futurelet\@let@token\@next@footnote
5040     }%
5041     \newcommand*{\citeauthor}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeauthor}{\jb@citeauthor[]}}%
5042     %\def\jb@citeauthor[#1]{\@ifnextchar[{\jb@@citeauthor[#1]}{\jb@@citeauthor[#1][]}}%
5043     \def\jb@citeauthor[#1]{\@ifnextchar[{\jb@@citeauthor[#1]}{\jb@@citeauthor[][#1]}}%
5044     % CHANGED 0.52n first optional argument should print out the page ^^
5045     \def\jb@@citeauthor[#1][#2]#3{%
5046     \def\jb@enote@hook{%
5047     \def\jb@nat@commands{\jbauthorfont{\jb@@author}}%
5048     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5049     % to avoid double footnotes when using endnotes.sty
5050     \jb@footfalse
5051     }%
5052     \jb@enote@hook
5053     \jb@footfalse
5054     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5055     \futurelet\@let@token\@next@footnote
5056     }%
5057     \newcommand*{\citeyear}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeyear}{\jb@citeyear[]}}%
5058     %\def\jb@citeyear[#1]{\@ifnextchar[{\jb@@citeyear[#1]}{\jb@@citeyear[#1][]}}%
5059     \def\jb@citeyear[#1]{\@ifnextchar[{\jb@@citeyear[#1]}{\jb@@citeyear[][#1]}}%
5060     % CHANGED 0.52n first optional argument should print out the page ^^
5061     \def\jb@@citeyear[#1][#2]#3{%
5062     \def\jb@enote@hook{%
5063     \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{\jb@@year}}%
5064     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5065     % to avoid double footnotes when using endnotes.sty
5066     \jb@footfalse
5067     }%
5068     \jb@enote@hook
5069     \jb@footfalse
5070     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5071     \futurelet\@let@token\@next@footnote
5072     }%
5073     \newcommand*{\citeyearpar}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeyearpar}{\jb@citeyearpar[]}}%
5074     %\def\jb@citeyearpar[#1]{\@ifnextchar[{\jb@@citeyearpar[#1]}{\jb@@citeyearpar[#1][]}}%
5075     \def\jb@citeyearpar[#1]{\@ifnextchar[{\jb@@citeyearpar[#1]}{\jb@@citeyearpar[][#1]}}%
5076     % CHANGED 0.52n first optional argument should print out the page ^^
5077     \def\jb@@citeyearpar[#1][#2]#3{%
5078     \def\jb@enote@hook{%
5079     \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{(\jb@@year)}}%
5080     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5081     % to avoid double footnotes when using endnotes.sty
5082     \jb@footfalse
5083     }%
5084     \jb@enote@hook
5085     \jb@footfalse
5086     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5087     \futurelet\@let@token\@next@footnote
5088     }%
5089     \newcommand*{\footcitep}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitep}{\jb@footcitep[]}}%
5090     %\def\jb@footcitep[#1]{\@ifnextchar[{\jb@@footcitep[#1]}{\jb@@footcitep[#1][]}}%
5091     \def\jb@footcitep[#1]{\@ifnextchar[{\jb@@footcitep[#1]}{\jb@@footcitep[][#1]}}%
5092     % CHANGED 0.52n first optional argument should print out the page ^^
5093     \def\jb@@footcitep[#1][#2]#3{%
5094     \def\jb@enote@hook{%
5095     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}%
5096     \renewcommand{\jb@nat@cite@left@sep}{(}\renewcommand{\jb@nat@cite@right@sep}{)}%
5097     \jb@footfalse % works for endnotes too
5098     }%
5099     \jb@enote@hook
5100     \jb@foottrue
5101     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5102     \futurelet\@let@token\@next@footnote
5103     }%
5104     \newcommand*{\footcitet}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitet}{\jb@footcitet[]}}%
5105     %\def\jb@footcitet[#1]{\@ifnextchar[{\jb@@footcitet[#1]}{\jb@@footcitet[#1][]}}%
5106     \def\jb@footcitet[#1]{\@ifnextchar[{\jb@@footcitet[#1]}{\jb@@footcitet[][#1]}}%
5107     % CHANGED 0.52n first optional argument should print out the page ^^
5108     \def\jb@@footcitet[#1][#2]#3{%
5109     \def\jb@enote@hook{%
5110     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year)}}%
5111     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5112     \jb@footfalse % works for endnotes too
5113     }%
5114     \jb@enote@hook
5115     \jb@foottrue
5116     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5117     \futurelet\@let@token\@next@footnote
5118     }%
5119     \newcommand*{\footcitealt}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitealt}{\jb@footcitealt[]}}%
5120     %\def\jb@footcitealt[#1]{\@ifnextchar[{\jb@@footcitealt[#1]}{\jb@@footcitealt[#1][]}}%
5121     \def\jb@footcitealt[#1]{\@ifnextchar[{\jb@@footcitealt[#1]}{\jb@@footcitealt[][#1]}}%
5122     % CHANGED 0.52n first optional argument should print out the page ^^
5123     \def\jb@@footcitealt[#1][#2]#3{%
5124     \def\jb@enote@hook{%
5125     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year}}%
5126     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5127     \jb@footfalse % works for endnotes too
5128     }%
5129     \jb@enote@hook
5130     \jb@foottrue
5131     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5132     \futurelet\@let@token\@next@footnote
5133     }%
5134     \newcommand*{\footcitealp}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitealp}{\jb@footcitealp[]}}%
5135     %\def\jb@footcitealp[#1]{\@ifnextchar[{\jb@@footcitealp[#1]}{\jb@@footcitealp[#1][]}}%
5136     \def\jb@footcitealp[#1]{\@ifnextchar[{\jb@@footcitealp[#1]}{\jb@@footcitealp[][#1]}}%
5137     % CHANGED 0.52n first optional argument should print out the page ^^
5138     \def\jb@@footcitealp[#1][#2]#3{%
5139     \def\jb@enote@hook{%
5140     \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}%
5141     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5142     \jb@footfalse % works for endnotes too
5143     }%
5144     \jb@enote@hook
5145     \jb@foottrue
5146     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5147     \futurelet\@let@token\@next@footnote
5148     }%
5149     \newcommand*{\footciteauthor}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footciteauthor}{\jb@footciteauthor[]}}%
5150     %\def\jb@footciteauthor[#1]{\@ifnextchar[{\jb@@footciteauthor[#1]}{\jb@@footciteauthor[#1][]}}%
5151     \def\jb@footciteauthor[#1]{\@ifnextchar[{\jb@@footciteauthor[#1]}{\jb@@footciteauthor[][#1]}}%
5152     % CHANGED 0.52n first optional argument should print out the page ^^
5153     \def\jb@@footciteauthor[#1][#2]#3{%
5154     \def\jb@enote@hook{%
5155     \def\jb@nat@commands{\jbauthorfont{\jb@@author}}%
5156     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5157     \jb@footfalse % works for endnotes too
5158     }%
5159     \jb@enote@hook
5160     \jb@foottrue
5161     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5162     \futurelet\@let@token\@next@footnote
5163     }%
5164     \newcommand*{\footciteyear}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footciteyear}{\jb@footciteyear[]}}%
5165     %\def\jb@footciteyear[#1]{\@ifnextchar[{\jb@@footciteyear[#1]}{\jb@@footciteyear[#1][]}}%
5166     \def\jb@footciteyear[#1]{\@ifnextchar[{\jb@@footciteyear[#1]}{\jb@@footciteyear[][#1]}}%
5167     % CHANGED 0.52n first optional argument should print out the page ^^
5168     \def\jb@@footciteyear[#1][#2]#3{%
5169     \def\jb@enote@hook{%
5170     \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{\jb@@year}}%
5171     \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}%
5172     \jb@footfalse % works for endnotes too
5173     }%
5174     \jb@enote@hook
5175     \jb@foottrue
5176     \jb@emulate@nat@cite[#1][#2]{#3}\endgroup
5177     \futurelet\@let@token\@next@footnote
5178     }%
5179     \newcommand*{\jb@emulate@nat@cite}{\@ifnextchar[{\jb@@emulate@nat@cite}{\jb@@emulate@nat@cite[]}}%
5180     \def\jb@@emulate@nat@cite[#1]{\@ifnextchar[{\jb@@@emulate@nat@cite[#1]}{\jb@@@emulate@nat@cite[#1][]}}%
5181     \def\jb@@@emulate@nat@cite[#1][#2]#3{%
5182     \ifjb@foot
5183     \renewcommand*{\@cite}[2]{\unskip\footnote{##1##2.}}%
5184     \else
5185     \renewcommand*{\@cite}[2]{##1##2}%
5186     \fi
5187     \let\@citea\@empty
5188     \@cite{%
5189     \@for\@citeb:=#3\do{%
5190     \@citea\def\@citea{;\penalty\@m\ }%
5191     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
5192     \if@filesw
5193     \immediate\write\@auxout{%
5194     \jb@makehowcited\string\citation{\@citeb}}%
5195     \fi
5196     \@ifundefined{b@\@citeb\@extra@b@citeb}{%
5197     \mbox{\reset@font\bfseries ?}%
5198     \G@refundefinedtrue
5199     \@latex@warning{Citation `\@citeb' on page \thepage \space undefined}%
5200     }{%
5201     \begingroup
5202     \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi
5203     \jb@extract%
5204     \jb@nat@cite@left@sep%
5205     % NEW 0.51r second opt. arg introduced
5206     \ifthenelse{\equal{#1}{\@empty}}{}{#1\space}%
5207     \jb@nat@commands%
5208     \endgroup
5209     \ifthenelse{\equal{#2}{\@empty}}{}{,\space%
5210     \ifjb@formatted@pages\jbprformat{#2}\else#2\fi}%
5211     \jb@nat@cite@right@sep%
5212     \ifjb@allow@hyper@cite\hyper@jblinkend\fi
5213     }%
5214     }%
5215     }{}%
5216     }%
5217     \newcommand*{\jb@makehowcited}{%
5218     \ifjb@howcited
5219     \ifjbcross\else
5220     % NEW 0.51c new switch for suppressing howcited while using \nobibliography,
5221     % `jb@allow@hyper@cite' is used by the new option `hypercite=false'
5222     \ifjb@allow@hyper@cite@nobib
5223     % no need to write out if \nobibliography is used.
5224     \ifjb@cite\string\jbrealcitation{cite}{\@citeb}^^J\fi
5225     \ifjb@cite@title\string\jbrealcitation{citetitle}{\@citeb}^^J\fi
5226     \ifjb@cite@no@title\string\jbrealcitation{citenotitle}{\@citeb}^^J\fi
5227     \fi
5228     \fi
5229     \fi
5230     }%
5231     \newcommand*{\jb@changefontsforfullcite}{%
5232     \ifjb@reverse@names@in@citation
5233     \let\bibnf\bibrnf
5234     \let\bibenf\bibrenf
5235     \fi
5236     \let\bibansep\jbhowsepbeforetitle
5237     \let\bibbtasep\jbbtasep
5238     \let\bibbfsasep\jbbfsasep
5239     \let\bibbstasep\jbbstasep
5240     \let\bibbtesep\jbbtesep
5241     \let\bibbfsesep\jbbfsesep
5242     \let\bibbstesep\jbbstesep
5243     \let\jblinebreak\@empty
5244     \ifjb@change@fonts@for@fullcite
5245     \let\biblnfont\jbauthorfont%
5246     \let\bibfnfont\jbauthorfnfont%
5247     \let\bibelnfont\jbauthorfont%
5248     \let\bibefnfont\jbauthorfnfont%
5249     \let\bibtfont\jbtitlefont%
5250     \let\bibbtfont\jbbtitlefont%
5251     \let\bibapifont\jbapifont%
5252     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{%
5253     \ifjb@dynamic@author@fonts
5254     \let\jbauthorfont\jbactualauthorfont
5255     \let\biblnfont\jbactualauthorfont
5256     \let\bibfnfont\jbactualauthorfnfont
5257     % \let\bibelnfont\jbactualauthorfont
5258     % \let\bibefnfont\jbactualauthorfnfont
5259     \fi
5260     }{%
5261     \ifjb@dynamic@author@fonts
5262     \ifjb@see
5263     \let\biblnfont\jbactualauthorfont
5264     \else
5265     \let\jbcoauthorfont\jbactualauthorfont
5266     \let\jbauthorfont\jbauthorfontifcoauthor
5267     \fi
5268     \fi
5269     }%
5270     \fi
5271     }%
5272     \newcommand*{\jb@test@last@author@ibidem}{%
5273     \ifjb@see
5274     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{}{%
5275     \jb@formatted@co@author%
5276     % if 2nd opt. arg (via option `see') is given, switch to lower case ibid.
5277     % thanks to Alexander Wisspeintner (wisspein@informatik.tu-muenchen.de)
5278     \let\IbidemName\IbidemMidName
5279     }%
5280     \fi
5281     \ifthenelse{\equal{\jb@@newcoauthorcite}{\jb@@lastcoauthorcite}\or\boolean{jb@see}}{%
5282     % ^^^^^^^^^^^^^^^^^^^
5283     % NEW 0.5e: if `see' is active, allow immediately following ibidem for different `coauthors'
5284     % Example: \footcite[][see]{inbook-minimal}
5285     % \footcite{inbook-minimal} <=== ibid. for humanities (if `see' is active), NOT for lawyers!
5286     % \footcite{inbook-minimal} <=== ibid. for both!
5287     \let\jb@@newcoauthorcite\@empty
5288     \@ifundefined{ibidem}{\@namedef{ibidem}{}}{\relax}%
5289     \ifjb@debug
5290     \textcolor[named]{WildStrawberry}{%
5291     \ifjb@debug@br[\fi\ifthenelse{\thejb@cites@in@footnote<2}{\IbidemName}{\IbidemMidName}\ifjb@debug@br]\fi}%
5292     \else
5293     % \IbidemName
5294     % NEW 0.52k+l lowercase ibidem for inline citations or \cite's inside the same footnote. (reported by Matthias Damm)
5295     \ifthenelse{\thejb@cites@in@footnote<2}{\IbidemName}{\IbidemMidName}%
5296     % NEW 0.51 Ibidem/Idem-bugfix. Bug reported by Sönke Schaal (<s.schaal@freenet.de>)
5297     % When using German and `ibidem' and `idem' are used together, it appears `A.a.O.Ders.'
5298     % because of ``hardcoded'' gender macros for German in dejbbib.ldf. In all other languages
5299     % the gender macros were linked to \idem[mid]name, which was \@empty'ed here in this
5300     % macro. Now they are disabled all in the same way, by using:
5301     \jb@switchidemofflocallytrue
5302     % NEW 0.52i while we suppressing output of startpages for ibidem citations now,
5303     % we have to switch off the mechanism to suppress formatted pages after startpages
5304     \jbnoformatafterstartpagefalse
5305     \fi
5306     % NEW 0.5f if the pages are also the same, suppress them!
5307     \ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\let\jb@@newpagecite\@empty}{}%
5308     % CHANGED 0.51h kerning routine removed
5309     % \ifjb@ssed@kerning@wanted
5310     % \renewcommand*{\jb@kern@before@sepi}{}%
5311     % \renewcommand*{\jb@kern@before@sepii}{}%
5312     % \renewcommand*{\jb@kern@before@sepiii}{}%
5313     % \renewcommand*{\jb@kern@after@sepi}{ }%
5314     % \renewcommand*{\jb@kern@after@sepii}{ }%
5315     % \renewcommand*{\jb@kern@after@sepiii}{ }%
5316     % \fi
5317     \let\jb@extraspace\@empty
5318     % \jb@footnote@period@ibidemfalse
5319     % NEW 0.5e humanities stuff
5320     \let\jbapifont\@empty% <== remove single quotes after ibid.
5321     \let\jbbtfont\@empty % <== remove single quotes after ibid.
5322     \ifjb@ibidem@with@name
5323     \let\jb@@fullname\@empty
5324     \let\IbidemName\@empty
5325     \let\jbatsep\@empty
5326     \jb@second@extra@spacefalse
5327     \fi
5328     \let\jb@use@fullcite\@empty
5329     \let\jb@@author\@empty
5330     \let\jb@aftertitleedition\@empty
5331     \let\jb@checked@edition\@empty
5332     \let\jbhowsepbeforetitle\@empty
5333     \let\jb@@title\@empty
5334     % NEW 0.5e bug removed for ibidem'ed citations, wrong error message about missing shorttitle
5335     % (although given), submitted by Andreas K. Foerster (<AKFoerster@nikocity.de>)
5336     % changed \@empty to \relax
5337     \let\jb@@shorttitle\relax
5338     % NEW 0.5e for use with jchicago.bst
5339     \let\jb@formatted@year\@empty
5340     % NEW 0.5e idem feature
5341     % REMOVED 0.5f See => Ibidem/Idem-bugfix some lines above
5342     % \let\idemname\@empty
5343     % NEW 0.5e op.cit. feature
5344     \let\OpCit\relax
5345     \ifjb@see\else\let\jb@@newcoauthorcite\@empty\fi
5346     \ifthenelse{%
5347     \equal{\jb@@newpagecite}{\jb@@lastpagecite}%
5348     \or
5349     \equal{\jb@@newpagecite}{}%
5350     }{%
5351     \global\jb@footnote@periodfalse
5352     }{}%
5353     % NEW 0.5f make sure it is empty (prophylaxe)
5354     %\let\jb@makeidem\@empty
5355     }{\relax}%
5356     }%
5357     % NEW 0.5f gender check for idem (necessary only for german users, I think)
5358     \newcommand*{\jb@idem@gender@checked}{%
5359     \ifjb@noauthorforcitetitle\else
5360     % NEW 0.5f Ibidem/Idem-bugfix
5361     \ifjb@switchidemofflocally\else
5362     \ifthenelse{%
5363     \not\equal{\jb@@gender}{}%
5364     \and
5365     \boolean{jblookforgender}%
5366     }{%
5367     \ifthenelse{\equal{\jb@@gender}{sm}}{%
5368     \@ifundefined{jb@morethanonecite}{\idemSmname}{\idemsmname}%
5369     }{%
5370     \ifthenelse{\equal{\jb@@gender}{pm}}{%
5371     \@ifundefined{jb@morethanonecite}{\idemPmname}{\idempmname}%
5372     }{%
5373     \ifthenelse{\equal{\jb@@gender}{sf}}{%
5374     \@ifundefined{jb@morethanonecite}{\idemSfname}{\idemsfname}%
5375     }{%
5376     \ifthenelse{\equal{\jb@@gender}{pf}}{%
5377     \@ifundefined{jb@morethanonecite}{\idemPfname}{\idempfname}%
5378     }{%
5379     \ifthenelse{\equal{\jb@@gender}{sn}}{%
5380     \@ifundefined{jb@morethanonecite}{\idemSnname}{\idemsnname}%
5381     }{%
5382     \ifthenelse{\equal{\jb@@gender}{pn}}{%
5383     \@ifundefined{jb@morethanonecite}{\idemPnname}{\idempnname}%
5384     }{%
5385     \@ifundefined{jb@morethanonecite}{\idemSmname}{\idemsmname}%
5386     }%
5387     }%
5388     }%
5389     }%
5390     }%
5391     }%
5392     }{%
5393     % NEW 0.5f
5394     \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{%
5395     \edfont{\idemname}%
5396     }{%
5397     \ifjbcross\edfont{\idemmidname}\else\edfont{\idemname}\fi
5398     }%
5399     % \idemname%
5400     }%
5401     \fi
5402     \fi
5403     }
5404     \newcommand*{\jb@do@idem}{%
5405     \@ifundefined{idem}{\@namedef{idem}{}}{\relax}%
5406     \ifjb@same@fullauthor
5407     % NEW 0.5f warning about ambiguous citations inserted, if:
5408     \ifthenelse{%
5409     \equal{\jb@@mult@switch}{1}% 1. author wrote multiple works,
5410     \and\equal{\jb@@shorttitle}{}% 2. shorttitle is empty,
5411     \and\equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% 3. not the very first citation, and
5412     \and\boolean{jb@no@title@replace}% 4. replacing shorttitle by title not possible
5413     }{%
5414     \@ifundefined{ETFII@\jb@@newauthorcite}{% The same warning is placed somewhere else,
5415     \global\@namedef{ETFII@\jb@@newauthorcite}{}% but we don't want to disturb the user with warnings.
5416     \jb@package@warningNoLine{\jb@pkg@name}{%
5417     *** `\jb@@newauthorcite' ***\on@line\MessageBreak
5418     is an ambiguous citation! Because you are using\MessageBreak
5419     `titleformat=noreplace', the title field can't\MessageBreak
5420     be used to replace the missing shorttitle}%
5421     }{\relax}%
5422     }{}%
5423     \ifjb@debug
5424     \textcolor[named]{WildStrawberry}{%
5425     \ifjb@debug@br[\fi
5426     \jb@idem@gender@checked%
5427     \ifjb@debug@br]\fi
5428     }%
5429     \else
5430     \jb@idem@gender@checked%
5431     \fi
5432     \let\jb@@fullname\@empty
5433     \let\jb@@author\@empty
5434     % \let\IbidemName\@empty
5435     % \let\IbidemMidName\@empty
5436     \ifthenelse{%
5437     \equal{\jb@@newpagecite}{\jb@@lastpagecite}%
5438     \TE@or % normal \or causes problems
5439     \equal{\jb@@newpagecite}{}%
5440     }{%
5441     \ifjb@opcit\else
5442     \@ifundefined{jb@morethanonecite}{%
5443     \ifjbidemabbrvwithperiod
5444     % we don't suppress the period, if there are multiple works are cited and the title is printed.
5445     \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{}{%
5446     \global\jb@footnote@periodfalse
5447     }%
5448     \fi
5449     }{\global\jb@footnote@periodtrue}%
5450     \fi
5451     }{}%
5452     \fi
5453     }
5454     \newcommand*{\jb@test@last@author@idem}{%
5455     \ifjb@see
5456     % for humanities
5457     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{}{%
5458     \jb@formatted@co@author%
5459     \let\idemname\idemmidname
5460     \let\jb@@newcoauthorcite\@empty
5461     }%
5462     \jb@do@idem
5463     \else
5464     % for lawyers
5465     \ifjb@coauthor@last
5466     \jb@do@idem
5467     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{}{%
5468     \jbhowsepcoauthorlast%
5469     \jb@formatted@co@author%
5470     \let\idemname\idemmidname
5471     \let\jb@@newcoauthorcite\@empty
5472     }%
5473     \else
5474     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{}{%
5475     \jb@formatted@co@author%
5476     \jbhowsepcoauthorfirst%
5477     \let\idemname\idemmidname
5478     \let\jb@@newcoauthorcite\@empty
5479     }%
5480     \jb@do@idem
5481     \fi
5482     \fi
5483     }%
5484     \newcommand*{\jb@makeibidem}{%
5485     \ifthenelse{\equal{\jb@@author}{empty}}{%
5486     \jb@all@titlestrue
5487     \let\jbhowsepcoauthorlast\@empty
5488     \ifjb@see\else
5489     \let\jb@@newcoauthorcite\@empty
5490     \fi
5491     \@ifundefined{MISS@##3}{%
5492     \global\@namedef{MISS@##3}{}%
5493     \jb@package@warningNoLine{\jb@pkg@name}{%
5494     The author of `\jb@@newauthorcite'\MessageBreak
5495     is missing, I assume you know what %
5496     you are doing}%
5497     }{\relax}%
5498     }{\relax}%
5499     \ifthenelse{\boolean{jb@ibidem}}{%
5500     \protected@edef\jb@tempcnt{\thejbbibcnt}%
5501     \stepcounter{jbbibcnt}%
5502     % labels only for cites in footnotes !
5503     \ifjb@fn
5504     \begingroup
5505     \jb@restore@auxfile
5506     \label{ibidem:\thejbbibcnt}%
5507     \endgroup
5508     \fi
5509     \ifthenelse{\equal{\jb@@newauthorcite}{\jb@@lastauthorcite}}{%
5510     \@tempcnta=\jb@tempcnt
5511     \ifjb@ibidem@double@pagewise
5512     % \stepcounter{@tempcnta}% does not work ????
5513     \advance\@tempcnta\@ne
5514     \fi
5515     \protected@edef\jb@idemcnta{\the\@tempcnta}%
5516     \ifthenelse{\boolean{jb@ibidem@pagewise}}{%
5517     % true for ibidem=strict[doublepage]
5518     \ifthenelse{%
5519     \(%
5520     % check if on facing pages
5521     % switch for ibidem=strictdoublepage true?
5522     \boolean{jb@ibidem@double@pagewise}%
5523     \and
5524     \isodd{\jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}
5525     \and
5526     \equal{%
5527     \jb@simple@pageref@by@heiko{ibidem:\jb@idemcnta}}{%
5528     \jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}%
5529     \)%
5530     \or
5531     % ignoring page breaks
5532     \equal{%
5533     \jb@simple@pageref@by@heiko{ibidem:\jb@tempcnt}}{%
5534     \jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}%
5535     }{%
5536     % facing pages
5537     \jb@test@last@author@ibidem
5538     % no lookat for recently cited works!?
5539     \jb@lookatfalse
5540     }{%
5541     % not on facing pages
5542     \relax
5543     }%
5544     }{%
5545     % ibidem not pagewise (ibidem=strict[doublepage] false)
5546     \jb@test@last@author@ibidem
5547     }% jb@ibidem@pagewise end
5548     }{\relax}% authors equal
5549     }{\relax}% jb@ibidem
5550     }%
5551     \newcommand*{\jb@makeidem}{%
5552     % no citation idem's for crossref \cites in bibliography, we are building
5553     % own idem's for bibliography
5554     \ifjbweareinbib\else
5555     \ifthenelse{\boolean{jb@idem}}{%
5556     \protected@edef\jb@idemcnta{\theidemcnt}%
5557     \stepcounter{idemcnt}%
5558     \ifjb@fn
5559     \begingroup
5560     \jb@restore@auxfile
5561     \label{idem:\theidemcnt}%
5562     \endgroup
5563     \fi
5564     \ifjb@same@fullauthor
5565     \@tempcnta=\jb@idemcnta
5566     \ifjb@idem@double@pagewise
5567     \advance\@tempcnta\@ne
5568     \fi
5569     \protected@edef\jb@idemcntb{\the\@tempcnta}%
5570     \ifthenelse{\boolean{jb@idem@pagewise}}{%
5571     \ifthenelse{%
5572     \boolean{jb@idem@double@pagewise}%
5573     \and
5574     \isodd{\jb@simple@pageref@by@heiko{idem:\theidemcnt}}%
5575     \and
5576     \equal{%
5577     \jb@simple@pageref@by@heiko{idem:\jb@idemcntb}}{%
5578     \jb@simple@pageref@by@heiko{idem:\theidemcnt}}%
5579     }{%
5580     \jb@test@last@author@idem
5581     }{%
5582     \ifthenelse{%
5583     \equal{\jb@simple@pageref@by@heiko{idem:\jb@idemcnta}}{%
5584     \jb@simple@pageref@by@heiko{idem:\theidemcnt}}%
5585     }{%
5586     \jb@test@last@author@idem
5587     }{}%
5588     }%
5589     }{%
5590     \jb@test@last@author@idem
5591     }%
5592     \fi
5593     }{}%
5594     \fi
5595     }%
5596     % NEW 0.5f, check for ##3
5597     \newcommand{\jb@make@ibidem@name@title}{%
5598     \jb@relaxforemptyauthor
5599     \ifthenelse{\equal{\jb@@shorttitle}{}}{%
5600     \ifjb@no@title@replace\else
5601     \jbhowsepbeforetitle\jbtitlefont{\jb@@title}%
5602     \fi%
5603     }{%
5604     \jbhowsepbeforetitle\jbtitlefont{\jb@@shorttitle}%
5605     % NEW 0.5f: switch for howcited=compare, we have to know, if the shorttitle was used.
5606     \@ifundefined{TITLE@##3}{\global\@namedef{TITLE@##3}{used}}{}%
5607     }%
5608     \ifjb@author@year\ifjb@yearaftertitle\jb@formatted@year\fi\fi
5609     % to think about ...
5610     % \ifthenelse{\equal{\jb@@fullname}{\@empty}}{}{%
5611     % \jbatsep\ifjb@third@extra@space\space\fi}%
5612     }%
5613     \newcommand*{\jb@makecheckednameibidem}{%
5614     \ifjb@fullcite@again\else
5615     \ifjb@ibidem@with@name
5616     % NEW 0.5e/0.52d: no adding of pageranges for ibidem=name|nametitle!
5617     \jb@allow@adding@of@pagerangefalse
5618     \ifthenelse{\equal{\jb@@author}{empty}}{%
5619     \jb@second@extra@spacefalse}{\relax}%
5620     \ifjb@debug@br[\fi
5621     \jb@formatted@co@author@in%
5622     \ifjb@ibidem@with@short@name
5623     \ifthenelse{\equal{\jb@@author}{empty}}{%
5624     \jbauthorfont{\jb@@fullname}%
5625     }{%
5626     \jbauthorfont{\jb@@author}%
5627     }%
5628     \else
5629     \jb@@fullname%
5630     \fi
5631     % NEW 0.5e author-year support
5632     \ifjb@author@year\ifjb@yearafterauthor\jb@formatted@year\fi\fi
5633     \ifthenelse{\equal{\jb@@mult@switch}{1}}{%
5634     \@ifundefined{MULT@##3}{%
5635     \global\@namedef{MULT@##3}{}%
5636     \ifjb@ibidem@with@name@and@title\else
5637     \ifjb@ibidem@with@name@and@title@auto\else
5638     \jb@package@warningNoLine{\jb@pkg@name}{%
5639     The author of `\jb@@newauthorcite'\MessageBreak
5640     is cited with more than one work, %
5641     I'm switching\MessageBreak to %
5642     `ibidem=name&title&auto' to avoid %
5643     ambiguous citations}%
5644     % NEW 0.5f ????????????
5645     \global\jb@ibidem@with@name@and@title@autotrue
5646     \fi\fi
5647     }{\relax}%
5648     }{\relax}%
5649     % to think about ...
5650     % \ifjb@ibidem@with@name
5651     % \ifjb@ibidem@with@name@and@title
5652     % \jbhowsepbeforetitle%
5653     % \else
5654     % \ifthenelse{\equal{\jb@@fullname}{\@empty}}{%
5655     % \unskip}{\jbhowsepbeforetitleibidemname}%
5656     % \fi
5657     % \else
5658     % \jbhowsepbeforetitle%
5659     % \fi
5660     % \ifthenelse{\equal{\jb@@fullname}{\@empty}}{}{%
5661     % \ifjb@ibidem@with@name@and@title\else\space\fi}%
5662     \ifjb@ibidem@with@name@and@title
5663     \jb@make@ibidem@name@title%
5664     % |> NEW 0.5f
5665     \else
5666     \ifjb@ibidem@with@name@and@title@auto
5667     \ifjb@same@author@different@work% WECHSEL!%
5668     \jb@make@ibidem@name@title%
5669     \fi
5670     \fi
5671     % NEW 0.5f >|
5672     \fi
5673     % to think about ...
5674     % \ifthenelse{\equal{\jb@@fullname}{\@empty}}{%
5675     \ifthenelse{\equal{\jb@@title}{}}{%
5676     \ifthenelse{\equal{\jb@@shorttitle}{}}{%
5677     \IbidemName%
5678     }{,\space\IbidemMidName}%
5679     }{,\space\IbidemMidName}%
5680     % }{%
5681     % \IbidemMidName%
5682     % }%
5683     % NEW 0.5f period problem ...
5684     \ifthenelse{%
5685     \equal{\jb@@newpagecite}{\jb@@lastpagecite}%
5686     \TE@or % normal \or causes problems
5687     \equal{\jb@@newpagecite}{}%
5688     }{%
5689     \ifjb@opcit\else
5690     \global\jb@footnote@periodfalse
5691     \fi
5692     }{}%
5693     % \jb@footnote@period@ibidemfalse
5694     \jb@relaxcommandsforfullcite
5695     \ifjb@debug@br]\fi
5696     \fi
5697     \fi
5698     }%
5699     \newcommand*{\jb@dofullcite}{%
5700     \ifjb@debug
5701     \textcolor[named]{Red}{%
5702     \ifjb@debug@br[\fi
5703     \jb@formatted@co@author@in\jb@use@fullcite%
5704     \ifjb@debug@br]\fi}%
5705     \else
5706     \jb@formatted@co@author@in\jb@use@fullcite%
5707     \fi%
5708     \jb@relaxcommandsforfullcite
5709     \let\jb@extraspace\@empty
5710     % CHECK WHY!
5711     % \global\jb@fullcite@againfalse %%!!!
5712     \jb@allow@lookat@for@fullcitefalse
5713     }%
5714     \newcommand*{\jb@makeagainfullcite}{%
5715     \ifjb@fullcite@again
5716     \jb@allow@adding@of@pagerangefalse
5717     \ifthenelse{%
5718     \equal{\@nameuse{\jb@@newauthorcite}}{allnextshort}}{%
5719     \relax
5720     }{%
5721     \jb@dofullcite%
5722     }%
5723     \else
5724     \ifthenelse{%
5725     \equal{\@nameuse{\jb@@newauthorcite}}{allnextfull}}{%
5726     \jb@dofullcite%
5727     }{%
5728     \relax
5729     }%
5730     \fi
5731     }%
5732     \newcommand*{\jb@relaxforemptyauthor}{%
5733     \ifthenelse{\equal{\jb@@author}{empty}}{%
5734     \let\jb@@author\@empty
5735     \let\jbhowsepbeforetitle\relax
5736     \let\jb@extraspace\@empty
5737     }{\relax}%
5738     }%
5739     \newcommand*{\jb@warningfootciteusage}{%
5740     \ifjb@cite@no@title
5741     \ifthenelse{%
5742     \equal{\jb@@mult@switch}{1}%
5743     \and
5744     % NEW 0.5f superfluous warning about ambiguous citation while using `authorformat=year'
5745     % bug reported by Anneke Emse (<emse@uni-koeln.de>)
5746     \not\boolean{jb@author@year}%
5747     }{%
5748     \jb@package@warning{\jb@pkg@name}{%
5749     *** `\jb@@newauthorcite' ***\MessageBreak
5750     is an ambiguous citation! Beware of\MessageBreak
5751     using \string\[foot]cite*}%
5752     }{\relax}%
5753     \fi
5754     }%
5755     \newcommand*{\jb@checktitlefields}{%
5756     % NEW 0.5f wrong warning about ambiguous citation for the second citation
5757     % was given, if `titleformat=all', `titleformat=noreplace' and
5758     % `citefull=first' were active, \jb@alltitlestrue switches to \jb@@arg=1
5759     % and produces the wrong message!
5760     % Later in 0.5f: Think about it!!!!!!!!!!!!!!
5761     % \and\not\boolean{jb@all@titles}%
5762     % NEW 0.5f Have thought about it, new command introduced (\jb@@mult@switch)
5763     \ifthenelse{\equal{\jb@@mult@switch}{1}}{%
5764     % NEW 0.52o No warning about ambiguous citations if `authorformat=year' is used
5765     \ifthenelse{\equal{\jb@@shorttitle}{}\and\not\boolean{jb@author@year}}{%
5766     \ifthenelse{\equal{\jb@@title}{}}{%
5767     \let\jb@extraspace\@empty
5768     \@ifundefined{ETF@\jb@@newauthorcite}{%
5769     \global\@namedef{ETF@\jb@@newauthorcite}{}%
5770     \jb@package@warning{\jb@pkg@name}{%
5771     *** `\jb@@newauthorcite' ***\MessageBreak
5772     is an ambiguous citation! The `shorttitle'\MessageBreak
5773     can't be used. I tried to substitute with\MessageBreak
5774     `title' field - without success, please check the\MessageBreak
5775     citation}{\relax}%
5776     }{\relax}%
5777     }{%
5778     % NEW 0.5e special warning if titleformat=noreplace is used and shorttitle is empty
5779     \ifthenelse{%
5780     \equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}%
5781     \or
5782     \boolean{jbcross}%
5783     }{%
5784     \ifjbweareinbib\else
5785     \ifjb@no@title@replace
5786     \@ifundefined{ETFII@\jb@@newauthorcite}{%
5787     \global\@namedef{ETFII@\jb@@newauthorcite}{}%
5788     \jb@package@warningNoLine{\jb@pkg@name}{%
5789     *** `\jb@@newauthorcite' ***\on@line\MessageBreak
5790     is an ambiguous citation! Because you are using\MessageBreak
5791     `titleformat=noreplace', the title field can't\MessageBreak
5792     be used to replace the missing shorttitle}%
5793     }{\relax}%
5794     \fi\fi
5795     }{\relax}%
5796     }%
5797     }{\relax}%
5798     }{%
5799     % NEW 0.5 Warnings improved because of new command (\jb@@mult@switch)
5800     \@ifundefined{jb@fm@\@citeb}{}{%
5801     \ifthenelse{\equal{\jb@@mult@switch}{0}%
5802     \and\not\boolean{jbweareinbib}%
5803     \and\boolean{jb@no@title@replace}%
5804     }{%
5805     \@ifundefined{ETFII@\jb@@newauthorcite}{%
5806     \global\@namedef{ETFII@\jb@@newauthorcite}{}%
5807     \jb@package@warningNoLine{\jb@pkg@name}{%
5808     *** `\jb@@newauthorcite' ***\on@line\MessageBreak
5809     is an ambiguous citation! Because you are using\MessageBreak
5810     `titleformat=noreplace', the title field can't\MessageBreak
5811     be used to replace the missing shorttitle}%
5812     }{\relax}%
5813     }{\relax}%
5814     }%
5815     }%
5816     }%
5817     % NEW 0.5f new command (\jb@@title@switch) introduced to make a difference between multiple
5818     % author switch and `titleformat=all' and bibetal switch, produces wrong warning
5819     % messages about (non-existent) multiple citations
5820     \newcommand*{\jb@maketitlewishestrue}{%
5821     \ifjb@all@titles\def\jb@@title@switch{1}\fi
5822     \ifjb@cite@title\def\jb@@title@switch{1}\fi
5823     \ifjb@cite@no@title\def\jb@@title@switch{0}\fi
5824     }%
5825     \newcommand*{\jb@makecoauthorlastwithtitle}{%
5826     \ifjb@noauthorforcitetitle\else
5827     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{%
5828     \jb@make@author@emph%
5829     \jb@formatted@author%
5830     \jb@checked@edition%
5831     }{%
5832     \jb@formatted@author%
5833     \ifjb@ssed@after@author\jb@checked@edition\fi
5834     \jb@make@coauthor@emph%
5835     \jbhowsepcoauthorlast%
5836     \jb@formatted@co@author%
5837     \ifjb@ssed@after@author\else\jb@checked@edition\fi
5838     }%
5839     \fi
5840     \ifthenelse{%
5841     \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}}{%
5842     }{%
5843     \jb@checked@title%
5844     }%
5845     }%
5846     \newcommand*{\jb@makecoauthorfirstwithtitle}{%
5847     \ifjb@noauthorforcitetitle\else
5848     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{%
5849     \jb@make@author@emph%
5850     \jb@formatted@author%
5851     \jb@checked@edition%
5852     }{%
5853     \jb@make@coauthor@emph%
5854     \jb@formatted@co@author%
5855     \jbhowsepcoauthorfirst%
5856     \jb@formatted@author%
5857     \jb@checked@edition%
5858     }%
5859     \fi
5860     \ifthenelse{%
5861     \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}}{%
5862     }{%
5863     \jb@checked@title%
5864     }%
5865     }%
5866     \newcommand*{\jb@makecoauthorlastwithouttitle}{%
5867     \ifjb@noauthorforcitetitle\else
5868     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{%
5869     \jb@make@author@emph%
5870     \jb@formatted@author%
5871     \jb@checked@edition%
5872     }{%
5873     \jb@formatted@author%
5874     \ifjb@ssed@after@author\jb@checked@edition\fi
5875     \jb@make@coauthor@emph%
5876     \jbhowsepcoauthorlast%
5877     \jb@formatted@co@author%
5878     \ifjb@ssed@after@author\else\jb@checked@edition\fi
5879     }%
5880     \fi
5881     }%
5882     \newcommand*{\jb@makecoauthorfirstwithouttitle}{%
5883     \ifjb@noauthorforcitetitle\else
5884     \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{%
5885     \jb@make@author@emph%
5886     \jb@formatted@author%
5887     \jb@checked@edition%
5888     }{%
5889     \jb@make@coauthor@emph%
5890     \jb@formatted@co@author%
5891     \jbhowsepcoauthorfirst%
5892     \jb@formatted@author%
5893     \jb@checked@edition%
5894     }%
5895     \fi
5896     }%
5897     \newcommand*{\jb@makecheckedcite}{%
5898     \ifthenelse{%
5899     \equal{\jb@@mult@switch}{1}%
5900     \or\equal{\jb@@title@switch}{1}%
5901     % NEW 0.5f superfluous warning about ambiguous citation while using `authorformat=year'
5902     % ambiguity is avoided by the year and the generated extra.label!
5903     % bug reported by Anneke Emse (<emse@uni-koeln.de>)
5904     % CHANGED 0.51k small modification, because of problems with combination of `authorformat=year'
5905     % and `titleformat=all'
5906     \and\not\boolean{jb@starred@cite}%
5907     }{%
5908     \ifjb@coauthor@last
5909     \jb@makecoauthorlastwithtitle
5910     \else
5911     \jb@makecoauthorfirstwithtitle
5912     \fi
5913     }{%
5914     \ifjb@coauthor@last
5915     \jb@makecoauthorlastwithouttitle
5916     \else
5917     \jb@makecoauthorfirstwithouttitle
5918     \fi
5919     }%
5920     % NEW 0.51r fallback to url, if url given and neither shortauthor or shorttitle are given
5921     \ifthenelse{\equal{\jb@@shorttitle}{}\and\equal{\jb@@author}{}%
5922     \and\not\equal{\jburluse{\jb@@newauthorcite}}{}}{\jburluse{\jb@@newauthorcite}}{}%
5923     \jb@aftertitleedition%
5924     \ifjb@yearaftertitle\jbyear\fi
5925     }%
5926     \newcommand*{\jb@ssed@size}{\tiny}%
5927     \newlength{\jb@length@i} \settowidth{\jb@length@i} {\jb@ssed@size 1}%
5928     \newlength{\jb@length@ii} \settowidth{\jb@length@ii} {\jb@ssed@size 11}%
5929     \newlength{\jb@length@iii}\settowidth{\jb@length@iii}{\jb@ssed@size 111}%
5930     \newcommand*{\jb@kern@before@sepi} {\hspace{-\jb@length@i}}%
5931     \newcommand*{\jb@kern@after@sepi} {\hspace{\jb@length@i}}%
5932     \newcommand*{\jb@kern@before@sepii} {\hspace{-\jb@length@ii}}%
5933     \newcommand*{\jb@kern@after@sepii} {\hspace{\jb@length@ii}}%
5934     \newcommand*{\jb@kern@before@sepiii}{\hspace{-\jb@length@iii}}%
5935     \newcommand*{\jb@kern@after@sepiii} {\hspace{\jb@length@iii}}%
5936     \newcommand*{\jb@kern@sep}{}%
5937     % NEW 0.5e
5938     \newcommand*{\jb@extract@starting@page}[1]{%
5939     \protected@edef\sp@tempa{#1}%
5940     \expandafter\jb@@extract@starting@page\sp@tempa-\end%
5941     }
5942     \newcommand\jb@@start@page@switch{0}%
5943     \newcommand*{\jb@@extract@starting@page}{}% make sure it's undefined
5944     \def\jb@@extract@starting@page#1-#2\end{%
5945     \def\jb@@start@page{#1}%
5946     }%
5947     %% NEW 0.5e
5948     %% The following code for testing pageranges was completely
5949     %% contributed by Stefan Ulrich, very special thanks!
5950     \def\sndecmd{}%
5951     % NEW 0.51a Robusted
5952     \DeclareRobustCommand*{\nopage}{}
5953     \newcommand*{\pageadd}[1]{{\space{}#1}}
5954     \newcommand*{\jbprformat}[1]{%
5955     % Hack: Das Argument von \nopage bleibt durch
5956     % den \ifx-Test im Input-Stream stehen
5957     % NEW 0.51a \ifx changed to \if, \nopage can be used in pages-field now
5958     \if\nopage#1\else
5959     \jb@parse@page{#1}%
5960     \fi
5961     }%
5962     % NEW 0.51o added to adapt the separation of \formatpages automatically
5963     \newcommand{\jbpagesnamesep}{\,}\newcommand{\bibpagesnamesep}{\,}%
5964     \newcommand*{\jb@parse@page}[1]{%
5965     \ifthenelse{\equal{\jbpagename}{}\and\equal{\jbpagesname}{}}{\def\jbpagesnamesep{}}{}%
5966     \ifthenelse{\equal{\bibpagename}{}\and\equal{\bibpagesname}{}}{\def\bibpagesnamesep{}}{}%
5967     \jb@if@contains@ff{#1}{%
5968     \ifjbweareinbib
5969     \bibpagesname\bibpagesnamesep#1%
5970     \else
5971     \jbpagesname\jbpagesnamesep#1%
5972     \fi
5973     }{%
5974     \jb@if@contains@f{#1}{%
5975     \ifjbweareinbib
5976     \bibpagesname\bibpagesnamesep#1%
5977     \else
5978     \jbpagesname\jbpagesnamesep#1%
5979     \fi
5980     }{%
5981     \jb@if@contains@endash{#1}{%
5982     \ifjbweareinbib
5983     \bibpagesname\bibpagesnamesep#1%
5984     \else
5985     \jbpagesname\jbpagesnamesep#1%
5986     \fi
5987     }{%
5988     \jb@if@contains@multiple{#1}{%
5989     \ifjbweareinbib
5990     \bibpagesname\bibpagesnamesep#1%
5991     \else
5992     \jbpagesname\jbpagesnamesep#1%
5993     \fi
5994     }{%
5995     % 0.51u: Here we have single pages!
5996     \ifjbweareinbib
5997     \bibpagename\bibpagesnamesep#1%
5998     \else
5999     \jbpagename\jbpagesnamesep#1%
6000     \fi
6001     }%
6002     }%
6003     }%
6004     }%
6005     }%
6006     \newcommand*{\jb@if@contains@multiple}[1]{%
6007     \protected@edef\@tempa{#1}%
6008     % die folgende \expandafter-Orgie ist nötig, um vor dem
6009     % Aufruf von \jb@@if@contains@multiple erst \space, dann
6010     % \@tempa zu expandieren:
6011     \expandafter\expandafter\expandafter\jb@@if@contains@multiple
6012     \expandafter\@tempa\space\@nil
6013     }
6014     \newcommand*{\jb@if@contains@endash}[1]{%
6015     \protected@edef\@tempa{#1}%
6016     \expandafter\jb@@if@contains@endash\@tempa--\@nil}%
6017     \newcommand*{\jb@if@contains@ff}[1]{%
6018     \protected@edef\@tempa{#1}%
6019     \expandafter\jb@@if@contains@ff\@tempa ff\@nil}%
6020     \newcommand*{\jb@if@contains@f}[1]{%
6021     \protected@edef\@tempa{#1}%
6022     \expandafter\jb@@if@contains@f\@tempa f\@nil}%
6023     \newcommand*{\jb@@if@contains@multiple}{}
6024     \def\jb@@if@contains@multiple#1 #2\@nil{%
6025     % \jb@typeout{args of multiple: |#1|#2|}%
6026     \ifx\\#2\\% is #2 empty?
6027     % \jb@typeout{no and}%
6028     \expandafter\@secondoftwo
6029     \else
6030     % \jb@typeout{and found}%
6031     \expandafter\@firstoftwo
6032     \fi
6033     }%
6034     \newcommand*{\jb@@if@contains@endash}{}
6035     \def\jb@@if@contains@endash#1--#2\@nil{%
6036     % \jb@typeout{args of endash: |#1|#2|}%
6037     \ifx\\#2\\% is #2 empty?
6038     % \jb@typeout{no --}%
6039     \expandafter\@secondoftwo
6040     \else
6041     % \jb@typeout{-- found}%
6042     \expandafter\@firstoftwo
6043     \fi
6044     }%
6045     \newcommand*{\jb@@if@contains@f}{}
6046     \def\jb@@if@contains@f#1f#2\@nil{%
6047     % \jb@typeout{args of f: |#1|#2|}%
6048     \ifx\\#2\\% is #2 empty?
6049     % \jb@typeout{no f}%
6050     \expandafter\@secondoftwo
6051     \else
6052     % \jb@typeout{f found}%
6053     \expandafter\@firstoftwo
6054     \fi
6055     }%
6056     \newcommand*{\jb@@if@contains@ff}{}
6057     \def\jb@@if@contains@ff#1ff#2\@nil{%
6058     % \jb@typeout{args of ff: |#1|#2|}%
6059     \ifx\\#2\\% is #2 empty?
6060     % \jb@typeout{no ff}%
6061     \let\sndecmd\@secondoftwo
6062     % \ecmd changed to \sndecmd, \ecmd already used, causes errors
6063     \else
6064     \def\@tempa{ff}%
6065     \def\@tempb{#2}%
6066     \ifx\@tempa\@tempb
6067     % \jb@typeout{ff found}%
6068     \let\sndecmd\@firstoftwo
6069     \else
6070     % \jb@typeout{no ff}%
6071     \let\sndecmd\@secondoftwo
6072     \fi
6073     \fi
6074     \sndecmd
6075     }%
6076     \newcommand*{\jbpagesformat}[1]{#1}%
6077     \newcommand*{\jbafterstartpagesep}{,}%
6078     % NEW 0.51o now five args, one new optional for configurable separation before startpage
6079     \newcommand*{\formatpages}{\@ifnextchar[{\jb@formatpages}{\jb@formatpages[]}}%
6080     \def\jb@formatpages[#1]{\@ifnextchar[{\jb@@formatpages[#1]}{\jb@@formatpages[#1][]}}%
6081     \def\jb@@formatpages[#1][#2]#3#4#5{%
6082     \def\jb@afterstartpagesep{#1}%
6083     \def\jb@beforestartpagesep{#2}%
6084     \def\jb@start@page@for@types{#3}%
6085     \def\jb@normalpageldelim{#4}%
6086     \def\jb@normalpagerdelim{#5}%
6087     \ifthenelse{\equal{#1}{}\and\equal{#2}{}%
6088     % startpage will be recognized only, when at least one opt. arg is used
6089     }{%
6090     \renewcommand*{\jbpagesformat}[1]{%
6091     \jb@normalpageldelim##1\jb@normalpagerdelim}%
6092     }{\jb@start@pagetrue}%
6093     }%
6094     % NEW 0.5f: emulate the old command \formatarticlepages
6095     % NEW 0.51o five args
6096     \newcommand*{\formatarticlepages}[3][]{\formatpages[#1]{article}{#2}{#3}}%
6097     % CHANGED 0.51h
6098     \newcommand*{\jb@do@ssed@kerning}{%
6099     \ifjb@ssed@after@author\else
6100     \ifthenelse{\equal{\jb@@edition}{}}{}{%
6101     \ifthenelse{\jb@@edition>9}{%
6102     \ifthenelse{\jb@@edition>99}{%
6103     \ifjb@comma@before@rest\,\,\,\,\,\,\else\kern\jbedwidth\fi
6104     }{%
6105     \ifjb@comma@before@rest\,\,\,\,\else\kern\jbedwidth\fi
6106     }%
6107     }{%
6108     \ifjb@comma@before@rest\,\,\else\kern\jbedwidth\fi
6109     }%
6110     }%
6111     \fi
6112     }%
6113     \newcommand\herename{}
6114     \newcommand*{\jbfirstcitepageranges}{\jb@allow@adding@of@pagerange@for@first@citetrue}
6115     % CH 0.52m rewritten, output of pageranges for explicit fullcites too, output of
6116     % herename requires not-empty pages=field now.
6117     \newcommand*{\jb@add@something@before@page}{%
6118     \ifthenelse{%
6119     \boolean{jb@allow@adding@of@pagerange@for@first@cite}%
6120     \and
6121     \not\equal{\jb@@pages}{}%
6122     \and
6123     \(
6124     \boolean{jb@first@cite}%
6125     \or
6126     \boolean{jb@fullcite@again}%
6127     \)
6128     }{%
6129     \herename%
6130     }{}%
6131     }%
6132     \newcommand*{\jb@before@page@sep}{%
6133     \unskip\jb@kern@sep\space%
6134     \ifjb@ssed@recent@kerned
6135     \jb@do@ssed@kerning%
6136     \fi
6137     % NEW 0.52f
6138     \jb@add@something@before@page%
6139     }%
6140     \newcommand*{\jb@formatted@start@page}{%
6141     \ifthenelse{%
6142     \not\equal{\jb@@start@page}{}%
6143     \and
6144     \boolean{jb@allow@adding@of@pagerange}%
6145     \and
6146     \(%
6147     % NEW 0.5f, \formatpages for all types possible
6148     \boolean{jb@start@page}%
6149     \and
6150     \equal{\jb@start@page@for@types@arg}{1}%
6151     \)%
6152     % NEW 0.52i, no startpage for ibidem
6153     \and\not\boolean{jb@switchidemofflocally}%
6154     }{%
6155     % NEW 0.51o for configurable separation before startpage
6156     \ifthenelse{\equal{\jb@beforestartpagesep}{}}{}{%
6157     \renewcommand*{\jbbeforestartpagesep}{\jb@beforestartpagesep}}%
6158     \renewcommand*{\jbafterstartpagesep}{\jb@afterstartpagesep}%
6159     \renewcommand*{\jbpagesformat}[1]{%
6160     \jb@normalpageldelim##1\jb@normalpagerdelim}%
6161     \jb@allow@adding@of@pagerangefalse % avoid additional pagerange
6162     % NEW 0.51o for configurable separation before startpage
6163     \jbbeforestartpagesep%
6164     \ifjb@formatted@pages
6165     \jbprformat{\jb@@start@page}%
6166     \else
6167     \jb@@start@page%
6168     \fi
6169     \ifthenelse{\equal{\jb@@newpagecite}{}}{}{%
6170     \let\jb@before@page@sep\@empty % remove commabeforerest
6171     \jbafterstartpagesep%
6172     }%
6173     }{}%
6174     }
6175     \newcommand*{\jb@@formatted@pages}{%
6176     \ifthenelse{\equal{\jb@@pages}{}}{%
6177     \ifthenelse{\equal{\jb@@newpagecite}{}}{}{%
6178     \jb@before@page@sep%
6179     \jbpagesformat{\jb@@newpagecite}%
6180     }%
6181     }{%
6182     \jb@formatted@start@page%
6183     \ifjb@always@pageranges
6184     % NEW 0.52l changed feature: `pages=always' gives the full pagerange from bib file only for long
6185     \ifjb@first@cite
6186     \ifjb@allow@adding@of@pagerange
6187     \ifjb@formatted@pages
6188     \jb@before@page@sep%
6189     \jbprformat{\jb@@pages}%
6190     \else
6191     \jb@before@page@sep%
6192     \jb@@pages%
6193     \fi
6194     \fi
6195     \fi
6196     \ifthenelse{\equal{\jb@@newpagecite}{}}{}{%
6197     \jb@before@page@sep%
6198     \jbpagesformat{\jb@@newpagecite}%
6199     }%
6200     \else
6201     \ifjb@tested@pageranges
6202     \ifthenelse{\equal{\jb@@newpagecite}{}}{%
6203     \ifjb@allow@adding@of@pagerange
6204     \ifthenelse{\not\equal{\diffpageibidemname}{\samepageibidemname}%
6205     \TE@or
6206     \not\equal{\diffpageibidemmidname}{\samepageibidemmidname}%
6207     }{%
6208     \jb@package@warning{\jb@pkg@name}{%
6209     You have redefined one ore more ibidem macros\MessageBreak
6210     while using `pages=test'. Please note it is\MessageBreak
6211     possible that you did not get the desired\MessageBreak
6212     results}%
6213     }{}%
6214     \ifjb@formatted@pages
6215     \jb@before@page@sep%
6216     \jbprformat{\jb@@pages}%
6217     \else
6218     \jb@before@page@sep%
6219     \jb@@pages%
6220     \fi
6221     \fi
6222     }{%
6223     \jb@before@page@sep%
6224     \jbpagesformat{\jb@@newpagecite}%
6225     }%
6226     \else
6227     \ifthenelse{\equal{\jb@@newpagecite}{}}{}{%
6228     \jb@before@page@sep%
6229     \jbpagesformat{\jb@@newpagecite}%
6230     }%
6231     \fi
6232     \fi
6233     }%
6234     }%
6235     \newcommand*{\jb@checked@kerning}{%
6236     % CHANGED 0.51h kerning routine removed
6237     % \ifjb@ibidem@with@name
6238     \jb@@formatted@pages\unskip%
6239     % \else
6240     % \ifthenelse{%
6241     % \boolean{jb@ssed@kerning@wanted}% kerning ON?
6242     % \and
6243     % \(\(%
6244     % \boolean{jb@ssed@sw}%
6245     % \and%
6246     % \equal{\jb@@edition@switch}{1}%
6247     % \)%
6248     % \or%
6249     % \boolean{jb@ssed@all}%
6250     % \or%
6251     % \(%
6252     % \boolean{jb@ssed@commented}%
6253     % \and%
6254     % \equal{\jb@@type}{commented}%
6255     % \)\)%
6256     % }{%
6257     % \ifthenelse{\equal{\jb@@edition}{}}{%
6258     % \jb@kern@sep\space%
6259     % }{%
6260     % \ifthenelse{\jb@@edition>9}{%
6261     % \ifthenelse{\jb@@edition>99}{%
6262     % \jb@kern@before@sepiii%
6263     % \jb@kern@sep%
6264     % \jb@kern@after@sepiii %
6265     % }{%
6266     % \jb@kern@before@sepii%
6267     % \jb@kern@sep%
6268     % \jb@kern@after@sepii %
6269     % }%
6270     % }{%
6271     % \jb@kern@before@sepi%
6272     % \jb@kern@sep%
6273     % \jb@kern@after@sepi %
6274     % }%
6275     % }%
6276     % \ifthenelse{\equal{\jb@@newcoauthorcite}{\@empty}}{%
6277     % \ifjb@comma@before@rest\else\space\fi\jb@@formatted@pages%
6278     % }{%
6279     % \ifthenelse{\equal{\jbhowsepcoauthorfirst}{~in }}{%
6280     % \jb@@formatted@pages}{ \jb@@formatted@pages}%
6281     % }%
6282     % }{%
6283     % \jb@@formatted@pages\unskip%
6284     % }%
6285     % \fi
6286     }%
6287     \newcommand*{\jb@makecheckedpages}{%
6288     \ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{%
6289     % \ifjb@footnote@period@ibidem
6290     \ifjb@suppress@dot@for@howcited\else
6291     \ifjbcross\else
6292     \ifjb@allow@dot@for@lookat
6293     % CHANGED 0.51h kerning routine removed
6294     % \ifjb@ssed@kerning@wanted
6295     % \renewcommand*{\jb@kern@sep}{}%
6296     % \renewcommand*{\jb@kern@after@sepi}{}%
6297     % \renewcommand*{\jb@kern@after@sepii}{}%
6298     % \renewcommand*{\jb@kern@after@sepiii}{}%
6299     % \jb@checked@kerning%
6300     %% \ifjb@comma@before@rest.\else\unskip.\fi
6301     % \else
6302     % NEW 0.5e \unskip and much more added
6303     \ifthenelse{\boolean{jb@comma@before@rest}}{%
6304     \ifthenelse{%
6305     \(
6306     \not\equal{\jb@@pages}{}%
6307     \and
6308     \(
6309     \boolean{jb@always@pageranges}%
6310     \or
6311     \boolean{jb@tested@pageranges}%
6312     \)
6313     \)
6314     \or
6315     % NEW 0.5e added for comma also before starting page, bug reported by Rebekka Rieger (uzsr2x@uni-bonn.de)
6316     \(
6317     \not\equal{\jb@@start@page}{}%
6318     \and
6319     \boolean{jb@allow@adding@of@pagerange}%
6320     \and
6321     \boolean{jb@start@page}%
6322     \and
6323     \equal{\jb@@type}{article}%
6324     \)
6325     }{%
6326     \renewcommand*{\jb@kern@sep}{,}%
6327     }{%
6328     \renewcommand*{\jb@kern@sep}{}%
6329     }%
6330     \jb@checked@kerning%
6331     % NEW 0.5f no dot for the first cite if multiple keys are given
6332     % NEW 0.5fb8 removed
6333     % \ifjb@footnote@period\unskip%
6334     % \@ifundefined{jb@morethanonecite}{}{.}%
6335     % \fi
6336     % \ifjb@footnote@period\unskip.\fi
6337     }{%
6338     \renewcommand*{\jb@kern@sep}{}%
6339     \jb@checked@kerning%
6340     % NEW 0.5f no dot for the first cite if multiple keys are given
6341     % NEW 0.5fb8 removed
6342     % \ifjb@footnote@period\unskip%
6343     % \@ifundefined{jb@morethanonecite}{}{.}%
6344     % \fi
6345     % \ifjb@footnote@period\unskip.\fi
6346     }%
6347     % CHANGED 0.51h kerning routine removed
6348     % \fi
6349     \fi
6350     \fi
6351     \fi
6352     % \fi
6353     }{%
6354     \ifjb@period
6355     \ifjb@comma@before@rest
6356     \renewcommand*{\jb@kern@sep}{,}%
6357     \jb@checked@kerning%
6358     \else
6359     \renewcommand*{\jb@kern@sep}{}%
6360     \jb@checked@kerning%
6361     \fi
6362     \else
6363     \ifjb@comma@before@rest
6364     \renewcommand*{\jb@kern@sep}{,}%
6365     \jb@checked@kerning%
6366     % NEW 0.5fb8 removed
6367     % \ifjb@footnote@period\unskip.\fi
6368     \else
6369     \renewcommand*{\jb@kern@sep}{}%
6370     \jb@checked@kerning%
6371     % NEW 0.5fb8 removed
6372     % \ifjb@footnote@period\unskip.\fi
6373     \fi
6374     \fi
6375     }%
6376     }%
6377     % NEW 0.5e
6378     % code for new option values `citefull=chapter|section'
6379     % contributed by Stefan Ulrich. Very special thanks.
6380     \newcommand*{\jb@list}{}
6381     % NEW 0.5e own list for opcit resetting.
6382     \newcommand*{\jb@opcit@list}{}
6383     \newcommand*{\jb@elt}{}
6384     \let\jb@elt\relax
6385     \newtoks\jb@temptoks
6386     \newcommand*{\jb@@append}[2]{%
6387     % take care that list doesn't start with empty elem
6388     \ifthenelse{\equal{#2}{}}{%
6389     \protected@xdef#2{#1}%
6390     }{%
6391     \jb@temptoks=\expandafter{#2}%
6392     \protected@xdef#2{\the\jb@temptoks,#1}%
6393     }%
6394     }%
6395     \newcommand*{\jb@append}[2]{%
6396     % \jb@typeout{add elem |#1| to list |#2|?}%
6397     \jb@if@elem{#1}{#2}{%
6398     % \jb@typeout{ --- yes, not adding}%
6399     }{%
6400     % \jb@typeout{ --- no, added}%
6401     \jb@@append{#1}{#2}%
6402     }%
6403     }%
6404     \newcommand*{\jb@list@tempa}{}
6405     \newcommand*{\jb@list@tempb}{}
6406     \newcommand*{\jb@test@cmd}{}
6407     \newcommand*{\jb@if@elem}[2]{%
6408     % \jb@typeout{testing if |#1| is elem of |#2|}%
6409     \protected@edef\jb@list@tempa{#1}%
6410     \let\jb@test@cmd\@secondoftwo
6411     \@for\jb@list@tempb:=#2\do{%
6412     \ifx\jb@list@tempa\jb@list@tempb
6413     \let\jb@test@cmd\@firstoftwo
6414     \fi
6415     }%
6416     \jb@test@cmd
6417     }%
6418     \newcommand*{\jb@undefineall}[2]{%
6419     \ifthenelse{\equal{#2}{opcit}}{%
6420     \ifthenelse{\equal{\jb@reset@opcit@for}{chapter}}{%
6421     % CHANGED 0.5f removing of this check, because of problems
6422     % when using characters for chapter numbering. e.g. using \appendix
6423     % \ifthenelse{\thechapter>1}{%
6424     \@ifundefined{resetopcit\thechapter}{%
6425     \global\@namedef{resetopcit\thechapter}{}%
6426     \jb@typeout{Package jurabib Info: Resetting `#2'
6427     for Chapter \thechapter}%
6428     \@for\jb@list@tempa:=#1\do{%
6429     \expandafter\gdef\csname\jb@list@tempa\endcsname{}%
6430     }%
6431     }{\relax}%
6432     % }{}%
6433     }{%
6434     % \ifthenelse{\thesection>1}{%
6435     \@ifundefined{resetcf\thesection}{%
6436     \global\@namedef{resetcf\thesection}{}%
6437     \jb@typeout{Package jurabib Info: Resetting `#2'
6438     for Section \thesection}%
6439     \@for\jb@list@tempa:=#1\do{%
6440     \expandafter\gdef\csname\jb@list@tempa\endcsname{}%
6441     }%
6442     }{\relax}%
6443     % }{}%
6444     }%
6445     }{%
6446     \ifthenelse{\equal{\jb@resetfor}{chapter}}{%
6447     % \ifthenelse{\thechapter>1}{%
6448     \@ifundefined{resetcitefull\thechapter}{%
6449     \global\@namedef{resetcitefull\thechapter}{}%
6450     \jb@typeout{Package jurabib Info: Resetting `#2'
6451     for Chapter \thechapter}%
6452     \@for\jb@list@tempa:=#1\do{%
6453     \expandafter\gdef\csname\jb@list@tempa\endcsname{}%
6454     }%
6455     }{\relax}%
6456     % }{}%
6457     }{%
6458     % \ifthenelse{\thesection>1}{%
6459     \@ifundefined{resetcitefull\thesection}{%
6460     \global\@namedef{resetcitefull\thesection}{}%
6461     \jb@typeout{Package jurabib Info: Resetting `#2'
6462     for Section \thesection}%
6463     \@for\jb@list@tempa:=#1\do{%
6464     \expandafter\gdef\csname\jb@list@tempa\endcsname{}%
6465     }%
6466     }{\relax}%
6467     % }{}%
6468     }%
6469     }%
6470     % REMOVED 0.5f caused problems with citations, which are first citations and containing crossref's
6471     % \@for\jb@list@tempa:=#1\do{%
6472     % \expandafter\gdef\csname\jb@list@tempa\endcsname{}%
6473     % }%
6474     }%
6475     \newcommand*{\jb@showelems}[1]{%
6476     % \jb@typeout{show elems of list #1:}%
6477     \@for\jb@list@tempa:=#1\do{%
6478     \jb@typeout{\jb@list@tempa:
6479     \expandafter\meaning\csname\jb@list@tempa\endcsname}%
6480     }%
6481     }%
6482     \newcommand*{\jb@firstcitefull}{%
6483     % NEW 0.5e reset citefull=first for each chapter/section
6484     \@ifundefined{jb@resetfor}{}{%
6485     \ifthenelse{%
6486     \(
6487     \equal{\jb@resetfor}{chapter}%
6488     \or
6489     \equal{\jb@resetfor}{section}%
6490     \)
6491     \and\value{citefull}=0%
6492     % \and\not\value{\jb@resetfor}=1%
6493     }{%
6494     % THE RESET
6495     \jb@undefineall{\jb@list}{citefull=first}%
6496     }{}%
6497     }%
6498     % \ifjbweareinbib\else
6499     % \ifjb@firstcite@full
6500     % \ifjb@all@full\else
6501     % \ifjb@no@lookat@for@bib\else
6502     \ifthenelse{%
6503     \not\boolean{jbweareinbib}%
6504     \and%
6505     \boolean{jb@firstcite@full}%
6506     \and%
6507     \equal{\jb@@cite@fullfirst@switch}{1}%
6508     \and\not\boolean{jb@all@full}%
6509     \and\not\boolean{jb@no@lookat@for@bib}%
6510     }{%
6511     \ifthenelse{\equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}}{%
6512     \let\jb@extraspace\@empty %!!!
6513     \@ifundefined{jb@morethanonecite}{%
6514     \jb@makecheckednameibidem%
6515     }{\relax}%
6516     \ifjb@ibidem@with@name@and@title\else
6517     \@ifundefined{ibidem}{\let\jb@extraspace\space}{}%
6518     \fi
6519     }{% the first cite
6520     \jb@first@citetrue
6521     % CHANGED 0.52d check for type
6522     \ifthenelse{\not\equal{\jb@start@page@for@types@arg}{1}}{%
6523     \jb@allow@adding@of@pagerangefalse
6524     }{}%
6525     \global\@namedef{citefull@\jb@@newauthorcite}{citefull}%
6526     % NEW 0.5f simply define all detectors of already cited crossrefs.
6527     % If a collection is cited first and if this collection is crossref'ed later by an essay entry,
6528     % it should appear a short form of the citation, not the full citation!
6529     \global\@namedef{NORMCR@\jb@@newauthorcite}{}%
6530     \global\@namedef{ARTCR@\jb@@newauthorcite}{}%
6531     \global\@namedef{INCCR@\jb@@newauthorcite}{}%
6532     % NEW 0.5e for citefull=chapter|section
6533     \jb@append{citefull@\jb@@newauthorcite}{\jb@list}%
6534     \jbonlyforfirstcitefullbegin%
6535     \let\jb@extraspace\@empty
6536     \ifjb@lookat
6537     \ifjb@allow@lookat@for@fullcite
6538     \begingroup
6539     \jb@restore@auxfile
6540     % NEW 0.5e avoid multiple labels for citefull=chapter
6541     \label{look@\@citeb:\jb@reset@look@label@for}%
6542     % NEW 0.5f correct links for hyperref
6543     \hyper@jbanchorstart{look@\@citeb:\jb@reset@look@label@for}\hyper@jbanchorend%
6544     \endgroup
6545     \@namedef{look@\jb@@newauthorcite}{firsttime}%
6546     \fi
6547     \fi
6548     \ifjb@debug
6549     \textcolor[named]{Blue}{%
6550     \ifjb@debug@br[\fi
6551     \jb@formatted@co@author@in\jb@use@fullcite%
6552     \ifjb@debug@br]\fi}%
6553     \else
6554     \jb@formatted@co@author@in\jb@use@fullcite%
6555     \fi
6556     \jbonlyforfirstcitefullend%
6557     \let\jb@makeagainfullcite\@empty
6558     % To think about: allow opcit for resetted `citefull=first' citations?
6559     \let\OpCit\@empty % ??????
6560     \jb@relaxcommandsforfullcite
6561     }%
6562     % \fi
6563     % \fi
6564     % \fi
6565     % \fi
6566     }{%
6567     \jb@allow@lookat@for@fullcitefalse
6568     }%
6569     }%
6570     \newcommand*{\jb@ssed@format}{%
6571     \ifthenelse{\equal{\jb@@edition}{}}{}{%
6572     \textsuperscript{\jb@ssed@size\jb@@edition}}}%
6573     \newcommand*{\jb@ssed@notitle@format}{%
6574     \ifthenelse{\equal{\jb@@edition}{}}{}{%
6575     \textsuperscript{\jb@ssed@size\jb@@edition}%
6576     % CHANGED 0.51h kerning routine removed
6577     % \ifjb@ssed@kerning@wanted
6578     % \ifthenelse{\equal{\jb@@newcoauthorcite}{}}{}{%
6579     % \ifthenelse{\equal{\jbhowsepcoauthorlast}{--}}{}{%
6580     % \ifthenelse{\equal{\jbhowsepcoauthorfirst}{~in }}{}{%
6581     % \hspace{-.2em}%
6582     % }%
6583     % }%
6584     % \ifjb@coauthor@last
6585     % \setlength{\jb@length@i}{0pt}%
6586     % \setlength{\jb@length@ii}{0pt}%
6587     % \setlength{\jb@length@iii}{0pt}%
6588     % \fi
6589     % }%
6590     % \fi
6591     }%
6592     }%
6593     \newcommand{\jb@@samework@edition@differs}{}%
6594     \newlength{\jbedwidth}
6595     \newcommand*{\jb@make@superscript@edition}{%
6596     \ifthenelse{\equal{\jb@@edition}{\@empty}}{}{%
6597     \ifjb@ssed@all
6598     \renewcommand*{\jb@checked@edition}{%
6599     \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{%
6600     \ifthenelse{%
6601     % \equal{\jb@@type}{commented}%
6602     % \and
6603     \equal{\jb@@samework@edition@differs}{1}%
6604     }{%
6605     \let\jb@checked@title\@empty
6606     \jb@ssed@format%
6607     \settowidth{\jbedwidth}{\jb@ssed@format}%
6608     \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else
6609     \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi
6610     \fi
6611     }{%
6612     \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}%
6613     }%
6614     }{%
6615     \jb@ssed@notitle@format%
6616     }%
6617     }%
6618     \else
6619     \ifjb@ssed@commented
6620     \renewcommand*{\jb@checked@edition}{%
6621     \ifthenelse{\equal{\jb@@type}{commented}}{%
6622     \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{%
6623     \ifthenelse{%
6624     \equal{\jb@@samework@edition@differs}{1}%
6625     }{%
6626     \let\jb@checked@title\@empty
6627     \jb@ssed@format%
6628     \settowidth{\jbedwidth}{\jb@ssed@format}%
6629     \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else
6630     \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi
6631     \fi
6632     }{%
6633     \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}%
6634     }%
6635     }{%
6636     \jb@ssed@notitle@format%
6637     }%
6638     }{}%
6639     }%
6640     \else
6641     \ifjb@ssed@sw
6642     \ifthenelse{\equal{\jb@@edition@switch}{1}}{%
6643     \renewcommand*{\jb@checked@edition}{%
6644     \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{%
6645     \ifthenelse{%
6646     % UNSURE: for the switch value, should multiple value given too to build a short form?
6647     % \boolean{jb@ssed@mult@works}%
6648     % \and
6649     % \equal{\jb@@type}{commented}%
6650     % \and
6651     \equal{\jb@@samework@edition@differs}{1}%
6652     }{%
6653     \let\jb@checked@title\@empty
6654     \jb@ssed@format%
6655     \settowidth{\jbedwidth}{\jb@ssed@format}%
6656     \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else
6657     \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi
6658     \fi
6659     }{%
6660     \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}%
6661     }%
6662     }{%
6663     \jb@ssed@notitle@format%
6664     }%
6665     }%
6666     }{}%
6667     \else
6668     \ifjb@ssed@mult@works
6669     \renewcommand\jb@checked@edition{%
6670     \ifthenelse{%
6671     \boolean{jb@ssed@mult@works}%
6672     \and
6673     % \equal{\jb@@type}{commented}%
6674     % \and
6675     \equal{\jb@@samework@edition@differs}{1}%
6676     }{%
6677     \let\jb@checked@title\@empty
6678     \jb@ssed@format%
6679     \settowidth{\jbedwidth}{\jb@ssed@format}%
6680     \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else
6681     \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi
6682     \fi
6683     }{}%
6684     }%
6685     \fi
6686     \fi
6687     \fi
6688     \fi
6689     }%
6690     }%
6691     % NEW 0.51l macros for detecting commentaries with same author
6692     % and same title, but different editions, contributed by Stefan Ulrich
6693     \newtoks\jb@ta\newtoks\jb@tb
6694     \newcommand\jbauthorinfo{%
6695     \begingroup\@sanitize % needed to deactivate \" etc.
6696     \jb@deactivate@babel
6697     \catcode`\ =10 % but treat spaces as usual (gobble between arguments)
6698     \jb@define@verbatim@
6699     }
6700     \newcommand\jb@define@verbatim@[2]{%
6701     \def\jb@curr@key{#2}\def\jb@list{}\jb@do@authorinfo#1\jb@end\endgroup}
6702     \newcommand\jb@curr@cite{}
6703     \newcommand\jb@last@cite{}
6704     \newcommand\jb@citeasedn[1]{\global\@namedef{jb@#1}{}}
6705     \newcommand\jb@check@edn[1]{%
6706     \@ifundefined{jb@#1}{%
6707     % \typeout{work differs}%
6708     \def\jb@@samework@edition@differs{0}%
6709     }{%
6710     % \typeout{only EDN differs}%
6711     \def\jb@@samework@edition@differs{1}%
6712     }%
6713     }
6714     \def\jb@do@authorinfo#1#2\jb@end{%
6715     \jb@ta=\expandafter{\jb@list}%
6716     \protected@edef\@tempa{#1}%
6717     \protected@edef\@tempa{\expandafter\strip@prefix\meaning\@tempa}%
6718     \jb@tb=\expandafter{\@tempa}%
6719     \ifthenelse{\equal{#2}{}}{%
6720     % \typeout{at end of list: |#1|}%
6721     \@ifundefined{\the\jb@ta\the\jb@tb}{%
6722     % \typeout{this is new:^^J|\the\jb@ta\the\jb@tb|}%
6723     }{%
6724     % \typeout{this is not new:^^J|\the\jb@ta\the\jb@tb|}%
6725     % \typeout{saving1: |\expandafter\meaning\csname\the\jb@ta\the\jb@tb\endcsname|}%
6726     % \typeout{saving2: |\meaning\jb@curr@key|}%
6727     \protected@write\@auxout{}{%
6728     % save previous label, and current label:
6729     \string\csname\space jb@citeasedn\string\endcsname{\@nameuse{\the\jb@ta\the\jb@tb}}^^J%
6730     \string\csname\space jb@citeasedn\string\endcsname{\jb@curr@key}%
6731     }%
6732     }%
6733     % \typeout{===remembering: \jb@curr@key}%
6734     \expandafter\global\expandafter\@namedef\expandafter{\the\jb@ta\the\jb@tb\expandafter}\expandafter{\jb@curr@key}%
6735     }{%
6736     % \typeout{list item: |#1|}%
6737     % \typeout{list: \meaning\jb@list}%
6738     \jb@do@authorinfo#2\jb@end
6739     }%
6740     }
6741     \newcommand\jb@@last@@author{}
6742     \newcommand\jb@@new@@author{}
6743     \newcommand\jb@@last@@title{}
6744     \newcommand\jb@@new@@title{}
6745     \newcommand\jb@@last@fullname@author{}
6746     \newcommand\jb@@new@fullname@author{}
6747     \newcommand{\jb@do@ibidem@name@title@test}{%
6748     \def\jb@@new@fullname@author{INTT@\jb@@fullname}% INTT= ibidem name & title test
6749     \ifthenelse{\equal{\jb@@last@fullname@author}{\jb@@new@fullname@author}%
6750     % full names are the same, but it's not the same work
6751     \and\not\equal{\jb@@newauthorcite}{\jb@@lastauthorcite}%
6752     }{%
6753     \jb@same@author@different@worktrue
6754     }{%
6755     \jb@same@author@different@workfalse
6756     }%
6757     \global\let\jb@@last@fullname@author\jb@@new@fullname@author
6758     }%
6759     \newcommand*{\jb@do@if@multiple@bibetal}{\def\jb@@title@switch{1}}
6760     \newcommand*{\jb@make@opcit}{%
6761     % NEW 0.5e op.cit. feature
6762     % NEW 0.5f no opcit in bibliography
6763     \ifjbweareinbib\else
6764     % NEW 0.5f no opcit inside crossref's, confusing the reader, because he is not able
6765     % to see, what is meant by the opcit at the end of a citation with crossref
6766     % (the main citation or the crossref?). And we are going around problems with lookat.
6767     \ifjbcross\else
6768     \ifjb@opcit
6769     \@ifundefined{jb@reset@opcit@for}{}{%
6770     \ifthenelse{%
6771     \not\equal{\jb@reset@opcit@for}{}%
6772     \and\value{opcit}=0%
6773     % causes error: `Extra \or'.
6774     % \(
6775     % \equal{\jb@reset@opcit@for}{chapter}%
6776     % \or
6777     % \equal{\jb@reset@opcit@for}{section}%
6778     % \)
6779     % \and\value{opcit}=0%
6780     }{%
6781     \jb@undefineall{\jb@opcit@list}{opcit}%
6782     }{}%
6783     }%
6784     % debugging
6785     % \jb@showelems{\jb@opcit@list}%
6786     \ifthenelse{\equal{\@nameuse{opcit@\jb@@newauthorcite}}{cited}}{%
6787     \jb@@opcittrue
6788     %% INSERT A WARNING ABOUT AMBIGUOUS CITATIONS!!!!!!!!!!!!
6789     % NEW 0.5f no switching to `authorformat=year' for `opcit'
6790     % \let\jb@@shorttitle\relax
6791     % \let\jbhowsepbeforetitle\@empty
6792     }{%
6793     \global\@namedef{opcit@\jb@@newauthorcite}{cited}%
6794     % NEW 0.5f opcit hyperlinked to first citation
6795     \hyper@jbanchorstart{opcit.\jb@@newauthorcite.\jb@reset@opcit@label@for}%
6796     \hyper@jbanchorend%
6797     \jb@append{opcit@\@citeb}{\jb@opcit@list}%
6798     \jb@@opcitfalse
6799     }%
6800     \fi
6801     \fi
6802     \fi
6803     }%
6804     % NEW 0.52f command to allow pageranges for first cites and specific types
6805     \newcommand*{\jb@make@pageranges@for@first@cite}{%
6806     \ifthenelse{\equal{\@nameuse{citefull@\@citeb}}{citefull}%
6807     \and\not\boolean{jb@allow@adding@of@pagerange@for@first@cite}%
6808     }{%
6809     \let\jbPAGES\@gobble
6810     \let\jbpages\@gobble
6811     \let\jbPages\@gobble
6812     \let\jbartPages\@gobble
6813     }{%
6814     \ifthenelse{\(\equal{\jb@@type}{article}\or\equal{\jb@@type}{periodical}%
6815     % \or\equal{\jb@@type}{incollection}%
6816     \)%
6817     \and\boolean{jb@allow@adding@of@pagerange@for@first@cite}%
6818     }{% do nothing
6819     }{%
6820     \let\jbPAGES\@gobble
6821     \let\jbpages\@gobble
6822     \let\jbPages\@gobble
6823     \let\jbartPages\@gobble
6824     }%
6825     }%
6826     }
6827     \def\@citex[#1][#2]#3{%
6828     % NEW 0.52l we have to count the citations inside a footnote for lowercase ibidem
6829     \stepcounter{jb@cites@in@footnote}% \thejb@cites@in@footnote
6830     \ifjb@ssed@mult@works\jb@check@edn{#3}\fi
6831     % NEW 0.5f added for compatibility with endnotes.sty
6832     \ifjb@foot
6833     \renewcommand*{\@cite}[2]{\unskip\footnote{##1##2\ifthenelse{\boolean{jb@footnote@period}}{\unskip.}{}}}%
6834     \else
6835     \renewcommand*{\@cite}[2]{%
6836     \ifjb@fn\else\ifjbweareinbib\else\jb@open\fi\fi
6837     ##1##2%
6838     \ifjb@fn\else\ifjbweareinbib\else\jb@close\fi\fi
6839     }%
6840     \fi
6841     \ifjb@natbib@opt@arg@order
6842     \def\jb@@newcoauthorcite{#1}%
6843     \ifx\relax#2\relax
6844     \def\jb@@newpagecite{#2}%
6845     \else
6846     \ifjb@formatted@pages
6847     \def\jb@@newpagecite{\jbprformat{#2}}%
6848     \else
6849     \def\jb@@newpagecite{#2}%
6850     \fi
6851     \fi
6852     \else
6853     \ifx\relax#1\relax
6854     \def\jb@@newpagecite{#1}%
6855     \else
6856     \ifjb@formatted@pages
6857     \def\jb@@newpagecite{\jbprformat{#1}}%
6858     \else
6859     \def\jb@@newpagecite{#1}%
6860     \fi
6861     \fi
6862     \def\jb@@newcoauthorcite{#2}%
6863     \fi
6864     \ifjb@no@nested@crossrefs
6865     % perhaps \bibcrossrefcite is redef'd, so let's save it
6866     \let\origcrossref\jbcrossrefchecked
6867     % disable crossreferencing in full citations by default
6868     \renewcommand*{\jbcrossrefchecked}[2][]{}%
6869     % save crossref editor separation
6870     \let\origbibces\bibces
6871     \renewcommand*{\bibces}{}%
6872     \fi
6873     \let\@citea\@empty%
6874     \@cite{%
6875     \@for\@citeb:=#3\do{%
6876     \@citea%
6877     \def\@citea{;\penalty\@m\ %
6878     \@ifundefined{jb@morethanonecite}{%
6879     \global\@namedef{jb@morethanonecite}{}}{}%
6880     \ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{\relax}{%
6881     \jb@package@warning{\jb@pkg@name}{%
6882     I assume you know what you're doing %
6883     using `\jb@@newpagecite'\MessageBreak
6884     on a citation with more than one\MessageBreak
6885     author}{\relax}%
6886     }%
6887     }%
6888     % NEW 0.5f now we are checking inside \@for
6889     \@ifundefined{b@\@citeb}{}{%
6890     \protected@edef\@tempa{\csname b@\@citeb\endcsname}%
6891     \protected@edef\jb@@new@@author{\expandafter\jb@fifthofseven\@tempa\@empty}%
6892     }%
6893     \ifthenelse{\equal{\jb@@last@@author}{\jb@@new@@author}\and\not\equal{\jb@@new@@author}{}}{%
6894     \jb@same@fullauthortrue
6895     }{%
6896     \jb@same@fullauthorfalse
6897     }%
6898     \global\let\jb@@last@@author\jb@@new@@author
6899     % NEW 0.5f This has to be tested outside definition of \@citea!
6900     \@ifundefined{jb@morethanonecite}{\relax}{%
6901     \let\jb@@newcoauthorcite\@empty
6902     % NEW 0.5f for repeated authors in multiple citations
6903     \let\idemname\idemmidname
6904     }%
6905     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
6906     \if@filesw
6907     \immediate\write
6908     \@auxout{%
6909     \jb@makehowcited\string\citation{\@citeb}%
6910     }%
6911     \fi
6912     % b@\@citeb\@extra@b@citeb instead of b@\@citeb %
6913     % for chapterbib compatibility
6914     \@ifundefined{b@\@citeb\@extra@b@citeb}{%
6915     \mbox{\reset@font\bfseries ?}%
6916     \G@refundefinedtrue
6917     \@latex@warning{%
6918     Citation `\@citeb' on page \thepage \space undefined
6919     }%
6920     }{%
6921     \begingroup
6922     % CH 0.52f position of \jb@extract changed
6923     \jb@extract%
6924     \ifjb@always@pageranges\else\ifjb@tested@pageranges
6925     \ifthenelse{\equal{\jb@@newpagecite}{}}{}{\jb@make@pageranges@for@first@cite}%
6926     \else\jb@make@pageranges@for@first@cite\fi\fi
6927     % NEw 0.5e \@citeb instead of #3 (we are inside \@for!)
6928     \def\jb@@newauthorcite{\@citeb}%
6929     % NEW 0.5f new position of \jb@make@opcit to jump to the beginning of the opcit source citation
6930     \jb@make@opcit%
6931     \jb@index@as@alias{\@citeb}%
6932     \jb@changefontsforfullcite
6933     \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi
6934     \jb@extract%
6935     \jb@do@ibidem@name@title@test%
6936     % NEW 0.5e For crossref's: avoid lonely \jbhowsepbeforetitle at the beginning
6937     % of an bib entry, if no author (and no key!) is given
6938     \ifthenelse{%
6939     \equal{\jb@@fullname}{\@empty}%
6940     \and
6941     \equal{\jb@@author}{\@empty}%
6942     }{%
6943     \let\jbhowsepbeforetitle\@empty
6944     }{}%
6945     % do some things ONLY in citations, use \addto
6946     \jbonlyforcitations%
6947     % check if we should print out the title for a special publication type <=== To TEST !!!!!!!!!!!
6948     \jb@cite@title@for@type@hook%
6949     % NEW 0.52n check for types and citefull=first
6950     \jb@cite@full@first@fortype@hook%
6951     % NEW 0.52n check for work which should have always title
6952     \jb@cite@title@for@work@hook%
6953     % NEW 0.5f check for which type we should print out the starting page
6954     \jb@start@page@for@type@hook%
6955     % NEW 0.5e check for which type we should give a starting page
6956     % \jb@format@startpages@for@types@hook%
6957     \jb@make@superscript@edition%
6958     % check if different works with <name>~\Bibetal exists
6959     % NEw 0.5e \@citeb instead of #3 (we are inside \@for!)
6960     \@ifundefined{jb@fm@\@citeb}{}{%
6961     \ifthenelse{\equal{\jb@@mult@switch}{0}}{%
6962     \@ifundefined{jb@fmmess@\@citeb}{% only one message per entry
6963     \global\@namedef{jb@fmmess@\@citeb}{}%
6964     \jb@package@warning{\jb@pkg@name}{%
6965     Multiple use of `et. al.' for the author(s)\MessageBreak
6966     of `#3' \MessageBreak
6967     detected, printing the title to\MessageBreak
6968     avoid ambiguity}}{}}{\relax}%
6969     \jb@do@if@multiple@bibetal% the things to do if true
6970     }%
6971     % NEW 0.5f position changed
6972     % \jb@checked@etal%
6973     \ifjb@babel
6974     \ifthenelse{%
6975     \equal{\jb@@language}{\bbl@main@language}%
6976     }{%
6977     % language is equal with the main language, nothing to do
6978     }{%
6979     \ifthenelse{%
6980     \equal{\jb@@language}{\@empty}%
6981     }{%
6982     % if no language is given, use the main language
6983     \expandafter\jbselectlanguage%
6984     \expandafter{\bbl@main@language}%
6985     }{%
6986     % if a language is given, use it
6987     \language=\csname l@\jb@@language\endcsname\relax%
6988     }%
6989     }%
6990     \jb@check@language@start%
6991     \fi
6992     \jb@checktitlefields
6993     \@ifundefined{jb@morethanonecite}{\jb@makeibidem}{\relax}%
6994     % NEW 0.5f idem is allowed for citations with multiple keys (ibidem NOT, makes no sense)
6995     \jb@makeidem
6996     \jb@firstcitefull
6997     % NEW 0.5f position changed to detect for first (full) citation in et al. macro
6998     \jb@checked@etal
6999     \jb@makeagainfullcite%
7000     \jb@relaxforemptyauthor
7001     \jb@warningfootciteusage
7002     \jb@maketitlewishestrue
7003     \jb@cite@no@title@for@type@hook%
7004     % NEW 0.5f special opcit command, makes it configurable
7005     % NEW 0.5f position changed for better hyperlinks to the opcit source citation.
7006     % \jb@make@opcit%
7007     \ifjb@debug
7008     \textcolor[named]{Dandelion}{%
7009     \ifjb@debug@br[\fi\jb@makecheckedcite\ifjb@debug@br]\fi}%
7010     \else
7011     \jb@makecheckedcite%
7012     \fi
7013     % NEW 0.5e op.cit. feature
7014     % NEW 0.5f rewritten
7015     \OpCit%
7016     \ifjb@lookat
7017     \ifjb@firstcite@full
7018     \ifjb@allow@lookat@for@fullcite
7019     \ifjb@all@full\else
7020     \ifjb@fn\else
7021     \ifjb@endnotes\else
7022     \ClassError{\jb@pkg@name}{%
7023     Do not use package option `lookat' %
7024     without\MessageBreak using footnotes %
7025     (at least for the initial\MessageBreak
7026     citations)%
7027     }{%
7028     I don't know what to use for referencing %
7029     when you aren't using\MessageBreak
7030     footnotes at least for the initial %
7031     citations. If you can't \MessageBreak
7032     believe it, type `r' and check your %
7033     citations. You will see\MessageBreak
7034     the labels of the chapter or sections.%
7035     }%
7036     \fi
7037     \fi
7038     \ifthenelse{%
7039     \equal{\@nameuse{look@\@citeb}}{firsttime}%
7040     }{%
7041     \relax
7042     }{%
7043     % "Don't place the \ref and \vref within the scope of
7044     % \hyper@natlinkstart ... \hyper@natlinkend--that can
7045     % cause nested hyperlinks." - Eitan Gurari
7046     % So we are closing the hyperlink and the group here ...
7047     \unskip\space\lookatprefix%
7048     \ifjb@allow@hyper@cite\hyper@jblinkend\fi
7049     \endgroup
7050     % \unskip\space%
7051     % \ifjb@allow@hyper@cite\hyper@jblinkstart{look@\@citeb:\jb@reset@look@label@for}\fi
7052     % \lookatprefix%
7053     % \ifjb@allow@hyper@cite\hyper@jblinkend\fi
7054     \ifjb@vario
7055     \vref{look@\@citeb:\jb@reset@look@label@for}%
7056     \else
7057     \ref{look@\@citeb:\jb@reset@look@label@for}%
7058     \fi
7059     % \ifjb@allow@hyper@cite\hyper@jblinkstart{look@\@citeb:\jb@reset@look@label@for}\fi
7060     % \lookatsuffix%
7061     % \ifjb@allow@hyper@cite\hyper@jblinkend\fi
7062     \begingroup
7063     \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi
7064     \lookatsuffix%
7065     % \protected@edef\jb@tempa{\csname b@\@citeb\@extra@b@citeb\endcsname}%
7066     % \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}%
7067     % \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}%
7068     % NEW 0.5f new command because of increasing use
7069     \jb@extract
7070     }%
7071     \fi % allfull end
7072     \fi % allow@lookat@for@fullcite end
7073     \fi % jb@firstcite@full end
7074     \fi % jb@lookat end
7075     \ifjb@natbib@opt@arg@order
7076     \jb@checkperiod{#2}%
7077     \else
7078     \jb@checkperiod{#1}%
7079     \fi
7080     \jb@extract@starting@page{\jb@@pages}%
7081     % NEW 0.52b no extra `p' after startpage
7082     \ifjb@formatted@pages
7083     \ifthenelse{%
7084     \boolean{jbnoformatafterstartpage}%
7085     \and\not\equal{\jb@@start@page}{}%
7086     % Added 0.52c looking for correct type
7087     \and\equal{\jb@start@page@for@types@arg}{1}%
7088     }{%
7089     \ifjb@natbib@opt@arg@order
7090     \def\jb@@newpagecite{#2}%
7091     \else
7092     \def\jb@@newpagecite{#1}%
7093     \fi
7094     }{}%
7095     \fi
7096     \jb@makecheckedpages
7097     \jb@check@language@end%
7098     \ifjb@allow@hyper@cite\hyper@jblinkend\fi
7099     \endgroup
7100     % NEW 0.5e analoguous to the defintions at the beginning of
7101     % \@citex, otherwise subsequent page(ranges) won't be detected!
7102     \ifjb@natbib@opt@arg@order
7103     \gdef\jb@@lastcoauthorcite{#1}%
7104     \ifx\relax#2\relax
7105     \gdef\jb@@lastpagecite{#2}%
7106     \else
7107     \ifjb@formatted@pages
7108     \gdef\jb@@lastpagecite{\jbprformat{#2}}%
7109     \else
7110     \gdef\jb@@lastpagecite{#2}%
7111     \fi
7112     \fi
7113     \else
7114     \ifx\relax#1\relax
7115     \gdef\jb@@lastpagecite{#1}%
7116     \else
7117     \ifjb@formatted@pages
7118     \gdef\jb@@lastpagecite{\jbprformat{#1}}%
7119     \else
7120     \gdef\jb@@lastpagecite{#1}%
7121     \fi
7122     \fi
7123     \gdef\jb@@lastcoauthorcite{#2}%
7124     \fi
7125     % NEW 0.5e: save last author only outside the bibliography, otherwise we run into
7126     % problems if using bibliography at the beginning of the document _and_ using
7127     % options `ibidem' and `howcited'
7128     \ifjbweareinbib\else\gdef\jb@@lastauthorcite{#3}\fi
7129     \global\let\jb@morethanonecite\@undefined
7130     % relax the flag for ibidem'ing
7131     \let\ibidem\@undefined
7132     \ifjb@no@nested@crossrefs
7133     % restore \bibcrosrefcite
7134     \global\let\jbcrossrefchecked\origcrossref
7135     \fi
7136     % allow parentheses/brackets only for text citations
7137     \ifjb@fn
7138     \let\jb@close\@empty
7139     \let\jb@open\@empty
7140     \fi
7141     % needed for resetting citefull=first each chapter or section
7142     \stepcounter{citefull}%
7143     \stepcounter{opcit}%
7144     % NEW 0.5e page(ranges) not only for full cites, but, please, no doubles
7145     \jb@allow@adding@of@pagerangetrue
7146     }%
7147     }%
7148     % to make sure that the fullcite mechanism is disabled -- otherwise,
7149     % if \nextciteshort{} is used, the `true' is
7150     % transferred to the next cite -- mysterious.
7151     % NEW 0.5e Position changed
7152     \global\jb@fullcite@againfalse
7153     % NEW 0.5f switch back for next cite
7154     \jb@noauthorforcitetitlefalse
7155     }{}%
7156     % \global\jb@fnfalse% \global removed, caused errors,
7157     % when `lookat' is used and works are only cited as crossref's
7158     % and at first as a non-footnote citation in bibliography
7159     % NEW 0.5e Position changed and test added, if we have a multiple citation like \cite{<key1,<key2>}
7160     \ifjb@fn\else\jb@fnfalse\fi
7161     % NEW 0.51h first trial for reworked kerning routine
7162     \jb@ssed@recent@kernedfalse
7163     }%
7164     \AtBeginDocument{%
7165     \let\citetitle\jbcitetitle
7166     \let\fullcite\jbfullcite
7167     \let\footfullcite\jbfootfullcite
7168     \let\footcite\jbfootcite
7169     \let\footcitetitle\jbfootcitetitle
7170     }%
7171     \InputIfFileExists{jurabib.cfg}{%
7172     \jb@typeout{Package jurabib Info: *** Local config file `jurabib.cfg' used ***^^J}}{%
7173     \jb@typeout{Package jurabib Info: *** No local config file found ***^^J}%
7174     }%
7175     % As long as hyperref.sty and/or url.sty are not modified approppriately, but no hyperlinks :-(
7176     %\renewcommand\url{\begingroup\Url}%
7177     %
7178     %</package>
7179     %<*jurabst|jurecobst|jurunsrt>
7180     ENTRY{
7181     address
7182     author
7183     booktitle
7184     chapter
7185     edition
7186     editor
7187     howpublished
7188     institution
7189     isbn
7190     issn
7191     journal
7192     key
7193     language
7194     month
7195     note
7196     number
7197     organization
7198     pages
7199     publisher
7200     school
7201     series
7202     title
7203     type
7204     volume
7205     year
7206     %%
7207     url
7208     urldate
7209     volumetitle
7210     dissyear
7211     howcited
7212     juratitle
7213     juraauthor
7214     shorttitle
7215     shortauthor
7216     ssedition
7217     titleaddon
7218     booktitleaddon
7219     editortype
7220     sortkey
7221     annote
7222     gender
7223     translator
7224     flanguage
7225     oyear
7226     oaddress
7227     opublisher
7228     updated
7229     totalpages
7230     founder
7231     }
7232     { repeat-authors repeat-titles }
7233     { label dummy.label extra.label sort.label current-authors
7234     % current-titles % removed again because of limited string size
7235     }
7236    
7237     INTEGERS { output.state before.all mid.sentence after.sentence after.block }
7238    
7239     INTEGERS { colon.after period.dash }
7240    
7241     FUNCTION {init.state.consts}
7242     { #0 'before.all :=
7243     #1 'mid.sentence :=
7244     #2 'after.sentence :=
7245     #3 'after.block :=
7246     #4 'colon.after :=
7247     #5 'period.dash :=
7248     }
7249    
7250     STRINGS { s t u v w x }
7251    
7252     FUNCTION {output.nonnull}
7253     { 's :=
7254     output.state after.block =
7255     { write$ }
7256     { output.state before.all =
7257     { write$ }
7258     { output.state colon.after =
7259     { "" * write$ }
7260     { output.state period.dash =
7261     { ", " * write$ }
7262     { output.state mid.sentence =
7263     { " " * write$ }
7264     { write$ }
7265     if$
7266     }
7267     if$
7268     }
7269     if$
7270     }
7271     if$
7272     after.block 'output.state :=
7273     }
7274     if$
7275     s
7276     }
7277    
7278     FUNCTION {output}
7279     { duplicate$ empty$
7280     'pop$
7281     'output.nonnull
7282     if$
7283     }
7284    
7285     FUNCTION {output.check}
7286     { 't :=
7287     duplicate$ empty$
7288     { pop$ "Empty " t * " in " * cite$ * warning$ }
7289     'output.nonnull
7290     if$
7291     }
7292    
7293     FUNCTION {not}
7294     { { #0 }
7295     { #1 }
7296     if$
7297     }
7298    
7299     FUNCTION {and}
7300     { 'skip$
7301     { pop$ #0 }
7302     if$
7303     }
7304    
7305     FUNCTION {or}
7306     { { pop$ #1 }
7307     'skip$
7308     if$
7309     }
7310    
7311     FUNCTION {is.num}
7312     { chr.to.int$
7313     duplicate$ "0" chr.to.int$ < not
7314     swap$ "9" chr.to.int$ > not and
7315     }
7316    
7317     FUNCTION {extract.num}
7318     { duplicate$ 't :=
7319     "" 's :=
7320     { t empty$ not }
7321     { t #1 #1 substring$
7322     t #2 global.max$ substring$ 't :=
7323     duplicate$ is.num
7324     { s swap$ * 's := }
7325     { pop$ "" 't := }
7326     if$
7327     }
7328     while$
7329     s empty$
7330     'skip$
7331     { pop$ s }
7332     if$
7333     }
7334    
7335     FUNCTION {convert.edition.superscript}
7336     { edition extract.num "l" change.case$ 's :=
7337     s "first" = s "1" = or s "erste" = or
7338     { "1" 't := }
7339     { s "second" = s "2" = or s "zweite" = or
7340     { "2" 't := }
7341     { s "third" = s "3" = or s "dritte" = or
7342     { "3" 't := }
7343     { s "fourth" = s "4" = or s "vierte" = or
7344     { "4" 't := }
7345     { s "fifth" = s "5" = or s "fuenfte" = or
7346     { "5" 't := }
7347     { s "sixth" = s "6" = or s "sechste" = or
7348     { "6" 't := }
7349     { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or
7350     { "7" 't := }
7351     { s "eighth" = s "8" = or s "achte" = or
7352     { "8" 't := }
7353     { s "nineth" = s "9" = or s "neunte" = or
7354     { "9" 't := }
7355     { s #1 #1 substring$ is.num
7356     { s "" * 't := }
7357     { edition 't := }
7358     if$
7359     }
7360     if$
7361     }
7362     if$
7363     }
7364     if$
7365     }
7366     if$
7367     }
7368     if$
7369     }
7370     if$
7371     }
7372     if$
7373     }
7374     if$
7375     }
7376     if$
7377     t
7378     }
7379    
7380     FUNCTION {n.dashify}
7381     { 't :=
7382     ""
7383     { t empty$ not }
7384     { t #1 #1 substring$ "-" =
7385     { t #1 #2 substring$ "--" = not
7386     { "--" * t #2 global.max$ substring$ 't := }
7387     { { t #1 #1 substring$ "-" = }
7388     { "-" * t #2 global.max$ substring$ 't := }
7389     while$
7390     }
7391     if$
7392     }
7393     { t #1 #1 substring$ * t #2 global.max$ substring$ 't := }
7394     if$
7395     }
7396     while$
7397     }
7398    
7399     FUNCTION {output.bibitem.fst}
7400     { newline$
7401     "\bibitem[{" write$
7402     shortauthor empty$
7403     { juraauthor empty$
7404     { author empty$
7405     { editor empty$
7406     { organization empty$
7407     { "empty" write$ }
7408     % 0.5e key removed from label generating mechanism, bug reported by Padraig de Brun
7409     % { key empty$
7410     % { "empty" write$ }
7411     % { key write$ }
7412     % if$
7413     % }
7414     { organization write$ }
7415     if$
7416     }
7417     { label write$ }
7418     if$
7419     }
7420     { label write$ }
7421     if$
7422     }
7423     { juraauthor write$ }
7424     if$
7425     }
7426     { shortauthor write$ }
7427     if$
7428     "}%" write$
7429     sortkey empty$
7430     'skip$
7431     { newline$ "% SORTKEY: [" sortkey * "]" * write$ }
7432     if$
7433     newline$
7434     shorttitle empty$
7435     { juratitle empty$
7436     { journal empty$
7437     { " {}%" write$ }
7438     %<*jurabst|jurunsrt>
7439     { year empty$
7440     %</jurabst|jurunsrt>
7441     %<*jurecobst>
7442     { " {" journal * "}%" * write$ }
7443     %</jurecobst>
7444     %<*jurabst|jurunsrt>
7445     { " {" journal * "}%" * write$ }
7446     { " {" journal * " " * year * "}%" * write$ }
7447     if$
7448     }
7449     %</jurabst|jurunsrt>
7450     if$
7451     }
7452     { " {" juratitle * "}%" * write$ }
7453     if$
7454     }
7455     { " {" shorttitle * "}%" * write$ }
7456     if$
7457     newline$
7458     repeat-authors
7459     { " {{1}" write$ }
7460     { " {{0}" write$ }
7461     if$
7462     howcited empty$
7463     { "{}" write$ }
7464     { "{" howcited * "}" * write$ }
7465     if$
7466     type$ empty$
7467     { "{}" write$ }
7468     { "{" type$ * "}" * write$ }
7469     if$
7470     % year empty$
7471     % { "{}" write$ }
7472     % %{ "{" year * "}" * write$ }
7473     % { "{" year * "\el{" * extra.label * "}}" * write$ }
7474     % if$
7475     year empty$
7476     { "{}" write$ }
7477     { "{" year * write$
7478     extra.label "" =
7479     'skip$
7480     { "\el {" write$ extra.label write$ "}" write$ }
7481     if$
7482     "}" write$
7483     }
7484     if$
7485     edition empty$
7486     { "{}" write$ }
7487     { "{" convert.edition.superscript extract.num * "}" * write$ }
7488     if$
7489     ssedition empty$
7490     { "{}" write$ }
7491     { "{" ssedition * "}" * write$ }
7492     if$
7493     language empty$
7494     { "{}" write$ }
7495     { "{" language * "}" * write$ }
7496     if$
7497     pages empty$
7498     { "{}%" write$ }
7499     { "{" write$ pages n.dashify write$ "}%" write$ }
7500     if$
7501     }
7502    
7503     FUNCTION {output.bibitem.snd}
7504     { newline$
7505     %<*jurecobst>
7506     publisher empty$
7507     { address empty$
7508     { " {" write$ }
7509     { " {" write$ address write$ }
7510     if$
7511     }
7512     { address empty$
7513     { " {" write$ }
7514     { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ }
7515     if$
7516     }
7517     if$
7518     %</jurecobst>
7519     %<*jurabst|jurunsrt>
7520     publisher empty$
7521     { address empty$
7522     { year empty$
7523     { " {" write$ }
7524     { " {" write$
7525     year write$
7526     extra.label "" =
7527     'skip$
7528     { "\el {" write$ extra.label write$ "}" write$ }
7529     if$
7530     }
7531     if$
7532     }
7533     { year empty$
7534     { " {" write$ address write$ }
7535     { " {" write$ address write$ "\bibbdsep {} " write$
7536     year write$
7537     extra.label "" =
7538     'skip$
7539     { "\el {" write$ extra.label write$ "}" write$ }
7540     if$
7541     }
7542     if$
7543     }
7544     if$
7545     }
7546     { address empty$
7547     { year empty$
7548     { " {" write$ publisher write$ }
7549     { " {" write$ publisher write$ "\bibbdsep {} " write$
7550     year write$
7551     extra.label "" =
7552     'skip$
7553     { "\el {" write$ extra.label write$ "}" write$ }
7554     if$
7555     }
7556     if$
7557     }
7558     { year empty$
7559     { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ }
7560     { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ "\bibbdsep {} " write$
7561     year write$
7562     extra.label "" =
7563     'skip$
7564     { "\el {" write$ extra.label write$ "}" write$ }
7565     if$
7566     }
7567     if$
7568     }
7569     if$
7570     }
7571     if$
7572     %</jurabst|jurunsrt>
7573     "}}%" write$ newline$
7574     " {" write$
7575     title empty$
7576     { "{}%" write$ newline$ }
7577     { "{" title * "}%" * write$ newline$ }
7578     if$
7579     gender empty$
7580     { " {}" write$ }
7581     { " {" gender * "}" * write$ }
7582     if$
7583     % % NEW 0.51h
7584     % removed again in 0.51k
7585     % repeat-authors
7586     % { repeat-titles
7587     % { "{1}" write$ }
7588     % { "{0}" write$ }
7589     % if$
7590     % }
7591     % { "{0}" write$ }
7592     % if$
7593     "{}{}{}{}{}{}{}}%" write$ newline$
7594     " ]{" write$
7595     cite$ write$
7596     "}" write$
7597     url empty$
7598     'skip$
7599     { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ }
7600     if$
7601     newline$
7602     " \jbbibargs {" write$
7603     ""
7604     before.all 'output.state :=
7605     }
7606    
7607     FUNCTION {output.bibitem}
7608     { output.bibitem.fst
7609     output.bibitem.snd
7610     }
7611    
7612     % NEW 0.5e
7613     FUNCTION {format.note}
7614     { note empty$
7615     'skip$
7616     { output.state before.all =
7617     {" \jbnote {}{" * note * "} " * }
7618     {" \jbnote {1}{" * note * "} " * }
7619     if$
7620     }
7621     if$
7622     }
7623    
7624     % NEW 0.5e
7625     FUNCTION {format.endnote}
7626     { note empty$
7627     { "" }
7628     { " \jbendnote {" note * "}" * }
7629     if$
7630     }
7631    
7632     % NEW 0.5e
7633     FUNCTION {fin.entry.endnote}
7634     { " \jbdoitem" * write$
7635     annote missing$
7636     { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ }
7637     { " \bibAnnote {" annote * "}" * write$ newline$ }
7638     if$
7639     }
7640    
7641     FUNCTION {format.juradiss.book}
7642     { dissyear empty$
7643     { "" }
7644     { type empty$
7645     { school empty$
7646     { "No university in " cite$ * warning$
7647     " (\alsothesisname {} \jurthesisname\bibbdsep {} " dissyear * ")" * }
7648     { " (\alsothesisname {} \jurthesisname, " school * "\bibbdsep {} " dissyear * ")" * * }
7649     if$
7650     }
7651     { school empty$
7652     { "No university in " cite$ * warning$
7653     " (\alsothesisname {} " type * ", " * "\bibbdsep {} " dissyear * ")" * * }
7654     { " (\alsothesisname {} " type * ", " * school * "\bibbdsep {} " dissyear * ")" * * }
7655     if$
7656     }
7657     if$
7658     }
7659     if$
7660     }
7661    
7662     FUNCTION {format.thesis}
7663     { year empty$
7664     { school empty$
7665     { "No universtiy in " cite$ * warning$ }
7666     { "There's a university, but no year in " cite$ * warning$ }
7667     if$
7668     ""
7669     }
7670     { type empty$
7671     %<*jurecobst>
7672     { school empty$
7673     { "No university in " cite$ * warning$
7674     type$ "mastersthesis" =
7675     { "\apyformat {\mastersthesisname}" * }
7676     { type$ "jurthesis" =
7677     { "\apyformat {\jurthesisname}" * }
7678     { "\apyformat {\phdthesisname}" * }
7679     if$
7680     }
7681     if$
7682     }
7683     { type$ "mastersthesis" =
7684     { "\mastersthesisname, \apyformat {" school * "}" * }
7685     { type$ "jurthesis" =
7686     { "\jurthesisname, \apyformat {" school * "}" * }
7687     { "\phdthesisname, \apyformat {" school * "}" * }
7688     if$
7689     }
7690     if$
7691     }
7692     if$
7693     }
7694     %</jurecobst>
7695     %<*jurabst|jurunsrt>
7696     { school empty$
7697     { "No university in " cite$ * warning$
7698     type$ "mastersthesis" =
7699     { "\apyformat {\mastersthesisname\bibbdsep {} " year * "}" * }
7700     { type$ "jurthesis" =
7701     { "\apyformat {\jurthesisname\bibbdsep {} " year * "}" * }
7702     { "\apyformat {\phdthesisname\bibbdsep {} " year * "}" * }
7703     if$
7704     }
7705     if$
7706     }
7707     { type$ "mastersthesis" =
7708     { "\mastersthesisname, \apyformat {" school * "\bibbdsep {} " year * * "}" * }
7709     { type$ "jurthesis" =
7710     { "\jurthesisname, \apyformat {" school * "\bibbdsep {} " year * * "}" * }
7711     { "\phdthesisname, \apyformat {" school * "\bibbdsep {} " year * * "}" * }
7712     if$
7713     }
7714     if$
7715     }
7716     if$
7717     }
7718     %</jurabst|jurunsrt>
7719     %<*jurecobst>
7720     { school empty$
7721     { "No university in " cite$ * warning$ type }
7722     { type " \apyformat {" * school * "}" * }
7723     if$
7724     }
7725     %</jurecobst>
7726     %<*jurabst|jurunsrt>
7727     { school empty$
7728     { "No university in " cite$ * warning$ type "\bibbdsep {} \apyformat {" * year * "}" * }
7729     { type " \apyformat {" * school * "\bibbdsep {} " year * * "}" * }
7730     if$
7731     }
7732     %</jurabst|jurunsrt>
7733     if$
7734     }
7735     if$
7736     }
7737    
7738     FUNCTION {set.comma.pages.check}
7739     { year empty$
7740     'skip$
7741     { pages empty$
7742     { url empty$
7743     'skip$
7744     { ", " * }
7745     if$
7746     }
7747     { ", " * }
7748     if$
7749     }
7750     if$
7751     }
7752    
7753     FUNCTION {set.period.dash}
7754     { output.state before.all =
7755     'skip$
7756     { period.dash 'output.state := }
7757     if$
7758     }
7759    
7760     FUNCTION {set.period.dash.check}
7761     { empty$
7762     'skip$
7763     'set.period.dash
7764     if$
7765     }
7766    
7767     FUNCTION {new.sentence}
7768     { output.state before.all =
7769     'skip$
7770     { after.sentence 'output.state := }
7771     if$
7772     }
7773    
7774     FUNCTION {part.of.sentence}
7775     { output.state before.all =
7776     'skip$
7777     { mid.sentence 'output.state := }
7778     if$
7779     }
7780    
7781     FUNCTION {new.sentence.checka}
7782     { empty$
7783     'skip$
7784     'new.sentence
7785     if$
7786     }
7787    
7788     FUNCTION {field.or.null}
7789     { duplicate$ empty$
7790     { pop$ "" }
7791     'skip$
7792     if$
7793     }
7794    
7795     % This function replaces the string on top of the stack with its final
7796     % non-right-brace character.
7797    
7798     FUNCTION {get.final.nonrightbrace.char}
7799     { { duplicate$
7800     #-1 #1 substring$
7801     duplicate$
7802     "}" =
7803     }
7804     { pop$
7805     #-2 global.max$ substring$
7806     }
7807     while$
7808     swap$ pop$
7809     }
7810    
7811     % somewhat analogous to the add.period$ built-in function, this function looks
7812     % at the string on top of the stack, and if its last character is a period,
7813     % question mark, or exclamation mark, it appends nothing (the closing brace),
7814     % else it appends the \bibatsep macro
7815    
7816     FUNCTION {check.punct.instead.of.add.period}
7817     { duplicate$
7818     get.final.nonrightbrace.char
7819     duplicate$ "." = swap$
7820     duplicate$ "!" = swap$
7821     "?" = or or
7822     { "} " * }
7823     { "}\bibatsep\ " * }
7824     if$
7825     }
7826    
7827     %FUNCTION {check.punct.textedition} % NEW 0.5e
7828     %{ duplicate$
7829     % get.final.nonrightbrace.char
7830     % duplicate$ "." = swap$
7831     % duplicate$ "," = swap$
7832     % "?" = or or
7833     % { "}" * }
7834     % { "\jbaensep}" * }
7835     % if$
7836     %}
7837    
7838     FUNCTION {check.punct.instead.of.add.period.art}
7839     { duplicate$
7840     get.final.nonrightbrace.char
7841     duplicate$ "." = swap$
7842     duplicate$ "!" = swap$
7843     "?" = or or
7844     { "} " * }
7845     { volume empty$
7846     { pages empty$
7847     { "}\ajtsep\ " * }
7848     { crossref missing$
7849     { month empty$
7850     { "}\ajtsep\ " * }
7851     { "}\ajtsep " * }
7852     if$
7853     }
7854     { "}\ajtsep " * }
7855     if$
7856     }
7857     if$
7858     }
7859     { "}\ajtsep\ " * }
7860     if$
7861     }
7862     if$
7863     }
7864    
7865     FUNCTION {emphasize}
7866     { duplicate$ empty$
7867     { pop$ "" }
7868     { "\bibtfont {" swap$ check.punct.instead.of.add.period * }
7869     if$
7870     }
7871    
7872     FUNCTION {journaltitlemarkup}
7873     { duplicate$ empty$
7874     { pop$ "" }
7875     { "\bibJTsep \bibjtfont {" swap$ check.punct.instead.of.add.period.art * }
7876     if$
7877     }
7878    
7879     FUNCTION {incollbooktitlemarkup}
7880     { duplicate$ empty$
7881     { pop$ "" }
7882     { "\bibbtfont {" swap$ check.punct.instead.of.add.period * }
7883     if$
7884     }
7885    
7886     INTEGERS { nameptr namesleft numnames }
7887    
7888     FUNCTION { lastnamemarkup }
7889     { duplicate$ empty$
7890     { pop$ "" }
7891     { "\bibnf {" swap$ * "}" * }
7892     if$
7893     }
7894    
7895     FUNCTION { editorlastnamemarkup }
7896     { duplicate$ empty$
7897     { pop$ "" }
7898     { author empty$
7899     { "\biblenf {" swap$ * "}" * } % lonely editor(s)!
7900     { "\bibenf {" swap$ * "}" * }
7901     if$
7902     }
7903     if$
7904     }
7905    
7906     FUNCTION { othermarkup }
7907     { duplicate$ empty$
7908     { pop$ " {}" }
7909     { " {" swap$ * "}" * }
7910     if$
7911     }
7912    
7913     FUNCTION {article.in.journal}
7914     { duplicate$ empty$
7915     { pop$ "" }
7916     { author missing$
7917     { title missing$
7918     'skip$
7919     { journaltitlemarkup "" swap$ * }
7920     if$
7921     }
7922     { journaltitlemarkup "" swap$ * }
7923     if$
7924     }
7925     if$
7926     }
7927    
7928     FUNCTION {format.names} % NEW v0.5
7929     { 's :=
7930     #1 'nameptr :=
7931     s num.names$ 'numnames :=
7932     numnames 'namesleft :=
7933     { namesleft #0 > }
7934     { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't :=
7935     s nameptr "{ff}" format.name$ othermarkup 'u :=
7936     s nameptr "{f.}" format.name$ othermarkup 'v :=
7937     s nameptr "{vv}" format.name$ othermarkup 'w :=
7938     s nameptr "{jj}" format.name$ othermarkup 'x :=
7939     t u * v * w * x * 't :=
7940     nameptr #1 >
7941     { namesleft #1 >
7942     { numnames #3 >
7943     { "" * }
7944     { numnames #3 <
7945     { "\Bibbtasep " * t * } % between (exactly) two authors
7946     { "\Bibbfsasep " * t * } % between first and second author (if more than two)
7947     if$
7948     }
7949     if$
7950     }
7951     { t "\bibnf {others} {} {} {} {}" =
7952     t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or
7953     numnames #3 > or
7954     { "\bibIMfont {\Bibetal}" * }
7955     { numnames #3 <
7956     { "\Bibbtasep " * t * } % between (exactly) two authors
7957     { "\Bibbstasep " * t * } % between second and third author
7958     if$
7959     }
7960     if$
7961     }
7962     if$
7963     }
7964     't
7965     if$
7966     nameptr #1 + 'nameptr :=
7967     namesleft #1 - 'namesleft :=
7968     }
7969     while$
7970     }
7971    
7972     FUNCTION {format.editor.names} % NEW v0.5
7973     { 's :=
7974     #1 'nameptr :=
7975     s num.names$ 'numnames :=
7976     numnames 'namesleft :=
7977     { namesleft #0 > }
7978     { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't :=
7979     s nameptr "{ff}" format.name$ othermarkup 'u :=
7980     s nameptr "{f.}" format.name$ othermarkup 'v :=
7981     s nameptr "{vv}" format.name$ othermarkup 'w :=
7982     s nameptr "{jj}" format.name$ othermarkup 'x :=
7983     t u * v * w * x * 't :=
7984     nameptr #1 >
7985     { namesleft #1 >
7986     { numnames #3 >
7987     { "" * }
7988     { numnames #3 <
7989     { "\Bibbtesep " * t * } % between (exactly) two editors
7990     { "\Bibbfsesep " * t * } % between first and second editor (if more than two)
7991     if$
7992     }
7993     if$
7994     }
7995     { t "\bibenf {others} {} {} {} {}" =
7996     t "\biblenf {others} {} {} {} {}" = or
7997     t "\bibenf {others} {} {} {} {} \edfont {\editorsname}" = or
7998     t "\biblenf {others} {} {} {} {} \edfont {\editorsname}" = or
7999     numnames #3 > or
8000     { "\bibIMfont {\Bibetal}" * }
8001     { numnames #3 <
8002     { "\Bibbtesep " * t * } % between (exactly) two editors
8003     { "\Bibbstesep " * t * } % between second and third editor
8004     if$
8005     }
8006     if$
8007     }
8008     if$
8009     }
8010     't
8011     if$
8012     nameptr #1 + 'nameptr :=
8013     namesleft #1 - 'namesleft :=
8014     }
8015     while$
8016     }
8017    
8018     FUNCTION {format.name.sig}
8019     { 's :=
8020     #1 'nameptr :=
8021     s num.names$ 'numnames :=
8022     numnames 'namesleft :=
8023     { namesleft #0 > }
8024     { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't :=
8025     nameptr #1 >
8026     { namesleft #1 >
8027     { "" * t * }
8028     { t "others" =
8029     { " et al." * }
8030     { "" * t * }
8031     if$
8032     }
8033     if$
8034     }
8035     't
8036     if$
8037     nameptr #1 + 'nameptr :=
8038     namesleft #1 - 'namesleft :=
8039     }
8040     while$
8041     }
8042    
8043     % FUNCTION {format.ed.name.sig}
8044     % { 's :=
8045     % #1 'nameptr :=
8046     % s num.names$ 'numnames :=
8047     % numnames 'namesleft :=
8048     % { namesleft #0 > }
8049     % { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't :=
8050     % "ed." *
8051     % nameptr #1 >
8052     % { namesleft #1 >
8053     % { "" * t * }
8054     % { t "others" =
8055     % { " et al." * }
8056     % { "" * t * }
8057     % if$
8058     % }
8059     % if$
8060     % }
8061     % 't
8062     % if$
8063     % nameptr #1 + 'nameptr :=
8064     % namesleft #1 - 'namesleft :=
8065     % }
8066     % while$
8067     % }
8068    
8069     FUNCTION {format.authors}
8070     { author empty$
8071     { "" }
8072     { author format.names }
8073     if$
8074     }
8075    
8076     FUNCTION {format.founders}
8077     { founder empty$
8078     'skip$
8079     { author empty$
8080     'skip$
8081     { " in: " * }
8082     if$
8083     founder format.names "\foundername" * *
8084     editor empty$
8085     'skip$
8086     { author empty$
8087     { "\afterfoundersep {}" * }
8088     'skip$
8089     if$
8090     }
8091     if$
8092     }
8093     if$
8094     }
8095    
8096     FUNCTION {format.editors}
8097     { editor empty$
8098     { "" }
8099     { author empty$
8100     { editor format.editor.names
8101     editortype empty$
8102     { editor num.names$ #1 >
8103     { "\fsted {\editorsname}" * }
8104     { "\fsted {\editorname}" * }
8105     if$
8106     }
8107     { "\fsted {(" editortype * ")}" * * }
8108     if$
8109     }
8110     { founder empty$
8111     { "\bibfnfont {;} " * }
8112     { type$ "commented" =
8113     { "\afterfoundersep {}" * }
8114     { "\bibfnfont {;} " * }
8115     if$
8116     }
8117     if$
8118     editor format.editor.names *
8119     editortype empty$
8120     { editor num.names$ #1 >
8121     { " \edfont {\editorsname}" * }
8122     { " \edfont {\editorname}" * }
8123     if$
8124     }
8125     { " \edfont {(" editortype * ")}" * * }
8126     if$
8127     }
8128     if$
8129     }
8130     if$
8131     }
8132    
8133     FUNCTION {format.snd.editors}
8134     { editor empty$
8135     { "" * }
8136     { author empty$
8137     { editortype empty$
8138     { editor num.names$ #1 >
8139     { "\snded {\sndeditorsname}" * }
8140     { "\snded {\sndeditorname}" * }
8141     if$
8142     }
8143     { "\snded {(" editortype * ")}" * * }
8144     if$
8145     }
8146     'skip$
8147     if$
8148     }
8149     if$
8150     }
8151    
8152     %<*jurabst|jurunsrt>
8153     % FUNCTION { set.after.author.sep }
8154     % { author missing$
8155     % { editor missing$
8156     % { organization missing$
8157     % { "} {empty} {" }
8158     % { "} {" author format.name.sig * "} {" * }
8159     % if$
8160     % }
8161     % { "} {" editor format.ed.name.sig * "} {" * }
8162     % if$
8163     % }
8164     % { "} {" author format.name.sig * "} {" * }
8165     % if$
8166     % author empty$
8167     % { format.snd.editors }
8168     % 'skip$
8169     % if$
8170     % "" *
8171     % }
8172     FUNCTION { set.after.author.sep }
8173     { author missing$
8174     { editor missing$
8175     { organization missing$
8176     { "} {empty} {} {" }
8177     { "} {" author format.name.sig * "} {au} {" * }
8178     if$
8179     }
8180     { "} {" editor format.name.sig * "} {ed} {" * }
8181     if$
8182     }
8183     { "} {" author format.name.sig * "} {au} {" * }
8184     if$
8185     author empty$
8186     { format.snd.editors }
8187     'skip$
8188     if$
8189     "" *
8190     }
8191     %</jurabst|jurunsrt>
8192    
8193     %<*jurecobst>
8194     FUNCTION { set.after.author.sep }
8195     { author empty$ editor empty$ and
8196     { "}{jureco} {} {" "" * }
8197     { year empty$
8198     'skip$
8199     { year missing$
8200     { "\bibYear {}" * }
8201     { "\bibYear {" * year * extra.label * "}" * }
8202     if$
8203     }
8204     if$
8205     "}{jureco} {} {" "" *
8206     }
8207     if$
8208     }
8209     %</jurecobst>
8210    
8211     FUNCTION {format.names.info}
8212     { 's :=
8213     #1 'nameptr :=
8214     s num.names$ 'numnames :=
8215     numnames 'namesleft :=
8216     { namesleft #0 > }
8217     { s nameptr "{ff }{vv }{ll}" format.name$ 't :=
8218     nameptr #1 >
8219     { namesleft #1 >
8220     { " " * t * }
8221     { t "others" =
8222     { " et al." * }
8223     { " " * t * }
8224     if$
8225     }
8226     if$
8227     }
8228     't
8229     if$
8230     nameptr #1 + 'nameptr :=
8231     namesleft #1 - 'namesleft :=
8232     }
8233     while$
8234     }
8235    
8236     FUNCTION { format.howcited }
8237     { "} {\bibhowcited}" format.endnote * }
8238    
8239     % CH 0.51q macros for testing commentaries, reworked, bug reported by Tilman Finke
8240     % check for editor and edition added
8241     FUNCTION { format.howcited.comment }
8242     { edition empty$
8243     { "} {\bibcommenthowcited}" format.endnote * }
8244     { "} {\bibcommenthowcited}" format.endnote * *
8245     author empty$ editor empty$ not and
8246     { " \jbauthorinfo {" editor format.names.info " " title * * * "}{" cite$ "}" * * * }
8247     { author empty$ shortauthor empty$ not and
8248     { " \jbauthorinfo {" shortauthor format.names.info " " title * * * "}{" cite$ "}" * * * }
8249     { " \jbauthorinfo {" author format.names.info " " title * * * "}{" cite$ "}" * * * }
8250     if$
8251     }
8252     if$
8253     }
8254     if$
8255     }
8256    
8257     FUNCTION { format.howcited.artperiod }
8258     { "} {\bibartperiodhowcited}" format.endnote * }
8259    
8260    
8261     FUNCTION {format.ed.incoll}
8262     { editor empty$
8263     { "" }
8264     { editor format.editor.names
8265     editortype empty$
8266     { editor num.names$ #1 >
8267     { " \edfont {\editorsname}" * }
8268     { " \edfont {\editorname}" * }
8269     if$
8270     }
8271     { " \edfont {(" editortype * ")}" * * }
8272     if$
8273     }
8274     if$
8275     }
8276    
8277     FUNCTION {format.proceed.organization}
8278     { organization empty$
8279     { "" }
8280     { organization " \organizationname {}" * }
8281     if$
8282     }
8283    
8284     % NEW 0.5e titleaddon
8285     FUNCTION {format.titleaddon}
8286     { title empty$
8287     { "" }
8288     { titleaddon empty$
8289     { "" }
8290     { titleaddon "\bibatsep\ " * }
8291     if$
8292     }
8293     if$
8294     }
8295    
8296    
8297     FUNCTION {format.title}
8298     { title empty$
8299     { "" }
8300     { "\bibtfont {" title check.punct.instead.of.add.period * format.titleaddon * }
8301     if$
8302     }
8303    
8304     FUNCTION {format.artperiodincoll.title}
8305     { title empty$
8306     { "" }
8307     { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
8308     if$
8309     }
8310    
8311     FUNCTION {format.volumetitle}
8312     { volumetitle empty$
8313     { "" }
8314     { volume empty$
8315     { "There's a volumetitle but no volume in " cite$ * warning$ volumetitle ", " * }
8316     { volumetitle ", " * }
8317     if$
8318     }
8319     if$
8320     }
8321    
8322     FUNCTION {add.extra.label}
8323     { extra.label "" =
8324     'skip$
8325     { "\bibel {" extra.label * "}" * * }
8326     if$
8327     }
8328    
8329     FUNCTION {format.date}
8330     { year empty$
8331     { month empty$
8332     { "" }
8333     { "There's a month but no year in " cite$ * warning$ month }
8334     if$
8335     }
8336     { month empty$
8337     { edition empty$
8338     'skip$
8339     { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
8340     if$
8341     year
8342     add.extra.label
8343     }
8344     { month " " *
8345     edition empty$
8346     'skip$
8347     { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * }
8348     if$
8349     year *
8350     add.extra.label
8351     }
8352     if$
8353     }
8354     if$
8355     }
8356    
8357     FUNCTION {format.date.old}
8358     { year empty$
8359     { month empty$
8360     { "" }
8361     { "There's a month but no year in " cite$ * warning$ month }
8362     if$
8363     }
8364     { month empty$
8365     'year
8366     { month " " * year * }
8367     if$
8368     }
8369     if$
8370     }
8371    
8372     FUNCTION {format.update}
8373     { updated missing$ not
8374     { "\updatesep {} \updatename {} " * updated * }
8375     'skip$
8376     if$
8377     }
8378    
8379     FUNCTION {oaddress.opublisher.oyear.format}
8380     { type$ "book" = type$ "inbook" = type$ "incollection" = or or
8381     { oyear empty$
8382     { opublisher empty$
8383     { oaddress empty$
8384     'skip$
8385     { oaddress "\osep {} " * * }
8386     if$
8387     }
8388     { oaddress empty$
8389     { opublisher "\osep {} " * * }
8390     { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * }
8391     if$
8392     }
8393     if$
8394     }
8395     { year empty$
8396     { "oyear without year in " cite$ * warning$ }
8397     'skip$
8398     if$
8399     opublisher empty$
8400     { oaddress empty$
8401     { oyear * "\osep {} \reprintname {}, " * }
8402     { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * }
8403     if$
8404     }
8405     { oaddress empty$
8406     { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * }
8407     { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * }
8408     if$
8409     }
8410     if$
8411     }
8412     if$
8413     }
8414     'skip$
8415     if$
8416     }
8417    
8418     FUNCTION {make.translators}
8419     { before.all 'output.state :=
8420     translator empty$
8421     { flanguage empty$
8422     { "" }
8423     { "\translator {}{" flanguage "l" change.case$ * "}" *
8424     % NEW 0.52e
8425     type$ "incollection" = not
8426     type$ "article" = not
8427     and
8428     { "{1} " * }
8429     { type$ "incollection" =
8430     { booktitle empty$
8431     { "{} " * }
8432     { "{1} " * }
8433     if$
8434     }
8435     { type$ "article" =
8436     { "{1}" * }
8437     { series empty$
8438     { "{} " * }
8439     { "{1} " * }
8440     if$
8441     }
8442     if$
8443     }
8444     if$
8445     }
8446     if$
8447     }
8448     if$
8449     }
8450     { "\translator {" translator * "}" *
8451     flanguage empty$
8452     { "{}" * }
8453     { "{" * flanguage "l" change.case$ * "}" * }
8454     if$
8455     % NEW 0.52e
8456     type$ "incollection" = not
8457     type$ "article" = not
8458     and
8459     { "{1} " * }
8460     {
8461     type$ "incollection" =
8462     { booktitle empty$
8463     { "{} " * }
8464     { "{1} " * }
8465     if$
8466     }
8467     { type$ "article" =
8468     { "{1} " * }
8469     { series empty$
8470     { "{} " * }
8471     { "{1} " * }
8472     if$
8473     }
8474     if$
8475     }
8476     if$
8477     }
8478     if$
8479     }
8480     if$
8481     before.all 'output.state :=
8482     }
8483    
8484     %<*jurecobst>
8485     FUNCTION {format.address.publisher.year}
8486     { publisher empty$
8487     { address empty$
8488     { institution empty$
8489     { "" }
8490     { " \apyformat {" oaddress.opublisher.oyear.format * institution "}" * }
8491     if$
8492     }
8493     { institution empty$
8494     { " \apyformat {" oaddress.opublisher.oyear.format * address "}" * }
8495     { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * institution "}" * * }
8496     if$
8497     }
8498     if$
8499     }
8500     { address empty$
8501     { institution empty$
8502     { "There's only a publisher (no address) in " cite$ * warning$
8503     " \apyformat {" oaddress.opublisher.oyear.format * publisher "}" * }
8504     { " \apyformat {" oaddress.opublisher.oyear.format * publisher ", " * institution "}" * * }
8505     if$
8506     }
8507     { institution empty$
8508     { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * publisher "}" * * }
8509     { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * publisher ", " * institution "}" * * * }
8510     if$
8511     }
8512     if$
8513     }
8514     if$
8515     }
8516     %</jurecobst>
8517    
8518     %<*jurabst|jurunsrt>
8519     FUNCTION{checked.inst}
8520     { institution empty$
8521     { " \apyformat {" *
8522     oaddress.opublisher.oyear.format
8523     }
8524     'skip$
8525     if$
8526     }
8527    
8528     FUNCTION {format.address.publisher.year}
8529     { publisher empty$
8530     { address empty$
8531     { year empty$
8532     { "Neither address nor year in " cite$ * warning$ "" }
8533     { "No address in " cite$ * warning$
8534     institution empty$
8535     { " \apyformat {" oaddress.opublisher.oyear.format format.date * "}" * }
8536     { "" * format.date "}" * }
8537     if$
8538     }
8539     if$
8540     }
8541     { year empty$ % NEW 0.5e bug removed, no \bibbdsep without year
8542     { checked.inst address "}" * }
8543     { checked.inst address "\bibbdsep {} " format.date * "}" * * }
8544     if$
8545     }
8546     if$
8547     }
8548     { address empty$
8549     { year empty$
8550     { "There's only a publisher (no address, no year) in " cite$ * warning$ publisher }
8551     { checked.inst publisher "\bibbdsep {} " * format.date "}" * * }
8552     if$
8553     }
8554     { year empty$
8555     { checked.inst address * "\bpubaddr {} " publisher "}" * * }%
8556     { checked.inst address * "\bpubaddr {} " publisher "\bibbdsep {} " * format.date "}" * * * }
8557     if$
8558     }
8559     if$
8560     }
8561     if$
8562     }
8563     %</jurabst|jurunsrt>
8564    
8565     FUNCTION {format.howpublished.address.year}
8566     { howpublished empty$
8567     { address empty$
8568     %<*jurecobst>
8569     { "No address in " cite$ * warning$ }
8570     %</jurecobst>
8571     %<*jurabst|jurunsrt>
8572     { year empty$
8573     { "Neither address nor year in " cite$ * warning$ "" }
8574     { "No address in " cite$ * warning$ year }
8575     if$
8576     }
8577     %</jurabst|jurunsrt>
8578     %<*jurecobst>
8579     { " \apyformat {" oaddress.opublisher.oyear.format address * "}" * }
8580     %</jurecobst>
8581     %<*jurabst|jurunsrt>
8582     { " \apyformat {" oaddress.opublisher.oyear.format address * "\bibbdsep {} " * format.date "}" * * }
8583     %</jurabst|jurunsrt>
8584     if$
8585     }
8586     { address empty$
8587     %<*jurecobst>
8588     { "There's only a howpublished (no address) in " cite$ * warning$ " \apyformat {" oaddress.opublisher.oyear.format howpublished * "}" * }
8589     %</jurecobst>
8590     %<*jurabst|jurunsrt>
8591     { year empty$
8592     { "There's only a howpublished (no address, no year) in " cite$ * warning$ howpublished }
8593     { " \apyformat {" oaddress.opublisher.oyear.format howpublished * "\bibbdsep {} " * format.date "}" * * }
8594     if$
8595     }
8596     %</jurabst|jurunsrt>
8597     %<*jurecobst>
8598     { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * }
8599     %</jurecobst>
8600     %<*jurabst|jurunsrt>
8601     { year empty$
8602     { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * }
8603     { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished * "\bibbdsep {} " * format.date "}" * * }
8604     if$
8605     }
8606     %</jurabst|jurunsrt>
8607     if$
8608     }
8609     if$
8610     }
8611    
8612     FUNCTION {tie.or.space.connect}
8613     { duplicate$ text.length$ #4 <
8614     { "~" }
8615     { " " }
8616     if$
8617     swap$ * *
8618     }
8619    
8620     FUNCTION {bibvol.tie.or.space.connect}
8621     { duplicate$ text.length$ #4 <
8622     { "~" }
8623     { "{} " }
8624     if$
8625     swap$ * *
8626     }
8627    
8628     FUNCTION {format.btitle}{ title emphasize format.titleaddon * }
8629    
8630     FUNCTION {format.btitle.vol}
8631     { number empty$
8632     { series empty$
8633     { volume empty$
8634     { title emphasize format.titleaddon * }
8635     {
8636     % 0.52 Markup for volume introduced
8637     % 0.52e Markup for volume improved, separation after title is now part of markup,
8638     % but we can only use one separation globally :-(
8639     title emphasize format.titleaddon * " \volumeformat {" volume * "} " * *
8640     % title emphasize format.titleaddon * " \volumeformat {" volume * "}, " * *
8641     % title emphasize format.titleaddon * " \Volumename" *
8642     % volume bibvol.tie.or.space.connect ", " *
8643     }
8644     if$
8645     }
8646     { volume empty$
8647     { title emphasize format.titleaddon * }
8648     % CHANGED v0.51b, reported by Tilman Finke, if series given, series appeared before title;
8649     % I think this was mixed up by me. Simply mixed up again.
8650     % { series emphasize format.titleaddon * "\Volumename" *
8651     % volume bibvol.tie.or.space.connect ": " * title "\bibatsep\ " * * }
8652     {
8653     % 0.52 Markup for volume introduced
8654     % 0.52e Markup for volume improved, separation after title is now part of markup,
8655     % but we can only use one separation globally :-(
8656     title emphasize format.titleaddon * "\volumeformat {" volume * "} " * * series "\bibatsep\ " * *
8657     % title emphasize format.titleaddon * "\volumeformat {" volume * "}: " * * series "\bibatsep\ " * *
8658     % title emphasize format.titleaddon * "\Volumename" *
8659     % volume bibvol.tie.or.space.connect ": " * series "\bibatsep\ " * *
8660     }
8661    
8662     if$
8663     }
8664     if$
8665     }
8666     { title emphasize format.titleaddon * }
8667     if$
8668     }
8669    
8670     FUNCTION {format.btitle.vol.inbook}
8671     { number empty$
8672     { series empty$
8673     { volume empty$
8674     { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
8675     { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon *
8676     % 0.52 Markup for volume introduced
8677     % 0.52e Markup for volume improved, separation after title is now part of markup,
8678     % but we can only use one separation globally :-(
8679     " \volumeformat {" volume * "} " * *
8680     % " \volumeformat {" volume * "}, " * *
8681     % " \Volumename" * volume bibvol.tie.or.space.connect ", " *
8682     }
8683     if$
8684     }
8685     { volume empty$
8686     { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
8687     { series emphasize
8688     % 0.52 Markup for volume introduced
8689     % 0.52e Markup for volume improved, separation after title is now part of markup,
8690     % but we can only use one separation globally :-(
8691     "\volumeformat {" volume * "} " * *
8692     % "\volumeformat {" volume * "}: " * *
8693     % "\Volumename" * volume bibvol.tie.or.space.connect ": " *
8694     "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * * }
8695     if$
8696     }
8697     if$
8698     }
8699     { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * }
8700     if$
8701     }
8702    
8703     FUNCTION {format.url}
8704     { url empty$
8705     { "" }
8706     {
8707     % NEW 0.51r remove space, if no author and no title is given
8708     author empty$ title empty$ and
8709     'skip$
8710     { " " * }
8711     if$
8712     urldate empty$
8713     % CH 0.51r leading whitespace before \jburluse removed
8714     {"\jburluse {" cite$ * "}" * }
8715     % {"\jburluse {" cite$ * "}~-- \urldatecomment " * urldate * }
8716     {"\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * }
8717     if$
8718     }
8719     if$
8720     }
8721    
8722     FUNCTION {format.naked.url}
8723     { url empty$
8724     { "" }
8725     { urldate empty$
8726     { title empty$
8727     'skip$
8728     { title emphasize * }
8729     if$
8730     "\jburluse {" cite$ * "}" *
8731     }
8732     { title empty$
8733     'skip$
8734     { title emphasize * }
8735     if$
8736     % "\jburluse {" cite$ * "}~-- \urldatecomment " * urldate *
8737     "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate *
8738     }
8739     if$
8740     }
8741     if$
8742     }
8743    
8744     FUNCTION {format.series.number}
8745     { volume empty$
8746     { number empty$
8747     { series empty$
8748     { "" }
8749     { " \numberandseries {}{" series * "}" * }
8750     if$
8751     }
8752     { series empty$
8753     { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ }
8754     { " \numberandseries {" number * "}{" * series "}" * * }
8755     if$
8756     }
8757     if$
8758     }
8759     { series empty$
8760     { "" }
8761     { type$ "proceedings" =
8762     { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * }
8763     { "" }
8764     if$
8765     }
8766     if$
8767     }
8768     if$
8769     }
8770    
8771     FUNCTION {first.ed} { "\firstedname" }
8772     FUNCTION {second.ed}{ "\secondedname" }
8773     FUNCTION {third.ed} { "\thirdedname" }
8774     FUNCTION {fourth.ed}{ "\fourthedname" }
8775     FUNCTION {fifth.ed} { "\fifthedname" }
8776     FUNCTION {th.ed} { "\thedname" }
8777    
8778     FUNCTION {convert.edition}
8779     { edition extract.num "l" change.case$ 's :=
8780     s "first" = s "1" = or
8781     { first.ed 't := }
8782     { s "second" = s "2" = or
8783     { second.ed 't := }
8784     { s "third" = s "3" = or
8785     { third.ed 't := }
8786     { s "fourth" = s "4" = or
8787     { fourth.ed 't := }
8788     { s "fifth" = s "5" = or
8789     { fifth.ed 't := }
8790     { s #1 #1 substring$ is.num
8791     { s th.ed * 't := }
8792     { edition 't := }
8793     if$
8794     }
8795     if$
8796     }
8797     if$
8798     }
8799     if$
8800     }
8801     if$
8802     }
8803     if$
8804     t
8805     }
8806    
8807     FUNCTION {format.edition}
8808     {
8809     % textedition empty$
8810     % {
8811     edition empty$
8812     { "" }
8813     { "\jbedition {" * convert.edition "~\editionname {}\jbaensep} " * }% dot or not ???????
8814     if$
8815     % }
8816     % { "\jbedition {" textedition check.punct.textedition * }% dot or not ???????
8817     % if$
8818     }
8819    
8820     FUNCTION { format.isbn.issn }
8821     { isbn empty$
8822     { issn empty$
8823     { "" }
8824     { "\jbissn {" issn n.dashify tie.or.space.connect "}" * }
8825     if$
8826     }
8827     { "\jbisbn {" isbn n.dashify tie.or.space.connect "}" * }
8828     if$
8829     }
8830    
8831     FUNCTION { format.isbn.issn.old }
8832     { isbn empty$
8833     { issn empty$
8834     { "" }
8835     { ", \protect\mbox {ISSN}" issn n.dashify tie.or.space.connect }
8836     if$
8837     }
8838     { ", \protect\mbox {ISBN}" isbn n.dashify tie.or.space.connect }
8839     if$
8840     }
8841    
8842     INTEGERS { multiresult }
8843    
8844     FUNCTION {multi.page.check}
8845     { 't :=
8846     #0 'multiresult :=
8847     { multiresult not
8848     t empty$ not
8849     and
8850     }
8851     { t #1 #1 substring$
8852     duplicate$ "-" =
8853     swap$ duplicate$ "," =
8854     swap$ "+" =
8855     or or
8856     { #1 'multiresult := }
8857     { t #2 global.max$ substring$ 't := }
8858     if$
8859     }
8860     while$
8861     multiresult
8862     }
8863    
8864     FUNCTION {format.pages}
8865     { pages empty$
8866     { "" }
8867     {
8868     % NEW 0.5f now done by \jbprformat
8869     % pages multi.page.check
8870     % {
8871     " \jbPages{" pages n.dashify * "}" *
8872     % }
8873     % { " \jbPage{" pages * "}" * }
8874     % if$
8875     }
8876     if$
8877     }
8878    
8879     FUNCTION {multi.pagerange.check}
8880     { 't :=
8881     #0 'multiresult :=
8882     { multiresult not
8883     t empty$ not
8884     and
8885     }
8886     { t #1 #1 substring$
8887     duplicate$ "-" =
8888     swap$ duplicate$ "b" =
8889     swap$ "/" = or or
8890     { #1 'multiresult := }
8891     { t #2 global.max$ substring$ 't := }
8892     if$
8893     }
8894     while$
8895     multiresult
8896     }
8897    
8898     FUNCTION {check.missing.pages}
8899     { pages empty$
8900     { "Empty pages in " cite$ * warning$ }
8901     { pages multi.pagerange.check
8902     { "" * }
8903     { "There's only a starting page, no pagerange in " cite$ * warning$ }
8904     if$
8905     }
8906     if$
8907     }
8908    
8909     FUNCTION {format.pages.book}
8910     { pages empty$
8911     { "" }
8912     { " \jbpages {" pages " \bibtotalpagesname}" *}
8913     if$
8914     }
8915    
8916     FUNCTION {format.totalpages}
8917     { totalpages empty$
8918     { "" }
8919     {
8920     ", " totalpages "~\bibtotalpagesname" * *
8921     }
8922     if$
8923     }
8924    
8925     FUNCTION {format.vol.year.num.pages}
8926     { volume empty$
8927     { "" }
8928     { " \artvolumeformat {" volume * "}" * }
8929     if$
8930     %<*jurabst|jurunsrt>
8931     month empty$
8932     'skip$
8933     { "\ " month * * }
8934     if$
8935     year empty$
8936     { "There's a volume but no year in " cite$ * warning$ }
8937     % NEW 0.52i add.extra.label added
8938     { " \artyearformat {" year * "}" * * add.extra.label }
8939     if$
8940     %</jurabst|jurunsrt>
8941     %<*jurecobst>
8942     number empty$
8943     'skip$
8944     { volume empty$
8945     { "" * }
8946     { ", " * }
8947     if$
8948     "\artnumberformat {" number * "}" * *
8949     }
8950     if$
8951     %</jurecobst>
8952     %<*jurabst|jurunsrt>
8953     number empty$
8954     'skip$
8955     { "\artnumberformat {" number * "}" * * }
8956     if$
8957     %</jurabst|jurunsrt>
8958     pages empty$
8959     'skip$
8960     { duplicate$ empty$
8961     { pop$ format.pages }
8962     { "" format.pages * * }
8963     if$
8964     }
8965     if$
8966     }
8967    
8968     FUNCTION {format.vol.bracedyear.num.pages}
8969     { volume empty$
8970     { "" }
8971     { " \pervolumeformat {" volume * "}" * }
8972     if$
8973     % volume "\bibvolumecomment\ " * field.or.null
8974     %<*jurabst|jurunsrt>
8975     year empty$
8976     { "There's a volume but no year in " cite$ * warning$ }
8977     { " \peryearformat {" year * "}" * * }
8978     if$
8979     month empty$
8980     'skip$
8981     { ", " month * * }
8982     if$
8983     %</jurabst|jurunsrt>
8984     %<*jurecobst>
8985     number empty$
8986     'skip$
8987     { volume empty$
8988     { "" * }
8989     { ", " * }
8990     if$
8991     "\pernumberformat {" number * "}" * *
8992     }
8993     if$
8994     %</jurecobst>
8995     %<*jurabst|jurunsrt>
8996     number empty$
8997     'skip$
8998     { ", \pernumberformat {" number * "}" * * }
8999     if$
9000     %</jurabst|jurunsrt>
9001     pages empty$
9002     'skip$
9003     { duplicate$ empty$
9004     { pop$ format.pages }
9005     { "" format.pages * * }
9006     if$
9007     }
9008     if$
9009     }
9010    
9011     FUNCTION {format.vol.bracedyear.num.pages.orig}
9012     { volume "\bibvolumecomment\ " * field.or.null
9013     year empty$
9014     { "There's a volume but no year in " cite$ * warning$ }
9015     { " \peryearformat {" year * "}" * * }
9016     if$
9017     month empty$
9018     'skip$
9019     { ", " month * * }
9020     if$
9021     number empty$
9022     'skip$
9023     { ", Nr.~" number * *
9024     % volume empty$
9025     % { "There's a number but no volume in " cite$ * warning$ }
9026     % 'skip$
9027     % if$
9028     }
9029     if$
9030     pages empty$
9031     'skip$
9032     { duplicate$ empty$
9033     { pop$ format.pages }
9034     { "" format.pages * * }
9035     if$
9036     }
9037     if$
9038     }
9039    
9040     FUNCTION {format.chapter.pages}
9041     { chapter empty$
9042     'format.pages
9043     { type empty$
9044     { "\unskip.\,-- \bibchapterlongname" }
9045     { "\unskip.\,-- " type * }
9046     if$
9047     chapter tie.or.space.connect
9048     pages empty$
9049     'skip$
9050     { format.pages * }
9051     if$
9052     }
9053     if$
9054     }
9055    
9056     % NEW 0.5e booktitleaddon
9057     FUNCTION {format.booktitleaddon}
9058     { booktitle empty$
9059     { "" }
9060     { booktitleaddon empty$
9061     { "" }
9062     { booktitleaddon }
9063     if$
9064     }
9065     if$
9066     }
9067    
9068     FUNCTION {format.incoll.editor.booktitle}
9069     { booktitle empty$
9070     { "" }
9071     { editor empty$
9072     { volume empty$
9073     { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{}" *
9074     booktitleaddon empty$
9075     { "{} " * }
9076     { "{1} " * }
9077     if$
9078     }
9079     { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{" * volume * "}" *
9080     booktitleaddon empty$
9081     { "{} " * }
9082     { "{1} " * }
9083     if$
9084     }
9085     if$
9086     }
9087     { volume empty$
9088     { "\incolledformat {"
9089     editor empty$
9090     { "" }
9091     { editor format.editor.names "}" * *
9092     editor num.names$ #1 >
9093     { "{\edfont {\editorsname}}{" * }
9094     { editortype empty$
9095     { "{\edfont {\editorname}}{" * }
9096     { "{\edfont {(" * editortype * ")}}{" * }
9097     if$
9098     }
9099     if$
9100     }
9101     if$
9102     booktitle incollbooktitlemarkup * format.booktitleaddon * "}{}" *
9103     booktitleaddon empty$
9104     { "{} " * }
9105     { "{1} " * }
9106     if$
9107     }
9108     { "\incolledformat {" *
9109     editor empty$
9110     { "" }
9111     { editor format.editor.names "}" * *
9112     editor num.names$ #1 >
9113     { "{\edfont {\editorsname}}{" * }
9114     { editortype empty$
9115     { "{\edfont {\editorname}}{" * }
9116     { "{\edfont {(" * editortype * ")}}{" * }
9117     if$
9118     }
9119     if$
9120     }
9121     if$
9122     booktitle incollbooktitlemarkup * format.booktitleaddon * "}{" volume * "}" *
9123     booktitleaddon empty$
9124     { "{} " * }
9125     { "{1} " * }
9126     if$
9127     }
9128     if$
9129     }
9130     if$
9131     }
9132     if$
9133     }
9134    
9135     FUNCTION {format.tr.number.jur}
9136     { type empty$
9137     { number empty$
9138     { " -- \technicalreportname {} " }
9139     { "~(" number * ").\,-- \technicalreportname {} " * }
9140     if$
9141     }
9142     { number empty$
9143     { " -- " type * }
9144     { "~(" number * ").\,-- " type * " " * * }
9145     if$
9146     }
9147     if$
9148     }
9149    
9150     FUNCTION {format.article.crossref.bracedyear}
9151     { key empty$
9152     { journal empty$
9153     { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
9154     { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
9155     if$
9156     volume empty$
9157     { "No volume in " cite$ * warning$ }
9158     % 0.52 Markup added
9159     { " \pervolumeformat {" volume * "} " * }
9160     % { " " volume * " " * }
9161     if$
9162     %<*jurabst|jurunsrt>
9163     year empty$
9164     { "No year in " cite$ * warning$ }
9165     { "\peryearformat {" year * "}" * * }
9166     if$
9167     %</jurabst|jurunsrt>
9168     pages empty$
9169     'skip$
9170     { duplicate$ empty$
9171     { pop$ format.pages }
9172     { format.pages * }
9173     if$
9174     }
9175     if$
9176     }
9177     { "" key * }
9178     if$
9179     "\ \protect\jbcrossrefchecked {" * crossref * "}\unskip" *
9180     }
9181    
9182     FUNCTION {format.article.crossref}
9183     { key empty$
9184     { journal empty$
9185     { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" }
9186     { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * }
9187     if$
9188     }
9189     { "" key * }
9190     if$
9191     year empty$
9192     'skip$
9193     % { "\ " year * * }
9194     % ^ added in 0.5e
9195     { year * }
9196     if$
9197     " \protect\jbcrossrefchecked {" crossref * "}" *
9198     }
9199    
9200     FUNCTION {format.book.crossref}
9201     { editor empty$
9202     editor field.or.null author field.or.null =
9203     or
9204     { key empty$
9205     { series empty$
9206     { "Need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * }
9207     { "" * }
9208     if$
9209     }
9210     { key * }
9211     if$
9212     }
9213     { "" * }
9214     if$
9215     volume empty$
9216     { "Empty volume in " cite$ * "'s crossref of " * crossref * warning$ ""
9217     " \protect\jbcrossrefchecked {" * crossref * "}\unskip" * }
9218     { " \protect\jbcrossrefchecked[" * volume * "]{" * crossref "}\unskip" * }
9219     if$
9220     }
9221    
9222     FUNCTION {format.incoll.inproc.crossref}
9223     {
9224     % 0.5f removed, seems to be senseless
9225     % editor empty$
9226     % editor field.or.null author field.or.null = or
9227     % { key empty$
9228     % { booktitle empty$
9229     % { "Need editor, key, or booktitle for " cite$ * " to crossref " * crossref * warning$ "" }
9230     % { " \bibbtfont {" booktitle check.punct.instead.of.add.period * }
9231     % if$
9232     % }
9233     % { "" }
9234     % if$
9235     % }
9236     % { "" }
9237     % if$
9238     " \protect\jbincollcrossref {" * crossref * "}" *
9239     % check added, if editor for the crossref'd work is given, switch introduced for that problem.
9240     editor empty$
9241     { "{}" * }
9242     { "{1}" * }
9243     if$
9244     format.pages % *<== 0.5f removed too.
9245     }
9246    
9247     FUNCTION { format.editors.organization }
9248     { organization empty$
9249     'skip$
9250     { type$ "misc" =
9251     { organization }
9252     { author empty$
9253     { editor empty$
9254     { " " organization * " \organizationname {}" * }
9255     { "; " organization * " \organizationname {}" * }
9256     if$
9257     }
9258     { "; " organization * " \organizationname {}" * }
9259     if$
9260     }
9261     if$
9262     }
9263     if$
9264     }
9265    
9266     FUNCTION {article}
9267     { output.bibitem
9268     format.authors "author" output.check
9269     set.after.author.sep output
9270     format.artperiodincoll.title "title" output.check
9271     crossref missing$
9272     { journal article.in.journal output.nonnull
9273     new.sentence
9274     format.vol.year.num.pages output
9275     }
9276     { format.article.crossref output.nonnull }
9277     if$
9278     format.url output
9279     format.note
9280     format.isbn.issn output
9281     format.howcited.artperiod output
9282     check.missing.pages
9283     fin.entry.endnote
9284     }
9285    
9286     FUNCTION {commented}
9287     { output.bibitem
9288     author empty$
9289     { editor empty$
9290     { format.founders }
9291     { format.founders format.editors "editor" output.check }
9292     if$
9293     }
9294     { editor empty$
9295     { format.authors format.founders output.nonnull }
9296     { format.authors format.founders format.editors output.nonnull }
9297     if$
9298     }
9299     if$
9300     set.after.author.sep output
9301     crossref missing$
9302     { format.btitle.vol "title" output.check }
9303     { format.btitle "title" output.check }
9304     if$
9305     format.volumetitle output
9306     format.edition output
9307     format.address.publisher.year "publisher" output.check
9308     format.update
9309     new.sentence
9310     crossref missing$
9311     { format.series.number output }
9312     { format.book.crossref output.nonnull }
9313     if$
9314     format.url output
9315     format.pages output
9316     format.note
9317     format.howcited.comment output
9318     fin.entry.endnote
9319     }
9320    
9321     FUNCTION {periodical}
9322     { output.bibitem
9323     format.authors "author" output.check
9324     set.after.author.sep output
9325     format.artperiodincoll.title "title" output.check
9326     crossref missing$
9327     { journal article.in.journal output.nonnull
9328     new.sentence
9329     format.vol.bracedyear.num.pages output
9330     }
9331     { new.sentence format.article.crossref.bracedyear output.nonnull }
9332     if$
9333     format.url output
9334     format.note
9335     format.isbn.issn output
9336     format.howcited.artperiod output
9337     fin.entry.endnote
9338     }
9339    
9340     FUNCTION {book}
9341     { output.bibitem
9342     author empty$
9343     { editor empty$
9344     { "" "author and editor" output.check }
9345     { format.editors output.nonnull }
9346     if$
9347     }
9348     { editor empty$
9349     { format.authors output.nonnull }
9350     { format.authors "\jbtiafed {" format.editors * "}" * output.nonnull }
9351     if$
9352     }
9353     if$
9354     set.after.author.sep output
9355     crossref missing$
9356     { format.btitle.vol "title" output.check }
9357     { format.btitle "title" output.check }
9358     if$
9359     author empty$ not editor empty$ not and
9360     { "\jbedafti {\edbyname {} " editor * "," * * "} " * }
9361     'skip$
9362     if$
9363     make.translators output
9364     format.volumetitle output
9365     format.edition output
9366     format.address.publisher.year "publisher" output.check
9367     new.sentence
9368     format.juradiss.book output
9369     crossref missing$
9370     { format.series.number output }
9371     { format.book.crossref output.nonnull }
9372     if$
9373     format.url output
9374     format.pages output
9375     % NEW 0.52e
9376     format.totalpages output
9377     %
9378     format.note
9379     format.isbn.issn output
9380     format.howcited output
9381     fin.entry.endnote
9382     }
9383    
9384     FUNCTION {inbook}
9385     { output.bibitem
9386     author empty$
9387     { format.editors "author and editor" output.check }
9388     { editor empty$
9389     { format.authors output.nonnull }
9390     { format.authors format.editors output.nonnull }
9391     if$
9392     }
9393     if$
9394     set.after.author.sep output
9395     crossref missing$
9396     { chapter empty$
9397     { "There's no chapter in " cite$ * warning$ "" * }
9398     { type empty$
9399     { "\Bibchaptername{}" }
9400     { type }
9401     if$
9402     chapter tie.or.space.connect " In " * *
9403     }
9404     if$
9405     format.btitle.vol.inbook "title" output.check
9406     %
9407     make.translators output
9408     %
9409     format.volumetitle output
9410     format.edition output
9411     format.address.publisher.year "publisher" output.check
9412     new.sentence
9413     format.series.number output
9414     format.url output
9415     format.pages "pages" output.check
9416     format.note
9417     format.isbn.issn output
9418     }
9419     { chapter empty$
9420     { "There's no chapter in " cite$ * warning$ "" *
9421     format.btitle.vol.inbook "title" output.check
9422     }
9423     { type empty$
9424     { "\Bibchaptername{}" }
9425     { type }
9426     if$
9427     chapter tie.or.space.connect "" * *
9428     }
9429     if$
9430     format.volumetitle output
9431     format.book.crossref output.nonnull
9432     format.url output
9433     format.pages "pages" output.check
9434     format.note
9435     }
9436     if$
9437     part.of.sentence
9438     format.howcited output
9439     fin.entry.endnote
9440     }
9441    
9442     FUNCTION {incollection}
9443     { output.bibitem
9444     format.authors "author" output.check
9445     set.after.author.sep output
9446     format.artperiodincoll.title "title" output.check
9447     %
9448     make.translators output
9449     %
9450     crossref missing$
9451     { format.incoll.editor.booktitle "booktitle" output.check
9452     format.volumetitle output
9453     format.edition output
9454     format.address.publisher.year "publisher" output.check
9455     new.sentence
9456     format.series.number output
9457     format.url output
9458     format.isbn.issn output
9459     part.of.sentence
9460     format.chapter.pages output
9461     format.note
9462     }
9463     { format.volumetitle output
9464     format.incoll.inproc.crossref output.nonnull
9465     format.url output
9466     format.note
9467     }
9468     if$
9469     format.howcited output
9470     check.missing.pages
9471     fin.entry.endnote
9472     }
9473    
9474     FUNCTION {inproceedings}
9475     { output.bibitem
9476     format.authors "author" output.check
9477     set.after.author.sep output
9478     % NEW 0.5f changed, suggested by Olaf Meltzer (olaf.meltzer@freenet.de),
9479     % because of dependent character of that publication type
9480     % format.title "title" output.check
9481     format.artperiodincoll.title "title" output.check
9482     crossref missing$
9483     { format.incoll.editor.booktitle "booktitle" output.check
9484     address empty$
9485     { organization new.sentence.checka
9486     organization output
9487     part.of.sentence
9488     format.address.publisher.year output
9489     }
9490     { format.address.publisher.year "publisher" output.check }
9491     if$
9492     new.sentence
9493     series empty$
9494     'skip$
9495     { format.series.number output }
9496     if$
9497     format.url output
9498     format.note
9499     format.isbn.issn output
9500     part.of.sentence
9501     format.pages output
9502     }
9503     { format.incoll.inproc.crossref output.nonnull
9504     format.url output
9505     format.note
9506     }
9507     if$
9508     format.howcited output
9509     fin.entry.endnote
9510     }
9511    
9512     FUNCTION {conference}{inproceedings}
9513    
9514     FUNCTION {manual}
9515     { output.bibitem
9516     author empty$
9517     { organization empty$
9518     'skip$
9519     { organization output.nonnull
9520     address output
9521     }
9522     if$
9523     }
9524     { format.authors output.nonnull }
9525     if$
9526     set.after.author.sep output
9527     format.btitle "title" output.check
9528     format.edition output
9529     author empty$
9530     { organization empty$
9531     { address output part.of.sentence }
9532     'skip$
9533     if$
9534     }
9535     { address "\bpubaddr {} " * organization * output
9536     part.of.sentence
9537     }
9538     if$
9539     format.date output
9540     pages set.period.dash.check
9541     format.pages.book output
9542     format.url output
9543     format.note
9544     format.howcited output
9545     fin.entry.endnote
9546     }
9547    
9548     FUNCTION {mastersthesis}
9549     { output.bibitem
9550     format.authors "author" output.check
9551     set.after.author.sep output
9552     format.btitle "title" output.check
9553     format.thesis output
9554     set.comma.pages.check
9555     pages new.sentence.checka
9556     format.pages output
9557     format.url output
9558     format.note
9559     format.howcited output
9560     fin.entry.endnote
9561     }
9562    
9563     FUNCTION {phdthesis}
9564     { output.bibitem
9565     format.authors "author" output.check
9566     set.after.author.sep output
9567     format.btitle "title" output.check
9568     format.thesis output
9569     set.comma.pages.check
9570     pages new.sentence.checka
9571     format.pages output
9572     format.url output
9573     format.note
9574     format.howcited output
9575     fin.entry.endnote
9576     }
9577    
9578     FUNCTION {jurthesis}
9579     { output.bibitem
9580     format.authors "author" output.check
9581     set.after.author.sep output
9582     format.btitle "title" output.check
9583     format.thesis output
9584     set.comma.pages.check
9585     pages new.sentence.checka
9586     format.pages output
9587     format.url output
9588     format.note
9589     format.howcited output
9590     fin.entry.endnote
9591     }
9592    
9593     FUNCTION {booklet}
9594     { output.bibitem
9595     format.authors "author" output.check
9596     set.after.author.sep output
9597     format.title "title" output.check
9598     format.howpublished.address.year output
9599     format.note
9600     format.url output
9601     format.howcited output
9602     fin.entry.endnote
9603     }
9604    
9605     FUNCTION {misc}
9606     { output.bibitem
9607     format.authors "author" output.check
9608     set.after.author.sep output
9609     format.title output
9610     format.howpublished.address.year output
9611     format.note
9612     format.url output
9613     format.howcited output
9614     fin.entry.endnote
9615     }
9616    
9617     FUNCTION {proceedings}
9618     { output.bibitem
9619     editor empty$
9620     { organization empty$
9621     'skip$
9622     { "\biblnfont {" organization * " \organizationname}" * output }
9623     if$
9624     }
9625     { format.editors output.nonnull }
9626     if$
9627     set.after.author.sep output
9628     format.btitle "title" output.check
9629     new.sentence
9630     editor empty$
9631     'skip$
9632     { format.proceed.organization output }
9633     if$
9634     new.sentence
9635     format.series.number output.nonnull
9636     volume empty$
9637     { "" output.nonnull }
9638     % 0.52 Markup added
9639     { "\volumeformat {" volume * "} " * "volume" output.check }
9640     % { "\Volumename" volume bibvol.tie.or.space.connect "volume" output.check }
9641     if$
9642     format.address.publisher.year "publisher" output.check
9643     pages set.period.dash.check
9644     format.pages.book output
9645     format.url output
9646     format.note
9647     format.isbn.issn output
9648     format.howcited output
9649     fin.entry.endnote
9650     }
9651    
9652     FUNCTION {techreport}
9653     { output.bibitem
9654     author empty$
9655     { format.editors "author and editor" output.check }
9656     { editor empty$
9657     { format.authors output.nonnull }
9658     { format.authors format.editors output.nonnull }
9659     if$
9660     }
9661     if$
9662     set.after.author.sep output
9663     format.title "title" output.check
9664     institution new.sentence.checka
9665     institution empty$
9666     'skip$
9667     { " \apyformat {" institution * ", " * output.nonnull }
9668     if$
9669     format.address.publisher.year output
9670     number new.sentence.checka
9671     format.tr.number.jur "number" output.check
9672     pages set.period.dash.check
9673     format.pages.book output
9674     format.url output
9675     format.note
9676     format.isbn.issn output
9677     format.howcited output
9678     fin.entry.endnote
9679     }
9680    
9681     FUNCTION {www}
9682     { output.bibitem
9683     format.authors "author" output.check
9684     set.after.author.sep output
9685     format.naked.url output
9686     format.howcited output
9687     fin.entry.endnote
9688     }
9689    
9690     FUNCTION {lexicon}
9691     { output.bibitem
9692     set.after.author.sep output
9693     crossref missing$
9694     { format.btitle.vol "title" output.check }
9695     { format.btitle "title" output.check }
9696     if$
9697     author empty$
9698     { editor empty$
9699     'skip$
9700     { "\edbyname{} " * editor format.editor.names "," * * }
9701     if$
9702     }
9703     { "\byname{} " author format.names * "," * * }
9704     if$
9705     make.translators output
9706     format.volumetitle output
9707     format.edition output
9708     format.address.publisher.year "publisher" output.check
9709     new.sentence
9710     format.juradiss.book output
9711     crossref missing$
9712     { format.series.number output }
9713     { format.book.crossref output.nonnull }
9714     if$
9715     format.url output
9716     format.pages output
9717     format.totalpages output
9718     format.note
9719     format.isbn.issn output
9720     format.howcited output
9721     fin.entry.endnote
9722     }
9723    
9724     FUNCTION {unpublished}{misc}
9725    
9726     FUNCTION {default.type}{misc}
9727    
9728     MACRO {jan} {"\janname\ "}
9729     MACRO {feb} {"\febname\ "}
9730     MACRO {mar} {"\marname\ "}
9731     MACRO {apr} {"\aprname\ "}
9732     MACRO {may} {"\mayname\ "}
9733     MACRO {jun} {"\junname\ "}
9734     MACRO {jul} {"\julname\ "}
9735     MACRO {aug} {"\augname\ "}
9736     MACRO {sep} {"\sepname\ "}
9737     MACRO {oct} {"\octname\ "}
9738     MACRO {nov} {"\novname\ "}
9739     MACRO {dec} {"\decname\ "}
9740    
9741     READ
9742    
9743     FUNCTION {sortify}{ purify$ "l" change.case$ }
9744    
9745     INTEGERS { len }
9746    
9747     FUNCTION {chop.word}
9748     { 's :=
9749     'len :=
9750     s #1 len substring$ =
9751     { s len #1 + global.max$ substring$ }
9752     's
9753     if$
9754     }
9755    
9756     FUNCTION {format.lab.names}
9757     { 's := % for two: (Jones/de~Bruijn)
9758     s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
9759     s num.names$ duplicate$ % for more: (Jones et\,al.)
9760     #2 <
9761     'pop$ % for just one person
9762     { duplicate$ duplicate$
9763     #3 >
9764     % ^--- here we can determine the appearence of `et\,al.' for the _label_
9765     swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
9766     or
9767     { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
9768     { #2 =
9769     { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
9770     { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three
9771     "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ *
9772     }
9773     if$
9774     }
9775     if$
9776     }
9777     if$
9778     % reintroduced in 0.51r
9779     year missing$
9780     'skip$
9781     { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
9782     if$
9783     }
9784    
9785     FUNCTION {format.editor.lab.names}
9786     { 's := % for two: (Jones/de~Bruijn)
9787     s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith)
9788     s num.names$ duplicate$ % for more: (Jones et\,al.)
9789     #2 <
9790     'pop$ % for just one person
9791     { duplicate$ duplicate$
9792     #3 >
9793     % ^--- here we can determine the appearence of `et\,al.' for the _label_
9794     swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" =
9795     or
9796     { pop$ "\Bibetal" * } % for 4 or more, or last is `others'
9797     { #2 =
9798     { "\jbbtesep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two
9799     { "\jbbfsesep " * s #2 "{vv~}{ll}" format.name$ * % for three
9800     "\jbbstesep " * s #3 "{vv~}{ll}" format.name$ *
9801     }
9802     if$
9803     }
9804     if$
9805     }
9806     if$
9807     % reintroduced in 0.51r
9808     year missing$
9809     'skip$
9810     { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author
9811     if$
9812     }
9813    
9814     FUNCTION {author.key.label}
9815     { author empty$
9816     { key empty$
9817     { cite$ #1 #3 substring$ }
9818     'key
9819     if$
9820     }
9821     { author format.lab.names }
9822     if$
9823     }
9824    
9825     FUNCTION {author.editor.key.label}
9826     { author empty$
9827     { editor empty$
9828     { key empty$
9829     { cite$ #1 #3 substring$ }
9830     'key
9831     if$
9832     }
9833     { editor format.editor.lab.names }
9834     if$
9835     }
9836     { author format.lab.names }
9837     if$
9838     }
9839    
9840     FUNCTION {editor.key.label}
9841     { editor empty$
9842     { key empty$
9843     { cite$ #1 #3 substring$ }
9844     'key
9845     if$
9846     }
9847     { editor format.editor.lab.names }
9848     if$
9849     }
9850    
9851     FUNCTION {calc.label}
9852     { type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or type$ "lexicon" = or
9853     'author.editor.key.label
9854     { type$ "proceedings" =
9855     'editor.key.label
9856     'author.key.label
9857     if$
9858     }
9859     if$
9860     'label :=
9861     }
9862    
9863     FUNCTION {calc.dummy.label}
9864     { type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or
9865     'author.editor.key.label
9866     { type$ "proceedings" =
9867     'editor.key.label
9868     'author.key.label
9869     if$
9870     }
9871     if$
9872     'dummy.label :=
9873     }
9874    
9875     FUNCTION {sort.format.names}
9876     { 's :=
9877     #1 'nameptr :=
9878     ""
9879     s num.names$ 'numnames :=
9880     numnames 'namesleft :=
9881     { namesleft #0 > }
9882     { nameptr #1 >
9883     { " " * }
9884     'skip$
9885     if$
9886     s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't :=
9887     nameptr numnames = t "\bibnf {others} {} {} {} {}" = and
9888     { "\Bibetal" * }
9889     { t sortify * }
9890     if$
9891     nameptr #1 + 'nameptr :=
9892     namesleft #1 - 'namesleft :=
9893     }
9894     while$
9895     }
9896    
9897     FUNCTION {sort.format.title}
9898     { 't :=
9899     "A " #2
9900     "An " #3
9901     "Der " #4
9902     "Die " #4
9903     "Das " #4
9904     "Ein " #4
9905     "Eine " #5
9906     "The " #4 t chop.word
9907     chop.word
9908     chop.word
9909     chop.word
9910     chop.word
9911     chop.word
9912     chop.word
9913     chop.word
9914     sortify
9915     #1 global.max$ substring$
9916     }
9917    
9918     FUNCTION {author.sort}
9919     { author empty$
9920     { key empty$
9921     {
9922     %% "to sort, need author or key in " cite$ * warning$
9923     ""
9924     }
9925     { key sortify }
9926     if$
9927     }
9928     { author sort.format.names }
9929     if$
9930     }
9931    
9932     FUNCTION {author.editor.sort}
9933     { author empty$
9934     { editor empty$
9935     { key empty$
9936     {
9937     %% "to sort, need author, editor, or key in " cite$ * warning$
9938     ""
9939     }
9940     { key sortify }
9941     if$
9942     }
9943     { editor sort.format.names }
9944     if$
9945     }
9946     { author sort.format.names }
9947     if$
9948     }
9949    
9950     FUNCTION {editor.sort}
9951     { editor empty$
9952     { key empty$
9953     { "to sort, need editor or key in " cite$ * warning$ "" }
9954     { key sortify }
9955     if$
9956     }
9957     { editor sort.format.names }
9958     if$
9959     }
9960    
9961     FUNCTION {presort}
9962     { calc.label
9963     calc.dummy.label
9964     %<*jurabst|jurecobst&!jurunsrt>
9965     sortkey empty$
9966     { type$ "book" =
9967     type$ "incollection" = or
9968     type$ "inbook" = or
9969     type$ "commented" = or
9970     'author.editor.sort
9971     { type$ "proceedings" =
9972     'editor.sort
9973     'author.sort
9974     if$
9975     }
9976     if$
9977     }
9978     {
9979     sortkey
9980     % REMOVED 0.52n, sortkey should be used as is!
9981     % sort.format.names
9982     }
9983     if$
9984     " "
9985     *
9986     year field.or.null sortify
9987     *
9988     " "
9989     *
9990     title field.or.null
9991     sort.format.title
9992     *
9993     #1 entry.max$ substring$
9994     'sort.key$ :=
9995     %</jurabst|jurecobst&!jurunsrt>
9996     }
9997    
9998     ITERATE {presort}
9999    
10000     %% FUNCTION {before.sort} { "BEFORE SORT:" top$ }
10001     %% EXECUTE {before.sort}
10002     %% FUNCTION {print.sort.keys} {sort.key$ top$}
10003     %% ITERATE {print.sort.keys}
10004    
10005     %<*jurabst|jurecobst&!jurunsrt>
10006     SORT
10007     %</jurabst|jurecobst&!jurunsrt>
10008    
10009     %% FUNCTION {after.sort} {"AFTER SORT:" top$}
10010     %% EXECUTE {after.sort}
10011     %% ITERATE {print.sort.keys}
10012    
10013     % <*jurecobst>
10014     STRINGS { last.dummy.label next.extra }
10015    
10016     INTEGERS { last.extra.num number.label }
10017    
10018     FUNCTION {forward.pass}
10019     { last.dummy.label dummy.label =
10020     { last.extra.num #1 + 'last.extra.num :=
10021     last.extra.num int.to.chr$ 'extra.label :=
10022     }
10023     { "a" chr.to.int$ 'last.extra.num :=
10024     "" 'extra.label :=
10025     dummy.label 'last.dummy.label :=
10026     }
10027     if$
10028     number.label #1 + 'number.label :=
10029     }
10030    
10031     FUNCTION {reverse.pass}
10032     { next.extra "b" =
10033     { "a" 'extra.label := }
10034     'skip$
10035     if$
10036     extra.label 'next.extra :=
10037     extra.label
10038     duplicate$ empty$
10039     'skip$
10040     { "" swap$ * }
10041     if$
10042     'extra.label :=
10043     dummy.label extra.label * 'dummy.label :=
10044     }
10045    
10046     ITERATE {forward.pass}
10047    
10048     REVERSE {reverse.pass}
10049     % </jurecobst>
10050    
10051     FUNCTION {set.current.authors}
10052     { author empty$
10053     { editor empty$
10054     { organization empty$
10055     { cite$ 'current-authors := }
10056     { organization 'current-authors := }
10057     if$
10058     }
10059     { editor format.names #1 entry.max$ substring$ 'current-authors := }
10060     %% ^^^^^^^^^^^^ NOT format.editor.names, otherwise \jb@@arg is always = 0!!!
10061     if$
10062     }
10063     { author format.names #1 entry.max$ substring$ 'current-authors := }
10064     if$
10065     }
10066    
10067     %FUNCTION {set.current.titles}
10068     %{ title empty$
10069     % 'skip$
10070     % { title 'current-titles := }
10071     % if$
10072     %}
10073    
10074     STRINGS { previous-authors
10075     % previous-titles
10076     }
10077    
10078     FUNCTION {initialize.previous.authors} { "" 'previous-authors := }
10079    
10080     % FUNCTION {initialize.previous.titles} { "" 'previous-titles := }
10081    
10082     FUNCTION {mark.repeat.authors}
10083     { current-authors previous-authors =
10084     { #1 'repeat-authors := }
10085     'skip$
10086     if$
10087     current-authors 'previous-authors :=
10088     }
10089    
10090     %FUNCTION {mark.repeat.titles}
10091     %{ current-titles previous-titles =
10092     % { #1 'repeat-titles := }
10093     % 'skip$
10094     % if$
10095     % current-titles 'previous-titles :=
10096     %}
10097    
10098     ITERATE {set.current.authors}
10099     % ITERATE {set.current.titles}
10100    
10101     EXECUTE {initialize.previous.authors}
10102     % EXECUTE {initialize.previous.titles}
10103    
10104     ITERATE {mark.repeat.authors}
10105     % ITERATE {mark.repeat.titles}
10106    
10107     EXECUTE {initialize.previous.authors}
10108     % EXECUTE {initialize.previous.titles}
10109    
10110     REVERSE {mark.repeat.authors}
10111     % REVERSE {mark.repeat.titles}
10112    
10113     FUNCTION {begin.bib}
10114     { preamble$ empty$
10115     'skip$
10116     { preamble$ write$ newline$ }
10117     if$
10118     "%" write$ newline$
10119     %<*jurecobst>
10120     "% This bibliography was produced by using jureco.bst" write$ newline$
10121     %</jurecobst>
10122     %<*jurabst|jurunsrt>
10123     "% This bibliography was produced by using jurabib.bst" write$ newline$
10124     %</jurabst|jurunsrt>
10125     "%" write$ newline$
10126     "\begin{thebibliography}{}" write$ newline$
10127     }
10128    
10129     EXECUTE {begin.bib}
10130    
10131     EXECUTE {init.state.consts}
10132    
10133     ITERATE {call.type$}
10134    
10135     FUNCTION {end.bib}
10136     { newline$
10137     "\end{thebibliography}" write$ newline$
10138     }
10139    
10140     EXECUTE {end.bib}
10141     %</jurabst|jurecobst|jurunsrt>
10142     %<*german>
10143     \ProvidesFile{dejbbib.ldf}[2002/07/11 v0.52o jurabib German language definitions]
10144     \def\bibsgerman{%
10145     \def\etalname{\unskip\nobreakspace{}et\,al.}%
10146     \def\etalnamenodot{\unskip\nobreakspace{}et\,al}%
10147     \def\bibandname{und}%
10148     \def\textandname{\bibandname}%
10149     \def\commaname{,}%
10150     \def\bibeandname{und}%
10151     \def\texteandname{\bibeandname}%
10152     \def\commaename{,}%
10153     \def\inname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}%
10154     \def\incollinname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}%
10155     \def\ofseriesname{der Reihe}%
10156     \def\volumeofname{von}%
10157     \def\inseriesname{in}%
10158     \def\editorname{(Hrsg.)}%
10159     \def\editorsname{(Hrsg.)}%
10160     \def\sndeditorname{(Hrsg.)}%
10161     \def\sndeditorsname{(Hrsg.)}%
10162     \def\edbyname{hrsg. v.}%
10163     \def\Edbyname{Hrsg. v.}%
10164     \def\byname{v.}%
10165     \def\volname{Bd.}%
10166     \def\volumename{Band}%
10167     \def\Volumename{Band}%
10168     \def\numbername{Nummer}%
10169     \def\editionname{Auf\/lage}%
10170     \def\bibchaptername{Kap.}%
10171     \def\Bibchaptername{Kap.}%
10172     \def\bibchapterlongname{Kapitel}%
10173     \def\jbpagename{S.}%
10174     \def\jbpagesname{S.}%
10175     \def\bibpagename{S.}%
10176     \def\bibpagesname{S.}%
10177     \def\bibtotalpagesname{Seiten}%
10178     \def\jbpagenamenodot{}%
10179     \def\mastersthesisname{Diplomarbeit}%
10180     \def\phdthesisname{Dissertation}%
10181     \def\jurthesisname{Jur. Diss.}%
10182     \def\alsothesisname{zugl.}%
10183     \def\technicalreportname{Technischer Bericht}%
10184     \def\organizationname{\unskip, \textup{Veranst.}}%
10185     \def\janname{Januar}%
10186     \def\febname{Februar}%
10187     \def\marname{M{ä}rz}%
10188     \def\aprname{April}%
10189     \def\mayname{Mai}%
10190     \def\junname{Juni}%
10191     \def\julname{Juli}%
10192     \def\augname{August}%
10193     \def\sepname{September}%
10194     \def\octname{Oktober}%
10195     \def\novname{November}%
10196     \def\decname{Dezember}%
10197     \def\firstedname{1.}%
10198     \def\secondedname{2.}%
10199     \def\thirdedname{3.}%
10200     \def\fourthedname{4.}%
10201     \def\fifthedname{5.}%
10202     \def\thedname{.}%
10203     \def\urldatecomment{Zugriff am }%
10204     \def\howcitedprefix{(zitiert: }%
10205     \def\howcitedsuffix{)}%
10206     \def\lookatprefix{(Anm.~}%
10207     \def\lookatsuffix{)}%
10208     \def\ibidemname{A.\,a.\,O\kern-1.2pt.}%
10209     \def\ibidemmidname{a.\,a.\,O\kern-1.2pt.}%
10210     \def\idemname{Ders.}%
10211     \def\idemmidname{ders.}%
10212     \def\ajtsep{}%
10213     \def\bibcontinuedname{(Forts.)}%
10214     \def\idemSmname{Ders.}\def\idemsmname{ders.}%
10215     \def\idemPmname{Dies.}\def\idempmname{dies.}%
10216     \def\idemSfname{Dies.}\def\idemsfname{dies.}%
10217     \def\idemPfname{Dies.}\def\idempfname{dies.}%
10218     \def\idemSnname{Dass.}\def\idemsnname{dass.}%
10219     \def\idemPnname{Dies.}\def\idempnname{dies.}%
10220     \def\idemSmedbyname{Demselben}\def\idemsmedbyname{demselben}%
10221     \def\idemPmedbyname{Denselben}\def\idempmedbyname{denselben}%
10222     \def\idemSfedbyname{Derselben}\def\idemsfedbyname{derselben}%
10223     \def\idemPfedbyname{Denselben}\def\idempfedbyname{denselben}%
10224     \def\idemSnedbyname{Demselben}\def\idemsnedbyname{demselben}%
10225     \def\idemPnedbyname{Denselben}\def\idempnedbyname{denselben}%
10226     \jbidemabbrvwithperiodtrue
10227     \def\bibidemSmname{Derselbe}\def\bibidemsmname{derselbe}%
10228     \def\bibidemPmname{Dieselben}\def\bibidempmname{dieselben}%
10229     \def\bibidemSfname{Dieselbe}\def\bibidemsfname{dieselbe}%
10230     \def\bibidemPfname{Dieselben}\def\bibidempfname{dieselben}%
10231     \def\bibidemSnname{Dasselbe}\def\bibidemsnname{dasselbe}%
10232     \def\bibidemPnname{Dieselben}\def\bibidempnname{dieselben}%
10233     \def\trans{\ifjbweareinbib"ubers.\else\ifjboxford"ubers.\else\ifjbchicago"ubers.\else"Ubers.\fi\fi\fi}%
10234     \def\transfrom{aus dem}%
10235     \def\Transfrom{Aus dem}%
10236     \def\transby{von}%
10237     \def\fromgerman{Deutschen}%
10238     \def\fromenglish{Englischen}%
10239     \def\fromfrench{Französischen}%
10240     \def\fromdutch{Holl{\"a}ndischen}%
10241     \def\fromspanish{Spanischen}%
10242     \def\fromitalian{Italienischen}%
10243     \def\fromnorsk{Norwegischen}%
10244     \def\Reprint{Nachdruck}%
10245     \def\reprint{Nachdruck}%
10246     \def\updatesep{,}%
10247     \def\updatename{Stand:}%
10248     \def\herename{hier:~}%
10249     \def\foundername{\space\edfont{(Begr.)}}%
10250     \def\afterfoundersep{\slash}%
10251     \addtoalllanguages%
10252     }%
10253     %</german>
10254     %<*english>
10255     \ProvidesFile{enjbbib.ldf}[2002/07/11 v0.52o jurabib English language definitions]
10256     \def\bibsenglish{%
10257     \def\etalname{\unskip\nobreakspace{}et\,al.}%
10258     \def\etalnamenodot{\unskip\nobreakspace{}et\,al}%
10259     \def\bibandname{and}%
10260     \def\textandname{\bibandname}%
10261     \def\commaname{,}%
10262     \def\bibeandname{and}%
10263     \def\texteandname{\bibeandname}%
10264     \def\commaename{,}%
10265     \def\inname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}%
10266     \def\incollinname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}%
10267     \def\ofseriesname{of}%
10268     \def\volumeofname{of}%
10269     \def\inseriesname{in}%
10270     \def\editorname{\unskip,\space{}editor}%
10271     \def\editorsname{\unskip,\space{}editors}%
10272     \def\sndeditorname{editor}%
10273     \def\sndeditorsname{editors}%
10274     \def\edbyname{edited by}%
10275     \def\Edbyname{Edited by}%
10276     \def\byname{by}%
10277     \def\volname{vol.}%
10278     \def\volumename{volume}%
10279     \def\Volumename{Volume}%
10280     \def\numbername{number}%
10281     \def\editionname{edition}%
10282     \def\bibchaptername{chap.}%
10283     \def\Bibchaptername{Chap.}%
10284     \def\bibchapterlongname{chapter}%
10285     \def\jbpagename{p.}%
10286     \def\jbpagesname{pp.}%
10287     \def\bibpagename{p.}%
10288     \def\bibpagesname{pp.}%
10289     \def\bibtotalpagesname{pages}%
10290     \def\jbpagenamenodot{p}%
10291     \def\alsothesisname{also}%
10292     \def\phdthesisname{Ph.\,D thesis}%
10293     \def\mastersthesisname{Master's thesis}%
10294     \def\jurthesisname{diss. jur.}%
10295     \def\technicalreportname{Technical report}%
10296     \def\organizationname{\textup{(Org.)}}%
10297     \def\janname{January}%
10298     \def\febname{February}%
10299     \def\marname{March}%
10300     \def\aprname{April}%
10301     \def\mayname{May}%
10302     \def\junname{June}%
10303     \def\julname{July}%
10304     \def\augname{August}%
10305     \def\sepname{September}%
10306     \def\octname{October}%
10307     \def\novname{November}%
10308     \def\decname{December}%
10309     \def\firstedname{1st}%
10310     \def\secondedname{2nd}%
10311     \def\thirdedname{3rd}%
10312     \def\fourthedname{4th}%
10313     \def\fifthedname{5th}%
10314     \def\thedname{th}%
10315     \def\urldatecomment{visited on }%
10316     \def\howcitedprefix{(cited: }%
10317     \def\howcitedsuffix{)}%
10318     \def\lookatprefix{(as in n.~}%
10319     \def\lookatsuffix{)}%
10320     \def\ibidemname{Ibid.}%
10321     \def\ibidemmidname{ibid.}%
10322     \def\idemname{Idem}%
10323     \def\idemmidname{idem}%
10324     \def\ajtsep{}%
10325     \def\bibcontinuedname{(cont.)}%
10326     \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname}
10327     \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}%
10328     \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}%
10329     \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}%
10330     \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}%
10331     \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}%
10332     \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}%
10333     \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}%
10334     \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}%
10335     \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}%
10336     \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}%
10337     \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}%
10338     \def\trans{\ifjbweareinbib trans.\else\ifjboxford trans.\else\ifjbchicago trans.\else Trans.\fi\fi\fi}%
10339     \def\transfrom{from the}%
10340     \def\Transfrom{From the}%
10341     \def\transby{by}%
10342     \def\fromgerman{German}%
10343     \def\fromenglish{English}%
10344     \def\fromfrench{French}%
10345     \def\fromdutch{Dutch}%
10346     \def\fromspanish{Spanish}%
10347     \def\fromitalian{Italian}%
10348     \def\fromnorsk{Norwegian}%
10349     \def\Reprint{Reprint}%
10350     \def\reprint{reprint}%
10351     \def\updatesep{,}%
10352     \def\updatename{last update:}%
10353     \def\herename{here:~}%
10354     \def\foundername{\space\edfont{(TO DO)}}%
10355     \def\afterfoundersep{\slash}%
10356     \addtoalllanguages%
10357     }%
10358     %</english>
10359     %<*dutch>
10360     \ProvidesFile{dujbbib.ldf}[2002/07/11 v0.52o jurabib Dutch language definitions]
10361     \def\bibsdutch{%
10362     \def\etalname{\unskip\nobreakspace{}et\,al.}%
10363     \def\etalnamenodot{\unskip\nobreakspace{}et\,al}%
10364     \def\bibandname{en}%
10365     \def\textandname{\bibandname}%
10366     \def\commaname{,}%
10367     \def\bibeandname{en}%
10368     \def\texteandname{\bibeandname}%
10369     \def\commaename{,}%
10370     \def\inname{in}%
10371     \def\incollinname{\ifjbchicago in\else in:\fi}%
10372     \def\ofseriesname{van}%
10373     \def\volumeofname{van}%
10374     \def\inseriesname{in}%
10375     \def\editorname{(red.)}%
10376     \def\editorsname{(red.)}%
10377     \def\sndeditorname{(red.)}%
10378     \def\sndeditorsname{(red.)}%
10379     \def\edbyname{onder redactie van}%
10380     \def\Edbyname{Onder redactie van}%
10381     \def\byname{van}%
10382     \def\volname{deel}%
10383     \def\volumename{deel}%
10384     \def\Volumename{deel}%
10385     \def\numbername{nr.}%
10386     \def\editionname{druk}%
10387     \def\bibchaptername{H.}%
10388     \def\Bibchaptername{H.}%
10389     \def\bibchapterlongname{Hoofdstuk}%
10390     \def\jbpagename{blz.}%
10391     \def\jbpagesname{blz.}%
10392     \def\bibpagename{blz.}%
10393     \def\bibpagesname{blz.}%
10394     \def\bibtotalpagesname{pages}% TODO
10395     \def\jbpagenamenodot{}%
10396     \def\mastersthesisname{Scriptie}%
10397     \def\phdthesisname{Proefschrift}%
10398     \def\jurthesisname{diss. jur.}% ???
10399     \def\alsothesisname{ook}%
10400     \def\technicalreportname{Technisch rapport}%
10401     \def\organizationname{\unskip, \textup{Oorspr.}}%
10402     \def\janname{januari}%
10403     \def\febname{februari}%
10404     \def\marname{maart}%
10405     \def\aprname{april}%
10406     \def\mayname{mei}%
10407     \def\junname{juni}%
10408     \def\julname{juli}%
10409     \def\augname{augustus}%
10410     \def\sepname{september}%
10411     \def\octname{oktober}%
10412     \def\novname{november}%
10413     \def\decname{december}%
10414     \def\firstedname{eerste}%
10415     \def\secondedname{tweede}%
10416     \def\thirdedname{derde}%
10417     \def\fourthedname{3\textsuperscript{e}}%
10418     \def\fifthedname{4\textsuperscript{e}}%
10419     \def\thedname{\textsuperscript{e}}%
10420     \def\urldatecomment{bezocht op }%
10421     \def\howcitedprefix{(geciteerd: }%
10422     \def\howcitedsuffix{)}%
10423     \def\lookatprefix{(zie voetnoot~}%
10424     \def\lookatsuffix{)}%
10425     \def\ibidemname{Ibid.}%
10426     \def\ibidemmidname{ibid.}%
10427     \def\idemname{Idem}%
10428     \def\idemmidname{idem}%
10429     \def\ajtsep{}%
10430     \def\bibcontinuedname{(cont.)}%
10431     \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname}
10432     \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}%
10433     \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}%
10434     \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}%
10435     \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}%
10436     \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}%
10437     \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}%
10438     \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}%
10439     \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}%
10440     \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}%
10441     \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}%
10442     \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}%
10443     \def\trans{\ifjbweareinbib trans.\else\ifjboxford trans.\else\ifjbchicago trans.\else Trans.\fi\fi\fi}%
10444     \def\transfrom{vanuit het}%
10445     \def\Transfrom{Vanuit het}%
10446     \def\transby{door}%
10447     \def\fromgerman{Duits}%
10448     \def\fromenglish{Engels}%
10449     \def\fromfrench{Frans}%
10450     \def\fromdutch{Nederlands}%
10451     \def\fromspanish{TO DO}%
10452     \def\fromitalian{TO DO}%
10453     \def\fromnorsk{TO DO}%
10454     \def\Reprint{Herdruk}%
10455     \def\reprint{herdruk}%
10456     \def\updatesep{,}%
10457     \def\updatename{Stand:}%
10458     \def\herename{TO DO}%
10459     \def\foundername{\space\edfont{(TO DO)}}% Founder of a series
10460     \def\afterfoundersep{\slash}%
10461     \addtoalllanguages%
10462     }%
10463     %</dutch>
10464     %<*french>
10465     \ProvidesFile{frjbbib.ldf}[2002/07/11 v0.52o jurabib French language definitions]
10466     \def\bibsfrench{%
10467     \def\etalname{\unskip\nobreakspace{}\texit{et\,al.}}%
10468     \def\etalnamenodot{\unskip\nobreakspace{}\texit{et\,al}}%
10469     \def\bibandname{et}%
10470     \def\textandname{\bibandname}%
10471     \def\commaname{,}%
10472     \def\bibeandname{et}%
10473     \def\texteandname{\bibeandname}%
10474     \def\commaename{,}%
10475     \def\inname{\ifjboxford dans :\else dans\fi}%
10476     \def\incollinname{\ifjboxford dans :\else dans\fi}%
10477     \def\ofseriesname{,}%
10478     \def\volumeofname{de}%
10479     \def\inseriesname{dans}%
10480     \def\editorname{(\'ed.)}%
10481     \def\editorsname{(\'ed.)}%
10482     \def\sndeditorname{(\'ed.)}%
10483     \def\sndeditorsname{(\'ed.)}%
10484     \def\edbyname{publi\'e par}%
10485     \def\Edbyname{Publi\'e par}%
10486     \def\byname{par}%
10487     \def\volname{vol.}%
10488     \def\volumename{volume}%
10489     \def\Volumename{Volume}%
10490     \def\numbername{n$^\circ$~}%
10491     \def\editionname{\'edition}%
10492     \def\bibchaptername{chap.}%
10493     \def\Bibchaptername{Chap.}%
10494     \def\bibchapterlongname{chapitre}%
10495     \def\jbpagename{p.}%
10496     \def\jbpagesname{p.}%
10497     \def\bibpagename{p.}%
10498     \def\bibpagesname{p.}%
10499     \def\bibtotalpagesname{pages}% TODO
10500     \def\jbpagenamenodot{p}%
10501     \def\alsothesisname{tir\'e de :}%
10502     \def\mastersthesisname{DEA}%
10503     \def\phdthesisname{Th\`ese de doctorat}%
10504     \def\jurthesisname{Th\`ese de droit}%
10505     \def\technicalreportname{Rapport technique}%
10506     \def\organizationname{}%
10507     \def\janname{janvier}%
10508     \def\febname{f\'evrier}%
10509     \def\marname{mars}%
10510     \def\aprname{avril}%
10511     \def\mayname{mai}%
10512     \def\junname{juin}%
10513     \def\julname{juillet}%
10514     \def\augname{ao\^ut}%
10515     \def\sepname{septembre}%
10516     \def\octname{octobre}%
10517     \def\novname{novembre}%
10518     \def\decname{d\'ecembre}%
10519     \def\firstedname{1\textsuperscript{er}}%
10520     \def\secondedname{2\textsuperscript{e}}%
10521     \def\thirdedname{3\textsuperscript{e}}%
10522     \def\fourthedname{4\textsuperscript{e}}%
10523     \def\fifthedname{5\textsuperscript{e}}%
10524     \def\thedname{\textsuperscript{e}}%
10525     \def\urldatecomment{visit\'e le }%
10526     \def\howcitedprefix{(cit\'e dans : }%
10527     \def\howcitedsuffix{)}%
10528     \def\lookatprefix{(cf. n$^\circ$~}%
10529     \def\lookatsuffix{)}%
10530     \def\ibidemname{\textit{Ibid.}}%
10531     \def\ibidemmidname{\textit{ibid.}}%
10532     \def\idemname{\textit{Idem}}%
10533     \def\idemmidname{\textit{idem}}%
10534     \def\ajtsep{,}%
10535     \def\bibcontinuedname{(cont.)}%
10536     \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname}
10537     \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}%
10538     \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}%
10539     \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}%
10540     \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}%
10541     \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}%
10542     \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}%
10543     \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}%
10544     \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}%
10545     \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}%
10546     \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}%
10547     \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}%
10548     \def\trans{\ifjbweareinbib traduit\else\ifjboxford traduit\else\ifjbchicago traduit\else Traduit\fi\fi\fi}%
10549     \def\transfrom{\unskip\unskip\space}%
10550     \def\Transfrom{\unskip\unskip\space}%
10551     \def\transby{par}%
10552     \def\fromgerman{de l'allemand}%
10553     \def\fromenglish{de l'anglais}%
10554     \def\fromfrench{du français}%
10555     \def\fromdutch{du n\'eerlandais}%
10556     \def\fromspanish{de l'espagnol}%
10557     \def\fromitalian{de l'italien}%
10558     \def\fromnorsk{du norv\'egien}%
10559     \def\Reprint{R\'e\'edition}%
10560     \def\reprint{r\'e\'edition}%
10561     \def\updatesep{,}%
10562     \def\updatename{derni\`ere mise \`a jour:}%
10563     \def\herename{TO DO}%
10564     \def\foundername{\space\edfont{(TO DO)}}% Founder of a series
10565     \def\afterfoundersep{\slash}%
10566     \addtoalllanguages%
10567     }%
10568     %</french>
10569     %<*spanish>
10570     \ProvidesFile{spjbbib.ldf}[2002/07/11 v0.52o jurabib Spanish language definitions]
10571     \def\bibsspanish{%
10572     \def\etalname{\unskip\nobreakspace{}et\,al.}%
10573     \def\etalnamenodot{\unskip\nobreakspace{}et\,al}%
10574     \def\bibandname{y}%
10575     \def\textandname{\bibandname}%
10576     \def\commaname{,}%
10577     \def\bibeandname{y}%
10578     \def\texteandname{\bibeandname}%
10579     \def\commaename{,}%
10580     \def\inname{\ifjboxford en:\else\ifjbchicago en\else En\fi\fi}%
10581     \def\incollinname{\ifjboxford en:\else\ifjbchicago en\else En\fi\fi}%
10582     \def\ofseriesname{de la colecci\'on}%
10583     \def\volumeofname{de}%
10584     \def\inseriesname{en}%
10585     \def\editorname{(ed.)}%
10586     \def\editorsname{(eds.)}%
10587     \def\sndeditorname{(ed.)}%
10588     \def\sndeditorsname{(eds.)}%
10589     \def\edbyname{editado por}%
10590     \def\Edbyname{Editado por}%
10591     \def\byname{por}%
10592     \def\volname{vol.}%
10593     \def\volumename{volumen}%
10594     \def\Volumename{Volumen}%
10595     \def\numbername{n\'umero}%
10596     \def\editionname{ed\/ici\'on}%
10597     \def\bibchaptername{cap.}%
10598     \def\Bibchaptername{Cap.}%
10599     \def\bibchapterlongname{Cap\'itulo}%
10600     \def\jbpagename{p.}%
10601     \def\jbpagesname{pp.}%
10602     \def\jbpagenamenodot{p}%
10603     \def\bibpagename{p.}%
10604     \def\bibpagesname{pp.}%
10605     \def\bibtotalpagesname{pages}% TODO
10606     \def\mastersthesisname{Tesis de Licenciatura}%
10607     \def\phdthesisname{Tesis Doctoral}%
10608     \def\jurthesisname{diss. jur.}%
10609     \def\alsothesisname{tambi\'en como}%
10610     \def\technicalreportname{Informe t\'ecnico}%
10611     \def\organizationname{Organizaci\'on}%
10612     \def\janname{enero}%
10613     \def\febname{febrero}%
10614     \def\marname{marzo}%
10615     \def\aprname{abril}%
10616     \def\mayname{mayo}%
10617     \def\junname{junio}%
10618     \def\julname{julio}%
10619     \def\augname{agosto}%
10620     \def\sepname{septiembre}%
10621     \def\octname{octubre}%
10622     \def\novname{noviembre}%
10623     \def\decname{diciembre}%
10624     \def\firstedname{1\textsuperscript{a}}%
10625     \def\secondedname{2\textsuperscript{a}}%
10626     \def\thirdedname{3\textsuperscript{a}}%
10627     \def\fourthedname{4\textsuperscript{a}}%
10628     \def\fifthedname{5\textsuperscript{a}}%
10629     \def\thedname{\textsuperscript{a}}%
10630     \def\urldatecomment{visitado el }%
10631     \def\howcitedprefix{(citado en: }%
10632     \def\howcitedsuffix{)}%
10633     \def\lookatprefix{(v\'ease nota~}%
10634     \def\lookatsuffix{)}%
10635     \def\ibidemname{Ibid.}%
10636     \def\ibidemmidname{ibid.}%
10637     \def\idemname{Idem}%
10638     \def\idemmidname{idem}%
10639     \def\ajtsep{,}%
10640     \def\bibcontinuedname{(cont.)}%
10641     \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname}
10642     \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}%
10643     \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}%
10644     \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}%
10645     \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}%
10646     \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}%
10647     \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}%
10648     \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}%
10649     \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}%
10650     \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}%
10651     \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}%
10652     \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}%
10653     \def\trans{\ifjbweareinbib trad.\else\ifjboxford trad.\else\ifjbchicago trad.\else Trad.\fi\fi\fi}%
10654     \def\transfrom{del}%
10655     \def\Transfrom{Del}%
10656     \def\transby{por}%
10657     \def\fromgerman{alem\'an}%
10658     \def\fromenglish{ingl\'es}%
10659     \def\fromfrench{franc\'es}%
10660     \def\fromdutch{holand\'es}%
10661     \def\fromspanish{espa\~nol}%
10662     \def\fromitalian{italiano}%
10663     \def\fromnorsk{noruego}%
10664     \def\Reprint{Reimpresi\'on}%
10665     \def\reprint{reimpresi\'on}%
10666     \def\updatesep{,}%
10667     \def\updatename{\'ultima actualizaci\'on:}%
10668     \def\herename{TO DO}%
10669     \def\foundername{\space\edfont{(TO DO)}}% Founder of a series
10670     \def\afterfoundersep{\slash}%
10671     \addtoalllanguages%
10672     }%
10673     %</spanish>
10674     %<*italian>
10675     \ProvidesFile{itjbbib.ldf}[2002/07/11 v0.52o jurabib Italian language definitions]
10676     \def\bibsitalian{%
10677     \def\etalname{\unskip\nobreakspace{}et\,al.}%
10678     \def\etalnamenodot{\unskip\nobreakspace{}et\,al}%
10679     \def\bibandname{e}%
10680     \def\textandname{\bibandname}%
10681     \def\commaname{,}%
10682     \def\bibeandname{e}%
10683     \def\texteandname{\bibeandname}%
10684     \def\commaename{,}%
10685     \def\inname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}%
10686     \def\incollinname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}%
10687     \def\ofseriesname{della collana}%
10688     \def\volumeofname{de}%
10689     \def\inseriesname{in}%
10690     \def\editorname{(ed.)}%
10691     \def\editorsname{(eds.)}%
10692     \def\sndeditorname{(ed.)}%
10693     \def\sndeditorsname{(eds.)}%
10694     \def\edbyname{a cura di}%
10695     \def\Edbyname{A cura di}%
10696     \def\byname{di}%
10697     \def\volname{vol.}%
10698     \def\volumename{volume}%
10699     \def\Volumename{Volume}%
10700     \def\numbername{numero}%
10701     \def\editionname{ed\/izione}%
10702     \def\bibchaptername{cap.}%
10703     \def\Bibchaptername{Cap.}%
10704     \def\bibchapterlongname{Capitolo}%
10705     \def\jbpagename{p.}%
10706     \def\jbpagesname{pp.}%
10707     \def\bibpagename{p.}%
10708     \def\bibpagesname{pp.}%
10709     \def\bibtotalpagesname{pages}% TODO
10710     \def\jbpagenamenodot{p}%
10711     \def\mastersthesisname{Tesi di Laurea}%
10712     \def\phdthesisname{Tesi di dottorato}%
10713     \def\jurthesisname{diss. jur.}%
10714     \def\alsothesisname{anche}%
10715     \def\technicalreportname{Rapporto tecnico}%
10716     \def\organizationname{Organizzazione}%
10717     \def\janname{gennaio}%
10718     \def\febname{febbraio}%
10719     \def\marname{marzo}%
10720     \def\aprname{aprile}%
10721     \def\mayname{maggio}%
10722     \def\junname{giugno}%
10723     \def\julname{luglio}%
10724     \def\augname{agosto}%
10725     \def\sepname{settembre}%
10726     \def\octname{ottobre}%
10727     \def\novname{novembre}%
10728     \def\decname{dicembre}%
10729     \def\firstedname{1\textsuperscript{a}}%
10730     \def\secondedname{2\textsuperscript{a}}%
10731     \def\thirdedname{3\textsuperscript{a}}%
10732     \def\fourthedname{4\textsuperscript{a}}%
10733     \def\fifthedname{5\textsuperscript{a}}%
10734     \def\thedname{\textsuperscript{a}}%
10735     \def\urldatecomment{accesso a }%
10736     \def\howcitedprefix{(citato da: }%
10737     \def\howcitedsuffix{)}%
10738     \def\lookatprefix{(vedi nota~}%
10739     \def\lookatsuffix{)}%
10740     \def\ibidemname{Ibid.}%
10741     \def\ibidemmidname{ibid.}%
10742     \def\idemname{Idem}%
10743     \def\idemmidname{idem}%
10744     \def\ajtsep{,}%
10745     \def\bibcontinuedname{(cont.)}%
10746     \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname}
10747     \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}%
10748     \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}%
10749     \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}%
10750     \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}%
10751     \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}%
10752     \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}%
10753     \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}%
10754     \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}%
10755     \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}%
10756     \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}%
10757     \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}%
10758     \def\trans{\ifjbweareinbib trad.\else\ifjboxford trad.\else\ifjbchicago trad.\else Trad.\fi\fi\fi}%
10759     \def\transfrom{dal}%
10760     \def\Transfrom{Dal}%
10761     \def\transby{da}%
10762     \def\fromgerman{tedesco}%
10763     \def\fromenglish{inglese}%
10764     \def\fromfrench{francese}%
10765     \def\fromdutch{olandese}%
10766     \def\fromspanish{spangolo}%
10767     \def\fromspanish{spagnolo}%
10768     \def\fromitalian{italiano}%
10769     \def\fromnorsk{norvegese}%
10770     \def\Reprint{Ristampa}%
10771     \def\reprint{ristampa}%
10772     \def\updatesep{,}%
10773     \def\updatename{ultimo aggiornamento:}%
10774     \def\herename{TO DO}%
10775     \def\foundername{\space\edfont{(TO DO)}}% Founder of a series
10776     \def\afterfoundersep{\slash}%
10777     \addtoalllanguages%
10778     }%
10779     %</italian>
10780     %<*norsk>
10781     \def\bibsnorsk{%
10782     \def\etalname{\unskip\nobreakspace{}m.fl.}%
10783     \def\etalnamenodot{\unskip\nobreakspace{}m.fl}%
10784     % At least at the Faculty of Law, University of Oslo, one is allowed to use
10785     % eihter et. al or ``m.fl'' or ``m.fl.''
10786     \def\bibandname{og}%
10787     \def\textandname{\bibandname}%
10788     \def\commaname{,}%
10789     \def\bibeandname{og}%
10790     \def\texteandname{\bibeandname}%
10791     \def\commaename{,}%
10792     \def\inname{\ifjboxford i:\else\ifjbchicago i\else I\fi\fi}%
10793     \def\incollinname{\ifjboxford i:\else\ifjbchicago i\else I\fi\fi}%
10794     \def\ofseriesname{of}%
10795     \def\volumeofname{of}%
10796     \def\inseriesname{i}%
10797     % I'm not sure about these. In what context are \ofseriesname and \volumeofname used?
10798     \def\editorname{\unskip,\space{}redaktør}%
10799     \def\editorsname{\unskip,\space{}redaktører}%
10800     % editor causes some problems. ''editor(s)'' -> ''redaktør(er)'' % Otherwise,
10801     % if the abbrev. ''ed'' or variation thereof, it should be ''red.''
10802     \def\sndeditorname{redaktør}%
10803     \def\sndeditorsname{redaktører}%
10804     % The same applies here, I guess.
10805     \def\edbyname{redigert av}%
10806     \def\Edbyname{Redigert av}%
10807     \def\byname{av}%
10808     \def\volname{bd.}%
10809     \def\volumename{bind}%
10810     \def\Volumename{Bind}%
10811     % Is this meant as a reference to a ''two-book'' book? If so, ''bd'',
10812     % ''bind'', ''Bind''. However, if it refers to the number-of-years a
10813     % publication is issued in total, it should be ''årg.'', ''årgang'' and
10814     % ''Årgang''.
10815     \def\numbername{nummer}%
10816     \def\editionname{utgave}%
10817     \def\bibchaptername{kap.}%
10818     \def\Bibchaptername{Kap.}%
10819     \def\bibchapterlongname{kapittel}%
10820     \def\jbpagename{s.}%
10821     \def\jbpagesname{sider}%
10822     \def\bibpagename{s.}%
10823     \def\bibpagesname{s.}%
10824     \def\bibtotalpagesname{sider}%
10825     \def\jbpagenamenodot{s}%
10826     \def\alsothesisname{også}%
10827     \def\phdthesisname{Doktorgradsavhandling}%
10828     \def\mastersthesisname{Hovedoppgave}%
10829     \def\jurthesisname{diss. jur.}%
10830     \def\technicalreportname{Teknisk rapport}%
10831     \def\organizationname{\textup{(Org.)}}%
10832     \def\janname{januar}%
10833     \def\febname{februar}%
10834     \def\marname{mars}%
10835     \def\aprname{april}%
10836     \def\mayname{mai}%
10837     \def\junname{juni}%
10838     \def\julname{juli}%
10839     \def\augname{august}%
10840     \def\sepname{september}%
10841     \def\octname{oktober}%
10842     \def\novname{november}%
10843     \def\decname{desember}%
10844     \def\firstedname{1.}%
10845     \def\secondedname{2.}%
10846     \def\thirdedname{3.}%
10847     \def\fourthedname{4.}%
10848     \def\fifthedname{5.}%
10849     \def\thedname{.}%
10850     \def\urldatecomment{sjekket: }%
10851     \def\howcitedprefix{henv: }%
10852     \def\howcitedsuffix{)}%
10853     \def\lookatprefix{((Se note~}%
10854     \def\lookatsuffix{)}%
10855     \def\ibidemname{Ibid.}%
10856     \def\ibidemmidname{ibid.}%
10857     \def\idemname{Idem}%
10858     \def\idemmidname{idem}%
10859     \def\ajtsep{}%
10860     \def\bibcontinuedname{(forts.)}%
10861     \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname}
10862     \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}%
10863     \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}%
10864     \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}%
10865     \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}%
10866     \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}%
10867     \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}%
10868     \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}%
10869     \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}%
10870     \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}%
10871     \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}%
10872     \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}%
10873     \def\trans{\ifjbweareinbib oversatt\else\ifjboxford oversatt\else\ifjbchicago oversatt\else Oversatt\fi\fi\fi}%
10874     \def\transfrom{fra}%
10875     \def\Transfrom{Fra}%
10876     \def\transby{av}%
10877     \def\fromgerman{tysk}%
10878     \def\fromenglish{engelsk}%
10879     \def\fromfrench{fransk}%
10880     \def\fromdutch{nederlandsk}%
10881     \def\fromspanish{spansk}%
10882     \def\fromitalian{italiensk}%
10883     \def\fromnorsk{norsk}%
10884     \def\Reprint{Opptrykk}%
10885     \def\reprint{opptrykk}%
10886     \def\updatesep{,}%
10887     \def\updatename{oppdatert senest:}%
10888     \def\herename{på}%
10889     \def\foundername{\space\edfont{(TO DO)}}% Founder of a series
10890     \def\afterfoundersep{\slash}%
10891     \addtoalllanguages%
10892     }%
10893     %</norsk>
10894     %<*test|testbt>
10895     \documentclass[12pt]{book}
10896     \usepackage[latin1]{inputenc}
10897     \usepackage[%
10898     authorformat=smallcaps,%
10899     %authorformat=italic,%
10900     %authorformat=dynamic,%
10901     %authorformat=citationreversed,%
10902     %authorformat=allreversed,%
10903     %authorformat=firstnotreversed,%
10904     %authorformat=reducedifibidem,%
10905     %authorformat=and,%
10906     %authorformat=year,%
10907     %authorformat=indexed,%
10908     %authorformat=abbrv,%
10909     %coauthorformat=italic,%
10910     %coauthorformat=normal,%
10911     %colastsep=divis,%
10912     %cofirstsep=in,%
10913     %cofirstsep=comma,%
10914     %titleformat=italic,%
10915     %titleformat=all,%
10916     %titleformat=commasep,%
10917     titleformat=colonsep,%
10918     %titleformat=noreplace,%
10919     commabeforerest=true,%
10920     %howcited=all,%
10921     %howcited=normal,%
10922     %howcited=compare,%
10923     %howcited=multiple,%
10924     %ibidem=strict,%
10925     %ibidem=strictdoublepage,%
10926     %ibidem=nostrict,%
10927     %ibidem=name,%
10928     %ibidem=name&title,%
10929     %ibidem=name&title&auto,%
10930     %citefull=first,%
10931     %citefull=chapter,%
10932     %citefull=section,%
10933     %citefull=all,%
10934     %bibformat=tabular,%
10935     %bibformat=nohang,%
10936     %bibformat=numbered,%
10937     %bibformat=ibidem,%
10938     %bibformat=ibidemalt,%
10939     %bibformat=compress,%
10940     %bibformat=raggedright,%
10941     %crossref=long,%
10942     %crossref=short,%
10943     %crossref=dynamic,%
10944     %superscriptedition=all,%
10945     %superscriptedition=switch,%
10946     %superscriptedition=commented,%
10947     %superscriptedition=bib,%
10948     %pages=always,%
10949     %pages=test,%
10950     %pages=format,%
10951     %see=true,%
10952     %lookat=true,%
10953     %human=true,%
10954     %oxford=true,%
10955     %chicago=true,%
10956     %edby=true,%
10957     %endnote=true,%
10958     %biblikecite=true,%
10959     %idem=strict,%
10960     %idem=strictdoublepage,%
10961     %idem=nostrict,%
10962     %opcit=true,%
10963     %opcit=chapter,%
10964     %opcit=section,%
10965     %annote=true,%
10966     %citetoend=true,%
10967     %hypercite=false%
10968     ]{jurabib}
10969     %</test|testbt>
10970     %<*testbt>
10971     \usepackage{bibtopic}
10972     %</testbt>
10973     %
10974     %<*test|testbt>
10975     %%
10976     \begin{document}
10977     %</test|testbt>
10978     %
10979     %<*test>
10980     \bibliography{jbtest}
10981     %</test>
10982     %
10983     %<*test|testbt>
10984     \bibliographystyle{jurabib}
10985     %</test|testbt>
10986     %
10987     %<*testbt>
10988     \chapter*{Literature}
10989     \begin{btSect}{book}
10990     \section*{Monographs}
10991     \btPrintCited
10992     \end{btSect}
10993     \begin{btSect}{comment}
10994     \section*{Commentaries}
10995     \btPrintCited
10996     \end{btSect}
10997     %</testbt>
10998     %
10999     %<*test|testbt>
11000     This is a test\footcite[Rn.~357]{medicus}\footcite[Rn.~78]{broxbgb}\footcite[Rn.~168]{broxbgb}
11001     \newpage
11002     \footcite[Rn.~170]{broxbgb}%
11003     \footcite[Rn.~473]{broxbgb}%
11004     \footcite[Rn.~709]{musielak}%
11005     \footcite[\S~167, Rn.~38][Leptien]{soergel}%
11006     \footcite[\S~15, III, 1]{koehler}%
11007     \footfullcite[Rn. 186]{broxbgb}%
11008     \footcite[\S~147, Rn.~2][Brox]{erm}%
11009     \footcite[Rn.~493]{broxbgb}%
11010     \footcite[Rn.~372]{broxbgb}%
11011     \footcite[Rn.~944]{medicus}%
11012     \footcite[Rn.~949]{huebner}%
11013     \footcite[\S~167, Rn.~27][Brox]{erm}%
11014     \footfullcite{jbtesturl}
11015     \nocite{*}
11016     \end{document}
11017     %</test|testbt>
11018     %
11019     %<*testcb>
11020     \documentclass[12pt]{report}
11021     \usepackage{german}
11022     \usepackage[%
11023     authorformat=smallcaps,%
11024     commabeforerest,%
11025     titleformat=colonsep,%
11026     bibformat={tabular,ibidem},%
11027     pages=format,%
11028     ]{jurabib}
11029     \usepackage[duplicate]{chapterbib}
11030     \usepackage{remreset}
11031     \renewcommand*{\StartFinalBibs}{%
11032     \renewcommand*{\refname}{\chaptername\space\thechapter}%
11033     }%
11034     \makeatletter
11035     \@removefromreset{footnote}{chapter}
11036     \renewcommand*{\bib@heading}{%
11037     \section*{\refname\@mkboth{\refname}{\refname}}%
11038     }%
11039     \makeatother
11040     \begin{document}
11041     \tableofcontents
11042     \include{cb1}
11043     \include{cb2}
11044     \chapter*{Literature}\addcontentsline{toc}{chapter}{Literature}
11045     \bibliographystyle{jurabib}
11046     \bibliography{jbtest}
11047     \end{document}
11048     %</testcb>
11049     %<*testcb1>
11050     \chapter{One}
11051    
11052     That's a very small example document to illustrate the usage of \textsf{jurabib}
11053     \footcite[34]{broxschr} together with \textsf{chapterbib}.\footcite[34]{broxbgb}
11054    
11055     \bibliographystyle{jurabib}
11056     \bibliography{jbtest}
11057     %</testcb1>
11058     %
11059     %<*testcb2>
11060     \chapter{Two}
11061    
11062     That's a very small example document to illustrate the usage of \textsf{jurabib}
11063     \footcite[34]{broxschr} together with \textsf{chapterbib}.\footcite[34]{palandt}
11064    
11065     \bibliographystyle{jurabib}
11066     \bibliography{jbtest}
11067     %</testcb2>
11068     %
11069     %<*testbib|book>
11070     @BOOK{broxbgb,
11071     author = {Hans Brox},
11072     title = {Allgemeiner Teil des Bürgerlichen Gesetzbuches},
11073     shorttitle = {BGB~AT},
11074     year = 1996,
11075     language = {german},
11076     address = {Köln, Berlin, Bonn, München},
11077     edition = 20,
11078     annote = {This is a senseless test for testing the annote field.\par If
11079     you are reading this text now, note that you can switch
11080     off the output of this field by removing the \texttt{annote} option
11081     \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}}
11082     }
11083     @BOOK{broxschr,
11084     author = {Hans Brox},
11085     title = {Besonderes Schuldrecht},
11086     shorttitle = {SchR~BT},
11087     year = 1995,
11088     language = {german},
11089     address = {München},
11090     edition = 20
11091     }
11092     @BOOK{canaris,
11093     author = {Claus Wilhelm Cannabis},
11094     title = {Die Vertrauenshaftung im deutschen Privatrecht},
11095     shorttitle = {Vertrauenshaftung},
11096     year = 1971,
11097     language = {german},
11098     address = {München}
11099     }
11100     @BOOK{ennenipp,
11101     author = {Ludwig Enneccerus and Hans Carl Nipperdey},
11102     title = {Allgemeiner Teil des Bürgerlichen Rechts},
11103     year = 1960,
11104     volume = {1},
11105     language = {german},
11106     volumetitle = {zweiter Halbband},
11107     address = {Tübingen},
11108     edition = 15
11109     }
11110     @BOOK{huebner,
11111     author = {Heinz Hübner},
11112     title = {Allgemeiner Teil des Bürgerlichen Gesetzbuches},
11113     shorttitle = {BGB~AT},
11114     year = 1996,
11115     language = {german},
11116     address = {Berlin, New York},
11117     edition = 2
11118     }
11119     @BOOK{koehler,
11120     author = {Helmut Köhler},
11121     title = {BGB Allgemeiner Teil},
11122     shorttitle = {BGB~AT},
11123     language = {german},
11124     year = 1996,
11125     address = {München},
11126     edition = 23
11127     }
11128     @BOOK{medicus,
11129     author = {Dieter Medicus},
11130     title = {Allgemeiner Teil des BGB},
11131     shorttitle = {BGB~AT},
11132     year = 1995,
11133     howcited = 1,
11134     address = {München},
11135     edition = {6}
11136     }
11137     @BOOK{musielak,
11138     author = {Hans-Joachim Musielak},
11139     title = {Grundkurs BGB},
11140     shorttitle = {BGB~GK},
11141     language = {german},
11142     year = 1994,
11143     address = {München}
11144     }
11145     @BOOK{alexy,
11146     author = {Alexy, Robert},
11147     title = {Theorie der Grundrechte},
11148     year = 1985,
11149     address = {Baden-Baden},
11150     school = {Göttingen},
11151     dissyear = 1984
11152     }
11153     %</testbib|book>
11154     %<*testbib>
11155     @ARTICLE{broxja,
11156     author = {Hans Brox},
11157     gender = {sm},
11158     title = {Die Anfechtung bei der Stellvertretung},
11159     journal = {JA},
11160     language = {german},
11161     year = 1980,
11162     address = {München}
11163     }
11164     @ARTICLE{eujenfrank,
11165     author = {Heiko Eujen and Rainer Frank},
11166     gender = {pm},
11167     title = {Anfechtung der Bevollmächtigung nach Abschluß des
11168     Vertretergeschäftes\,?},
11169     language = {german},
11170     journal = {JZ},
11171     year = 1973
11172     }
11173     @ARTICLE{proelss,
11174     author = {Jürgen Prölss},
11175     gender = {sm},
11176     title = {Vertretung ohne Vertretungsmacht\,?},
11177     journal = {JuS},
11178     language = {german},
11179     year = 1985
11180     }
11181     @PERIODICAL{oellers,
11182     author = {Bernd Oellers},
11183     gender = {sm},
11184     title = {Doppelwirkung im Recht\,?},
11185     journal = {AcP},
11186     language = {german},
11187     year = 1969,
11188     volume = 169
11189     }
11190     %</testbib>
11191     %<*testbib|comment>
11192     @COMMENTED{erm,
11193     author = {Walther Erman},
11194     gender = {sm},
11195     title = {Handkommentar zum Bürgerlichen Gesetzbuch},
11196     address = {Münster},
11197     language = {german},
11198     year = 1993,
11199     volume = 1,
11200     edition = {9}
11201     }
11202     @COMMENTED{mueko,
11203     title = {Kommentar zum Bürgerlichen Gesetzbuch},
11204     shortauthor = {MüKo},
11205     address = {München},
11206     language = {german},
11207     year = 1994,
11208     volume = 2,
11209     volumetitle = {-- Schuldrecht -- Allgemeiner Teil},
11210     edition = {3}
11211     }
11212     @COMMENTED{palandt,
11213     author = {Otto Palandt},
11214     gender = {sm},
11215     title = {Kommentar zum Bürgerlichen Gesetzbuch},
11216     address = {München},
11217     language = {german},
11218     year = 1996,
11219     edition = {6}
11220     }
11221     @COMMENTED{soergel,
11222     author = {Hans Theodor Soergel},
11223     gender = {sm},
11224     title = {Kommentar zum Bürgerlichen Gesetzbuch},
11225     address = {Stuttgart, Berlin, Köln, Mainz},
11226     year = 1987,
11227     howcited = 1,
11228     edition = 12,
11229     volume = 1,
11230     language = {german}
11231     }
11232     %</testbib|comment>
11233     %<*testbib|other>
11234     @INCOLLECTION{incollection-full,
11235     author = {Daniel D. Lincoll},
11236     gender = {sm},
11237     title = {Semigroups of Recurrences},
11238     editor = {David J. Lipcoll and D. H. Lawrie and A. H. Sameh},
11239     booktitle = {High Speed Computer and Algorithm Organization},
11240     publisher = {Academic Press},
11241     year = 1977,
11242     number = 23,
11243     series = {Fast Computers},
11244     type = {Part},
11245     chapter = 3,
11246     pages = {179--183},
11247     address = {New York},
11248     edition = {Third},
11249     month = sep,
11250     language = {english},
11251     note = {This is a full INCOLLECTION entry}
11252     }
11253     @INCOLLECTION{incollection-crossref,
11254     author = {Daniel D. Lincoll},
11255     gender = {sm},
11256     title = {Semigroups of Recurrences},
11257     pages = {179--183},
11258     language = {english},
11259     note = {This is a cross-referencing INCOLLECTION entry},
11260     crossref = {whole-collection}
11261     }
11262     @BOOK{whole-collection,
11263     title = {High Speed Computer and Algorithm Organization},
11264     editor = {David J. Lipcoll and D. H. Lawrie and A. H. Sameh},
11265     gender = {sm},
11266     publisher = {Academic Press},
11267     year = 1977,
11268     series = {Fast Computers},
11269     address = {New York},
11270     edition = {Third},
11271     month = sep,
11272     language = {english},
11273     note = {This is a cross-referenced BOOK (collection) entry},
11274     booktitle = {High Speed Computer and Algorithm Organization},
11275     number = 23
11276     }
11277     @MASTERSTHESIS{alexymthesis,
11278     author = {Alexy, Robert},
11279     gender = {sm},
11280     title = {Theorie der Grundrechte},
11281     year = 1984,
11282     school = {Göttingen}
11283     }
11284     @PHDTHESIS{alexyphdthesisi,
11285     author = {Alexy, Robert},
11286     gender = {sm},
11287     title = {Theorie der Grundrechte},
11288     year = 1984,
11289     school = {Göttingen}
11290     }
11291     @PHDTHESIS{alexyphdthesisii,
11292     author = {Alexy, Robert},
11293     gender = {sm},
11294     title = {Theorie der Grundrechte},
11295     year = 1984,
11296     type = {Habil.},
11297     school = {Göttingen}
11298     }
11299     @JURTHESIS{alexyjurthesisi,
11300     author = {Alexy, Robert},
11301     gender = {sm},
11302     title = {Theorie der Grundrechte},
11303     year = 1984,
11304     school = {Göttingen}
11305     }
11306     @JURTHESIS{alexyjurthesis,
11307     author = {Alexy, Robert},
11308     gender = {sm},
11309     title = {Theorie der Grundrechte},
11310     year = 1984,
11311     type = {Habil.},
11312     school = {Göttingen}
11313     }
11314     @WWW{jbtesturl,
11315     author = {Jens Berger},
11316     gender = {sm},
11317     title = {Home of jurabib},
11318     url = {http://userpage.fu-berlin.de/~jberger/docs/english/jbendoc.html},
11319     urldate = {2002/07/11}
11320     }
11321     %</testbib|other>
11322     %<*config>
11323     \ProvidesFile{jurabib.cfg}[2002/07/11 v0.52o jurabib configuration file]
11324     \jurabibsetup{%
11325     %authorformat=smallcaps,%
11326     %authorformat=italic,%
11327     %authorformat=dynamic,%
11328     %authorformat=citationreversed,%
11329     %authorformat=allreversed,%
11330     %authorformat=firstnotreversed,%
11331     %authorformat=reducedifibidem,%
11332     %authorformat=and,%
11333     %authorformat=year,%
11334     %authorformat=indexed,%
11335     %authorformat=abbrv,%
11336     %coauthorformat=italic,%
11337     %coauthorformat=normal,%
11338     %colastsep=divis,%
11339     %cofirstsep=in,%
11340     %cofirstsep=comma,%
11341     %titleformat=italic,%
11342     %titleformat=all,%
11343     %titleformat=commasep,%
11344     %titleformat=colonsep,%
11345     %titleformat=noreplace,%
11346     %commabeforerest=true,%
11347     %howcited=all,%
11348     %howcited=normal,%
11349     %howcited=compare,%
11350     %howcited=multiple,%
11351     %ibidem=strict,%
11352     %ibidem=strictdoublepage,%
11353     %ibidem=nostrict,%
11354     %ibidem=name,%
11355     %ibidem=name&title,%
11356     %ibidem=name&title&auto,%
11357     %citefull=first,%
11358     %citefull=chapter,%
11359     %citefull=section,%
11360     %citefull=all,%
11361     %bibformat=tabular,%
11362     %bibformat=nohang,%
11363     %bibformat=numbered,%
11364     %bibformat=ibidem,%
11365     %bibformat=ibidemalt,%
11366     %bibformat=compress,%
11367     %bibformat=raggedright,%
11368     %crossref=long,%
11369     %crossref=short,%
11370     %crossref=dynamic,%
11371     %superscriptedition=all,%
11372     %superscriptedition=switch,%
11373     %superscriptedition=commented,%
11374     %superscriptedition=bib,%
11375     %pages=always,%
11376     %pages=test,%
11377     %pages=format,%
11378     %see=true,%
11379     %lookat=true,%
11380     %human=true,%
11381     %oxford=true,%
11382     %chicago=true,%
11383     %edby=true,%
11384     %endnote=true,%
11385     %biblikecite=true,%
11386     %idem=strict,%
11387     %idem=strictdoublepage,%
11388     %idem=nostrict,%
11389     %opcit=true,%
11390     %opcit=chapter,%
11391     %opcit=section,%
11392     %annote=true,%
11393     %citetoend=true,%
11394     %hypercite=false%
11395     }
11396     %</config>
11397     %<*jbtesthutex>
11398     \documentclass[12pt,a4paper,german,english]{article}
11399     \usepackage[latin1]{inputenc}
11400     \usepackage{babel}
11401     \usepackage[%
11402     titleformat=italic,%
11403     titleformat=all,%
11404     titleformat=noreplace,%
11405     titleformat=commasep,%
11406     commabeforerest,%
11407     ibidem=strict,%
11408     citefull=first,%
11409     lookat,%
11410     oxford,%
11411     pages=format,%
11412     ]{jurabib}
11413    
11414     \begin{document}
11415     \footcite[23--67]{bergmeier80}%
11416     \footcite[23--67]{helm72}%
11417     \footcite[23--67]{helm82}%
11418     \footcite[23--67]{helm82a}%
11419     \footcite[23--67]{helm97}%
11420     \footcite[23--67]{LunWalThis99}%
11421     \footcite[23--67]{bergmeier80}%
11422     \footcite[23--67]{Thiselton99}%
11423     \footcite[23--67]{LunWalThis99}%
11424     \footcite[23--67]{Lundin99}%
11425     \footcite[23--67]{Lundin99}%
11426     \footcite[67f]{Lundin99}%
11427     \footcite[23--67]{Kraft74}%
11428     \footcite[23--67]{Oberman88}%
11429    
11430     \footcite[67ff]{bergmeier80}%
11431     \footcite[67]{helm72}%
11432     \footcite[67]{helm82}%
11433     \footcite[67]{helm82a}%
11434     \footcite[67]{helm97}%
11435     \footcite[67]{bergmeier80}%
11436     \footcite[67]{Thiselton99}%
11437     \footcite[67]{LunWalThis99}%
11438     \footcite[67]{Lundin99}%
11439     \footcite[67]{Kraft74}%
11440     \footcite[67]{Oberman88}%
11441     \footnote{In ``\citefield{title}{Thiselton99}'' Thiselton said~\dots}
11442    
11443     This is a very simple test document to illustrate some of the
11444     capabilities of \textsf{jurabib} in the humanities.
11445     If someone can contribute a better one, please e-mail me:
11446     \texttt{jb@jurabib.org}.
11447    
11448    
11449     \bibliographystyle{jurabib}
11450     %%\bibliographystyle{jhuman}
11451     \bibliography{jbtesthu}
11452    
11453     \end{document}
11454     %</jbtesthutex>
11455     %<*jbtesthubib>
11456     @BOOK{bergmeier80,
11457     author = {Bergmeier, Roland},
11458     gender = {sm},
11459     title = {Glaube als Gabe nach Johannes: Religions- und
11460     Theologiegeschichtliche Studien zum prädestinatianischen
11461     Dualismus im vierten Evangelium},
11462     publisher = {W. Kohlhammer},
11463     year = 1980,
11464     volume = 112,
11465     series = {Beiträge zur Wissenschaft vom Alten und Neuen Testament},
11466     address = {Stuttgart etc.},
11467     keywords = {Predestinatie; Johannes; Gnostiek; Qumran; Dualisme},
11468     language = {german},
11469     shorttitle = {Glaube als Gabe},
11470     annote = {This is a senseless test for testing the annote field.\par If
11471     you are reading this text now, note that you can switch
11472     off the output of this field by removing the \texttt{annote} option
11473     \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}}
11474     }
11475     @ARTICLE{helm72,
11476     author = {Helm, Paul},
11477     gender = {sm},
11478     title = {Revealed Propositions and Timeless Truths},
11479     journal = {Religious Studies},
11480     year = 1972,
11481     volume = 8,
11482     pages = {127--136},
11483     comment = {Nog eens kopieren}
11484     }
11485     @BOOK{helm82,
11486     author = {Helm, Paul},
11487     gender = {sm},
11488     title = {Divine Revelation: The Basic Issues},
11489     year = 1982,
11490     address = {London},
11491     annote = {Verdediging van propositionele visie op Openbaring},
11492     language = {english},
11493     shorttitle = {Divine Revelation}
11494     }
11495     @INCOLLECTION{helm82a,
11496     author = {Helm, Paul},
11497     gender = {sm},
11498     title = {The Role of Logic in Biblical Interpretation},
11499     editor = {E. Radmacher and R. Preus},
11500     booktitle = {Hermeneutics, Inerrancy, \& the Bible},
11501     year = 1982,
11502     pages = {841--858},
11503     address = {Grand Rapids},
11504     language = {english},
11505     shorttitle = {Role of Logic}
11506     }
11507     @BOOK{helm97,
11508     author = {Helm, Paul},
11509     gender = {sm},
11510     title = {Faith and Understanding},
11511     year = 1997,
11512     series = {Reason and Religion},
11513     address = {Edinburgh},
11514     publisher = {Edinburgh University Press},
11515     language = {english}
11516     }
11517     @INCOLLECTION{Thiselton99,
11518     author = {Thiselton, Anthony C.},
11519     gender = {sm},
11520     title = {Communicative Action and Promise in
11521     Interdisciplinary, Biblical, and Theological Hermeneutics},
11522     booktitle = {The Promise of Hermeneutics},
11523     pages = {133--240},
11524     crossref = {LunWalThis99},
11525     shorttitle = {Communicative Action}
11526     }
11527     @BOOK{LunWalThis99,
11528     editor = {Lundin, Roger and Walhout, Clarence and Thiselton, Anthony C.},
11529     gender = {pm},
11530     year = 1999,
11531     title = {The Promise of Hermeneutics},
11532     publisher = {Eerdmans},
11533     address = {Grand Rapids},
11534     shorttitle = {Promise}
11535     }
11536     @INCOLLECTION{Lundin99,
11537     author = {Lundin, Roger},
11538     gender = {sm},
11539     title = {Interpreting Orphans: Hermeneutics in the Cartesian
11540     Tradition},
11541     booktitle = {The Promise of Hermeneutics},
11542     pages = {1--64},
11543     crossref = {LunWalThis99},
11544     shorttitle = {Interpreting Orphans}
11545     }
11546     @Book{Oberman88,
11547     author = {Oberman, Heiko Augustinus},
11548     gender = {sm},
11549     title = {De erfenis van Calvijn: grootheid en grenzen: drie
11550     lezingen},
11551     publisher = {Kok},
11552     year = 1988,
11553     address = {Kampen},
11554     annote = {zie liter},
11555     series = {Kuyper-voordrachten},
11556     language = {dutch}
11557     }
11558     @Book{Kraft74,
11559     editor = {Kraft, Robert A. and Attridge, Harold and Spittler, Russell and Timbie, Janet},
11560     gender = {pm},
11561     title = {The Testament of Job According to the SV Text},
11562     publisher = {Society of Biblical Literature \& Scholars' Press},
11563     year = 1937,
11564     volume = 4,
11565     series = {Texts and Translations 5: Pseudepigrapha Series},
11566     address = {Missoula, Montana},
11567     }
11568     %</jbtesthubib>
11569     %<*jblongcfg>
11570     %% This is a example configuration file to use for exam homeworks,
11571     %% dissertations and the like for german law students, contributed
11572     %% by Tilman Finke (Tilman.Finke@web.de) If you want to use it,
11573     %% rename it to `jurabib.cfg'.
11574     %% If you want to share your personal configuration file (e.g. if it
11575     %% reflects the requests of your university), please send it to
11576     %% jb@jurabib.org
11577     \jurabibsetup{authorformat=dynamic,
11578     superscriptedition=all,
11579     titleformat=all,
11580     titleformat=commasep,
11581     titleformat=noreplace,
11582     colastsep=divis,
11583     howcited=compare,
11584     commabeforerest,
11585     bibformat=ibidemalt,
11586     bibformat=compress,
11587     pages=always}
11588     \renewcommand*{\bibjtsep}{in: }
11589     \renewcommand*{\bibatsep}{,}
11590     \renewcommand*{\bibbdsep}{}
11591     \renewcommand*{\jbaensep}{,}
11592     \jbdotafterbibentry
11593     \formatpages[ ]{article}{(}{)}
11594     %</jblongcfg>
11595     \endinput
11596     % \fi
11597     % \def\GlossaryPrologue{\section*{"Anderungsverzeichnis}
11598     % \markboth{"Anderungsverzeichnis}{"Anderungsverzeichnis}
11599     % \addcontentsline{toc}{section}{"Anderungsverzeichnis}}
11600     % \Finale
11601     %\endinput