diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/jurabib |
Initial commit
Diffstat (limited to 'macros/latex/contrib/jurabib')
-rw-r--r-- | macros/latex/contrib/jurabib/changes.txt | 718 | ||||
-rw-r--r-- | macros/latex/contrib/jurabib/docs/english/jbendoc.pdf | bin | 0 -> 298791 bytes | |||
-rw-r--r-- | macros/latex/contrib/jurabib/docs/english/jbendoc.tex | 2254 | ||||
-rw-r--r-- | macros/latex/contrib/jurabib/docs/german/jbgerdoc.pdf | bin | 0 -> 328758 bytes | |||
-rw-r--r-- | macros/latex/contrib/jurabib/docs/german/jbgerdoc.tex | 2422 | ||||
-rw-r--r-- | macros/latex/contrib/jurabib/jurabib.dtx | 14030 | ||||
-rw-r--r-- | macros/latex/contrib/jurabib/jurabib.ins | 202 |
7 files changed, 19626 insertions, 0 deletions
diff --git a/macros/latex/contrib/jurabib/changes.txt b/macros/latex/contrib/jurabib/changes.txt new file mode 100644 index 0000000000..e8da3a562f --- /dev/null +++ b/macros/latex/contrib/jurabib/changes.txt @@ -0,0 +1,718 @@ +0.6 + NEW: + o IMPORTANT: The order of optional arguments has changed! + `natoptargorder' option removed, natbib order of optional + arguments is now NEW DEFAULT! There is a compatibility + option `jurabiborder' for old documents. + o jox.bst is part of jurabib.dtx. + o Indexing code completely rewritten (contributed by Stefan Ulrich). + o Danish language support added (contributed by Mads Munch Hansen). + o Finnish language support added (contributed by Harri Kiiskinen). + o Portuguese language support (contributed by Eva and Miguel Costa). + o new option `silent', replaces \jbsilent. + o new option `dotafter=bibentry' replaces \jbdotafterbibentry. + o new option `dotafter=endnote' replaces \jbdotafterendnote. + o new option `lookforgender', replaces \jblookforgender. + o new option `annotatorlastsep', replaces `colastsep' option. + o new option `annotatorfirstsep', replaces `cofirstsep' option. + o new option `annotatorformat', replaces `coauthorformat' options. + o new option `super' transforms \cite commands to footnotes, + suggested by Frank Mittelbach. + o new option `config=<configfile without extension>', allows to + switch between configfiles, suggested by Frank Mittelbach. + o new command \lookatfortype, allows to determine a list of entry types + for which the lookat feature should be used (suggested by David Feest). + o \footcitetitleonly introduced, suggested by Frank Mittelbach. + o New commands to tune indexing introduced: + \jbdonotindexeditors (suppress editor-indexing). + \jbdonotindexauthors (suppress author-indexing). + \jbdonotindexorganizations (suppress org-indexing). + \jbindexonlyfirstauthors (to index authors only at first appearence). + \jbindexolyfirsteditors (to index editors only at first appearence). + \jbindexolyfirstorganizations (to index organizations only at first appearence). + Known Problem: Authors with special characters (umlauts etc.) + aren't sorted properly (makeindex-problem). + o Oyear support for citations added, can be switched on by using + \jboyearincitation. + o Implemented \numberandseries and some periodical formatting specials for jox.bst. + o loading of config files rewritten. The loading is now as follows: + 1. \usepackage option overwrites values given by config files. + 2. option placed in \jurabibsetup (in the preamble) overwrites + values given by \usepackage. + 3. last \jurabibsetup overwrites values of preceding \jurabibsetup. + o Some hooks for multibib.sty compatibility implemented, testfiles + added for multibib compatibility (jbtestmb.tex) and for + bibunits compatibility (jbtestbu.tex), thanks to Thorsten Hansen + for adapting his packages. + o new commands \bibleftcolumnstretch, \bibrightcolumnstretch and + \bibtabularitemsep introduced to adjust linestretch and + itemsep in 'bibformat=tabular' mode. + o \bibnotcited, \howcitedprefix and \lookatprefix contains now space + to make redefinition (e.g. with comma) easier, + suggested by Frank Mittelbach. + o new entry type @ARCHIVAL for historical documents introduced (alpha stage!), + (suggested by Jan Nikolas Dicke). + o Warning for missing pageranges limited to @ARTICLE and @PERIODICAL. + o \citep{key1,key2} now generates (author1; author2) + o new command introduced to make the page separator configurable: \jbpagesep + REMOVED: + 'multiple'-functionality removed! To have the same feature you + have to load footmisc.sty with option 'multiple' now, + suggested by Frank Mittelbach. + BUGFIXES: + o editortype bugfix, @incollection did not recognize the `editortype' field + if there were more than one editor, reported by David Krebs. + o '\def\cite' replaced by '\DeclareRobustCommand\cite', bug fixed by Stefan Ulrich. + o Bugfix regarding extra labels, reported by Dominik Waßenhoven, solved by Robert Schlicht. + o Bugfix regarding configuration commands in the jurabib.cfg file + (reported by Dominik Waßenhoven). + o Some fixes regarding the extra label stuff for artical and periodical + (reported by Dominik Waßenhoven). + o When using natbib commands with year output, printout of bibliography extra + label is automatically switched on (bug reported by Patrick Hausmann). + o Bugfix for generated <author year> cite, forgotten \space in \jbsy. + o Bugfix for preceding whitespace in front of all cite commands + (forgotten percent at line end), both reported by Klaus Hellermann. + o Small bugfixes regarding `howcited=multiple' (1. forgotten command + to call howcited for @commented, 2. forgot to reverse order + of optional arguments), both reported by Holger Pollmann. + o \jbindexbib works correctly again. + o Problem with natbib commands and optional arguments solved + (reported by Mads Munch Hansen). + o small bugfix concerning interaction with alphanum.sty, (reported by Michael Below). + o some improvements and bugfixes in jurabib.sty and .bst files added, + suggested by Robert Schlicht. + o added some alternative babel main language values, initially + suggested by Harri Kiiskinen. + o Hook for memoir.cls bibliography added, suggested by Robert Schlicht + (requires mempatch.sty!). + o small typo in frjbbib.ldf fixed, reported by Thomas Crulli. + o small bugfix for loaded hyperref and tabularx packages + (hyperref turns off hyperfootnotes internally), + bug reported by Maarten Wisse. + o small bugfix regarding @PERIODICALS in .bst files, contributed + by Tilman Finke. + o some bugfixes in the .bst files regarding dissyear and year. + o @INCOLLECTION added to the command \jbfirstcitepageranges + (suggested by David Feest). + o check for more than one author/editor introduced, + requires new function `count.authors.or.editors' + in .bst file (bug reported by Maarten Wisse). + o bugfix for @manual function, did not recognize organization as + fallback for missing author, reported by Frank Mittelbach. + o bugfix for `ibidem=name&title&auto', reported by Frank Mittelbach. + o \nextcite-commands are working for first citation now while + using `citefull=first', reported by Frank Mittelbach. + o bug regarding endnotes.sty fixed, reported by Frank Mittelbach. + o language bug in \citefield fixed, reported by Frank Mittelbach. + o again some bugfixes regarding footnote stuff and interaction with + footmisc.sty (espescially para option) reported and + suggested by Frank Mittelbach. + o new integer 'extra.extra.num', new function 'make.extra.label' and + some modifications on 'forward.pass' (suggested by Robert Schlicht + in d.c.t.t.) + o empty default for \ajtsep for some languages removed (bug reported + by Olaf Meltzer). + o some changes in jurabib.ins (suggested by Heiko Oberdiek). + o bugfix for hyperref users -- wrapper for hyperref's footnote definition + inserted (suggested by Heiko Oberdiek in d.c.t.t.). + o several bugfixes, some reported by Frank Mittelbach (empty default for + \jbhowsepcoauthorfirst and some forgotten \unskips). + o small bugfix regarding wrong warnings for @ARTICLE, bugfix for + interaction between \jbusehowcitedforcite and `ibidem' (bugs reported + by Jan Nikolas Dicke). + o small bugfix regarding `authorformat=and' (bugfix contributed by Robert Schlicht). + o small bugfixes in .bst files. + o adapted version of \ProcessOptionsWithKV, after discussion in d.c.t.t. + o .dtx file cleaned. +0.52p + natbib commands are working with `authorformat=index' now + (bug reported by Jose Ignacio Sanchez-Macias). + some changes in spjbbib.ldf (suggested by Jose Ignacio Sanchez-Macias). + bugfix for missing \endgroup (double \begingroup!) while + calling \jbcitenotitle. + removed doubled comma, if number and volume are given, + while \artnumberformat prints out a comma by itself + (reported by Kai Kramer and Jose Ignacio Sanchez-Macias). + no longer double output of year for @article type (generated + shorttitle contains `journal year'). + fallback to url (if url given and neither shortauthor or shorttitle + are given) removed, because of problems of detecting + not given url. + check for `commabeforerest' introduced for \citefield. + no longer additional shorttitle, if `authorformat=year' is used. + `\bfseries ?' replaced by `{\bfseries ?, #1}' (suggested by Tilman Finke). +0.52o + hardcoded `in:' removed (reported by Peter Flynn). + No longer warnings about ambiguous citations if + `authorformat=year' is used. + New entry type @LEXICON introduced (alpha stage!). +0.52n + bugfix regarding babel's french options (reported by Peter Flynn). + sort.format.names removed for sortkey. All spaces are ignored now. + natbib-emulated command `\citet' improved (bug reported by Klaus Hellermann). + \citeworkwithtitle{} allows to specify a list of works (keys), for those the + title should always be printed (suggested by Till A. Heilmann) + natbib emulation commands using the first optional argument for pages now + (bug reported by Bear F. Braumoeller). +0.52m + rewritten macro \jbfirstcitepageranges. Documentation added. +0.52l + Counting of citations inside \footnote's introduced to avoid lowercase ibidem + at the begin of the footnote. + `pages=always' includes no longer the pagerange in the short citation. +0.52k + lowercase ibidem for inline citations or \cite's inside the same footnote + (reported by Matthias Damm). + some \def's replaced by \DeclareRobustCommand's. +0.52j + bugfix for indexing with `index' package, reported by Dirk Steinmeyer. + No special code for loaded footmisc, exceeded TeX capacity if + `multiple' option was used (reported by Thorsten Manegold). +0.52i + Printout no title, if `authorformat=year' is used + and no shorttitle is given (reported by Carsten Mennenoeh). + output of startpage for ibidem citations is suppressed now + (suggested by Benjamin von Engelhardt). +0.52h + bugfix regarding starred \cite-commands, produced fatal error, + reported by Jan Reidar Oeverland. +0.52g + small bugfix regarding \jbfirstcitepageranges. + wrong order of publisher and address in jureco.bst corrected + (reported by Klaus Hellermann), all hardcoded ": " + replaced by \bpubaddr. + some improvements on norwegian language file nojbbib.ldf, + contributed by Jan Reidar Oeverland. + bugfix for indexing macros, reported by Andrea Rossato. + bugfix for ibidem, reported by Matthias Steinbrink. +0.52f + command \jbfirstcitepageranges introduced, it enables the output + of pageranges for first citation of @ARTICLE and @PERIODICAL + and adds an `here' before the page given via the optional + argument of the cite command: + + `Author: Title [...], p. 192-225, here: p. 200' + +0.52e + \jbbookedaftertitle introduced, for a @BOOK-entry with author + and editor you are able to switch from + `author; editor (ed): title ...' + to + `author: title, ed. by editor, ...' + this command is experimental! + Markup for volume improved, it's possible to set a (globally) + separation command after volume: \aftervolsep. + New field `totalpages' for @BOOK type introduced, produces + `n pages' at the end of the bibliographic entry. A new + macro called \bibtotalpagesname can be used to adapt + the sequence after the total pages number, but beware + of using abbreviations with a period at the end, this + can result in unwanted double dots! This feature is + experimental too. +0.52d + again minor bugfix regarding \formatpages and `pages=format'. + jurunsrt.bst reintroduced. +0.52c + small bugfix regarding \formatpages and `pages=format', + reported by Klaus Hellermann. +0.52b + automatic formatting of second page removed, when using + \formatpages and `pages=format' (suggested + by Benjamin von Engelhardt). +0.52a + bugfix for \jblookforgender, reported by Benedikt Welter. +0.52 + markup for volume and indexed authors introduced, both + suggested by Otto Janschek. +0.51z + small bugfix regarding `annote' option and `bibformat=tabular'. + markup for ISBN and ISSN introduced. + some modifications in frjbbib.ldf, contributed by Hélène Fernandez. + some modifications in spjbbib.ldf and itjbbib.ldf, + contributed by Pablo Rodriguez. + some bugfixes for missing author in @COMMENTED. +0.51y + markup for numbered bibliography introduced (\bibnumberformat). +0.51x + \bibbudcsep added, configurable separation of \urldatecomment + (suggested by Carsten Mennenoeh), docs adapted. + minor bugfixes +0.51w + some bugfixes regarding gender handling: you have to use + \jblookforgender explicitely in the preamble now. + again bugfix regarding `bibformat=ibidemalt', \fsted and + \snded macros rewritten. +0.51v + hardcoded dot replaced by \bibatsep in \incolledformat + check for jhuman.bst reintroduced. + bugfix for `bibformat=ibidemalt', reported by Matthias Damm. + \jbshowbibextralabel introduced to show extra label for + works from same year in the bibliography. +0.51u + bugfix for `pages=format', wrong `s' removed (reported by Maarten Wisse). + bugfix for `hypercite=false'; check for loaded hyperref package removed, + caused wrong hyperlinks (reported by Maarten Wisse). +0.51t + \par added in \jbannoteformat (suggested by Robert Schlicht). + \bib[e]imfont is using \bib[e]fnfont instead of + \bib[e]lnfont by default (suggested by Robert Schlicht). +0.51s + minor bugfixes, some reported by Robert Schlicht. + annote files for bibliography are useable now. These files + have to be named like the bibliography database entry + with .tex extension and are used if the annote field + is empty. With \bibAnnotePath you can give a path + to your annote files (suggested by Robert Schlicht). +0.51r + dummy year reintroduced, needed for correct label generating. + superfluous whitespace in \cite removed. + natbib emulation commands bug fixed and improved, much + better endnotes-support now. + natbib emulation commands are able to recognize a second + optional argument. + tilde removed from \jb@deactivate@babel. + \citefield knows value `url' now. + \cite command can print out url, if no shortauthor and + shorttitle is given. + jurabib speaks now italian, first trial. (Thanks to Pablo Rodriguez). +0.51q + small bug inside jurabib.bst fixed, reported by Tilman Finke. +0.51p + bugfix regarding \formatpages and `commabeforerest', found by Tilman Finke. + again some definitions changed in spjbbib.ldf (thanks to Pablo Rodriguez). +0.51o + \formatpages has now two optional arguments, I added one to make the + separation before the start page configurable; is influenced by + `commabeforerest' by default. + new commands added to adapt the separation of \formatpages automatically +0.51n + Bugfix regarding `bibformat=ibidemalt' and usage of \typearea from + the KOMA-bundle after loading jurabib.sty, contributed by + Tilman Finke. + again some definitions changed in spjbbib.ldf (thanks to Pablo Rodriguez). +0.51m + some definitions changed in spjbbib.ldf (thanks to Pablo Rodriguez). + more spaces added for better line breaking, regarding the well + known BibTeX bug. + `superscriptedition=multiple' should work with german umlauts. +0.51l + \bibimfont improved. + `superscriptedition=multiple' should work now as expected (only for + @COMMENTED at the moment!). VERY special thanks to Stefan Ulrich! +0.51k + `superscriptedition=multiple' will not work correctly now, because I + had to remove the code from jurabib.bst, which does the main work + to mark the entries which have same title but different editions. + I have to rebuild the mechanism in LaTeX, which can take some time. + Lot of people have reported errors with long title fields and + BibTeX error messages. That's the reason to remove the code from + the .bst. + A small bug was found by Andreas Altenburger, the combination of + `authorformat=year' and `titleformat=all' has not worked correctly, + the titles were not printed out. This (new bug) was introduced in + beta 23, trying to remove wrong warning about ambiguous citations. + It should work now (while introducing \ifjb@starred@cite). + First trial for spanish support. Special thanks to Pablo Rodriguez + for first translation. Bug reports welcome. +0.51j + new option `superscriptedition=year' places the superscripted edition + number before the year. `superscriptedition=bib' is also available + with `superscriptedition=address'. These options are working only + for jurabib.bst and jureco.bst! There are no plans to implement + them for jox.bst or jchic.bst. +0.51i + some improvements on `authorformat=indexed'. +0.51h + juratitle field in jurabib.bst was missing, reintroduced; new options + `superscriptedition=multiple' (superscripted edition number instead of + title for same work with different edition numbers) and + `superscriptedition=kerning' (replaces \jbsseditionkerned) introduced. +0.51g + \bibpagename and \bibpagesname introduced for separate + formatting of pages in the bibliography +0.51f + configurable commands added to format author names and order of + name parts in bibliography, e.g.: + \renewcommand\jbRevedFirstVonNoJr{% + \biblnfmt{\jbVon\space\jbLast, }\bibfnfmt{\jbCheckedFirst}} + changes format from `last, first, von' to `von last, first' + for the case that a `von' part is given, but no `jr' part. +0.51e + year after label (`}% <year>') removed in jurabib.bst. + new field `updated' for @commented introduced, `suggested' by + Holger Pollmann in dctt. +0.51d + @phdthesis function rewritten. `format.mthesis' and `format.juradiss.thesis' + removed. Now only one generic function `format.thesis'. + Bug reported by Marco Kuhlmann. + German documentation extracted to jbgerdoc.tex. `latex jurabib.dtx' + will no longer produce any documentation. + TEXTEDITION FIELD REMOVED, same behavior is available by enclosing the + edition in braces. +0.51c + new option `hypercite=false' for disabling automated hyperlinks when + using hyperref package, suggested by Tilman Finke. +0.51b + mixed series and title in FUNCTION {format.btitle.vol} in jurabib.bst + and jureco.bst corrected. +0.51a + \nopage and \pageadd can be used in pages field, Bug reported by + Sönke Schaal (<s.schaal@freenet.de>), solution suggested by + Stefan Ulrich. +0.51 + changed version numbering because of increasing numbers of `beta' versions + (v0.5f beta 27 = v0.51), new minor releases will have an additional + lower case letter (the next minor release will will be v0.51a). + Ibidem/Idem-bugfix. Bug reported by Sönke Schaal (<s.schaal@freenet.de>) + When German, `ibidem' and `idem' are used together, it appears + `A.a.O.Ders.' because of ``hardcoded'' gender macros for German in + dejbbib.ldf. +v0.5f + beta 26 + bugfix regarding `superscriptedition=bib', the normal edition number + was not suppressed for the first entry in the bibliography, + bug reported by Andrea Heilmann (<andrea.heilmann@t-online.de>) + beta 25 + jurabib.sty now removes `%' at the line end similar to hyperref.sty. + (special thanks to Stefan Ulrich!) + beta 24 + new option `citetoend' introduced, converts \cite's (= non-footcite's) + into endnotes (endnotes.sty has to be loaded). + check for chapter numbers > 1 removed (options `citefull=chapter' and + `opcit=chapter') + beta 23 + wrong warnings about ambiguous citations while using `authorformat=year' + removed (bug reported by Anneke Emse). + french and dutch translations for translator stuff inserted, + contributed by Hélène Fernandez (french) and Maarten Wisse (dutch). + beta 22 + once again \biburlfont command rewritten, hyperlinks were missing. + beta 21 + new url-interface, contributed by Stefan Ulrich, solves problems + with url.sty and hyperref.sty. + some additions in (German) documentation. + beta 20 + some code for `idem' options rewritten + beta 19 + some code for `bibformat=ibidem' rewritten + beta 18 + some improvements for oxford, \or replaced by \TE@or again. + beta 17 + `authorformat=indexed' is working for \nobibliography now + (suggested by Thomas Rahlf). Thanks to Stefan Ulrich. + beta 16 + undo of improvements for jox.bst + ibidem options are able to make a difference between same/different + pages for subsequent citations by \samepageibidemname or + \samepageibidemmidname and \diffpageibidemname or + \diffpageibidemmidname + beta 15 + some improvements for the new jox.bst + beta 14 + endnotes-support: non-\footcite-commands are no longer automatically + converted into endnotes + beta 13 + \formatarticlepages[<separator>]{<page left delim>}{<page right delim>} + changed to + \formatpages[<separator>]{<typelist>}{<page left delim>}{<page right delim>} + The <typelist> allows you to specify any publication type for which + you want to print out a starting page + internal improvements (\jb@@title@switch (aka \jb@@arg) introduced to make a + difference between the multiple switch and the `titleformat=all' switch, + which has produced wrong warnings about ambiguous citations. + Multiple switching now with \jb@@mult@switch=1. Please report errors + regarding this changed feature) + improved endnotes-support + beta 12 + new command \jbdotafterendnote places dot after endnote, analogous + \jbdotafterbibentry + improved endotes.sty support -- emulated natbib cite commands are + translated into endnotes too + some internal improvements ... + beta 11 + new option `ibidem=name&title&auto' (suggested by Wolfgang Lange <wfl@ipg.mpg.de>) + built-in footmisc's `multiple'-option (comma between subsequent \footnotes) + (suggested by Wolfgang Lange <wfl@ipg.mpg.de>) + \jbPage and \jbartPage removed, formatting via \jbprformat now + beta 10 + `format.title' replaced by `format.artperiodincoll.title' for @inproceedings + (suggested by Olaf Meltzer) + beta 9 + known error message problem with url's and hyperref/url-package: + We have to wait for a general solution, coming + from url.sty and/or hyperref.sty. + special macros for gender-dependent i(bi)dem introduced -- separately for + bibliography (long) and citations (shorter). + some internal corrections and bug fixes. (regarding the footnote period problem). + a set of natbib emulating citation commands (without starred variants and + not so nifty) introduced. + beta 8 + \par's are possible inside the annote field + `opcit' no longer switches `authorformat=year' automatically, the + shorttitle will be used now to avoid ambiguous citations. + `gender'-field for German users of the `idem' option added. This field + can be used with six possible values:`sf'= singular female, + `pf'= plural male, `sm'=singular male,`pf'=plural male, + `sn'= singular neutrum and `pn'=plural neutrum. + new command \citetitleonly{<key>} added, this command doesn't print the + author. + beta 7 + correction of some french macros + undocumented option `footnotes=marginal' is working now also when using endnotes.sty + `idem' is working properly for multiple keys (e.g. \footcite{<key1>,>key2>} will + produce `Author, title; idem, other title'). + beta 6 + `annote' option added. Enables output of the annote field. + For commented bibliographies. + `et al.'-generating mechanism for full names (non-labels) in jurabib.bst + and jureco.bst is now the same as for the label (more than three + authors/editors ==> et al.; this is already standard for jhuman.bst) + [...] + beta 1 + jurabib should work well now with endnotes.sty. You can use all cite + commands like before, the simple loading of endnotes.sty will print + all your citations as endnotes (well, you have to place \theendnotes + appropriate yourself). + Any `howcited'-option can be used with any other (except of `howcited=all'). + `howcited=compare' places the remark only, if the shorttitle was used + at least one time. + Missing documentation of some v0.5e features (new entry fields) added. + no longer LaTeX error message, if `authorformat=indexed' is used + without using makeidx.sty. You will get a warning from jurabib instead. + babel option `ngerman' is handled correct now (Thanks to Robert Schlicht). + `idem' is working now inside a bibliographic entry (i. e. if the editor + `edited a collection of articles and he himself wrote an article in it'). + small bug in definition of \bibimfont and \edfont removed. +v0.5e + Known Problem: Hyperref causes problems with the new url-interface. + New option `opcit'. Values: `true', `section' and `chapter'; + New option `idem' with values `strict', `strictdoublepage' + and `nostrict' implemented, places `idem' for same authors in + subsequent citations; + Bug with \formatarticlepages removed; + Some `authorformat=indexed'-related code rewritten by Stefan Ulrich; + German code documentation cancelled, English code documentation will + follow if I have more time; + jureco.bst is now part of the .dtx file, will be extracted with + `latex jurabib.ins'; + \Edbyname added for capitalized `Edited by'; + `von' part placement changed from `Last von, First' to `Last, First von'; + new command \jbannote to format the new annote field; + jurabib is working well now with TeX4ht, thanks to Eitan Gurari and + Maarten Wisse; + title check added for \citefield command to avoid ambiguous citations; + Sorting bug for @COMMENTED with editor only removed and et.~al-Bug removed; + Completely rewritten `bibformat=ibidem'; + Bug removed for `authorformat=and' and `authorformat=firstnotreversed'; + Wrong `Th\'ese' removed; + \jbformattedpages changed to option `pages=format', + \jbtestedpageranges changed to option `pages=test', + \jbalwayspageranges changed to option `pages=always'; + Bug removed for \jb@checkperiod (`natoptargorder' was ignored); + New fields shortauthor and shorttitle introduced, they can be + used like (i.e. instead of) the jura*-fields; + Bug removed for `crossref=short'; + \space-bug removed for crossrefs; + `pages=format' is working also for citations now, you can use some + shorthands as illustrated here: + \cite[45]{<key>} ===> p.~45 + \cite[45--47]{<key>} ===> pp.~45--47 + \cite[45, 47 and 49]{<key>} ===> pp.~45, 47 and 49 + \cite[45f]{<key>} ===> pp.~45f. + \cite[45ff]{<key>} ===> pp.~45ff. + \cite[\nopage{I, III and IV}]{<key>} ===> I, III and IV + \cite[13,\pageadd{something text}]{<key} ===> p.~13, something text + This rewritten option was inspired by pageranges.sty, available at + <http://www.seindal.dk/rene/software/TeX/inlinebib.htm>, + and completely contributed by Stefan Ulrich. Thanks a lot. + It's possible to format editors independently from authors via: + \renewcommand\bibelnf{} + \renewcommand\bibefnf{}; + New options: + `crossref=dynamic' (first crossref long, the following short) + `edby' (switches from `Doe, John (editor)' to + `edited by Doe, John'---ONLY FOR @INCOLLECTIONS!), + `endnote', (note field at the end of the entry) + `biblikecite', (author and title format in bibliography like + author and title format in citation) + `citefull=chapter', (`citefull=first' per chapter) + `citefull=section', (`citefull=first' per section) + `superscriptedition=bib', (experimental!, superscripted edition + numbers in bibliography---for humanities) + `bibformat=ibidemalt', (experimental!, for german law students) + `bibformat=compress', (less vertical space between bibitems) + `human', (alpha stage option for the humanities) + `chicago', (alpha stage option for the humanities) + `oxford', (alpha stage option for the humanities) + `idem', (beta stage option for the humanities) + `idem=strict', + `idem=strictdoublepage', + `idem=nostrict', + `opcit', (alpha stage option for the humanities) + `opcit=chapter', (`opcit' per chapter) + `opcit=section', (`opcit' per section) + New commands: + \formatarticlepages[<separator>]{<page left delim>}{<page right delim>} + This command allows you to print out a (addtional) startpage + of a given pagerange, before the ``normal'' page(range), given + by the optional argument of \cite. + Assumed, you used \formatarticlepages[: ]{(}{)} + in the preamble, you typed `pages = {40--60}' in the .bib + file and you wrote \cite[45 and 47]{<key>} in the text, + the output will look like that: + ..., 40: (45 and 47) + or with option `pages=format': + ..., p. 40: (pp. 45 and 47) + New fields in jurabib.bst: + titleaddon (adds the given sequence after title, e.g for remarks) + booktitleaddon (same as titleaddon, for booktitles) + editortype (use that field if you don't want to have `(ed.)') + sortkey (the entry will be sorted under that key) + annote (to put out a short abstract below the bib entry) + textedition (to use for a `commented' edition entry) + New BibTeX-styles for the humanities---compatible with jurabib.sty (alpha/beta stage!): + jchicago.bst (derivative of chicago.bst) alpha + jachicago.bst (derivative of achicago.bst) alpha + jhuman.bst (derivative of oxford.bst) beta + These styles doesn't contain all of the functionality known by jurabib.bst! + They are available only (as long as they are in beta stage) at + http://userpage.fu-berlin.de/~jberger +v0.5d \@lbibitem-Argumente auf zwei reduziert -- french.sty-Kompatibilität; + Zusammenfassung von Werten für Optionen möglich, z.B.: + `bibformat={tabular,numbered,ibidem} + erneute Überarbeitung der Sprachbehandlung, sprachspezifische Dateien + eingeführt; Änderung fast aller Makronamen innerhalb der \bibs<language>-Definitionen; + Englische Dokumentation (größtenteils übersetzt von Maarten Wisse) eingefügt; + minimales Beispieldokument für Nicht-Juristen eingeführt +v0.5c `oldstyle' entfernt, `jurabibliography'-Umgebung ebenfalls entfernt + Handhabung des year-Feldes überarbeitet, neuen Befehl \jbyearaftertitle definiert + \citefield eingeführt, damit ist die Extraktion einzelner Felder aus einem + Eintrag möglich, die zu extrahierenden Felder werden als Parameter angegeben, + möglich sind: author, title, juraauthor, juratitle, year; + \nocitebuthowcited für Werke, die nicht zitiert wurden, die aber zusammen mit + einem howcited-Vermerk (der via howcited-Feld angegeben werden kann) im + Literaturverzeichnis erscheinen sollen, z.B. für Sammelwerke +v0.5b \cite[no]titlefortype eingeführt, damit ist die Angabe der Publikationstypen + möglich, bei denen der Titel immer erscheinen soll +v0.5a \jb@only@for@citations in \jbonlyforcitations umbenannt und hinter Definition von + \jb@tempa verlagert, so daß Zugriff auf \jb@@author etc. möglich ist; + Wiederherstellung von \ExecuteOptions wieder unmittelbar hinter \ProcessOptions + plaziert, sonst Probleme mit \makeat... in .cfg-Datei +v0.5 `authorformat=abbrv' eingeführt, jurabbrv.bst nun überflüssig (entfernt) +v0.4p \jurabibsetup zur Angabe der Optionen in Präambel oder Konfigurationsdatei eingeführt +v0.4o Kompatibilität mit index hergestellt; + Fehler in jurabib.dtx beseitigt +v0.4n \jbPage und \jbPages verbessert (reagieren jetzt auf `commabeforerest'); + bei Ausgabe der Warnung über mehrere `<Autor>~et~al.' zusätzliche Prüfung eingefügt, + ob betreffendes Werk überhaupt zitiert wurde; + neuer Befehl \jb@do@if@multiple@bibetal zur leichteren Umdefinition + (wenn mehrere `<Autor>$~et~al.' existieren) geschaffen; + \space-Befehl in \jb@makecheckednameibidem entfernt +v0.4m babel-Support verbessert, veränderte Sprachunterstützung (nun abhängig von der Hauptsprache) + `superscriptedition=switch' und \jbsseditionkerned implementiert; + Für Nicht-Juristen jbformattedpages implementiert; + in .bst innerhalb von output.bibitem missing$ durch empty$ ersetzt, da Fehlermeldungen bei leeren Feldern + \citeswithoutentry implementiert -- zur Angabe einzelner Werke, die nicht im Literaturverzeichnis + erscheinen sollen; + Möglichkeit einer lokalen Konfigurationsdatei geschaffen +v0.4l Bug bei `howcited' beseitigt (gemeldet von Christian.Meyn@gmx.de); + Optionen authorformat=year/indexed/and eingeführt; + auf mehrfachen Wunsch `titleformat=noreplace' eingeführt; + \Bibetal optimiert; + `backref'-Option von hyperref funktioniert nun auch bei bibformat=tabular vernünftig; + Ausrichtung der Autoren bei bibformat=tabular verbessert + Optionen `superscriptedition=commented|all' und `bibformat=ibidem' auf Anregung von + Tilman Finke (Tilman.Finke@web.de) implementiert; + Sortierfehler in .bst korrigiert +v0.4k Fehlendes Leerzeichen zwischen \Bibvolume und Inhalt des volume-Feldes beseitigt; + Möglichkeit der Einstellung, ob in .bib-Datei eingetragene Seitenangaben im + Zitat erscheinen oder nicht (\jbalwayspageranges setzt immer Seitenzahlen, + \jbtestedpageranges dagegen nur dann, wenn das für die Fundstelle + vorgesehene optionale Argument leer ist); + IS[S/B]N-Handhabung überarbeitet (doppelte Angabe bei crossref entfernt); + \jb@only@for@citations eingeführt -- damit sind lokale Definitionen möglich, + die nur in den Zitaten wirken (z.B. zur individuellen Einstellung der Querverweise); + \nextcite-Befehle um \nextcitenotitle erweitert +v0.4j \nextcite-Befehle und \noibidem eingeführt; + kleinere Bugfixes +v0.4I Kompatibilität mit hyperref verbessert; + multiple-Wert für howcited eingeführt; + kleinere Bugs behoben; + Entfernung von Seitenzahl(en) im Zitat, die nur in der Bibliographie erscheinen sollen +v0.4i umfangreiche Überarbeitung insbesondere der BibTeX-Stile; +beta + korrekte Behandlung von Querverweisen (vollständig LaTeX-seitig; + formatierbar durch Markup -- neue Option `crossref' ermöglicht + Wahl des Ausmaßes des Querverweises); + `lookat'-Option implementiert (ermöglicht automatisierte Verweise + auf Fußnoten) und `english'-Option eingeführt; + `replace' entfernt (Ersetzung nun automatisch); + language-Feld hinzugefügt, nun sprachspezifische Umschaltung für + jeden einzelnen Eintrag möglich; + \nobibliography<bibfile>} eingeführt (unterdrückt Ausgabe der Bibliographie) + Kompatibilität mit chapterbib.sty (\b@citeb durch \b@citeb\@extra@b@citeb ersetzt) + und bibunits.sty hergestellt (dafür \jb@@cite durch \@citex ersetzt); + ibidem-Funktionalität erweitert (strictdoublepage- und nostrict-Werte eingefügt); + Warnungen bei Ersetzung von juratitle durch title eingeführt; + footcite*-Befehle innerhalb von footnote abgefangen; + babel-Kompatibilität verbessert +v0.4h kleinere Bugfixes in \thebibliography (bibtopic sucht nach bib@heading, + dieses muß am Anfang der thebibliography-Umgebung stehen, deshalb Leerung + von \jbatsep hinter \bib@heading verlagert) und \@lbibitem (Sollte ohne + Autor und Herausgeber zitiert werden, Leerung von \bibansep für diesen + Eintrag, danach Wiederherstellung von \bibansep) +v0.4g Mit Hilfe von Oren Patashnik Funktionalität von add.period$ durch + .bst-Funktionen ersetzt, nun keine Satzzeichen (\bibatsep) mehr, + wenn Titel mit Punkt, Ausrufezeichen oder Fragezeichen endet; + \jb*authorsep gekürzt +v0.4f Optionsnamen verändert, jetzt Benutzung von keyval.sty +v0.4e neue Befehle \fullcite und \footfullcite, erstellen Vollzitat aus der Bibliographie + Optionen `citefull', `bibformat' und `see' implementiert +v0.4d Option `ibidem' eingeführt und erweitert, kein "`a.a.O."' bei erstem Zitat + auf einer Seite +v0.4c BibTeX-Stile verbessert, Abfragen zum Setzen des Titels hinter eingefügte + Warnungen verlagert; + vorläufige, eingeschränkte Kompatibilität von alphanum mit hyperref + durch Definition von \toclevel@*-Makros, hyperref-spezifischen Zählern + und Leerung von \J@SetCurrent sowie Redefinition von \J@LongToc; + \Hy@backout und \backcite redefiniert; Zuweisung der \cite-Befehle geändert; + \biburlfont in Abhängigkeit von geladenem hyperref definiert; + Warnungen bei mehrdeutigen Zitaten und Benutzung von \[foot]cite* eingefügt; + Beispieldokument zu bibtopic bereinigt +v0.4b Testdokument verändert, Kompatibilität mit hyperref hergestellt; + neue Befehle \footcite*, generieren automatisch Fußnoten +v0.4a Automatisches Ersetzen von fehlenden juraauthor- oder juratitle-Feldern + durch Teile des author-Feldes (Detektion der Nachnamen) bzw. title-Feldes + (bei Büchern), bei Artikeln wird Kurztitel aus journal und year + zusammengesetzt; + neue Option `replace', ersetzt (fehlenden) juratitle durch title; + Ligaturauflösung bei "`Auflage"' verändert; + Formatierung bei Generation der Namenskürzel verbessert; + Bestimmung der verwendeten \cite-Befehle verbessert; + erheblich übersichtlicherer Code bei cite; neuer Befehl \cite*, + unterdrückt immer Ausgabe des Titels; + konfigurierbare Separationszeichen +v0.4 viele kleine Änderungen, CTAN-Update +v0.3f howcited-Flag eingeführt +v0.3e Option `howcited=compare' eingeführt -- diese vergleicht + *title-Felder, bevor Zitiervermerk gesetzt wird; + Problem mit entry-string-size behoben; + korrekte Behandlung von Dissertationen -- auch solchen, die + als Buch erschienen sind +v0.3c Halbwegs realistisches Beispieldokument eingefügt; + BibTeX-Stile an zahlreichen Stellen verbessert +v0.3b @COMMENTED für Kommentare eingeführt, `citedas' heißt + nun `howcited', dies effizienter implementiert; + Querverweise werden jetzt korrekt behandelt; + viele kleine Verbesserungen +v0.3a Neue Option `citedas' +v0.3 Dokumentation verbessert, erstmalig auf CTAN verfügbar +v0.2c @PERIODICAL ist nun benutzbar, Klammerung formatierbar +v0.2b viele marginale Änderungen +v0.2a Erstmals jurabib.dtx und jurabib.ins +v0.2 Dynamisches Setzen des Titels bei Zitaten mit + verschiedenen Werken implementiert; + überflüssiges entfernt +v0.1 Erste Version, alpha-Stadium + Kompatibilität mit bibtopic.sty hergestell diff --git a/macros/latex/contrib/jurabib/docs/english/jbendoc.pdf b/macros/latex/contrib/jurabib/docs/english/jbendoc.pdf Binary files differnew file mode 100644 index 0000000000..2aa9fcfbe3 --- /dev/null +++ b/macros/latex/contrib/jurabib/docs/english/jbendoc.pdf diff --git a/macros/latex/contrib/jurabib/docs/english/jbendoc.tex b/macros/latex/contrib/jurabib/docs/english/jbendoc.tex new file mode 100644 index 0000000000..97bdb2c5c2 --- /dev/null +++ b/macros/latex/contrib/jurabib/docs/english/jbendoc.tex @@ -0,0 +1,2254 @@ +\documentclass[a4paper]{ltxdoc} +\usepackage[latin1]{inputenc} +\usepackage{longtable} +\usepackage[commabeforerest,titleformat=commasep]{jurabib} +\interfootnotelinepenalty=10000 \raggedbottom +\newif\ifHtml +\newcommand{\mymarginpar}[1]{\marginpar{\raggedleft\textsf{#1}}} +\newcommand{\NEW}[1]{\marginpar{\raggedleft\textsf{#1~{\large NEW\,!}}}} +\newcommand{\CH} [1]{\marginpar{\raggedleft\textsf{#1~{\large CHANGED\,!}}}} +\newcommand{\REM}[1]{\marginpar{\raggedleft\textsf{#1~{\large REMOVED\,!}}}} +\makeatletter + \@ifundefined{pdfoutput}{% + \let\pdfoutput\@undefined + \ExecuteOptions{dvips}% + }{% + \ifcase\pdfoutput + \let\pdfoutput\@undefined + \ExecuteOptions{dvips}% + \else + \usepackage[pdftex,colorlinks=true,plainpages=false,pdfpagelabels,linktocpage]{hyperref}% + \hypersetup{% + pdftitle={Documentation for jurabib package},% + pdfauthor={Jens Berger},% + }% + \fi + }% +\makeatother \pagestyle{headings} +\newcommand\bibentry[1]{\par\medskip{\renewcommand\jbauthorfont{\textbf}\renewcommand\jbauthorfnfont{\textbf}\noindent\qquad\fullcite{#1}}\par\medskip} +\AtEndDocument{\bibliography{jbtest,jbtesthu}} +\renewcommand{\contentsname}{Contents} +\providecommand{\url}[1]{\texttt{#1}} +\providecommand\href[2]{#2} +\providecommand\texorpdfstring[2]{#1} +\newenvironment{bibexample}{% + \begin{description}% + \setlength{\itemindent}{-2.5em} + \setlength{\leftmargin}{2.5em} + }{\end{description}} +\newenvironment{Options}% + {\begin{list}{}{% + \renewcommand{\makelabel}[1]{\texttt{##1}\hfill}% + \setlength{\itemsep}{-.5\parsep} + \settowidth{\labelwidth}{\texttt{xxx\space}}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}}% + } {\end{list}} +\def\jbfileversion{v0.6} +\def\jbfiledate{\today} +\title{The \textsf{jurabib} Package} +\author{{\Large Jens Berger}\thanks{Translated into English by Maarten Wisse.}\\ + \href{mailto:jb@jurabib.org}{\texttt{jb@jurabib.org}}\\[1.8ex] + {\small Stefan Ulrich}} +\date{\jbfiledate \qquad \textsf{\jbfileversion}\\[1ex] + {\footnotesize CTAN: + \href{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/jurabib/}{\texttt{macros/latex/contrib/supported/jurabib/}}}% +}% +\begin{document} + \ifHtml + \renewcommand{\href}[2]{\HCode{<a href=#1>}#2\HCode{</a>}} + \makeatletter + \let\DescribeMacro\@gobble + \let\NEW\@gobble + \let\CH\@gobble + \let\REM\@gobble + \let\mymarginpar\@gobble + \makeatother + \fi + +\maketitle + + \begin{abstract} + \noindent This package enables automated citation with \BibTeX{} for legal + studies and the humanities. In addition, the package provides commands for + specifying annotators in a commentary in a convenient way. Simplified + formatting of the citation as well as the bibliography entry is + also provided. It is possible to display the (short) title of a + work only if an authors is cited with multiple works. Giving a full + citation in the text, conforming to the bibliography entry, is + supported. Several options are provided which might be of special + interest for those outside legal studies---for instance, + displaying multiple full citations. In addition, the format of last + names and first names of authors may be changed easily. Cross + references to other footnotes are possible. Language dependent + handling of bibliography entries is possible by the special + \texttt{language} field. + \end{abstract}% + +\tableofcontents + +\section{Introduction}\setcounter{page}{1} + +Up till now, support for citation according to the rules used in legal studies +was only available by the environment \texttt{jurabibliography} from +\textsf{jura.cls}. However, this environment does not work with \BibTeX. +\textsf{jurabib.sty} should solve this problem. The package primarily counts as +an extension to \textsf{jura.cls}, but it is built in such a way that it works +well together with all \LaTeX\ standard classes and also with the +\textsf{KOMA-Script}-classes \texttt{scrbook}, \texttt{scrreprt} and +\texttt{scrartcl}. Hence, it is possible to use the package together with +\textsf{alphanum} and the \texttt{book}-class, for writing a doctoral +dissertation. + +\textsf{jurabib.sty} (re)defines \cs{[foot]cite} in such a way that it now +contains two optional arguments, so that possible annotators of a publication may +be specified in the second optional argument. Apart from this, the +\BibTeX-styles (\texttt{jurabib.bst} and \texttt{jureco.bst} which are +delivered with the package enable it to +\begin{enumerate} +\item automatically recognize the lastnames of the authors and cite + these accordingly in short citations. + +\item automatically generate short title information from article and + periodical citations. + +\item nevertheless explicitly specify a short form of the author's + name or title. + +\item (default) give the short title only if multiple works of the author are cited. +\end{enumerate} +The functionality described above is exclusively carried out by the +\BibTeX-styles \texttt{jurabib.bst}, \texttt{jurunsrt.bst} and \texttt{jureco.bst}. + +\section{Prequisities} +After processing \texttt{jurabib.ins} with \LaTeX{}, the following files should +be created at least: + +\begin{itemize} + \item \texttt{jurabib.sty} + \item \texttt{jurabib.bst} + \item \texttt{jureco.bst} + \item \texttt{jurunsrt.bst} + \item \texttt{jox.bst} + \item \texttt{jbtesthu.bib} + \item \texttt{jbtest.bib} + \item \texttt{jurabib.cfg} + \item some \texttt{.ldf} files + \item some \texttt{jbtest*.tex} files +\end{itemize} +In a TDS-conforming \TeX-System the \texttt{.sty}-files and the +\texttt{.ldf}-files should be in \texttt{\slash [local]texmf\slash tex\slash +latex\slash jurabib}, the \texttt{.bst}-files in \texttt{\slash +[local]texmf\slash bibtex\slash bst\slash jurabib} and the \texttt{.bib}-files in +\texttt{\slash [local]texmf\slash bibtex\slash bib\slash jurabib}. +May be it's necessary to update a ``Filename Database''. If you are using +teTeX, run \texttt{texhash}, if you are using MiKTeX, run \texttt{initexmf -u} +on a DOS prompt or the appropriate graphical frontends. All mentioned files +could also be placed in the directory in which \LaTeX\ is executed. The files +\texttt{jbtest.tex} and \texttt{jbtest.bib} demonstrate the use of the +\textsf{jurabib}-package. + +\texttt{jbtestbt.tex} serves as a demonstration of \textsf{jurabib.sty} in +cooperation with \textsf{bibtopic.sty} for generating bibliographies by topic. + +\texttt{jbtestmb.tex} serves as a demonstration of \textsf{jurabib.sty} in +cooperation with \textsf{multibib.sty} for generating multiple bibliographies. + +\texttt{jbtestcb.tex} serves as a demonstration of \textsf{jurabib.sty} in +cooperation with \textsf{chapterbib.sty} for generating bibliographies for each chapter. + +\texttt{jbtestbu.tex} serves as a demonstration of \textsf{jurabib.sty} in +cooperation with \textsf{bibunits.sty} for generating multiple bibliographies too. + +One enables the package in the following way: + +\begin{quote} + \cs{usepackage}\oarg{Options}\texttt{\{jurabib\}} + + \noindent{\footnotesize You can use \cs{jurabibsetup} in the preamble or in the + configurations file: + \begin{verbatim} + \jurabibsetup{ + authorformat=smallcaps, + commabeforerest, + titleformat=colonsep, + bibformat=tabular + } + \end{verbatim} + + You can place several values of some keys into a pair of braces: + \begin{verbatim} + \jurabibsetup{bibformat={tabular,ibidem,numbered}} + \end{verbatim}} + \end{quote} + +At the point where the bibliography should be placed, the following should be +specified: + +\begin{quote} + \cs{bibliography}\marg{{\upshape\BibTeX}-database} +\end{quote} +followed by +\begin{quote} + \cs{bibliographystyle}\marg{{\upshape\BibTeX}-stylefile} +\end{quote} + +Now, the package is ready to work. When you are new to \BibTeX{} please +remember that for \BibTeX{} working properly, a sequence of one \LaTeX{} run, one +\BibTeX{} run, and two subsequent \LaTeX{} runs are required: + +\begin{verbatim} + latex data + bibtex data + latex data + latex data +\end{verbatim} + +\subsection{If you are working with a Windows-Distribution} +You have to (!) use a large version of \BibTeX{} (\texttt{bibtex8}) with a huge +amount of memory enabled. \marginpar{\raggedleft\textsf{\Huge !!!}} You can achieve that by using a command-line +parameter like |--huge| or |--wolfgang|, otherwise you will get error +messages like that: + +\begin{verbatim} + The style file: jurabib.bst + 5017: Sorry---you've exceeded BibTeX's wizard-defined function space 3000 + (That was a fatal error) +\end{verbatim} + +This is problem can be solved by using one of the command line parameters of |bibtex8|: + +\begin{verbatim} + bibtex8 --wolfgang file +\end{verbatim} + +\subsection{If you are working with a Unix/Linux-Distribution} +As a user of the te\TeX- or \TeX Live-Distribution you do not need |bibtex8|, +because those Bib\TeX{} executables were compiled with enough memory enabled. +But it is not senseless to use |bibtex8|\,! If you are using author names or titles with umlauts, +|bibtex8| is able to handle this by default, the normal Bib\TeX{} requires +translation into |{\"u}| etc. At the moment only \TeX live comes with |bibtex8|, it is missed in te\TeX. +You would need to compile it yourself, you will find the sources on CTAN. + +\section[An Example]{An Example\footnotemark[1]} + +\footnotetext[1]{For all examples---if not explicitly specified +differently---the options \texttt{titleformat=commasep} and +\texttt{commabeforerest} as well as the command \cs{cite} have been used.} + +Suppose one wants to cite a juridical work. Then, the first thing to do is to +add the work to the bibliography database: + +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Kr{\"a}mer}, + title = {Stra{\ss}enrecht}, + shortauthor = {Kodal/Kr{\"a}mer}, + shorttitle = {StrR}, + year = 1995, + address = {M{\"u}nchen}, + edition = {5}, + pages = {30--34, \S~24} + } +\end{verbatim} + +Look at the fields \texttt{shortauthor} and \texttt{shorttitle}. These are +provided by the \BibTeX-styles belonging to the package. +\texttt{shortauthor} and \texttt{shorttitle} are the equivalent fields +available. There, the required short forms of the author and title +are provided. (on this, see section~\ref{auto} on page~\pageref{auto}). + +\section{The Tools} +\subsection{The \texorpdfstring{\cs{cite}}{cite} command} + +\DescribeMacro{\cite} +A citation is specified as usual: +\begin{verbatim} + \cite[\S~12]{kkstrr} +\end{verbatim} +Instead of the standard layout: + +\medskip + + [1, \S~12] + +\medskip\noindent +the citation now looks like: + +\cite[\S~12]{kkstrr} + +The short form of the title (StrR) would only be cited when Kodal and +Kr{\"a}mer were cited with another work or the option \texttt{titleformat=all} +is given. Then, the citation would look as follows: + +\citetitle[\S~12]{kkstrr} + +Because the command \cs{cite} is redefined by \textsf{jurabib.sty}, it has now +two optional arguments instead of one: + +\medskip + +\noindent\CH{0.6} +\fbox{\begin{minipage}{\textwidth} +{\Large\itshape Attention: since v0.6 the order of optional arguments has changed\,!} +\begin{quote} +\cs{cite}\oarg{page range}\marg{key}\\ +\cs{cite}\oarg{annotator}{\ttfamily[]}\marg{key}\\ +\cs{cite}\oarg{annotator}\oarg{page range}\marg{key}\\ + with \texttt{see}\\ +\cs{cite}{\ttfamily[Vgl.]}\oarg{page range}\marg{key} +\end{quote} +The compatibility option \texttt{jurabiborder} lets you compile old documents: +\begin{quote} +\cs{cite}\oarg{page range}\marg{key}\\ +\cs{cite}{\ttfamily[]}\oarg{annotator}\marg{key}\\ +\cs{cite}\oarg{page range}\oarg{annotator}\marg{key}\\ +with \texttt{see}\\ +\cs{cite}\oarg{page range}{\ttfamily[see]}\marg{key} +\end{quote} +\end{minipage}} + +\medskip + +Here's a short table with the new syntax: + +\medskip + +{\small +\begin{tabular}{ll} +\hline +Source & Output \\ +\hline +|\cite{broxbgb}| & \cite{broxbgb}\\ +|\cite[p.~12]{broxbgb}| & \cite[p.~12]{broxbgb}\\ +|\cite[Bassenge][]{broxbgb}| & \cite[Bassenge][]{broxbgb}\\ +|\cite[Bassenge][p.~12]{broxbgb}| & \cite[Bassenge][p.~12]{broxbgb}\\ +\hline +\end{tabular}} + +\bigskip + +So, a possible annotator will be specified as follows: + +\begin{verbatim} + \cite[Bassenge][\S~12]{kkstrr} +\end{verbatim} + The following citation would emerge from this cite +command---provided that multiple works by Kodal and Kr{\"a}mer are cited: + +\medskip + +\cite[Bassenge][\S~12]{kkstrr} % Kodal/Krämer/Bassenge, StrR, \S~12. + +\medskip + +\noindent The bibliography entry belonging to this citation would then be: \par + +\bibentry{kkstrr} + +If it might happen that one does not want to give pageranges, margin numbers or +the like, and \emph{nevertheless} wants to specify an annotator, then, the first +optional argument should be left empty: + +\begin{verbatim} + \cite[Bassenge][]{kkstrr}% before 0.6: \cite[][Bassenge]{kkstrr} +\end{verbatim} + +\DescribeMacro{\citetitle} The command \cs{citetitle} basically behaves like +\cs{cite}, but may be used for explicitly citing by short title, independent +from the author's being cited with multiple works. Otherwise, the same goes for +\cs{citetitle} as for \cs{cite}. + +\DescribeMacro{\cite*} This asterisk-from of the \cs{cite} command cites +\emph{always} without title. In this case, it doesn't matter whether the +\texttt{shorttitle}-field has been provided in the database. The options +\texttt{citefull=all} too, are deactivated in this case. (see +section~\ref{opt}). Note, however, that hereby, ambiguous\mymarginpar{!} +citations might occur, since the automatical specification of short title/full +title is deactivated for this citation. Therefore, this command should be used +with care. + +\DescribeMacro{\citetitlefortype} This command can be used to declare a list of +publication types, for those the titles should appear always: + +\begin{verbatim} + \citetitlefortype{article,book, ... } +\end{verbatim} + +\DescribeMacro{\citenotitlefortype} For use together with the option +\texttt{titleformat=all} to declare a list of publication types, for those the +titles shouldn't appear: + +\begin{verbatim} + \citenotitlefortype{article,book, ... } +\end{verbatim} + +\subsection{The \texorpdfstring{\cs{footcite}}{footcite} commands} + +\DescribeMacro{\footcite} \DescribeMacro{\footcite*} +\DescribeMacro{\footcitetitle} + These commands are different from the \cs{cite} commands, in that they + automatically generate a footnote and place a period at the end of + it. A space before the \cs{footcite} commands is ignored: +\begin{verbatim} + ... Annahme. \footcite[Rn.~357]{medicus} + ... Annahme.\footcite[Rn.~357]{medicus} +\end{verbatim} + +shows in both cases: + +\medskip +\dots{}~Annahme.\footnote{Medicus, Rn.~357.} + +\noindent However, a combination of multiple citations should be provided as +usual: +\begin{verbatim} + \footnote{\cite[S.~13--34]{brox:bgb}; \cite[S.~24]{canaris}.} +\end{verbatim} + +This results in: +\par\medskip +\dots{}~Annahme.\footnote{Brox, BGB, S.~13--34; Canaris, S.~24.} Here, people +should remember the period themselves, regrettably. + + If you are using some |\footcite| or |\footnote| commands \NEW{0.5f} subsequently, + \textsf{jurabib} is able to put a comma between the superscripted footnote marks. + This is the same behavior as known from the |multiple| option from the \textsf{footmisc} package. An example: + + \begin{verbatim} + ... \footcite{brox:bgb}\footcite{brox:schr}\footcite{brox:ja} + \end{verbatim} + \vspace{-1em} + produces: + + \medskip + \dots{}\textsuperscript{1,2,3} + +\subsection{The \texorpdfstring{\cs{fullcite}}{fullcite} commands} + +\DescribeMacro{\fullcite} \DescribeMacro{\footfullcite} These commands generate +a full citation, i.e., the complete entry from the bibliography is inserted +here. A possibly present annotator will be placed before the citation and +separated from the author by ``in''.\footnote{This reflects the automatic +activation of the option \texttt{annotatorfirstsep=in} for \emph{this} citation.} The +page range will be added at the end. + +\subsection{The \texorpdfstring{\cs{nextcite}}{nextcite} commands} + +\DescribeMacro{\nextciteshort} \DescribeMacro{\nextcitefull} + With these commands you can determine with a comma-separated (without whitespaces\,!) list of keys, how a cited work should appear + from now on: +\begin{verbatim} + \nextciteshort{brox:bgb,canaris, ... } +\end{verbatim} +in a short or +\begin{verbatim} + \nextcitefull{brox:bgb,canaris, ... } +\end{verbatim} +in a long kind. +\begin{verbatim} + \nextcitenotitle{brox:bgb,canaris, ... } +\end{verbatim} +With that command all given works appear from now on without title. \emph{All +three commands are overriding the \cs{fullcite}- and \cs{cite*} commands\,!} + +\smallskip +\noindent With \DescribeMacro{\nextcitereset} +\begin{verbatim} + \nextcitereset{brox:bgb,canaris, ... } +\end{verbatim} +you can switch back to the normal citation kind (specified by the chosen +options). + +\DescribeMacro{\citeswithoutentry} The new command \cs{citeswithoutentry} is +very similar to the \cs{nextcite} commands. You are able to specify a list of +works, which should not appear in the bibliography, but you can use all of the +\cs{cite} commands normally. Note, that the \cs{nextcitereset} command will not work here. + +\subsection{The \texorpdfstring{\cs{citefield}}{citefield} command} +With that command you have access to the contents of the fields +\texttt{author}, \texttt{shortauthor}, \texttt{title}, \texttt{shorttitle}, +\texttt{url}, \texttt{apy} (Address-Publisher-Year) and +\texttt{year}. You have to give the field name as the first mandatory argument, +the key as the second mandatory argument. Furthermore you can give a +page(range) with the optional argument: +\begin{quote} + {\small\cs{citefield}\oarg{pagerange}\marg{field}\marg{key}} +\end{quote} +With the following entry +\begin{verbatim} + @BOOK{brox:bgb, + author = {Hans Brox}, + title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches}, + shorttitle = {BGB~AT}, + year = 1996, + language = {german}, + address = {K{\"o}ln, Berlin, Bonn, M{\"u}nchen}, + edition = 20 + } +\end{verbatim} +we get with a \verb+\citefield{title}{brox:bgb}+: Allgemeiner Teil des +B{\"u}rgerlichen Gesetzbuches. \verb+\citefield[\S~23]{shorttitle}{brox:bgb}+ +gives: BGB~AT,~\S~23. This command is especially for non-lawyers. It is +independent of all \textsf{jurabib}-specific automatisms, e.g. it is ignored by +the \texttt{ibidem}-options. If you are using the \textsf{hyperref}-package, a +link to the bibliography entry will be created. + +\textsf{jurabib} is able to emulate some basic citation commands of the \textsf{natbib} package: + +\medskip + +\begin{tabular}{@{}lll@{}}\hline\\[-2ex] +|\[foot]citep{Kraft74}| & $\rightarrow$ & (Kraft et al., 1937) \\ +|\[foot]citet{Kraft74}| & $\rightarrow$ & Kraft et al. (1937)\\ +|\[foot]citealt{Kraft74}| & $\rightarrow$ & Kraft et al. 1937\\ +|\[foot]citealp{Kraft74}| & $\rightarrow$ & Kraft et al., 1937\\ +|\[foot]citeauthor{Kraft74}| & $\rightarrow$ & Kraft et al.\\ +\hline +\end{tabular} + +\section{Automations}\label{auto} + +\subsection{Empty \texttt{shortauthor}-field} + +The package is now capable of automatically figuring out the lastname of the +author, in case of empty or failing \texttt{shortauthor}-field. Up till three +authors are typed out, separated by a slash. In case of more than three +authors, the name of the first author is typed out, along with ``et~al.''. So, +for instance, we leave the \texttt{shortauthor}-field out in our example entry +and add a third author: +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Kr{\"a}mer + and Hans Mustermann}, + title = {Stra{\ss}enrecht}, + shorttitle = {StrR}, + year = 1995, + address = {M{\"u}nchen}, + edition = {5.}, + pages = {S.\,30--34, \S~24} + } +\end{verbatim} +Then, the citation looks as follows: +\par\medskip +\qquad Kodal/Kr{\"a}mer/Mustermann, StrR, \S~12. +\par\medskip + +\noindent Separation marks may be modified in the following way. +\begin{verbatim} + \renewcommand{\jbbtasep}{ and } % bta = between two authors sep + \renewcommand{\jbbfsasep}{, } % bfsa = between first and second author sep + \renewcommand{\jbbstasep}{ and }% bsta = between second and third author sep +\end{verbatim} + +shows, for instance, instead of the example shown above: + +\par\medskip +\qquad Kodal, Kr{\"a}mer and Mustermann, StrR, \S~12. +\par\medskip + +\noindent Separation marks in the bibliography remain untouched by this +modification. Those can be modified by the following commands: +\begin{verbatim} + \renewcommand{\bibbtasep}{ and } % bta = between two authors sep + \renewcommand{\bibbfsasep}{, } % bfsa = between first and second author sep + \renewcommand{\bibbstasep}{ and }% bsta = between second and third author sep +and for the editors: + \renewcommand{\bibbtesep}{ and } % bte = between two editors sep + \renewcommand{\bibbfsesep}{, } % bfse = between first and second editor sep + \renewcommand{\bibbstesep}{ and }% bste = between second and third editor sep +\end{verbatim} + +If we add a fourth author (we save work by skipping the code), then the +citation looks like: +\par\medskip +\qquad Kodal et~al., StrR, \S~12. + +\subsection{Empty \texttt{shorttitle}-field} + +If the \texttt{shorttitle}-field is empty or nonexistent, the following happens: +The full title specified in the \texttt{title}-field will be +used\footnote{Exceptions are \texttt{@ARTICLE}- and \texttt{@PERIODICAL} +entries.}, if (locally) the command \cs{[foot]citetitle} or (global) the option +\texttt{citefull=all} is being used \emph{or multiple works of the author have +been cited}. + +In case one wants author's name only for a particular work---regardless what +kind of option have been activated---then, the command \cs{[foot]cite*} should +be used. This may lead to ambiguous citations, of which you will get a warning +in the \texttt{.log}-file. + +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Kr{\"a}mer + and Hans Mustermann}, + title = {Stra{\ss}enrecht}, + year = 1995, + address = {M{\"u}nchen}, + edition = {5.}, + pages = {S.\,30--34, \S~24} + } +\end{verbatim} +Result: +\par\medskip +\qquad Kodal/Kr{\"a}mer/Mustermann, Stra\ss{}enrecht, \S~12. +\par\medskip + +An alleviation should also be the fact that, in case of Article and Periodical +citations, \textsf{jurabib} now automatically cites (\meta{journal} +\meta{year}). Therefore, in these cases, specification of \texttt{shorttitle} is +no longer required---if no special requirements are present. In the following +example, neither + \texttt{shortauthor} nor +\texttt{shorttitle} has been specified: +\begin{verbatim} + @ARTICLE{brox:ja, + author = {Hans Brox}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + year = 1980, + pages = {S.\,449ff}, + edition = {20.}, + address = {M{\"u}nchen} + } +\end{verbatim} + +Nevertheless, \cs{citetitle}\verb+{brox:ja}+ results in: +\par\medskip +\qquad Brox, JA 1980. +\par\medskip +\noindent If you want something different, you can use the \texttt{short*}-fields: +\begin{verbatim} + @ARTICLE{brox:ja, + author = {Hans Brox}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + shortauthor = {Hans Brox}, + shorttitle = {JA}, + year = 1980, + pages = {S.\,449ff}, + edition = {20.}, + address = {M{\"u}nchen} + } +\end{verbatim} + +and you get: +\par\medskip +\qquad Hans Brox, JA. +\par\medskip + +\DescribeMacro{author = } You should notice that the dynamic generations of the +juridical short titles is possible only, when the contents of the +\texttt{author}-fields in the \texttt{.bib}-file are \emph{absolutely +identical}\,! Suppose \textsc{Kodal} and \textsc{Kr{\"a}mer} have published a +second work, then, the entries in the database should look as follows: +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Kr{\"a}mer}, + title = {Stra{\ss}enrecht} + } +\end{verbatim} + +\begin{verbatim} + @BOOK{kkanything, + author = {Kurt Kodal and Joachim Kr{\"a}mer}, + title = {anything} + } +\end{verbatim} + +\section{Options}\label{opt} +The following default behavior of the package has been implemented: The author +and editor in the citation are shown in normal font, in the bibliography, +however, in bold font. The editor is put after the author, separated by a +slash. This default behavior can be modified by the options of the package. + +\subsection{Tweaking the Format of the Citation in the Text} + +\subsubsection{Format of the Author and Editor} + +\begin{Options} +\item[authorformat=smallcaps] Puts author and annotator in small caps: + \textsc{Kodal\slash Kr{\"a}mer\slash Bassenge}, StrR, \S~12 + +\item[authorformat=italic] Puts author and annotator in italic font: + \textit{Kodal}\slash\textit{Kr{\"a}mer}\slash\textit{Bassenge}, StrR, + \S~12 + +\item[authorformat=dynamic] The font of the author depends on whether + an annotator is present or not. If not, the authors retain their font + as specified in the command \cs{jbactualauthorfont} as \cs{textit} + (default): \textit{Kodal\slash Kr{\"a}mer}, StrR, + \S~12. If an annotator has been specified, the annotator is formatted + according to the setting of \cs{jbactualauthorfont}, and the authors + are formatted according to \cs{jbauthorfontifcoauthor} ( + \cs{normalfont}): Kodal\slash Kr{\"a}mer\slash\textit{Bassenge}, StrR, + \S~12. + +\item[authorformat=citationreversed] Using this option together with options + \texttt{citefull=first}, \texttt{ibidem=name} and + \texttt{ibidem=name\&title} firstnames appear before last names: Hans + \textsc{Brox}: BGB~AT, S.~23. instead of \textsc{Brox}, Hans: BGB~AT, S.~23. + +\item[authorformat=allreversed] By this option, the behavior mentioned + in the previous option works also in the bibliography. + +\item[authorformat=firstnotreversed] Sometimes, strange requirements + are set on authors. Therefore, this option exists, which puts all + authors in \meta{Firstname} \meta{Lastname}, \emph{apart from the + first author}: \textsc{Kodal}, Kurt\slash Joachim \textsc{Kr{\"a}mer}\slash Hans \textsc{Mustermann}. + +\item[authorformat=reducedifibidem] If this option is active together + with \texttt{ibidem=name} only the last name of the author is shown + in recurring citations. + +\item[authorformat=and] Instead of the default slashes + the authors will be separated by ``,'' and ``, and''. + +\item[authorformat=year] The year will appear after the author name. \cs{jbyearaftertitle} puts the year after the title. + Formatting is possible by using \cs{jbcitationyearformat}: + \begin{verbatim} + \renewcommand{\jbcitationyearformat}[1]{(#1)} + \end{verbatim} + +\item[authorformat=indexed] All authors (independently) are indexed. + You have to use the \textsf{makeidx}-package correctly: + \begin{verbatim} + \usepackage{jurabib} % load before makeidx.sty! + \usepackage{makeidx} + \makeindex + \begin{document} + ... + \printindex + \end{document} + \end{verbatim} + This options works for |\nobibliography| too (since 0.51). + + If you want to have not cited authors (e.g. by using \cs{nocite}) indexed, you can use + \cs{jbindexbib} in your preamble. + + To emphasize the authors in the \NEW{0.52} index, you can determine the font of the indexed authors via |\jbauthorindexfont|: + \begin{verbatim} + \renewcommand{\jbauthorindexfont}{\textit}% or \textsf, + % \textsc, + % \textbf + \end{verbatim} + If you are using a non-standard |.ist| file (|makeindex| style file), it is possible + that you have to use |\jbmakeindexactual| to use the correct `actual' operator. The default is |@|. + If your |.ist| file contains + \begin{verbatim} + actual '=' + \end{verbatim} + you should use: + \begin{verbatim} + \renewcommand{\jbmakeindexactual}{\=}% + \end{verbatim} +% I don't know why the backslash is necessary. + +An often requested feature was \NEW{0.6} to provide some macros to tune the indexing of authors and editors. +Here it is, these commands should be used in the preamble as usual: + +{\small\begin{tabular}{ll} +\hline +|\jbdonotindexeditors| & Do not index editors\\ +|\jbdonotindexauthors| & Do not index authors\\ +|\jbdonotindexorganizations| & Do not index organizations\\ +|\jbindexolyfirsteditors| & Do index editors only for first citation\\ +|\jbindexonlyfirstauthors| & Do index authors only for first citation\\ +|\jbindexolyfirstorganizations| & Do index organizations only for first citation\\ +\hline +\end{tabular}} + +\medskip + +\item[authorformat=abbrv] Since version 0.5 the \BibTeX-styles + \texttt{jurplain.bst} and \texttt{jurabbrv.bst} + are obsolete, the abbreviated form can be determined by using this option. + +\item[annotatorformat=italic (formerly known as: coauthorformat=italic)] Puts the annotator in italics: Kodal\slash Kr{\"a}mer\slash \textit{Bassenge}. + +\item[annotatorformat=normal (formerly known as: coauthorformat=normal)] Puts the annotator upright: + \textit{Kodal}\slash \textit{Kr{\"a}mer}\slash Bassenge. + +\item[round] Round brackets around (non-footnote-) citation: + (\textsc{Kodal}\slash \textsc{Kr{\"a}mer}). + +\item[square] Square brackets around (non-footnote-) citation: + [\textsc{Kodal}\slash \textsc{Kr{\"a}mer}]. + +\item[superscriptedition=all] Places a superscripted edition number in the citation. + Some examples: + \par + Kodal/Kr{\"a}mer$^{3}$, \S~12.\\ + Kodal/Kr{\"a}mer, Stra"senrecht$^{3}$, \S~12.\\ + Kodal/Kr{\"a}mer$^{3}$--Bassenge, \S~12.\\ + Kodal/Kr{\"a}mer--Bassenge, Stra\ss{}enrecht$^{3}$, \S~12.\\ + Bassenge in Kodal/Kr{\"a}mer$^{3}$, \S~12. + \par\medskip + +\item[superscriptedition=commented] Same like above, but only for \texttt{@COMMENTED}. + +\item[superscriptedition=switch] With the new field \texttt{ssedition} you can specify + the appearence of the superscripted edition number explicitly: + \begin{verbatim} + @COMMENTED{soergel, + author = {Hans Theodor Soergel}, + title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch}, + address = {Stuttgart, Berlin, K{\"o}ln, Mainz}, + year = 1987, + edition = 12, + ssedition = 1, <=== ! + } + \end{verbatim} + +\item[superscriptedition=kerning] This option\NEW{0.51h} replaces the command |\jbsseditionkerned| and does some kerning: + +Kodal/Kr{\"a}mer$^{3}$\kern-1ex, \S~12.\\ +Kodal/Kr{\"a}mer, Stra{\ss}enrecht$^{3}$\kern-1ex, \S~12.\\ +Kodal/Kr{\"a}mer$^{3}$--Bassenge, \S~12.\\ +Kodal/Kr{\"a}mer--Bassenge, Stra{\ss}enrecht$^{3}$\kern-1ex, \S~12.\\ +Bassenge in Kodal/Kr{\"a}mer$^{3}$\kern-1ex, \S~12. +\par\medskip +\item[superscriptedition=bib/address] superscripted edition numbers \CH{0.51j} in the bibliography (before address). +\item[superscriptedition=year] superscripted edition numbers \NEW{0.51j} in the bibliography (before year). +\item[superscriptedition=multiple] This option enables \NEW{0.51h} the output of a superscripted edition number +for the case that different editions of the same work were cited. The output of the shorttitle is suppressed. +\end{Options} + +If a coauthor was given via the second optional argument, the superscripted edition number +appears after the coauthor, as long as you are using the default or one of the |annotatorlastsep| options: + +\medskip + +Kodal/Kr{\"a}mer--Bassenge$^{3}$, \S~12. + +\medskip + +If you like to have the superscripted number immediately after the author, please use the +following command in the preamble of your document: + +\begin{verbatim} + \jbsuperscripteditionafterauthor +\end{verbatim} + +Should result in: + +\medskip + +Kodal/Kr{\"a}mer$^{3}$--Bassenge, \S~12. + +\begin{Options} +\item[biblikecite] Bibliography will be automatically formatted like the citations (as far as possible\,!). +\item[edby] (Only for \texttt{@INCOLLECTION}!) The sequence ``Lipcoll, David~J. (ed.)'' will be changed + to ``edited by Lipcoll, David~J.''\par +For redefinitions please use: + \begin{verbatim} + \AddTo\bibsgerman{% + \def\edbyname{ed. by}% + } + \end{verbatim} +\item[endnote] The \texttt{note} field appears at the end of the bibliographic entry, and if you are using +|dotafter=bibentry|, \emph{after} the closing period. +\end{Options} + +\DescribeMacro{\jbauthorfont} +\DescribeMacro{\jbcoauthorfont} + If these options do not generate the desired result, one can realize + many things by redefining several commands. + +The formats of the authors and annotators are directed by the commands + \cs{jbauthorfont} and \cs{jbcoauthorfont} and may be modified in the + following way (these examples presuppose the default values): +\begin{verbatim} + \renewcommand{\jbauthorfont}{\textit} + \renewcommand{\jbcoauthorfont}{\textsl} +\end{verbatim} + +\DescribeMacro{\jbactualauthorfont} \DescribeMacro{\jbauthorfontifcoauthor} +Analogically, the following commands exist \emph{only} if option +\texttt{authorformat=dynamic} is active: +\begin{verbatim} + \renewcommand{\jbactualauthorfont}{\textsc} + \renewcommand{\jbauthorfontifcoauthor}{\textsl} +\end{verbatim} + +These redefinitions should be placed in the preamble of the \TeX-file, i.e. +before \cs{begin}\verb+{document}+. One should notice that \cs{text} commands +should be used, for example, \cs{textit}, \cs{textbf} etc.), and \emph{not} +those starting with \texttt{series}, \texttt{family} or ending with +\texttt{shape} (declaration form, for instance, \cs{bfseries}, \cs{slshape}, +\cs{sffamily})! + +\subsubsection{Title Format} + +\begin{Options} +\item[titleformat=italic] Puts title in italics: Kodal\slash + Kr{\"a}mer\slash Bassenge, \textit{StrR}, \S~12. + +\item[titleformat=all] Provides short titles in \emph{all} cases, + regardless whether an author has been cited with multiple works. + +\item[titleformat=colonsep] Separates author and title by a colon + (only if a title is displayed): + Kodal\slash Kr{\"a}mer\slash Bassenge: StrR, \S~12. + +\item[titleformat=commasep] Separates author and title by a comma: + Kodal\slash Kr{\"a}mer\slash Bassenge, StrR, \S~12. + +\item[titleformat=noreplace] You can disable globally the + default replacement of the missing \texttt{shorttitle} by \texttt{title}. + See also the \cs{cite*}- and \cs{nextcitenotitle} commands. +\end{Options} + +\DescribeMacro{\jbtitlefont} For changing the format of the short title, the +command \cs{jbtitlefont} is available, which may be tweaked analogically: + +\begin{verbatim} + \renewcommand{\jbtitlefont}{\textit} +\end{verbatim} + +\DescribeMacro{\jbhowsepbeforetitle} For options \texttt{titleformat=commasep} +and \texttt{titleformat=colonsep} is specific formatting of the separation +marks possible by: +\begin{verbatim} + \renewcommand{\jbhowsepbeforetitle}{; } . +\end{verbatim} + +One of both options mentioned above should be active in this case. + +\subsubsection{Separation of the annotator} + +As explained above, the format of the annotator after the author(s) and the +separation by a slash have been set by default. These may be modified by +options. + +\begin{Options} +\item[annotatorlastsep=divis (formerly known as: colastsep=divis)] This option changes the slash as separation + mark to an (en)-dash: Kodal\slash Kr{\"a}mer--Bassenge StrR, \S~12. + +\item[annotatorfirstsep=in (formerly known as: cofirstsep=in)] The annotator appears first in the citation, + followed by `` in ''\,: Bassenge in Kodal\slash Kr{\"a}mer + StrR, \S~12. + +\item[annotatorfirstsep=comma (formerly known as: cofirstsep=comma)] This option works like \texttt{annotatorfirstsep=in}, + but `` in '' is now replaced by a comma: Bassenge, + Kodal\slash Kr{\"a}mer StrR, \S~12. +\end{Options} + +\subsubsection{Behaviour in Recurring Citations} + + \begin{Options} + \item[ibidem or ibidem=strict] If an author is cited several times + after each other, it may be useful to replace the short citation by + the shorthand ``ibid.'' \emph{The use of this shorthand is not + accepted by everyone because it does not improve readability of + the text.} In this respect, \textsf{jurabib} has been configured + in such a way that `ibid' will be displayed only if the recurrence + immediately follows the previous citation, and the recurring + citation is not the first on the actual page (see the examples). + By contrast, in the humanities the use of ``ibid.'' is often compulsory: + it can be an error to repeat a citation in full. Because of this fact, + \texttt{ibidem=strict} is the default for the humanities. + +\item[ibidem=nostrict] If one wants to suppress the settings mentioned + above, one could use this option, which allows the shorthand be + placed as the first on a page. One should be careful with this + option. It is useful only if one uses basically one author in the + document, so that it is clear to whom one refers. + +\item[ibidem=strictdoublepage] Granted, this option is of an academic + nature, because it quite carefully sorts out whether an first + citation or short citation occurs on the facing page of the + recurring citation.(Many thanks to \textsc{Stefan \mbox{Ulrich}}) If + so, ibidem is allowed as first citation on the page. If not, short + citation is used for recurring citations. Of course, this is useful + only when two-side printing is concerned, i.e. if the + \texttt{book}-class is used or the class option + \texttt{twoside}. Compare the following survey: +\end{Options}% + +\begin{center} +\noindent{\small +\begin{tabular}{@{}llll@{}}\hline\\[-2ex] +{\footnotesize\cs{footcite}|..|}& {\footnotesize|ibidem|/|ibidem=strict|}& +{\footnotesize|ibidem=strictdoublepage|} & +{\footnotesize|ibidem=nostrict|}\\\hline\\[-2ex] +|..[\S~12]{erm}| & $^{1}$\textsc{Erman}, \S~12. & $^{1}$\textsc{Erman}, \S~12. & $^{1}$\textsc{Erman}, \S~12.\\ +|..[\S~12]{erm}| & $^{2}$ibid. & $^{2}$ibid. & $^{2}$ibid.\\ +|..[\S~20]{erm}| & $^{3}$ibid., \S~20. & $^{3}$ibid., \S~20. & $^{3}$ibid., \S~20.\\ +|..{mueko}| & $^{4}$\textsc{M{\"u}Ko}. & $^{4}$\textsc{M{\"u}Ko}. & $^{4}$\textsc{M{\"u}Ko}.\\ +|..[\S~12]{erm}| & $^{5}$\textsc{Erman}, \S~12. & $^{5}$\textsc{Erman}, \S~12. & $^{5}$\textsc{Erman}, \S~12.\\ +|..[\S~12]{erm}| & $^{6}$ibid. & $^{6}$ibid. & $^{6}$ibid.\\[.8ex] +\multicolumn{4}{@{}c@{}}{\emph{Pagebreak from odd (right) to even (left)}}\\[1.6ex] +|..[\S~12]{erm}| & $^{7}$\textsc{Erman}, \S~12. & $^{7}$\textsc{Erman}, \S~12. $\longleftarrow$ \textsf{!!!} & $^{7}$ibid. $\longleftarrow$ \textsf{!!!}\\ +|..[\S~12]{erm}| & $^{8}$ibid. & $^{8}$ibid. & $^{8}$ibid.\\[.8ex] +\multicolumn{4}{@{}c@{}}{\emph{Pagebreak from even (left) to odd (right)}}\\[1.6ex] +|..[\S~12]{erm}| & $^{9}$\textsc{Erman}, \S~12. & $^{9}$ibid. $\longleftarrow$ \textsf{!!!} & $^{9}$ibid. $\longleftarrow$ \textsf{!!!}\\ +|..[\S~12]{erm}| & $^{10}$ibid. & $^{10}$ibid. & $^{10}$ibid.\\ +\hline +\end{tabular}} +\end{center} + +\DescribeMacro{\noibidem} Disables the \texttt{ibidem}-mechanism for the next +(\emph{and only for the next\,!}) citation. + +\subsubsection{Remaining Options} + +\begin{Options} +\item[commabeforerest] If active, a comma will be placed before page + ranges, margin numbers or the like: Kodal\slash + Kr{\"a}mer\slash Bassenge: StrR, \S~12. +\item[silent (formerly known as: \cs{jbsilent})] Suppresses all \textsf{jurabib} warnings. +\end{Options} + +\subsection{Tweaking the Format of the Bibliography} + +\subsubsection{Font Commands} + +\DescribeMacro{\biblnfont} +\DescribeMacro{\bibelnfont} +\DescribeMacro{\bibfnfont} +\DescribeMacro{\bibefnfont} +\DescribeMacro{\bibtfont} +\DescribeMacro{\bibbtfont} +\DescribeMacro{\bibjtfont} +\DescribeMacro{\bibapifont} +\DescribeMacro{\bibsnfont} + The possibilities for formatting are limited to the + modification of font formats of particular parts of entries in the + bibliography. For this purpose, the following commands are + available. \cs{biblnfont}, for formatting the last name of the + author and \cs{bibelnfont} for the last name of the editor. \cs{bibfnfont}, for formatting the first name of + author and \cs{bibefnfont} for the first name of editor. \cs{bibtfont}, for modification of the title of + books etc. \cs{bibbtfont}, for formatting the title of collections + of essays. \cs{bibjtfont}, for formatting the title of the journal + in article entries. With \cs{bibsnfont} you can determine the appearence of the series name. + +Additionally available are \cs{bibapifont}, for formatting the title of an +article or essay in a collection. This command is active for the entry types +\texttt{@ARTICLE}, \texttt{@PERIODICAL} and \texttt{@INCOLLECTION}. The default +format reflects the following definitions: + +\begin{verbatim} + \renewcommand{\biblnfont}{\bfseries} + \renewcommand{\bibfnfont}{\bfseries} + \renewcommand{\bibtfont}{} + \renewcommand{\bibbtfont}{} + \renewcommand{\bibjtfont}{} + \renewcommand{\bibapifont}{} +\end{verbatim} +Modification is possible analogically to the examples shown above. You should +notice here, too, that commands should be used which start with \cs{text} (Font +switch commands with arguments, for instance, \cs{textit}, \cs{textbf} etc.), +and \emph{not} those starting with \texttt{series}, \texttt{family} or ending +with \texttt{shape} (declaration form, for instance, \cs{bfseries}, +\cs{slshape}, \cs{sffamily})! + +\subsubsection{Options for the Bibliography} + + \begin{Options} + \item[bibformat=nohang] Hereby, the default indent of the second and + following lines in a bibliography entry will be suppressed. +\noindent If one wants to set the indent to a certain length, one should put +the following in the preamble of one's document: +\begin{verbatim} + \setlength{\jbbibhang}{1.5em} +\end{verbatim} + +An indent of 2.5\,em is the default. + \item[bibformat=tabular] In this case, the bibliography will be + displayed in two-column tabular form. The authors appear in the + left column, and the remainder of the entry in the right column. The + width of the columns may be customized by the following commands + (the values indicated are the defaults): +\begin{verbatim} + \renewcommand{\bibleftcolumn}{\textwidth/3} + \renewcommand{\bibrightcolumn}{\textwidth-\bibleftcolumn-1cm} +\end{verbatim} +Modification of the alignment within the columns is also possible by redefining +the following (defaults are displayed): +\begin{verbatim} + \renewcommand{\bibleftcolumnadjust}{\raggedright} + \renewcommand{\bibrightcolumnadjust}{\raggedright} +\end{verbatim} + For better hyphenation, use of the package \mbox{\textsf{ragged2e.sty}} is \emph{highly} recommended: + \begin{verbatim} + \usepackage{ragged2e} + \end{verbatim} + Loading the package \textsf{ragged2e} is sufficient. Redefinition of the necessary commands is + handled automatically. +\item[bibformat=numbered] This option results in a numbered bibliography. The format of the number can be determined by redefining |\bibnumberformat|: +\begin{verbatim} + \renewcommand{\bibnumberformat}[1]{(#1)} +\end{verbatim} +\item[bibformat=ibidem] Replaces recurring authors name(s) by a dash (or whatever you want), + if multiple works of the author appearing in the bibliography. \textsf{jurabib} is built in such a way, + that the replacement is suppressed, when a recurring entry lies on top of a page. Note that + it may be necessary to do several (up to four or more\,!) \LaTeX-runs to make this mechanism work. + + Modifications can be done by using (only an example\,!): +\begin{verbatim} + \renewcommand{\bibauthormultiple}{The same} +\end{verbatim} +\item[lookforgender] Uses the |gender|-field given in the |.bib| file.With these field you are able to determine gender-specific abbreviations while using |bibformat=ibidem|. Following abbreviations are defined: +\end{Options} +\noindent{\footnotesize + \begin{tabular}{@{}llllll@{}} + \hline\\[-2ex] + Abbrv. & Meaning & Citation & Defined by: & Bibliography & Defined by:\\ + \hline\\[-2ex] + |sf| & single female & Idem/idem & |\idem[S,s]fname| & Idem/idem & |\bibidem[S,s]fname|\\ + |sm| & single male & Idem/idem & |\idem[S,s]mname| & Idem/idem & |\bibidem[S,s]mname|\\ + |pf| & plural female & Idem/idem & |\idem[P,p]fname| & Idem/idem & |\bibidem[P,p]fname|\\ + |pm| & plural male & Idem/idem & |\idem[P,p]mname| & Idem/idem & |\bibidem[P,p]mname|\\ + |sn| & single neutrum & Idem/idem & |\idem[S,s]nname| & Idem/idem & |\bibidem[S,s]nname|\\ + |pn| & plural neutrum & Idem/idem & |\idem[P,p]nname| & Idem/idem & |\bibidem[P,p]nname|\\ + \hline\\[-2ex] + \end{tabular}} + +\medskip + +\noindent If you want to redefine the idem replacement for a single women author: +\begin{verbatim} + \AddTo\bibsenglish{% + \renewcommand\idemSfname{Eadem}% + \renewcommand\idemsfname{eadem}% + \renewcommand\bibidemSfname{Eadem}% + \renewcommand\bibidemsfname{eadem}% + } +\end{verbatim} + + +\begin{Options} +\item[bibformat=ibidemalt] An alternative format of the bibliography, especially for German law students. +\item[bibformat=compress] The bibliography will be printed more compact, i.\,e. the vertical space between the items will be reduced. +\item[bibformat=raggedright] The bibliography will be printed with right ragged margin. The use is recommended especially + when using |bibformat=tabular| too or when you are using a small textwidth. +\item[annote] The content of the |annote| field will be printed (only for the bibliography\,!). + It is possible -- similar to \textsf{natbib}~-- to leave the |annote| field empty + and let \textsf{jurabib} \NEW{0.51s} use an annote file instead. This file will be used + if it is named like the database entry key with |.tex| extension. + Nothing will be printed out, if |annote| field is empty and no annote file exists. + +\DescribeMacro{\bibAnnotePath} + With |\bibAnnotePath| you can specify a path to annote files. + The syntax is the same as for |\graphicspath|: |\bibAnnotePath{{annotes/}}| + uses the annote files from subdirectory |annotes| of the current directory. +\item[super] will convert all\NEW{0.6} |\cite| commands into |\footcite|'s, +\item[config=\meta{file}] you are able to use \NEW{0.6} several |.cfg| files. This option will load the named file. Please do not add the extension |.cfg|\,! +\item[dotafter=bibentry (formerly known as: \cs{jbdotafterbibentry})] places a dot at the end of each entry in the bibliography. +\item[dotafter=endnote (formerly known as: \cs{jbdotafterendnote})] places a dot at the end of each endnote (if you are using \textsf{endnotes.sty}). +\end{Options} + +\subsubsection{Further Possibilities for Customisation} + +\DescribeMacro{\bibbtsep} \DescribeMacro{\bibjtsep} Because of usually +different opinions about what citations should look like, the commands +\cs{bibbtsep} and \cs{bibjtsep} are available. They function as +``\textbf{b}ook\textbf{t}itle \textbf{sep}aration'' and +``\textbf{j}ournal\textbf{t}itle \textbf{sep}aration''. +\begin{bibexample} +\item \textbf{Brinkmann, Franz~Josef:} Der Zugang der + Willenserkl{\"a}rungen, M{\"u}nsterische Beitr{\"a}ge zur Rechtswissenschaft, + Bd.~3 Berlin, 1984 +\end{bibexample} +If one, for instance, wants ``in~'' preceding book titles or journal titles, +then, the following redefenitions are required: +\begin{verbatim} + \renewcommand{\bibbtsep}{in } + \renewcommand{\bibjtsep}{in } +\end{verbatim} + +After redefinition, the following comes out: +\begin{bibexample} +\item \textbf{Brinkmann, Franz~Josef:} Der Zugang der Willenserkl{\"a}rungen, in M{\"u}nsterische +Beitr{\"a}ge zur Rechtswissenschaft, Bd.~3 Berlin, 1984 +\end{bibexample} + +\DescribeMacro{\bibansep} \DescribeMacro{\bibatsep} \DescribeMacro{\bibbdsep} +The separation marks between authors, titles and between address and +month\slash\ year are a matter of discussion. This problem is countered by the +commands \cs{bibansep} (\textbf{a}fter \textbf{n}ame \textbf{sep}aration), +\cs{bibatsep} (\textbf{a}fter \textbf{t}itle \textbf{sep}aration) and +\cs{bibbdsep} (\textbf{b}efore \textbf{d}ate \textbf{sep}aration). + +If one, for instance, wants no colon after the author's name, a period after +the title and no comma between address and year, one could accomplish this by +the following redefinitions: +\begin{verbatim} + \renewcommand{\bibansep}{} + \renewcommand{\bibatsep}{.} + \renewcommand{\bibbdsep}{} +\end{verbatim} + +The result is as follows: +\begin{bibexample} +\item \textbf{Brinkmann, Franz~Josef} Der Zugang der + Willenserkl{\"a}rungen. M{\"u}nsterische Beitr{\"a}ge zur Rechtswissenschaft, + Bd.~3 Berlin 1984 +\end{bibexample} + +\subsubsection{Cited as \ldots} + +\DescribeMacro{howcited=normal} \DescribeMacro{howcited=multiple} +\DescribeMacro{howcited=compare} \DescribeMacro{howcited=all} The +\texttt{howcited}-options put (under certain conditions) a commentary behind +selected entries, which indicates how the work has been cited in the text. The +commentary changes dynamically, just as we know that from the citation itself, +i.e. the form in the bibliography always reflects the \emph{final} form of the +citation in the text. In case of article and periodical citations, the default +is that no indication of the way of citation is given---this is the default for +all \texttt{howcited}-options---except of \texttt{howcited=all}---because the +way of citation is in these cases always author's name and journal +title.\footnote{Special thanks to \textsc{Christian Meyn} for this suggestion.} + +If you want to have the howcited-remark for articles and periodicals too: +\begin{verbatim} + \makeatletter + \jb@allow@howcited@art@periodtrue + \makeatother +\end{verbatim} +These options can be enabled in the following way: + +\begin{Options} +\item[howcited=normal]\DescribeMacro{howcited=} + The option \texttt{howcited=normal} displays the remark + ``(cited: \meta{author})'', if in the \texttt{.bib}-file the + field \texttt{howcited} has been specified.\footnote{By this option, + one can avoid unwanted automation of howcited remarks which may occur + when using the option \texttt{howcited=compare}. Thus, it is possible + to specify for each work whether it should have a howcited remark and + if it must have, what it should look like.} + + Two possibilities exist for utilizing this field. The field functions as a switch when putting + \texttt{1} in the field. This results in displaying the original citation from the text in the + bibliography. An example: + \begin{verbatim} + @BOOK{enne:nipp, + author = {Ludwig Enneccerus and Hans Carl Nipperdey}, + title = {Allgemeiner Teil des B{\"u}rgerlichen Rechts}, + year = 1960, + volume = 1, + address = {T{\"u}bingen}, + edition = 15, + howcited = 1 + } + \end{verbatim} + Displays the following (use of \cs{[foot]cite} presupposed): + \begin{bibexample} + \item \textbf{Enneccerus, Ludwig\slash Nipperdey, Hans~Carl:} + Allgemeiner Teil des B{\"u}rgerlichen Rechts. Bd.~1, 15.~Auf\/lage, + T{\"u}bingen 1960 (cited: Eneccerus\slash Nipperdey) + \end{bibexample} + In case you want to let the howcited remark differ from the original citation, then, you should + simply put in the field what you want to be displayed. An example: + \begin{verbatim} + @BOOK{enne:nipp, + author = {Ludwig Enneccerus and Hans Carl Nipperdey}, + title = {Allgemeiner Teil des B{\"u}rgerlichen Rechts}, + year = 1960, + volume = 1, + volumetitle = {zweiter Halbband}, + address = {T{\"u}bingen}, + edition = {15.}, + howcited = {Enneccerus/Nipperdey, B{\"u}rgerliches Recht} + } + \end{verbatim} + Shows: + \begin{bibexample} + \item \textbf{Enneccerus, Ludwig\slash Nipperdey, Hans~Carl:} + Allgemeiner Teil des B{\"u}rgerlichen Rechts. Bd.~1, zweiter Halbband, 15.~Auf\/lage, + T{\"u}bingen 1960 (cited: Enneccerus\slash Nipperdey, B{\"u}rgerliches Recht) + \end{bibexample} + In order to ensure consequent layout when using options which affect font format of author's + names, one could insert fontcommands in the field. + +\item[howcited=compare]\DescribeMacro{howcited=compare} + Displays the additional ``(cited: \meta{author})'' only, + \emph{if an entry contains the field \texttt{shorttitle}}, \emph{and} the information in this field + differs from that specified in \texttt{title}. The field \texttt{howcited} in the + \texttt{.bib}-file will now be ignored. Decisive for displaying the remark is now only the + difference between \texttt{shorttitle} and \texttt{title}\,! That is the case in the following + example, cited with \cs{[foot]citetitle}: + \begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Kr{\"a}mer}, + title = {Stra{\ss}enrecht}, + shorttitle = {StrR}, + year = 1995, + address = {M{\"u}nchen}, + edition = {5.}, + pages = {S.\,30--34, \S~24} + } + \end{verbatim} + \begin{bibexample} + \item \textbf{Kodal, K.\slash Kr{\"a}mer, J.:} Stra\ss{}enrecht, 5.~Auf\/lage M{\"u}nchen, 1995 + (cited: Kodal\slash Kr{\"a}mer, StrR) + \end{bibexample} + +\item[howcited=multiple]\DescribeMacro{howcited=multiple} + This option places ``(cited: \meta{author})'', + if more than one work of an author is cited. There is an exception for commentaries by + default (the remark will be displayed always), but this could be changed + (\cs{jb@@arg}$=$\texttt{1}, if more than one work of the same author is cited): + \begin{verbatim} + \makeatletter + \renewcommand{\jb@make@howcited@multiple}{% + \jb@suppress@dot@for@howcitedtrue + \ifthenelse{\equal{\jb@@arg}{1}}{% + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited + }{% + \let\bibhowcited\@empty + \let\bibcommenthowcited\@empty + \let\bibartperiodhowcited\@empty + }% + }% + \makeatother + \end{verbatim} + \item[howcited=all]\DescribeMacro{howcited=all} + The \texttt{howcited}-remark appears for all entries. +\end{Options} + +The default for the remark is ``(cited: \meta{author})''. Customization is +possible by the following commands: +\begin{verbatim} + \newcommand*{\bibhowcitedprefix}{-- as } + \newcommand*{\bibhowcitedsuffix}{ cited.} +\end{verbatim} + +Notice the spaces used. This results in: +\begin{bibexample} +\item \textbf{Kodal, K.\slash Kr{\"a}mer, J.:} Stra\ss{}enrecht, 5.~Auf\/lage M{\"u}nchen, 1995 +---as Kodal\slash Kr{\"a}mer, StrR cited. +\end{bibexample} +If you want to put something in the bibliography, but it has not been cited in +the text, you can use command \cs{nocite}: +\begin{verbatim} + \nocite{kkstrr} +\end{verbatim} + +Or, in order to put \emph{all} works which are not cited in the bibliography: +\begin{verbatim} + \nocite{*} +\end{verbatim} + +Then, the commentary contains the actual meaning of the command +\cs{bibnotcited}. This command is empty by default. It might easily be modified +by: +\begin{verbatim} + \renewcommand{\bibnotcited}{(not cited)} +\end{verbatim} + +Shows the following: +\begin{bibexample} +\item \textbf{Kodal, K.\slash Kr{\"a}mer, J.:} Stra\ss{}enrecht, 5.~Auf\/lage M{\"u}nchen, 1995 (not cited) +\end{bibexample} + +Of course, for this to happen, one of the two option \texttt{howcited=normal} +or \texttt{howcited=compare} should be active. + +Now \NEW{0.51} all useful combinations of |howcited| options are possible. + +Remark: using these options without using the option \texttt{citefull=all} or +for some citations the command \cs{[foot]citetitle}, seems not useful. + + +\subsubsection{More Entry Fields and Types} + +\DescribeMacro{url =} Although citing the World Wide Web is not widely +practised in law studies, I nevertheless added an extra field \texttt{url}. + +\DescribeMacro{urldate =} A field \texttt{urldate} is available, which enables one to specify the date on which +one visited the link which has been specified in \texttt{url}. The default for +this command is ``visited on '' and may be customized by redefining: +\begin{verbatim} + \AddTo\bibsenglish{\renewcommand*{\urldatecomment}{accessed on }} . +\end{verbatim} +The separation between URL and |\urldatecomment| is configurable and represented by |\bibbudcsep|. +It is defined as "` -- "' by default. + +\DescribeMacro{\biburlprefix} \DescribeMacro{\biburlsuffix} +\DescribeMacro{\biburlfont} One can customize the format of the +\texttt{url}-field in two ways. On + the one hand, by modifying \cs{biburlprefix}, which inserts the + prefix ``URL:'' before the link. On the other hand, by modifying + the command \cs{biburlfont}, which specifies the font format of the + link. Defaults are: + +\begin{verbatim} + \renewcommand*{\biburlprefix}{\jblangle{}URL:} + \renewcommand*{\biburlsuffix}{\jbrangle{}} +\end{verbatim} + +Customisation is analog to the other commands by using \cs{renewcommand}. In +order to properly break URLs and properly display characters like \verb+~+ and +\verb+_+, \textsf{jurabib} is loading the \textsf{url}-package. +The |\biburlfont| command was changed in version \CH{0.51}0.51. You can modify the url font +with the following syntax (only these four values are possible\,!) +\begin{verbatim} + \biburlfont{tt} % typewriter + \biburlfont{rm} % roman + \biburlfont{sf} % sans serif + \biburlfont{same} % same as text +\end{verbatim} + +\DescribeMacro{@WWW} +New entry type for URL's. Required is only +\texttt{url}, optional are \texttt{urldate}, \texttt{author}, and +\texttt{title}. + +\DescribeMacro{@PERIODICAL} After a suggestion by \textsc{Andreas Stefanski}, +I've added a new entry type \texttt{@PERIODICAL} for periodicals which are not +cited by year, but by volume number. This entry type satisfies the requirement +to put the year between square brackets. Additionally, the specification of the +volume is possible: +\begin{verbatim} + @PERIODICAL{oellers, + author = {Bernd Oellers}, + title = {Doppelwirkung im Recht?}, + journal = {AcP}, + year = 1969, + volume = 169, + pages = {S.\,67ff} + } +\end{verbatim} + +This shows the following: +\begin{bibexample} +\item \textbf{Oellers, Bernd:} Doppelwirkung im Recht? AcP 169 [1969], S.\,67ff +\end{bibexample} + +\DescribeMacro{\bibpldelim} \DescribeMacro{\bibprdelim} Changing the format of +the brackets is possible by redefining the commands \cs{bibpldelim} +(\textbf{p}eriodical \textbf{l}eft \textbf{delim}iter) and \cs{bibprdelim} +(\textbf{p}eriodical \textbf{r}ight \textbf{delim}iter): +\begin{verbatim} + \renewcommand{\bibpldelim}{(} + \renewcommand{\bibprdelim}{)} +\end{verbatim} + +\begin{bibexample} +\item \textbf{Oellers, Bernd:} Doppelwirkung im Recht? AcP 169 (1969), S.\,67ff +\end{bibexample} + +\DescribeMacro{@COMMENTED} By definition of the entry type \texttt{@COMMENTED} +it is possible to cite commentaries as such. In connection with the option +\texttt{howcited=normal} (cited as \meta{author}\slash annotator) or (cited as +annotator in \meta{author}) appears at the end of the bibliography entry. + +\begin{bibexample} +\item \textbf{M{\"u}nchener Kommentar:} Kommentar zum B{\"u}rgerlichen Gesetzbuch, Bd.~2, +\mbox{--~Schuldrecht~--} Allgemeiner Teil, 3.~Auf\/lage, M{\"u}nchen, 1994, +\S\kern-.8pt\S~241--432 (cited: M{\"u}Ko\slash annotator) +\end{bibexample} + +\DescribeMacro{updated =} This new field \NEW{0.51e} will be recognized while using |@COMMENTED| +to give the date of last update. +\begin{bibexample} +\item \textbf{M"unchener Kommentar:} Kommentar zum B"urgerlichen Gesetzbuch, Bd.~2, +\mbox{--~Schuldrecht~--} Allgemeiner Teil, 3rd edition, M"unchen, last update: May~1994 +\end{bibexample} +|updated| does not overwrite the |year| field\,! The separation from the +|address|\slash|publisher|/|year| block is done by the |\updatesep| macro, which is +defined as comma by default. +In front of the content of the |updated| field appears ``last update''. This is configurable via |\updatename|. +\begin{verbatim} + \AddTo\bibsenglish{% + \def\updatesep{.} + \def\updatename{updated:} + } +\end{verbatim} + +If one doesn't use this entry type, although the entry is a commentary, (cited +as \meta{author} appears, which is incorrect, because the actual citation looks +different. Those who do not use the option \texttt{howcited=normal} cannot +avoid using the entry type \texttt{@COMMENTED}. + +\DescribeMacro{volumetitle} By the field \texttt{volumetitle} it is possible +to specify a volume title which appears after the volume number. This field is +available for the entry types \texttt{@COMMENTED}, \texttt{@BOOK}, +\texttt{@INBOOK} and \texttt{@INCOLLECTION}. + +\DescribeMacro{titleaddon =} + This field can be used to place a commentary, a note, some remarks about translators, coauthors etc. after the title. +\begin{verbatim} + @COMMENTED{mueko, + [...] + title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch}, + titleaddon = {Unter Mitarbeit von Hans Mustermann}, + [...] + } +\end{verbatim} +shows us: +\begin{bibexample} + \item \textbf{M{\"u}nchener Kommentar:} Kommentar zum B{\"u}rgerlichen Gesetzbuch, Unter Mitarbeit von Hans Mustermann, Bd.~2, + \mbox{--~Schuldrecht~--} Allgemeiner Teil, 3.~Auflage, M{\"u}nchen, 1994, \S\kern-.8pt\S~241--432 +\end{bibexample} + +\DescribeMacro{booktitleaddon =} + The same as |titleaddon| for booktitles in |@INCOLLECTION|'s. + +\DescribeMacro{editortype =} + If you want to place something other than ``(eds.)'' after a person, which isn't + really an editor, you can use the field |editortype|: +\begin{verbatim} + @COMMENTED{palandt, + editor = {Otto Palandt}, + editortype = {Begr.}, + title = {B{\"u}rgerliches Gesetzbuch mit Einf{\"u}hrungsgesetz [...]}, + [...] + } +\end{verbatim} +\begin{bibexample} + \item \textbf{Palandt, Otto (Begr.):} B{\"u}rgerliches Gesetzbuch mit Einf{\"u}hrungsgesetz [...], + 59.~Auflage, M{\"u}nchen, 2000 +\end{bibexample} + This works for |@INCOLLECTION| too. +\par\medskip\par +\DescribeMacro{sortkey =} + It seems to be required sometimes to determine the sorting of some works different from the normal sorting algorithm. + This problem can be solved with the |sortkey| field, which can be used to sort the work with highest priority -- contrary to + the standard |key| field, which is mostly a fallback if |author| and |editor| are missing. + +\DescribeMacro{annote =} + Some people wrote me they would need the |annote| field to give a short abstract or something similar at the end of the bibliographic entry. + This is working now. You are able to switch this feature on and off by using the |annote| option in the preamble or in your local |jurabib.cfg| file. +\begin{verbatim} + @COMMENTED{palandt, + editor = {Otto Palandt}, + title = {B{\"u}rgerliches Gesetzbuch mit Einf{\"u}hrungsgesetz [...]}, + annote = {Some people wrote me they ...}, + [...] + } +\end{verbatim} +\begin{bibexample} + \item \textbf{Palandt, Otto:} B{\"u}rgerliches Gesetzbuch mit Einf{\"u}hrungsgesetz [...], + 59.~Auflage, M{\"u}nchen, 2000 \par {\small Some people wrote me they would need the |annote| field to + give a short abstract or something similar at the end of the bibliographic entry. This is working now. + You are able to switch this feature on and off by using the |annote| option in the preamble or in your + local |jurabib.cfg| file.} +\end{bibexample} + The content of the field is printed out in |\small| by default. + If you want change that: +\begin{verbatim} + \renewcommand*{\jbannoteformat}[1]{{\footnotesize\begin{quote}#1\end{quote}}} +\end{verbatim} +\begin{bibexample} +\item \textbf{Palandt, Otto:} B{\"u}rgerliches Gesetzbuch mit Einf{\"u}hrungsgesetz [...], + 59.~Auflage, M{\"u}nchen, 2000 \par {\footnotesize\begin{quote} Some people wrote me they would need the |annote| + field to give a short abstract or something similar at the end of the bibliographic entry. + This is working now. You are able to switch this feature on and off by using the |annote| option + in the preamble or in your local |jurabib.cfg| file.\end{quote}} +\end{bibexample} + +\DescribeMacro{textedition =} + In v0.51e \CH{v0.51e} this field was removed again, because enclosing the |edition| in + curly brackets will have the same result. + +\subsubsection{Citing Juridical Dissertations and the Like} + +\DescribeMacro{dissyear =} Of course one can cite juridical dissertations as +normal dissertations, but a juridical dissertation may have been published as a +book as well. In the first case, the entry type \texttt{@JURTHESIS} (or +\texttt{@PHDTHESIS}/\texttt{@MASTERSTHESIS}) should be used. In the second +case, using the entry type \texttt{@BOOK} should be preferred. For this reason, +a new field \texttt{dissyear} has been created, which enables one to specify +the year in which a book appeared as doctoral dissertation. Furthermore, if +\texttt{dissyear} is present, fields \texttt{school} and \texttt{type} are +available for \texttt{@BOOK} as well. If \texttt{dissyear} is not present, +\texttt{type} and \texttt{school} are ignored. For example: +\begin{verbatim} + @BOOK{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1985, + address = {Baden-Baden}, + type = {Habil.}, + school = {G{\"o}ttingen}, + dissyear = 1984 + } +\end{verbatim} + +shows the following: +\begin{bibexample} +\item \textbf{Alexy, Robert:} Theorie der Grundrechte, Baden-Baden 1985 (also Habil. G{\"o}ttingen 1984) +\end{bibexample} + +Suppose this work had not been published as a book, the following entry would +have been appropriate:: +\begin{verbatim} + @PHDTHESIS{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1984, + type = {Habil.}, + school = {G{\"o}ttingen} + } +\end{verbatim} + +and would have shown the following: +\begin{bibexample} + \item \textbf{Alexy, Robert:} Theorie der Grundrechte, Habil. G{\"o}ttingen 1984 +\end{bibexample} +The default for this type is ``Jur. Diss.'': +\begin{verbatim} + @PHDTHESIS{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1984, + school = {G{\"o}ttingen} + } +\end{verbatim} +\begin{bibexample} +\item \textbf{Alexy, Robert:} Theorie der Grundrechte, Jur. Diss. G{\"o}ttingen 1984 +\end{bibexample} + +\DescribeMacro{\SSS} +The command \cs{SS} is no longer redefined by \textsf{jurabib}\,! +The new command \cs{SSS} defines two section marks with reduced space in +between the two. Compare \cs{S}\cs{S}: \S\S\ and \cs{SSS}: \S\kern-.8pt\S + +\section{Remaining things~\dots} + +Some helpful commands, which were introduced into the package without any +announcement. + +\begin{Options} + \item[pages=format] (Primarily for the humanities) You can switch on + preformatting of the pages given by the \texttt{pages}-field. + You are able to write \texttt{pages = \{22-34\}} instead of + \texttt{pages = \{pp.\~{}22-34\}}. Not enough, you are able to do + the same with the pages given by the optional argument of your + |\cite| command. If you want to give something else as page(ranges)s + or if you want to add something after a page(range), + please use the |\nopage| and |\pageadd| command (see below for an example). + \textsf{jurabib} will insert the appropriate and---if you are using babel---it + will use the chosen main document language. \textsf{jurabib} makes a + difference between a page and a pagerange. If you like to change the defaults: + \begin{verbatim} + \AddTo\bibsenglish{% + \def\jbpagename{page}% + \def\jbpagesname{pages}% + } + \end{verbatim} + +With version 0.51g \NEW{0.51g} you can use separate macros for the bibliography. The macros are named +|\bibpagename| and |\bibpagesname|. Please note that the definitions of |\bibpage[s]name| +are the same as for |\jbpage[s]name|. This means, if you are redefining |\jbpage[s]name|, this +will have effect on the meaning of |\bibpage[s]name| unless you are redefining +|\bibpage[s]name| separately. + + Let's take a look what \textsf{jurabib} can do to minimize your work\footnote{This rewritten option was + inspired by \textsf{pageranges.sty}, available at CTAN, and completely contributed by Stefan Ulrich. Thanks a lot.}: + \begin{center} + {\small + \begin{tabular}{@{}ll@{}} + \hline\\[-2ex] + |\cite[45]{<key>} |& \dots{}, p.~45\\ + |\cite[45--47]{<key>} |& \dots{}, pp.~45--47\\ + |\cite[45, 47 and 49]{<key>} |& \dots{}, pp.~45, 47 and 49\\ + |\cite[45f]{<key>} |& \dots{}, pp.~45f.\\ + |\cite[45ff]{<key>} |& \dots{}, pp.~45ff.\\ + |\cite[\nopage{I, III and IV}]{<key>} |& \dots{}, I, III and IV\\ + |\cite[13,\pageadd{something text}]{<key>} |& \dots{}, p.~13, something text\\ + | ^ No whitespace here!!! |& \\ + \hline\\[-2ex] + \end{tabular}} + \end{center} + +\item[pages=test] By default, page(range)s, which are given via the \texttt{pages}-field in + the \texttt{.bib}-file, are suppressed in the citation. With \texttt{pages=test} it will be tested, + if a page(range) is given by the optional argument of the \cs{cite} command. If so, that one will be used. + If there's no optional page(range) given, the one from the \texttt{.bib}-file will be used. +\item[pages=always] The page(range) given by the \texttt{.bib}-file are printed always. + +\item[hypercite=false] Disables the automated \NEW{0.51c} conversion of citations into hyperlinks when using the + \textsf{hyperref} package. + +\end{Options} + +\begin{description} +%\item[\cs{jbdotafterbibentry}] places a dot at the end of each entry in the bibliography. +%\item[\cs{jbdotafterendnote}] places a dot at the end of each endnote (if you are using \textsf{endnotes.sty}). +\item[\cs{jbedseplikecite}] Separation of the editors in the bibliography will be the same like in the citation. +\item[\cs{jbdisablecitationcrossref}] Disables crossrefs, which aren't \texttt{@INCOLLECTION}s. +%\item[\cs{jbsilent}] Suppresses all \textsf{jurabib} warnings. +\item[\cs{formatpages} \textit{formerly known as} \cs{formatarticlepages}] This command allows + you to determine the appearance of page(range)s of citations of all types. + \textsf{jurabib} is able to extract the starting page from a given pagerange (in the database). + Since v0.5f this command can be used with all publication types. + You can specify a list of publication types by using the first mandatory argument. + This command takes \textit{two\,!} \CH{0.51o} optional and three mandatory arguments: +\begin{center} + \small\cs{formatpages}\oarg{after start page separator}\oarg{before start page separator}% + \marg{typelist}\marg{left delim}\marg{right delim} +\end{center} + If you type |\formatpages[: ]{article,periodical}{(}{)}|, \textsf{jurabib} will format the citation |\cite[48]|\marg{key} + with the follwowing database entry: +\begin{verbatim} + @ARTICLE/PERIDOCAL{broxja, + author = {Hans Brox}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + language = {german}, + year = 1980, + pages = {45--60}, + address = {M{\"u}nchen} + } +\end{verbatim} + like that: + \par\medskip + \qquad Brox, JA 1980, 45: (48). + \par\medskip + If you want format only the pages given by the optional argument of |\cite|, you can leave the optional arguments + empty: + \par\medskip + |\formatarticlepages{article}{[}{]}| + \par\medskip + \qquad Brox, JA 1980, [48]. + \par\medskip + +If you are using both |\formatpages| \NEW{0.52b} and |pages=format|, it is default now to suppress +formatting of pages given by the optional argument of |\cite|, e.g. you have written +|\formatpages[, ]{article}{}{}| into your preamble and you are using |pages=format| too, +then the ouput will look like: + +\par\medskip +\qquad Brox, JA 1980 p.~45, 48. +\par\medskip + +If you want to have a formatted second page number, you can use +|\jbnoformatafterstartpagefalse| in the preamble: + +\par\medskip +\qquad Brox, JA 1980 p.~45, p.~48. + + +\item[\cs{jbfirstcitepageranges}] If you have given \NEW{0.52h} a pagerange via the |pages|-field for + |@ARTICLE| or |@PERIODICAL| type, this pagerange will be printed out for first (using |citefull=first|) + and full citations done by using |\[foot]fullcite|. This works independently from the |pages| options\,! + If you add a page using the optional argument of the |\[foot]cite| command, this page will be added + after the pagerange, separated by ``here:'', which is represented by the macro |\herename|: + +\par\medskip +\qquad [\dots], p.~45, here: p.~48. +\par\medskip + +Redefinition as usual: + + \begin{verbatim} + \AddTo\bibsenglish{% + \def\herename{there:}% + } + \end{verbatim} + + +\end{description} + +\section{The Configuration file \texttt{jurabib.cfg}} + That file can be used to save redefinitions and options. The name has to be \texttt{jurabib.cfg} and + it has to live in the working directory or in the same directory where \textsf{jurabib} lives. + \begin{verbatim} + \jurabibsetup{% + authorformat=smallcaps, + commabeforerest, + titleformat=colonsep, + bibformat={tabular,ibidem,numbered} + } + \end{verbatim} + +\section{Options for Other Academic Disciplines}\label{sec:nichtjur} +The following options are not intended primarily for juridical work, but +satisfy the needs of, among others, historians, philosophers, etc. They are the +(provisional) answers to the most different questions which were proposed to +me. I hope them to be useful. Suggestions for improvement are welcome. + +\begin{Options} +\item[ibidem=name] By this option, more extensive data will be + inserted then by using \texttt{ibidem/ibidem=strict}. If this option + is active, the complete name of the author will be given (If not the + option \texttt{authorformat=reducedifibidem} is active, because then, only + the last name will be given). This option is intended for use + together with \texttt{citefull=first}, and therefor, that option + will be activated automatically. + +If an author is cited with multiple works, it may happen that \textsf{jurabib} +automatically switches to the next option, for guaranteeing the unambiguity of +the citation. You will find a hint to this in the \texttt{.log}-file. + +\item[ibidem=name\&title] Just like \texttt{ibidem=name}, but in this + case, the title will be given as well. Also here, the option + \texttt{citefull=first} will be active. +\end{Options} +This is a survey to the options explained above: +\begin{center} +{\small +\begin{tabular}{@{}lr@{}p{4.55cm}r@{}p{4.55cm}@{}}\hline\\[-2ex] +{\footnotesize\cs{footcite}|..|} & & {\footnotesize|ibidem=name|} & &{\footnotesize|ibidem=name&title|}\\\hline\\[-2ex] +|..{brox:bgb}| & $^{1}$ &\textsc{Brox}, Hans: \textit{Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches.} 20.\,Auf\/lage, K{\"o}ln, Berlin, Bonn, M{\"u}nchen 1996. + & $^{1}$ &\textsc{Brox}, Hans: \textit{Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches.} 20.\,Auf\/lage, K{\"o}ln, Berlin, Bonn, M{\"u}nchen 1996.\\[.3ex] +|..{brox:bgb}| & $^{2}$ &\textsc{Brox}, Hans, ibid. & $^{2}$&\textsc{Brox}, Hans: BGB AT, ibid. \\[.3ex] +|..{brox:bgb}| & $^{3}$ &\textsc{Brox}, Hans, ibid. & $^{3}$&\textsc{Brox}, Hans: BGB AT, ibid. \\[.3ex] +|..{oellers}| & $^{4}$ &\textsc{Oellers}, Bernd:\,\textit{Doppelwirkung im Recht\,?} AcP 169 [1969]. + & $^{4}$ &\textsc{Oellers}, Bernd:\,\textit{Doppelwirkung im Recht\,?} AcP 169 [1969]. \\[.5ex] +|..{brox:bgb}| & $^{5}$ &\textsc{Brox}, Hans, ibid. & $^{5}$&\textsc{Brox}, Hans: BGB AT, ibid. \\[.3ex] +|..{brox:bgb}| & $^{6}$ &\textsc{Brox}, Hans, ibid. & $^{6}$&\textsc{Brox}, Hans: BGB AT, ibid. \\[.8ex] + \multicolumn{5}{@{}c@{}}{\emph{Pagebreak}}\\[1.6ex] +|..{brox:bgb}| & $^{7}$ &\textsc{Brox}, Hans, ibid. & $^{7}$&\textsc{Brox}, Hans: BGB AT, ibid. \\[.3ex] +|..{brox:bgb}| & $^{8}$ &\textsc{Brox}, Hans, ibid. & $^{8}$&\textsc{Brox}, Hans: BGB AT, ibid. \\[.8ex] + \multicolumn{5}{@{}l@{}}{\emph{now with |authorformat=citationreversed|:}}\\[.8ex] +|..{brox:bgb}| & $^{9}$ & Hans \textsc{Brox}, ibid. & $^{9}$&Hans \textsc{Brox}: BGB AT, ibid. \\[.8ex] + \multicolumn{5}{@{}l@{}}{\emph{or with |authorformat=reducedifibidem|:}}\\[.8ex] +|..{brox:bgb}| & $^{10}$ &\textsc{Brox}, ibid. & $^{10}$&\textsc{Brox}: BGB AT, ibid. \\[.3ex] +\hline +\end{tabular}} +\end{center} + + \begin{Options} + \item[\texttt{ibidem=name\&title\&auto}] + This option \NEW{0.5f} can be useful for often repeated citations of different work of the same author. + For the first citation the full entry is printed (|citefull=first| is automatically used). + As long as the same work from an author is cited, only the name of the author will be used + (this is equal to |ibidem=name|). + + If the work is cited again some footnotes later, + name and title will be printed out (|ibidem=name&title|). + This will avoid ambiguity if an author is cited with more than one work. + If the immediately following citations are from the same author, only the name will be printed out. + + If you are using |ibidem=name| only, \textsf{jurabib} will check if the citations + seems to be ambiguous and then, |ibidem=name&title&auto| will be used automatically. You will find a + remark in the |.log| file. + \end{Options} + Here a survey: + \begin{center} + {\small + \begin{tabular}{@{}lr@{}p{9.5cm}@{}}\hline\\[-2ex] + {\footnotesize\cs{footcite}|..|} & & {\footnotesize|ibidem=name&title&auto|}\\\hline\\[-2ex] + |..{brox:bgb}| & $^{1}$&\textsc{Brox}: \textit{Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches.} 20.\,Auflage, K{\"o}ln, Berlin, Bonn, M{\"u}nchen 1996.\\[.3ex] + |..{brox:schr}| & $^{2}$&\textsc{Brox}: \textit{Besonderes Schuldrecht.} 20.\,Auf\/lage, M{\"u}nchen 1995.\\[.3ex] + |..{brox:bgb}| & $^{5}$&\textsc{Brox}, ibid.\\[.8ex] + \multicolumn{3}{@{}l@{}}{\hfill\emph{now another work is cited\,!}}\\[.8ex] + |..{brox:schr}| & $^{6}$&\textsc{Brox}: SchR~BT, ibid.\\[.8ex] + |..{brox:schr}| & $^{7}$&\textsc{Brox}, ibid.\\[.8ex] + \multicolumn{3}{@{}l@{}}{\hfill\emph{\dots{} and we are switching back again\,!}}\\[.8ex] + |..{brox:bgb}| & $^{8}$&\textsc{Brox}: BGB AT, ibid.\\[.8ex] + |..{brox:bgb}| & $^{8}$&\textsc{Brox}, ibid.\\[.8ex] +\hline + \end{tabular}} + \end{center} + +\noindent Changing the sequence of ``ibid.'' is possible by redefining the +commands \cs{ibidemname} and \cs{ibidemmidname}: + \begin{verbatim} + \AddTo\bibsenglish{% + \renewcommand{\ibidemname}{Ibid.} + \renewcommand{\ibidemmidname}{ibid.} + } + \end{verbatim} +\cs{ibidemname} is used by the options \texttt{ibidem=strict}, +\texttt{ibidem=strictdoublepage} and \texttt{ibidem=nostrict} and appears at +the beginning of the---suppressed---citation (It is therefore possible to +capitalize it). \cs{ibidemmidname} however, appears together with the options +\texttt{ibidem=name} and \texttt{ibidem=name\&title} and can be written in +lowercase---which depends on your preference. + +Now it's possible to make a difference \NEW{0.51} between a subsequent citation +with same page(s) and a subsequent citation with different page(s). +For the first case, the macros |\samepageibidemname| or |\samepageibidemmidname| +will be used internally. Its definiton is the same as for |\ibidemname| or +|\ibidemmidname| by default. +For the second case, the macros |\diffpageibidemname| or |\diffpageibidemmidname| +are used. If you like to make a difference between these two cases, you can +redefine the macros to your needs. I don't know useful abbreviations for the +English language, so I will demonstrate it with a dummy: +\begin{verbatim} + \renewcommand*{\samepageibidemname}{[same pages]} +\end{verbatim} +A short table will explain more: +\begin{center} +{\small\begin{tabular}{@{}lcl@{}}\hline\\[-2ex] +|\footcite[45]{broxbgb}| & $\longrightarrow$ &\textsuperscript{1}Brox, 45.\\ +|\footcite[45--47]{broxbgb}| & $\longrightarrow$ &\textsuperscript{2}Ibid., 45--47.\\ +|\footcite[45--47]{broxbgb}| & $\longrightarrow$ &\textsuperscript{3}[same pages]\\ +|\footcite[45f]{broxbgb}| & $\longrightarrow$ &\textsuperscript{4}Ibid., 45\,f.\\ +\hline\\[-2ex] +\end{tabular}} +\end{center} + +\begin{Options} +\item[citefull=first] By aid of this option, it is possible to show + the full bibliography entry in the first citation. For all + subsequent citations, a short form will be used. To force a full + citation in later citations, use the commands \cs{fullcite} and + \cs{footfullcite}. With this option, annotators appear before author's + names, separated by `in''. In order to get uniform citation and to + avoid confusion of the reader, this option automatically activates + the option \texttt{annotatorfirstsep=in} and thus activates options + which are presupposed by that option. Apart from that, the + \texttt{howcited}-options are deactivated. +\item[citefull=chapter] switches on \texttt{citefull=first} automatically and resets each chapter. +\item[citefull=section] switches on \texttt{citefull=first} automatically and resets each section. +\item[citefull=all] This option shows all citations as full citations. + It switches also all separators to \texttt{annotatorfirstsep=in}. The + \texttt{howcited}-options are deactivated. However, combination + with \texttt{ibidem} is possible. +\item[see] Because those outside law studies don't need the second + optional argument of the \cs{cite*} commands, by this option, one + can add phrases like ``See'' or ``Compare'' before the citation. + This option works globally. +\item[natoptargorder] Hereby, the sequence of the optional parameters + is reversed, for instance because of making the document compatible + with \texttt{natbib.sty} (before writing it). +\item[crossref=dynamic] You can use the other \texttt{crossref}-options + together with that option to achieve crossrefs, which are different + in their length---longer, if a work is cited the first time---shorter + if it is cited again. + Please compare the lonely use of \texttt{crossref=dynamic} (for better + understanding you may find the crossrefs inside square brackets): + \begin{quote} + \small $^1$\,Lincoll, Daniel D.: Semigroups of Recurrences. In + [Lipcoll/Lawrie/Sameh: High Speed Computer and Algorithm Organization].\\ + $^2$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll/Lawrie/Sameh]. + \end{quote} + with the combination of \texttt{crossref=dynamic} with \texttt{crossref=long}: + \begin{quote} + \small $^1$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll, David~J./Lawrie, + D.~H./Sameh, A.~H. (eds.): + High Speed Computer and Algorithm Organization. + 3rd edition, New York: Academic Press, September 1977 (Fast Computers 23)].\\ + $^2$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll/Lawrie/Sameh: + High Speed Computer and Algorithm Organization]. + \end{quote} + +\item[crossref=normal] (Default) Hereby, cross references specified by + the special field \texttt{crossref} in the + bibliography are displayed with author + (\texttt{shortauthor} prevailing over \texttt{author}) and title + (\texttt{shorttitle} if available, else + \texttt{title}). + +\item[crossref=short] If no ambiguities result, title is left out with + this option. In case a title is needed, \texttt{shorttitle} prevails + over \texttt{title}. + +\item[crossref=long] With this option, the cross reference will be + displayed as full citation. + +\item[lookat] Hereby, references to footnotes are enabled which + contain the full citation to which is referred. This is possible + \emph{only} when using the \cs{footcite} command in connection with + the option \texttt{citefull=first}. This may be useful for + articles which do not contain bibliographies. For this purpose, the command + \par\medskip + \qquad \cs{nobibliography}\marg{bibfile}\DescribeMacro{\nobibliography} + \par\medskip + is available, which suppresses bibliography generation.\footnote{This command is primarily for + use with \texttt{lookat}, but it doesn't require \texttt{lookat}. But one of the \texttt{citefull}-options + has to be enabled. Thanks to \textsc{Stefan Ulrich}.} + In later citations, short forms of citation are used, accompanied by a hint to the footnote in + which the full citation can be found.\footnote{Example: \textsc{Brox}: BGB AT (wie Anm. + \textit{$\langle$Nr.$\rangle$}), Rn.~168.} + + Please notice that for correct parsing of the references with + \texttt{lookat}, after running \BibTeX, \emph{three} \LaTeX-runs are + necessary! + + In case you want to use the package \textsf{varioref} or + \textsf{fancyref}, then instead of \cs{ref} the command + \cs{vref} will be used, resulting in different references, in + particular if the full citation is one or two pages away. + In case you want to use the package \textsf{varioref} or + \textsf{fancyref} in your document, without consequences for your + citations, you can put the command\DescribeMacro{\jbignorevarioref} + \cs{jbignorevarioref} in the preamble of your document. + + It is possible to customize the behavior of the \texttt{lookat} option by the following commands: + \begin{verbatim} + \renewcommand{\lookatprefix}{\space(see footnote~} + \renewcommand{\lookatsuffix}{)} + \end{verbatim} + + \texttt{lookat} \emph{may} be used in connection with the + {ibidem}-options, but such is not recommended.\par When using + \cs{cite} commands in the main text (outside footnotes!) \emph{and} \cs{footcite} + commands \mymarginpar{CAVE\,!} + (or \cs{cite} commands inside footnotes) + errors may occur from \textsf{alphanum} + or---if used---\textsf{varioref}. + \textsf{alphanum} may complain in the following way: + \begin{verbatim} + ! Package alphanum Error: Self-reference detected!. + [...] + ? + \end{verbatim} + + In this case, you have cited a work in the main text for the first time, to which one refers in the + same section by a \cs{footcite} command. Because the first citation is not inside a footnote, the + section number will be taken as reference label. Because by using the option \texttt{lookat}, + following citations refer to the first citation, and this citation is in the same section, + \textsf{alphanum} complains as mentioned above.\par Another error report which is caused by the + same problem might look as follows: + \begin{verbatim} + ! Extra }, or forgotten \endgroup. + \J@refP ...nta #1\,\J@INumberRoot {#1}{#2} + [...] + ? + \end{verbatim} + + The solution is to put at least the first citation inside a footnote (whether one uses + \cs{footcite} or \cs{cite} inside a \cs{footnote} makes no difference.). + + \emph{The \texttt{lookat}-option cannot be used with documents based + on the \texttt{book}- or \texttt{report}-class or their + derivatives.} Use of this option with the + \textsf{footnpag.sty}-package is equally impossible. + + Using \texttt{lookat} in connection with \texttt{book}- or \texttt{report}-classes is possible + by the \textsf{remreset}-package. This package disables resetting the footnote counter at the + start of a new chapter, thus enabling unambiguous references. In order to do so, you should insert + the following in your preamble: + \begin{verbatim} + \usepackage{remreset} + \makeatletter + \@removefromreset{footnote}{chapter} + \makeatother + \end{verbatim} + + In oder to gain consequent results, you should also properly set the counters of images and tables: + \begin{verbatim} + \usepackage{remreset} + \makeatletter + \@removefromreset{footnote}{chapter} + \@removefromreset{figure}{chapter} + \renewcommand{\thefigure}{\@arabic\c@figure} + \@removefromreset{table}{chapter} + \renewcommand{\thetable}{\@arabic\c@table} + \makeatother + \end{verbatim} +\end{Options} + + \begin{Options} + \item[\texttt{idem}] + This new option is very similar to the |ibidem| option, but there + is not the whole citation replaced by an abbreviation. If the author is cited + again, his name will be replaced by ``Idem'' or ``idem''. |idem| is working + together with all |ibidem| options. The following values are possible: |idem| + (same as |idem=strict|), |idem=strictdoublepage| and |idem=nostrict|. + The behavior of |idem| at page breaks is the same as for the |ibidem| options, therefore I did not make any survey. + + Redefinitions as usual: + \begin{verbatim} + \AddTo\bibsenglish{% + \renewcommand*{\idemname}{Eadem} + \renewcommand*{\idemmidname}{eadem} + } + \end{verbatim} + \end{Options} + + \DescribeMacro{\noidem} |\noidem| is working analogous to |\noibidem| and disables the |idem| mechanism for the following citation. + + \begin{Options} + \item[\texttt{opcit}] + This option is at experimental stage and places the abbreviation ``\textit{op.\,cit.}'' + (opere citato: already cited) in the citation. + An example:\\[1.5ex] + {\footnotesize\textsuperscript{1}\,Aamport, \textit{Gnats and Gnus} (1986), p.\,25.}\\ + {\footnotesize [\ldots]}\\ + {\footnotesize\textsuperscript{5}\,Aamport, \textit{op.\,cit.}, p.\,37.} + + If you like to modify: + + \begin{verbatim} + \renewcommand*{\opcit}{\textit{op.\,cit.}} + \end{verbatim} + + \DescribeMacro{opcit=chapter} + \DescribeMacro{opcit=section} + |opcit| can be resetted at the begin of each chapter/section with the values + |chapter|/|section|. This is analogous to |citefull=chapter| or |citefull=section|. + \end{Options} + +\section{Linguistic Stuff} + +Because of increasing use of the \textsf{jurabib} package by people outside +law studies, I have reworked the \BibTeX-styles in such a way that it is +possible to switch between different languages. + +\DescribeMacro{language =} It is now possible, to specify the language of a +certain \BibTeX-entry by providing the field \texttt{language} with the +appropriate language. At the moment, only English, German, French, Dutch, Spanish and Italian are +implemented: + \begin{verbatim} + @INCOLLECTION{incollection-crossref, + author = {Daniel D. Lincoll}, + title = {Semigroups of Recurrences}, + pages = {179--183}, + language = {english} + } + \end{verbatim} +If \texttt{language = \marg{other language}} is specified here, then the +\emph{hyphenation patterns} for that entry will be modified, not the keywords +like ``editor'' and so on\,! For the correct translation of the keywords +\textsf{jurabib} will detect the used main language (e.g. if you are using the +\textsf{babel}-package or one of the following packages: \textsf{german}, +\textsf{french}, \textsf{frenchle}, \textsf{pmfrench}, \textsf{mlp}). +\begin{quote} +\emph{\textsf{jurabib} doesn't switch the keywords, but the hyphenation +patterns for each bibliographic entry, for which a language is given\,!} +\end{quote} +You should notice, that (for German users: contrary to the +\texttt{bibgerm}-package) only the relevant entries (which differs from the +main language) should be provided with \texttt{language}-fields. You can modify +the defaults by using the \cs{AddTo} functionality: + \begin{verbatim} + \AddTo\bibsgerman{\def\editorname{ed.}} + \end{verbatim}\vspace{-1em} +The macro for English is \cs{bibsenglish}, for French \cs{bibsfrench}, for +Dutch \cs{bibsdutch}, for Spanish \cs{bibsspanish}. + +If I've forgotten something which has to do with language support, please +e-mail me. The same goes for supporting more languages. + +\section{Across the bounderies} + +\subsection{\textsf{jura.cls}} + +As I said already, use of \textsf{\mbox{jura.cls}} is possible. + +\subsection{\textsf{bibtopic.sty}} + +\textsf{jurabib.sty} is already for a long time---under certain +conditions---compatible with \textsf{bibtopic.sty}: All short titles should be +specified, because otherwise, ambiguous citations may occur. At this moment, it +is not possible to use automatic generation of short titles when separated +bibliography files are in use. Therefore, the option \texttt{titleformat=all} +is activated automatically, if \textsf{bibtopic.sty} has been loaded. Note: You +should use at least version \texttt{1.0j}. + +\subsection{\textsf{hyperref.sty}} + +\textsf{jurabib} is compatible with +\textsf{hyperref}.\footnote{ \textsc{Stefan Ulrich} was behind this + feature as well.} However, incompatibility still exists with +\textsf{alphanum}, of which the result is that the \cs{ref} mechanism of +\textsf{alphanum} functions only to a limited extent. That means primarily that +the command \cs{ref*} provides relative references only. If you want to use +\textsf{alphanum} and \textsf{hyperref} without \textsf{jurabib}, you should +put the following in your preamble: + \begin{verbatim} + \makeatletter + \let\J@SetCurrent\relax + \def\toclevel@lvla{0}\def\toclevel@lvlb{1} + \def\toclevel@lvlc{2}\def\toclevel@lvld{3} + \def\toclevel@lvle{4}\def\toclevel@lvlf{5} + \def\toclevel@lvlg{6}\def\toclevel@lvlh{7} + \def\toclevel@lvli{8}\def\toclevel@lvlj{9} + \def\toclevel@lvlj{10}\def\toclevel@lvll{11} + \newcommand*{\theHlvla}{\J@Number}\newcommand*{\theHlvlb}{\J@Number} + \newcommand*{\theHlvlc}{\J@Number}\newcommand*{\theHlvld}{\J@Number} + \newcommand*{\theHlvle}{\J@Number}\newcommand*{\theHlvlf}{\J@Number} + \newcommand*{\theHlvlg}{\J@Number}\newcommand*{\theHlvlh}{\J@Number} + \newcommand*{\theHlvli}{\J@Number}\newcommand*{\theHlvlj}{\J@Number} + \newcommand*{\theHlvlk}{\J@Number}\newcommand*{\theHlvll}{\J@Number} + \renewcommand{\J@LongToc}[2][]{ + \@startsection{lvl\alph{tiefe}}{\number\value{tiefe}}{0pt} + {\ifnum\value{tiefe}=1 -4ex plus-1,5ex minus-0,ex\else + -2,7ex plus-0,8ex minus-0,2ex\fi}{\ifnum\value{tiefe}>7 + -1em plus-0,5em\relax\else 0,6ex plus0,3ex minus0,1ex\fi} + {\sectfont\csname lvl\alph{tiefe}style\endcsname}[#1]{#2} + } + \makeatother + \end{verbatim} + +\subsection{\textsf{babel.sty}} + +\textsf{jurabib} is compatible with \textsf{babel}. Please make sure that \textsf{jurabib} is loaded after \textsf{babel}\,! + +\subsection{\textsf{chapterbib.sty}} + +\textsf{jurabib} is compatible with \textsf{chapterbib}. + +\subsection{\textsf{bibunits.sty}} + +\textsf{jurabib} is fully compatible with \textsf{bibunits}, you should use +v2.1n or higher. + + \subsection{\textsf{index.sty}} + + If you are using the \textsf{french}-, \textsf{pmfrench}- or the \textsf{frenchle}-packge, you are not + able to use this feature at the moment. + + With the option \texttt{authorformat=indexed} you can index all cited authors. + If you want to generate a separate author index, it's possible to use the \textsf{index} package by + \textsc{David M. Jones}, which is part of the \textsf{camel} bundle. + \begin{verbatim} + [...] + \usepackage{index} + \newindex{default}{idx}{ind}{Index} % for the normal Index + \newindex{aut}{adx}{and}{Authorindex} % for the new author Index + \renewcommand{\jbindextype}{aut} % + [...] + \begin{document} + [...] + \printindex % for the normal Index + \printindex[aut] % for the new author Index + \end{document} + \end{verbatim} + Please note that \cs{jbindextype} has to contain the same value as the first argument of \cs{newindex}. + + To generate the index, run: + \begin{verbatim} + makeindex -o datei.and datei.adx + \end{verbatim} + Then you have to run \LaTeX{} again. For further explanations please take a look at the + \textsf{index} package documentation. + +\subsection{\textsf{endnotes.sty}} +\textsf{jurabib} \NEW{0.51} is now compatible to \textsf{endnotes}. +With a simple |\usepackage{endnotes}| in your preamble all your |\foot[full]cite| citations +are converted into endnotes, which are appearing where you typed |\theendnotes|. +Citations, which are enclosed in |\footnote| commands or normal |\cite| commands, +were not converted by default\,! If you need this feature, please use the option +`|citetoend=true|' or consult the documentation of the \textsf{endnotes} package. + +Endnotes does not have a closing dot by default. If you would have a closing period, please use +|dotafter=endnote| in the preamble of your document. + +\section{Cooperators} +This package would have never been come into existence without the powerful +support of \textsc{Stefan Ulrich}, \textsc{Andreas Stefanski} and \textsc{Oren +Patashnik}. It is especially due to \textsc{Stefan Ulrich} that the package now +exists in its present form and not stumbled in its provisional stage of +development. To him, my special thanks. \textsc{Heiko Oberdiek} provided some +valuable hints. \textsc{Andreas Stefanski} was my unexhaustible tester and +advisor in juridical formalities. Not to omit \textsc{Oren Patashnik}, who +provided important parts of the \BibTeX-styles which enable the dynamic +generation of the juridical shorttitles. \textsc{Bernard Gaulle} has done a lot +for compatiblity with the french packages and gave many other helpful hints, +especially about the linguistic stuff. I want to thank \textsc{Maarten Wisse} +for translating the documentation, for his patience and for a lot of helpful +hints during implementation of the basic humanities features. \textsc{Peter +Flynn} and \textsc{P\'{a}draig de~Br\'{u}n} also suggested a lot of new +features for the humanities. And there are lots of people who worked as beta +testers and reported bugs: \textsc{Alexander Wisspeintner}, \textsc{Andreas K.~Foerster}, +\textsc{Arne Engels}, \textsc{Axel Sodtalbers}, \textsc{Bastian Kruse}, +\textsc{Christian Folini}, \textsc{Christian Meyn}, \textsc{David Feest}, +\textsc{Daniel M.~Grisworld}, \textsc{H\'{e}l\`{e}ne Fernandez}, \textsc{Henning Eiden}, +\textsc{Holger Pollmann}, \textsc{Hubert Selhofer}, \textsc{Ivan Blatter}, +\textsc{Jean-Pierre Drucbert}, \textsc{Joachim Trinkwitz}, \textsc{Max Dornseif}, +\textsc{Moritz Moeller-Herrmann}, \textsc{Nikolai Warneke}, \textsc{Olaf Meltzer}, +\textsc{Oliver Schilling}, \textsc{Peter Wuesten}, \textsc{Ralph Sinkus}, +\textsc{Rebekka Rieger}, \textsc{Robert Goulding}, +\textsc{Thorsten Manegold} and \textsc{Tilman Finke}. + +\section{Response requested \dots} +Questions, recommendations and critique or the like can be sent to: +\texttt{jb <at> jurabib <dot> org} + +\newpage + +\bibliographystyle{jurabib} + +\end{document} diff --git a/macros/latex/contrib/jurabib/docs/german/jbgerdoc.pdf b/macros/latex/contrib/jurabib/docs/german/jbgerdoc.pdf Binary files differnew file mode 100644 index 0000000000..db822a228c --- /dev/null +++ b/macros/latex/contrib/jurabib/docs/german/jbgerdoc.pdf diff --git a/macros/latex/contrib/jurabib/docs/german/jbgerdoc.tex b/macros/latex/contrib/jurabib/docs/german/jbgerdoc.tex new file mode 100644 index 0000000000..d194352e7e --- /dev/null +++ b/macros/latex/contrib/jurabib/docs/german/jbgerdoc.tex @@ -0,0 +1,2422 @@ +\documentclass[a4paper]{ltxdoc} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{ae} +\usepackage[commabeforerest,titleformat=commasep]{jurabib} +\usepackage{german} +\interfootnotelinepenalty=10000 +\raggedbottom +\newif\ifHtml +\newcommand{\mymarginpar}[1]{\marginpar{\raggedleft\textsf{#1}}} +\newcommand{\NEW}[1]{\marginpar{\raggedleft\textsf{#1~{\large NEU\,!}}}} +\newcommand{\CH} [1]{\marginpar{\raggedleft\textsf{#1~{\large ÄNDERUNG\,!}}}} +\newcommand{\REM}[1]{\marginpar{\raggedleft\textsf{#1~{\large ENTFERNT\,!}}}} +\makeatletter + \@ifundefined{pdfoutput}{% + \let\pdfoutput\@undefined + \ExecuteOptions{dvips}% + }{% + \ifcase\pdfoutput + \let\pdfoutput\@undefined + \ExecuteOptions{dvips}% + \else + \usepackage[pdftex,colorlinks=true]{hyperref}% + \hypersetup{% + pdftitle={Documentation for jurabib package},% + pdfauthor={Jens Berger},% + }% + \fi + }% +\makeatother \pagestyle{headings} +\providecommand\mymarg[1]{{\unskip\ttfamily\char`\{}{\ttfamily#1}{\ttfamily\char`\}}} +\newcommand\bibentry[1]{\par\medskip{\renewcommand\jbauthorfont{\textbf}\renewcommand\jbauthorfnfont{\textbf}\noindent\qquad\fullcite{#1}}\par\medskip} +\AtEndDocument{\bibliography{jbtest,jbtesthu}} +\renewcommand{\contentsname}{Inhalt} +\providecommand{\url}[1]{\texttt{#1}} +\providecommand\href[2]{#2} +\providecommand\texorpdfstring[2]{#1} +\newenvironment{bibexample}{% + \begin{description}% + \setlength{\itemindent}{-2.5em} + \setlength{\leftmargin}{2.5em} + }{\end{description}} +\newenvironment{Options}{\begin{list}{}{% + \renewcommand{\makelabel}[1]{\texttt{##1}\hfill}% + \setlength{\itemsep}{-.5\parsep} + \settowidth{\labelwidth}{\texttt{xxx\space}}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}}% +}{\end{list}} +\def\jbfileversion{v0.6} +\def\jbfiledate{\today} +\title{Das \textsf{jurabib}-Paket} +\author{{\Large Jens Berger}\\ + \href{mailto:jb@jurabib.org}{\texttt{jb@jurabib.org}}\\[1.8ex] + {\small Stefan Ulrich}} +\date{\jbfiledate \qquad \textsf{\jbfileversion}\\[1ex] + {\footnotesize CTAN: + \href{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/supported/jurabib/}% + {\texttt{macros/latex/contrib/supported/jurabib/}}}% +}% +\begin{document} + \ifHtml + \renewcommand{\href}[2]{\HCode{<a href=#1>}#2\HCode{</a>}} + \makeatletter + \let\DescribeMacro\@gobble + \let\NEW\@gobble + \let\CH\@gobble + \let\REM\@gobble + \let\mymarginpar\@gobble + \let\marginpar\@gobble + \makeatother + \fi + +\maketitle +\begin{abstract} +\noindent Dieses Paket ermöglicht die automatisierte Erstellung in der +Rechtswissenschaft und in den Geisteswissenschaften üblicher Zitate mittels +\BibTeX. Es stellt Befehle zur Verfügung, die es Juristen ermöglichen, Bearbeiter in +Kommentaren komfortabel anzugeben. Desweiteren wird eine vereinfachte +Formatierung sowohl der Zitate als auch der Einträge im Literaturverzeichnis +unterstützt. Außerdem ist es möglich, den (Kurz)Titel eines Werkes erst im +Zitat erscheinen zu lassen, wenn ein Autor mehrfach mit verschiedenen Werken +zitiert wurde. Die Verwendung eines Vollzitates, welches identisch mit dem +Eintrag im Literaturverzeichnis ist, wird ebenfalls unterstützt. Es sind +diverse Optionen verfügbar, die insbesondere für Nicht-Juristen interessant +sind -- so z.\,B. die Möglichkeit, verschieden ausführliche Wiederholungszitate +ausgeben zu lassen. Desweiteren läßt sich die Formatierung von Namen und +Vornamen der Autoren bezüglich der Reihenfolge sehr einfach verändern. Es sind +Querverweise auf andere Fußnoten möglich. Eine sprachspezifische Behandlung von +Literatureinträgen ist über das \texttt{language}-Feld zugänglich. +\end{abstract} + +\tableofcontents + +\section{Einleitung}\setcounter{page}{1} + +Bislang gab es für Juristen als Unterstützung der juristischen Zitierweise nur die +Umgebung \texttt{jurabibliography} aus \textsf{jura.cls}. Diese ist jedoch +nicht auf eine Zusammenarbeit mit \BibTeX{} ausgelegt. Dieses Problem wird von +\textsf{jurabib.sty} behoben. + +\textsf{jurabib.sty} definiert \cs{[foot]cite} so (um), daß es nun zwei +optionale Argumente besitzt, so daß die Angabe eines evtl. Bearbeiters über +dieses zweite optionale Argument erfolgen kann. Außerdem werden von den +dazugehörigen \BibTeX-Stilen (\texttt{jurabib.bst}, \texttt{jurunsrt.bst}, +\texttt{jureco.bst} und \texttt{jox.bst}) +Funktionen bereitgestellt, die es ermöglichen, daß +\begin{enumerate} +\item das Paket selbständig die Nachnamen der Autoren erkennt und daraus die + übliche Kurzform für das Zitat generiert. +\item für Zitate aus Zeitschriften und Periodika zudem automatisch das + übliche Kürzel aus Zeitschriftentitel und Jahr generiert wird. +\item in der \texttt{.bib}-Datei trotzdem eine explizite Angabe der zu + verwendenden Abkürzung sowohl des Autorennamens als auch des + Titels gemacht werden kann. +\item ein Kurztitel erst dann im Zitat erscheint, wenn der Autor mit mehr als + einem Werk zitiert wurde. +\end{enumerate} +Alle Funktionen werden \emph{ausschließlich} von o.g. \BibTeX-Stilen unterstützt. + +\section{Startvorbereitungen} + +Nachdem Sie \texttt{jurabib.ins} mit \LaTeX{} bearbeitet haben, entstehen im +wesentlichen folgende Dateien: + +\begin{itemize} + \item \texttt{jurabib.sty} + \item \texttt{jurabib.bst} + \item \texttt{jureco.bst} + \item \texttt{jurunsrt.bst} + \item \texttt{jox.bst} + \item \texttt{jbtesthu.bib} + \item \texttt{jbtest.bib} + \item \texttt{jurabib.cfg} + \item diverse \texttt{.ldf} Dateien + \item diverse \texttt{jbtest*.tex} Dateien +\end{itemize} +In einem TDS-konformen \TeX-System sollten \texttt{.sty}-Dateien und +\texttt{.ldf}-Dateien in \texttt{\slash [local]texmf\slash tex\slash +latex\slash jurabib} liegen, die \texttt{.bst}-Datei in \texttt{\slash +[local]texmf\slash bibtex\slash bst\slash jurabib} und \texttt{.bib}-Dateien in +\texttt{\slash [local]texmf\slash bibtex\slash bib\slash jurabib}. Je nach +verwendetem System kann es erforderlich sein, eine eventuell vorhandene +"`Filename Database"' zu aktualisieren. Wenn Sie teTeX verwenden, müssen Sie +\texttt{texhash}, bei MiKTeX \texttt{initexmf -u} oder die jeweiligen +graphischen Pendants benutzen. Alle genannten Dateien können auch im aktuellen +Arbeitsverzeichnis liegen. Die Dateien \texttt{jbtest.tex} und +\texttt{jbtest.bib} sollen die Verwendung des \textsf{jurabib}-Paketes +demonstrieren. + +\texttt{jbtestbt.tex} dient der Demonstration von \textsf{jurabib.sty} mit +\textsf{bibtopic.sty} zur Erzeugung gegliederter Literaturverzeichnisse. + +\texttt{jbtestmb.tex} dient der Demonstration von \textsf{jurabib.sty} mit +\textsf{multibib.sty} zur Erzeugung mehrerer Literaturverzeichnisse. + +\texttt{jbtestcb.tex} dient der Demonstration von \textsf{jurabib.sty} mit +\textsf{chapterbib.sty} zur Erzeugung von Kapitel-Literaturverzeichnissen. + +\texttt{jbtestbu.tex} dient ebenfalls der Demonstration von \textsf{jurabib.sty} mit +\textsf{bibunits.sty} zur Erzeugung untergliederter Literaturverzeichnisse. + +\bigskip + +Das Paket wird folgendermaßen eingebunden: + +\begin{quote} +\cs{usepackage}\oarg{Optionen}\texttt{\{jurabib\}} + +\noindent Ein kleiner Vorgriff: + +\noindent{\footnotesize Optionen lassen sich via \cs{jurabibsetup} in der Präambel +oder in der Konfigurationsdatei ablegen: +\begin{verbatim} + \jurabibsetup{ + authorformat=smallcaps, + commabeforerest, + titleformat=colonsep, + bibformat=tabular + } +\end{verbatim} +Sie können verschiedene Werte für dieselbe Option +zusammenfassen: +\begin{verbatim} + \jurabibsetup{bibformat={tabular,ibidem,numbered}} +\end{verbatim}} +\end{quote} + +An der Stelle, wo später Ihr Literaturverzeichnis erscheinen soll, muß +folgendes stehen: + +\begin{quote} + \cs{bibliography}\marg{Datenbank} +\end{quote} +gefolgt von +\begin{quote} + \cs{bibliographystyle}\mymarg{jurabib} +\end{quote} + +Damit ist das Paket einsatzbereit. Sollten Sie bislang nicht mit \BibTeX{} +gearbeitet haben, beachten Sie bitte, daß zu einer korrekten Auflösung aller +Referenzen einmal \LaTeX{} aufgerufen werden muß, dann einmal \BibTeX{} und im +Anschluß noch zweimal \LaTeX: + +\begin{verbatim} + latex datei + bibtex datei + latex datei + latex datei +\end{verbatim} + +\subsection{Wenn Sie eine Windows-Distribution verwenden} +Sie müssen hier eine große Bib\TeX-Version (|bibtex8|) verwenden, bei der +der \marginpar{\raggedleft\textsf{\Huge !!!}} Speicher von vornherein sehr groß +oder zur Laufzeit erweiterbar ist. Anderenfalls werden Sie in etwa folgende +Fehlermeldung erhalten: +\begin{verbatim} + The style file: jurabib.bst + 5017: Sorry---you've exceeded BibTeX's wizard-defined function space 3000 + (That was a fatal error) +\end{verbatim} +Dieses Problem beheben Sie durch Angabe des Parameters \texttt{--big} (bzw. +\texttt{--huge} oder \texttt{--wolfgang}), so daß Ihr BibTeX-Aufruf ungefähr so +aussehen sollte: +\begin{verbatim} + bibtex8 --wolfgang datei +\end{verbatim} + +\subsection{Wenn Sie eine Unix/Linux-Distribution verwenden} +Hier ist bei Verwendung von aktuellen te\TeX- oder \TeX Live-Distributionen keine Verwendung von +|bibtex8| nötig, da sie mit ausreichend großem Speicher kompiliert wurden. Trotzdem möchte die +Verwendung von |bibtex8| empfehlen, da es die korrekte Sortierung von Einträgen mit Umlauten +ermöglicht, ohne daß man diese in eine dem normalen Bib\TeX{} genehme Form (|{\"u}|) etc. bringen +muss. Dies ist demzufolge bei Verwendung des normalen Bib\TeX{} nötig\,! Leider ist bislang +|bibtex8| nur in der \TeX Live-Distribution enthalten, bei te\TeX{} fehlt es. Dort müssen Sie +sich die Sourcen selbst übersetzen, Sie finden sie im CTAN. + +\section[Ein Beispiel]{Ein Beispiel\footnotemark[1]} +\footnotetext[1]{Für alle Beispiele sind -- sofern nicht anders angegeben -- +die Optionen \texttt{titleformat=commasep} und \texttt{commabeforerest} sowie +der Befehl \cs{cite} verwendet worden.} + +Ein Werk soll zitiert werden. Dazu fügen Sie dieses Werk der +Literaturdatenbank hinzu: + +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Krämer}, + title = {Straßenrecht}, + shortauthor = {Kodal/Krämer}, + shorttitle = {StrR}, + year = 1995, + address = {München}, + edition = {5.}, + pages = {30--34, \S~24} + } +\end{verbatim} +Man beachte die Felder \texttt{shortauthor} und \texttt{shorttitle}. Sie werden +von dem zum \textsf{jurabib}-Paket gehörenden \BibTeX-Stil bereitgestellt. Dort +werden die gewünschten Kurzformen von Autor und Titel eingetragen (siehe dazu +auch Abschnitt~\ref{auto} auf Seite~\pageref{auto}). + +\section{Das Werkzeug} + +\subsection{Die \texorpdfstring{\cs{cite}}{cite}-Befehle} + +\DescribeMacro{\cite} +Ein Zitat wird wie gewohnt angegeben: +\begin{verbatim} + \cite[\S~12]{kkstrr} +\end{verbatim} +Anstelle dieses Erscheinungsbildes: + +\medskip + +[1, \S~12] + +\medskip + +\noindent sieht das Ergebnis nun so aus: + +\medskip + +\cite[\S~12]{kkstrr} + +\medskip + +\noindent Die Kurzform des Titels (StrR) würde hier erst zitiert werden, wenn Kodal und +Krämer mit einem anderen Werk zitiert werden. Dann sähe das Ganze so aus: + +\medskip + +\citetitle[\S~12]{kkstrr} + +\medskip + +\noindent Da der Befehl \cs{cite} durch \textsf{jurabib.sty} umdefiniert wird, besitzt er +jetzt statt einem optionalen Argument derer zwei: + +\medskip + +\noindent\CH{0.6} +\fbox{\begin{minipage}{\textwidth} +{\Large\itshape Achtung: Mit Version 0.6 ist die Reihenfolge der optionalen Argumente geändert worden\,!} +\begin{quote} +\cs{cite}\oarg{Fundstelle}\marg{Kürzel}\\ +\cs{cite}\oarg{Bearbeiter}{\ttfamily[]}\marg{Kürzel}\\ +\cs{cite}\oarg{Bearbeiter}\oarg{Fundstelle}\marg{Kürzel}\\ +bzw. (mit \texttt{see})\\ +\cs{cite}{\ttfamily[Vgl.]}\oarg{Fundstelle}\marg{Kürzel} +\end{quote} +Zur Abwärtskompatibilität wird mit der Option \texttt{jurabiborder} die alte Reihenfolge der optionalen +Argumente wiederhergestellt: +\begin{quote} +\cs{cite}\oarg{Fundstelle}\marg{Kürzel}\\ +\cs{cite}{\ttfamily[]}\oarg{Bearbeiter}\marg{Kürzel}\\ +\cs{cite}\oarg{Fundstelle}\oarg{Bearbeiter}\marg{Kürzel}\\ +bzw. (mit \texttt{see})\\ +\cs{cite}\oarg{Fundstelle}{\ttfamily[Vgl.]}\marg{Kürzel} +\end{quote} +\end{minipage}} + +\medskip + +\noindent Hier eine kleine Übersicht der ab Version 0.6 geltenden Verhältnisse: + +\medskip + +{\small +\begin{tabular}{ll} +\hline +Quellcode & Ausgabe\\ +\hline +|\cite{broxbgb}| & \cite{broxbgb}\\ +|\cite[S.~12]{broxbgb}| & \cite[S.~12]{broxbgb}\\ +|\cite[Bassenge][]{broxbgb}| & \cite[Bassenge][]{broxbgb}\\ +|\cite[Bassenge][S.~12]{broxbgb}| & \cite[Bassenge][S.~12]{broxbgb}\\ +\hline +\end{tabular}} + +\bigskip + +\noindent Ein eventuell vorhandener Bearbeiter wird also nun folgendermaßen angegeben: +\begin{verbatim} + \cite[Bassenge][\S~12]{kkstrr} +\end{verbatim} +Daraus würde --~eine mehrfache Zitierung von Kodal und Krämer vorausgesetzt~-- +folgendes Zitat entstehen: + +\medskip + +\cite[Bassenge][\S~12]{kkstrr} % Kodal/Krämer/Bassenge, StrR, \S~12. + +\medskip + +\noindent Der dazugehörige Eintrag im Literaturverzeichnis wäre dann: + +\bibentry{kkstrr} + +Möchten Sie ibn einem Zitat keine Seitenzahlen, Randnummern oder ähnliches, +jedoch einen Bearbeiter angeben, müssen Sie das zweite (neu\,!) optionale Argument von +\cs{cite} leer lassen: + +\begin{verbatim} + \cite[Bassenge][]{kkstrr}% vor 0.6: \cite[][Bassenge]{kkstrr} +\end{verbatim} + + \DescribeMacro{\citetitle} +Der Befehl \cs{citetitle} verhält sich prinzipiell wie \cs{cite}, kann aber +dazu benutzt werden, ein Werk explizit mit dem Kurztitel zu zitieren, +unabhängig davon, ob ein weiteres Werk dieses Autors zitiert wird. Ansonsten +gilt für diesen Befehl das zu \cs{cite} Gesagte. + + \DescribeMacro{\cite*} +Diese Sternform des \cs{cite}-Befehls zitiert \emph{grundsätzlich ohne} Titel. +Es ist dabei völlig unerheblich, ob das \texttt{shorttitle}-Feld besetzt ist. +Auch die Option \texttt{citefull=all} (siehe Abschnitt~\ref{opt}) zeigt hier +keinerlei Wirkung. Zu beachten ist hierbei jedoch, daß hierdurch bei Zitierung +mehrerer verschiedener Werke eines Autors +\emph{zweideutige\mymarginpar{\hfill\Large!} Zitate} entstehen können, da auch +das Feature des automatischen Setzens des Kurztitels/Volltitels für dieses +Zitat deaktiviert wird. Von daher sollte die Benutzung dieses Befehls die +Ausnahme sein und mit Bedacht gewählt werden. + +\DescribeMacro{\citetitlefortype} +Auf mehrfachen Wunsch hin ist nun mit diesem +Befehl die Angabe der Publikationstypen möglich, bei denen der Titel immer +erscheinen soll: +\begin{verbatim} + \citetitlefortype{article,commented, ... } +\end{verbatim} +Dies kann zum Beispiel sinnvoll sein, wenn man (nur) bei Aufsätzen den Titel +des Journals angeben möchte und ansonsten \textsf{jurabib} die Entscheidung +überlassen möchte, wann es den Titel eines Werkes setzt (nämlich erst, wenn ein +Zitat mehrdeutig zu werden droht). \DescribeMacro{\citenotitlefortype} Falls es +viele (aber eben nicht alle) Publikationstypen sind, bei denen Sie den Titel +auszugeben wünschen, können Sie nach Setzen der Option \texttt{titleformat=all} +mit +\begin{verbatim} + \citenotitlefortype{article,commented, ... } +\end{verbatim} +diejenigen Typen deklarieren, bei denen der Titel nicht erscheinen soll. + +\subsection{Die \texorpdfstring{\cs{footcite}}{footcite}-Befehle} +\DescribeMacro{\footcite} \DescribeMacro{\footcite*} +\DescribeMacro{\footcitetitle} Sie unterscheiden sich lediglich dadurch von den +\cs{cite}-Befehlen, daß sie automatisch eine Fußnote generieren und dabei am +Ende der Fußnote einen Punkt setzen. Ein Leerzeichen vor den +\cs{footcite}-Befehlen wird ignoriert: +\begin{verbatim} + ... Annahme. \footcite[Rn.~357]{medicus} + ... Annahme.\footcite[Rn.~357]{medicus} +\end{verbatim} +erzeugt in beiden Fällen: + +\medskip +\dots{}~Annahme.\footcite[Rn.~357]{medicus} +\medskip + +\noindent Eine Zusammenfassung mehrerer Zitate innerhalb einer Fußnote erfolgt +jedoch wie bisher: +\begin{verbatim} + \footnote{\cite[S.~13--34]{brox:bgb}; \cite[S.~24]{canaris}.} +\end{verbatim} +Dieses liefert uns: + +\medskip +\dots{}~Annahme.\footnote{\cite[S.~13--34]{broxbgb}; \cite[S.~24]{canaris}.} Hier muß man +leider selbst an den Punkt denken. + +Sollten Sie mehrere |\footcite|- oder |\footnote|-Befehle +unmittelbar hintereinander benutzen, ist \textsf{jurabib} in Verbindung +mit dem \textsf{footmisc}-Paket und dessen |multiple|-Option in der Lage, +automatisch ein Komma zwischen die Fußnotenmarken zu setzen. Ein Beispiel: + +\begin{verbatim} + ... zu finden\footcite{broxbgb}\footcite{broxschr}\footcite{broxja} +\end{verbatim} +erzeugt: + +\medskip +\dots{}~zu finden \textsuperscript{1,2,3} + + +\subsection{Die \texorpdfstring{\cs{fullcite}}{fullcite}-Befehle} + \DescribeMacro{\fullcite} + \DescribeMacro{\footfullcite} +Diese Befehle generieren ein Vollzitat, d.\,h. hier wird der komplette Eintrag +aus dem Literaturverzeichnis als Zitat verwendet. Ein eventuell vorhandener +Bearbeiter wird vor dem Zitat plaziert und mit "`in"' vom Autor +getrennt.\footnote{Dies entspricht der automatischen Aktivierung der Option +\texttt{annotatorfirstsep=in} für \emph{dieses} Zitat.} Die Fundstelle wird am Ende +angefügt. + +\subsection{Die \texorpdfstring{\cs{nextcite}}{nextcite}-Befehle} + \DescribeMacro{\nextciteshort} + \DescribeMacro{\nextcitefull} +Mit Hilfe dieser Befehle können Sie für bestimmte Werke festlegen, ob sie im +Weiteren in der Kurzform bzw. der Langform erscheinen sollen. Dazu können Sie +einfach eine kommaseparierte Liste (\emph{ohne Leerzeichen\,!}) als Argument +dieser Kommandos angeben: +\begin{verbatim} + \nextciteshort{brox:bgb,canaris, ... } +\end{verbatim} +läßt ab sofort \texttt{brox:bgb} und \texttt{canaris} als Kurzzitat erscheinen. +\begin{verbatim} + \nextcitefull{brox:bgb,canaris, ... } +\end{verbatim} +läßt alle weiteren Zitate von \texttt{brox:bgb} und \texttt{canaris} als +Vollzitat erscheinen. + +\begin{verbatim} + \nextcitenotitle{brox:bgb,canaris, ... } +\end{verbatim} +läßt alle weiteren Zitate von \texttt{brox:bgb} und \texttt{canaris} als Zitat +ohne Titel erscheinen. \emph{Den drei Kommandos ist gemein, daß sie die +\cs{fullcite}- und \cs{cite*}-Befehle übersteuern!} + +\smallskip +\noindent Mit \DescribeMacro{\nextcitereset} +\begin{verbatim} + \nextcitereset{brox:bgb,canaris, ... } +\end{verbatim} +schalten Sie für die angegebenen Werke wieder auf normale Zitierweise zurück. + +\DescribeMacro{\citeswithoutentry} Das neue Kommando \cs{citeswithoutentry} ist +eng verwandt mit den \cs{nextcite}-Befehlen. Mit ihm können Sie am Anfang des +Dokumentes die Werke angeben, die \emph{nicht} im Literaturverzeichnis +erscheinen sollen. Die Verwendung erfolgt analog zu den \cs{nextcite}-Befehlen. +Allerdings wirkt sich hier -- aus verständlichen Gründen~-- der +\cs{nextcitereset}-Befehl nicht aus. + +\subsection{Der \texorpdfstring{\cs{citefield}}{citefield}-Befehl} +Mit diesem Befehl haben Sie Zugriff auf den Inhalt der Felder \texttt{author}, +\texttt{shortauthor}, \texttt{title}, \texttt{shorttitle}, \texttt{url}, \texttt{apy} +(Address-Publisher-Year) und \texttt{year}. +Diesen Feldnamen (\emph{der in Kleinschreibung anzugeben ist\,!}) geben Sie als erstes obligatorisches Argument an, das Kürzel als zweites obligatorisches Argument. Die Angabe einer Fundstelle ist über den +optionalen Parameter möglich: +\begin{quote} + {\small\cs{citefield}\oarg{Fundstelle}\marg{Feldname}\marg{Kürzel}} +\end{quote} +Mit folgendem Eintrag +\begin{verbatim} + @BOOK{broxbgb, + author = {Hans Brox}, + title = {Allgemeiner Teil des Bürgerlichen Gesetzbuches}, + shorttitle = {BGB~AT}, + year = 1996, + language = {german}, + address = {Köln, Berlin, Bonn, München}, + edition = 20 + } +\end{verbatim} +liefert uns ein \verb+\citefield{title}{broxbgb}+: Allgemeiner Teil des +Bürgerlichen Gesetzbuches. \verb+\citefield[\S~23]{shorttitle}{broxbgb}+ +liefert: BGB~AT, \S~23. + +Dieser Befehl ist in erster Linie für Nicht-Juristen vorgesehen. Er ist von +allen \textsf{jurabib}-spezifischen Automatismen unabhängig, d.\,h. er wird +u.a. nicht von den \texttt{ibidem}-Optionen erfaßt, da er lediglich dazu dient, +auf einzelne Felder zuzugreifen. + +Bei Verwendung des \textsf{hyperref}-Paketes erzeugt dieser Befehl +jedoch einen Link ins Literaturverzeichnis. + +\textsf{jurabib} beherrscht auch einige grundlegende Befehle aus dem \textsf{natbib}-Paket: + +\medskip + +\begin{tabular}{@{}lll@{}}\hline\\[-2ex] +|\[foot]citep{Kraft74}| & $\rightarrow$ & \citep{Kraft74}\\ +|\[foot]citep{Kraft74,helm82}| & $\rightarrow$ & \citep{Kraft74,helm82}\\ +|\[foot]citep[][S.~34]{Kraft74}| & $\rightarrow$ & \citep[][S.~34]{Kraft74}\\ +|\[foot]citep[Vgl.][S.~34]{Kraft74}| & $\rightarrow$ & \citep[Vgl.][S.~34]{Kraft74}\\ +|\[foot]citet{Kraft74}| & $\rightarrow$ & \citet{Kraft74}\\ +|\[foot]citet{Kraft74,helm82}| & $\rightarrow$ & \citet{Kraft74,helm82}\\ +|\[foot]citealt{Kraft74}| & $\rightarrow$ & \citealt{Kraft74}\\ +|\[foot]citealt{Kraft74,helm82}| & $\rightarrow$ & \citealt{Kraft74,helm82}\\ +|\[foot]citealp{Kraft74}| & $\rightarrow$ & \citealp{Kraft74}\\ +|\[foot]citealp{Kraft74,helm82}| & $\rightarrow$ & \citealp{Kraft74,helm82}\\ +|\[foot]citeauthor{Kraft74}| & $\rightarrow$ & \citeauthor{Kraft74}\\ +\hline +\end{tabular} + +\section{Automatisierungen}\label{auto} + +\subsection{Leeres \texttt{shortauthor}-Feld} + +Bei einem nicht besetzten oder fehlenden \texttt{shortauthor}-Feld ist +\textsf{jurabib} in der Lage, die Nachnamen der Autoren selbständig zu erkennen +und als Ersatz zu verwenden. Dabei werden bis zu drei Autoren ausgeschrieben, +getrennt durch einen Schrägstrich. Bei mehr als drei Autoren wird der erste +Autor mit dem Kürzel "`et\,al."' versehen verwendet. Angenommen, in unserem +obigen Beispiel lassen wir das \texttt{shortauthor}-Feld weg und fügen einen +dritten Autor hinzu: +\begin{verbatim} +@BOOK{LunWalThis99, + editor = {Lundin, Roger and Walhout, Clarence and Thiselton, Anthony C.}, + gender = {pm}, + year = 1999, + title = {The Promise of Hermeneutics}, + publisher = {Eerdmans}, + address = {Grand Rapids}, +} +\end{verbatim} +dann sieht das Zitat folgendermaßen aus: + +\par\medskip +\cite{LunWalThis99} +\par\medskip + +\noindent Dabei lassen sich die Separationszeichen an eigene Vorstellungen +anpassen. +\begin{verbatim} + \renewcommand*{\jbbtasep}{ und } % bta = between two authors sep + \renewcommand*{\jbbfsasep}{, } % bfsa = between first and second author sep + \renewcommand*{\jbbstasep}{ und }% bsta = between second and third author sep +\end{verbatim} + +\noindent Die Separation der Autoren im Literaturverzeichnis bleibt davon +unberührt. Sie läßt sich über die folgenden Befehle beeinflussen: +\begin{verbatim} + \renewcommand*{\bibbtasep}{ und } % bta = between two authors sep + \renewcommand*{\bibbfsasep}{, } % bfsa = between first and second author sep + \renewcommand*{\bibbstasep}{ und }% bsta = between second and third author sep + ... und für die Herausgeber: + \renewcommand*{\bibbtesep}{ und } % bte = between two editors sep + \renewcommand*{\bibbfsesep}{, } % bfse = between first and second editor sep + \renewcommand*{\bibbstesep}{ und }% bste = between second and third editor sep +\end{verbatim} + +Fügen wir einen vierten Autor hinzu (den Quellcode dazu sparen wir uns), ändert +sich das Erscheinungsbild nochmals: +\par\medskip +\qquad Lundin~et\,al. + +\subsection{Leeres \texttt{shorttitle}-Feld} +Für ein leeres \texttt{shorttitle}-Feld gilt folgendes: Es wird als Ersatz der +\emph{volle} Inhalt des \texttt{title}-Feldes verwendet\footnote{Davon +ausgenommen sind Einträge des \texttt{@ARTICLE}- und \texttt{@PERIODICAL} +Typs.}, + sofern entweder (lokal) der Befehl \cs{[foot]citetitle} oder (global) die Option +\texttt{citefull=all} verwendet wird \emph{oder der betreffende Verfasser mit +noch weiteren Werken zitiert wird}. + +Möchte man, daß bei einem bestimmten Werk immer -- egal welche Optionen +aktiviert sind -- lediglich der Autorenname erscheint, dann ist der Befehl +\cs{[foot]cite*} zu verwenden. Allerdings kann dies zu zweideutigen Zitaten +führen. Sie werden jedoch dazu eine Warnung in der \texttt{.log}-Datei finden. + +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Krämer + and Hans Mustermann}, + title = {Straßenrecht}, + year = 1995, + address = {München}, + edition = {5.}, + pages = {30--34, \S~24} + } +\end{verbatim} +Ergebnis: +\par\medskip +\qquad Kodal/Krämer/Mustermann, Straßenrecht, \S~12. +\par\medskip + +Eine Erleichterung sollte auch die Tatsache sein, daß \textsf{jurabib} in +der Lage ist, die bei Artikeln und Periodika übliche Zitierung (\meta{journal} +\meta{year}) zu automatisieren. Daher ist eine Angabe von \texttt{shorttitle} +nunmehr nur noch nötig, wenn man davon abweichende Vorstellungen hat. Im folgenden +Beispiel ist weder \texttt{shortauthor} noch \texttt{shorttitle} angegeben: +\begin{verbatim} + @ARTICLE{broxja, + author = {Hans Brox}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + year = 1980, + pages = {449ff}, + address = {München} + } +\end{verbatim} +Trotzdem erhält man mit \cs{citetitle}\verb+{brox:ja}+ folgendes Zitat: +\par\medskip +\qquad Brox, JA 1980. +\par\medskip +\noindent Möchte man dagegen etwas anderes verwenden, benutzt man die +\texttt{jura*}-Felder: +\begin{verbatim} + @ARTICLE{broxja, + author = {Hans Brox}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + shortauthor = {Hans Brox}, + shorttitle = {JA}, + year = 1980, + pages = {449ff}, + address = {München} + } +\end{verbatim} +und man erhält: +\par\medskip +\qquad Hans Brox, JA. +\par\medskip + +\DescribeMacro{author = } Es ist zu beachten, daß das dynamische Setzen des +juristischen Kurztitels nur unterstützt werden kann, wenn die Inhalte der +\texttt{author}-Felder in der \texttt{.bib}-Datei \emph{absolut identisch} +sind! Angenommen, \textsc{Kodal} und \textsc{Krämer} haben ein zweites Werk +verfaßt, dann sollten die Einträge in der Literaturdatenbank so aussehen: +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Krämer}, + title = {Straßenrecht} + } +\end{verbatim} + +\begin{verbatim} + @BOOK{kkirgendwas, + author = {Kurt Kodal and Joachim Krämer}, + title = {irgendwas} + } +\end{verbatim} + +\section{Optionen}\label{opt} +Folgendes Erscheinungsbild ist voreingestellt: Die Autoren und Bearbeiter im +Zitat werden in Standardschrift, im Literaturverzeichnis fett gesetzt. Der +Bearbeiter ist dem Autor nachgestellt, die Trennung erfolgt durch einen +Schrägstrich. Diese Formatierungen lassen sich über Optionen beeinflussen. + +\subsection{Möglichkeiten der Formatierung des Zitates} + +\subsubsection{Formatierung von Autor und Bearbeiter} + + \begin{Options} + \item[authorformat=smallcaps] setzt Autoren (und Bearbeiter) in Kapitälchen: + \textsc{Kodal\slash Krämer\slash Bassenge}, StrR, \S~12 + \item[authorformat=italic] setzt Autoren (und Bearbeiter) kursiv: + \textit{Kodal}\slash\textit{Krämer}\slash\textit{Bassenge}, StrR, \S~12 + \item[authorformat=dynamic] die Autoren erhalten einen Schrift"-schnitt, der davon + beeinflußt wird, ob ein Bearbeiter angegeben wurde oder nicht. + Sofern kein Bearbeiter angegeben ist, erhalten die Autoren über den Befehl + \cs{jbactualauthorfont} den Font \cs{textit} (voreingestellt) zugewiesen: + \textit{Kodal\slash Krämer}, StrR, \S~12. + Ist ein Bearbeiter angegeben worden, erhält \emph{dieser} nun die + aktuelle Bedeutung + von \cs{jbactualauthorfont}, und die Autoren werden über den Befehl + \cs{jbauthorfontifcoauthor} formatiert (Voreinstellung \cs{normalfont}): + Kodal\slash Krämer\slash\textit{Bassenge}, StrR, \S~12. + \item[authorformat=citationreversed] Hier erscheinen \emph{im Zitat} bei den Optionen + \texttt{citefull=first}, \texttt{ibidem=name} und + \texttt{ibidem=name\&title} die Vornamen vor den Nachnamen: + Hans \textsc{Brox}: BGB~AT, S.~23. statt \textsc{Brox}, Hans: BGB~AT, S.~23. + \item[authorformat=allreversed] Mit dieser Option erstreckt sich obiges Verhalten auch auf + das Literaturverzeichnis. + \item[authorformat=firstnotreversed] Hiermit hat man die Möglichkeit, alle + Autorennamen \emph{nach} dem ersten Autor in der Form \meta{Vorname} + \meta{Name} zu setzen: \textsc{Kodal}, Kurt/Joachim + \textsc{Krämer}/Hans \textsc{Mustermann}. + \item[authorformat=reducedifibidem] Hier wird bei aktivierter Option \texttt{ibidem=name} im + Wiederholungszitat nur der Nachname ausgegeben. + \item[authorformat=and] Statt der voreingestellten Schrägstriche werden die Autoren + nun mit "`,"' und "`und"' getrennt. + \item[authorformat=year] Nach den Autoren wird die Jahreszahl ausgegeben. + Eine Formatierung ist möglich über \cs{jbcitationyearformat}: + \begin{verbatim} + \renewcommand*{\jbcitationyearformat}[1]{(#1)} + \end{verbatim} + Diese Option ist vorrangig für die Benutzung mit \texttt{jureco.bst} gedacht. + \item[authorformat=indexed] führt automatisch \emph{alle} Autoren unabhängig + voneinander im Index auf. Voraussetzung ist eine korrekte + Verwendung des \textsf{makeidx}-Paketes. + \begin{verbatim} + \usepackage{makeidx} + \makeindex + \begin{document} + ... + \printindex + \end{document} + \end{verbatim} + Eine Indizierung ist auch bei Verwendung des Befehls |\nobibliography| möglich. + + \emph{Nur} im Literaturverzeichnis genannte Autoren tauchen per Voreinstellung + nicht im Index auf. Möchte man dies ändern, benutzt man den Befehl + \cs{jbindexbib} am Anfang des Dokumentes. + + Um die Autoren im Index hervorzuheben ist es möglich, ihnen über den Befehl |\jbauthorindexfont| einen Font zuzuweisen: + \begin{verbatim} + \renewcommand{\jbauthorindexfont}{\textit}% oder \textsf, \textsc, \textbf + \end{verbatim} + Falls Sie eine angepasste |.ist|-Datei (|makeindex| style file) benutzen, kann es nötig sein, + den |makeindex|-eigenen `actual' operator über |\jbmakeindexactual| anzupassen. Die (englische) + Voreinstellung ist |@|. Sollte Ihre |.ist|-Datei folgende Zeile enthalten: + \begin{verbatim} + actual '=' + \end{verbatim} + sollten Sie folgendes benutzen: + \begin{verbatim} + \renewcommand{\jbmakeindexactual}{\=}% + \end{verbatim} +Es wurde vielfach der Wunsch geäußert, die \NEW{0.6} Indizierung genauer steuern zu können. Die folgenden Befehle leisten das hoffentlich: + +{\small\begin{tabular}{ll} +\hline +|\jbdonotindexeditors| & Herausgeber nicht indizieren\\ +|\jbdonotindexauthors| & Autoren nicht indizieren\\ +|\jbdonotindexorganizations| & Organisationen nicht indizieren\\ +|\jbindexolyfirsteditors| & Herausgeber nur für Erstzitat indizieren\\ +|\jbindexonlyfirstauthors| & Autoren nur für Erstzitat indizieren\\ +|\jbindexolyfirstorganizations| & Organisationen nur für Erstzitat indizieren\\ +\hline +\end{tabular}} + +\medskip + +% Ich weiß leider momentan noch nicht, warum ausgerechnet bei diesem Zeichen ein +% backslash nötig ist, da |makeindex| ohne ihn bei mir abstürzt (Mik\TeX{} 2.1). +% Über Meldungen, wie das unter anderen Systemen ist, würde ich mich freuen. + + \item[authorformat=abbrv] Abkürzung der Vornamen. + \item[annotatorformat=italic (früher: coauthorformat=italic)] setzt den Bearbeiter\CH{0.6} kursiv: + Kodal\slash Krämer\slash \textit{Bassenge}. + \item[annotatorformat=normal (früher: coauthorformat=normal)] setzt Bearbeiter\CH{0.6} aufrecht: + \textit{Kodal}\slash \textit{Krämer}\slash\/Bassenge. + \item[round] runde Klammern für das Zitat: (\textsc{Kodal}\slash + \textsc{Krämer}\slash\/\textsc{Bassenge}). + \item[square] setzt das Zitat in eckige Klammern: [\textsc{Kodal}\slash + \textsc{Krämer}\slash\/\textsc{Bassenge}]. + \item[superscriptedition=all] Hiermit wird die Auflage bei allen Werken + als hochgestellte Zahl ausgegeben, wobei dies nicht für Vollzitate gilt. +Hier ein paar Beispiele: +\par +Kodal/Krämer$^{3}$, \S~12.\\ +Kodal/Krämer, Straßenrecht$^{3}$, \S~12.\\ +Kodal/Krämer--Bassenge, Straßenrecht$^{3}$, \S~12.\\ +Bassenge in Kodal/Krämer$^{3}$, \S~12. +\par\medskip + \item[superscriptedition=commented] Damit schränkt man oben genanntes Verhalten + auf Publikationen vom Typ \texttt{@COMMENTED} ein. + \item[superscriptedition=switch] Man kann hiermit für jedes + Werk individuell angeben, ob die Auflage hochgestellt erscheinen soll. + Dazu dient das ebenfalls neu geschaffene \texttt{ssedition}-Feld, das + analog zum \texttt{howcited}-Feld mit dem Wert \texttt{1} als Schalter + fungiert: + \begin{verbatim} + @COMMENTED{soergel, + author = {Hans Theodor Soergel}, + title = {Kommentar zum Bürgerlichen Gesetzbuch}, + address = {Stuttgart, Berlin, Köln, Mainz}, + year = 1987, + edition = 12, + ssedition = 1, + } + \end{verbatim} + +% \item[superscriptedition=kerning] Die den hochgestellten Auflagen folgenden Zeichen werden +% unterschnitten: +% +% Kodal/Krämer$^{3}$\kern-1ex, \S~12.\\ +% Kodal/Krämer, Straßenrecht$^{3}$\kern-1ex, \S~12.\\ +% Kodal/Krämer$^{3}$--Bassenge, \S~12.\\ +% Kodal/Krämer--Bassenge, Straßenrecht$^{3}$\kern-1ex, \S~12.\\ +% Bassenge in Kodal/Krämer$^{3}$\kern-1ex, \S~12. +% \par\medskip + +\item[superscriptedition=bib/address] Hochgestellte Auflagen im Literaturverzeichnis + (vor address), für Nicht-Juristen. +\item[superscriptedition=year] Hochgestellte Auflagen im Literaturverzeichnis + (vor year), für Nicht-Juristen. +\item[superscriptedition=multiple] Mit Hilfe dieser Option wird die hochgestellte Auflage +nur dann ausgegeben, wenn von ein und demselben Werk (vorzugsweise juristische Kommentare) mehrere verschiedene Auflagen +zitiert werden. Bei diesen Fällen wird dann auf die Ausgabe des Kurz- oder Volltitels verzichtet, da dies hinreichend +eindeutig ist und für den Leser kein Problem darstellt. + +Sollte ein Bearbeiter angegeben worden sein, erscheint die hochgestellte +Auflage hinter dem Bearbeiter, sofern die Voreinstellung oder eine der +|annotatorlastsep|-Optionen benutzt wird: + +\medskip + +Kodal/Krämer--Bassenge$^{3}$, \S~12. + +\medskip + +Möchten sie dies ändern, so daß die hochgestellte Auflage direkt hinter +dem Autor erscheint, verwenden Sie folgendes in Ihrer Präambel +oder Konfigurationsdatei: + +\begin{verbatim} + \jbsuperscripteditionafterauthor +\end{verbatim} + +Dann sollten Sie folgendes Ergebnis erhalten: + +\medskip + +Kodal/Krämer$^{3}$--Bassenge, \S~12. +%\end{Options} +% +%\begin{Options} +\item[biblikecite] Die Formatierung des Literaturverzeichnisses folgt + (soweit wie möglich) automatisch der Formatierung der Zitate. +\item[edby] (Nur in \texttt{@INCOLLECTION}!) Die Sequenz "`Lipcoll, + David~J. (Hrsg.)"' wird geändert zu "`hrsg. v. Lipcoll, David~J."'\par +Anpassungen sind möglich über: + \begin{verbatim} + \AddTo\bibsgerman{% + \def\edbyname{herausgegeben von}% + } + \end{verbatim} +\item[endnote] Der Inhalt des \texttt{note}-Feldes erscheint am Ende des bibliographischen Eintrags und wenn Sie + |dotafter=bibentry| benutzen, \emph{nach} dem abschließenden Punkt. +\end{Options} + + \DescribeMacro{\jbauthorfont} + \DescribeMacro{\jbcoauthorfont} +Sollten diese Optionen nicht das Gewünschte leisten, besteht die Möglichkeit, +das angestrebte Ergebnis durch Umdefinieren von diversen Befehlen zu erreichen. + +Die Schriftarten der Autoren und Bearbeiter werden durch die Befehle +\cs{jbauthorfont} und \cs{jbcoauthorfont} bestimmt und können folgendermaßen +verändert werden (der typographische Wert dieser Beispiele geht gegen Null): +\begin{verbatim} + \renewcommand*{\jbauthorfont}{\textit} + \renewcommand*{\jbcoauthorfont}{\textsl} +\end{verbatim} + \DescribeMacro{\jbactualauthorfont} + \DescribeMacro{\jbauthorfontifcoauthor} +Analoges gilt für die folgenden Befehle, die \emph{nur} in Verbindung mit der +Option \texttt{authorformat=dynamic} wirksam sind: +\begin{verbatim} + \renewcommand*{\jbactualauthorfont}{\textsc} + \renewcommand*{\jbauthorfontifcoauthor}{\textsl} +\end{verbatim} + +Diese Redefinitionen sind in der Präambel vor \cs{begin}\verb+{document}+ +unterzubringen. Dabei ist zu beachten, daß Fontbefehle benutzt werden, die mit +\cs{text} beginnen (Fontwechselbefehle mit Argumenten, z.\,B. \cs{textit}, +\cs{textbf} usw.), und \emph{nicht} solche, die mit \texttt{series}, +\texttt{family} oder \texttt{shape} enden (Deklarationsform, z.\,B. +\cs{bfseries}, \cs{slshape}, \cs{sffamily})! + +\subsubsection{Formatierung des Titels} + \begin{Options} + \item[titleformat=italic] setzt Titel kursiv: Kodal\slash Krämer\slash Bassenge, \textit{StrR}, \S~12. + \item[titleformat=all] Mit dieser Option werden bei \emph{allen} Zitaten die + Kurztitel gesetzt, unabhängig davon, ob ein Autor mit verschiedenen + Werken zitiert wurde oder nicht. + \item[titleformat=colonsep] Diese Option plaziert einen Doppelpunkt zwischen Autor und Titel + (sofern ein Titel zitiert wird): + Kodal\slash Krämer\slash Bassenge: StrR, \S~12. + \item[titleformat=commasep] Diese Option plaziert ein Komma zwischen Autor und Titel: + Kodal\slash Krämer\slash Bassenge, StrR, \S~12. + \item[titleformat=noreplace] Auf mehrfachen Wunsch hin habe ich diese Option geschaffen, mit der sich + das Ersetzen eines fehlenden \texttt{shorttitle}s durch den Inhalt des + \texttt{title}-Feldes global unterbinden läßt. Siehe dazu auch die + \cs{cite*}- und die \cs{nextcitenotitle}-Befehle. + \end{Options} +\DescribeMacro{\jbtitlefont} Für eine Veränderung des Schriftschnittes des +Kurztitels steht der Befehl \cs{jbtitlefont} zur Verfügung, der ganz analog an +eigene Bedürfnisse angepaßt werden kann: + +\begin{verbatim} + \renewcommand*{\jbtitlefont}{\textit} +\end{verbatim} + + \DescribeMacro{\jbhowsepbeforetitle} +Für die Optionen \texttt{titleformat=commasep} und +\texttt{titleformat=colonsep} ist eine individuelle Formatierung des +Separationszeichens möglich mit +\begin{verbatim} + \renewcommand*{\jbhowsepbeforetitle}{; } . + Leerzeichen! ---------------^ +\end{verbatim} +Eine der beiden vorgenannten Optionen sollte dann allerdings aktiv sein. + +\subsubsection{Separation des Bearbeiters} + +Wie bereits erwähnt, ist das Erscheinen des Bearbeiters nach dem Autor\slash +den Autoren als auch die Trennung durch den Schrägstrich voreingestellt. Dies +läßt sich über Optionen ändern. + + \begin{Options} + \item[annotatorlastsep=divis (früher: colastsep=divis)] Diese Option ändert das voreingestellte Erscheinungsbild, + so daß der Schrägstrich durch einen Bindestrich ersetzt + wird: Kodal\slash Krämer--Bassenge StrR, \S~12. + \item[annotatorfirstsep=in (früher: cofirstsep=in)] Der Bearbeiter erscheint im Zitat zuerst, die Trennung erfolgt + durch "` in "'\,: Bassenge in Kodal\slash Krämer StrR, \S~12. + \item[annotatorfirstsep=comma (früher: cofirstsep=comma)] Diese Option wirkt wie \texttt{annotatorfirstsep=in}, allerdings + wird das "` in "' durch ein Komma ersetzt: + Bassenge, Kodal\slash Krämer StrR, \S~12. + \end{Options} + + +\subsubsection{Verhalten bei Wiederholungszitaten} + + \begin{Options} + \item[\texttt{ibidem} oder \texttt{ibidem=strict}] Sollte ein Autor mehrfach +nacheinander zitiert werden, kann es erwünscht sein, die Wiederholung des +Zitates durch das Kürzel "`a.\,a.\,O."' ersetzen zu lassen. \emph{Die +Verwendung dieses und ähnlicher Kürzel ist umstritten und man sollte, wenn +irgend möglich, auf die Verwendung dieser Option verzichten, da sie nicht dazu +angetan ist, Lesbarkeit oder Übersichtlichkeit zu verbessern.} Dabei ist +\textsf{jurabib} aus gutem Grund so konfiguriert, daß das Zitat nur dann durch +"`a.\,a.\,O."' ersetzt wird, wenn die Wiederholung unmittelbar auf das +Erstzitat folgt und wenn das Wiederholungszitat \emph{nicht} das erste auf der +aktuellen Seite ist (siehe Beispiele). + +\item[ibidem=nostrict] Möchte man obiges +Verhalten unterdrücken, bietet sich diese Option an, die es zuläßt, daß ein +Wiederholungszitat -- auch wenn es das Erste auf der Seite ist -- durch +"`a.\,a.\,O\kern-1.2pt."' ersetzt wird. Der Einsatz dieser Option sollte +wohlüberlegt sein. Er ist nur dann sinnvoll, wenn man im Dokument im +Wesentlichen einen Autor zitiert und der Leser somit durchaus weiß, wer sich +zuletzt hinter "`a.\,a.\,O\kern-1.2pt."' verbarg. + +\item[ibidem=strictdoublepage] Zugebenermaßen ist diese Option, sagen wir, +"`akademisch"', weil sie sehr spitzfindig unterscheidet, ob Erstzitat (bzw. +volles Wiederholungszitat) und potentiell abgekürztes Wiederholungszitat auf +gegenüberliegenden Seiten zu liegen kommen (Vielen Dank an \textsc{Stefan +\mbox{Ulrich}}). Sollte das der Fall sein, wird "`a.\,a.\,O\kern-1.2pt."' im +ersten Zitat auf der neuen (rechten) Seite zugelassen. Liegt ein Umbruch von +einer ungeraden (rechten) Seite auf eine gerade (linke) Seite vor, verhält sich +die Option wie \texttt{ibidem/ibidem=strict}. Dies ist selbstverständlich nur +bei zweiseitigem Druck von Interesse, also bei Benutzung einer +\texttt{book}-Klasse oder der Klassenoption \texttt{twoside}. Vergleichen Sie +in der folgenden Übersicht. \end{Options}% + +\begin{center} +\noindent{\small +\begin{tabular}{@{}llll@{}}\hline\\[-2ex] +{\footnotesize\cs{footcite}\texttt{..}}& {\footnotesize\texttt{ibidem}/\texttt{ibidem=strict}}& {\footnotesize\texttt{ibidem=strictdoublepage}} & {\footnotesize\texttt{ibidem=nostrict}}\\\hline\\[-2ex] +\texttt{..[S.~12]\mymarg{erm}} & $^{1}$\textsc{Erman}, S.\,12. & $^{1}$\textsc{Erman}, S.\,12. & $^{1}$\textsc{Erman}, S.\,12. \\ +\texttt{..[S.\,12]\mymarg{erm}} & $^{2}$a.\,a.\,O\kern-1.2pt. & $^{2}$a.\,a.\,O\kern-1.2pt. & $^{2}$a.\,a.\,O\kern-1.2pt. \\ +\texttt{..[S.\,20]\mymarg{erm}} & $^{3}$a.\,a.\,O\kern-1.2pt., S.\,20.& $^{3}$a.\,a.\,O\kern-1.2pt., S.\,20. & $^{3}$a.\,a.\,O\kern-1.2pt., S.\,20. \\ +\texttt{..\mymarg{mueko}} & $^{4}$\textsc{MüKo}. & $^{4}$\textsc{MüKo}. & $^{4}$\textsc{MüKo}. \\ +\texttt{..[S.\,12]\mymarg{erm}} & $^{5}$\textsc{Erman}, S.\,12. & $^{5}$\textsc{Erman}, S.\,12. & $^{5}$\textsc{Erman}, S.\,12. \\ +\texttt{..[S.\,12]\mymarg{erm}} & $^{6}$a.\,a.\,O\kern-1.2pt. & $^{6}$a.\,a.\,O\kern-1.2pt. & $^{6}$a.\,a.\,O\kern-1.2pt. \\[.8ex] +\multicolumn{4}{@{}c@{}}{\emph{Seitenumbruch von ungerade (rechts) auf gerade (links)}}\\[1.6ex] +\texttt{..[S.\,12]\mymarg{erm}} & $^{7}$\textsc{Erman}, S.\,12. & $^{7}$\textsc{Erman}, S.\,12. $\longleftarrow$ \textsf{!!!} & $^{7}$a.\,a.\,O\kern-1.2pt. $\longleftarrow$ \textsf{!!!}\\ +\texttt{..[S.\,12]\mymarg{erm}} & $^{8}$a.\,a.\,O\kern-1.2pt. & $^{8}$a.\,a.\,O\kern-1.2pt. & $^{8}$a.\,a.\,O\kern-1.2pt. \\[.8ex] +\multicolumn{4}{@{}c@{}}{\emph{Seitenumbruch von gerade (links) auf ungerade (rechts) = gegenüberliegende Seiten}}\\[1.6ex] +\texttt{..[S.\,12]\mymarg{erm}} & $^{9}$\textsc{Erman}, S.\,12. & $^{9}$a.\,a.\,O\kern-1.2pt. $\longleftarrow$ \textsf{!!!} & $^{9}$a.\,a.\,O\kern-1.2pt. $\longleftarrow$ \textsf{!!!}\\ +\texttt{..[S.\,12]\mymarg{erm}} & $^{10}$a.\,a.\,O\kern-1.2pt. & $^{10}$a.\,a.\,O\kern-1.2pt. & $^{10}$a.\,a.\,O\kern-1.2pt. \\ +\hline +\end{tabular}} +\end{center} + +\DescribeMacro{\noibidem} Mit Hilfe des Befehls \cs{noibidem} können Sie den +\texttt{ibidem}-Automatismus für das jeweils nächste (\emph{und nur für +dieses!}) Wiederholungszitat abschalten. + + +\subsubsection{Sonstiges} + + \begin{Options} + \item[commabeforerest] Hier wird ein Komma vor evtl. angegebene Seitenzahlen, Randnummern + und dergleichen gesetzt: \cite[S.\,12]{kkstrr}. + \item[silent] unterdrückt alle \textsf{jurabib}-spezifischen Warnungen. + \end{Options} + +\subsection[Formatierung des Literaturverzeichnisses] + {Möglichkeiten der Formatierung des\\ Literaturverzeichnisses} +\subsubsection{Schriftschnitte} +Die Möglichkeiten der Formatierung beschränken sich auf die Modifikation von +Schriftarten einzelner, ausgewählter Teile eines Eintrages im +Literaturverzeichnis. Dazu existieren die Befehle \cs{biblnfont} für die +Formatierung der Nachnamen der + \DescribeMacro{\biblnfont} + \DescribeMacro{\bibelnfont} + \DescribeMacro{\bibfnfont} + \DescribeMacro{\bibefnfont} + \DescribeMacro{\bibtfont} + \DescribeMacro{\bibbtfont} + \DescribeMacro{\bibjtfont} + \DescribeMacro{\bibapifont} + \DescribeMacro{\bibsnfont} +Autoren und \cs{bibelnfont} für die Herausgeber, \cs{bibfnfont} und \cs{bibefnfont} +für die Formatierung der Vornamen +selbiger, \cs{bibtfont} für die Anpassung der Titel von Büchern und anderem, +\cs{bibbtfont} für die Formatierung der Titel bei Sammelwerken und +\cs{bibjtfont} für die Modifizierung des Zeitschriftentitels bei Artikeln. Dazu +kommt \cs{bibapifont}, um den Titel eines Artikels, eines Beitrages in einem +Sammelwerk oder ähnliches zu formatieren. Dieser Befehl ist aktiv bei den +Eintragstypen \texttt{@ARTICLE}, \texttt{@PERIODICAL}, \texttt{@INBOOK} und +\texttt{@INCOLLECTION}, also bei unselbständigen Publikationsformen. +Mit \cs{bibsnfont} können Sie das Aussehen des |series| Feldes bestimmen. + +Die voreingestellte Formatierung entspricht diesen Redefinitionen: + +\begin{verbatim} + \renewcommand*{\biblnfont}{\bfseries} + \renewcommand*{\bibfnfont}{\bfseries} + \renewcommand*{\bibelnfont}{\bfseries} + \renewcommand*{\bibefnfont}{\bfseries} + \renewcommand*{\bibtfont}{} + \renewcommand*{\bibbtfont}{} + \renewcommand*{\bibjtfont}{} + \renewcommand*{\bibapifont}{} + \renewcommand*{\bibsnfont}{} +\end{verbatim} +Die Modifikation erfolgt analog zu den schon oben gezeigten Beispielen. Auch +hier ist zu beachten, daß Fontbefehle benutzt werden, die mit \cs{text} +beginnen (Fontwechselbefehle mit Argumenten, z.\,B. \cs{textit}, \cs{textbf} +usw.), und \emph{nicht} solche, die mit \texttt{series}, \texttt{family} oder +\texttt{shape} enden (Deklarationsform, z.\,B. \cs{bfseries}, \cs{slshape}, +\cs{sffamily})! + +\subsubsection{Optionen für das Literaturverzeichnis} + + \begin{Options} + \item[bibformat=nohang] Hiermit wird der voreingestellte Einzug der zweiten und + aller folgenden Zeilen in einem Eintrag im Literaturverzeichnis unterdrückt. +\noindent Möchten Sie den Einzug in seiner Größe beeinflussen, so mögen Sie +folgendes in die Präambel Ihres Dokumentes schreiben: +\begin{verbatim} + \setlength{\jbbibhang}{1.5em} +\end{verbatim} +Voreingestellt ist ein Einzug von 2.5\,em. + \item[bibformat=tabular] Das Literaturverzeichnis wird in Form einer zweispaltigen Tabelle + ausgegeben. Die Autoren erscheinen links, der Rest des biblio"-graphischen Eintrages rechts. +Die Breite der Spalten ist anpaßbar über folgende Befehle (die angegeben Werte +sind voreingestellt): +\begin{verbatim} + \renewcommand*{\bibleftcolumn}{\textwidth/3} + \renewcommand*{\bibrightcolumn}{\textwidth-\bibleftcolumn-1cm} +\end{verbatim} + Eine Einstellung der Ausrichtung innerhalb der Spalten ist ebenfalls möglich +(auch hier die Voreinstellungen): +\begin{verbatim} + \renewcommand*{\bibleftcolumnadjust}{\raggedright} + \renewcommand*{\bibrightcolumnadjust}{\raggedright} +\end{verbatim} +Für einen besseren Umbruch sei die Benutzung von \mbox{\textsf{ragged2e.sty}} +empfohlen: +\begin{verbatim} + \usepackage{ragged2e} +\end{verbatim} +Das oben gezeigte Laden des \textsf{ragged2e}-Paketes ist ausreichend. Es +erfolgt automatisch die Umdefinition der entsprechenden Befehle. Von Versuchen, +hier einen Blocksatz erzwingen zu wollen, rate ich ab. Für diesen speziellen +Fall ist Rauhsatz geeigneter. Wer trotzdem Blocksatz erreichen will: +\begin{verbatim} + \renewcommand*{\bibrightcolumnadjust}{} +\end{verbatim} + \item[bibformat=numbered] Hier werden die Einträge im Literaturverzeichnis numeriert. Das Format der Numerierung kann mit Hilfe von |\bibnumberformat| angepasst werden: +\begin{verbatim} + \renewcommand{\bibnumberformat}[1]{(#1)} +\end{verbatim} + \item[bibformat=ibidem] In -- nicht nur namentlicher -- Anlehnung an die "`großen"' + \texttt{ibidem}-Optionen kann diese Option + unmittelbare Wiederholungen von Autoren durch eine Linie (oder was auch immer) ersetzen. + Dabei testet \textsf{jurabib}, ob zwischen zwei Wiederholungen + ein Seitenumbruch liegt und verhindert entsprechend die Ausgabe der Ersetzung. Dabei können je + nach Umfang des Dokumentes auch drei, vier oder mehr(!) \LaTeX-Läufe nötig werden, bis dieser + Mechanismus vollständig greift. Also solange beim ersten Literaturverzeichniseintrag auf einer Seite + der Ersetzungstext erscheint, greift dieser Mechanismus noch nicht! (Dies gilt jedoch nicht + für gegenüberliegende Seiten bei Verwendung einer \texttt{*book}-Klasse oder der + \texttt{twoside}-Option.) +\item[lookforgender] Es ist möglich, die im Deutschen nötige +Unterscheidung zwischen männlichen und weiblichen Autoren durch Benutzung des +neuen |gender|-Feldes bereits in der \BibTeX-Datenbank zu treffen. Diese Option bewirkt die Auswertung dieses Feldes. +Dabei gelten folgende Abkürzungen: +\end{Options} +\noindent{\footnotesize + \begin{tabular}{@{}llllll@{}} + \hline\\[-2ex] + Abk. & Bedeutung & Zitatvariante & Definition über: & Bibliographievariante & Definition über: \\ + \hline\\[-2ex] + |sf| & single female & Dies./dies. & |\idem[S,s]fname| & Dieselbe/dieselbe & |\bibidem[S,s]fname|\\ + |sm| & single male & Ders./ders. & |\idem[S,s]mname| & Derselbe/derselbe & |\bibidem[S,s]mname|\\ + |pf| & plural female & Dies./dies. & |\idem[P,p]fname| & Dieselben/dieselben & |\bibidem[P,p]fname|\\ + |pm| & plural male & Dies./dies. & |\idem[P,p]mname| & Dieselben/dieselben & |\bibidem[P,p]mname|\\ + |sn| & single neutrum & Dass./dass. & |\idem[S,s]nname| & Dasselbe/dasselbe & |\bibidem[S,s]nname|\\ + |pn| & plural neutrum & Dies./dies. & |\idem[P,p]nname| & Dieselben/dieselben & |\bibidem[P,p]nname|\\ + \hline\\[-2ex] + \end{tabular}} + +\medskip + +\noindent Für eine einzelne Frau als Autorin wäre also für eine geänderte Darstellung ("`Dies."'/"`dies."' anstelle von "`Dieselbe"'/"`dieselbe"') im Literaturverzeichnis folgendes nötig: +\begin{verbatim} + \AddTo\bibsgerman{% + \renewcommand\bibidemSfname{Dies.}% + \renewcommand\bibidemsfname{dies.}% + } +\end{verbatim} + +\begin{Options} +\item[bibformat=ibidemalt] Eine alternative Darstellung des Literaturverzeichnisses, + speziell für Juristen. Diese Option geht auf Vorschläge von Tilman Finke zurück. +\item[bibformat=compress] Das Literaturverzeichnis wird etwas kompakter gesetzt, + d.\,h. der Abstand zwischen den einzelnen Einträgen wird verringert. +\item[bibformat=raggedright] Das Literaturverzeichnis wird mit Flattersatz gesetzt. + Diese sei speziell bei Benutzung von |bibformat=tabular| oder + bei geringer Textbreite empfohlen. +\item[annote] Der Inhalt des |annote|-Feldes wird ausgegeben (nur im Literaturverzeichnis\,!). + Es besteht die Möglichkeit -- ähnlich wie bei \textsf{natbib}~-- das |annote|-Feld nicht zu + besetzen und \textsf{jurabib} stattdessen eine Datei benutzen zu lassen. Diese Datei wird + eingebunden, sofern sie den Namen des BibTeX-Datenbankeintrags besitzt und auf |.tex| endet. + Sollte das |annote|-Feld leer sein und keine annote-Datei existieren, + wird nichts ausgegeben. + \DescribeMacro{\bibAnnotePath} + Mit |\bibAnnotePath| läßt sich ein Pfad zu den Annote-Dateien angeben. + Die Syntax entspricht der von |\graphicspath|: |\bibAnnotePath{{annotes/}}| + verwendet die Annote-Dateien aus dem Verzeichnis |annotes| unterhalb + des aktuellen Verzeichnisses. +\item[super] Konvertiert alle\NEW{0.6} |\cite|-Befehle in |\footcite|'s, +\item[config=\meta{file}] Ermöglicht die\NEW{0.6} Nutzung von mehreren |.cfg| Dateien. Mit dieser Option laden Sie die gewünschte Datei. Bitte beachten Sie, daß es \emph{nicht} nötig ist, die Erweiterung |.cfg| anzugeben\,! +\item[dotafter=bibentry] setzt einen \NEW{0.6}Punkt am Ende der Einträge in der Bibliographie. +\item[dotafter=endnote] setzt einen \NEW{0.6} Punkt am Ende der Endnoten + (bei Verwendung von \textsf{endnotes.sty}). +\end{Options} + +\subsubsection{Weitere Möglichkeiten der Anpassung} + \DescribeMacro{\bibbtsep} + \DescribeMacro{\bibjtsep} +Da es durchaus unterschiedliche Ansichten dazu gibt, wie ein Zitat aus einem +Sammelwerk oder einer Zeitschrift im Literaturverzeichnis zu erscheinen hat, +gibt es die Befehle \cs{bibbtsep} und \cs{bibjtsep}. Sie stehen für +"`\textbf{b}ook\textbf{t}itle \textbf{sep}aration"' und +"`\textbf{j}ournal\textbf{t}itle \textbf{sep}aration"'. +\begin{bibexample} +\item \textbf{Brinkmann, Franz~Josef:} Der Zugang der Willenserklärungen, Münsterische +Beiträge zur Rechtswissenschaft, Bd.~3 Berlin, 1984 +\end{bibexample} +Möchte man beispielsweise, daß im Literaturverzeichnis ein "`in~"' vor den +Buch\-titeln und dem Titel von Zeitschriften erscheint, dann wären die +folgenden Umdefinitionen zu tätigen: +\begin{verbatim} + \renewcommand*{\bibbtsep}{in } + \renewcommand*{\bibjtsep}{in } +\end{verbatim} +Nach obiger Redefinition bietet sich uns folgendes Bild: +\begin{bibexample} +\item \textbf{Brinkmann, Franz~Josef:} Der Zugang der Willenserklärungen, in Münsterische +Beiträge zur Rechtswissenschaft, Bd.~3 Berlin, 1984 +\end{bibexample} + \DescribeMacro{\bibansep} + \DescribeMacro{\bibatsep} + \DescribeMacro{\bibbdsep} +Auch was die Zeichensetzung nach Autoren, Titeln und zwischen Verlagsort und +Monat\slash Jahr betrifft, gibt es verschiedene Auffassungen. Dieser Tatsache +wird durch die Befehle \cs{bibansep} (\textbf{a}fter \textbf{n}ame +\textbf{sep}aration), \cs{bibatsep} (\textbf{a}fter \textbf{t}itle +\textbf{sep}aration) und \cs{bibbdsep} (\textbf{b}efore \textbf{d}ate +\textbf{sep}aration) Rechnung getragen. Möchte man also beispielsweise nach dem +Autor keinen Doppelpunkt, nach dem Titel anstelle des Kommas einen Punkt und +kein Komma zwischen Ort und Jahr, dann kann man sein Ziel über folgende +Redefinitionen erreichen: +\begin{verbatim} + \renewcommand*{\bibansep}{} + \renewcommand*{\bibatsep}{.} + \renewcommand*{\bibbdsep}{} +\end{verbatim} +Das Ergebnis sieht nun so aus: +\begin{bibexample} +\item \textbf{Brinkmann, Franz~Josef} Der Zugang der Willenserklärungen. Münsterische +Beiträge zur Rechtswissenschaft, Bd.~3 Berlin 1984 +\end{bibexample} + +\subsubsection{Zitiert \dots} +\DescribeMacro{howcited=normal} \DescribeMacro{howcited=multiple} +\DescribeMacro{howcited=compare} \DescribeMacro{howcited=all} Die +\texttt{howcited}-Optionen plazieren (unter unterschiedlichen Bedingungen) +hinter \emph{ausgewählten} Einträgen im Literaturverzeichnis einen Kommentar, +der angibt, wie das Werk im Text zitiert wurde. Dabei wird dieser Kommentar +entsprechend dynamisch verändert, wie wir das schon vom Zitat selbst kennen, +d.\,h. die Angabe im Literaturverzeichnis entspricht immer genau der +\emph{zuletzt} im Text verwendeten Form. Bei Artikeln und Periodika wird per +Voreinstellung keine Angabe über die Art der Zitierung gemacht -- dies gilt für +alle \texttt{howcited}-Optionen (ausgenommen \texttt{howcited=all}) -- da dies +üblicherweise über die Angabe des Autorennamens und des Zeitschriftentitels +erfolgt und somit hinreichend eindeutig ist.\footnote{Vielen Dank an +\textsc{Christian Meyn} für diesen Hinweis.} Sollte es erforderlich sein, daß +der Vermerk auch bei Artikeln und Periodika erscheint, benutzen Sie folgendes: +\begin{verbatim} + \makeatletter + \jb@allow@howcited@art@periodtrue + \makeatother +\end{verbatim} +\begin{Options} +\item[howcited=normal]\DescribeMacro{howcited=normal} + Die Option \texttt{howcited=normal} setzt dann den Vermerk "`(zitiert: \meta{Autor})"', wenn in + der \texttt{.bib}-Datei das Feld \texttt{howcited} besetzt + wurde.\footnote{Mit dieser Option läßt sich der unter Umständen unerwünschte + Automatismus der nachfolgenden Option \texttt{howcited=compare} ausschalten und man behält bei + jedem einzelnen Werk die Kontrolle, ob dort ein Vermerk über die Art des Zitats + erscheinen soll oder nicht und wenn er erscheinen soll, wie er auszusehen hat.} + +Nun gibt es zwei Möglichkeiten, dieses Feld zu benutzen. Im Sinne eines +Schalters funktioniert der Wert \texttt{1} in diesem Feld. Er bewirkt, daß das +Originalzitat, so wie es im Text erscheint, auch nach dem Eintrag im +Literaturverzeichnis gesetzt wird. Ein Beispiel: +\begin{verbatim} + @BOOK{enne:nipp, + author = {Ludwig Enneccerus and Hans Carl Nipperdey}, + title = {Allgemeiner Teil des Bürgerlichen Rechts}, + year = 1960, + volume = {1}, + volumetitle = {zweiter Halbband}, + address = {Tübingen}, + edition = {15.}, + howcited = {1} + } +\end{verbatim} +Erzeugt folgendes (Benutzung von \cs{[foot]cite} vorausgesetzt): +\begin{bibexample} +\item \textbf{Enneccerus, Ludwig\slash Nipperdey, Hans~Carl:} + Allgemeiner Teil des Bürgerlichen Rechts. Bd.~1, zweiter Halbband, 15.~Auf"|lage, + Tübingen 1960 (zitiert: Eneccerus\slash Nipperdey) +\end{bibexample} + +Sollte jedoch Bedarf bestehen, diesen Vermerk vom Originalzitat abweichen zu +lassen, trägt man in dieses Feld einfach das ein, was anstelle des +Originalzitates erscheinen soll. Ein Beispiel: +\begin{verbatim} + @BOOK{enne:nipp, + author = {Ludwig Enneccerus and Hans Carl Nipperdey}, + title = {Allgemeiner Teil des Bürgerlichen Rechts}, + year = 1960, + volume = {1}, + volumetitle = {zweiter Halbband}, + address = {Tübingen}, + edition = {15.}, + howcited = {Enneccerus/Nipperdey, B"urgerliches Recht} + } +\end{verbatim} +Erzeugt: +\begin{bibexample} +\item \textbf{Enneccerus, Ludwig\slash Nipperdey, Hans~Carl:} + Allgemeiner Teil des Bürgerlichen Rechts. Bd.~1, zweiter Halbband, 15.~Auf"|lage, + Tübingen 1960 (zitiert: Enneccerus\slash Nipperdey, Bürgerliches Recht) +\end{bibexample} +Um ein einheitliches Layout auch bei der Veränderung von Optionen, die die +Schriftschnitte der Autoren betreffen, sicherzustellen, sind u.\,U. Fontbefehle +in das Feld einzufügen. + +\item[howcited=compare]\DescribeMacro{howcited=compare} +Diese Option plaziert den Zusatz "`(zitiert: \meta{Autor})"' dann, \emph{wenn +ein Eintrag im Feld \texttt{shorttitle} gemacht wurde}, und dieser vom Eintrag +im Feld \texttt{title} abweicht. Das Feld \texttt{howcited} in der +\texttt{.bib}-Datei wird nun ignoriert. Maßgeblich für die Plazierung des +Vermerks ist allein die Abweichung des Feldes \texttt{shorttitle} vom Feld +\texttt{title}! Das ist bei dem folgenden, mit \cs{[foot]citetitle} zitierten +Beispiel der Fall: +\begin{verbatim} + @BOOK{kkstrr, + author = {Kurt Kodal and Joachim Krämer}, + title = {Straßenrecht}, + shorttitle = {StrR}, + year = 1995, + address = {München}, + edition = {5.}, + pages = {30--34, \S~24} + } +\end{verbatim} +\begin{bibexample} +\item \textbf{Kodal, K.\slash Krämer, J.:} Straßenrecht, 5.~Auf"|lage München, 1995 +(zitiert: Kodal\slash Krämer, StrR) +\end{bibexample} + +\item[howcited=multiple]\DescribeMacro{howcited=multiple} + Diese Option plaziert den Zusatz "`(zitiert: \meta{Autor})"' nur dann, wenn + mehr als ein Werk des betreffenden Autors zitiert wurde. Dies gilt per + Voreinstellung jedoch nicht für Kommentare (bei diesen wird der Vermerk + immer gesetzt), was sich jedoch ändern läßt (\cs{jb@@mult@switch} ist gleich + \texttt{1}, wenn mehr als ein Werk eines Autors zitiert wurde): +\begin{verbatim} + \makeatletter + \renewcommand*{\jb@make@howcited@multiple}{% + \jb@suppress@dot@for@howcitedtrue + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited + }{% + \let\bibhowcited\@empty + \let\bibcommenthowcited\@empty + \let\bibartperiodhowcited\@empty + }% + }% + \makeatother +\end{verbatim} +\item[howcited=all]\DescribeMacro{howcited=all} + Der \texttt{howcited}-Vermerk erscheint bei allen Einträgen. +\end{Options} + +Voreingestellt ist der Wortlaut "`(zitiert: \meta{Autor})"'. Eine Anpassung ist +möglich über die folgenden Befehle: +\begin{verbatim} + \newcommand*{\howcitedprefix}{-- als } + \newcommand*{\howcitedsuffix}{ zitiert.} +\end{verbatim} +Man beachte die Leerzeichen. Dies ergibt dann: +\begin{bibexample} +\item \textbf{Kodal, K.\slash Krämer, J.:} Straßenrecht, 5.~Auf"|lage München, 1995 + -- als Kodal\slash Krämer, StrR zitiert. +\end{bibexample} +Wenn das Werk nicht zitiert worden ist, aber in das Literaturverzeichnis +aufgenommen werden soll, kann man sich des Befehls \cs{nocite} bedienen: +\begin{verbatim} + \nocite{kkstrr} +\end{verbatim} +Oder, um \emph{alle} nicht-zitierten Werke ins Literaturverzeichnis +aufzunehmen: +\begin{verbatim} + \nocite{*} +\end{verbatim} +Dann erhält der Vermerk die aktuelle Bedeutung des Befehls \cs{bibnotcited}. +Standard ist die leere Definition dieses Befehls. Dies läßt sich jedoch einfach +anpassen: +\begin{verbatim} + \renewcommand*{\bibnotcited}{(nicht zitiert)} +\end{verbatim} +Erzeugt folgendes: +\begin{bibexample} +\item \textbf{Kodal, K.\slash Krämer, J.:} Straßenrecht, 5.~Auf"|lage München, 1995 + (nicht zitiert) +\end{bibexample} +Eine der \texttt{howcited}-Optionen muß dafür natürlich aktiviert sein. + +Mittlerweile sind alle sinnvollen Kombinationen von |howcited|-Optionen möglich. + +Noch ein Hinweis zur Benutzung der \texttt{howcited}-Optionen: Wenn Sie +bemerken sollten, daß nicht die zuletzt im Text verwendete Zitierform im +Literaturverzeichnis erscheint, löschen Sie bitte die \texttt{.aux}-Datei und +bearbeiten Ihr Dokument erneut mit \LaTeX. + +\subsubsection{Weitere Eintragsfelder und Eintragstypen} + + \DescribeMacro{url =} +Auch wenn es vielleicht in der Rechtswissenschaft noch nicht zur Üblichkeit +gehört, Quellen aus dem World Wide Web zu zitieren, habe ich neben den Feldern +\texttt{shortauthor} und \texttt{shorttitle} noch das Feld \texttt{url} +hinzugefügt. + + \DescribeMacro{urldate =} +Mit dem Feld \texttt{urldate} ist es möglich, das Datum des Zugriffs auf die Website anzugeben. Der vor dem +Datum des Zugriffs erscheinende Wortlaut ist voreingestellt auf "`Zugriff am "' +und läßt sich redefinieren über: +\begin{verbatim} + \AddTo\bibsgerman{\renewcommand*{\urldatecomment}{besucht am }} . +\end{verbatim} +Die Trennung zwischen URL und |\urldatecomment| ist konfigurierbar und durch das Makro |\bibbudcsep| repräsentiert. +Es ist in der Voreinstellung als "` -- "' definiert. + + \DescribeMacro{\biburlprefix} + \DescribeMacro{\biburlsuffix} +In Zusammenhang damit ergibt sich die Möglichkeit, die Ausgabe des +\texttt{url}-Feldes zu formatieren. Dies ist mit Hilfe des Befehls +\cs{biburlprefix} möglich, welcher vor den eigentlichen URL-Eintrag +beispielsweise "`URL:"' einfügt. Voreingestellt sind: + +\begin{verbatim} + \newcommand*{\biburlprefix}{\jblangle{}URL: } + \newcommand*{\biburlsuffix}{\jbrangle{}} +\end{verbatim} +Eine Umdefinition erfolgt analog zu den anderen Befehlen via \cs{renewcommand}. +Um ein Umbrechen des URL sowie die korrekte Ausgabe von Zeichen wie z.\,B. +\verb+~+ und \verb+_+ zu ermöglichen, lädt \textsf{jurabib} das +\textsf{url}-Paket. In Version 0.51 ist der Befehl \CH{0.51} |\biburlfont| +geändert worden, eine Formatierung des URL ist nun folgendermaßen möglich (nur +diese vier Werte sind möglich\,!): +\begin{verbatim} + \biburlfont{tt} % typewriter + \biburlfont{rm} % roman + \biburlfont{sf} % serifenlos + \biburlfont{same} % wie im Text +\end{verbatim} + + \DescribeMacro{@WWW} + Neuer Eintragstyp für URL. Zwingend ist nur \texttt{url}, optional sind \texttt{urldate}, +\texttt{author} und \texttt{title}. +\begin{verbatim} + @WWW{testurl, + author = {Jens Berger}, + title = {Home of jurabib}, + url = {http://www.jurabib.org}, + urldate = {06.12.2003} + } +\end{verbatim} +\begin{bibexample} +\item \textbf{Berger, Jens:} Home of jurabib, $\langle$URL: + |http://www.jurabib.org|$\rangle$~-- Zugriff am 06.12.2003 +\end{bibexample} + \DescribeMacro{@PERIODICAL} +Auf einen Hinweis von \textsc{Andreas Stefanski} hin habe ich für Periodika -- +die nach Band und nicht nach Jahreszahl zitiert werden -- einen neuen +Eintragstyp \texttt{@PERIODICAL} definiert, der die Anforderung erfüllt, die +Jahreszahl in eckigen Klammern zu setzen. Zudem ist die Angabe des Bandes +möglich: +\begin{verbatim} + @PERIODICAL{oellers, + author = {Bernd Oellers}, + title = {Doppelwirkung im Recht?}, + journal = {AcP}, + year = 1969, + volume = 169, + pages = {67ff} + } +\end{verbatim} +Dies erzeugt folgendes: +\begin{bibexample} +\item \textbf{Oellers, Bernd:} Doppelwirkung im Recht? AcP 169 [1969], S.\,67ff +\end{bibexample} + \DescribeMacro{\bibpldelim} + \DescribeMacro{\bibprdelim} +Über die Befehle \cs{bibpldelim} (\texttt{P}eriodical \texttt{L}eft +\texttt{DELIM}iter) und \cs{bibprdelim} (\texttt{P}eriodical \texttt{R}ight +\texttt{DELIM}iter) ist eine Änderung der Klammerung der Jahreszahl möglich: +\begin{verbatim} + \renewcommand*{\bibpldelim}{(} + \renewcommand*{\bibprdelim}{)} +\end{verbatim} +\begin{bibexample} +\item \textbf{Oellers, Bernd:} Doppelwirkung im Recht? AcP 169 (1969), S.\,67ff +\end{bibexample} + +\DescribeMacro{@COMMENTED} Desweiteren wurde durch die Definition des +Eintragstyps \texttt{@COMMENTED} eine Möglichkeit geschaffen, Kommentare auch +als solche zu verwalten. Im Zusammenhang mit der Option +\texttt{howcited=normal} erscheint dann auch für diesen Eintrag am Ende des +Eintrags (zitiert: \meta{Autor}\slash Bearbeiter) oder (zitiert: Bearbeiter in +\meta{Autor}). +\begin{bibexample} +\item \textbf{Münchener Kommentar:} Kommentar zum Bürgerlichen Gesetzbuch, Bd.~2, +\mbox{--~Schuldrecht~--} Allgemeiner Teil, 3.~Auf"|lage, München, 1994, +\S\kern-.8pt\S~241--432 (zitiert: MüKo\slash Bearbeiter) +\end{bibexample} +\DescribeMacro{updated =} Dieses neue Feld wird innerhalb des Typs |@COMMENTED| +ausgewertet, um den jeweils letzten Stand z.\,B. von Loseblattsammlungen anzugeben. +\begin{bibexample} +\item \textbf{Münchener Kommentar:} Kommentar zum Bürgerlichen Gesetzbuch, Bd.~2, +\mbox{--~Schuldrecht~--} Allgemeiner Teil, 3.~Auf"|lage, München, Stand: Mai~1994 +\end{bibexample} +|updated| überschreibt \emph{nicht} das |year|-Feld\,! Die Abtrennung vom |address|\slash|publisher|/|year|-Block +ist durch das |\updatesep|-Makro gegeben, welches per Voreinstellung als Komma ausgeführt ist. +Vor den im Feld |updated| angegebenen Daten erscheint via Voreinstellung "`Stand:"'. Dies ist +konfigurierbar über das Makro |\updatename|. +\begin{verbatim} + \AddTo\bibsgerman{% + \def\updatesep{.} + \def\updatename{Stand vom} + } +\end{verbatim} + +Wird dieser Eintragstyp nicht verwendet, obwohl es sich um einen Kommentar +handelt, erscheint (zitiert: \meta{Autor}), was nicht korrekt ist, weil das +tatsächliche Layout des Zitates anders aussieht. Wer allerdings die +\texttt{howcited}-Optionen nicht benutzt, für den ist es unerheblich, welchen +Eintragstyp er für die Eingabe von Kommentaren verwendet. + +\DescribeMacro{volumetitle =} Über das Feld \texttt{volumetitle} ist es +möglich, einen Bandtitel anzugeben, der dann hinter der Nummer des Bandes +erscheint. Dieses Feld steht für die Eintragstypen \texttt{@COMMENTED}, +\texttt{@BOOK}, \texttt{@INBOOK} und \texttt{@INCOLLECTION} zur Verfügung. + +\DescribeMacro{titleaddon =} Dieses Feld dient dazu, einen Kommentar, eine +Notiz, Angaben zum Übersetzer, Mitarbeitern etc. zu machen. Es wird unmittelbar +hinter dem Titel plaziert. +\begin{verbatim} + @COMMENTED{mueko, + [...] + title = {Kommentar zum Bürgerlichen Gesetzbuch}, + titleaddon = {Unter Mitarbeit von Hans Mustermann}, + [...] + } +\end{verbatim} +Erzeugt: +\begin{bibexample} +\item \textbf{Münchener Kommentar:} Kommentar zum Bürgerlichen Gesetzbuch, + Unter Mitarbeit von Hans Mustermann, Bd.~2, +\mbox{--~Schuldrecht~--} Allgemeiner Teil, 3.~Auf"|lage, München, 1994, +\S\kern-.8pt\S~241--432 +\end{bibexample} + +\DescribeMacro{booktitleaddon =} Hier gilt ähnliches wie für das +|titleaddon|-Feld, nur ist dieses Feld für Anmerkungen hinter dem Titel eines +Sammelwerkes vorgesehen. + +\DescribeMacro{editortype =} Sollte man einmal vor dem Problem stehen, daß man +(für einen einzelnen Eintrag in der Datenbank) nach dem Namen des Herausgebers +etwas anderes als "`(Hrsg.)"' einsetzen möchte, etwa "`(Begr.)"' oder +ähnliches, dann trägt man den gewünschten Ersetzungstext einfach in das Feld +|editortype| ein: +\begin{verbatim} + @COMMENTED{palandt, + editor = {Otto Palandt}, + editortype = {Begr.}, + title = {Bürgerliches Gesetzbuch mit Einführungsgesetz [...]}, + [...] + } +\end{verbatim} +\begin{bibexample} +\item \textbf{Palandt, Otto (Begr.):} Bürgerliches Gesetzbuch mit Einführungsgesetz [...], +59.~Auf"|lage, München, 2000 +\end{bibexample} + Dies funktioniert auch für den Eintragstyp |@INCOLLECTION|. +\par\medskip\par +\DescribeMacro{sortkey =} Es scheint des öfteren notwendig zu sein, ein Werk an +einer bestimmten Stelle im Literaturverzeichnis auftauchen zu lassen, die vom +normalen Sortieralgorithmus abweicht. Dieses Problem löst das neue Feld +|sortkey|, in das man einen Sortierschlüssel eintragen kann, der -- im +Gegensatz zum Standard-Feld |key| -- nicht erst bei Fehlen von |author| und +|editor| zum Sortieren benutzt wird, sondern mit höchster Priorität die +Sortierung bestimmt. Gerade deshalb sollte er sorgfältig eingesetzt werden. + +\DescribeMacro{annote =} Auch der Wunsch nach einer Möglichkeit, eine (unter +Umständen längere) Zusammenfassung nach dem Eintrag im Literaturverzeichnis +auszugeben, wurde mehrfach geäußert. Diesem Wunsch trage ich mit dem neuen +|annote|-Feld Rechnung. Das Erscheinen des Inhaltes dieses Feldes läßt sich +über die Option |annote=true| bzw. nur |annote| in der Präambel bzw. in der + |jurabib.cfg| an- und abschalten. +\begin{verbatim} + @COMMENTED{palandt, + editor = {Otto Palandt}, + title = {Bürgerliches Gesetzbuch mit Einführungsgesetz [...]}, + annote = {Auch der Wunsch nach einer ...}, + [...] + } +\end{verbatim} +\begin{bibexample} +\item \textbf{Palandt, Otto:} Bürgerliches Gesetzbuch mit Einführungsgesetz [...], +59.~Auf"|lage, München, 2000 \par {\small Auch der Wunsch nach einer +Möglichkeit, eine (unter Umständen längere) Zusammenfassung nach dem Eintrag im +Literaturverzeichnis auszugeben, wurde mehrfach geäußert. Diesem Wunsch trage +ich mit dem neuen |annote|-Feld Rechnung. Das Erscheinen des Inhaltes dieses +Feldes läßt sich über die Option |annote=true| bzw. nur |annote| in der +Präambel bzw. in der + |jurabib.cfg| an- und abschalten.} +\end{bibexample} +Per Voreinstellung wird dieses Feld in |\small| gesetzt. + Aber auch hier ist eine Anpassung an den eigenen Geschmack möglich: +\begin{verbatim} + \renewcommand{\jbannoteformat}[1]{{\footnotesize\begin{quote}#1\end{quote}}} +\end{verbatim} + +\begin{bibexample} +\item \textbf{Palandt, Otto:} Bürgerliches Gesetzbuch mit Einführungsgesetz [...], +59.~Auf"|lage, München, 2000 \par {\footnotesize\begin{quote} Auch der Wunsch +nach einer Möglichkeit, eine (unter Umständen längere) Zusammenfassung nach dem + Eintrag im Literaturverzeichnis auszugeben, wurde mehrfach geäußert. Diesem + Wunsch trage ich mit dem neuen |annote|-Feld Rechnung. Das Erscheinen des + Inhaltes dieses Feldes läßt sich über die Option |annote=true| bzw. nur + |annote| in der Präambel bzw. in der |jurabib.cfg| an- und abschalten. + \end{quote}}\end{bibexample} + +\subsubsection{Zitieren von juristischen Dissertationen und ähnlichen Werken} + +\DescribeMacro{dissyear =} Juristische Dissertationen können einmal als reine +Dissertation zitiert werden, andererseits besteht die Möglichkeit, daß eine +juristische Dissertation auch als Buch erschienen ist. Für den ersten Fall ist +vorrangig der Eintragstyp \texttt{@JURTHESIS} (oder \texttt{@PHDTHESIS} bzw. +\texttt{@MASTERSTHESIS}) zu verwenden.\footnote{Die beiden letzteren sind im +Falle von \texttt{jurabib.bst} absolut identisch.} Im zweiten Fall scheint es +sinnvoll, die auch als Buch erschienene Dissertation mittels \texttt{@BOOK} zu +erfassen. Es wurde nun ein neues Feld \texttt{dissyear} geschaffen, was +gewissermaßen den Schalter darstellt, um ein Buch auch als Dissertation oder +ein ähnliches Werk zu deklarieren. Desweiteren werden nun innerhalb von +\texttt{@BOOK} auch die Felder \texttt{school} und \texttt{type} ausgewertet, +jedoch nur, wenn \texttt{dissyear} angegeben wurde, sonst werden sowohl +\texttt{type} als auch \texttt{school} ignoriert. Ein Beispiel: +\begin{verbatim} + @BOOK{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1985, + address = {Baden-Baden}, + type = {Habil.}, + school = {Göttingen}, + dissyear = 1984 + } +\end{verbatim} +erzeugt folgendes: +\begin{bibexample} +\item \textbf{Alexy, Robert:} Theorie der Grundrechte, Baden-Baden 1985 (zugl. Habil. +Göttingen 1984) +\end{bibexample} + +Angenommen, diese Arbeit wäre nicht als Buch erschienen, wäre die folgende +Erfassung sinnvoll gewesen: +\begin{verbatim} + @JURTHESIS{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1984, + type = {Habil.}, + school = {Göttingen} + } +\end{verbatim} +und hätte folgendes erzeugt: +\begin{bibexample} + \item \textbf{Alexy, Robert:} Theorie der Grundrechte, Habil. Göttingen 1984 +\end{bibexample} +Die Voreinstellung bezüglich des Typs der Arbeit ist "`Jur. Diss."': +\begin{verbatim} + @PHDTHESIS{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1984, + school = {Göttingen} + } +\end{verbatim} +\begin{bibexample} +\item \textbf{Alexy, Robert:} Theorie der Grundrechte, Jur. Diss. Göttingen 1984 +\end{bibexample} + \DescribeMacro{\SSS} +Der Befehl \cs{SS} wird nicht mehr durch \textsf{jurabib} umdefiniert\,! +Der Befehl \cs{SSS} repräsentiert zwei Paragraphenzeichen mit verkürztem Zwischenraum. Man +vergleiche \cs{S}\cs{S}: \S\S\ und \cs{SSS}: \S\kern-.8pt\S + +\section{Diverses~\dots} +Hier nun in loser Folge einige Optionen und Befehle, die nach und nach in das +Paket eingeführt wurden. +\begin{Options} +\item[pages=format] Hiermit können Sie die mittels optionalem Argument und + \texttt{pages}-Feld angegebenen Seitenzahlen und Seitenzahlbereiche durch \textsf{jurabib} +formatieren lassen. Sie können also in der \texttt{.bib}-Datei \texttt{pages = \{22-34\}} +statt \texttt{pages = \{S.\textasciitilde22-34\}} schreiben und innerhalb des optionalen +Argumentes der \cs{cite}-Befehle z.B. |\cite[45]{<key>}|. Möchten Sie einmal etwas anderes als +Seitenzahlen angeben oder möchten Sie nach einer Seitenzahl noch etwas Text im optionalen +Argument unterbringen, benutzen Sie bitte die Befehle \cs{nopage} bzw. \cs{pageadd} (siehe +Übersicht). \textsf{jurabib} fügt nun eigenständig "`S."' ein und -- falls Sie \textsf{babel} +verwenden -- benutzt es die jeweils eingestellte Hauptsprache. \textsf{jurabib} unterscheidet +dabei auch zwischen einzelnen Seiten und Seitenzahlbereichen, nur macht sich das im Deutschen +per Voreinstellung nicht bemerkbar, da beide verantwortlichen Makros mit `S.' definiert sind. +Wenn Sie das ändern möchten, z.B.: + + \begin{verbatim} + \AddTo\bibsgerman{% + \def\jbpagename{Seite}% + \def\jbpagesname{Seiten}% + } + \end{verbatim} + +Es existieren eigene Makros für die Seitenangaben in der Bibliographie. +Die Makronamen lauten |\bibpagename| und |\bibpagesname|. Ihre Definition entspricht per Voreinstellung +der von |\jbpage[s]name|. Das heißt, wenn Sie |\jbpage[s]name| umdefinieren, wird auch automatisch +|\bibpage[s]name| angepasst, es sei denn, Sie redefinieren |\bibpage[s]name| direkt. + +Hier eine Übersicht (zur Veranschaulichung der Unterscheidung zwischen +Seitenzahlen und Seitenzahlbereichen hier mit dem englischen Pendant für +"`S."'): +\begin{center} +{\small +\begin{tabular}{@{}ll@{}} +\hline\\[-2ex] +|\cite[45]{<key>} |& \dots{}, p.~45\\ +|\cite[45--47]{<key>} |& \dots{}, pp.~45--47\\ +|\cite[45, 47 and 49]{<key>} |& \dots{}, pp.~45, 47 and 49\\ +|\cite[45f]{<key>} |& \dots{}, pp.~45f.\\ +|\cite[45ff]{<key>} |&\dots{}, pp.~45ff.\\ +|\cite[\nopage{I, III and IV}]{<key>} |& \dots{}, I, III and IV\\ +|\cite[13,\pageadd{etwas Text}]{<key>} |& \dots{}, p.~13, etwas Text\\ +| ^ Hier kein Leerzeichen!!!! |& \\ +\hline\\[-2ex] +\end{tabular}} +\end{center} + +\item[pages=test] Da per Voreinstellung Seitenzahlen, die mit dem Feld + \texttt{pages} in der \texttt{.bib}-Datei angegeben wurden, im + Zitat unterdrückt werden, kann man mit diesem Befehl erreichen, daß + überprüft wird, ob via \cs{cite}-Befehl eine Fundstelle angegeben + wurde -- wenn das nicht der Fall ist, wird die Seitenangabe aus + der \texttt{.bib}-Datei verwendet. +\item[pages=always] Hier werden die Seitenangaben aus der + \texttt{.bib}-Datei immer im Zitat ausgegeben. +\item[hypercite=false] Schaltet die automatische Konvertierung von Zitaten in Hyperlinks ab, sofern man das \textsf{hyperref}-Paket benutzt. +\end{Options} +% +\begin{description} +\item[\cs{jbedseplikecite}] Die Separation der Herausgeber im + Literaturverzeichnis entspricht der im Zitat. +\item[\cs{jbdisablecitationcrossref}] schaltet die Ausgabe von Querverweisen + innerhalb von Zitaten ab, aber nur solchen, die \emph{nicht} innerhalb einer + \texttt{@INCOLLECTION} gemacht wurden, also wo der Querverweis vielleicht + mehr die inhaltliche Verwandschaft zweier Werke kennzeichnen soll. +\item[\cs{formatpages}, \textit{ehemals} \cs{formatarticlepages}] Mit Hilfe dieses + Befehls können Sie die Ausgabe der Seitenzahlen bei Zitaten steuern. Er + ermöglicht die bei Juristen teilweise übliche Angabe von Startseiten eines in + der Datenbank angegebenen Seitenzahlbereiches. \textsf{jurabib} ist in der + Lage, diese Startseite aus dem angegebenen Seitenzahlbereich zu extrahieren. + Seit v0.51 kann dieser Befehl nun auf alle Publikationstypen angewendet werden. + Dazu kann man im zweiten Argument eine Liste derjenigen Publikationstypen + angeben, bei denen diese Startseite angegeben werden soll. + Dieser Befehl besitzt \textit{zwei\,!} optionale und drei obligatorische Argumente: + \begin{center} + \small\cs{formatpages}\oarg{after start page separator}\oarg{before start page separator}\marg{typelist}\marg{left + delim}\marg{right delim} + \end{center} + D.\,h. die Angabe |\formatpages[: ]{<typelist>}{(}{)}| formatiert Ihr Zitat |\cite[48]|\marg{key} bei diesem Eintrag in der Datenbank +\begin{verbatim} + @ARTICLE/PERIODICAL{broxja, + author = {Hans Brox}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + language = {german}, + year = 1980, + pages = {45--60}, + address = {München} + } +\end{verbatim} +folgendermaßen: +\par\medskip +\qquad Brox, JA 1980, 45: (48). +\par\medskip +Bitte beachten Sie, daß für eine Angabe einer Startseite ohne folgendes +Separationszeichen das optionale Argument mit einem Leerzeichen benutzen +müssen: |\formatpages[ ]{<typelist>}}{(}{)}|\,! +\par\medskip +\qquad Brox, JA 1980, 45 (48). +\par\medskip +Wenn Sie nur die via |\cite| angegebenen Seiten formatieren wollen, können Sie +auf die Angabe der Startseite verzichten, indem Sie die optionalen (erstes und zweites) +Argumente weglassen: +\par\medskip +|\formatpages{<typelist>}{[}{]}| +\par\medskip +\qquad Brox, JA 1980, [48]. +\par\medskip + +Sollten Sie |\formatpages| zusammen mit der Option |pages=format| verwenden, +ist es nun Voreinstellung, daß bei Angabe einer Seitenzahl im optionalen Argument diese +keine weitere Formatierung erhält. Ein Beispiel: Sie haben +|\formatpages[, ]{article}{}{}| in Ihrer Präambel und benutzen die Option |pages=format|, +dann wird mit unserem Beispiel nun folgendes erzeugt: + +\par\medskip +\qquad Brox, JA 1980 S.~45, 48. +\par\medskip + +Sollten Sie eine Formatierung der zweiten Seitenzahl wünschen, können Sie dies durch +Angabe von |\jbnoformatafterstartpagefalse| in der Präambel erreichen: + +\par\medskip +\qquad Brox, JA 1980 S.~45, S.~48. +\par\medskip + +\item[\cs{jbfirstcitepageranges}] Sollte bei einem Eintrag vom |@ARTICLE|- oder |@PERIODICAL|-Typ + mit Hilfe des |pages|-Feldes ein Seitenzahlbereich angegeben worden sein, wird dieser beim + Erstzitat (und bei expliziten Vollzitaten) ausgegeben. Dies funktioniert unabhängig von den |pages|-Optionen. + Wenn Sie eine konkrete Fundstelle über das optionale Argument des |\[foot]cite|-Befehls angegeben haben, + wird diese dem Seitenzahlbereich angefügt, getrennt durch das Wort "`hier:"': + +\par\medskip +\qquad [\dots], S.~45, hier: S.~48. +\par\medskip + +Eine Umdefinition dieses Wortes ist in gewohnter Weise möglich: + + \begin{verbatim} + \AddTo\bibsgerman{% + \def\herename{da:}% + } + \end{verbatim} + +\end{description} + +\section{Die Konfigurationsdatei \texttt{jurabib.cfg}} +Sei es, um immer wieder benötigte Umdefinitionen, die den Umfang der Präambel +zu sprengen drohen aus selbiger zu verbannen oder weil man zu faul ist, diese +immer wieder auf's neue in die Präambel des nächsten Dokumentes zu kopieren +oder aus reiner Ordnungsliebe -- wie auch immer, es bietet sich an, diese +häufig benutzten Redefinitionen in einer Datei abzulegen. Diese Datei muß +\texttt{jurabib.cfg} heißen und entweder im Arbeitsverzeichnis oder dort wo +\texttt{jurabib.sty} liegt, abgelegt werden. Ab Version 0.4p lassen sich nun +auch sämtliche Optionen via \cs{jurabibsetup} in der Konfigurationsdatei +ablegen: +\begin{verbatim} + \jurabibsetup{ + authorformat=smallcaps, + commabeforerest, + titleformat=colonsep, + bibformat=tabular + } +\end{verbatim} +\section{Optionen für Nicht-Juristen}\label{see:nichtjur} +Die nun folgenden Optionen sind nicht primär für juristische Hausarbeiten +gedacht, sondern decken Anforderungen ab, die u.\,U. von Historikern, +Germanisten, Pädagogen und vielleicht auch noch anderen benötigt werden. Sie +stellen das (vorläufige) Ergebnis von verschiedensten Anfragen an mich dar. Ich +hoffe, daß diese Optionen hilfreich sind. Verbesserungsvorschläge sind +willkommen. + +\begin{Options} + \item[ibidem=name] Hiermit werden ausführlichere Angaben beim Wiederholungszitat + gemacht als bei \texttt{ibidem/ibidem=strict}. Es wird der volle Name des + Autors ausgegeben (Es sei denn, die Option \texttt{authorformat=reducedifibidem} + ist aktiv, dann wird nur der Nachname ausgegeben). Diese Option ist für die + Verwendung mit der Option \texttt{citefull=first} konzipiert, deshalb erfolgt + auch automatisch die Aktivierung dieser Option. + + Sollte ein Autor mit mehreren Werken zitiert werden, kann es vorkommen, daß + \textsf{jurabib} automatisch auf die Option + |ibidem=name&title&auto| umschaltet, um die Eindeutigkeit der Zitate nicht zu + gefährden. Sie werden dann in der \texttt{.log}-Datei einen Hinweis dazu + finden. + +\item[\texttt{ibidem=name\&title}] Wie \texttt{ibidem=name}, nur wird hier auch noch der Titel + ausgegeben. Es wird ebenfalls die Option \texttt{citefull=first} aktiviert. +\end{Options} +Auch hierzu eine Übersicht: +\begin{center} +{\small +\begin{tabular}{@{}lr@{}p{4.55cm}r@{}p{4.55cm}@{}}\hline\\[-2ex] +{\footnotesize\cs{footcite}\texttt{..}} & & {\footnotesize\texttt{ibidem=name}} & &{\footnotesize|ibidem=name&title|}\\\hline \\[-2ex] +\texttt{..\mymarg{broxbgb}} & $^{1}$ &\textsc{Brox}, Hans: + \textit{Allgemeiner Teil des Bürgerlichen + Gesetzbuches.} 20.\,Auf"|lage, Köln, + Berlin, Bonn, München 1996. + & $^{1}$ &\textsc{Brox}, Hans: + \textit{Allgemeiner Teil des Bürgerlichen + Gesetzbuches.} 20.\,Auf"|lage, Köln, + Berlin, Bonn, München 1996. \\[.3ex] +\texttt{..\mymarg{broxbgb}} & $^{2}$ &\textsc{Brox}, Hans, a.\,a.\,O\kern-1.2pt. & $^{2}$&\textsc{Brox}, Hans: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.3ex] +\texttt{..\mymarg{broxbgb}} & $^{3}$ &\textsc{Brox}, Hans, a.\,a.\,O\kern-1.2pt. & $^{3}$&\textsc{Brox}, Hans: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.3ex] +\texttt{..\mymarg{oellers}} & $^{4}$ &\textsc{Oellers}, Bernd: + \textit{Doppelwirkung im Recht\,?} AcP 169 [1969]. + & $^{4}$ &\textsc{Oellers}, Bernd: + \textit{Doppelwirkung im Recht\,?} AcP 169 [1969]. \\[.5ex] +\texttt{..\mymarg{broxbgb}} & $^{5}$ &\textsc{Brox}, Hans, a.\,a.\,O\kern-1.2pt. & $^{5}$&\textsc{Brox}, Hans: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.3ex] +\texttt{..\mymarg{broxbgb}} & $^{6}$ &\textsc{Brox}, Hans, a.\,a.\,O\kern-1.2pt. & $^{6}$&\textsc{Brox}, Hans: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\multicolumn{5}{@{}c@{}}{\emph{Seitenumbruch}}\\[1.6ex] +\texttt{..\mymarg{broxbgb}} & $^{7}$ &\textsc{Brox}, Hans, a.\,a.\,O\kern-1.2pt. & $^{7}$&\textsc{Brox}, Hans: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.3ex] +\texttt{..\mymarg{broxbgb}} & $^{8}$ &\textsc{Brox}, Hans, a.\,a.\,O\kern-1.2pt. & $^{8}$&\textsc{Brox}, Hans: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\multicolumn{5}{@{}l@{}}{\emph{und jetzt mit \texttt{authorformat=citationreversed}:}}\\[.8ex] +\texttt{..\mymarg{broxbgb}} & $^{9}$ & Hans \textsc{Brox}, a.\,a.\,O\kern-1.2pt. & $^{9}$&Hans \textsc{Brox}: BGB AT, a.\,a.\,O\kern-1.2pt. \\[.8ex] +\multicolumn{5}{@{}l@{}}{\emph{oder mit \texttt{authorformat=reducedifibidem}:}}\\[.8ex] +\texttt{..\mymarg{broxbgb}} & $^{10}$ &\textsc{Brox}, a.\,a.\,O\kern-1.2pt. & $^{10}$&\textsc{Brox}: BGB AT, a.\,a.\,O\kern-1.2pt. \\[.3ex] +\hline +\end{tabular}} +\end{center} +\begin{Options} +\item[\texttt{ibidem=name\&title\&auto}] + Diese Option ist bei häufigen Wiederholungszitaten mehrerer Werke + eines Autors von Nutzen. Beim ersten Zitat eines Werks wird die volle + Information ausgegeben (Option |citefull=first| ist automatisch aktiviert). + Solange wiederholt aus demselben Werk des Autors zitiert wird, wird im + folgenden nur der Name des Autors verwendet (entsprechend der Option + |ibidem=name|). Wird das Werk in einer späteren Fußnote nochmals zitiert, + werden einmalig Name und Titel ausgegeben (entsprechend der Option + |ibidem=name&title|). Dadurch wird die Eindeutigkeit der Zitate gewährleistet, + auch wenn ein Autor mit mehreren Werken vertreten ist. Für unmittelbar + folgende Zitate aus dem gleichen Werk wird dann wieder nur der Name + des Autors angegeben. + + Bei Verwendung der Option |ibidem=name| prüft \textsf{jurabib}, ob durch das + Auftreten von Wiederholungszitaten verschiedener Werke eines Autors + Mehrdeutigkeiten entstehen und schaltet in diesem Fall automatisch + auf die Option |ibidem=name&title&auto| um. Ein entsprechender Hinweis + wird in der |.log|-Datei abgelegt. +\end{Options} +Dies läßt sich wohl am besten an einer Übersicht erklären: +\begin{center} +{\small +\begin{tabular}{@{}lr@{}p{9.5cm}@{}}\hline\\[-2ex] +{\footnotesize\cs{footcite}\texttt{..}} & & {\footnotesize|ibidem=name&title&auto|}\\\hline\\[-2ex] +\texttt{..\mymarg{broxbgb}} & $^{1}$&\textsc{Brox}: \textit{Allgemeiner Teil des Bürgerlichen Gesetzbuches.} 20.\,Auf"|lage, Köln, Berlin, Bonn, München 1996.\\[.3ex] +\texttt{..\mymarg{broxschr}} & $^{2}$&\textsc{Brox}: \textit{Besonderes Schuldrecht.} 20.\,Auf"|lage, München 1995.\\[.3ex] +\texttt{..\mymarg{broxbgb}} & $^{5}$&\textsc{Brox}, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\multicolumn{3}{@{}l@{}}{\hfill\emph{jetzt Wechsel des Werkes\,!}}\\[.8ex] +\texttt{..\mymarg{broxschr}} & $^{6}$&\textsc{Brox}: SchR~BT, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\texttt{..\mymarg{broxschr}} & $^{7}$&\textsc{Brox}, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\multicolumn{3}{@{}l@{}}{\hfill\emph{und noch ein Wechsel des Werkes\,!}}\\[.8ex] +\texttt{..\mymarg{broxbgb}} & $^{8}$&\textsc{Brox}: BGB AT, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\texttt{..\mymarg{broxbgb}} & $^{8}$&\textsc{Brox}, a.\,a.\,O\kern-1.2pt.\\[.8ex] +\hline +\end{tabular}} +\end{center} + +\bigskip + +\noindent Eine Änderung der Sequenz "`a.\,a.\,O."' ist über die Befehle +\cs{ibidemname} und \cs{ibidemmidname} möglich: + + \begin{verbatim} + \AddTo\bibsgerman{% + \renewcommand*{\ibidemname}{Ebd.} + \renewcommand*{\ibidemmidname}{ebd.} + } + \end{verbatim} + +\cs{ibidemname} wird bei den Optionen \texttt{ibidem=strict}, +\texttt{ibidem=strictdoublepage} und \texttt{ibidem=nostrict} verwendet und +erscheint am Anfang des -- letztlich unterdrückten -- Zitates (es könnte hier +also groß geschrieben werden). \cs{jibidemmidname} dagegen erscheint bei den +Optionen \texttt{ibidem=name} und \texttt{ibidem=name\&title} und könnte klein +geschrieben werden -- das ist letztlich jedoch Geschmackssache. + +Es ist nun möglich, zwischen zwei Situationen zu unterscheiden: dem +Folgezitat mit derselben Seitenzahl und dem Folgezitat mit einer anderen +Seitenzahl. Sollte also das unmittelbar folgende Zitat dieselbe Seitenangabe +enthalten wie das vorhergehende, wird intern das Makro |\samepageibidemname| +bzw. |\samepageibidemmidname| benutzt. Dessen Bedeutung ist per Voreinstellung +identisch mit der Definition von |\ibidemname| bzw. |\ibidemmidname|. Wenn +dagegen die Seitenzahlen im optionalen Argument abweichen sollten, werden die +Makros |\diffpageibidemname| bzw. |\diffpageibidemmidname| benutzt. Möchte man +also zum Beispiel, daß bei identischen Seitenzahlen "`Ebd."' erscheint, bei +verschiedenen dagegen "`a.a.O."', wäre folgendes zu tun: + \begin{verbatim} + \renewcommand*{\samepageibidemname}{Ebd.} + \end{verbatim} +Die folgende Übersicht mag das veranschaulichen: +\begin{center} +{\small +\begin{tabular}{@{}lcl@{}} +\hline\\[-2ex] +|\footcite[45]{broxbgb}| & $\longrightarrow$ &\textsuperscript{1}Brox, 45.\\ +|\footcite[45--47]{broxbgb}| & $\longrightarrow$ &\textsuperscript{2}A.a.O., 45--47.\\ +|\footcite[45--47]{broxbgb}| & $\longrightarrow$ &\textsuperscript{3}Ebd.\\ +|\footcite[45f]{broxbgb}| & $\longrightarrow$ &\textsuperscript{4}A.a.O., 45\,f.\\ +\hline\\[-2ex] +\end{tabular}} +\end{center} + +\begin{Options} + +\item[citefull=first] Mit Hilfe dieser Option ist es möglich, das erste Zitat eines Werkes +analog zum Eintrag im Literaturverzeichnis (Vollzitat) erscheinen zu lassen. +Für alle weiteren Zitate werden die angegeben bzw. generierten Kurzformen +verwendet. Eine erneute Verwendung des Vollzitats ist über die Befehle +\cs{fullcite} und \cs{footfullcite} möglich. Bearbeiter werden bei dieser Form +\emph{vor den Autor} gesetzt, getrennt durch ein "`in"'. Um ein einheitliches +Erscheinungsbild zu erreichen und den Leser nicht zu verwirren, schaltet diese +Option bezüglich Separation des Bearbeiters global -- d.\,h. für alle anderen +Zitate gültig -- automatisch auf die Option \texttt{annotatorfirstsep=in} um und +überschreibt so andere Optionen, die die Separation steuern, wie z.\,B. +\texttt{annotatorlastsep=divis} oder \texttt{annotatorfirstsep=comma}. Außerdem werden die +\texttt{howcited}-Optionen deaktiviert. + +\item[citefull=chapter] Schaltet automatisch auf \texttt{citefull=first} und + setzt es bei Beginn eines neuen Kapitels zurück. + +\item[citefull=section] Schaltet automatisch auf \texttt{citefull=first} und + setzt es bei Beginn eines neuen Abschnittes zurück. + +\item[citefull=all] Diese Option läßt alle Zitate als Vollzitat erscheinen. +Auch sie schaltet bezüglich Separation des Bearbeiters automatisch auf die +Option \texttt{annotatorfirstsep=in} um. Auch hier werden die Optionen +\texttt{howcited}-Optionen deaktiviert. Eine Kombination mit der Option +\texttt{ibidem} ist hingegen möglich. + +\item[see] Da man als Nicht-Jurist das zweite optionale Argument der \cs{cite*}-Befehle +nicht für die Angabe von Bearbeitern benötigt, lassen sich hiermit Sequenzen +wie etwa "`Vgl."' oder "`Siehe"' vor das Zitat setzen. Diese Option wirkt +global. + +\item[natoptargorder] Hiermit wird die Reihenfolge der optionalen Parameter + umgekehrt, z.\,B. um das Dokument kompatibel zu \texttt{natbib.sty} zu machen. + +\item[crossref=dynamic] Die anderen \texttt{crossref}-Optionen können mit dieser + Option kombiniert werden, um ein verschieden ausführliches Erscheinungsbild + der Querverweise zu erreichen, je nachdem, ob das Werk, in dem der Querverweis + vorkommt, das erste Mal oder ein weiteres Mal zitiert wird -- vergleichen Sie + die alleinige Anwendung von \texttt{crossref=dynamic} (zur Veranschaulichung + finden Sie die Querverweise jeweils in eckigen Klammern): +\begin{quote} +\small $^1$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll/Lawrie/Sameh: + High Speed Computer and Algorithm Organization].\\ + $^2$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll/Lawrie/Sameh]. +\end{quote} +mit der Kombination von \texttt{crossref=dynamic} und \texttt{crossref=long}: +\begin{quote} +\small $^1$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll, +David~J./Lawrie, + D.~H./Sameh, A.~H. (Hrsg.): + High Speed Computer and Algorithm Organization. + 3.~Auf\/lage, New York: Academic Press, September 1977 (Fast Computers 23)].\\ + $^2$\,Lincoll, Daniel D.: Semigroups of Recurrences. In [Lipcoll/Lawrie/Sameh: + High Speed Computer and Algorithm Organization]. +\end{quote} +\item[crossref=normal] (Default) Hiermit werden (im Literaturverzeichnis) die + Querverweise, die mit Hilfe des \texttt{crossref}-Feldes angegeben werden, mit Autor + (\texttt{shortauthor} hat Priorität vor \texttt{author}) und Titel (\texttt{shorttitle}, + wenn vorhanden, sonst Ersetzung mit \texttt{title}) angegeben. +\item[crossref=short] Hier wird auf die Angabe des Titels verzichtet, es sei denn, die + Eindeutigkeit des Zitates ist gefährdet, in diesem Fall wird \texttt{shorttitle} + durch \texttt{title} ersetzt. +\item[crossref=long] Mit dieser Option wird im Querverweis das Vollzitat ausgegeben. +\item[human] Allgemeine Option für die Geisteswissenschaften. Schaltet unter anderem + auf |authorformat=and|. +\item[oxford] Schaltet auf eine Formatierung der Zitate und des Literaturverzeichnisses + im Oxford-Stil um (nicht im wörtlichen Sinn!). +\item[chicago] Schaltet auf eine Formatierung der Zitate und des Literaturverzeichnisses + im chicago-Stil um (nicht im wörtlichen Sinn!). Sowohl die |oxford|- und + |chicago|-Option gehen auf Vorschläge von \textsc{Maarten Wisse} zurück. +\item[lookat] Hiermit werden -- \emph{ausschließlich bei Verwendung der + \cs{footcite}-Befehle bzw. in Fußnoten eingefaßten \cs{cite}-Befehlen in + Verbindung mit der Option \texttt{citefull=first}} -- Querverweise + auf die Fußnoten möglich, die das Vollzitat enthalten, z.\,B. wenn für + einen Artikel keine Bibliographie ausgegeben werden soll. Hierfür gibt + es den Befehl +\par\medskip +\qquad \cs{nobibliography}\marg{bibfile}\DescribeMacro{\nobibliography} +\par\medskip der die Ausgabe des Literaturverzeichnisses unterdrücken +kann.\footnote{Dieser Befehl ist zwar primär für die Verwendung mit der Option +\texttt{lookat} vorgesehen, er erfordert diese Option jedoch \emph{nicht}. Es +muß lediglich eine der \texttt{citefull}-Optionen aktiv sein. Dank an +\textsc{Stefan Ulrich}.} In einem späteren Zitat werden dann die Kurzformen +verwendet, verbunden mit einem Hinweis, in welcher Fußnote das Vollzitat zu + finden ist.\footnote{Beispiel: \textsc{Brox}: BGB AT (wie Anm. \meta{Nr.}), Rn.~168.} + +Beachten Sie bitte, daß zur korrekten Auflösung der Verweise, die +\texttt{lookat} produziert, (nach der Bearbeitung mit \BibTeX) \emph{drei} +\LaTeX-Läufe nötig sind\,! + +Sollten Sie das Paket \textsf{varioref} oder \textsf{fancyref} verwenden, so +wird intern statt \cs{ref} der Befehl \cs{vref} benutzt, was zu angepaßten +Verweisen führt, insbesondere, wenn das Folgezitat ein bis zwei Seiten entfernt +ist. Wollen Sie das Paket \textsf{varioref} oder \textsf{fancyref} in Ihrem +Dokument benutzen, ohne daß dies Auswirkungen auf +\DescribeMacro{\jbignorevarioref} Ihre Zitate hat, können Sie den Befehl +\cs{jbignorevarioref} in die Präambel Ihres Dokumentes setzen.\par Sie müssen +es zudem nicht bei der voreingestellten Form (wie Anm. \meta{Nr.}) belassen, +sondern können diese Ihren Vorstellungen entsprechend anpassen: +\begin{verbatim} + \renewcommand*{\lookatprefix}{\space(siehe Fußnote~} + \renewcommand*{\lookatsuffix}{)} +\end{verbatim} + +\DescribeMacro{\lookatfortype} Mit |\lookatfortype| können \NEW{0.6} Sie eine kommaseparierte Liste der Publikationstypen angeben, für welche die |lookat|-Option ausschließlich wirksam werden soll. Die |lookat|-Option muß natürlich aktiviert sein\,! +\begin{verbatim} + \lookatfortype{booklet} +\end{verbatim} +wendet die Option |lookat| nür auf Werke des Typs |@booklet| an. + +\texttt{lookat} \emph{kann} zusammen mit den \texttt{ibidem}-Optionen verwendet +werden, nur möchte ich das nicht empfehlen. + + Bei Verwendung von \cs{cite}-Befehlen im Fließtext (außerhalb einer + Fußnote\,!) \emph{und} \cs{footcite}-Befehlen \mymarginpar{\hfill\textsf{\large CAVE\,!}} + (oder \cs{cite}-Befehlen innerhalb einer Fußnote) + kann es zu Fehlermeldungen entweder von \textsf{alphanum} + oder -- sofern verwendet -- von \textsf{varioref} kommen. + \textsf{alphanum} beklagt sich dann möglicherweise: +\begin{verbatim} + ! Package alphanum Error: Self-reference detected!. + [...] + ? +\end{verbatim} +Dann haben Sie mit einem \cs{cite}-Befehl im Fließtext ein Werk zum ersten Mal +zitiert, worauf Sie noch innerhalb des aktuellen Abschnittes mit einem +\cs{footcite}-Befehl Bezug nehmen. Da sich das erste Zitat nicht in einer +Fußnote befindet, wird die aktuelle Abschnittsnumerierung als Referenz +verwendet. Da Sie sich nun mit der Option \texttt{lookat} im Folgezitat auf das +Erstzitat beziehen, wird als Referenz die Abschnittsnummer angegeben und da Sie +sich im selben Abschnitt befinden, beschwert sich \textsf{alphanum} in oben +gezeigter Form. \par Eine andere Fehlermeldung zum gleichen Problem könnte auch +so aussehen: +\begin{verbatim} + ! Extra }, or forgotten \endgroup. + \J@refP ...nta #1\,\J@INumberRoot {#1}{#2} + [...] + ? +\end{verbatim} +Zur Lösung empfiehlt es sich, zumindest das Erstzitat in eine Fußnote zu +verfrachten (ob \cs{footcite} oder \cs{cite} innerhalb von \cs{footnote} ist +dabei unerheblich). + +\emph{Die Option \texttt{lookat} kann nicht ohne weiteres innerhalb von +\texttt{book}- oder \texttt{report}-Klassen oder deren Abkömmlingen verwendet +werden.} Ebensowenig läßt sich die Option sinnvoll verwenden, wenn +\textsf{footnpag.sty} benutzt wird. + +Eine Benutzung von \texttt{lookat} innerhalb der \texttt{book}- oder +\texttt{report}-Klassen wird bei Verwendung des \textsf{remreset}-Paketes +möglich. Dies kann die Rücksetzung des Fußnotenzählers zu Beginn eines neuen +Kapitels rückgängig machen und so eindeutige Verweise ermöglichen. Fügen Sie +dazu (mindestens) folgendes in Ihre Präambel ein: +\begin{verbatim} + \usepackage{remreset} + \makeatletter + \@removefromreset{footnote}{chapter} + \makeatother +\end{verbatim} +Um eine gewisse Konsistenz zu errreichen, sollten Sie die Zähler der +Abbildungen und Tafeln nicht außer acht lassen: +\begin{verbatim} + \usepackage{remreset} + \makeatletter + \@removefromreset{footnote}{chapter} + \@removefromreset{figure}{chapter} + \renewcommand*{\thefigure}{\@arabic\c@figure} + \@removefromreset{table}{chapter} + \renewcommand*{\thetable}{\@arabic\c@table} + \makeatother +\end{verbatim} +\end{Options} + + \begin{Options} + \item[\texttt{idem}] + Diese neue Option ist der |ibidem|-Option sehr ähnlich, nur ersetzt sie nicht + das gesamte Zitat durch ein Kürzel, sondern nur den Namen des Autors/der + Autoren mit "`Idem"' bzw. "`idem"'. Sie ist mit der |ibidem|-Option + kombinierbar. Folgende Werte sind möglich: |idem| (gleichbedeutend mit + |idem=strict|), |idem=strictdoublepage| und |idem=nostrict|. Das jeweilige + Verhalten bei Seitenumbrüchen ist analog zu den |ibidem|-Optionen, weshalb ich + auf eine separate Übersicht verzichte. + + Umdefinitionen sind wie gehabt möglich über: + \begin{verbatim} + \AddTo\bibsgerman{% + \renewcommand*{\idemname}{Ders.} + \renewcommand*{\idemmidname}{ders.} + } + \end{verbatim} +\end{Options}% + +\DescribeMacro{\noidem} |\noidem| funktioniert analog zu |\noibidem| und setzt +den |idem|-Mechanismus für das folgende Zitat außer Kraft. + + \begin{Options} + \item[\texttt{opcit}] + Diese Option plaziert das Kürzel "`\textit{op.\,cit.}"' (opere citato: bereits zitiert) im Zitat. + Ein Beispiel:\\[1.5ex] + {\footnotesize\textsuperscript{1}\,Aamport, \textit{Gnats and Gnus} (1986), S.\,25.}\\ + {\footnotesize [\ldots]}\\ + {\footnotesize\textsuperscript{5}\,Aamport, \textit{op.\,cit.}, S.\,37.} + + Anpassungen sind möglich über: + + \begin{verbatim} + \renewcommand*{\opcit}{\textit{op.\,cit.}} + \end{verbatim} + + \DescribeMacro{opcit=chapter} + \DescribeMacro{opcit=section} + Die Option |opcit| kann mit Hilfe der Werte |chapter| bzw. |section| zu Beginn + eines neuen Kapitels bzw. Abschnittes zurückgesetzt werden, d.\,h. es + erscheint bei erneuter Zitierung eines Werkes nach Kapitelbeginn wieder die + Form, die durch alle anderen Optionen festgelegt wurde. Dies ist vollkommen + analog zu |citefull=chapter| bzw. |citefull=section|. +\end{Options} + +\section{Sprachanpassungen} + +Der zunehmenden Verbreitung von \textsf{jurabib} unter Nicht-Juristen +\texttt{;-)} Rechnung tragend, habe ich u.\,a. den \BibTeX-Stil erheblich +überarbeitet, so daß nun \LaTeX-seitig eine Umschaltung der sprachspezifischen +Ausdrücke erfolgen kann, etwa, wenn das gesamte Dokument in englischer Sprache +verfaßt werden soll. Dies betrifft vor allem Umschaltungen wie etwa von +"`a.\,a.\,O\kern-1.2pt."' auf "`Ibid."'. + +\DescribeMacro{language =} Ebenso ist es möglich, innerhalb der +\texttt{.bib}-Datei mit Hilfe des \texttt{language}-Feldes die für den +jeweiligen Eintrag zutreffende Sprache auszuwählen.\footnote{Dieses Feature hat +wesentlich vom \texttt{bibgerm}-Paket profitiert.} Zur Zeit sind Englisch, +Französisch, Holländisch, Spanisch, Italienisch und Deutsch implementiert: + +\begin{verbatim} + @INCOLLECTION{incollection-crossref, + author = {Daniel D. Lincoll}, + title = {Semigroups of Recurrences}, + pages = {179--183}, + language = {english} + } +\end{verbatim} + +Ab Version 0.5e erfolgt keine Modifizierung der \texttt{title}-Felder +bezüglich Groß- und Kleinschreibung mehr. + +Im Gegensatz zum \textsf{bibgerm}-Paket brauchen Sie für ein deutschsprachiges +Dokument nur bei den \emph{relevanten} Einträgen \texttt{language = +\marg{andere Sprache}} anzugeben. Dies gilt ebenso bei der Verwendung von +\textsf{babel}, \textsf{jurabib} wird automatisch die über die +\textsf{babel}-eigenen Mechanismen gewählte Hauptsprache als Voreinstellung +verwenden~-- sofern diese innerhalb von \textsf{jurabib} definiert ist. +Ein weiterer Unterschied zum \textsf{bibgerm}-Paket besteht darin, daß die +sprachspezifischen Einstellungen von der via \textsf{babel} angegebenen +Hauptsprache abhängen. Jedoch werden die \emph{Trennmuster} für jeden Eintrag +im Literaturverzeichnis und jedes Zitat individuell in Abhängigkeit von der +angebenen Sprache des Eintrages gewählt. + +Eine Anpassung der sprachspezifischen Ausdrücke an eigene Vorstellungen ist +möglich: +\begin{verbatim} + \AddTo\bibsgerman{\def\editorname{Herausgeber}} +\end{verbatim} +Für das Englische lautet das Makro \cs{bibsenglish}. + +Sollte ich bei der Einarbeitung der englischen Begriffe noch etwas übersehen +oder eine unglückliche Formulierung gewählt haben, bitte ich um Nachricht. +Ebenso, wenn andere Sprachen unterstützt werden sollen. + +\section{Über den Tellerrand} + +\subsection{\textsf{jura.cls}} + +Wie schon erwähnt, ist eine Benutzung mit \textsf{\mbox{jura.cls}} möglich. + +\subsection{\textsf{bibtopic.sty}} + +\textsf{jurabib.sty} ist bislang unter einer Bedingung kompatibel zu +\textsf{bibtopic.sty}: Es müssen alle Kurztitel angegeben werden, da es sonst +zu zweideutigen Zitaten kommen kann. Es ist derzeit nicht möglich, das Feature +des automatischen Setzens des Kurztitels zu verwenden, wenn geteilte +Literaturdatenbanken verwendet werden. Deshalb erfolgt eine Aktivierung der +Option \texttt{titleformat=all} automatisch, wenn \textsf{bibtopic.sty} geladen +ist. Anmerkung: Sie sollten mindestens Version \texttt{1.0j} benutzen. + +\subsection{\textsf{hyperref.sty}} + +Ab Version 0.4b ist \textsf{jurabib} kompatibel mit +\textsf{hyperref}.\footnote{Auch hier war erneut \textsc{Stefan Ulrich} +entscheidend beteiligt.} Es existiert jedoch (noch) eine Inkompatibilität mit +\textsf{alphanum}, die bewirkt, daß der \cs{ref}-Mechanismus von +\textsf{alphanum} nur eingeschränkt funktioniert. Das bedeutet im einzelnen, +daß der Befehl \cs{ref*} nur relative Verweise liefert. Wenn Sie +\textsf{alphanum} und \textsf{hyperref} ohne \textsf{jurabib} benutzen wollen, +sollten sie folgendes in Ihre Präambel schreiben: + \begin{verbatim} + \makeatletter + \let\J@SetCurrent\relax + \def\toclevel@lvla{0}\def\toclevel@lvlb{1} + \def\toclevel@lvlc{2}\def\toclevel@lvld{3} + \def\toclevel@lvle{4}\def\toclevel@lvlf{5} + \def\toclevel@lvlg{6}\def\toclevel@lvlh{7} + \def\toclevel@lvli{8}\def\toclevel@lvlj{9} + \def\toclevel@lvlj{10}\def\toclevel@lvll{11} + \newcommand*{\theHlvla}{\J@Number}\newcommand*{\theHlvlb}{\J@Number} + \newcommand*{\theHlvlc}{\J@Number}\newcommand*{\theHlvld}{\J@Number} + \newcommand*{\theHlvle}{\J@Number}\newcommand*{\theHlvlf}{\J@Number} + \newcommand*{\theHlvlg}{\J@Number}\newcommand*{\theHlvlh}{\J@Number} + \newcommand*{\theHlvli}{\J@Number}\newcommand*{\theHlvlj}{\J@Number} + \newcommand*{\theHlvlk}{\J@Number}\newcommand*{\theHlvll}{\J@Number} + \renewcommand*{\J@LongToc}[2][]{ + \@startsection{lvl\alph{tiefe}}{\number\value{tiefe}}{0pt} + {\ifnum\value{tiefe}=1 -4ex plus-1,5ex minus-0,ex\else + -2,7ex plus-0,8ex minus-0,2ex\fi}{\ifnum\value{tiefe}>7 + -1em plus-0,5em\relax\else 0,6ex plus0,3ex minus0,1ex\fi} + {\sectfont\csname lvl\alph{tiefe}style\endcsname}[#1]{#2} + } + \makeatother + \end{verbatim} + +Seit Version 0.51 hat \textsf{jurabib} eine neue interne +URL-Schnittstelle. Mit dieser gibt es kein (bis jetzt bekanntes) Problem bei +der Verwendung mit \textsf{hyperref}. Es wird nun eine separate Datei +\meta{Dokument}|.url| generiert, welche die URL enthält. Bitte stellen sie +sicher, daß Sie keine so benannte Datei für andere Zwecke benutzen. Sollte +\textsf{jurabib} eine solche Datei vorfinden, die nicht von \textsf{jurabib} +selbst generiert wurde, erhalten Sie eine Fehlermeldung. Das Verdienst an der +Lösung dieses Problems hat einzig \textsc{Stefan Ulrich}. + +\subsection{\textsf{babel.sty}} + +\textsf{jurabib} ist nun ohne weitere Manipulation mit \textsf{babel} +kompatibel und detektiert selbständig + die Hauptsprache. Dabei ist es egal, wie Sie die Sprache(n) angegeben haben + -- ob als globale Option: +\begin{verbatim} + \documentclass[english,german]{article} + % ^^^^^^ die zuletzt angegebene Sprache + % ist die Hauptsprache !! + \usepackage{babel} +\end{verbatim} +oder als \textsf{babel}-Paketoption: +\begin{verbatim} + \usepackage[english,german]{babel} . +\end{verbatim} +{\Large Sie müssen \textsf{babel} vor \textsf{jurabib} laden\,!} + +\subsection{\textsf{chapterbib.sty}} +\textsf{jurabib} ist kompatibel zu \textsf{chapterbib}. Siehe dazu +Beispieldokument |jbtestcb.tex|. + +\subsection{\textsf{bibunits.sty}} +\textsf{jurabib} ist kompatibel zu \textsf{bibunits} (bitte +benutzen Sie mindestens Version |2.1n|). Siehe dazu Beispieldokument |jbtestbu.tex|. + +\subsection{\textsf{multibib.sty}} +\textsf{jurabib} ist kompatibel zu \textsf{multibib} (bitte +benutzen Sie Versionen $>$~|1.2|). Siehe dazu Beispieldokument |jbtestmb.tex|. + + +\subsection{\textsf{index.sty}} +Wenn Sie das \textsf{french}-, \textsf{pmfrench}- oder das +\textsf{frenchle}-Paket verwenden, können Sie dieses Feature momentan nicht +verwenden. + +Mit Hilfe der Option \texttt{authorformat=indexed} können Sie alle zitierten +Autoren in den Index aufnehmen. Möchten Sie einen separaten Autoren-Index +erstellen, können Sie das \textsf{index}-Paket von \textsc{David M. Jones} +verwenden, das Bestandteil des \textsf{camel}-Bündels ist. Um mit +\textsf{index.sty} einen zusätzlichen Index zu deklarieren, tun sie folgendes: +\begin{verbatim} + [...] + \usepackage[authorformat=indexed]{jurabib}% + [...] + \usepackage{index} + \newindex{default}{idx}{ind}{Index} % für den normalen Index + \newindex{aut}{adx}{and}{Autorenindex} % für den neuen Index + \renewcommand*{\jbindextype}{aut} % + [...] + \begin{document} + [...] + \printindex % für den normalen Index + \printindex[aut] % für den neuen Index + \end{document} +\end{verbatim} +Beachten Sie, daß \cs{jbindextype} dem Wert des ersten Argumentes von +\cs{newindex} entsprechen muß. + +Um den Index dann via MakeIndex zu generieren, rufen Sie für obiges Beispiel +\begin{verbatim} + makeindex -g -s german.ist -o datei.and datei.adx +\end{verbatim} +auf. Anschließend muß das Dokument noch einmal mit \LaTeX{} bearbeitet werden. +Alles weitere entnehmen Sie bitte der Dokumentation des \textsf{index}-Paketes. + +\subsection{\textsf{endnotes.sty}} +\textsf{jurabib} ist kompatibel mit \textsf{endnotes}. Durch einfaches Hinzufügen von |\usepackage{endnotes}| zur +Präambel Ihres Dokumentes werden Ihre |\foot[full]cite|-Zitate zu Endnoten +"`konvertiert"', die dort erscheinen, wo Sie den Befehl |\theendnotes| plaziert +haben. "`Normale"' Zitate oder solche, die in |\footnote|-Befehle gefaßt sind, +werden per Voreinstellung nicht konvertiert\,! Sollten Sie das wünschen, benutzen +Sie die Option `|citetoend=true|' oder ziehen Sie bitte die +\textsf{endnotes}-Dokumentation zu Rate. + +Endnoten besitzen per Voreinstellung keinen abschließenden Punkt. Sollten Sie +trotzdem einen Punkt benötigen, benutzen sie bitte die Option |dotafter=endnote|. + +\section{Mitstreiter} +Dieses Paket wäre ohne die tatkräftige Hilfe von \textsc{Stefan Ulrich}, +\textsc{Andreas Stefanski} und \textsc{Oren Patashnik} nie entstanden. +Besonders \textsc{Stefan Ulrich} ist es zu verdanken, daß dieses Paket in +dieser Form zustandekommen konnte und nicht schon in der Anfangsphase +steckenblieb. Ihm gilt mein besonderer Dank. \textsc{Heiko Oberdiek} lieferte +ebenso wertvolle Hinweise. \textsc{Andreas Stefanski} stand mir als +unermüdlicher Tester und Berater in Sachen juristischer Formalien zur Seite. +Nicht zu vergessen hat \textsc{Oren Patashnik} entscheidende Code-Teile des +\BibTeX-Stils geliefert, die ein dynamisches Setzen des juristischen Kurztitels +überhaupt erst ermöglicht haben. \textsc{Bernard Gaulle} hat viel für die +Kompatibilität mit den french Paketen getan und gab viele wertvolle Hinweise, +speziell zur Sprachunterstützung. Ich möchte \textsc{Maarten Wisse} für die +Übersetzung der Dokumentation danken, ebenso für seine Geduld und seine vielen +Hinweise während der Implementation der grundlegenden Optionen für die +Geisteswissenschaften. + \textsc{Peter Flynn} und \textsc{P\'{a}draig de~Br\'{u}n} haben ebenso neue + Optionen für Nicht-Juristen vorgeschlagen. Und dann sind da noch viele Leute, + die als Beta-Tester oder als fleißiger Bug-Reporter meinen Dank verdienen (die + Reihenfolge ist keine Wertung\,!): \textsc{Alexander Wisspeintner}, + \textsc{Andreas K.~Foerster}, \textsc{Arne Engels}, \textsc{Axel Sodtalbers}, + \textsc{Bastian Kruse}, \textsc{Christian Folini}, \textsc{Christian Meyn}, + \textsc{David Feest}, \textsc{Daniel M.~Grisworld}, \textsc{H\'{e}l\`{e}ne + Fernandez}, \textsc{Henning Eiden}, \textsc{Holger Pollmann}, \textsc{Hubert + Selhofer}, \textsc{Ivan Blatter}, \textsc{Jean-Pierre Drucbert}, + \textsc{Joachim Trinkwitz}, \textsc{Max Dornseif}, \textsc{Moritz + Moeller-Herrmann}, \textsc{Nikolai Warneke}, \textsc{Olaf Meltzer}, + \textsc{Oliver Schilling}, \textsc{Peter Wuesten}, \textsc{Ralph Sinkus}, + \textsc{Rebekka Rieger}, \textsc{Robert Goulding}, \textsc{Thorsten Manegold} + und \textsc{Tilman Finke}. + +\section[Rückkopplung erwünscht]{Rückkopplung erwünscht \dots} + +Fragen, Vorschläge, Kritik oder sonstige Anregungen können gerichtet werden an: +\texttt{jb <at> jurabib <dot> org} + +\newpage + +\bibliographystyle{jurabib} +\end{document} diff --git a/macros/latex/contrib/jurabib/jurabib.dtx b/macros/latex/contrib/jurabib/jurabib.dtx new file mode 100644 index 0000000000..1996af79f4 --- /dev/null +++ b/macros/latex/contrib/jurabib/jurabib.dtx @@ -0,0 +1,14030 @@ +% \iffalse +% jurabib.dtx +% +% Docstrip archive, run jurabib.ins through LaTeX. +% +% Run jbgerdoc.tex through LaTeX for German documentation. +% +% Run jbendoc.tex through LaTeX for English documentation. +% +% Copyright (C) 1999-2004 Jens Berger +% This program is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License +% as published by the Free Software Foundation; either version 2 +% of the License, or (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +% +%<*driver> +\documentclass{ltxdoc} +\begin{document}\DocInput{jurabib.dtx}\end{document} +%</driver> +% \fi +% \ClassError{jurabib}{The German jurabib documentation will no longer be\MessageBreak +% produced by LaTeX'ing the file jurabib.dtx!\MessageBreak +% Please use `latex jbgerdoc.tex' instead. You will\MessageBreak +% find this file on CTAN and on www.jurabib.org}% +% \endinput +%<*package> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{jurabib}[2004/01/25 v0.6 Extended citations] +\RequirePackage{ifthen} +\RequirePackage{calc} +\RequirePackage{keyval} +\RequirePackage{url} +\RequirePackage{array} +\newcommand*{\jb@pkg@name}{jurabib} +\newif\ifjb@abbrv +\newif\ifjbidemabbrvwithperiod +\newif\ifjb@all@titles +\newif\ifjb@all@full +\newif\ifjb@allow@adding@of@pagerange +\newif\ifjb@allow@adding@of@pagerange@for@first@cite +\newif\ifjb@allow@dot@for@lookat +\newif\ifjb@allow@lookat@for@fullcite +\newif\ifjb@allow@howcited@art@period +\newif\ifjb@allow@hyper@cite@nobib +\newif\ifjb@allow@hyper@cite +\newif\ifjb@allow@nobib +\newif\ifjb@alphanum +\newif\ifjb@always@pageranges +\newif\ifjbaltformat +\newif\ifjb@author@year +\newif\ifjb@babel +\newif\ifjb@backref +\newif\ifjb@before@title@separator +\newif\ifjb@bib@hang +\newif\ifjb@bibetal\jb@bibetaltrue +\newif\ifjb@biblikecite +\newif\ifjb@bibssed +\newif\ifjb@change@fonts@for@fullcite +\newif\ifjb@cite +\newif\ifjb@cite@title +\newif\ifjb@cite@no@title +\newif\ifjb@annotator@last +\newif\ifjb@compare@title@fields +\newif\ifjb@comma@before@rest +\newif\ifjb@compressed@bib +\newif\ifjb@citetoend +\newif\ifjbcross +\newif\ifjb@debug +\newif\ifjb@debug@br +\newif\ifjb@do@authors@index +\newif\ifjb@do@editors@index +\newif\ifjb@do@organizations@index +\newif\ifjb@dot +\newif\ifjb@dynamic@author@fonts +\newif\ifjb@dynamic@crossrefs +\newif\ifjb@edby +\newif\ifjb@endnotes +\newif\ifjbetal +\newif\ifjb@fn +\newif\ifjb@foot +\newif\ifjb@footnote@period +\newif\ifjb@footnote@period@ibidem +\newif\ifjb@first@cite +\newif\ifjb@firstcite@full +\newif\ifjb@first@author@reversed +\newif\ifjb@formatted@pages +\newif\ifjb@fullcite@again +\newif\ifjblookforgender +\newif\ifjb@howcited +\newif\ifjb@howcited@all +\newif\ifjb@howcited@normal +\newif\ifjb@howcited@compare +\newif\ifjb@howcited@multiple +\newif\ifjb@humanbst@loaded +\newif\ifjb@hyper +\newif\ifjb@ibidem +\newif\ifjb@ibidem@pagewise +\newif\ifjb@ibidem@double@pagewise +\newif\ifjb@ibidem@with@name +\newif\ifjb@ibidem@with@short@name +\newif\ifjb@ibidem@with@name@and@title +\newif\ifjb@ibidem@with@name@and@title@auto +\newif\ifjb@same@author@different@work +\newif\ifjb@idem +\newif\ifjb@idem@pagewise +\newif\ifjb@idem@double@pagewise +\newif\ifjb@ignore@varioref +\newif\ifjb@index +\newif\ifjb@index@bib +% NEW 0.6 +\newif\ifjb@index@only@first@authors +\newif\ifjb@index@only@first@editors +\newif\ifjb@index@only@first@organization +\newif\ifjb@jura +\newif\ifjb@jox +\newif\ifjb@jureco +\newif\ifjb@kv@recognized +\newif\ifjb@lookat +\newif\ifjb@no@bib\global\jb@no@bibfalse +\newif\ifjb@no@lookat@for@bib +\newif\ifjb@no@nested@crossrefs +\newif\ifjb@no@title@replace +\newif\ifjb@no@firstname +\newif\ifjb@numbered@bib +%\newif\ifjb@natbib@order +\newif\ifjb@old@order +% NEW 0.6 switch to enable \bibel{<label>} in bibliography when using a natbib command which uses <year> +\newif\ifjb@nat@use@year@command +\newif\ifjb@noauthorforcitetitle +\newif\ifjbnoformatafterstartpage +\newif\ifjb@opcit +\newif\ifjb@@opcit +\newif\ifjb@period +\newif\ifjb@ragged +\newif\ifjb@bibformat@ibidem +\newif\ifjb@reverse@all@names +\newif\ifjb@reverse@names@in@citation +\newif\ifjb@same@fullauthor +\newif\ifjb@see +\newif\ifjb@second@extra@space +\newif\ifjb@super +\newif\ifjb@suppress@dot@for@howcited +\newif\ifjb@third@extra@space +\newif\ifjb@tabular +\newif\ifjb@tested@pageranges +\newif\ifjb@save@allfull@status +\newif\ifjb@save@lookat@status +\newif\ifjb@suppress@etal@dot +\newif\ifjb@ssed@after@author +\newif\ifjb@ssed@all +\newif\ifjb@ssed@commented +\newif\ifjb@ssed@kerning@wanted +\newif\ifjb@ssed@recent@kerned +\newif\ifjb@ssed@mult@works +\newif\ifjb@ssed@sw +\newif\ifjb@starred@cite +\newif\ifjb@start@page +\newif\ifjb@switchidemofflocally +\newif\ifjb@url +\newif\ifjbuseidemhrule +\newif\ifjbusehowcitedforcite +\newif\ifjb@vario +\newif\ifjbweareinbib +\newif\ifjbweareinendnotes +\newif\ifjbweareinhowcited +\newif\ifjb@yearafterauthor +\newif\ifjb@yearaftertitle +\newif\ifjb@oyear@in@citation +\jb@allow@adding@of@pagerangetrue +\jb@allow@dot@for@lookattrue +\jb@allow@lookat@for@fullcitetrue +\jb@allow@hyper@cite@nobibtrue +\jb@allow@hyper@citetrue +\jb@bib@hangtrue +\jb@annotator@lasttrue +\jb@second@extra@spacetrue +\jb@third@extra@spacetrue +\jbnoformatafterstartpagetrue +\jb@do@authors@indextrue +\jb@do@editors@indextrue +\jb@do@organizations@indextrue +\newcommand*{\NAT@citex}{}% +% some redefinitions for babel support +\def\bbl@cite@choice{% + \global\let\bibcite\bbl@bibcite + \@ifpackageloaded{jurabib}{\global\let\bibcite\org@bibcite}{}% + \global\let\bbl@cite@choice\relax +}% +\edef\jbselectlanguage{\noexpand\protect% + \expandafter\noexpand\csname jbselectlanguage \endcsname}% +% important whitespace!---^ +\expandafter\def\csname jbselectlanguage \endcsname#1{% +% important whitespace!---^ + \edef\languagename{\ifnum\escapechar=\expandafter`\string#1\@empty% + \else \string#1\@empty\fi}\select@language{\languagename}% +% analogous to the definition in switch.def from babel, +% but with this command we can avoid the lots of unwanted write's +% into the .aux file by deleting the \addtocontents commands. +}% +% NEW 0.6 multibib compatibility hook. multibib needs to know all possible cite commands +\def\@mb@citenamelist{% + cite,% + citetitle,% + citenotitle,% + citetitleonly,% + footcite,% + footcitetitle,% + footcitenotitle,% + footcitetitleonly,% + fullcite,% + footfullcite,% + citep,% + citet,% + citealt,% + citealp,% + citeauthor,% + citeyear,% + citeyearpar,% + footcitep,% + footcitet,% + footcitealt,% + footcitealp,% + footciteauthor% + footciteyear,% + citefield, +} +\let\jb@typeout\typeout +\let\jb@package@warning\PackageWarning +\let\jb@package@warningNoLine\PackageWarningNoLine +\def\jb@info#1{\PackageInfo{\jb@pkg@name}{#1}}% +\newcommand*{\jbsilent}{% + \jb@info{*** Silent Mode ON ***}% + \let\jb@package@warning\@gobbletwo + \let\jb@package@warningNoLine\@gobbletwo + \let\jb@typeout\@gobble% +}% +\newcommand*{\jbauthorfont}{}% +\newcommand*{\jborgauthorfont}{}% +\newcommand*{\jbannotatorfont}{}% +\newcommand*{\jbtitlefont}{}% +\newcommand*{\jbactualauthorfont}{\textit}% +% to restore for bib in crossrefs +\newcommand*{\jbapifont}{\jbtitlefont}% +\newcommand*{\jbbtitlefont}{\normalfont}% +\newcommand*{\jbauthorfnfont}{\normalfont}% +\newcommand*{\jbactualauthorfnfont}{\textit}% +% NEW 0.6 +\newcommand\jbfulltitlefont{\jbtitlefont}% +\newcommand\jbshorttitlefont{\jbtitlefont}% +% to restore for bib in crossrefs +\newcommand*{\jbauthorfontifannotator}{\jborgauthorfont}% +\newcommand*{\jbignorevarioref}{\global\jb@ignore@varioreftrue}% +% default changed for 0.5e +\newcommand*{\jbdisablecitationcrossref}{\jb@no@nested@crossrefstrue}% +\newcommand*{\jbdotafterbibentry}{\jb@dottrue}% +\newcommand*{\jbdotafterendnote}{\AtBeginDocument{\def\@endanenote{\unskip.\par\endgroup}}}% +%\newcommand*{\jbsseditionkerned}{\jb@ssed@kerning@wantedtrue}% +\newcommand*{\jbsuperscripteditionafterauthor}{\jb@ssed@after@authortrue}% +\newcommand*{\jbssedbd}{}\let\jbssedbd\@gobble +% SU: changed: For packages that mustn't be loaded before jurabib, +% the check \AtBeginDocument might be too late (no need to delay it +% anyway): We need to check for hyperref *before* reading \jobname.url. +\@ifpackageloaded{bibunits}{% + \ClassError{\jb@pkg@name}{Please load `bibunits' after `jurabib'}{% + Just put the command `\string\usepackage{bibunits}' % + after `\string\usepackage{jurabib}',\MessageBreak + otherwise these packages won't work together.}}{\relax} +\@ifpackageloaded{hyperref}{% NOTE: there's another check for hyperref \AtBeginDocument + \ClassError{\jb@pkg@name}{Please load `jurabib' before `hyperref'}{% + Just put the command `\string\usepackage{hyperref}' % + after `\string\usepackage{jurabib}',\MessageBreak + otherwise these packages won't work together.}}{\relax}% +\newcommand*{\jbyearaftertitle}{% + \AtBeginDocument{% + \global\jb@yearafterauthorfalse + \global\jb@yearaftertitletrue + }% +} +\newcommand*{\jboyearincitation}{\jb@oyear@in@citationtrue}% +% CH 0.51w reworked +\newcommand*{\bibauthormultiple}{% + \stepcounter{multiple@author}% to suppress inside bibliographic entry + \ifthenelse{\boolean{jblookforgender}}{% + \ifthenelse{\equal{\jb@@gender}{sm}}{% + \bibibidfont{\bibidemSmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pm}}{% + \bibibidfont{\bibidemPmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sf}}{% + \bibibidfont{\bibidemSfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pf}}{% + \bibibidfont{\bibidemPfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sn}}{% + \bibibidfont{\bibidemSnname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pn}}{% + \bibibidfont{\bibidemPnname}% + }{% + \ifthenelse{\equal{\jb@@gender}{}}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + You are using \string\jblookforgender,\MessageBreak + but gender field for `\jb@key'\MessageBreak + is empty}% + \bibibidfont{\bibidemSmname}% + }{% + \jb@package@warningNoLine{\jb@pkg@name}{% + You are using \string\jblookforgender,\MessageBreak + but gender field for `\jb@key'\MessageBreak + is not valid}% + \bibibidfont{\bibidemSmname}% + }% + }% + }% + }% + }% + }% + }% + \bibansep{}% + }{% + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{8pt}% + \else + \bibibidfont{\bibidemSmname}% + \ifthenelse{\equal{\jb@@testlast@au@or@ed}{au}% + \and\equal{\jb@@test@au@or@ed}{ed}% + }{% + \space\bibEIMfont{\editorname}\bibansep{}% +% ^^^^^^^^^^^ Position changed in 0.6 + }{% +% NEW 0.6, check for more than one author/editor introduced, requires `count.authors.or.editors' in .bst file + \ifthenelse{\equal{\jb@@testlast@au@or@ed}{aus}% + \and\equal{\jb@@test@au@or@ed}{eds}% + }{% + \space\bibEIMfont{\editorsname}\bibansep{}% +% ^^^^^^^^^^^ Position changed in 0.6 + }{% +% NEW 0.6, for the case that the previous entry was an editor + \ifthenelse{\(\equal{\jb@@testlast@au@or@ed}{ed}\and\equal{\jb@@test@au@or@ed}{au}\)% + \or + \(\equal{\jb@@testlast@au@or@ed}{eds}\and\equal{\jb@@test@au@or@ed}{aus}\)% + \or + \equal{\jb@@test@au@or@ed}{au}% + }{% + \bibansep{}% + }{}% + }% + }% +% REMOVED 0.6 +% \bibansep{}% + \fi + }% +}% +\providecommand\textitswitch[1]{\textit{#1}}% +\providecommand\Wrapquotes[1]{``#1''}% +\newcommand*{\jbdy}{}\global\let\jbdy\@gobble % !!! dummy year for .bst label generating mechanism +% NEW 0.52p no double output of year for @article type (generated shorttitle contains `journal year') +\newcommand*{\jbsy}[1]{\ifjb@author@year\else\space#1\fi}% +\DeclareRobustCommand{\jbissn}[1]{\unskip,\space ISSN #1}% +\DeclareRobustCommand{\jbisbn}[1]{\unskip,\space ISBN #1}% +% CH 0.51w completely reworked editor macros +\DeclareRobustCommand{\fsted}[1]{% + \ifjbaltformat + \ifjbweareinbib\else + \space\bibEIMfont{#1}% + \fi + \else + \space\bibEIMfont{#1}% + \fi +}% +% 0.51x changed +\DeclareRobustCommand{\snded}[1]{% + \ifjbaltformat + \ifjbweareinbib + \begingroup + \def\bibfnfont{\textnormal}% + #1\bibansep% + \endgroup + \else\fi + \else\fi +}% +\DeclareRobustCommand{\bibedformat}[1]{%% exists only in jhuman.bst = \fsted! + \ifjbaltformat + \ifjbweareinbib\else + \space\edfont{#1}% + \fi + \else + \space\edfont{#1}% + \fi +}% +\DeclareRobustCommand{\bibedinformat}[1]{\unskip\unskip\space\edfont{#1}}% +% 0.51v space added +\newcommand*{\addtoalllanguages}{}% +\newcommand*{\bibsall}{\addto\addtoalllanguages}% +\AtBeginDocument{\ifjbaltformat\else\let\snded\@gobble\fi} +\newcommand*{\jbedseplikecite}{% + \ifjb@before@title@separator + \AtBeginDocument{% + \renewcommand\bibaesep{% + \ifjb@reverse@all@names + \bibefnfont{\jbhowsepbeforetitle}% + \else + \bibelnfont{\jbhowsepbeforetitle}% + \fi + \space% + }% + }% + \fi +}% +% (btasep= between two author sep) for only two authors +\DeclareRobustCommand{\jbbtasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbfsasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbstasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbtesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbfsesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbbstesep}{{\normalfont\slash}} +\DeclareRobustCommand{\jbatsep}{,} +% NEW 0.5e after editionname sep +\DeclareRobustCommand{\jbaensep}{.} +% markup for the .bst extra.label +\DeclareRobustCommand\el[1]{#1}% +% CH 0.6 print out the bib extra label if natbib commands with year output are used. +\DeclareRobustCommand\bibel[1]{\ifjb@nat@use@year@command#1\fi}% +\newcommand*{\jbshowbibextralabel}{\renewcommand\bibel[1]{##1}}% +\newcommand*{\jblookforgender}{\global\jblookforgendertrue}% +\newcommand*{\jbuseidemhrule}{% + \global\jbuseidemhruletrue + \global\jblookforgenderfalse +}% +\newcommand*{\jbrealcitation}[2]{\@gobble} +\newcommand*{\jbcitationyearformat}[1]{(#1)} +\newcommand*{\jbcitationoyearformat}[1]{\space[#1]} +% NEW 0.5f separate command for bibliography year +\newcommand*{\jbbibyearformat}[1]{(#1)} +\newcommand*{\jbindexbib}{\jb@index@bibtrue} +% NEW 0.6 some command to tune the indexing feature +% Do not index authors +\newcommand*{\jbdonotindexauthors}{\jb@do@authors@indexfalse} +% Do not index editors +\newcommand*{\jbdonotindexeditors}{\jb@do@editors@indexfalse} +% Do not index organizations +\newcommand*{\jbdonotindexorganizations}{\jb@do@organizations@indexfalse} +% % +% Index only authors on their first citation (but index the same author again if he wrote another book!) +\newcommand*{\jbindexonlyfirstauthors}{\jb@index@only@first@authorstrue} +% Index only editors on their first citation (but index the same editor again if he edited another book!) +\newcommand*{\jbindexonlyfirsteditors}{\jb@index@only@first@editorstrue} +% dito +\newcommand*{\jbindexonlyfirstorganizations}{\jb@index@only@first@organizationstrue} +\newcommand*{\jb@fornoop}{} +\newcommand*{\@jb@for}{} +\newcommand*{\jb@forloop}{} +\newcommand*{\jb@if@forloop}{} +\def\jb@fornoop#1\@@#2#3{} +\long\def\jb@for#1:=#2\do#3{% + \expandafter\def\expandafter\jb@fortmp\expandafter{#2}% + \ifx\jb@fortmp\@empty \else\expandafter\jb@forloop#2; % + \@nil; \@nil\@@#1{#3}\fi} +\long\def\jb@forloop#1; #2; #3\@@#4#5{% + \def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\jb@if@forloop #3\@@#4{#5}\fi\fi} +\long\def\jb@if@forloop#1; #2\@@#3#4{% + \def#3{#1}\ifx #3\@nnil\expandafter\jb@fornoop \else + #4\relax\expandafter\jb@if@forloop\fi#2\@@#3{#4}} +% CH 0.6, MUCH better code for indexing, once again contributed by Stefan Ulrich +\newcommand*{\jb@@tempa}{} +\newcommand*{\jb@@tempb}{} +\newcommand*{\jb@call@index}[2]{% +% generic check if we are in bibliography, if so check if (not-cited) authors +% should be indexed (\jbindexbib set?), otherwise disable indexing for bibliography + \ifjbweareinbib\ifjb@index@bib\else\jb@indexfalse\fi\fi + \ifjb@index + \@ifundefined{jb@#1@#2}{}{% + \begingroup % keep assignments local + \@makeother\\\@makeother\"\def~{\string~}% + \protected@edef\jb@@tempa{\csname jb@#1@#2\endcsname}% + \jb@for\jb@@tempb:=\jb@@tempa\do{% + \ifjb@debug + \typeout{INDEXING: |\jb@@tempb|}% + \fi +% This is a feature, which was requested heavily: +% It should be possible to index authors and editors only on their first appearence. +% BUT: An editor (or author) could be an editor (or author) of another work! +% So we are checking now, if the editors (#1=ed) name (\jb@tempb) was already index with the key (#2) + \@ifundefined{#1@#2@\jb@@tempb}{% + \ifjb@debug\typeout{#1@#2@\jb@@tempb| undefined!}\fi + \expandafter\jb@@call@index\jb@@tempb{#1}% + }{% + \ifjb@debug\typeout{#1@#2@\jb@@tempb| DEFINED!}\fi + }% + \ifthenelse{\equal{#1}{aut}% + \and\boolean{jb@index@only@first@authors}% + }{% + \global\@namedef{aut@#2@\jb@@tempb}{}% + }{}% +% We have to check if we have an editor + \ifthenelse{\equal{#1}{ed}% + \and\boolean{jb@index@only@first@editors}% + }{% + \ifjb@debug + \typeout{Author/Editor Switch for `#2': \jb@@aut@ed@switch}% + \fi +% If this switch is set, we have to check for missing authors, +% because this is a work which has ONLY an editor, so we should use the editor for indexing + \ifthenelse{\equal{\jb@@aut@ed@switch}{3}}{% +% 1: both author and editor given +% 2: editor empty, author not +% 3: author empty, editor not +% 4: author and editor empty + \@ifundefined{warn@ed@#2@\jb@@tempb}{% + \global\@namedef{warn@ed@#2@\jb@@tempb}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + You have set `\string\jbindexonlyfirsteditors', but\MessageBreak + `#2' has only editor, indexing continuously ..% + }% + }{\relax}% + }{\global\@namedef{ed@#2@\jb@@tempb}{}}% + }{}% + \ifthenelse{\equal{#1}{org}% + \and\boolean{jb@index@only@first@organization}% + }{% + \global\@namedef{org@#2@\jb@@tempb}{}% + }{}% + }% + \endgroup + }% + \fi +} +\newcommand{\jbmakeindexactual}{@}% +\newcommand{\jbauthorindexfont}[1]{#1}% +\newcommand{\jbeditorindexfont}[1]{#1}% +\newcommand{\jborganizationindexfont}[1]{#1}% +\newcommand{\jb@index@aut@markup}[1]{#1\jbmakeindexactual\jbauthorindexfont{#1}}% +\newcommand{\jb@index@ed@markup}[1]{#1\jbmakeindexactual\jbeditorindexfont{#1}}% +\newcommand{\jb@index@org@markup}[1]{#1\jbmakeindexactual\jborganizationindexfont{#1}}% +% NEW 0.5f idem should work inside bibliographic entries too (If author = editor) +\newcommand*{\jb@inside@author}{} +\newcommand*{\jb@inside@editor}{} +% NEW 0.5f ibidem for multiple authors +\newcounter{ibidem@author} +\newcounter{multiple@author}% counter will be set by \bibauthormultiple +\newcommand*{\jb@last@ibidem@author}{} +% 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 +\def\jb@tempcntc{}% +\newcommand*{\jb@bib@gender@checked}{% + \ifthenelse{\equal{\jb@@gender}{sm}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemSmedbyname}{\idemsmedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSmname\else\bibidemSmname\fi}{\idemsmname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{pm}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemPmedbyname}{\idempmedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPmname\else\bibidemPmname\fi}{\idempmname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{sf}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemSfedbyname}{\idemsfedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSfname\else\bibidemSfname\fi}{\idemsfname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{pf}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemPfedbyname}{\idempfedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPfname\else\bibidemPfname\fi}{\idempfname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{sn}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemSnedbyname}{\idemsnedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSnname\else\bibidemSnname\fi}{\idemsnname}% + }% + }{% + \ifthenelse{\equal{\jb@@gender}{pn}}{% + \ifthenelse{\boolean{jb@edby}}{% + \@ifundefined{jb@morethanonecite}{\idemPnedbyname}{\idempnedbyname}% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemPnname\else\bibidemPnname\fi}{\idempnname}% + }% + }{% + \@ifundefined{jb@morethanonecite}{\ifjbcross\idemSmname\else\bibidemSmname\fi}{\idemsmname}% + }% + }% + }% + }% + }% + }% +} +\newcommand*\jb@gobbleseven[7]{} +\AtEndDocument{\let\jb@index\jb@gobbleseven} +\newcommand*\jb@index{\begingroup\@makeother\\\@makeother\"\def~{\string~}\jb@@index}% +\newcommand*\jb@@index[7]{% + \@ifundefined{jb@#1@#2}{% + \global\@namedef{jb@#1@#2}{{#3}{#4}{#5}{#6}{#7}}% + }{% + \protected@edef\@tempa{\csname jb@#1@#2\endcsname}% + \expandafter\global\expandafter\@namedef\expandafter{jb@#1@#2\expandafter}\expandafter{\@tempa; {#3}{#4}{#5}{#6}{#7}}% + }% + %\expandafter\global\expandafter\let\csname jb@#1@#2\endcsname\relax + \endgroup +} +\newcommand*{\jb@do@normal@index}[1]{\ifjb@debug\typeout{Indexing: |#1|}\fi\index{#1}}% +\newcommand*\jb@@call@normal@index[6]{% + \ifjb@debug + \typeout{******** indexing: |#1|#2|#3|#4|#5| of type: |#6|}% + \fi + \ifthenelse{\equal{#2}{\@empty}}{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1}}% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi}}% + }{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi}}% + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi\space#4}}% + }{% + \jb@do@normal@index{\csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}}% + }% + }% + }% +}% +\newcommand{\jbindextype}{} +\newcommand*\jb@@call@type@index[6]{% + \ifjb@debug\typeout{******** indexing: |#1|#2|#3|#4|#5| of type: |#6|}\fi + \begingroup + \ifthenelse{\equal{#2}{\@empty}}{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1}}% + }\expandafter\index\jb@tempa + }{% + \ifthenelse{\equal{#4}{\@empty}}{% + \ifthenelse{\equal{#5}{\@empty}}{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi}}% + }\expandafter\index\jb@tempa + }{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi}}% + }\expandafter\index\jb@tempa + }% + }{% + \ifthenelse{\equal{#5}{\@empty}}{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, \ifjb@abbrv#3\else#2\fi\space#4}}% + }\expandafter\index\jb@tempa + }{% + \protected@edef\jb@tempa{[\jbindextype]{% + \csname jb@index@#6@markup\endcsname{#1, #5, \ifjb@abbrv#3\else#2\fi\space#4}}% + }\expandafter\index\jb@tempa + }% + }% + }% + \endgroup +}% +\newcommand\jbCheckedFirst{\ifjb@abbrv\jbFirstAbbrv\else\jbFirst\fi} +\newcommand\jbRevedFirstOnlyLast{\biblnfmt{\jbLast}}% +\newcommand\jbRevedFirstNoVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbRevedFirstNoVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbRevedFirstVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\newcommand\jbRevedFirstVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\newcommand\jbRevedNotFirstOnlyLast{\biblnfmt{\jbLast}}% +\newcommand\jbRevedNotFirstNoVonNoJr{\bibfnfmt{\jbCheckedFirst\space}\biblnfmt{\jbLast}}% +\newcommand\jbRevedNotFirstNoVonJr{\bibfnfmt{\jbCheckedFirst\space}\biblnfmt{\jbLast, \jbJunior}}% +\newcommand\jbRevedNotFirstVonNoJr{\bibfnfmt{\jbCheckedFirst\space\jbVon~}\biblnfmt{\jbLast}}% +\newcommand\jbRevedNotFirstVonJr{\bibfnfmt{\jbCheckedFirst\space\jbVon~}\biblnfmt{\jbLast, \jbJunior}}% +\newcommand\jbNotRevedOnlyLast{\biblnfmt{\jbLast}}% +\newcommand\jbNotRevedNoVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbNotRevedNoVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst}}% +\newcommand\jbNotRevedVonNoJr{\biblnfmt{\jbLast, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +\newcommand\jbNotRevedVonJr{\biblnfmt{\jbLast, \jbJunior, }\bibfnfmt{\jbCheckedFirst\space\jbVon}}% +% #1 = last #2 = first #3 = f. #4 = von #5 = jr. +\DeclareRobustCommand{\bibnf}[5]{% + \def\biblnfmt{\biblnfont}% + \def\bibfnfmt{\bibfnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifjb@first@author@reversed + \@ifundefined{jb@first@author}{% + \@namedef{jb@first@author}{}% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedFirstOnlyLast + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbRevedFirstNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbRevedFirstNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbRevedFirstVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbRevedFirstVonJr% + }% + }% + }% + }{% not first author! + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbRevedNotFirstNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbRevedNotFirstNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbRevedNotFirstVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + \else + \ifthenelse{\equal{#2}{\@empty}}{% + \jbNotRevedOnlyLast + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbNotRevedNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbNotRevedNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbNotRevedVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbNotRevedVonJr% + }% + }% + }% + \fi + }% +% NEW 0.5f idem should work inside bibliographic entries too (If author = editor) +% here we save all five args to identify author=editor + \gdef\jb@inside@author{#1#2#3#4#5}% +% temporarily removed \gdef\jb@inside@editor{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\bibrnf}[5]{% + \def\biblnfmt{\biblnfont}% + \def\bibfnfmt{\bibfnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbRevedNotFirstNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbRevedNotFirstNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbRevedNotFirstVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbRevedNotFirstVonJr% + }% + }% + }% + }% +% NEW 0.5f idem should work inside bibliographic entries too (If author = editor) +% here we save all five args to identify author=editor + \gdef\jb@inside@author{#1#2#3#4#5}% +% temporarily removed \gdef\jb@inside@editor{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\bibenf}[5]{% + \def\biblnfmt{\bibelnfont}% + \def\bibfnfmt{\bibefnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% +% NEW 0.5f idem should work inside bibliographic entries too (If author = editor) + \def\jb@inside@editor{#1#2#3#4#5}% + \ifthenelse{% + \equal{\jb@inside@author}{\jb@inside@editor}% + \and + \boolean{jb@idem}% +% temporarily removed \and +% temporarily removed \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% +% temporarily removed \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% +% \and\boolean{jbweareinbib}% NO !!!!!!!!!!!! + }{% +% NEW 0.5f we make a difference between english and other language output of idem, +% for oxford should appear an uppercase Idem after "in:", suggested by Maarten Wisse + \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{% +% NEW 0.51x new switch \jbuseidemhrule + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\idemname}% + \fi + }{% +% NEW 0.51d gender + case check for bibliography idem +% NEW 0.51x new switch \jbuseidemhrule + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\jb@bib@gender@checked}% + \fi + }% +% we are switching off et~al. output + \jb@bibetalfalse + }{% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifjb@first@author@reversed + \@ifundefined{jb@first@editor}{% + \@namedef{jb@first@editor}{}% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbRevedFirstNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbRevedFirstNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbRevedFirstVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbRevedFirstVonJr% + }% + }% + }% + }{% not first author! + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbRevedNotFirstNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbRevedNotFirstNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbRevedNotFirstVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + \else + \ifthenelse{\equal{#2}{\@empty}}{% + \jbNotRevedOnlyLast% + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbNotRevedNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbNotRevedNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbNotRevedVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbNotRevedVonJr% + }% + }% + }% + \fi + }% + }% +% NEW 0.5f make \jb@inside@author empty, otherwise for more than +% one and different editors we will get: +% `author: [...] editor1, editor2 and idem, editors:' +% ^^^^! +% \def\jb@inside@author{}% + \gdef\jb@inside@author{#1#2#3#4#5}% + \gdef\jb@inside@editor{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +\DeclareRobustCommand{\bibrenf}[5]{% + \def\biblnfmt{\bibelnfont}% + \def\bibfnfmt{\bibefnfont}% + \def\jbLast{#1}\def\jbFirst{#2}\def\jbFirstAbbrv{#3}\def\jbVon{#4}\def\jbJunior{#5}% NEW 0.51f + \stepcounter{ibidem@author}\def\jb@ibidem@author{#1#2#3#4#5}% +% NEW 0.5f idem should work inside bibliographic entries too (If author = editor) + \def\jb@inside@editor{#1#2#3#4#5}% + \ifthenelse{% + \equal{\jb@inside@author}{\jb@inside@editor}% + \and + \boolean{jb@idem}% +% temporarily removed \and +% temporarily removed \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% +% temporarily removed \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% +% \and\boolean{jbweareinbib}% NO !!!!!!!!!!!! + }{% +% NEW 0.5f we make a difference between english and other language output of idem, +% for oxford should appear an uppercase Idem after "in:", suggested by Maarten Wisse + \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{% +% NEW 0.51x new switch \jbuseidemhrule + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\idemname}% + \fi + }{% +% NEW 0.51d gender + case check for bibliography idem +% NEW 0.51x new switch \jbuseidemhrule + \ifjbuseidemhrule + \leavevmode\vrule height 2pt depth -1.6pt width 21pt\hspace{3pt}% + \else + \edfont{\jb@bib@gender@checked}% + \fi + }% +% we are switching off et~al. output + \jb@bibetalfalse + }{% + \ifthenelse{\boolean{jb@bibformat@ibidem}% + \and\not + \boolean{jbcross}% + \and + \theibidem@author=1% + \and + \themultiple@author<1% + \and + \equal{\jb@ibidem@author}{\jb@last@ibidem@author}% + \and + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \bibauthormultiple% + }{% + \ifthenelse{\equal{#2}{\@empty}}{% + \jbRevedNotFirstOnlyLast + }{% + \ifthenelse{\equal{#4}{\@empty}}{% +% `von' empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `jr.' empty + \jbRevedNotFirstNoVonNoJr% + }{% +% `von' empty, `jr.' not empty + \jbRevedNotFirstNoVonJr% + }% + }{% +% `von' not empty + \ifthenelse{\equal{#5}{\@empty}}{% +% `von' not empty, `jr.' empty + \jbRevedNotFirstVonNoJr% + }{% +% `von' not empty, `jr.' not empty + \jbRevedNotFirstVonJr% + }% + }% + }% + }% + }% + \gdef\jb@inside@author{#1#2#3#4#5}% + \gdef\jb@inside@editor{#1#2#3#4#5}% + \ifjbcross\else\gdef\jb@last@ibidem@author{#1#2#3#4#5}\fi +}% +% NEW 0.5f +% lenf = lonely editor name format: font for editor(s), if no author is given. +% rlenf = reversed lonely editor name format: font for editor(s), if no author is given. +\DeclareRobustCommand{\biblenf}[5]{\bibenf{#1}{#2}{#3}{#4}{#5}} +\DeclareRobustCommand{\bibrlenf}[5]{\bibrenf{#1}{#2}{#3}{#4}{#5}} +\newcommand*{\jblinebreak}{\linebreak[4]}% +\DeclareRobustCommand{\biblnfont}{\textbf}% +\DeclareRobustCommand{\bibfnfont}{\textbf}% +\DeclareRobustCommand{\bibelnfont}{\textbf}% +\DeclareRobustCommand{\bibefnfont}{\textbf}% +\DeclareRobustCommand{\bibtfont}{}% +\DeclareRobustCommand{\bibbtfont}{}% +\DeclareRobustCommand{\bibjtfont}{}% +\DeclareRobustCommand{\bibapifont}{}% +\DeclareRobustCommand{\bibrevtfont}{}% +% ibid font for `derselbe', `dieselbe' .... +\DeclareRobustCommand{\bibibidfont}{\biblnfont}% +% intermediate font for `and' and `,' +% CHANGED 0.5f make a difference between bibliography and text +% CH 0.51t \bibfnfont instead of \biblnfont +\newcommand{\bibimfont}{\bibfnfont}% +\newcommand{\jbimfont}{\textnormal}% +% CH 0.51t \bibefnfont instead of \bibelnfont +\newcommand{\bibeimfont}{\bibefnfont}% +\newcommand{\jbeimfont}{\textnormal}% +% NEW 0.6 archival support added +\DeclareRobustCommand{\bibanfont}{\biblnfont}% +\DeclareRobustCommand{\jbsamearch}{\mbox{}\\[-1.2\baselineskip]}% +\DeclareRobustCommand{\jbsamesubarch}{\mbox{}\\[-.5\baselineskip]}% +\DeclareRobustCommand{\jbnotsamearch}{\mbox{}\\[.3\baselineskip]}% +\DeclareRobustCommand{\jbsubarchsep}{\ifjbweareinbib:\\[.2\baselineskip]\fi}% +\DeclareRobustCommand{\jbarchnamesep}{\ifjbweareinbib\hspace{4em}\fi}% +\DeclareRobustCommand{\jbshortarchformat}[1]{(#1)}% +\DeclareRobustCommand{\jbshortsubarchformat}[1]{(#1)}% +\DeclareRobustCommand{\jbarchnameformat}[1]{\space(#1)}% +\DeclareRobustCommand{\jbsamesubarchindent}{\mbox{}\hspace{1em}--}% +\DeclareRobustCommand{\jbarchnameformat}[1]{(#1)}% +\newlength{\jb@subarchitemwidth}% +\newlength{\jb@subarchentrywidth}% +\addtolength{\jb@subarchentrywidth}{\textwidth}% +\DeclareRobustCommand{\jbarchsig}[2]{% + \ifjbweareinbib + \settowidth{\jb@subarchitemwidth}{\jbsamesubarchindent+#1}% + \setlength{\jb@subarchentrywidth}{\textwidth-\jb@subarchitemwidth-4em}% + \begin{tabular}{@{}p{\jb@subarchitemwidth}@{}j{\jb@subarchentrywidth}@{}}% + #1\ifjb@dot\unskip\unskip\unskip.\fi&\ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}% + \end{tabular} + \fi +}% +\DeclareRobustCommand{\bibIMfont}[1]{% + \ifjbweareinbib + \ifjbweareinhowcited + \jbimfont{#1}% + \else + \bibimfont{#1}% + \fi + \else + \jbimfont{#1}% + \fi +}% +\DeclareRobustCommand{\bibEIMfont}[1]{% + \ifjbweareinbib + \ifjbweareinhowcited + \jbeimfont{#1}% + \else + \bibeimfont{#1}% + \fi + \else + \jbeimfont{#1}% + \fi +}% +\DeclareRobustCommand{\edfont}[1]{% + \ifjbweareinbib + \ifjbweareinhowcited + \jbeimfont{#1}% + \else + \bibeimfont{#1}% + \fi + \else + \jbeimfont{#1}% + \fi +}% +\DeclareRobustCommand{\bibbtasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbfsasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbstasep}{{\normalfont\slash}}% +\DeclareRobustCommand{\Bibbtasep}{\bibbtasep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbfsasep}{\bibbfsasep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbstasep}{\bibbstasep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\bibbtesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbfsesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\bibbstesep}{{\normalfont\slash}}% +\DeclareRobustCommand{\Bibbtesep}{\bibbtesep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbfsesep}{\bibbfsesep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\Bibbstesep}{\bibbstesep\ifjb@tabular\jblinebreak\fi}% +\DeclareRobustCommand{\bibansep}{\bibfnfont{: }}% +\DeclareRobustCommand{\bibaesep}{\bibefnfont{: }}% +\DeclareRobustCommand{\bothaesep}{\ifjbweareinbib\bibaesep\else\jbhowsepbeforetitleae\fi}% +\DeclareRobustCommand{\bibatsep}{}\renewcommand*{\bibatsep}{.}% +\DeclareRobustCommand{\bibbdsep}{,}% +\DeclareRobustCommand{\bibBTsep}{\def\jb@first@editor{}\bibbtsep}% +\DeclareRobustCommand{\bibJTsep}{\def\jb@first@editor{}\bibjtsep}% +\DeclareRobustCommand{\bibbtsep}{\inname{} }% +\DeclareRobustCommand{\bibjtsep}{}% +\DeclareRobustCommand{\bibaldelim}{}% +\DeclareRobustCommand{\bibardelim}{}% +\DeclareRobustCommand{\bibpldelim}{[}% +\DeclareRobustCommand{\bibprdelim}{]}% +\DeclareRobustCommand{\bibapyldelim}{}% +\DeclareRobustCommand{\bibapyrdelim}{}% +\DeclareRobustCommand{\dateldelim}{}% +\DeclareRobustCommand{\daterdelim}{}% +\DeclareRobustCommand{\bpubaddr}{:}% between publisher and address +\DeclareRobustCommand{\apyformat}[1]{% + \ifjb@bibssed + \let\jbedition\@gobble% + \unskip\unskip\space% + \bibapyldelim{}\ifthenelse{\equal{\jb@@edition}{\@empty}}{}{% + \textsuperscript{\jb@@edition}}#1\bibapyrdelim{}% + \else + \bibapyldelim{}#1\bibapyrdelim{}% + \fi +}% +\DeclareRobustCommand{\ajtsep}{,} +\DeclareRobustCommand{\jblangle}{\raisebox{.15ex}{$\langle$}} +\DeclareRobustCommand{\jbrangle}{\raisebox{.15ex}{$\rangle$}} +\DeclareRobustCommand{\biburlprefix}{\jblangle{}URL: } +\DeclareRobustCommand{\biburlsuffix}{\jbrangle{}} +\DeclareRobustCommand{\biburlfont}[1]{\urlstyle{#1}}% +\DeclareRobustCommand{\urldatecomment}{} +\DeclareRobustCommand{\bibbudcsep}{~--\space} +\DeclareRobustCommand{\bibcommenthowcited}{} +\DeclareRobustCommand{\bibartperiodhowcited}{} +\DeclareRobustCommand{\bibnotcited}{} +\DeclareRobustCommand{\bibhowcited}{} +\DeclareRobustCommand{\howcitedprefix}{} +\DeclareRobustCommand{\howcitedsuffix}{} +\DeclareRobustCommand{\bibvolumecomment}{} +\DeclareRobustCommand{\volumeofname}{} +\DeclareRobustCommand{\alsothesisname}{} +\DeclareRobustCommand{\bibces}{: } +\DeclareRobustCommand{\bibcrossrefcite}{} +\DeclareRobustCommand{\bibcrossrefciteagain}{} +\DeclareRobustCommand{\bibincollcrossrefcite}{} +\DeclareRobustCommand{\bibincollcrossrefciteagain}{} +\DeclareRobustCommand{\bibsnfont}{}% +\DeclareRobustCommand{\bibvtfont}{\textit}% +\DeclareRobustCommand{\osep}{% + \ifjbweareinbib + \ifjboxford;\else.\fi % Maarten wishes semi-colon + \else + \ifjboxford + ;% Maarten wishes semi-colon + \else + \ifjbchicago + ;% + \else + .% + \fi + \fi + \fi +}% +\DeclareRobustCommand{\reprintname}{\ifjbweareinbib\Reprint\else\reprint\fi}% +\newcommand*{\jbedafti}[1]{}% +\newcommand*{\jbtiafed}[1]{#1}% +\newcommand*{\jbbookedaftertitle}{% + \renewcommand\jbedafti[1]{##1}% + \renewcommand\jbtiafed[1]{}} +% REM 0.6, error when loading alphanum after jurabib +%\providecommand{\J@LongToc}{} +\providecommand{\addto}{\g@addto@macro} +\def\jb@add@to#1#2{\addto{#1}{#2}#2}% <=== ????? +%\def\jb@add@to#1#2{\addto{#1}{#2}}% +% macro for changing macros inside \bibs<language>, thanks to Bernard Gaulle +\def\AddTo#1#2{\AtBeginDocument{\jb@add@to#1{#2}}}% +% macros for adding definitions via \addto +\newcommand*{\jbonlyforcitations}{} +\newcommand*{\jbonlyforbib}{} +\newcommand*{\jbonlyforfirstcitefullbegin}{} +\newcommand*{\jbonlyforfirstcitefullend}{} +% NO starred '\[re]newcommand*' for the annote commands! Causes problems when using \par inside annote +\newcommand{\bibAnnote}[1]{} +\newcommand{\bibAnnoteFile}[1]{} +\newcommand{\bibAnnotePath}[1]{\def\jb@ann@input@path{#1}} +\ifx\jb@ann@input@path\@undefined\let\jb@ann@input@path\input@path\fi +\newcommand{\jbannoteformat}[1]{{\small#1\par}}% +\providecommand{\bbl@main@language}{english}% +\newif\ifjbhum +\newif\ifjboxford +\newif\ifjbchicago +\newcommand*{\aftervolsep}{,}% +\DeclareRobustCommand{\volumeformat}[1]{\Volumename~#1\aftervolsep}% +\DeclareRobustCommand{\artvolumeformat}[1]{#1}% +\DeclareRobustCommand{\pervolumeformat}[1]{#1}% +\DeclareRobustCommand{\revvolumeformat}[1]{#1}% +\DeclareRobustCommand{\artnumberformat}[1]{\unskip,\space Nr.~#1}% +\DeclareRobustCommand{\pernumberformat}[1]{\unskip\space Nr.~#1}% +\DeclareRobustCommand{\revnumberformat}[1]{\unskip\space Nr.~#1}% +\DeclareRobustCommand{\artyearformat}[1]{\bibaldelim#1\bibardelim}% +\DeclareRobustCommand{\peryearformat}[1]{\bibpldelim#1\bibprdelim}% +\DeclareRobustCommand{\revyearformat}[1]{\artyearformat{#1}}% +\DeclareRobustCommand{\artvolnumformat}[2]{% + \ifthenelse{\equal{#1}{}}{% + #2% + }{% + \ifthenelse{\equal{#2}{}}{% + #1% + }{% + \artvolumeformat{#1}\artnumberformat{#2}% + }% + }% +}% +\DeclareRobustCommand{\pervolnumformat}[2]{% + \ifthenelse{\equal{#1}{}}{% + #2% + }{% + \ifthenelse{\equal{#2}{}}{% + #1% + }{% + \pervolumeformat{#1}\pernumberformat{#2}% + }% + }% +}% +\DeclareRobustCommand{\revvolnumformat}[2]{\artvolnumformat{#1}{#2}}% +\DeclareRobustCommand{\translator}[3]{% + \unskip\unskip\space% + \ifthenelse{\equal{#1}{}}{% translator missing + \ifjboxford\transfrom\else\Transfrom\fi\jbflanguage{#2}% + }{% translator given + \ifthenelse{\equal{\bbl@main@language}{german}}{% main language german + \ifthenelse{\equal{#2}{}}{% language missing + {\"U}bers. \transby{} #1% + }{% language given + \ifjboxford\transfrom\else\Transfrom\fi\jbflanguage{#2} ^^fcbers. \transby{} #1% + }% + }{% + \ifthenelse{\equal{#2}{}}{% language missing + \trans{} \transby{} #1% + }{% language given + \trans{} \transfrom{}\jbflanguage{#2} \transby{} #1% + }% + }% + }% dot or not? + \ifjbchicago + \ifthenelse{\equal{#3}{1}}{% \(type=incollection \and editor given\) \or type=article + \bibatsep{}% + }{}% + \else + \ifthenelse{\equal{#3}{1}\and\not\boolean{jboxford}}{% + \bibatsep{}% + }{}% + \fi +}% +\DeclareRobustCommand{\jbflanguage}[1]{% + \unskip\space% prevent from additional spaces for empty \transfrom macros + \ifthenelse{\equal{#1}{german}}{% + \fromgerman% + }{% + \ifthenelse{\equal{#1}{english}}{% + \fromenglish% + }{% + \ifthenelse{\equal{#1}{french}}{% + \fromfrench% + }{% + \ifthenelse{\equal{#1}{dutch}}{% + \fromdutch% + }{% + \ifthenelse{\equal{#1}{spanish}}{% + \fromspanish% + }{% + \ifthenelse{\equal{#1}{portuguese}}{% + \fromportuguese% + }{% + \ifthenelse{\equal{#1}{italian}}{% + \fromitalian% + }{% + \ifthenelse{\equal{#1}{norsk}}{% + \fromnorsk% + }{% + \ifthenelse{\equal{#1}{finnish}}{% + \fromfinnish% + }{% + \relax + }% + }% + }% + }% + }% + }% + }% + }% + }% +}% +\renewcommand*{\bibstyle}[1]{% + \ifthenelse{\equal{#1}{jox}}{% + \global\jb@joxtrue + \global\jb@humanbst@loadedtrue + \global\jboxfordtrue + }{% + \ifthenelse{\equal{#1}{jchicago}}{% + \global\jb@author@yeartrue + \global\jb@yearafterauthortrue + }{% + \ifthenelse{\equal{#1}{jureco}}{% + \global\jb@jurecotrue + \global\jb@author@yeartrue + \global\jb@yearafterauthortrue + \global\jb@yearaftertitlefalse + }{% + \ifthenelse{\equal{#1}{jhuman}}{\global\jb@humanbst@loadedtrue}{}% + }% + }% + }% +}% +\DeclareRobustCommand{\jbapifont}[1]{#1}% +\DeclareRobustCommand{\jbbtfont}{}% +\newif\ifjbopcit +\newcommand*{\jb@reset@look@label@for}{}% +\newcommand*{\jb@reset@opcit@label@for}{}% +\newcommand*{\opcit}{\textit{op.\,cit.}}% +\newcommand*{\OpCit}{% + \ifjbweareinbib\else + \ifjb@opcit + \ifjb@@opcit + \unskip\unskip,% + \ifjb@ssed@recent@kerned + \jb@do@ssed@kerning% + \else + \space% space part of the opcit hyperlink? + \fi + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup % <=== here we are ending with the link to the bibliography + \begingroup % <=== here we are starting a new hyperlink to the source citation of the opcit-sequence + \ifjb@allow@hyper@cite\hyper@jblinkstart{opcit.\@citeb.\jb@reset@opcit@label@for}\fi + \opcit% +% we need to check if we are in a crossref, it overrides the settings of the main citation +% \ifjbcross\else + \ifthenelse{\equal{\jb@@newpagecite}{}}{\ifjb@lookat\else\global\jb@footnote@periodfalse\fi}{}% +% \fi +% \ifthenelse{\equal{\jb@@newpagecite}{}}{\ifjb@lookat\else\global\jb@footnote@periodfalse\fi}{}% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi % <=== we are closing the opcit hyperlink ... + \endgroup + \begingroup + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi % <=== ... an reopen the hyperlink to the bibliography + \jb@extract + \fi + \fi + \fi +}% +\newcommand*{\jb@open}{}% +\newcommand*{\jb@close}{}% +\newcommand*{\jb@cr@open}{}% +\newcommand*{\jb@cr@close}{}% +\newcommand*{\jb@incoll@cr@open}{}% +\newcommand*{\jb@incoll@cr@close}{}% +\newcommand*{\jb@art@cr@open}{}% +\newcommand*{\jb@art@cr@close}{}% +\DeclareRobustCommand{\jbpages}{}% +\DeclareRobustCommand{\jbedition}[1]{% + \unskip\unskip\ifjb@humanbst@loaded\else\space\fi#1}% +\DeclareRobustCommand{\jbPAGES}{} +\DeclareRobustCommand{\jbPages}[1]{% + \unskip\unskip\ifjbweareinbib, \else + \ifjb@comma@before@rest, \else\space\fi\fi + \jbprformat{#1}% +}% +\DeclareRobustCommand{\jbArchPages}[1]{% + \unskip\unskip\ifjbweareinbib, \else + \ifjb@comma@before@rest, \else\space\fi\fi + \jbprformat{#1}% +}% +\DeclareRobustCommand{\jbartPages}[1]{% + \ifjbchicago + \unskip:\space + \else + \unskip\unskip\ifjbweareinbib, \else + \ifjb@comma@before@rest, \else\space\fi\fi + \fi + \jbprformat{#1}% +}% +\let\origPAGES\jbPAGES +\let\origpages\jbpages +\let\origPages\jbPages +\let\origartPages\jbartPages +\newcommand*{\jb@endnote}{}% +\DeclareRobustCommand{\jbendnote}[1]{}% default +\DeclareRobustCommand{\jbnote}[2]{% + \ifjbweareinbib + \unskip\unskip\ifthenelse{\equal{#1}{1}}{, #2}{#2}% + \else +% NEW 0.6 if a note is given, we always have to remove spaces! Bug reported by Frank Mittelbach + \unskip\unskip% + \fi +}% +\newcommand*{\jb@open@clean@for@crossref}{% + \jb@no@lookat@for@bibtrue + \jbcrosstrue + \ifjb@all@full + \jb@save@allfull@statustrue + \jb@all@fullfalse + \jb@fullcite@againfalse + \fi +% if lookat is active, save (it could be redef'd) and suppress it in crossrefs + \ifjb@lookat + \jb@save@lookat@statustrue + \jb@lookatfalse + \fi + \noibidem + \let\jbauthorfont\biblnfont + \let\jbauthorfnfont\bibfnfont + \let\jbactualauthorfont\biblnfont + \let\jbactualauthorfnfont\bibfnfont + \ifjbweareinbib + \let\jbhowsepbeforetitle\bibansep + \let\jbhowsepbeforetitleae\bibaesep + \fi + \let\jbbtasep\bibbtasep + \let\jbbfsasep\bibbfsasep + \let\jbbstasep\bibbstasep + \let\jbbtesep\bibbtesep + \let\jbbfsesep\bibbfsesep + \let\jbbstesep\bibbstesep + \let\jbtitlefont\bibtfont + \let\jbbtitlefont\bibbtfont + \let\jbapifont\bibapifont + \let\jb@extraspace\space +}% +\newcommand*{\jb@close@clean@for@crossref}{% + \ifjb@save@allfull@status + \jb@all@fulltrue + \jb@save@allfull@statusfalse + \fi + \ifjb@save@lookat@status + \jb@lookattrue + \jb@save@lookat@statusfalse + \fi + \jb@no@lookat@for@bibfalse + \jbcrossfalse + \jb@indextrue + \noidem +}% +\DeclareRobustCommand{\jbcrossrefchecked}[2][]{% + \begingroup + \jb@open@clean@for@crossref + \ifjb@firstcite@full\ifjb@all@full\else + \@ifundefined{citefull@#2}{% + \global\@namedef{citefull@#2}{citefull}% + }{}% + \fi\fi + \ifthenelse{\equal{#1}{}}{% + \jb@cr@open% + \inname{} % + % make a difference between first crossref cite + % and again crossref cite (ONLY FOR CITATION! 0.5e) + \ifjbweareinbib + \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}% + \else + \@ifundefined{NORMCR@#2}{% + \global\@namedef{NORMCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@cr@close% + }{% + \jb@cr@open% + \ifjboxford\volumename\else\Volumename\fi~#1 \volumeofname{} % + % make a difference between first crossref cite + % and again crossref cite (ONLY FOR CITATION! 0.5e) + \ifjbweareinbib + \ifjb@index@bib\else\jb@indexfalse\fi\bibcrossrefcite{#2}% + \else + \@ifundefined{NORMCR@#2}{% + \global\@namedef{NORMCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@cr@close% + }% + \jb@close@clean@for@crossref + \endgroup% Grouping (otherwise fonts changed if `howcited') +}% +\DeclareRobustCommand{\jbartcrossrefchecked}[2][]{{% + \jb@open@clean@for@crossref + \ifjb@firstcite@full\ifjb@all@full\else + \@ifundefined{citefull@#2}{% + \global\@namedef{citefull@#2}{citefull}% + }{}% + \fi\fi + \ifthenelse{\equal{#1}{}}{% + \jb@art@cr@open% + \inname{} % + \ifjbweareinbib + \ifjb@index@bib\else + \jb@indexfalse + \fi + \bibcrossrefcite{#2}% + \else + \@ifundefined{ARTCR@#2}{% + \global\@namedef{ARTCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@art@cr@close% + }{% + \jb@art@cr@open% + \Volumename~#1 \volumeofname{} % + \ifjbweareinbib + \ifjb@index@bib\else + \jb@indexfalse + \fi + \bibcrossrefcite{#2}% + \else + \@ifundefined{ARTCR@#2}{% + \global\@namedef{ARTCR@#2}{}% + \bibcrossrefcite{#2}% + }{% + \jb@indexfalse\bibcrossrefciteagain{#2}% + }% + \fi + \jb@art@cr@close% + }% + \jb@close@clean@for@crossref + }% +}% +\newcommand*{\fullnameoxfordcrossref}[1]{% + \ifjb@debug + \ifjb@debug@br[\fi + \textcolor[named]{Dandelion}{\citefield{author}{#1}\jbhowsepbeforetitle\citefield{title}{#1}}% + \ifjb@debug@br]\fi + \else + \citefield{author}{#1}\jbhowsepbeforetitle\citefield{title}{#1}% + \fi +} +\newcommand*{\jbedbyincollcrossreflong}[1]{% + \ifjbweareinbib + \bibtfont{\citefield{title}{#1}}% + \else + \jbbtfont{\citefield{title}{#1}}% + \fi + \bibatsep{} % + \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }% + \citefield{author}{#1}% + \unskip\ifjbetal\jbetalfalse\else.\fi\space% + \citefield{apy}{#1}% + \unskip\unskip% +} +\newcommand*{\jbedbyincollcrossrefshortwithapy}[1]{% + \ifjbweareinbib + \bibtfont{\citefield{shorttitle}{#1}}% + \else + \jbbtfont{\citefield{shorttitle}{#1}}% + \fi + \bibatsep{} % + \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }% + \citefield{shortauthor}{#1}% + \unskip\ifjbetal\jbetalfalse\else.\fi\space% + \citefield{apy}{#1}% + \unskip\unskip% +} +\newcommand*{\jbedbyincollcrossrefshortnoapy}[1]{% + \ifjbweareinbib + \bibtfont{\citefield{shorttitle}{#1}}% + \else + \jbbtfont{\citefield{shorttitle}{#1}}% + \fi + \bibatsep{} % + \ifthenelse{\equal{\bibatsep}{.}}{\Edbyname{} }{\edbyname{} }% + \citefield{shortauthor}{#1}% + \unskip\unskip% +} +\newcommand*{\jbedbyincollcrossrefshort}[1]{% + \citefield{shortauthor}{#1}% + \unskip\unskip% +} +\DeclareRobustCommand{\jbincollcrossref}[2]{% + \begingroup + \jb@open@clean@for@crossref + \jb@incoll@cr@open% + \ifjb@firstcite@full\ifjb@all@full\else + \@ifundefined{citefull@#1}{% + \global\@namedef{citefull@#1}{citefull}% + }{}% + \fi\fi + \ifthenelse{% + \boolean{jb@edby}% + \and + \boolean{jbchicago}% + \and + \equal{#2}{1}% is there an editor??? + }{% + \let\bibedformat\@gobble % exists only in jhuman.bst + \incollinname{} % + \hyper@jblinkstart{#1}% + \ifjbweareinbib + \jbedbyincollcrossrefcite{#1}% + \else + \@ifundefined{INCCR@#1}{% + \global\@namedef{INCCR@#1}{}% + \jbedbyincollcrossrefcite{#1}% + }{% + \jbedbyincollcrossrefciteagain{#1}% + }% + \fi + \hyper@jblinkend% + }{% + \incollinname{} % + \ifjbweareinbib + \ifjb@index@bib\else + \jb@indexfalse + \fi + \bibincollcrossrefcite{#1}% + \else + \@ifundefined{INCCR@#1}{% + \global\@namedef{INCCR@#1}{}% + \bibincollcrossrefcite{#1}% + }{% + \jb@indexfalse\bibincollcrossrefciteagain{#1}% + }% + \fi + }% + \jb@incoll@cr@close% + \jb@close@clean@for@crossref + \endgroup% Grouping (otherwise fonts changed if `howcited') +}% +\DeclareRobustCommand{\numberandseries}[2]{% + \unskip\unskip\ifjb@jox\else,\fi + \space\bibsnfont{#2}% + \ifthenelse{\equal{#1}{}}{}{~#1}% +}% +% #1=editor, #2=more than one ed switch #3=booktitle, #4=volume, #5=booktitleaddon switch (1=yes) +\newcommand*{\edbysep}{\bibatsep{} }% +\newcommand*{\incolledformat}[5]{% + \bibBTsep% + \ifjb@edby + #3% + \ifx\relax#1\relax + \ifx\relax#5\relax\else + \ifx\relax#4\relax + \bibatsep{}% + \else + \bibatsep{}\space% + \fi + \fi + \else +% CH 0.6 \jb@@tempa removed because of expanding problems in .aux file, +% \incolledformat in general will become obsolete if jurabib.mbs comes out! +% \def\jb@@tempa{.}% + \ifx\relax#5\relax + \ifjb@humanbst@loaded\edbysep{}\fi +% \ifx\bibatsep\jb@@tempa + \Edbyname{} % +% \else\edbyname{} \fi + \else + \edbysep{}% +% \ifx\bibatsep\jb@@tempa + \Edbyname{} % +% \else\edbyname{} \fi + \fi + \begingroup + #1% + \endgroup + \fi + \ifx\relax#4\relax\else + \ifx\relax#1\relax\else + \ifx\relax#5\relax + .\space% + \else + \bibatsep{} % + \fi + \fi + \Volumename~#4% + \fi + \ifx\relax#1\relax + \ifx\relax#4\relax\else.\fi % volume empty + \else + \ifjb@humanbst@loaded\else + \ifjbchicago\else.\fi + \fi + \fi + \else + \ifx\relax#1\relax\else + \begingroup + #1 % editor + \endgroup + \ifx\relax#2\relax\else#2\fi + \bothaesep% + \fi + #3% + \ifx\relax#4\relax + \ifx\relax#5\relax\else% No volume, but booktitleaddon + \bibatsep% + \fi + \else + \ifx\relax#5\relax\else,\space\fi% volume and booktitleaddon + \volumeformat{#4}% + \fi + \fi +} +% NEW 0.5f: contributed by Stefan Ulrich +% ------------------------- NEW URL Interface -------------------------------- +% for defining URLs in the bibliography. These might be used in other +% places as well (such as footnotes), so we use url.sty's \urldef +% to define aliases in the form `\jburl@<citation-key>' for them +% (this alias is unique, since each bib entry can only have one +% URL field). +% To make this work with hyperref, the aliases need to be written +% to a separate auxiliary file (we can't use \@auxout, since this is +% read \AtBeginDocument, after hyperref, but an incompatibility +% between hyperref and url makes it necessary to use \urldef *before* +% loading hyperref). +% As with url.sty, the URL may contain arbitrary characters, +% but `{}' must be properly nested. +% In 0.5f beta 25 Stefan Ulrich contributed a solution for the +% `%\n' BibTeX bug, similar to the solution in hyperref. +% Very special thanks! +\newcommand\jburldef{} +\newcommand\jb@urldef{} +\newcommand\jb@returnAfterFi{} +\long\def\jb@returnAfterFi#1\fi{\fi#1} +\newcommand*\jb@remove@percentCr{}% see hyperref.sty's \Hy@RemovePercentCr +\begingroup % no `%' inside this group! (Changing \endlinechar makes this easier). +% Following implements deletion of `%\n' in \jburldef like in hyperref (url.sty +% doesn't do this). +% Inside \jburldef, `^^M' needs to be active so that it expands to a space when +% writing to \jb@urlfile; `%' only needs to have catcode 12. +\endlinechar\m@ne +\catcode`\^^M\active +\catcode`\%=12 +\gdef\jburldef#1{ + \begingroup + \def\jb@bbl@key{#1} + \let\do\@makeother\dospecials + \catcode`{\@ne \catcode`}\tw@ + \catcode`\^^M\active + \def^^M{ } + \jb@urldef +} +\gdef\jb@remove@percentCr#1%^^M#2\@nil{ + #1 + \ifx\limits#2\limits + \else + \jb@returnAfterFi\jb@remove@percentCr#2\@nil + \fi +} +\gdef\jb@urldef#1{ + \edef\@tempa{\jb@remove@percentCr#1%^^M\@nil} + \immediate\write\jb@urlfile{ + \string\expandafter\string\urldef\string\csname\space + jburl@\jb@bbl@key\string\endcsname\string\url\string{\@tempa\string} + } + \endgroup +} +\endgroup +\DeclareRobustCommand*\jburluse[1]{% + \biburlprefix\csname jburl@#1\endcsname\biburlsuffix% +} +\newwrite\jb@urlfile +% load our url file: +\InputIfFileExists{\jobname.url}{}{} +% Now to some interface paranoia ;-) +% Since we'll try to write to \jobname.url, which is not a standard +% LaTeX .aux file, the user might have a file with the same name +% somewhere in TeX's search path. We don't want to overwrite such a +% file; therefore we check whether the first line equals a special +% `signature' line and only in this case overwrite the file. +\newread\jb@tempfile +\newcommand*\testnosig{}% +{% no spaces or percents in this group! (Changing \endlinechar makes this easier). +\catcode`\ =12 +\catcode`\%=12 +\endlinechar\m@ne +% CH 0.52o year + version removed, so warning should not appear when the file was created by jurabib +\gdef\jb@signature@line{%%% jurabib url repository} +\gdef\jb@if@no@sigline#1#2{\ifx#1\jb@signature@line\else#2\fi}} +\newcommand*\jb@chk@overwrite[1]{% + \bgroup + \openin\jb@tempfile=#1\relax + \let\do\@makeother \dospecials + \endlinechar\m@ne + \ifeof\jb@tempfile + % \typeout{File `#1' doesn't exist}% + \else + \read\jb@tempfile to\@tempa + \ifeof\jb@tempfile + % \typeout{File `#1' is empty}% + \else + \jb@if@no@sigline{\@tempa}{% + \ClassError{jurabib}{% + file `#1' not written by jurabib% + }{% + This doesn't look like a file written by jurabib.^^J% + Please save any valuable information contained in this file^^J% + to another place.^^J% + If you hit RETURN now, the file will be overwritten.^^J% + }% + }% + \fi + \fi + \closein\jb@tempfile + \egroup +% arrive here only if the user didn't abort, erase the file: + \immediate\openout\jb@urlfile#1 +% ... and write our `signature line' to it: + \immediate\write\jb@urlfile{\jb@signature@line}% + \AtEndDocument{\closeout\jb@urlfile} +} +\jb@chk@overwrite{\jobname.url} +% ------------------------- NEW URL Interface -------------------------------- +\DeclareRobustCommand{\lookatprefix}{}% +\DeclareRobustCommand{\lookatsuffix}{}% +\newcommand*{\noibidem}{% + \gdef\jb@@lastauthorcite{}% + \gdef\jb@@lastannotatorcite{}% + \gdef\jb@@lastpagecite{}% +}% +% NEW 0.5e +\newcommand*{\noidem}{% + \gdef\jb@@last@@author{}% + \gdef\jb@@last@@title{}% +}% +\newcommand*{\nextcitefull}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{allnextfull}}}% +}% +\newcommand*{\nextciteshort}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{allnextshort}}}% +}% +\newcommand*{\nextcitenotitle}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{allnextnotitle}}}% +}% +\newcommand*{\nextcitereset}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{\@tempa}{}}}% +}% +\newcommand*{\citeswithoutentry}[1]{% + {\@for\@tempa:=#1\do{% + \global\@namedef{NOBIB@\@tempa}{suppress}}}% +}% +% NEW 0.52p, suppress first names for full (first or not) citations +\newcommand*{\nofirstnameforcitation}{\jb@no@firstnametrue}% +\newcommand*{\jb@cite@title@types}{}% +\newcommand*{\jb@cite@notitle@types}{}% +\newcommand*{\citetitlefortype}[1]{\gdef\jb@cite@title@types{#1}}% +\newcommand*{\citenotitlefortype}[1]{\gdef\jb@cite@notitle@types{#1}}% +\newcommand*{\jb@cite@title@for@type@hook}{% + \@for\@tempa:=\jb@cite@title@types\do{% + \protected@edef\@tempb{\jb@@type}% +% comparing: \@tempa-\@tempb + \ifx\@tempa\@tempb +% Match!! + \def\jb@@title@switch{1}% + \fi + }% +}% +\newcommand*{\jb@cite@no@title@for@type@hook}{% + \@for\@tempa:=\jb@cite@notitle@types\do{% + \protected@edef\@tempb{\jb@@type}% +% comparing: \@tempa-\@tempb + \ifx\@tempa\@tempb +% Match!! + \def\jb@@title@switch{-1}% + \fi + }% +}% +% NEW 0.52n, \citefullfirstfortype{<typelist>} allows to specify a list of publication types for which `citefull=first' works. +\def\jb@@cite@fullfirst@switch{}% +\newcommand*{\jb@cite@full@first@types}{}% +\newcommand*{\citefullfirstfortype}[1]{\gdef\jb@cite@full@first@types{#1}}% +\newcommand*{\jb@cite@full@first@fortype@hook}{% + \@for\@tempa:=\jb@cite@full@first@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@@cite@fullfirst@switch{1}% + \fi + }% +}% +\citefullfirstfortype{article,book,booklet,commented,inbook,incollection,inproceedings,jurthesis,manual,mastersthesis,misc,periodical,phdthesis,proceedings,techreport,unpublished,www,archival} +% NEW 0.6 lookat for type +\def\jb@@lookat@for@type@switch{}% +\newcommand*{\jb@lookat@types}{}% +\newcommand*{\lookatfortype}[1]{\gdef\jb@lookat@types{#1}}% +\newcommand*{\jb@lookat@fortype@hook}{% + \@for\@tempa:=\jb@lookat@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@@lookat@for@type@switch{1}% + \fi + }% +}% +\lookatfortype{article,book,booklet,commented,inbook,incollection,inproceedings,jurthesis,manual,mastersthesis,misc,periodical,phdthesis,proceedings,techreport,unpublished,www,archival} +% \citeworkwithtitle allows to specify a list of works, for those the title should always be printed. +\newcommand*{\jb@cite@title@work}{}% +\newcommand*{\citeworkwithtitle}[1]{\gdef\jb@cite@title@work{#1}}% +\newcommand*{\jb@cite@title@for@work@hook}{% + \@for\@tempa:=\jb@cite@title@work\do{% + \protected@edef\@tempb{\jb@@newauthorcite}% + \ifx\@tempa\@tempb + \def\jb@@mult@switch{1}% + \fi + }% +}% +\newcommand*{\jb@start@page@for@types}{}% +\newcommand*{\jb@start@page@for@types@arg}{}% +\newcommand*{\jb@start@page@for@type@hook}{% + \@for\@tempa:=\jb@start@page@for@types\do{% + \protected@edef\@tempb{\jb@@type}% + \ifx\@tempa\@tempb + \def\jb@start@page@for@types@arg{1}% + \fi + }% +}% +\newcommand*{\jb@formatted@year}{% + \nobreakspace\textup{\jbcitationyearformat{\jb@@year}}% + \ifjb@oyear@in@citation\jb@formatted@oyear\fi +}% +\newcommand*{\jb@formatted@oyear}{% + \ifthenelse{\equal{\jb@@oyear}{}}{}{\unskip\unskip\textup{\jbcitationoyearformat{\jb@@year}}}% +}% +\DeclareRobustCommand{\jbyear}{% NEW 0.5c + \ifjb@author@year + \ifthenelse{\equal{\jb@@year}{}}{% + \@ifundefined{NOYEAR@\jb@@newauthorcite}{% + \global\@namedef{NOYEAR@\jb@@newauthorcite}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + No year for `\jb@@newauthorcite'!}}{\relax}% + \let\jbcitationyearformat\@empty + }{% + \jb@formatted@year% + }% + \fi +}% +% NEW 0.5f improved \bibYear macro, difference between citation and +% bibliography introduced (suggested by Uwe Kellermann) +\DeclareRobustCommand{\bibYear}[1]{% only for jureco.bst + \ifx\relax#1\relax\else + \nobreakspace\bibfnfont{% + \textup{% +% ^^^^^^^ to protect from smallcaps and ... + \ifjbweareinbib + \jbbibyearformat{#1}% + \else + \jbcitationyearformat{#1}% + \fi + }% + }% + \fi +}% +\DeclareRobustCommand{\jbts}{\textsuperscript}% +\newcommand*{\bibleftcolumn}{6pc}% +\newcommand*{\bibcolumnsep}{1pc}% +\newcommand*{\bibrightcolumn}{\textwidth-\bibnumberwidth-\bibcolumnsep-\bibleftcolumn}% +\newcommand*{\bibleftcolumnadjust}{\raggedright}% +\newcommand*{\bibrightcolumnadjust}{\raggedright}% +% NEW 0.6 command for linespace adjustment in tabular mode added +\newcommand*{\bibleftcolumnstretch}{}% +\newcommand*{\bibrightcolumnstretch}{}% +\newcommand*{\bibtabularitemsep}{}% +\newcommand*{\bibaltformatalign}{\relax}% +\newcommand*{\jbdebug}{\jb@debugtrue + \jb@info{*** Debugging ON ***}% + \footnote{\textcolor[named]{Blue}{[volles Erstzitat]}}% + \footnote{\textcolor[named]{Red}{[volles Wiederholungszitat]}}% + \footnote{\textcolor[named]{Dandelion}{[Kurzzitat]}}% + \footnote{\textcolor[named]{WildStrawberry}{[ibidem]}}% + \footnote{\textcolor[named]{Gray}{[Titel ersetzt]}}% +% \renewcommand*{\@biblabel}[1]{% +% \footnotesize\textcolor[named]{NavyBlue}{##1}}% + \setcounter{footnote}{0}% +}% +\DeclareRobustCommand{\jbhowsepannotatorlast}{{\normalfont\slash}}% +\DeclareRobustCommand{\jbhowsepbeforetitle}{\space}% +% special separation after ed's. +\DeclareRobustCommand{\jbhowsepbeforetitleae}{\jbhowsepbeforetitle}% +\DeclareRobustCommand{\jbhowsepbeforetitleibidemname}{,}% +\DeclareRobustCommand{\jbhowsepannotatorfirst}{~in: }% +% 0.51p changed, bug reported by Tilman Finke +\newcommand*{\jbbeforestartpagesep}{\space}% +\renewcommand*{\@biblabel}[1]{}% +% added +\newcommand*{\jb@firstofseven} [7]{#1}% +\newcommand*{\jb@secondofseven} [7]{#2}% +\newcommand*{\jb@thirdofseven} [7]{#3}% +\newcommand*{\jb@fourthofseven} [7]{#4}% +\newcommand*{\jb@fifthofseven} [7]{#5}% +\newcommand*{\jb@sixthofseven} [7]{#6}% +\newcommand*{\jb@seventhofseven}[7]{#7}% +\def\jb@@author{\expandafter\jb@firstofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!! +\def\jb@@shorttitle{\expandafter\jb@secondofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!! +% \jb@thirdofseven=\jb@tempb !!!! +% \jb@fourthofseven=\jb@tempc !!!! +\def\jb@@fullname{\expandafter\jb@fifthofseven\jb@tempa\@empty}% Never add \unskip HERE !!!!! +% \jb@@fullname test for empty doesn't give the right results!! +\def\jb@@fulltitle{\expandafter\jb@sixthofseven\jb@tempa\@empty\unskip}% +%\jb@seventhofseven=\@empty !!!! +\newcommand*{\jb@firstofnine} [9]{#1}% +\newcommand*{\jb@secondofnine} [9]{#2}% +\newcommand*{\jb@thirdofnine} [9]{#3}% +\newcommand*{\jb@fourthofnine} [9]{#4}% +\newcommand*{\jb@fifthofnine} [9]{#5}% +\newcommand*{\jb@sixthofnine} [9]{#6}% +\newcommand*{\jb@seventhofnine}[9]{#7}% +\newcommand*{\jb@eighthofnine} [9]{#8}% +\newcommand*{\jb@ninethofnine} [9]{#9}% +\def\jb@@mult@switch{\expandafter\jb@firstofnine\jb@tempb}% +\def\jb@@howcited{\expandafter\jb@secondofnine\jb@tempb}% +\def\jb@@type{\expandafter\jb@thirdofnine\jb@tempb}% +\def\jb@@year{\expandafter\jb@fourthofnine\jb@tempb}% +\def\jb@@edition{\expandafter\jb@fifthofnine\jb@tempb}% +\def\jb@@edition@switch{\expandafter\jb@sixthofnine\jb@tempb}% +\def\jb@@language{\expandafter\jb@seventhofnine\jb@tempb}% +\def\jb@@pages{\expandafter\jb@eighthofnine\jb@tempb}% +\def\jb@@apy{\expandafter\jb@ninethofnine\jb@tempb}% +% +\def\jb@@title{\expandafter\jb@firstofnine\jb@tempc}% +\def\jb@@gender{\expandafter\jb@secondofnine\jb@tempc}% +% NEW 0.6 oyear in text citation +\def\jb@@oyear{\expandafter\jb@thirdofnine\jb@tempc}% +% 1: both author and editor given +% 2: editor empty, author not +% 3: author empty, editor not +% 4: author and editor empty +\def\jb@@aut@ed@switch{\expandafter\jb@fourthofnine\jb@tempc}% +% +%\def\jb@@{\expandafter\jb@fifthofnine\jb@tempc}% +%\def\jb@@{\expandafter\jb@sixthofnine\jb@tempc}% +%\def\jb@@{\expandafter\jb@seventhofnine\jb@tempc}% +%\def\jb@@{\expandafter\jb@eighthofnine\jb@tempc}% +%\def\jb@@{\expandafter\jb@ninethofnine\jb@tempc}% +\def\jb@@title@switch{}% +\newcommand*{\jb@extract}{% + \protected@edef\jb@tempa{\csname b@\@citeb\@extra@b@citeb\endcsname}% + \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}% + \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}% +}% +\def\jb@use@fullcite{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \ifthenelse{\equal{\jb@@fullname}{\@empty}}{% + \jb@@fulltitle% + }{% + \jb@@fullname\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle\unskip% + }% + }{% + \ifthenelse{\equal{\jb@@fullname}{\@empty}}{% + \jbauthorfont{\jb@@author}\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle% + }{% + \jb@@fullname\normalfont{\jbhowsepbeforetitle}\jb@@fulltitle\unskip% + }% + }% +}% +\newcommand*{\jb@extraspace}{\space}% +% chapterbib compatibility +\@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{}% +% CH 0.6, reworked bibunits compatibility +\providecommand\@newciteauxhandle{\@auxout} +\AtBeginDocument{\@ifundefined{newcites}{\global\let\@restore@auxhandle\relax}{}} +% NEW 0.6 multibib compatibility +\def\@restore@auxhandle{\gdef\@newciteauxhandle{\@auxout}} +\providecommand\hyper@natlinkstart[1]{} +\providecommand\hyper@natlinkend{} +\providecommand\hyper@natanchorstart[1]{} +\providecommand\hyper@natanchorend{} +\def\hyper@jblinkstart{\hyper@natlinkstart} +\def\hyper@jblinkend{\hyper@natlinkend} +\def\hyper@jbanchorstart{\hyper@natanchorstart} +\def\hyper@jbanchorend{\hyper@natanchorend} +\def\NAT@parse{} +\def\Hy@reserved@a{} +\newcounter{jbbibcnt} +\newcounter{jbbibcnta} +\newcounter{idemcnt}% NEW 0.5e idem feature +\newcounter{bibnamereplace}% +\newcounter{citefull}% +\newcounter{opcit}% +\newcounter{jb@cites@in@footnote} +\newcommand*{\samepageibidemname}{\ibidemname} +\newcommand*{\samepageibidemmidname}{\ibidemmidname} +\newcommand*{\diffpageibidemname}{\ibidemname} +\newcommand*{\diffpageibidemmidname}{\ibidemmidname} +\newcommand*{\IbidemName}{\ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\samepageibidemname}{\diffpageibidemname}} +\newcommand*{\IbidemMidName}{\ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\samepageibidemmidname}{\diffpageibidemmidname}} +\newcommand*{\jb@@lastpagecite}{}% +\newcommand*{\jb@@lastannotatorcite}{}% +\newcommand*{\jb@@lastauthorcite}{}% +\newcommand*{\jb@getsecondarg}{}% +\long\def\jb@getsecondarg#1#2#3\@nil{#2}% +\newcommand*{\jb@simple@pageref@by@heiko}[1]{% + \expandafter\expandafter\expandafter\jb@getsecondarg + \csname r@#1\endcsname{??}\@nil}% +\newcommand*{\jb@checked@edition}{}% +\newcommand*{\jb@aftertitleedition}{}% +\newcommand*{\jb@handle@superscript@ed}{% + \let\jb@checked@edition\@empty % complete removal of superscript edition or + %\let\jb@kerning@title@ed\@empty % only removal of kerning? + %\let\jb@kerning@notitle@ed\@empty % +}% +% changed for 05.f +\newcommand*{\jb@formatted@author}{% + \ifjbcross + \ifthenelse{% + \equal{\jb@inside@author}{\jb@inside@editor}% + \and\boolean{jb@idem}% + }{% + \jb@@fullname% contains `idem, editor' + }{% + \jbauthorfont{\jb@@author}\ifjb@yearafterauthor\jbyear\fi + }% + \else + \jbauthorfont{\jb@@author}\ifjb@yearafterauthor\jbyear\fi + \fi +}% +\newcommand*{\jb@formatted@co@author}{% + \jbannotatorfont{\jb@@newannotatorcite}}% +\newcommand*{\jb@formatted@co@author@see}{% + \textup{\jb@@newannotatorcite}\ifthenelse{\equal{\jb@@newannotatorcite}{}}{}{\space}}% +\newcommand*{\jb@formatted@co@author@in}{% + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{\relax}{% + \jbannotatorfont{\jb@@newannotatorcite}\jbhowsepannotatorfirst}}% +\newcommand*{\jb@checked@title}{% + \ifjbhum + \ifthenelse{\equal{\jb@@type}{book}}{% + \let\jbtitlefont\jbbtfont}{\let\jbtitlefont\jbapifont}% + \fi + \ifthenelse{\equal{\jb@@shorttitle}{}}{% + \ifthenelse{% + \not\boolean{jb@author@year}% + \or + \( + \boolean{jb@all@titles}% + \and\boolean{jb@author@year}% + \) + }{% + \ifjb@no@title@replace\else + \ifjb@noauthorforcitetitle\else + \normalfont{\jbhowsepbeforetitle}% + \fi + \fi + \ifjb@no@title@replace\else + \@ifundefined{REPL@\jb@@newauthorcite}{% + \global\@namedef{REPL@\jb@@newauthorcite}{}% + \jb@package@warning{\jb@pkg@name}{% + `shorttitle' for `\jb@@newauthorcite'\MessageBreak + is missing -- replacing with `title'\MessageBreak + field}}{}% + \ifjb@debug + \textcolor[named]{Gray}{% + \ifjb@debug@br[\fi + \jbfulltitlefont{\jb@@title}% + \ifjb@debug@br]\fi + }% + \else + \jbfulltitlefont{\jb@@title}% + \fi% + \fi + }{}% + }{% + \ifthenelse{% + \not\boolean{jb@author@year}% + \or + \( + \boolean{jb@all@titles}% + \and\boolean{jb@author@year}% + \) + }{% + \ifjb@noauthorforcitetitle\else + \normalfont{\jbhowsepbeforetitle}% + \fi + \jbshorttitlefont{\jb@@shorttitle}% + }{}% + \@ifundefined{TITLE@\jb@@newauthorcite}{% + \global\@namedef{TITLE@\jb@@newauthorcite}{used}% + }{}% + }% +}% +% NEW 0.5f analogous to previous command, primarily for oxford crossref command +\newcommand*{\jb@checked@author}{% + \ifthenelse{\equal{\jb@@fullname}{}}{% + \ifthenelse{\equal{\jb@@author}{}}{% + \relax + }{% + \jbauthorfont{\jb@@author}% + }% + }{% + \jbauthorfont{\jb@@fullname}% + }% +}% +\newcommand*{\jb@make@annotator@emph}{% + \ifjb@dynamic@author@fonts% + \let\jbannotatorfont\jbactualauthorfont% + \let\jbauthorfont\jbauthorfontifannotator% + \fi +}% +\newcommand*{\jb@make@author@emph}{% + \ifjb@dynamic@author@fonts% + \let\jbauthorfont\jbactualauthorfont% + \let\jbannotatorfont\normalfont% + \fi +}% +\newcommand*{\jb@relaxcommandsforfullcite}{% + \let\IbidemName\@empty + \let\jb@@author\@empty + \let\jb@@title\@empty +% NEW 0.5e bug removed for ibidem'ed citations, wrong error message about missing shorttitle +% (although given), submitted by Andreas K. Foerster +% changed \@empty to \relax + \let\jb@@shorttitle\relax + \let\jbyear\@empty + \let\jb@checked@edition\@empty + \let\jb@@newannotatorcite\@empty + \let\jbhowsepbeforetitle\@empty + \let\jbapifont\@empty + \let\jbbtfont\@empty +% NEW 0.5f avoid output of \jb@formatted@author after fullcite's + \let\jb@formatted@author\@empty +}% +\newcommand*{\jb@checkperiod}[1]{\jb@periodfalse\jb@@checkperiod#1.\jb@@end}% +\newcommand*{\jb@@checkperiod}{}% +\long\def\jb@@checkperiod#1.#2\jb@@end{% + \ifthenelse{\equal{#1}{}}{\jb@periodtrue\let\ecmd\relax}{% + \ifthenelse{\equal{#2}{}}{\let\ecmd\relax}{% + \def\ecmd{\jb@@checkperiod#2\jb@@end}}}\ecmd}% +\newlength{\jbbibhang} +\setlength{\jbbibhang}{2.5em} +\newlength{\bibnumberwidth} +\settowidth{\bibnumberwidth}{8888.\,} +\DeclareRobustCommand{\jb@checked@bibetal}{% + \ifjb@bibetal + \unskip\nobreakspace% + \ifjb@cite@no@title + \ifx\jb@@newpagecite\@empty + \bibIMfont{\etalnamenodot}% + \else + \bibIMfont{\etalname}% + \fi + \else + \bibIMfont{\etalname}% + \fi + \fi +} +\DeclareRobustCommand{\Bibetal}{\jb@checked@bibetal\global\jbetaltrue} +% CHANGED rewritten in 0.5f +\newcommand*{\jb@checked@etal}{% + \let\@latex@info\@gobble + \DeclareRobustCommand{\Bibetal}{% + \bibIMfont{\etalname}% + \ifthenelse{\equal{\jb@@newpagecite}{}% + \or + \( + \boolean{jb@firstcite@full}% + \and + \equal{\jb@@newpagecite}{}% + \and + \equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% + \) + }{% +% CHANGED 0.5f, boole'd + \ifthenelse{% + \not\boolean{jbcross}% NEW, otherwise missing footnote period for citations containing crossref's + \and + \not\boolean{jb@lookat}% + \and + \not\boolean{jb@author@year}% + \and + \not\boolean{jb@fullcite@again}% + \and + \not\equal{\jb@@mult@switch}{1}% + }{% + \global\jb@footnote@periodfalse + }{}% + }{}% + }% +}% +\newcommand*{\jb@missing@ldf@files}[1]{\ClassError{\jb@pkg@name}{You are in trouble here.\MessageBreak% + File `#1' not found}{Make sure that all .ldf files are living in the jurabib directory!}}% +\gdef\@bibsfrench{\InputIfFileExists{frjbbib.ldf}{}{\jb@missing@ldf@files{frjbbib.ldf}}}% +\gdef\@bibsgerman{\InputIfFileExists{dejbbib.ldf}{}{\jb@missing@ldf@files{dejbbib.ldf}}}% +\gdef\@bibsaustrian{\InputIfFileExists{dejbbib.ldf}{}{\jb@missing@ldf@files{dejbbib.ldf}}\def\janname{J{^^e4}nner}}% +\gdef\@bibsenglish{\InputIfFileExists{enjbbib.ldf}{}{\jb@missing@ldf@files{enjbbib.ldf}}}% +\gdef\@bibsdutch{\InputIfFileExists{dujbbib.ldf}{}{\jb@missing@ldf@files{dujbbib.ldf}}}% +\gdef\@bibsspanish{\InputIfFileExists{spjbbib.ldf}{}{\jb@missing@ldf@files{spjbbib.ldf}}}% +\gdef\@bibsportuguese{\InputIfFileExists{ptjbbib.ldf}{}{\jb@missing@ldf@files{ptjbbib.ldf}}}% +\gdef\@bibsitalian{\InputIfFileExists{itjbbib.ldf}{}{\jb@missing@ldf@files{itjbbib.ldf}}}% +\gdef\@bibsnorsk{\InputIfFileExists{nojbbib.ldf}{}{\jb@missing@ldf@files{nojbbib.ldf}}}% +\gdef\@bibsfinnish{\InputIfFileExists{fijbbib.ldf}{}{\jb@missing@ldf@files{fijbbib.ldf}}}% +\gdef\@bibsdanish{\InputIfFileExists{dajbbib.ldf}{}{\jb@missing@ldf@files{dajbbib.ldf}}}% +\newcommand*{\jb@kv@warning}[2]{% + \jb@package@warningNoLine{\jb@pkg@name}{% + unrecognized value `#1'\MessageBreak + for key `#2' ignored}} +\define@key{jb}{authorformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{smallcaps}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbauthorfont}{\textsc}% + \renewcommand*{\jbauthorfnfont}{\textsc}% + \renewcommand*{\jborgauthorfont}{\textsc}% + \renewcommand*{\jbannotatorfont}{\textsc}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{italic}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbauthorfont}{\textit}% + \renewcommand*{\jbauthorfnfont}{\textit}% + \renewcommand*{\jborgauthorfont}{\textit}% + \renewcommand*{\jbannotatorfont}{\textit}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{dynamic}}{% + \jb@kv@recognizedtrue + \jb@dynamic@author@fontstrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{citationreversed}}{% + \jb@kv@recognizedtrue + \jb@reverse@names@in@citationtrue + \jb@reverse@all@namesfalse + }{\relax}% + \ifthenelse{\equal{\jb@val}{firstnotreversed}}{% + \jb@kv@recognizedtrue + \jb@first@author@reversedtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{allreversed}}{% + \jb@kv@recognizedtrue + \jb@reverse@all@namestrue + \global\let\bibnf\bibrnf + \global\let\bibenf\bibrenf + \global\let\biblenf\bibrlenf + }{\relax}% + \ifthenelse{\equal{\jb@val}{reducedifibidem}}{% + \jb@kv@recognizedtrue + \jb@ibidem@with@short@nametrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{year}}{% + \jb@kv@recognizedtrue + \jb@author@yeartrue + \jb@yearafterauthortrue + \jbshowbibextralabel + }{\relax}% + \ifthenelse{\equal{\jb@val}{indexed}}{% + \jb@kv@recognizedtrue + \jb@indextrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{and}}{% + \jb@kv@recognizedtrue + \bibsall{% + \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }% + \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\jbbstasep { \bibIMfont{\textandname} }% + \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }% + \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\bibbstasep{ \bibIMfont{\bibandname} }% +% ed section + \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }% + \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\jbbstesep { \bibEIMfont{\texteandname} }% + \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }% + \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\bibbstesep{ \bibEIMfont{\bibeandname} }% + }% + \addto\@bibsenglish{% + \DeclareRobustCommand\jbbtasep { \bibIMfont{\textandname} }% + \DeclareRobustCommand\jbbfsasep {\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\jbbstasep {\unskip\bibIMfont{\commaname{} \textandname} }% + \DeclareRobustCommand\bibbtasep { \bibIMfont{\bibandname} }% + \DeclareRobustCommand\bibbfsasep{\unskip\bibIMfont{\commaname} }% + \DeclareRobustCommand\bibbstasep{\unskip\bibIMfont{\commaname{} \bibandname} }% +% ed section + \DeclareRobustCommand\jbbtesep { \bibEIMfont{\texteandname} }% + \DeclareRobustCommand\jbbfsesep {\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\jbbstesep {\unskip\bibEIMfont{\commaename{} \texteandname} }% + \DeclareRobustCommand\bibbtesep { \bibEIMfont{\bibeandname} }% + \DeclareRobustCommand\bibbfsesep{\unskip\bibEIMfont{\commaename} }% + \DeclareRobustCommand\bibbstesep{\unskip\bibEIMfont{\commaename{} \bibeandname} }% + }% + }{\relax}% + \ifthenelse{\equal{\jb@val}{abbrv}}{% + \jb@kv@recognizedtrue + \jb@abbrvtrue + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{authorformat}\fi + }% +}% +\define@key{jb}{annotatorformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{italic}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbannotatorfont}{\textit}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{normal}}{% + \jb@kv@recognizedtrue + \renewcommand*{\jbannotatorfont}{\normalfont}% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{annotatorformat}\fi + }% +}% +\define@key{jb}{superscriptedition}[commented]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue\jb@ssed@alltrue}{}% + \ifthenelse{\equal{\jb@val}{commented}}{% + \jb@kv@recognizedtrue\jb@ssed@commentedtrue}{}% + \ifthenelse{\equal{\jb@val}{switch}}{% + \jb@kv@recognizedtrue\jb@ssed@swtrue}{}% + \ifthenelse{\equal{\jb@val}{bib}\or\equal{\jb@val}{address}}{% + \jb@kv@recognizedtrue\jb@bibssedtrue + \let\jbedition\@gobble}{}% + \ifthenelse{\equal{\jb@val}{multiple}}{% + \jb@kv@recognizedtrue\jb@ssed@mult@workstrue}{}% +% \ifthenelse{\equal{\jb@val}{kerning}}{% +% \jb@kv@recognizedtrue\jb@ssed@kerning@wantedtrue}{}% + \ifthenelse{\equal{\jb@val}{year}}{\jb@kv@recognizedtrue + \renewcommand*{\jbssedbd}{\textsuperscript}% + \let\jbedition\@gobble\DeclareRobustCommand{\apyformat}[1]{% + \unskip\unskip\space\bibapyldelim{}##1\bibapyrdelim{}} + }{}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{superscriptedition}\fi + }% +}% +\define@key{jb}{titleformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{italic}}{% + \jb@kv@recognizedtrue + \DeclareRobustCommand{\jbtitlefont}{\textit}% + }{\relax}% + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue + \ifjb@no@title@replace + \global\jb@no@title@replacefalse + \jb@package@warningNoLine{\jb@pkg@name}{% + `titleformat=all' and `titleformat=noreplace'\MessageBreak + cannot be used together. I will replace missing\MessageBreak + shorttitles to avoid ambiguity of citations}% + \fi + \jb@all@titlestrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{noreplace}}{% + \jb@kv@recognizedtrue + \jb@no@title@replacetrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{commasep}}{% + \jb@kv@recognizedtrue + \jb@before@title@separatortrue + \renewcommand*{\jbhowsepbeforetitle}{, }% + }{\relax}% + \ifthenelse{\equal{\jb@val}{colonsep}}{% + \jb@kv@recognizedtrue + \jb@before@title@separatortrue + \renewcommand*{\jbhowsepbeforetitle}{: }% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{titleformat}\fi + }% +}% +\define@key{jb}{din}[true]{% + \AtEndOfPackage{% + \DeclareRobustCommand{\biblnfont}{\textsc}% + \DeclareRobustCommand{\bibfnfont}{\normalfont}% + \DeclareRobustCommand{\bibbtfont}{\textit}% + \DeclareRobustCommand{\bibtfont}{\textit}% + \DeclareRobustCommand{\bibjtfont}{\textit}% + \DeclareRobustCommand{\bibapifont}{\normalfont}% + \DeclareRobustCommand{\bibatsep}{.}% + \DeclareRobustCommand{\bibbtsep}{\inname{} }% + \DeclareRobustCommand{\bibjtsep}{\inname{} }% + }% +}% +\define@key{jb}{howcited}[normal]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@alltrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{normal}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@normaltrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{multiple}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@multipletrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{compare}}{% + \jb@kv@recognizedtrue + \jb@howcitedtrue + \jb@howcited@comparetrue + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{howcited}\fi + }% + \renewcommand*{\jbrealcitation}[2]{% + \@ifundefined{b@##2@C}{\global\@namedef{b@##2@C}{cite}}{\relax}% + \ifthenelse{\equal{##1}{citetitle}}{% + \global\@namedef{b@##2@C}{citetitle}}{\relax}% + \ifthenelse{\equal{##1}{citenotitle}}{% + \global\@namedef{b@##2@C}{citenotitle}}{\relax}}% +}% +\define@key{jb}{annotatorfirstsep}{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{#1}{comma}}{% + \jb@kv@recognizedtrue + \jb@annotator@lastfalse + \renewcommand*{\jbhowsepannotatorfirst}{, }% + }{\relax}% + \ifthenelse{\equal{#1}{in}}{% + \jb@kv@recognizedtrue + \jb@annotator@lastfalse + \renewcommand*{\jbhowsepannotatorfirst}{~in: }% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{#1}{annotatorfirstsep}\fi +}% +\define@key{jb}{annotatorlastsep}{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{#1}{divis}}{% + \jb@kv@recognizedtrue + \jb@annotator@lasttrue + \renewcommand*{\jbhowsepannotatorlast}{--}% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{#1}{annotatorlastsep}\fi +}% +\define@key{jb}{commabeforerest}[true]{\jb@comma@before@resttrue\renewcommand*{\jbbeforestartpagesep}{,\space}}% +\define@key{jb}{bibformat}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{compress}}{% + \jb@kv@recognizedtrue + \jb@compressed@bibtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{raggedright}}{% + \jb@kv@recognizedtrue + \addto\jbonlyforbib{\raggedright} + \let\bibaltformatalign\raggedright + }{\relax}% + \ifthenelse{\equal{\jb@val}{tabular}}{% + \jb@kv@recognizedtrue + \jb@tabulartrue\jb@bib@hangfalse + }{\relax}% + \ifthenelse{\equal{\jb@val}{numbered}}{% + \jb@kv@recognizedtrue + \jb@numbered@bibtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{ibidem}}{% + \jb@kv@recognizedtrue + \jb@bibformat@ibidemtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{ibidemalt}}{% + \jb@kv@recognizedtrue + \jb@bibformat@ibidemtrue + \jbaltformattrue + \jb@compressed@bibtrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{nohang}}{% + \jb@kv@recognizedtrue + \jb@bib@hangfalse + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{bibformat}\fi + }% +}% +\define@key{jb}{citefull}[all]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{first}}{% + \jb@kv@recognizedtrue + \jb@change@fonts@for@fullcitetrue + \jb@firstcite@fulltrue + \jb@allow@nobibtrue + \global\jb@annotator@lastfalse + \ifjb@see\else\renewcommand*{\jbhowsepannotatorfirst}{~in: }\fi + \jb@all@fullfalse + }{% + \ifthenelse{\equal{\jb@val}{all}}{% + \jb@kv@recognizedtrue + \jb@all@fulltrue + \jb@allow@nobibtrue + \global\jb@howcitedfalse + \global\jb@annotator@lastfalse + \ifjb@see\else\renewcommand*{\jbhowsepannotatorfirst}{~in: }\fi + \jb@firstcite@fullfalse + }{\relax}% + }% + \ifthenelse{\equal{\jb@val}{chapter}}{% + \jb@kv@recognizedtrue + \@ifundefined{chapter}{% + \ClassError{\jb@pkg@name}{% + Sorry, `citefull=chapter' makes no sense for\MessageBreak + classes without \string\chapter% + }{Try `citefull=section' for an article class}}{}% + \setkeys{jb}{citefull=first}% + \@addtoreset{citefull}{chapter}% + \def\jb@resetfor{chapter}% + \def\jb@reset@look@label@for{\thechapter}% for lookat + }{% + \ifthenelse{\equal{\jb@val}{section}}{% + \jb@kv@recognizedtrue + \@ifundefined{chapter}{}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + `citefull=section' was designed for use with\MessageBreak + an article class, note that it's not well\MessageBreak + tested for use with book or report classes}}% + \setkeys{jb}{citefull=first}% + \@addtoreset{citefull}{section}% + \def\jb@resetfor{section}% + \def\jb@reset@look@label@for{\thesection}% for lookat, to check + }{% + \ifthenelse{\equal{\jb@val}{false}}{% + \jb@kv@recognizedtrue + \global\jb@all@fullfalse + \global\jb@allow@nobibfalse + \global\jb@firstcite@fullfalse + }{\relax}% + }% + }% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{citefull}\fi + }% +}% +\define@key{jb}{see}[true]{% + \jb@seetrue\jb@annotator@lastfalse + \renewcommand*{\jbhowsepannotatorfirst}{}% + \renewcommand*{\jbannotatorfont}{\normalfont}% + \let\jb@formatted@co@author\jb@formatted@co@author@see + \let\jb@formatted@co@author@in\jb@formatted@co@author@see +}% +\define@key{jb}{ibidem}[strict]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{false}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \global\jb@ibidemfalse + \global\jb@ibidem@pagewisefalse + \global\jb@ibidem@double@pagewisefalse + \global\jb@ibidem@with@namefalse + \global\jb@ibidem@with@name@and@titlefalse + }% + }{% + \ifthenelse{\equal{\jb@val}{strict}}{% + \jb@kv@recognizedtrue + \jb@ibidemtrue + \jb@ibidem@pagewisetrue + \jb@ibidem@double@pagewisefalse + }{% + \ifthenelse{\equal{\jb@val}{strictdoublepage}}{% + \jb@kv@recognizedtrue + \jb@ibidemtrue + \jb@ibidem@pagewisetrue + \if@twoside\jb@ibidem@double@pagewisetrue + \else\jb@ibidem@double@pagewisefalse\fi + }{% + \ifthenelse{\equal{\jb@val}{nostrict}}{% + \jb@kv@recognizedtrue + \jb@ibidemtrue + \jb@ibidem@pagewisefalse + \jb@ibidem@double@pagewisefalse + }{% + \ifthenelse{\equal{\jb@val}{name}}{% + \jb@kv@recognizedtrue + \setkeys{jb}{citefull=first}% + \jb@ibidemfalse + \global\jb@ibidem@with@nametrue + }{% + \ifthenelse{\equal{\jb@val}{name&title}}{% + \jb@kv@recognizedtrue + \setkeys{jb}{citefull=first}% + \jb@ibidemfalse + \jb@ibidem@with@nametrue + \jb@ibidem@with@name@and@titletrue + }{% + \ifthenelse{\equal{\jb@val}{name&title&auto}}{% + \jb@kv@recognizedtrue + \setkeys{jb}{citefull=first}% + \jb@ibidemfalse + \jb@ibidem@with@nametrue + \jb@ibidem@with@name@and@title@autotrue + }{\relax}}}}}}}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{ibidem}\fi + }% +}% +\define@key{jb}{idem}[strict]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{false}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \global\jb@idemfalse + \global\jb@idem@pagewisefalse + \global\jb@idem@double@pagewisefalse + }% + }{% + \ifthenelse{\equal{\jb@val}{strict}}{% + \jb@kv@recognizedtrue + \jb@idemtrue + \jb@idem@pagewisetrue + \jb@idem@double@pagewisefalse + }{% + \ifthenelse{\equal{\jb@val}{strictdoublepage}}{% + \jb@kv@recognizedtrue + \jb@idemtrue + \jb@idem@pagewisetrue + \if@twoside\jb@idem@double@pagewisetrue + \else\jb@idem@double@pagewisefalse\fi + }{% + \ifthenelse{\equal{\jb@val}{nostrict}}{% + \jb@kv@recognizedtrue + \jb@idemtrue + \jb@idem@pagewisefalse + \jb@idem@double@pagewisefalse + }{\relax}}}}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{idem}\fi + }% +}% +\define@key{jb}{footnotes}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{marginal}}{% + \jb@kv@recognizedtrue +% The code here is originally from myfootnote.sty by Stefan Ulrich, posted in d.c.t.t. + \newlength\jbfootnoteindent + \setlength\jbfootnoteindent{\parindent}% + \newlength\jbfootnotenumwidth + \settowidth\jbfootnotenumwidth{99}% + \newcommand*{\jbfootnotenumalign}{r}% + \newcommand*{\jbfootnoteformat}{\textsuperscript}% + \renewcommand\@makefntext[1]{\@setpar{\@@par + \@tempdima\hsize\advance\@tempdima-\jbfootnoteindent + \parshape\@ne\jbfootnoteindent\@tempdima}% + \parindent 1em\par\noindent + \makebox[0pt][r]{\makebox[\jbfootnoteindent][r]{% + \makebox[\jbfootnotenumwidth][\jbfootnotenumalign]{% + \jbfootnoteformat{\@thefnmark}}\hspace*{\fill}}}##1}% + \AtBeginDocument{% + \ifjb@endnotes + \def\enoteformat{\@setpar{\@@par\@tempdima\hsize + \advance\@tempdima-\jbfootnoteindent + \parshape\@ne\jbfootnoteindent\@tempdima}% + \parindent 1em\par\noindent + \makebox[0pt][r]{\makebox[\jbfootnoteindent][r]{% + \makebox[\jbfootnotenumwidth][\jbfootnotenumalign]{% + \jbfootnoteformat{\@theenmark}}\hspace*{\fill}}}}% + \fi + }% + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{footnotes}\fi + }% +}% +\define@key{jb}{jurabiborder}[true]{\jb@old@ordertrue}% +\define@key{jb}{round}[true]{% + \renewcommand*{\jb@open}{(}% + \renewcommand*{\jb@close}{)}% +}% +\define@key{jb}{square}[true]{% + \renewcommand*{\jb@open}{[}% + \renewcommand*{\jb@close}{]}% +}% +\define@key{jb}{lookat}[true]{\jb@lookattrue}% +\define@key{jb}{crossref}[normal]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{dynamic}}{% + \jb@kv@recognizedtrue + \global\jb@dynamic@crossrefstrue + \setkeys{jb}{crossref=long}% + }{% + \ifthenelse{\equal{\jb@val}{short}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\cite}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\cite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortnoapy + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshort + \else + \renewcommand*{\bibcrossrefcite}{\cite}% + \renewcommand*{\bibcrossrefciteagain}{\cite}% + \renewcommand*{\bibincollcrossrefcite}{\cite}% + \renewcommand*{\bibincollcrossrefciteagain}{\cite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshort + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshort + \fi + }% + }{% + \ifthenelse{\equal{\jb@val}{normal}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\cite}% + \renewcommand*{\bibincollcrossrefciteagain}{\cite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortwithapy + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortnoapy + \else + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossrefshortwithapy + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortwithapy + \fi + }% + }{% + \ifthenelse{\equal{\jb@val}{long}}{% + \jb@kv@recognizedtrue + \AtBeginDocument{% + \ifjb@dynamic@crossrefs + \renewcommand*{\bibcrossrefcite}{\fullcite}% + \renewcommand*{\bibincollcrossrefcite}{\fullcite}% + \renewcommand*{\bibcrossrefciteagain}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossreflong + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossrefshortwithapy + \else + \renewcommand*{\bibcrossrefcite}{\fullcite}% + \renewcommand*{\bibincollcrossrefcite}{\fullcite}% + \renewcommand*{\bibcrossrefciteagain}{\fullcite}% + \renewcommand*{\bibincollcrossrefciteagain}{\fullcite}% + \let\jbedbyincollcrossrefcite\jbedbyincollcrossreflong + \let\jbedbyincollcrossrefciteagain\jbedbyincollcrossreflong + \fi + }% + }{\relax}}}}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{crossref}\fi + }% +}% +\define@key{jb}{pages}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{format}}{% + \jb@kv@recognizedtrue + \jb@formatted@pagestrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{always}}{% + \jb@kv@recognizedtrue + \jb@always@pagerangestrue + }{\relax}% + \ifthenelse{\equal{\jb@val}{test}}{% + \jb@kv@recognizedtrue + \jb@tested@pagerangestrue + }{\relax}% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{pages}\fi + }% +}% +\define@key{jb}{oxford}[true]{% + \jb@kv@recognizedtrue + \global\jbhumtrue + \global\jboxfordtrue\global\jbchicagofalse + \setkeys{jb}{% + authorformat={citationreversed},see,% + titleformat=commasep,% + }% + \jbdotafterbibentry + \AtEndOfPackage{% + \ifjboxford + \ifjb@biblikecite\else + \jb@info{*** jurabib set up for oxford style ***}% + \renewcommand*{\bibfnfont}{}% first name font + \renewcommand*{\biblnfont}{}% last name font + \renewcommand*{\bibefnfont}{}% editor first name font + \renewcommand*{\bibelnfont}{}% editor last name font + \renewcommand*{\bibtfont}{\textit}% title font + \renewcommand*{\bibbtfont}{\textit}% booktitle font + \renewcommand*{\bibjtfont}{\textit}% journal title font + \renewcommand*{\bibapifont}[1]{`##1'}% bib article/incollection title font + \renewcommand*{\jbapifont}[1]{`##1'}% text article/incollection title font + \renewcommand*{\jbtitlefont}{}% text title font + \renewcommand*{\bibansep}{,}% author name sep + \renewcommand*{\bibaesep}{, }% after editor sep + \renewcommand*{\bibatsep}{,}% after title sep + \DeclareRobustCommand{\bibapyldelim}{(}% always parentheses for oxford! + \DeclareRobustCommand{\bibapyrdelim}{)}% always parentheses for oxford! + \DeclareRobustCommand{\dateldelim}{(}% enclose the date in parentheses + \DeclareRobustCommand{\daterdelim}{)}% enclose the date in parentheses + \renewcommand*{\bibbtasep}{ \ }% between two authors sep + \renewcommand*{\bibbfsasep}{, }% between first and second author sep + \renewcommand*{\bibbstasep}{ \ }% between second and third author sep + \renewcommand*{\bibbtesep}{ \ }% between two editors sep + \renewcommand*{\bibbfsesep}{, }% between first and second editor sep + \renewcommand*{\bibbstesep}{ \ }% between second and third editor sep + \renewcommand*{\bibbtsep}{\inname{} }% booktitle sep + \renewcommand*{\jb@cr@open}{}% crossref left delimiter + \renewcommand*{\jb@cr@close}{}% crossref right delimiter + \renewcommand*{\jb@art@cr@open}{}% article crossref left delimiter + \renewcommand*{\jb@art@cr@close}{}% article crossref right delimiter + \renewcommand*{\jb@incoll@cr@open}{}% incoll crossref left delimiter + \renewcommand*{\jb@incoll@cr@close}{}% incoll crossref right delimiter + \renewcommand*{\bibaldelim}{(}% article year left delimiter + \renewcommand*{\bibardelim}{)}% article year right delimiter + \fi\fi + }% + \addto\jbonlyforbib{\renewcommand*{\bibansep}{, }}% make sure that a space appear + \DeclareRobustCommand{\artnumberformat}[1]{\unskip:##1}% + \ifjb@kv@recognized\else\jb@kv@warning{#1}{oxford}\fi +}% +\define@key{jb}{chicago}[true]{% + \jb@kv@recognizedtrue + \global\jbchicagotrue\global\jboxfordfalse + \setkeys{jb}{% + authorformat={citationreversed,firstnotreversed},edby,see,% + bibformat=ibidem,% + citefull=first,% + titleformat=commasep,% + commabeforerest,% + }% + \jb@package@warningNoLine{% + 'chicago' style is still experimental! Do not use together with jox.bst!% + }% + \jbdotafterbibentry% + \AtEndOfPackage{% + \ifjbchicago + \ifjb@biblikecite\else + \jb@info{*** jurabib set up for chicago style ***}% + \renewcommand*{\bibfnfont}{}% first name font + \renewcommand*{\biblnfont}{}% last name font + \renewcommand*{\bibefnfont}{}% editor first name font + \renewcommand*{\bibelnfont}{}% editor last name font + \renewcommand*{\bibtfont}{\textit}% title font + \renewcommand*{\bibbtfont}{\textit}% booktitle font + \renewcommand*{\bibjtfont}{\textit}% journal title font + \renewcommand*{\bibapifont}[1]{``##1''}% bib article/incollection title font + \renewcommand*{\bibsnfont}{}% series name font + \renewcommand*{\jbapifont}[1]{``##1''}% text article/incollection title font + \renewcommand*{\jbtitlefont}{}% text title font + \renewcommand*{\bibansep}{. }% author name sep + \renewcommand*{\bibaesep}{, }% after editor sep + \renewcommand*{\bibatsep}{,}% after title sep + \renewcommand*{\bibbdsep}{,}% before date sep + \renewcommand*{\bibbtasep}{ \bibIMfont{\bibandname} }% between two authors sep + \renewcommand*{\bibbfsasep}{\unskip\bibIMfont{\commaname} }% between first and second author sep + \renewcommand*{\bibbstasep}{ \bibIMfont{\bibandname} }% between second and third author sep + \renewcommand*{\bibbtesep}{ \bibEIMfont{\bibandname} }% between two editors sep + \renewcommand*{\bibbfsesep}{\unskip\bibEIMfont{\commaname} }%between first and second editor sep + \renewcommand*{\bibbstesep}{ \bibEIMfont{\bibandname} }% between second and third editor sep + \renewcommand*{\jbbtasep}{ \bibIMfont{\textandname} }% between two authors sep + \renewcommand*{\jbbfsasep}{\unskip\bibIMfont{\commaname} }% between first and second author sep + \renewcommand*{\jbbstasep}{ \bibIMfont{\textandname} }% between second and third author sep + \renewcommand*{\jbbtesep}{ \bibEIMfont{\texteandname} }% between two editors sep + \renewcommand*{\jbbfsesep}{\unskip\bibEIMfont{\commaename} }%between first and second editor sep + \renewcommand*{\jbbstesep}{ \bibEIMfont{\texteandname} }% between second and third editor sep + \renewcommand*{\bibbtsep}{\inname{} }% booktitle sep + \renewcommand*{\jb@cr@open}{}% crossref left delimiter + \renewcommand*{\jb@cr@close}{}% crossref right delimiter + \renewcommand*{\jb@art@cr@close}{}% article crossref left delimiter + \renewcommand*{\jb@art@cr@close}{}% article crossref right delimiter + \renewcommand*{\jb@incoll@cr@open}{}% incoll crossref left delimiter + \renewcommand*{\jb@incoll@cr@close}{}% incoll crossref right delimiter + \renewcommand*{\bibaldelim}{(}% article year left delimiter + \renewcommand*{\bibardelim}{)}% article year right delimiter + \renewcommand*{\artnumberformat}[1]{,\space{}no.~##1}% article number format + \renewcommand*{\pernumberformat}[1]{,\space{}no.~##1}% periodical format + \renewcommand*{\edbysep}{, }% + \def\bibauthormultiple{% + \stepcounter{multiple@author}% to suppress inside bibliographic entry + \leavevmode\vrule height 2pt depth -1.6pt width 3em\hspace{1pt}.\space}% + \DeclareRobustCommand{\jbnote}[2]{% + \ifjbweareinbib + \unskip\unskip\ifthenelse{\equal{##1}{1}}{\bibatsep{} ##2}{##2}% + \else + \unskip\unskip% + \fi + }% +% only parentheses in text, not in the bibliography! + \ifjbweareinbib\else + \renewcommand*{\bibapyldelim}{\unskip\space(}% + \renewcommand*{\bibapyrdelim}{)}% + \fi + \addto\jbonlyforbib{% + \DeclareRobustCommand\incollinname{\inname{} }% + \DeclareRobustCommand{\bibbtsep}{\inname{} }% + \DeclareRobustCommand{\bibapyldelim}{\unskip\unskip\space}% + \DeclareRobustCommand{\bibapyrdelim}{}% + \DeclareRobustCommand{\bibatsep}{.}% + \DeclareRobustCommand{\dateldelim}{\unskip.}% + \DeclareRobustCommand{\daterdelim}{}% + }% + \AddTo\bibsenglish{% + \def\incollinname{in}% + \def\inname{in}% + \def\editorname{\unskip,\space{}ed.}% + \def\editorsname{\unskip,\space{}eds.}% + \def\edbyname{ed.}% + \def\Edbyname{Ed.}% + \def\volumename{vol.}% + \def\Volumename{Vol.}% + \def\firstedname{1st}% + \def\secondedname{2nd}% + \def\thirdedname{3rd}% + \def\fourthedname{4th}% + \def\fifthedname{5th}% + \def\thedname{th}% +% \def\editionname{ed.}% + \def\editionname{ed}% dot removed, suggested by Robert Schlicht + }% + \fi\fi + }% + \addto\jbonlyforbib{\renewcommand*{\bibansep}{. }}% make sure that a space appear + \ifjb@kv@recognized\else\jb@kv@warning{#1}{chicago}\fi +}% +\define@key{jb}{human}[true]{\global\jbhumtrue} +\define@key{jb}{edby}[true]{\global\jb@edbytrue} +\define@key{jb}{endnote}[true]{% + \DeclareRobustCommand{\jbnote}[2]{\unskip}% + \DeclareRobustCommand{\jbendnote}[1]{\def\jb@endnote{\unskip\unskip\ifjb@dot\else,\fi\space##1}}% +} +\define@key{jb}{biblikecite}[true]{% + \global\jb@biblikecitetrue + \AtBeginDocument{% <== to make redefintions work + \global\let\biblnfont\jbauthorfont + \global\let\bibfnfont\jbauthorfnfont + \global\let\bibelnfont\jbauthorfont + \global\let\bibefnfont\jbauthorfnfont + \global\let\bibbtfont\jbtitlefont + \global\let\bibtfont\jbtitlefont + \global\let\bibapifont\jbapifont + }% +} +\define@key{jb}{opcit}[true]{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{true}}{% + \jb@kv@recognizedtrue + \jb@opcittrue + }{}% + \ifthenelse{\equal{\jb@val}{chapter}}{% + \jb@kv@recognizedtrue + \global\jb@opcittrue + \@ifundefined{chapter}{% + \ClassError{\jb@pkg@name}{% + Sorry, `opcit=chapter' makes no sense for\MessageBreak + classes without \string\chapter% + }{Try `opcit=section' for an article class}}{}% + \@addtoreset{opcit}{chapter}% + \def\jb@reset@opcit@for{chapter}% + \def\jb@reset@opcit@label@for{\thechapter}% + }{% + \ifthenelse{\equal{\jb@val}{section}}{% + \jb@kv@recognizedtrue + \global\jb@opcittrue + \@ifundefined{chapter}{}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + `opcit=section' was designed for use with\MessageBreak + an article class, note that it's not well\MessageBreak + tested for use with book or report classes}}% + \@addtoreset{opcit}{section}% + \def\jb@reset@opcit@for{section}% + \def\jb@reset@opcit@label@for{\thesection}% + }{}% + }% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{opcit}\fi + }% +}% +\define@key{jb}{annote}[true]{% + \renewcommand{\bibAnnote}[1]{% + \ifjb@tabular + \par% + \begin{minipage}[t]{\bibleftcolumn}% + \renewcommand*{\bibansep}{}% + \bibleftcolumnadjust\mbox{}% + \end{minipage}% + \ifjb@numbered@bib\hspace{15mm}\else\hspace{10mm}\fi + \begin{minipage}[t]{\bibrightcolumn}% + \bibrightcolumnadjust% + \jbannoteformat{##1}% + \end{minipage}% + \else + \par\jbannoteformat{##1}% + \fi + }% + \renewcommand{\bibAnnoteFile}[1]{% + \ifjb@tabular + \par% + \begin{minipage}[t]{\bibleftcolumn}% + \renewcommand*{\bibansep}{}% + \bibleftcolumnadjust\mbox{}% + \end{minipage}% + \ifjb@numbered@bib\hspace{15mm}\else\hspace{10mm}\fi + \begin{minipage}[t]{\bibrightcolumn}% + \bibrightcolumnadjust% + \begingroup + \let\input@path\jb@ann@input@path + \IfFileExists{##1}{\ProvidesFile{##1.tex}% + [Bibliography annote file]\jbannoteformat{\input{##1}}}{}% + \endgroup + \end{minipage}% + \else + \begingroup + \let\input@path\jb@ann@input@path + \IfFileExists{##1}{\ProvidesFile{##1.tex}% + [Bibliography annote file]\par\jbannoteformat{\input{##1}}}{}% + \endgroup + \fi + }% +} +\define@key{jb}{citetoend}[true]{\jb@citetoendtrue} +\define@key{jb}{hypercite}{% + \ifthenelse{\equal{#1}{true}}{\jb@allow@hyper@citetrue}{% + \ifthenelse{\equal{#1}{false}}{\jb@allow@hyper@citefalse}{\relax}}} +% NEW 0.6 +\define@key{jb}{lookforgender}[true]{\global\jblookforgendertrue} +% NEW 0.6 +\define@key{jb}{dotafter}{% + \@for\jb@val:=#1\do{% + \jb@kv@recognizedfalse + \ifthenelse{\equal{\jb@val}{bibentry}}{% + \jb@kv@recognizedtrue + \jb@dottrue + }{% + \ifthenelse{\equal{\jb@val}{endnote}}{% + \jb@kv@recognizedtrue + \def\@endanenote{\unskip.\par\endgroup}% + }{}% + }% + \ifjb@kv@recognized\else\jb@kv@warning{\jb@val}{dotafter}\fi + } +}% +% NEW 0.6 +\define@key{jb}{silent}{\jbsilent}% +% NEW 0.6 automatic translation from in-text citations to footnotes, suggested by Frank Mittelbach +\define@key{jb}{super}[true]{\jb@supertrue}% +\define@key{jb}{nosplit}[true]{\jb@nosplittrue}% +\newcommand*{\jb@config@file}{jurabib.cfg}% +\newcommand*{\jb@own@config@file}{}% +\define@key{jb}{config}[jurabib]{\renewcommand*{\jb@own@config@file}{#1.cfg}}% +\newcommand*{\jb@enotes@warning}{% + \PackageWarning{\jb@pkg@name}{% + I assume you know what you are doing!\MessageBreak + You are using `\string\cite' or something similar inside\MessageBreak + a footnote while using endnotes.sty. This will\MessageBreak + produce ambiguous references and not the\MessageBreak + expected results. If you are unsure what\MessageBreak + to do, use \string\cite\space or \string\footcite\space\MessageBreak + instead}% +} +\AtBeginDocument{% + \setkeys{jb}{crossref=normal}% + \ifjbhum + \setkeys{jb}{authorformat=and}% + \DeclareRobustCommand{\jbbtfont}{\textit}% + \jb@typeout{^^JPackage jurabib Info: *** jurabib set up for humanities stuff ***^^J}% + \fi +% REMOVED 0.6, can cause problems when using something like \MakeUpperCase{...\ss...}, thanks to Frank Mittelbach +% \renewcommand*{\SS}{\S\kern-.8pt\S\relax}% + \providecommand*{\SSS}{\S\kern-.8pt\S\relax}% + \@ifclassloaded{jura}{\global\jb@juratrue\global\jb@alphanumtrue}{\relax}% + \@ifpackageloaded{alphanum}{\global\jb@alphanumtrue}{\relax}% + \@ifpackageloaded{ragged2e}{\global\jb@raggedtrue}{\relax}% + \@ifpackageloaded{url}{\global\jb@urltrue}{\relax}% + \@ifpackageloaded{index}{\let\jb@@call@index\jb@@call@type@index}{\let\jb@@call@index\jb@@call@normal@index} + \@ifpackageloaded{babel}{\global\jb@babeltrue}{\relax}% + \@ifpackageloaded{varioref}{\ifjb@ignore@varioref\global\jb@variofalse\else\global\jb@variotrue\fi}{\relax}% + \@ifpackageloaded{hyperref}{% +% NEW 0.6 hyperref disables \Hy@hyperfootnotes if tabularx.sty is loaded, here we have to insert the footnote wrapper again, +% otherwise the footnote counter will be not set appropriate and it appears lower case ibidem instead of upper case ibidem. + \ifHy@hyperfootnotes\else % tabularx loaded! + \jb@typeout{^^JPackage jurabib Info: 'hyperref' + 'tabularx' loaded, adapting footnote macro}% + \let\Orig@tabularx@footnotetext\@footnotetext + \long\def\@footnotetext#1{% + \Orig@tabularx@footnotetext{% + \jb@fntrue + #1% + \setcounter{jb@cites@in@footnote}{0}% + }% + }% + \fi + \@ifpackageloaded{tex4ht}{}{% Hook for tex4ht added + \global\jb@hypertrue +% CH 0.6 hardcoded hyperref footnote definition removed, wrapper used instead, posted by Heiko Oberdiek in d.c.t.t. +% ??? \let\hyperref@footnotetext\@footnotetext +% ??? \let\@footnotetext\hyperref@footnotetext + \let\Orig@H@@footnotetext\H@@footnotetext + \long\def\H@@footnotetext#1{% + \Orig@H@@footnotetext{% + \jb@fntrue + #1% + \setcounter{jb@cites@in@footnote}{0}% + }% + }% + }{\relax}% + }{\relax}% + \ifjb@hyper +% CH 0.6, define only if alphanum is loaded + \@ifundefined{J@LongToc}{}{% + \let\J@SetCurrent\relax + \def\toclevel@lvla{0}\def\toclevel@lvlb{1} + \def\toclevel@lvlc{2}\def\toclevel@lvld{3} + \def\toclevel@lvle{4}\def\toclevel@lvlf{5} + \def\toclevel@lvlg{6}\def\toclevel@lvlh{7} + \def\toclevel@lvli{8}\def\toclevel@lvlj{9} + \def\toclevel@lvlj{10}\def\toclevel@lvll{11} + \newcommand*{\theHlvla}{\J@Number}\newcommand*{\theHlvlb}{\J@Number} + \newcommand*{\theHlvlc}{\J@Number}\newcommand*{\theHlvld}{\J@Number} + \newcommand*{\theHlvle}{\J@Number}\newcommand*{\theHlvlf}{\J@Number} + \newcommand*{\theHlvlg}{\J@Number}\newcommand*{\theHlvlh}{\J@Number} + \newcommand*{\theHlvli}{\J@Number}\newcommand*{\theHlvlj}{\J@Number} + \newcommand*{\theHlvlk}{\J@Number}\newcommand*{\theHlvll}{\J@Number} + \renewcommand*{\J@LongToc}[2][]{% + \@startsection{lvl\alph{tiefe}}{\number\value{tiefe}}{0pt}% + {\ifnum\value{tiefe}=1 -4ex plus-1,5ex minus-0,ex\else% + -2,7ex plus-0,8ex minus-0,2ex\fi}{\ifnum\value{tiefe}>7 % + -1em plus-0,5em\relax\else 0,6ex plus0,3ex minus0,1ex\fi}% + {\sectfont\csname lvl\alph{tiefe}style\endcsname}[#1]{#2}% + }% + }% + \def\BR@@lbibitem[#1]#2#3\par{\BRorg@bibitem[#1]{#2}#3\par}% + \else +% CH 0.6, wrapper for \@footnotetext, suggested by Frank Mittelbach + \let\jbsaved@footnotetext\@footnotetext +% CH 0.6, \long added, allow paragraphs [RS] + \long\def\@footnotetext#1{% + \begingroup + \jb@fntrue + \jbsaved@footnotetext{#1}% + \setcounter{jb@cites@in@footnote}{0}% + \endgroup + }% +% NEW 0.6 reset counter for cites in endnotes too -- dirty + \ifjb@endnotes\g@addto@macro\enoteformat{\setcounter{jb@cites@in@footnote}{0}}\fi + \fi + \@ifpackageloaded{backref}{\global\jb@backreftrue}{\relax}% + \@ifpackageloaded{bibtopic}{\global\jb@all@titlestrue% +% NEW 0.52o No warning about ambiguous citations if `authorformat=year' is used + \ifjb@author@year\else + \jb@package@warningNoLine{\jb@pkg@name}{% + All titles are cited, you're using `bibtopic'!\MessageBreak + Make sure that the `shorttitle' fields are not\MessageBreak + empty, otherwise I'll using the `title' fields for\MessageBreak + replacement. See the package documentation for\MessageBreak + further explanation}% + \fi + }{\relax}% + \ifjb@babel + \jb@typeout{^^JPackage jurabib Info: *** jurabib set up for babel ***^^J}% +% NEW 0.6 added some alternative babel main language values, initially suggested by Harri Kiiskinen + \ifthenelse{\equal{\bbl@main@language}{german}% + \TE@or\equal{\bbl@main@language}{germanb}% + \TE@or\equal{\bbl@main@language}{ngerman}% + \TE@or\equal{\bbl@main@language}{austrian}% + \TE@or\equal{\bbl@main@language}{naustrian}% + }{\@bibsgerman\bibsgerman}{% + \ifthenelse{\equal{\bbl@main@language}{french}% + \TE@or\equal{\bbl@main@language}{francaise}% + \TE@or\equal{\bbl@main@language}{canadien}% + \TE@or\equal{\bbl@main@language}{acadian}% + }{\@bibsfrench\bibsfrench}{% + \ifthenelse{\equal{\bbl@main@language}{english}% + \TE@or\equal{\bbl@main@language}{USenglish}% + \TE@or\equal{\bbl@main@language}{american}% + \TE@or\equal{\bbl@main@language}{UKenglish}% + \TE@or\equal{\bbl@main@language}{british}% + \TE@or\equal{\bbl@main@language}{canadian}% + }{\@bibsenglish\bibsenglish}{% + \ifthenelse{\equal{\bbl@main@language}{dutch}% + }{\@bibsdutch\bibsdutch}{% + \ifthenelse{\equal{\bbl@main@language}{spanish}% + }{\@bibsspanish\bibsspanish}{% + \ifthenelse{\equal{\bbl@main@language}{portuges}% + \TE@or\equal{\bbl@main@language}{portuguese}% + \TE@or\equal{\bbl@main@language}{brazilian}% + \TE@or\equal{\bbl@main@language}{brazil}% + }{\@bibsportuguese\bibsportuguese}{% + \ifthenelse{\equal{\bbl@main@language}{italian}% + }{\@bibsitalian\bibsitalian}{% + \ifthenelse{\equal{\bbl@main@language}{norsk}% + \TE@or\equal{\bbl@main@language}{nynorks}% + }{\@bibsnorsk\bibsnorsk}{% + \ifthenelse{\equal{\bbl@main@language}{finnish}% + }{\@bibsfinnish\bibsfinnish}{% + \ifthenelse{\equal{\bbl@main@language}{danish}% + }{\@bibsdanish\bibsdanish}{% +% NEW 0.6 fallback to English for not known languages and warning inserted + \jb@package@warningNoLine{\jb@pkg@name}{% + The language you declared as babel main language\MessageBreak + is not yet supported by jurabib, please contact \MessageBreak + the maintainer! We're using english as the default now.}% + \@bibsenglish\bibsenglish% + }}}}}}}}}}% + \else + \@ifpackageloaded{german}{\@bibsgerman\bibsgerman\renewcommand{\bbl@main@language}{german}}{% + \@ifpackageloaded{ngerman}{\@bibsgerman\bibsgerman\renewcommand{\bbl@main@language}{german}}{ + \@ifpackageloaded{french}{\@bibsfrench\bibsfrench\renewcommand{\bbl@main@language}{french}}{% + \@ifpackageloaded{frenchle}{\@bibsfrench\bibsfrench\renewcommand{\bbl@main@language}{french}}{% + \@bibsenglish\bibsenglish}}}}% + \fi + \@ifundefined{chapter}{% + \let\jb@orig@section\section % chapterbib.sty + numberedbib + \renewcommand*{\section}{\setcounter{jbbibcnta}{0}\jb@orig@section}% + }{% + \let\jb@orig@chapter\chapter % chapterbib.sty + numberedbib + \renewcommand*{\chapter}{\setcounter{jbbibcnta}{0}\jb@orig@chapter}% + }% +% 0.5e: moved from \AtEndOfPackage because of problems, if setspace.sty is loaded after jurabib +% reported by Hubert Selhofer +% NEW 0.5f \jb@enote@hook introduced for compatibility with endnotes.sty + \@ifundefined{@xendnotenext}{\relax}{% + \global\jb@endnotestrue + \let\jb@orig@citex\@citex + \let\orig@emulate@nat@cite\jb@emulate@nat@cite + \def\@citex[#1][#2]#3{% + \ifjbcross % no extra endnote for crossref's + \jb@orig@citex[#1][#2]{#3}% + \else + \ifjbweareinbib % no extra endnote for howcited's + \jb@orig@citex[#1][#2]{#3}% + \else + \ifjb@fn + \jb@enotes@warning\jb@orig@citex[#1][#2]{#3}% + \else + \ifthenelse{\boolean{jb@foot}\or\boolean{jb@citetoend}\or\boolean{jb@super}}{% + \expandafter\endnote\expandafter{\jb@enote@hook\jb@orig@citex[#1][#2]{#3}}% + }{\jb@enote@hook\jb@orig@citex[#1][#2]{#3}}% + \fi + \fi + \fi + }% + \def\jb@emulate@nat@cite[#1][#2]#3{% + \ifjbcross % no extra endnote for crossref's + \orig@emulate@nat@cite[#1][#2]{#3}% + \else + \ifjbweareinbib % no extra endnote for howcited's + \orig@emulate@nat@cite[#1][#2]{#3}% + \else + \ifjb@fn + \jb@enotes@warning\orig@emulate@nat@cite[#1][#2]{#3}% + \else + \ifthenelse{\boolean{jb@foot}\or\boolean{jb@citetoend}\or\boolean{jb@super}}{% + \expandafter\endnote\expandafter{\jb@enote@hook\orig@emulate@nat@cite[#1][#2]{#3}}% + }{\jb@enote@hook\orig@emulate@nat@cite[#1][#2]{#3}}% + \fi + \fi + \fi + }% + }% +% NEW 0.5f a warning if makeidx.sty isn't loaded + \@ifpackageloaded{index}{\relax}{% + \ifjb@index + \@ifundefined{@indexfile}{% + \jb@package@warningNoLine{\jb@pkg@name}{% + The `makeidx' package is not loaded,\MessageBreak + `authorformat=indexed' will not work}% + }{}% + \fi + }% +}% +\AtEndOfPackage{% + \ifjb@ragged + \renewcommand*{\bibleftcolumnadjust}{\RaggedRight}% + \renewcommand*{\bibrightcolumnadjust}{\RaggedRight}% + \fi +}% +\@ifundefined{bib@heading}{% + \@ifundefined{chapter}{% + \newcommand*{\bib@heading}% + {\section*{\refname\@mkboth{\refname}{\refname}}}% + }{% + \newcommand*{\bib@heading}% + {\chapter*{\bibname\@mkboth{\bibname}{\bibname}}}% + }% +}{% + \relax +}% +% Hook for memoir.cls, suggested by Robert Schlicht, requires mempatch.sty +\@ifundefined{bibsection}{}{\let\bib@heading\bibsection}% +\newcommand*{\jbmakeinbiblist}{}% +\newcommand*{\jbmakeinbib}{% + \jbweareinbibtrue + \jbonlyforbib% + \let\jbPAGES\origPAGES + \let\jbpages\origpages + \let\jbPages\origPages +% NEW 0.5f Reduced to one command, formatting by \jbprformat +% \let\jbPage\origPage +% NEW 0.5f + \let\jbartPages\origartPages +% NEW 0.5f Reduced to one command, formatting by \jbprformat +% \let\jbartPage\origartPage + \jb@lookatfalse + \let\jbatsep\@empty + \jb@third@extra@spacefalse + \jb@ibidemfalse + \jb@ibidem@pagewisefalse + \jb@ibidem@double@pagewisefalse + \jb@ibidem@with@namefalse + \jb@ibidem@with@short@namefalse + \jb@ibidem@with@name@and@titlefalse + \jb@no@lookat@for@bibtrue +% NEW 0.5e: disable `crossref=dynamic' for bibliography +% NEW 0.5f: different handling for oxford crossrefs (do we need `ed.' inside the crossref)???? + \ifjb@dynamic@crossrefs +% \ifjboxford +% \renewcommand*{\bibcrossrefcite}{\fullnameoxfordcrossref}% +% \renewcommand*{\bibincollcrossrefcite}{\fullnameoxfordcrossref}% +% \renewcommand*{\bibcrossrefciteagain}{\fullnameoxfordcrossref}% +% \renewcommand*{\bibincollcrossrefciteagain}{\fullnameoxfordcrossref}% +% \else + \renewcommand*{\bibcrossrefcite}{\citetitle}% + \renewcommand*{\bibincollcrossrefcite}{\citetitle}% + \renewcommand*{\bibcrossrefciteagain}{\citetitle}% + \renewcommand*{\bibincollcrossrefciteagain}{\citetitle}% +% \fi + \fi +% NEW 0.5f make memory empty when starting bibliography + \let\jb@last@ibidem@author\@empty + \let\jb@ibidem@author\@empty +}% +\renewenvironment{thebibliography}[1]{% + \bib@heading + \jbmakeinbib% +% NEW 0.6 we have to make the \jb@inside@*-macros empty, otherwise idem is +% used if the last cited author is the same as the first author in the bibliography. + \gdef\jb@inside@author{}% + \gdef\jb@inside@editor{}% +% INSERTED because of problems using \typearea from the KOMA-bundle after loading jurabib +% calculation should be done here, suggested by Tilman Finke + \addtolength{\jb@biblaw@entry@width}{\textwidth}% + \list{\relax}{% +% NEW 0.5e compressed bibliography + \ifjb@compressed@bib + \setlength{\parsep}{0.2ex plus 0.1ex minus 0.1ex}% + \setlength{\itemsep}{0.2ex plus 0.1ex minus 0.1ex}% + \fi + \jbmakeinbiblist% NEW 0.5e make \itemsep configurable with \addto + \ifjb@bib@hang% + \setlength{\itemindent}{-\jbbibhang}% + \setlength{\leftmargin}{\jbbibhang}% + \else + \setlength{\itemindent}{0pt}% + \setlength{\leftmargin}{0pt}% + \fi + }% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.=\@m% + }% + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}% + }\endlist\jbweareinbibfalse% +}% +\newcommand*{\jb@make@howcited}{% @* except of ... + \renewcommand*{\bibhowcited}{% + \jbweareinhowcitedtrue + \howcitedprefix% + \jb@specialcite{\jb@key}% + \howcitedsuffix\jbweareinhowcitedfalse}}% +\newcommand*{\jb@make@comment@howcited}{% ... @COMMENTED + \renewcommand*{\bibcommenthowcited}{% + \jbweareinhowcitedtrue + \howcitedprefix% + \jb@specialcite[Bearbeiter][]{\jb@key}% + \howcitedsuffix\jbweareinhowcitedfalse}}% +\newcommand*{\jb@make@artperiod@howcited}{% ... @ARTICLE and @PERIODICAL + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \jbweareinhowcitedtrue + \howcitedprefix% + \jb@specialcite{\jb@key}% + \howcitedsuffix\jbweareinhowcitedfalse}% + \fi}% +\newcommand*{\jb@make@all@howcited@empty}{% + \let\bibhowcited\@empty + \let\bibcommenthowcited\@empty + \ifjb@allow@howcited@art@period + \let\bibartperiodhowcited\@empty + \fi +}% +% NEW 0.5c; special command, inspired by Christian Meyn, declares a work which isn't really cited, but +% should appear in the bibliography _with_ a howcited note (perhaps given by the howcited field), +% see also the changed command \jb@make@howcited@compare +% Usage: \nocitebuthowcited{<key>} +\newcommand*{\nocitebuthowcited}[1]{% + \if@filesw\immediate\write\@newciteauxhandle{% + \string\citation{#1}^^J% + \string\jbrealcitation{cite}{#1}} + \fi +}% +\newcommand*{\jbhowcitedcomparepart}{% + \ifthenelse{\equal{\jb@@howcited}{}}{% + \ifthenelse{\equal{\jb@@shorttitle}{\@empty}}{% + \jb@make@all@howcited@empty + }{% + \ifthenelse{\equal{\jb@@shorttitle}{\jb@@title}}{% + \jb@make@all@howcited@empty + }{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jb@make@all@howcited@empty + }{% +% NEW 0.5f: only howcited remark, if shorttitle != title AND shorttitle was _used_! + \ifthenelse{% + \equal{\@nameuse{TITLE@\jb@key}}{used}% +% \and\not +% NEW 0.5f: should compare ignore multiple citations??? +% \equal{\jb@@mult@switch}{1}% + }{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited% + \jb@make@comment@howcited% + \jb@make@artperiod@howcited% + }{% + \jb@make@all@howcited@empty + }% + }% + }% + }% + }{% + \ifthenelse{\equal{\jb@@howcited}{1}}{% +% should the howcited field be ignored in compare mode??? + \ifthenelse{% + \equal{\@nameuse{TITLE@\jb@key}}{used}% + }{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited% + \jb@make@comment@howcited% + \jb@make@artperiod@howcited% + }{% + \jb@make@all@howcited@empty + }% + }{% + \renewcommand*{\bibhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \renewcommand*{\bibcommenthowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \fi + }% + }% +}% +\newcommand*{\jbhowcitednormalpart}{% + \ifthenelse{\equal{\jb@@howcited}{}}{% % + \jb@make@all@howcited@empty + }{% + \ifthenelse{\equal{\jb@@howcited}{1}}{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited% + \jb@make@comment@howcited% + \jb@make@artperiod@howcited% + }{% + \renewcommand*{\bibhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \renewcommand*{\bibcommenthowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \howcitedprefix \jb@@howcited\howcitedsuffix}% + \fi + }% + }% +} +\newcommand*{\jbaddtomakehowcited}{} +\newcommand*{\jb@make@the@howcited}{% + \ifthenelse{\boolean{jb@howcited@normal}}{% + % NORMAL=TRUE + \ifthenelse{\boolean{jb@howcited@compare}}{% + % NORMAL=TRUE, COMPARE=TRUE + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % NORMAL=TRUE, COMPARE=TRUE, MULTIPLE=TRUE +% \jb@typeout{Using howcited=normal AND howcited=compare AND howcited=multiple}% + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jbhowcitednormalpart% + \jbhowcitedcomparepart% + }% + }{% NORMAL=TRUE, COMPARE=TRUE, multiple=false +% \jb@typeout{Using howcited=normal AND howcited=compare}% + \jbhowcitednormalpart% + \jbhowcitedcomparepart% + }% + }{% + % NORMAL=TRUE, compare=false + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % NORMAL=TRUE, compare=false, MULTIPLE=TRUE + % howcited=normal AND howcited=multiple +% \jb@typeout{Using howcited=normal AND howcited=multiple}% + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jbhowcitednormalpart% + }% + }{% NORMAL=TRUE, compare=false, multiple=false +% \jb@typeout{Using ONLY howcited=normal} + \jbhowcitednormalpart% + }% + }% + }{% + % normal=false + \ifthenelse{\boolean{jb@howcited@compare}% + }{% normal=false, COMPARE=TRUE + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % normal=false, COMPARE=TRUE, MULTIPLE=TRUE +% \jb@typeout{Using howcited=compare AND howcited=multiple} + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jbhowcitedcomparepart% + }% + }{% normal=false, COMPARE=TRUE, multiple=false +% \jb@typeout{Using ONLY howcited=compare} + \jbhowcitedcomparepart% + }% + }{% normal=false, compare=false + \ifthenelse{\boolean{jb@howcited@multiple}}{% + % normal=false, compare=false, MULTIPLE=TRUE +% \jb@typeout{Using ONLY howcited=multiple} + \jb@suppress@dot@for@howcitedtrue + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% multiple part start + \jb@make@howcited + \jb@make@comment@howcited + \jb@make@artperiod@howcited % multiple part end + }{% + \jb@make@all@howcited@empty + }% +% CH 0.6 call \jb@make@comment@howcited again, documentation says @commented has to get an howcited always! +% reported by Holger Pollmann + \jb@make@comment@howcited + }{% normal=false, compare=false, multiple=false, all=true + \ifthenelse{\boolean{jb@howcited@all}}{% + \jb@suppress@dot@for@howcitedtrue + \jb@make@howcited + \jb@make@comment@howcited +% we have to switch on `howcited' for articles and periodicals + \jb@allow@howcited@art@periodtrue + \jb@make@artperiod@howcited + }{% + % normal=false, compare=false, multiple=false, all=false + % no howcited option + \relax + }% + }% + }% + }% + \jbaddtomakehowcited% +}% +%\newcommand*{\jb@make@howcited@all}{% +% \jb@suppress@dot@for@howcitedtrue +% \jb@make@howcited +% \jb@make@comment@howcited +%% we have to switch on `howcited' for articles and periodicals +% \jb@allow@howcited@art@periodtrue +% \jb@make@artperiod@howcited +%}% +\newcommand*{\jb@detect@used@cite@commands}{% + \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{cite}}{% + \let\jb@specialcite\cite}{\relax}% + \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{citetitle}}{% + \let\jb@specialcite\citetitle}{\relax}% + \ifthenelse{\equal{\@nameuse{b@\jb@key @C}}{citenotitle}}{% + \let\jb@specialcite\jbcitenotitle}{\relax}% +}% +\newcommand*{\jb@last@label}{} +\newcommand*{\jb@last@mult@author}{} +\AtEndDocument{\let\jb@chk@multiple\@gobbletwo} +\newcommand*{\jb@chk@multiple}[2]{% + \ifthenelse{\equal{#1}{\jb@last@mult@author}}{% + \global\@namedef{jb@fm@\jb@last@label}{}% + \global\@namedef{jb@fm@#2}{}% + }{% + \relax + }% + \def\jb@last@mult@author{#1}% + \def\jb@last@label{#2}% +}% +\newcommand*\jb@chk@bibetal[2]{% + \begingroup + \protected@edef\x{% + \endgroup + \def\noexpand\jb@@chk@bibetal####1\Bibetal####2\noexpand\end{% + \noexpand\jb@@bibetal@argcheck{####1}{####2}{#2}% + }% + }\x + \protected@edef\@tempa{#1}% + \protected@edef\@tempb{\Bibetal}% + \expandafter\expandafter\expandafter + \jb@@chk@bibetal\expandafter\@tempa\@tempb\end +} +\newcommand*\jb@@bibetal@argcheck[3]{% + \ifthenelse{\equal{#2}{}}{% +% \jb@typeout{---NO bibetal in citation |#1|#2|}% + }{% +% \jb@typeout{--- bibetal in citation |#1|#2|}% + \if@filesw{% + \let\protect\noexpand + \immediate\write\@auxout{\string\jb@chk@multiple{#1#2}{#3}}% + }% + \fi + }% +} +\newcommand*{\jb@@name}{}% +\newcommand*{\jb@last@fullname}{}% +% NEW 0.5e biblaw commands contributed by Tilman Finke +\newcommand*{\jb@biblaw@item}{\hspace{0.5em}$\triangleright$\hspace{0.5em}} +\newlength{\jb@biblaw@entry@width} +\newlength{\jb@biblaw@item@width} +\settowidth{\jb@biblaw@item@width}{\jb@biblaw@item} +\setlength{\jb@biblaw@entry@width}{\jb@biblaw@item@width} +\setlength{\jb@biblaw@entry@width}{-\jb@biblaw@entry@width} +%\addtolength{\jb@biblaw@entry@width}{\columnwidth} +% REMOVED because of problems using \typearea from the KOMA-bundle after loading jurabib +% calculation should be done inside \thebibliography, suggested by Tilman Finke +% \addtolength{\jb@biblaw@entry@width}{\textwidth}% +\newcolumntype{j}[1]{>{\bibaltformatalign\hspace{0pt}}p{#1}} +% NEW 0.5f changed item to make consecutive bibliographies possible +\newcommand*{\jb@item}{\item}% +\newcommand\jb@deactivate@babel{% + %FIXME: \noextrasfrench or \bbl@deactivate don't work here?? just do it the low-level way: + \let\do\@makeother\do\:\do\;\do\!\do\?\do\"\do\`\do\'\do\^%<---! solved in 0.51r (bug reported by Andreas Altenburger) +% \do\~ % 0.51r removed, causes problems with ~ from .bst +} +\newcommand*{\bibnumberformat}[1]{\biblnfont{#1.}}% +\newcommand\jb@@test@fullname{} +\newcommand\jb@@testlast@fullname{} +\newcommand\jb@@test@au@or@ed{} +\newcommand\jb@@testlast@au@or@ed{} +\newcommand*{\jb@index@authors}[2]{% + \ifjb@do@authors@index + \if@filesw\let\protect\noexpand\immediate\write\@auxout{\string\jb@index{aut}{#1}#2}\fi + \fi +} +\newcommand*{\jb@index@editors}[2]{% + \ifjb@do@editors@index + \if@filesw\let\protect\noexpand\immediate\write\@auxout{\string\jb@index{ed}{#1}#2}\fi + \fi +} +\newcommand*{\jb@index@organization}[2]{% + \ifjb@do@organizations@index + \if@filesw\let\protect\noexpand\immediate\write\@auxout{\string\jb@index{org}{#1}#2}\fi + \fi +} +\newcommand*{\jbdoitem}{\begingroup\@makeother\\\@makeother\"\def~{\string~}\jb@doitem}% +\newcommand*{\jb@doitem}[3]{% + \ifjb@debug\typeout{========================^^Jauthor:#1^^Jeditor:#2^^Jorganization:#3^^J}\fi + \ifjb@index\protected@xdef\curr@key{\jb@key}% + \@ifundefined{jb@key}{\relax}{% + % the \@empty test is to remove empty entries in the .bbl between ';' (just for safety) + \begingroup % make \@tempa assignment local + \jb@for\@tempa:=#1\do{\ifx\@tempa\@empty\else\jb@index@authors{\jb@key}{\@tempa}\fi}% + \jb@for\@tempa:=#2\do{\ifx\@tempa\@empty\else\jb@index@editors{\jb@key}{\@tempa}\fi}% + \jb@for\@tempa:=#3\do{\ifx\@tempa\@empty\else\jb@index@organization{\jb@key}{\@tempa}\fi}% + \endgroup + }% + \fi + \endgroup % matches the \begingroup in \jbdoitem + \jb@do@post@item +} +\newcommand*\jb@do@post@item{% + \ifjb@no@bib\relax\else + \ifthenelse{\equal{\@nameuse{NOBIB@\jb@key}}{suppress}}{}{% +% NEW 0.5f changed item to make consecutive bibliographies possible + \jb@item\hyper@jbanchorstart{\jb@key}\hyper@jbanchorend + \ifjb@howcited + \@ifundefined{b@\jb@key @C}{% +% the work \jb@key isn't cited + \renewcommand*{\bibhowcited}{% + \bibnotcited}% + \renewcommand*{\bibcommenthowcited}{% + \bibnotcited}% + \ifjb@allow@howcited@art@period + \renewcommand*{\bibartperiodhowcited}{% + \bibnotcited}% + \fi + }{% +% the work \jb@key is cited + \jb@detect@used@cite@commands + \jb@handle@superscript@ed + \jb@make@the@howcited +% NEW 0.5f no op. cit. in howcited remark! + \let\OpCit\@empty + }% + \fi + \protected@edef\jb@tempcntc{\thebibnamereplace}% + \stepcounter{bibnamereplace}% + \label{jbib:\thebibnamereplace}% + \@tempcnta=\jb@tempcntc + \advance\@tempcnta\@ne + \protected@edef\jb@tempcntd{\the\@tempcnta}% + \ifthenelse{\boolean{jb@bibformat@ibidem}% +% NEW 0.6 + \and\not\equal{\jb@@type}{archival}% + }{% +% 0.5e completely rewritten bibformat=ibidem + \ifthenelse{% + \equal{\jb@simple@pageref@by@heiko{jbib:\jb@tempcntc}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \ifjb@debug SAME PAGE/\fi + \ifthenelse{\equal{\jb@@test@fullname}{\jb@@testlast@fullname}}{% + \ifjb@debug SAME AUTHOR \fi + \ifthenelse{\equal{\jb@@fullname}{}}{}{% + \ifthenelse{% + \boolean{jbaltformat}% + }{% + \def\jb@@name{}% + }{% + \def\jb@@name{\bibauthormultiple}% + }% + }% + }{% + \ifjb@debug AUTHOR DIFFERS \fi + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }{% DIFFERENT PAGES !!!!! + \ifthenelse{% + \boolean{@twoside}% + \and + \isodd{\jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + \and + \equal{% + \jb@simple@pageref@by@heiko{jbib:\jb@tempcntd}}{% + \jb@simple@pageref@by@heiko{jbib:\thebibnamereplace}}% + }{% + \ifjb@debug DIFF AND ODD/\fi + \ifthenelse{% + \equal{\jb@@test@fullname}{\jb@@testlast@fullname}% + }{% + \ifjb@debug SAME AUTHOR \fi + \ifthenelse{\equal{\jb@@fullname}{}}{}{% + \ifthenelse{% + \boolean{jbaltformat}% + }{% + \def\jb@@name{% + \jb@@fullname% + \space% + \bibfnfont{\bibcontinuedname}% + \bibansep% + }% + }{% + \def\jb@@name{\bibauthormultiple}% + }% + }% + }{% + \ifjb@debug AUTHORS DIFFERS \fi + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }{% + \ifjb@debug DIFF AND EVEN/\fi + \ifthenelse{% + \equal{\jb@@test@fullname}{\jb@@testlast@fullname}% + }{% + \ifjb@debug SAME AUTHOR \fi + \ifthenelse{\equal{\jb@@fullname}{}}{}{% + \ifthenelse{% + \boolean{jbaltformat}% + }{% + \def\jb@@name{% + \jb@@fullname% + \space% + \bibfnfont{\bibcontinuedname}% + \bibansep% + }% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }{% + \ifjb@debug AUTHORS DIFFERS \fi + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + }% + }% + }{% bibformat=ibidem false + \ifthenelse{\equal{\jb@@fullname}{}}{% + \def\jb@@name{}% + }{% + \def\jb@@name{\jb@@fullname\bibansep}% + }% + }% + \ifjb@babel + \ifthenelse{\equal{\jb@@language}{\@empty}}{% + \expandafter\jbselectlanguage\expandafter{\bbl@main@language}% + }{% + \language=\csname l@\jb@@language\endcsname\relax% + }% + \fi + \ifjbaltformat\else + \ifjb@numbered@bib + \begin{minipage}[t]{\bibnumberwidth}% + \stepcounter{jbbibcnta}\bibnumberformat{\thejbbibcnta}% + \end{minipage}% + \fi + \fi + \ifjb@tabular + \begin{minipage}[t]{\bibleftcolumn}% + \renewcommand*{\bibansep}{}% +% NEW 0.6 configure linestrech in tabular mode + \bibleftcolumnadjust\bibleftcolumnstretch\mbox{}% + \jb@@name% + \end{minipage} + \hspace{\bibcolumnsep}% + \begin{minipage}[t]{\bibrightcolumn}% +% NEW 0.6 configure linestrech in tabular mode + \bibrightcolumnadjust\bibleftcolumnstretch% +% no linebreak in right column + \let\jblinebreak\@empty + \jb@@fulltitle% + \begingroup + \let\hyper@jblinkstart\@gobble + \let\hyper@jblinkend\relax + \jb@bibarg@howcited% + \endgroup + \ifjb@dot\unskip\unskip\unskip.\fi +% NEW 0.5e + \jb@endnote% + \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi + \end{minipage}% +% NEW 0.6 to configure itemsep in tabular mode + \bibtabularitemsep + \else + \ifjbaltformat + \ifx\jb@@name\@empty\else\medskip\fi % add some vertical space between different authors + \let\jblinebreak\@empty\setlength{\tabcolsep}{0pt}\mbox{}\noindent + \begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}} + \ifx\jb@@name\@empty\else\multicolumn{2}{p{\columnwidth}}{\jb@@name}\\\fi + \jb@biblaw@item & \jb@@fulltitle% + \begingroup + \let\hyper@jblinkstart\@gobble + \let\hyper@jblinkend\relax + \jb@bibarg@howcited% + \endgroup + \ifjb@dot\unskip\unskip\unskip.\fi + \jb@endnote% + \ifjb@backref + ~\backref{\csname br@\jb@key\endcsname}% + \fi + \end{tabular} + \else + \jb@@name\jb@@fulltitle% + \begingroup + \let\hyper@jblinkstart\@gobble + \let\hyper@jblinkend\relax + \jb@bibarg@howcited% + \endgroup +% \ifjb@dot\unskip\unskip\unskip.\fi +% NEW 0.6 + \ifthenelse{\equal{\jb@@type}{archival}}{}{\ifjb@dot\unskip\unskip\unskip.\fi}% + \jb@endnote% + \ifjb@backref~\backref{\csname br@\jb@key\endcsname}\fi + \fi + \fi + \gdef\jb@endnote{}% + \protected@edef\jb@@testlast@fullname{\jb@@test@fullname}% + \protected@edef\jb@@testlast@au@or@ed{\jb@@test@au@or@ed}% + }% + \fi + \if@filesw{\let\protect\noexpand\immediate\write\@newciteauxhandle{% + \string\bibcite{\jb@key}{\jb@tempa}}}% + \fi + \ignorespaces +}% +\newcommand*{\jbbibargs}[5]{% + \protected@edef\jb@tempa{\jb@tempb{#1}{#4}}% + \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}% + \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}% + \def\jb@bibarg@howcited{#5}% + \ifthenelse{\equal{#2}{jureco}}{\global\jb@bibformat@ibidemfalse\global\jbaltformatfalse}{\gdef\jb@@test@fullname{#2}}% + \ifthenelse{\equal{#3}{}}{}{\gdef\jb@@test@au@or@ed{#3}}% + \jb@chk@bibetal{\jb@@author}{\jb@key}% + \let\jb@first@author\@undefined + \let\jb@first@editor\@undefined + \setcounter{ibidem@author}{0}% + \setcounter{multiple@author}{0}% +}% +\def\@lbibitem{% + \begingroup + \jb@deactivate@babel + \jb@lbibitem +} +\def\jb@lbibitem[#1]#2{% + \gdef\jb@tempb{#1}% + \gdef\jb@key{#2}% + \ifjb@index@bib + \jb@call@index{aut}{#2}% + \jb@call@index{ed}{#2}% + \jb@call@index{org}{#2}% + \fi + \endgroup +}% + +\newcommand*{\nobibliography}[1]{% + \ifjb@allow@nobib + \global\jb@no@bibtrue +% no hyperlinks if bibliography is suppressed + \if@filesw\immediate\write\@newciteauxhandle{% +% NEW 0.51v switch off hypercite when \nobibliography is used + \string\global\string\jb@allow@hyper@citefalse^^J% + \string\global\string\jb@allow@hyper@cite@nobibfalse^^J% + \string\global\string\jb@no@bibtrue +% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ indexing for \nobibliography too + }% + \fi + \begingroup + \renewenvironment{thebibliography}[1]{% + \usecounter{enumiv}% + \renewcommand*{\item}[1][]{% + \ifx\relax####1\relax\stepcounter\@listctr\fi + }% + }{\relax}% + \bibliography{#1}% + \endgroup + \else + \jb@package@warningNoLine{\jb@pkg@name}{% + You are using the `\string\nobibliography' command\MessageBreak + without using one of the `citefull' options.\MessageBreak + Choose `citefull=first' or `citefull=all'.\MessageBreak + I'm putting out the normal `\string\bibliography'% + }% + \bibliography{#1}% + \fi +}% +% NEW 0.5f \jb@enote@hook introduced for compatibility with endnotes.sty +\newcommand\jb@enote@hook{} +% ******************************************************* +% THE CITE COMMANDS +% ******************************************************* +% \cite section +% ******************************************************* +%\def\cite{% +% CH 0.6 Make it robust! [SU] +\DeclareRobustCommand\cite{% + \@ifstar{% + \begingroup + \jb@deactivate@babel% + \jb@starred@citetrue + \@ifnextchar[{\jb@cite@no@title}{\jb@cite@no@title[]}% + }{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@cite}{\jb@cite[]}% + }% +}% +\newcommand*{\jb@cite}{}% +% +\def\jb@cite{% + \@ifnextchar[{\jb@@cite}{\jb@@cite[]}% +} +\def\jb@@cite[#1]{% + \@ifnextchar[{\jb@@@cite[#1]}{\jb@@@cite[][#1]}% +} +\def\jb@@@cite[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@citefalse + \else + \jb@citetrue + \jb@fullcite@againfalse + \fi + \jb@cite@titlefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% \cite* section +% ******************************************************* +\newcommand*{\jb@cite@no@title}{}% +\def\jb@cite@no@title{% + \@ifnextchar[{\jb@@cite@no@title}{\jb@@cite@no@title[]}% +} +\def\jb@@cite@no@title[#1]{% + \@ifnextchar[{\jb@@@cite@no@title[#1]}{\jb@@@cite@no@title[][#1]}% +} +\def\jb@@@cite@no@title[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@no@titlefalse + \else + \jb@cite@no@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% \citetitle section +% ******************************************************* +\newcommand*{\jbcitetitle}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@cite@title}{\jb@cite@title[]}% +} +\newcommand*{\jb@cite@title}{}% +% +\def\jb@cite@title{% + \@ifnextchar[{\jb@@cite@title}{\jb@@cite@title[]}% +} +\def\jb@@cite@title[#1]{% + \@ifnextchar[{\jb@@@cite@title[#1]}{\jb@@@cite@title[][#1]}% +} +\def\jb@@@cite@title[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% \fullcite section +% ******************************************************* +\newcommand*{\jbfullcite}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@fullcite}{\jb@fullcite[]}% +} +\newcommand*{\jb@fullcite}{}% +% +\def\jb@fullcite{% + \@ifnextchar[{\jb@@fullcite}{\jb@@fullcite[]}% +} +\def\jb@@fullcite[#1]{% + \@ifnextchar[{\jb@@@fullcite[#1]}{\jb@@@fullcite[][#1]}% +} +\def\jb@@@fullcite[#1][#2]#3{% + \def\jb@enote@hook{% + \noibidem% + \jb@change@fonts@for@fullcitetrue + \jb@cite@no@titlefalse + \jb@fullcite@againtrue + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% THE FOOT CITE COMMANDS +% ******************************************************* +% \footcite section +% ******************************************************* +\newcommand*{\jbfootcite}{% + \begingroup + \jb@deactivate@babel% + \@ifstar{\jbfootcitenotitle}{% + \@ifnextchar[{\jb@footcite}{\jb@footcite[]}}}% +\newcommand*{\jb@footcite}{}% +% +\def\jb@footcite{% + \@ifnextchar[{\jb@@footcite}{\jb@@footcite[]}% +} +\def\jb@@footcite[#1]{% + \@ifnextchar[{\jb@@@footcite[#1]}{\jb@@@footcite[][#1]}% +} +\def\jb@@@footcite[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footcite' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@citefalse + \else + \jb@citetrue + \jb@fullcite@againfalse + \fi + \jb@cite@titlefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% \footcitetitle section +% ******************************************************* +\newcommand*{\jbfootcitetitle}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@footcitetitle}{\jb@footcitetitle[]}% +}% +\newcommand*{\jb@footcitetitle}{}% +% +\def\jb@footcitetitle{% + \@ifnextchar[{\jb@@footcitetitle}{\jb@@footcitetitle[]}% +} +\def\jb@@footcitetitle[#1]{% + \@ifnextchar[{\jb@@@footcitetitle[#1]}{\jb@@@footcitetitle[][#1]}% +} +\def\jb@@@footcitetitle[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footcitetitle' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% <== added to skip spaces before endnotes + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% \footcite* section +% ******************************************************* +\newcommand*{\jbfootcitenotitle}{% + \begingroup + \jb@deactivate@babel% + \jb@starred@citetrue + \@ifnextchar[{\jb@footcitenotitle}{\jb@footcitenotitle[]}}% +\newcommand*{\jb@footcitenotitle}{}% +% +\def\jb@footcitenotitle{% + \@ifnextchar[{\jb@@footcitenotitle}{\jb@@footcitenotitle[]}% +} +\def\jb@@footcitenotitle[#1]{% + \@ifnextchar[{\jb@@@footcitenotitle[#1]}{\jb@@@footcitenotitle[][#1]}% +} +\def\jb@@@footcitenotitle[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footcite*' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@no@titlefalse + \else + \jb@cite@no@titletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% ******************************************************* +% \footfullcite section +% ******************************************************* +\newcommand*{\jbfootfullcite}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[{\jb@footfullcite}{\jb@footfullcite[]}% +}% +\newcommand*{\jb@footfullcite}{}% +% +\def\jb@footfullcite{% + \@ifnextchar[{\jb@@footfullcite}{\jb@@footfullcite[]}% +} +\def\jb@@footfullcite[#1]{% + \@ifnextchar[{\jb@@@footfullcite[#1]}{\jb@@@footfullcite[][#1]}% +} +\def\jb@@@footfullcite[#1][#2]#3{% + \ifjb@fn\ClassError{\jb@pkg@name}{% + You are using `\string\footfullcite' inside a footnote}{% + Sorry, that makes no sense.}\fi + \def\jb@enote@hook{\unskip% + \noibidem% + \jb@change@fonts@for@fullcitetrue + \jb@cite@no@titlefalse + \jb@fullcite@againtrue + \jb@citefalse + \jb@cite@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% CH 0.6 rewritten +\newcommand*{\citetitleonly}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[% + {\jb@cite@titlewithoutauthor}{\jb@cite@titlewithoutauthor[]}% +} +\newcommand*{\jb@cite@titlewithoutauthor}{}% +\def\jb@cite@titlewithoutauthor{% + \@ifnextchar[{\jb@@cite@titlewithoutauthor}{\jb@@cite@titlewithoutauthor[]}% +} +\def\jb@@cite@titlewithoutauthor[#1]{% + \@ifnextchar[{\jb@@@cite@titlewithoutauthor[#1]}{\jb@@@cite@titlewithoutauthor[][#1]}% +} +\def\jb@@@cite@titlewithoutauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@noauthorforcitetitletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \ifjb@super\jb@footnote@periodtrue\fi + \jb@footfalse % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +% NEW 0.6 +\newcommand*{\footcitetitleonly}{% + \begingroup + \jb@deactivate@babel% + \@ifnextchar[% + {\jb@foot@cite@titlewithoutauthor}{\jb@foot@cite@titlewithoutauthor[]}% +} +\newcommand*{\jb@foot@cite@titlewithoutauthor}{}% +\def\jb@foot@cite@titlewithoutauthor{% + \@ifnextchar[{\jb@@foot@cite@titlewithoutauthor}{\jb@@foot@cite@titlewithoutauthor[]}% +} +\def\jb@@foot@cite@titlewithoutauthor[#1]{% + \@ifnextchar[{\jb@@@foot@cite@titlewithoutauthor[#1]}{\jb@@@foot@cite@titlewithoutauthor[][#1]}% +} +\def\jb@@@foot@cite@titlewithoutauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \ifjb@all@full + \jb@change@fonts@for@fullcitetrue + \jb@fullcite@againtrue + \jb@cite@titlefalse + \else + \jb@cite@titletrue + \jb@noauthorforcitetitletrue + \jb@fullcite@againfalse + \fi + \jb@citefalse + \jb@cite@no@titlefalse + \jb@footfalse % works for endnotes too + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footnote@periodtrue + \jb@foottrue % works only for non-endnotes + \jbweareinendnotesfalse + \@citex[#1][#2]{#3}% + \endgroup +} +\newcommand*{\citefield}[3][]{% + \renewcommand*{\@cite}[2]{##1##2}% + \let\@citea\@empty\@cite{\@for\@citeb:=#3\do{% + \@citea\def\@citea{;\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@newciteauxhandle{\jb@makehowcited% + \string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \mbox{\reset@font{\bfseries ?}, #1}\G@refundefinedtrue\@latex@warning% + {Citation `\@citeb' on page \thepage \space undefined}}{% + \begingroup +% NEW 0.5e only for \jb@checked@title, otherwise \jb@@newauthorcite is undefined + \def\jb@@newauthorcite{#3}% + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi +% \protected@edef\jb@tempa{\csname b@\@citeb\@extra@b@citeb\endcsname}% +% \protected@edef\jb@tempb{\expandafter\jb@thirdofseven\jb@tempa\@empty}% +% NEW 0.5f revised for more arguments from .bbl +% \protected@edef\jb@tempc{\expandafter\jb@fourthofseven\jb@tempa\@empty}% +% NEW 0.5f new command because of increasing use + \jb@extract +% NEW 0.6 babel support for citefield command added, bug reported by Frank Mittelbach + \ifjb@babel + \ifthenelse{\equal{\jb@@language}{\bbl@main@language}}{}{% + \ifthenelse{\equal{\jb@@language}{\@empty}}{% + \expandafter\jbselectlanguage% + \expandafter{\bbl@main@language}% + }{% + \language=\csname l@\jb@@language\endcsname\relax% + }% + }% + \fi + \ifthenelse{\equal{#2}{}}{???}{% + \ifthenelse{\equal{#2}{title}}{% + \jbfulltitlefont{\jb@@title}% + }{% + \ifthenelse{\equal{#2}{juratitle} + \or\equal{#2}{shorttitle}}{% + \jbshorttitlefont{\jb@@shorttitle}% + }{% + \ifthenelse{\equal{#2}{year}}{% + \ifx\jb@@year\@empty\else + \textup{\jbcitationyearformat{\jb@@year}}\fi + }{% + \ifthenelse{\equal{#2}{author}}{% + \let\biblnfont\jbauthorfont + \let\bibfnfont\jbauthorfnfont + \let\bibelnfont\jbauthorfont + \let\bibefnfont\jbauthorfnfont +% NEW 0.5f \jb@checked@author introduced for oxford crossrefs + \ifjbcross + \jb@checked@author% + \else + \jbauthorfont{\jb@@fullname}% + \fi + }{% + \ifthenelse{\equal{#2}{juraauthor}\or\equal{#2}{shortauthor}}{% +% NEW 0.5e to avoid ambiguous author ``\citefield's'' + \ifthenelse{\equal{\jb@@mult@switch}{1}\or\equal{\jb@@title@switch}{1}}{% + \jbauthorfont{\jb@@author}% +% later in 0.5e: check for crossref's added, because outside crossref's the title is unwanted! + \ifjbcross\jb@checked@title\fi% + }{% + \jbauthorfont{\jb@@author}% + }% + }{% + \ifthenelse{\equal{#2}{apy}}{% + \apyformat{\jb@@apy}% + }{% +% NEW 0.51r access to url field added, suggested by Andreas Altenburger + \ifthenelse{\equal{#2}{url}}{% + \jburluse{#3}% + }{% + #2% + }% + }% + }% + }% + }% + }% + }% + }% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup +% \ifthenelse{\equal{#1}{\@empty}}{\relax}{,\space #1}% +% CH 0.52p, check for `commabeforerest' introduced + \ifthenelse{\equal{#1}{\@empty}}{\relax}{\ifjb@comma@before@rest,\fi\space #1}% + }}}{}}% +% NEW 0.5f emulate the most important natbib citation commands +\newcommand{\jb@nat@cite@left@sep}{}% +\newcommand{\jb@nat@cite@right@sep}{}% +\newcommand{\jb@nat@citep@left@sep}{}% +\newcommand{\jb@nat@citep@right@sep}{}% +\newcommand*{\citep}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citep}{\jb@citep[]}}% +\def\jb@citep[#1]{\@ifnextchar[{\jb@@citep[#1]}{\jb@@citep[][#1]}}% +\def\jb@@citep[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{(}\renewcommand{\jb@nat@citep@right@sep}{)}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +% \futurelet\@let@token\@next@footnote +}% +\newcommand*{\citet}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citet}{\jb@citet[]}}% +\def\jb@citet[#1]{\@ifnextchar[{\jb@@citet[#1]}{\jb@@citet[][#1]}}% +\def\jb@@citet[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{)}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citealt}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citealt}{\jb@citealt[]}}% +\def\jb@citealt[#1]{\@ifnextchar[{\jb@@citealt[#1]}{\jb@@citealt[][#1]}}% +\def\jb@@citealt[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citealp}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citealp}{\jb@citealp[]}}% +\def\jb@citealp[#1]{\@ifnextchar[{\jb@@citealp[#1]}{\jb@@citealp[][#1]}}% +\def\jb@@citealp[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citeauthor}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeauthor}{\jb@citeauthor[]}}% +\def\jb@citeauthor[#1]{\@ifnextchar[{\jb@@citeauthor[#1]}{\jb@@citeauthor[][#1]}}% +\def\jb@@citeauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +% \futurelet\@let@token\@next@footnote +}% +\newcommand*{\citeyear}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeyear}{\jb@citeyear[]}}% +\def\jb@citeyear[#1]{\@ifnextchar[{\jb@@citeyear[#1]}{\jb@@citeyear[][#1]}}% +\def\jb@@citeyear[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\citeyearpar}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@citeyearpar}{\jb@citeyearpar[]}}% +\def\jb@citeyearpar[#1]{\@ifnextchar[{\jb@@citeyearpar[#1]}{\jb@@citeyearpar[][#1]}}% +\def\jb@@citeyearpar[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{(\jb@@year)}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@footfalse + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitep}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitep}{\jb@footcitep[]}}% +\def\jb@footcitep[#1]{\@ifnextchar[{\jb@@footcitep[#1]}{\jb@@footcitep[][#1]}}% +\def\jb@@footcitep[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{(}\renewcommand{\jb@nat@citep@right@sep}{)}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitet}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitet}{\jb@footcitet[]}}% +\def\jb@footcitet[#1]{\@ifnextchar[{\jb@@footcitet[#1]}{\jb@@footcitet[][#1]}}% +\def\jb@@footcitet[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space(\jb@@year)}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitealt}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitealt}{\jb@footcitealt[]}}% +\def\jb@footcitealt[#1]{\@ifnextchar[{\jb@@footcitealt[#1]}{\jb@@footcitealt[][#1]}}% +\def\jb@@footcitealt[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footcitealp}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footcitealp}{\jb@footcitealp[]}}% +\def\jb@footcitealp[#1]{\@ifnextchar[{\jb@@footcitealp[#1]}{\jb@@footcitealp[][#1]}}% +\def\jb@@footcitealp[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}\ifthenelse{\equal{\jb@@year}{}}{}{,\space\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse % works for endnotes too + }% + \jb@enote@hook + \jb@foottrue + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup + \jb@nat@use@year@commandtrue +}% +\newcommand*{\footciteauthor}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footciteauthor}{\jb@footciteauthor[]}}% +\def\jb@footciteauthor[#1]{\@ifnextchar[{\jb@@footciteauthor[#1]}{\jb@@footciteauthor[][#1]}}% +\def\jb@@footciteauthor[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\jbauthorfont{\jb@@author}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \renewcommand{\jb@nat@citep@left@sep}{}\renewcommand{\jb@nat@citep@right@sep}{}% + \jb@footfalse + \jbweareinendnotestrue + }% + \jb@enote@hook + \jb@foottrue + \jbweareinendnotesfalse + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +}% +\newcommand*{\jb@emulate@nat@cite}{\@ifnextchar[{\jb@@emulate@nat@cite}{\jb@@emulate@nat@cite[]}}% +\def\jb@@emulate@nat@cite[#1]{\@ifnextchar[{\jb@@@emulate@nat@cite[#1]}{\jb@@@emulate@nat@cite[][#1]}}% +\def\jb@@@emulate@nat@cite[#1][#2]#3{% + \ifthenelse{\boolean{jb@foot}\or\(\boolean{jb@super}\and\not\boolean{jb@fn}\and\not\boolean{jbweareinbib}\and\not\boolean{jbweareinendnotes}\)}{% + \renewcommand*{\@cite}[2]{\unskip\footnote{##1##2.}}% + }{% + \renewcommand*{\@cite}[2]{##1##2}% + }% + \let\@citea\@empty + \jb@nat@citep@left@sep% + \@cite{% + \@for\@citeb:=#3\do{% + \@citea\def\@citea{;\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw + \immediate\write\@newciteauxhandle{% + \jb@makehowcited\string\citation{\@citeb}}% + \fi + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \mbox{\reset@font{\bfseries ?}, #1}% + \G@refundefinedtrue + \@latex@warning{Citation `\@citeb' on page \thepage \space undefined}% + }{% + \begingroup + \jb@call@index{aut}{\@citeb}% + \jb@call@index{ed}{\@citeb}% + \jb@call@index{org}{\@citeb}% + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \jb@extract% + \jb@nat@cite@left@sep% + \ifjb@see + \ifthenelse{\equal{#1}{\@empty}}{}{#1\space}% + \else + \ifthenelse{\equal{#1}{\@empty}}{}{#1\space}% + \fi + \jb@nat@commands% + \ifthenelse{\equal{#2}{\@empty}}{}{,\space\jbprformat{#2}}% + \jb@nat@cite@right@sep% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + }% + }% + }{}% + \jb@nat@citep@right@sep% +}% +\newcommand*{\jb@makehowcited}{% +\ifjb@howcited + \ifjbcross\else +% NEW 0.51c new switch for suppressing howcited while using \nobibliography, +% `jb@allow@hyper@cite' is used by the new option `hypercite=false' + \ifjb@allow@hyper@cite@nobib +% no need to write out if \nobibliography is used. + \ifjb@cite\string\jbrealcitation{cite}{\@citeb}^^J\fi + \ifjb@cite@title\string\jbrealcitation{citetitle}{\@citeb}^^J\fi + \ifjb@cite@no@title\string\jbrealcitation{citenotitle}{\@citeb}^^J\fi + \fi + \fi +\fi +}% +\newcommand*{\jb@changefontsforfullcite}{% + \ifjb@reverse@names@in@citation + \let\bibnf\bibrnf + \let\bibenf\bibrenf + \fi + \let\bibansep\jbhowsepbeforetitle + \let\bibbtasep\jbbtasep + \let\bibbfsasep\jbbfsasep + \let\bibbstasep\jbbstasep + \let\bibbtesep\jbbtesep + \let\bibbfsesep\jbbfsesep + \let\bibbstesep\jbbstesep + \let\jblinebreak\@empty + \ifjb@change@fonts@for@fullcite + \let\biblnfont\jbauthorfont% + \let\bibfnfont\jbauthorfnfont% + \let\bibelnfont\jbauthorfont% + \let\bibefnfont\jbauthorfnfont% + \let\bibtfont\jbtitlefont% + \let\bibbtfont\jbbtitlefont% + \let\bibapifont\jbapifont% + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \ifjb@dynamic@author@fonts + \let\jbauthorfont\jbactualauthorfont + \let\biblnfont\jbactualauthorfont + \let\bibfnfont\jbactualauthorfnfont +% \let\bibelnfont\jbactualauthorfont +% \let\bibefnfont\jbactualauthorfnfont + \fi + }{% + \ifjb@dynamic@author@fonts + \ifjb@see + \let\biblnfont\jbactualauthorfont + \else + \let\jbannotatorfont\jbactualauthorfont + \let\jbauthorfont\jbauthorfontifannotator + \fi + \fi + }% + \fi +}% +\newcommand*{\jb@test@last@author@ibidem}{% + \ifjb@see + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jb@formatted@co@author% +% if 2nd opt. arg (via option `see') is given, switch to lower case ibid. +% thanks to Alexander Wisspeintner (wisspein@informatik.tu-muenchen.de) + \let\IbidemName\IbidemMidName + }% + \fi + \ifthenelse{\equal{\jb@@newannotatorcite}{\jb@@lastannotatorcite}\or\boolean{jb@see}}{% +% ^^^^^^^^^^^^^^^^^^^ +% NEW 0.5e: if `see' is active, allow immediately following ibidem for different `annotators' +% Example: \footcite[][see]{inbook-minimal} +% \footcite{inbook-minimal} <=== ibid. for humanities (if `see' is active), NOT for lawyers! +% \footcite{inbook-minimal} <=== ibid. for both! + \let\jb@@newannotatorcite\@empty + \@ifundefined{ibidem}{\@namedef{ibidem}{}}{\relax}% + \ifjb@debug + \textcolor[named]{WildStrawberry}{% + \ifjb@debug@br[\fi\ifthenelse{\thejb@cites@in@footnote<2}{\IbidemName}{\IbidemMidName}\ifjb@debug@br]\fi}% + \else +% \IbidemName +% NEW 0.52k+l lowercase ibidem for inline citations or \cite's inside the same footnote. (reported by Matthias Damm) + \ifthenelse{\thejb@cites@in@footnote<2}{\IbidemName}{\IbidemMidName}% +% NEW 0.51 Ibidem/Idem-bugfix. Bug reported by Sönke Schaal (<s.schaal@freenet.de>) +% When using German and `ibidem' and `idem' are used together, it appears `A.a.O.Ders.' +% because of ``hardcoded'' gender macros for German in dejbbib.ldf. In all other languages +% the gender macros were linked to \idem[mid]name, which was \@empty'ed here in this +% macro. Now they are disabled all in the same way, by using: + \jb@switchidemofflocallytrue +% NEW 0.52i while we suppressing output of startpages for ibidem citations now, +% we have to switch off the mechanism to suppress formatted pages after startpages + \jbnoformatafterstartpagefalse + \fi +% NEW 0.5f if the pages are also the same, suppress them! + \ifthenelse{\equal{\jb@@newpagecite}{\jb@@lastpagecite}}{\let\jb@@newpagecite\@empty}{}% +% CHANGED 0.51h kerning routine removed +% \ifjb@ssed@kerning@wanted +% \renewcommand*{\jb@kern@before@sepi}{}% +% \renewcommand*{\jb@kern@before@sepii}{}% +% \renewcommand*{\jb@kern@before@sepiii}{}% +% \renewcommand*{\jb@kern@after@sepi}{ }% +% \renewcommand*{\jb@kern@after@sepii}{ }% +% \renewcommand*{\jb@kern@after@sepiii}{ }% +% \fi + \let\jb@extraspace\@empty +% \jb@footnote@period@ibidemfalse +% NEW 0.5e humanities stuff + \let\jbapifont\@empty% <== remove single quotes after ibid. + \let\jbbtfont\@empty % <== remove single quotes after ibid. + \ifjb@ibidem@with@name + \let\jb@@fullname\@empty + \let\IbidemName\@empty + \let\jbatsep\@empty + \jb@second@extra@spacefalse + \fi + \let\jb@use@fullcite\@empty + \let\jb@@author\@empty + \let\jb@aftertitleedition\@empty + \let\jb@checked@edition\@empty + \let\jbhowsepbeforetitle\@empty + \let\jb@@title\@empty +% NEW 0.5e bug removed for ibidem'ed citations, wrong error message about missing shorttitle +% (although given), submitted by Andreas K. Foerster (<AKFoerster@nikocity.de>) +% changed \@empty to \relax + \let\jb@@shorttitle\relax +% NEW 0.5e for use with jchicago.bst + \let\jb@formatted@year\@empty +% NEW 0.5e idem feature +% REMOVED 0.5f See => Ibidem/Idem-bugfix some lines above +% \let\idemname\@empty +% NEW 0.5e op.cit. feature + \let\OpCit\relax +% NEW 0.6 remove howcited remark if it should be used for citation + \ifjbusehowcitedforcite\let\jb@@howcited\@empty\fi + \ifjb@see\else\let\jb@@newannotatorcite\@empty\fi + \ifthenelse{% + \equal{\jb@@newpagecite}{\jb@@lastpagecite}% + \or + \equal{\jb@@newpagecite}{}% + }{% + \global\jb@footnote@periodfalse + }{}% +% NEW 0.5f make sure it is empty (prophylaxe) + %\let\jb@makeidem\@empty + }{\relax}% +}% +% NEW 0.5f gender check for idem (necessary only for german users, I think) +\newcommand*{\jb@idem@gender@checked}{% + \ifjb@noauthorforcitetitle\else +% NEW 0.5f Ibidem/Idem-bugfix + \ifjb@switchidemofflocally\else + \ifthenelse{% + \not\equal{\jb@@gender}{}% + \and + \boolean{jblookforgender}% + }{% + \ifthenelse{\equal{\jb@@gender}{sm}}{% + \@ifundefined{jb@morethanonecite}{\idemSmname}{\idemsmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pm}}{% + \@ifundefined{jb@morethanonecite}{\idemPmname}{\idempmname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sf}}{% + \@ifundefined{jb@morethanonecite}{\idemSfname}{\idemsfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pf}}{% + \@ifundefined{jb@morethanonecite}{\idemPfname}{\idempfname}% + }{% + \ifthenelse{\equal{\jb@@gender}{sn}}{% + \@ifundefined{jb@morethanonecite}{\idemSnname}{\idemsnname}% + }{% + \ifthenelse{\equal{\jb@@gender}{pn}}{% + \@ifundefined{jb@morethanonecite}{\idemPnname}{\idempnname}% + }{% + \@ifundefined{jb@morethanonecite}{\idemSmname}{\idemsmname}% + }% + }% + }% + }% + }% + }% + }{% +% NEW 0.5f + \ifthenelse{\equal{\bbl@main@language}{english}\and\boolean{jboxford}}{% + \edfont{\idemname}% + }{% + \ifjbcross\edfont{\idemmidname}\else\edfont{\idemname}\fi + }% +% \idemname% + }% + \fi + \fi +} +\newcommand*{\jb@do@idem}{% + \@ifundefined{idem}{\@namedef{idem}{}}{\relax}% + \ifjb@same@fullauthor +% NEW 0.5f warning about ambiguous citations inserted, if: + \ifthenelse{% + \equal{\jb@@mult@switch}{1}% 1. author wrote multiple works, + \and\equal{\jb@@shorttitle}{}% 2. shorttitle is empty, + \and\equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% 3. not the very first citation, and + \and\boolean{jb@no@title@replace}% 4. replacing shorttitle by title not possible + }{% + \@ifundefined{ETFII@\jb@@newauthorcite}{% The same warning is placed somewhere else, + \global\@namedef{ETFII@\jb@@newauthorcite}{}% but we don't want to disturb the user with warnings. + \jb@package@warningNoLine{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\on@line\MessageBreak + is an ambiguous citation! Because you are using\MessageBreak + `titleformat=noreplace', the title field can't\MessageBreak + be used to replace the missing shorttitle}% + }{\relax}% + }{}% + \ifjb@debug + \textcolor[named]{WildStrawberry}{% + \ifjb@debug@br[\fi + \jb@idem@gender@checked% + \ifjb@debug@br]\fi + }% + \else + \jb@idem@gender@checked% + \fi + \let\jb@@fullname\@empty + \let\jb@@author\@empty +% \let\IbidemName\@empty +% \let\IbidemMidName\@empty + \ifthenelse{% + \equal{\jb@@newpagecite}{\jb@@lastpagecite}% + \TE@or % normal \or causes problems + \equal{\jb@@newpagecite}{}% + }{% + \ifjb@opcit\else + \@ifundefined{jb@morethanonecite}{% + \ifjbidemabbrvwithperiod +% we don't suppress the period, if there are multiple works are cited and the title is printed. + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{}{% + \global\jb@footnote@periodfalse + }% + \fi + }{\global\jb@footnote@periodtrue}% + \fi + }{}% + \fi +} +\newcommand*{\jb@test@last@author@idem}{% + \ifjb@see +% for humanities + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jb@formatted@co@author% + \let\idemname\idemmidname + \let\jb@@newannotatorcite\@empty + }% + \jb@do@idem + \else +% for lawyers + \ifjb@annotator@last + \jb@do@idem + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jbhowsepannotatorlast% + \jb@formatted@co@author% + \let\idemname\idemmidname + \let\jb@@newannotatorcite\@empty + }% + \else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{}{% + \jb@formatted@co@author% + \jbhowsepannotatorfirst% + \let\idemname\idemmidname + \let\jb@@newannotatorcite\@empty + }% + \jb@do@idem + \fi + \fi +}% +\newcommand*{\jb@makeibidem}{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jb@all@titlestrue + \let\jbhowsepannotatorlast\@empty + \ifjb@see\else + \let\jb@@newannotatorcite\@empty + \fi + \@ifundefined{MISS@##3}{% + \global\@namedef{MISS@##3}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + The author of `\jb@@newauthorcite'\MessageBreak + is missing, I assume you know what % + you are doing}% + }{\relax}% + }{\relax}% + \ifthenelse{\boolean{jb@ibidem}}{% + \protected@edef\jb@tempcnt{\thejbbibcnt}% + \stepcounter{jbbibcnt}% +% labels only for cites in footnotes ! + \ifjb@fn + \begingroup + \label{ibidem:\thejbbibcnt}% + \endgroup + \fi + \ifthenelse{\equal{\jb@@newauthorcite}{\jb@@lastauthorcite}}{% + \@tempcnta=\jb@tempcnt + \ifjb@ibidem@double@pagewise + \advance\@tempcnta\@ne + \fi + \protected@edef\jb@idemcnta{\the\@tempcnta}% + \ifthenelse{\boolean{jb@ibidem@pagewise}}{% +% true for ibidem=strict[doublepage] + \ifthenelse{% + \(% +% check if on facing pages +% switch for ibidem=strictdoublepage true? + \boolean{jb@ibidem@double@pagewise}% + \and + \isodd{\jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}} + \and + \equal{% + \jb@simple@pageref@by@heiko{ibidem:\jb@idemcnta}}{% + \jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}% + \)% + \or +% ignoring page breaks + \equal{% + \jb@simple@pageref@by@heiko{ibidem:\jb@tempcnt}}{% + \jb@simple@pageref@by@heiko{ibidem:\thejbbibcnt}}% + }{% +% facing pages + \jb@test@last@author@ibidem +% no lookat for recently cited works!? + \jb@lookatfalse + }{% +% not on facing pages + \relax + }% + }{% +% ibidem not pagewise (ibidem=strict[doublepage] false) + \jb@test@last@author@ibidem + }% jb@ibidem@pagewise end + }{\relax}% authors equal + }{\relax}% jb@ibidem +}% +\newcommand*{\jb@makeidem}{% +% no citation idem's for crossref \cites in bibliography, we are building +% own idem's for bibliography + \ifjbweareinbib\else + \ifthenelse{\boolean{jb@idem}}{% + \protected@edef\jb@idemcnta{\theidemcnt}% + \stepcounter{idemcnt}% + \ifjb@fn + \begingroup + \label{idem:\theidemcnt}% + \endgroup + \fi + \ifjb@same@fullauthor + \@tempcnta=\jb@idemcnta + \ifjb@idem@double@pagewise + \advance\@tempcnta\@ne + \fi + \protected@edef\jb@idemcntb{\the\@tempcnta}% + \ifthenelse{\boolean{jb@idem@pagewise}}{% + \ifthenelse{% + \boolean{jb@idem@double@pagewise}% + \and + \isodd{\jb@simple@pageref@by@heiko{idem:\theidemcnt}}% + \and + \equal{% + \jb@simple@pageref@by@heiko{idem:\jb@idemcntb}}{% + \jb@simple@pageref@by@heiko{idem:\theidemcnt}}% + }{% + \jb@test@last@author@idem + }{% + \ifthenelse{% + \equal{\jb@simple@pageref@by@heiko{idem:\jb@idemcnta}}{% + \jb@simple@pageref@by@heiko{idem:\theidemcnt}}% + }{% + \jb@test@last@author@idem + }{}% + }% + }{% + \jb@test@last@author@idem + }% + \fi + }{}% + \fi +}% +\newcommand{\jb@make@ibidem@name@title}{% + \jb@relaxforemptyauthor + \ifthenelse{\equal{\jb@@shorttitle}{}}{% + \ifjb@no@title@replace\else +% CH 0.6 print title only, if author is cited with at least two works + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \jbhowsepbeforetitle\jbfulltitlefont{\jb@@title}% + }{}% + \fi% + }{% +% CH 0.6 print title only, if author is cited with at least two works + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \jbhowsepbeforetitle\jbshorttitlefont{\jb@@shorttitle}% + }{}% + \@ifundefined{TITLE@##3}{\global\@namedef{TITLE@##3}{used}}{}% + }% + \ifjb@author@year\ifjb@yearaftertitle\jb@formatted@year\fi\fi +}% +\newcommand*{\jb@makecheckednameibidem}{% + \ifjb@fullcite@again\else + \ifjb@ibidem@with@name + \jb@allow@adding@of@pagerangefalse + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jb@second@extra@spacefalse}{\relax}% + \ifjb@debug@br[\fi + \jb@formatted@co@author@in% + \ifjb@ibidem@with@short@name + \ifthenelse{\equal{\jb@@author}{empty}}{% + \jbauthorfont{\jb@@fullname}% + }{% + \jbauthorfont{\jb@@author}% + }% + \else + \jb@@fullname% + \fi + \ifjb@author@year\ifjb@yearafterauthor\jb@formatted@year\fi\fi + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \@ifundefined{MULT@##3}{% + \global\@namedef{MULT@##3}{}% + \ifjb@ibidem@with@name@and@title\else + \ifjb@ibidem@with@name@and@title@auto\else + \jb@package@warningNoLine{\jb@pkg@name}{% + The author of `\jb@@newauthorcite'\MessageBreak + is cited with more than one work, I'm switching\MessageBreak + to `ibidem=name&title&auto' to avoid\MessageBreak + ambiguous citations}% + \global\jb@ibidem@with@name@and@title@autotrue + \fi\fi + }{\relax}% + }{\relax}% + \ifjb@ibidem@with@name@and@title + \jb@make@ibidem@name@title% + \else + \ifjb@ibidem@with@name@and@title@auto + \ifjb@same@author@different@work + \jb@make@ibidem@name@title + \fi + \fi + \fi + \ifthenelse{\equal{\jb@@title}{}}{% + \ifthenelse{\equal{\jb@@shorttitle}{}}{% + \IbidemName% + }{,\space\IbidemMidName}% + }{,\space\IbidemMidName}% + \ifthenelse{% + \equal{\jb@@newpagecite}{\jb@@lastpagecite}% + \TE@or % normal \or causes problems + \equal{\jb@@newpagecite}{}% + }{% +% NEW 0.6 remove pages (for options ibidem=name*) [RS] + \global\let\jb@@newpagecite\@empty + \ifjb@opcit\else + \global\jb@footnote@periodfalse + \fi + }{}% + \jb@relaxcommandsforfullcite + \ifjb@debug@br]\fi + \fi + \fi +}% +\newcommand*{\jb@dofullcite}{% + \ifjb@debug + \textcolor[named]{Red}{% + \ifjb@debug@br[\fi + \jb@formatted@co@author@in\jb@use@fullcite% + \ifjb@debug@br]\fi}% + \else + \jb@formatted@co@author@in\jb@use@fullcite% + \fi% + \jb@relaxcommandsforfullcite + \let\jb@extraspace\@empty +% CHECK WHY! +% \global\jb@fullcite@againfalse %%!!! + \jb@allow@lookat@for@fullcitefalse +}% +\newcommand*{\jb@makeagainfullcite}{% + \ifjb@fullcite@again + \jb@allow@adding@of@pagerangefalse + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextshort}}{% + \relax + }{% + \jb@dofullcite% + }% + \else + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextfull}}{% + \jb@dofullcite% + }{% + \relax + }% + \fi +}% +\newcommand*{\jb@relaxforemptyauthor}{% + \ifthenelse{\equal{\jb@@author}{empty}}{% + \let\jb@@author\@empty + \let\jbhowsepbeforetitle\relax + \let\jb@extraspace\@empty + }{\relax}% +}% +\newcommand*{\jb@warningfootciteusage}{% + \ifjb@cite@no@title + \ifthenelse{% + \equal{\jb@@mult@switch}{1}% + \and +% NEW 0.5f superfluous warning about ambiguous citation while using `authorformat=year' +% bug reported by Anneke Emse (<emse@uni-koeln.de>) + \not\boolean{jb@author@year}% + }{% + \jb@package@warning{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\MessageBreak + is an ambiguous citation! Beware of\MessageBreak + using \string\[foot]cite*}% + }{\relax}% + \fi +}% +\newcommand*{\jb@checktitlefields}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}}{% + \ifthenelse{\equal{\jb@@shorttitle}{}\and\not\boolean{jb@author@year}}{% + \ifthenelse{\equal{\jb@@title}{}}{% + \let\jb@extraspace\@empty + \@ifundefined{ETF@\jb@@newauthorcite}{% + \global\@namedef{ETF@\jb@@newauthorcite}{}% + \jb@package@warning{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\MessageBreak + is an ambiguous citation! The `shorttitle'\MessageBreak + can't be used. I tried to substitute with\MessageBreak + `title' field - without success, please check the\MessageBreak + citation}{\relax}% + }{\relax}% + }{% + \ifthenelse{% + \equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}% + \or + \boolean{jbcross}% + }{% + \ifjbweareinbib\else + \ifjb@no@title@replace + \@ifundefined{ETFII@\jb@@newauthorcite}{% + \global\@namedef{ETFII@\jb@@newauthorcite}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\on@line\MessageBreak + is an ambiguous citation! Because you are using\MessageBreak + `titleformat=noreplace', the title field can't\MessageBreak + be used to replace the missing shorttitle}% + }{\relax}% + \fi\fi + }{\relax}% + }% + }{\relax}% + }{% + \@ifundefined{jb@fm@\@citeb}{}{% + \ifthenelse{\equal{\jb@@mult@switch}{0}% + \and\not\boolean{jbweareinbib}% + \and\boolean{jb@no@title@replace}% + }{% + \@ifundefined{ETFII@\jb@@newauthorcite}{% + \global\@namedef{ETFII@\jb@@newauthorcite}{}% + \jb@package@warningNoLine{\jb@pkg@name}{% + *** `\jb@@newauthorcite' ***\on@line\MessageBreak + is an ambiguous citation! Because you are using\MessageBreak + `titleformat=noreplace', the title field can't\MessageBreak + be used to replace the missing shorttitle}% + }{\relax}% + }{\relax}% + }% + }% +}% +\newcommand*{\jb@maketitlewishestrue}{% + \ifjb@all@titles\def\jb@@title@switch{1}\fi + \ifjb@cite@title\def\jb@@title@switch{1}\fi + \ifjb@cite@no@title\def\jb@@title@switch{0}\fi +}% +\newcommand*{\jb@makeannotatorlastwithtitle}{% + \ifjb@noauthorforcitetitle\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@formatted@author% + \ifjb@ssed@after@author\jb@checked@edition\fi + \jb@make@annotator@emph% + \jbhowsepannotatorlast% + \jb@formatted@co@author% + \ifjb@ssed@after@author\else\jb@checked@edition\fi + }% + \fi + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}}{% + }{% + \jb@checked@title% + }% +}% +\newcommand*{\jb@makeannotatorfirstwithtitle}{% + \ifjb@noauthorforcitetitle\ifjb@see\jb@formatted@co@author@see\fi\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@make@annotator@emph% + \jb@formatted@co@author% + \jbhowsepannotatorfirst% + \jb@formatted@author% + \jb@checked@edition% + }% + \fi + \ifthenelse{% + \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}}{% + }{% + \jb@checked@title% + }% +}% +\newcommand*{\jb@makeannotatorlastwithouttitle}{% + \ifjb@noauthorforcitetitle\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@formatted@author% + \ifjb@ssed@after@author\jb@checked@edition\fi + \jb@make@annotator@emph% + \jbhowsepannotatorlast% + \jb@formatted@co@author% + \ifjb@ssed@after@author\else\jb@checked@edition\fi + }% + \fi +}% +\newcommand*{\jb@makeannotatorfirstwithouttitle}{% + \ifjb@noauthorforcitetitle\else + \ifthenelse{\equal{\jb@@newannotatorcite}{\@empty}}{% + \jb@make@author@emph% + \jb@formatted@author% + \jb@checked@edition% + }{% + \jb@make@annotator@emph% + \jb@formatted@co@author% + \jbhowsepannotatorfirst% + \jb@formatted@author% + \jb@checked@edition% + }% + \fi +}% +\newcommand*{\jb@makecheckedcite}{% +% NEW 0.6 hook for citing the howcited field for non-first citations added + \ifthenelse{\not\equal{\jb@@howcited}{}\and\boolean{jbusehowcitedforcite}}{% + \ifjb@first@cite\else\jb@@howcited\fi + }{% +% NEW 0.6 archival support added + \ifthenelse{\equal{\jb@@type}{archival}}{% + \jb@@title% + }{% + \ifthenelse{% + \equal{\jb@@mult@switch}{1}% + \or\equal{\jb@@title@switch}{1}% + \and\not\boolean{jb@starred@cite}% + }{% + \ifjb@annotator@last + \jb@makeannotatorlastwithtitle + \else + \jb@makeannotatorfirstwithtitle + \fi + }{% + \ifjb@annotator@last + \jb@makeannotatorlastwithouttitle + \else + \jb@makeannotatorfirstwithouttitle + \fi + }% + \jb@aftertitleedition% + \ifjb@yearaftertitle\jbyear\fi + }% + }% +}% +\newcommand*{\jb@ssed@size}{\tiny}% +\newlength{\jb@length@i} \settowidth{\jb@length@i} {\jb@ssed@size 1}% +\newlength{\jb@length@ii} \settowidth{\jb@length@ii} {\jb@ssed@size 11}% +\newlength{\jb@length@iii}\settowidth{\jb@length@iii}{\jb@ssed@size 111}% +\newcommand*{\jb@kern@before@sepi} {\hspace{-\jb@length@i}}% +\newcommand*{\jb@kern@after@sepi} {\hspace{\jb@length@i}}% +\newcommand*{\jb@kern@before@sepii} {\hspace{-\jb@length@ii}}% +\newcommand*{\jb@kern@after@sepii} {\hspace{\jb@length@ii}}% +\newcommand*{\jb@kern@before@sepiii}{\hspace{-\jb@length@iii}}% +\newcommand*{\jb@kern@after@sepiii} {\hspace{\jb@length@iii}}% +\newcommand*{\jb@kern@sep}{}% +\newcommand*{\jb@extract@starting@page}[1]{% + \protected@edef\sp@tempa{#1}% + \expandafter\jb@@extract@starting@page\sp@tempa-\end% +} +\newcommand\jb@@start@page@switch{0}% +\newcommand*{\jb@@extract@starting@page}{}% make sure it's undefined +\def\jb@@extract@starting@page#1-#2\end{% + \def\jb@@start@page{#1}% +}% +\def\sndecmd{}% +\DeclareRobustCommand*{\nopage}{} +\newcommand*{\pageadd}[1]{{\space{}#1}} +\newcommand*{\jbprformat}[1]{% + \ifjb@formatted@pages + \if\nopage#1\else + \jb@parse@page{#1}% + \fi + \else + #1% + \fi +}% +\newcommand{\jbpagesnamesep}{\,}% +\newcommand{\bibpagesnamesep}{\,}% +\newcommand{\jbPageName}{\jbpagename\jbpagesnamesep}% +\newcommand{\jbPagesName}{\jbpagesname\jbpagesnamesep}% +\newcommand{\bibPageName}{\bibpagename\bibpagesnamesep}% +\newcommand{\bibPagesName}{\bibpagesname\bibpagesnamesep}% +\newcommand*{\jb@parse@page}[1]{% + \ifthenelse{\equal{\jbpagename}{}\and\equal{\jbpagesname}{}}{\def\jbpagesnamesep{}}{}% + \ifthenelse{\equal{\bibpagename}{}\and\equal{\bibpagesname}{}}{\def\bibpagesnamesep{}}{}% + \jb@if@contains@ff{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \jb@if@contains@f{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \jb@if@contains@endash{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \jb@if@contains@multiple{#1}{% + \ifjbweareinbib + \bibPagesName#1% + \else + \jbPagesName#1% + \fi + }{% + \ifjbweareinbib + \bibPageName#1% + \else + \jbPageName#1% + \fi + }% + }% + }% + }% +}% +\newcommand*{\jb@if@contains@multiple}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\expandafter\expandafter\jb@@if@contains@multiple + \expandafter\@tempa\space\@nil +} +\newcommand*{\jb@if@contains@endash}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\jb@@if@contains@endash\@tempa--\@nil}% +\newcommand*{\jb@if@contains@ff}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\jb@@if@contains@ff\@tempa ff\@nil}% +\newcommand*{\jb@if@contains@f}[1]{% + \protected@edef\@tempa{#1}% + \expandafter\jb@@if@contains@f\@tempa f\@nil}% +\newcommand*{\jb@@if@contains@multiple}{} +\def\jb@@if@contains@multiple#1 #2\@nil{% +% \jb@typeout{args of multiple: |#1|#2|}% + \ifx\\#2\\% is #2 empty? +% \jb@typeout{no and}% + \expandafter\@secondoftwo + \else +% \jb@typeout{and found}% + \expandafter\@firstoftwo + \fi +}% +\newcommand*{\jb@@if@contains@endash}{} +\def\jb@@if@contains@endash#1--#2\@nil{% +% \jb@typeout{args of endash: |#1|#2|}% + \ifx\\#2\\% is #2 empty? +% \jb@typeout{no --}% + \expandafter\@secondoftwo + \else +% \jb@typeout{-- found}% + \expandafter\@firstoftwo + \fi +}% +\newcommand*{\jb@@if@contains@f}{} +\def\jb@@if@contains@f#1f#2\@nil{% +% \jb@typeout{args of f: |#1|#2|}% + \ifx\\#2\\% is #2 empty? +% \jb@typeout{no f}% + \expandafter\@secondoftwo + \else +% \jb@typeout{f found}% + \expandafter\@firstoftwo + \fi +}% +\newcommand*{\jb@@if@contains@ff}{} +\def\jb@@if@contains@ff#1ff#2\@nil{% +% \jb@typeout{args of ff: |#1|#2|}% + \ifx\\#2\\% is #2 empty? +% \jb@typeout{no ff}% + \let\sndecmd\@secondoftwo +% \ecmd changed to \sndecmd, \ecmd already used, causes errors + \else + \def\@tempa{ff}% + \def\@tempb{#2}% + \ifx\@tempa\@tempb +% \jb@typeout{ff found}% + \let\sndecmd\@firstoftwo + \else +% \jb@typeout{no ff}% + \let\sndecmd\@secondoftwo + \fi + \fi + \sndecmd +}% +\newcommand*{\jbpagesformat}[1]{#1}% +\newcommand*{\jbafterstartpagesep}{,}% +% NEW 0.51o now five args, one new optional for configurable separation before startpage +\newcommand*{\formatpages}{\@ifnextchar[{\jb@formatpages}{\jb@formatpages[]}}% +\def\jb@formatpages[#1]{\@ifnextchar[{\jb@@formatpages[#1]}{\jb@@formatpages[#1][]}}% +\def\jb@@formatpages[#1][#2]#3#4#5{% + \def\jb@afterstartpagesep{#1}% + \def\jb@beforestartpagesep{#2}% + \def\jb@start@page@for@types{#3}% + \def\jb@normalpageldelim{#4}% + \def\jb@normalpagerdelim{#5}% + \ifthenelse{\equal{#1}{}\and\equal{#2}{}% +% startpage will be recognized only, when at least one opt. arg is used + }{% + \renewcommand*{\jbpagesformat}[1]{% + \jb@normalpageldelim##1\jb@normalpagerdelim}% + }{\jb@start@pagetrue}% +}% +\newcommand*{\formatarticlepages}[3][]{\formatpages[#1]{article}{#2}{#3}}% +\newcommand*{\jb@do@ssed@kerning}{% + \ifjb@ssed@after@author\else + \ifthenelse{\equal{\jb@@edition}{}}{}{% + \ifthenelse{\jb@@edition>9}{% + \ifthenelse{\jb@@edition>99}{% + \ifjb@comma@before@rest\,\,\,\,\,\,\else\kern\jbedwidth\fi + }{% + \ifjb@comma@before@rest\,\,\,\,\else\kern\jbedwidth\fi + }% + }{% + \ifjb@comma@before@rest\,\,\else\kern\jbedwidth\fi + }% + }% + \fi +}% +\newcommand\herename{} +\newcommand*{\jbfirstcitepageranges}{\jb@allow@adding@of@pagerange@for@first@citetrue} +\newcommand*{\jb@add@something@before@page}{% + \ifthenelse{% + \boolean{jb@allow@adding@of@pagerange@for@first@cite}% + \and + \not\equal{\jb@@pages}{}% + \and + \( + \boolean{jb@first@cite}% + \or + \boolean{jb@fullcite@again}% + \) + }{% + \herename% + }{}% +}% +\newcommand*{\jb@before@page@sep}{% + \unskip\jb@kern@sep\space% + \ifjb@ssed@recent@kerned + \jb@do@ssed@kerning% + \fi + \jb@add@something@before@page% +}% +\newcommand*{\jb@formatted@start@page}{% + \ifthenelse{% + \not\equal{\jb@@start@page}{}% + \and + \boolean{jb@allow@adding@of@pagerange}% + \and + \(% + \boolean{jb@start@page}% + \and + \equal{\jb@start@page@for@types@arg}{1}% + \)% + \and\not\boolean{jb@switchidemofflocally}% + }{% + \ifthenelse{\equal{\jb@beforestartpagesep}{}}{}{% + \renewcommand*{\jbbeforestartpagesep}{\jb@beforestartpagesep}}% + \renewcommand*{\jbafterstartpagesep}{\jb@afterstartpagesep}% + \renewcommand*{\jbpagesformat}[1]{% + \jb@normalpageldelim##1\jb@normalpagerdelim}% + \jb@allow@adding@of@pagerangefalse + \jbbeforestartpagesep% + \jbprformat{\jb@@start@page}% + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \let\jb@before@page@sep\@empty + \jbafterstartpagesep% + }% + }{}% +} +\newcommand*{\jb@@formatted@pages}{% + \ifthenelse{\equal{\jb@@pages}{}}{% + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + }{% + \jb@formatted@start@page% + \ifjb@always@pageranges + \ifjb@first@cite + \ifjb@allow@adding@of@pagerange + \jb@before@page@sep% + \jbprformat{\jb@@pages}% + \fi + \fi + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + \else + \ifjb@tested@pageranges + \ifthenelse{\equal{\jb@@newpagecite}{}}{% + \ifjb@allow@adding@of@pagerange + \ifthenelse{\not\equal{\diffpageibidemname}{\samepageibidemname}% + \TE@or + \not\equal{\diffpageibidemmidname}{\samepageibidemmidname}% + }{% + \jb@package@warning{\jb@pkg@name}{% + You have redefined one ore more ibidem macros\MessageBreak + while using `pages=test'. Please note it is\MessageBreak + possible that you did not get the desired\MessageBreak + results}% + }{}% + \jb@before@page@sep% + \jbprformat{\jb@@pages}% + \fi + }{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + \else + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{% + \jb@before@page@sep% + \jbpagesformat{\jb@@newpagecite}% + }% + \fi + \fi + }% +}% +\newcommand*{\jb@checked@kerning}{% + \jb@@formatted@pages\unskip% +}% +\newcommand*{\jbpagesep}{,}% +\newcommand*{\jb@makecheckedpages}{% + \ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{% + \ifjb@suppress@dot@for@howcited\else + \ifjbcross\else + \ifjb@allow@dot@for@lookat + \ifthenelse{\boolean{jb@comma@before@rest}}{% + \ifthenelse{% + \( + \not\equal{\jb@@pages}{}% + \and + \( + \boolean{jb@always@pageranges}% + \or + \boolean{jb@tested@pageranges}% + \) + \) + \or + \( + \not\equal{\jb@@start@page}{}% + \and + \boolean{jb@allow@adding@of@pagerange}% + \and + \boolean{jb@start@page}% + \and + \equal{\jb@@type}{article}% + \) + }{% + \renewcommand*{\jb@kern@sep}{\jbpagesep}% + }{% + \renewcommand*{\jb@kern@sep}{}% + }% + \jb@checked@kerning% + }{% + \renewcommand*{\jb@kern@sep}{}% + \jb@checked@kerning% + }% + \fi + \fi + \fi + }{% + \ifjb@period + \ifjb@comma@before@rest + \renewcommand*{\jb@kern@sep}{\jbpagesep}% + \jb@checked@kerning% + \else + \renewcommand*{\jb@kern@sep}{}% + \jb@checked@kerning% + \fi + \else + \ifjb@comma@before@rest + \renewcommand*{\jb@kern@sep}{\jbpagesep}% + \jb@checked@kerning% + \else + \renewcommand*{\jb@kern@sep}{}% + \jb@checked@kerning% + \fi + \fi + }% +}% +\newcommand*{\jb@list}{} +\newcommand*{\jb@opcit@list}{} +\newcommand*{\jb@elt}{} +\let\jb@elt\relax +\newtoks\jb@temptoks +\newcommand*{\jb@@append}[2]{% +% take care that list doesn't start with empty elem + \ifthenelse{\equal{#2}{}}{% + \protected@xdef#2{#1}% + }{% + \jb@temptoks=\expandafter{#2}% + \protected@xdef#2{\the\jb@temptoks,#1}% + }% +}% +\newcommand*{\jb@append}[2]{% +% \jb@typeout{add elem |#1| to list |#2|?}% + \jb@if@elem{#1}{#2}{% +% \jb@typeout{ --- yes, not adding}% + }{% +% \jb@typeout{ --- no, added}% + \jb@@append{#1}{#2}% + }% +}% +\newcommand*{\jb@list@tempa}{} +\newcommand*{\jb@list@tempb}{} +\newcommand*{\jb@test@cmd}{} +\newcommand*{\jb@if@elem}[2]{% +% \jb@typeout{testing if |#1| is elem of |#2|}% + \protected@edef\jb@list@tempa{#1}% + \let\jb@test@cmd\@secondoftwo + \@for\jb@list@tempb:=#2\do{% + \ifx\jb@list@tempa\jb@list@tempb + \let\jb@test@cmd\@firstoftwo + \fi + }% + \jb@test@cmd +}% +\newcommand*{\jb@undefineall}[2]{% + \ifthenelse{\equal{#2}{opcit}}{% + \ifthenelse{\equal{\jb@reset@opcit@for}{chapter}}{% + \@ifundefined{resetopcit\thechapter}{% + \global\@namedef{resetopcit\thechapter}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Chapter \thechapter}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }{% + \@ifundefined{resetcf\thesection}{% + \global\@namedef{resetcf\thesection}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Section \thesection}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }% + }{% + \ifthenelse{\equal{\jb@resetfor}{chapter}}{% + \@ifundefined{resetcitefull\thechapter}{% + \global\@namedef{resetcitefull\thechapter}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Chapter \thechapter}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }{% + \@ifundefined{resetcitefull\thesection}{% + \global\@namedef{resetcitefull\thesection}{}% + \jb@typeout{Package jurabib Info: Resetting `#2' + for Section \thesection}% + \@for\jb@list@tempa:=#1\do{% + \expandafter\gdef\csname\jb@list@tempa\endcsname{}% + }% + }{\relax}% + }% + }% +}% +\newcommand*{\jb@showelems}[1]{% +% \jb@typeout{show elems of list #1:}% + \@for\jb@list@tempa:=#1\do{% + \jb@typeout{\jb@list@tempa: + \expandafter\meaning\csname\jb@list@tempa\endcsname}% + }% +}% +\newcommand*{\jb@firstcitefull}{% +% NEW 0.6 \nextcite-commands should work for `citefull=first' too, reported by Frank Mittelbach + \ifthenelse{\equal{\@nameuse{\jb@@newauthorcite}}{allnextshort}\or + \equal{\@nameuse{\jb@@newauthorcite}}{allnextnotitle}% + }{}{% + \@ifundefined{jb@resetfor}{}{% + \ifthenelse{% + \( + \equal{\jb@resetfor}{chapter}% + \or + \equal{\jb@resetfor}{section}% + \) + \and\value{citefull}=0% + }{% + \jb@undefineall{\jb@list}{citefull=first}% + }{}% + }% + \ifthenelse{% + \not\boolean{jbweareinbib}% + \and% + \boolean{jb@firstcite@full}% + \and% + \equal{\jb@@cite@fullfirst@switch}{1}% + \and\not\boolean{jb@all@full}% + \and\not\boolean{jb@no@lookat@for@bib}% +% NEW 0.6 + \and\not\equal{\jb@@type}{archival}% + }{% + \ifthenelse{\equal{\@nameuse{citefull@\jb@@newauthorcite}}{citefull}}{% + \let\jb@extraspace\@empty + \@ifundefined{jb@morethanonecite}{% + \jb@makecheckednameibidem% + }{\relax}% + \ifjb@ibidem@with@name@and@title\else + \@ifundefined{ibidem}{\let\jb@extraspace\space}{}% + \fi + }{% the first cite + \jb@first@citetrue + \ifthenelse{\not\equal{\jb@start@page@for@types@arg}{1}}{% + \jb@allow@adding@of@pagerangefalse + }{}% + \global\@namedef{citefull@\jb@@newauthorcite}{citefull}% + \global\@namedef{NORMCR@\jb@@newauthorcite}{}% + \global\@namedef{ARTCR@\jb@@newauthorcite}{}% + \global\@namedef{INCCR@\jb@@newauthorcite}{}% + \jb@append{citefull@\jb@@newauthorcite}{\jb@list}% + \jbonlyforfirstcitefullbegin% + \let\jb@extraspace\@empty + \ifjb@lookat + \ifjb@allow@lookat@for@fullcite + \begingroup + \label{look@\@citeb:\jb@reset@look@label@for}% + \hyper@jbanchorstart{look@\@citeb:\jb@reset@look@label@for}\hyper@jbanchorend% + \endgroup + \@namedef{look@\jb@@newauthorcite}{firsttime}% + \fi + \fi + \ifjb@debug + \textcolor[named]{Blue}{% + \ifjb@debug@br[\fi + \jb@formatted@co@author@in\jb@use@fullcite% + \ifjb@debug@br]\fi}% + \else + \jb@formatted@co@author@in\jb@use@fullcite% + \fi + \jbonlyforfirstcitefullend% + \let\jb@makeagainfullcite\@empty + \let\OpCit\@empty + \jb@relaxcommandsforfullcite + }% + }{% + \jb@allow@lookat@for@fullcitefalse + }% + }% +}% +\newcommand*{\jb@ssed@format}{% + \ifthenelse{\equal{\jb@@edition}{}}{}{% + \textsuperscript{\jb@ssed@size\jb@@edition}}}% +\newcommand*{\jb@ssed@notitle@format}{% + \ifthenelse{\equal{\jb@@edition}{}}{}{% + \textsuperscript{\jb@ssed@size\jb@@edition}% + }% +}% +\newcommand{\jb@@samework@edition@differs}{}% +\newlength{\jbedwidth} +\newcommand*{\jb@make@superscript@edition}{% + \ifthenelse{\equal{\jb@@edition}{\@empty}}{}{% + \ifjb@ssed@all + \renewcommand*{\jb@checked@edition}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{% + \ifthenelse{% + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{% + \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}% + }% + }{% + \jb@ssed@notitle@format% + }% + }% + \else + \ifjb@ssed@commented + \renewcommand*{\jb@checked@edition}{% + \ifthenelse{\equal{\jb@@type}{commented}}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{% + \ifthenelse{% + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{% + \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}% + }% + }{% + \jb@ssed@notitle@format% + }% + }{}% + }% + \else + \ifjb@ssed@sw + \ifthenelse{\equal{\jb@@edition@switch}{1}}{% + \renewcommand*{\jb@checked@edition}{% + \ifthenelse{\equal{\jb@@mult@switch}{1}\TE@or\equal{\jb@@title@switch}{1}}{% + \ifthenelse{% + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{% + \renewcommand*{\jb@aftertitleedition}{\jb@ssed@format}% + }% + }{% + \jb@ssed@notitle@format% + }% + }% + }{}% + \else + \ifjb@ssed@mult@works + \renewcommand\jb@checked@edition{% + \ifthenelse{% + \boolean{jb@ssed@mult@works}% + \and + \equal{\jb@@samework@edition@differs}{1}% + }{% + \let\jb@checked@title\@empty + \jb@ssed@format% + \settowidth{\jbedwidth}{\jb@ssed@format}% + \ifjb@ssed@kerning@wanted\ifjb@ssed@after@author\else + \kern-\jbedwidth\jb@ssed@recent@kernedtrue\fi + \fi + }{}% + }% + \fi + \fi + \fi + \fi + }% +}% +\newtoks\jb@ta\newtoks\jb@tb +\newcommand\jbauthorinfo{% + \begingroup\@sanitize % needed to deactivate \" etc. + \jb@deactivate@babel + \catcode`\ =10 % but treat spaces as usual (gobble between arguments) + \jb@define@verbatim@ +} +\newcommand\jb@define@verbatim@[2]{% + \def\jb@curr@key{#2}\def\jb@list{}\jb@do@authorinfo#1\jb@end\endgroup} +\newcommand\jb@curr@cite{} +\newcommand\jb@last@cite{} +\newcommand\jb@citeasedn[1]{\global\@namedef{jb@#1}{}} +\newcommand\jb@check@edn[1]{% + \@ifundefined{jb@#1}{% +% \typeout{work differs}% + \def\jb@@samework@edition@differs{0}% + }{% +% \typeout{only EDN differs}% + \def\jb@@samework@edition@differs{1}% + }% +} +\def\jb@do@authorinfo#1#2\jb@end{% + \ifthenelse{\equal{#2}{}}{% +% \typeout{at end of list: |#1|}% + \jb@ta=\expandafter{\jb@list}% + \jb@tb=\expandafter{#1}% + \@ifundefined{\the\jb@ta\the\jb@tb}{% +% \typeout{this is new:^^J|\the\jb@ta\the\jb@tb|}% + }{% +% \typeout{this is not new:^^J|\the\jb@ta\the\jb@tb|}% +% \typeout{saving1: |\expandafter\meaning\csname\the\jb@ta\the\jb@tb\endcsname|}% +% \typeout{saving2: |\meaning\jb@curr@key|}% + \protected@write\@auxout{}{% + % save previous label, and current label: + \string\csname\space jb@citeasedn\string\endcsname{\@nameuse{\the\jb@ta\the\jb@tb}}^^J% + \string\csname\space jb@citeasedn\string\endcsname{\jb@curr@key}% + }% + }% +% \typeout{===remembering: \jb@curr@key}% + \expandafter\global\expandafter\@namedef\expandafter{\the\jb@ta\the\jb@tb\expandafter}\expandafter{\jb@curr@key}% + }{% +% \typeout{list item: |#1|}% + \jb@ta=\expandafter{\jb@list}% + \jb@tb=\expandafter{#1}% + \protected@edef\jb@list{\the\jb@ta\the\jb@tb}% +% \typeout{list: \meaning\jb@list}% + \jb@do@authorinfo#2\jb@end + }% +} +\newcommand\jb@@last@@author{} +\newcommand\jb@@new@@author{}\newcommand*{\footciteyear}{\begingroup\jb@deactivate@babel\@ifnextchar[{\jb@footciteyear}{\jb@footciteyear[]}}% +\def\jb@footciteyear[#1]{\@ifnextchar[{\jb@@footciteyear[#1]}{\jb@@footciteyear[][#1]}}% +\def\jb@@footciteyear[#1][#2]#3{% + \def\jb@enote@hook{% + \def\jb@nat@commands{\ifthenelse{\equal{\jb@@year}{}}{?}{\jb@@year}}% + \renewcommand{\jb@nat@cite@left@sep}{}\renewcommand{\jb@nat@cite@right@sep}{}% + \jb@footfalse % works for endnotes too + }% + \jb@enote@hook + \jb@foottrue + \jb@emulate@nat@cite[#1][#2]{#3}\endgroup +% \futurelet\@let@token\@next@footnote +}% +\newcommand\jb@@last@@title{} +\newcommand\jb@@new@@title{} +\newcommand\jb@@last@fullname@author{} +\newcommand\jb@@new@fullname@author{} +\newcommand{\jb@do@ibidem@name@title@test}{% + \def\jb@@new@fullname@author{INTT@\jb@@fullname}% INTT= ibidem name & title test + \ifthenelse{\equal{\jb@@last@fullname@author}{\jb@@new@fullname@author}% +% full names are the same, but it's not the same work + \and\not\equal{\jb@@newauthorcite}{\jb@@lastauthorcite}% + }{% + \jb@same@author@different@worktrue + }{% + \jb@same@author@different@workfalse + }% + \global\let\jb@@last@fullname@author\jb@@new@fullname@author +}% +\newcommand*{\jb@do@if@multiple@bibetal}{\def\jb@@title@switch{1}} +\newcommand*{\jb@make@opcit}{% + \ifjbweareinbib\else + \ifjbcross\else + \ifjb@opcit + \@ifundefined{jb@reset@opcit@for}{}{% + \ifthenelse{% + \not\equal{\jb@reset@opcit@for}{}% + \and\value{opcit}=0% + }{% + \jb@undefineall{\jb@opcit@list}{opcit}% + }{}% + }% +% debugging +% \jb@showelems{\jb@opcit@list}% + \ifthenelse{\equal{\@nameuse{opcit@\jb@@newauthorcite}}{cited}}{% + \jb@@opcittrue + }{% + \global\@namedef{opcit@\jb@@newauthorcite}{cited}% + \hyper@jbanchorstart{opcit.\jb@@newauthorcite.\jb@reset@opcit@label@for}% + \hyper@jbanchorend% + \jb@append{opcit@\@citeb}{\jb@opcit@list}% + \jb@@opcitfalse + }% + \fi + \fi + \fi +}% +\newcommand*{\jb@make@pageranges@for@first@cite}{% + \ifthenelse{\equal{\@nameuse{citefull@\@citeb}}{citefull}% + \and\not\boolean{jb@allow@adding@of@pagerange@for@first@cite}% + }{% + \let\jbPAGES\@gobble + \let\jbpages\@gobble + \let\jbPages\@gobble + \let\jbartPages\@gobble + }{% + \ifthenelse{\(% + \equal{\jb@@type}{article}% + \or + \equal{\jb@@type}{periodical}% +% CH 0.6 incollection added + \or + \equal{\jb@@type}{incollection}% + \)% + \and\boolean{jb@allow@adding@of@pagerange@for@first@cite}% + }{}{% + \let\jbPAGES\@gobble + \let\jbpages\@gobble + \let\jbPages\@gobble + \let\jbartPages\@gobble + }% + }% +} +\def\@citex[#1][#2]#3{% + \stepcounter{jb@cites@in@footnote}% + \ifjb@ssed@mult@works\jb@check@edn{#3}\fi +% NEW 0.6 some checks for the new `super' option + \ifthenelse{\boolean{jb@foot}\or\(\boolean{jb@super}\and\not\boolean{jb@fn}% + \and\not\boolean{jbweareinbib}\and\not\boolean{jbweareinendnotes}\)}{% + \renewcommand*{\@cite}[2]{\unskip\footnote{##1##2\ifthenelse{\boolean{jb@footnote@period}}{\unskip.}{}}}% + }{% + \renewcommand*{\@cite}[2]{% + \ifjb@fn\else\ifjbweareinbib\else\ifjbcross\else\jb@open\fi\fi\fi + ##1##2% + \ifjb@fn\else\ifjbweareinbib\else\ifjbcross\else\jb@close\fi\fi\fi + }% + }% + \ifx\relax#1\relax + \ifx\relax#2\relax + \ifjb@debug + \typeout{#3: @citex arg1 and @citex arg2 are empty,}% + \typeout{#3: I assume \string\cite{key}}% + \fi + \def\jb@@newannotatorcite{}% + \def\jb@@newpagecite{\jbprformat{}}% + \else + \ifjb@debug + \typeout{#3: @citex arg1 is empty or missing/@citex arg2 is #2}% + \typeout{#3: I assume \string\cite[#2]{key} or \string\cite[][#2]{key}}% + \fi + \def\jb@@newannotatorcite{}% + \def\jb@@newpagecite{\jbprformat{#2}}% + \fi + \else + \ifx\relax#2\relax + \ifjb@debug + \typeout{#3: @citex arg1 is #1/@citex arg2 is empty or missing}% + \typeout{#3: I assume \string\cite[#1][]{key}}% + \fi + \ifjb@old@order + \def\jb@@newannotatorcite{}% + \def\jb@@newpagecite{\jbprformat{#1}}% + \else + \def\jb@@newannotatorcite{#1}% + \def\jb@@newpagecite{\jbprformat{}}% + \fi + \else + \ifjb@debug + \typeout{#3: @citex arg1 is #1/@citex arg2 is #2}% + \typeout{#3: I assume \string\cite[#1][#2]{key}}% + \fi + \ifjb@old@order + \def\jb@@newannotatorcite{#2}% + \def\jb@@newpagecite{\jbprformat{#1}}% + \else + \def\jb@@newannotatorcite{#1}% + \def\jb@@newpagecite{\jbprformat{#2}}% + \fi + \fi + \fi + \ifjb@no@nested@crossrefs +% perhaps \bibcrossrefcite is redef'd, so let's save it + \let\origcrossref\jbcrossrefchecked +% disable crossreferencing in full citations by default + \renewcommand*{\jbcrossrefchecked}[2][]{}% +% save crossref editor separation + \let\origbibces\bibces + \renewcommand*{\bibces}{}% + \fi + \let\@citea\@empty% + \@cite{% + \@for\@citeb:=#3\do{% + \@citea% + \def\@citea{;\penalty\@m\ % + \@ifundefined{jb@morethanonecite}{% + \global\@namedef{jb@morethanonecite}{}}{}% + \ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{\relax}{% + \jb@package@warning{\jb@pkg@name}{% + I assume you know what you're doing % + using `\jb@@newpagecite'\MessageBreak + on a citation with more than one\MessageBreak + author}{\relax}% + }% + }% + \@ifundefined{b@\@citeb}{}{% + \protected@edef\@tempa{\csname b@\@citeb\endcsname}% + \protected@edef\jb@@new@@author{\expandafter\jb@fifthofseven\@tempa\@empty}% + }% + \ifthenelse{\equal{\jb@@last@@author}{\jb@@new@@author}\and\not\equal{\jb@@new@@author}{}}{% + \jb@same@fullauthortrue + }{% + \jb@same@fullauthorfalse + }% + \global\let\jb@@last@@author\jb@@new@@author +% This has to be tested outside definition of \@citea! + \@ifundefined{jb@morethanonecite}{\relax}{% + \let\jb@@newannotatorcite\@empty +% for repeated authors in multiple citations + \let\idemname\idemmidname + }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw + \immediate\write + \@newciteauxhandle{% + \jb@makehowcited\string\citation{\@citeb}% + }% + \fi +% b@\@citeb\@extra@b@citeb instead of b@\@citeb % +% for chapterbib compatibility + \@ifundefined{b@\@citeb\@extra@b@citeb}{% + \mbox{\reset@font{\bfseries ?}, #1}% + \G@refundefinedtrue + \@latex@warning{% + Citation `\@citeb' on page \thepage \space undefined + }% + }{% + \begingroup + \jb@extract% + \ifjb@always@pageranges\else\ifjb@tested@pageranges + \ifthenelse{\equal{\jb@@newpagecite}{}}{}{\jb@make@pageranges@for@first@cite}% + \else\jb@make@pageranges@for@first@cite\fi\fi +% \@citeb instead of #3 (we are inside \@for!) + \def\jb@@newauthorcite{\@citeb}% +% new position of \jb@make@opcit to jump to the beginning of the opcit source citation + \jb@make@opcit + \jb@call@index{aut}{\@citeb}% + \jb@call@index{ed}{\@citeb}% + \jb@call@index{org}{\@citeb}% + \jb@changefontsforfullcite + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \jb@extract% + \jb@do@ibidem@name@title@test% +% For crossref's: avoid lonely \jbhowsepbeforetitle at the beginning +% of an bib entry, if no author (and no key!) is given + \ifthenelse{% + \equal{\jb@@fullname}{\@empty}% + \and + \equal{\jb@@author}{\@empty}% + }{% + \let\jbhowsepbeforetitle\@empty + }{}% +% do some things ONLY in citations, use \addto + \jbonlyforcitations% +% check if we should print out the title for a special publication type <=== To TEST !!!!!!!!!!! + \jb@cite@title@for@type@hook% +% check for types and citefull=first + \jb@cite@full@first@fortype@hook% +% check for work which should have always title + \jb@cite@title@for@work@hook% +% check for which type we should print out the starting page + \jb@start@page@for@type@hook% +% check for which type we should give a starting page +% \jb@format@startpages@for@types@hook% + \jb@make@superscript@edition% +% check if different works with <name>~\Bibetal exists +% \@citeb instead of #3 (we are inside \@for!) + \@ifundefined{jb@fm@\@citeb}{}{% + \ifthenelse{\equal{\jb@@mult@switch}{0}}{% + \@ifundefined{jb@fmmess@\@citeb}{% only one message per entry + \global\@namedef{jb@fmmess@\@citeb}{}% + \jb@package@warning{\jb@pkg@name}{% + Multiple use of `et. al.' for the author(s)\MessageBreak + of `#3' \MessageBreak + detected, printing the title to\MessageBreak + avoid ambiguity}}{}}{\relax}% + \jb@do@if@multiple@bibetal% the things to do if true + }% + \ifjb@babel + \ifthenelse{% + \equal{\jb@@language}{\bbl@main@language}% + }{}{% + \ifthenelse{% + \equal{\jb@@language}{\@empty}% + }{% if no language is given, use the main language + \expandafter\jbselectlanguage% + \expandafter{\bbl@main@language}% + }{% if a language is given, use it + \language=\csname l@\jb@@language\endcsname\relax% + }% + }% + \fi + \jb@checktitlefields + \@ifundefined{jb@morethanonecite}{\jb@makeibidem}{\relax}% + \jb@makeidem + \jb@firstcitefull + \jb@checked@etal + \jb@makeagainfullcite% + \jb@relaxforemptyauthor + \jb@warningfootciteusage + \jb@maketitlewishestrue + \jb@cite@no@title@for@type@hook% + \ifjb@debug + \textcolor[named]{Dandelion}{% + \ifjb@debug@br[\fi\jb@makecheckedcite\ifjb@debug@br]\fi}% + \else + \jb@makecheckedcite% + \fi + \OpCit% + \ifjb@lookat + \ifjb@firstcite@full + \ifjb@allow@lookat@for@fullcite + \ifjb@all@full\else + \ifthenelse{% + \equal{\@nameuse{look@\@citeb}}{firsttime}% + }{% + \relax + }{% +% "Don't place the \ref and \vref within the scope of +% \hyper@natlinkstart ... \hyper@natlinkend--that can +% cause nested hyperlinks." - Eitan Gurari +% So we are closing the hyperlink and the group here ... +% NEW 0.6 lookat for type stuff + \jb@lookat@fortype@hook + \ifthenelse{\equal{\jb@@lookat@for@type@switch}{1}}{% + \unskip\lookatprefix% + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + \ifjb@vario + \vref{look@\@citeb:\jb@reset@look@label@for}% + \else + \ref{look@\@citeb:\jb@reset@look@label@for}% + \fi + \begingroup + \ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi + \lookatsuffix% + \jb@extract% + }{}% + }% + \fi % allfull end + \fi % allow@lookat@for@fullcite end + \fi % jb@firstcite@full end + \fi % jb@lookat end + \jb@checkperiod{#2}% + \jb@extract@starting@page{\jb@@pages}% + \jb@makecheckedpages + \ifjb@allow@hyper@cite\hyper@jblinkend\fi + \endgroup + \ifx\relax#1\relax\ifx\relax#2\relax +% CH 0.6 don't compare empty pages to the next reference [RS], +% no \samepageibidem(mid)name for subsequent citations without page +% \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{}% + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{EMPTY}% + \else + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{\jbprformat{#2}}% + \fi + \else + \ifx\relax#2\relax + \ifjb@old@order + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{\jbprformat{#1}}% + \else +% CH 0.6 don't compare empty pages to the next reference [RS], +% no \samepageibidem(mid)name for subsequent citations without page +% \gdef\jb@@lastannotatorcite{#1}\gdef\jb@@lastpagecite{}% + \gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{EMPTY}% + \fi + \else + \ifjb@old@order + \gdef\jb@@lastannotatorcite{#2}\gdef\jb@@lastpagecite{\jbprformat{#1}}% + \else + \gdef\jb@@lastannotatorcite{#1}\gdef\jb@@lastpagecite{\jbprformat{#2}}% + \fi + \fi + \fi + \ifjbweareinbib\else\gdef\jb@@lastauthorcite{#3}\fi + \global\let\jb@morethanonecite\@undefined + \let\ibidem\@undefined + \ifjb@no@nested@crossrefs + \global\let\jbcrossrefchecked\origcrossref + \fi + \ifjb@fn + \let\jb@close\@empty + \let\jb@open\@empty + \fi + \stepcounter{citefull}% + \stepcounter{opcit}% + \jb@allow@adding@of@pagerangetrue + }% + }% + \global\jb@fullcite@againfalse + \jb@noauthorforcitetitlefalse + }{}% + \ifjb@fn\else\jb@fnfalse\fi + \jb@ssed@recent@kernedfalse + \@restore@auxhandle +}% +\AtBeginDocument{% + \let\citetitle\jbcitetitle + \let\fullcite\jbfullcite + \let\footfullcite\jbfootfullcite + \let\footcite\jbfootcite + \let\footcitetitle\jbfootcitetitle +}% +% CH 0.6 we switched to the end of the file, because of the new file loading mechanism, +% some command appeared to be undef'ed when putting them into the .cfg files +\def\jurabibsetup{\setkeys{jb}} +\let\jb@origExecuteOptions\ExecuteOptions +\let\ExecuteOptions\jurabibsetup +% CH 0.6 adapted version of \ProcessOptionsWithKV, after discussion in dctt. +\def\ProcessOptionsWithKV#1{% + \let\@tempc\relax + \let\KVo@tempa\@empty + \@for\CurrentOption:=\@classoptionslist\do{% + \@ifundefined{KV@#1@\CurrentOption}% + {}% + {% + \edef\KVo@tempa{\KVo@tempa,\CurrentOption,}% + \@expandtwoargs\@removeelement\CurrentOption + \@unusedoptionlist\@unusedoptionlist + }% + }% + \edef\KVo@tempa{% + \noexpand\setkeys{#1}{% + \KVo@tempa\@ptionlist{\@currname.\@currext}% + }% + }% + \KVo@tempa + \AtEndOfPackage{\let\@unprocessedoptions\relax}% + \let\CurrentOption\@empty +} +\ProcessOptionsWithKV{jb}% +% \let\ExecuteOptions\jb@origExecuteOptions +% Pick up the options from config files +% Is there a own config file? +\InputIfFileExists{\jb@own@config@file}{% + \jb@typeout{Package jurabib Info: *** Local config file `\jb@own@config@file' used ***^^J}}{% +% Is there a jurabib system config file? + \InputIfFileExists{\jb@config@file}{% + \jb@typeout{Package jurabib Info: *** Local config file `\jb@config@file' used ***^^J}}{}% +}% +% Call \ProcessOptionsWithKV again to give \usepackage-options priority over options from config files. +\ProcessOptionsWithKV{jb}% +\let\ExecuteOptions\jb@origExecuteOptions +%</package> +%<*jurabst|jurecobst|jurunsrt> +ENTRY{ + address + author + booktitle + chapter + edition + editor + howpublished + institution + isbn + issn + journal + key + language + month + note + number + organization + pages + publisher + school + series + title + type + volume + year +%% + url + urldate + volumetitle + dissyear + howcited + juratitle + juraauthor + shorttitle + shortauthor + ssedition + titleaddon + booktitleaddon + editortype + sortkey + annote + gender + translator + flanguage + oyear + oaddress + opublisher + updated + totalpages + founder + archive + subarchive + shortarchive + shortsubarchive + sig1 + sig2 + sig3 + sig4 + archname + } + { repeat-authors repeat-titles } + { label dummy.label extra.label sort.label current-authors } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { colon.after period.dash } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'colon.after := + #5 'period.dash := +} + +STRINGS { s t u v w x } + +FUNCTION {output.nonnull} +{ 's := + output.state after.block = + { write$ } + { output.state before.all = + { write$ } + { output.state colon.after = + { "" * write$ } + { output.state period.dash = + { ", " * write$ } + { output.state mid.sentence = + { " " * write$ } + { write$ } + if$ + } + if$ + } + if$ + } + if$ + after.block 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "Empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition.superscript} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or s "erste" = or + { "1" 't := } + { s "second" = s "2" = or s "zweite" = or + { "2" 't := } + { s "third" = s "3" = or s "dritte" = or + { "3" 't := } + { s "fourth" = s "4" = or s "vierte" = or + { "4" 't := } + { s "fifth" = s "5" = or s "fuenfte" = or + { "5" 't := } + { s "sixth" = s "6" = or s "sechste" = or + { "6" 't := } + { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or + { "7" 't := } + { s "eighth" = s "8" = or s "achte" = or + { "8" 't := } + { s "nineth" = s "9" = or s "neunte" = or + { "9" 't := } + { s #1 #1 substring$ is.num + { s "" * 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * t #2 global.max$ substring$ 't := } + { { t #1 #1 substring$ "-" = } + { "-" * t #2 global.max$ substring$ 't := } + while$ + } + if$ + } + { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } + if$ + } + while$ +} + +FUNCTION {output.bibitem.fst} +{ newline$ + "\bibitem[{" write$ + shortauthor empty$ + { juraauthor empty$ + { author empty$ + { editor empty$ + { organization empty$ +% CH 0.6 { "empty" write$ } + { archive empty$ + { "empty" write$ } + { archive write$ } + if$ + } + { organization write$ } + if$ + } + { label write$ } + if$ + } + { label write$ } + if$ + } + { juraauthor write$ } + if$ + } + { shortauthor write$ } + if$ + "}%" write$ + sortkey empty$ + 'skip$ + { newline$ "% SORTKEY: [" sortkey * "]" * write$ } + if$ + newline$ + shorttitle empty$ + { juratitle empty$ + { journal empty$ + { " {}%" write$ } +%<*jurecobst> + { " {" journal * "}%" * write$ } + if$ + } +%</jurecobst> +%<*jurabst|jurunsrt> + { volume empty$ + { year empty$ + { " {" journal * "}%" * write$ } + { " {" journal * "\jbsy {" * year * "}}%" * write$ } + if$ + } + { year empty$ + { " {" journal * "}%" * write$ } + { " {" journal * " " * volume * " " * " \peryearformat {" year * "}}%" * * write$ } + if$ + } + if$ + } + if$ + } +%</jurabst|jurunsrt> + { " {" juratitle * "}%" * write$ } + if$ + } + { " {" shorttitle * "}%" * write$ } + if$ + newline$ + repeat-authors + { " {{1}" write$ } + { " {{0}" write$ } + if$ + howcited empty$ + { "{}" write$ } + { "{" howcited * "}" * write$ } + if$ + type$ empty$ + { "{}" write$ } + { "{" type$ * "}" * write$ } + if$ + year empty$ + { type$ "book" = dissyear empty$ not and + { "{" dissyear * write$ + extra.label "" = + skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + "}" write$ + } + { "{}" write$ } + if$ + } + { "{" year * write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + "}" write$ + } + if$ + edition empty$ + { "{}" write$ } + { "{" convert.edition.superscript extract.num * "}" * write$ } + if$ + ssedition empty$ + { "{}" write$ } + { "{" ssedition * "}" * write$ } + if$ + language empty$ + { "{}" write$ } + { "{" language * "}" * write$ } + if$ + pages empty$ + { "{}%" write$ } + { "{" write$ pages n.dashify write$ "}%" write$ } + if$ +} + +FUNCTION {output.bibitem.snd} +{ newline$ +%<*jurecobst> + publisher empty$ + { address empty$ + { " {" write$ } + { " {" write$ address write$ } + if$ + } + { address empty$ + { " {" write$ } + { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ } + if$ + } + if$ +%</jurecobst> +%<*jurabst|jurunsrt> + publisher empty$ + { address empty$ + { year empty$ + { " {" write$ } + { " {" write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + { year empty$ + { " {" write$ address write$ } + { " {" write$ address write$ "\bibbdsep {} " write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + if$ + } + { address empty$ + { year empty$ + { " {" write$ publisher write$ } + { " {" write$ publisher write$ "\bibbdsep {} " write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + { year empty$ + { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ } + { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ "\bibbdsep {} " write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + if$ + } + if$ +%</jurabst|jurunsrt> + "}}%" write$ newline$ + " {" write$ + title empty$ + { "{}%" write$ newline$ } + { "{" title * + type$ "archival" = + { shortarchive empty$ not + { ", In: " shortarchive * * } + { archive empty$ not + { ", In: " archive * * } + 'skip$ + if$ + } + if$ + shortsubarchive empty$ + 'skip$ + { ", " shortsubarchive * * } + if$ + sig1 empty$ + 'skip$ + { ", " sig1 * * + sig2 empty$ + 'skip$ + { ". " sig2 * * + sig3 empty$ + 'skip$ + { ". " sig3 * * + sig4 empty$ + 'skip$ + { ". " sig4 * * } + if$ + } + if$ + } + if$ + } + if$ + pages empty$ + 'skip$ + { " \jbArchPages {" pages n.dashify * "}" * * } + if$ + } + 'skip$ + if$ + "}%" * write$ newline$ } + if$ + gender empty$ + { " {}" write$ } + { " {" gender * "}" * write$ } + if$ +% NEW 0.6 + oyear empty$ + { "{}" write$ } + { "{" oyear * "}" * write$ } + if$ + author empty$ + { editor empty$ + { "{4}" write$ }% author and editor empty + { "{3}" write$ }% author empty, editor not + if$ + } + { editor empty$ + { "{2}" write$ }% editor empty, author not + { "{1}" write$ }% both author and editor given + if$ + } + if$ + "{}{}{}{}{}}%" write$ newline$ + " ]{" write$ + cite$ write$ + "}" write$ + url empty$ + 'skip$ + { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ } + if$ + newline$ + " \jbbibargs {" write$ + "" + before.all 'output.state := +} + +FUNCTION {output.bibitem} +{ output.bibitem.fst + output.bibitem.snd +} + +% NEW 0.5e +FUNCTION {format.note} +{ note empty$ + 'skip$ + { output.state before.all = + {" \jbnote {} {" * note * "} " * } + {" \jbnote {1} {" * note * "} " * } + if$ + } + if$ +} + +% NEW 0.5e +FUNCTION {format.endnote} +{ note empty$ + { "" } + { " \jbendnote {" note * "}" * } + if$ +} + +% NEW 0.5e +% FUNCTION {fin.entry.endnote} +% { " \jbdoitem" * write$ +% annote missing$ +% { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ } +% { " \bibAnnote {" annote * "}" * write$ newline$ } +% if$ +% } + +FUNCTION {format.juradiss.book} +{ dissyear empty$ + { "" } + { type empty$ + { school empty$ + { "Dissyear but no school in " cite$ * warning$ + " (\alsothesisname {} \jurthesisname" * + year empty$ not year missing$ not and + { "\bibbdsep {} " dissyear * } + 'skip$ + if$ + ")" * + } + { " (\alsothesisname {} \jurthesisname, " school * + year empty$ not year missing$ not and + { "\bibbdsep {} " dissyear * * } + 'skip$ + if$ + ")" * + } + if$ + } + { school empty$ + { "Dissyear but no school in " cite$ * warning$ + " (\alsothesisname {} " type * + year empty$ not year missing$ not and + { "\bibbdsep {} " dissyear * } + 'skip$ + if$ + ")" * + } + { " (\alsothesisname {} " type * + ", " school * * + year empty$ not year missing$ not and + { "\bibbdsep {} " dissyear * * } + 'skip$ + if$ + ")" * + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.thesis} +{ year empty$ + { school empty$ + { "No universtiy in " cite$ * warning$ } + { "There's a university, but no year in " cite$ * warning$ } + if$ + "" + } + { type empty$ +%<*jurecobst> + { school empty$ + { "No university in " cite$ * warning$ + type$ "mastersthesis" = + { "\apyformat {\mastersthesisname" address empty$ 'skip$ { ", " address * * } if$ "}" * } + { type$ "jurthesis" = + { "\apyformat {\jurthesisname" address empty$ 'skip$ { ", " address * * } if$ "}" * } + { "\apyformat {\phdthesisname" address empty$ 'skip$ { ", " address * * } if$ "}" * } + if$ + } + if$ + } + { type$ "mastersthesis" = + { "\mastersthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "}" * } + { type$ "jurthesis" = + { "\jurthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "}" * } + { "\phdthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "}" * } + if$ + } + if$ + } + if$ + } +%</jurecobst> +%<*jurabst|jurunsrt> + { school empty$ + { "No university in " cite$ * warning$ + type$ "mastersthesis" = + { "\apyformat {\mastersthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * } + { type$ "jurthesis" = + { "\apyformat {\jurthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * } + { "\apyformat {\phdthesisname" * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * "}" * } + if$ + } + if$ + } + { type$ "mastersthesis" = + { "\mastersthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * } + { type$ "jurthesis" = + { "\jurthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * } + { "\phdthesisname, \apyformat {" school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * } + if$ + } + if$ + } + if$ + } +%</jurabst|jurunsrt> +%<*jurecobst> + { school empty$ + { "No university in " cite$ * warning$ type } + { type " \apyformat {" * school * address empty$ 'skip$ { ", " address * * } if$ "}" * } + if$ + } +%</jurecobst> +%<*jurabst|jurunsrt> + { school empty$ + { "No university in " cite$ * warning$ type + address empty$ 'skip$ { " \apyformat {" address * } if$ "\bibbdsep {} " * * year * "}" * } + { type " \apyformat {" * school * address empty$ 'skip$ { ", " address * * } if$ "\bibbdsep {} " year * * "}" * } + if$ + } +%</jurabst|jurunsrt> + if$ + } + if$ +} + +FUNCTION {set.comma.pages.check} +{ year empty$ + 'skip$ + { pages empty$ + { url empty$ + 'skip$ + { ", " * } + if$ + } + { ", " * } + if$ + } + if$ +} + +FUNCTION {set.period.dash} +{ output.state before.all = + 'skip$ + { period.dash 'output.state := } + if$ +} + +FUNCTION {set.period.dash.check} +{ empty$ + 'skip$ + 'set.period.dash + if$ +} + +FUNCTION {new.sentence} +{ output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ +} + +FUNCTION {part.of.sentence} +{ output.state before.all = + 'skip$ + { mid.sentence 'output.state := } + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +% This function replaces the string on top of the stack with its final +% non-right-brace character. + +FUNCTION {get.final.nonrightbrace.char} +{ { duplicate$ + #-1 #1 substring$ + duplicate$ + "}" = + } + { pop$ + #-2 global.max$ substring$ + } + while$ + swap$ pop$ +} + +% somewhat analogous to the add.period$ built-in function, this function looks +% at the string on top of the stack, and if its last character is a period, +% question mark, or exclamation mark, it appends nothing (the closing brace), +% else it appends the \bibatsep macro + +FUNCTION {check.punct.instead.of.add.period} +{ duplicate$ + get.final.nonrightbrace.char + duplicate$ "." = swap$ + duplicate$ "!" = swap$ + "?" = or or + { "} " * } + { "}\bibatsep\ " * } + if$ +} + +FUNCTION {check.punct.instead.of.add.period.art} +{ duplicate$ + get.final.nonrightbrace.char + duplicate$ "." = swap$ + duplicate$ "!" = swap$ + "?" = or or + { "} " * } + { pages empty$ note empty$ url empty$ and and + { "} " * } + { volume empty$ + { pages empty$ + { "}\ajtsep\ " * } + { crossref missing$ + { month empty$ + { "}\ajtsep\ " * } + { "}\ajtsep " * } + if$ + } + { "}\ajtsep " * } + if$ + } + if$ + } + { "}\ajtsep\ " * } + if$ + } + if$ + } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\bibtfont {" swap$ check.punct.instead.of.add.period * } + if$ +} + +FUNCTION {journaltitlemarkup} +{ duplicate$ empty$ + { pop$ "" } + { "\bibJTsep \bibjtfont {" swap$ check.punct.instead.of.add.period.art * } + if$ +} + +FUNCTION {incollbooktitlemarkup} +{ duplicate$ empty$ + { pop$ "" } + { "\bibbtfont {" swap$ check.punct.instead.of.add.period * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION { lastnamemarkup } +{ duplicate$ empty$ + { pop$ "" } + { "\bibnf {" swap$ * "}" * } + if$ +} + +FUNCTION { editorlastnamemarkup } + { duplicate$ empty$ + { pop$ "" } + { author empty$ + { "\biblenf {" swap$ * "}" * } % lonely editor(s)! + { "\bibenf {" swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION { othermarkup } + { duplicate$ empty$ + { pop$ " {}" } + { " {" swap$ * "}" * } + if$ +} + +FUNCTION {article.in.journal} +{ duplicate$ empty$ + { pop$ "" } + { author missing$ + { title missing$ + 'skip$ + { journaltitlemarkup "" swap$ * } + if$ + } + { journaltitlemarkup "" swap$ * } + if$ + } + if$ +} + +FUNCTION {format.names} % NEW v0.5 +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't := + s nameptr "{ff}" format.name$ othermarkup 'u := + s nameptr "{f.}" format.name$ othermarkup 'v := + s nameptr "{vv}" format.name$ othermarkup 'w := + s nameptr "{jj}" format.name$ othermarkup 'x := + t u * v * w * x * 't := + nameptr #1 > + { namesleft #1 > + { numnames #3 > + { "" * } + { numnames #3 < + { "\Bibbtasep " * t * } % between (exactly) two authors + { "\Bibbfsasep " * t * } % between first and second author (if more than two) + if$ + } + if$ + } + { t "\bibnf {others} {} {} {} {}" = + t "\bibnf {others} {} {} {} {} \edfont {\editorsname}" = or + numnames #3 > or + { "\bibIMfont {\Bibetal}" * } + { numnames #3 < + { "\Bibbtasep " * t * } % between (exactly) two authors + { "\Bibbstasep " * t * } % between second and third author + if$ + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.editor.names} % NEW v0.5 +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't := + s nameptr "{ff}" format.name$ othermarkup 'u := + s nameptr "{f.}" format.name$ othermarkup 'v := + s nameptr "{vv}" format.name$ othermarkup 'w := + s nameptr "{jj}" format.name$ othermarkup 'x := + t u * v * w * x * 't := + nameptr #1 > + { namesleft #1 > + { numnames #3 > + { "" * } + { numnames #3 < + { "\Bibbtesep " * t * } % between (exactly) two editors + { "\Bibbfsesep " * t * } % between first and second editor (if more than two) + if$ + } + if$ + } + { t "\bibenf {others} {} {} {} {}" = + t "\biblenf {others} {} {} {} {}" = or + t "\bibenf {others} {} {} {} {} \edfont {\editorsname}" = or + t "\biblenf {others} {} {} {} {} \edfont {\editorsname}" = or + numnames #3 > or + { "\bibIMfont {\Bibetal}" * } + { numnames #3 < + { "\Bibbtesep " * t * } % between (exactly) two editors + { "\Bibbstesep " * t * } % between second and third editor + if$ + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.name.sig} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { "" * t * } + { t "others" = + { " et al." * } + { "" * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +% NEW 0.6 +FUNCTION {indexmarkup} +{ duplicate$ empty$ + { pop$ "{}" } + { "{" swap$ * "}" * } + if$ +} + +% NEW 0.6 +FUNCTION {format.names.for.index} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ll}" format.name$ 't := t indexmarkup 't := + s nameptr "{ff}" format.name$ indexmarkup 'u := + s nameptr "{f.}" format.name$ indexmarkup 'v := + s nameptr "{vv}" format.name$ indexmarkup 'w := + s nameptr "{jj}" format.name$ indexmarkup 'x := + t u * v * w * x * 't := + t "{others}{}{}{}{}" = + 'skip$ + { nameptr #1 > + { namesleft #1 > + { "; " * t * } + { +% numnames #2 > +% { "; " * } +% 'skip$ +% if$ + t "others" = + 'skip$ + { "; " * t * } + if$ + } + if$ + } + 't + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.founders} +{ founder empty$ + 'skip$ + { author empty$ + 'skip$ + { " in: " * } + if$ + founder format.names "\foundername" * * + editor empty$ + 'skip$ + { author empty$ + { "\afterfoundersep {}" * } + 'skip$ + if$ + } + if$ + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { author empty$ + { editor format.editor.names + editortype empty$ + { editor num.names$ #1 > + { "\fsted {\editorsname}" * } + { "\fsted {\editorname}" * } + if$ + } + { "\fsted {(" editortype * ")}" * * } + if$ + } + { founder empty$ + { "\bibfnfont {;} " * } + { type$ "commented" = + { "\afterfoundersep {}" * } + { "\bibfnfont {;} " * } + if$ + } + if$ + editor format.editor.names * + editortype empty$ + { editor num.names$ #1 > + { " \edfont {\editorsname}" * } + { " \edfont {\editorname}" * } + if$ + } + { " \edfont {(" editortype * ")}" * * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.snd.editors} +{ editor empty$ + { "" * } + { author empty$ + { editortype empty$ + { editor num.names$ #1 > + { "\snded {\sndeditorsname}" * } + { "\snded {\sndeditorname}" * } + if$ + } + { "\snded {(" editortype * ")}" * * } + if$ + } + 'skip$ + if$ + } + if$ +} + +FUNCTION { format.howcited } +{ "} {\bibhowcited}" format.endnote * } + +FUNCTION {fin.entry.endnote} +{ " \jbdoitem {" * +% NEW 0.6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + author empty$ + 'skip$ + { author format.names.for.index * } + if$ + "} {" + editor empty$ + 'skip$ + { editor format.names.for.index * } + if$ + "} {" * + organization empty$ + 'skip$ + { "{" organization * "}{}{}{}{}" * * } + if$ + "}" * * write$ + annote missing$ + { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ } + { " \bibAnnote {" annote * "}" * write$ newline$ } + if$ +} + +% NEW 0.6, counts authors/editors +FUNCTION {count.authors.or.editors} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { "" 't := + nameptr #1 > + { namesleft #1 > + { "" * } + { "s" * } % more than one author/editor, append `s' + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +%<*jurabst|jurunsrt> +FUNCTION { set.after.author.sep } +{ author missing$ + { editor missing$ + { organization missing$ +% NEW 0.6 { "} {empty} {} {" } + { archive missing$ + { "} {empty} {} {" } + { "} {" archive format.name.sig * "} {} {" * } + if$ + } +% CH 0.6 { "} {" author format.name.sig * "} {au} {" * } + { "} {" organization "} {org} {" * * } + if$ + } +% CH 0.6 { "} {" editor format.name.sig * "} {ed} {" * } + { "} {" editor format.name.sig * "} {ed" editor count.authors.or.editors "} {" * * * } + if$ + } +% CH 0.6 +% { "} {" author format.name.sig * "} {au} {" * } + { "} {" author format.name.sig * "} {au" author count.authors.or.editors "} {" * * * } + if$ + author empty$ + { format.snd.editors } + 'skip$ + if$ + "" * +} +%</jurabst|jurunsrt> + +%<*jurecobst> +FUNCTION { set.after.author.sep } +{ author empty$ editor empty$ and + { "}{jureco} {} {" "" * } + { year empty$ + { type$ "book" = dissyear empty$ not and + { "\bibYear {" dissyear * + extra.label "" = + 'skip$ + { "\el {" extra.label * "}" * * } + if$ + "}" * * + } + { year missing$ + { "\bibYear {}" * } + 'skip$ + if$ + } + if$ + } + { year missing$ + { "\bibYear {}" * } + { "\bibYear {" year * + extra.label "" = + 'skip$ + { "\el {" extra.label * "}" * * } + if$ + "}" * * + } + if$ + } + if$ + "}{jureco} {} {" "" * + } + if$ +} +%</jurecobst> + +FUNCTION {format.names.info} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff }{vv }{ll}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { " " * t * } + { t "others" = + { " et al." * } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +% CH 0.51q macros for testing commentaries, reworked, bug reported by Tilman Finke +% check for editor and edition added +FUNCTION { format.howcited.comment } +{ edition empty$ + { "} {\bibcommenthowcited}" format.endnote * } + { "} {\bibcommenthowcited}" format.endnote * * + author empty$ editor empty$ not and + { " \jbauthorinfo {" editor format.names.info " " title * * * "}{" cite$ "}" * * * } + { author empty$ shortauthor empty$ not and + { " \jbauthorinfo {" shortauthor format.names.info " " title * * * "}{" cite$ "}" * * * } + { " \jbauthorinfo {" author format.names.info " " title * * * "}{" cite$ "}" * * * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.howcited.artperiod } +{ "} {\bibartperiodhowcited}" format.endnote * } + +FUNCTION {format.proceed.organization} +{ organization empty$ + { "" } + { organization " \organizationname {}" * } + if$ +} + +% NEW 0.5e titleaddon +FUNCTION {format.titleaddon} +{ title empty$ + { "" } + { titleaddon empty$ + { "" } + { titleaddon "\bibatsep\ " * } + if$ + } + if$ +} + + +FUNCTION {format.title} +{ title empty$ + { "" } + { "\bibtfont {" title check.punct.instead.of.add.period * format.titleaddon * } + if$ +} + +FUNCTION {format.artperiodincoll.title} +{ title empty$ + { "" } + { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * } + if$ +} + +FUNCTION {format.volumetitle} +{ volumetitle empty$ + { "" } + { volume empty$ + { "There's a volumetitle but no volume in " cite$ * warning$ volumetitle ", " * } + { volumetitle ", " * } + if$ + } + if$ +} + +FUNCTION {add.extra.label} +{ extra.label "" = + 'skip$ + { "\bibel {" extra.label * "}" * * } + if$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "There's a month but no year in " cite$ * warning$ month } + if$ + } + { month empty$ + { edition empty$ + 'skip$ + { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * } + if$ + year + add.extra.label + } + { month " " * + edition empty$ + 'skip$ + { "\jbssedbd {" convert.edition.superscript extract.num * "}" * * } + if$ + year * + add.extra.label + } + if$ + } + if$ +} + +FUNCTION {format.update} +{ updated missing$ not + { "\updatesep {} \updatename {} " * updated * } + 'skip$ + if$ +} + +FUNCTION {oaddress.opublisher.oyear.format} +{ type$ "book" = type$ "inbook" = type$ "incollection" = or or + { oyear empty$ + { opublisher empty$ + { oaddress empty$ + 'skip$ + { oaddress "\osep {} " * * } + if$ + } + { oaddress empty$ + { opublisher "\osep {} " * * } + { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * } + if$ + } + if$ + } + { year empty$ + { "oyear without year in " cite$ * warning$ } + 'skip$ + if$ + opublisher empty$ + { oaddress empty$ + { oyear * "\osep {} \reprintname {}, " * } + { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * } + if$ + } + { oaddress empty$ + { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * } + { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * } + if$ + } + if$ + } + if$ + } + 'skip$ + if$ +} + +FUNCTION {make.translators} +{ before.all 'output.state := + translator empty$ + { flanguage empty$ + { "" } + { "\translator {}{" flanguage "l" change.case$ * "}" * + type$ "incollection" = not + type$ "article" = not + and + { "{1} " * } + { type$ "incollection" = + { booktitle empty$ + { "{} " * } + { "{1} " * } + if$ + } + { type$ "article" = + { "{1}" * } + { series empty$ + { "{} " * } + { "{1} " * } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + { "\translator {" translator * "}" * + flanguage empty$ + { "{}" * } + { "{" * flanguage "l" change.case$ * "}" * } + if$ + type$ "incollection" = not + type$ "article" = not + and + { "{1} " * } + { + type$ "incollection" = + { booktitle empty$ + { "{} " * } + { "{1} " * } + if$ + } + { type$ "article" = + { "{1} " * } + { series empty$ + { "{} " * } + { "{1} " * } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + before.all 'output.state := +} + +%<*jurecobst> +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { institution empty$ + { "" } + { " \apyformat {" oaddress.opublisher.oyear.format * institution "}" * } + if$ + } + { institution empty$ + { " \apyformat {" oaddress.opublisher.oyear.format * address "}" * } + { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * institution "}" * * } + if$ + } + if$ + } + { address empty$ + { institution empty$ + { "There's only a publisher (no address) in " cite$ * warning$ + " \apyformat {" oaddress.opublisher.oyear.format * publisher "}" * } + { " \apyformat {" oaddress.opublisher.oyear.format * publisher ", " * institution "}" * * } + if$ + } + { institution empty$ + { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * publisher "}" * * } + { " \apyformat {" oaddress.opublisher.oyear.format * address "\bpubaddr {} " * publisher ", " * institution "}" * * * } + if$ + } + if$ + } + if$ +} +%</jurecobst> + +%<*jurabst|jurunsrt> +FUNCTION {checked.inst} +{ institution empty$ + { " \apyformat {" * + oaddress.opublisher.oyear.format + } +% CH 0.6 missing "\apyformat {" inserted, bug reported by Michael Below + { address empty$ not + { " \apyformat {" * } + 'skip$ + if$ + } + if$ +} + +FUNCTION {format.address.publisher.year} +{ publisher empty$ + { address empty$ + { year empty$ + { "Neither address nor year in " cite$ * warning$ "" } + { "No address in " cite$ * warning$ + institution empty$ + { " \apyformat {" oaddress.opublisher.oyear.format format.date * "}" * } + { " \apyformat {" institution * "\bibbdsep {} " * format.date "}" * * } + if$ + } + if$ + } + { year empty$ + { checked.inst address "}" * } + { checked.inst address "\bibbdsep {} " format.date * "}" * * } + if$ + } + if$ + } + { address empty$ + { year empty$ + { "There's only a publisher (no address, no year) in " cite$ * warning$ publisher } + { checked.inst publisher "\bibbdsep {} " * format.date "}" * * } + if$ + } + { year empty$ + { checked.inst address * "\bpubaddr {} " publisher "}" * * }% + { checked.inst address * "\bpubaddr {} " publisher "\bibbdsep {} " * format.date "}" * * * } + if$ + } + if$ + } + if$ +} +%</jurabst|jurunsrt> + +FUNCTION {format.howpublished.address.year} +{ howpublished empty$ + { address empty$ +%<*jurecobst> + { "No address in " cite$ warning$ } +%</jurecobst> +%<*jurabst|jurunsrt> + { year empty$ + { "Neither address nor year in " cite$ * warning$ "" } +% CH 0.6 suggested by R.S. +% { "No address in " cite$ * warning$ year } + { "No address in " cite$ * warning$ format.date } + if$ + } +%</jurabst|jurunsrt> +%<*jurecobst> + { " \apyformat {" oaddress.opublisher.oyear.format address * "}" * } +%</jurecobst> +%<*jurabst|jurunsrt> + { " \apyformat {" oaddress.opublisher.oyear.format address * "\bibbdsep {} " * format.date "}" * * } +%</jurabst|jurunsrt> + if$ + } + { address empty$ +%<*jurecobst> + { "There's only a howpublished (no address) in " cite$ * warning$ " \apyformat {" oaddress.opublisher.oyear.format howpublished * "}" * } +%</jurecobst> +%<*jurabst|jurunsrt> + { year empty$ + { "There's only a howpublished (no address, no year) in " cite$ * warning$ howpublished } + { " \apyformat {" oaddress.opublisher.oyear.format howpublished * "\bibbdsep {} " * format.date "}" * * } + if$ + } +%</jurabst|jurunsrt> +%<*jurecobst> + { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * } +%</jurecobst> +%<*jurabst|jurunsrt> + { year empty$ + { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished "}" * * } + { " \apyformat {" oaddress.opublisher.oyear.format address * "\bpubaddr {} " * howpublished * "\bibbdsep {} " * format.date "}" * * } + if$ + } +%</jurabst|jurunsrt> + if$ + } + if$ +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #4 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {bibvol.tie.or.space.connect} +{ duplicate$ text.length$ #4 < + { "~" } + { "{} " } + if$ + swap$ * * +} + +FUNCTION {format.btitle}{ title emphasize format.titleaddon * } + +FUNCTION {format.btitle.vol} +{ number empty$ + { series empty$ + { volume empty$ + { title emphasize format.titleaddon * } + { + title emphasize format.titleaddon * " \volumeformat {" volume * "} " * * + } + if$ + } + { volume empty$ + { title emphasize format.titleaddon * } + { + title emphasize format.titleaddon * "\volumeformat {" volume * "} " * * series "\bibatsep\ " * * + } + if$ + } + if$ + } + { title emphasize format.titleaddon * } + if$ +} + +FUNCTION {format.btitle.vol.inbook} +{ number empty$ + { series empty$ + { volume empty$ + { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * } + { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * + " \volumeformat {" volume * "} " * * + } + if$ + } + { volume empty$ + { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * } + { series emphasize + "\volumeformat {" volume * "} " * * + "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * * } + if$ + } + if$ + } + { "\bibapifont {" title check.punct.instead.of.add.period * format.titleaddon * } + if$ +} + +FUNCTION {format.url} +{ url empty$ + { "" } + { author empty$ title empty$ and + 'skip$ + { " " * } + if$ + urldate empty$ + {"\jburluse {" cite$ * "}" * } + {"\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * } + if$ + } + if$ +} + +FUNCTION {format.naked.url} +{ url empty$ + { "" } + { urldate empty$ + { title empty$ + 'skip$ + { title emphasize * } + if$ + "\jburluse {" cite$ * "}" * + } + { title empty$ + 'skip$ + { title emphasize * } + if$ + "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * + } + if$ + } + if$ +} + +FUNCTION {format.series.number} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { " \numberandseries {}{" series * "}" * } + if$ + } + { series empty$ + { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ } + { " \numberandseries {" number * "}{" * series "}" * * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = + { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * } + { "" } + if$ + } + if$ + } + if$ +} + +FUNCTION {first.ed} { "\firstedname" } +FUNCTION {second.ed}{ "\secondedname" } +FUNCTION {third.ed} { "\thirdedname" } +FUNCTION {fourth.ed}{ "\fourthedname" } +FUNCTION {fifth.ed} { "\fifthedname" } +FUNCTION {th.ed} { "\thedname" } + +FUNCTION {convert.edition} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or + { first.ed 't := } + { s "second" = s "2" = or + { second.ed 't := } + { s "third" = s "3" = or + { third.ed 't := } + { s "fourth" = s "4" = or + { fourth.ed 't := } + { s "fifth" = s "5" = or + { fifth.ed 't := } + { s #1 #1 substring$ is.num + { s th.ed * 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { "\jbedition {" * convert.edition "~\editionname {}\jbaensep} " * }% dot or not ??????? + if$ +} + +% CH 0.6 tie.or.space.connect removed, superfluous space inserted +FUNCTION { format.isbn.issn } +{ isbn empty$ + { issn empty$ + { "" } + { "\jbissn {" issn n.dashify * "}" * } + if$ + } + { "\jbisbn {" isbn n.dashify * "}" * } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { " \jbPages{" pages n.dashify * "}" * } + if$ +} + +FUNCTION {multi.pagerange.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "b" = + swap$ "/" = or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {check.missing.pages} +{ pages empty$ + { "Empty pages in " cite$ * warning$ } + { pages multi.pagerange.check + { "" * } + { type$ "article" = type$ "periodical" = or + { "There's only a starting page, no pagerange in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + } + if$ +} + +FUNCTION {format.pages.book} +{ pages empty$ + { "" } + { " \jbpages {" pages " \bibtotalpagesname}" *} + if$ +} + +FUNCTION {format.totalpages} +{ totalpages empty$ + { "" } + { + ", " totalpages "~\bibtotalpagesname" * * + } + if$ +} + +FUNCTION {format.vol.year.num.pages} +{ volume empty$ + { "" } + { " \artvolumeformat {" volume * "}" * + year empty$ + { "There's a volume but no year in " cite$ * warning$ } + 'skip$ + if$ + } + if$ +%<*jurabst|jurunsrt> + month empty$ + 'skip$ + { "\ " month * * } + if$ + year empty$ + 'skip$ + { " \artyearformat {" year * add.extra.label "}" * * } + if$ +%</jurabst|jurunsrt> +%<*jurecobst> + number empty$ + 'skip$ + { "\artnumberformat {" number * "}" * * } + if$ +%</jurecobst> +%<*jurabst|jurunsrt> + number empty$ + 'skip$ + { "\artnumberformat {" number * "}" * * } + if$ +%</jurabst|jurunsrt> + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { "" format.pages * * } + if$ + } + if$ +} + +FUNCTION {format.vol.bracedyear.num.pages} +{ volume empty$ + { "" } + { " \pervolumeformat {" volume * "}" * + year empty$ + { "There's a volume but no year in " cite$ * warning$ } + 'skip$ + if$ + } + if$ +%<*jurabst|jurunsrt> + year empty$ + 'skip$ + { " \peryearformat {" year * add.extra.label "}" * * } + if$ + month empty$ + 'skip$ + { ", " month * * } + if$ +%</jurabst|jurunsrt> +%<*jurecobst> + number empty$ + 'skip$ + { volume empty$ + { "" * } + { ", " * } + if$ + "\pernumberformat {" number * "}" * * + } + if$ +%</jurecobst> +%<*jurabst|jurunsrt> + number empty$ + 'skip$ + { ", \pernumberformat {" number * "}" * * } + if$ +%</jurabst|jurunsrt> + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { "" format.pages * * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "\unskip.\,-- \bibchapterlongname" } + { "\unskip.\,-- " type * } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitleaddon} +{ booktitle empty$ + { "" } + { booktitleaddon empty$ + { "" } + { booktitleaddon } + if$ + } + if$ +} + +FUNCTION {format.incoll.editor.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { volume empty$ + { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{}" * + booktitleaddon empty$ + { "{} " * } + { "{1} " * } + if$ + } + { "\incolledformat {}{}{" booktitle incollbooktitlemarkup format.booktitleaddon * * "}{" * volume * "}" * + booktitleaddon empty$ + { "{} " * } + { "{1} " * } + if$ + } + if$ + } + { volume empty$ + { "\incolledformat {" + editor empty$ + { "" } + { editor format.editor.names "}" * * + editortype empty$ + { editor num.names$ #1 > + { "{\edfont {\editorsname}}{" * } + { "{\edfont {\editorname}}{" * } + if$ + } + { "{\edfont {(" * editortype * ")}}{" * } + if$ + } + if$ + booktitle incollbooktitlemarkup * format.booktitleaddon * "}{}" * + booktitleaddon empty$ + { "{} " * } + { "{1} " * } + if$ + } + { "\incolledformat {" * + editor empty$ + { "" } + { editor format.editor.names "}" * * + editortype empty$ + { editor num.names$ #1 > + { "{\edfont {\editorsname}}{" * } + { "{\edfont {\editorname}}{" * } + if$ + } + { "{\edfont {(" * editortype * ")}}{" * } + if$ + } + if$ + booktitle incollbooktitlemarkup * format.booktitleaddon * "}{" volume * "}" * + booktitleaddon empty$ + { "{} " * } + { "{1} " * } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.tr.number.jur} +{ type empty$ + { number empty$ + { " -- \technicalreportname {} " } + { "~(" number * ").\,-- \technicalreportname {} " * } + if$ + } + { number empty$ + { " -- " type * } + { "~(" number * ").\,-- " type * " " * * } + if$ + } + if$ +} + +FUNCTION {format.article.crossref.bracedyear} +{ key empty$ + { journal empty$ + { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" } + { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * } + if$ + volume empty$ + { "No volume in " cite$ * warning$ } + { " \pervolumeformat {" volume * "} " * } + if$ +%<*jurabst|jurunsrt> + year empty$ + { "No year in " cite$ * warning$ } + { "\peryearformat {" year * add.extra.label "}" * * } + if$ +%</jurabst|jurunsrt> + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { format.pages * } + if$ + } + if$ + } + { "" key * } + if$ + "\ \protect\jbcrossrefchecked {" * crossref * "}\unskip" * +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "Need key or journal for " cite$ * " to crossref " * crossref * warning$ "" } + { "\bibJTsep\bibjtfont {" journal * check.punct.instead.of.add.period.art * } + if$ + } + { "" key * } + if$ + year empty$ + 'skip$ + { year * } + if$ + " \protect\jbcrossrefchecked {" crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "Need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ "" * } + { "" * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + volume empty$ + { "Empty volume in " cite$ * "'s crossref of " * crossref * warning$ "" + " \protect\jbcrossrefchecked {" * crossref * "}\unskip" * } + { " \protect\jbcrossrefchecked[" * volume * "]{" * crossref "}\unskip" * } + if$ +} + +FUNCTION {format.incoll.inproc.crossref} +{ " \protect\jbincollcrossref {" * crossref * "}" * + editor empty$ + { "{}" * } + { "{1}" * } + if$ + format.pages % *<== 0.5f removed too. +} + +FUNCTION { format.editors.organization } +{ organization empty$ + 'skip$ + { type$ "misc" = + { organization } + { author empty$ + { editor empty$ + { " " organization * " \organizationname {}" * } + { "; " organization * " \organizationname {}" * } + if$ + } + { "; " organization * " \organizationname {}" * } + if$ + } + if$ + } + if$ +} + +% NEW 0.6 +FUNCTION {format.address.organization.manual} +{ author empty$ + { organization empty$ + { address empty$ + 'skip$ + { address output part.of.sentence + year empty$ not { "\bibbdsep {}" *} 'skip$ if$ + } + if$ + } + 'skip$ + if$ + } + { address empty$ + { organization empty$ + 'skip$ + { organization output part.of.sentence + year empty$ not { "\bibbdsep {}" *} 'skip$ if$ + } + if$ + } + { organization empty$ + { address output part.of.sentence } + { address "\bpubaddr {} " * organization * output part.of.sentence } + if$ + year empty$ not { "\bibbdsep {}" *} 'skip$ if$ + } + if$ + } + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.artperiodincoll.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.year.num.pages output + } + { format.article.crossref output.nonnull } + if$ + format.url output + format.note + format.isbn.issn output + format.howcited.artperiod output + check.missing.pages + fin.entry.endnote +} + +FUNCTION {commented} +{ output.bibitem + author empty$ + { editor empty$ + { format.founders } + { format.founders format.editors "editor" output.check } + if$ + } + { editor empty$ + { format.authors format.founders output.nonnull } + { format.authors format.founders format.editors output.nonnull } + if$ + } + if$ + set.after.author.sep output + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + format.volumetitle output + format.edition output + format.address.publisher.year "publisher" output.check + format.update + new.sentence + crossref missing$ + { format.series.number output } + { format.book.crossref output.nonnull } + if$ + format.url output + format.pages output + format.note + format.howcited.comment output + fin.entry.endnote +} + +FUNCTION {periodical} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.artperiodincoll.title "title" output.check + crossref missing$ + { journal article.in.journal output.nonnull + new.sentence + format.vol.bracedyear.num.pages output + } + { new.sentence format.article.crossref.bracedyear output.nonnull } + if$ + format.url output + format.note + format.isbn.issn output + format.howcited.artperiod output + fin.entry.endnote +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { editor empty$ + { "" "author and editor" output.check } + { format.editors output.nonnull } + if$ + } + { editor empty$ + { format.authors output.nonnull } + { format.authors "\jbtiafed {" format.editors * "}" * output.nonnull } + if$ + } + if$ + set.after.author.sep output + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + author empty$ not editor empty$ not and + { "\jbedafti {\edbyname {} " editor * "," * * "} " * } + 'skip$ + if$ + make.translators output + format.volumetitle output + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.juradiss.book output + crossref missing$ + { format.series.number output } + { format.book.crossref output.nonnull } + if$ + format.url output + format.pages output + format.totalpages output + format.note + format.isbn.issn output + format.howcited output + fin.entry.endnote +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { editor empty$ + { format.authors output.nonnull } + { format.authors format.editors output.nonnull } + if$ + } + if$ + set.after.author.sep output + crossref missing$ + { chapter empty$ + { "There's no chapter in " cite$ * warning$ "" * } + { type empty$ + { "\Bibchaptername{}" } + { type } + if$ + chapter tie.or.space.connect " In " * * + } + if$ + format.btitle.vol.inbook "title" output.check + make.translators output + format.volumetitle output + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number output + format.url output + format.pages "pages" output.check + format.note + format.isbn.issn output + } + { chapter empty$ + { "There's no chapter in " cite$ * warning$ "" * + format.btitle.vol.inbook "title" output.check + } + { type empty$ + { "\Bibchaptername{}" } + { type } + if$ + chapter tie.or.space.connect "" * * + } + if$ + format.volumetitle output + format.book.crossref output.nonnull + format.url output + format.pages "pages" output.check + format.note + } + if$ + part.of.sentence + format.howcited output + fin.entry.endnote +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.artperiodincoll.title "title" output.check + make.translators output + crossref missing$ + { format.incoll.editor.booktitle "booktitle" output.check + format.volumetitle output + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.series.number output + format.url output + format.isbn.issn output + part.of.sentence + format.chapter.pages output + format.note + } + { format.volumetitle output + format.incoll.inproc.crossref output.nonnull + format.url output + format.note + } + if$ + format.howcited output + check.missing.pages + fin.entry.endnote +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.artperiodincoll.title "title" output.check + crossref missing$ + { format.incoll.editor.booktitle "booktitle" output.check + address empty$ + { organization new.sentence.checka + organization output + part.of.sentence + format.address.publisher.year output + } + { format.address.publisher.year "publisher" output.check } + if$ + new.sentence + series empty$ + 'skip$ + { format.series.number output } + if$ + format.url output + format.note + format.isbn.issn output + part.of.sentence + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.url output + format.note + } + if$ + format.howcited output + fin.entry.endnote +} + +FUNCTION {conference}{inproceedings} + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { "\bibnf{" organization * "} {} {} {} {}" * output.nonnull } + if$ + } + { format.authors output.nonnull } + if$ + set.after.author.sep output + format.btitle "title" output.check + format.edition output +% NEW 0.6 + format.address.organization.manual + format.date output + pages set.period.dash.check + format.pages.book output + format.url output + format.note + format.howcited output + fin.entry.endnote +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.btitle "title" output.check + format.thesis output + set.comma.pages.check + pages new.sentence.checka + format.pages output + format.url output + format.note + format.howcited output + fin.entry.endnote +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.btitle "title" output.check + format.thesis output + set.comma.pages.check + pages new.sentence.checka + format.pages output + format.url output + format.note + format.howcited output + fin.entry.endnote +} + +FUNCTION {jurthesis} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.btitle "title" output.check + format.thesis output + set.comma.pages.check + pages new.sentence.checka + format.pages output + format.url output + format.note + format.howcited output + fin.entry.endnote +} + +FUNCTION {booklet} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title "title" output.check + format.howpublished.address.year output + format.note + format.url output + format.howcited output + fin.entry.endnote +} + +FUNCTION {misc} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title output + format.howpublished.address.year output + format.note + format.url output + format.howcited output + fin.entry.endnote +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization empty$ + 'skip$ + { "\biblnfont {" organization * " \organizationname}" * output } + if$ + } + { format.editors output.nonnull } + if$ + set.after.author.sep output + format.btitle "title" output.check + new.sentence + editor empty$ + 'skip$ + { format.proceed.organization output } + if$ + new.sentence + format.series.number output.nonnull + volume empty$ + { "" output.nonnull } + { "\volumeformat {" volume * "} " * "volume" output.check } + if$ + format.address.publisher.year "publisher" output.check + pages set.period.dash.check + format.pages.book output + format.url output + format.note + format.isbn.issn output + format.howcited output + fin.entry.endnote +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { editor empty$ + { format.authors output.nonnull } + { format.authors format.editors output.nonnull } + if$ + } + if$ + set.after.author.sep output + format.title "title" output.check + institution new.sentence.checka + format.address.publisher.year output + number new.sentence.checka + format.tr.number.jur "number" output.check + pages set.period.dash.check + format.pages.book output + format.url output + format.note + format.isbn.issn output + format.howcited output + fin.entry.endnote +} + +FUNCTION {www} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.naked.url output + format.howcited output + fin.entry.endnote +} + +FUNCTION {lexicon} +{ output.bibitem + set.after.author.sep output + crossref missing$ + { format.btitle.vol "title" output.check } + { format.btitle "title" output.check } + if$ + author empty$ + { editor empty$ + 'skip$ + { "\edbyname{} " * editor format.editor.names "," * * } + if$ + } + { "\byname{} " author format.names * "," * * } + if$ + make.translators output + format.volumetitle output + format.edition output + format.address.publisher.year "publisher" output.check + new.sentence + format.juradiss.book output + crossref missing$ + { format.series.number output } + { format.book.crossref output.nonnull } + if$ + format.url output + format.pages output + format.totalpages output + format.note + format.isbn.issn output + format.howcited output + fin.entry.endnote +} + +% NEW 0.6 +STRINGS { last.archive last.subarchive } + +% NEW 0.6 +FUNCTION {init.last.archive } +{ "" 'last.archive := + "" 'last.subarchive := } + +% NEW 0.6 +FUNCTION {archival} +{ output.bibitem + archive empty$ + { "" 'last.archive := } + { archive last.archive = + { "} {" archive format.name.sig * "} {} {\jbsamearch{} " * * } + { "\bibanfont{" archive * "archive" output.check + shortarchive empty$ + 'skip$ + { " \jbshortarchformat{" shortarchive * "}" * * } + if$ + "}" * + "} {" archive format.name.sig * "} {} {\jbnotsamearch{} " * * + } + if$ + archive 'last.archive := + } + if$ + subarchive empty$ + { "" 'last.subarchive := } + { subarchive last.subarchive = + 'skip$ + { subarchive output + shortsubarchive empty$ + 'skip$ + { " \jbshortsubarchformat{" shortsubarchive * "}" * * } + if$ + "\jbsubarchsep{} " * + } + if$ + subarchive 'last.subarchive := + } + if$ + sig1 empty$ + 'skip$ + { "\jbarchsig {" * + subarchive empty$ + 'skip$ + { "\jbsamesubarchindent{} " * } + if$ + sig1 * + sig2 empty$ + 'skip$ + { ". " sig2 * * + sig3 empty$ + 'skip$ + { ". " sig3 * * + sig4 empty$ + 'skip$ + { ". " sig4 * * } + if$ + } + if$ + } + if$ +% pages empty$ +% 'skip$ +% { " \jbPages{" pages n.dashify * "}" * * } +% if$ + "} {" * + } + if$ + archname missing$ + { "}" * } + { archname "}" * output } + if$ + format.howcited output + fin.entry.endnote +} + +FUNCTION {unpublished}{misc} + +FUNCTION {default.type}{misc} + +MACRO {jan} {"\janname\ "} +MACRO {feb} {"\febname\ "} +MACRO {mar} {"\marname\ "} +MACRO {apr} {"\aprname\ "} +MACRO {may} {"\mayname\ "} +MACRO {jun} {"\junname\ "} +MACRO {jul} {"\julname\ "} +MACRO {aug} {"\augname\ "} +MACRO {sep} {"\sepname\ "} +MACRO {oct} {"\octname\ "} +MACRO {nov} {"\novname\ "} +MACRO {dec} {"\decname\ "} + +READ + +FUNCTION {sortify}{ purify$ "l" change.case$ } + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := % for two: (Jones/de~Bruijn) + s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith) + s num.names$ duplicate$ % for more: (Jones et\,al.) + #2 < + 'pop$ % for just one person + { duplicate$ duplicate$ + #3 > +% ^--- here we can determine the appearence of `et\,al.' for the _label_ + swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" = + or + { pop$ "\Bibetal" * } % for 4 or more, or last is `others' + { #2 = + { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two + { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ * % for three + "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ * + } + if$ + } + if$ + } + if$ +% reintroduced in 0.51r + year missing$ + 'skip$ + { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author + if$ +} + +FUNCTION {format.editor.lab.names} +{ 's := % for two: (Jones/de~Bruijn) + s #1 "{vv~}{ll}" format.name$ % for three: (Jones/de~Bruijn/Smith) + s num.names$ duplicate$ % for more: (Jones et\,al.) + #2 < + 'pop$ % for just one person + { duplicate$ duplicate$ + #3 > +% ^--- here we can determine the appearence of `et\,al.' for the _label_ + swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" = + or + { pop$ "\Bibetal" * } % for 4 or more, or last is `others' + { #2 = + { "\jbbtesep " * s #2 "{vv~}{ll}" format.name$ * } % for (exactly) two + { "\jbbfsesep " * s #2 "{vv~}{ll}" format.name$ * % for three + "\jbbstesep " * s #3 "{vv~}{ll}" format.name$ * + } + if$ + } + if$ + } + if$ + year missing$ + 'skip$ + { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.editor.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.editor.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or type$ "lexicon" = or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'label := +} + +FUNCTION {calc.dummy.label} +{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'dummy.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "\bibnf {others} {} {} {} {}" = and + { "\Bibetal" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "Der " #4 + "Die " #4 + "Das " #4 + "Ein " #4 + "Eine " #5 + "The " #4 t chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { +%% "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { +%% "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +% NEW 0.6 +FUNCTION {archival.sort} +{ archive empty$ + { shortarchive empty$ + { "to sort, need archive or shortarchive in " cite$ * warning$ "" } + { shortarchive sortify } + if$ + } + { archive sortify } + if$ +} + +FUNCTION {presort} +{ calc.label + calc.dummy.label +%<*jurabst|jurecobst&!jurunsrt> +% NEW 0.6, contributed by Robert Schlicht + dummy.label sortify " " * + sortkey empty$ + { type$ "book" = + type$ "incollection" = or + type$ "inbook" = or + type$ "commented" = or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + { type$ "archival" = + 'archival.sort + 'author.sort + if$ + } + if$ + } + if$ + } +% CH 0.6 sort.format.names added, analogous to jox.bst + { sortkey sort.format.names } + if$ + type$ "archival" = not + { " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + } + { " " + * + subarchive field.or.null sortify + * + " " + * + sig1 field.or.null sortify + * + " " + * + sig2 field.or.null sortify + * + " " + * + sig3 field.or.null sortify + * + " " + * + sig4 field.or.null sortify + * + } + if$ +% save for later [RS] + #1 entry.max$ substring$ + 'sort.label := + sort.label * +% includes dummy.label [RS] + #1 entry.max$ substring$ + 'sort.key$ := +%</jurabst|jurecobst&!jurunsrt> +} + +ITERATE {presort} + +%% FUNCTION {before.sort} { "BEFORE SORT:" top$ } +%% EXECUTE {before.sort} +%% FUNCTION {print.sort.keys} {sort.key$ top$} +%% ITERATE {print.sort.keys} + +%<*jurabst|jurecobst&!jurunsrt> +SORT +%</jurabst|jurecobst&!jurunsrt> + +%% FUNCTION {after.sort} {"AFTER SORT:" top$} +%% EXECUTE {after.sort} +%% ITERATE {print.sort.keys} + +% REMOVED 0.6 suggested by R.S. +% STRINGS { last.dummy.label next.extra } % use "w" and "x" instead + +% CH 0.6 suggested by R.S. in d.c.t.t. +% INTEGERS { last.extra.num number.label } +INTEGERS { last.extra.num number.label extra.extra.num } + +% NEW 0.6 suggested by RS in d.c.t.t. +FUNCTION {make.extra.label} +{ last.extra.num #122 < + { last.extra.num #1 + } + { extra.extra.num #0 = + { "a" chr.to.int$ } + { extra.extra.num #1 + } + if$ + 'extra.extra.num := + "a" chr.to.int$ } + if$ + 'last.extra.num := + extra.extra.num #0 = + { last.extra.num int.to.chr$ } + { extra.extra.num int.to.chr$ 'extra.label := + extra.label last.extra.num int.to.chr$ * } + if$ +} + +% NEW 0.6 suggested by R.S. +FUNCTION {forward.pass} +{ w dummy.label = + { make.extra.label 'extra.label := } + { "a" chr.to.int$ 'last.extra.num := + #0 'extra.extra.num := + "" 'extra.label := + dummy.label 'w := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ x "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'x := + extra.label + duplicate$ empty$ + 'skip$ + { "" swap$ * } + if$ + 'extra.label := + dummy.label extra.label * 'dummy.label := +} + +ITERATE {forward.pass} +REVERSE {reverse.pass} + +% NEW 0.6, suggested by RS +FUNCTION {bib.sort.order} { sort.label 'sort.key$ := } + +ITERATE {bib.sort.order} + +SORT + + +FUNCTION {set.current.authors} +{ author empty$ + { editor empty$ + { organization empty$ + { cite$ 'current-authors := } + { organization 'current-authors := } + if$ + } + { editor format.names #1 entry.max$ substring$ 'current-authors := } +%% ^^^^^^^^^^^^ NOT format.editor.names, otherwise \jb@@arg is always = 0!!! + if$ + } + { author format.names #1 entry.max$ substring$ 'current-authors := } + if$ +} + +STRINGS { previous-authors } + +FUNCTION {initialize.previous.authors} { "" 'previous-authors := } + +FUNCTION {mark.repeat.authors} +{ current-authors previous-authors = + { #1 'repeat-authors := } + 'skip$ + if$ + current-authors 'previous-authors := +} + +ITERATE {set.current.authors} + +EXECUTE {initialize.previous.authors} + +ITERATE {mark.repeat.authors} + +EXECUTE {initialize.previous.authors} + +REVERSE {mark.repeat.authors} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "%" write$ newline$ +%<*jurecobst> + "% This bibliography was produced by using jureco.bst" write$ newline$ +%</jurecobst> +%<*jurabst|jurunsrt> + "% This bibliography was produced by using jurabib.bst" write$ newline$ +%</jurabst|jurunsrt> + "%" write$ newline$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%</jurabst|jurecobst|jurunsrt> +%<*joxbst> +% [0.1k] new function `count.authors.or.editors' to count authors/editors, +% wrong output, reported by Maarten Wisse +% [0.1j] doubled commas after title and superfluous comma before brackets +% removed (resulted by last changes), reported by Maarten Wisse +% [0.1i] some warnings for missing authors/editors corrected, reported by Maarten Wisse +% [0.1h] changed handling of authors/editors in @book, reported by Maaarten Wisse: +% The golden rule with regard to editors and authors is: +% 1. no author but only editor: then the +% editor goes before the title. +% 2. if there is an author \textbf{and} +% an editor, then the \emph{author} goes +% \textbf{before} the title, and the +% \emph{editor} goes \textbf{after} it. +% [0.1g] superfluous \bibatsep in `format.title' removed, reported by Maarten Wisse +% [0.1f] forgotten argument of \jbbibargs inserted +% [0.1e] \bibbudcsep introduced instead of `~-- ' +% [0.1d] \bibedinformat introduced for inline editors +% [0.1c] \el for bibliography renamed to \bibel, some stuff for identifying authors added +% [0.1b] format.pages added for @BOOK and @BOOKLET +% for names which should not be recognized by BibTex, use +% `author = {Gregory{ }the{ }Great}' +% instead of +% `author = {{Gregory the Great}}' +% because of special functions for capitalizing the `von' part. +% [0.1a] \bibAnnote stuff added +% [0.1] jox.bst has reached beta stage +% +% [0.0.1p] spaces after control sequences added for better linebreaking +% regarding the well known bibtex bug +% [0.0.1o] \volname added +% [0.0.1n] @incollection: `booktitleaddon' follows booktitle and volume, preceds series; +% no \volumename if `volume' comes with citation of an essay; +% `capitalize.von.part' added (Thanks to Oren Patashnik) +% [0.0.1m] `booktitleaddon' follows immediately booktitle, \volumename inserted in +% `format.in.editor.booktitle.volume.voltitle' +% [0.0.1l] bug in `format.in.editor.booktitle.volume.voltitle' removed (completely rewritten, +% error message, if no volumetitle was given); a \bpubaddr replaced by \bibbdsep in `format.publisher'; +% `format.titleaddon' added for @unpublished +% [0.0.1k] experimental noed field added, noed=1 disables output of `(ed.)', removing `textedition' +% [0.0.1j] bug in `format.in.editor.booktitle.volume.voltitle' removed (error message, if no editor was given) +% [0.0.1i] `format.endnote' added to make the `endnote' option work +% [0.0.1h] `format.in.editor.booktitle.volume.voltitle' introduced for non crossref'd incollections, +% this makes `volformat=reversed' working for booktitle too +% [0.0.1g] `format.bvolume.btitle' for non crossref'd incollections added +% [0.0.1f] `volume' removed if volumetitle missing for incollection and inbook crossrefs +% [0.0.1e] missing year (if publisher is not given) in format.publisher.* added, volformat=reversed implemented, +% chapter for inbook moved back to pages +% [0.0.1d] incollection adapted to give the same output with or without crossref +% [0.0.1c] comma before url for all types except @www +% [0.0.1b] First try to adapt the @in* types +% [0.0.1a] \artvolnumformat introduced, all types except the @in* adapted (oaddress.opublisher.oyear, make.translator, pseudonym etc.) +FUNCTION {version} { " v0.1k" } + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + stitle + title + type + volume + year + url + urldate + volumetitle + juratitle + shorttitle + juraauthor + shortauthor + howcited + ssedition + language + titleaddon + booktitleaddon + editortype + sortkey + annote + gender + translator + flanguage + oyear + oaddress + opublisher + pseudonym + volformat + noed + } + { repeat-authors } + { label dummy.label extra.label sort.label short.list current-authors } + +INTEGERS { output.state before.all mid.sentence } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := +} + +STRINGS { s t u v w x } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { write$ mid.sentence 'output.state := } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {format.endnote} +{ note empty$ + { "" } + { " \jbendnote {" note * "}" * } + if$ +} + +FUNCTION {format.howcited}{ before.all 'output.state := "} {\bibhowcited}" format.endnote * * } + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.name.sig} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff}{ vv}{ ll}{ jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { "sssss" * t * } + { t "others" = + { " et al." * } + { "" * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.snd.editors} +{ editor empty$ + { "" * } + { author empty$ + { editortype empty$ + { editor num.names$ #1 > + { "\snded {\sndeditorsname}" * } + { "\snded {\sndeditorname}" * } + if$ + } + { "\snded {(" editortype * ")}" * * } + if$ + } + 'skip$ + if$ + } + if$ +} + +FUNCTION {count.authors.or.editors} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { "" 't := + nameptr #1 > + { namesleft #1 > + { "" * } + { "s" * } % more than one author/editor, append `s' + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {set.after.author.sep} +{ before.all 'output.state := + author missing$ + { editor missing$ + { organization missing$ + { "} {empty} {} {" } + { "} {" organization "} {org} {" * * } + if$ + } + { "} {" editor format.name.sig * "} {ed" editor count.authors.or.editors "} {" * * * } + if$ + } + { "} {" author format.name.sig * "} {au" author count.authors.or.editors "} {" * * * } + if$ + author empty$ + { format.snd.editors } + 'skip$ + if$ + "" * +} + +FUNCTION {format.note} +{ note empty$ + 'skip$ + { output.state before.all = + { "\jbnote {}{" * note * "}" * } + { " \jbnote {1}{" * note * "}" * } + if$ + } + if$ +} + +% FUNCTION {add.blank}{ " " * before.all 'output.state := } + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {non.stop} +{ duplicate$ + "}" * + #-1 #1 substring$ "." = +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + +FUNCTION {bbl.edition} +{ "\editionname {} " } + +FUNCTION {bbl.vol} +{ "\volname {}" } + +FUNCTION {bbl.volume} +{ "\volumename {}" } + +FUNCTION {bbl.of} +{ " \volumeofname {} " } + +FUNCTION {bbl.number} +{ "\numbername" } + +FUNCTION {bbl.in} +{ "\incollinname {} " } + +FUNCTION {bbl.in.series} +{ "\inseriesname {}" } + +FUNCTION {bbl.chapter} +{ "\bibchaptername {}" } + +FUNCTION {bbl.techrep} +{ "\technicalreportname {}" } + +FUNCTION {bbl.mthesis} +{ "\mastersthesisname {}" } + +FUNCTION {bbl.phdthesis} +{ "\phdthesisname {}"} + +MACRO {jan} {"\janname"} +MACRO {feb} {"\febname"} +MACRO {mar} {"\marname"} +MACRO {apr} {"\aprname"} +MACRO {may} {"\mayname"} +MACRO {jun} {"\junname"} +MACRO {jul} {"\julname"} +MACRO {aug} {"\augname"} +MACRO {sep} {"\sepname"} +MACRO {oct} {"\octname"} +MACRO {nov} {"\novname"} +MACRO {dec} {"\decname"} + +FUNCTION {checked.emph.format} +{ type$ "book" = type$ "inbook" = type$ "proceedings" = type$ "inproceedings" = or or or + { "\bibtfont {" } + { "\bibapifont {" } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { checked.emph.format swap$ * "}" * } + if$ +} + +FUNCTION {b.emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\bibbtfont {" swap$ * "}" * } + if$ +} + +FUNCTION {write.url} +{ url empty$ + { urldate empty$ + 'skip$ + { "there's an urldate, but no url in " cite$ * warning$ } + if$ + } + { type$ "www" = + 'skip$ + { ", " * } + if$ + title empty$ output.state before.all = and + { "" * mid.sentence 'output.state := } + { " " * } + if$ + urldate empty$ + { "\jburluse {" cite$ * "}" * * } + { "\jburluse {" cite$ * "}\bibbudcsep {}\urldatecomment " * urldate * * } + if$ + } + if$ +} + +FUNCTION {lastnamemarkup} +{ duplicate$ empty$ + { pop$ "" } + { "\bibnf {" swap$ * "}" * } + if$ +} + +FUNCTION {editorlastnamemarkup} +{ duplicate$ empty$ + { pop$ "" } + { author empty$ + { "\biblenf {" swap$ * "}" * } + { "\bibenf {" swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {othermarkup} +{ duplicate$ empty$ + { pop$ " {}" } + { " {" swap$ * "}" * } + if$ +} + +FUNCTION {indexmarkup} +{ duplicate$ empty$ + { pop$ "{}" } + { "{" swap$ * "}" * } + if$ +} + +FUNCTION {format.names.for.index} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ll}" format.name$ 't := t indexmarkup 't := + s nameptr "{ff}" format.name$ indexmarkup 'u := + s nameptr "{f.}" format.name$ indexmarkup 'v := + s nameptr "{vv}" format.name$ indexmarkup 'w := + s nameptr "{jj}" format.name$ indexmarkup 'x := + t u * v * w * x * 't := + t "{others}{}{}{}{}" = + 'skip$ + { nameptr #1 > + { namesleft #1 > + { "; " * t * } + { +% numnames #2 > +% { "; " * } +% 'skip$ +% if$ + t "others" = + 'skip$ + { "; " * t * } + if$ + } + if$ + } + 't + if$ + } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ll}" format.name$ 't := t lastnamemarkup 't := + s nameptr "{ff}" format.name$ othermarkup 'u := + s nameptr "{f.}" format.name$ othermarkup 'v := + s nameptr "{vv}" format.name$ othermarkup 'w := + s nameptr "{jj}" format.name$ othermarkup 'x := + t u * v * w * x * 't := + nameptr #1 > + { namesleft #1 > + { numnames #3 > + { "" * } + { numnames #3 < + { "\Bibbtasep " * t * } + { "\Bibbfsasep " * t * } + if$ + } + if$ + } + { t "\bibnf {others} {} {} {} {}" = + numnames #3 > or + { "\bibimfont {\Bibetal}" * } + { numnames #3 < + { "\Bibbtasep " * t * } + { "\Bibbstasep " * t * } + if$ + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.editor.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ll}" format.name$ 't := t editorlastnamemarkup 't := + s nameptr "{ff}" format.name$ othermarkup 'u := + s nameptr "{f.}" format.name$ othermarkup 'v := + s nameptr "{vv}" format.name$ othermarkup 'w := + s nameptr "{jj}" format.name$ othermarkup 'x := + t u * v * w * x * 't := + nameptr #1 > + { namesleft #1 > + { numnames #3 > + { "" * } + { numnames #3 < + { "\Bibbtasep " * t * } + { "\Bibbfsasep " * t * } + if$ + } + if$ + } + { t "\bibenf {others} {} {} {} {}" = + t "\biblenf {others} {} {} {} {}" = or + t "\bibenf {others} {} {} {} {} \editorsname" = or + t "\biblenf {others} {} {} {} {} \editorsname" = or + numnames #3 > or + { "\bibimfont {\Bibetal}" * } + { numnames #3 < + { "\Bibbtasep " * t * } + { "\Bibbstasep " * t * } + if$ + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { pseudonym empty$ + { "" } + { "[" pseudonym format.names * "]" * } + if$ + } + { author format.names + pseudonym empty$ + 'skip$ + { " [" * pseudonym format.names * "]" * } + if$ + } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { pseudonym empty$ + { "" } + { "[" pseudonym format.editor.names * "]" * } + if$ + } + { editor format.editor.names + pseudonym empty$ + 'skip$ + { " [" * pseudonym format.editor.names * "]" * } + if$ + noed missing$ + { editor num.names$ #1 > + { editortype empty$ + { "\bibedformat {\editorsname}" * } + { "\bibedformat {" * editortype * "}" * } + if$ + } + { editortype empty$ + { "\bibedformat {\editorname}" * } + { "\bibedformat {" * editortype * "}" * } + if$ + } + if$ + } + { noed 's := + s "1" = + 'skip$ + { editor num.names$ #1 > + { editortype empty$ + { "\bibedformat {\editorsname}" * } + { "\bibedformat {" * editortype * "}" * } + if$ + } + { editortype empty$ + { "\bibedformat {\editorname}" * } + { "\bibedformat {" * editortype * "}" * } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { pseudonym empty$ + 'skip$ + { "[" pseudonym format.editor.names * "]" * } + if$ + } + { editor format.editor.names + pseudonym empty$ + 'skip$ + { " [" * pseudonym format.editor.names * "]" * } + if$ + noed missing$ + { editor num.names$ #1 > + { editortype empty$ + { " \bibedinformat {\editorsname}" * } + { " \bibedinformat {" * editortype * "}" * } + if$ + } + { editortype empty$ + { " \bibedinformat {\editorname}" * } + { " \bibedinformat {" * editortype * "}" * } + if$ + } + if$ + } + { noed 's := + s "1" = + 'skip$ + { editor num.names$ #1 > + { editortype empty$ + { " \bibedinformat {\editorsname}" * } + { " \bibedinformat {" * editortype * "}" * } + if$ + } + { editortype empty$ + { " \bibedinformat {\editorname}" * } + { " \bibedinformat {" * editortype * "}" * } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {fin.entry} +{ format.howcited + " \jbdoitem {" * + author empty$ + 'skip$ + { author format.names.for.index * } + if$ + "} {" + editor empty$ + 'skip$ + { editor format.names.for.index * } + if$ + "} {" * + organization empty$ + 'skip$ + { "{" organization * "}{}{}{}{}" * * } + if$ + "}" * * write$ + annote missing$ + { " \bibAnnoteFile {" cite$ * "}" * write$ newline$ } + { " \bibAnnote {" annote * "}" * write$ newline$ } + if$ +} + +FUNCTION {format.titleaddon} +{ title empty$ + 'skip$ + { titleaddon empty$ + 'skip$ + { ", " * titleaddon * } + if$ + } + if$ +} + +FUNCTION {format.booktitleaddon} +{ booktitle empty$ + 'skip$ + { booktitleaddon empty$ + 'skip$ + { ", " * booktitleaddon * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ before.all 'output.state := + title empty$ + { "" } + { title checked.emph.format swap$ * non.stop + { before.all 'output.state := "}" * } + { before.all 'output.state := "}" * } + if$ + } + if$ +} + +FUNCTION {journalnamemarkup} +{ duplicate$ empty$ + { pop$ "" } + { "\bibJTsep \bibjtfont {" swap$ * "}" * } + if$ +} + +FUNCTION {seriesformat} +{ duplicate$ empty$ + { pop$ "" } + { "\bibsnfont {" swap$ * "}" * } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition.superscript} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or s "erste" = or + { "1" 't := } + { s "second" = s "2" = or s "zweite" = or + { "2" 't := } + { s "third" = s "3" = or s "dritte" = or + { "3" 't := } + { s "fourth" = s "4" = or s "vierte" = or + { "4" 't := } + { s "fifth" = s "5" = or s "fuenfte" = or + { "5" 't := } + { s "sixth" = s "6" = or s "sechste" = or + { "6" 't := } + { s "seventh" = s "7" = or s "siebte" = or s "siebente" = or + { "7" 't := } + { s "eighth" = s "8" = or s "achte" = or + { "8" 't := } + { s "nineth" = s "9" = or s "neunte" = or + { "9" 't := } + { s #1 #1 substring$ is.num + { s "" * 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {output.bibitem.fst} +{ newline$ + "\bibitem[{" write$ + shortauthor empty$ + { juraauthor empty$ + { author empty$ + { editor empty$ + { organization empty$ + { "empty" write$ } + { organization write$ } + if$ + } + { label write$ } + if$ + } + { label write$ } + if$ + } + { juraauthor write$ } + if$ + } + { shortauthor write$ } + if$ + "}%" write$ + sortkey empty$ + 'skip$ + { newline$ "% SORTKEY: [" sortkey * "]" * write$ } + if$ + newline$ + shorttitle empty$ + { juratitle empty$ + { journal empty$ + { " {}%" write$ } + { title empty$ + { key empty$ + { " {}%" write$ } + { " {" key * "}%" * write$ } + if$ + } + { " {" title * "}%" * write$ } + if$ + } + if$ + } + { " {" juratitle * "}%" * write$ } + if$ + } + { " {" shorttitle * "}%" * write$ } + if$ + newline$ + repeat-authors + { " {{1}" write$ } + { " {{0}" write$ } + if$ + howcited empty$ + { "{}" write$ } + { "{" howcited * "}" * write$ } + if$ + type$ empty$ + { "{}" write$ } + { "{" type$ * "}" * write$ } + if$ + year empty$ + { "{}" write$ } + { "{" year * write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + "}" write$ + } + if$ + edition empty$ + { "{}" write$ } + { "{" convert.edition.superscript extract.num * "}" * write$ } + if$ + ssedition empty$ + { "{}" write$ } + { "{" ssedition * "}" * write$ } + if$ + language empty$ + { "{}" write$ } + { "{" language * "}" * write$ } + if$ + pages empty$ + { "{}%" write$ } + { "{" write$ pages n.dashify write$ "}%" write$ } + if$ + newline$ +} + +FUNCTION {output.bibitem.snd} +{ publisher empty$ + { address empty$ + { year empty$ + { " {" write$ } + { " {" write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + { year empty$ + { " {" write$ address write$ } + { " {" write$ address write$ "\bibbdsep {} " write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + if$ + } + { address empty$ + { year empty$ + { " {" write$ publisher write$ } + { " {" write$ publisher write$ "\bibbdsep {} " write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + { year empty$ + { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ } + { " {" write$ address write$ "\bpubaddr {} " write$ publisher write$ "\bibbdsep {} " write$ + year write$ + extra.label "" = + 'skip$ + { "\el {" write$ extra.label write$ "}" write$ } + if$ + } + if$ + } + if$ + } + if$ + "}}%" write$ newline$ + " {" write$ + title empty$ + { "{}%" write$ newline$ } + { "{" title * "}%" * write$ newline$ } + if$ + gender empty$ + { " {}" write$ } + { " {" gender * "}" * write$ } + if$ +% NEW 0.6 + oyear empty$ + { "{}" write$ } + { "{" oyear * "}" * write$ } + if$ + author empty$ + { editor empty$ + { "{4}" write$ }% author and editor empty + { "{3}" write$ }% author empty, editor not + if$ + } + { editor empty$ + { "{2}" write$ }% editor empty, author not + { "{1}" write$ }% both author and editor given + if$ + } + if$ + "{}{}{}{}{}}%" write$ newline$ + " ]{" write$ + cite$ write$ + "}" write$ + url empty$ + 'skip$ + { newline$ " \jburldef {" write$ cite$ write$ "}{" write$ url write$ "}%" write$ } + if$ + newline$ + " \jbbibargs {" write$ + "" + before.all 'output.state := +} + +FUNCTION {output.bibitem}{ output.bibitem.fst output.bibitem.snd } + +FUNCTION {word.in} +{ bbl.in + " " * } + +% JB extra label stuff added in 0.1a +FUNCTION {add.extra.label} +{extra.label "" = + 'skip$ + { "\bibel {" extra.label * "}" * * } + if$ +} + +FUNCTION {format.date} +{ year empty$ + 'skip$ + { output.state before.all = + { "" * mid.sentence 'output.state := } + { " " * } + if$ + "\dateldelim {}" * + month empty$ + 'skip$ + { month "{} " * * } + if$ + year * add.extra.label "\daterdelim {}" * + } + if$ +} + +FUNCTION {format.btitle} +{ before.all 'output.state := + title emphasize +} + +FUNCTION {format.booktitle} +{ before.all 'output.state := + booktitle b.emphasize +} + +FUNCTION {format.booklet.title} +{ before.all 'output.state := + title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { " " } + { + volumetitle empty$ + { crossref missing$ + { bbl.volume volume tie.or.space.connect } + { bbl.vol volume tie.or.space.connect } + if$ + } + { + crossref missing$ + { bbl.volume volume tie.or.space.connect } + { bbl.vol volume tie.or.space.connect } + if$ + ": \bibvtfont {" * volumetitle "}" * * + } + if$ + } + if$ +} + +FUNCTION {format.bvolume.btitle.reversed} +{ volume empty$ + { title empty$ + 'skip$ + { + before.all 'output.state := + title emphasize + } + if$ + } + { volumetitle empty$ + { title empty$ + 'skip$ + { + before.all 'output.state := + title emphasize + } + if$ + } + { "\bibvtfont {" volumetitle * "}" * * + bbl.volume volume tie.or.space.connect + title empty$ + 'skip$ + { bbl.of title emphasize * * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.bvolume.btitle} +{ volformat missing$ + { + format.btitle "title" output.check format.bvolume output + } + { volformat 's := + s "reversed" = + { volumetitle empty$ + { + "volformat given but no volumetitle in " cite$ * warning$ + format.bvolume.btitle.reversed output + } + { + volume empty$ + { "there's a volumetitle but no volume in " cite$ * warning$ * } + 'skip$ + if$ + title empty$ + { + "volformat given but no title in " cite$ * warning$ + } + { + format.bvolume.btitle.reversed output + } + if$ + } + if$ + } + { + format.btitle "title" output.check format.bvolume output + } + if$ + } + if$ +} + +FUNCTION {format.bvolume.booktitle.reversed} +{ volume empty$ + { booktitle empty$ + 'skip$ + { + before.all 'output.state := + booktitle b.emphasize + } + if$ + } + { volumetitle empty$ + { booktitle empty$ + 'skip$ + { + before.all 'output.state := + bbl.volume volume tie.or.space.connect + booktitle empty$ + 'skip$ + { bbl.of booktitle b.emphasize * * } + if$ + } + if$ + } + { "\bibvtfont {" volumetitle * "}" * * + bbl.volume volume tie.or.space.connect + booktitle empty$ + 'skip$ + { bbl.of booktitle b.emphasize * * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.in.editor.booktitle.volume.voltitle} +{ editor empty$ + { chapter empty$ + { ", " * } + { " " * } + if$ + word.in * + } + { chapter empty$ + { ", " * } + { " " * } + if$ + word.in format.in.editors * ", " * * + } + if$ + volformat missing$ + { + format.booktitle "booktitle" output.check + format.bvolume output + format.booktitleaddon + } + { volformat 's := + s "reversed" = + { volumetitle empty$ + { + "volformat given but no volumetitle in " cite$ * warning$ + format.bvolume.booktitle.reversed output + format.booktitleaddon + } + { + volume empty$ + { "there's a volumetitle but no volume in " cite$ * warning$ * } + 'skip$ + if$ + booktitle empty$ + { + "volformat given but no booktitle in " cite$ * warning$ + } + { + format.bvolume.booktitle.reversed output + format.booktitleaddon + } + if$ + } + if$ + } + { format.booktitle "booktitle" output.check + format.bvolume output + format.booktitleaddon + } + if$ + } + if$ +} + +FUNCTION {format.number.series.book.old} +{ number empty$ + { series seriesformat field.or.null } + { series empty$ + { "there's a number but no series in " cite$ * warning$ number } + { series seriesformat number tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.number.series.book} +{ volume empty$ + { number empty$ + { series empty$ + { "" } + { " \numberandseries {}{" series * "}" * } + if$ + } + { series empty$ + { " \numberandseries {" number * "}{}" * "There's a number but no series in " cite$ * warning$ } + { " \numberandseries {" number * "}{" * series "}" * * } + if$ + } + if$ + } + { series empty$ + { "" } + { type$ "proceedings" = + { " \numberandseries {}{" series * "}" * } % { " (" series * ")" * } + { "" } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series seriesformat field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in.series space.word * series seriesformat * } + if$ + } + if$ + } + { type$ "incollection" = crossref missing$ and + { format.number.series.book } + { "" } + if$ + } + if$ +} + +FUNCTION {first.ed} { "\firstedname" } +FUNCTION {second.ed}{ "\secondedname" } +FUNCTION {third.ed} { "\thirdedname" } +FUNCTION {fourth.ed}{ "\fourthedname" } +FUNCTION {fifth.ed} { "\fifthedname" } +FUNCTION {th.ed} { "\thedname" } + +FUNCTION {convert.edition} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or + { first.ed 't := } + { s "second" = s "2" = or + { second.ed 't := } + { s "third" = s "3" = or + { third.ed 't := } + { s "fourth" = s "4" = or + { fourth.ed 't := } + { s "fifth" = s "5" = or + { fifth.ed 't := } + { s #1 #1 substring$ is.num + { s th.ed * 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { convert.edition "~\editionname {}" * } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { before.all 'output.state := + "\jbPages {" pages n.dashify * "}" * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { " \jbartPages {" pages n.dashify * "}" * * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ before.all 'output.state := + volume empty$ + { year empty$ not + { "there's a year but no volume in " cite$ * warning$ } + 'skip$ + if$ + number empty$ + { "" } + { "there's a number but no volume in " cite$ * warning$ +% NEW 0.6 + type$ "periodical" = + { "~\per" * } + { "~\art" * } + if$ + "volnumformat {}{" number * "}" * + } + if$ + } + { type$ "periodical" = + { "~\per" * } + { "~\art" * } + if$ + number empty$ + { "volnumformat {" volume * "}{}" * } + { "volnumformat {" volume * "}{" number * "}" * * } + if$ + } + if$ + year empty$ + { month empty$ not + { "there's a month but no year in " cite$ * warning$ } + 'skip$ + if$ + } + { type$ "periodical" = + { " \per" * } + { " \art" * } + if$ + month empty$ + { "yearformat {" year * add.extra.label "}" * * } + { "yearformat {" month * "{} " * year * add.extra.label "}" * * } + if$ + } + if$ +} + +FUNCTION {format.chapter.inbook.incoll} +{ chapter empty$ + { "" } + { before.all 'output.state := + type empty$ + { ", " bbl.chapter * } + { ", " type * "l" change.case$ } + if$ + chapter tie.or.space.connect + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { before.all 'output.state := ", " bbl.chapter * } + { ", " type * "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle b.emphasize format.booktitleaddon * } + { word.in format.in.editors * ", " * booktitle b.emphasize format.booktitleaddon * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ " \protect\jbartcrossrefchecked {" crossref * "}" * } + +FUNCTION {format.book.crossref} +{ type$ "book" = + { volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "\protect\jbcrossrefchecked {" crossref * "}" * } + { "\protect\jbcrossrefchecked[" volume * "]{" * crossref "}" * * } + if$ + } + { "\protect\jbcrossrefchecked {" crossref * "}" * } + if$ +} + +FUNCTION {format.incoll.inproc.crossref} +{ " \protect\jbincollcrossref {" crossref * "}" * + editor empty$ + { "{}" * } + { "{1}" * } + if$ +} + +FUNCTION {oaddress.opublisher.oyear.format} +{ type$ "book" = + { oyear empty$ + { opublisher empty$ + { oaddress empty$ + 'skip$ + { oaddress "\osep {} " * * } + if$ + } + { oaddress empty$ + { opublisher "\osep {} " * * } + { oaddress "\bpubaddr {} " * opublisher "\osep {} " * * * } + if$ + } + if$ + } + { year empty$ + { "oyear without year in " cite$ * warning$ } + 'skip$ + if$ + opublisher empty$ + { oaddress empty$ + { oyear * "\osep {} \reprintname {}, " * } + { oaddress "\bibbdsep {} " * oyear "\osep {} " * * * } + if$ + } + { oaddress empty$ + { opublisher * "\bibbdsep {} " * oyear "\osep {} " * * } + { oaddress "\bpubaddr {} " * opublisher "\bibbdsep {} " * * oyear "\osep {} " * * * } + if$ + } + if$ + } + if$ + } + 'skip$ + if$ +} + +FUNCTION {format.publisher} +{ year empty$ month empty$ not and + { "there's a month but no year in " cite$ * warning$ } + 'skip$ + if$ + address empty$ publisher empty$ year empty$ and and + 'skip$ + { " \apyformat {" * } + if$ + oaddress.opublisher.oyear.format + address empty$ + { + publisher empty$ + { + year empty$ + 'skip$ + { month empty$ + { year * add.extra.label } + { month "{} " * year * * add.extra.label } + if$ + } + if$ + } + { + year empty$ + { month empty$ + { publisher * } + 'skip$ + if$ + } + { month empty$ + { publisher "\bibbdsep {} " * year * * add.extra.label } + { publisher "\bibbdsep {} " * month "{} " * year * * * add.extra.label } + if$ + } + if$ + } + if$ + } + { + publisher empty$ + { + year empty$ + { address * } + { month empty$ + { address "\bibbdsep {} " * year * * add.extra.label } + { address "\bibbdsep {} " * month "{} " * year * * * add.extra.label } + if$ + } + if$ + } + { + year empty$ + { month empty$ + { address "\bpubaddr {} " * publisher * * } + 'skip$ + if$ + } + { month empty$ + { address "\bpubaddr {} " * publisher "\bibbdsep {} " * year * * * add.extra.label } + { address "\bpubaddr {} " * publisher "\bibbdsep {} " * month "{} " * year * * * * add.extra.label } + if$ + } + if$ + } + if$ + } + if$ + address empty$ publisher empty$ year empty$ and and + 'skip$ + { "}" * } + if$ +} + +FUNCTION {format.publisher.manual} +{ year empty$ month empty$ not and + { "there's a month but no year in " cite$ * warning$ } + 'skip$ + if$ + address empty$ organization empty$ year empty$ and and + 'skip$ + { " \apyformat {" * } + if$ + address empty$ + { + organization empty$ + { + year empty$ + 'skip$ + { month empty$ + { year * add.extra.label } + { month "{} " * year * * add.extra.label } + if$ + } + if$ + } + { + year empty$ + { month empty$ + { organization * } + 'skip$ + if$ + } + { month empty$ + { organization "\bibbdsep {} " * year * * add.extra.label } + { organization "\bibbdsep {} " * month "{} " * year * * * add.extra.label } + if$ + } + if$ + } + if$ + } + { organization empty$ + { year empty$ + { address * } + { month empty$ + { address "\bibbdsep {} " * year * * add.extra.label } + { address "\bpubaddr {} " * month "{} " * year * * * add.extra.label } + if$ + } + if$ + } + { year empty$ + { month empty$ + { address "\bpubaddr {} " * organization * * } + 'skip$ + if$ + } + { month empty$ + { address "\bpubaddr {} " * organization "\bibbdsep {} " * year * * * add.extra.label } + { address "\bpubaddr {} " * organization "\bibbdsep {} " * month "{} " * year * * * * add.extra.label } + if$ + } + if$ + } + if$ + } + if$ + address empty$ organization empty$ year empty$ and and + 'skip$ + { "}" * } + if$ +} + +FUNCTION {format.publisher.techreport} +{ year empty$ month empty$ not and + { "there's a month but no year in " cite$ * warning$ } + 'skip$ + if$ + address empty$ institution empty$ year empty$ and and + 'skip$ + { " \apyformat {" * } + if$ + address empty$ + { + institution empty$ + { + year empty$ + 'skip$ + { month empty$ + { year * add.extra.label } + { month "{} " * year * * add.extra.label } + if$ + } + if$ + } + { + year empty$ + { month empty$ + { institution * } + 'skip$ + if$ + } + { month empty$ + { institution "\bibbdsep {} " * year * * add.extra.label } + { institution "\bibbdsep {} " * month "{} " * year * * * add.extra.label } + if$ + } + if$ + } + if$ + } + { institution empty$ + { year empty$ + { address * } + { month empty$ + { address "\bibbdsep {} " * year * * add.extra.label } + { address "\bpubaddr {} " * month "{} " * year * * * add.extra.label } + if$ + } + if$ + } + { year empty$ + { month empty$ + { address "\bpubaddr {} " * institution * * } + 'skip$ + if$ + } + { month empty$ + { address "\bpubaddr {} " * institution "\bibbdsep {} " * year * * * add.extra.label } + { address "\bpubaddr {} " * institution "\bibbdsep {} " * month "{} " * year * * * * add.extra.label } + if$ + } + if$ + } + if$ + } + if$ + address empty$ institution empty$ year empty$ and and + 'skip$ + { "}" * } + if$ +} + +FUNCTION {format.edby.editors} +{ author empty$ + 'skip$ + { editor empty$ + 'skip$ + { "\edbyname {} " editor format.editor.names * output } + if$ + } + if$ +} + +FUNCTION {make.translators} +{ translator empty$ + { flanguage empty$ + { "" } + { "\translator {}{" flanguage "l" change.case$ * "}{1}" * } + if$ + } + { "\translator {" translator * "}" * + flanguage empty$ + { "{}{1}" * } + { "{" * flanguage "l" change.case$ * "}{1}" * } + if$ + } + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title "title" output.check + format.titleaddon + crossref missing$ + { journal journalnamemarkup + "journal" output.check + format.vol.num.pages output + write.url + format.journal.pages + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.note + fin.entry +} + +FUNCTION {periodical} {article} + +FUNCTION {review} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title "title" output.check + format.titleaddon + crossref missing$ + { journal journalnamemarkup + "journal" output.check + format.vol.num.pages output + write.url + format.journal.pages + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.note + fin.entry +} + +FUNCTION {format.editors.last} +{ editor empty$ + { "" before.all 'output.state := } + { author empty$ not + { " \edbyname{} " editor format.editor.names * } + { "" before.all 'output.state := } + if$ + } + if$ +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { editor empty$ not + { format.editors output.nonnull } + { "neither author nor editor in " cite$ * warning$ } + if$ + } + { format.authors output.nonnull } + if$ + set.after.author.sep output + crossref missing$ + { format.bvolume.btitle + format.editors.last output.nonnull + make.translators output + format.titleaddon + format.number.series.book output + format.edition output + format.pages output + format.publisher + write.url + format.note + } + { format.btitle "title" output.check + format.book.crossref output.nonnull + } + if$ + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + set.after.author.sep output + format.btitle "title" output.check + format.titleaddon + howpublished output + format.publisher + format.pages output + write.url + format.note + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + crossref missing$ + { format.bvolume.btitle + format.titleaddon + make.translators output + format.number.series output + format.edition output + format.publisher + write.url + format.chapter.inbook.incoll output + format.pages output + format.note + } + { format.btitle "title" output.check + format.chapter.inbook.incoll output + format.incoll.inproc.crossref output.nonnull + format.bvolume output + format.pages output + } + if$ + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + crossref missing$ + { format.btitle "title" output.check + format.titleaddon + format.chapter.inbook.incoll output + format.in.editor.booktitle.volume.voltitle + make.translators output + format.number.series.book output + format.edition output + format.publisher + write.url + format.note + format.pages output + } + { format.title "title" output.check + format.chapter.inbook.incoll output + format.incoll.inproc.crossref output.nonnull + format.bvolume output + format.pages output + } + if$ + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title "title" output.check + format.titleaddon + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + publisher empty$ + { organization output + format.publisher + } + { organization output + format.publisher + } + if$ + write.url + format.note + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + set.after.author.sep output + format.btitle "title" output.check + format.titleaddon + format.edition output + format.publisher.manual + write.url + format.note + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.btitle "title" output.check + format.titleaddon + bbl.mthesis format.thesis.type output.nonnull + school "school" output.check + format.publisher + write.url + format.note + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + set.after.author.sep output + format.btitle output + format.titleaddon + howpublished output + format.date + write.url + format.note + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.btitle "title" output.check + format.titleaddon + bbl.phdthesis format.thesis.type output.nonnull + school "school" output.check + format.publisher + write.url + format.note + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + set.after.author.sep output + format.btitle "title" output.check + format.titleaddon + format.number.series.book output + organization output + format.publisher + write.url + format.note + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title "title" output.check + format.tr.number output.nonnull + format.publisher.techreport + write.url + format.note + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + set.after.author.sep output + format.title "title" output.check + format.titleaddon + format.date + write.url + format.note + fin.entry +} + +FUNCTION {www} +{ output.bibitem + format.authors output.nonnull + set.after.author.sep output + format.title output.nonnull + write.url + format.note + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + + +% JB added, contributed by Oren Patashnik +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +INTEGERS { nextchar-ptr } % points just past 1st "text" char + +FUNCTION {get.nextchar.ptr} % set nextchar-ptr to be just past +{ #1 'nextchar-ptr := % the first "text" char---this will + { duplicate$ % be not quite trivial if + nextchar-ptr #1 substring$ % the first "text" char is a + "" = not % special characters like {\'E} + } + { nextchar-ptr #1 + 'nextchar-ptr := } + while$ + pop$ + nextchar-ptr +} + +STRINGS { first-char } % the to-be-capitalized character + +FUNCTION {capitalize.von.part} % capitalize 1st character of string +{ duplicate$ #1 text.prefix$ % get 1st character + duplicate$ get.nextchar.ptr + swap$ "u" change.case$ % capitalize it + 'first-char := + global.max$ substring$ % get rest of string + first-char swap$ * % append the two +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% JB added +FUNCTION {format.lab.names} +{ 's := % for two: (Jones/de~Bruijn) + s #1 "{vv~}{ll}" format.name$ capitalize.von.part % for three: (Jones/de~Bruijn/Smith) + s num.names$ duplicate$ % for more: (Jones et~al.) + #2 < + 'pop$ % for just one person + { duplicate$ duplicate$ + #2 > + swap$ s swap$ "{ff }{vv }{ll}{ jj}" format.name$ "others" = + or + { pop$ "\Bibetal" * } % for 4 or more, or last is `others' + { #2 = + { "\jbbtasep " * s #2 "{vv~}{ll}" format.name$ capitalize.von.part * } % for (exactly) two + { "\jbbfsasep " * s #2 "{vv~}{ll}" format.name$ capitalize.von.part * % for three + "\jbbstasep " * s #3 "{vv~}{ll}" format.name$ capitalize.von.part * + } + if$ + } + if$ + } + if$ + year missing$ + 'skip$ + { "\jbdy {" year * "}" * * }% dummy year to prevent from `1993a' and `2001b' for works by the same author + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = type$ "inbook" = or type$ "incollection" = or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'label := +} + +FUNCTION {calc.dummy.label} +{ type$ "book" = type$ "inbook" = or type$ "incollection" = or type$ "commented" = or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'dummy.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ ff{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "\bibnf {others} {} {} {} {}" = and + { "\Bibetal" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { pseudonym empty$ + { key empty$ + { "to sort, need author, pseudonym or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { pseudonym sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { pseudonym empty$ + { key empty$ + { "to sort, need author, editor, pseudonym or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { pseudonym sort.format.names } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { pseudonym empty$ + { key empty$ + { "to sort, need author, editor, pseudonym or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { pseudonym sort.format.names } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + calc.dummy.label +% NEW 0.6, contributed by Robert Schlicht + dummy.label sortify " " * + sortkey empty$ + { type$ "book" = + type$ "incollection" = or + type$ "inbook" = or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + } + { sortkey sort.format.names } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * +% save for later [RS] + #1 entry.max$ substring$ + 'sort.label := + sort.label * +% includes dummy.label [RS] + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +%FUNCTION {before.sort} { "BEFORE SORT:" top$ } +%EXECUTE {before.sort} +%FUNCTION {print.sort.keys} {sort.key$ top$} +%ITERATE {print.sort.keys} + +SORT + +%FUNCTION {after.sort} {"AFTER SORT:" top$} +%EXECUTE {after.sort} +%ITERATE {print.sort.keys} + +STRINGS { last.dummy.label next.extra } + +INTEGERS { last.extra.num number.label } + +FUNCTION {forward.pass} +{ last.dummy.label dummy.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + dummy.label 'last.dummy.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "" swap$ * } + if$ + 'extra.label := + dummy.label extra.label * 'dummy.label := +} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +% NEW 0.6 +FUNCTION {bib.sort.order} { sort.label 'sort.key$ := } + +ITERATE {bib.sort.order} + +SORT + + +FUNCTION {set.current.authors} +{ author empty$ + { editor empty$ + { organization empty$ + { cite$ 'current-authors := } + { organization 'current-authors := } + if$ + } + { editor format.names #1 entry.max$ substring$ 'current-authors := } + if$ + } + { author format.names #1 entry.max$ substring$ 'current-authors := } + if$ +} + +STRINGS { previous-authors } + +FUNCTION {initialize.previous.authors} { "" 'previous-authors := } + +FUNCTION {mark.repeat.authors} +{ current-authors previous-authors = + { #1 'repeat-authors := } + 'skip$ + if$ + current-authors 'previous-authors := +} + +ITERATE {set.current.authors} + +EXECUTE {initialize.previous.authors} + +ITERATE {mark.repeat.authors} + +EXECUTE {initialize.previous.authors} + +REVERSE {mark.repeat.authors} + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "%" write$ newline$ + "% This bibliography was produced by using jox.bst" write$ version write$ newline$ + "%" write$ newline$ + "\begin{thebibliography}{}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%</joxbst> +%<*german> +\ProvidesFile{dejbbib.ldf}[jurabib German language definitions] +\def\bibsgerman{% + \def\etalname{\unskip\nobreakspace{}et\,al.}% + \def\etalnamenodot{\unskip\nobreakspace{}et\,al}% + \def\bibandname{und}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{und}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}% + \def\incollinname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}% + \def\ofseriesname{der Reihe}% + \def\volumeofname{von}% + \def\inseriesname{in}% + \def\editorname{(Hrsg.)}% + \def\editorsname{(Hrsg.)}% + \def\sndeditorname{(Hrsg.)}% + \def\sndeditorsname{(Hrsg.)}% + \def\edbyname{hrsg. v.}% + \def\Edbyname{Hrsg. v.}% + \def\byname{v.}% + \def\volname{Bd.}% + \def\volumename{Band}% + \def\Volumename{Band}% + \def\numbername{Nummer}% + \def\editionname{Auf\/lage}% + \def\bibchaptername{Kap.}% + \def\Bibchaptername{Kap.}% + \def\bibchapterlongname{Kapitel}% + \def\jbpagename{S.}% + \def\jbpagesname{S.}% + \def\bibpagename{S.}% + \def\bibpagesname{S.}% + \def\bibtotalpagesname{Seiten}% + \def\jbarchpagename{Bl.}% + \def\jbarchpagesname{Bl.}% + \def\bibarchpagename{Bl.}% + \def\bibarchpagesname{Bl.}% + \def\jbpagenamenodot{}% + \def\mastersthesisname{Diplomarbeit}% + \def\phdthesisname{Dissertation}% + \def\jurthesisname{Jur. Diss.}% + \def\alsothesisname{zugl.}% + \def\technicalreportname{Technischer Bericht}% + \def\organizationname{\unskip, \textup{Veranst.}}% + \def\janname{Januar}% + \def\febname{Februar}% + \def\marname{M{\"a}rz}% + \def\aprname{April}% + \def\mayname{Mai}% + \def\junname{Juni}% + \def\julname{Juli}% + \def\augname{August}% + \def\sepname{September}% + \def\octname{Oktober}% + \def\novname{November}% + \def\decname{Dezember}% + \def\firstedname{1.}% + \def\secondedname{2.}% + \def\thirdedname{3.}% + \def\fourthedname{4.}% + \def\fifthedname{5.}% + \def\thedname{.}% + \def\urldatecomment{Zugriff am }% + \def\howcitedprefix{ (zitiert: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (Anm.~}% + \def\lookatsuffix{)}% + \def\ibidemname{A.\,a.\,O\kern-1.2pt.}% + \def\ibidemmidname{a.\,a.\,O\kern-1.2pt.}% + \def\idemname{Ders.}% + \def\idemmidname{ders.}% + \def\bibcontinuedname{(Forts.)}% + \def\idemSmname{Ders.}\def\idemsmname{ders.}% + \def\idemPmname{Dies.}\def\idempmname{dies.}% + \def\idemSfname{Dies.}\def\idemsfname{dies.}% + \def\idemPfname{Dies.}\def\idempfname{dies.}% + \def\idemSnname{Dass.}\def\idemsnname{dass.}% + \def\idemPnname{Dies.}\def\idempnname{dies.}% + \def\idemSmedbyname{Demselben}\def\idemsmedbyname{demselben}% + \def\idemPmedbyname{Denselben}\def\idempmedbyname{denselben}% + \def\idemSfedbyname{Derselben}\def\idemsfedbyname{derselben}% + \def\idemPfedbyname{Denselben}\def\idempfedbyname{denselben}% + \def\idemSnedbyname{Demselben}\def\idemsnedbyname{demselben}% + \def\idemPnedbyname{Denselben}\def\idempnedbyname{denselben}% + \jbidemabbrvwithperiodtrue + \def\bibidemSmname{Derselbe}\def\bibidemsmname{derselbe}% + \def\bibidemPmname{Dieselben}\def\bibidempmname{dieselben}% + \def\bibidemSfname{Dieselbe}\def\bibidemsfname{dieselbe}% + \def\bibidemPfname{Dieselben}\def\bibidempfname{dieselben}% + \def\bibidemSnname{Dasselbe}\def\bibidemsnname{dasselbe}% + \def\bibidemPnname{Dieselben}\def\bibidempnname{dieselben}% + \def\trans{\ifjbweareinbib"ubers.\else\ifjboxford"ubers.\else\ifjbchicago"ubers.\else"Ubers.\fi\fi\fi}% + \def\transfrom{aus dem}% + \def\Transfrom{Aus dem}% + \def\transby{von}% + \def\fromgerman{Deutschen}% + \def\fromenglish{Englischen}% + \def\fromfrench{Franz\"osischen}% + \def\fromdutch{Holl\"andischen}% + \def\fromspanish{Spanischen}% + \def\fromitalian{Italienischen}% + \def\fromnorsk{Norwegischen}% + \def\fromportuguese{Portugiesischen}% + \def\fromfinnish{Finnischen}% + \def\Reprint{Nachdruck}% + \def\reprint{Nachdruck}% + \def\reviewname{TODO}% + \def\reviewofname{von}% + \def\reviewbyname{von}% + \def\updatesep{,}% + \def\updatename{Stand:}% + \def\herename{hier:~}% + \def\foundername{\space\edfont{(Begr.)}}% + \def\afterfoundersep{\slash}% + \def\jbmakeindexactual{=}% + \addtoalllanguages% +}% +%</german> +%<*english> +\ProvidesFile{enjbbib.ldf}[jurabib English language definitions] +\def\bibsenglish{% + \def\etalname{\unskip\nobreakspace{}et\,al.}% + \def\etalnamenodot{\unskip\nobreakspace{}et\,al}% + \def\bibandname{and}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{and}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}% + \def\incollinname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}% + \def\ofseriesname{of}% + \def\volumeofname{of}% + \def\inseriesname{in}% + \def\editorname{\unskip,\space{}editor}% + \def\editorsname{\unskip,\space{}editors}% + \def\sndeditorname{editor}% + \def\sndeditorsname{editors}% + \def\edbyname{edited by}% + \def\Edbyname{Edited by}% + \def\byname{by}% + \def\volname{vol.}% + \def\volumename{volume}% + \def\Volumename{Volume}% + \def\numbername{number}% + \def\editionname{edition}% + \def\bibchaptername{chap.}% + \def\Bibchaptername{Chap.}% + \def\bibchapterlongname{chapter}% + \def\jbpagename{p.}% + \def\jbpagesname{pp.}% + \def\bibpagename{p.}% + \def\bibpagesname{pp.}% + \def\bibtotalpagesname{pages}% + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\jbpagenamenodot{p}% + \def\alsothesisname{also}% + \def\phdthesisname{Ph.\,D thesis}% + \def\mastersthesisname{Master's thesis}% + \def\jurthesisname{diss. jur.}% + \def\technicalreportname{Technical report}% + \def\organizationname{\textup{(Org.)}}% + \def\janname{January}% + \def\febname{February}% + \def\marname{March}% + \def\aprname{April}% + \def\mayname{May}% + \def\junname{June}% + \def\julname{July}% + \def\augname{August}% + \def\sepname{September}% + \def\octname{October}% + \def\novname{November}% + \def\decname{December}% + \def\firstedname{1st}% + \def\secondedname{2nd}% + \def\thirdedname{3rd}% + \def\fourthedname{4th}% + \def\fifthedname{5th}% + \def\thedname{th}% + \def\urldatecomment{visited on }% + \def\howcitedprefix{ (cited: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (as in n.~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ibid.}% + \def\ibidemmidname{ibid.}% + \def\idemname{Idem}% + \def\idemmidname{idem}% + \def\bibcontinuedname{(cont.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib trans.\else\ifjboxford trans.\else\ifjbchicago trans.\else Trans.\fi\fi\fi}% + \def\transfrom{from the}% + \def\Transfrom{From the}% + \def\transby{by}% + \def\fromgerman{German}% + \def\fromenglish{English}% + \def\fromfrench{French}% + \def\fromdutch{Dutch}% + \def\fromspanish{Spanish}% + \def\fromitalian{Italian}% + \def\fromnorsk{Norwegian}% + \def\fromportuguese{Portuguese}% + \def\fromfinnish{Finnish}% + \def\Reprint{Reprint}% + \def\reprint{reprint}% + \def\reviewname{Review}% + \def\reviewofname{of}% + \def\reviewbyname{by}% + \def\updatesep{,}% + \def\updatename{last update:}% + \def\herename{here:~}% + \def\foundername{\space\edfont{(TODO)}}% + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</english> +%<*dutch> +\ProvidesFile{dujbbib.ldf}[jurabib Dutch language definitions] +\def\bibsdutch{% + \def\etalname{\unskip\nobreakspace{}et\,al.}% + \def\etalnamenodot{\unskip\nobreakspace{}et\,al}% + \def\bibandname{en}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{en}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{in}% + \def\incollinname{\ifjbchicago in\else in:\fi}% + \def\ofseriesname{van}% + \def\volumeofname{van}% + \def\inseriesname{in}% + \def\editorname{(red.)}% + \def\editorsname{(red.)}% + \def\sndeditorname{(red.)}% + \def\sndeditorsname{(red.)}% + \def\edbyname{onder redactie van}% + \def\Edbyname{Onder redactie van}% + \def\byname{van}% + \def\volname{deel}% + \def\volumename{deel}% + \def\Volumename{deel}% + \def\numbername{nr.}% + \def\editionname{druk}% + \def\bibchaptername{H.}% + \def\Bibchaptername{H.}% + \def\bibchapterlongname{Hoofdstuk}% + \def\jbpagename{blz.}% + \def\jbpagesname{blz.}% + \def\bibpagename{blz.}% + \def\bibpagesname{blz.}% + \def\bibtotalpagesname{blz.}% + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\jbpagenamenodot{}% + \def\mastersthesisname{Scriptie}% + \def\phdthesisname{Proefschrift}% + \def\jurthesisname{diss. jur.}% ??? + \def\alsothesisname{ook}% + \def\technicalreportname{Technisch rapport}% + \def\organizationname{\unskip, \textup{Oorspr.}}% + \def\janname{januari}% + \def\febname{februari}% + \def\marname{maart}% + \def\aprname{april}% + \def\mayname{mei}% + \def\junname{juni}% + \def\julname{juli}% + \def\augname{augustus}% + \def\sepname{september}% + \def\octname{oktober}% + \def\novname{november}% + \def\decname{december}% + \def\firstedname{eerste}% + \def\secondedname{tweede}% + \def\thirdedname{derde}% + \def\fourthedname{3\textsuperscript{e}}% + \def\fifthedname{4\textsuperscript{e}}% + \def\thedname{\textsuperscript{e}}% + \def\urldatecomment{bezocht op }% + \def\howcitedprefix{ (geciteerd: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (zie voetnoot~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ibid.}% + \def\ibidemmidname{ibid.}% + \def\idemname{Idem}% + \def\idemmidname{idem}% + \def\bibcontinuedname{(cont.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib trans.\else\ifjboxford trans.\else\ifjbchicago trans.\else Trans.\fi\fi\fi}% + \def\transfrom{vanuit het}% + \def\Transfrom{Vanuit het}% + \def\transby{door}% + \def\fromgerman{Duits}% + \def\fromenglish{Engels}% + \def\fromfrench{Frans}% + \def\fromdutch{Nederlands}% + \def\fromspanish{TODO}% + \def\fromitalian{TODO}% + \def\fromnorsk{TODO}% + \def\fromportuguese{TODO}% + \def\fromfinnish{TODO}% + \def\Reprint{Herdruk}% + \def\reprint{herdruk}% + \def\reviewname{Recensie}% + \def\reviewofname{van}% + \def\reviewbyname{van}% + \def\updatesep{,}% + \def\updatename{Stand:}% + \def\herename{TODO}% + \def\foundername{\space\edfont{(TODO)}}% Founder of a series + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</dutch> +%<*french> +\ProvidesFile{frjbbib.ldf}[jurabib French language definitions] +\def\bibsfrench{% + \def\etalname{\unskip\nobreakspace{}\textit{et\,al.}}% + \def\etalnamenodot{\unskip\nobreakspace{}\textit{et\,al}}% + \def\bibandname{et}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{et}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford dans :\else dans\fi}% + \def\incollinname{\ifjboxford dans :\else dans\fi}% + \def\ofseriesname{,}% + \def\volumeofname{de}% + \def\inseriesname{dans}% + \def\editorname{(\'ed.)}% + \def\editorsname{(\'ed.)}% + \def\sndeditorname{(\'ed.)}% + \def\sndeditorsname{(\'ed.)}% + \def\edbyname{publi\'e par}% + \def\Edbyname{Publi\'e par}% + \def\byname{par}% + \def\volname{vol.}% + \def\volumename{volume}% + \def\Volumename{Volume}% + \def\numbername{n$^\circ$~}% + \def\editionname{\'edition}% + \def\bibchaptername{chap.}% + \def\Bibchaptername{Chap.}% + \def\bibchapterlongname{chapitre}% + \def\jbpagename{p.}% + \def\jbpagesname{p.}% + \def\bibpagename{p.}% + \def\bibpagesname{p.}% + \def\bibtotalpagesname{pages}% TODO + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\jbpagenamenodot{p}% + \def\alsothesisname{tir\'e de :}% + \def\mastersthesisname{DEA}% + \def\phdthesisname{Th\`ese de doctorat}% + \def\jurthesisname{Th\`ese de droit}% + \def\technicalreportname{Rapport technique}% + \def\organizationname{}% + \def\janname{janvier}% + \def\febname{f\'evrier}% + \def\marname{mars}% + \def\aprname{avril}% + \def\mayname{mai}% + \def\junname{juin}% + \def\julname{juillet}% + \def\augname{ao\^ut}% + \def\sepname{septembre}% + \def\octname{octobre}% + \def\novname{novembre}% + \def\decname{d\'ecembre}% + \def\firstedname{1\textsuperscript{er}}% + \def\secondedname{2\textsuperscript{e}}% + \def\thirdedname{3\textsuperscript{e}}% + \def\fourthedname{4\textsuperscript{e}}% + \def\fifthedname{5\textsuperscript{e}}% + \def\thedname{\textsuperscript{e}}% + \def\urldatecomment{visit\'e le }% + \def\howcitedprefix{ (cit\'e dans : }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (cf. n$^\circ$~}% + \def\lookatsuffix{)}% + \def\ibidemname{\textit{Ibid.}}% + \def\ibidemmidname{\textit{ibid.}}% + \def\idemname{\textit{Idem}}% + \def\idemmidname{\textit{idem}}% + \def\bibcontinuedname{(cont.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib traduit\else\ifjboxford traduit\else\ifjbchicago traduit\else Traduit\fi\fi\fi}% + \def\transfrom{\unskip\unskip\space}% + \def\Transfrom{\unskip\unskip\space}% + \def\transby{par}% + \def\fromgerman{de l'allemand}% + \def\fromenglish{de l'anglais}% + \def\fromfrench{du français}% + \def\fromdutch{du n\'eerlandais}% + \def\fromspanish{de l'espagnol}% + \def\fromitalian{de l'italien}% + \def\fromnorsk{du norv\'egien}% + \def\fromportuguese{TODO}% + \def\fromfinnish{du finnois}% + \def\Reprint{R\'e\'edition}% + \def\reprint{r\'e\'edition}% + \def\reviewname{TODO}% + \def\reviewofname{TODO}% + \def\reviewbyname{TODO}% + \def\updatesep{,}% + \def\updatename{derni\`ere mise \`a jour:}% + \def\herename{TODO}% + \def\foundername{\space\edfont{(TODO)}}% Founder of a series + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</french> +%<*spanish> +\ProvidesFile{spjbbib.ldf}[jurabib Spanish language definitions] +\def\bibsspanish{% + \def\etalname{\textit{\unskip\nobreakspace{}et\,al.}}% + \def\etalnamenodot{\textit{\unskip\nobreakspace{}et\,al}}% + \def\bibandname{y}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{y}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford en:\else\ifjbchicago en\else En\fi\fi}% + \def\incollinname{\ifjboxford en:\else\ifjbchicago en\else En\fi\fi}% + \def\ofseriesname{de la colecci\'on}% + \def\volumeofname{de}% + \def\inseriesname{en}% + \def\editorname{\unskip,\space{}director}% + \def\editorsname{\unskip,\space{}directores}% + \def\sndeditorname{director}% + \def\sndeditorsname{directores}% + \def\edbyname{dirigido por}% + \def\Edbyname{Dirigido por}% + \def\byname{por}% + \def\volname{vol.}% + \def\volumename{volumen}% + \def\Volumename{Volumen}% + \def\numbername{n\'umero}% + \def\editionname{ed\/ici\'on}% + \def\bibchaptername{cap.}% + \def\Bibchaptername{Cap.}% + \def\bibchapterlongname{Cap\'itulo}% + \def\jbpagename{p\'ag.}% + \def\jbpagesname{p\'ags.}% + \def\jbpagenamenodot{p\'ag}% + \def\bibpagename{p\'ag.}% + \def\bibpagesname{p\'ags.}% + \def\bibtotalpagesname{p\'aginas}% + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\mastersthesisname{Proyecto Fin de Carrera}% + \def\phdthesisname{Tesis Doctoral}% + \def\jurthesisname{Tesis Doctoral}% + \def\alsothesisname{tambi\'en como}% + \def\technicalreportname{Informe t\'ecnico}% + \def\organizationname{Organizaci\'on}% + \def\janname{enero}% + \def\febname{febrero}% + \def\marname{marzo}% + \def\aprname{abril}% + \def\mayname{mayo}% + \def\junname{junio}% + \def\julname{julio}% + \def\augname{agosto}% + \def\sepname{septiembre}% + \def\octname{octubre}% + \def\novname{noviembre}% + \def\decname{diciembre}% + \def\firstedname{1.\textsuperscript{a}}% + \def\secondedname{2.\textsuperscript{a}}% + \def\thirdedname{3.\textsuperscript{a}}% + \def\fourthedname{4.\textsuperscript{a}}% + \def\fifthedname{5.\textsuperscript{a}}% + \def\thedname{.\textsuperscript{a}}% + \def\urldatecomment{visitado el }% + \def\howcitedprefix{ (citado en: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (v\'ease nota~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ib\'{\i}d.}% + \def\ibidemmidname{ib\'{\i}d.}% + \def\idemname{\'{\i}dem}% + \def\idemmidname{\'{\i}dem}% + \def\bibcontinuedname{(cont.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib trad.\else\ifjboxford trad.\else\ifjbchicago trad.\else Trad.\fi\fi\fi}% + \def\transfrom{del}% + \def\Transfrom{Del}% + \def\transby{por}% + \def\fromgerman{alem\'an}% + \def\fromenglish{ingl\'es}% + \def\fromfrench{franc\'es}% + \def\fromdutch{holand\'es}% + \def\fromspanish{espa\~nol}% + \def\fromitalian{italiano}% + \def\fromnorsk{noruego}% + \def\fromportuguese{TODO}% + \def\fromfinnish{fin\'es}% + \def\Reprint{Reimpresi\'on}% + \def\reprint{reimpresi\'on}% + \def\reviewname{TODO}% + \def\reviewofname{TODO}% + \def\reviewbyname{TODO}% + \def\updatesep{,}% + \def\updatename{\'ultima actualizaci\'on:}% + \def\herename{aqu\'i:~}% + \def\foundername{\space\edfont{(orig.)}}% + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</spanish> +%<*italian> +\ProvidesFile{itjbbib.ldf}[jurabib Italian language definitions] +\def\bibsitalian{% + \def\etalname{\unskip\nobreakspace{}et\,al.}% + \def\etalnamenodot{\unskip\nobreakspace{}et\,al}% + \def\bibandname{e}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{e}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}% + \def\incollinname{\ifjboxford in:\else\ifjbchicago in\else In\fi\fi}% + \def\ofseriesname{della collana}% + \def\volumeofname{de}% + \def\inseriesname{in}% + \def\editorname{(ed.)}% + \def\editorsname{(eds.)}% + \def\sndeditorname{(ed.)}% + \def\sndeditorsname{(eds.)}% + \def\edbyname{a cura di}% + \def\Edbyname{A cura di}% + \def\byname{di}% + \def\volname{vol.}% + \def\volumename{volume}% + \def\Volumename{Volume}% + \def\numbername{numero}% + \def\editionname{ed\/izione}% + \def\bibchaptername{cap.}% + \def\Bibchaptername{Cap.}% + \def\bibchapterlongname{Capitolo}% + \def\jbpagename{p.}% + \def\jbpagesname{pp.}% + \def\bibpagename{p.}% + \def\bibpagesname{pp.}% + \def\bibtotalpagesname{pages}% TODO + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\jbpagenamenodot{p}% + \def\mastersthesisname{Tesi di Laurea}% + \def\phdthesisname{Tesi di dottorato}% + \def\jurthesisname{diss. jur.}% + \def\alsothesisname{anche}% + \def\technicalreportname{Rapporto tecnico}% + \def\organizationname{Organizzazione}% + \def\janname{gennaio}% + \def\febname{febbraio}% + \def\marname{marzo}% + \def\aprname{aprile}% + \def\mayname{maggio}% + \def\junname{giugno}% + \def\julname{luglio}% + \def\augname{agosto}% + \def\sepname{settembre}% + \def\octname{ottobre}% + \def\novname{novembre}% + \def\decname{dicembre}% + \def\firstedname{1\textsuperscript{a}}% + \def\secondedname{2\textsuperscript{a}}% + \def\thirdedname{3\textsuperscript{a}}% + \def\fourthedname{4\textsuperscript{a}}% + \def\fifthedname{5\textsuperscript{a}}% + \def\thedname{\textsuperscript{a}}% + \def\urldatecomment{accesso a }% + \def\howcitedprefix{ (citato da: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (vedi nota~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ibid.}% + \def\ibidemmidname{ibid.}% + \def\idemname{Idem}% + \def\idemmidname{idem}% + \def\bibcontinuedname{(cont.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib trad.\else\ifjboxford trad.\else\ifjbchicago trad.\else Trad.\fi\fi\fi}% + \def\transfrom{dal}% + \def\Transfrom{Dal}% + \def\transby{da}% + \def\fromgerman{tedesco}% + \def\fromenglish{inglese}% + \def\fromfrench{francese}% + \def\fromdutch{olandese}% + \def\fromspanish{spagnolo}% + \def\fromitalian{italiano}% + \def\fromnorsk{norvegese}% + \def\fromportuguese{TODO}% + \def\fromfinnish{finlandese}% + \def\Reprint{Ristampa}% + \def\reprint{ristampa}% + \def\reviewname{TODO}% + \def\reviewofname{TODO}% + \def\reviewbyname{TODO}% + \def\updatesep{,}% + \def\updatename{ultimo aggiornamento:}% + \def\herename{a }% + \def\foundername{\space\edfont{(TODO)}}% Founder of a series + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</italian> +%<*norsk> +\ProvidesFile{nojbbib.ldf}[jurabib Norsk language definitions] +\def\bibsnorsk{% + \def\etalname{\unskip\nobreakspace{}m.fl.}% + \def\etalnamenodot{\unskip\nobreakspace{}m.fl}% + \def\bibandname{og}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{og}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford i:\else\ifjbchicago i\else I\fi\fi}% + \def\incollinname{\ifjboxford i:\else\ifjbchicago i\else I\fi\fi}% + \def\ofseriesname{of}% + \def\volumeofname{of}% + \def\inseriesname{i}% + \def\editorname{\unskip,\space{}redakt\o r}% + \def\editorsname{\unskip,\space{}redakt\o rer}% + \def\sndeditorname{redakt\o r}% + \def\sndeditorsname{redakt\o rer}% + \def\edbyname{redigert av}% + \def\Edbyname{Redigert av}% + \def\byname{av}% + \def\volname{bd.}% + \def\volumename{bind}% + \def\Volumename{Bind}% + \def\numbername{nummer}% + \def\editionname{utgave}% + \def\bibchaptername{kap.}% + \def\Bibchaptername{Kap.}% + \def\bibchapterlongname{kapittel}% + \def\jbpagename{s.}% + \def\jbpagesname{sider}% + \def\bibpagename{s.}% + \def\bibpagesname{s.}% + \def\bibtotalpagesname{sider}% + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\jbpagenamenodot{s}% + \def\alsothesisname{ogs\aa}% + \def\phdthesisname{Doktorgradsavhandling}% + \def\mastersthesisname{Hovedoppgave}% + \def\jurthesisname{diss. jur.}% + \def\technicalreportname{Teknisk rapport}% + \def\organizationname{\textup{(Org.)}}% + \def\janname{januar}% + \def\febname{februar}% + \def\marname{mars}% + \def\aprname{april}% + \def\mayname{mai}% + \def\junname{juni}% + \def\julname{juli}% + \def\augname{august}% + \def\sepname{september}% + \def\octname{oktober}% + \def\novname{november}% + \def\decname{desember}% + \def\firstedname{1.}% + \def\secondedname{2.}% + \def\thirdedname{3.}% + \def\fourthedname{4.}% + \def\fifthedname{5.}% + \def\thedname{.}% + \def\urldatecomment{sjekket: }% + \def\howcitedprefix{ henv: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ ((Se note~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ibid.}% + \def\ibidemmidname{ibid.}% + \def\idemname{Idem}% + \def\idemmidname{idem}% + \def\bibcontinuedname{(forts.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib oversatt\else\ifjboxford oversatt\else\ifjbchicago oversatt\else Oversatt\fi\fi\fi}% + \def\transfrom{fra}% + \def\Transfrom{Fra}% + \def\transby{av}% + \def\fromgerman{tysk}% + \def\fromenglish{engelsk}% + \def\fromfrench{fransk}% + \def\fromdutch{nederlandsk}% + \def\fromspanish{spansk}% + \def\fromitalian{italiensk}% + \def\fromnorsk{norsk}% + \def\fromportuguese{TODO}% + \def\fromfinnish{TODO}% + \def\Reprint{Opptrykk}% + \def\reprint{opptrykk}% + \def\reviewname{TODO}% + \def\reviewofname{TODO}% + \def\reviewbyname{TODO}% + \def\updatesep{,}% + \def\updatename{oppdatert senest:}% + \def\herename{p\aa}% + \def\foundername{\space\edfont{(TODO)}}% Founder of a series + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</norsk> +%<*portuguese> +\ProvidesFile{ptjbbib.ldf}[jurabib Portuguese language definitions] +\def\bibsportuguese{% + \def\etalname{\textit{\unskip\nobreakspace{}et\,al.}}% + \def\etalnamenodot{\textit{\unskip\nobreakspace{}et\,al}}% + \def\bibandname{e}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{e}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford en:\else\ifjbchicago en\else En\fi\fi}% + \def\incollinname{\ifjboxford en:\else\ifjbchicago en\else En\fi\fi}% + \def\ofseriesname{da colec\c{c}\~a}% + \def\volumeofname{de}% + \def\inseriesname{em}% + \def\editorname{\unskip,\space{}editor}% + \def\editorsname{\unskip,\space{}editores}% + \def\sndeditorname{editor}% + \def\sndeditorsname{editores}% + \def\edbyname{editado por}% + \def\Edbyname{Editado por}% + \def\byname{por}% + \def\volname{vol.}% + \def\volumename{volume}% + \def\Volumename{Volume}% + \def\numbername{n\'umero}% + \def\editionname{edi\c{c}\~ao}% + \def\bibchaptername{cap.}% + \def\Bibchaptername{Cap.}% + \def\bibchapterlongname{Cap\'itulo}% + \def\jbpagename{p.}% + \def\jbpagesname{pp.}% + \def\jbpagenamenodot{p}% + \def\bibpagename{p.}% + \def\bibpagesname{pp.}% + \def\bibtotalpagesname{p\'aginas}% + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\mastersthesisname{Tese de Mestrado}% + \def\phdthesisname{Tese de Doutoramento}% + \def\jurthesisname{Tese de Doutoramento}% + \def\alsothesisname{tamb\'em}% + \def\technicalreportname{Relat\'orio T\'ecnico}% + \def\organizationname{Organiza\c{c}\~ao}% + \def\janname{Janeiro}% + \def\febname{Fevereiro}% + \def\marname{Mar\c{c}o}% + \def\aprname{Abril}% + \def\mayname{Maio}% + \def\junname{Junho}% + \def\julname{Julho}% + \def\augname{Agosto}% + \def\sepname{Setembro}% + \def\octname{Outubro}% + \def\novname{Novembro}% + \def\decname{Dezembro}% + \def\firstedname{1.\textsuperscript{a}}% + \def\secondedname{2.\textsuperscript{a}}% + \def\thirdedname{3.\textsuperscript{a}}% + \def\fourthedname{4.\textsuperscript{a}}% + \def\fifthedname{5.\textsuperscript{a}}% + \def\thedname{.\textsuperscript{a}}% + \def\urldatecomment{acedido em }% + \def\howcitedprefix{ (citado como }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (ver nota }% + \def\lookatsuffix{)}% + \def\ibidemname{Ibidem}% + \def\ibidemmidname{ibidem}% + \def\idemname{idem}% + \def\idemmidname{idem}% + \def\bibcontinuedname{(cont.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib trad.\else\ifjboxford trad.\else\ifjbchicago trad.\else Trad.\fi\fi\fi}% + \def\transfrom{de}% + \def\Transfrom{De}% + \def\transby{por}% + \def\fromgerman{alem\~ao}% + \def\fromenglish{ingl\^es}% + \def\fromfrench{franc\^es}% + \def\fromdutch{holand\^es}% + \def\fromspanish{espanhol}% + \def\fromitalian{italiano}% + \def\fromnorsk{noruegu\^es}% + \def\fromportuguese{TODO}% + \def\fromfinnish{TODO}% + \def\Reprint{Reimpress\~ao}% + \def\reprint{reimpress\~ao}% + \def\reviewname{TODO}% + \def\reviewofname{TODO}% + \def\reviewbyname{TODO}% + \def\updatesep{,}% + \def\updatename{\'ultima actualiza\c{c}\~ao:}% + \def\herename{aqui:~}% + \def\foundername{\space\edfont{(orig.)}}% + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</portuguese> +%<*finnish> +\ProvidesFile{fijbbib.ldf}[jurabib Finnish language definitions] +\def\bibsfinnish{% + \def\etalname{\unskip\nobreakspace{}et\,al.}% + \def\etalnamenodot{\unskip\nobreakspace{}et\,al}% + \def\bibandname{ja}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{ja}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford teoksessa:\else\ifjbchicago teoksessa\else Teoksessa\fi\fi}% + \def\incollinname{\ifjboxford teoksessa:\else\ifjbchicago teoksessa\else Teoksessa\fi\fi}% + \def\ofseriesname{sarjan}% + \def\volumeofname{, }% + \def\inseriesname{sarjassa}% + \def\editorname{\unskip,\space{}toim.}% + \def\editorsname{\unskip,\space{}toim.}% + \def\sndeditorname{toim.}% + \def\sndeditorsname{toim.}% + \def\edbyname{toim.}% + \def\Edbyname{Toim.}% + \def\byname{}% + \def\volname{osa}% + \def\volumename{osa}% + \def\Volumename{Osa}% + \def\numbername{numero}% + \def\editionname{versio}% + \def\bibchaptername{luku}% + \def\Bibchaptername{Luku}% + \def\bibchapterlongname{luku}% + \def\jbpagename{s.}% + \def\jbpagesname{ss.}% + \def\bibpagename{s.}% + \def\bibpagesname{ss.}% + \def\bibtotalpagesname{sivua}% + \def\jbpagenamenodot{s}% + \def\alsothesisname{my\"os}% + \def\phdthesisname{V\"ait\"oskirja}% + \def\mastersthesisname{Pro Gradu -ty\"o}% + \def\jurthesisname{diss. jur.}% + \def\technicalreportname{Tekninen raportti}% + \def\organizationname{\textup{(Org.)}}% + \def\janname{Tammikuu}% + \def\febname{Helmikuu}% + \def\marname{Maaliskuu}% + \def\aprname{Huhtikuu}% + \def\mayname{Toukokuu}% + \def\junname{Kes\"akuu}% + \def\julname{Hein\"akuu}% + \def\augname{Elokuu}% + \def\sepname{Syyskuu}% + \def\octname{Lokakuu}% + \def\novname{Marraskuu}% + \def\decname{Joulukuu}% + \def\firstedname{1.}% + \def\secondedname{2.}% + \def\thirdedname{3.}% + \def\fourthedname{4.}% + \def\fifthedname{5.}% + \def\thedname{.}% + \def\urldatecomment{vierailtu }% + \def\howcitedprefix{ (siteerattu: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (ks. viite~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ibid.}% + \def\ibidemmidname{ibid.}% + \def\idemname{Idem}% + \def\idemmidname{idem}% + \def\ajtsep{}% + \def\bibcontinuedname{(jatkuu\ldots{})}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib k\"a\"ant\"anyt\else\ifjboxford k\"a\"ant\"anyt\else\ifjbchicago k\"a\"ant\"anyt\else K\"a\"ant\"anyt\fi\fi\fi}% + \def\transfrom{}% + \def\Transfrom{}% + \def\transby{}% + \def\fromgerman{saksan kielest\"a}% + \def\fromenglish{englannin kielest\"a}% + \def\fromfrench{ranskan kielest\"a}% + \def\fromdutch{hollannin kielest\"a}% + \def\fromspanish{espanjan kielest\"a}% + \def\fromitalian{italian kielest\"a}% + \def\fromnorsk{norjan kielest\"a}% + \def\fromportuguese{TODO}% + \def\fromfinnish{suomen kielest\"a}% + \def\Reprint{Uudelleenpainatus}% + \def\reprint{uudelleenpainatus}% + \def\reviewname{TODO}% + \def\reviewofname{TODO}% + \def\reviewbyname{TODO}% + \def\updatesep{,}% + \def\updatename{p\"aivitetty:}% + \def\herename{t\"a\"all\"a:~}% + \def\foundername{\space\edfont{(TODO)}}% + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</finnish> +%<*danish> +\ProvidesFile{dajbbib.ldf}[jurabib Danish language definitions] +\def\bibsdanish{% + \def\etalname{\unskip\nobreakspace{}et\,al.}% + \def\etalnamenodot{\unskip\nobreakspace{}et\,al}% + \def\bibandname{og}% + \def\textandname{\bibandname}% + \def\commaname{,}% + \def\bibeandname{og}% + \def\texteandname{\bibeandname}% + \def\commaename{,}% + \def\inname{\ifjboxford i:\else\ifjbchicago i\else I\fi\fi}% + \def\incollinname{\ifjboxford i:\else\ifjbchicago i\else I\fi\fi}% + \def\ofseriesname{af}% + \def\volumeofname{af}% + \def\inseriesname{i}% + \def\editorname{\unskip,\space{}redakt\o r}% + \def\editorsname{\unskip,\space{}redakt\o ere}% + \def\sndeditorname{redakt\o r}% + \def\sndeditorsname{redakt\o rer}% + \def\edbyname{redigeret af}% + \def\Edbyname{Redigeret af}% + \def\byname{af}% + \def\volname{vol.}% + \def\volumename{volume}% + \def\Volumename{Volume}% + \def\numbername{Nummer}% + \def\editionname{udgave}% + \def\bibchaptername{kap.}% + \def\Bibchaptername{Kap.}% + \def\bibchapterlongname{kapitel}% + \def\jbpagename{p.}% + \def\jbpagesname{pp.}% + \def\bibpagename{p.}% + \def\bibpagesname{pp.}% + \def\bibtotalpagesname{sider}% + \def\jbarchpagename{\jbpagename}% + \def\jbarchpagesname{\jbpagesname}% + \def\bibarchpagename{\bibpagename}% + \def\bibarchpagesname{\bibpagesname}% + \def\jbpagenamenodot{p}% + \def\alsothesisname{og}% + \def\phdthesisname{Ph.\,D afhandling}% + \def\mastersthesisname{Kandidat afhandling}% + \def\jurthesisname {diss. jur.}% + \def\technicalreportname{Teknisk rapport}% + \def\organizationname{\textup{(Org.)}}% + \def\janname{januar}% + \def\febname{februar}% + \def\marname{marts}% + \def\aprname{april}% + \def\mayname{maj}% + \def\junname{juni}% + \def\julname{juli}% + \def\augname{august}% + \def\sepname{september}% + \def\octname{oktober}% + \def\novname{november}% + \def\decname{december}% + \def\firstedname{1.}% + \def\secondedname{2.}% + \def\thirdedname{3.}% + \def\fourthedname{4.}% + \def\fifthedname{5.}% + \def\thedname{.}% + \def\urldatecomment{bes\o gt den }% + \def\howcitedprefix{ (citeret: }% + \def\howcitedsuffix{)}% + \def\lookatprefix{ (som i nr.~}% + \def\lookatsuffix{)}% + \def\ibidemname{Ibid.}% + \def\ibidemmidname{ibid.}% + \def\idemname{Idem}% + \def\idemmidname{idem}% + \def\bibcontinuedname{(forts.)}% + \def\idemSmname{\idemname}\def\idemsmname{\idemmidname}\def\idemPmname{\idemname} + \def\idempmname{\idemmidname}\def\idemSfname{\idemname}\def\idemsfname{\idemmidname}% + \def\idemPfname{\idemname}\def\idempfname{\idemmidname}\def\idemSnname{\idemname}% + \def\idemsnname{\idemmidname}\def\idemPnname{\idemname}\def\idempnname{\idemmidname}% + \def\idemSmedbyname{\idemname}\def\idemsmedbyname{\idemmidname}\def\idemPmedbyname{\idemname}% + \def\idempmedbyname{\idemmidname}\def\idemSfedbyname{\idemname}\def\idemsfedbyname{\idemmidname}% + \def\idemPfedbyname{\idemname}\def\idempfedbyname{\idemmidname}\def\idemSnedbyname{\idemname}% + \def\idemsnedbyname{\idemmidname}\def\idemPnedbyname{\idemname}\def\idempnedbyname{\idemmidname}% + \def\bibidemSmname{\idemname}\def\bibidemsmname{\idemmidname}\def\bibidemPmname{\idemname}% + \def\bibidempmname{\idemmidname}\def\bibidemSfname{\idemname}\def\bibidemsfname{\idemmidname}% + \def\bibidemPfname{\idemname}\def\bibidempfname{\idemmidname}\def\bibidemSnname{\idemname}% + \def\bibidemsnname{\idemmidname}\def\bibidemPnname{\idemname}\def\bibidempnname{\idemmidname}% + \def\trans{\ifjbweareinbib oversat\else\ifjboxford oversat\else\ifjbchicago oversat\else Oversat\fi\fi\fi}% + \def\transfrom{fra}% + \def\Transfrom{Fra}% + \def\transby{af}% + \def\fromgerman{tysk}% + \def\fromenglish{engelsk}% + \def\fromfrench{fransk}% + \def\fromdutch{nederlandsk}% + \def\fromspanish{spansk}% + \def\fromitalian{italiensk}% + \def\fromnorsk{norsk}% + \def\fromportuguese{portugisisk}% + \def\fromfinnish{finsk}% + \def\Reprint{Genoptryk}% + \def\reprint{genoptryk}% + \def\reviewname{Anmeldelse}% + \def\reviewofname{af}% + \def\reviewbyname{af}% + \def\updatesep{,}% + \def\updatename{sidste opdatering:}% + \def\herename{her:~}% + \def\foundername{\space\edfont{(TODO)}}% + \def\afterfoundersep{\slash}% + \addtoalllanguages% +}% +%</danish> +%<*jbtesttex|jbtestbttex> +\documentclass[12pt]{book} +\usepackage[latin1]{inputenc} +\usepackage[% + %citefull=first,% + %citefull=chapter,% + %citefull=section,% + %citefull=all,% + % + %authorformat=smallcaps,% + %authorformat=italic,% + %authorformat=dynamic,% + %authorformat=citationreversed,% + %authorformat=allreversed,% + %authorformat=firstnotreversed,% + %authorformat=reducedifibidem,% + %authorformat=abbrv,% + %authorformat=and,% + %authorformat=year,% + %authorformat=indexed,% + % + %annotatorformat=italic,% + %annotatorformat=normal,% + % + %annotatorfirstsep=in,% + %annotatorfirstsep=comma,% + %annotatorlastsep=divis,% + % + %titleformat=italic,% + %titleformat=all,% + %titleformat=commasep,% + %titleformat=colonsep,% + %titleformat=noreplace,% + % + %ibidem=strict,% + %ibidem=strictdoublepage,% + %ibidem=nostrict,% + %ibidem=name,% + %ibidem=name&title,% + %ibidem=name&title&auto,% + % + %idem=strict,% + %idem=strictdoublepage,% + %idem=nostrict,% + % + %opcit=true,% + %opcit=chapter,% + %opcit=section,% + % + %bibformat=tabular,% + %bibformat=nohang,% + %bibformat=numbered,% + %bibformat=ibidem,% + %bibformat=ibidemalt,% + %bibformat=compress,% + %bibformat=raggedright,% + % + %crossref=long,% + %crossref=short,% + %crossref=dynamic,% + % + %superscriptedition=all,% + %superscriptedition=switch,% + %superscriptedition=commented,% + %superscriptedition=bib,% + % + %pages=always,% + %pages=test,% + %pages=format,% + % + %howcited=all,% + %howcited=normal,% + %howcited=compare,% + %howcited=multiple,% + % + %dotafter=bibentry,% + %dotafter=endnote,% + % + %see=true,% + %lookat=true,% + %human=true,% + %oxford=true,% + %chicago=true,% + %edby=true,% + %endnote=true,% + %biblikecite=true,% + %commabeforerest=true,% + %round,% + %square,% + %annote=true,% + %citetoend=true,% + %hypercite=false,% + %super, + %lookforgender, + %silent,% + %jurabiborder,% + %config=your_config_filename_here% +]{jurabib} +%</jbtesttex|jbtestbttex> +%<jbtestbttex>\usepackage{bibtopic} +% +%<jbtesttex|jbtestbttex>\begin{document} +% +%<jbtesttex>\bibliography{jbtest} +% +%<jbtesttex|jbtestbttex>\bibliographystyle{jurabib} +% +%<*jbtestbttex> +\chapter*{Literature} +\begin{btSect}{book} +\section*{Monographs} +\btPrintCited +\end{btSect} +\begin{btSect}{comment} +\section*{Commentaries} +\btPrintCited +\end{btSect} +%</jbtestbttex> +% +%<*jbtesttex|jbtestbttex> +This is a test\footcite[Rn.~357]{medicus}\footcite[Rn.~78]{broxbgb}\footcite[Rn.~168]{broxbgb} +\newpage +\footcite[Rn.~170]{broxbgb}% +\footcite[Rn.~473]{broxbgb}% +\footcite[Rn.~709]{musielak}% +\footcite[Leptien][\S~167, Rn.~38]{soergel}% +\footcite[\S~15, III, 1]{koehler}% +\footfullcite[Rn. 186]{broxbgb}% +\footcite[Brox][\S~147, Rn.~2]{erm}% +\footcite[Rn.~493]{broxbgb}% +\footcite[Rn.~372]{broxbgb}% +\footcite[Rn.~944]{medicus}% +\footcite[Rn.~949]{huebner}% +\footcite[Brox][\S~167, Rn.~27]{erm}% +\footfullcite{jbtesturl} +\end{document} +%</jbtesttex|jbtestbttex> +% +%<*jbtestcbtex> +\documentclass[12pt]{report} +\usepackage{german} +\usepackage[% + authorformat=smallcaps,% + commabeforerest,% + titleformat=colonsep,% + bibformat={tabular,ibidem},% + pages=format,% +]{jurabib} +\usepackage[duplicate]{chapterbib} +\usepackage{remreset} +\renewcommand*{\StartFinalBibs}{% + \renewcommand*{\refname}{\chaptername\space\thechapter}% +}% +\makeatletter +\@removefromreset{footnote}{chapter} +\renewcommand*{\bib@heading}{% + \section*{\refname\@mkboth{\refname}{\refname}}% +}% +\makeatother +\begin{document} +\tableofcontents +\include{jbtestcb1} +\include{jbtestcb2} +\chapter*{Literature}\addcontentsline{toc}{chapter}{Literature} +\bibliographystyle{jurabib} +\bibliography{jbtest} +\end{document} +%</jbtestcbtex> +%<*jbtestcb1> +\chapter{One} + + That's a very small example document to illustrate the usage of \textsf{jurabib} + \footcite[34]{broxschr} together with \textsf{chapterbib}.\footcite[34]{broxbgb} + +\bibliographystyle{jurabib} +\bibliography{jbtest} +%</jbtestcb1> +% +%<*jbtestcb2> +\chapter{Two} + + That's a very small example document to illustrate the usage of \textsf{jurabib} + \footcite[34]{broxschr} together with \textsf{chapterbib}.\footcite[34]{palandt} + +\bibliographystyle{jurabib} +\bibliography{jbtest} +%</jbtestcb2> +% +%<*jbtestbib|book> +@BOOK{broxbgb, + author = {Hans Brox}, + title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches}, + shorttitle = {BGB~AT}, + year = 1996, + language = {german}, + address = {K{\"o}ln, Berlin, Bonn, M{\"u}nchen}, + edition = 20, + annote = {This is a senseless test for testing the annote field.\par If + you are reading this text now, note that you can switch + off the output of this field by removing the \texttt{annote} option + \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}} +} +@BOOK{broxschr, + author = {Hans Brox}, + title = {Besonderes Schuldrecht}, + shorttitle = {SchR~BT}, + year = 1995, + language = {german}, + address = {M{\"u}nchen}, + edition = 20 +} +@BOOK{canaris, + author = {Claus Wilhelm Cannabis}, + title = {Die Vertrauenshaftung im deutschen Privatrecht}, + shorttitle = {Vertrauenshaftung}, + year = 1971, + language = {german}, + address = {M{\"u}nchen} +} +@BOOK{ennenipp, + author = {Ludwig Enneccerus and Hans Carl Nipperdey}, + title = {Allgemeiner Teil des B{\"u}rgerlichen Rechts}, + year = 1960, + volume = {1}, + language = {german}, + volumetitle = {zweiter Halbband}, + address = {T{\"u}bingen}, + edition = 15 +} +@BOOK{huebner, + author = {Heinz H{\"u}bner}, + title = {Allgemeiner Teil des B{\"u}rgerlichen Gesetzbuches}, + shorttitle = {BGB~AT}, + year = 1996, + language = {german}, + address = {Berlin, New York}, + edition = 2 +} +@BOOK{koehler, + author = {Helmut K{\"o}hler}, + title = {BGB Allgemeiner Teil}, + shorttitle = {BGB~AT}, + language = {german}, + year = 1996, + address = {M{\"u}nchen}, + edition = 23 +} +@BOOK{medicus, + author = {Dieter Medicus}, + title = {Allgemeiner Teil des BGB}, + shorttitle = {BGB~AT}, + year = 1995, + howcited = 1, + address = {M{\"u}nchen}, + edition = {6} +} +@BOOK{musielak, + author = {Hans-Joachim Musielak}, + title = {Grundkurs BGB}, + shorttitle = {BGB~GK}, + language = {german}, + year = 1994, + address = {M{\"u}nchen} +} +@BOOK{alexy, + author = {Alexy, Robert}, + title = {Theorie der Grundrechte}, + year = 1985, + address = {Baden-Baden}, + school = {G{\"o}ttingen}, + dissyear = 1984 +} +@BOOK{kkstrr, + author = {Kurt Kodal and Joachim Kr{\"a}mer}, + title = {Stra{\ss}enrecht}, + shorttitle = {StrR}, + year = 1995, + address = {M{\"u}nchen}, + edition = {5}, + pages = {30--34, \S~24} +} +%</jbtestbib|book> +%<*jbtestbib> +@ARTICLE{broxja, + author = {Hans Brox}, + gender = {sm}, + title = {Die Anfechtung bei der Stellvertretung}, + journal = {JA}, + language = {german}, + year = 1980, + address = {M{\"u}nchen} +} +@ARTICLE{eujenfrank, + author = {Heiko Eujen and Rainer Frank}, + gender = {pm}, + title = {Anfechtung der Bevollm{\"a}chtigung nach Abschluß des + Vertretergesch{\"a}ftes\,?}, + language = {german}, + journal = {JZ}, + year = 1973 +} +@ARTICLE{proelss, + author = {J{\"u}rgen Pr{\"o}lss}, + gender = {sm}, + title = {Vertretung ohne Vertretungsmacht\,?}, + journal = {JuS}, + language = {german}, + year = 1985 +} +@PERIODICAL{oellers, + author = {Bernd Oellers}, + gender = {sm}, + title = {Doppelwirkung im Recht\,?}, + journal = {AcP}, + language = {german}, + year = 1969, + volume = 169 +} +%</jbtestbib> +%<*jbtestbib|comment> +@COMMENTED{erm, + author = {Walther Erman}, + gender = {sm}, + title = {Handkommentar zum B{\"u}rgerlichen Gesetzbuch}, + address = {M{\"u}nster}, + language = {german}, + year = 1993, + volume = 1, + edition = {9} +} +@COMMENTED{mueko, + title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch}, + shortauthor = {M{\"u}Ko}, + address = {M{\"u}nchen}, + language = {german}, + year = 1994, + volume = 2, + volumetitle = {-- Schuldrecht -- Allgemeiner Teil}, + edition = {3} +} +@COMMENTED{palandt, + author = {Otto Palandt}, + gender = {sm}, + title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch}, + address = {M{\"u}nchen}, + language = {german}, + year = 1996, + edition = {6} +} +@COMMENTED{soergel, + author = {Hans Theodor Soergel}, + gender = {sm}, + title = {Kommentar zum B{\"u}rgerlichen Gesetzbuch}, + address = {Stuttgart, Berlin, K{\"o}ln, Mainz}, + year = 1987, + howcited = 1, + edition = 12, + volume = 1, + language = {german} +} +%</jbtestbib|comment> +%<*jbtestbib|other> +@MASTERSTHESIS{alexymthesis, + author = {Alexy, Robert}, + gender = {sm}, + title = {Theorie der Grundrechte}, + year = 1984, + school = {G{\"o}ttingen} +} +@PHDTHESIS{alexyphdthesisi, + author = {Alexy, Robert}, + gender = {sm}, + title = {Theorie der Grundrechte}, + year = 1984, + school = {G{\"o}ttingen} +} +@PHDTHESIS{alexyphdthesisii, + author = {Alexy, Robert}, + gender = {sm}, + title = {Theorie der Grundrechte}, + year = 1984, + type = {Habil.}, + school = {G{\"o}ttingen} +} +@JURTHESIS{alexyjurthesisi, + author = {Alexy, Robert}, + gender = {sm}, + title = {Theorie der Grundrechte}, + year = 1984, + school = {G{\"o}ttingen} +} +@JURTHESIS{alexyjurthesis, + author = {Alexy, Robert}, + gender = {sm}, + title = {Theorie der Grundrechte}, + year = 1984, + type = {Habil.}, + school = {G{\"o}ttingen} +} +@WWW{jbtesturl, + author = {Jens Berger}, + gender = {sm}, + title = {Home of jurabib}, + url = {http://www.jurabib.org/docs/english/jbendoc.html}, +} +%</jbtestbib|other> +%<*config> +\ProvidesFile{jurabib.cfg}[jurabib local configuration file] +\jurabibsetup{% + %citefull=first,% + %citefull=chapter,% + %citefull=section,% + %citefull=all,% + % + %authorformat=smallcaps,% + %authorformat=italic,% + %authorformat=dynamic,% + %authorformat=citationreversed,% + %authorformat=allreversed,% + %authorformat=firstnotreversed,% + %authorformat=reducedifibidem,% + %authorformat=abbrv,% + %authorformat=and,% + %authorformat=year,% + %authorformat=indexed,% + % + %annotatorformat=italic,% + %annotatorformat=normal,% + % + %annotatorfirstsep=in,% + %annotatorfirstsep=comma,% + %annotatorlastsep=divis,% + % + %titleformat=italic,% + %titleformat=all,% + %titleformat=commasep,% + %titleformat=colonsep,% + %titleformat=noreplace,% + % + %ibidem=strict,% + %ibidem=strictdoublepage,% + %ibidem=nostrict,% + %ibidem=name,% + %ibidem=name&title,% + %ibidem=name&title&auto,% + % + %idem=strict,% + %idem=strictdoublepage,% + %idem=nostrict,% + % + %opcit=true,% + %opcit=chapter,% + %opcit=section,% + % + %bibformat=tabular,% + %bibformat=nohang,% + %bibformat=numbered,% + %bibformat=ibidem,% + %bibformat=ibidemalt,% + %bibformat=compress,% + %bibformat=raggedright,% + % + %crossref=long,% + %crossref=short,% + %crossref=dynamic,% + % + %superscriptedition=all,% + %superscriptedition=switch,% + %superscriptedition=commented,% + %superscriptedition=bib,% + % + %pages=always,% + %pages=test,% + %pages=format,% + % + %howcited=all,% + %howcited=normal,% + %howcited=compare,% + %howcited=multiple,% + % + %dotafter=bibentry,% + %dotafter=endnote,% + % + %see=true,% + %lookat=true,% + %human=true,% + %oxford=true,% + %chicago=true,% + %edby=true,% + %endnote=true,% + %biblikecite=true,% + %commabeforerest=true,% + %round,% + %square,% + %annote=true,% + %citetoend=true,% + %hypercite=false,% + %super, + %lookforgender, + %silent,% + %jurabiborder,% + %config=your_config_filename_here% +} +%</config> +%<*jbtesthutex> +\documentclass[12pt,a4paper,german,dutch,english]{article} +\usepackage[latin1]{inputenc} +\usepackage{babel} +\usepackage[% + titleformat=italic,% + titleformat=all,% + titleformat=noreplace,% + titleformat=commasep,% + commabeforerest,% + ibidem=strict,% + citefull=first,% + lookat,% + oxford,% + pages=format,% +]{jurabib} + +\begin{document} +\footcite[23--67]{bergmeier80}% +\footcite[23--67]{helm72}% +\footcite[23--67]{helm82}% +\footcite[23--67]{helm82a}% +\footcite[23--67]{helm97}% +\footcite[23--67]{LunWalThis99}% +\footcite[23--67]{bergmeier80}% +\footcite[23--67]{Thiselton99}% +\footcite[23--67]{LunWalThis99}% +\footcite[23--67]{Lundin99}% +\footcite[23--67]{Lundin99}% +\footcite[67f]{Lundin99}% +\footcite[23--67]{Kraft74}% +\footcite[23--67]{Oberman88}% + +\footcite[67ff]{bergmeier80}% +\footcite[67]{helm72}% +\footcite[67]{helm82}% +\footcite[67]{helm82a}% +\footcite[67]{helm97}% +\footcite[67]{bergmeier80}% +\footcite[67]{Thiselton99}% +\footcite[67]{LunWalThis99}% +\footcite[67]{Lundin99}% +\footcite[67]{Kraft74}% +\footcite[67]{Oberman88}% +\footnote{In ``\citefield{title}{Thiselton99}'' Thiselton said~\dots} + +This is a very simple test document to illustrate some of the +capabilities of \textsf{jurabib} in the humanities. +If someone can contribute a better one, please e-mail me: +\texttt{jb@jurabib.org}. + + +\bibliographystyle{jurabib} +%%\bibliographystyle{jox} +\bibliography{jbtesthu} + +\end{document} +%</jbtesthutex> +%<*jbtestmbtex> +\documentclass{article} +\usepackage{jurabib} +\usepackage{multibib}% multibib has to be loaded after jurabib + +%% Definition of _sec_ond bibliography +\newcites{sec}{Secondary Literature} + +%% Remember: You have to run 'bibtex sec' to produce the _sec_ond bibliography! + +\begin{document} + +This is a simple test document to demonstrate \textsf{jurabib} and \textsf{multibib} interaction. +This citation appears in the normal bibliography\footcite{helm72}. +This citation appears in the second bibliography\footcitesec{helm82}. + +%% The normal bibliography +\bibliography{jbtesthu} +\bibliographystyle{jurabib} + +%% The _sec_ond bibliography +\bibliographysec{jbtesthu} +\bibliographystylesec{jurabib} + +\end{document} +%</jbtestmbtex> +%<*jbtestbutex> +\documentclass{article} +\usepackage{jurabib} +\usepackage{bibunits} + +%% Remember: You have to run 'bibtex bu1' for the first and 'bibtex bu2' for the second bibliography! + +\begin{document} + +\begin{bibunit}[jurabib] + A small bibunit to demonstrate \textsf{jurabib} and \textsf{bibunits} interaction~\cite{helm72}. + \putbib[jbtesthu] +\end{bibunit} + +\begin{bibunit}[jureco] + A new bibunit with a different style~\cite{helm82}. + \putbib[jbtesthu] +\end{bibunit} + +\end{document} +%</jbtestbutex> +%<*jbtesthubib> +@BOOK{bergmeier80, + author = {Bergmeier, Roland}, + gender = {sm}, + title = {Glaube als Gabe nach Johannes: Religions- und + Theologiegeschichtliche Studien zum pr{\"a}destinatianischen + Dualismus im vierten Evangelium}, + publisher = {W. Kohlhammer}, + year = 1980, + volume = 112, + series = {Beitr{\"a}ge zur Wissenschaft vom Alten und Neuen Testament}, + address = {Stuttgart etc.}, + keywords = {Predestinatie; Johannes; Gnostiek; Qumran; Dualisme}, + language = {german}, + shorttitle = {Glaube als Gabe}, + annote = {This is a senseless test for testing the annote field.\par If + you are reading this text now, note that you can switch + off the output of this field by removing the \texttt{annote} option + \begin{itemize}\item You are able to use lists inside the annote field\end{itemize}} +} +@ARTICLE{helm72, + author = {Helm, Paul}, + gender = {sm}, + title = {Revealed Propositions and Timeless Truths}, + journal = {Religious Studies}, + year = 1972, + volume = 8, + pages = {127--136}, + comment = {Nog eens kopieren} +} +@BOOK{helm82, + author = {Helm, Paul}, + gender = {sm}, + title = {Divine Revelation: The Basic Issues}, + year = 1982, + address = {London}, + annote = {Verdediging van propositionele visie op Openbaring}, + language = {english}, + shorttitle = {Divine Revelation} +} +@INCOLLECTION{helm82a, + author = {Helm, Paul}, + gender = {sm}, + title = {The Role of Logic in Biblical Interpretation}, + editor = {E. Radmacher and R. Preus}, + booktitle = {Hermeneutics, Inerrancy, \& the Bible}, + year = 1982, + pages = {841--858}, + address = {Grand Rapids}, + language = {english}, + shorttitle = {Role of Logic} +} +@BOOK{helm97, + author = {Helm, Paul}, + gender = {sm}, + title = {Faith and Understanding}, + year = 1997, + series = {Reason and Religion}, + address = {Edinburgh}, + publisher = {Edinburgh University Press}, + language = {english} +} +@INCOLLECTION{Thiselton99, + author = {Thiselton, Anthony C.}, + gender = {sm}, + title = {Communicative Action and Promise in + Interdisciplinary, Biblical, and Theological Hermeneutics}, + booktitle = {The Promise of Hermeneutics}, + pages = {133--240}, + crossref = {LunWalThis99}, + shorttitle = {Communicative Action} +} +@BOOK{LunWalThis99, + editor = {Lundin, Roger and Walhout, Clarence and Thiselton, Anthony C.}, + gender = {pm}, + year = 1999, + title = {The Promise of Hermeneutics}, + publisher = {Eerdmans}, + address = {Grand Rapids}, + shorttitle = {Promise} +} +@INCOLLECTION{Lundin99, + author = {Lundin, Roger}, + gender = {sm}, + title = {Interpreting Orphans: Hermeneutics in the Cartesian + Tradition}, + booktitle = {The Promise of Hermeneutics}, + pages = {1--64}, + crossref = {LunWalThis99}, + shorttitle = {Interpreting Orphans} +} +@Book{Oberman88, + author = {Oberman, Heiko Augustinus}, + gender = {sm}, + title = {De erfenis van Calvijn: grootheid en grenzen: drie + lezingen}, + publisher = {Kok}, + year = 1988, + address = {Kampen}, + annote = {zie liter}, + series = {Kuyper-voordrachten}, + language = {dutch} +} +@Book{Kraft74, + editor = {Kraft, Robert A. and Attridge, Harold and Spittler, Russell and Timbie, Janet}, + gender = {pm}, + title = {The Testament of Job According to the SV Text}, + publisher = {Society of Biblical Literature \& Scholars' Press}, + year = 1937, + volume = 4, + series = {Texts and Translations 5: Pseudepigrapha Series}, + address = {Missoula, Montana}, +} +%</jbtesthubib> +%<*jblongcfg> +%% This is a example configuration file to use for exam homeworks, +%% dissertations and the like for german law students, contributed +%% by Tilman Finke (Tilman.Finke@web.de) If you want to use it, +%% rename it to `jurabib.cfg'. +%% If you want to share your personal configuration file (e.g. if it +%% reflects the requests of your university), please send it to +%% jb@jurabib.org +\jurabibsetup{authorformat=dynamic, + superscriptedition=all, + titleformat=all, + titleformat=commasep, + titleformat=noreplace, + annotatorlastsep=divis, + howcited=compare, + commabeforerest, + bibformat=ibidemalt, + bibformat=compress, + pages=always} +\renewcommand*{\bibjtsep}{in: } +\renewcommand*{\bibatsep}{,} +\renewcommand*{\bibbdsep}{} +\renewcommand*{\jbaensep}{,} +\jbdotafterbibentry +\formatpages[ ]{article}{(}{)} +%</jblongcfg> +\endinput +% \fi +% \Finale +%\endinput diff --git a/macros/latex/contrib/jurabib/jurabib.ins b/macros/latex/contrib/jurabib/jurabib.ins new file mode 100644 index 0000000000..134c9ece3c --- /dev/null +++ b/macros/latex/contrib/jurabib/jurabib.ins @@ -0,0 +1,202 @@ +\def\batchfile{jurabib.ins} +\def\jbfileversion{v0.6} +\def\jbfiledate{2004/01/25} +\ifx\ProvidesFile\undefined\else + \ProvidesFile{jurabib.ins}[2004/01/25 Installation script for jurabib package] +\fi +%% +%% This is the installation file for the `jurabib' package. +%% +%% Run LaTeX on this file to produce the style file jurabib.sty. +%% +\input docstrip.tex +\preamble + +*** This is jurabib \jbfileversion (\jbfiledate) *** + +LaTeX package for citing with abbreviated titles and + names, supporting short and long forms of citations + +Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org) +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +\endpreamble +\declarepreamble\driverpreamble +Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org) + +See \batchfile\space for the copyright details. + +This is the driver file for the `jurabib' package. +Run LaTeX on this file to produce the documentation. +You may modify this file (NOT jurabib.ins) to +achieve a different formatting of the documentation. + +\endpreamble +\declarepreamble\texfilepreamble +---------------------------------------- +Example TeX file for the documentation +of the jurabib package \jbfileversion +Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org) +See \batchfile\space for the copyright details. + +\endpreamble +\declarepreamble\bibfilepreamble +---------------------------------------- +Example BibTeX file for the documentation + of the jurabib package \jbfileversion +Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org) +See \batchfile for the copyright details. + +\endpreamble +\declarepreamble\bstfilepreamble +---------------------------------------- +BibTeX style for use with the jurabib package version \jbfileversion +Copyright (C) 1999-2004 Jens Berger (http://www.jurabib.org) +See \batchfile\space for the copyright details. + +\endpreamble +\declarepreamble\cfgfilepreamble +---------------------------------------- +Local configuration file for use with the jurabib package + +(http://www.jurabib.org) + +Here you can place personal redefinitions +\endpreamble + +\declarepreamble\langfilepreamble +---------------------------------------- +Local language definition file for use with the jurabib package \jbfileversion + +(http://www.jurabib.org) + +The syntax to adjust commands for your purposes is for the main +document language (Note the capitals in \string\AddTo!): + + \string\AddTo\string\bibs<language>{\string\def\string\janname{January}} + +e.g. + + \string\AddTo\string\bibsenglish{\string\def\string\janname{January}} + +If you want to change it for all possible main languages: + + \string\AddTo\string\bibsall{\string\def\string\janname{January}} + +\endpreamble + +\declarepostamble\bstfilepostamble +\endpostamble +\declarepostamble\cfgfilepostamble +\endpostamble +\declarepostamble\langfilepostamble +\endpostamble +\keepsilent +\askonceonly +%\askforoverwritefalse +\generate{% + \usedir{tex/latex/jurabib}% + \file{jurabib.sty}{\from{jurabib.dtx}{package}} +% \usepreamble\driverpreamble +% \file{jurabib.drv}{\from{jurabib.dtx}{driver}} + \usepreamble\cfgfilepreamble + \usepostamble\cfgfilepostamble + \file{jurabib.cfg}{\from{jurabib.dtx}{config}} + \file{jblong.cfg}{\from{jurabib.dtx}{jblongcfg}} + \usepreamble\langfilepreamble + \usepostamble\langfilepostamble + \file{dejbbib.ldf}{\from{jurabib.dtx}{german}} + \file{enjbbib.ldf}{\from{jurabib.dtx}{english}} + \file{dujbbib.ldf}{\from{jurabib.dtx}{dutch}} + \file{frjbbib.ldf}{\from{jurabib.dtx}{french}} + \file{spjbbib.ldf}{\from{jurabib.dtx}{spanish}} + \file{itjbbib.ldf}{\from{jurabib.dtx}{italian}} + \file{nojbbib.ldf}{\from{jurabib.dtx}{norsk}} + \file{ptjbbib.ldf}{\from{jurabib.dtx}{portuguese}} + \file{fijbbib.ldf}{\from{jurabib.dtx}{finnish}} + \file{dajbbib.ldf}{\from{jurabib.dtx}{danish}} + \usedir{tex/bibtex/bst/jurabib} + \usepreamble\bstfilepreamble + \usepostamble\bstfilepostamble + \file{jurabib.bst}{\from{jurabib.dtx}{jurabst}} + \file{jurunsrt.bst}{\from{jurabib.dtx}{jurunsrt}} + \file{jureco.bst}{\from{jurabib.dtx}{jurecobst}} + \file{jox.bst}{\from{jurabib.dtx}{joxbst}} +% \file{n_jurabib.bst}{\from{jurabib.mbs}{jurabib}} +% \file{n_jurunsrt.bst}{\from{jurabib.mbs}{jurunsrt}} +% \file{n_jureco.bst}{\from{jurabib.mbs}{jureco}} +% \file{n_jox.bst}{\from{jurabib.mbs}{jox}} + \usedir{tex/bibtex/bib/jurabib} + \usepreamble\bibfilepreamble + \file{jbtest.bib}{\from{jurabib.dtx}{jbtestbib}} + \file{book.bib}{\from{jurabib.dtx}{book}} + \file{comment.bib}{\from{jurabib.dtx}{comment}} + \file{jbtesthu.bib}{\from{jurabib.dtx}{jbtesthubib}} + \usedir{tex/doc/latex/jurabib}% + \usepreamble\texfilepreamble + \file{jbtest.tex}{\from{jurabib.dtx}{jbtesttex}} + \file{jbtestcb.tex}{\from{jurabib.dtx}{jbtestcbtex}} + \file{jbtestcb1.tex}{\from{jurabib.dtx}{jbtestcb1tex}} + \file{jbtestcb2.tex}{\from{jurabib.dtx}{jbtestcb2tex}} + \file{jbtestbt.tex}{\from{jurabib.dtx}{jbtestbttex}} + \file{jbtesthu.tex}{\from{jurabib.dtx}{jbtesthutex}} + \file{jbtestbu.tex}{\from{jurabib.dtx}{jbtestbutex}} + \file{jbtestmb.tex}{\from{jurabib.dtx}{jbtestmbtex}} +} +\Msg{**************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by LaTeX:} +\Msg{*} +\Msg{* \space\space jurabib.sty} +\Msg{* \space\space enjbbib.ldf} +\Msg{* \space\space dejbbib.ldf} +\Msg{* \space\space dujbbib.ldf} +\Msg{* \space\space frjbbib.ldf} +\Msg{* \space\space spjbbib.ldf} +\Msg{* \space\space itjbbib.ldf} +\Msg{* \space\space nojbbib.ldf} +\Msg{* \space\space ptjbbib.ldf} +\Msg{* \space\space fijbbib.ldf} +\Msg{* \space\space dajbbib.ldf} +\Msg{* \space\space jurabib.cfg} +\Msg{* \space\space jblong.cfg} +\Msg{*} +\Msg{* To use the BibTeX style files you have to move the following} +\Msg{* file into a directory searched by BibTeX:} +\Msg{*} +\Msg{* \space\space jurabib.bst} +\Msg{* \space\space jureco.bst} +\Msg{* \space\space jurunsrt.bst} +\Msg{* \space\space jox.bst} +\Msg{*} +\Msg{* To produce the documentation run the following files} +\Msg{* through LaTeX:} +\Msg{*} +\Msg{* \space\space jbgerdoc.tex (German)} +\Msg{* \space\space jbendoc.tex (English)} +\Msg{*} +\Msg{* To produce some test files run the following files} +\Msg{* through LaTeX:} +\Msg{*} +\Msg{* \space\space jbtest.tex, jbtesthu.tex, jbtestmb.tex} +\Msg{* \space\space jbtestbu.tex, jbtestcb.tex and jbtestbt.tex} +\Msg{*} +\Msg{* Check (http://www.jurabib.org) for updates and news!} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{**************************************************************} +\endbatchfile |