From 0b2e3d90de5730215a88a0bcf9b18495d512a23b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 24 Aug 2019 20:53:26 +0000 Subject: biblatex (24aug19) git-svn-id: svn://tug.org/texlive/trunk@51953 c570f23f-e606-0410-a88d-b1316a301751 --- .../bib/biblatex/biblatex/biblatex-examples.bib | 11 +- Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst | 73 +- Master/texmf-dist/doc/latex/biblatex/CHANGES.md | 102 ++ Master/texmf-dist/doc/latex/biblatex/biblatex.pdf | Bin 1466892 -> 1537443 bytes Master/texmf-dist/doc/latex/biblatex/biblatex.tex | 1292 ++++++++++----- .../biblatex/examples/01-introduction-biber.pdf | Bin 167963 -> 167963 bytes .../biblatex/examples/01-introduction-bibtex.pdf | Bin 167963 -> 167963 bytes .../biblatex/examples/02-annotations-biber.pdf | Bin 208502 -> 208489 bytes .../biblatex/examples/02-annotations-bibtex.pdf | Bin 210444 -> 210442 bytes .../examples/03-localization-keys-biber.pdf | Bin 245377 -> 245369 bytes .../examples/03-localization-keys-bibtex.pdf | Bin 245963 -> 245955 bytes .../biblatex/examples/04-delimiters-biber.pdf | Bin 80153 -> 80153 bytes .../biblatex/examples/04-delimiters-bibtex.pdf | Bin 80153 -> 80153 bytes .../examples/10-references-per-section-biber.pdf | Bin 81709 -> 81703 bytes .../examples/10-references-per-section-bibtex.pdf | Bin 81709 -> 81703 bytes .../examples/11-references-by-section-biber.pdf | Bin 98397 -> 98391 bytes .../examples/11-references-by-section-bibtex.pdf | Bin 98397 -> 98391 bytes .../examples/12-references-by-segment-biber.pdf | Bin 98443 -> 98436 bytes .../examples/12-references-by-segment-bibtex.pdf | Bin 98443 -> 98436 bytes .../examples/13-references-by-keyword-biber.pdf | Bin 175135 -> 175128 bytes .../examples/13-references-by-keyword-bibtex.pdf | Bin 175135 -> 175128 bytes .../examples/14-references-by-category-biber.pdf | Bin 174641 -> 174633 bytes .../examples/14-references-by-category-bibtex.pdf | Bin 174641 -> 174633 bytes .../examples/15-references-by-type-biber.pdf | Bin 119278 -> 119269 bytes .../examples/15-references-by-type-bibtex.pdf | Bin 119278 -> 119269 bytes .../examples/16-numeric-prefixed-1-biber.pdf | Bin 157680 -> 157676 bytes .../examples/16-numeric-prefixed-1-bibtex.pdf | Bin 157880 -> 157853 bytes .../examples/17-numeric-prefixed-2-biber.pdf | Bin 157661 -> 157653 bytes .../examples/17-numeric-prefixed-2-bibtex.pdf | Bin 157881 -> 157872 bytes .../biblatex/examples/18-numeric-hybrid-biber.pdf | Bin 112922 -> 112914 bytes .../biblatex/examples/18-numeric-hybrid-bibtex.pdf | Bin 112922 -> 112914 bytes .../examples/19-alphabetic-prefixed-biber.pdf | Bin 158312 -> 158305 bytes .../examples/19-alphabetic-prefixed-bibtex.pdf | Bin 158551 -> 158535 bytes .../biblatex/examples/20-indexing-single-biber.pdf | Bin 170447 -> 170448 bytes .../examples/20-indexing-single-bibtex.pdf | Bin 171178 -> 171177 bytes .../examples/21-indexing-multiple-biber.pdf | Bin 171711 -> 171696 bytes .../examples/21-indexing-multiple-bibtex.pdf | Bin 172432 -> 172421 bytes .../examples/22-indexing-subentry-biber.pdf | Bin 88909 -> 88909 bytes .../examples/22-indexing-subentry-bibtex.pdf | Bin 88909 -> 88909 bytes .../biblatex/examples/30-style-numeric-biber.pdf | Bin 177237 -> 177233 bytes .../biblatex/examples/30-style-numeric-bibtex.pdf | Bin 178095 -> 178088 bytes .../examples/31-style-numeric-comp-biber.pdf | Bin 179216 -> 179209 bytes .../examples/31-style-numeric-comp-bibtex.pdf | Bin 180387 -> 180379 bytes .../examples/32-style-numeric-verb-biber.pdf | Bin 181612 -> 181606 bytes .../examples/32-style-numeric-verb-bibtex.pdf | Bin 182526 -> 182517 bytes .../examples/40-style-alphabetic-biber.pdf | Bin 200038 -> 200027 bytes .../examples/40-style-alphabetic-bibtex.pdf | Bin 200720 -> 200711 bytes .../examples/41-style-alphabetic-verb-biber.pdf | Bin 111954 -> 111944 bytes .../examples/41-style-alphabetic-verb-bibtex.pdf | Bin 111954 -> 111944 bytes .../42-style-alphabetic-template-biber.pdf | Bin 101009 -> 101001 bytes .../42-style-alphabetic-template-bibtex.pdf | Bin 101009 -> 101001 bytes .../examples/50-style-authoryear-biber.pdf | Bin 280081 -> 280076 bytes .../examples/50-style-authoryear-bibtex.pdf | Bin 278971 -> 278971 bytes .../examples/51-style-authoryear-ibid-biber.pdf | Bin 213648 -> 213639 bytes .../examples/51-style-authoryear-ibid-bibtex.pdf | Bin 213648 -> 213639 bytes .../examples/52-style-authoryear-comp-biber.pdf | Bin 147309 -> 147302 bytes .../examples/52-style-authoryear-comp-bibtex.pdf | Bin 147309 -> 147302 bytes .../examples/53-style-authoryear-icomp-biber.pdf | Bin 225926 -> 225919 bytes .../examples/53-style-authoryear-icomp-bibtex.pdf | Bin 225926 -> 225919 bytes .../examples/60-style-authortitle-biber.pdf | Bin 277786 -> 277780 bytes .../examples/60-style-authortitle-bibtex.pdf | Bin 276667 -> 276658 bytes .../examples/61-style-authortitle-ibid-biber.pdf | Bin 203062 -> 203054 bytes .../examples/61-style-authortitle-ibid-bibtex.pdf | Bin 203062 -> 203054 bytes .../examples/62-style-authortitle-comp-biber.pdf | Bin 126056 -> 126041 bytes .../examples/62-style-authortitle-comp-bibtex.pdf | Bin 126056 -> 126041 bytes .../examples/63-style-authortitle-icomp-biber.pdf | Bin 222711 -> 222703 bytes .../examples/63-style-authortitle-icomp-bibtex.pdf | Bin 222711 -> 222703 bytes .../examples/64-style-authortitle-terse-biber.pdf | Bin 195329 -> 195321 bytes .../examples/64-style-authortitle-terse-bibtex.pdf | Bin 195329 -> 195321 bytes .../examples/65-style-authortitle-tcomp-biber.pdf | Bin 143184 -> 143172 bytes .../examples/65-style-authortitle-tcomp-bibtex.pdf | Bin 143184 -> 143172 bytes .../examples/66-style-authortitle-ticomp-biber.pdf | Bin 147782 -> 147774 bytes .../66-style-authortitle-ticomp-bibtex.pdf | Bin 147782 -> 147774 bytes .../biblatex/examples/70-style-verbose-biber.pdf | Bin 268072 -> 268064 bytes .../biblatex/examples/70-style-verbose-bibtex.pdf | Bin 266552 -> 266544 bytes .../examples/71-style-verbose-ibid-biber.pdf | Bin 272079 -> 272070 bytes .../examples/71-style-verbose-ibid-bibtex.pdf | Bin 270661 -> 270651 bytes .../examples/72-style-verbose-note-biber.pdf | Bin 270386 -> 270378 bytes .../examples/72-style-verbose-note-bibtex.pdf | Bin 268933 -> 268926 bytes .../examples/73-style-verbose-inote-biber.pdf | Bin 274179 -> 274169 bytes .../examples/73-style-verbose-inote-bibtex.pdf | Bin 272798 -> 272789 bytes .../examples/74-style-verbose-trad1-biber.pdf | Bin 328754 -> 328754 bytes .../examples/74-style-verbose-trad1-bibtex.pdf | Bin 327368 -> 327368 bytes .../examples/75-style-verbose-trad2-biber.pdf | Bin 273584 -> 273584 bytes .../examples/75-style-verbose-trad2-bibtex.pdf | Bin 272202 -> 272202 bytes .../examples/76-style-verbose-trad3-biber.pdf | Bin 270809 -> 270809 bytes .../examples/76-style-verbose-trad3-bibtex.pdf | Bin 269428 -> 269428 bytes .../biblatex/examples/80-style-reading-biber.pdf | Bin 244291 -> 244283 bytes .../biblatex/examples/80-style-reading-bibtex.pdf | Bin 244291 -> 244283 bytes .../biblatex/examples/81-style-draft-biber.pdf | Bin 149733 -> 149729 bytes .../biblatex/examples/81-style-draft-bibtex.pdf | Bin 149733 -> 149729 bytes .../biblatex/examples/82-style-debug-biber.pdf | Bin 149686 -> 150176 bytes .../biblatex/examples/82-style-debug-bibtex.pdf | Bin 148852 -> 148857 bytes .../biblatex/examples/90-related-entries-biber.pdf | Bin 31096 -> 31088 bytes .../biblatex/examples/91-sorting-schemes-biber.pdf | Bin 21556 -> 21547 bytes .../examples/92-bibliographylists-biber.pdf | Bin 61634 -> 61627 bytes .../latex/biblatex/examples/93-nameparts-biber.pdf | Bin 37877 -> 37878 bytes .../biblatex/examples/94-labelprefix-biber.pdf | Bin 23855 -> 23855 bytes .../biblatex/examples/95-customlists-biber.pdf | Bin 12144 -> 12144 bytes .../doc/latex/biblatex/examples/96-dates-biber.pdf | Bin 25112 -> 25112 bytes .../biblatex/examples/97-annotations-biber.pdf | Bin 16371 -> 16371 bytes .../latex/biblatex/examples/biblatex-examples.bib | 11 +- .../tex/latex/biblatex/bbx/alphabetic.bbx | 2 +- .../tex/latex/biblatex/bbx/authoryear.bbx | 2 +- .../texmf-dist/tex/latex/biblatex/bbx/numeric.bbx | 2 +- .../texmf-dist/tex/latex/biblatex/bbx/reading.bbx | 12 +- .../texmf-dist/tex/latex/biblatex/bbx/standard.bbx | 60 +- Master/texmf-dist/tex/latex/biblatex/biblatex.def | 177 +- Master/texmf-dist/tex/latex/biblatex/biblatex.sty | 1706 ++++++++++++-------- .../texmf-dist/tex/latex/biblatex/blx-bibtex.def | 134 +- .../texmf-dist/tex/latex/biblatex/blx-compat.def | 2 - Master/texmf-dist/tex/latex/biblatex/blx-dm.def | 45 +- .../texmf-dist/tex/latex/biblatex/blx-unicode.def | 59 +- .../tex/latex/biblatex/cbx/authortitle-comp.cbx | 4 +- .../tex/latex/biblatex/cbx/authortitle-ibid.cbx | 4 +- .../tex/latex/biblatex/cbx/authortitle-icomp.cbx | 6 +- .../tex/latex/biblatex/cbx/authortitle-tcomp.cbx | 4 +- .../tex/latex/biblatex/cbx/authortitle-ticomp.cbx | 4 +- .../tex/latex/biblatex/cbx/authortitle.cbx | 4 +- .../tex/latex/biblatex/cbx/authoryear-ibid.cbx | 4 +- .../tex/latex/biblatex/cbx/authoryear.cbx | 4 +- Master/texmf-dist/tex/latex/biblatex/cbx/draft.cbx | 2 +- .../tex/latex/biblatex/cbx/verbose-ibid.cbx | 2 +- .../tex/latex/biblatex/cbx/verbose-inote.cbx | 2 +- .../tex/latex/biblatex/cbx/verbose-note.cbx | 2 +- .../tex/latex/biblatex/cbx/verbose-trad1.cbx | 2 +- .../tex/latex/biblatex/cbx/verbose-trad2.cbx | 2 +- .../tex/latex/biblatex/cbx/verbose-trad3.cbx | 2 +- .../texmf-dist/tex/latex/biblatex/cbx/verbose.cbx | 2 +- .../texmf-dist/tex/latex/biblatex/lbx/danish.lbx | 198 +-- .../texmf-dist/tex/latex/biblatex/lbx/english.lbx | 30 +- .../texmf-dist/tex/latex/biblatex/lbx/latvian.lbx | 99 +- .../texmf-dist/tex/latex/biblatex/lbx/magyar.lbx | 38 +- 133 files changed, 2786 insertions(+), 1319 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib b/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib index 6730a9ded77..10f114bc76d 100644 --- a/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib +++ b/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib @@ -946,7 +946,7 @@ annotation = {A single volume from the critical edition of Nietzsche's works. This \texttt{book} entry explicitly refers to the first volume only. Note the \texttt{title} and \texttt{maintitle} - fields. Also note the \texttt{sorttitle} + fields. Also note the \texttt{sorttitle} field. We want this entry to be listed after the entry referring to the entire edition}, } @@ -1138,7 +1138,7 @@ \texttt{isbn} field}, } -@InCollection{gaonkar:in, +@incollection{gaonkar:in, author = {Gaonkar, Dilip Parameshwar}, editor = {Gaonkar, Dilip Parameshwar}, title = {On Alternative Modernities}, @@ -1169,6 +1169,9 @@ \texttt{editoratype} fields}, } +% booktitle and booksubtitle are only needed for BibTeX's less sophisticated +% inheritance set-up to make sure westfahl:space shows correctly. +% With Biber they are not needed. @collection{westfahl:frontier, editor = {Westfahl, Gary}, title = {Space and Beyond}, @@ -1181,8 +1184,8 @@ booktitle = {Space and Beyond}, booksubtitle = {The Frontier Theme in Science Fiction}, annotation = {This is a \texttt{collection} entry. Note the format of the - \texttt{location} field as well as the \texttt{subtitle} and - \texttt{booksubtitle} fields}, + \texttt{location} field as well as the \texttt{subtitle} + field}, } @inbook{kant:kpv, diff --git a/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst b/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst index 1d52835c94d..4b1dcee4d76 100644 --- a/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst +++ b/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst @@ -168,7 +168,10 @@ ENTRY { warningmsg } INTEGERS { ctrl.debug ctrl.bibtex8 ctrl.maxline ctrl.sorting ctrl.cssort - ctrl.maxnames ctrl.minnames ctrl.maxalphanames ctrl.minalphanames + ctrl.maxcitenames ctrl.mincitenames + ctrl.maxsortnames ctrl.minsortnames + ctrl.nohashothers ctrl.nosortothers + ctrl.maxalphanames ctrl.minalphanames ctrl.useauthor ctrl.useeditor ctrl.usetranslator ctrl.useprefix ctrl.labelalpha ctrl.singletitle ctrl.labeldate citecount @@ -180,7 +183,7 @@ STRINGS { ctrl.alphaothers ctrl.sortalphaothers ctrl.sortstr last.name last.hash last.year last.extra } FUNCTION {initialize} { - "$Revision: 3.11 $" + "$Revision: 3.13 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ "Biblatex version: " swap$ * top$ @@ -193,8 +196,12 @@ FUNCTION {initialize} { #1 'ctrl.useeditor := #0 'ctrl.usetranslator := #0 'ctrl.useprefix := - #1 'ctrl.minnames := - #99 'ctrl.maxnames := + #99 'ctrl.maxcitenames := + #1 'ctrl.mincitenames := + #99 'ctrl.maxsortnames := + #1 'ctrl.minsortnames := + #0 'ctrl.nohashothers := + #0 'ctrl.nosortothers := #1 'ctrl.minalphanames := #3 'ctrl.maxalphanames := #79 'ctrl.maxline := @@ -551,8 +558,8 @@ FUNCTION {shortname:hash} { tempctrc #0 = { tempctrb 'tempctrc := } { tempctrb tempctrc > - { ctrl.minnames 'tempctrc := } - { ctrl.maxnames 'tempctrc := } + { ctrl.mincitenames 'tempctrc := } + { ctrl.maxcitenames 'tempctrc := } if$ } if$ @@ -568,6 +575,8 @@ FUNCTION {shortname:hash} { templist andothers tempctrb #0 > or + ctrl.nohashothers not + and { "+" * } 'skip$ if$ @@ -580,7 +589,7 @@ FUNCTION {push:name:namehash} { 'skip$ if$ } - { ctrl.maxnames shortname:hash } + { ctrl.maxcitenames shortname:hash } if$ } @@ -903,9 +912,9 @@ FUNCTION {sortkey:name:format} { { tempctrb #1 - 'tempctrb := } 'skip$ if$ - tempctrb ctrl.maxnames > - { ctrl.minnames 'tempctrc := } - { ctrl.maxnames 'tempctrc := } + tempctrb ctrl.maxsortnames > + { ctrl.minsortnames 'tempctrc := } + { ctrl.maxsortnames 'tempctrc := } if$ "" { duplicate$ text.length$ entry.max$ #50 - < @@ -944,6 +953,8 @@ FUNCTION {sortkey:name:format} { templist andothers tempctrb #0 > or + ctrl.nosortothers not + and { delimiter.2 * "zzzz" * } 'skip$ if$ @@ -1314,6 +1325,11 @@ FUNCTION {output:write:name} { templist andothers { tempctrb #1 - 'tempctrb := "more" tempstrga * #1 output:write:bool + % not actually required, biblatex should resolve this + tempstrga push:labelname = + { "morelabelname" #1 output:write:bool } + 'skip$ + if$ } 'skip$ if$ @@ -1895,18 +1911,18 @@ FUNCTION {input:control:options} { input:control:parse str.to.int } -% This version corresponds to the .bbl version, *not* the biblatex version! +% This version corresponds to the .bcf version, *not* the biblatex version! FUNCTION {input:control:version} { input:control:parse - "$Revision: 3.0 $" + "$Revision: 3.6 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ 'tempstrga := duplicate$ tempstrga = { pop$ } - { "bbl version mismatch: biblatex.bst has " tempstrga * + { "bcf version mismatch: biblatex.bst has " tempstrga * ", but biblatex.sty has " * swap$ * warning$ - " The bbl version need not be the same as the biblatex version." + " The bcf version need not be the same as the biblatex version." top$ pop$ "" } if$ @@ -1929,8 +1945,12 @@ FUNCTION {input:control} { input:control:options 'ctrl.labeldate := input:control:options 'ctrl.singletitle := input:control:options 'ctrl.sorting := - input:control:options 'ctrl.maxnames := - input:control:options 'ctrl.minnames := + input:control:options 'ctrl.maxcitenames := + input:control:options 'ctrl.mincitenames := + input:control:options 'ctrl.maxsortnames := + input:control:options 'ctrl.minsortnames := + input:control:options 'ctrl.nohashothers := + input:control:options 'ctrl.nosortothers := input:control:options 'ctrl.maxalphanames := input:control:options 'ctrl.minalphanames := input:control:options 'ctrl.maxline := @@ -2125,9 +2145,9 @@ FUNCTION {makelabel:name:format} { { tempctrb #1 - 'tempctrb := } 'skip$ if$ - tempctrb ctrl.maxnames > - { ctrl.minnames 'tempctrc := } - { ctrl.maxnames 'tempctrc := } + tempctrb ctrl.maxcitenames > + { ctrl.mincitenames 'tempctrc := } + { ctrl.maxcitenames 'tempctrc := } if$ "" { duplicate$ text.length$ entry.max$ #50 - < @@ -2157,11 +2177,14 @@ FUNCTION {makelabel:name:format} { templist andothers tempctrb #0 > or + ctrl.nohashothers not + and { delimiter.2 * "zzzz" * } 'skip$ if$ } + FUNCTION {makelabel:name:full} { duplicate$ num.names$ #1 = { #1 @@ -2235,9 +2258,9 @@ FUNCTION {makelabel:hash:format} { { tempctrb #1 - 'tempctrb := } 'skip$ if$ - tempctrb ctrl.maxnames > - { ctrl.minnames 'tempctrc := } - { ctrl.maxnames 'tempctrc := } + tempctrb ctrl.maxcitenames > + { ctrl.mincitenames 'tempctrc := } + { ctrl.maxcitenames 'tempctrc := } if$ "" { tempctra tempctrc > not @@ -2256,6 +2279,8 @@ FUNCTION {makelabel:hash:format} { templist andothers tempctrb #0 > or + ctrl.nohashothers not + and { "+" * } 'skip$ if$ @@ -2282,6 +2307,8 @@ FUNCTION {makelabel:hash:format:full} { } while$ templist andothers + ctrl.nohashothers not + and { "+" * } 'skip$ if$ @@ -2730,7 +2757,7 @@ SORT % This version corresponds to the .bbl version, *not* the biblatex version! FUNCTION {output:main:begin} { "% $ biblatex auxiliary file $" write$ newline$ - "% $ biblatex bbl format version " "$Revision: 3.0 $" + "% $ biblatex bbl format version " "$Revision: 3.1 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ * " $" * write$ newline$ "% Do not modify the above lines!" write$ newline$ "%" write$ newline$ diff --git a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md index ed0c8706740..437b0963067 100644 --- a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md +++ b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md @@ -1,3 +1,105 @@ +# RELEASE NOTES FOR VERSION 3.13 +- **INCOMPATIBLE CHANGE** Any custom per-entry options in datasources must + be defined with `\DeclareEntryOption` in order for biber to recognise + them and pass them out in the `.bbl`. + This should not adversely affect any code using the documented + `\Decalare...Option` interface, so should be uncritical for most users. +- Add `\DeclareBiblatexOption` as a convenient interface to declare the same + option in different scopes. This should help avoid code duplication. + For example + ``` + \DeclareBibliographyOption[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} + \DeclareTypeOption[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} + \DeclareEntryOption[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} + ``` + can be replaced with + ``` + \DeclareBiblatexOption{global,type,entry}[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} + ``` +- Following the introduction of `\DeclareBiblatexOption` extend the scope + of a few options (`abbreviate`, `citetracker`, `clearlang`, `dataonly`, + `dateabbrev`, `inits`, `ibidtracker`, `idemtracker`, `labelalpha`, + `labelnumber`, `labeltitle`, `labeltitleyear`, `labeldateparts`, + `loccittracker`, `opcittracker`, `singletitle`, `skipbib`, `skipbiblist`, + `skipbiblab` `terseinits`, `uniquelist`, `uniquename`, `uniquetitle`, + `uniquebaretitle`, `uniquework`, `uniqueprimaryauthor`). +- Furthermore, the standard style options `doi`, `eprint`, `isbn`, `url`, + `related` are now available also on a per-type and per-entry level. + The same holds for `mergedate`, `subentry` and the options of `reading.bbx`. + This change has the potential to clash with custom styles that already define + the standard options at these scopes. +- Promote `@software` to regular entry type and define `@dataset`. + `@software` is aliased to the `@misc` driver, + `@dataset` has a dedicated driver. +- Add `\ifvolcite` test to check if the current citation is in a `\volcite` + context. +- Add the special fields `volcitevolume` and `volcitepages` for finer control + over the `\volcite` postnote. +- Add `\AtVolcite` hook to initialise `\volcite` commands. +- Add `\mkbibcompletename` as well as `\mkbibcompletename` + to format complete names. + The commands are analogous to `\mkbibname` but apply to + the entire name printed in format order ``. + By default the predefined macros all expand to `\mkbibcompletename`. +- Add `multiprenotedelim` and `multipostnotedelim` and make all + `(pre|post)notedelim`-like commands context sensitive. +- Add rudimentary support for `labelprefix` with BibTeX backend. + Biber implements `labelprefix` via `refcontext`s, but BibTeX does not + actually support `refcontext`s. The user interface is retained, but BibTeX's + "`refcontext`s" support only the emulation of `labelprefix` and nothing more. + There might be subtle differences between Biber's and BibTeX's + `labelprefix` behaviour, but it should be better than nothing. + If you need full `labelprefix` support, please consider switching to Biber. +- Add `\thefirstlistitem`, `\strfirstlistitem` and `\usefirstlistitem` to + grab and use the first item of a field. +- Add `\isdot` to the format for `journaltitle` so that `.`s at the end of the + `journal(title)` field are automatically treated as abbreviation dots and not + sentence-ending periods. To restore the old behaviour add + ``` + \DeclareFieldFormat{journaltitle}{\mkbibemph{#1}} + ``` + to the preamble. +- Add second optional item post processing argument to `\mkcomprange`, + `\mknormrange` and `\mkfirstpage`. It can be used to post process + every number item in the formatted range separately. It can for + example turn cardinal ranges into ordinal ranges (this is done in + the Latvian localisation module). +- Add further customisation options for strings typeset with `url`'s `\url` + command (mainly URLs and DOIs). It is now possible to add a bit of + stretchable space after characters with `biburlnumskip`, `biburlucskip` + and `biburlucskip`. The previously hard-coded (stretacheble) space + `\biburlbigskip` as well as the penalties `biburlbigbreakpenalty` and + `biburlbreakpenalty` are also configurable now. +- Add `\DeclarePrintbibliographyDefaults` to set default values for some + option keys to `\printbibliography` and friends. +- `\nocite` is now enabled in the bibliography (previously it was + deactivated in the bibliography). + Please report any issues that this may cause. +- The internals macros `\abx@aux@cite`, `\abx@aux@refcontext` + and `\abx@aux@biblist` are now called every time an entry is cite + (and appears in a bibliography or biblist, respectively). + This helps to avoid unwanted side-effects when writing to aux files + is disabled. +- `\nohyphenation` and `\textnohyphenation` now rely on a (fake) + language without hyphenation patterns instead of `\lefthyphenmin`, + which means that the command can now be used anywhere in a paragraph, + see also . + Note that switching languages with `babel` *within* those commands + removes the hyphenation protection. +- Allow `doi` field for `@online` entries. This field was previously + not printed in the `@online` driver. In case DOIs appear where + they should not appear the output of earlier versions can be + recreated with + ``` + \ExecuteBibliographyOptions[online]{doi=false} + ``` + since the `doi` option is now available on a per-type level. + + # RELEASE NOTES FOR VERSION 3.12 - **INCOMPATIBLE CHANGE** The syntax for defining data annotations in the BibLaTeXML data source format has changed to accommodate named diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf index a10f2e00ef5..d3c42f6d46c 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf and b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex index 4ad37d7f3e3..24d65dc3b71 100644 --- a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex +++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex @@ -28,10 +28,7 @@ } \KOMAoptions{numbers=noenddot} \addtokomafont{title}{\sffamily} -\addtokomafont{paragraph}{\spotcolor} -\addtokomafont{section}{\spotcolor} -\addtokomafont{subsection}{\spotcolor} -\addtokomafont{subsubsection}{\spotcolor} +\addtokomafont{disposition}{\spotcolor} \addtokomafont{descriptionlabel}{\spotcolor} \setkomafont{caption}{\bfseries\sffamily\spotcolor} \setkomafont{captionlabel}{\bfseries\sffamily\spotcolor} @@ -39,15 +36,22 @@ \pretocmd{\bibfield}{\sloppy}{}{} \pretocmd{\bibtype}{\sloppy}{}{} \makeatletter -\patchcmd{\paragraph} - {3.25ex \@plus1ex \@minus.2ex}{-3.25ex\@plus -1ex \@minus -.2ex}{}{} -\patchcmd{\paragraph}{-1em}{1.5ex \@plus .2ex}{}{} +\RedeclareSectionCommand[% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% +]{paragraph} +\RedeclareSectionCommand[% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + indent=\z@,% +]{subparagraph} \makeatother \MakeAutoQuote{«}{»} \MakeAutoQuote*{<}{>} \MakeShortVerb{\|} +\newcommand*{\allowbreakhere}{\discretionary{}{}{}} + \newcommand*{\biber}{\sty{biber}\xspace} \newcommand*{\biblatex}{\sty{biblatex}\xspace} \newcommand*{\biblatexml}{\sty{biblatexml}\xspace} @@ -58,9 +62,9 @@ title={The \biblatex Package}, subtitle={Programmable Bibliographies and Citations}, url={\biblatexhome}, - author={Philipp Lehman \\(with Philip Kime, Moritz Wemheuer, Audrey Boruvka and Joseph Wright)}, + author={Philip Kime, Moritz Wemheuer, Philipp Lehman}, email={}, - revision={3.12}, + revision={3.13}, date={\today}} \hypersetup{% @@ -136,6 +140,17 @@ \leavevmode\marginpar{\CSdelim}} +\newcommand*{\seestyleexample}[1]{% + \leavevmode + \marginpar{% + \raggedright + \footnotesize + Style example:\\ + \href{file:examples/#1.pdf}{local}, + \href{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/examples/#1.pdf} + {online}.}% + \ignorespaces} + % following snippet is based on code by Michael Ummels (TeX Stack Exchange) % \makeatletter @@ -177,7 +192,14 @@ Please use the \biblatex project page on GitHub to report bugs and submit featur \subsection{Acknowledgements} -The language modules of this package are made possible thanks to the following contributors: +The package was originally written by Philipp Lehman and much of his excellent +original code remains in the core. Philip Kime took over the package in +2012 with Moritz Wemheuer making regular and valuable contributions from 2017. +The main authors would like to acknowledge the valuable help of Audrey +Boruvka and Joseph Wright who helped with the transition of ownership in +2012 and following years. + +The language modules of this package are made possible thanks to the following contributors:\\ Augusto Ritter Stoffel, Mateus Araújo, Gustavo Barros (Brazilian); Kaloyan Ganev (Bulgarian); Sebastià Vila-Marta (Catalan); @@ -248,6 +270,8 @@ The packages listed in this section are not required for \biblatex to function, \item[babel/polyglossia] The \sty{babel} and \sty{polyglossia} packages provides the core architecture for multilingual typesetting. If you are writing in a language other than American English, using one of these packages is strongly recommended. You should load \sty{babel} or \sty{polyglossia} before \biblatex and then \biblatex will detect \sty{babel} or \sty{polyglossia} automatically. +Please note that \biblatex can only detect the language (\eg \texttt{english}, \texttt{german}), but not the language variant (\eg \texttt{british}, \texttt{austrian}) and other properties (\eg \texttt{spelling=new} for \texttt{german}) when used with \sty{polyglossia}. To remind you of these shortcomings \biblatex will issue a warning message when it is loaded together with \sty{polyglossia}, the warning message tells you how to silence it should you want to do so. + \item[csquotes] If this package is available, \biblatex will use its language sensitive quotation facilities to enclose certain titles in quotation marks. If not, \biblatex uses quotes suitable for American English as a fallback. When writing in a language other than American English, loading \sty{csquotes} is strongly recommended.\fnurl{http://ctan.org/pkg/csquotes/} @@ -358,6 +382,8 @@ compatibility matrix for the recent versions. \sffamily\bfseries\spotcolor Biber version & \sffamily\bfseries\spotcolor \biblatex\ version\\ \midrule +2.13 & 3.13\\ +2.12 & 3.12\\ 2.11 & 3.11\\ 2.10 & 3.10\\ 2.9 & 3.9\\ @@ -411,6 +437,8 @@ This section gives an overview of the entry types supported by the default \bibl The lists below indicate the fields supported by each entry type. Note that the mapping of fields to an entry type is ultimately at the discretion of the bibliography style. The lists below therefore serve two purposes. They indicate the fields supported by the standard styles which come with this package and they also serve as a model for custom styles. Note that the fields are not strictly required in all cases, see \secref{bib:use:key} for details. The fields marked as are optional in a technical sense. Bibliographical formatting rules usually require more than just the fields. The default data model defined a few constraints for the format of date fields, ISBNs and some special fields like \bibfield{gender} but the constraints are only used if validating against the data model with \biber's \opt{--validate-datamodel} option. Generic fields like \bibfield{abstract} and \bibfield{annotation} or \bibfield{label} and \bibfield{shorthand} are not included in the lists below because they are independent of the entry type. The special fields discussed in \secref{bib:fld:spc}, which are also independent of the entry type, are not included in the lists either. See the default data model specification in the file \file{blx-dm.def} which comes with \biblatex for a complete specification. +The relation referred to in this subsection is the defined with \cmd{DeclareBibliographyAlias}. That means that the alias will use the same bibliography driver as the type it is aliased to, but that its type-specific formatting is still handled independently of the aliased type. + \begin{typelist} \typeitem{article} @@ -481,6 +509,13 @@ A contribution to a collection which forms a self"=contained unit with a distinc Supplemental material in a \bibtype{collection}. This type is similar to \bibtype{suppbook} but related to the \bibtype{collection} entry type. The standard styles will treat this entry type as an alias for \bibtype{incollection}. +\typeitem{dataset} + +A data set or a similar collection of (mostly) raw data. + +\reqitem{author/editor, title, year/date} +\optitem{subtitle, titleaddon, language, edition, type, series, number, version, note, organization, publisher, location, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} + \typeitem{manual} Technical or other documentation, not necessarily in printed form. The \bibfield{author} or \bibfield{editor} is omissible in terms of \secref{bib:use:key}. @@ -499,8 +534,8 @@ A fallback type for entries which do not fit into any other category. Use the fi An online resource. \bibfield{author}, \bibfield{editor}, and \bibfield{year} are omissible in terms of \secref{bib:use:key}. This entry type is intended for sources such as web sites which are intrinsically online resources. Note that all entry types support the \bibfield{url} field. For example, when adding an article from an online journal, it may be preferable to use the \bibtype{article} type and its \bibfield{url} field. -\reqitem{author/editor, title, year/date, url} -\optitem{subtitle, titleaddon, language, version, note, organization, month, addendum, pubstate, doi, eprint, eprintclass, eprinttype, urldate} +\reqitem{author/editor, title, year/date, doi/eprint/url} +\optitem{subtitle, titleaddon, language, version, note, organization, month, addendum, pubstate, eprintclass, eprinttype, urldate} \typeitem{patent} @@ -564,6 +599,10 @@ A technical report, research report, or white paper published by a university or An entry set. This entry type is special, see \secref{use:use:set} for details. +\typeitem{software} + +Computer software. The standard styles will treat this entry type as an alias for \bibtype{misc}. + \typeitem{thesis} A thesis written for an educational institution to satisfy the requirements for a degree. Use the \bibfield{type} field to specify the type of thesis. @@ -584,14 +623,14 @@ This entry type is special. \bibtype{xdata} entries hold data which may be inher \typeitem{custom[a--f]} -Custom types for special bibliography styles. The standard styles defined no bibliography drivers for these types. +Custom types for special bibliography styles. The standard styles defined no bibliography drivers for these types and will fall back to using the driver for \bibtype{misc}. \end{typelist} \subsubsection{Type Aliases} \label{bib:typ:als} -The entry types listed in this section are provided for backwards compatibility with traditional \bibtex styles. These aliases are resolved by the backend as the data is processed. Bibliography styles will see the entry type the alias points to, not the alias name. All unknown entry types are generally exported as \bibtype{misc}. +The entry types listed in this section are provided for backwards compatibility with traditional \bibtex styles. These aliases are resolved by the backend as the data is processed. Bibliography styles will see the entry type the alias points to, not the alias name. This is unlike the relation in the previous subsection. The relevant mappings for the \opt{bibtex} driver can be found in~\secref{apx:maps:bibtex}. \begin{typelist} @@ -670,10 +709,6 @@ Musical and theatrical performances as well as other works of the performing art Reviews of some other work. This is a more specific variant of the \bibtype{article} type. The standard styles will treat this entry type as an alias for \bibtype{article}. -\typeitem{software} - -Computer software. - \typeitem{standard} National and international standards issued by a standards body such as the International Organization for Standardization. @@ -715,7 +750,7 @@ The supported list of name parts is defined as a constant list in the default da \item[Literal lists] in the strict sense are handled as described above. The individual items are simply printed as is. Typical examples of such literal lists are \bibfield{publisher} and \bibfield{location}. -\item[Key lists] are a variant of literal lists which may hold printable data or localisation keys. For each item in the list, a test is performed to determine whether it is a known localisation key (the localisation keys defined by default are listed in \secref{aut:lng:key}). If so, the localised string is printed. If not, the item is printed as is. A typical example of a key list is \bibfield{language}. +\item[Key lists] are a variant of literal lists which may hold printable data or localisation keys. For each item in the list, styles should perform a test to determine whether it is a known localisation key (the localisation keys defined by default are listed in \secref{aut:lng:key}). If so, the localised string should be printed. If not, the item should be printed as is. The standard styles are set up to exhibit this behaviour for all key lists listed below. New key lists do not automatically perform this test, it has to be implemented explicitly via the list format. A typical example of a key list is \bibfield{language}. \end{description} \end{description} @@ -744,7 +779,7 @@ The supported list of name parts is defined as a constant list in the default da \item[Pattern fields] A literal field which must match a particular pattern. An example is the \bibfield{gender} field from \secref{bib:fld:spc}. -\item[Key fields] May hold printable data or localisation keys. A test is performed to determine whether the value of the field is a known localisation key (the localisation keys defined by default are listed in \secref{aut:lng:key}). If so, the localised string is printed. If not, the value is printed as is. A typical example is the \bibfield{type} field. +\item[Key fields] May hold printable data or localisation keys. Styles should perform a test to determine whether the value of the field is a known localisation key (the localisation keys defined by default are listed in \secref{aut:lng:key}). If so, the localised string should be printed. If not, the value should be printed as is. The standard styles are set up to handle all key fields listed below in that way. New key fields do not automatically perform the test, it has to be enabled explicitly in the field format. A typical example is the \bibfield{type} field. \item[Code fields] Holds \tex code. @@ -818,7 +853,7 @@ The author(s) of a commentary to the work. Note that this field is intended for \fielditem{date}{date} -The publication date. See also \bibfield{month} and \bibfield{year} as well as \secref{bib:use:dat}. +The publication date. See also \bibfield{month} and \bibfield{year} as well as \secref{bib:use:dat,bib:use:yearordate}. \fielditem{doi}{verbatim} @@ -862,7 +897,7 @@ Similar to \bibfield{editortype} but referring to the \bibfield{editorc} field. \fielditem{eid}{literal} -The electronic identifier of an \bibtype{article}. +The electronic identifier of an \bibtype{article}. This field may replace the \bibfield{pages} field for journals deviating from the classic pagination scheme of printed journals by only enumerating articles or papers and not pages. \fielditem{entrysubtype}{literal} @@ -942,7 +977,7 @@ The International Standard Serial Number of a periodical. \fielditem{issue}{literal} -The issue of a journal. This field is intended for journals whose individual issues are identified by a designation such as or rather than the month or a number. The placement of \bibfield{issue} is similar to \bibfield{month} and \bibfield{number}, integer ranges and short designators are better written to the \bibfield{number} field. See also \bibfield{month}, \bibfield{number}, and \secref{bib:use:iss}. +The issue of a journal. This field is intended for journals whose individual issues are identified by a designation such as or rather than the month or a number. The placement of \bibfield{issue} is similar to \bibfield{month} and \bibfield{number}. Integer ranges and short designators are better written to the \bibfield{number} field. See also \bibfield{month}, \bibfield{number} and \secref{bib:use:iss, bib:use:issnum}. \fielditem{issuesubtitle}{literal} @@ -996,7 +1031,7 @@ An annex to the \bibfield{maintitle}, to be printed in a different font. The publication month. This must be an integer, not an ordinal or a string. Don't say |month={January}| but |month={1}|. The bibliography style converts this to a language dependent string or ordinal where required. This field is a literal field only when given explicitly in the data (for plain \bibtex compatibility for example). It is -however better to use the \bibfield{date} field as this supports many more features. See \secref{bib:use:dat}. +however better to use the \bibfield{date} field as this supports many more features. See \secref{bib:use:dat,bib:use:yearordate}. \fielditem{nameaddon}{literal} @@ -1008,7 +1043,9 @@ Miscellaneous bibliographic data which does not fit into any other field. The \b \fielditem{number}{literal} -The number of a journal or the volume\slash number of a book in a \bibfield{series}. See also \bibfield{issue} as well as \secref{bib:use:ser, bib:use:iss}. With \bibtype{patent} entries, this is the number or record token of a patent or patent request. Normally this field will be an integer or an integer range, but in certain cases it may also contain «S1», «Suppl.\ 1», in these cases the output should be scrutinised carefully. +The number of a journal or the volume\slash number of a book in a \bibfield{series}. See also \bibfield{issue} as well as \secref{bib:use:ser, bib:use:iss, bib:use:issnum}. With \bibtype{patent} entries, this is the number or record token of a patent or patent request. Normally this field will be an integer or an integer range, but it may also be a short designator that is not entirely numeric such as «S1», «Suppl.\ 2», «3es». In these cases the output should be scrutinised carefully. + +Since \bibfield{number} is---maybe counterintuitively given its name---a literal field, sorting templates will not treat its contents as integers, but as literal strings, which means that «11» may sort between «1» and «2». If integer sorting is desired, the field can be declared an integer field in a custom data model (see \secref{aut:ctm:dm}). But then the sorting of non-integer values is not well defined. \listitem{organization}{literal} @@ -1036,7 +1073,7 @@ If the work is a translation, the \bibfield{title} of the original work. Not use \fielditem{pages}{range} -One or more page numbers or page ranges. If the work is published as part of another one, such as an article in a journal or a collection, this field holds the relevant page range in that other work. It may also be used to limit the reference to a specific part of a work (a chapter in a book, for example). +One or more page numbers or page ranges. If the work is published as part of another one, such as an article in a journal or a collection, this field holds the relevant page range in that other work. It may also be used to limit the reference to a specific part of a work (a chapter in a book, for example). For papers in electronic journals with a non-classical pagination setup the \bibfield{eid} field may be more suitable. \fielditem{pagetotal}{literal} @@ -1143,7 +1180,7 @@ The total number of volumes of a multi"=volume work. Depending on the entry type The year of publication. This field is a literal field only when given explicitly in the data (for plain \bibtex compatibility for example). It is however better to use the \bibfield{date} field as this is compatible with -plain years too and supports many more features. See \secref{bib:use:dat}. +plain years too and supports many more features. See \secref{bib:use:dat,bib:use:yearordate}. \end{fieldlist} @@ -1400,7 +1437,7 @@ This package includes some compatibility code for \file{bib} files which were ge \item The fields \bibfield{institution}, \bibfield{organization}, and \bibfield{publisher} as well as the aliases \bibfield{address} and \bibfield{school}. See \secref{bib:fld:dat, bib:fld:als, bib:use:and} for details. \item The handling of certain types of titles. See \secref{bib:use:ttl} for details. \item The field \bibfield{series}. See \secref{bib:fld:dat, bib:use:ser} for details. -\item The fields \bibfield{year} and \bibfield{month}. See \secref{bib:fld:dat, bib:use:dat, bib:use:iss} for details. +\item The fields \bibfield{year} and \bibfield{month}. See \secref{bib:fld:dat, bib:use:dat, bib:use:yearordate, bib:use:iss} for details. \item The field \bibfield{edition}. See \secref{bib:fld:dat} for details. \item The field \bibfield{key}. See \secref{bib:use:key} for details. \end{itemize} @@ -1723,11 +1760,21 @@ The output of , uncertainty and era information in standard styles (or cu \label{bib:use:tab2} \end{table} +\subsubsection{Year, Month and Date} +\label{bib:use:yearordate} + +The fields \bibfield{year} and \bibfield{month} are still supported by \biblatex, but the full set of date features (day and time precision, ranges, \dots) can only be used with \bibfield{date}. It is therefore recommended to prefer \bibfield{date} over \bibfield{year} and \bibfield{month} unless backwards compatibility of the \file{bib} file with classical \bibtex is required. + \subsubsection{Months and Journal Issues} \label{bib:use:iss} The \bibfield{month} field is an integer field. The bibliography style converts the month to a language"=dependent string as required. For backwards compatibility, you may also use the following three"=letter abbreviations in the \bibfield{month} field: \texttt{jan}, \texttt{feb}, \texttt{mar}, \texttt{apr}, \texttt{may}, \texttt{jun}, \texttt{jul}, \texttt{aug}, \texttt{sep}, \texttt{oct}, \texttt{nov}, \texttt{dec}. Note that these abbreviations are \bibtex strings which must be given without any braces or quotes. When using them, don't say |month={jan}| or |month="jan"| but |month=jan|. It is not possible to specify a month such as |month={8/9}|. Use the \bibfield{date} field for date ranges instead. Quarterly journals are typically identified by a designation such as or which should be given in the \bibfield{issue} field. The placement of the \bibfield{issue} field in \bibtype{article} entries is similar to and overrides the \bibfield{month} field. +\subsubsection{Journal Numbers and Issues} +\label{bib:use:issnum} + +The words and are often used synonymously by journals to refer to the subdvision of a \bibfield{volume}. The fact that \biblatex's data model has fields of both names can sometimes lead to confusion about which field should be used. First and foremost the word that the journal uses for the subdivsion of a \bibfield{volume} should be of minor importance, what matters is the role in the data model. As a rule of thumb \bibfield{number} is the right field in most circumstances. In the standard styles \bibfield{number} modifies \bibfield{volume}, whereas \bibfield{issue} modifies the date (year) of the entry. Numeric identifiers and short designators that are not necessarily (entirely) numeric such as , , , , <4es> would go into the \bibfield{number} field, because they usually modify the \bibfield{volume}. The output of---especially longer---non-numeric input for \bibfield{number} should be checked since it could potentially look odd with some styles. The field \bibfield{issue} can be used for designations such as , or if that is commonly used to refer to the journal. + \subsubsection{Pagination} \label{bib:use:pag} @@ -2031,10 +2078,6 @@ This option corresponds to \biber's \opt{--sortupper} command-line option. If en This option sets the global sorting locale. Every sorting template inherits this locale if none is specified using the \prm{locale} option to \cmd{printbibliography}. Setting this to \opt{auto} requests that it be set to the \sty{babel}/\sty{polyglossia} main document language identifier, if these packages are used and \texttt{en\_US} otherwise. \biber will map \sty{babel}/\sty{polyglossia} language identifiers into sensible locale identifiers (see the \biber documentation). You can therefore specify either a normal locale identifier like \texttt{de\_DE\_phonebook}, \texttt{es\_ES} or one of the supported \sty{babel}/\sty{polyglossia} language identifiers if the mapping \biber makes of this is fine for you. -\boolitem[true]{related} - -Whether or not to use information from related entries or not. See \secref{use:rel}. - \boolitem[false]{sortcites} Whether or not to sort citations if multiple entry keys are passed to a citation command. If this option is enabled, citations are sorted according to the current bibliography context sorting template (see \secref{use:bib:context}). This feature works with all citation styles. @@ -2094,11 +2137,12 @@ This option controls whether the citation commands scan ahead for punctuation ma \optitem[autobib]{language}{\opt{autobib}, \opt{autocite}, \opt{auto}, \prm{language}} -This option controls multilingual support. By default \biblatex automatically picks up the active surrounding language from the \sty{babel}/\sty{polyglossia} package (and fall back to English if \sty{babel}/\sty{polyglossia} is not available). \opt{autobib} switches the language for each entry in the bibliography using the \bibfield{langid} field and the language environment specified by the \opt{autolang} option. \opt{autocite} switches the language for each citation using the \bibfield{langid} field and the language environment specified by the \opt{autolang} option. \opt{auto} is a shorthand to set both \opt{autobib} and \opt{autocite}. It is also possible to select the package language manually. In this case, the language chosen will override the \bibfield{langid} of entries and you should still choose a language switching environment with the \opt{autolang} option to select how the switch to the manually chosen language is handled. Please refer to \tabref{bib:fld:tab1} for a list of supported languages and the corresponding identifiers. +This option controls multilingual support. By default \biblatex automatically picks up the active surrounding language from the \sty{babel}/\sty{polyglossia} package\footnote{Note that \biblatex can only detect the base language (\eg \texttt{english}), but not the language variant (\eg \texttt{british}) or other properties (\eg \texttt{spelling=new} for \texttt{german}) from \sty{polyglossia}. That means that the \biblatex localisation of the base language is used for all variants, even for variants whose <\sty{babel} equivalent> has a localisation of its own. To remind you of these shortcomings a warning will be issued if \biblatex is used with \sty{polyglossia}, the warning explains how it can be disabled.} (and fall back to English if \sty{babel}/\sty{polyglossia} is not available). \opt{autobib} switches the language for each entry in the bibliography using the \bibfield{langid} field and the language environment specified by the \opt{autolang} option. \opt{autocite} switches the language for each citation using the \bibfield{langid} field and the language environment specified by the \opt{autolang} option. \opt{auto} is a shorthand to set both \opt{autobib} and \opt{autocite}. It is also possible to select the package language manually. In this case, the language chosen will override the \bibfield{langid} of entries and you should still choose a language switching environment with the \opt{autolang} option to select how the switch to the manually chosen language is handled. Please refer to \tabref{bib:fld:tab1} for a list of supported languages and the corresponding identifiers. \boolitem[true]{clearlang} If this option is enabled, \biblatex will automatically clear the \bibfield{language} field of all entries whose language matches the \sty{babel}/\sty{polyglossia} language of the document (or the language specified explicitly with the \opt{language} option) in order to omit redundant language specifications. The language mappings required by this feature are provided by the \cmd{DeclareRedundantLanguages} command from \secref{aut:lng:cmd}. +This option is also settable on a per-type and per-entry basis. \optitem[none]{autolang}{\opt{none}, \opt{hyphen}, \opt{other}, \opt{other*}, \opt{langname}} @@ -2253,15 +2297,17 @@ This option automatically executes the \cmd{citereset} command from \secref{use: \item[none] Disable this feature. \item[part] Perform a reset at every \cmd{part} command. \item[chapter] Perform a reset at every \cmd{chapter} command. +\item[chapter+] Perform a reset at every \cmd{chapter} and \cmd{part} command. \item[section] Perform a reset at every \cmd{section} command. +\item[section+] Perform a reset at every \cmd{section}, \prm{chapter} (if supported by the class) and \cmd{part} command. \item[subsection] Perform a reset at every \cmd{subsection} command. +\item[subsection+] Perform a reset at every \cmd{subsection}, \cmd{section}, \prm{chapter} (if supported by the class) and \cmd{part} command. \end{valuelist} -% -The starred versions of these commands will not trigger a reset. \boolitem[true]{abbreviate} Whether or not to use long or abbreviated strings in citations and in the bibliography. This option affects the localisation modules. If this option is enabled, key terms such as are abbreviated. If not, they are written out. +This option is also settable on a per-type or per-entry basis. \optitem[comp]{date}{\opt{year}, \opt{short}, \opt{long}, \opt{terse}, \opt{comp}, \opt{ymd}, \opt{iso}} @@ -2338,6 +2384,7 @@ This option controls whether seconds are printed when printing times. \boolitem[true]{dateabbrev} This option controls whether \texttt{long} and \texttt{comp} dates are printed with long or abbreviated month/season names. The option is similar to the generic \opt{abbreviate} option but specific to the date formatting. +This option is also settable on a per-type and per-entry basis. \boolitem[false]{datecirca} @@ -2475,7 +2522,7 @@ As \opt{mincrossrefs} but for \bibfield{xref} fields. \paragraph{Style-specific} \label{use:opt:pre:bbx} -The following options are provided by the standard styles (as opposed to the core package). Technically, they are preamble options like those in \secref{use:opt:pre:gen}. +The following options are provided by all standard bibliography styles (as opposed to the core package). The options are available as preamble options like those in \secref{use:opt:pre:gen} and at a per-type and per-entry scope. \begin{optionlist} @@ -2495,8 +2542,100 @@ This option controls whether the field \bibfield{doi} is printed. This option controls whether \bibfield{eprint} information is printed. +\boolitem[true]{related} + +Whether to use information from related entries or not. See \secref{use:rel}. + +\end{optionlist} + +\subparagraph{\texttt{alphabetic}/\texttt{numeric}} Additionally, styles of the \texttt{alphabetic} and \texttt{numeric} family support the \opt{subentry} option in global, per-type and per-entry scope. + +\begin{optionlist} + +\boolitem[false]{subentry} + +This option affects the handling of citations to set members and the display of sets in the bibliography. If the option is enabled, citations to individual set members feature an additional letter that identifies the member, that letter is also printed in the bibliography. If the option is disabled, a citation to the member of a set will display just as a citation to the entire set and there will be no additional letters in the bibliography entries enumerating the members. + +Suppose \texttt{key1} and \texttt{key2} are members of the set \texttt{set1}. With \opt{subentry} set to \texttt{true} in a numeric style a citation to \texttt{key1} will show as <[1a]> and a citation to \texttt{key2} as <[1b]>, while the entire set \texttt{set1} will be cited as <[1]>. Furthermore <(a)> and <(b)> will be added in front of the entry data for the set members in the bibliography entry for the set. With \opt{subentry} set to \texttt{false} citations to all three keys will show as <[1]>, no additional letter will be printed in the bibliography. + +\end{optionlist} + +\subparagraph{\texttt{authortitle}/\texttt{authoryear}} All bibliography styles of the \texttt{authoryear} and \texttt{authortitle} family as well as all bibliography styles of the \texttt{verbose} family---whose bibliography styles are based on \texttt{authortitle}---support the option \opt{dashed} in global scope. + +\begin{optionlist} + +\boolitem[true]{dashed} + +This option controls whether recurrent the same author\slash editor list in the bibliography are replaced by a dash (\cmd{bibnamdeash}, see \secref{use:fmt:fmt}). If the option is enabled, subsequent mentions of the same name list at the beginning of an entry are replaced by a dash provided the entry is not the first on the current page. If the option is disabled, name lists are never replaced by a dash. + +\end{optionlist} + +\subparagraph{\texttt{authoryear}} Bibliography styles of the \texttt{authoryear} family provide the option \opt{mergedate} in global, per-type and per-entry scope. + +\begin{optionlist} + +\optitem[true]{mergedate}{\opt{false}, \opt{minimum}, \opt{basic}, \opt{compact}, \opt{maximum}, \opt{true}} + +This option controls whether and how the date specification in the entry is merged with the date label shown directly after the author\slash editor list. + +\begin{valuelist} +\item[false] Strictly separate the date specification shown in the entry (styled with \opt{date}) from the date label (styled with \opt{labeldate}). The date will always be shown twice. +\item[minimum] Omit the date specification whenever it coincides \emph{exactly}---including \bibfield{extradate} information---with the output of the date label. +\item[basic] Similar to \opt{minimum}, but the date specification will also be omitted if it differs from the date label only by the absence of the \bibfield{extradate} letter. +\item[compact] Merges all date specifications with the date label. The date format of that merged date label is controlled by \opt{date}, not \opt{labeldate}, even if it is printed in the position of the date label. The \bibfield{issue} field is not merged. +\item[maximum] Like \opt{compact}, but if present the \bibfield{issue} field will also be moved into the date label at the beginning of the entry. +\item[true] An alias for \opt{compact}. +\end{valuelist} + +More in-depth examples of this option can be found in the style examples. +\end{optionlist} + +\subparagraph{ styles} Citation styles with function, namely \texttt{authortitle-ibid}, \texttt{author\allowbreakhere title-icomp}, \texttt{author\allowbreakhere year-ibid}, \texttt{authoryear-icomp}, \texttt{ver\allowbreakhere bose-ibid}, \texttt{verbose-inote}, \texttt{verbose-trad1}, \texttt{verbose-trad2} and \texttt{verbose-trad3} provide the global \opt{ibidpage} option. + +\begin{optionlist} + +\boolitem[false]{ibidpage} + +Whether \emph{ibidem} without page reference means or . If set to \texttt{true} a page range postnote will be suppressed in an \emph{ibidem} citation if the last citation was to the same page range. With \texttt{ibidpage=false} the postnote is not omitted. Citations to different page ranges than the previous always produce the page ranges with either setting. + +\end{optionlist} + +\subparagraph{\texttt{verbose}} All citation styles of the \texttt{verbose} family provide the global option \opt{citepages}. + +\begin{optionlist} + +\optitem[permit]{citepages}{\opt{permit}, \opt{suppress}, \opt{omit}, \opt{separate}} + +This option controls the output of the \bibfield{page}\slash\bibfield{pagetotal} field in the full citation in combination with a postnote containing a page range. The option can be used to suppress references to two page ranges in full citations like the following + +\begin{quote} +Author. \enquote{Title.} In: \emph{Book,} pp.\,100--150, p.\,125. +\end{quote} + +Here is the \bibfield{postnote} argument and is the value of the \bibfield{pages} field. + +\begin{valuelist} +\item[permit] Allow duplication of page specifications, i.e.\ print both \bibfield{page}\slash\bibfield{pagetotal} and \bibfield{postnote}. +\item[suppress] Unconditionally suppress the \bibfield{pages}\slash \bibfield{pagetotal} fields in citations, regardless of the \bibfield{postnote}. +\item[omit] Suppress the \bibfield{pages}\slash \bibfield{pagetotal} if the \bibfield{postnote} contains a page range. They are still printed if there is no \bibfield{postnote} or if the \bibfield{postnote} is not a number or range. +\item[separate] Separate the \bibfield{pages}\slash \bibfield{pagetotal} from the \bibfield{postnote} if the latter contains a page range. The string \texttt{thiscite} is added to separate the two page ranges. +\end{valuelist} + +\end{optionlist} + +\subparagraph{\texttt{verbose-trad}} The citation styles of the \texttt{verbose-trad} family support the global option \opt{strict}. + +\begin{optionlist} + +\boolitem[false]{strict} + +This option allows to restrict the use of the scholarly abbreviations and to avoid ambiguities. If the option is set to \texttt{true} these terms will only be used if the relevant work was cited in the same or previous footnote. + \end{optionlist} +\subparagraph{\texttt{reading}} The \texttt{reading} style supports a number of additional options, but these are not of general interest and can be found in the style example. + + \paragraph{Internal} \label{use:opt:pre:int} @@ -2540,6 +2679,7 @@ This option controls the citation tracker which is required by the \cmd{ifcitese \end{valuelist} Note that this tracker is disabled in all floats, see \secref{aut:cav:flt}. +This option is also settable on a per-type or per-entry basis. \optitem[false]{ibidtracker}{\opt{true}, \opt{false}, \opt{context}, \opt{strict}, \opt{constrict}} @@ -2554,6 +2694,7 @@ This option controls the tracker which is required by the \cmd{ifciteib \end{valuelist} Note that this tracker is disabled in all floats, see \secref{aut:cav:flt}. +This option is also settable on a per-type or per-entry basis. \optitem[false]{opcittracker}{\opt{true}, \opt{false}, \opt{context}, \opt{strict}, \opt{constrict}} @@ -2568,6 +2709,7 @@ This option controls the tracker which is required by the \cmd{ifopcit} \end{valuelist} Note that this tracker is disabled in all floats, see \secref{aut:cav:flt}. +This option is also settable on a per-type or per-entry basis. \optitem[false]{loccittracker}{\opt{true}, \opt{false}, \opt{context}, \opt{strict}, \opt{constrict}} @@ -2582,6 +2724,7 @@ This option controls the tracker which is required by the \cmd{ifloccit \end{valuelist} Note that this tracker is disabled in all floats, see \secref{aut:cav:flt}. +This option is also settable on a per-type or per-entry basis. \optitem[false]{idemtracker}{\opt{true}, \opt{false}, \opt{context}, \opt{strict}, \opt{constrict}} @@ -2596,6 +2739,7 @@ This option controls the tracker which is required by the \cmd{ifciteidem \end{valuelist} Note that this tracker is disabled in all floats, see \secref{aut:cav:flt}. +This option is also settable on a per-type or per-entry basis. \boolitem[true]{parentracker} @@ -2607,16 +2751,22 @@ The maximum permitted nesting level of parentheses and brackets. If parentheses \boolitem[false]{$<$namepart$>$inits} -When enabled, all $<$namepart$>$ name parts will be rendered as initials. The option will affect the \cmd{if$<$namepart$>$inits} test from \secref{aut:aux:tst}. The valid name parts are defined in the data model by the \cmd{DeclareDatamodelConstant} command (\secref{aut:bbx:drv}). +The option sets the \cmd{if$<$namepart$>$inits} test from \secref{aut:aux:tst}. \texttt{$<$namepart$>$} is any valid name part as defined in the data model by the \cmd{DeclareDatamodelConstant} command (\secref{aut:bbx:drv}). For the given name, for example, the option becomes \opt{giveninits}. +This option is also settable on a per-type, per-entry, per-name and per-namelist basis. + +If \opt{giveninits} is set to \opt{true}, the default name formats will only render the given name initials and not the full given name. The standard styles only use the test \cmd{ifgiveninits} and hence only respond to the option \opt{giveninits}. Setting the option for a name part different from \texttt{given} has no effect on the default name formats. + +Note that sorting and name uniqueness are not automatically affected by this option, that have to be requested explicitly via \cmd{DeclareSortingNamekeyTemplate} and the \opt{uniquename} option (or \cmd{DeclareUniquenameTemplate}), respectively. A warning will be issued if \opt{giveninits} is used together with \opt{uniquename} set to one of the \opt{full} values and \opt{uniquename} is automatically set to the corresponding \opt{init} value. \boolitem[false]{terseinits} This option controls the format of all initials generated by \biblatex. If enabled, initials are rendered using a terse format without dots and spaces. For example, the initials of Donald Ervin Knuth would be rendered as by default, and as if this option is enabled. The option will affect the \cmd{ifterseinits} test from \secref{aut:aux:tst}. The option works by redefining some macros which control the format of initials. See \secref{use:cav:nam} for details. +This option is also settable on a per-type, per-entry, per-name and per-namelist basis. \boolitem[false]{labelalpha} Whether or not to provide the special fields \bibfield{labelalpha} and \bibfield{extraalpha}, see \secref{aut:bbx:fld} for details. -This option is also settable on a per-type basis. See also \opt{maxalphanames} and \opt{minalphanames}. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. +This option is also settable on a per-type and per-entry basis. See also \opt{maxalphanames} and \opt{minalphanames}. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. \intitem[3]{maxalphanames} @@ -2629,7 +2779,7 @@ Similar to the \opt{minnames} option but customizes the format of the \bibfield{ \boolitem[false]{labelnumber} Whether or not to provide the special field \bibfield{labelnumber}, see \secref{aut:bbx:fld} for details. -This option is also settable on a per-type basis. +This option is also settable on a per-type and per-entry basis. \boolitem[false]{noroman} @@ -2639,16 +2789,16 @@ This option is also settable on a per-type and per-entry basis. \boolitem[false]{labeltitle} -Whether or not to provide the special field \bibfield{extratitle}, see \secref{aut:bbx:fld} for details. Note that the special field \bibfield{labeltitle} is always provided and this option controls rather whether \bibfield{labeltitle} is used to generate \bibfield{extratitle} information. This option is also settable on a per-type basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. +Whether or not to provide the special field \bibfield{extratitle}, see \secref{aut:bbx:fld} for details. Note that the special field \bibfield{labeltitle} is always provided and this option controls rather whether \bibfield{labeltitle} is used to generate \bibfield{extratitle} information. This option is also settable on a per-type and per-entry basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. \boolitem[false]{labeltitleyear} -Whether or not to provide the special field \bibfield{extratitleyear}, see \secref{aut:bbx:fld} for details. Note that the special field \bibfield{labeltitle} is always provided and this option controls rather whether \bibfield{labeltitle} is used to generate \bibfield{extratitleyear} information. This option is also settable on a per-type basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. +Whether or not to provide the special field \bibfield{extratitleyear}, see \secref{aut:bbx:fld} for details. Note that the special field \bibfield{labeltitle} is always provided and this option controls rather whether \bibfield{labeltitle} is used to generate \bibfield{extratitleyear} information. This option is also settable on a per-type and per-entry basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. \boolitem[false]{labeldateparts} Whether or not to provide the special fields \bibfield{labelyear}, \bibfield{labelmonth}, \bibfield{labelday}, \bibfield{labelendyear}, \bibfield{labelendmonth}, \bibfield{labelendday}, \bibfield{labelhour}, \bibfield{labelendhour}, \bibfield{labelminute}, \bibfield{labelendminute}, \bibfield{labelsecond}, \bibfield{labelendsecond}, \bibfield{labelseason}, \bibfield{labelendseason}, \bibfield{labeltimezone}, \bibfield{labelendtimeone} and \bibfield{extradate}, see \secref{aut:bbx:fld} for details. -This option is also settable on a per-type basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. +This option is also settable on a per-type and per-entry basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track. \begin{table} \footnotesize @@ -2673,31 +2823,32 @@ uniquework & \cmd{ifuniquework} & labelname+labeltitle\\ \boolitem[false]{singletitle} Whether or not to provide the data required by the \cmd{ifsingletitle} test, see \secref{aut:aux:tst} for details. See \tabref{use:opt:wu} for details on what determines the data for this test. -This option is also settable on a per-type basis. +This option is also settable on a per-type and per-entry basis. \boolitem[false]{uniquetitle} Whether or not to provide the data required by the \cmd{ifuniquetitle} test, see \secref{aut:aux:tst} for details. See \tabref{use:opt:wu} for details on what determines the data for this test. -This option is also settable on a per-type basis. +This option is also settable on a per-type and per-entry basis. \boolitem[false]{uniquebaretitle} Whether or not to provide the data required by the \cmd{ifuniquebaretitle} test, see \secref{aut:aux:tst} for details. See \tabref{use:opt:wu} for details on what determines the data for this test. -This option is also settable on a per-type basis. +This option is also settable on a per-type and per-entry basis. \boolitem[false]{uniquework} Whether or not to provide the data required by the \cmd{ifuniquework} test, see \secref{aut:aux:tst} for details. See \tabref{use:opt:wu} for details on what determines the data for this test. -This option is also settable on a per-type basis. +This option is also settable on a per-type and per-entry basis. \boolitem[false]{uniqueprimaryauthor} Whether or not to provide the data required by the \cmd{ifuniqueprimaryauthor} test, see \secref{aut:aux:tst} for details. +This option is also settable on a per-type and per-entry basis. \optitem[false]{uniquename}{\opt{true}, \opt{false}, \opt{init}, \opt{full}, \opt{allinit}, \opt{allfull}, \opt{mininit}, \opt{minfull}} -Whether or not to update the \cnt{uniquename} counter, see \secref{aut:aux:tst} for details. This feature will disambiguate individual names in the \bibfield{labelname} list. This option is also settable on a per-type basis. The possible choices are: +Whether or not to update the \cnt{uniquename} counter, see \secref{aut:aux:tst} for details. This feature will disambiguate individual names in the \bibfield{labelname} list. This option is also settable on a per-type, per-entry, per-namelist and per-name basis. The possible choices are: \begin{valuelist} \item[true] An alias for \opt{full}. @@ -2714,7 +2865,7 @@ Note that the \opt{uniquename} option will also affect \opt{uniquelist}, the \cm \optitem[false]{uniquelist}{\opt{true}, \opt{false}, \opt{minyear}} -Whether or not to update the \cnt{uniquelist} counter, see \secref{aut:aux:tst} for details. This feature will disambiguate the \bibfield{labelname} list if it has become ambiguous after \opt{maxnames}\slash \opt{minnames} truncation. Essentially, it overrides \opt{maxnames}\slash \opt{minnames} on a per-field basis. This option is also settable on a per-type basis. The possible choices are: +Whether or not to update the \cnt{uniquelist} counter, see \secref{aut:aux:tst} for details. This feature will disambiguate the \bibfield{labelname} list if it has become ambiguous after \opt{maxnames}\slash \opt{minnames} truncation. Essentially, it overrides \opt{maxnames}\slash \opt{minnames} on a per-field basis. This option is also settable on a per-type, per-entry and per-namelist basis. The possible choices are: \begin{valuelist} \item[true] Disambiguate the \bibfield{labelname} list. @@ -2724,6 +2875,66 @@ Whether or not to update the \cnt{uniquelist} counter, see \secref{aut:aux:tst} % Note that the \opt{uniquelist} option will also affect the \cmd{ifsingletitle} test and the \bibfield{extradate} and \bibfield{extraname} fields. See \secref{aut:cav:amb} for further details and practical examples. +\boolitem[false]{nohashothers} + +By default, name lists which are truncated with --either explicitly by in the data source or the \opt{uniquelist} and \opt{min/maxnames} options--result in different name list hashes (and therefore different \opt{extraname} and \opt{extradate} values) and different sorting. This option allows this behaviour to be tuned. When set to \prm{true}, \biber ignores truncations for the purposes of generating name list hashes. Consider: + +\begin{lstlisting}{} +Jones 1972 +Jones/and others 1972 +Smith 2000 +Smith/Vogel/Beast/Tremble 2000 +\end{lstlisting} +% +With \kvopt{maxnames}{3}, \kvopt{minnames}{1}, \kvopt{nohashothers}{false}, the result would be: + +\begin{lstlisting}{} + Jones 1972 + Jones et al 1972 + Smith 2000 + Smith et al 2000 +\end{lstlisting} +% +Whereas with \kvopt{maxnames}{3}, \kvopt{minnames}{1}, \kvopt{nohashothers}{true}, the result would be: + +\begin{lstlisting}{} + Jones 1972a + Jones et al 1972b + Smith 2000a + Smith et al 2000b +\end{lstlisting} + +If desired, this could be further simplified with: + +\begin{ltxexample} + \DefineBibliographyStrings{english}{andothers={}} +\end{ltxexample} +% +To obtain: + +\begin{lstlisting}{} + Jones 1972a + Jones 1972b + Smith 2000a + Smith 2000b +\end{lstlisting} +% +Note that the \opt{nohashothers} option will affect the \bibfield{extradate} and \bibfield{extraname} fields. + +This option is also settable on a per-type, per-entry and per-namelist basis. + +\boolitem[false]{nosortothers} + +The option has a related to effect to \opt{nohashothers} but applies to sorting--the visible list of names (which is the \opt{minsortnames} value) used to determine sorting will ignore any truncation. This means that with \kvopt{nosortothers}{true}, the name lists: + +\begin{lstlisting}{} +Jones, Smith +Jones, Smith et al +\end{lstlisting} +% +will sort exactly the same. The default setting of \opt{nosortothers} always sorts in the order shown in the example, that is, by default, truncated names lists always sort after any name lists identical to the point of truncation. + +This option is also settable on a per-type, per-entry and per-namelist basis. \end{optionlist} \begin{table} @@ -2824,15 +3035,6 @@ This option is also settable on a per-type scope. With \biblatexml datasources a The \opt{indexing} option is also settable per-type or per-entry basis. See \secref{use:opt:pre:gen} for details. -\end{optionlist} - -\paragraph{Type/Entry Options} -\label{use:opt:bib:ded} - -The following options are settable on a per"=type basis or on a per"=entry in the \bibfield{options} field. They are not available globally. - -\begin{optionlist} - \boolitem[false]{skipbib} If this option is enabled, the entry is excluded from the bibliography but it may still be cited. @@ -2840,7 +3042,7 @@ This option is also settable on a per-type basis. \boolitem[false]{skipbiblist} -If this option is enabled, the entry is excluded from and bibliography lists. It is still included in the bibliography and it may also be cited by shorthand etc. +If this option is enabled, the entry is excluded from bibliography lists. It is still included in the bibliography and it may also be cited by shorthand etc. This option is also settable on a per-type basis. \boolitem[false]{skiplab} @@ -2904,7 +3106,7 @@ This command may also be used in the configuration file to modify the default se \subsection{Standard Styles} \label{use:xbx} -This section provides a short description of all bibliography and citation styles which come with the \biblatex package. If you want to write your own styles, see \secref{aut}. +This section provides a short description of all bibliography and citation styles which come with the \biblatex package. Each style is further illustrated in a style example which is linked in the right margin. The local link may not be available if this document does not reside in the expected folder structure. If you want to write your own styles, see \secref{aut}. \subsubsection{Citation Styles} \label{use:xbx:cbx} @@ -2913,76 +3115,76 @@ The citation styles which come with this package implement several common citati \begin{marglist} -\item[numeric] +\item[numeric]\seestyleexample{30-style-numeric-biber} This style implements a numeric citation scheme similar to the standard bibliographic facilities of \latex. It should be employed in conjunction with a numeric bibliography style which prints the corresponding labels in the bibliography. It is intended for in-text citations. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labelnumber}{true}. This style also provides an additional preamble option called \opt{subentry} which affects the handling of entry sets. If this option is disabled, citations referring to a member of a set will point to the entire set. If it is enabled, the style supports citations like «[5c]» which point to a subentry in a set (the third one in this example). See the style example for details. -\item[numeric-comp] +\item[numeric-comp]\seestyleexample{31-style-numeric-comp-biber} A compact variant of the \texttt{numeric} style which prints a list of more than two consecutive numbers as a range. This style is similar to the \sty{cite} package and the \opt{sort\&compress} option of the \sty{natbib} package in numerical mode. For example, instead of «[8, 3, 1, 7, 2]» this style would print «[1--3, 7, 8]». It is intended for in-text citations. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{sortcites}{true}, \kvopt{labelnumber}{true}. It also provides the \opt{subentry} option. -\item[numeric-verb] +\item[numeric-verb]\seestyleexample{32-style-numeric-verb-biber} A verbose variant of the \texttt{numeric} style. The difference affects the handling of a list of citations and is only apparent when multiple entry keys are passed to a single citation command. For example, instead of «[2, 5, 6]» this style would print «[2]; [5]; [6]». It is intended for in-text citations. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labelnumber}{true}. It also provides the \opt{subentry} option. -\item[alphabetic] +\item[alphabetic]\seestyleexample{40-style-alphabetic-biber} This style implements an alphabetic citation scheme similar to the \path{alpha.bst} style of traditional \bibtex. The alphabetic labels resemble a compact author"=year style to some extent, but the way they are employed is similar to a numeric citation scheme. For example, instead of «Jones 1995» this style would use the label «[Jon95]». «Jones and Williams 1986» would be rendered as «[JW86]». This style should be employed in conjunction with an alphabetic bibliography style which prints the corresponding labels in the bibliography. It is intended for in-text citations. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labelalpha}{true}. This style also provides an additional preamble option called \opt{subentry} which affects the handling of entry sets. If this option is disabled, citations referring to a member of a set will point to the entire set. If it is enabled, the style supports citations like «[SGW(c)]» which point to a subentry in a set (the third one in this example). See the style example for details. -\item[alphabetic-verb] +\item[alphabetic-verb]\seestyleexample{41-style-alphabetic-verb-biber} A verbose variant of the \texttt{alphabetic} style. The difference affects the handling of a list of citations and is only apparent when multiple entry keys are passed to a single citation command. For example, instead of «[Doe92; Doe95; Jon98]» this style would print «[Doe92]; [Doe95]; [Jon98]». It is intended for in-text citations. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labelalpha}{true}. It also provides the subentry option. -\item[authoryear] +\item[authoryear]\seestyleexample{50-style-authoryear-biber} This style implements an author"=year citation scheme. If the bibliography contains two or more works by the same author which were all published in the same year, a letter is appended to the year. For example, this style would print citations such as «Doe 1995a; Doe 1995b; Jones 1998». This style should be employed in conjunction with an author"=year bibliography style which prints the corresponding labels in the bibliography. It is primarily intended for in-text citations, but it could also be used with citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labeldateparts}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. -\item[authoryear-comp] +\item[authoryear-comp]\seestyleexample{52-style-authoryear-comp-biber} A compact variant of the \texttt{authoryear} style which prints the author only once if subsequent references passed to a single citation command share the same author. If they share the same year as well, the year is also printed only once. For example, instead of «Doe 1995b; Doe 1992; Jones 1998; Doe 1995a» this style would print «Doe 1992, 1995a,b; Jones 1998». It is primarily intended for in-text citations, but it could also be used with citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{sortcites}{true}, \kvopt{labeldateparts}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. -\item[authoryear-ibid] +\item[authoryear-ibid]\seestyleexample{51-style-authoryear-ibid-biber} A variant of the \texttt{authoryear} style which replaces repeated citations by the abbreviation \emph{ibidem} unless the citation is the first one on the current page or double-page spread, or the \emph{ibidem} would be ambiguous in the sense of the package option \kvopt{ibidtracker}{constrict}. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labeldateparts}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}, \kvopt{ibidtracker}{constrict}, \kvopt{pagetracker}{true}. This style also provides an additional preamble option called \opt{ibidpage}. See the style example for details. -\item[authoryear-icomp] +\item[authoryear-icomp]\seestyleexample{53-style-authoryear-icomp-biber} A style combining \texttt{authoryear-comp} and \texttt{authoryear-ibid}. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{labeldateparts}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}, \kvopt{ibidtracker}{constrict}, \kvopt{pagetracker}{true}, \kvopt{sortcites}{true}. This style also provides an additional preamble option called \opt{ibidpage}. See the style example for details. -\item[authortitle] +\item[authortitle]\seestyleexample{60-style-authortitle-biber} This style implements a simple author"=title citation scheme. It will make use of the \bibfield{shorttitle} field, if available. It is intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. -\item[authortitle-comp] +\item[authortitle-comp]\seestyleexample{62-style-authortitle-comp-biber} A compact variant of the \texttt{authortitle} style which prints the author only once if subsequent references passed to a single citation command share the same author. For example, instead of «Doe, \emph{First title}; Doe, \emph{Second title}» this style would print «Doe, \emph{First title}, \emph{Second title}». It is intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{sortcites}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. -\item[authortitle-ibid] +\item[authortitle-ibid]\seestyleexample{61-style-authortitle-ibid-biber} A variant of the \texttt{authortitle} style which replaces repeated citations by the abbreviation \emph{ibidem} unless the citation is the first one on the current page or double-page spread, or the \emph{ibidem} would be ambiguous in the sense of the package option \kvopt{ibidtracker}{constrict}. It is intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}, \kvopt{ibidtracker}{constrict}, \kvopt{pagetracker}{true}. This style also provides an additional preamble option called \opt{ibidpage}. See the style example for details. -\item[authortitle-icomp] +\item[authortitle-icomp]\seestyleexample{63-style-authortitle-icomp-biber} A style combining the features of \texttt{authortitle-comp} and \texttt{authortitle-ibid}. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}, \kvopt{ibidtracker}{constrict}, \kvopt{pagetracker}{true}, \kvopt{sortcites}{true}. This style also provides an additional preamble option called \opt{ibidpage}. See the style example for details. -\item[authortitle-terse] +\item[authortitle-terse]\seestyleexample{64-style-authortitle-terse-biber} A terse variant of the \texttt{authortitle} style which only prints the title if the bibliography contains more than one work by the respective author\slash editor. This style will make use of the \bibfield{shorttitle} field, if available. It is suitable for in-text citations as well as citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{singletitle}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. -\item[authortitle-tcomp] +\item[authortitle-tcomp]\seestyleexample{65-style-authortitle-tcomp-biber} A style combining the features of \texttt{authortitle-comp} and \texttt{authortitle-terse}. This style will make use of the \bibfield{shorttitle} field, if available. It is suitable for in-text citations as well as citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{sortcites}{true}, \kvopt{singletitle}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. -\item[authortitle-ticomp] +\item[authortitle-ticomp]\seestyleexample{66-style-authortitle-ticomp-biber} A style combining the features of \texttt{authortitle-icomp} and \texttt{authortitle-terse}. In other words: a variant of the \texttt{authortitle-tcomp} style with an \emph{ibidem} feature. This style is suitable for in-text citations as well as citations given in footnotes. It will set the following package options at load time: \kvopt{autocite}{inline}, \kvopt{ibidtracker}{constrict}, \kvopt{pagetracker}{true}, \kvopt{sortcites}{true}, \kvopt{singletitle}{true}, \kvopt{uniquename}{full}, \kvopt{uniquelist}{true}. This style also provides an additional preamble option called \opt{ibidpage}. See the style example for details. -\item[verbose] +\item[verbose]\seestyleexample{70-style-verbose-biber} A verbose citation style which prints a full citation similar to a bibliography entry when an entry is cited for the first time, and a short citation afterwards. If available, the \bibfield{shorttitle} field is used in all short citations. If the \bibfield{shorthand} field is defined, the shorthand is introduced on the first citation and used as the short citation thereafter. This style may be used without a list of references and shorthands since all bibliographic data is provided on the first citation. It is intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}. This style also provides an additional preamble option called \opt{citepages}. See the style example for details. -\item[verbose-ibid] +\item[verbose-ibid]\seestyleexample{71-style-verbose-ibid-biber} A variant of the \texttt{verbose} style which replaces repeated citations by the abbreviation \emph{ibidem} unless the citation is the first one on the current page or double-page spread, or the \emph{ibidem} would be ambiguous in the sense of \kvopt{ibidtracker}{strict}. This style is intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}, \kvopt{ibidtracker}{constrict}, \kvopt{pagetracker}{true}. This style also provides additional preamble options called \opt{ibidpage} and \opt{citepages}. See the style example for details. -\item[verbose-note] +\item[verbose-note]\seestyleexample{72-style-verbose-note-biber} This style is similar to the \texttt{verbose} style in that it prints a full citation similar to a bibliography entry when an entry is cited for the first time, and a short citation afterwards. In contrast to the \texttt{verbose} style, the short citation is a pointer to the footnote with the full citation. If the bibliography contains more than one work by the respective author\slash editor, the pointer also includes the title. If available, the \bibfield{shorttitle} field is used in all short citations. If the \bibfield{shorthand} field is defined, it is handled as with the \texttt{verbose} style. This style may be used without a list of references and shorthands since all bibliographic data is provided on the first citation. It is exclusively intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}, \kvopt{singletitle}{true}. This style also provides additional preamble options called \opt{pageref} and \opt{citepages}. See the style example for details. -\item[verbose-inote] +\item[verbose-inote]\seestyleexample{73-style-verbose-inote-biber} A variant of the \texttt{verbose"=note} style which replaces repeated citations by the abbreviation \emph{ibidem} unless the citation is the first one on the current page or double-page spread, or the \emph{ibidem} would be ambiguous in the sense of \kvopt{ibidtracker}{strict}. This style is exclusively intended for citations given in footnotes. It will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}, \kvopt{ibidtracker}{constrict}, \kvopt{singletitle}{true}, \kvopt{pagetracker}{true}. This style also provides additional preamble options called \opt{ibidpage}, \opt{pageref}, and \opt{citepages}. See the style example for details. -\item[verbose-trad1] +\item[verbose-trad1]\seestyleexample{74-style-verbose-trad1-biber} This style implements a traditional citation scheme. It is similar to the \texttt{verbose} style in that it prints a full citation similar to a bibliography entry when an item is cited for the first time, and a short citation afterwards. Apart from that, it uses the scholarly abbreviations \emph{ibidem}, \emph{idem}, \emph{op.~cit.}, and \emph{loc.~cit.} to replace recurrent authors, titles, and page numbers in repeated citations in a special way. If the \bibfield{shorthand} field is defined, the shorthand is introduced on the first citation and used as the short citation thereafter. This style may be used without a list of references and shorthands since all bibliographic data is provided on the first citation. It is intended for citations given in footnotes. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}, \kvopt{ibidtracker}{constrict}, \kvopt{idemtracker}{constrict}, \kvopt{opcittracker}{context}, \kvopt{loccittracker}{context}. This style also provides additional preamble options called \opt{ibidpage}, \opt{strict}, and \opt{citepages}. See the style example for details. -\item[verbose-trad2] +\item[verbose-trad2]\seestyleexample{75-style-verbose-trad2-biber} Another traditional citation scheme. It is also similar to the \texttt{verbose} style but uses scholarly abbreviations like \emph{ibidem} and \emph{idem} in repeated citations. In contrast to the \texttt{verbose-trad1} style, the logic of the \emph{op.~cit.} abbreviations is different in this style and \emph{loc.~cit.} is not used at all. It is in fact more similar to \texttt{verbose-ibid} and \texttt{verbose-inote} than to \texttt{verbose-trad1}. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}, \kvopt{ibidtracker}{constrict}, \kvopt{idemtracker}{constrict}. This style also provides additional preamble options called \opt{ibidpage}, \opt{strict}, and \opt{citepages}. See the style example for details. -\item[verbose-trad3] +\item[verbose-trad3]\seestyleexample{76-style-verbose-trad3-biber} Yet another traditional citation scheme. It is similar to the \texttt{verbose-trad2} style but uses the scholarly abbreviations \emph{ibidem} and \emph{op.~cit.} in a slightly different way. The style will set the following package options at load time: \kvopt{autocite}{footnote}, \kvopt{citetracker}{context}, \kvopt{ibidtracker}{constrict}, \kvopt{loccittracker}{constrict}. This style also provides additional preamble options called \opt{strict} and \opt{citepages}. See the style example for details. -\item[reading] +\item[reading]\seestyleexample{80-style-reading-biber} A citation style which goes with the bibliography style by the same name. It simply loads the \texttt{authortitle} style. \end{marglist} @@ -2991,10 +3193,10 @@ The following citation styles are special purpose styles. They are not intended \begin{marglist} -\item[draft] +\item[draft]\seestyleexample{81-style-draft-biber} A draft style which uses the entry keys in citations. The style will set the following package options at load time: \kvopt{autocite}{plain}. -\item[debug] +\item[debug]\seestyleexample{82-style-debug-biber} This style prints the entry key rather than some kind of label. It is intended for debugging only and will set the following package options at load time: \kvopt{autocite}{plain}. \end{marglist} @@ -3006,22 +3208,22 @@ All bibliography styles which come with this package use the same basic format f \begin{marglist} -\item[numeric] +\item[numeric]\seestyleexample{30-style-numeric-biber} This style prints a numeric label similar to the standard bibliographic facilities of \latex. It is intended for use in conjunction with a numeric citation style. Note that the \bibfield{shorthand} field overrides the default label. The style will set the following package options at load time: \kvopt{labelnumber}{true}. This style also provides an additional preamble option called \opt{subentry} which affects the formatting of entry sets. If this option is enabled, all members of a set are marked with a letter which may be used in citations referring to a set member rather than the entire set. See the style example for details. -\item[alphabetic] +\item[alphabetic]\seestyleexample{40-style-alphabetic-biber} This style prints an alphabetic label similar to the \path{alpha.bst} style of traditional \bibtex. It is intended for use in conjunction with an alphabetic citation style. Note that the \bibfield{shorthand} field overrides the default label. The style will set the following package options at load time: \kvopt{labelalpha}{true}, \kvopt{sorting}{anyt}. -\item[authoryear] +\item[authoryear]\seestyleexample{50-style-authoryear-biber} This style differs from the other styles in that the publication date is not printed towards the end of the entry but rather after the author\slash editor. It is intended for use in conjunction with an author"=year citation style. Recurring author and editor names are replaced by a dash unless the entry is the first one on the current page or double-page spread. This style provides an additional preamble option called \opt{dashed} which controls this feature. It also provided a preamble option called \opt{mergedate}. See the style example for details. The style will set the following package options at load time: \kvopt{labeldateparts}{true}, \kvopt{sorting}{nyt}, \kvopt{pagetracker}{true}, \kvopt{mergedate}{true}. -\item[authortitle] +\item[authortitle]\seestyleexample{60-style-authortitle-biber} This style does not print any label at all. It is intended for use in conjunction with an author"=title citation style. Recurring author and editor names are replaced by a dash unless the entry is the first one on the current page or double-page spread. This style also provides an additional preamble option called \opt{dashed} which controls this feature. See the style example for details. The style will set the following package options at load time: \kvopt{pagetracker}{true}. -\item[verbose] +\item[verbose]\seestyleexample{70-style-verbose-biber} This style is similar to the \texttt{authortitle} style. It also provides an additional preamble option called \opt{dashed}. See the style example for details. The style will set the following package options at load time: \kvopt{pagetracker}{true}. -\item[reading] +\item[reading]\seestyleexample{80-style-reading-biber} This special bibliography style is designed for personal reading lists, annotated bibliographies, and similar applications. It optionally includes the fields \bibfield{annotation}, \bibfield{abstract}, \bibfield{library}, and \bibfield{file} in the bibliography. If desired, it also adds various kinds of short headers to the bibliography. This style also provides the additional preamble options \opt{entryhead}, \opt{entrykey}, \opt{annotation}, \opt{abstract}, \opt{library}, and \opt{file} which control whether or not the corresponding items are printed in the bibliography. See the style example for details. See also \secref{use:use:prf}. The style will set the following package options at load time: \kvopt{loadfiles}{true}, \kvopt{entryhead}{true}, \kvopt{entrykey}{true}, \kvopt{annotation}{true}, \kvopt{abstract}{true}, \kvopt{library}{true}, \kvopt{file}{true}. \end{marglist} @@ -3030,10 +3232,10 @@ The following bibliography styles are special purpose styles. They are not inten \begin{marglist} -\item[draft] +\item[draft]\seestyleexample{81-style-draft-biber} This draft style includes the entry keys in the bibliography. The bibliography will be sorted by entry key. The style will set the following package options at load time: \kvopt{sorting}{debug}. -\item[debug] +\item[debug]\seestyleexample{82-style-debug-biber} This style prints all bibliographic data in tabular format. It is intended for debugging only and will set the following package options at load time: \kvopt{sorting}{debug}. \end{marglist} @@ -3216,39 +3418,39 @@ To access the annotation information when formatting bibliography data, macros a \cmditem{iffieldannotation}[field][annotationname]{annotation}{true}{false} -Executes \prm{true} if the data field \prm{field} has an annotation \prm{annotation} for the annotation called \prm{annotationname} and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives. +Executes \prm{true} if the data field \prm{field} has an annotation \prm{annotation} for the annotation called \prm{annotationname} and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives. \cmditem{ifitemannotation}[field][annotationname][item]{annotation}{true}{false} -Executes \prm{true} if the item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The optional argument \prm{field} can be inferred if not provided as with \cmd{iffieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used. +Executes \prm{true} if the item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The optional argument \prm{field} can be inferred if not provided as with \cmd{iffieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used. \cmditem{ifpartannotation}[field][annotationname][item]{part}{annotation}{true}{false} -Executes \prm{true} if the part named \prm{part} in item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{ifitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument. +Executes \prm{true} if the part named \prm{part} in item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{ifitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument. Date fields are special and handled in a context where \cmd{currentfield} is not accessible. Thus there is a fourth command to test annotations for dates. \cmditem{ifdateannotation}[annotationname]{datetype}{annotation}{true}{false} -Executes \prm{true} if the date field \prm{datetype} has an annotation \prm{annotation} and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The \prm{datetype} argument is mandatory, because it cannot be inferred in most contexts where \cmd{ifdateannotation} will be used. +Executes \prm{true} if the date field \prm{datetype} has an annotation \prm{annotation} and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The \prm{datetype} argument is mandatory, because it cannot be inferred in most contexts where \cmd{ifdateannotation} will be used. \cmditem{hasfieldannotation}[field][annotationname]{true}{false} -Executes \prm{true} if the data field \prm{field} has a literal annotation \prm{annotationname} defined and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives. +Executes \prm{true} if the data field \prm{field} has a literal annotation \prm{annotationname} defined and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives. \cmditem{hasitemannotation}[field][annotationname][item]{true}{false} -Executes \prm{true} if the item \prm{item} in the data field \prm{field} has a literal annotation \prm{annotationname} defined and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The optional argument \prm{field} can be inferred if not provided as with \cmd{iffieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used. +Executes \prm{true} if the item \prm{item} in the data field \prm{field} has a literal annotation \prm{annotationname} defined and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The optional argument \prm{field} can be inferred if not provided as with \cmd{iffieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used. \cmditem{haspartannotation}[field][annotationname][item]{part}{true}{false} -Executes \prm{true} if the part named \prm{part} in the item \prm{item} in the data field \prm{field} has a literal annotation \prm{annotationname} defined and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{ifitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument. +Executes \prm{true} if the part named \prm{part} in the item \prm{item} in the data field \prm{field} has a literal annotation \prm{annotationname} defined and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{ifitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument. Date fields are special and handled in a context where \cmd{currentfield} is not accessible. Thus there is a fourth command to test the existence of annotations for dates. \cmditem{hasdateannotation}[annotationname]{datetype}{true}{false} -Executes \prm{true} if the date field \prm{datetype} has any annotation \prm{annotationname} defined and false otherwise. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The \prm{datetype} argument is mandatory, because it cannot be inferred in most contexts where \cmd{ifdateannotation} will be used. +Executes \prm{true} if the date field \prm{datetype} has any annotation \prm{annotationname} defined and false otherwise. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The \prm{datetype} argument is mandatory, because it cannot be inferred in most contexts where \cmd{ifdateannotation} will be used. \end{ltxsyntax} % @@ -3291,21 +3493,21 @@ Such annotations are not keys whose presence can be tested for but are rather li \cmditem{getfieldannotation}[field][annotationname] -Retrieves any literal annotation for the field \prm{field}. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives. +Retrieves any literal annotation for the field \prm{field}. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives. \cmditem{getitemannotation}[field][annotationname][item] -Retrieves any literal annotation for the item \prm{item} in the field \prm{field}. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The optional argument \prm{field} can be inferred if not provided as with \cmd{getfieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used. +Retrieves any literal annotation for the item \prm{item} in the field \prm{field}. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The optional argument \prm{field} can be inferred if not provided as with \cmd{getfieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used. \cmditem{getpartannotation}[field][annotationname][item]{part} -Retrieves any literal annotation for the part \prm{part}. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{getitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument. +Retrieves any literal annotation for the part \prm{part}. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{getitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument. Date fields are special and handled in a context where \cmd{currentfield} is not accessible. Thus there is a fourth command to access literal annotations for dates. \cmditem{getdateannotation}[annotationname]{datetype} -Retrieve a literal annotation for the datefield \prm{datetype}. If \prm{annotatationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The \prm{datetype} argument is mandatory, because it cannot be inferred in most contexts where \cmd{getdateannotation} will be used. +Retrieve a literal annotation for the datefield \prm{datetype}. If \prm{annotationname} is not given, then the annotation named is assumed (this is the name given to annotations defined without an explicit name). The \prm{datetype} argument is mandatory, because it cannot be inferred in most contexts where \cmd{getdateannotation} will be used. \end{ltxsyntax} % @@ -3337,11 +3539,14 @@ Naturally there are semantically more elegant ways of dealing with corporate aut \cmditem{addbibresource}[options]{resource} -Adds a \prm{resource}, such as a \file{.bib} file, to the default resource list. This command is only available in the preamble. It replaces the \cmd{bibliography} legacy command. Note that files must be specified with their full name, including the extension. Do not omit the \file{.bib} extension from the filename. Also note that the \prm{resource} is a single resource. If the resources contain duplicate entries (that is, duplicate \bibfield{entrykey}s), it is backend dependent what then happens. For example, by default \biber will ignore further occurrence of \bibfield{entrykey}s unless its \opt{--noskipduplicates} options is used. Invoke \cmd{addbibresource} multiple times to add more resources, for example: +Adds a \prm{resource}, such as a \file{.bib} file, to the default resource list. This command is only available in the preamble. It replaces the \cmd{bibliography} legacy command. Note that files must be specified with their full name, including the extension. With \biber, the resource name can be a BSD-style glob pattern. This only makes sense when resources refer to files with an absolute or relative path and does not work when looking for data resources in \biber s input/output directories or with resources located by \prm{kpsewhich} etc. When running on Windows, \biber will switch to a Windows compatible globbing mode where backslashes are also useable as path separators and case does not matter. If the resources contain duplicate entries (that is, duplicate \bibfield{entrykey}s), it is backend dependent what then happens. For example, by default \biber will ignore further occurrence of \bibfield{entrykey}s unless its \opt{--noskipduplicates} options is used. Invoke \cmd{addbibresource} multiple times to add more resources, for example: \begin{ltxexample} \addbibresource{bibfile1.bib} \addbibresource{bibfile2.bib} +\addbibresource{bibfiles/bibfile*.bib} +\addbibresource{bibfile-num?.bib} +\addbibresource{bibfile{1,2,3}.bib} \addbibresource[location=remote]{http://www.citeulike.org/bibtex/group/9517} \addbibresource[location=remote,label=lan]{ftp://192.168.1.57/~user/file.bib} \end{ltxexample} @@ -3423,11 +3628,11 @@ The prenote is an arbitrary piece of text to be printed after the heading but be The postnote is an arbitrary piece of text to be printed after the list of references. This option selects the postnote \prm{name}, as defined with \cmd{defbibnote}. By default, no postnote is printed. The note is printed in the standard text font. It is not affected by \cmd{bibsetup} and \cmd{bibfont} but it may contain its own font declarations. See \secref{use:bib:nts} for details. -\intitem[current section]{section} +\intitem[\normalfont\em current section]{section} Print only entries cited in reference section \prm{integer}. The reference sections are numbered starting at~1. All citations given outside a \env{refsection} environment are assigned to section~0. See \secref{use:bib:sec} for details and \secref{use:use:mlt} for usage examples. -\intitem[0]{segment} +\intitem{segment} Print only entries cited in reference segment \prm{integer}. The reference segments are numbered starting at~1. All citations given outside a \env{refsegment} environment are assigned to segment~0. See \secref{use:bib:seg} for details and \secref{use:use:mlt} for usage examples. Remember that segments within a section are numbered local to the section so the segment you request will be the nth segment in the requested (or currently active enclosing) section. @@ -3503,6 +3708,19 @@ This command loops over all bibliography categories. This is equivalent to givin This command prints a bibliography heading defined with \cmd{defbibheading}. It takes one optional argument, which is a list of options given in \keyval notation. The options are a small subset of those supported by \cmd{printbibliography}. Valid options are \opt{heading} and \opt{title}. By default, this command uses the heading \texttt{bibliography}. See \secref{use:bib:hdg} for details. Also see \secref{use:use:mlt,use:use:div} for usage examples. +\cmditem{DeclarePrintbibliographyDefaults}[key=value, \dots] + +This command can be used to globally set defaults for some options to \cmd{printbibliography}, the \cmd{bibby...} bibliography commands and \cmd{printbibheading}. +The supported keys are +\begin{itemize} + \item \opt{env} + \item \opt{heading} + \item \opt{title} + \item \opt{prenote} + \item \opt{postnote} + \item \opt{filter} +\end{itemize} + \end{ltxsyntax} % To print a bibliography with a different sorting template than the global sorting template, use the bibliography context switching commands from \secref{use:bib:context}. @@ -4030,7 +4248,7 @@ At the beginning of the document, there is always a global context containing gl \cmditem{assignrefcontextentries*}[key=value, \dots]{*} \end{ltxsyntax} -These commands automate putting citations into refcontexts when the default behaviour is not sufficient. The \prm{key=value} options are as for \cmd{DeclareRefcontext}. The default behaviour is that the data for a citation is drawn from the refcontext of the last bibliography in which it was printed. For citations that are used in some way but not printed in a bibliography or bibliography list, they default to drawing their data from the global refcontext established at the beginning of the document. To override this behaviour, instead of manually wrapping citation commands in \env{refcontext} environments, which might be error-prone and tedious, you can register a comma"=separated list of \prm{keywords}, \prm{categories} or \prm{entrykeys} which, respectively, make the entries with any of the specified keywords, entries in any of the specified categories (see \secref{use:use:div}) or entries with any of the specified citation keys draw their data from a particular refcontext specified by the \prm{refcontext key/values} which are parsed as the per the corresponding \env{refcontext} options. Such refcontext auto-assignments are specific to the current refsection. You may specify the same citation key in any of these commands but be aware that assignment is done in the order \prm{keywords}, \prm{categories}, \prm{entrykeys} with the later specifications overriding the earlier. \cmd{assignrefcontextentries} accepts a single asterisk instead of a list of entrykeys which allows the assignment of all keys in a refsection to a refcontext with having to explicitly list them. An example: +These commands automate putting citations into refcontexts when the default behaviour is not sufficient. The \prm{key=value} options are as for \cmd{DeclareRefcontext}. The default behaviour is that the data for a citation is drawn from the refcontext of the most recently processed bibliography in which it was printed\footnote{This does not always mean what one might think. In a document containing multiple bibliographies, the last bibliography will be the context for any citations \emph{before} the first bibliography because all bibliographies are processed when the \file{.bbl}is read.}. For citations that are used in some way but not printed in a bibliography or bibliography list, they default to drawing their data from the global refcontext established at the beginning of the document. To override this behaviour, instead of manually wrapping citation commands in \env{refcontext} environments, which might be error-prone and tedious, you can register a comma"=separated list of \prm{keywords}, \prm{categories} or \prm{entrykeys} which, respectively, make the entries with any of the specified keywords, entries in any of the specified categories (see \secref{use:use:div}) or entries with any of the specified citation keys draw their data from a particular refcontext specified by the \prm{refcontext key/values} which are parsed as the per the corresponding \env{refcontext} options. Such refcontext auto-assignments are specific to the current refsection. You may specify the same citation key in any of these commands but be aware that assignment is done in the order \prm{keywords}, \prm{categories}, \prm{entrykeys} with the later specifications overriding the earlier. \cmd{assignrefcontextentries} accepts a single asterisk instead of a list of entrykeys which allows the assignment of all keys in a refsection to a refcontext with having to explicitly list them. An example: \begin{ltxexample}[style=latex] \assignrefcontextentries[labelprefix=A]{key2} @@ -4069,7 +4287,7 @@ The \prm{key} is the entry key of the set, which is used like any other entry ke \subsection{Citation Commands} \label{use:cit} -All citation commands generally take one mandatory and two optional arguments. The \prm{prenote} is text to be printed at the beginning of the citation. This is usually a notice such as or . The \prm{postnote} is text to be printed at the very end of the citation. This is usually a page number. If only one of these arguments is given, it is taken as a postnote. If you want to specify a prenote but no postnote, you need to leave the second optional argument empty, as in |\cite[see][]{key}|. The \prm{key} argument to all citation commands is mandatory. This is the entry key or a comma"=separated list of keys corresponding to the entry keys in the \sty{bib} file. In sum, all basic citations commands listed further down have the following syntax: +All citation commands generally take one mandatory and two optional arguments. The \prm{prenote} is text to be printed at the beginning of the citation. This is usually a notice such as or . The \prm{postnote} is text to be printed at the very end of the citation. This is usually a page number. If only one of these arguments is given, it is taken as a postnote. If you want to specify a prenote but no postnote, you need to leave the second optional argument empty, as in |\cite[see][]{key}|. The \prm{key} argument to all citation commands is mandatory. This is the entry key or a comma"=separated list of keys corresponding to the entry keys in the \file{bib} file. In sum, all basic citations commands listed further down have the following syntax: \begin{ltxsyntax} @@ -4289,63 +4507,63 @@ This command uses the bibliography driver for the respective entry type to creat Similar to \cmd{fullcite} but puts the entire citation in a footnote and adds a period at the end. -\cmditem{volcite}[prenote]{volume}[page]{key} -\cmditem{Volcite}[prenote]{volume}[page]{key} +\cmditem{volcite}[prenote]{volume}[pages]{key} +\cmditem{Volcite}[prenote]{volume}[pages]{key} -These commands are similar to \cmd{cite} and \cmd{Cite} but intended for references to multi"=volume works which are cited by volume and page number. Instead of the \prm{postnote}, they take a mandatory \prm{volume} and an optional \prm{page} argument. Since they merely compose the postnote and pass it to the \cmd{cite} command provided by the citation style as a \prm{postnote} argument, these commands are style independent. The format of the volume portion is controlled by the field formatting directive \opt{volcitevolume}, the format of the page/text portion is controlled by the field formatting directive \opt{volcitepages} (\secref{aut:fmt:ich}). The delimiter printed between the volume portion and the page/text portion may be modified by redefining the macro \cmd{volcitedelim} (\secref{aut:fmt:fmt}). +These commands are similar to \cmd{cite} and \cmd{Cite} but intended for references to multi"=volume works which are cited by volume and page number. Instead of the \prm{postnote}, they take a mandatory \prm{volume} and an optional \prm{pages} argument. Since they merely compose the postnote and pass it to the \cmd{cite} command provided by the citation style as a \prm{postnote} argument, these commands are style independent. The volume and pages/text portion are formatted with the macro \cmd{mkvolcitenote} when they are passed on to the citation command. Additionally they are made available in the special fields \bibfield{volcitevolume} and \bibfield{volcitevolume} (\secref{aut:cbx:fld}) The format of the volume portion is controlled by the field formatting directive \opt{volcitevolume}, the format of the pages/text portion is controlled by the field formatting directive \opt{volcitepages} (\secref{aut:fmt:ich}). The delimiter printed between the volume portion and the pages/text portion may be modified by redefining the macro \cmd{volcitedelim} (\secref{aut:fmt:fmt}). -\cmditem{volcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} -\cmditem{Volcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} +\cmditem{volcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} +\cmditem{Volcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} The multicite version of \cmd{volcite} and \cmd{Volcite}, respectively. -\cmditem{pvolcite}[prenote]{volume}[page]{key} -\cmditem{Pvolcite}[prenote]{volume}[page]{key} +\cmditem{pvolcite}[prenote]{volume}[pages]{key} +\cmditem{Pvolcite}[prenote]{volume}[pages]{key} Similar to \cmd{volcite} but based on \cmd{parencite}. -\cmditem{pvolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} -\cmditem{Pvolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} +\cmditem{pvolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} +\cmditem{Pvolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} The multicite version of \cmd{pvolcite} and \cmd{Pvolcite}, respectively. -\cmditem{fvolcite}[prenote]{volume}[page]{key} -\cmditem{ftvolcite}[prenote]{volume}[page]{key} +\cmditem{fvolcite}[prenote]{volume}[pages]{key} +\cmditem{ftvolcite}[prenote]{volume}[pages]{key} Similar to \cmd{volcite} but based on \cmd{footcite} and \cmd{footcitetext}, respectively. -\cmditem{fvolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} -\cmditem{Fvolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} +\cmditem{fvolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} +\cmditem{Fvolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} The multicite version of \cmd{fvolcite} and \cmd{Fvolcite}, respectively. -\cmditem{svolcite}[prenote]{volume}[page]{key} -\cmditem{Svolcite}[prenote]{volume}[page]{key} +\cmditem{svolcite}[prenote]{volume}[pages]{key} +\cmditem{Svolcite}[prenote]{volume}[pages]{key} Similar to \cmd{volcite} but based on \cmd{smartcite}. -\cmditem{svolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} -\cmditem{Svolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} +\cmditem{svolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} +\cmditem{Svolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} The multicite version of \cmd{svolcite} and \cmd{Svolcite}, respectively. -\cmditem{tvolcite}[prenote]{volume}[page]{key} -\cmditem{Tvolcite}[prenote]{volume}[page]{key} +\cmditem{tvolcite}[prenote]{volume}[pages]{key} +\cmditem{Tvolcite}[prenote]{volume}[pages]{key} Similar to \cmd{volcite} but based on \cmd{textcite}. -\cmditem{tvolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} -\cmditem{Tvolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} +\cmditem{tvolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} +\cmditem{Tvolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} The multicite version of \cmd{tvolcite} and \cmd{Tvolcite}, respectively. -\cmditem{avolcite}[prenote]{volume}[page]{key} -\cmditem{Avolcite}[prenote]{volume}[page]{key} +\cmditem{avolcite}[prenote]{volume}[pages]{key} +\cmditem{Avolcite}[prenote]{volume}[pages]{key} Similar to \cmd{volcite} but based on \cmd{autocite}. -\cmditem{avolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} -\cmditem{Avolcites}(multiprenote)(multipostnote)[prenote]{volume}[page]{key}|\\...|[prenote]{volume}[page]{key} +\cmditem{avolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} +\cmditem{Avolcites}(multiprenote)(multipostnote)[prenote]{volume}[pages]{key}|\\...|[prenote]{volume}[pages]{key} The multicite version of \cmd{avolcite} and \cmd{Avolcite}, respectively. @@ -4425,6 +4643,14 @@ In the \prm{postnote} argument to a citation command, this command indicates a r Similar to \cmd{psq} but indicates an open-ended page range. See \secref{use:cav:pag} for further details and usage instructions. The suffix printed is the localisation string \texttt{sequentes}, see \secref{aut:lng:key}. This command is only available locally in citations and the bibliography. +\cmditem{pnfmt}{text} + +This command formats is argument \prm{text} in the same format as \bibfield{postnote}. The command can be used to format a page range while adding additional text in the postnote argument of a cite command. + +\begin{ltxexample} +\autocite[\pnfmt{378-381, 383} and more]{sigfridsson} +\end{ltxexample} + \cmditem{RN}{integer} This command prints an integer as an uppercase Roman numeral. The formatting applied to the numeral may be modified by redefining the macro \cmd{RNfont}. @@ -4621,28 +4847,28 @@ The punctuation printed at the very end of every bibliography entry, usually a p The punctuation printed between bibliography subentries of an entry set. The default definition is a semicolon and a space. \csitem{bibnamedelima} -This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically after the first name element if the element is less than three characters long and before the last element. The default definition is an interword space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. +This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically by the backend after the first name element if the element is less than three characters long and before the last element. The default definition is \cmd{addhighpenspace}, \ie a space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibnamedelimb} -This delimiter is inserted between the elements which make up a name part where \cmd{bibnamedelima} does not apply. The default definition is an interword space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. +This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically by the backend between all name elements where \cmd{bibnamedelima} does not apply. The default definition is \cmd{addlowpenspace}, \ie a space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibnamedelimc} -This delimiter controls the spacing between name parts. It is inserted between the name prefix and the family name if \kvopt{useprefix}{true}. The default definition is an interword space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. +This delimiter controls the spacing between name parts. The default name formats use it between the name prefix and the family name if \kvopt{useprefix}{true}. The default definition is \cmd{addhighpenspace}, \ie a space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibnamedelimd} -This delimiter is inserted between all name parts where \cmd{bibnamedelimc} does not apply. The default definition is an interword space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. +This delimiter controls the spacing between name parts. The default name formats use it between all name parts where \cmd{bibnamedelimc} does not apply. The default definition is \cmd{addlowpenspace}, \ie a space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibnamedelimi} This delimiter replaces \cmd{bibnamedelima/b} after initials. Note that this only applies to initials given as such in the \file{bib} file, not to the initials automatically generated by \biblatex which use their own set of delimiters. \csitem{bibinitperiod} -The punctuation inserted after initials unless \cmd{bibinithyphendelim} applies. The default definition is a period (\cmd{adddot}). Please refer to \secref{use:cav:nam} for further details. +The punctuation inserted automatically by the backend after all initials unless \cmd{bibinithyphendelim} applies. The default definition is a period (\cmd{adddot}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibinitdelim} -The spacing inserted between multiple initials unless \cmd{bibinithyphendelim} applies. The default definition is an unbreakable interword space. Please refer to \secref{use:cav:nam} for further details. +The spacing inserted automatically by the backend between multiple initials unless \cmd{bibinithyphendelim} applies. The default definition is an unbreakable interword space. Please refer to \secref{use:cav:nam} for further details. \csitem{bibinithyphendelim} -The punctuation inserted between the initials of hyphenated name parts, replacing \cmd{bibinitperiod} and \cmd{bibinitdelim}. The default definition is a period followed by an unbreakable hyphen. Please refer to \secref{use:cav:nam} for further details. +The punctuation inserted automatically by the backend between the initials of hyphenated name parts, replacing \cmd{bibinitperiod} and \cmd{bibinitdelim}. The default definition is a period followed by an unbreakable hyphen. Please refer to \secref{use:cav:nam} for further details. \csitem{bibindexnamedelima} Replaces \cmd{bibnamedelima} in the index. @@ -4669,7 +4895,7 @@ Replaces \cmd{bibinitdelim} in the index. Replaces \cmd{bibinithyphendelim} in the index. \csitem{revsdnamepunct} -The punctuation to be printed between the first and family name parts when a name is reversed. Here is an example showing a name with the default comma as \cmd{revsdnamedelim}: +The punctuation to be printed between the given and family name parts when a name is reversed. The default is a comma. Here is an example showing a name with the default comma as \cmd{revsdnamedelim}: \begin{ltxexample} Jones<<,>> Edward @@ -4738,36 +4964,6 @@ Similar to \cmd{multicitedelim}, but used by the \cmd{supercite} command only. T \csitem{compcitedelim} Similar to \cmd{multicitedelim}, but used by certain citation styles when multiple citations. The default definition is a comma plus an interword space. -\csitem{datecircadelim}\CSdelimMark -When formatting dates with the global option \opt{datecirca} enabled, the delimiter printed after any localised term. Defaults to interword space. - -\csitem{dateeradelim}\CSdelimMark -When formatting dates with the global option \opt{dateera} set, the delimiter printed before the localisation era term. Defaults to interword space. - -\csitem{dateuncertainprint} -Prints date uncertainty information when the global option \opt{dateuncertain} is enabled and the \cmd{ifdateuncertain} test is true. By default, prints the language specific \cmd{bibdateuncertain} string (\secref{use:fmt:lng}). - -\csitem{enddateuncertainprint} -Prints date uncertainty information when the global option \opt{dateuncertain} is enabled and the \cmd{ifenddateuncertain} test is true. By default, prints the language specific \cmd{bibdateuncertain} string (\secref{use:fmt:lng}). - -\csitem{datecircaprint} -Prints date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifdatecirca} test is true. By default, prints the localised term (\secref{aut:lng:key:dt}) and the \opt{datecircadelim} delimiter. - -\csitem{enddatecircaprint} -Prints date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifenddatecirca} test is true. By default, prints the localised term (\secref{aut:lng:key:dt}) and the \opt{datecircadelim} delimiter. - -\csitem{datecircaprintiso} -Prints \acr{ISO8601-2} format date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifdatecirca} test is true. Prints \cmd{textasciitilde}. - -\csitem{enddatecircaprintiso} -Prints \acr{ISO8601-2} format date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifenddatecirca} test is true. Prints \cmd{textasciitilde}. - -\csitem{dateeraprint}{yearfield} -Prints date era information when the global option \opt{dateera} is set to or . By default, prints the \opt{dateeradelim} delimiter and the appropriate localised era term (\secref{aut:lng:key:dt}). If the \opt{dateeraauto} option is set, then the passed \prm{yearfield} (which is the name of a year field such as , , etc.) is tested to see if its value is earlier than the \opt{dateeraauto} threshold and if so, then the BCE/CE localisation will be output too. The default setting for \opt{dateeraauto} is 0 and so only BCE/BC localisation strings are candidates for output. Detects whether the start or end year era information is to be printed by looking at the \prm{yearfield} name passed to it. - -\csitem{dateeraprintpre} -Prints date era information when the global option \opt{dateera} is set to . By default, prints \opt{bibdataeraprefix}. Detects whether the start or end year era information is to be printed by looking at the \prm{yearfield} name passed to it. - \csitem{textcitedelim} Similar to \cmd{multicitedelim}, but used by \cmd{textcite} and related commands (\secref{use:cit:cbx}). The default is a comma plus an interword space. The standard styles modify this provisional definition to ensure that the delimiter before the final citation is the localised term , separated by interword spaces. See also \cmd{finalandcomma} and \cmd{finalandsemicolon} in \secref{use:fmt:lng}. @@ -4784,13 +4980,13 @@ The delimiter printed between the name\slash title and the label by alphabetic a The delimiter printed between the substitute for the labelname when it does not exist (usually the label or title in standard styles) and the year in author-year citation and bibliography styles. This is only used when there is no labelname since when the labelname exists, \cmd{nameyeardelim} is used. The default definition is an interword space. \csitem{authortypedelim}\CSdelimMark -The delimiter printed between the author and the \texttt{authortype}. +The delimiter printed between the author and the \texttt{authortype}. The default is a comma followed by a space. \csitem{editortypedelim}\CSdelimMark -The delimiter printed between the editor and the \texttt{editor} or \texttt{editortype} string. +The delimiter printed between the editor and the \texttt{editor} or \texttt{editortype} string. The default is a comma followed by a space. \csitem{translatortypedelim}\CSdelimMark -The delimiter printed between the translator and the \texttt{translator} string. +The delimiter printed between the translator and the \texttt{translator} string. The default is a comma followed by a space. \csitem{labelalphaothers} A string to be appended to the non"=numeric portion of the \bibfield{labelalpha} field (\ie the field holding the citation label used by alphabetic citation styles) if the number of authors\slash editors exceeds the \opt{maxalphanames} threshold or the \bibfield{author}\slash \bibfield{editor} list was truncated in the \file{bib} file with the keyword <\texttt{and others}>. This will typically be a single character such as a plus sign or an asterisk. The default is a plus sign. This command may also be redefined to an empty string to disable this feature. In any case, it must be redefined in the preamble. @@ -4805,15 +5001,28 @@ Similar to \cmd{labelalphaothers} but used in the sorting process. Setting it to % If \cmd{sortalphaothers} is not redefined, it defaults to \cmd{labelalphaothers}. -\csitem{prenotedelim} +\csitem{volcitedelim} +The delimiter printed between the volume portion and the page/text portion of \cmd{volcite} and related commands (\secref{use:cit:spc}). + +\cmditem{mkvolcitenote}{volume}{pages} + +This macro formats the \prm{volume} and \prm{pages} arguments of \cmd{volcite} and related commands (\secref{use:cit:spc}) when they are passed on to the underlying citation command. + +\csitem{prenotedelim}\CSdelimMark The delimiter printed after the \prm{prenote} argument of a citation command. See \secref{use:cit} for details. The default is an interword space. -\csitem{postnotedelim} +\csitem{postnotedelim}\CSdelimMark The delimiter printed before the \prm{postnote} argument of a citation command. See \secref{use:cit} for details. The default is a comma plus an interword space. -\csitem{extpostnotedelim} +\csitem{extpostnotedelim}\CSdelimMark The delimiter printed between the citation and the parenthetical \prm{postnote} argument of a citation command when the postnote occurs outside of the citation parentheses. In the standard styles, this occurs when the citation uses the shorthand field of the entry. See \secref{use:cit} for details. The default is an interword space. +\csitem{multiprenotedelim}\CSdelimMark +The delimiter printed after the \prm{multiprenote} argument of a citation command. See \secref{use:cit} for details. The default is \cs{prenotedelim}. + +\csitem{multipostnotedelim}\CSdelimMark +The delimiter printed before the \prm{multipostnote} argument of a citation command. See \secref{use:cit} for details. The default is \cs{postnotedelim}. + \cmditem{mkbibname}{text} This command, which takes one argument, is used to format the name part of name list fields. The default datamodel defines the name parts , , and and therefore the following macros are automatically defined: @@ -4832,6 +5041,48 @@ For backwards compatibility with the legacy \bibtex name parts, the following ar \mkbibnameaffix \end{ltxexample} +\csitem{mkbibcompletenamefamily}{text} +This command, which takes one argument, is used to format the complete name in \texttt{family} format order. + +\csitem{mkbibcompletenamefamilygiven}{text} +This command, which takes one argument, is used to format the complete name in \texttt{family-given} format order. + +\csitem{mkbibcompletenamegivenfamily}{text} +This command, which takes one argument, is used to format the complete name in \texttt{given-family} format order. + +\cmditem{mkbibcompletename}{text} +The initial value of all default formatting hooks \cmd{mkbibcompletename}. + +\csitem{datecircadelim}\CSdelimMark +When formatting dates with the global option \opt{datecirca} enabled, the delimiter printed after any localised term. Defaults to interword space. + +\csitem{dateeradelim}\CSdelimMark +When formatting dates with the global option \opt{dateera} set, the delimiter printed before the localisation era term. Defaults to interword space. + +\csitem{dateuncertainprint} +Prints date uncertainty information when the global option \opt{dateuncertain} is enabled and the \cmd{ifdateuncertain} test is true. By default, prints the language specific \cmd{bibdateuncertain} string (\secref{use:fmt:lng}). + +\csitem{enddateuncertainprint} +Prints date uncertainty information when the global option \opt{dateuncertain} is enabled and the \cmd{ifenddateuncertain} test is true. By default, prints the language specific \cmd{bibdateuncertain} string (\secref{use:fmt:lng}). + +\csitem{datecircaprint} +Prints date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifdatecirca} test is true. By default, prints the localised term (\secref{aut:lng:key:dt}) and the \opt{datecircadelim} delimiter. + +\csitem{enddatecircaprint} +Prints date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifenddatecirca} test is true. By default, prints the localised term (\secref{aut:lng:key:dt}) and the \opt{datecircadelim} delimiter. + +\csitem{datecircaprintiso} +Prints \acr{ISO8601-2} format date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifdatecirca} test is true. Prints \cmd{textasciitilde}. + +\csitem{enddatecircaprintiso} +Prints \acr{ISO8601-2} format date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifenddatecirca} test is true. Prints \cmd{textasciitilde}. + +\csitem{dateeraprint}{yearfield} +Prints date era information when the global option \opt{dateera} is set to or . By default, prints the \opt{dateeradelim} delimiter and the appropriate localised era term (\secref{aut:lng:key:dt}). If the \opt{dateeraauto} option is set, then the passed \prm{yearfield} (which is the name of a year field such as , , etc.) is tested to see if its value is earlier than the \opt{dateeraauto} threshold and if so, then the BCE/CE localisation will be output too. The default setting for \opt{dateeraauto} is 0 and so only BCE/BC localisation strings are candidates for output. Detects whether the start or end year era information is to be printed by looking at the \prm{yearfield} name passed to it. + +\csitem{dateeraprintpre} +Prints date era information when the global option \opt{dateera} is set to . By default, prints \opt{bibdataeraprefix}. Detects whether the start or end year era information is to be printed by looking at the \prm{yearfield} name passed to it. + \csitem{relatedpunct} The separator between the \bibfield{relatedtype} bibliography localisation string and the data from the first related entry. Here is an example with \cmd{relatedpunct} set to a dash: @@ -5011,6 +5262,10 @@ The language specific marker which is printed as a prefix to end BCE/BC dates in The language specific marker which separates time components. Defaults to a colon. +\csitem{bibutctimezone} + +The language specific string printed for the UTC timezone. Defaults to . + \csitem{bibtimezonesep} The language specific marker which separates an optional time zone component from a time. Empty by default. @@ -5078,7 +5333,7 @@ The length registers and counters in this section may be changed in the document \lenitem{bibhang} -The hanging indentation of the bibliography, if applicable. This length is initialized to \cmd{parindent} at load-time. +The hanging indentation of the bibliography, if applicable. This length is initialized to \cmd{parindent} at load-time. If \cmd{parindent} is zero length for some reason, \cmd{bibhang} will default to \texttt{1em}. \lenitem{biblabelsep} @@ -5112,6 +5367,42 @@ This counter holds a penalty affecting line"=breaking in names. Please refer to Similar to \cnt{highnamepenalty}. Please refer to \secref{use:cav:nam,use:fmt:fmt} for explanation. The counter is initialized to half the \cmd{hyphenpenalty} at load-time. Use a higher value if you dislike the respective linebreaks. If you do not mind them at all, set this counter to zero. +\cntitem{biburlnumpenalty} + +If this counter is set to a value greater than zero, \biblatex will permit linebreaks after numbers in all strings formatted with the \cmd{url} command from the \sty{url} package. This will affect \acr{url}s and \acr{doi}s in the bibliography. The breakpoints will be penalized by the value of this counter. If \acr{url}s and/or \acr{doi}s in the bibliography run into the margin, try setting this counter to a value greater than zero but less than 10000 (you normally want to use a high value like 9000). Setting the counter to zero disables this feature. This is the default setting. + +\cntitem{biburlucpenalty} + +Similar to \cnt{biburlnumpenalty}, except that it will add a breakpoint after all uppercase letters. + +\cntitem{biburllcpenalty} + +Similar to \cnt{biburlnumpenalty}, except that it will add a breakpoint after all lowercase letters. + +\cntitem{biburlbigbreakpenalty} + +The \sty{biblatex} version of \sty{url}'s \len{UrlBigBreakPenalty}. The default value is \texttt{100}. + +\cntitem{biburlbreakpenalty} + +The \sty{biblatex} version of \sty{url}'s \len{UrlBreakPenalty}. The default value is \texttt{200}. + +\lenitem{biburlbigskip} + +The \sty{biblatex} version of \len{Urlmuskip}. This length holds the additional (stretchable) space inserted around breakable characters in the \cmd{url} command from the \sty{url} package. The default value is \texttt{0mu plus 3mu}. + +\lenitem{biburlnumskip} + +The additional space inserted after numbers in strings formatted with the \cmd{url} command from the \sty{url} package. This will affect \acr{url}s and \acr{doi}s in the bibliography. If \acr{url}s and/or \acr{doi}s in the bibliography run into the margin, it may help to set this length to add some small stretchable space, for example \texttt{0mu plus 1mu}. The default setting is \texttt{0mu}. This value is only used if \cnt{biburlnumpenalty} is set to a value different from zero. + +\lenitem{biburlucskip} + +Similar to \cnt{biburlnumskip}, except that it will add space after all uppercase letters. + +\lenitem{biburllcskip} + +Similar to \cnt{biburlnumskip}, except that it will add space after all uppercase letters. + \end{ltxsyntax} \subsubsection{All-purpose Commands} @@ -5143,7 +5434,7 @@ An explicit, non-breakable hyphen intended for compound words. In contrast to a \csitem{nohyphenation} -A generic switch which suppresses hyphenation locally. Its scope should normally be confined to a group. +A generic switch which suppresses hyphenation locally. Its scope should normally be confined to a group. The command uses a language without hyphenation patterns to suppress hyphenation. The idea was taken from Peter Wilson's \sty{hyphenat} package. Note that this command should only be used for small portions of text and that its effects are negated if \sty{babel}/\sty{polyglossia} is used to switch the language while it is active. \cmditem{textnohyphenation}{text} @@ -5247,8 +5538,12 @@ Like the Greek localisation module, the Russian module also requires \utf suppor \subsubsection{Hungarian} \label{use:loc:hun} -The Hungarian localisation module needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Hungarian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Hungarian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the page number as a prefix following Hungarian convention, and all formats of fields involving pages were modified so that page ranges are printed as ordinal ranges. The Hungarian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it. +The Hungarian localisation module needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Hungarian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Hungarian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the or string as a suffix after the page number following Hungarian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals. The Hungarian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it. + +\subsubsection{Latvian} +\label{use:loc:lav} +The Latvian localisation module, like the Hungarian language module, needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Latvian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Latvian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the or string as a suffix after the page number following Latvian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals. The Latvian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it. \subsection{Usage Notes} \label{use:use} @@ -6080,6 +6375,8 @@ Defines a bibliography driver. A is a macro which handles a specific en If a bibliography driver covers more than one entry type, this command may be used to define an alias where \prm{entrytype} is the name of a defined driver. This command is optional. The \prm{alias} argument may also be an asterisk. In this case, the \prm{entrytype} driver serves as a fallback which is used if no specific driver for an entry has been defined. +Note that an alias declared with \cmd{DeclareBibliographyAlias} only the bibliography driver from \prm{alias} to \prm{entrytype}. Type-specific formatting directives still operate with the old \prm{alias} name. \cmd{DeclareBibliographyAlias} thus provides only a alias. If a complete alias is desired so that \prm{alias} and \prm{entrytype} are completely indistinguishable and use the same type-specific formatting, an approach with source mapping would be more appropriate (cf.~the mappings for \secref{bib:typ:als} in \secref{apx:maps:bibtex}, this would give a alias). + \cmditem{DeclareBibliographyOption}[datatype]{key}[value]{code} This command defines additional preamble options in \keyval format. The \prm{key} is the option key. The \prm{code} is arbitrary \tex code to be executed whenever the option is used. The value passed to the option is passed on to the \prm{code} as |#1|. The optional \prm{value} is a default value to be used if the bare key is given without any value. This is useful for boolean switches. @@ -6095,10 +6392,18 @@ giving <\texttt{somekey}> without a value is equivalent to <\kvopt{somekey}{true \DeclareDatamodelConstant[type=list]{optiondatatypes}{boolean,integer,string,xml} \end{ltxexample} +\cmditem{DeclareTypeOption}[datatype]{key}[value]{code} + +Similar to \cmd{DeclareBibliographyOption} but defines options which are settable on a per"=type basis using the optional argument of \cmd{ExecuteBibliographyOptions} (see \secref{use:cfg:opt}). The \prm{code} is executed whenever \biblatex prepares the data of an entry of the type for which the option has been set for use by a citation command or a bibliography driver. + \cmditem{DeclareEntryOption}[datatype]{key}[value]{code} Similar to \cmd{DeclareBibliographyOption} but defines options which are settable on a per"=entry basis in the \bibfield{options} field from \secref{bib:fld:spc}. The \prm{code} is executed whenever \biblatex prepares the data of the entry for use by a citation command or a bibliography driver. +\cmditem{DeclareBiblatexOption}{scope,\dots}[datatype]{key}[value]{code} + +This command is a convenient interface to declare an option for several scopes at once. The \prm{scope} argument may be a comma"=separated list of scopes for which the option will be declared. Currently the scopes \opt{global}, \opt{type}, \opt{entry}, \opt{namelist} and \opt{name} are supported, the first three of which are equivalent to defining the option with \cmd{DeclareBibliographyOption}, \cmd{DeclareTypeOption} and \cmd{DeclareEntryOption}, respectively. + \end{ltxsyntax} \subsubsection{Bibliography Environments} @@ -6215,9 +6520,9 @@ Names depend on the datamodel constant which has the default definit {prefix,family,suffix,given} \end{ltxexample} % -This can be customised to add more name parts to deal with things like patronymics (see the example file \file{93-nameparts.tex}). Naturally this needs an extended name format for data sources. \biblatexml (\secref{apx:biblatexml}) handles this natively and there is an extended name format which can handle custom nameparts available when using \biber (see \biber documentation). +This can be customised to add more name parts to deal with things like patronymics (see the example file \file{93-nameparts.tex}). This needs an extended name format for data sources since the standard \bibtex name format is very limited. \biblatexml (\secref{apx:biblatexml}) handles this natively and there is an extended name format which can handle custom nameparts when using \biber (see \biber documentation). -Inside name formats, the nameparts constant declaration makes available two or three macros for each name part defined in the datamodel: +Inside name formats, the constant declaration makes available two or three macros for each name part defined in the datamodel: \begin{ltxexample} \namepart \% The full @@ -6291,9 +6596,15 @@ but would additionally have the field \bibfield{dateunspecified} set to of the date field name chosen by The entry type (\bibtype{book}, \bibtype{inbook}, etc.), given in lowercase letters. -\fielditem{childentrytype}{string}\DeprecatedMark +\fielditem{childentrytype}{string} -This field is no longer necessary or recommended. For backwards +This field is no longer necessary or recommended.\DeprecatedMark For backwards compatibility, it is merely a copy of the \bibfield{entrytype} field in any set children. @@ -7022,6 +7333,14 @@ The \prm{multiprenote} argument passed to a multicite command. This field is spe The \prm{multipostnote} argument passed to a multicite command. This field is specific to citations and not available in the bibliography. If the \prm{multipostnote} argument is missing or empty, this field is undefined. +\fielditem{volcitevolume}{literal} + +The \prm{volume} argument passed to \cmd{volcite} or a related citation command (\secref{use:cit:spc}). This field is specific to \cmd{volcite} citations and not available in the bibliography or other citations. + +\fielditem{volcitepages}{literal} + +The \prm{pages} argument passed to \cmd{volcite} or a related citation command (\secref{use:cit:spc}). This field is specific to \cmd{volcite} citations and not available in the bibliography or other citations. If the \prm{pages} argument is missing or empty, this field is undefined. + \fielditem{postpunct}{punctuation command} The trailing punctuation argument implicitly passed to a citation command. This field is specific to citations and not available in the bibliography. If the character following a given citation command is not specified in \cmd{DeclareAutoPunctuation} (\secref{aut:pct:cfg}), this field is undefined. @@ -7159,7 +7478,7 @@ This command is intended for use in bibliography drivers handling \bibtype{set} \cmditem{DeclareFieldInputHandler}{field}{code} -This command can be used to define a data input handler for \prm{field} when it is read from the \file{.bbl}. Within the \prm{code}, the macro \cmd{NewValue} contains the value of the field. For example, to ignore the \bibfield{volumes} field when it appears, you could do +This command can be used to define a data input handler for \prm{field} when it is read from the \file{.bbl}. The \prm{code} is passed one argument (\lstinline{#1}), which contains the input field value, it should then redefine the command \cmd{NewValue}, which holds the desired output field value. For example, to ignore the \bibfield{volumes} field when it appears, you could do \begin{ltxexample} \DeclareFieldInputHandler{volumes}{\def\NewValue{}} @@ -7167,15 +7486,23 @@ This command can be used to define a data input handler for \prm{field} when it % Generally, you would want to use \cmd{DeclareSourcemap} (see \secref{aut:ctm:map}) to remove and modify fields but this alternative method may be useful in some circumstances when the emphasis is on appearance rather than data since the \prm{code} can be arbitraty \tex. +In general, \cmd{DeclareFieldInputHandler} should not be used to apply formatting to a field, since that should happen with \cmd{DeclareFieldFormat}, so the following is just a toy example that shows how \cmd{DeclareFieldInputHandler} works. + +\begin{ltxexample} +\DeclareFieldInputHandler{volumes}{\def\NewValue{\textbf{#1}}} +\end{ltxexample} + \cmditem{DeclareListInputHandler}{list}{code} As \cmd{DeclareFieldInputHandler} but for lists. Within the \prm{code}, the macro \cmd{NewValue} contains the value of the list and \cmd{NewCount} contains the number of items in the list. +Note that \cmd{NewValue} as well as the single argument to \prm{code} contain the internal representation of the list. \cmditem{DeclareNameInputHandler}{name}{code} As \cmd{DeclareFieldInputHandler} but for names. Within the \prm{code}, the macro \cmd{NewValue} contains the value of the name, \cmd{NewCount} contains the number of individual names in the name and \cmd{NewOption} contains any per-name options passed in the \file{.bbl}. +Note that \cmd{NewValue} as well as the single argument to \prm{code} contain the internal representation of the name list. \end{ltxsyntax} @@ -7545,6 +7872,7 @@ A mapping step. Each step is applied sequentially to every relevant entry where \boolitem[false]{entrynocite} \boolitem[false]{entrynull} \boolitem[false]{append} +\boolitem[false]{appendstrict} \boolitem[false]{final} \boolitem[false]{null} \boolitem[false]{origfield} @@ -7597,8 +7925,9 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to exists then the map step is ignored. If \texttt{final} is also true for this step, then processing of the parent map stops at this point. If \texttt{append} is true, then the value to set is appended to the current - value of \prm{entryfield}. The value to set is specified by a mandatory - one and only one of the following options: + value of \prm{entryfield}. \texttt{appendstrict} only appends to + \prm{entryfield} if \prm{entryfield} is not empty. The value to set is + specified by a mandatory one and only one of the following options: \begin{itemize} \item\ \texttt{fieldvalue} --- The \texttt{fieldset} \prm{entryfield} is set to the \texttt{fieldvalue} \prm{string} \item\ \texttt{null} --- The \texttt{fieldset} \prm{entryfield} is ignored, as if it did not exist in the datasource @@ -8074,7 +8403,7 @@ Specifies a constraint of type \prm{constrainttype}. Valid constraint types are: Constraints of type put restrictions on the value of a field. Constraints of type specify which fields or combinations of fields an entrytype should have. Constraints of type allow more sophisticated conditional and quantified field constraints. -\choitem{datatype}{integer, isbn, issn, ismn, date, pattern} +\choitem{datatype}{integer, isbn, issn, ismn, datepart, pattern} For constraints of type \prm{data}, constrain field values to be the given datatype. @@ -8226,7 +8555,7 @@ Specifies the elements used to build the label. The \prm{elements} are an undeli \cmditem{field}[options]{field} -If \prm{field} is non-empty, use it as the current label \cmd{labelelement}, subject to the options below. Useful values for \prm{field} are typically the name list type fields, date fields, and title fields. You may also use the `citekey' pseudo-field to specify the citation key as part of the label. Name list fields are treated specially and when a name list field is specified, the template defined with \cmd{DeclareLabelalphaNameTemplate} is used to extract parts from the name which then returns the string that the \cmd{field} option uses. +If \prm{field} is non-empty, use it as the current label \cmd{labelelement}, subject to the options below. Useful values for \prm{field} are typically the name list type fields, date fields, and title fields. You may also use the `citekey' or `entrykey` pseudo-fields to specify the citation/entry key as part of the label. Name list fields are treated specially and when a name list field is specified, the template defined with \cmd{DeclareLabelalphaNameTemplate} is used to extract parts from the name which then returns the string that the \cmd{field} option uses. \begin{optionlist*} @@ -8294,11 +8623,11 @@ ifnames={2-} -> Only apply to name lists containing at least 2 names By default, for name list fields, the names used range from the first name to the \cnt{maxalphanames}\slash \cnt{minalphanames} truncation. This option can be used to override this with an explicit range of names to consider. The plus <+> sign is a special end of range marker denoting the truncation point of max/minalphanames. The range separator can be any number of characters with the Unicode Dash property. For example: \begin{lstlisting}[language=xml] -name=3 -> Use first 3 names in the name list -name={2-3} -> Use second and thirds names only -name={-3} -> Same as 1-3 -name={2-} -> Use all names starting with the second name (ignoring max/minalphanames truncation) -name={2-+} -> Use all names starting with the second name (respecting max/minalphanames truncation) +names=3 -> Use first 3 names in the name list +names={2-3} -> Use second and thirds names only +names={-3} -> Same as 1-3 +names={2-} -> Use all names starting with the second name (ignoring max/minalphanames truncation) +names={2-+} -> Use all names starting with the second name (respecting max/minalphanames truncation) \end{lstlisting} \valitem[empty]{namessep}{string} @@ -8343,7 +8672,7 @@ When constructing label strings from names, the \cmd{namepart} \emph{without} a \boolitem[false]{compound} -For static (non-varwidth) disambiguation in \cmd{DeclareLabelalphaTemplate}, nameparts separated by whitespace or hyphens (compound names) as separate names for label generation. This means that when forming a label out of, for example the surname with a 1 character, left-side substring, this name would give with \kvopt{compound}{true} and with \kvopt{compound}{false}. The short form \opt{compound} is equivalent to \kvopt{compound}{true}. +For static (non-varwidth) disambiguation in \cmd{DeclareLabelalphaTemplate}, treat nameparts separated by whitespace or hyphens (compound names) as separate names for label generation. This means that when forming a label out of, for example the surname with a 1 character, left-side substring, this name would give with \kvopt{compound}{true} and with \kvopt{compound}{false}. The short form \opt{compound} is equivalent to \kvopt{compound}{true}. \intitem[1]{strwidth} @@ -9448,6 +9777,18 @@ Expands to the unformatted \prm{literal list}. If the list is undefined, this co Similar to \cmd{thelist}, except that the list internal representation is automatically sanitized such that its value may safely be used in the formation of a control sequence name. +\cmditem{thefirstlistitem}{literal list} + +Expands to the unformatted first item in \prm{literal list}. If the \prm{literal list} is undefined, this command expands to an empty string. + +\cmditem{strfirstlistitem}{literal list} + +Similar to \cmd{thefirstlistitem}, except that the item is automatically sanitized such that its value may safely be used in the formation of a control sequence name. + +\cmditem{usefirstlistitem}{command}{literal list} + +Executes \prm{command} using the unformatted first item of \prm{literal list} as its argument. + \cmditem{thename}{name list} Expands to the unformatted \prm{name list}. If the list is undefined, this command expands to an empty string. Note that this command will dump the \prm{name list} in the internal format used by this package. This format is not suitable for printing. @@ -9898,6 +10239,10 @@ Executes \prm{true} if \biblatex's punctuation tracker would capitalize a locali \cmditem{ifcitation}{true}{false} Expands to \prm{true} when located in a citation, and to \prm{false} otherwise. Note that this command is responsive to the outermost context in which it is used. For example, if a citation command defined with \cmd{DeclareCiteCommand} executes a driver defined with \cmd{DeclareBibliographyDriver}, any \cmd{ifcitation} tests in the driver code will yield \prm{true}. See \secref{aut:cav:mif} for a practical example. + +\cmditem{ifvolcite}{true}{false} + +Expands to \prm{true} when located in \cmd{volcite} or a related citation command (\secref{use:cit:spc}), and to \prm{false} otherwise. \cmditem{ifbibliography}{true}{false} @@ -10126,7 +10471,36 @@ Macros in titles must also be protected with braces title = {The {\TeX book}}, \end{lstlisting} % -Due to its complex implementation this command can not accept arbitrary input, it only safely operates on raw text or field data. In the standard styles the \texttt{title} and other \texttt{title}-like field formats do not work together with \cmd{MakeSentenceCase} because of their argument structure, so the standard styles offer a dedicated \texttt{titlecase} field format to apply this command. To enable sentence casing in standard styles for languages that support it you would use: +Unlike \bibtex's built-in case changing function \texttt{change.case\$} \biblatex's \cmd{MakeSentenceCase} is implemented in \latex, it may therefore behave differently in certain situations and is more fragile. +Currently \cmd{MakeSentenceCase} behaves as follows. +\begin{itemize}\setlength{\labelsep}{1em} + \item The first letter of its argument is capitalised with \cmd{MakeUppercase}. This is different from \bibtex's \texttt{change.case\$}, which does not touch the first letter of its argument. Note that a pair of braces that starts with a control sequence will be treated as one character for capitalisation purposes. This means that the entire argument of a command protected with a single pair of braces is capitalised. + \item Expandable commands are expanded before the case change, which means that the case change applies to the replacement text. Unexpandable commands are not touched. \bibtex does not interpret macros and therefore passes commands through unchanged (this does not necessarily apply to the \emph{arguments} of those commands). + \item Text wrapped in one or more pairs of braces is protected from case change unless it starts with a control sequence. This is the same behaviour as with \bibtex. Note that the braces could either be explicit groups or argument delimiters. + \item Text in a single pair of braces that starts with a control sequence is not protected and will be subject to case changes. Note that this need not apply to braces that are argument delimiters, in fact the implementation of \cmd{MakeSentenceCase} may in some cases produce an error or otherwise undesirable output if the argument of a command starts with a control sequence. \bibtex's case change function does not differentiate between argument delimiters and brace groups and always subjects text at brace level~1 to case change if it starts with a control sequence. +\end{itemize} + +For most intents and purposes the following rules should give a sensible result. +\begin{itemize}\setlength{\labelsep}{1em} + \item Protect all words whose case should not be changed by wrapping them in one pair of braces. + \item If words are already in the braced argument of a command such as \cmd{mkbibquote} or \cmd{emph}, they are automatically protected. + \begin{itemize} + \item To \emph{undo} this protection wrap the command in braces again. + \item It is not possible to selectively re-apply protection if it has been undone with an additional pair of braces. If a more fine-grained control is needed, work-arounds like splitting the argument could be tried. + \end{itemize} + \item While it is possible to protect words from case change at the beginning of a field with a pair of braces, it is not possible to undo the case protection that a command automatically implies by wrapping it in braces in that position. In that case work-arounds are necessary. +\end{itemize} + + +\begin{lstlisting}[style=bibtex]{} +title = {The Story of {HMS} \emph{Erebus} in {\emph{Really}} Strong Wind}, +\end{lstlisting} +would be converted to sentence case by \cmd{MakeSentenceCase} as +\begin{quote} +The story of HMS \emph{Erebus} in {\emph{really}} strong wind +\end{quote} + +Due to its complex implementation this command can not accept arbitrary input, it only safely operates on raw text or field data. In the standard styles the \bibfield{title} and other \bibfield{title}-like field formats do not work together with \cmd{MakeSentenceCase} because of their argument structure, so the standard styles offer a dedicated \texttt{titlecase} field format to apply this command. To enable sentence casing in standard styles for languages that support it you would use: \begin{ltxexample} \DeclareFieldFormat{titlecase}{<<\MakeSentenceCase*{#1}>>} \end{ltxexample} @@ -10194,8 +10568,8 @@ The pagination strings are taken from \texttt{$<$pagination$>$total} and \texttt \label{aut:aux:tab1} \end{table} -\cmditem{mkcomprange}[postpro]{text} -\cmditem*{mkcomprange*}[postpro]{text} +\cmditem{mkcomprange}[postpro][itempostpro]{text} +\cmditem*{mkcomprange*}[postpro][itempostpro]{text} This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and compress them. For example, «125--129» may be formatted as «125--9». You may configure the behavior of \cmd{mkcomprange} by adjusting the \latex counters \cnt{mincomprange}, \cnt{maxcomprange}, and \cnt{mincompwidth}, as illustrated in \tabref{aut:aux:tab1}. The default settings are \texttt{10}, \texttt{100000}, and \texttt{1}, respectively. This means that the command tries to compress as much as possible by default. Use \cmd{setcounter} to adjust the parameters. The scanner recognises \cmd{bibrangedash} and hyphens as range dashes. It will normalize the dash by replacing any number of consecutive hyphens with \cmd{bibrangedash}. Lists of ranges delimited with \cmd{bibrangessep} are also supported. The scanner will normalise any comma or semi-colons surrounded by optional space by replacing them with \cmd{bibrangessep}. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. This is important if you want to combine \cmd{mkcomprange} with other formatting macros which also need to parse their \prm{text} argument, such as \cmd{mkpageprefix}. Simply nesting these commands will not work as expected. Use the \prm{postpro} argument to set up the processing chain as follows: @@ -10216,16 +10590,18 @@ will output: pp. 5, 123-9, 423-39 p. 5, pp. 123-9, pp. 423-39 \end{ltxexample} +% +The second optional argument \prm{itempostpro} is used to post-process each individual number item in the formatted list. It can be used to convert numbers from cardinals to ordinals. If only one optional argument is present, it is treated as \prm{postpro}. -\cmditem{mknormrange}[postpro]{text} -\cmditem*{mknormrange*}[postpro]{text} +\cmditem{mknormrange}[postpro][itempostpro]{text} +\cmditem*{mknormrange*}[postpro][itempostpro]{text} -This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and will normalise them. The command is similar to \cmd{mkcomprange} except that the page ranges will not be compressed. The scanner recognises \cmd{bibrangedash} and hyphens as range dashes. It will normalize the dash by replacing any number of consecutive hyphens with \cmd{bibrangedash}. Lists of ranges delimited with \cmd{bibrangessep} are also supported. The scanner will normalise any comma or semi-colons surrounded by optional space by replacing them with \cmd{bibrangessep}. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. See \cmd{mkcomprange} on how to use this argument. The starred version of this command differs from the regular one in the way the \prm{postpro} argument is applied to a list of values. +This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and will normalise them. The command is similar to \cmd{mkcomprange} except that the page ranges will not be compressed. The scanner recognises \cmd{bibrangedash} and hyphens as range dashes. It will normalize the dash by replacing any number of consecutive hyphens with \cmd{bibrangedash}. Lists of ranges delimited with \cmd{bibrangessep} are also supported. The scanner will normalise any comma or semi-colons surrounded by optional space by replacing them with \cmd{bibrangessep}. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. See \cmd{mkcomprange} on how to use this argument. The starred version of this command differs from the regular one in the way the \prm{postpro} argument is applied to a list of values. The second optional argument \prm{itempostpro} is used to post-process each individual number item in the formatted list. It can be used to convert numbers from cardinals to ordinals. If only one optional argument is present, it is treated as \prm{postpro}. -\cmditem{mkfirstpage}[postpro]{text} -\cmditem*{mkfirstpage*}[postpro]{text} +\cmditem{mkfirstpage}[postpro][itempostpro]{text} +\cmditem*{mkfirstpage*}[postpro][itempostpro]{text} -This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and print the start page of the range only. The scanner recognizes \cmd{bibrangedash} and hyphens as range dashes. Lists of ranges delimited with \cmd{bibrangessep} are also supported. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. See \cmd{mkcomprange} on how to use this argument. The starred version of this command differs from the regular one in the way the \prm{postpro} argument is applied to a list of values. For example: +This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and print the start page of the range only. The scanner recognizes \cmd{bibrangedash} and hyphens as range dashes. Lists of ranges delimited with \cmd{bibrangessep} are also supported. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. See \cmd{mkcomprange} on how to use this argument. The starred version of this command differs from the regular one in the way the \prm{postpro} argument is applied to a list of values. The second optional argument \prm{itempostpro} is used to post-process each individual number item in the formatted list. It can be used to convert numbers from cardinals to ordinals. If only one optional argument is present, it is treated as \prm{postpro}. For example: \begin{ltxexample} \mkfirstpage[\mkpageprefix]{5, 123-129, 423-439} @@ -11434,6 +11810,26 @@ This section corresponds to \secref{use:fmt} in the user part of this manual. Bi This section corresponds to \secref{use:fmt:fmt} in the user part of the manual. The commands and hooks discussed here are meant to be redefined by users, but bibliography and citation styles may provide a default definition which is different from the package default. These commands are defined in \path{biblatex.def}. Note that all commands starting with \cmd{mk\dots} take one mandatory argument. \begin{ltxsyntax} +\csitem{bibsetup} +Arbitrary code to be executed at the beginning of the bibliography, intended for commands which affect the layout of the bibliography. + +\csitem{bibfont} +Arbitrary code setting the font used in the bibliography. This is very similar to \cmd{bibsetup} but intended for switching fonts. + +\csitem{citesetup} +Arbitrary code to be executed at the beginning of each citation command. + +\csitem{newblockpunct} +The separator inserted between in the sense explained in \secref{aut:pct:new}. The default definition is controlled by the package option \opt{block} (see \secref{use:opt:pre:gen}). + +\csitem{newunitpunct} +The separator inserted between in the sense explained in \secref{aut:pct:new}. This will usually be a period or a comma plus an interword space. The default definition is a period and a space. + +\csitem{finentrypunct} +The punctuation printed at the very end of every bibliography entry, usually a period. The default definition is a period. + +\csitem{entrysetpunct} +The punctuation printed between bibliography subentries of an entry set. The default definition is a semicolon and a space. \csitem{bibnamedelima} This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically by the backend after the first name element if the element is less than three characters long and before the last element. The default definition is \cmd{addhighpenspace}, \ie a space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. @@ -11504,89 +11900,143 @@ The separator to be printed before the \bibfield{pages} field. Use this separato \csitem{bibpagerefpunct} The separator to be printed before the \bibfield{pageref} field. Use this separator instead of \cmd{newunitpunct} at this location. The default is an interword space. -\csitem{multinamedelim} -The delimiter to be printed between multiple items in a name list like \bibfield{author} or \bibfield{editor} if there are more than two names in the list. If there are only two names in the list, use the \cmd{finalnamedelim} instead. This command should be incorporated in all formatting directives for name lists. +\csitem{multinamedelim}\CSdelimMark +The delimiter to be printed between multiple items in a name list like \bibfield{author} or \bibfield{editor} if there are more than two names in the list. If there are only two names in the list, use the \cmd{finalnamedelim} instead. This command should be incorporated in all formatting directives for name lists. The default is a comma followed by an interword space. -\csitem{finalnamedelim} -Use this command instead of \cmd{multinamedelim} before the final name in a name list. +\csitem{finalnamedelim}\CSdelimMark +Use this command instead of \cmd{multinamedelim} before the final name in a name list. The default is the localised term , separated by interword spaces. -\csitem{revsdnamedelim} +\csitem{revsdnamedelim}\CSdelimMark The extra delimiter to be printed after the first name in a name list consisting of two names (in addition to \cmd{finalnamedelim}) if the first name is reversed. This command should be incorporated in all formatting directives for name lists. -\csitem{andothersdelim} -The delimiter to be printed before the localisation string <\texttt{andothers}> if a name list like \bibfield{author} or \bibfield{editor} is truncated. This command should be incorporated in all formatting directives for name lists. +\csitem{andothersdelim}\CSdelimMark +The delimiter to be printed before the localisation string <\texttt{andothers}> if a name list like \bibfield{author} or \bibfield{editor} is truncated. This command should be incorporated in all formatting directives for name lists. The default is an interword space. -\csitem{multilistdelim} -The delimiter to be printed between multiple items in a literal list like \bibfield{publisher} or \bibfield{location} if there are more than two names in the list. If there are only two items in the list, use the \cmd{finallistdelim} instead. This command should be incorporated in all formatting directives for literal lists. +\csitem{multilistdelim}\CSdelimMark +The delimiter to be printed between multiple items in a literal list like \bibfield{publisher} or \bibfield{location} if there are more than two names in the list. If there are only two items in the list, use the \cmd{finallistdelim} instead. This command should be incorporated in all formatting directives for literal lists. The default is a comma plus an interword space. -\csitem{finallistdelim} -Use this command instead of \cmd{multilistdelim} before the final item in a literal list. +\csitem{finallistdelim}\CSdelimMark +Use this command instead of \cmd{multilistdelim} before the final item in a literal list. The default is the localised term , separated by interword spaces. -\csitem{andmoredelim} -The delimiter to be printed before the localisation string <\texttt{andmore}> if a literal list like \bibfield{publisher} or \bibfield{location} is truncated. This command should be incorporated in all formatting directives for literal lists. +\csitem{andmoredelim}\CSdelimMark +The delimiter to be printed before the localisation string <\texttt{andmore}> if a literal list like \bibfield{publisher} or \bibfield{location} is truncated. This command should be incorporated in all formatting directives for literal lists. The default is an interword space. \csitem{multicitedelim} -The delimiter printed between citations if multiple entry keys are passed to a single citation command. This command should be incorporated in the definition of all citation commands, for example in the \prm{sepcode} argument passed to \cmd{DeclareCiteCommand}. See \secref{aut:cbx:cbx} for details. +The delimiter printed between citations if multiple entry keys are passed to a single citation command. This command should be incorporated in the definition of all citation commands, for example in the \prm{sepcode} argument passed to \cmd{DeclareCiteCommand}. See \secref{aut:cbx:cbx} for details. The default is a semicolon plus an interword space. \csitem{supercitedelim} -Similar to \cmd{multinamedelim}, but intended for the \cmd{supercite} command only. +Similar to \cmd{multinamedelim}, but intended for the \cmd{supercite} command only. The default is a comma. \csitem{compcitedelim} -Similar to \cmd{multicitedelim}, but intended for citation styles that multiple citations, \ie print the author only once if subsequent citations share the same author etc. +Similar to \cmd{multicitedelim}, but intended for citation styles that multiple citations, \ie print the author only once if subsequent citations share the same author etc. The default definition is a comma plus an interword space. \csitem{textcitedelim} -Similar to \cmd{multicitedelim}, but intended for \cmd{textcite} and related commands (\secref{use:cit:cbx}). +Similar to \cmd{multicitedelim}, but intended for \cmd{textcite} and related commands (\secref{use:cit:cbx}). The default is a comma plus an interword space. The standard styles modify this provisional definition to ensure that the delimiter before the final citation is the localised term , separated by interword spaces. -\csitem{nametitledelim} -The delimiter to be printed between the author\slash editor and the title. This command should be incorporated in the definition of all citation commands of author-title and some verbose citation styles and in the bibliography drivers---in author-year bibliographies \cs{nametitledelim} may be printed between the author\slash editor-year block and the title. +\csitem{nametitledelim}\CSdelimMark +The delimiter to be printed between the author\slash editor and the title. This command should be incorporated in the definition of all citation commands of author-title and some verbose citation styles and in the bibliography drivers---in author-year bibliographies \cs{nametitledelim} may be printed between the author\slash editor-year block and the title. The default definition inside bibliographies is the now deprecated \cmd{labelnamepunct} (for backwrds compatibility reasons) and is a comma plus an interword space otherwise. -\csitem{nameyeardelim} -The delimiter to be printed between the author\slash editor and the year. This command should be incorporated in the definition of all citation commands of author-year citation styles and in the bibliography drivers. +\csitem{nameyeardelim}\CSdelimMark +The delimiter to be printed between the author\slash editor and the year. This command should be incorporated in the definition of all citation commands of author-year citation styles and in the bibliography drivers. The default definition is an interword space. -\csitem{namelabeldelim} -The delimiter printed between the name\slash title and the label. This command should be incorporated in the definition of all citation commands of alphabetic and numeric citation styles. +\csitem{namelabeldelim}\CSdelimMark +The delimiter printed between the name\slash title and the label. This command should be incorporated in the definition of all citation commands of alphabetic and numeric citation styles. The default definition is an interword space. -\csitem{nonameyeardelim} -The delimiter printed between the substitute for the labelname when it does not exist (usually the label or title in standard styles) and the year in author-year citation styles and the bibliography. This is only used when there is no labelname since when the labelname exists, \cmd{nameyeardelim} is used. +\csitem{nonameyeardelim}\CSdelimMark +The delimiter printed between the substitute for the labelname when it does not exist (usually the label or title in standard styles) and the year citation styles and the bibliography drivers. This command should be incorporated in the definition of all citation commands of author-year citation styles and in the bibliography drivers. The default definition is an interword space. -\csitem{authortypedelim} -The delimiter printed between the author and the \texttt{authortype}. +\csitem{authortypedelim}\CSdelimMark +The delimiter printed between the author and the \texttt{authortype}. The default is a comma followed by a space. -\csitem{editortypedelim} -The delimiter printed between the editor and the \texttt{editor} or \texttt{editortype} string. +\csitem{editortypedelim}\CSdelimMark +The delimiter printed between the editor and the \texttt{editor} or \texttt{editortype} string. The default is a comma followed by a space. -\csitem{translatortypedelim} -The delimiter printed between the translator and the \texttt{translator} string. +\csitem{translatortypedelim}\CSdelimMark +The delimiter printed between the translator and the \texttt{translator} string. The default is a comma followed by a space. + +\csitem{labelalphaothers} +A string to be appended to the non"=numeric portion of the \bibfield{labelalpha} field (\ie the field holding the citation label used by alphabetic citation styles) if the number of authors\slash editors exceeds the \opt{maxalphanames} threshold or the \bibfield{author}\slash \bibfield{editor} list was truncated in the \file{bib} file with the keyword <\texttt{and others}>. This will typically be a single character such as a plus sign or an asterisk. The default is a plus sign. This command may also be redefined to an empty string to disable this feature. In any case, it must be redefined in the preamble. + +\csitem{sortalphaothers} +Similar to \cmd{labelalphaothers} but used in the sorting process. Setting it to a different value is advisable if the latter contains formatting commands. If \cmd{sortalphaothers} is not redefined, it defaults to \cmd{labelalphaothers}. \csitem{volcitedelim} The delimiter to be printed between the volume portion and the page/text portion of \cmd{volcite} and related commands (\secref{use:cit:spc}). -\csitem{prenotedelim} -The delimiter to be printed after the \prm{prenote} argument of a citation command. +\csitem{prenotedelim}\CSdelimMark +The delimiter to be printed after the \prm{prenote} argument of a citation command. The default is an interword space. + +\csitem{postnotedelim}\CSdelimMark +The delimiter to be printed before the \prm{postnote} argument of a citation command. The default is a comma plus an interword space. + +\csitem{extpostnotedelim}\CSdelimMark +The delimiter printed between the citation and the parenthetical \prm{postnote} argument of a citation command when the postnote occurs outside of the citation parentheses. In the standard styles, this occurs when the citation uses the shorthand field of the entry. The default is an interword space. + +\csitem{multiprenotedelim}\CSdelimMark +The delimiter to be printed after the \prm{multiprenote} argument of a citation command. + +\csitem{multipostnotedelim}\CSdelimMark +The delimiter to be printed before the \prm{multipostnote} argument of a citation command. + +\cmditem{mkbibname}{text} +Formatting hook for the name part , to be used in all formatting directives for name lists. The default datamodel defines the name parts , , and and therefore the following macros are automatically defined: + +\begin{ltxexample} +\mkbibnamefamily +\mkbibnamegiven +\mkbibnameprefix +\mkbibnamesuffix +\end{ltxexample} -\csitem{postnotedelim} -The delimiter to be printed before the \prm{postnote} argument of a citation command. +\cmditem{mkbibcompletename}{text} +Formatting hook for the complete name in format order . The default styles use the name format orders , and , therefore the following macros are automatically defined: -\csitem{extpostnotedelim} -The delimiter printed between the citation and the parenthetical \prm{postnote} argument of a citation command when the postnote occurs outside of the citation parentheses. In the standard styles, this occurs when the citation uses the shorthand field of the entry. +\begin{ltxexample} +\mkbibcompletenamefamily +\mkbibcompletenamefamilygiven +\mkbibcompletenamegivenfamily +\end{ltxexample} +% +These formatting hooks should enclose the complete name in the bibliography macro \cmd{name:}. Initially all hooks expand to \cmd{mkbibcompletename}. -\cmditem{mkbibnamefamily}{text} -Formatting hook for the family name, to be used in all formatting directives for name lists. +\cmditem{mkbibcompletename}{text} +The initial value of all default formatting hooks \cmd{mkbibcompletename}. -\cmditem{mkbibnamegiven}{text} -Similar to \cmd{mkbibnamefamily}, but intended for the given name. +\csitem{datecircadelim}\CSdelimMark +When formatting dates with the global option \opt{datecirca} enabled, the delimiter printed after any localised term. Defaults to interword space. -\cmditem{mkbibnameprefix}{text} -Similar to \cmd{mkbibnamefamily}, but intended for the name prefix. +\csitem{dateeradelim}\CSdelimMark +When formatting dates with the global option \opt{dateera} set, the delimiter printed before the localisation era term. Defaults to interword space. + +\csitem{dateuncertainprint} +Prints date uncertainty information when the global option \opt{dateuncertain} is enabled and the \cmd{ifdateuncertain} test is true. By default, prints the language specific \cmd{bibdateuncertain} string (\secref{use:fmt:lng}). + +\csitem{enddateuncertainprint} +Prints date uncertainty information when the global option \opt{dateuncertain} is enabled and the \cmd{ifenddateuncertain} test is true. By default, prints the language specific \cmd{bibdateuncertain} string (\secref{use:fmt:lng}). + +\csitem{datecircaprint} +Prints date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifdatecirca} test is true. By default, prints the localised term (\secref{aut:lng:key:dt}) and the \opt{datecircadelim} delimiter. -\cmditem{mkbibnamesuffix}{text} -Similar to \cmd{mkbibnamefamily}, but intended for the name suffix. +\csitem{enddatecircaprint} +Prints date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifenddatecirca} test is true. By default, prints the localised term (\secref{aut:lng:key:dt}) and the \opt{datecircadelim} delimiter. + +\csitem{datecircaprintiso} +Prints \acr{ISO8601-2} format date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifdatecirca} test is true. Prints \cmd{textasciitilde}. + +\csitem{enddatecircaprintiso} +Prints \acr{ISO8601-2} format date circa information when the global option \opt{datecirca} is enabled and the \cmd{ifenddatecirca} test is true. Prints \cmd{textasciitilde}. + +\csitem{dateeraprint}{yearfield} +Prints date era information when the global option \opt{dateera} is set to or . By default, prints the \opt{dateeradelim} delimiter and the appropriate localised era term (\secref{aut:lng:key:dt}). If the \opt{dateeraauto} option is set, then the passed \prm{yearfield} (which is the name of a year field such as , , etc.) is tested to see if its value is earlier than the \opt{dateeraauto} threshold and if so, then the BCE/CE localisation will be output too. The default setting for \opt{dateeraauto} is 0 and so only BCE/BC localisation strings are candidates for output. Detects whether the start or end year era information is to be printed by looking at the \prm{yearfield} name passed to it. + +\csitem{dateeraprintpre} +Prints date era information when the global option \opt{dateera} is set to . By default, prints \opt{bibdataeraprefix}. Detects whether the start or end year era information is to be printed by looking at the \prm{yearfield} name passed to it. \csitem{relatedpunct} -The separator between the relatedtype bibliography localisation string and the data from the first related entry. +The separator between the \bibfield{relatedtype} bibliography localisation string and the data from the first related entry. \csitem{relateddelim} -The separator between the data of multiple related entries. The default definition is a linebreak. +The generic separator between the data of multiple related entries. The default definition is an optional dot plus linebreak. \csitem{relateddelim$<$relatedtype$>$} The separator between the data of multiple related entries inside related entries of type . There is no default, if such a type-specific delimiter does not exist, \cmd{relateddelim} is used. @@ -11608,7 +12058,7 @@ This section corresponds to \secref{use:fmt:lng} in the user part of the manual. \csitem{bibrangedash} -The language specific range dash. Defaults to \cmd{textendash}. +The language specific dash to be used for ranges of numbers. Defaults to \cmd{textendash}. \csitem{bibrangessep} @@ -11659,6 +12109,10 @@ The language specific string printed for the UTC timezone. Defaults to . The language specific marker which separates an optional time zone component from a time. Empty by default. +\csitem{bibtzminsep} + +The language specific marker which separates hour and minute component of offset timezones. Defaults to a \cmd{bibtimesep}. + \csitem{bibdatetimesep} The language specific separator printed between date and time components when printing time components along with date components (see the \opt{$<$datetype$>$dateusetime} option in \secref{use:opt:pre:gen}). Defaults to a space for non-\acr{ISO8601-2} output formats, and 'T' for \acr{ISO8601-2} output format. @@ -11710,27 +12164,43 @@ The hanging indentation of the bibliography, if applicable. This length is initi \lenitem{biblabelsep} -The horizontal space between entries and their corresponding labels. Bibliography styles which use \env{list} environments and print a label should set \len{labelsep} to \len{biblabelsep} in the definition of the respective environment. +The horizontal space between entries and their corresponding labels. Bibliography styles which use \env{list} environments and print a label should set \len{labelsep} to \len{biblabelsep} in the definition of the respective environment. This length is initialized to twice the value of \cmd{labelsep} at load-time. \lenitem{bibitemsep} -The vertical space between the individual entries in the bibliography. Bibliography styles using \env{list} environments should set \len{itemsep} to \len{bibitemsep} in the definition of the respective environment. +The vertical space between the individual entries in the bibliography. Bibliography styles using \env{list} environments should set \len{itemsep} to \len{bibitemsep} in the definition of the respective environment. This length is initialized to \cmd{itemsep} at load-time. + +\lenitem{bibnamesep} + +Vertical space to be inserted between two entries in the bibliography whenever an entry starts with a name which is different from the initial name of the previous entry. The default value is zero. Setting this length to a positive value greater than \len{bibitemsep} will group the bibliography by author\slash editor name. Note that \len{bibitemsep}, \len{bibnamesep}, and \len{bibinitsep} obey the rules for \cmd{addvspace}, that is, when vertical space introduced by any of these commands immediately follows on from space introduced by another of them, the resulting total space is equal to the largest of them. + +\lenitem{bibinitsep} + +Vertical space to be inserted between two entries in the bibliography whenever an entry starts with a letter which is different from the initial letter of the previous entry. The default value is zero. Setting this length to a positive value greater than \len{bibitemsep} will group the bibliography alphabetically. Note that \len{bibitemsep}, \len{bibnamesep}, and \len{bibinitsep} obey the rules for \cmd{addvspace}, that is, when vertical space introduced by any of these commands immediately follows on from space introduced by another of them, the resulting total space is equal to the largest of them. \lenitem{bibparsep} -The vertical space between paragraphs within an entry in the bibliography. Bibliography styles using \env{list} environments should set \len{parsep} to \len{bibparsep} in the definition of the respective environment. +The vertical space between paragraphs within an entry in the bibliography. Bibliography styles using \env{list} environments should set \len{parsep} to \len{bibparsep} in the definition of the respective environment. The default value is zero. \cntitem{abbrvpenalty} -The penalty used by \cmd{addabbrvspace}, \cmd{addabthinspace}, and \cmd{adddotspace}, see \secref{aut:pct:spc} for details. +The penalty used by \cmd{addabbrvspace}, \cmd{addabthinspace}, and \cmd{adddotspace}, see \secref{aut:pct:spc} for details. This counter is initialized to \cmd{hyphenpenalty} at load-time. + +\cntitem{highnamepenalty} + +The penalty used by \cmd{addhighpenspace} and \cmd{addhpthinspace}, see \secref{aut:pct:spc} for details. The counter is initialized to \cmd{hyphenpenalty} at load-time. \cntitem{lownamepenalty} -The penalty used by \cmd{addlowpenspace} and \cmd{addlpthinspace}, see \secref{aut:pct:spc} for details. +The penalty used by \cmd{addlowpenspace} and \cmd{addlpthinspace}, see \secref{aut:pct:spc} for details. The counter is initialized to half the \cmd{hyphenpenalty} at load-time. -\cntitem{highnamepenalty} +\cntitem{biburlbigbreakpenalty} + +The \sty{biblatex} version of \sty{url}'s \len{UrlBigBreakPenalty}. The default value is \texttt{100}. + +\cntitem{biburlbreakpenalty} -The penalty used by \cmd{addhighpenspace} and \cmd{addhpthinspace}, see \secref{aut:pct:spc} for details. +The \sty{biblatex} version of \sty{url}'s \len{UrlBreakPenalty}. The default value is \texttt{200}. \cntitem{biburlnumpenalty} @@ -11744,6 +12214,22 @@ Similar to \cnt{biburlnumpenalty}, except that it will add a breakpoint after al Similar to \cnt{biburlnumpenalty}, except that it will add a breakpoint after all lowercase letters. +\lenitem{biburlbigskip} + +The \sty{biblatex} version of \len{Urlmuskip}. This length holds the additional (stretchable) space inserted around breakable characters in the \cmd{url} command from the \sty{url} package. The default value is \texttt{0mu plus 3mu}. + +\lenitem{biburlnumskip} + +The additional space inserted after numbers in strings formatted with the \cmd{url} command from the \sty{url} package. This will affect \acr{url}s and \acr{doi}s in the bibliography. If \acr{url}s and/or \acr{doi}s in the bibliography run into the margin, it may help to set this length to add some small stretchable space, for example \texttt{0mu plus 1mu}. The default setting is \texttt{0mu}. This value is only used if \cnt{biburlnumpenalty} is set to a value different from zero. + +\lenitem{biburlucskip} + +Similar to \cnt{biburlnumskip}, except that it will add space after all uppercase letters. + +\lenitem{biburllcskip} + +Similar to \cnt{biburlnumskip}, except that it will add space after all uppercase letters. + \end{ltxsyntax} \subsubsection{Auxiliary Commands and Hooks} @@ -12089,7 +12575,7 @@ Similar to \cmd{AtBeginBibliography} but only affecting the next \cmd{printbibli \cmditem{AtUsedriver}{code} \cmditem*{AtUsedriver}*{code} -Appends the \prm{code} to an internal hook executed when initializing \cmd{uisedriver}. The starred variant of the command clears the initialisation hook, so the defaults can be overwritten. This command may only be used in the preamble. +Appends the \prm{code} to an internal hook executed when initializing \cmd{usedriver}. The starred variant of the command clears the initialisation hook, so the defaults can be overwritten. This command may only be used in the preamble. The default setting is: \begin{ltxexample} @@ -12128,6 +12614,17 @@ Similar to \cmd{AtEveryCitekey} but only affecting the next entry key. The inter Similar to \cmd{AtEveryMultiCite} but only affecting the next multicite command. The internal hook is cleared after being executed once. This command may be used in the document body. +\cmditem{AtVolcite}{code} +\cmditem*{AtVolcite}*{code} + +Appends the \prm{code} to an internal hook executed when initializing \cmd{volcite}. The starred variant of the command clears the initialisation hook, so the defaults can be overwritten. This command may only be used in the preamble. +The default setting is: + +\begin{ltxexample} +\AtVolcite{% + \DeclareFieldAlias{postnote}{volcitenote}} +\end{ltxexample} + \cmditem{AtDataInput}[entrytype]{code} Appends the \prm{code} to an internal hook executed once for every entry as the bibliographic data is imported from the \file{bbl} file. The \prm{entrytype} is the entry type the \prm{code} applies to. If it applies to all entry types, omit the optional argument. The \prm{code} is executed immediately after the entry has been imported. This command may only be used in the preamble. Note that \prm{code} may be executed multiple times for an entry. This occurs when the same entry is cited in different \env{refsection} environments or the \opt{sorting} option settings incorporate more than one sorting template. The \cnt{refsection} counter holds the number of the respective reference section while the data is imported. @@ -12164,6 +12661,10 @@ Executes and clears the internal hook corresponding to \cmd{AtNextCitekey}. Executes and clears the internal hook corresponding to \cmd{AtNextMultiCite}. +\cmditem{UseVolciteHook} + +Executes the internal hook corresponding to \cmd{AtVolcite}. + \cmditem{DeferNextCitekeyHook} Locally un-defines the internal hook specified by \cmd{AtNextCitekey}. This essentially defers the hook to the next entry key in the citation list, when executed in the \prm{precode} argument of \cmd{DeclareCiteCommand} (\secref{aut:cbx:cbx}). @@ -12454,7 +12955,7 @@ Smith, Doe and Edwards 2005 Smith, Doe and Jones 2005 \end{lstlisting} % -The \opt{uniquelist} option overrides \opt{maxnames}\slash \opt{minnames} on a per-entry basis. Essentially, what happens is that the part of the citation is expanded to the point of no ambiguity~-- but no further than that. \opt{uniquelist} may also be combined with \opt{uniquename}. Consider the following data: +The \opt{uniquelist} option overrides \opt{maxnames}\slash \opt{minnames} on a per-entry basis. Essentially, what happens is that the part of the citation is expanded to the point of no ambiguity---but no further than that. \opt{uniquelist} may also be combined with \opt{uniquename}. Consider the following data: \begin{lstlisting}{} John Doe/Allan Johnson/William Jones 2009 @@ -12902,7 +13403,7 @@ In order to minimize the risk of name clashes, \latex packages typically prefix These are the driver default source mappings. -\subsection{\opt{bibtex}} +\subsection{\opt{bibtex}}\label{apx:maps:bibtex} The \opt{bibtex} driver is of course the most comprehensive and mature of the \biblatex/\biber supported data formats. These source mapping defaults are how the aliases from sections \secref{bib:typ:als} and \secref{bib:fld:als} are implemented. \begin{ltxexample} @@ -13422,120 +13923,123 @@ Per-name: \endhead \bottomrule \endfoot -abbreviate &\+&\+&\_&\_&\_&\_&\_\\ -alldates &\+&\+&\_&\_&\_&\_&\_\\ -alldatesusetime &\+&\+&\_&\_&\_&\_&\_\\ -alltimes &\+&\+&\_&\_&\_&\_&\_\\ -arxiv &\+&\+&\_&\_&\_&\_&\_\\ -autocite &\+&\+&\_&\_&\_&\_&\_\\ -autopunct &\+&\+&\_&\_&\_&\_&\_\\ -autolang &\+&\+&\_&\_&\_&\_&\_\\ -backend &\+&\_&\_&\_&\_&\_&\_\\ -backref &\+&\+&\_&\_&\_&\_&\_\\ -backrefsetstyle &\+&\+&\_&\_&\_&\_&\_\\ -backrefstyle &\+&\+&\_&\_&\_&\_&\_\\ -bibencoding &\+&\+&\_&\_&\_&\_&\_\\ -bibstyle &\+&\_&\_&\_&\_&\_&\_\\ -bibwarn &\+&\+&\_&\_&\_&\_&\_\\ -block &\+&\+&\_&\_&\_&\_&\_\\ -citecounter &\+&\+&\_&\_&\_&\_&\_\\ -citereset &\+&\+&\_&\_&\_&\_&\_\\ -citestyle &\+&\_&\_&\_&\_&\_&\_\\ -citetracker &\+&\+&\_&\_&\_&\_&\_\\ -clearlang &\+&\+&\_&\_&\_&\_&\_\\ -datamodel &\+&\_&\_&\_&\_&\_&\_\\ -dataonly &\_&\_&\_&\+&\+&\_&\_\\ -date &\+&\+&\_&\_&\_&\_&\_\\ -labeldate &\+&\+&\_&\_&\_&\_&\_\\ -$<$datetype$>$date &\+&\+&\_&\_&\_&\_&\_\\ -dateabbrev &\+&\+&\_&\_&\_&\_&\_\\ -datecirca &\+&\+&\_&\_&\_&\_&\_\\ -dateera &\+&\+&\_&\_&\_&\_&\_\\ -dateerauto &\+&\+&\_&\_&\_&\_&\_\\ -dateuncertain &\+&\+&\_&\_&\_&\_&\_\\ -datezeros &\+&\+&\_&\_&\_&\_&\_\\ -defernumbers &\+&\+&\_&\_&\_&\_&\_\\ -doi &\+&\+&\_&\_&\_&\_&\_\\ % style -eprint &\+&\+&\_&\_&\_&\_&\_\\ % style -$<$namepart$>$inits &\+&\+&\_&\_&\_&\_&\_\\ -gregorianstart &\+&\+&\_&\_&\_&\_&\_\\ -hyperref &\+&\+&\_&\_&\_&\_&\_\\ -ibidtracker &\+&\+&\_&\_&\_&\_&\_\\ -idemtracker &\+&\+&\_&\_&\_&\_&\_\\ -indexing &\+&\+&\_&\+&\+&\_&\_\\ -isbn &\+&\+&\_&\_&\_&\_&\_\\ % style -julian &\+&\+&\_&\_&\_&\_&\_\\ -labelalpha &\+&\+&\_&\+&\_&\_&\_\\ -labelalphanametemplatename &\_&\_&\+&\_&\+&\+&\+\\ -labelnamefield &\_&\_&\_&\_&\+&\_&\_\\ -labelnumber &\+&\+&\_&\+&\_&\_&\_\\ -labeltitle &\+&\+&\_&\+&\_&\_&\_\\ -labeltitlefield &\_&\_&\_&\_&\+&\_&\_\\ -labeltitleyear &\+&\+&\_&\+&\_&\_&\_\\ -labeldateparts &\+&\+&\_&\+&\_&\_&\_\\ -labeltime &\+&\+&\_&\_&\_&\_&\_\\ -labeldateusetime &\+&\+&\_&\_&\_&\_&\_\\ -labelprefix &\_&\_&\+&\_&\_&\_&\_\\ -$<$datetype$>$time &\+&\+&\_&\_&\_&\_&\_\\ -$<$datetype$>$dateusetime &\+&\+&\_&\_&\_&\_&\_\\ -language &\+&\+&\_&\_&\_&\_&\_\\ -loadfiles &\+&\+&\_&\_&\_&\_&\_\\ -loccittracker &\+&\+&\_&\_&\_&\_&\_\\ -maxalphanames &\+&\+&\_&\+&\+&\_&\_\\ -maxbibnames &\+&\+&\_&\+&\+&\_&\_\\ -maxcitenames &\+&\+&\_&\+&\+&\_&\_\\ -maxsortnames &\+&\+&\_&\+&\+&\_&\_\\ -maxitems &\+&\+&\_&\+&\+&\_&\_\\ -maxnames &\+&\+&\_&\+&\+&\_&\_\\ -maxparens &\+&\+&\_&\_&\_&\_&\_\\ -mcite &\+&\_&\_&\_&\_&\_&\_\\ -minalphanames &\+&\+&\_&\+&\+&\_&\_\\ -minbibnames &\+&\+&\_&\+&\+&\_&\_\\ -mincitenames &\+&\+&\_&\+&\+&\_&\_\\ -minsortnames &\+&\+&\_&\+&\+&\_&\_\\ -mincrossrefs &\+&\+&\_&\_&\_&\_&\_\\ -minxrefs &\+&\+&\_&\_&\_&\_&\_\\ -minitems &\+&\+&\_&\+&\+&\_&\_\\ -minnames &\+&\+&\_&\+&\+&\_&\_\\ -nametemplates &\_&\_&\+&\_&\+&\+&\+\\ -natbib &\+&\_&\_&\_&\_&\_&\_\\ -noinherit &\_&\_&\_&\_&\+&\_&\_\\ -notetype &\+&\+&\_&\_&\_&\_&\_\\ -opcittracker &\+&\+&\_&\_&\_&\_&\_\\ -openbib &\+&\+&\_&\_&\_&\_&\_\\ -pagetracker &\+&\+&\_&\_&\_&\_&\_\\ -parentracker &\+&\+&\_&\_&\_&\_&\_\\ -punctfont &\+&\+&\_&\_&\_&\_&\_\\ -refsection &\+&\+&\_&\_&\_&\_&\_\\ -refsegment &\+&\+&\_&\_&\_&\_&\_\\ -safeinputenc &\+&\+&\_&\_&\_&\_&\_\\ -seconds &\+&\+&\_&\_&\_&\_&\_\\ -singletitle &\+&\+&\_&\+&\_&\_&\_\\ -skipbib &\_&\_&\_&\+&\+&\_&\_\\ -skipbiblist &\_&\_&\_&\+&\+&\_&\_\\ -skiplab &\_&\_&\_&\+&\+&\_&\_\\ -sortcase &\+&\+&\_&\_&\_&\_&\_\\ -sortcites &\+&\+&\_&\_&\_&\_&\_\\ -sorting &\+&\+&\_&\_&\_&\_&\_\\ -sortingnamekeytemplatename &\_&\_&\+&\_&\+&\+&\+\\ -sortlocale &\+&\+&\_&\_&\_&\_&\_\\ -sortlos &\+&\+&\_&\_&\_&\_&\_\\ -sortupper &\+&\+&\_&\_&\_&\_&\_\\ -style &\+&\_&\_&\_&\_&\_&\_\\ -terseinits &\+&\+&\_&\_&\_&\_&\_\\ -texencoding &\+&\+&\_&\_&\_&\_&\_\\ -timezeros &\+&\+&\_&\_&\_&\_&\_\\ -timezones &\+&\+&\_&\_&\_&\_&\_\\ -uniquelist &\+&\+&\_&\+&\+&\_&\_\\ -uniquename &\+&\+&\_&\+&\+&\_&\_\\ -uniquenametemplatename &\_&\_&\+&\_&\+&\+&\+\\ -uniquetitle &\+&\+&\_&\+&\_&\_&\_\\ -uniquebaretitle &\+&\+&\_&\+&\_&\_&\_\\ -uniquework &\+&\+&\_&\+&\_&\_&\_\\ -uniqueprimaryauthor &\+&\+&\_&\_&\_&\_&\_\\ -url &\+&\+&\_&\_&\_&\_&\_\\ -useprefix &\+&\+&\_&\+&\+&\+&\+\\ -use$<$name$>$ &\+&\+&\_&\+&\+&\_&\_\\ +abbreviate &\+&\+&\_&\+&\+&\_&\_\\ +alldates &\+&\+&\_&\_&\_&\_&\_\\ +alldatesusetime &\+&\+&\_&\_&\_&\_&\_\\ +alltimes &\+&\+&\_&\_&\_&\_&\_\\ +arxiv &\+&\+&\_&\_&\_&\_&\_\\ +autocite &\+&\+&\_&\_&\_&\_&\_\\ +autopunct &\+&\+&\_&\_&\_&\_&\_\\ +autolang &\+&\+&\_&\_&\_&\_&\_\\ +backend &\+&\_&\_&\_&\_&\_&\_\\ +backref &\+&\+&\_&\_&\_&\_&\_\\ +backrefsetstyle &\+&\+&\_&\_&\_&\_&\_\\ +backrefstyle &\+&\+&\_&\_&\_&\_&\_\\ +bibencoding &\+&\+&\_&\_&\_&\_&\_\\ +bibstyle &\+&\_&\_&\_&\_&\_&\_\\ +bibwarn &\+&\+&\_&\_&\_&\_&\_\\ +block &\+&\+&\_&\_&\_&\_&\_\\ +citecounter &\+&\+&\_&\_&\_&\_&\_\\ +citereset &\+&\+&\_&\_&\_&\_&\_\\ +citestyle &\+&\_&\_&\_&\_&\_&\_\\ +citetracker &\+&\+&\_&\+&\+&\_&\_\\ +clearlang &\+&\+&\_&\+&\+&\_&\_\\ +datamodel &\+&\_&\_&\_&\_&\_&\_\\ +dataonly &\+&\+&\_&\+&\+&\_&\_\\ +date &\+&\+&\_&\_&\_&\_&\_\\ +labeldate &\+&\+&\_&\_&\_&\_&\_\\ +$<$datetype$>$date &\+&\+&\_&\_&\_&\_&\_\\ +dateabbrev &\+&\+&\_&\+&\+&\_&\_\\ +datecirca &\+&\+&\_&\_&\_&\_&\_\\ +dateera &\+&\+&\_&\_&\_&\_&\_\\ +dateerauto &\+&\+&\_&\_&\_&\_&\_\\ +dateuncertain &\+&\+&\_&\_&\_&\_&\_\\ +datezeros &\+&\+&\_&\_&\_&\_&\_\\ +defernumbers &\+&\+&\_&\_&\_&\_&\_\\ +doi &\+&\+&\_&\+&\+&\_&\_\\ % style +eprint &\+&\+&\_&\+&\+&\_&\_\\ % style +$<$namepart$>$inits &\+&\+&\_&\+&\+&\+&\+\\ +gregorianstart &\+&\+&\_&\_&\_&\_&\_\\ +hyperref &\+&\+&\_&\_&\_&\_&\_\\ +ibidtracker &\+&\+&\_&\+&\+&\_&\_\\ +idemtracker &\+&\+&\_&\+&\+&\_&\_\\ +indexing &\+&\+&\_&\+&\+&\_&\_\\ +isbn &\+&\+&\_&\+&\+&\_&\_\\ % style +julian &\+&\+&\_&\_&\_&\_&\_\\ +labelalpha &\+&\+&\_&\+&\+&\_&\_\\ +labelalphanametemplatename &\_&\_&\+&\_&\+&\+&\+\\ +labelnamefield &\_&\_&\_&\_&\+&\_&\_\\ +labelnumber &\+&\+&\_&\+&\+&\_&\_\\ +labeltitle &\+&\+&\_&\+&\+&\_&\_\\ +labeltitlefield &\_&\_&\_&\_&\+&\_&\_\\ +labeltitleyear &\+&\+&\_&\+&\+&\_&\_\\ +labeldateparts &\+&\+&\_&\+&\+&\_&\_\\ +labeltime &\+&\+&\_&\_&\_&\_&\_\\ +labeldateusetime &\+&\+&\_&\_&\_&\_&\_\\ +labelprefix &\_&\_&\+&\_&\_&\_&\_\\ +$<$datetype$>$time &\+&\+&\_&\_&\_&\_&\_\\ +$<$datetype$>$dateusetime &\+&\+&\_&\_&\_&\_&\_\\ +language &\+&\+&\_&\_&\_&\_&\_\\ +loadfiles &\+&\+&\_&\_&\_&\_&\_\\ +loccittracker &\+&\+&\_&\+&\+&\_&\_\\ +maxalphanames &\+&\+&\_&\+&\+&\_&\_\\ +maxbibnames &\+&\+&\_&\+&\+&\_&\_\\ +maxcitenames &\+&\+&\_&\+&\+&\_&\_\\ +maxsortnames &\+&\+&\_&\+&\+&\_&\_\\ +maxitems &\+&\+&\_&\+&\+&\_&\_\\ +maxnames &\+&\+&\_&\+&\+&\_&\_\\ +maxparens &\+&\+&\_&\_&\_&\_&\_\\ +mcite &\+&\_&\_&\_&\_&\_&\_\\ +minalphanames &\+&\+&\_&\+&\+&\_&\_\\ +minbibnames &\+&\+&\_&\+&\+&\_&\_\\ +mincitenames &\+&\+&\_&\+&\+&\_&\_\\ +minsortnames &\+&\+&\_&\+&\+&\_&\_\\ +mincrossrefs &\+&\+&\_&\_&\_&\_&\_\\ +minxrefs &\+&\+&\_&\_&\_&\_&\_\\ +minitems &\+&\+&\_&\+&\+&\_&\_\\ +minnames &\+&\+&\_&\+&\+&\_&\_\\ +nametemplates &\_&\_&\+&\_&\+&\+&\+\\ +natbib &\+&\_&\_&\_&\_&\_&\_\\ +nohashothers &\+&\+&\_&\+&\+&\+&\_\\ +nosortothers &\+&\+&\_&\+&\+&\+&\_\\ +noinherit &\_&\_&\_&\_&\+&\_&\_\\ +notetype &\+&\+&\_&\_&\_&\_&\_\\ +opcittracker &\+&\+&\_&\+&\+&\_&\_\\ +openbib &\+&\+&\_&\_&\_&\_&\_\\ +pagetracker &\+&\+&\_&\_&\_&\_&\_\\ +parentracker &\+&\+&\_&\_&\_&\_&\_\\ +punctfont &\+&\+&\_&\_&\_&\_&\_\\ +refsection &\+&\+&\_&\_&\_&\_&\_\\ +refsegment &\+&\+&\_&\_&\_&\_&\_\\ +related &\+&\+&\_&\+&\+&\_&\_\\ % style +safeinputenc &\+&\+&\_&\_&\_&\_&\_\\ +seconds &\+&\+&\_&\_&\_&\_&\_\\ +singletitle &\+&\+&\_&\+&\+&\_&\_\\ +skipbib &\+&\+&\_&\+&\+&\_&\_\\ +skipbiblist &\+&\+&\_&\+&\+&\_&\_\\ +skiplab &\+&\+&\_&\+&\+&\_&\_\\ +sortcase &\+&\+&\_&\_&\_&\_&\_\\ +sortcites &\+&\+&\_&\_&\_&\_&\_\\ +sorting &\+&\+&\_&\_&\_&\_&\_\\ +sortingnamekeytemplatename &\_&\_&\+&\_&\+&\+&\+\\ +sortlocale &\+&\+&\_&\_&\_&\_&\_\\ +sortlos &\+&\+&\_&\_&\_&\_&\_\\ +sortupper &\+&\+&\_&\_&\_&\_&\_\\ +style &\+&\_&\_&\_&\_&\_&\_\\ +terseinits &\+&\+&\_&\+&\+&\+&\+\\ +texencoding &\+&\+&\_&\_&\_&\_&\_\\ +timezeros &\+&\+&\_&\_&\_&\_&\_\\ +timezones &\+&\+&\_&\_&\_&\_&\_\\ +uniquelist &\+&\+&\_&\+&\+&\+&\_\\ +uniquename &\+&\+&\_&\+&\+&\+&\+\\ +uniquenametemplatename &\_&\_&\+&\_&\+&\+&\+\\ +uniquetitle &\+&\+&\_&\+&\+&\_&\_\\ +uniquebaretitle &\+&\+&\_&\+&\+&\_&\_\\ +uniquework &\+&\+&\_&\+&\+&\_&\_\\ +uniqueprimaryauthor &\+&\+&\_&\+&\+&\_&\_\\ +url &\+&\+&\_&\+&\+&\_&\_\\ % style +useprefix &\+&\+&\_&\+&\+&\+&\+\\ +use$<$name$>$ &\+&\+&\_&\+&\+&\_&\_\\ \end{longtable} \endgroup @@ -13545,6 +14049,31 @@ use$<$name$>$ &\+&\+&\_&\+&\+&\_&\_\\ This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. More technical details are to be found in the \file{CHANGES.md} file. The numbers on the right indicate the relevant section of this manual. \begin{changelog} +\begin{release}{3.13}{2019-08-17} +\item Added new \bibtype{dataset} entry type\see{bib:typ:blx} +\item Promoted \bibtype{software} to regular entry type\see{bib:typ:blx} +\item Added \bibfield{entrykey} alias for entry keys in labels\see{aut:ctm:lab} +\item Added \opt{appendstrict} sourcemapping option\see{aut:ctm:map} +\item Added \opt{nohashothers} and \opt{nosortothers}\see{use:opt:pre:int} +\item Enhanced \cmd{addbibresource} with globbing\see{use:bib:res} +\item Added \cmd{DeclareBiblatexOption}\see{aut:bbx:bbx} +\item Expanded scope possibilities for several options\see{apx:opt} +\item Added \cmd{ifvolcite} test\see{aut:aux:tst} +\item Added special fields \bibfield{volcitevolume} and \bibfield{volcitepages}% + \see{aut:cbx:fld} +\item Added \cmd{AtVolcite} hook\see{aut:fmt:hok} +\item Added \cmd{pnfmt} \see{use:cit:msc} +\item Added \cmd{mkbibcompletename} and \cmd{mkbibcompletename}\see{use:fmt:fmt} +\item Made \cmd{postnotedelim} and friends context sensitive\see{use:fmt:fmt} +\item Added \cmd{multipostnotedelim} and \cmd{multiprenotedelim}\see{use:fmt:fmt} +\item Added \cmd{thefirstlistitem} and friends\see{aut:aux:dat} +\item Added \prm{itempostpro} argument to \cmd{mkcomprange}, \cmd{mknormrange} and \cmd{mkfirstpage}\see{aut:aux:msc} +\item Added \len{biburlbigskip} and friends\see{use:fmt:len} +\item Added \cnt{biburlbigbreakpenalty} and \cnt{biburlbreakpenalty} and friends\see{use:fmt:len} +\item Added \cmd{DeclarePrintbibliographyDefaults}\see{use:bib:bib} +\item Added \bibfield{doi} to \bibtype{online}\see{bib:typ:blx} +\end{release} + \begin{release}{3.12}{2018-10-30} \item Added literal and named annotation functionality\see{use:annote} \item Added \cmd{ifnocite}\see{aut:aux:tst} @@ -13644,6 +14173,7 @@ This revision history is a list of changes relevant to users of this package. Ch \item Added \bibfield{namehash} and \bibfield{fullhash} for all name list fields\see{aut:bbx:fld:gen} \item Generalised \opt{giveninits} option to all nameparts\see{use:opt:pre:int} \item Added \opt{inits} option to \cmd{DeclareSortingNamekeyScheme}\see{aut:ctm:srt} +\item Removed option \opt{sortgiveninits}. Use the option \opt{inits} to \cmd{DeclareSortingNamekeyScheme} instead \item Added \cmd{DeclareLabelalphaNameTemplate}\see{aut:ctm:lab} \item Added full \acr{EDTF} Levels 0 and 1 compliance for parsing and printing times\see{bib:use:dat} \item Changed dates to be fully \acr{EDTF} Levels 0 and 1 compliant. Associated tests and localisation strings\see{bib:use:dat} @@ -13685,7 +14215,7 @@ This revision history is a list of changes relevant to users of this package. Ch \item New sourcemapping options for creating new entries dynamically and looping over map steps\see{aut:ctm:map} \item Added \opt{noalphaothers} and enhanced name range selection in \cmd{DeclareLabelalphaTemplate}\see{aut:ctm:lab} \item Added \cmd{DeclareDatamodelConstant}\see{aut:ctm:dm} -\item Renamed \opt{firstinits} and \opt{sortfirstinits} +\item Renamed \opt{firstinits} to \opt{giveninits} and \opt{sortfirstinits} to \opt{sortgiveninits}\see{use:opt:pre:int} \item Added \cmd{DeclareSortingNamekeyScheme}\see{aut:ctm:srt} \item Removed messy experimental endnote and zoterordf support for \biber \item Added \cmd{nonameyeardelim}\see{use:fmt:fmt} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf index a8e42af8cad..009d4bb3ac8 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf index 23593306a7d..75171ed4905 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf index 0b8d9e5b243..d5b086d24a5 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf index 6e8b9c83eb2..d8f86f3565c 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf index c1180059840..e478c9368ce 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf index 394138fbb7e..1fa3dfb0314 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf index 39f877a642a..28956fdacc3 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf index 5cd57a606e4..4344e1f51ab 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-biber.pdf index 6cdd4528138..10c12fbf19f 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-bibtex.pdf index b488e2a7788..931645e4258 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-biber.pdf index 4381b89479b..57a5d24c065 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-bibtex.pdf index 64deafadf8d..176278e5eb9 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-biber.pdf index 028fbb0bd68..bec8fa28fe0 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-bibtex.pdf index 1902f64abb8..1dafa8f85a2 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf index 4350066fd54..5281609fdf3 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-bibtex.pdf index 3a0f7b6804d..3b193af84f4 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf index 58fd4027037..49cf1b3c5f0 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-bibtex.pdf index 72baa318407..4ee57c61c99 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-biber.pdf index 6e5cfd76510..e0f23be5f0b 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-bibtex.pdf index cfbf2d0b33f..26b04424409 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf index 489d51a65df..05cbf46bcdc 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-bibtex.pdf index e23dfa83c58..d36734df006 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf index 2e2af865075..138a32a2ded 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-bibtex.pdf index f130843f25c..dd0c6992a3e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-biber.pdf index 91219b0c483..2e0eaa612d5 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-bibtex.pdf index ba863cf3e87..39c469234b7 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf index a78e01ebf7c..3504e456855 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-bibtex.pdf index 44ee868ad44..417d0b241ad 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf index 102e101c626..3b962a988bf 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-bibtex.pdf index 86a9a01f2f7..725668602a7 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf index 1b75882092a..71195111915 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-bibtex.pdf index 76c4629cf5f..c2dd6a58900 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-biber.pdf index 2fca09fe1f5..de667379523 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-bibtex.pdf index e33f11d5761..6bdff2492f6 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-biber.pdf index 1d8f862bede..1518d09ac70 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-bibtex.pdf index e1454f94097..59584f7cc6e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-biber.pdf index 32a7253904e..ee3bc0b8057 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-bibtex.pdf index eda1fe8b788..a75a9dbcf2e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-biber.pdf index 2e31a5a7df2..13d036152bb 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-bibtex.pdf index 03995f878e8..705363bb8b5 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf index a7278e9795e..ef95075a706 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-bibtex.pdf index d7862fcf138..de2ff32d03b 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-biber.pdf index 21fe26e83c9..528ffeb8027 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-bibtex.pdf index 6677ccaceea..afc733d0caf 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-biber.pdf index 61f5cbc2342..d9061d2a641 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-bibtex.pdf index f3465736768..a1170adb23e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf index 8b3b66f784c..5e2fcbc4380 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-bibtex.pdf index a967083387b..4217606fd49 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-biber.pdf index 4603a38e1b6..2da51f77403 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-bibtex.pdf index b10f7a3b53d..0b5da8cf750 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-biber.pdf index 98137462dbd..7f1d6efa79e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-bibtex.pdf index 4cdb2edc2bc..f6f2e0ba519 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-biber.pdf index 7295bff5647..9446a66a589 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-bibtex.pdf index 1692cf58ab7..6c76c946670 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf index 0251a4125b5..899937934ff 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-bibtex.pdf index b810d56309d..eee3ef83677 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-biber.pdf index 7859625b216..beb9080921c 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-bibtex.pdf index 7a80ce53c8e..392f6a47e28 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-biber.pdf index ee571361d47..30d38b1901b 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-bibtex.pdf index c04c5aa5e34..23a8af43192 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-biber.pdf index 3a03c7894d8..764fa67f729 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-bibtex.pdf index f61b49b8d68..162b15f46d6 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-biber.pdf index e65265b1e19..5136e300d0e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-bibtex.pdf index bb3b0c52caf..46b622c6bd1 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-biber.pdf index cea7f8fc0f4..5edf0c51722 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-bibtex.pdf index 276292fc83c..e20da20c5e7 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-biber.pdf index 497c4a958de..6e652a83b5f 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-bibtex.pdf index 13d4fa6b31c..0428c21164b 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf index 5e1d863ce12..2dbfd5a6fa2 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-bibtex.pdf index 37600781bd9..2db844dfa11 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf index 602f546509c..752d23fdb7d 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-bibtex.pdf index 276d137a77b..d3915cbc01b 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf index 0011759eb47..47165f4c3bc 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-bibtex.pdf index fa6cfec8aaa..67132214842 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf index 0785f2b1ca1..bd9efae97f2 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-bibtex.pdf index 188fea826bc..e9986d3105e 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf index d1a2038f488..1655bef72e7 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-bibtex.pdf index 5a909bf48e5..9dda0de27eb 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf index d2f01dc4adb..7fb856b7d4f 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-bibtex.pdf index e5f38b13b2f..21ab89a7ae2 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-biber.pdf index 3c4b1af8124..371daf5ad8f 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-bibtex.pdf index 3c1c9364c27..0f64efbc22f 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-biber.pdf index 9f21e9e53aa..8ceb545bd75 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-bibtex.pdf index 568958fc685..b24bff3611c 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-biber.pdf index 5267329b449..65d351b7737 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-bibtex.pdf index 0e39c71e2d6..b7103aecccd 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-biber.pdf index b94d6ae13ed..f60436a8c46 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-bibtex.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-bibtex.pdf index 4559e32ac82..2deac186b77 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-bibtex.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-bibtex.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/90-related-entries-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/90-related-entries-biber.pdf index 2f3b4b29098..2d4d9b61c95 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/90-related-entries-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/90-related-entries-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes-biber.pdf index fc06867653a..5389046b68a 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf index 2103192c23b..da281a843ea 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf index bd820d4c6aa..f61f5a558eb 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf index bee1d9e8f5d..749c676ab02 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf index 0e25bbef5d7..dd5796cca49 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf index 8d87ce11a99..88315c0124a 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations-biber.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations-biber.pdf index e4e570f5aac..9fa5afc943c 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations-biber.pdf and b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations-biber.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib b/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib index 6730a9ded77..10f114bc76d 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib +++ b/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib @@ -946,7 +946,7 @@ annotation = {A single volume from the critical edition of Nietzsche's works. This \texttt{book} entry explicitly refers to the first volume only. Note the \texttt{title} and \texttt{maintitle} - fields. Also note the \texttt{sorttitle} + fields. Also note the \texttt{sorttitle} field. We want this entry to be listed after the entry referring to the entire edition}, } @@ -1138,7 +1138,7 @@ \texttt{isbn} field}, } -@InCollection{gaonkar:in, +@incollection{gaonkar:in, author = {Gaonkar, Dilip Parameshwar}, editor = {Gaonkar, Dilip Parameshwar}, title = {On Alternative Modernities}, @@ -1169,6 +1169,9 @@ \texttt{editoratype} fields}, } +% booktitle and booksubtitle are only needed for BibTeX's less sophisticated +% inheritance set-up to make sure westfahl:space shows correctly. +% With Biber they are not needed. @collection{westfahl:frontier, editor = {Westfahl, Gary}, title = {Space and Beyond}, @@ -1181,8 +1184,8 @@ booktitle = {Space and Beyond}, booksubtitle = {The Frontier Theme in Science Fiction}, annotation = {This is a \texttt{collection} entry. Note the format of the - \texttt{location} field as well as the \texttt{subtitle} and - \texttt{booksubtitle} fields}, + \texttt{location} field as well as the \texttt{subtitle} + field}, } @inbook{kant:kpv, diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx index 8a41db44fa8..fa603e87ac4 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx @@ -6,7 +6,7 @@ \providebool{bbx:subentry} -\DeclareBibliographyOption[boolean]{subentry}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{% \setbool{bbx:subentry}{#1}} \DeclareNameAlias{author}{default} diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx index b7f558329da..d8e156cd36b 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx @@ -9,7 +9,7 @@ \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} {\renewbibmacro*{bbx:savehash}{}}} -\DeclareBibliographyOption[boolean]{mergedate}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{mergedate}[true]{% \ifcsdef{bbx@opt@mergedate@#1} {\csuse{bbx@opt@mergedate@#1}} {\PackageError{biblatex} diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx index 70c2134c4eb..4bf46c3ff8a 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/numeric.bbx @@ -6,7 +6,7 @@ \providebool{bbx:subentry} -\DeclareBibliographyOption[boolean]{subentry}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{% \setbool{bbx:subentry}{#1}} \DeclareNameAlias{author}{default} diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/reading.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/reading.bbx index 6e9e25be2d1..547510c37df 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/reading.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/reading.bbx @@ -102,21 +102,21 @@ \newbool{bbx:library} \newbool{bbx:file} -\DeclareBibliographyOption[boolean]{entryhead}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{entryhead}[true]{% \ifcsdef{bbx@item@#1} {\letcs\bbx@item{bbx@item@#1}} {\PackageError{biblatex} {Invalid option 'header=#1'} {Valid values: header=true, false, full, name.}}} -\DeclareBibliographyOption[boolean]{entrykey}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{entrykey}[true]{% \setbool{bbx:entrykey}{#1}} -\DeclareBibliographyOption[boolean]{annotation}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{annotation}[true]{% \setbool{bbx:annotation}{#1}} -\DeclareBibliographyOption[boolean]{abstract}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{abstract}[true]{% \setbool{bbx:abstract}{#1}} -\DeclareBibliographyOption[boolean]{library}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{library}[true]{% \setbool{bbx:library}{#1}} -\DeclareBibliographyOption[boolean]{file}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{file}[true]{% \setbool{bbx:file}{#1}} \ExecuteBibliographyOptions{loadfiles,entryhead,entrykey,annotation,abstract,library,file} diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx index 9e48d9a235e..3046bd10e89 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx @@ -7,15 +7,15 @@ \newtoggle{bbx:eprint} \newtoggle{bbx:related} -\DeclareBibliographyOption[boolean]{isbn}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{% \settoggle{bbx:isbn}{#1}} -\DeclareBibliographyOption[boolean]{url}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{% \settoggle{bbx:url}{#1}} -\DeclareBibliographyOption[boolean]{doi}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{doi}[true]{% \settoggle{bbx:doi}{#1}} -\DeclareBibliographyOption[boolean]{eprint}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% \settoggle{bbx:eprint}{#1}} -\DeclareBibliographyOption[boolean]{related}[true]{% +\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{% \settoggle{bbx:related}{#1}} \ExecuteBibliographyOptions{isbn,url,doi,eprint,related} @@ -343,6 +343,45 @@ {}% \usebibmacro{finentry}} +\DeclareBibliographyDriver{dataset}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{edition}% + \newunit + \printfield{version}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + \DeclareBibliographyDriver{manual}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -446,6 +485,10 @@ \newunit\newblock \usebibmacro{date}% \newunit\newblock + \iftoggle{bbx:doi} + {\printfield{doi}} + {}% + \newunit\newblock \iftoggle{bbx:eprint} {\usebibmacro{eprint}} {}% @@ -713,6 +756,7 @@ \DeclareBibliographyAlias{inreference}{incollection} \DeclareBibliographyAlias{suppperiodical}{article} \DeclareBibliographyAlias{review}{article} +\DeclareBibliographyAlias{software}{misc} \DeclareBibliographyAlias{*}{misc} \newbibmacro*{maintitle+title}{% @@ -921,7 +965,11 @@ \ifnumgreater{\value{bbx:relatedcount}}{1} {\ifcsundef{relateddelim\strfield{relatedtype}} {\printunit{\relateddelim}} - {\printunit{\csuse{relateddelim\strfield{relatedtype}}}}} + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\printunit + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter{% + \csuse{relateddelim\strfield{relatedtype}}}}} {}}% \ifbibmacroundef{related:\strfield{relatedtype}} {\appto{\do}{\usebibmacro{related:default}}} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def index 3cb0eaa94f9..e2a1728aae0 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def @@ -97,9 +97,11 @@ \newcommand*{\multicitedelim}{\addsemicolon\space} \newcommand*{\compcitedelim}{\addcomma\space} \newcommand*{\supercitedelim}{\addcomma} -\newcommand*{\prenotedelim}{\addspace} -\newcommand*{\postnotedelim}{\addcomma\space} -\newcommand*{\extpostnotedelim}{\addspace} +\DeclareDelimFormat{prenotedelim}{\addspace} +\DeclareDelimFormat{postnotedelim}{\addcomma\space} +\DeclareDelimAlias{multiprenotedelim}{prenotedelim} +\DeclareDelimAlias{multipostnotedelim}{postnotedelim} +\DeclareDelimFormat{extpostnotedelim}{\addspace} \newcommand*{\volcitedelim}{\addcomma\space} \newcommand*{\textcitedelim}{% \iffinalcitedelim @@ -243,30 +245,64 @@ % Local setup for \url; see comments in url.sty for details. +\newcounter{biburlbigbreakpenalty} +\newcounter{biburlbreakpenalty} \newcounter{biburlnumpenalty} \newcounter{biburlucpenalty} \newcounter{biburllcpenalty} +\setcounter{biburlbigbreakpenalty}{100} +\setcounter{biburlbreakpenalty}{200} + +\newmuskip\biburlbigskip +\newmuskip\biburlnumskip +\newmuskip\biburlucskip +\newmuskip\biburllcskip + +% I'd have preferred \setlength here, but calc does not support +% muglue (yet?). +% https://github.com/plk/biblatex/issues/889 +% See also https://tex.stackexchange.com/q/188215/ +\biburlbigskip=0mu plus 3mu\relax +\biburlnumskip=0mu\relax +\biburlucskip=0mu\relax +\biburllcskip=0mu\relax + \newcommand*{\biburlsetup}{% - \Urlmuskip=0mu plus 3mu\relax - \mathchardef\UrlBigBreakPenalty=100\relax - \mathchardef\UrlBreakPenalty=200\relax + \Urlmuskip\biburlbigskip + \mathchardef\UrlBigBreakPenalty=\value{biburlbigbreakpenalty}\relax + \mathchardef\UrlBreakPenalty=\value{biburlbreakpenalty}\relax \def\UrlBigBreaks{\do\:\do\-}% \def\UrlBreaks{% \do\.\do\@\do\/\do\\\do\!\do\_\do\|\do\;\do\>\do\]\do\)\do\}% \do\,\do\?\do\'\do\+\do\=\do\#\do\$\do\&\do\*\do\^\do\"}% \ifnumgreater{\value{biburlnumpenalty}}{0} - {\def\do##1{\appto\UrlSpecials{\do##1{\mathchar`##1 \penalty\value{biburlnumpenalty}}}}% + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburlnumskip + \penalty\value{biburlnumpenalty}}}}% \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0} {}% \ifnumgreater{\value{biburlucpenalty}}{0} - {\def\do##1{\appto\UrlSpecials{\do##1{\mathchar`##1 \penalty\value{biburlucpenalty}}}}% + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburlucskip + \penalty\value{biburlucpenalty}}}}% \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T \do\U\do\V\do\W\do\X\do\Y\do\Z} {}% \ifnumgreater{\value{biburllcpenalty}}{0} - {\def\do##1{\appto\UrlSpecials{\do##1{\mathchar`##1 \penalty\value{biburllcpenalty}}}}% + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburllcskip + \penalty\value{biburllcpenalty}}}}% \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t \do\u\do\v\do\w\do\x\do\y\do\z} @@ -503,7 +539,7 @@ \DeclareFieldFormat{isbn}{\mkbibacro{ISBN}\addcolon\space #1} \DeclareFieldFormat{isrn}{\mkbibacro{ISRN}\addcolon\space #1} \DeclareFieldFormat{issn}{\mkbibacro{ISSN}\addcolon\space #1} -\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}} +\DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot}} \DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} \DeclareFieldFormat{maintitle}{\mkbibemph{#1}} \DeclareFieldFormat{booktitle}{\mkbibemph{#1}} @@ -842,7 +878,7 @@ {\namepartprefix} {\namepartsuffix}}% \usebibmacro{name:andothers}} - + \DeprecateNameFormatWithReplacement{last-first}{family-given} @@ -955,64 +991,92 @@ % Auxiliary macros for name formatting directives % ------------------------------------------------------------------ +\newcommand{\mkbibcompletename}[1]{#1} + +\newcommand{\mkbibcompletenamefamily}{\mkbibcompletename} + \newbibmacro*{name:family}[4]{% \ifuseprefix {\usebibmacro{name:delim}{#3#1}% \usebibmacro{name:hook}{#3#1}% - \ifdefvoid{#3} - {} - {\ifcapital - {\mkbibnameprefix{\MakeCapital{#3}}\isdot} - {\mkbibnameprefix{#3}\isdot}% - \ifprefchar{}{\bibnamedelimc}}} + \mkbibcompletenamefamily{% + \ifdefvoid{#3} + {} + {\ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot}} {\usebibmacro{name:delim}{#1}% - \usebibmacro{name:hook}{#1}}% - \mkbibnamefamily{#1}\isdot}% + \usebibmacro{name:hook}{#1}% + \mkbibcompletenamefamily{% + \mkbibnamefamily{#1}\isdot}}}% \newbibmacro*{name:last}[4]{% legacy alias \blx@warning@noline{% 'name:last' is deprecated, please use 'name:family'}% \usebibmacro{name:family}{#1}{#2}{#3}{#4}} +\newcommand{\mkbibcompletenamegivenfamily}{\mkbibcompletename} + \newbibmacro*{name:given-family}[4]{% \usebibmacro{name:delim}{#2#3#1}% \usebibmacro{name:hook}{#2#3#1}% - \ifdefvoid{#2}{}{\mkbibnamegiven{#2}\isdot\bibnamedelimd}% - \ifdefvoid{#3}{}{% - \mkbibnameprefix{#3}\isdot - \ifprefchar + \mkbibcompletenamegivenfamily{% + \ifdefvoid{#2} + {} + {\mkbibnamegiven{#2}\isdot\bibnamedelimd}% + \ifdefvoid{#3} {} - {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% - \mkbibnamefamily{#1}\isdot - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}} + {\mkbibnameprefix{#3}\isdot + \ifprefchar + {} + {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}} \newbibmacro*{name:first-last}[4]{% legacy alias \blx@warning@noline{% 'name:first-last' is deprecated, please use 'name:given-family'}% \usebibmacro{name:given-family}{#1}{#2}{#3}{#4}} +\newcommand{\mkbibcompletenamefamilygiven}{\mkbibcompletename} + \newbibmacro*{name:family-given}[4]{% \ifuseprefix {\usebibmacro{name:delim}{#3#1}% \usebibmacro{name:hook}{#3#1}% - \ifdefvoid{#3}{}{% - \ifcapital - {\mkbibnameprefix{\MakeCapital{#3}}\isdot} - {\mkbibnameprefix{#3}\isdot}% - \ifprefchar{}{\bibnamedelimc}}% - \mkbibnamefamily{#1}\isdot - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% - \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}} + \mkbibcompletenamefamilygiven{% + \ifdefvoid{#3} + {} + {\ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4} + {} + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + \ifdefvoid{#2} + {} + {\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}}} {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% - \mkbibnamefamily{#1}\isdot - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% - \ifboolexpe{% - test {\ifdefvoid{#2}} - and - test {\ifdefvoid{#3}}} - {} - {\revsdnamepunct}% - \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% - \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} + \mkbibcompletenamefamilygiven{% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4} + {} + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + \ifboolexpe{% + test {\ifdefvoid{#2}} + and + test {\ifdefvoid{#3}}} + {} + {\revsdnamepunct}% + \ifdefvoid{#2} + {} + {\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#3} + {} + {\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}} \newbibmacro*{name:last-first}[4]{% legacy alias \blx@warning@noline{% 'name:last-first' is deprecated, please use 'name:family-given'}% @@ -1170,11 +1234,12 @@ \@firstofone #1% remove spurious braces \ifdefvoid{#4}{}{ #4}% \ifdefvoid{#2}{}{, #2}% - \actualoperator - \ifdefvoid{#3}{}{\MakeCapital{#3} }% - #1% - \ifdefvoid{#4}{}{ #4}% - \ifdefvoid{#2}{}{, #2}} + \ifdefvoid{#3}{}{% + \actualoperator + \MakeCapital{#3} % + #1% + \ifdefvoid{#4}{}{ #4}% + \ifdefvoid{#2}{}{, #2}}} {\@firstofone #1% remove spurious braces \ifdefvoid{#4}{}{ #4}% \ifboolexpe{% @@ -2143,21 +2208,21 @@ \DeclareCiteCommand{\notecite} {\printfield{prenote}% - \setunit*{\prenotedelim}} + \setunit*{\printdelim{prenotedelim}}} {\nocite{\thefield{entrykey}}} {} {\printfield{postnote}} \DeclareCiteCommand{\pnotecite}[\mkbibparens] {\printfield{prenote}% - \setunit*{\prenotedelim}} + \setunit*{\printdelim{prenotedelim}}} {\nocite{\thefield{entrykey}}} {} {\printfield{postnote}} \DeclareCiteCommand{\fnotecite}[\mkbibfootnote] {\printfield{prenote}% - \setunit*{\prenotedelim}} + \setunit*{\printdelim{prenotedelim}}} {\nocite{\thefield{entrykey}}} {} {\printfield{postnote}} @@ -2262,12 +2327,12 @@ \iffieldundef{prenote} {} {\printfield{prenote}% - \setunit{\prenotedelim}}} + \setunit{\printdelim{prenotedelim}}}} \newbibmacro*{postnote}{% \iffieldundef{postnote} {} - {\setunit{\postnotedelim}% + {\setunit{\printdelim{postnotedelim}}% \printfield{postnote}}} % multicite commands @@ -2276,12 +2341,12 @@ \iffieldundef{multiprenote} {} {\printfield{multiprenote}% - \prenotedelim}} + \printdelim{multiprenotedelim}}} \newbibmacro*{multipostnote}{% \iffieldundef{multipostnote} {} - {\postnotedelim + {\printdelim{multipostnotedelim} \printfield{multipostnote}}} % ------------------------------------------------------------------ diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index 85de524be78..ba4c8dc7b54 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty @@ -12,8 +12,8 @@ % particular purpose. % Set up the version strings here -\def\abx@date{2018/11/02} -\def\abx@version{3.12} +\def\abx@date{2019/08/17} +\def\abx@version{3.13} \def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/MW)} \def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/MW)} \def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/MW)} @@ -22,12 +22,12 @@ % This is not updated by build script as the control file version % does not necessarily change with the package version. % This is used when writing the .bcf -\def\blx@bcfversion{3.5} +\def\blx@bcfversion{3.6} % This is not updated by build script as the bbl version % does not necessarily change with the package version. % This is used when checking the .bbl -\def\blx@bblversion{3.0} +\def\blx@bblversion{3.1} \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{biblatex} @@ -209,7 +209,18 @@ {\def\blx@sortlocale{english}}} {}% \@ifpackageloaded{polyglossia} - {% This is required for languages which are never explicitly selected + {% polyglossia support is not great when it comes to language variants, + % so we better warn about it. + \ifundef\blx@nowarnpolyglossia + {\blx@warning@noline{% + Package 'polyglossia' detected.\MessageBreak + Please note that biblatex's polyglossia\MessageBreak + interface has some rough edges.\MessageBreak + Language variants are not picked up correctly.\MessageBreak + You can disable this warning by defining the macro\MessageBreak + '\string\blx@nowarnpolyglossia' in the preamble}} + {}% + % This is required for languages which are never explicitly selected % This check because \xpg@loaded is not defined in polyglossia <= v1.42.0 \ifundef\xpg@loaded {\let\xpg@loaded\@empty @@ -510,6 +521,29 @@ \let\HAR@checkdef\@empty \providecommand{\@gobblefive}[5]{} +\providecommand{\@gobblethree}[3]{} + +% etoolbox helpers + +% \ifinlist{}{} is not a good idea +% for printable stuff according to the etoolbox docs +% for \ifinlist (p. 31) +\newrobustcmd{\blx@ifprintableinlist}[2]{% + \begingroup + \def\blx@tempa{\endgroup + \@secondoftwo}% + \renewcommand*{\do}[1]{% + \ifstrequal{##1}{#1} + {\def\blx@tempa{\endgroup + \@firstoftwo}% + \listbreak} + {}}% + \dolistloop{#2}% + \expandafter\blx@tempa} + +\newrobustcmd{\blx@ifprintableinlistcs}[2]{% + \expandafter\blx@ifprintableinlistcs@i\csname #2\endcsname{#1}} +\long\def\blx@ifprintableinlistcs@i#1#2{\blx@ifprintableinlist{#2}{#1}} \ifundef\pdf@mdfivesum {\let\blx@mdfivesum\@firstofone @@ -651,27 +685,18 @@ \expandafter\newcount\csname blx@sectionciteorder@0\endcsname \newcount\blx@entrysetcounter - -\def\blx@uniquename{0} -\def\blx@uniquelist{0} +\def\blx@uniquename{false} +\def\blx@uniquelist{false} \def\blx@maxbibnames{0} \def\blx@minbibnames{0} \def\blx@maxcitenames{0} \def\blx@mincitenames{0} \def\blx@maxsortnames{0} \def\blx@minsortnames{0} -\def\blx@maxbibnames@type{\blx@maxbibnames} -\def\blx@minbibnames@type{\blx@minbibnames} -\def\blx@maxcitenames@type{\blx@maxcitenames} -\def\blx@mincitenames@type{\blx@mincitenames} -\def\blx@maxsortnames@type{\blx@maxsortnames} -\def\blx@minsortnames@type{\blx@minsortnames} \def\blx@maxalphanames{0} \def\blx@minalphanames{0} \def\blx@maxitems{0} \def\blx@minitems{0} -\def\blx@maxitems@type{\blx@maxitems} -\def\blx@minitems@type{\blx@minitems} \newlength{\labelnumberwidth} \newlength{\labelalphawidth} @@ -721,17 +746,11 @@ \newtoggle{blx@labeltitleyear} \newtoggle{blx@labeldateparts} \newtoggle{blx@natbib} -\newtoggle{blx@noroman} \newtoggle{blx@mcite} \newtoggle{blx@loadfiles} -\newtoggle{blx@singletitle} \newtoggle{blx@sortsets} \newtoggle{blx@crossrefsource} \newtoggle{blx@xrefsource} -\newtoggle{blx@uniqueprimaryauthor} -\newtoggle{blx@uniquetitle} -\newtoggle{blx@uniquebaretitle} -\newtoggle{blx@uniquework} \newtoggle{blx@terseinits} \newtoggle{blx@useprefix} \newtoggle{blx@addset} @@ -741,11 +760,20 @@ \newtoggle{blx@skipbiblist} \newtoggle{blx@skiplab} \newtoggle{blx@citation} +\newtoggle{blx@volcite} \newtoggle{blx@bibliography} \newtoggle{blx@citeindex} \newtoggle{blx@bibindex} \newtoggle{blx@localnumber} \newtoggle{blx@refcontext} +\newtoggle{blx@noroman} +\newtoggle{blx@nohashothers} +\newtoggle{blx@nosortothers} +\newtoggle{blx@singletitle} +\newtoggle{blx@uniquebaretitle} +\newtoggle{blx@uniqueprimaryauthor} +\newtoggle{blx@uniquetitle} +\newtoggle{blx@uniquework} \newcommand*{\blx@xifstrequal}[2]{% \begingroup @@ -1176,10 +1204,10 @@ See the biblatex manual for valid option keys and possible values} {#2}}} -\def\blx@err@optdef#1{% +\def\blx@err@optdef#1#2{% \blx@error - {Conflicting options} - {The option '#1' is already defined}} + {Option '#1' already defined} + {The option '#1' is already defined in scope '#2'}} \def\blx@err@nodocdiv#1{% \blx@error @@ -1991,8 +2019,13 @@ \providerobustcmd*{\allowhyphens}{% \nobreak\hskip\z@skip} +% Idea from Peter Wilson's hyphenat package +% https://ctan.org/pkg/hyphenat +% also https://texfaq.org/FAQ-hyphoff +\newlanguage\blx@langwohyphens + \providerobustcmd*{\nohyphenation}{% - \lefthyphenmin\@m} + \language\blx@langwohyphens} \providerobustcmd*{\textnohyphenation}[1]{% \bgroup\nohyphenation#1\egroup} @@ -2034,7 +2067,7 @@ Using fallback driver}% \csuse{blx@bbx@*}} {\blx@error - {No driver found} + {No driver for '\abx@field@entrytype' found} {I can't find a driver for the entry type '\abx@field@entrytype'\MessageBreak and there is no fallback driver either}}}} @@ -2185,6 +2218,85 @@ {\csname abx@list@#1\endcsname}} {}} +\def\blx@imc@thefirstlistitem#1{% + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \blx@imc@thefirstlistitem@grab + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + {\csuse{abx@list@#1}}} + +\def\blx@imc@thefirstlistitem@grab#1{% + \blx@imc@thefirstlistitem@grab@i + #1{}{}% + \blx@imc@thefirstlistitem@grab@i@end} +\def\blx@imc@thefirstlistitem@grab@i#1#2\blx@imc@thefirstlistitem@grab@i@end{#1} + +% {}{} +% needs 7 levels of expansion, i.e. 2^7-1=127 '\expandafter's +\def\blx@imc@usefirstlistitem#1#2{% + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter + #1% + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter + {\blx@imc@thefirstlistitem{#2}}} + +\def\blx@imc@strfirstlistitem#1{% + \ifcsdef{abx@list@#1} + {\blx@imc@usefirstlistitem{\detokenize}{#1}} + {}} + % {} \def\blx@imc@thename#1{\csuse{abx@name@#1}} @@ -3100,25 +3212,32 @@ {\blx@range@aux\blx@normrange@i}} \def\blx@range@aux#1{% - \@ifnextchar[{#1}{#1[\@firstofone]}} + \@ifnextchar[{\blx@range@aux@i#1}{#1[\@firstofone][\@firstofone]}} + +\def\blx@range@aux@i#1[#2]{% + \@ifnextchar[{#1[#2]}{#1[#2][\@firstofone]}} -\def\blx@normrange@i[#1]#2{% +\def\blx@normrange@i[#1][#2]#3{% \let\blx@tempa\@empty \protected\def\blx@range@out@value{\appto\blx@tempa}% + \def\blx@range@out@item@process{#2}% \let\blx@range@out@delim\blx@range@out@value - \let\blx@range@split\blx@normrange@split + \let\blx@range@split\blx@genrange@split \let\blx@range@process\blx@normrange@process - \blx@range@chunk{#2}% + \blx@range@chunk{#3}% + \begingroup \edef\blx@tempa{\endgroup \unexpanded{#1}{\expandonce\blx@tempa}}% - \blx@tempa} + \blx@tempa + \endgroup} -\def\blx@normrange@ii[#1]#2{% +\def\blx@normrange@ii[#1][#2]#3{% \protected\def\blx@range@out@value{#1}% + \def\blx@range@out@item@process{#2}% \let\blx@range@out@delim\@firstofone - \let\blx@range@split\blx@normrange@split + \let\blx@range@split\blx@genrange@split \let\blx@range@process\blx@normrange@process - \blx@range@chunk{#2}% + \blx@range@chunk{#3}% \endgroup} \def\blx@range@chunk#1{% @@ -3153,8 +3272,10 @@ {}} % Unicode en-dashes are supported in blx-unicode.def -\def\blx@normrange@split#1{% - \def\blx@normrange@abort{\blx@range@out@value{#1}}% +\def\blx@genrange@split#1{% + \edef\blx@normrange@abort{% + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% \blx@imc@ifpages{#1} {\blx@normrange@range#1\bibrangedash\bibrangedash&} {\blx@normrange@abort}} @@ -3163,9 +3284,20 @@ \ifblank{#3} {\blx@normrange@hyphen#1--&} {\ifblank{#2} - {\blx@range@out@value{#1\bibrangedash}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash}}% + \blx@tempc} {\ifblank{#1} - {\blx@range@out@value{\bibrangedash#2}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc} {\blx@range@process{#1}{#2}}}}} \def\blx@normrange@hyphen#1-#2-#3&{% @@ -3177,22 +3309,44 @@ {\def\blx@tempb{#1}}% \blx@normrange@hyphen@i#3&} {\ifblank{#1} - {\blx@range@out@value{\bibrangedash#2}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc} {\blx@range@process{#1}{#2}}}}} \def\blx@normrange@hyphen@i#1-#2&{% \ifblank{#1#2} - {\expandafter\blx@range@out@value - \expandafter{\blx@tempb\bibrangedash}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\expandonce\blx@tempb}% + \noexpand\bibrangedash}}% + \blx@tempc} {\notblank{#1} {\ifdefempty\blx@tempb - {\blx@range@out@value{\bibrangedash#1}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{% + \unexpanded{#1}}}}% + \blx@tempc} {\expandafter\blx@range@process \expandafter{\blx@tempb}{#1}}} {\blx@normrange@hyphen@i#2&}}} \def\blx@normrange@process#1#2{% - \blx@range@out@value{#1\bibrangedash#2}} + \begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} % <*>[]{} \newrobustcmd*{\mkcomprange}{% @@ -3201,31 +3355,43 @@ {\blx@range@aux\blx@comprange@ii} {\blx@range@aux\blx@comprange@i}} -\def\blx@comprange@i[#1]#2{% +\def\blx@comprange@i[#1][#2]#3{% \let\blx@tempa\@empty \protected\def\blx@range@out@value{\appto\blx@tempa}% + \def\blx@range@out@item@process{#2}% \let\blx@range@out@delim\blx@range@out@value - \let\blx@range@split\blx@normrange@split + \let\blx@range@split\blx@genrange@split \let\blx@range@process\blx@comprange@check - \blx@range@chunk{#2}% + \blx@range@chunk{#3}% + \begingroup \edef\blx@tempa{\endgroup \unexpanded{#1}{\expandonce\blx@tempa}}% - \blx@tempa} + \blx@tempa + \endgroup} -\def\blx@comprange@ii[#1]#2{% +\def\blx@comprange@ii[#1][#2]#3{% \protected\def\blx@range@out@value{#1}% + \def\blx@range@out@item@process{#2}% \let\blx@range@out@delim\@firstofone - \let\blx@range@split\blx@normrange@split + \let\blx@range@split\blx@genrange@split \let\blx@range@process\blx@comprange@check - \blx@range@chunk{#2}% + \blx@range@chunk{#3}% \endgroup} \def\blx@comprange@check#1#2{% \blx@imc@ifinteger{#1} {\blx@imc@ifinteger{#2} - {\blx@comprange@comp{#1}{#2}} - {\blx@range@out@value{#1\bibrangedash#2}}} - {\blx@range@out@value{#1\bibrangedash#2}}} + {\@firstoftwo} + {\@secondoftwo}} + {\@secondoftwo} + {\blx@comprange@comp{#1}{#2}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc}} \def\blx@comprange@comp#1#2{% \def\blx@tempb{#1}% @@ -3255,8 +3421,12 @@ \else \numdef\blx@tempc\blx@tempd \fi - \edef\blx@tempb{% - \blx@range@out@value{\blx@tempb\noexpand\bibrangedash\blx@tempc}}% + \begingroup + \edef\blx@tempb{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\blx@tempb}% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{\blx@tempc}}}% \blx@tempb} \def\blx@comprange@comp@div{% @@ -3284,40 +3454,52 @@ \newrobustcmd*{\mkfirstpage}{% \begingroup \@ifstar - {\blx@firstpage\blx@firstpage@ii} - {\blx@firstpage\blx@firstpage@i}} - -\def\blx@firstpage#1{% - \@ifnextchar[{#1}{#1[\@firstofone]}} + {\blx@range@aux\blx@firstpage@ii} + {\blx@range@aux\blx@firstpage@i}} -\def\blx@firstpage@i[#1]#2{% +\def\blx@firstpage@i[#1][#2]#3{% \let\blx@tempa\@empty \protected\def\blx@range@out@value{\appto\blx@tempa}% + \def\blx@range@out@item@process{#2}% \let\blx@range@out@delim\blx@range@out@value \let\blx@range@split\blx@firstpage@split - \blx@range@chunk{#2}% + \blx@range@chunk{#3}% + \begingroup \edef\blx@tempa{\endgroup \unexpanded{#1}{\expandonce\blx@tempa}}% - \blx@tempa} + \blx@tempa + \endgroup} -\def\blx@firstpage@ii[#1]#2{% +\def\blx@firstpage@ii[#1][#2]#3{% \protected\def\blx@range@out@value{#1}% + \def\blx@range@out@item@process{#2}% \let\blx@range@out@delim\@firstofone \let\blx@range@split\blx@firstpage@split - \blx@range@chunk{#2}% + \blx@range@chunk{#3}% \endgroup} % Unicode en-dashes are supported in blx-unicode.def \def\blx@firstpage@split#1{% - \def\blx@firstpage@abort{\blx@range@out@value{#1}}% + \edef\blx@firstpage@abort{% + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% \blx@firstpage@range#1\bibrangedash\bibrangedash&} \def\blx@firstpage@range#1\bibrangedash#2\bibrangedash#3&{% \ifblank{#3} {\blx@firstpage@hyphen#1--&} {\ifblank{#1} - {\blx@range@out@value{\bibrangedash#2}} - {\blx@range@out@value{#1}}}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@tempc}}} \def\blx@firstpage@hyphen#1-#2-#3&{% \ifblank{#3} @@ -3325,15 +3507,31 @@ {\ifblank{#1} {\ifblank{#2} {\blx@firstpage@hyphen@i#3&} - {\blx@range@out@value{\bibrangedash#2}}} - {\blx@range@out@value{#1}}}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@tempc}}} \def\blx@firstpage@hyphen@i#1-#2&{% \ifblank{#1} {\ifblank{#2} {\blx@firstpage@abort} {\blx@firstpage@hyphen@i#2&}} - {\blx@range@out@value{\bibrangedash#1}}} + {\begingroup + \edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \expandonce\blx@range@out@item@process{% + \unexpanded{#1}}}}% + \blx@tempc}} \newcommand*{\ppspace}{\addnbspace} \newcommand*{\sqspace}{\addnbspace} @@ -3489,9 +3687,9 @@ % {}{} \protected\def\blx@imc@usedriver#1#2{% \begingroup + \delimcontext{bib}% \csuse{blx@hook@usedriver}% \csuse{blx@hook@bbxinit}#1% - \delimcontext{bib}% \blx@beglangbib \blx@driver{#2}% \blx@endlangbib @@ -3637,7 +3835,9 @@ and test {\iffieldsequal{#1dateera}{#2dateera}}}} \blx@regimcs{% - \ifdriver \thefield \strfield \csfield \usefield \thelist \strlist \thename \strname + \ifdriver \thefield \strfield \csfield \usefield \thelist \strlist + \thefirstlistitem \usefirstlistitem \strfirstlistitem + \thename \strname \clearfield \clearlist \clearname \restorefield \restorelist \restorename \ifcategory \ifkeyword \ifciteseen \ifciteibid \ifciteidem \ifopcit \ifloccit @@ -3660,6 +3860,7 @@ \appto\blx@blxinit{% \def\ifnatbibmode{\iftoggle{blx@natbib}}% \def\ifcitation{\iftoggle{blx@citation}}% + \def\ifvolcite{\iftoggle{blx@volcite}}% \def\ifbibliography{\iftoggle{blx@bibliography}}% \def\ifciteindex{\iftoggle{blx@citeindex}}% \def\ifbibindex{\iftoggle{blx@bibindex}}% @@ -3675,6 +3876,7 @@ \def\ifuniquework{\iftoggle{abx@bool@uniquework}}% \def\ifuniqueprimaryauthor{\iftoggle{abx@bool@uniqueprimaryauthor}}% \def\ifandothers#1{\iftoggle{abx@bool@more#1}}% + \protected\def\pnfmt{\printtext[postnote]}% \protected\def\pno{\bibstring{page}}% \protected\def\ppno{\bibstring{pages}}% \let\nopp\relax @@ -3692,7 +3894,7 @@ \protected\def#1{\ERROR}% \fi }% - \docsvlist{\pno,\ppno,\nopp,\psq,\psqq}% + \docsvlist{\pnfmt,\pno,\ppno,\nopp,\psq,\psqq}% } %% Global formatting hooks @@ -4320,25 +4522,15 @@ {\setkeys{blx@opt@namelist}{#1}}% \def\blx@thedata{#2}} -% These are options in the .bbl that biber makes explicit as they are needed in biblatex -% for various reasons. Not all namelist/name scope options are necessary in the .bbl as -% some are used by biber only and are not needed by biblatex after biber has finished -% generating the .bbl -% Per-namelist options -\define@key{blx@opt@namelist}{uniquelist}{\c@uniquelist#1\relax} -\define@key{blx@opt@namelist}{useprefix}{\settoggle{blx@useprefix}{#1}} -\define@key{blx@opt@namelist}{sortingnamekeytemplatename}{\def\blx@refcontext@sortingnamekeytemplatename{#1}} -\define@key{blx@opt@namelist}{uniquenametemplatename}{\def\blx@refcontext@uniquenametemplatename{#1}} -\define@key{blx@opt@namelist}{labelalphanametemplatename}{\def\blx@refcontext@labelalphanametemplatename{#1}} - -% Per-name options -\define@key{blx@opt@name}{uniquename}{\c@uniquename#1\relax} +% Biber-calculated info passed back to biblatex as an option in the .bbl +% unlike stuff defined with \DeclareBiblatexOption and +% \blx@DeclareBackendOption these are not 'real' options +\define@key{blx@opt@namelist}{ul}{\c@uniquelist#1\relax} + +\define@key{blx@opt@name}{un}{\c@uniquename#1\relax} \define@key{blx@opt@name}{uniquepart}{\def\abx@field@uniquepart{#1}} \define@key{blx@opt@name}{hash}{\edef\abx@field@hash{\detokenize{#1}}} -\define@key{blx@opt@name}{useprefix}{\settoggle{blx@useprefix}{#1}} -\define@key{blx@opt@name}{sortingnamekeytemplatename}{\def\blx@refcontext@sortingnamekeytemplatename{#1}} -\define@key{blx@opt@name}{uniquenametemplatename}{\def\blx@refcontext@uniquenametemplatename{#1}} -\define@key{blx@opt@name}{labelalphanametemplatename}{\def\blx@refcontext@labelalphanametemplatename{#1}} + \newrobustcmd*{\bibinitperiod}{\adddot} \newrobustcmd*{\bibinitdelim}{\addnbspace} @@ -5398,14 +5590,14 @@ \def\blx@lbx@input@postprocess@all#1{% \blx@lbx@input@postprocess@strings{#1}% \blx@lbx@input@postprocess@extras{#1}% - \csuse{blx@hook@hyph@#1}} + \csuse{blx@hook@hyph@#1}% + \blx@maplang{#1}{#1}} % {}{}{} \def\blx@lbxinput@iv#1#2#3{% \begingroup \blx@lbx@input@handler{#2.lbx}{#3} - {\blx@maplang{#1}{#1}% - \let\InheritBibliographyStrings\@gobble + {\let\InheritBibliographyStrings\@gobble \let\DeclareBibliographyStrings\@gobble \let\InheritBibliographyExtras\@gobble \let\DeclareBibliographyExtras\@gobble @@ -5523,6 +5715,29 @@ \iftoggle{blx@seconds}{} {\blx@imc@clearfield{#1#2second}}} +\newcommand*{\blx@if@printtime}[2]{% + \ifboolexpr{% + togl {blx@#1dateusetime} + and + not test {\iffieldundef{#1#2hour}}}} + +\newcommand*{\blx@if@printanytimes}[1]{% + \ifboolexpr{ + togl {blx@#1dateusetime} + and + ( not test {\iffieldundef{#1hour}} + or not test {\iffieldundef{#1endhour}})}} + +% {}{'' | end} +\newrobustcmd*{\blx@printtime}[2]{% + \blx@if@printtime{#1}{#2} + {\blx@timepre{#1}{#2}% + \printtext{\bibdatetimesep}% + \printtext[#1time]{% + \csuse{mkbibtime\csuse{blx@timeformat@#1time}} + {#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}} + {}} + % {}{} \newrobustcmd*{\mkdaterangefull}[2]{% \begingroup @@ -5546,7 +5761,7 @@ {\mbox{\bibdaterangesep}} {\bibdaterangesep \enddatecircaprint - \iffieldundef{#2season} + \iffieldundef{#2endseason} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% % Optionally print the time after the date \blx@printtime{#2}{end}} @@ -5555,7 +5770,46 @@ \dateeraprint{#2endyear}}}}}% \endgroup} +\newrobustcmd*{\mkdaterangefullextra}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[#2date]{% + \datecircaprint + % Such a season component can only come from an ISO8601 season which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2season} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + % Optionally print the time after the date + \blx@printtime{#2}{}} + {\csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \printtext{\mbox{\bibdaterangesep}}} + {\printtext{% + \bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endseason} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + \newrobustcmd*{\mkdaterangetrunc}[2]{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\mkdaterangetrunc@i{#1}{#2}}} + +\newrobustcmd*{\mkdaterangetrunc@i}[2]{% \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} @@ -5584,48 +5838,19 @@ {\mbox{\bibdaterangesep}} {\bibdaterangesep \enddatecircaprint - \iffieldundef{#2season} + \iffieldundef{#2endseason} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% \enddateuncertainprint \dateeraprint{#2endyear}}}}}% \endgroup} -\newrobustcmd*{\mkdaterangefullextra}[2]{% - \begingroup - \blx@metadateinfo{#2}% - \iffieldundef{#2year} - {\blx@nounit} - {\printtext[#2date]{% - \datecircaprint - % Such a season component can only come from an ISO8601 season which replaces - % a normal month so if it exists, we know that a normal date print is ruled out - \iffieldundef{#2season} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - % Optionally print the time after the date - \blx@printtime{#2}{}} - {\csuse{mkbibseasondate#1}{#2year}{#2season}}% - \dateuncertainprint - \dateeraprint{#2year}% - \iffieldundef{#2endyear} - {\printfield{extradate}} - {\iffieldequalstr{#2endyear}{} - {\printfield{extradate}% - \printtext{\mbox{\bibdaterangesep}}} - {\printtext{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season} - {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% - % Optionally print the time after the date - \blx@printtime{#2}{end}} - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% - \printfield{extradate}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}% - \endgroup} - \newrobustcmd*{\mkdaterangetruncextra}[2]{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\mkdaterangetruncextra@i{#1}{#2}}} + +\newrobustcmd*{\mkdaterangetruncextra@i}[2]{% \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} @@ -5656,7 +5881,7 @@ {\printtext{% \bibdaterangesep \enddatecircaprint - \iffieldundef{#2season} + \iffieldundef{#2endseason} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% \printfield{extradate}% @@ -5776,17 +6001,6 @@ {}% \mkdaterangefullextra{short}{#1}} -% {}{'' | end} -\newrobustcmd*{\blx@printtime}[2]{% - \ifboolexpr{% - togl {blx@#1dateusetime} - and - not test {\iffieldundef{#1#2hour}}} - {\blx@timepre{#1}{#2}% - \printtext{\bibdatetimesep}% - \printtext[#1time]{\csuse{mkbibtime\csuse{blx@timeformat@#1time}}{#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}} - {}} - \newrobustcmd*{\mkdaterangeiso}[1]{% \begingroup \blx@metadateinfo{#1}% @@ -6010,6 +6224,7 @@ \iffieldundef{#1}{}{\space}% \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}} +\newrobustcmd*{\bibdatedash}{\bibrangedash} \newrobustcmd*{\finalandcomma}{} \newrobustcmd*{\finalandsemicolon}{} \newrobustcmd*{\mkbibordinal}[1]{% @@ -6112,13 +6327,13 @@ % {}{} \def\blx@maplang#1#2{% - \csxappto{extras#1}{% - \noexpand\blx@resetpunct - \expandafter\noexpand\csname abx@extras@#2\endcsname - \expandafter\noexpand\csname abx@strings@#2\endcsname}% - \csxappto{noextras#1}{% - \noexpand\blx@resetpunct - \expandafter\noexpand\csname abx@noextras@#2\endcsname}} + \csgappto{extras#1}{% + \blx@resetpunct + \csuse{abx@extras@#2}% + \csuse{abx@strings@#2}}% + \csgappto{noextras#1}{% + \blx@resetpunct + \csuse{abx@noextras@#2}}} %% babel/polyglossia interface \def\blx@beglang{\blx@clearlang\begingroup} @@ -6385,7 +6600,10 @@ \global\cslet{blx@entryopts@#1}\@empty \global\cslet{blx@namelistopts@#1}\@empty \global\cslet{blx@nameopts@#1}\@empty} -\expandafter\expandafter\expandafter\docsvlist\expandafter\expandafter\expandafter{\csname blx@datamodel@constant@optiondatatypes\endcsname} +\expandafter\expandafter\expandafter +\docsvlist +\expandafter\expandafter\expandafter +{\csname blx@datamodel@constant@optiondatatypes\endcsname} % Helper for collecting options and datatypes % {}{}{} @@ -6397,121 +6615,175 @@ {} {\listcsgadd{#2@#1}{#3}}} -% date, eventdate, urldate etc. -\def\abx@dodates{\dolistloop\blx@datamodel@dates} -% year, endyear, month, endmonth etc. -\def\abx@dodateparts{\expandafter\docsvlist\expandafter{\blx@dateparts}} - -% '', event, url, orig etc. -\def\do#1{% - \blx@stripfromendinto{#1}{date}\blx@datetype - \listxadd\blx@datetypes{\blx@datetype}} -\abx@dodates -% main date field has an empty prefix (''date) which can't be added to a list -% and so do it explicity -% This is one of the few (only?) hard-coded datamodel assumptions but it is -% very unlikely that anyone would *remove* the main date field in a custom application ... -\def\abx@dodatetypes{\do{}\dolistloop\blx@datetypes} -% per-entry inheritance blocking option for biber -\blx@collectopts{string}{blx@entryopts}{noinherit} +% entry, namelist, name scopes are input/handled on the backend side +% if we want to see the info back on the biblatex side, we need the backend +% to pass the info through via the .bbl file +\def\blx@declareblxopt@extrahandler@entry#1{% + \csgdef{blx@bcf@backendout@entry@#1}{1}} +\def\blx@declareblxopt@extrahandler@namelist#1{% + \csgdef{blx@bcf@backendout@namelist@#1}{1}} +\def\blx@declareblxopt@extrahandler@name#1{% + \csgdef{blx@bcf@backendout@name@#1}{1}} -% useprefix namelist/name scope -\blx@collectopts{boolean}{blx@namelistopts}{useprefix}% for passing to bcf -\blx@collectopts{boolean}{blx@nameopts}{useprefix}% for passing to the .bcf - -% nametemplates meta-option entry/namelist/name scope -\blx@collectopts{string}{blx@entryopts}{nametemplates} -\blx@collectopts{string}{blx@namelistopts}{nametemplates}% for passing to bcf -\blx@collectopts{string}{blx@nameopts}{nametemplates}% for passing to the .bcf - -% sortingnamekeytemplate namelist/name scope -\blx@collectopts{string}{blx@namelistopts}{sortingnamekeytemplatename}% for passing to bcf -\blx@collectopts{string}{blx@nameopts}{sortingnamekeytemplatename}% for passing to the .bcf - -% uniquenametemplate namelist/name scope -\blx@collectopts{string}{blx@namelistopts}{uniquenametemplatename}% for passing to bcf -\blx@collectopts{string}{blx@nameopts}{uniquenametemplatename}% for passing to the .bcf - -% labelalphanametemplate namelist/name scope -\blx@collectopts{string}{blx@namelistopts}{labelalphanametemplatename}% for passing to bcf -\blx@collectopts{string}{blx@nameopts}{labelalphanametemplatename}% for passing to the .bcf - -% Misc globalopts -\blx@collectopts{xml}{blx@globalopts}{datamodel}% for passing to the .bcf -\blx@collectopts{string}{blx@globalopts}{controlversion}% for passing to the .bcf - -\newcommand*{\labelalphaothers}{+} -\newcommand*{\sortalphaothers}{\labelalphaothers} -\blx@collectopts{string}{blx@globalopts}{alphaothers}% for passing to the .bcf -\blx@collectopts{string}{blx@typeopts}{alphaothers}% for passing to the .bcf -\blx@collectopts{string}{blx@globalopts}{sortalphaothers}% for passing to the .bcf -\blx@collectopts{string}{blx@typeopts}{sortalphaothers}% for passing to the .bcf +% {