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 (21 years, 11 months 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

# Content
1 % \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