diff options
Diffstat (limited to 'Master/texmf-dist')
144 files changed, 4233 insertions, 2084 deletions
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 36ac849dd2f..6730a9ded77 100644 --- a/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib +++ b/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib @@ -417,7 +417,7 @@ \texttt{editor} as well as a \texttt{series} field}, } -@book{aristotle:rhetoric, +@mvbook{aristotle:rhetoric, author = {Aristotle}, title = {The Rhetoric of {Aristotle} with a commentary by the late {Edward Meredith Cope}}, @@ -666,7 +666,7 @@ fields}, } -@book{knuth:ct, +@mvbook{knuth:ct, author = {Knuth, Donald E.}, title = {Computers \& Typesetting}, date = {1984/1986}, @@ -675,16 +675,15 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1984-0}, sorttitle = {Computers & Typesetting}, indexsorttitle= {Computers & Typesetting}, - annotation = {A five-volume book cited as a whole. This is a \texttt{book} + annotation = {A five-volume book cited as a whole. This is a \texttt{mvbook} entry, note the \texttt{volumes} field}, } @book{knuth:ct:a, author = {Knuth, Donald E.}, - title = {The {\TeX} book}, + title = {The {\TeX book}}, date = 1984, maintitle = {Computers \& Typesetting}, volume = {A}, @@ -692,13 +691,12 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1984-1}, sorttitle = {Computers & Typesetting A}, indexsorttitle= {The TeXbook}, indextitle = {\protect\TeX book, The}, shorttitle = {\TeX book}, annotation = {The first volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields. We want this + \texttt{sorttitle} field. We want this volume to be listed after the entry referring to the entire five-volume set. Also note the \texttt{indextitle} and \texttt{indexsorttitle} fields. Indexing packages that don't @@ -708,7 +706,7 @@ @book{knuth:ct:b, author = {Knuth, Donald E.}, - title = {\TeX: The Program}, + title = {{\TeX}: The Program}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {B}, @@ -716,12 +714,11 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-1}, sorttitle = {Computers & Typesetting B}, indexsorttitle= {TeX: The Program}, shorttitle = {\TeX}, annotation = {The second volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields. Also note the + \texttt{sorttitle} field. Also note the \texttt{indexsorttitle} field}, } @@ -735,18 +732,17 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-2}, sorttitle = {Computers & Typesetting C}, indextitle = {METAFONTbook, The}, shorttitle = {METAFONTbook}, annotation = {The third volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields as well as the + \texttt{sorttitle} field as well as the \texttt{indextitle} field}, } @book{knuth:ct:d, author = {Knuth, Donald E.}, - title = {METAFONT: The Program}, + title = {{METAFONT}: The Program}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {D}, @@ -754,11 +750,10 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-3}, sorttitle = {Computers & Typesetting D}, shorttitle = {METAFONT}, annotation = {The fourth volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields}, + \texttt{sorttitle} field}, } @book{knuth:ct:e, @@ -771,13 +766,12 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-4}, sorttitle = {Computers & Typesetting E}, annotation = {The fifth volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields}, + \texttt{sorttitle} field}, } -@book{knuth:ct:related, +@mvbook{knuth:ct:related, author = {Knuth, Donald E.}, title = {Computers \& Typesetting}, date = {1984/1986}, @@ -786,7 +780,6 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1984-0}, sorttitle = {Computers & Typesetting}, indexsorttitle= {Computers & Typesetting}, related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e}, @@ -909,7 +902,7 @@ \texttt{relatedtype} fields}, } -@book{nietzsche:ksa, +@mvbook{nietzsche:ksa, author = {Nietzsche, Friedrich}, title = {S{\"a}mtliche Werke}, date = 1988, @@ -919,16 +912,15 @@ publisher = dtv # { and Walter de Gruyter}, location = {M{\"u}nchen and Berlin and New York}, langid = {german}, - sortyear = {1988-0}, sorttitle = {Werke-00-000}, indexsorttitle= {Samtliche Werke}, subtitle = {Kritische Studienausgabe}, annotation = {The critical edition of Nietzsche's works. This is a - \texttt{book} entry referring to a 15-volume work as a + \texttt{mvbook} entry referring to a 15-volume work as a whole. Note the \texttt{volumes} field and the format of the \texttt{publisher} and \texttt{location} fields in the database file. Also note the \texttt{sorttitle} and - \texttt{sortyear} fields which are used to fine-tune the + field which is used to fine-tune the sorting order of the bibliography. We want this item listed first in the bibliography}, } @@ -946,7 +938,6 @@ publisher = dtv # { and Walter de Gruyter}, location = {M{\"u}nchen and Berlin and New York}, langid = {german}, - sortyear = {1988-1}, sorttitle = {Werke-01-000}, indexsorttitle= {Samtliche Werke I}, bookauthor = {Nietzsche, Friedrich}, @@ -955,8 +946,8 @@ 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} and \texttt{sortyear} - fields. We want this entry to be listed after the entry + fields. Also note the \texttt{sorttitle} + field. We want this entry to be listed after the entry referring to the entire edition}, } @@ -1061,7 +1052,7 @@ the \texttt{related} and \texttt{relatedtype} fields}, } -@book{vazques-de-parga, +@mvbook{vazques-de-parga, author = {V{\'a}zques{ de }Parga, Luis and Lacarra, Jos{\'e} Mar{\'i}a and Ur{\'i}a R{\'i}u, Juan}, title = {Las Peregrinaciones a Santiago de Compostela}, @@ -1074,7 +1065,7 @@ sorttitle = {Peregrinaciones a Santiago de Compostela}, indextitle = {Peregrinaciones a Santiago de Compostela, Las}, shorttitle = {Peregrinaciones}, - annotation = {A multivolume book cited as a whole. This is a \texttt{book} + annotation = {A multivolume book cited as a whole. This is a \texttt{mvbook} entry with \texttt{volumes}, \texttt{note}, \texttt{sorttitle}, and \texttt{indextitle} fields}, } @@ -1108,7 +1099,7 @@ \texttt{indextitle} fields}, } -@collection{britannica, +@mvcollection{britannica, editor = {Preece, Warren E.}, title = {The {New Encyclop{\ae}dia Britannica}}, date = 2003, @@ -1123,7 +1114,7 @@ sorttitle = {Encyclop{\ae}dia Britannica}, indextitle = {{Encyclop{\ae}dia Britannica}, The {New}}, shorttitle = {{Encyclop{\ae}dia Britannica}}, - annotation = {This is a \texttt{collection} entry for an encyclopedia. Note + annotation = {This is a \texttt{mvcollection} entry for an encyclopedia. Note the \texttt{useeditor} option in the \texttt{options} field as well as the \texttt{sorttitle} field. We want this entry to be cited and alphabetized by title even though there is an @@ -1159,7 +1150,7 @@ pages = {1-23}, } -@collection{jaffe, +@mvcollection{jaffe, editor = {Jaff{\'e}, Philipp}, title = {Regesta Pontificum Romanorum ab condita ecclesia ad annum post Christum natum \textsc{mcxcviii}}, @@ -1173,7 +1164,7 @@ editoratype = {redactor}, indextitle = {Regesta Pontificum Romanorum}, shorttitle = {Regesta Pontificum Romanorum}, - annotation = {A \texttt{collection} entry with \texttt{edition} and + annotation = {A \texttt{mvcollection} entry with \texttt{edition} and \texttt{volumes} fields. Note the \texttt{editora} and \texttt{editoratype} fields}, } @@ -1252,7 +1243,6 @@ location = {M{\"u}nchen and Berlin and New York}, pages = {243-334}, langid = {german}, - sortyear = {1988-2}, sorttitle = {Werke-01-243}, indexsorttitle= {Vom Nutzen und Nachtheil der Historie fur das Leben}, indextitle = {Vom Nutzen und Nachtheil der Historie f{\"u}r das Leben}, @@ -1261,7 +1251,7 @@ This \texttt{inbook} entry explicitly refers to an essay found in the first volume. Note the \texttt{title}, \texttt{booktitle}, and \texttt{maintitle} fields. Also note - the \texttt{sorttitle} and \texttt{sortyear} fields. We want + the \texttt{sorttitle} field. We want this entry to be listed after the entry referring to the entire first volume}, } diff --git a/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst b/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst index a14e23a8f95..1d52835c94d 100644 --- a/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst +++ b/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst @@ -158,24 +158,29 @@ ENTRY { verbb verbc } - { skipbib skiplos skiplab useauthor useeditor usetranslator useprefix singletitle } - { entryoptions labelhash namehash fullhash dateyear dateendyear extradate labelalpha extraalpha - sortinit label.name label.year sortkey.nosort sortkey.name sortkey.year - sortkey.title sortkey.alpha sort.year sort.alph warningmsg } + { skipbib skiplos skiplab + useauthor useeditor usetranslator useprefix + singletitle } + { entryoptions labelhash namehash fullhash + dateyear dateendyear extradate labelalpha extraalpha label.name label.year + sortinit sortkey.nosort sortkey.name sortkey.year + sortkey.title sortkey.alpha sort.year sort.alph + warningmsg } INTEGERS { ctrl.debug ctrl.bibtex8 ctrl.maxline ctrl.sorting ctrl.cssort - ctrl.maxnames ctrl.minnames ctrl.useauthor ctrl.useeditor ctrl.usetranslator + ctrl.maxnames ctrl.minnames ctrl.maxalphanames ctrl.minalphanames + ctrl.useauthor ctrl.useeditor ctrl.usetranslator ctrl.useprefix ctrl.labelalpha ctrl.singletitle - ctrl.labeldate citecount + ctrl.labeldate citecount tempctra tempctrb tempctrc resvctra resvctrb resvctrc last.extra.num } -STRINGS { ctrl.alphaothers ctrl.sortstr +STRINGS { ctrl.alphaothers ctrl.sortalphaothers ctrl.sortstr templist tempstrga tempstrgb resvstrga resvstrgb resvstrgc last.name last.hash last.year last.extra } FUNCTION {initialize} { - "$Revision: 3.8 $" + "$Revision: 3.11 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ "Biblatex version: " swap$ * top$ @@ -190,8 +195,11 @@ FUNCTION {initialize} { #0 'ctrl.useprefix := #1 'ctrl.minnames := #99 'ctrl.maxnames := + #1 'ctrl.minalphanames := + #3 'ctrl.maxalphanames := #79 'ctrl.maxline := "+" 'ctrl.alphaothers := + " " 'ctrl.sortalphaothers := "nty" 'ctrl.sortstr := } @@ -255,8 +263,8 @@ FUNCTION {ctrl:skiplab} { } FUNCTION {ctrl:labelalpha} { - ctrl.labelalpha ctrl:skiplab not and - shorthand empty$ + ctrl.labelalpha + ctrl:skiplab not and } @@ -474,7 +482,7 @@ FUNCTION {push:labelname:editor} { if$ } { "shorteditor" } - if$ + if$ } { push:labelname:translator } if$ @@ -596,7 +604,7 @@ FUNCTION {push:labelname} { if$ } { "shortauthor" } - if$ + if$ } { push:labelname:editor } if$ @@ -610,7 +618,7 @@ FUNCTION {check:sortname} { } FUNCTION {warning} { - "\item " swap$ * + "\item " swap$ * warningmsg empty$ 'skip$ { warningmsg " " * swap$ * } @@ -679,14 +687,16 @@ FUNCTION {format:name:part} { } FUNCTION {format:name:initials} { + ".-" "\bibinithyphendelim " str:replace ".~" "\bibinitperiod\bibinitdelim " str:replace + ". " "\bibinitperiod\bibinitdelim " str:replace "." "\bibinitperiod" str:replace } FUNCTION {is.number} { #1 { #0 > } - { duplicate$ #1 #1 substring$ chr.to.int$ + { duplicate$ #1 #1 substring$ chr.to.int$ duplicate$ #47 > swap$ #58 < and @@ -873,7 +883,7 @@ FUNCTION {split.date} { split.date:date tempctra 'skip$ - { pop$ pop$ pop$ pop$ pop$ pop$ "" "" "" "" "" "" + { pop$ pop$ pop$ pop$ pop$ pop$ "" "" "" "" "" "" templist warning:invalid } if$ @@ -906,7 +916,7 @@ FUNCTION {sortkey:name:format} { { templist tempctra "{vv}" format.name$ duplicate$ empty$ { pop$ "" } - { "u" change.case$ "t" change.case$ + { "u" change.case$ "t" change.case$ delimiter.3 * } if$ templist tempctra @@ -1122,7 +1132,7 @@ FUNCTION {output:write:year} { 'skip$ if$ swap$ "\field" swap$ wrap:braces * - swap$ wrap:braces * output:indent:field + swap$ wrap:braces * output:indent:field } if$ } @@ -1201,7 +1211,8 @@ FUNCTION {output:write:verb} { { 'tempstrga := "\verb" swap$ wrap:braces * output:indent:field { tempstrga empty$ not } - { "\verb " tempstrga #1 ctrl.maxline #10 - substring$ * output:indent:field + { "\verb " tempstrga #1 ctrl.maxline #10 - substring$ * + output:indent:field tempstrga ctrl.maxline #9 - global.max$ substring$ 'tempstrga := } while$ @@ -1315,7 +1326,7 @@ FUNCTION {output:write:name} { output:write:name:prefix output:write:name:last output:write:name:suffix - output:write:name:first + output:write:name:first "}}%" output:indent:subfield tempctra #1 + 'tempctra := tempctrb #1 - 'tempctrb := @@ -1346,28 +1357,28 @@ FUNCTION {output:write:list} { #0 'tempctrc := { templist purify tempctrb global.max$ substring$ num.names$ #0 > } { templist tempctrb #1 substring$ "{" = - { tempctrc #1 + 'tempctrc := - tempctrb #1 + 'tempctrb := } - { templist tempctrb #1 substring$ "}" = - { tempctrc #1 - 'tempctrc := - tempctrb #1 + 'tempctrb := } - { templist tempctrb #5 substring$ - duplicate$ " AND " = - swap$ " and " = - or - tempctrc #1 < - and - { templist tempctra tempctrb tempctra - substring$ - wrap:braces "%" * output:indent:subfield - tempctrb #5 + duplicate$ - 'tempctra := - 'tempctrb := - } - { tempctrb #1 + 'tempctrb := } - if$ - } + { tempctrc #1 + 'tempctrc := + tempctrb #1 + 'tempctrb := } + { templist tempctrb #1 substring$ "}" = + { tempctrc #1 - 'tempctrc := + tempctrb #1 + 'tempctrb := } + { templist tempctrb #5 substring$ + duplicate$ " AND " = + swap$ " and " = + or + tempctrc #1 < + and + { templist tempctra tempctrb tempctra - substring$ + wrap:braces "%" * output:indent:subfield + tempctrb #5 + duplicate$ + 'tempctra := + 'tempctrb := + } + { tempctrb #1 + 'tempctrb := } + if$ + } if$ - } + } if$ } while$ @@ -1388,7 +1399,7 @@ FUNCTION {output:specials} { { "\set" } { "\inset" } if$ - entryset wrap:braces * output:indent:field + entryset wrap:braces * output:indent:field } if$ xref empty$ @@ -1661,7 +1672,7 @@ FUNCTION {output:compat.1} { if$ } if$ - output:write:field + output:write:field "location" location duplicate$ empty$ { pop$ address } @@ -1887,14 +1898,16 @@ FUNCTION {input:control:options} { % This version corresponds to the .bbl version, *not* the biblatex version! FUNCTION {input:control:version} { input:control:parse - "$Revision: 2.9 $" + "$Revision: 3.0 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ 'tempstrga := duplicate$ tempstrga = { pop$ } - { "Version mismatch: biblatex.bst=" tempstrga * - ", biblatex.sty=" * swap$ * warning$ + { "bbl version mismatch: biblatex.bst has " tempstrga * + ", but biblatex.sty has " * swap$ * warning$ + " The bbl version need not be the same as the biblatex version." + top$ pop$ "" } if$ } @@ -1918,8 +1931,11 @@ FUNCTION {input:control} { input:control:options 'ctrl.sorting := input:control:options 'ctrl.maxnames := input:control:options 'ctrl.minnames := + input:control:options 'ctrl.maxalphanames := + input:control:options 'ctrl.minalphanames := input:control:options 'ctrl.maxline := input:control:parse 'ctrl.alphaothers := + input:control:parse 'ctrl.sortalphaothers := 'ctrl.sortstr := } if$ @@ -1952,10 +1968,10 @@ FUNCTION {input:options:known} { { tempstrgb input:options:add #1 } { duplicate$ "true" = - { pop$ "" tempstrgb input:options:add + { pop$ "" tempstrgb input:options:add #1 } { duplicate$ tempstrgb input:options:add - bol.to.int + bol.to.int } if$ } @@ -1978,11 +1994,11 @@ FUNCTION {input:options:parse} { { input:options:known 'skiplos := } { tempstrgb "skiplab" = { input:options:known 'skiplab := } - { tempstrgb "dataonly" = - { input:options:known + { tempstrgb "dataonly" = + { input:options:known duplicate$ 'skipbib := - duplicate$ 'skiplos := - 'skiplab := + duplicate$ 'skiplos := + 'skiplab := } { tempstrgb input:options:add } if$ @@ -2072,8 +2088,8 @@ FUNCTION {input:iterate} { ctrl:set entryset empty$ or 'skip$ { #1 'skipbib := - #1 'skiplos := - #1 'skiplab := + #1 'skiplos := + #1 'skiplab := } if$ "date" date split.date @@ -2122,7 +2138,7 @@ FUNCTION {makelabel:name:format} { { templist tempctra "{vv}" format.name$ duplicate$ empty$ { pop$ "" } - { "u" change.case$ "t" change.case$ + { "u" change.case$ "t" change.case$ delimiter.3 * } if$ } @@ -2168,8 +2184,8 @@ FUNCTION {makelabel:alpha:format} { { templist num.names$ #1 - 'tempctrb := } { templist num.names$ 'tempctrb := } if$ - tempctrb ctrl.maxnames > - { ctrl.minnames 'tempctrb := } + tempctrb ctrl.maxalphanames > + { ctrl.minalphanames 'tempctrb := } 'skip$ if$ tempctrb #1 > @@ -2197,7 +2213,7 @@ FUNCTION {makelabel:alpha:format} { if$ } if$ - templist num.names$ ctrl.maxnames > + templist num.names$ ctrl.maxalphanames > templist andothers or { ctrl.alphaothers * } @@ -2273,33 +2289,36 @@ FUNCTION {makelabel:hash:format:full} { FUNCTION {makelabel:ctrl:alpha} { ctrl:labelalpha - { label empty$ - { push:cite purify #1 #3 substring$ - "u" change.case$ "t" change.case$ } - { label makelabel:alpha:year * } - if$ - } { shorthand empty$ - { "" } + { label empty$ + { push:cite purify #1 #3 substring$ + "u" change.case$ "t" change.case$ } + { label makelabel:alpha:year * } + if$ + } { shorthand } if$ } + { "" } if$ } FUNCTION {makelabel:ctrl:alpha:format} { ctrl:labelalpha - { label empty$ - { makelabel:alpha:format } - { pop$ label } + { shorthand empty$ + { label empty$ + { makelabel:alpha:format } + { pop$ label } + if$ + makelabel:alpha:year * + } + { pop$ + shorthand + } if$ - makelabel:alpha:year * } { pop$ - ctrl.labelalpha not shorthand empty$ or - { "" } - { shorthand } - if$ + "" } if$ } @@ -2353,7 +2372,8 @@ FUNCTION {labelsort:main} { FUNCTION {labelsort:alph} { ctrl:labelalpha - { labelalpha normalize delimiter.1 * + { labelalpha ctrl.alphaothers ctrl.sortalphaothers str:replace + purify delimiter.1 * push:presort * delimiter.1 * sortkey empty$ { ctrl.sorting #10 > @@ -2620,8 +2640,13 @@ FUNCTION {labelsort:alph:reverse} { labelalpha empty$ 'skip$ { extraalpha empty$ - { labelalpha normalize 'sortkey.alpha := } - { labelalpha normalize extraalpha #4 pad.number * 'sortkey.alpha := } + { labelalpha ctrl.alphaothers ctrl.sortalphaothers str:replace + purify + 'sortkey.alpha := } + { labelalpha ctrl.alphaothers ctrl.sortalphaothers str:replace + purify + extraalpha #4 pad.number * + 'sortkey.alpha := } if$ } if$ @@ -2705,7 +2730,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: 2.9 $" + "% $ biblatex bbl format version " "$Revision: 3.0 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ * " $" * write$ newline$ "% Do not modify the above lines!" write$ newline$ "%" write$ newline$ @@ -2723,7 +2748,7 @@ FUNCTION {output:main:begin} { " {}" write$ newline$ "\endgroup" write$ newline$ newline$ - "\datalist[entry]{" ctrl.sortstr * "/global//global/global}" * write$ + "\datalist[entry]{" ctrl.sortstr * "/global//global/global}" * write$ } FUNCTION {output:main:preamble} { diff --git a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md index 6bc039b0134..ed0c8706740 100644 --- a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md +++ b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md @@ -1,3 +1,125 @@ +# 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 + annotations. Annotations are no longer attributes but are fully-fledged + elements. It is not expected that this will impact any current users. +- **INCOMPATIBLE CHANGE** The field/fieldset argument to the `\translit` + command is now mandatory to allow for a new optional argument which + restricts transliteration to entries with particular `langid` fields. +- The field `sortyear` is an integer field now and not a literal. This is + because the `sortX` fields should be the same datatype as the `X` field + as sorting depends on this. This fixes an issue where years were not + sorted properly as integers. `sortyear` was sometimes used to tune date + sorting as in "1984-1", "1984-2" etc. for multi-volume collections with + the same year. However, this is really an abuse of the sorting template + system since this should be done by having a semantically more granular + sorting item to differentiate below the year level (typically, `volume` + does this for multi-volume works and this is already part of all default + sorting templates). The example .bib that comes with biblatex has been + changed to remove such `sortyear` abuses and the sorting is not impacted + as they examples using this already have either `volume` or `sorttitle` + which made this abuse of `sortyear` unnecessary anyway. +- The field `number` is a literal field now and not an integer. This allows for + a wider range of possible input such as "S1", "Suppl. 1", "1-3". + If you want to sort by `number` and only have integers in there, you should + consider using a custom data model to turn `number` back into an integer type + field, since sorting integers as literals has performance implications and + might lead to undesired sorting such as "1", "10", "2". +- **INCOMPATIBLE CHANGE** Removed the 'semi-hidden' option `noerroretextools`. + If you want to load `noerroretextools` now, you need to define the macro + `\blx@noerroretextools` instead. This can for example be done with + ``` + \usepackage{etoolbox} + \cslet{blx@noerroretextools}\empty + \usepackage{biblatex} + ``` + or + ``` + \makeatletter + \let\blx@noerroretextools\@empty + \makeatother + \usepackage{biblatex} + ``` + You still need to make sure that all macros used by `biblatex` are restored + to their `etoolbox` definitions before loading `biblatex`. +- New macro `\abx@missing@entry` to style missing entrykeys in citations. +- Added field format deprecation macros `\DeprecateFieldFormatWithReplacement` + and friends. +- Add `\ifdateyearsequal` to check if two dates have the same year and era + date part. Since `year`s are always non-negative integers and the 'sign' is + stored as the `era`, you should use `\ifdateyearsequal` instead of a simple + `\iffieldequals{#1year}{#2year}` to compare years. The latter can lead to + undesired results if the years have opposite signs, but are otherwise the + same. +- New values `part+`, `chapter+`, `section+` and `subsection+` for 'section'- + valued options `refsection`, `refsegment` and `citereset`. These options + are then executed at not only the specified level of sectioning, but also + all higher levels. +- Add second optional argument to `\DeclareDelimAlias*`. +- Allow keywords for dataonly/skipped entries as well. +- Added `maxcitecounter`. +- Deprecate `\labelnamepunct` in favour of the context-sensitive + `nametitledelim`. + For compatibility reasons `\labelnamepunct` still pops up in the code here + and there, but `nametitledelim` should be preferred now. +- The `xstring` package is not loaded by default any more. + Style developers whose styles make use of that package should load it + explicitly. +- `authoryear.bbx` now has a macro `bbx:ifmergeddate` that can be used to + check whether the date has been printed at the beginning of an entry + and can thus be suppressed later in the `date` and `issue+date` macros. + The macro works like a test and expands to the `<true>` branch if the date + has been merged and can be suppressed, it expands to `<false>` if the date + has not been merged. In practice `\printdate` should then be issued + if and only if the test yields false. + + This change means that the definition of the `date` macro can be the same for + all mergedate settings and that only `bbx:ifmergeddate` is redefined for + each different value. No backwards compatibility issues are expected, + but style authors are encouraged to test the changes and see if the new + macro could be useful for their styles. +- For a long time `biblatex` has defined `\enquote` if `csquotes` was not + loaded. This behaviour was not documented, the official command intended + for quotation marks was always `\mkbibquote`. Because `biblatex` should not + (re)define user-level commands that are not primarily associated with + citations or the bibliography, from this release on `\enquote` is not defined + any more, instead the internal command `\blx@enquote` is defined and used. + The same holds for `\initoquote`, `\initiquote`, `\textooquote`, + `\textcoquote`, `\textoiquote`, `\textciquote`. + `biblatex` still defines the internal commands `\@quotelevel`, `\@quotereset` + and `\@setquotesfcodes` if `csquotes` is not loaded. + + Users are encouraged to use `csquotes` for proper quotation marks, but can + get back the old behaviour with + ``` + \makeatletter + \providerobustcmd*{\enquote}{\blx@enquote} + \makeatother + ``` + or + ``` + \newrobustcmd*{\enquote}{\mkbibquote} + ``` +- Add new list wrapper and name wrapper formats (`\DeclareListWrapperFormat`, + `\DeclareNameWrapperFormat`) to style a (name) lists in its entirety. + This is useful because name and lists formats normally style only one + particular item of the list. The wrapper format can be used to easily format + the entire list in italics, for example. +- `\DeclareCitePunctuationPosition` can be used to configure the punctuation + position for citation commands similar to the optional `position` argument + of `\DeclareAutoCiteCommand`. +- If the `\pdfmdfivesum` primitive is available (via `pdftexcmds`' + `\pdf@mdfivesum`) the `labelprefix` value is hashed for internal use, making + it safer for construction of macro names and the like. If you don't like + that you can turn off the behaviour by redefining `\blx@mdfivesum`. The + fallback in case `\pdf@mdfivesum` is unavailable is + ``` + \let\blx@mdfivesum\@firstofone + ``` + + As before the labelprefix value is fully expanded before use. If its contents + are unexpandable you need to avoid expansion with `\detokenize`. + # RELEASE NOTES FOR VERSION 3.11 - `\printbiblist` now supports `driver` and `biblistfilter` options to change the defaults set by the biblistname. diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf Binary files differindex 16808149878..a10f2e00ef5 100644 --- a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex index 8d01c37d4ec..4ad37d7f3e3 100644 --- a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex +++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex @@ -60,7 +60,7 @@ url={\biblatexhome}, author={Philipp Lehman \\(with Philip Kime, Moritz Wemheuer, Audrey Boruvka and Joseph Wright)}, email={}, - revision={3.11}, + revision={3.12}, date={\today}} \hypersetup{% @@ -183,13 +183,14 @@ Kaloyan Ganev (Bulgarian); Sebastià Vila-Marta (Catalan); Ivo Pletikosić (Croatian); Michal Hoftich (Czech); -Jonas Nyrup (Danish); +Christian Mondrup, Jonas Nyrup (Danish); Johannes Wilm (Danish\slash Norwegian); Alexander van Loon, Pieter Belmans, Hendrik Maryns (Dutch); -Benson Muite (Estonian); +Kristian Kankainen, Benson Muite (Estonian); Hannu Väisänen, Janne Kujanpää (Finnish); Denis Bitouzé (French); Apostolos Syropoulos, Prokopis (Greek); +Márton Marczell, Bence Ferdinandy (Hungarian); Baldur Kristinsson (Icelandic); Enrico Gregorio, Andrea Marchitelli (Italian); Rihards Skuja (Latvian); @@ -198,7 +199,7 @@ Anastasia Kandulina, Yuriy Chernyshov (Polish); José Carlos Santos (Portuguese); Oleg Domanov (Russian); Martin Vrábel, Dávid Lupták (Slovak); -Tea Tušar and Bogdan Filipič (Slovene); +Tea Tušar, Bogdan Filipič (Slovene); Ignacio Fernández Galván (Spanish); Per Starbäck, Carl-Gustav Werner, Filip Åsblom (Swedish); Sergiy M. Ponomarenko (Ukrainian). @@ -230,8 +231,8 @@ This \latex package, which is also loaded automatically, is used for internal op \item[logreq] This \latex package, which is also loaded automatically, provides a frontend for writing machine-readable messages to an auxiliary log file. It is available from \acr{CTAN}.\fnurl{http://ctan.org/pkg/logreq/} -\item[xstring] -This \latex package, which is also loaded automatically, provides advanced string processing macros. It is available from \acr{CTAN}.\fnurl{http://ctan.org/pkg/xstring/} +\item[pdftexcmds] +This \latex package, which is loaded automatically, implements \pdftex primitives for \luatex, it also offers a unified interface for these primitives across engines. It is available from \acr{CTAN}.\fnurl{http://ctan.org/pkg/pdftexcmds/} \end{marglist} @@ -335,9 +336,9 @@ The \sty{ucs} package provides support for \utf encoded input. Either use \sty{i The \sty{etextools} package provides enhancements to list macros defined by \sty{etoolbox} and a few other tools for command definitions. The package redefines list handling macros in a way incompatible with \biblatex. -If you must load the \sty{etextools} package at all costs, use the load-time option \opt{noerroretextools}. -With \kvopt{noerroretextools}{true} no error will be issued if \sty{etextools} is loaded, that message is degraded to a warning instead. -In that case you need to make sure that \cmd{forlistloop} has its original \sty{etoolbox} definition when \biblatex\ is loaded. +If you must load the \sty{etextools} package at all costs, define the control sequence \cs{blx@noerroretextools} before you load \biblatex. +If \cs{blx@noerroretextools} is defined, no error will be issued if \sty{etextools} is loaded, the message is degraded to a warning instead. +In that case you need to make sure that all redefined macros used by \biblatex\ (currently only \cmd{forlistloop}) have their original \sty{etoolbox} definitions when \biblatex\ is loaded. \end{marglist} @@ -347,7 +348,7 @@ In that case you need to make sure that \cmd{forlistloop} has its original \sty{ \biber\ versions are closely coupled with \biblatex\ versions. You need to have the right combination of the two. \biber\ will throw a fatal error during processing if it encounters information which comes from a -\biblatex\ version which is incompatible. \tabref{tab:int:pre:bibercompat} shows a +\biblatex\ version which is incompatible. \Tabref{tab:int:pre:bibercompat} shows a compatibility matrix for the recent versions. \begin{table} @@ -492,28 +493,28 @@ Technical or other documentation, not necessarily in printed form. The \bibfield A fallback type for entries which do not fit into any other category. Use the field \bibfield{howpublished} to supply publishing information in free format, if applicable. The field \bibfield{type} may be useful as well. \bibfield{author}, \bibfield{editor}, and \bibfield{year} are omissible in terms of \secref{bib:use:key}. \reqitem{author/editor, title, year/date} -\optitem{subtitle, titleaddon, language, howpublished, type, version, note, organization, location, date, month, year, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} +\optitem{subtitle, titleaddon, language, howpublished, type, version, note, organization, location, month, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} \typeitem{online} 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, date, month, year, addendum, pubstate, urldate} +\optitem{subtitle, titleaddon, language, version, note, organization, month, addendum, pubstate, doi, eprint, eprintclass, eprinttype, urldate} \typeitem{patent} A patent or patent request. The number or record token is given in the \bibfield{number} field. Use the \bibfield{type} field to specify the type and the \bibfield{location} field to indicate the scope of the patent, if different from the scope implied by the \bibfield{type}. Note that the \bibfield{location} field is treated as a key list with this entry type, see \secref{bib:fld:typ} for details. \reqitem{author, title, number, year/date} -\optitem{holder, subtitle, titleaddon, type, version, location, note, date, month, year, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} +\optitem{holder, subtitle, titleaddon, type, version, location, note, month, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} \typeitem{periodical} An complete issue of a periodical, such as a special issue of a journal. The title of the periodical is given in the \bibfield{title} field. If the issue has its own title in addition to the main title of the periodical, it goes in the \bibfield{issuetitle} field. The \bibfield{editor} is omissible in terms of \secref{bib:use:key}. \reqitem{editor, title, year/date} -\optitem{editora, editorb, editorc, subtitle, issuetitle, issuesubtitle, language, series, volume, number, issue, date, month, year, note, issn, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} +\optitem{editora, editorb, editorc, subtitle, issuetitle, issuesubtitle, language, series, volume, number, issue, month, note, issn, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate} \typeitem{suppperiodical} @@ -575,7 +576,7 @@ A thesis written for an educational institution to satisfy the requirements for A work with an author and a title which has not been formally published, such as a manuscript or the script of a talk. Use the fields \bibfield{howpublished} and \bibfield{note} to supply additional information in free format, if applicable. \reqitem{author, title, year/date} -\optitem{subtitle, titleaddon, type, eventtitle, eventtitleaddon, eventdate, venue, language, howpublished, note, location, isbn, date, month, year, addendum, pubstate, url, urldate} +\optitem{subtitle, titleaddon, type, eventtitle, eventtitleaddon, eventdate, venue, language, howpublished, note, location, isbn, month, addendum, pubstate, url, urldate} \typeitem{xdata} @@ -583,7 +584,7 @@ This entry type is special. \bibtype{xdata} entries hold data which may be inher \typeitem{custom[a--f]} -Custom types for special bibliography styles. Not used by the standard styles. +Custom types for special bibliography styles. The standard styles defined no bibliography drivers for these types. \end{typelist} @@ -610,10 +611,10 @@ An alias for \bibtype{online}, provided for \sty{jurabib} compatibility. \end{typelist} -\subsubsection{Unsupported Types} +\subsubsection{Non-standard Types} \label{bib:typ:ctm} -The types in this section are similar to the custom types \bibtype{custom[a--f]}, \ie the standard bibliography styles provide no support for these types. When using the standard styles, they will be treated as \bibtype{misc} entries. +The types in this section are similar to the custom types \bibtype{custom[a--f]}, \ie the standard bibliography styles provide no bibliography drivers for these types. When using the standard styles, they will therefore generally be treated as \bibtype{misc} entries---exceptions to this rule are noted in the descriptions below. The types are known to the default data model and will be happily accepted by \biber. \begin{typelist} @@ -729,7 +730,7 @@ The supported list of name parts is defined as a constant list in the default da \item[Range fields] consist of one or more ranges where all dashes are normalized and replaced by the command \cmd{bibrangedash}. A range is something optionally followed by one or more dashes optionally followed by some non-dash (e.g. \texttt{5--7}). Any number of consecutive dashes will only yield a single range dash. A typical example of a range field is the \bibfield{pages} field. See also the \cmd{bibrangessep} command which can be used to customise the separator between multiple ranges. Range fields will be skipped and will generate a warning if they do not consist of one or more ranges. You can normalise messy range fields before they are parsed using \cmd{DeclareSourcemap} (see \secref{aut:ctm:map}). -\item[Integer fields] hold integers which may be converted to ordinals or strings as they are printed. A typical example is the \bibfield{extradate} or \bibfield{volume} field. Such fields are sorted as integers. \biber makes a (quite serious) effort to map non-arabic representations (roman numerals for example) to integers for sorting purposes. +\item[Integer fields] hold integers which may be converted to ordinals or strings as they are printed. A typical example is the \bibfield{extradate} or \bibfield{volume} field. Such fields are sorted as integers. \biber makes a (quite serious) effort to map non-arabic representations (roman numerals for example) to integers for sorting purposes. See the \opt{noroman} option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. <C>), see \secref{use:opt:pre:int}. \item[Datepart fields] hold unformatted integers which may be converted to ordinals or strings as they are printed. A typical example is the \bibfield{month} field. For every field of datatype \bibfield{date} in the datamodel, datepart fields are automatically created with the following names: \bibfield{$<$datetype$>$year}, \bibfield{$<$datetype$>$endyear}, \bibfield{$<$datetype$>$month}, \bibfield{$<$datetype$>$endmonth}, \bibfield{$<$datetype$>$day}, \bibfield{$<$datetype$>$endday}, \bibfield{$<$datetype$>$hour}, \bibfield{$<$datetype$>$endhour}, \bibfield{$<$datetype$>$minute}, \bibfield{$<$datetype$>$endminute}, \bibfield{$<$datetype$>$second}, \bibfield{$<$datetype$>$endsecond}, \bibfield{$<$datetype$>$timezone}, \bibfield{$<$datetype$>$endtimezone}. $<$datetype$>$ is the string preceding <date> for any datamodel field of \kvopt{datatype}{date}. For example, in the default datamodel, <event>, <orig>, <url> and the empty string <> for the date field \bibfield{date}. @@ -901,7 +902,7 @@ The author(s) of a foreword to the work. If the author of the foreword is identi \listitem{holder}{name} -The holder(s) of a \bibtype{patent}, if different from the \bibfield{author}. Not that corporate holders need to be wrapped in an additional set of braces, see \secref{bib:use:inc} for details. This list may also be useful for the custom types listed in \secref{bib:typ:ctm}. +The holder(s) of a \bibtype{patent}, if different from the \bibfield{author}. Note that corporate holders need to be wrapped in an additional set of braces, see \secref{bib:use:inc} for details. This list may also be useful for the custom types listed in \secref{bib:typ:ctm}. \fielditem{howpublished}{literal} @@ -941,7 +942,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 <Spring> or <Summer> rather than the month or a number. Since the placement of \bibfield{issue} is similar to \bibfield{month} and \bibfield{number}, this field may also be useful with double issues and other special cases. 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 <Spring> or <Summer> 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}. \fielditem{issuesubtitle}{literal} @@ -1005,9 +1006,9 @@ An addon to be printed immediately after the author name in the bibliography. No Miscellaneous bibliographic data which does not fit into any other field. The \bibfield{note} field may be used to record bibliographic data in a free format. Publication facts such as «Reprint of the edition London 1831» are typical candidates for the \bibfield{note} field. See also \bibfield{addendum}. -\fielditem{number}{integer} +\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. It is expected to be an integer, not necessarily in arabic numerals since \biber will automatically from roman numerals or arabic letter to integers internally for sorting purposes. +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. \listitem{organization}{literal} @@ -1131,11 +1132,11 @@ The revision number of a piece of software, a manual, etc. \fielditem{volume}{integer} -The volume of a multi"=volume book or a periodical. It is expected to be an integer, not necessarily in arabic numerals since \biber will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See also \bibfield{part}. +The volume of a multi"=volume book or a periodical. It is expected to be an integer, not necessarily in arabic numerals since \biber will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See also \bibfield{part}. See the \opt{noroman} option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. <C>), see \secref{use:opt:pre:int}. \fielditem{volumes}{integer} -The total number of volumes of a multi"=volume work. Depending on the entry type, this field refers to \bibfield{title} or \bibfield{maintitle}. It is expected to be an integer, not necessarily in arabic numerals since \biber will automatically from roman numerals or arabic letter to integers internally for sorting purposes. +The total number of volumes of a multi"=volume work. Depending on the entry type, this field refers to \bibfield{title} or \bibfield{maintitle}. It is expected to be an integer, not necessarily in arabic numerals since \biber will automatically from roman numerals or arabic letter to integers internally for sorting purposes. See the \opt{noroman} option which can be used to suppress roman numeral parsing. This can help in cases where there is an ambiguity between parsing as roman numerals or alphanumeric (e.g. <C>), see \secref{use:opt:pre:int}. \fielditem{year}{literal} @@ -1198,6 +1199,7 @@ German (new) & Germany & \opt{ngerman} \\ & Austria & \opt{naustrian} \\ & Switzerland & \opt{nswissgerman} \\ Greek & Greece & \opt{greek} \\ +Hungarian & Hungary & \opt{magyar}, \opt{hungarian} \\ Icelandic & Iceland & \opt{icelandic} \\ Italian & Italy & \opt{italian} \\ Latvian & Latvia & \opt{latvian} \\ @@ -1302,9 +1304,9 @@ Similar to \bibfield{sortkey} but used in the list of shorthands. If present, \b A field used to modify the sorting order of the bibliography. If present, this field is used instead of the \bibfield{title} field when sorting the bibliography. The \bibfield{sorttitle} field may come in handy if you have an entry with a title like «An Introduction to\dots» and want that alphabetized under <I> rather than <A>. In this case, you could put «Introduction to\dots» in the \bibfield{sorttitle} field. Please refer to \secref{use:srt} for further details. This field is consumed by the backend processing and does not appear in the \path{.bbl}. -\fielditem{sortyear}{literal} +\fielditem{sortyear}{integer} -A field used to modify the sorting order of the bibliography. If present, this field is used instead of the \bibfield{year} field when sorting the bibliography. Please refer to \secref{use:srt} for further details. This field is consumed by the backend processing and does not appear in the \path{.bbl}. Note that this is not an integer but rather a literal field as sometimes things like «1984-1» are used to modify temporal sorting. +A field used to modify the sorting order of the bibliography. In the default sorting templates, if this field is present, it is used instead of the \bibfield{year} field when sorting the bibliography. Please refer to \secref{use:srt} for further details. This field is consumed by the backend processing and does not appear in the \path{.bbl}. \fielditem{xdata}{separated list of entrykeys} @@ -1362,7 +1364,7 @@ An alias for \bibfield{annotation}, provided for \sty{jurabib} compatibility. Se \fielditem{archiveprefix}{literal} -An alias for \bibfield{eprinttype}, provided for arXiv compatibility. See \secref{bib:fld:dat,use:use:epr}. +An alias for \bibfield{eprinttype}, provided for arXiv compatibility. See \secref{bib:fld:dat,use:use:epr}. \fielditem{journal}{literal} @@ -1378,7 +1380,7 @@ An alias for \bibfield{file}, provided for JabRef compatibility. See \secref{bib \fielditem{primaryclass}{literal} -An alias for \bibfield{eprintclass}, provided for arXiv compatibility. See \secref{bib:fld:dat,use:use:epr}. +An alias for \bibfield{eprintclass}, provided for arXiv compatibility. See \secref{bib:fld:dat,use:use:epr}. \listitem{school}{literal} @@ -1589,7 +1591,7 @@ Note that only the \bibfield{editor} is considered in citations and when sorting ... \end{lstlisting} % -You may add more roles by initializing and defining a new localisation key whose name corresponds to the identifier in the \bibfield{editor...type} field. See \secref{use:lng,aut:lng:cmd} for details. +You may add more roles by initializing and defining a new localisation key whose name corresponds to the identifier in the \bibfield{editor...type} field. See \secref{use:lng,aut:lng:cmd} for details. \subsubsection{Publication and Journal Series} \label{bib:use:ser} @@ -1822,7 +1824,7 @@ encodings properly. \paragraph{Specifying Encodings} \label{bib:cav:enc:enc} -When using a non-Ascii encoding in the \file{bib} file, it is important to understand what \biblatex can do for you and what may require manual intervention. The package takes care of the \latex side, \ie it ensures that the data imported from the \file{bbl} file is interpreted correctly, provided that the \opt{bibencoding} package option is set properly. All of this is handled automatically and no further steps, apart from setting the \opt{bibencoding} option in certain cases, are required. Here are a few typical usage scenarios along with the relevant lines from the document preamble: +When using a non-Ascii encoding in the \file{bib} file, it is important to understand what \biblatex can do for you and what may require manual intervention. The package takes care of the \latex side, \ie it ensures that the data imported from the \file{bbl} file is interpreted correctly, provided that the \opt{bibencoding} package option (or the datasource specific override for this, see \secref{use:bib:res}) is set properly. All of this is handled automatically and no further steps, apart from setting the \opt{bibencoding} option in certain cases, are required. Here are a few typical usage scenarios along with the relevant lines from the document preamble: \begin{itemize} \setlength{\itemsep}{0pt} @@ -1861,7 +1863,7 @@ Since \kvopt{bibencoding}{auto} is the default setting, the option is omissible. \usepackage[bibencoding=latin1]{biblatex} \end{ltxexample} -The same scenario with \xetex or \luatex in native \utf mode: +The same scenario with \latex release 2018-04-01 or above, \xetex or \luatex in native \utf mode: \begin{ltxexample} \usepackage[bibencoding=latin1]{biblatex} @@ -2043,11 +2045,11 @@ Whether or not to sort set members according to the active reference context sor \intitem[3]{maxnames} -A threshold affecting all lists of names (\bibfield{author}, \bibfield{editor}, etc.). If a list exceeds this threshold, \ie if it holds more than \prm{integer} names, it is automatically truncated according to the setting of the \opt{minnames} option. \opt{maxnames} is the master option which sets both \opt{maxbibnames} and \opt{maxcitenames}. +A threshold affecting all lists of names (\bibfield{author}, \bibfield{editor}, etc.). If a list exceeds this threshold, \ie if it holds more than \prm{integer} names, it is automatically truncated according to the setting of the \opt{minnames} option. \opt{maxnames} is the master option which sets \opt{maxbibnames}, \opt{maxcitenames} and \opt{maxsortnames}. Note that the \opt{uniquelist} feature can locally override \opt{maxnames}, see the documentation of the \opt{uniquelist} option in \secref{use:opt:pre:int} and \secref{aut:cav:amb}. \intitem[1]{minnames} -A limit affecting all lists of names (\bibfield{author}, \bibfield{editor}, etc.). If a list holds more than \prm{maxnames} names, it is automatically truncated to \prm{minnames} names. The \prm{minnames} value must be smaller than or equal to \prm{maxnames}. \opt{minnames} is the master option which sets both \opt{minbibnames} and \opt{mincitenames}. +A limit affecting all lists of names (\bibfield{author}, \bibfield{editor}, etc.). If a list holds more than \prm{maxnames} names, it is automatically truncated to \prm{minnames} names. The \prm{minnames} value must be smaller than or equal to \prm{maxnames}. \opt{minnames} is the master option which sets both \opt{minbibnames} and \opt{mincitenames}. Like \opt{maxnames} the value of \opt{minnames} can be overridden by \opt{uniquelist}. \intitem[\prm{maxnames}]{maxbibnames} @@ -2061,10 +2063,19 @@ Similar to \opt{minnames} but affects only the bibliography. Similar to \opt{maxnames} but affects only the citations in the document body. + \intitem[\prm{minnames}]{mincitenames} Similar to \opt{minnames} but affects only the citations in the document body. +\intitem[\prm{maxbibnames}]{maxsortnames} + +Similar to \opt{maxnames} but affects only the names visible to sorting. Since this defaults to \prm{maxbibnames}, you should set this after \opt{maxbibnames} if \opt{maxbibnames} is explicitly set. + +\intitem[\prm{minbibnames}]{minsortnames} + +Similar to \opt{minnames} but affects only the names visible to sorting. Since this defaults to \prm{minbibnames}, you should set this after \opt{minbibnames} if \opt{minbibnames} is explicitly set. + \intitem[3]{maxitems} Similar to \opt{maxnames}, but affecting all literal lists (\bibfield{publisher}, \bibfield{location}, etc.). @@ -2083,7 +2094,7 @@ 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. When set to \opt{autobib}, \opt{autocite} or \opt{auto}, \biblatex will try to get the main document language from the \sty{babel}/\sty{polyglossia} package (and fall back to English if \sty{babel}/\sty{polyglossia} is not available). 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. \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}. +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. \boolitem[true]{clearlang} @@ -2091,15 +2102,15 @@ If this option is enabled, \biblatex will automatically clear the \bibfield{lang \optitem[none]{autolang}{\opt{none}, \opt{hyphen}, \opt{other}, \opt{other*}, \opt{langname}} -This option controls which \sty{babel} language environment\footnote{\sty{polyglossia} understands the \sty{babel} language environments too and so this option controls both the \sty{babel} and \sty{polyglossia} language environments.} is used if the \sty{babel}/\sty{polyglossia} package is loaded and a bibliography entry includes a \bibfield{langid} field (see \secref{bib:fld:spc}). Note that \biblatex automatically adjusts to the main document language if \sty{babel}/\sty{polyglossia} is loaded. In multilingual documents, it will also continually adjust to the current language as far as citations and the default language of the bibliography is concerned. The effect of language adjustment depends on the language environment selected by this option. The possible choices are: +This option controls which \sty{babel} language environment\footnote{\sty{polyglossia} understands the \sty{babel} language environments too and so this option controls both the \sty{babel} and \sty{polyglossia} language environments.} is used if the \sty{babel}/\sty{polyglossia} package is loaded and a bibliography entry includes a \bibfield{langid} field (see \secref{bib:fld:spc}). Note that regardless of the selected value \biblatex automatically adjusts to the main document language if \sty{babel}/\sty{polyglossia} is loaded. In multilingual documents, it will also continually adjust to the current language as far as citations and the default language of the bibliography is concerned. The effect of additional language adjustment, which can negate the effect of picking up the surrounding language, depends on the language environment selected by this option. The possible choices are: \begin{valuelist} \item[none] -Disable this feature, \ie do not use any language environment at all. +Do not use any additional enclosing language environment at all. This means that citations and the bibliography are set in the currently active language---this need not be the main language. \item[hyphen] -Enclose the entry in a \env{hyphenrules} environment. This will load hyphenation patterns for the language specified in the \bibfield{langid} field of the entry, if available. +Enclose the entry in a \env{hyphenrules} environment. This will load hyphenation patterns for the language specified in the \bibfield{langid} field of the entry, if available. Localisation strings and extra language definitions are not changed and taken from the surrounding language environment. \item[other] Enclose the entry in an \env{otherlanguage} environment. This will load hyphenation patterns for the specified language, enable all extra definitions which \sty{babel}/\sty{polyglossia} and \biblatex provide for the respective language, and translate key terms such as <editor> and <volume>. The extra definitions include localisations of the date format, of ordinals, and similar things. @@ -2213,7 +2224,7 @@ This feature requires support by the selected citation style. All standard style This option controls whether external files requested by way of the \cmd{printfile} command are loaded. See also \secref{use:use:prf} and \cmd{printfile} in \secref{aut:bib:dat}. Note that this feature is disabled by default for performance reasons. -\optitem[none]{refsection}{\opt{none}, \opt{part}, \opt{chapter}, \opt{section}, \opt{subsection}} +\optitem[none]{refsection}{\opt{none}, \opt{part}, \opt{chapter}, \opt{chapter+}, \opt{section}, \opt{section+}, \opt{subsection}, \opt{subsection+}} This option automatically starts a new reference section at a document division such as a chapter or a section. This is equivalent to the \cmd{newrefsection} command, see \secref{use:bib:sec} for details. The following choice of document divisions is available: @@ -2221,17 +2232,20 @@ This option automatically starts a new reference section at a document division \item[none] Disable this feature. \item[part] Start a reference section at every \cmd{part} command. \item[chapter] Start a reference section at every \cmd{chapter} command. +\item[chapter+] Start a reference section at every \cmd{chapter} and every higher level of sectioning, i.e. \cmd{part}. \item[section] Start a reference section at every \cmd{section} command. +\item[section+] Start a reference section at every \cmd{section} and every higher level of sectioning, i.e. \cmd{part} and \cmd{chapter} (if available). \item[subsection] Start a reference section at every \cmd{subsection} command. +\item[subsection+] Start a reference section at every \cmd{subsection} and every higher level of sectioning, i.e. \cmd{part}, \cmd{chapter} (if available) and \cmd{section}. \end{valuelist} % The starred versions of these commands will not start a new reference section. -\optitem[none]{refsegment}{\opt{none}, \opt{part}, \opt{chapter}, \opt{section}, \opt{subsection}} +\optitem[none]{refsegment}{\opt{none}, \opt{part}, \opt{chapter}, \opt{chapter+}, \opt{section}, \opt{section+}, \opt{subsection}, \opt{subsection+}} Similar to the \opt{refsection} option but starts a new reference segment. This is equivalent to the \cmd{newrefsegment} command, see \secref{use:bib:seg} for details. When using both options, note that you can only apply this option to a lower"=level document division than the one \opt{refsection} is applied to and that nested reference segments will be local to the enclosing reference section. -\optitem[none]{citereset}{\opt{none}, \opt{part}, \opt{chapter}, \opt{section}, \opt{subsection}} +\optitem[none]{citereset}{\opt{none}, \opt{part}, \opt{chapter}, \opt{chapter+}, \opt{section}, \opt{section+}, \opt{subsection}, \opt{subsection+}} This option automatically executes the \cmd{citereset} command from \secref{use:cit:msc} at a document division such as a chapter or a section. The following choice of document divisions is available: @@ -2418,7 +2432,7 @@ Specifies the encoding of the \file{tex} file. This option affects the data tran \begin{valuelist} -\item[auto] Try to auto-detect the input encoding. If the \sty{inputenc}\slash \sty{inputenx}\slash \sty{luainputenc} package is available, \biblatex will get the main encoding from that package. If not, it assumes \utf encoding if \xetex or \luatex has been detected, and Ascii otherwise. +\item[auto] Try to auto-detect the input encoding. If the \sty{inputenc}\slash \sty{inputenx}\slash \sty{luainputenc} package is available, \biblatex will get the main encoding from that package. If not, it assumes \utf encoding if a \latex format using at least the April 2018 version of the kernel, \xetex or \luatex has been detected, and Ascii otherwise. \item[\prm{encoding}] Specifies the \prm{encoding} explicitly. This is for odd cases in which auto-detection fails or you want to force a certain encoding for some reason. @@ -2428,7 +2442,7 @@ Note that setting \kvopt{texencoding}{\prm{encoding}} will also affect the \opt{ \optitem[auto]{bibencoding}{\opt{auto}, \prm{encoding}} -Specifies the encoding of the \file{bib} files. This option corresponds to \biber's \opt{--input-encoding} option. The following choices are available: +Specifies the default encoding of the \file{bib} files. This can be overridden on a per-datasource basis using the \opt{bibencoding} option to \cmd{addbibresource}, see \secref{use:bib:res}. This option corresponds to \biber's \opt{--input-encoding} option. The following choices are available: \begin{valuelist} @@ -2617,6 +2631,12 @@ Similar to the \opt{minnames} option but customizes the format of the \bibfield{ 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. +\boolitem[false]{noroman} + +Whether or not to try to parse roman numerals encountered in integer fields for sorting purposes. Since \biber also tries to parse alphanumeric values when sorting integer fields, this roman numeral parsing can be a problem when, for example, <C> is encountered as this could be a roman numeral or a simple alphanumeric string which would have a different integer value depending on how it was parsed. It is likely that this is most useful on a per-entry basis for entries that have, for example, a \bibfield{volume} field with values such as <A>, <B>, <C>, <D> which should not be parsed as roman numerals since this would give incorrect integer values for <C> and <D>. + +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. @@ -2627,7 +2647,7 @@ Whether or not to provide the special field \bibfield{extratitleyear}, see \secr \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. +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. \begin{table} @@ -2690,7 +2710,7 @@ Whether or not to update the \cnt{uniquename} counter, see \secref{aut:aux:tst} \item[minfull] A variant of \texttt{full} which only disambiguates names in identical lists of base nameparts (by default, lists of family names). \end{valuelist} % -Note that the \opt{uniquename} option will also affect \opt{uniquelist}, the \cmd{ifsingletitle} test, and the \bibfield{extradate} field. See \secref{aut:cav:amb} for further details and practical examples. +Note that the \opt{uniquename} option will also affect \opt{uniquelist}, the \cmd{ifsingletitle} test, and the \bibfield{extradate} and \bibfield{extraname} fields. See \secref{aut:cav:amb} for further details and practical examples. \optitem[false]{uniquelist}{\opt{true}, \opt{false}, \opt{minyear}} @@ -2702,7 +2722,7 @@ Whether or not to update the \cnt{uniquelist} counter, see \secref{aut:aux:tst} \item[minyear] Disambiguate the \bibfield{labelname} list only if the truncated list is identical to another one with the same \bibfield{labelyear}. This mode of operation is useful for author-year styles and requires \kvopt{labeldateparts}{true}. \end{valuelist} % -Note that the \opt{uniquelist} option will also affect the \cmd{ifsingletitle} test and the \bibfield{extradate} field. See \secref{aut:cav:amb} for further details and practical examples. +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. \end{optionlist} @@ -2717,25 +2737,26 @@ Note that the \opt{uniquelist} option will also affect the \cmd{ifsingletitle} t \multicolumn{1}{@{}H}{Enabled counter} & \multicolumn{1}{@{}H}{Counter tracks} \\ \cmidrule(r){1-1}\cmidrule(r){2-2}\cmidrule(r){3-3}\cmidrule{4-4} -labelalpha & labelalpha & extraalpha & label\\ -labeldateparts & labelyear & extradate & labelname+\\ - & labelmonth & & labelyear\\ - & labelday & & \\ - & labelendyear & & \\ - & labelendmonth & & \\ - & labelendday & & \\ - & labelhour & & \\ - & labelminute & & \\ - & labelsecond & & \\ - & labelendhour & & \\ - & labelendminute & & \\ - & labelendsecond & & \\ - & labelseason & & \\ - & labelendseason & & \\ - & labeltimezone & & \\ - & labelendtimezone & & \\ -labeltitle & {\rmfamily ---} & extratitle & labelname+labeltitle\\ -labeltitleyear & {\rmfamily ---} & extratitleyear & labeltitle+labelyear\\ +labelalpha & labelalpha & extraalpha & label\\ +labeldateparts & labelyear & extradate & labelname+\\ + & labelmonth & & labelyear\\ + & labelday & & \\ + & labelendyear & & \\ + & labelendmonth & & \\ + & labelendday & & \\ + & labelhour & & \\ + & labelminute & & \\ + & labelsecond & & \\ + & labelendhour & & \\ + & labelendminute & & \\ + & labelendsecond & & \\ + & labelseason & & \\ + & labelendseason & & \\ + & labeltimezone & & \\ + & labelendtimezone & & \\ +labeltitle & {\rmfamily ---} & extratitle & labelname+labeltitle\\ +labeltitleyear & {\rmfamily ---} & extratitleyear & labeltitle+labelyear\\ +{\rmfamily ---} & {\rmfamily ---} & extraname & labelname\\ \bottomrule \end{tabularx} \caption{Disambiguation counters} @@ -2781,8 +2802,8 @@ With the standard styles, the \bibfield{translator} is printed after the title b \boolitem[true]{use$<$name$>$} -As per \opt{useauthor}, \opt{useeditor} and \opt{usetranslator}, all name lists defined in the data model have an option controlling their behaviour in sorting and labelling automatically -defined. Global, per-type and per-entry options called <use$<$name$>$>are automatically created. +As per \opt{useauthor}, \opt{useeditor} and \opt{usetranslator}, all name lists defined in the data model have an option controlling their behaviour in sorting and labelling automatically +defined. Global, per-type and per-entry options called <use$<$name$>$>are automatically created. \boolitem[false]{useprefix} @@ -3113,7 +3134,7 @@ Ideally, there should be no formatting information in a bibliography data file, % There are several problems with this. Firstly, it will break \bibtex's fragile name parsing routines and probably won't compile at all. Secondly, it is not only mixing up data with markup, it does so in a hard-coded way: this data can't easily be shared and used with other styles. While it is possible to achieve this formatting using \biblatex internals in a style or document, this is a complex and unreliable method which many users will not wish to use. -In order to address these issues, \biblatex has a general data annotation facility which allows you to attach a comma"=separated list of annotations to data fields, items within data field lists (like names) and even parts of specific items such as parts of names (given name, family name etc.). There are macros provided to check for annotations which can be used in formatting directives. +In order to address these issues, \biblatex has a general data annotation facility which allows you to attach any number of a comma"=separated list of annotations to data fields, items within data field lists (like names) and even parts of specific items such as parts of names (given name, family name etc.). There are macros provided to check for annotations which can be used in formatting directives. There are three «scopes» for data annotations, in order of increasing specificity: @@ -3125,48 +3146,34 @@ There are three «scopes» for data annotations, in order of increasing specific % Data annotations are supported for \bibtex and \biblatexml data sources. -Attaching annotations to data is easy in \biblatexml data sources as they are specified by simple XML attributes. Continuing with the example above, we would have: - -\begin{lstlisting}[language=xml] -<bltx:entries xmlns:bltx="http://biblatex-biber.sourceforge.net/biblatexml"> - <bltx:entry id="test" entrytype="misc"> - <bltx:names type="author"> - <bltx:name> - <bltx:namepart type="given" initial="F">First1</bltx:namepart> - <bltx:namepart type="family" initial="L" annotation="student">Last1</bltx:namepart> - </bltx:name> - <bltx:name annotation="corresponding"> - <bltx:namepart type="given" initial="F">First2</bltx:namepart> - <bltx:namepart type="family" initial="L">Last2</bltx:namepart> - </bltx:name> - <bltx:name> - <bltx:namepart type="given" initial="F">First3</bltx:namepart> - <bltx:namepart type="family" initial="L">Last3</bltx:namepart> - </bltx:name> - </bltx:names> - </bltx:entry> -</bltx:entries> +\begin{lstlisting}[style=bibtex]{} +@MISC{ann1, + AUTHOR = {Last1, First1 and Last2, First2 and Last3, First3}, + AUTHOR+an = {1:family=student;2=corresponding}, + TITLE = {The Title}, + TITLE+an:default = {=titleannotation}, + TITLE+an:french = {="Le titre"}, + TITLE+an:german = {="Der Titel"}, +} \end{lstlisting} % -Here the annotations are attached in an obvious way to the data items. With \bibtex data sources, the format for annotations is not quite as intuitive: +Here the field name suffix \texttt{+an} is a user-definable\footnote{See \biber's \opt{--annotation-marker} option.} suffix which marks a data field as an annotation of the unsuffixed field. Multiple annotations can be provided for the same field since all annotations are named. After the annotation marker is the optional named annotation marker \footnote{See \biber's \opt{--named-annotation-marker} option.} and an optional annotation name. The annotation name is <default> if not specified and so in the above example the following two are equivalent: \begin{lstlisting}[style=bibtex]{} -@MISC{ann1, - AUTHOR = {Last1, First1 and Last2, First2 and Last3, First3}, - AUTHOR+an = {1:family=student;2=corresponding}, -} +TITLE+an = {=titleannotation}, +TITLE+an:default = {=titleannotation}, \end{lstlisting} % -Here the field name suffix \texttt{+an} is a user-definable\footnote{See \biber's \opt{--annotation-marker} option.} suffix which marks a data field as an annotation of the unsuffixed field. The format of annotation fields in \bibtex data sources is is as follows: +The format of annotation fields in \bibtex data sources is is as follows: \begin{lstlisting} <annotationspecs> ::= <annotationspec> [ ";" <annotationspec> ] <annotationspec> ::= [ <itemcount> [ ":" <part> ] ] "=" <annotations> <annotations> ::= <annotation> [ "," <annotation> ] -<annotation> ::= (string) +<annotation> ::= ["] (string) ["] \end{lstlisting} % -That is, one or more specifications separated by semi-colons. Each specification is an equals sign followed by a comma"=separated list of annotation keywords. To annotation a specific item in a list, put the number of the list item before the equals sign (lists start at 1). If you need to annotate a specific part of the list item, give its name after the list item number, preceded by a colon. Name part names are defined in the data model, see \secref{aut:bbx:drv}. Some examples: +That is, one or more specifications separated by semi-colons. Each specification is an equals sign followed by a comma"=separated list of annotation keywords or a string enclosed in double-quotes (a <literal> annotation, see below). To annotate a specific item in a list, put the number of the list item before the equals sign (lists start at 1). If you need to annotate a specific part of the list item, give its name after the list item number, preceded by a colon. Name part names are defined in the data model, see \secref{aut:bbx:drv}. Some further examples: \begin{lstlisting}[style=bibtex]{} AUTHOR = {Last1, First1 and Last2, First2 and Last3, First3}, @@ -3178,27 +3185,70 @@ LANGUAGE+an = {1=annotation3; 2=annotation4} } \end{lstlisting} % -To access the annotation information when formatting bibliography data, three macros are provided, corresponding to the three annotation scopes: +Attaching annotations to data is similar in \biblatexml data sources. Using the example above, we would have: + +\begin{lstlisting}[language=xml] +<bltx:entries xmlns:bltx="http://biblatex-biber.sourceforge.net/biblatexml"> + <bltx:entry id="test" entrytype="misc"> + <bltx:names type="author"> + <bltx:name> + <bltx:namepart type="given" initial="F">First1</bltx:namepart> + <bltx:namepart type="family" initial="L">Last1</bltx:namepart> + </bltx:name> + <bltx:name> + <bltx:namepart type="given" initial="F">First2</bltx:namepart> + <bltx:namepart type="family" initial="L">Last2</bltx:namepart> + </bltx:name> + <bltx:name> + <bltx:namepart type="given" initial="F">First3</bltx:namepart> + <bltx:namepart type="family" initial="L">Last3</bltx:namepart> + </bltx:name> + </bltx:names> + </bltx:annotation field="author" item="1" part="family">student</bltx:annotation> + </bltx:annotation field="author" item="2">corresponding</bltx:annotation> + </bltx:entry> +</bltx:entries> +\end{lstlisting} +% +To access the annotation information when formatting bibliography data, macros are provided, corresponding to the three annotation scopes: \begin{ltxsyntax} -\cmditem{iffieldannotation}[field]{annotation}{true}{false} +\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 <default> 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 <default> 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 <default> 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 <default> 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 an annotation \prm{annotation} and false otherwise. 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{annotatationname} is not given, then the annotation named <default> 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][item]{annotation}{true}{false} +\cmditem{hasitemannotation}[field][annotationname][item]{true}{false} -Executes \prm{true} if the item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. 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{annotatationname} is not given, then the annotation named <default> 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][item]{part}{annotation}{true}{false} +\cmditem{haspartannotation}[field][annotationname][item]{part}{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. 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{annotatationname} is not given, then the annotation named <default> 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 access annotations for dates. +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{ifdateannotation}{datetype}{annotation}{true}{false} +\cmditem{hasdateannotation}[annotationname]{datetype}{true}{false} -Executes \prm{true} if the date field \prm{datetype} has an annotation \prm{annotation} and false otherwise. The \prm{datetype} argument is mandatory, because it can not 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{annotatationname} is not given, then the annotation named <default> 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} % @@ -3224,6 +3274,59 @@ To put the given and family names of name list items annotated as «correspondin {#1}} \end{lstlisting} +\subsubsection{Literal Annotations} + +If the annotation is a string enclosed in double-quotes, the annotation is a <literal> annotation. In this case the annotation can be retrieved and used as a string rather than as meta-information used to determine formatting. This is useful in order to be able to attached specific annotations to data which are to be printed as-is. For example: + +\begin{lstlisting}[style=bibtex]{} +AUTHOR = {{American Educational Research Association} and {American Psychological Association} + and {National Council on Measurement in Education}}, +AUTHOR+an = {1:family="AERA"; 2:family="APA"; 3:family="NCME"} +} +\end{lstlisting} +% +Such annotations are not keys whose presence can be tested for but are rather literal information attached to the data. The values are retrieved by the following macros + +\begin{ltxsyntax} + +\cmditem{getfieldannotation}[field][annotationname] + +Retrieves any literal annotation for the field \prm{field}. If \prm{annotatationname} is not given, then the annotation named <default> 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 <default> 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 <default> 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 <default> 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} +% +So, for example, given the bibliography entry above, we could put the following in the preamble: + +\begin{ltxexample}[style=latex] +\renewcommand*{\mkbibnamefamily}[1]{% + #1\space\mkbibparens{\getpartannotation{family}}} +\end{ltxexample} +% +In order to get something like this in the bibliography when formatting names: + +\begin{lstlisting}[style=bibtex]{} + American Educational Research Association (AERA) and + American Psychological Association (APA), and + National Council on Measurement in Education (NCME) +} +\end{lstlisting} +% +Naturally there are semantically more elegant ways of dealing with corporate authors without using the <family> namepart (see \secref{aut:bbx:drv}) but this example demonstrates clearly a use for literal annotations. + \subsection{Bibliography Commands} \label{use:bib} @@ -3247,9 +3350,13 @@ Since the \prm{resource} string is read in a verbatim-like mode, it may contain \begin{optionlist*} +\valitem{bibencoding}{bibencoding} + +This option can be used to override the global \opt{bibencoding} option for a particular \prm{resource}. + \valitem{label}{identifier} -Assigns a label to a resource. The \prm{identifier} may be used in place of the full resource name in the optional argument of \env{refsection} (see \secref{use:bib:sec}). +Assigns a label to a resource. The \prm{identifier} may be used in place of the full resource name in the optional argument of \env{refsection} (see \secref{use:bib:sec}). The label is a \emph{unique} identifier for the \prm{resource}, so each label should only be used once. \valitem[local]{location}{location} @@ -3543,7 +3650,7 @@ Bibliography categories allow you to split the bibliography into multiple parts \cmditem{DeclareBibliographyCategory}{category} -Declares a new \prm{category}, to be used in conjunction with \cmd{addtocategory} and the +Declares a new \prm{category}, to be used in conjunction with \cmd{addtocategory} and the \opt{category} and \opt{notcategory} filters of \cmd{printbibliography}. This command is used in the document preamble. \cmditem{addtocategory}{category}{key} @@ -3813,7 +3920,7 @@ This example also shows the declaration and use of a named reference context. As \item The citation of entry \bibfield{misc} would draw its data from the reference context with \opt{sorting=ydnt} \end{itemize} % -In cases where the user has entries which occur in multiple bibliographies in different forms or with potentially different labels (in a numeric scheme with different \bibfield{labelprefix} values for example), it may be necessary to tell \biblatex from which reference context you wish to draw the citation information. As shown above this can be done by explicitly putting citations inside reference contexts. This can be onerous in a large document and so there is specific functionality for assigning citations to reference contexts programatically, see the \cmd{assignrefcontext*} macros below. +In cases where the user has entries which occur in multiple bibliographies in different forms or with potentially different labels (in a numeric scheme with different \bibfield{labelprefix} values for example), it may be necessary to tell \biblatex from which reference context you wish to draw the citation information. As shown above this can be done by explicitly putting citations inside reference contexts. This can be onerous in a large document and so there is specific functionality for assigning citations to reference contexts programatically, see the \cmd{assignrefcontext*} macros below. \begin{ltxsyntax} @@ -3825,7 +3932,7 @@ Declares a named reference context with name \prm{name}. The \prm{key=value} opt \valitem{sorting}{name} -Specify a sorting template defined previously with \cmd{DeclareSortingTemplate}. This template is used to determine which data to retrieve and/or print for an entry in the commands inside the context. +Specify a sorting template defined previously with \cmd{DeclareSortingTemplate}. This template is used to determine which data to retrieve and/or print for an entry in the commands inside the context. \valitem{sortingnamekeytemplatename}{name} @@ -3845,7 +3952,7 @@ A convenience meta-option which sets \opt{sortingnamekeytemplate}, \opt{uniquena \valitem{labelprefix}{string} -This option applies to numerical citation\slash bibliography styles only and requires that the \opt{defernumbers} option from \secref{use:opt:pre:gen} be enabled globally. Setting this option will implicitly enable \opt{resetnumbers} for the any \cmd{printbibliography} in the scope of the context (unless overridden by a user-specified value for \opt{resetnumbers}). The option assigns the \prm{string} as a prefix to all entries in the reference context. For example, if the \prm{string} is \texttt{A}, the numerical labels printed will be \texttt{[A1]}, \texttt{[A2]}, \texttt{[A3]}, etc. This is useful for subdivided numerical bibliographies where each subbibliography uses a different prefix. The \prm{string} is available to styles in the \bibfield{labelprefix} field of all affected entries. See \secref{aut:bbx:fld:lab} for details. +This option applies to numerical citation\slash bibliography styles only and requires that the \opt{defernumbers} option from \secref{use:opt:pre:gen} be enabled globally. Setting this option will implicitly enable \opt{resetnumbers} for the any \cmd{printbibliography} in the scope of the context (unless overridden by a user-specified value for \opt{resetnumbers}). The option assigns the \prm{string} as a prefix to all entries in the reference context. For example, if the \prm{string} is \texttt{A}, the numerical labels printed will be \texttt{[A1]}, \texttt{[A2]}, \texttt{[A3]}, etc. This is useful for subdivided numerical bibliographies where each subbibliography uses a different prefix. The \prm{string} is available to styles in the \bibfield{labelprefix} field of all affected entries. Note that the \prm{string} is fully expanded, which means that you can use context-dependent macros like \cmd{thechapter}, but not unexpandable commands such as \cmd{dag}. If you need to pass unexpandable code to \prm{string}, protect it from expansion with \cmd{detokenize}. See \secref{aut:bbx:fld:lab} for details. \end{optionlist*} % @@ -4573,8 +4680,8 @@ This command should be used with \cmd{bibnamedelimd} as a reversed-name separato \csitem{bibnamedash} The dash to be used as a replacement for recurrent authors or editors in the bibliography. The default is an <em> or an <en> dash, depending on the indentation of the list of references. -\csitem{labelnamepunct} -The separator printed after the name used for alphabetizing in the bibliography (\bibfield{author} or \bibfield{editor}, if the \bibfield{author} field is undefined). With the default styles, this separator replaces \cmd{newunitpunct} at this location. The default definition is \cmd{newunitpunct}, \ie it is not handled differently from regular unit punctuation. See also \cmd{nametitledelim} \secref{use:fmt:csd}. +\csitem{labelnamepunct}\DeprecatedMark +A separator to be printed after the name used for alphabetizing in the bibliography (\bibfield{author} or \bibfield{editor}, if the \bibfield{author} field is undefined) instead of \cmd{newunitpunct}. The default is \cmd{newunitpunct}, \ie it is not handled differently from regular unit punctuation but permits convenient reconfiguration. This punctuation command is deprecated and has been superseded by the context-sensitive \cmd{nametitledelim} (see \secref{use:fmt:csd}). For backwards compatibility reasons, however, \cmd{nametitledelim} still defaults to \cmd{labelnamepunct} in the \texttt{bib} and \texttt{biblist} contexts. Style authors may want to consider replacing \cmd{labelnampunct} with \texttt{\textbackslash printdelim\{nametitledelim\}} and users may want to prefer modifying the context-sensitive \texttt{nametitledelim} with \cmd{DeclareDelimFormat} over redefining \cmd{labelnamepunct}. \csitem{subtitlepunct} The separator printed between the fields \bibfield{title} and \bibfield{subtitle}, \bibfield{booktitle} and \bibfield{booksubtitle}, as well as \bibfield{maintitle} and \bibfield{mainsubtitle}. With the default styles, this separator replaces \cmd{newunitpunct} at this location. The default definition is \cmd{newunitpunct}, \ie it is not handled differently from regular unit punctuation. @@ -4665,16 +4772,16 @@ Prints date era information when the global option \opt{dateera} is set to <astr 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 <and>, separated by interword spaces. See also \cmd{finalandcomma} and \cmd{finalandsemicolon} in \secref{use:fmt:lng}. \csitem{nametitledelim}\CSdelimMark -The delimiter printed between the author\slash editor and the title by author-title and some verbose citation styles. The default definition inside bibliographies is \cmd{labelnamepunct} and is a comma plus an interword space otherwise. +The delimiter printed between the author\slash editor and the title by author-title and some verbose citation styles and in the bibliography. In author-year bibliography styles this delimiter is placed after the author\slash editor and year and before the title. The default definition inside bibliographies is the now deprecated \cmd{labelnamepunct} and is a comma plus an interword space otherwise. \csitem{nameyeardelim}\CSdelimMark -The delimiter printed between the author\slash editor and the year by author-year citation styles. The default definition is an interword space. +The delimiter printed between the author\slash editor and the year by author-year citation and bibliography styles. The default definition is an interword space. \csitem{namelabeldelim}\CSdelimMark The delimiter printed between the name\slash title and the label by alphabetic and numeric citation styles. The default definition is an interword space. \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 in author-year citation 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. +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}. @@ -4767,10 +4874,22 @@ The delimiters described in \secref{use:fmt:fmt} are globally defined. That is, Declares the delimiter macros in the comma"=separated list \prm{names} with the replacement test \prm{code}. If the optional comma"=separated list of \prm{contexts} is given, declare the \prm{names} only for those contexts. \prm{names} defined without any \prm{contexts} behave just like the global delimiter definitions which \cmd{newcommand} gives---just a plain macro with a replacement which can be used as \cmd{name}. However, you can also call delimiter macros defined in this way by using \cmd{printdelim}, which is context-aware. The starred version clears all \prm{context} specific declarations for all \prm{names} first. \cmditem{DeclareDelimAlias}{alias}{delim} -\cmditem*{DeclareDelimAlias}*[context, \dots]{alias}{delim} +\cmditem*{DeclareDelimAlias}*[alias context, \dots]{alias}[delim context]{delim} -Declares \prm{alias} to be an alias for the delimiter \prm{delim}. The assigment is valid for all existing contexts of \prm{alias}. -The starred version assigns the alias for the given \opt{contexts} only---if the optional argument is empty, assigment is for the global/empty context. +Declares \prm{alias} to be an alias for the delimiter \prm{delim}. The assigment is performed for all existing contexts of the target \prm{delim}. +The starred version assigns the alias for specific contexts only. The first optional argument \prm{alias context} holds a list of contexts for which the assignment is going to be performed. If it is empty or missing the global/empty context is assumed. The second optional argument \prm{delim context} specifies the context of the target delimiter. This argument may not be a list, it can only hold one context. If it is missing the \prm{alias context} is assumed (if \prm{alias context} is a list, the assignment is performed separately for each list item), if it is empty the global context is used. + +\begin{ltxexample}[style=latex] +\DeclareDelimAlias*[bib,biblist]{finalnamedelim}[]{multinamedelim} +\end{ltxexample} +% +Defines the \opt{bib} and \opt{biblist} contexts of \cmd{finalnamedelim} as aliases of \cmd{multinamedelim} in global context. +On the other hand +\begin{ltxexample}[style=latex] +\DeclareDelimAlias*[bib,biblist]{finalnamedelim}{multinamedelim} +\end{ltxexample} +% +defines \cmd{finalnamedelim} in the context \opt{bib} to be an alias of \cmd{multinamedelim} in the \opt{bib} context and defines \cmd{finalnamedelim} in \opt{biblist} context to be an alias of \cmd{multinamedelim} in \opt{biblist}. \cmditem{printdelim}[context]{name} @@ -4801,7 +4920,7 @@ example: \begin{ltxexample}[style=latex] \DeclareDelimcontextAlias{cbx@textcite}{textcite} \end{ltxexample} -% +% This (which is a default setting), makes sure that when inside the \cmd{cbx@textcite} citation command, the context is in fact \opt{textcite} as expected. @@ -4812,7 +4931,7 @@ as expected. \begin{description} \item[none] At begin document -\item[bib] Inside a bibliography begun with \cmd{printbibliography} or inside a \cmd{usedriver} +\item[bib] Inside a bibliography begun with \cmd{printbibliography} or inside a \cmd{usedriver} \item[biblist] Inside a bibliography list begun with \cmd{printbiblist} \item[<citecommand>] Inside a citation command \cmd{citecommand} defined with \cmd{DeclareCiteCommand} \end{description} @@ -4821,10 +4940,11 @@ For example, the defaults for \cmd{nametitledelim} are: \begin{ltxexample}[style=latex] \DeclareDelimFormat{nametitledelim}{\addcomma\space} +\DeclareDelimFormat[bib,biblist]{nametitledelim}{\labelnamepunct} \DeclareDelimFormat[textcite]{nametitledelim}{\addspace} \end{ltxexample} % -This means that \cmd{nametitledelim} is defined globally as <\cmd{addcomma}\cmd{space}> as per the standard delimiter interface. However, in addition, the delimiter can be printed using \cmd{printdelim} which would print the same as \cmd{nametitledelim} apart from inside a \cmd{textcite}, in which it would print \cmd{addspace} which is more suitable for running text. If desired, a context can be forced with the optional argument to \cmd{printdelim}, so +This means that \cmd{nametitledelim} is defined globally as <\cmd{addcomma}\cmd{space}> as per the standard delimiter interface. However, in addition, the delimiter can be printed using \cmd{printdelim} which would print the same as \cmd{nametitledelim} apart from inside a \cmd{textcite}, in which it would print \cmd{addspace} which is more suitable for running text, and in a bibliography (list) in which it takes the value of \cmd{labelnamepunct} for compatibility reasons. If desired, a context can be forced with the optional argument to \cmd{printdelim}, so \begin{ltxexample}[style=latex] \printdelim[textcite]{nametitledelim} @@ -5031,7 +5151,7 @@ Similar to \cmd{nohyphenation} but restricted to the \prm{text} argument. \cmditem{mknumalph}{integer} -Takes an integer in the range 1--702 as its argument and converts it to a string as follows: 1=a, \textellipsis, 26=z, 27=aa, \textellipsis, 702=zz. This is intended for use in formatting directives for the \bibfield{extradate} and \bibfield{extraalpha} fields. +Takes an integer in the range 1--702 as its argument and converts it to a string as follows: 1=a, \textellipsis, 26=z, 27=aa, \textellipsis, 702=zz. This is intended for use in formatting directives for the \bibfield{extradate}, \bibfield{extraname} and \bibfield{extraalpha} fields. \cmditem{mkbibacro}{text} @@ -5069,7 +5189,7 @@ The facilities discussed in this section are specific to certain localisation mo \subsubsection{Bulgarian} \label{use:loc:bul} -Like the Greek localisation module, the Bulgarian module also requires \utf support. It will not work with any other encoding. +Like the Greek localisation module, the Bulgarian module also requires \utf support. It will not work with any other encoding. \subsubsection{American} \label{use:loc:us} @@ -5122,7 +5242,13 @@ The Greek localisation module requires \utf support. It will not work with any o \subsubsection{Russian} \label{use:loc:rus} -Like the Greek localisation module, the Russian module also requires \utf support. It will not work with any other encoding. +Like the Greek localisation module, the Russian module also requires \utf support. It will not work with any other encoding. + +\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. + \subsection{Usage Notes} \label{use:use} @@ -5733,7 +5859,7 @@ This will not from a group, but otherwise works as usual. As far as \biblatex is To utilise all of the features described here, \biblatex must be used with the \biber program as a backend. Indeed, the documentation in general assumes this. However, for a \emph{limited} subset of use cases it is possible to use the -long-established \bibtex program (either the 7-bit \texttt{bibtex} or +long-established \bibtex program (either the 7-bit \texttt{bibtex} or 8-bit \texttt{bibtex8}) as the supporting backend. This works in much the same way as for \biber with the only proviso being that \bibtex is much more limited as a backend. @@ -5741,7 +5867,7 @@ limited as a backend. Using \bibtex as the backend requires that the option \opt{backend=bibtex} or \opt{backend=bibtex8} is given at load time. The \biblatex package will then write appropriate data for use by \bibtex into the auxiliary file(s) -and a special data file (automatically included in those to be read by +and a special data file (automatically included in those to be read by \bibtex). The \bibtex(8) program should then be run on each auxiliary file: \biblatex will list all of the required files in the log. @@ -5833,8 +5959,8 @@ The \biblatex package supports citations in any arbitrary format, hence citation {}{{0}{}{book}{1994}{}{}{}{}{Reading, Mass.\bpubaddr{}Addison-Wesley% \bibbdsep{} 1994}}{{The LaTeX Companion}{}{}{2}{}{}{}{}{}}{\bibnf {Goossens}{Michel}{M.}{}{}\Bibbfsasep\bibnf{Mittelbach}{Frank}{F.}% - {}{}\Bibbstasep\bibnf{Samarin}{Alexander}{A.}{}{}}{\bibtfont{The - LaTeX Companion}.\ \apyformat{Reading, Mass.\bpubaddr{} + {}{}\Bibbstasep\bibnf{Samarin}{Alexander}{A.}{}{}}{\bibtfont{The + LaTeX Companion}.\ \apyformat{Reading, Mass.\bpubaddr{} Addison-Wesley\bibbdsep{} 1994}}} \end{ltxexample} % @@ -5857,7 +5983,7 @@ In order to streamline the whole procedure, \biblatex essentially employs the \f \begin{enumerate} -\item Run \bin{latex}: The first step is similar to the traditional procedure described above: \cmd{bibstyle} and \cmd{bibdata} commands are written to th \file{bcf} file, along with \cmd{citation} commands for all citations. We then wait for the backend to supply the required data. +\item Run \bin{latex}: The first step is similar to the traditional procedure described above: \cmd{bibstyle} and \cmd{bibdata} commands are written to th \file{bcf} file, along with \cmd{citation} commands for all citations. We then wait for the backend to supply the required data. \item Run \bin{biber}: The backend supplies those entries from the \file{bib} file which were requested by the \cmd{citation} commands in the auxiliary file. However, it does not write a printable bibliography to the \file{bbl} file, but rather a structured representation of the bibliographic data. Just like an \file{aux} file, this \file{bbl} file does not print anything when read in. It merely puts data in memory. @@ -5956,7 +6082,7 @@ If a bibliography driver covers more than one entry type, this command may be us \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. +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. The \prm{datatype} is a the datatype for the option. If omitted, it defaults to <boolean>. For example, with a definition like the following: \begin{ltxexample} @@ -6080,7 +6206,7 @@ List formats are slightly more complex. After splitting up the list into individ {}} \end{ltxexample} % -Formatting directives for names are similar to those for literal lists. +Formatting directives for names are similar to those for literal lists. Names depend on the datamodel constant <nameparts> which has the default definition: @@ -6109,21 +6235,26 @@ Inside name formats, the nameparts constant declaration makes available two or t Note these per-namepart uniqueness macros are essentially an override of the \opt{uniquename} value (see \secref{aut:aux:tst}) for the name as a whole. Styles can choose to use either the less granular \opt{uniquename} value or the more detailed per-namepart values. Usually the general \opt{uniquename} value is enough for ordinary Western names but the more granular information per-namepart is provided to allow sophisticated name uniqueness processing for more complex name schemata. -The name formatting directive is executed once for each name in the name list. Here is an example: +The name formatting directive is executed once for each name in the name list. Here is a simplified example---the standard name formats are more intricate: \begin{ltxexample} \DeclareNameFormat{author}{% \ifthenelse{\value{listcount}=1} {\namepartfamily% - \ifblank{\namepartgiven}{}{\addcomma\space\namepartgiven}} - {\ifblank{\namepartgiven}{}{\namepartgiven\space}% + \ifdefvoid{\namepartgiven}{}{\addcomma\space\namepartgiven}} + {\ifdefvoid{\namepartgiven}{}{\namepartgiven\space}% \namepartfamily}% \ifthenelse{\value{listcount}<\value{liststop}} {\addcomma\space} {}} \end{ltxexample} % -The above directive reverses the name of the first author («Family, Given») and prints the remaining names in their regular sequence («Given Family»). Note that the only component which is guaranteed to be available is the family name, hence we have to check which parts of the name are actually present. If a certain name part is not available, the corresponding macro will be empty. As with directives for literal lists, the separator to be inserted between the individual items in the name list is also handled by the formatting directive, hence we have to check whether we are in the middle of the list or at the end when inserting it. This is what the second \cmd{ifthenelse} test does. +The above directive reverses the name of the first author («Family, Given») and prints the remaining names in their regular sequence («Given Family»). Note that the only component which is guaranteed to be available is the family name, hence we have to check which parts of the name are actually present. If a certain name part is not available, the corresponding macro will be empty. As with directives for literal lists, the separator to be inserted between the individual items in the name list is also handled by the formatting directive, hence we have to check whether we are in the middle of the list or at the end when inserting it. This is what the second \cmd{ifthenelse} test does. See also \secref{aut:bib:fmt}. + +A similar output that also respects the \cmd{multinamedelim} and \cmd{finalnamedelim} commands as well as the <prefix> and <suffix> name parts can be achieved with +\begin{ltxexample} +\DeclareNameAlias{author}{family-given/given-family} +\end{ltxexample} \subsubsection{Special Fields} \label{aut:bbx:fld} @@ -6158,7 +6289,7 @@ but would additionally have the field \bibfield{dateunspecified} set to <yearinc \fielditem{entrykey}{string} -The entry key of an item in the \file{bib} file. This is the string used by \biblatex and the backend to identify an entry in the \file{bib} file. +The entry key of an item in the \file{bib} file. This is the string used by \biblatex and the backend to identify an entry in the \file{bib} file. \fielditem{childentrykey}{string}\DeprecatedMark @@ -6264,7 +6395,7 @@ This field holds a hash of the (locale-specific) Unicode Collation Algorithm pri \fielditem{clonesourcekey}{string} -This field holds the entry key of the entry from which an entry was cloned. Clones are created for +This field holds the entry key of the entry from which an entry was cloned. Clones are created for entries which are mentioned in \bibfield{related} fields as part of related entry processing, for example. \fielditem{urlraw}{verbatim} @@ -6290,6 +6421,10 @@ The <alphabetic> citation scheme usually requires a letter to be appended to the The name to be printed in citations. This list is a copy of either the \bibfield{shortauthor}, the \bibfield{author}, the \bibfield{shorteditor}, the \bibfield{editor}, or the \bibfield{translator} list, which are normally checked for in this order. If no authors and editors are available, this list is undefined. Note that this list is also responsive to the \opt{use$<$name$>$}, options, see \secref{use:opt:bib}. Citation styles should use this list when printing the name in a citation. This list is provided for convenience only and does not carry any additional meaning. This field may be customized. See \secref{aut:ctm:fld} for details. +\fielditem{extraname}{integer} + +Holds a count of the number of bibliography entries within a refsection which derive from the same \bibfield{labelname} list. This counter takes account of \opt{uniquename} settings (see \secref{use:opt:pre:int}). While not used by any standard styles, this field is useful in styles which wish to number bibliography entries on a per-\bibfield{labelname} basis. This field will only exist if there is a \bibfield{labelname}. The \bibfield{extraname} counter is related to, but conceptually different from \cmd{ifsingletitle} (see \secref{use:opt:pre:int} and \secref{aut:aux:tst}). + \fielditem{labelnumber}{literal} The number of the bibliography entry, as required by numeric citation schemes. If the \bibfield{shorthand} field is defined, \biblatex does not assign a number to the respective entry. In this case \bibfield{labelnumber} is the shorthand rather than a number. Numeric styles must use the value of this field instead of a counter. Note that this field needs to be requested with the package option \opt{labelnumber}, see \secref{use:opt:pre:int} for details. Also see the package option \opt{defernumbers} in \secref{use:opt:pre:gen}. @@ -6845,9 +6980,23 @@ This command provides definitions for the \cmd{autocite} and \cmd{autocites} com A definition provided in the document preamble can be subsequently adopted with the following: (see \secref{use:cfg:opt}). \begin{ltxexample} -\ExecuteBibliographyOptions{autocite=<<name>>} +\ExecuteBibliographyOptions{autocite=<<name>>} \end{ltxexample} +\cmditem{DeclareCitePunctuationPosition}{command}{position} + +Set up the cite command \prm{command} to move punctuation marks after the citation like \cmd{autocite}. The \prm{position} argument can take the values \opt{r}, \opt{l}, \opt{f}, \opt{c}, \opt{o} and \opt{d}. +If an unknown \prm{position} identifier is used, it defaults to \opt{o}. +\begin{valuelist} +\item[r] The punctuation mark is not moved and remains to the right of the citation. +\item[l] The punctuation mark is moved to the left of the citation and thus appears before it. +\item[f] Like \opt{r} in footnotes and like \opt{l} otherwise. +\item[c] Pass the punctuation on to the internal implementation of the citation commands. It will then be executed within the \prm{wrapper} command if given. +\item[o] Retain the default set-up of \opt{c} for citation defined commands without \prm{wrapper} command and \opt{l} for citation commands defined with a \prm{wrapper} command. +\item[d] Drop the explicit punctuation mark. It will only be available as the field \bibfield{postpunct}. +\end{valuelist} +% +This command can not be used for \cmd{autocite}, to configure \cmd{autocite} use the optional \prm{position} argument for \cmd{DeclareAutoCiteCommand}. \end{ltxsyntax} \subsubsection{Special Fields} @@ -6896,7 +7045,7 @@ This section introduces the main data interface of the \biblatex package. These \cmditem{DeprecateName}{name}{message} When an attempt is made to print \prm{field}, \prm{list}, \prm{name}, a -deprecation warning issued with the additional \prm{message}. This aids +deprecation warning is issued with the additional \prm{message}. This aids style authors who are changing field names in their style. Note that the deprecated item must no longer be defined in the datamodel for this work; \prm{field}, \prm{list} or \prm{name} cannot be listed anywhere as an @@ -7020,12 +7169,12 @@ Generally, you would want to use \cmd{DeclareSourcemap} (see \secref{aut:ctm:map \cmditem{DeclareListInputHandler}{list}{code} -As \cmd{DeclareFieldInputHandler} but for lists. Within the \prm{code}, the macro \cmd{NewValue} +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. \cmditem{DeclareNameInputHandler}{name}{code} -As \cmd{DeclareFieldInputHandler} but for names. Within the \prm{code}, the macro \cmd{NewValue} +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}. \end{ltxsyntax} @@ -7075,6 +7224,16 @@ The value of the datamodel <nameparts> constant (see \secref{aut:bbx:drv}) creat % If a certain part of a name is not available, the corresponding macro will be empty, hence you may use, for example, the \sty{etoolbox} tests like \cmd{ifdefvoid} to check for the individual parts of a name. The name of the name list currently being processed is available to the \prm{code} as \cmd{currentname}. Note that the formatting directive also handles the punctuation to be inserted between separate names and between the individual parts of a name. You need to check whether you are in the middle of or at the end of the list, \ie whether \cnt{listcount} is smaller than or equal to \cnt{liststop}. See also \secref{use:cav:nam}. The starred variant of this command is similar to the regular version, except that all type-specific formats are cleared. \emph{Do not put any whitespace between the arguments to this macro as the definitions are quite complex and you will get unexpected results}. +\cmditem{DeclareListWrapperFormat}[entrytype, \dots]{format}{code} +\cmditem*{DeclareListWrapperFormat}*{format}{code} + +Defines the list wrapper format \prm{format}. This formatting directive is arbitrary \prm{code} to be executed once for the entire list processed by \cmd{printlist}. The name of the literal list currently being processed is available to the \prm{code} as \cmd{currentlist}. If an \prm{entrytype} is specified, the format is specific to that type. The \prm{entrytype} argument may be a comma"=separated list of values. The starred variant of this command is similar to the regular version, except that all type-specific formats are cleared. + +\cmditem{DeclareNameWrapperFormat}[entrytype, \dots]{format}{code} +\cmditem*{DeclareNameWrapperFormat}*{format}{code} + +Defines the list wrapper format \prm{format}. This formatting directive is arbitrary \prm{code} to be executed once for the entire name list processed by \cmd{printnames}. The name of the literal list currently being processed is available to the \prm{code} as \cmd{currentname}. If an \prm{entrytype} is specified, the format is specific to that type. The \prm{entrytype} argument may be a comma"=separated list of values. The starred variant of this command is similar to the regular version, except that all type-specific formats are cleared. + \cmditem{DeclareIndexFieldFormat}[entrytype, \dots]{format}{code} \cmditem*{DeclareIndexFieldFormat}*{format}{code} @@ -7090,6 +7249,17 @@ Defines the literal list format \prm{format}. This formatting directive is arbit Defines the name list format \prm{format}. This formatting directive is arbitrary \prm{code} to be executed for every name in a list processed by \cmd{indexnames}. The name of the name list currently being processed is available to the \prm{code} as \cmd{currentname}. If an \prm{entrytype} is specified, the format is specific to that type. The \prm{entrytype} argument may be a comma"=separated list of values. The parts of the name will be passed to the \prm{code} as separate arguments. This command is very similar to \cmd{DeclareNameFormat} except that the data handled by the \prm{code} is not intended to be printed but written to the index. Note that \cmd{indexnames} will execute the \prm{code} as is, \ie the \prm{code} must include \cmd{index} or a similar command. The starred variant of this command is similar to the regular version, except that all type-specific formats are cleared. +\cmditem{DeclareIndexListWrapperFormat}[entrytype, \dots]{format}{code} +\cmditem*{DeclareIndexListWrapperFormat}*{format}{code} + +Similar to \cmd{DeclareIndexListFormat} but for the list format used for indices. + + +\cmditem{DeclareIndexNameWrapperFormat}[entrytype, \dots]{format}{code} +\cmditem*{DeclareIndexNameWrapperFormat}*{format}{code} + +Similar to \cmd{DeclareIndexNameFormat} but for the name list format used for indices. + \cmditem{DeclareFieldAlias}[entry type]{alias}[format entry type]{format} Declares \prm{alias} to be an alias for the field format \prm{format}. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. @@ -7102,6 +7272,14 @@ Declares \prm{alias} to be an alias for the literal list format \prm{format}. If Declares \prm{alias} to be an alias for the name list format \prm{format}. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. +\cmditem{DeclareListWrapperAlias}[entry type]{alias}[format entry type]{format} + +Declares \prm{alias} to be an alias for the outer list format \prm{format}. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. + +\cmditem{DeclareNameWrapperAlias}[entry type]{alias}[format entry type]{format} + +Declares \prm{alias} to be an alias for the outer name list format \prm{format}. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. + \cmditem{DeclareIndexFieldAlias}[entry type]{alias}[format entry type]{format} Declares \prm{alias} to be an alias for the field format \prm{format}. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. @@ -7114,6 +7292,54 @@ Declares \prm{alias} to be an alias for the literal list format \prm{format}. If Declares \prm{alias} to be an alias for the name list format \prm{format}. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. +\cmditem{DeclareIndexListWrapperAlias}[entrytype, \dots]{format}{code} + +Similar to \cmd{DeclareIndexListFormat} but for the list format used for indices. + +\cmditem{DeclareIndexNameWrapperAlias}[entrytype, \dots]{format}{code} + +Similar to \cmd{DeclareIndexNameFormat} but for the name list format used for indices. + +\cmditem{DeprecateFieldFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Declares \prm{alias} to be an alias for the name list format \prm{format} and issue a deprecation warning. If an \prm{entrytype} is specified, the alias is specific to that type. The \prm{format entry type} is the entry type of the backend format. This is only required when declaring an alias for a type"=specific formatting directive. + +\cmditem{DeprecateListFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for list formats. + +\cmditem{DeprecateNameFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for name formats. + +\cmditem{DeprecateListWrapperFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for outer list formats. + +\cmditem{DeprecateNameWrapperFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for outer name formats. + +\cmditem{DeprecateIndexFieldFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for index field formats. + +\cmditem{DeprecateIndexListFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for index list formats. + +\cmditem{DeprecateIndexNameFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for index name formats. + +\cmditem{DeprecateIndexListWrapperFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for index list formats. + +\cmditem{DeprecateIndexNameWrapperFormatWithReplacement}[entry type]{alias}[format entry type]{format} + +Similar to \cmd{DeprecateFieldFormatWithReplacement} but for index name formats. + \end{ltxsyntax} \subsection{Customization} @@ -7149,7 +7375,7 @@ It is useful to be able to define named sets of datasource field names for use i \cmditem{DeclareDatafieldSet}{name}{specification} -Declare a set of datasource fields with name \prm{name}. +Declare a set of datasource fields with name \prm{name}. \begin{optionlist*} @@ -7263,7 +7489,7 @@ As the same option on the parent \cmd{maps} element. This option allows an overr Loop over all \cmd{step}s in this \cmd{map}, setting the special variable |$MAPLOOP| %$ to each of the comma-separated values contained in \prm{loopval}. \prm{loopval} can either be the name of a datafield set defined with \cmd{DeclareDatafieldSet} (see \secref{aut:ctm:dsets}), a datasource field which is fetched and parsed as a comma"=separated values list or an explicit comma"=separated values list. \prm{loopval} is determined in this order. This allows the user to repeat a group of \cmd{step}s for each value \prm{loopval}. Using regexp maps, it is possible to create a CSV field for use with this functionality. The special variable |$MAPUNIQ| %$ -may also be used the \cmd{step}s to generate a random unique string. This can be useful when creating keys for new entries. An example: +may also be used in the \cmd{step}s to generate a random unique string. This can be useful when creating keys for new entries. An example: \begin{ltxexample}[style=latex] \DeclareSourcemap{ @@ -7306,7 +7532,9 @@ A mapping step. Each step is applied sequentially to every relevant entry where \valitem{notfield}{entryfield} \valitem{fieldtarget}{entryfield} \valitem{match}{regexp} +\valitem{matchi}{regexp} \valitem{notmatch}{regexp} +\valitem{notmatchi}{regexp} \valitem{replace}{regexp} \valitem{fieldset}{entryfield} \valitem{fieldvalue}{string} @@ -7329,10 +7557,10 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to \begin{itemize} \item If \texttt{entrynew} is set, a new entry is created with the entry key \texttt{entrynewkey} and the entry type given in the option \texttt{entrynewtype}. This - entry is only in-scope during the processing of the current entry and can be referenced by - \texttt{entrytarget}. In \texttt{entrynewkey}, you may use standard Perl regular expression + entry is only in-scope during the processing of the current entry and can be referenced by + \texttt{entrytarget}. In \texttt{entrynewkey}, you may use standard Perl regular expression backreferences to captures from a previous \texttt{match} step. -\item When a \texttt{fieldset} step has \texttt{entrytarget} set to the entrykey of an entry +\item When a \texttt{fieldset} step has \texttt{entrytarget} set to the entrykey of an entry created by \texttt{entrynew}, the target for the field set will be the \texttt{entrytarget} entry rather than the entry being currently processed. This allows users to create new entries and set fields in them. @@ -7345,10 +7573,10 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to select the entries which you want to apply this to using prior mapping steps. \item If \texttt{entryclone} is set, a clone of the entry is created with an entry key - \texttt{clonekey}. Obviously this may cause labelling problems in author/year styles etc. - and should be used with care. The cloned entry is in-scope during the processing of the - current entry and can be modified by passing its key as the value to \texttt{entrytarget}. - In \texttt{clonekey}, you may use standard Perl regular expression backreferences to + \texttt{clonekey}. Obviously this may cause labelling problems in author/year styles etc. + and should be used with care. The cloned entry is in-scope during the processing of the + current entry and can be modified by passing its key as the value to \texttt{entrytarget}. + In \texttt{clonekey}, you may use standard Perl regular expression backreferences to captures from a previous \texttt{match} step. \item Change the \texttt{typesource} \prm{entrytype} to the \texttt{typetarget} \prm{entrytype}, if defined. If @@ -7356,10 +7584,12 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to \item Change the \texttt{fieldsource} \prm{entryfield} to \texttt{fieldtarget}, if defined. If \texttt{final} is \texttt{true} then if there is no \texttt{fieldsource} \prm{entryfield} in the entry, processing of the parent \cmd{map} immediately terminates. -\item If \texttt{notfield} is used then only apply the step if the \prm{entryfield} does not exist. +\item If \texttt{notfield} is true only if the \prm{entryfield} does not + exist. Usually used with \texttt{final} so that if an entry does contain + \prm{entryfield}, the map terminates. \item If \texttt{match} is defined but \texttt{replace} is not, only apply the step if the \texttt{fieldsource} \prm{entryfield} matches the - \texttt{match} regular expression (logic is reversed if you use \texttt{notmatch} instead)\footnote{Regular expressions are full Perl 5.16 regular expressions. This means you may need to deal with special characters, see examples.}. You may use capture parenthesis as usual and refer to these (\$1\ldots\$9) in later \texttt{fieldvalue} specifications. This allows you to pull out parts of some fields and put these parts in other fields. + \texttt{match} regular expression (logic is reversed if you use \texttt{notmatch} and case-insensitive if you use the versions ending in <i>)\footnote{Regular expressions are full Perl 5.16 regular expressions. This means you may need to deal with special characters, see examples.}. You may use capture parenthesis as usual and refer to these (\$1\ldots\$9) in later \texttt{fieldvalue} specifications. This allows you to pull out parts of some fields and put these parts in other fields. \item Perform a regular expression match and replace on the value of the \texttt{fieldsource} \prm{entryfield} if \texttt{match} and \texttt{replace} are defined. \item If \texttt{fieldset} is defined, then its value is \prm{entryfield} which will be set to a value specified by further options. If @@ -7387,6 +7617,8 @@ pseudo-field \bibfield{entrykey} for \texttt{fieldsource} which is the citation key of the entry. With \biblatexml\ the \bibfield{entrykey} is a normal attribute and can be reference like any other attribute. Naturally, this <field> cannot be changed (used as \texttt{fieldset}, \texttt{fieldtarget} or changed using \texttt{replace}). +Macros used in \cmd{step} are expanded. Unexpandable contents should be protected with \cmd{detokenize}, regular expressions can be escaped using the dedicated \cmd{regexp} command (see the examples below). + \begin{ltxsyntax} \cmditem{DeclareStyleSourcemap}{specification} @@ -7447,8 +7679,8 @@ Copy the \bibfield{title} field to the \bibfield{note} field unless the } \end{ltxexample} % -Any \bibfield{chat} entrytypes would become \bibfield{customa} entrytypes and -would automatically have a \bibfield{type} field set to +Any \bibfield{chat} entrytypes would become \bibfield{customa} entrytypes and +would automatically have a \bibfield{type} field set to <chat> unless the \bibfield{type} field already exists in the entry (because \texttt{overwrite} is false by default). This mapping applies only to entries of type \bibtype{chat} since the first step has \texttt{final} set and so if the @@ -7896,7 +8128,7 @@ Specifies how many of the \cmd{constraintfield}'s inside the \cmd{consequent} ha \cmditem{constraintfield}{field} -For constraints of \prm{type} <data>, the constraint applies to this \prm{field}. For constraints of \prm{type} <mandatory>, the entry must contain this \prm{field}. +For constraints of \prm{type} <data>, the constraint applies to this \prm{field}. For constraints of \prm{type} <mandatory>, the entry must contain this \prm{field}. The data model declaration macros may be used multiple times as they append to the previous definitions. In order to replace, change or remove existing definitions (such as the default model which is loaded with \biblatex), you should reset (clear) the current definition and then set what you want using the following macros. Typically, these macros will be the first things in any \file{biblatex-dm.cfg} file: @@ -8210,7 +8442,7 @@ With a restriction to two characters for the name components of the label elemen } } \end{ltxexample} -% +% This would be the result (note that the individual family name label parts are no longer unambiguous): \begin{lstlisting}{} @@ -8377,7 +8609,7 @@ Defines the sorting template \prm{name}. The \prm{name} is the identifier passed \choitem{locale}{\prm{locale}} -The locale for the sorting template which then overrides the global sorting locale in the \opt{sortlocale} option discussed in \secref{use:opt:pre:gen}. +The locale for the sorting template which then overrides the global sorting locale in the \opt{sortlocale} option discussed in \secref{use:opt:pre:gen}. \end{optionlist*} @@ -8419,7 +8651,7 @@ The \cmd{field} element adds a \prm{field} to the sorting specification. If the \choitem[left]{padside}{left, right} -Pads a field on the \texttt{left} or \texttt{right} side using \opt{padchar} so that its width is \opt{padwidth}. If no padding option is set, no padding is done at all. If any padding option is specified, then padding is performed and the missing options are assigned built-in default values. If padding and substring matching are both specified, the substring match is performed first. +Pads a field on the \texttt{left} or \texttt{right} side using \opt{padchar} so that its width is \opt{padwidth}. If no padding option is set, no padding is done at all. If any padding option is specified, then padding is performed and the missing options are assigned built-in default values. If padding and substring matching are both specified, the substring match is performed first. \intitem[4]{padwidth} @@ -8672,14 +8904,14 @@ Specifies a string to be used to automatically populate the \bibfield{presort} f \cmditem{DeclareSortTranslit}[entrytype]{specification} -Languages which can be written in different scripts or alphabets often only have CLDR sorting tailoring for one script and it is expected that you transliterate into the supported script for sorting purposes. A common example is Sanskrit which is often written in academic contexts in IAST +Languages which can be written in different scripts or alphabets often only have CLDR sorting tailoring for one script and it is expected that you transliterate into the supported script for sorting purposes. A common example is Sanskrit which is often written in academic contexts in IAST romanised script but which needs to be sorted in the <sa> locale which expects the Devanāgarī script. Another common case is transliteration of Russian Cyrillic into Latin as defined by the ALA-LC standard. Such requirement means that it is necessary to transliterate into the sorting script internally. \cmd{DeclareSortTranslit} declares which parts of an entry you would like to transliterate for sorting purposes. Without the \prm{entrytype} parameter, the \prm{specification} applies to all entrytypes. The \prm{specification} is one or more \cmd{translit} commands: -\cmditem{translit}{field or fieldset}{from}{to} +\cmditem{translit}[langids]{field or fieldset}{from}{to} -Specifies that the data field \bibfield{field} or all fields in a fieldset \prm{fieldset} declared with \cmd{DeclareDatafieldSet} (see \secref{aut:ctm:dsets}) should be transliterated from script \prm{from} to script \prm{to} for sorting purposes. The field/set argument can also be <*> to apply transliteration to all fields. The valid \prm{from} and \prm{to} values are given in table \ref{tab:translit}. Note that \biblatex does not aim to support general transliteration, only those which are useful for sorting purposes. Please open a GitHub ticket for \biblatex\ if you think you need additional transliterations. +Specifies that the data field \bibfield{field} or all fields in a fieldset \prm{fieldset} declared with \cmd{DeclareDatafieldSet} (see \secref{aut:ctm:dsets}) should be transliterated from script \prm{from} to script \prm{to} for sorting purposes. The field/set argument should be <*> to apply transliteration to all fields. The valid \prm{from} and \prm{to} values are given in table \ref{tab:translit}. The optional \prm{langids} parameter is a comma-separated list of \bibfield{langid} fields and the transliteration will apply only to bibliography entries containing one of the \bibfield{langid}s in the list. Note that \biblatex does not aim to support general transliteration, only those which are useful for sorting purposes. Please open a GitHub ticket for \biblatex\ if you think you need additional transliterations. -An example of transliterating titles so that they sort correctly in Sanskrit: +An example of transliterating titles so that they sort correctly in Sanskrit. This example assumes that entries that should have their title fields transliterated have a \bibfield{langid} field set to <sanskrit>. \begin{ltxexample} \DeclareDatafieldSet{settitles}{ @@ -8693,7 +8925,7 @@ An example of transliterating titles so that they sort correctly in Sanskrit: } \DeclareSortTranslit{ - \translit[settitles]{iast}{devanagari} + \translit[sanskrit]{settitles}{iast}{devanagari} } \end{ltxexample} @@ -8719,7 +8951,7 @@ russian & bgn/pcgn-standard & BGN/PCGN:1947 (Standard Variant), Cyrillic to Lati \subsubsection[Bibliography List Filters]{Bibliography List Filters} \label{aut:ctm:bibfilt} -When using customisable bibliography lists (See \secref{use:bib:biblist}), usually one wants to return in the \file{.bbl} only those entries which have the particular fields which the bibliography list is summarising. For example, when printing a normal list of shorthands, you want the list returned by \biber in the \file{.bbl} to contain only those entries which have a \bibfield{shorthand} field. This is accomplished by defining a bibliography list filter using the \cmd{DeclareBiblistFilter} command. This differs from the filters defined using \cmd{defbibfilter} (see \secref{use:bib:flt}) since the filters defined by \cmd{defbibfilter} run inside \biblatex after the \file{.bbl} has been generated. In addition, bibliography lists in the \file{.bbl} do not contain entry data, only the citation keys for the entries and so no filtering by \biblatex using \cmd{defbibfilter} is possible for bibliography lists. +When using customisable bibliography lists (See \secref{use:bib:biblist}), usually one wants to return in the \file{.bbl} only those entries which have the particular fields which the bibliography list is summarising. For example, when printing a normal list of shorthands, you want the list returned by \biber in the \file{.bbl} to contain only those entries which have a \bibfield{shorthand} field. This is accomplished by defining a bibliography list filter using the \cmd{DeclareBiblistFilter} command. This differs from the filters defined using \cmd{defbibfilter} (see \secref{use:bib:flt}) since the filters defined by \cmd{defbibfilter} run inside \biblatex after the \file{.bbl} has been generated. \begin{ltxsyntax} \cmditem{DeclareBiblistFilter}{name}{specification} @@ -8757,7 +8989,7 @@ Fields in the datamodel which are marked as <Label fields> (see \secref{aut:ctm: \subsubsection{Controlling Name Initials Generation} \label{aut:ctm:noinit} -Generating initials for name parts from a given name involves some difficulties when you have names with prefixes, diacritics, hyphens etc. Often, you want to ignore things like prefixes when generating initials so that the initials for «al-Hasan» is just «H» instead of «a-H». This is tricky when you also have names like «Ho-Pun» where you want the initials to be «H-P», for example. +Generating initials for name parts from a given name involves some difficulties when you have names with prefixes, diacritics, hyphens etc. Often, you want to ignore things like prefixes when generating initials so that the initials for «al-Hasan» is just «H» instead of «a-H». This is tricky when you also have names like «Ho-Pun» where you want the initials to be «H-P», for example. \begin{ltxsyntax} @@ -8795,9 +9027,9 @@ It can be useful to fine tune sorting so that it ignores certain parts of partic Defines regular expressions to strip from particular fields or types of fields when sorting. The \prm{specification} is an undelimited list of \cmd{nosort} directives which specify the regular expressions to remove from particular fields or type of field. Spaces, tabs and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble. -\cmditem{nosort}{field or field type}{regexp} +\cmditem{nosort}{field or datafield set}{regexp} -Any number of \cmd{nosort} commands can be given each of which specifies to remove the \prm{regexp} from the \prm{field} or \prm{field type}. A \prm{field type} is simple a convenience grouping of semantically similar fields from which you might want to remove a regexp. Table \ref{aut:nosort} shows the available field types. Since regular expressions usually contain special characters, it is best to enclose them in the provided \cmd{regexp} macro as shown---this will pass the expression through to \biber correctly. +Any number of \cmd{nosort} commands can be given each of which specifies to remove the \prm{regexp} from the \prm{field} or \prm{datafield set}. A \prm{datafield set} is simply a convenience grouping of semantically similar fields from which you might want to remove a regexp. See \secref{aut:ctm:dsets} for the avaiable sets, their members and customisation. Since regular expressions usually contain special characters, it is best to enclose them in the provided \cmd{regexp} macro as shown---this will pass the expression through to \biber correctly. \end{ltxsyntax} @@ -8806,13 +9038,13 @@ The default is: \begin{ltxexample} \DeclareNosort{ % strip prefixes like 'al-' when sorting names - \nosort{type_names}{\regexp{<<\A\p{L}{2}\p{Pd}>>}} + \nosort{setnames}{\regexp{<<\A\p{L}{2}\p{Pd}>>}} % strip some diacritics when sorting names - \nosort{type_names}{\regexp{<<[\x{2bf}\x{2018}]>>}} + \nosort{setnames}{\regexp{<<[\x{2bf}\x{2018}]>>}} } \end{ltxexample} % -This \biber default strips a couple of diacritics and also strips prefixes from names when sorting. Suppose you wanted to ignore «The» at the beginning of a \bibfield{title} field when sorting: +This \biber default strips a couple of diacritics and also strips two-letter prefixes (like «Al-») from names when sorting. Suppose you wanted to ignore «The» at the beginning of the \bibfield{title} field when sorting: \begin{ltxexample} \DeclareNosort{ @@ -8824,48 +9056,10 @@ Or if you wanted to ignore «The» at the beginning of any title field: \begin{ltxexample} \DeclareNosort{ - \nosort{<<type_title>>}{\regexp{<<\AThe\s+>>}} + \nosort{<<settitles>>}{\regexp{<<\AThe\s+>>}} } \end{ltxexample} -\begin{table}[h] -\tablesetup -\begin{tabular}{@{}V{0.5\textwidth}@{}V{0.5\textwidth}@{}} -\toprule -\multicolumn{1}{@{}H}{Field Type} & -\multicolumn{1}{@{}H}{Fields} \\ -\cmidrule(r){1-1}\cmidrule{2-2} -|type_name| & |author| \\ - & |afterword| \\ - & |annotator| \\ - & |bookauthor| \\ - & |commentator| \\ - & |editor| \\ - & |editora| \\ - & |editorb| \\ - & |editorc| \\ - & |foreword| \\ - & |holder| \\ - & |introduction| \\ - & |namea| \\ - & |nameb| \\ - & |namec| \\ - & |shortauthor| \\ - & |shorteditor| \\ - & |translator| \\ -|type_title| & |booktitle| \\ - & |eventtitle| \\ - & |issuetitle| \\ - & |journaltitle| \\ - & |maintitle| \\ - & |origtitle| \\ - & |title| \\ -\bottomrule -\end{tabular} -\caption{Field types for \cmd{nosort}} -\label{aut:nosort} -\end{table} - \subsubsection{Special Fields} \label{aut:ctm:fld} @@ -8987,7 +9181,7 @@ which is just plain <month> disambiguation which is very unlikely to be what you } } \end{ltxexample} -% +% Entries without the specified granularity of information will disambiguate at the lowest granularity they contain, so, for example, with: \begin{ltxexample} \DeclareExtradate{% @@ -9050,7 +9244,7 @@ Configures the default inheritance behavior. This command may only be used in th \begin{optionlist*} -\boolitem[true]{all} Whether or not to inherit all fields from the parent by default. +\boolitem[true]{all} Whether or not to inherit all fields from the parent by default. \kvopt{all}{true} means that the child entry inherits all fields from the parent, unless a more specific inheritance rule has been set up with \cmd{DeclareDataInheritance}. If an inheritance rule is defined for a field, data inheritance is controlled by that rule. \kvopt{all}{false} means that no data is inherited from the parent by default and each field to be inherited requires an explicit inheritance rule set up with \cmd{DeclareDataInheritance}. The package default is \kvopt{all}{true}. @@ -9155,7 +9349,7 @@ This rule is an example of one-to-many mapping: it maps the \bibfield{author} fi } \end{ltxexample} % -This rule prevents inheritance of the \bibfield{introduction} field. It applies to all targets of type +This rule prevents inheritance of the \bibfield{introduction} field. It applies to all targets of type \bibtype{inbook} or \bibtype{incollection}, regardless of the source entry type. \begin{ltxexample} @@ -9397,6 +9591,10 @@ Expands to \prm{true} if the \prm{datetype}date is defined, has a time component Expands to \prm{true} if the two dates \prm{datetype1} and \prm{datetype2} would show in different precision when printed with \cmd{print$<$datetype1$>$date} and \cmd{print$<$datetype2$>$date} respectively, and to \prm{false} otherwise. +\cmditem{ifdateyearsequal}{datetype1}{datetype2}{true}{false} + +Expands to \prm{true} if the two dates \prm{datetype1} and \prm{datetype2} have the same year and era. Since the sign of the date is saved in the era field, years should be compared using this command to avoid confusion when the two years have opposite signs + \cmditem{ifcaselang}[language]{true}{false} @@ -9525,6 +9723,10 @@ Expands to \prm{true} if the entry was inclued in the \file{.bbl} due to being r Expands to \prm{true} if there is only one work by the \opt{labelname} name in the bibliography, and to \prm{false} otherwise. If \opt{labelname} is not set for an entry, this will always expand to \prm{false}. Note that this feature needs to be enabled explicitly with the package option \opt{singletitle}. +\cmditem{ifnocite}{true}{false} + +Expands to \prm{true} if the entry was \emph{only} included in the \file{.bbl} via \cmd{nocite}. That is, returns \prm{false} if an entry was both \cmd{nocite}'d and \cmd{cite}'d. + \cmditem{ifuniquetitle}{true}{false} Expands to \prm{true} if there is only one work with the title \opt{labeltitle} and to \prm{false} otherwise. If \opt{labeltitle} is not set for an entry, this will always expand to \prm{false}. Note that this feature needs to be enabled explicitly with the package option \opt{uniquetitle}. @@ -9539,7 +9741,7 @@ Expands to \prm{true} if there is only one work by the \opt{labelname} name with \cmditem{ifuniqueprimaryauthor}{true}{false} -Expands to \prm{true} if there is only one work by the the primary (first) author name of \opt{labelname} and to \prm{false} otherwise. Only the base name parts of the author name are considered, as defined by \cmd{DeclareUniquenameTemplate} see \secref{aut:cav:amb}. If \opt{labelname} is not set for an entry, this will always expand to \prm{false}. Note that this feature needs to be enabled explicitly with the package option \opt{uniqueprimaryauthor}. +Expands to \prm{true} if there is only one work by the the primary (first) author name of \opt{labelname} and to \prm{false} otherwise. Only the base name parts of the author name are considered, as defined by \cmd{DeclareUniquenameTemplate} see \secref{aut:cav:amb}. If \opt{labelname} is not set for an entry, this will always expand to \prm{false}. Note that this feature needs to be enabled explicitly with the package option \opt{uniqueprimaryauthor}. \cmditem{ifandothers}{list}{true}{false} @@ -9721,6 +9923,10 @@ Expands to \prm{true} when located in a footnote, and to \prm{false} otherwise. This counter indicates how many times the entry currently being processed is cited in the current reference section. Note that this feature needs to be enabled explicitly with the package option \opt{citecounter}. If the option is set to \texttt{context}, citations in the body text and in footnotes are counted separately. In this case, \cnt{citecounter} will hold the value of the context it is used in. +\cntitem{maxcitecounter} + +This counter holds the maximum value of \cnt{citecounter} across all entries in the current reference section. Like \cnt{citecounter} it is only available if the \opt{citecounter} option is enabled and tracks footnotes and text separately if the option is set to \texttt{context}. + \cntitem{uniquename} This counter refers to the \bibfield{labelname} list. It is set on a per-name basis. Its value is \texttt{0} if the base parts of the name (by default just the <family> part of the name) are unique, \texttt{1} if adding the other non-base parts of the name (as specified in the uniquename template defined by \cmd{DeclareUniquenameTemplate}) as initials will make it unique, and \texttt{2} if adding the full form of the non-base parts of the name are required to disambiguate the name. This information is required by author-year and author-title citation schemes which add additional parts of the name when citing different authors with the same family name. For example, (given the default \cmd{DeclareUniquenameTemplate} definition) if there is one <John Doe> and one <Edward Doe> in the list of references, this counter will be set to \texttt{1}. If there is one <John Doe> and one <Jane Doe>, the value of the counter will be \texttt{2}. If the option is set to \texttt{init}\slash \texttt{allinit}\slash \texttt{mininit}, the counter will be limited to \texttt{1}. This is useful for citations styles which use initials to disambiguate names but never print the full name in citations. If adding the initials is not sufficient to disambiguate the name, \cnt{uniquename} will also be set to \texttt{0} for that name. This feature needs to be enabled explicitly with the package option \opt{uniquename}. Note that the \cnt{uniquename} counter is local to \cmd{printnames} and that it is only set for the \bibfield{labelname} list and for the name list that \bibfield{labelname} has been derived from (typically \bibfield{author} or \bibfield{editor}). Its value is zero in any other context, i.e., it must be evaluated in the name formatting directives handling name lists. See \secref{aut:cav:amb} for further details and practical examples. This counter can be overridden on a per-namepart basis by consulting the \cmd{namepart<namepart>un} macros during name formatting, see \secref{aut:bbx:drv}. @@ -9836,6 +10042,16 @@ These commands save and restore the formatting directive \prm{format}, as define These commands save and restore the formatting directive \prm{format}, as defined with \cmd{DeclareNameFormat}. Both commands work within a local scope. They are mainly provided for use in localisation files. +\cmditem{savelistwrapperformat}[entry type]{format} +\cmditem{restorelistwrapperformat}[entry type]{format} + +These commands save and restore the formatting directive \prm{format}, as defined with \cmd{DeclareListWrapperFormat}. Both commands work within a local scope. They are mainly provided for use in localisation files. + +\cmditem{savenamewrapperformat}[entry type]{format} +\cmditem{restorenamewrapperformat}[entry type]{format} + +These commands save and restore the formatting directive \prm{format}, as defined with \cmd{DeclareNameWrapperFormat}. Both commands work within a local scope. They are mainly provided for use in localisation files. + \cmditem{ifbibmacroundef}{name}{true}{false} Expands to \prm{true} if the bibliography macro \prm{name} is undefined, and to \prm{false} otherwise. @@ -9843,6 +10059,8 @@ Expands to \prm{true} if the bibliography macro \prm{name} is undefined, and to \cmditem{iffieldformatundef}[entry type]{name}{true}{false} \cmditem{iflistformatundef}[entry type]{name}{true}{false} \cmditem{ifnameformatundef}[entry type]{name}{true}{false} +\cmditem{iflistwrapperformatundef}[entry type]{name}{true}{false} +\cmditem{ifnamewrapperformatundef}[entry type]{name}{true}{false} Expands to \prm{true} if the formatting directive \prm{format} is undefined, and to \prm{false} otherwise. @@ -9903,6 +10121,21 @@ title = {An Introduction to {L}a{T}e{X}} \end{lstlisting} % The problem with this convention is that the braces will suppress the kerning on both sides of the enclosed letter. It is preferable to wrap the entire word in braces as shown in the first example. +Macros in titles must also be protected with braces +\begin{lstlisting}[style=bibtex]{} +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: +\begin{ltxexample} +\DeclareFieldFormat{titlecase}{<<\MakeSentenceCase*{#1}>>} +\end{ltxexample} +% +Sentence casing can then be disabled by resetting that field format to +\begin{ltxexample} +\DeclareFieldFormat{titlecase}{<<#1>>} +\end{ltxexample} +Custom styles may follow a different approach, but style authors are encouraged to apply the same general ideas to their styles. \cmditem{mkpageprefix}[pagination][postpro]{text} @@ -9941,7 +10174,7 @@ The pagination strings are taken from \texttt{$<$pagination$>$total} and \texttt 1111--1115 & 1111--5 & 1111--5 & 1111--5 \\ \cmidrule{2-4} & \multicolumn{1}{@{}H}{\ttfamily maxcomprange=1000} -& \multicolumn{1}{@{}H}{\ttfamily maxcomprange=100} +& \multicolumn{1}{@{}H}{\ttfamily maxcomprange=100} & \multicolumn{1}{@{}H}{\ttfamily maxcomprange=10} \\ \cmidrule(r){2-2}\cmidrule(r){3-3}\cmidrule{4-4} 1111--1115 & 1111--5 & 1111--5 & 1111--5 \\ @@ -9949,7 +10182,7 @@ The pagination strings are taken from \texttt{$<$pagination$>$total} and \texttt 1111--1555 & 1111--555 & 1111--1555 & 1111--1555 \\ \cmidrule{2-4} & \multicolumn{1}{@{}H}{\ttfamily mincompwidth=1} -& \multicolumn{1}{@{}H}{\ttfamily mincompwidth=10} +& \multicolumn{1}{@{}H}{\ttfamily mincompwidth=10} & \multicolumn{1}{@{}H}{\ttfamily mincompwidth=100} \\ \cmidrule(r){2-2}\cmidrule(r){3-3}\cmidrule{4-4} 1111--1115 & 1111--5 & 1111--15 & 1111--115 \\ @@ -10411,7 +10644,7 @@ Localization strings are key terms such as <edition> or <volume> which are autom \cmditem{bibstring}[wrapper]{key} -Prints the localisation string \prm{key}, where \prm{key} is an identifier in lowercase letters (see \secref{aut:lng:key}). The string will be capitalized as required, see \secref{aut:pct:cfg} for details. +Prints the localisation string \prm{key}, where \prm{key} is an identifier in lowercase letters (see \secref{aut:lng:key}). The string will be capitalized as required, see \secref{aut:pct:cfg} for details. Depending on the \opt{abbreviate} package option from \secref{use:opt:pre:gen}, \cmd{bibstring} prints the short or the long version of the string. If localisation strings are nested, \ie if \cmd{bibstring} is used in another string, it will behave like \cmd{bibxstring}. If the \prm{wrapper} argument is given, the string is passed to the \prm{wrapper} for formatting. This is intended for font commands such as \cmd{emph}. @@ -11067,6 +11300,7 @@ Other expressions frequently used in citations: \item[langfrench] The language <French>. \item[langgerman] The language <German>. \item[langgreek] The language <Greek>. +\item[langhungarian] The language <Hungarian>. \item[langitalian] The language <Italian>. \item[langjapanese] The language <Japanese>. \item[langlatin] The language <Latin>. @@ -11099,6 +11333,7 @@ The following strings are intended for use in phrases like <translated from [the \item[fromfrench] The expression <from [the] French>. \item[fromgerman] The expression <from [the] German>. \item[fromgreek] The expression <from [the] Greek>. +\item[fromhungarian] The language <from [the] Hungarian>. \item[fromitalian] The expression <from [the] Italian>. \item[fromjapanese] The expression <from [the] Japanese>. \item[fromlatin] The expression <from [the] Latin>. @@ -11254,8 +11489,8 @@ The punctuation to be printed between the given and family name parts when a nam \csitem{bibnamedash} The dash to be used as a replacement for recurrent authors or editors in the bibliography. The default is an <em> or an <en> dash, depending on the indentation of the list of references. -\csitem{labelnamepunct} -The separator to be printed after the name used for alphabetizing in the bibliography (\bibfield{author} or \bibfield{editor}, if the \bibfield{author} field is undefined). Use this separator instead of \cmd{newunitpunct} at this location. The default is \cmd{newunitpunct}, \ie it is not handled differently from regular unit punctuation but permits convenient reconfiguration. See also \cmd{nametitledelim} \secref{use:fmt:csd}. +\csitem{labelnamepunct}\DeprecatedMark +A separator to be printed after the name used for alphabetizing in the bibliography (\bibfield{author} or \bibfield{editor}, if the \bibfield{author} field is undefined) instead of \cmd{newunitpunct}. The default is \cmd{newunitpunct}, \ie it is not handled differently from regular unit punctuation but permits convenient reconfiguration. This punctuation command is deprecated and has been superseded by the context-sensitive \cmd{nametitledelim} (see \secref{use:fmt:csd}). For backwards compatibility reasons, however, \cmd{nametitledelim} still defaults to \cmd{labelnamepunct} in the \texttt{bib} and \texttt{biblist} contexts. Style authors may want to consider replacing \cmd{labelnampunct} with \texttt{\textbackslash printdelim\{nametitledelim\}} and users may want to prefer modifying the context-sensitive \texttt{nametitledelim} with \cmd{DeclareDelimFormat} over redefining \cmd{labelnamepunct}. \csitem{subtitlepunct} The separator to be printed between the fields \bibfield{title} and \bibfield{subtitle}, \bibfield{booktitle} and \bibfield{booksubtitle}, as well as \bibfield{maintitle} and \bibfield{mainsubtitle}. Use this separator instead of \cmd{newunitpunct} at this location. The default is \cmd{newunitpunct}, \ie it is not handled differently from regular unit punctuation but permits convenient reconfiguration. @@ -11303,16 +11538,16 @@ Similar to \cmd{multicitedelim}, but intended for citation styles that <compress Similar to \cmd{multicitedelim}, but intended for \cmd{textcite} and related commands (\secref{use:cit:cbx}). \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. +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{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. +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{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{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. This is only used when there is no labelname since when the labelname exists, \cmd{nameyeardelim} is used. +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{authortypedelim} The delimiter printed between the author and the \texttt{authortype}. @@ -11330,7 +11565,7 @@ The delimiter to be printed between the volume portion and the page/text portion The delimiter to be printed after the \prm{prenote} argument of a citation command. \csitem{postnotedelim} -The delimiter to be printed after the \prm{postnote} argument of a citation command. +The delimiter to be printed before the \prm{postnote} argument of a citation command. \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. @@ -11600,27 +11835,27 @@ This command takes a season localisation string and prints the version of the st \cmditem{mkyearzeros}{integer} -This command strips leading zeros from a year or enforces them, depending on the \opt{datezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of date formatting macros. +This command strips leading zeros from a year or enforces them, depending on the \opt{datezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of date formatting macros. If zeros are enforced, this command calls \cmd{forcezerosy} and thus expands its argument with \cmd{protected@edef}. \cmditem{mkmonthzeros}{integer} -This command strips leading zeros from a month or enforces them, depending on the \opt{datezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of date formatting macros. +This command strips leading zeros from a month or enforces them, depending on the \opt{datezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of date formatting macros. If zeros are enforced, this command calls \cmd{forcezerosmdt} and thus expands its argument with \cmd{protected@edef}. \cmditem{mkdayzeros}{integer} -This command strips leading zeros from a day or enforces them, depending on the \opt{datezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of date formatting macros. +This command strips leading zeros from a day or enforces them, depending on the \opt{datezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of date formatting macros. If zeros are enforced, this command calls \cmd{forcezerosmdt} and thus expands its argument with \cmd{protected@edef}. \cmditem{mktimezeros}{integer} -This command strips leading zeros from a number or preserves them, depending on the \opt{timezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of time formatting macros. +This command strips leading zeros from a number or preserves them, depending on the \opt{timezeros} package option (\secref{use:opt:pre:gen}). It is intended for use in the definition of time formatting macros. If zeros are enforced, this command calls \cmd{forcezerosmdt} and thus expands its argument with \cmd{protected@edef}. \cmditem{forcezerosy}{integer} -This command adds zeros to a year (or any number supposed to be 4-digits). It is intended for date formatting and ordinals. +This command adds zeros to a year (or any number supposed to be 4-digits). It is intended for date formatting and ordinals. The argument is expanded with \cmd{protected@edef} before it is processed. \cmditem{forcezerosmdt}{integer} -This command adds zeros to a month, day or time part (or any number supposed to be 2-digits). It is intended for date/time formatting and ordinals. +This command adds zeros to a month, day or time part (or any number supposed to be 2-digits). It is intended for date/time formatting and ordinals. The argument is expanded with \cmd{protected@edef} before it is processed. \cmditem{stripzeros}{integer} @@ -11697,7 +11932,7 @@ For every field marked as a <label> field in the data model, a length register i \lenitem{labelnumberwidth} -This length register indicates the width of the widest \bibfield{labelnumber}. Numeric bibliography styles +This length register indicates the width of the widest \bibfield{labelnumber}. Numeric bibliography styles should incorporate this length in the definition of the bibliography environment. \lenitem{labelalphawidth} @@ -11712,6 +11947,18 @@ This counter holds the highest number found in any \bibfield{extraalpha} field. This counter holds the highest number found in any \bibfield{extradate} field. +\cntitem{maxextraname} + +This counter holds the highest number found in any \bibfield{extraname} field. + +\cntitem{maxextratitle} + +This counter holds the highest number found in any \bibfield{extratitle} field. + +\cntitem{maxextratitleyear} + +This counter holds the highest number found in any \bibfield{extratitleyear} field. + \cntitem{refsection} This counter indicates the current \env{refsection} environment. When queried in a bibliography heading, the counter returns the value of the \opt{refsection} option passed to \cmd{printbibliography}. @@ -12376,11 +12623,11 @@ When defining \cmd{bbx@xref}, the \prm{precode}, \prm{postcode}, and \prm{sepcod There is one fundamental principle style authors should keep in mind when designing a bibliography driver: block and unit punctuation is handled asynchronously. This is best explained by way of example. Consider the following code snippet: \begin{ltxexample} -\printfield{title}% -\newunit +\printfield{title}% +\newunit \printfield{edition}% -\newunit -\printfield{note}% +\newunit +\printfield{note}% \end{ltxexample} % If there is no \bibfield{edition} field, this piece of code will not print: @@ -12410,11 +12657,11 @@ because the unit punctuation tracker works asynchronously. \cmd{newunit} will no Block and unit punctuation will only be inserted if \emph{all} of these conditions apply. Let's reconsider the above example: \begin{ltxexample} -\printfield{title}% -\newunit +\printfield{title}% +\newunit \printfield{edition}% -\newunit -\printfield{note}% +\newunit +\printfield{note}% \end{ltxexample} % Here's what happens if the \bibfield{edition} field is undefined. The first \cmd{printfield} command prints the title and sets an internal <new~text> flag. The first \cmd{newunit} sets an internal <new~unit> flag. No punctuation has been printed at this point. The second \cmd{printfield} does nothing because the \bibfield{edition} field is undefined. The next \cmd{newunit} command sets the internal flag <new unit> again. Still no punctuation has been printed. The third \cmd{printfield} checks if the \bibfield{note} field is defined. If so, it looks at the <new~text> and <new~unit> flags. If both are set, it inserts the punctuation buffer before printing the note. It then clears the <new~unit> flag and sets the <new~text> flag again. @@ -12443,8 +12690,8 @@ This may all sound more complicated than it is. In practice, it means that it is It is a fairly common misconception to think of the unit punctuation as something that is handled synchronously. This typically causes problems if the driver includes any literal text. Consider this erroneous code snippet which will generate misplaced unit punctuation: \begin{ltxexample} -\printfield{title}% -\newunit +\printfield{title}% +\newunit <<(>>\printfield{series} \printfield{number}<<)>>% \end{ltxexample} % @@ -12920,11 +13167,11 @@ The schema model, type and schema type namespace are given in the following line \begin{lstlisting}[language=xml] <?xml-model href="biblatexml.rng" - type="application/xml" + type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?> \end{lstlisting} % -When \biber\ generates \biblatexml\ data sources, it automatically adds this line and points the schema model (href) attribute at the automatically generated RelaXNG XML schema for ease of validation. +When \biber\ generates \biblatexml\ data sources, it automatically adds this line and points the schema model (href) attribute at the automatically generated RelaXNG XML schema for ease of validation. \subsection{Body} @@ -12950,7 +13197,7 @@ The body is one or more \bibfield{entry} elements inside the top-level \bibfield \begin{lstlisting}[language=xml] <?xml version="1.0" encoding="UTF-8"?> <?xml-model href="biblatexml.rng" - type="application/xml" + type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?> <bltx:entries xmlns:bltx="http://biblatex-biber.sourceforge.net/biblatexml"> @@ -13033,7 +13280,7 @@ A name list field is contained in the \bibfield{names} element with the mandator \begin{itemize} \item The optional \bibfield{morenames} attribute performs the same task as the \bibtex\ datasource format <and others> string at the end of a name. - \item Note that optional \opt{useprefix} option can be specified can be specified at the level of a name list or an individual name in the name list. This is impossible with \bibtex\ datasources. + \item Note that optional \opt{useprefix} option can be specified at the level of a name list or an individual name in the name list. This is impossible with \bibtex\ datasources. \item Individual names may have an optional \bibfield{gender} attribute which must be one of those defined in the datamodel <gender> constant list. This is currently not used by standard styles but is available in \biblatex name formats if necessary. \item A name list is composed of one or more \bibfield{name} elements. \item Each name is composed of name parts of a \bibfield{type} defined by the data model <nameparts> constant. @@ -13095,7 +13342,7 @@ Related entries are specified as follows: \begin{lstlisting}[language=xml] <bltx:related> <bltx:item type="reprint" - ids="rel1,rel2" + ids="rel1,rel2" string="Somestring" options="skipbiblist"/> </bltx:related> @@ -13112,7 +13359,7 @@ This corresponds to the \bibtex\ format: } \end{lstlisting} % -As per \secref{aut:ctm:rel}, the \bibfield{string} and \bibfield{options} attributes are optional. +As per \secref{aut:ctm:rel}, the \bibfield{string} and \bibfield{options} attributes are optional. \section{Option Scope} \label{apx:opt} @@ -13155,7 +13402,7 @@ Per-name: V{0.3\textwidth}@{}% C{0.1\textwidth}@{}% C{0.1\textwidth}@{}% - C{0.1\textwidth}@{}% + C{0.1\textwidth}@{}% C{0.1\textwidth}@{}% C{0.1\textwidth}@{}% C{0.1\textwidth}@{}% @@ -13237,6 +13484,7 @@ loccittracker &\+&\+&\_&\_&\_&\_&\_\\ maxalphanames &\+&\+&\_&\+&\+&\_&\_\\ maxbibnames &\+&\+&\_&\+&\+&\_&\_\\ maxcitenames &\+&\+&\_&\+&\+&\_&\_\\ +maxsortnames &\+&\+&\_&\+&\+&\_&\_\\ maxitems &\+&\+&\_&\+&\+&\_&\_\\ maxnames &\+&\+&\_&\+&\+&\_&\_\\ maxparens &\+&\+&\_&\_&\_&\_&\_\\ @@ -13244,6 +13492,7 @@ mcite &\+&\_&\_&\_&\_&\_&\_\\ minalphanames &\+&\+&\_&\+&\+&\_&\_\\ minbibnames &\+&\+&\_&\+&\+&\_&\_\\ mincitenames &\+&\+&\_&\+&\+&\_&\_\\ +minsortnames &\+&\+&\_&\+&\+&\_&\_\\ mincrossrefs &\+&\+&\_&\_&\_&\_&\_\\ minxrefs &\+&\+&\_&\_&\_&\_&\_\\ minitems &\+&\+&\_&\+&\+&\_&\_\\ @@ -13296,6 +13545,26 @@ 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.12}{2018-10-30} +\item Added literal and named annotation functionality\see{use:annote} +\item Added \cmd{ifnocite}\see{aut:aux:tst} +\item Added case-insensitive versions of matching operators\see{aut:ctm:map} +\item Added \bibfield{langid}s optional argument to \cmd{DeclareSortTranslit}\see{aut:ctm:srt} +\item Added \opt{noroman} option\see{use:opt:pre:int} +\item Changed \bibfield{sortyear} to an integer field\see{bib:fld:spc} +\item Added \bibfield{extraname}\see{aut:bbx:fld:lab} +\item Added \opt{bibencoding} option to \cmd{addbibresource}\see{use:bib:res} +\item Changed type of \bibfield{number} from integer to literal \see{bib:fld:dat} +\item Removed \opt{noerroretextools} option\see{int:pre:inc} +\item Added \opt{maxsortnames} and \opt{minsortnames}\see{use:opt:pre:gen} +\item Added \cmd{DeprecateFieldFormatWithReplacement} and friends\see{aut:bib:fmt} +\item Added list and name wrappers\see{aut:bib:fmt} +\item Added \cs{ifdateyearsequal}\see{aut:aux:tst} +\item Added <and higher> sectioning values for \opt{citereset}, \opt{refsection} and \opt{refsegment} options\see{use:opt:pre:gen} +\item Added Hungarian localisation\see{use:loc:hun} +\item Added \cmd{DeclareCitePunctuationPosition}\see{aut:cbx:cbx} +\end{release} + \begin{release}{3.11}{2018-02-20} \item Added \opt{entrynocite} option to sourcemapping\see{aut:ctm:map} \item Added \opt{driver} and \opt{biblistfilter} options to \cmd{printbiblist}\see{use:bib:biblist} 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 Binary files differindex 591592b1777..a8e42af8cad 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf 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 Binary files differindex 06e22e302df..23593306a7d 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf 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 Binary files differindex 43c034adbeb..0b8d9e5b243 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf 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 Binary files differindex 1020bcbde88..6e8b9c83eb2 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf 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 Binary files differindex bd378c1075d..c1180059840 100644 --- 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 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 Binary files differindex ebad6e685fc..394138fbb7e 100644 --- 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 diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex index 0c333ab294f..1bfe7767d30 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex @@ -18,13 +18,17 @@ %\usepackage[estonian]{babel} %\usepackage[finnish]{babel} %\usepackage[french]{babel} +%\usepackage[galician]{babel} %\usepackage[german]{babel} %\usepackage[icelandic]{babel} %\usepackage[italian]{babel} +%\usepackage[latvian]{babel} +%\usepackage[magyar]{babel} %\usepackage[norsk]{babel} %\usepackage[nynorsk]{babel} %\usepackage[polish]{babel} %\usepackage[portuguese]{babel} +%\usepackage[slovak]{babel} %\usepackage[slovene]{babel} %\usepackage[spanish]{babel} %\usepackage[swedish]{babel} @@ -32,7 +36,9 @@ % -- Russian %\usepackage[T1,T2A]{fontenc} %\usepackage[utf8]{inputenc} +%\usepackage[bulgarian]{babel} %\usepackage[russian]{babel} +%\usepackage[ukrainian]{babel} % -- Greek %\usepackage[T1]{fontenc} %\usepackage[utf8]{inputenx} @@ -589,6 +595,7 @@ Other expressions frequently used in citations: \keyitem{langfrench} The language <French>. \keyitem{langgerman} The language <German>. \keyitem{langgreek} The language <Greek>. +\keyitem{langhungarian} The language <Hungarian>. \keyitem{langitalian} The language <Italian>. \keyitem{langjapanese} The language <Japanese>. \keyitem{langlatin} The language <Latin>. @@ -621,6 +628,7 @@ The following strings are intended for use in phrases like <translated from [the \keyitem{fromfrench} The expression <from [the] French>. \keyitem{fromgerman} The expression <from [the] German>. \keyitem{fromgreek} The expression <from [the] Greek>. +\keyitem{fromhungarian} The language <from [the] Hungarian>. \keyitem{fromitalian} The expression <from [the] Italian>. \keyitem{fromjapanese} The expression <from [the] Japanese>. \keyitem{fromlatin} The expression <from [the] Latin>. 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 Binary files differindex 009644e8b1a..39f877a642a 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf 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 Binary files differindex 7420d47d77b..5cd57a606e4 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf 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 Binary files differindex f266a2a215f..6cdd4528138 100644 --- 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 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 Binary files differindex e09d4da95b4..b488e2a7788 100644 --- 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 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 Binary files differindex 3f4c6bb497d..4381b89479b 100644 --- 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 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 Binary files differindex 0776808d419..64deafadf8d 100644 --- 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 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 Binary files differindex a9fcc7d8ffe..028fbb0bd68 100644 --- 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 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 Binary files differindex feab831777e..1902f64abb8 100644 --- 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 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 Binary files differindex b6e947eed18..4350066fd54 100644 --- 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 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 Binary files differindex 4cba58539de..3a0f7b6804d 100644 --- 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 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 Binary files differindex 4c167a5ab75..58fd4027037 100644 --- 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 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 Binary files differindex 426841e23f9..72baa318407 100644 --- 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 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 Binary files differindex 765d5632c6b..6e5cfd76510 100644 --- 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 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 Binary files differindex 709b2564f0a..cfbf2d0b33f 100644 --- 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 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 Binary files differindex dc058a418ee..489d51a65df 100644 --- 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 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 Binary files differindex 34a7738b25a..e23dfa83c58 100644 --- 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 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 Binary files differindex cb527be0269..2e2af865075 100644 --- 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 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 Binary files differindex a20e6a13377..f130843f25c 100644 --- 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 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 Binary files differindex ad25439b871..91219b0c483 100644 --- 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 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 Binary files differindex b7e6a21e104..ba863cf3e87 100644 --- 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 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 Binary files differindex db581b88b6d..a78e01ebf7c 100644 --- 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 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 Binary files differindex 6feb9973ccd..44ee868ad44 100644 --- 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 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 Binary files differindex e9a7001dc4c..102e101c626 100644 --- 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 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 Binary files differindex 194da7965af..86a9a01f2f7 100644 --- 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 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 Binary files differindex 1287ddecfe8..1b75882092a 100644 --- 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 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 Binary files differindex 1bc100c4c7c..76c4629cf5f 100644 --- 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 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 Binary files differindex a6158c1e16a..2fca09fe1f5 100644 --- 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 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 Binary files differindex 7374ee230f9..e33f11d5761 100644 --- 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 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 Binary files differindex beabcd08449..1d8f862bede 100644 --- 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 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 Binary files differindex 775c2bfbcbf..e1454f94097 100644 --- 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 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 Binary files differindex 34d9e1912f3..32a7253904e 100644 --- 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 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 Binary files differindex 0b761bda6fc..eda1fe8b788 100644 --- 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 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 Binary files differindex e7a429f9564..2e31a5a7df2 100644 --- 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 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 Binary files differindex ae60caeddd3..03995f878e8 100644 --- 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 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 Binary files differindex 38d744c94f8..a7278e9795e 100644 --- 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 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 Binary files differindex c16c6bbd336..d7862fcf138 100644 --- 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 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 Binary files differindex cfc4f959e7b..21fe26e83c9 100644 --- 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 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 Binary files differindex b81e0477da4..6677ccaceea 100644 --- 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 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 Binary files differindex 50fddf75e6e..61f5cbc2342 100644 --- 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 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 Binary files differindex c1edb35156d..f3465736768 100644 --- 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 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 Binary files differindex 0a5d1660d3f..8b3b66f784c 100644 --- 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 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 Binary files differindex 5f1f33dc353..a967083387b 100644 --- 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 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 Binary files differindex 1b90217ecb2..4603a38e1b6 100644 --- 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 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 Binary files differindex 072c1a47694..b10f7a3b53d 100644 --- 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 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 Binary files differindex 5b3827f0b1d..98137462dbd 100644 --- 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 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 Binary files differindex 14041c0bc52..4cdb2edc2bc 100644 --- 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 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 Binary files differindex b915248a771..7295bff5647 100644 --- 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 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 Binary files differindex 6a1f2091ace..1692cf58ab7 100644 --- 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 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 Binary files differindex 0f074552574..0251a4125b5 100644 --- 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 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 Binary files differindex f8e8e6fe8e2..b810d56309d 100644 --- 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 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 Binary files differindex d34036245c8..7859625b216 100644 --- 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 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 Binary files differindex 35c322c255e..7a80ce53c8e 100644 --- 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 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 Binary files differindex 7ffb0391d7d..ee571361d47 100644 --- 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 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 Binary files differindex 20719bbdcc5..c04c5aa5e34 100644 --- 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 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 Binary files differindex f2846063034..3a03c7894d8 100644 --- 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 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 Binary files differindex 8c923c6257b..f61b49b8d68 100644 --- 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 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 Binary files differindex f0709372ae0..e65265b1e19 100644 --- 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 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 Binary files differindex 6a03f3bdac6..bb3b0c52caf 100644 --- 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 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 Binary files differindex 573355f1246..cea7f8fc0f4 100644 --- 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 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 Binary files differindex 09f91ed392c..276292fc83c 100644 --- 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 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 Binary files differindex 314ecfce11d..497c4a958de 100644 --- 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 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 Binary files differindex 06f75d90af4..13d4fa6b31c 100644 --- 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 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 Binary files differindex 2bc511c9011..5e1d863ce12 100644 --- 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 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 Binary files differindex 84bf7feb208..37600781bd9 100644 --- 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 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 Binary files differindex f9641e70aee..602f546509c 100644 --- 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 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 Binary files differindex 3cf2dac572d..276d137a77b 100644 --- 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 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 Binary files differindex 1e5ccdf62ae..0011759eb47 100644 --- 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 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 Binary files differindex 80fa59b8528..fa6cfec8aaa 100644 --- 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 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 Binary files differindex feffe04d7c1..0785f2b1ca1 100644 --- 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 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 Binary files differindex d3b12b4ed11..188fea826bc 100644 --- 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 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 Binary files differindex fff9c7c6685..d1a2038f488 100644 --- 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 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 Binary files differindex 411366b66e8..5a909bf48e5 100644 --- 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 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 Binary files differindex dd268fb47cc..d2f01dc4adb 100644 --- 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 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 Binary files differindex e214b5d9157..e5f38b13b2f 100644 --- 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 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 Binary files differindex 88770a68442..3c4b1af8124 100644 --- 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 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 Binary files differindex 6db48917d0c..3c1c9364c27 100644 --- 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 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 Binary files differindex 5bc8a2ec685..9f21e9e53aa 100644 --- 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 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 Binary files differindex 5c7da442ea1..568958fc685 100644 --- 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 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 Binary files differindex b93f3a04b11..5267329b449 100644 --- 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 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 Binary files differindex 00fc5dbe84f..0e39c71e2d6 100644 --- 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 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 Binary files differindex 57a7459b1b5..b94d6ae13ed 100644 --- 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 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 Binary files differindex 1005d800ec4..4559e32ac82 100644 --- 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 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 Binary files differindex da37d9070b4..2f3b4b29098 100644 --- 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 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 Binary files differindex 52503f16566..fc06867653a 100644 --- 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 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 Binary files differindex 917ebc45522..2103192c23b 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf 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 Binary files differindex e63f13168e1..bd820d4c6aa 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts.tex b/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts.tex index b5e3d6fc7dc..71b6a5b2196 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts.tex @@ -123,7 +123,7 @@ % Use transliteration to sort Cyrillic among Latin script \DeclareSortTranslit{ - \translit{russian}{bgn/pcgn-standard} + \translit[russian]{*}{russian}{bgn/pcgn-standard} } \makeatletter 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 Binary files differindex f729fbad7eb..bee1d9e8f5d 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix.tex b/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix.tex index 666c5f5f512..e8f025078cb 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix.tex @@ -27,25 +27,26 @@ the last bibliography in which it appears. This can be overridden by explicit assignment to particular refcontexts with the \cmd{assignrefcontext*} macros.\\ -% refcontext=none/global// +% refcontext=none/global//global/global This is a publication by Aristotle: -\cite{aristotle:anima} % comes from refcontext=none/global/R +\cite{aristotle:anima} % comes from refcontext=none/global/R/global/global These are not publications by Aristotle: -\cite{yoon} % comes from default refcontext=none/global/Q due to \assignrefcontextentries -\cite{worman} % comes from default refcontext=nty/global// and not from - % nty/global/T in next refsection even though that is the +\cite{yoon} % comes from default refcontext=none/global/Q/global/global due + % to \assignrefcontextentries +\cite{worman} % comes from default refcontext=nty/global//global/global and not from + % nty/global/T/global/global in next refsection even though that is the % last printed bib/biblist with worman in it. This is because % refcontext defaults are local to refcontexts -\cite{piccato} % comes from refcontext=none/global/Q due to \assignrefcontextcats -\cite{nussbaum} % comes from refcontext=none/global/S due to \assignrefcontextkeyws* +\cite{piccato} % comes from refcontext=none/global/Q/global/global due to \assignrefcontextcats +\cite{nussbaum} % comes from refcontext=none/global/S/global/global due to \assignrefcontextkeyws* This is another publication by Aristotle: -\cite{aristotle:physics} % comes from refcontext=none/global/R +\cite{aristotle:physics} % comes from refcontext=none/global/R/global/global \begin{refcontext}{rcone} -% refcontext=none/global/R +% refcontext=none/global/R/global/global \printbibliography[keyword=primary, title={Aristotle Publications}] % aristotle:anima and aristotle:physics default refcontext is this one \end{refcontext} @@ -54,30 +55,30 @@ This is another publication by Aristotle: % Note here that the optional argument to \newrefcontext overrides the % value set with the named refcontext \newrefcontext[labelprefix=S]{rctwo} -% refcontext=none/global/S +% refcontext=none/global/S/global/global \printbibliography[notkeyword=primary, title={Other publications}] \endrefcontext \begin{refcontext}[labelprefix=Q] -% refcontext=none/global/Q +% refcontext=none/global/Q/global/global \printbibliography[filter=cats, title={Other publications}] \end{refcontext} \begin{refcontext}[sorting=nty] -% refcontext=nty/global// +% refcontext=nty/global//global/global \printbibliography[resetnumbers, notkeyword=primary, title={More Other publications}] % Nussbaum default refcontext is this one % piccato default refcontext is this one % yoon default refcontext is this one % worman default refcontext is this one -\cite{nussbaum} % comes from refcontext=nty/global// due to weak \assignrefcontextkeyws* +\cite{nussbaum} % comes from refcontext=nty/global//global/global due to weak \assignrefcontextkeyws* \end{refcontext} \section*{New Refsection} \newrefsection -\cite{worman} % comes from default refcontext=nty/global/T +\cite{worman} % comes from default refcontext=nty/global/T/global/global \begin{refcontext}[labelprefix=T]{rcone} -% refcontext=nty/global// +% refcontext=nty/global//global/global \printbibliography[resetnumbers, notkeyword=primary, title={More Other publications}] \end{refcontext} 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 Binary files differindex 5cf66808068..0e25bbef5d7 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf 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 Binary files differindex 5815c2f2253..8d87ce11a99 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf 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 Binary files differnew file mode 100644 index 00000000000..e4e570f5aac --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations-biber.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations.bib b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations.bib new file mode 100644 index 00000000000..0738b2fe2f0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations.bib @@ -0,0 +1,12 @@ +%% LaTeX2e file `97-annotations.bib' +%% generated by the `filecontents' environment +%% from source `97-annotations' on 2018/10/04. +%% +@MISC{ann1, + AUTHOR = {Last1, First1 and Last2, First2 and Last3, First3}, + AUTHOR+an = {1:family=student;2=corresponding}, + TITLE = {The Title}, + TITLE+an:default = {=titleannotation}, + TITLE+an:french = {="Le titre"}, + TITLE+an:german = {="Der Titel"} +} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations.tex b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations.tex new file mode 100644 index 00000000000..03be50f142c --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/97-annotations.tex @@ -0,0 +1,53 @@ +% +% This file demonstrates the data annotation feature +% +\documentclass[a4paper]{article} +\usepackage{fontspec} +\usepackage[american]{babel} +\usepackage{csquotes} +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} +@MISC{ann1, + AUTHOR = {Last1, First1 and Last2, First2 and Last3, First3}, + AUTHOR+an = {1:family=student;2=corresponding}, + TITLE = {The Title}, + TITLE+an:default = {=titleannotation}, + TITLE+an:french = {="Le titre"}, + TITLE+an:german = {="Der Titel"} +} +\end{filecontents} +\usepackage[backend=biber]{biblatex} +\addbibresource{\jobname.bib} + +\renewcommand*{\mkbibnamefamily}[1]{% + \ifitemannotation{corresponding} + {\textbf{#1}} + {#1}% + \ifpartannotation{family}{student} + {\textsuperscript{*}} + {}} + +% Default for numeric style so we are overriding the active format for titles +\DeclareFieldFormat{titlecase}{ + \iffieldannotation{titleannotation}{\textsc{#1}}{#1}% + \hasfieldannotation[][french]{\mkbibparens{\getfieldannotation[][french]}}{}% + \hasfieldannotation[][german]{\mkbibparens{\getfieldannotation[][german]}}{}} + +\begin{document} +The annotation feature allows the user to attache metadata, either in the +form of strings to be tested for in formatting commands, or in the form of +strings to be printed as-is. This example demonstrates all aspects of the +annotation feature: + +\begin{itemize} +\item Metadata attaching to fields, items in a list or parts of an item in + a list (e.g. name parts) +\item Literal annotations where the annotation is a string to be printed + rather than used as a metadata test for other formatting. +\item Multiple named annotations for the same data field. +\item The ``default'' name for annotations with no explicit name. +\end{itemize} + +\cite{ann1} +\printbibliography +\end{document} 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 36ac849dd2f..6730a9ded77 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib +++ b/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib @@ -417,7 +417,7 @@ \texttt{editor} as well as a \texttt{series} field}, } -@book{aristotle:rhetoric, +@mvbook{aristotle:rhetoric, author = {Aristotle}, title = {The Rhetoric of {Aristotle} with a commentary by the late {Edward Meredith Cope}}, @@ -666,7 +666,7 @@ fields}, } -@book{knuth:ct, +@mvbook{knuth:ct, author = {Knuth, Donald E.}, title = {Computers \& Typesetting}, date = {1984/1986}, @@ -675,16 +675,15 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1984-0}, sorttitle = {Computers & Typesetting}, indexsorttitle= {Computers & Typesetting}, - annotation = {A five-volume book cited as a whole. This is a \texttt{book} + annotation = {A five-volume book cited as a whole. This is a \texttt{mvbook} entry, note the \texttt{volumes} field}, } @book{knuth:ct:a, author = {Knuth, Donald E.}, - title = {The {\TeX} book}, + title = {The {\TeX book}}, date = 1984, maintitle = {Computers \& Typesetting}, volume = {A}, @@ -692,13 +691,12 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1984-1}, sorttitle = {Computers & Typesetting A}, indexsorttitle= {The TeXbook}, indextitle = {\protect\TeX book, The}, shorttitle = {\TeX book}, annotation = {The first volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields. We want this + \texttt{sorttitle} field. We want this volume to be listed after the entry referring to the entire five-volume set. Also note the \texttt{indextitle} and \texttt{indexsorttitle} fields. Indexing packages that don't @@ -708,7 +706,7 @@ @book{knuth:ct:b, author = {Knuth, Donald E.}, - title = {\TeX: The Program}, + title = {{\TeX}: The Program}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {B}, @@ -716,12 +714,11 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-1}, sorttitle = {Computers & Typesetting B}, indexsorttitle= {TeX: The Program}, shorttitle = {\TeX}, annotation = {The second volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields. Also note the + \texttt{sorttitle} field. Also note the \texttt{indexsorttitle} field}, } @@ -735,18 +732,17 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-2}, sorttitle = {Computers & Typesetting C}, indextitle = {METAFONTbook, The}, shorttitle = {METAFONTbook}, annotation = {The third volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields as well as the + \texttt{sorttitle} field as well as the \texttt{indextitle} field}, } @book{knuth:ct:d, author = {Knuth, Donald E.}, - title = {METAFONT: The Program}, + title = {{METAFONT}: The Program}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {D}, @@ -754,11 +750,10 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-3}, sorttitle = {Computers & Typesetting D}, shorttitle = {METAFONT}, annotation = {The fourth volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields}, + \texttt{sorttitle} field}, } @book{knuth:ct:e, @@ -771,13 +766,12 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1986-4}, sorttitle = {Computers & Typesetting E}, annotation = {The fifth volume of a five-volume book. Note the - \texttt{sorttitle} and \texttt{sortyear} fields}, + \texttt{sorttitle} field}, } -@book{knuth:ct:related, +@mvbook{knuth:ct:related, author = {Knuth, Donald E.}, title = {Computers \& Typesetting}, date = {1984/1986}, @@ -786,7 +780,6 @@ location = {Reading, Mass.}, langid = {english}, langidopts = {variant=american}, - sortyear = {1984-0}, sorttitle = {Computers & Typesetting}, indexsorttitle= {Computers & Typesetting}, related = {knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,knuth:ct:e}, @@ -909,7 +902,7 @@ \texttt{relatedtype} fields}, } -@book{nietzsche:ksa, +@mvbook{nietzsche:ksa, author = {Nietzsche, Friedrich}, title = {S{\"a}mtliche Werke}, date = 1988, @@ -919,16 +912,15 @@ publisher = dtv # { and Walter de Gruyter}, location = {M{\"u}nchen and Berlin and New York}, langid = {german}, - sortyear = {1988-0}, sorttitle = {Werke-00-000}, indexsorttitle= {Samtliche Werke}, subtitle = {Kritische Studienausgabe}, annotation = {The critical edition of Nietzsche's works. This is a - \texttt{book} entry referring to a 15-volume work as a + \texttt{mvbook} entry referring to a 15-volume work as a whole. Note the \texttt{volumes} field and the format of the \texttt{publisher} and \texttt{location} fields in the database file. Also note the \texttt{sorttitle} and - \texttt{sortyear} fields which are used to fine-tune the + field which is used to fine-tune the sorting order of the bibliography. We want this item listed first in the bibliography}, } @@ -946,7 +938,6 @@ publisher = dtv # { and Walter de Gruyter}, location = {M{\"u}nchen and Berlin and New York}, langid = {german}, - sortyear = {1988-1}, sorttitle = {Werke-01-000}, indexsorttitle= {Samtliche Werke I}, bookauthor = {Nietzsche, Friedrich}, @@ -955,8 +946,8 @@ 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} and \texttt{sortyear} - fields. We want this entry to be listed after the entry + fields. Also note the \texttt{sorttitle} + field. We want this entry to be listed after the entry referring to the entire edition}, } @@ -1061,7 +1052,7 @@ the \texttt{related} and \texttt{relatedtype} fields}, } -@book{vazques-de-parga, +@mvbook{vazques-de-parga, author = {V{\'a}zques{ de }Parga, Luis and Lacarra, Jos{\'e} Mar{\'i}a and Ur{\'i}a R{\'i}u, Juan}, title = {Las Peregrinaciones a Santiago de Compostela}, @@ -1074,7 +1065,7 @@ sorttitle = {Peregrinaciones a Santiago de Compostela}, indextitle = {Peregrinaciones a Santiago de Compostela, Las}, shorttitle = {Peregrinaciones}, - annotation = {A multivolume book cited as a whole. This is a \texttt{book} + annotation = {A multivolume book cited as a whole. This is a \texttt{mvbook} entry with \texttt{volumes}, \texttt{note}, \texttt{sorttitle}, and \texttt{indextitle} fields}, } @@ -1108,7 +1099,7 @@ \texttt{indextitle} fields}, } -@collection{britannica, +@mvcollection{britannica, editor = {Preece, Warren E.}, title = {The {New Encyclop{\ae}dia Britannica}}, date = 2003, @@ -1123,7 +1114,7 @@ sorttitle = {Encyclop{\ae}dia Britannica}, indextitle = {{Encyclop{\ae}dia Britannica}, The {New}}, shorttitle = {{Encyclop{\ae}dia Britannica}}, - annotation = {This is a \texttt{collection} entry for an encyclopedia. Note + annotation = {This is a \texttt{mvcollection} entry for an encyclopedia. Note the \texttt{useeditor} option in the \texttt{options} field as well as the \texttt{sorttitle} field. We want this entry to be cited and alphabetized by title even though there is an @@ -1159,7 +1150,7 @@ pages = {1-23}, } -@collection{jaffe, +@mvcollection{jaffe, editor = {Jaff{\'e}, Philipp}, title = {Regesta Pontificum Romanorum ab condita ecclesia ad annum post Christum natum \textsc{mcxcviii}}, @@ -1173,7 +1164,7 @@ editoratype = {redactor}, indextitle = {Regesta Pontificum Romanorum}, shorttitle = {Regesta Pontificum Romanorum}, - annotation = {A \texttt{collection} entry with \texttt{edition} and + annotation = {A \texttt{mvcollection} entry with \texttt{edition} and \texttt{volumes} fields. Note the \texttt{editora} and \texttt{editoratype} fields}, } @@ -1252,7 +1243,6 @@ location = {M{\"u}nchen and Berlin and New York}, pages = {243-334}, langid = {german}, - sortyear = {1988-2}, sorttitle = {Werke-01-243}, indexsorttitle= {Vom Nutzen und Nachtheil der Historie fur das Leben}, indextitle = {Vom Nutzen und Nachtheil der Historie f{\"u}r das Leben}, @@ -1261,7 +1251,7 @@ This \texttt{inbook} entry explicitly refers to an essay found in the first volume. Note the \texttt{title}, \texttt{booktitle}, and \texttt{maintitle} fields. Also note - the \texttt{sorttitle} and \texttt{sortyear} fields. We want + the \texttt{sorttitle} field. We want this entry to be listed after the entry referring to the entire first volume}, } diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/authortitle.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/authortitle.bbx index cd89399bfaa..d378cd55c48 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/authortitle.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/authortitle.bbx @@ -17,6 +17,10 @@ \DeclareNameAlias{editor}{sortname} \DeclareNameAlias{translator}{sortname} +\DeclareNameWrapperAlias{author}{sortname} +\DeclareNameWrapperAlias{editor}{sortname} +\DeclareNameWrapperAlias{translator}{sortname} + \defbibenvironment{bibliography} {\list {} diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx index 0a2a8a741ef..b7f558329da 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx @@ -24,6 +24,13 @@ Using 'date+extradate' instead}% \usebibmacro{date+extradate}} +\newbibmacro*{bbx:ifmergeddate}{\@secondoftwo} + +\renewbibmacro*{date}{% + \usebibmacro{bbx:ifmergeddate} + {} + {\printdate}}% + \def\bbx@opt@mergedate@true{\bbx@opt@mergedate@compact} % merge date/issue with date label @@ -37,12 +44,9 @@ \setunit*{\addspace}% \printdateextra} {\printlabeldateextra}}}}% - \renewbibmacro*{date}{% - \iflabeldateisdate - {} - {\printdate}}% + \renewbibmacro*{bbx:ifmergeddate}{\iflabeldateisdate}% \renewbibmacro*{issue+date}{% - \iflabeldateisdate + \usebibmacro{bbx:ifmergeddate} {} {\printtext[parens]{% \printfield{issue}% @@ -58,20 +62,18 @@ \iflabeldateisdate {\printdateextra} {\printlabeldateextra}}}}% - \renewbibmacro*{date}{% - \iflabeldateisdate - {} - {\printdate}}% + \renewbibmacro*{bbx:ifmergeddate}{\iflabeldateisdate}% \renewbibmacro*{issue+date}{% - \ifboolexpr{not test {\iffieldundef{issue}} - or not test {\iflabeldateisdate}} + \ifboolexpr{test {\usebibmacro{bbx:ifmergeddate}} + and + test {\iffieldundef{issue}}} + {} {\printtext[parens]{% \printfield{issue}% \setunit*{\addspace}% - \iflabeldateisdate + \usebibmacro{bbx:ifmergeddate} {} - {\printdate}}} - {}% + {\printdate}}}% \newunit}} % merge year-only date with date label @@ -80,19 +82,16 @@ \iffieldundef{labelyear} {} {\printtext[parens]{\printlabeldateextra}}}% - \renewbibmacro*{date}{% + \renewbibmacro*{bbx:ifmergeddate}{% \ifboolexpr{ test {\iflabeldateisdate} and not test {\ifdateshavedifferentprecision{label}{}} - } - {} - {\printdate}}% + }% + }% \renewbibmacro*{issue+date}{% \ifboolexpr{ - test {\iflabeldateisdate} - and - not test {\ifdateshavedifferentprecision{label}{}} + test {\usebibmacro{bbx:ifmergeddate}} and test {\iffieldundef{issue}} } @@ -109,23 +108,18 @@ \iffieldundef{labelyear} {} {\printtext[parens]{\printlabeldateextra}}}% - \renewbibmacro*{date}{% + \renewbibmacro*{bbx:ifmergeddate}{% \ifboolexpr{ test {\iflabeldateisdate} and not test {\ifdateshavedifferentprecision{label}{}} and test {\iffieldundef{extradate}} - } - {} - {\printdate}}% + }% + }% \renewbibmacro*{issue+date}{% \ifboolexpr{ - test {\iflabeldateisdate} - and - not test {\ifdateshavedifferentprecision{label}{}} - and - test {\iffieldundef{extradate}} + test {\usebibmacro{bbx:ifmergeddate}} and test {\iffieldundef{issue}} } @@ -142,7 +136,7 @@ \iffieldundef{labelyear} {} {\printtext[parens]{\printlabeldateextra}}}% - \renewbibmacro*{date}{\printdate}% + \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}% \renewbibmacro*{issue+date}{% \printtext[parens]{% \printfield{issue}% @@ -159,6 +153,10 @@ \DeclareNameAlias{editor}{sortname} \DeclareNameAlias{translator}{sortname} +\DeclareNameWrapperAlias{author}{sortname} +\DeclareNameWrapperAlias{editor}{sortname} +\DeclareNameWrapperAlias{translator}{sortname} + \defbibenvironment{bibliography} {\list {} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def index ef48dc2d932..3cb0eaa94f9 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def @@ -545,7 +545,7 @@ % Generic formats for \printtext and \printfield \DeclareFieldFormat{emph}{\mkbibemph{#1}} -\DeclareFieldFormat{bold}{\textbf{#1}} +\DeclareFieldFormat{bold}{\mkbibbold{#1}} \DeclareFieldFormat{smallcaps}{\textsc{#1}} \DeclareFieldFormat{parens}{\mkbibparens{#1}} \DeclareFieldFormat{brackets}{\mkbibbrackets{#1}} @@ -562,6 +562,8 @@ % Formatting directives for literal lists % ------------------------------------------------------------------ +\DeclareListWrapperFormat{default}{#1} + % The fallback used by \printlist \DeclareListFormat{default}{% @@ -809,7 +811,8 @@ % Formatting directives for name lists % ------------------------------------------------------------------ -\DeclareNameAlias{first-last}{given-family}% legacy alias +\DeclareNameWrapperFormat{default}{#1} + \DeclareNameFormat{given-family}{% \ifgiveninits {\usebibmacro{name:given-family} @@ -824,7 +827,8 @@ {\namepartsuffix}}% \usebibmacro{name:andothers}} -\DeclareNameAlias{last-first}{family-given}% legacy alias +\DeprecateNameFormatWithReplacement{first-last}{given-family} + \DeclareNameFormat{family-given}{% \ifgiveninits {\usebibmacro{name:family-given} @@ -838,8 +842,10 @@ {\namepartprefix} {\namepartsuffix}}% \usebibmacro{name:andothers}} + +\DeprecateNameFormatWithReplacement{last-first}{family-given} + -\DeclareNameAlias{last-first/first-last}{family-given/given-family}% legacy alias \DeclareNameFormat{family-given/given-family}{% \ifnumequal{\value{listcount}}{1} {\ifgiveninits @@ -872,6 +878,8 @@ {\namepartsuffix}}}% \usebibmacro{name:andothers}} +\DeprecateNameFormatWithReplacement{last-first/first-last}{family-given/given-family} + \DeclareNameFormat{initsonly}{% \usebibmacro{name:given-family} {\namepartfamilyi} @@ -1091,6 +1099,8 @@ % The fallback used by \indexlist +\DeclareIndexListWrapperFormat{default}{#1} + \DeclareIndexListFormat{default}{\index{#1}} % ------------------------------------------------------------------ @@ -1102,6 +1112,8 @@ % The fallback used by \indexnames +\DeclareIndexNameWrapperFormat{default}{#1} + \DeclareIndexNameFormat{default}{% \usebibmacro{index:name} {\index} @@ -1756,7 +1768,7 @@ \defbibheading{none}{} \def\abx@MakeMarkcase{\MakeUppercase} -\AtEndPreamble{% +\AtBeginDocument{% \ifcsundef{MakeMarkcase}{}{\def\abx@MakeMarkcase{\MakeMarkcase}}} \ifcase\abx@classtype\relax % article @@ -2966,7 +2978,9 @@ \usebibmacro{publisher+location+date}% \newunit\newblock \usebibmacro{chapter+pages}} - {\printfield[title:hook]{journaltitle}% + {\renewbibmacro*{journal}{% + \printfield[title:hook]{journaltitle}}% + \usebibmacro{journal+issuetitle}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index fdb30d4b2c5..85de524be78 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/03/04} -\def\abx@version{3.11} +\def\abx@date{2018/11/02} +\def\abx@version{3.12} \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,26 +22,25 @@ % 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.4} +\def\blx@bcfversion{3.5} % 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{2.9} +\def\blx@bblversion{3.0} \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{biblatex} [\abx@date\space v\abx@version\space programmable bibliographies (PK/MW)] %% Dependencies -\RequirePackage{pdftexcmds} +\RequirePackage{pdftexcmds}[2018/01/30] \RequirePackage{etoolbox} \RequirePackage{keyval} \RequirePackage{kvoptions} \RequirePackage{logreq} \RequirePackage{ifthen} \RequirePackage{url} -\RequirePackage{xstring} %\RequirePackage{trace} \@ifpackagelater{etoolbox}{2010/11/29} @@ -53,15 +52,6 @@ This is a fatal error. I'm aborting now}% \endinput} -\@ifpackagelater{xstring}{2013/10/13} - {} - {\PackageError{biblatex} - {Outdated 'xstring' package} - {Upgrade to xstring v1.7c (2013/10/13) or later.\MessageBreak - I found: '\csuse{xstringversion}'.\MessageBreak - This is a fatal error. I'm aborting now}% - \endinput} - % polyglossia pretends to be babel, so we need to make sure % we are definitely talking to babel here. \AtEndPreamble{% @@ -99,7 +89,94 @@ \catcode`\^=7 \def\blx@nl{^^J} +\protected\def\blx@safe@actives{% + \let\blx@if@safe@actives\if@safe@actives + \let\if@safe@actives\iftrue} + +\protected\def\blx@rest@actives{% + \let\if@safe@actives\blx@if@safe@actives} + +%% Early errors and warnings +\protected\def\blx@error#1#2{% + \begingroup + \blx@safe@actives + \PackageError{biblatex}{#1}{#2.}% + \endgroup} + +\protected\def\blx@warning@noline#1{% + \begingroup + \blx@safe@actives + \PackageWarningNoLine{biblatex}{#1}% + \endgroup} +\let\blx@warning\blx@warning@noline +\AtEndOfPackage{% + \protected\def\blx@warning#1{% + \begingroup + \blx@safe@actives + \PackageWarning{biblatex}{#1}% + \endgroup}} + %% Compatibility +\def\blx@packageincompatibility{% + \def\do##1{% + \@ifpackageloaded{##1} + {\ifcsundef{blx@pkgloaded@##1} + {\global\cslet{blx@pkgloaded@##1}\@empty + \blx@error + {Incompatible package '##1'} + {The '##1' package and biblatex are incompatible}} + {}} + {}}% + \docsvlist{% + amsrefs,apacite,babelbib,backref,bibtopic,bibunits,chapterbib, + cite,citeref,drftcite,footbib,inlinebib,jurabib,mcite,mciteplus, + mlbib,multibbl,multibib,natbib,opcit,overcite,splitbib,ucs}% + % etextools is special, it gets an option to demote the error to a warning + % remind people to restore \forlistloop + \ifcsdef{blx@noerroretextools} + {\@ifpackageloaded{etextools} + {\ifcsundef{blx@pkgloaded@etextools} + {\global\cslet{blx@pkgloaded@etextools}\@empty + \blx@warning@noline{% + Incompatible package 'etextools' loaded,\MessageBreak + no error is thrown because you defined\MessageBreak + '\string\blx@noerroretextools'.\MessageBreak + 'etextools' redefines '\string\forlistloop', you must\MessageBreak + restore the definition from 'etoolbox'\MessageBreak + before you load biblatex}} + {}} + {}} + {\@ifpackageloaded{etextools} + {\ifcsundef{blx@pkgloaded@etextools} + {\global\cslet{blx@pkgloaded@etextools}\@empty + \blx@error + {Incompatible package 'etextools'} + {The 'etextools' package and biblatex are + incompatible.\MessageBreak + If you must load 'etextools' at all costs, define the command% + \MessageBreak '\string\blx@noerroretextools'}} + {}} + {}}} + +% Call this right here, almost immediately after loading to give sensible +% errors for incompatibilities that arise at loading-time. +% The macro is called again a second time in \AtEndPreamble when all packages +% should be loaded. +% This still can't catch all cases, \usepackage{biblatex}\usepackage{natbib} +% still gives a weird error. +\blx@packageincompatibility + +% people should not be abusing noerroretextools, so warn if it is not needed +\def\blx@packageincompatibility@endpreambleonly{% + \ifcsdef{blx@noerroretextools} + {\@ifpackageloaded{etextools} + {} + {\blx@warning@noline{% + You defined '\string\blx@noerroretextools',\MessageBreak + but 'etextools' is not loaded.\MessageBreak + Please do not define '\string\blx@noerroretextools'\MessageBreak + unless you really need it}}} + {}} \begingroup \catcode`\#=12 @@ -122,35 +199,8 @@ \endgroup \AtEndPreamble{% - \def\do#1{% - \@ifpackageloaded{#1} - {\blx@error - {Incompatible package '#1'} - {The '#1' package and biblatex are incompatible}} - {}}% - \docsvlist{% - amsrefs,apacite,babelbib,backref,bibtopic,bibunits,chapterbib, - cite,citeref,drftcite,footbib,inlinebib,jurabib,mcite,mciteplus, - mlbib,multibbl,multibib,natbib,opcit,overcite,splitbib,ucs}% - \iftoggle{blx@noerroretextools} - {\@ifpackageloaded{etextools} - {\blx@warning@noline{% - Incompatible package 'etextools' loaded,\MessageBreak - no error is thrown because you set\MessageBreak - 'noerroretextools=true'.\MessageBreak - 'etextools' redefines '\string\forlistloop', you will\MessageBreak - need to restore the definition from 'etoolbox'}} - {\blx@warning@noline{% - You set 'noerroretextools=true',\MessageBreak - but 'etextools' is not loaded.\MessageBreak - Please do not set 'noerroretextools' to 'true'\MessageBreak - unless you really need it}}} - {\@ifpackageloaded{etextools} - {\blx@error - {Incompatible package 'etextools'} - {The 'etextools' package and biblatex are incompatible.\MessageBreak - If you must load 'etextools' at all costs, set 'noerroretextools=true'}} - {}}% + \blx@packageincompatibility + \blx@packageincompatibility@endpreambleonly \def\blx@langstrings{}% % Set up sortlocale defaults and default language if babel/polyglossia is not loaded \ifdefstring\blx@sortlocale{auto} @@ -164,15 +214,15 @@ \ifundef\xpg@loaded {\let\xpg@loaded\@empty \let\xpg@vloaded\@empty - \PackageWarningNoLine{biblatex}{Upgrade package 'polyglossia' to > v1.42.0 recommended}} + \blx@warning@noline{Upgrade package 'polyglossia' to > v1.42.0 recommended}} {}% \def\do#1{\blx@langsetup{#1}}% \expandafter\docsvlist\expandafter{\xpg@loaded}% \expandafter\docsvlist\expandafter{\xpg@vloaded}% \ifboolexpr{ - not test {\iftoggle{blx@autolangbib}} + not togl {blx@autolangbib} and - not test {\iftoggle{blx@autolangcite}}} + not togl {blx@autolangcite}} {\blx@mknoautolang} {\blx@mkautolangpoly}} {\@ifpackageloaded{babel} @@ -180,9 +230,9 @@ \def\do#1{\blx@langsetup{#1}}% \expandafter\docsvlist\expandafter{\bbl@loaded}% \ifboolexpr{ - not test {\iftoggle{blx@autolangbib}} + not togl {blx@autolangbib} and - not test {\iftoggle{blx@autolangcite}}} + not togl {blx@autolangcite}} {\blx@mknoautolang} {\blx@mkautolangbabel}} {\blx@mknoautolang}}% @@ -256,12 +306,15 @@ \l@doldold@footnotetext,% ledmac \predefinedfootnotetext,% linguex \@fntORI}% frenchle - \iftoggle{blx@tempa}% ams classes - {\patchcmd\@footnotetext - {\@makefntext} - {\toggletrue{blx@footnote}\@makefntext} - {\togglefalse{blx@tempa}} - {}} + \iftoggle{blx@tempa}% ams classes ... + {\def\do#1{% + \patchcmd#1 + {\@makefntext} + {\toggletrue{blx@footnote}\@makefntext} + {\togglefalse{blx@tempa}} + {}}% + \docsvlist{\@footnotetext,% ams classes standard + \H@@footnotetext}}% hyperref {}% \@ifpackageloaded{bidi}% bidi {\blx@patchbidifootnotes} @@ -378,7 +431,14 @@ {}% \@ifpackagelater{csquotes}{2010/06/09} {} - {\newcommand*{\@quotereset}{}\newcount\@quotereset}} + {\newcommand*{\@quotereset}{}\newcount\@quotereset}% + \newcommand*{\blx@initoquote}{\initoquote}% + \newcommand*{\blx@textooquote}{\textooquote}% + \newcommand*{\blx@textcoquote}{\textcoquote}% + \newcommand*{\blx@initiquote}{\initiquote}% + \newcommand*{\blx@textoiquote}{\textoiquote}% + \newcommand*{\blx@textciquote}{\textciquote}% + \newcommand*{\blx@enquote}{\enquote}} {\@ifpackageloaded{babel} {\blx@warning@noline{% 'babel/polyglossia' detected but 'csquotes' missing.\MessageBreak @@ -390,26 +450,27 @@ \newcount\@quotereset \newcommand*{\@setquotesfcodes}{}% \let\@setquotesfcodes\relax - \newrobustcmd*{\initoquote}{\@quotelevel\@ne}% - \newrobustcmd*{\initiquote}{\@quotelevel\tw@}% - \newrobustcmd*{\textooquote}{``}% - \newrobustcmd*{\textcoquote}{''}% - \newrobustcmd*{\textoiquote}{`\relax}% block ligs - \newrobustcmd*{\textciquote}{'\relax}% block ligs - \newrobustcmd*{\enquote}{\@ifstar\blx@enquote@ii\blx@enquote}% - \def\blx@enquote{% + \newrobustcmd*{\blx@initoquote}{\@quotelevel\@ne}% + \newrobustcmd*{\blx@initiquote}{\@quotelevel\tw@}% + \newrobustcmd*{\blx@textooquote}{``}% + \newrobustcmd*{\blx@textcoquote}{''}% + \newrobustcmd*{\blx@textoiquote}{`\relax}% block ligs + \newrobustcmd*{\blx@textciquote}{'\relax}% block ligs + \newrobustcmd*{\blx@enquote} + {\@ifstar\blx@enquote@iii\blx@enquote@i}% + \def\blx@enquote@i{% \ifnum\@quotelevel>\z@ - \expandafter\blx@enquote@ii + \expandafter\blx@enquote@iii \else - \expandafter\blx@enquote@i + \expandafter\blx@enquote@ii \fi}% - \long\def\blx@enquote@i#1{% - \begingroup\initoquote - \textooquote#1\textcoquote - \endgroup}% \long\def\blx@enquote@ii#1{% - \begingroup\initiquote - \textoiquote#1\textciquote + \begingroup\blx@initoquote + \blx@textooquote#1\blx@textcoquote + \endgroup}% + \long\def\blx@enquote@iii#1{% + \begingroup\blx@initiquote + \blx@textoiquote#1\blx@textciquote \endgroup}% \appto\blx@setsfcodes{% \sfcode`\`=\z@ @@ -448,10 +509,70 @@ % trick showkeys into believing we're havard \let\HAR@checkdef\@empty -%% Allocation - \providecommand{\@gobblefive}[5]{} +\ifundef\pdf@mdfivesum + {\let\blx@mdfivesum\@firstofone + \blx@warning@noline{Command '\string\pdf@mdfivesum' undefined.\MessageBreak + 'labelprefix' may not be able to accept all input}} + {\let\blx@mdfivesum\pdf@mdfivesum} + + +% xstring replacements + +% reverse a given string +% idea by egreg (https://tex.stackexchange.com/users/4427/egreg) +% from https://tex.stackexchange.com/q/36034/ +% relicensed under LPPL according to +% https://tex.meta.stackexchange.com/a/3333/ +\def\blx@revstr#1{% + \ifblank{#1} + {} + {\blx@revstr@l #1\blx@revstr@b@i\blx@revstr@b@ii}} + +\def\blx@revstr@l#1#2\blx@revstr@b@i#3\blx@revstr@b@ii{% + \ifblank{#2} + {#1#3} + {\blx@revstr@l#2\blx@revstr@b@i#1#3\blx@revstr@b@ii}} + +% these tests are inspired by Stephan v. Bechtolsheim's TUGboat article +% https://www.tug.org/TUGboat/tb09-1/tb20bechtolsheim.pdf +% but we need to test for start and end and not for generic substring +% start is easy, delimited arguments help there +\protected\def\blx@ifstrstartswith#1#2{% + \def\blx@ifstrstartswith@i ##1#2##2&{% + \ifblank{##1}}% + \blx@ifstrstartswith@i #1#2&} + +% end is harder, so we reverse everything and apply the start test +\protected\def\blx@ifstrendswith#1#2{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@ifstrstartswith{\blx@revstr{#1}}{\blx@revstr{#2}}}% + \blx@tempa} + +% not expandable, so write the result to the macro given in #3 +% {<string>}{<strip>}{<result>} +% <result> will contain the bit of <string> +% after the first occurrence of <strip> +\protected\def\blx@stripfromstartinto#1#2#3{% + \def\blx@stripfromstart@i ##1#2##2&{% + \def#3{##2}}% + \blx@stripfromstart@i #1&} + +% {<string>}{<strip>}{<result>} +% <result> will contain the bit of <string> +% before the last occurence of <strip> +\protected\def\blx@stripfromendinto#1#2#3{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@stripfromstartinto{\blx@revstr{#1}}{\blx@revstr{#2}}}% + \blx@tempa{#3}% + \edef#3{\noexpand\blx@revstr{#3}}% + \edef#3{#3}} + +%% Allocation + % Counter to track nested tabularx environemnts so we don't % try to patch the commands more than once below as this undefs some % macros and an error is thrown @@ -486,6 +607,8 @@ \def\theminitems{\the\c@minitems} \newcounter{citecounter} \def\thecitecount{\the\c@citecounter} +\newcounter{maxcitecounter} +\def\themaxcitecounter{\the\c@maxcitecounter} \newcounter{savedcitecounter} \def\thecitecount{\the\c@savedcitecounter} \newcounter{uniquelist} @@ -500,6 +623,8 @@ \def\themaxextratitle{\the\c@maxextratitle} \newcounter{maxextratitleyear} \def\themaxextratitleyear{\the\c@maxextratitleyear} +\newcounter{maxextraname} +\def\themaxextraname{\the\c@maxextraname} \newcounter{maxextradate} \def\themaxextradate{\the\c@maxextradate} \newcounter{maxextraalpha} @@ -524,6 +649,8 @@ \newcount\blx@parenlevel@text \newcount\blx@parenlevel@foot \expandafter\newcount\csname blx@sectionciteorder@0\endcsname +\newcount\blx@entrysetcounter + \def\blx@uniquename{0} \def\blx@uniquelist{0} @@ -531,10 +658,14 @@ \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} @@ -590,6 +721,7 @@ \newtoggle{blx@labeltitleyear} \newtoggle{blx@labeldateparts} \newtoggle{blx@natbib} +\newtoggle{blx@noroman} \newtoggle{blx@mcite} \newtoggle{blx@loadfiles} \newtoggle{blx@singletitle} @@ -615,14 +747,12 @@ \newtoggle{blx@localnumber} \newtoggle{blx@refcontext} -% Nice command from etextools which causes too many problems if you load -% the whole package -% Don't use it on arbitrary user input as it dies on non-expandable arguments -\newcommand*{\blx@xifempty}[1]{\blx@xifstrcmp{#1}{}} -% {string1}{string2}{true}{false} -\newcommand*{\blx@xifstrcmp}[2]{\csname @% - \ifnum\pdf@strcmp{#1}{#2}=0 first\else second\fi - oftwo\endcsname} +\newcommand*{\blx@xifstrequal}[2]{% + \begingroup + \edef\blx@tempa{% + \endgroup + \noexpand\ifstrequal{#1}{#2}}% + \blx@tempa} % Special fields which need resolution using the information provided by biber \listadd\abx@rfields{labeltitle} @@ -658,6 +788,8 @@ % Initialise some lists which track changing citations/sortingtemplates % etc. between runs \global\let\blx@cites\@empty +\global\let\blx@nocites\@empty +\global\let\blx@directcites\@empty \global\let\blx@refcontexts\@empty \global\let\blx@lastrefcontexts\@empty \global\let\blx@sortingtemplatenames\@empty @@ -680,16 +812,22 @@ % Deprecations \newrobustcmd*{\DeprecateField}[2]{% \csdef{abx@field@#1}{% - \ifcsundef{abx@field@legacy@warning@#1}{\blx@warning@noline{Field '#1' is deprecated. #2}}{}% - \global\cslet{abx@field@legacy@warning@#1}\@empty}}% + \ifcsundef{abx@legacywarning@field@#1} + {\blx@warning@noline{Field '#1' is deprecated. #2}} + {}% + \global\cslet{abx@legacywarning@field@#1}\@empty}}% \newrobustcmd*{\DeprecateList}[2]{% \csdef{abx@list@#1}{% - \ifcsundef{abx@list@legacy@warning@#1}{\blx@warning@noline{List '#1' is deprecated. #2}}{}% - \global\cslet{abx@list@legacy@warning@#1}\@empty}}% + \ifcsundef{abx@legacywarning@list@#1} + {\blx@warning@noline{List '#1' is deprecated. #2}} + {}% + \global\cslet{abx@legacywarning@list@#1}\@empty}} \newrobustcmd*{\DeprecateName}[2]{% \csdef{abx@name@#1}{% - \ifcsundef{abx@name@legacy@warning@#1}{\blx@warning@noline{Name '#1' is deprecated. #2}}{}% - \global\cslet{abx@name@legacy@warning@#1}\@empty}}% + \ifcsundef{abx@legacywarning@name@#1} + {\blx@warning@noline{Name '#1' is deprecated. #2}} + {}% + \global\cslet{abx@legacywarning@name@#1}\@empty}} \let\blx@aliasfields\@empty @@ -698,39 +836,39 @@ \ifcsundef{abx@field@#2} {} {\csdef{abx@field@#1}{% - \csuse{abx@field@#2}% - \ifcsundef{abx@field@legacy@warning@#1} - {\blx@warning@noline{Field '#1' is deprecated.\MessageBreak - Please use '#2' instead.\MessageBreak - Using '#2' now}} - {}% - \global\cslet{abx@field@legacy@warning@#1}\@empty}}}} + \csuse{abx@field@#2}% + \ifcsundef{abx@legacywarning@field@#1} + {\blx@warning@noline{Field '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@field@#1}\@empty}}}} \newrobustcmd*{\DeprecateListWithReplacement}[2]{% \appto\blx@aliasfields{% \ifcsundef{abx@list@#2} {} {\csdef{abx@list@#1}{% - \csuse{abx@list@#2}% - \ifcsundef{abx@list@legacy@warning@#1} - {\blx@warning@noline{List '#1' is deprecated.\MessageBreak - Please use '#2' instead.\MessageBreak - Using '#2' now}} - {}% - \global\cslet{abx@list@legacy@warning@#1}\@empty}}}} + \csuse{abx@list@#2}% + \ifcsundef{abx@legacywarning@list@#1} + {\blx@warning@noline{List '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@list@#1}\@empty}}}} \newrobustcmd*{\DeprecateNameWithReplacement}[2]{% \appto\blx@aliasfields{% \ifcsundef{abx@name@#2} {} {\csdef{abx@name@#1}{% - \csuse{abx@name@#2}% - \ifcsundef{abx@name@legacy@warning@#1} - {\blx@warning@noline{Name '#1' is deprecated.\MessageBreak - Please use '#2' instead.\MessageBreak - Using '#2' now}} - {}% - \global\cslet{abx@name@legacy@warning@#1}\@empty}}}} + \csuse{abx@name@#2}% + \ifcsundef{abx@legacywarning@name@#1} + {\blx@warning@noline{Name '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@name@#1}\@empty}}}} %% Initialisation \def\blx@blxinit{% @@ -760,13 +898,6 @@ {}} %% Auxiliary commands -\protected\def\blx@safe@actives{% - \let\blx@if@safe@actives\if@safe@actives - \let\if@safe@actives\iftrue} - -\protected\def\blx@rest@actives{% - \let\if@safe@actives\blx@if@safe@actives} - \protected\def\blx@regimc#1{% \xappto\blx@blxinit{% \let\noexpand#1\expandafter\noexpand\csname @@ -980,27 +1111,7 @@ ) }} -%% User feedback - -\protected\def\blx@error#1#2{% - \begingroup - \blx@safe@actives - \PackageError{biblatex}{#1}{#2.}% - \endgroup} - -\protected\def\blx@warning@noline#1{% - \begingroup - \blx@safe@actives - \PackageWarningNoLine{biblatex}{#1}% - \endgroup} -\let\blx@warning\blx@warning@noline -\AtEndOfPackage{ - \protected\def\blx@warning#1{% - \begingroup - \blx@safe@actives - \PackageWarning{biblatex}{#1}% - \endgroup}} - +%% More user feedback \protected\def\blx@warning@entry#1{% \ifdef\abx@field@entrykey {\blx@warning{#1\MessageBreak at entry '\abx@field@entrykey'}} @@ -1012,7 +1123,7 @@ \PackageInfo{biblatex}{#1\@gobble}% \endgroup} \let\blx@info\blx@info@noline -\AtEndOfPackage{ +\AtEndOfPackage{% \protected\def\blx@info#1{% \begingroup \blx@safe@actives @@ -1160,7 +1271,8 @@ \blx@warning{Conflicting options.\MessageBreak#1}} \def\blx@warn@badoptdt#1{% - \blx@warning{Invalid option datatype '#1'.\MessageBreak Defaulting to 'boolean'}} + \blx@warning{Invalid option datatype '#1'.\MessageBreak + Defaulting to 'boolean'}} \def\blx@warn@depropt#1{% \blx@warning{Deprecated option.\MessageBreak Ignoring '#1'}} @@ -2046,6 +2158,8 @@ \def\blx@imc@ifbibmacroundef#1{% \ifcsundef{abx@macro@#1}} +\def\ifbibmacroundef{\blx@imc@ifbibmacroundef} + % {<field>} \def\blx@imc@thefield#1{\csuse{abx@field@#1}} @@ -2732,7 +2846,7 @@ \blx@imc@iffieldundef{#1} {\@secondoftwo} {\expandafter\expandafter - \expandafter\ifinteger + \expandafter\blx@imc@ifinteger \expandafter\expandafter \expandafter{\csname abx@field@#1\endcsname}}} @@ -3246,12 +3360,15 @@ {\blx@declaredelimclear} {\blx@declaredelim}} -\newrobustcmd*{\blx@declaredelimclear}[3][]{% - \ifcsvoid{blx@declaredelimcontexts@#2} +\def\blx@cleardelim#1{% + \ifcsvoid{blx@declaredelimcontexts@#1} {} - {\def\do##1{\csundef{blx@printdelim@##1@#2}}% - \dolistcsloop{blx@declaredelimcontexts@#2}}% - \cslet{blx@declaredelimcontexts@#2}\@empty + {\def\do##1{\csundef{blx@printdelim@##1@#1}}% + \dolistcsloop{blx@declaredelimcontexts@#1}}% + \cslet{blx@declaredelimcontexts@#1}\@empty} + +\newrobustcmd*{\blx@declaredelimclear}[3][]{% + \blx@cleardelim{#2}% \ifblank{#1} {\blx@declaredelim{#2}{#3}} {\blx@declaredelim[#1]{#2}{#3}}} @@ -3272,32 +3389,64 @@ \csdef{#1##1}{#4}}% \forcsvlist{\do@i}{#3}} -% *[<contextname, ...>]{<alias>}{<delim>} +% *[<alias context, ...>]{<alias>}[<delim context>]{<delim>} \newrobustcmd*{\DeclareDelimAlias}{% \@ifstar - {\blx@declaredelimalias} - {\blx@declaredelimaliasauto}} - -\newrobustcmd*{\blx@declaredelimalias}[3][]{% - \ifblank{#1} - {\blx@declaredelimalias@i{}{#2}{#3}} - {\def\do##1{% - \blx@declaredelimalias@i{blx@printdelim@##1@}{#2}{#3}}% - \docsvlist{#1}}} + {\blx@declaredelimalias@expl} + {\blx@declaredelimalias@auto}} -\newrobustcmd*{\blx@declaredelimaliasauto}[2]{% - \blx@declaredelimalias@i{}{#1}{#2}% +\newrobustcmd*{\blx@declaredelimalias@auto}[2]{% + \blx@cleardelim{#1}% + \blx@declaredelimalias@def{}{#1}{}{#2}% \ifcsvoid{blx@declaredelimcontexts@#2} {} {\def\do##1{% - \blx@declaredelimalias@i{blx@printdelim@##1@}{#1}{#2}}% + \blx@declaredelimalias@def + {blx@printdelim@##1@}{#1}{blx@printdelim@##1@}{#2}}% \dolistcsloop{blx@declaredelimcontexts@#2}}} -\def\blx@declaredelimalias@i#1#2#3{% +\def\blx@declaredelimalias@expl{% + \@ifnextchar[%] + {\blx@declaredelimalias@expl@i} + {\blx@declaredelimalias@expl@i[]}} + +\def\blx@declaredelimalias@expl@i[#1]#2{% + \@ifnextchar[%] + {\blx@declaredelimalias@expl@iii{#1}{#2}} + {\blx@declaredelimalias@expl@ii{#1}{#2}}} + +\def\blx@declaredelimalias@expl@ii#1#2#3{% + \ifblank{#1} + {\blx@declaredelimalias@def{}{#2}{}{#3}} + {\def\do##1{% + \blx@declaredelimalias@def + {blx@printdelim@##1@}{#2}{blx@printdelim@##1@}{#3}}% + \docsvlist{#1}}} + +\def\blx@declaredelimalias@expl@iii#1#2[#3]#4{% + \ifblank{#1} + {\ifblank{#3} + {\blx@declaredelimalias@def{}{#2}{}{#4}} + {\blx@declaredelimalias@def{}{#2}{blx@printdelim@#3@}{#4}}} + {\ifblank{#3} + {\def\do##1{% + \blx@declaredelimalias@def + {blx@printdelim@##1@}{#2}{}{#4}}} + {\def\do##1{% + \blx@declaredelimalias@def + {blx@printdelim@##1@}{#2}{blx@printdelim@#3@}{#4}}}% + \docsvlist{#1}}} + +\def\blx@declaredelimalias@def#1#2#3#4{% \ifcsdef{#1#2} {\blx@inf@delimdeclare{#2}{#1}} {}% - \csdef{#1#2}{\csuse{#1#3}}} + \ifblank{#1} + {} + {\ifinlistcs{#1}{blx@declaredelimcontexts@#2} + {} + {\listcsadd{blx@declaredelimcontexts@#2}{#1}}}% + \csdef{#1#2}{\ifcsundef{#3#4}{\csuse{#4}}{\csuse{#3#4}}}} \def\blx@delimcontext{none} \newcommand*{\printdelim}[2][]{% @@ -3320,7 +3469,7 @@ {#1}} \newcommand*{\DeclareDelimcontextAlias}[2]{% - \csgdef{blx@delimcontextalias@#1}{#2}} + \csdef{blx@delimcontextalias@#1}{#2}} \newrobustcmd*{\AtUsedriver}{% \@ifstar @@ -3483,6 +3632,10 @@ or (not test {\ifdatehastime{#1}} and test {\ifdatehastime{#2}})}} +\def\blx@imc@ifdateyearsequal#1#2{% + \ifboolexpr{ test {\iffieldsequal{#1year}{#2year}} + and test {\iffieldsequal{#1dateera}{#2dateera}}}} + \blx@regimcs{% \ifdriver \thefield \strfield \csfield \usefield \thelist \strlist \thename \strname \clearfield \clearlist \clearname \restorefield \restorelist \restorename @@ -3490,7 +3643,7 @@ \ifciteseen \ifciteibid \ifciteidem \ifopcit \ifloccit \ifcurrentfield \ifcurrentlist \ifcurrentname \ifentrytype \iffieldequalcs \iffieldequals \iffieldequalstr \iffieldsequal - \ifbibmacroundef \iffieldundef \iffieldxref \iflistequalcs \iflistequals + \iffieldundef \iffieldxref \iflistequalcs \iflistequals \iflistsequal \iflistundef \iflistxref \ifmorenames \ifmoreitems \iffirstcitekey \iflastcitekey \ifnameequalcs \ifnameequals \ifnamesequal \ifnameundef \ifnamexref @@ -3500,6 +3653,7 @@ \iffieldint \iffieldnum \iffieldnums \iffieldpages \iflabeldateisdate \ifdatehasyearonlyprecision \ifdatehastime \ifdateshavedifferentprecision + \ifdateyearsequal \mkpageprefix \mkpagetotal \newblock \newunit \setunit \printunit \finentry} @@ -3515,6 +3669,7 @@ \def\ifcrossrefsource{\iftoggle{abx@bool@crossrefsource}}% \def\ifxrefsource{\iftoggle{abx@bool@xrefsource}}% \def\ifsingletitle{\iftoggle{abx@bool@singletitle}}% + \def\ifnocite{\iftoggle{abx@bool@nocite}}% \def\ifuniquetitle{\iftoggle{abx@bool@uniquetitle}}% \def\ifuniquebaretitle{\iftoggle{abx@bool@uniquebaretitle}}% \def\ifuniquework{\iftoggle{abx@bool@uniquework}}% @@ -3851,6 +4006,24 @@ {\blx@defformat\blx@defplainformat{fid}*} {\blx@defformat\blx@defplainformat{fid}{}}} +\newrobustcmd*{\DeclareNameWrapperFormat}{% + \@ifstar + {\blx@defformat\blx@defnameformat{nwd}*} + {\blx@defformat\blx@defnameformat{nwd}{}}} +\newrobustcmd*{\DeclareIndexNameWrapperFormat}{% + \@ifstar + {\blx@defformat\blx@defnameformat{nxd}*} + {\blx@defformat\blx@defnameformat{nxd}{}}} + +\newrobustcmd*{\DeclareListWrapperFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{lwd}*} + {\blx@defformat\blx@defplainformat{lwd}{}}} +\newrobustcmd*{\DeclareIndexListWrapperFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{lxd}*} + {\blx@defformat\blx@defplainformat{lxd}{}}} + % {<macro>}{<class>}{<*>} \def\blx@defformat#1#2#3{% \@ifnextchar[%] @@ -3936,15 +4109,21 @@ \newrobustcmd*{\savefieldformat}[2][*]{\blx@save{abx@ffd@#1@#2}} \newrobustcmd*{\savelistformat}[2][*]{\blx@save{abx@lfd@#1@#2}} \newrobustcmd*{\savenameformat}[2][*]{\blx@save{abx@nfd@#1@#2}} +\newrobustcmd*{\savelistwrapperformat}[2][*]{\blx@save{abx@lwd@#1@#2}} +\newrobustcmd*{\savenamewrapperformat}[2][*]{\blx@save{abx@nwd@#1@#2}} \newrobustcmd*{\restorefieldformat}[2][*]{\blx@restore{abx@ffd@#1@#2}} \newrobustcmd*{\restorelistformat}[2][*]{\blx@restore{abx@lfd@#1@#2}} \newrobustcmd*{\restorenameformat}[2][*]{\blx@restore{abx@nfd@#1@#2}} +\newrobustcmd*{\restorelistwrapperformat}[2][*]{\blx@restore{abx@lwd@#1@#2}} +\newrobustcmd*{\restorenamewrapperformat}[2][*]{\blx@restore{abx@nwd@#1@#2}} % [<entrytype>]{<name>}{<true>}{<false>} \newrobustcmd*{\iffieldformatundef}[2][*]{\ifcsundef{abx@ffd@#1@#2}} \newrobustcmd*{\iflistformatundef}[2][*]{\ifcsundef{abx@lfd@#1@#2}} \newrobustcmd*{\ifnameformatundef}[2][*]{\ifcsundef{abx@nfd@#1@#2}} +\newrobustcmd*{\iflistwrapperformatundef}[2][*]{\ifcsundef{abx@lwd@#1@#2}} +\newrobustcmd*{\ifnamewrapperformatundef}[2][*]{\ifcsundef{abx@nwd@#1@#2}} % [<entrytype>]{<alias>}[<entrytype>]{<name>} \newrobustcmd*{\DeclareNameAlias}{\blx@defalias{nfd}} @@ -3956,6 +4135,62 @@ \newrobustcmd*{\DeclareFieldAlias}{\blx@defalias{ffd}} \newrobustcmd*{\DeclareIndexFieldAlias}{\blx@defalias{fid}} +\newrobustcmd*{\DeclareNameWrapperAlias}{\blx@defalias{nwd}} +\newrobustcmd*{\DeclareIndexNameWrapperAlias}{\blx@defalias{nxd}} + +\newrobustcmd*{\DeclareListWrapperAlias}{\blx@defalias{lwd}} +\newrobustcmd*{\DeclareIndexListWrapperAlias}{\blx@defalias{lxd}} + +% #1: internal type signature, #2: type text for warning +% #3 #4 #5 #6 +% [aliastype]{aliasname}[formattype]{formatname} +\def\blx@deprecateformat#1#2{% + \@ifnextchar[%] + {\blx@deprecateformat@i{#1}{#2}} + {\blx@deprecateformat@i{#1}{#2}[*]}} +\def\blx@deprecateformat@i#1#2[#3]#4{% + \@ifnextchar[%] + {\blx@deprecateformat@ii{#1}{#2}{#3}{#4}} + {\blx@deprecateformat@ii{#1}{#2}{#3}{#4}[*]}} +\def\blx@deprecateformat@ii#1#2#3#4[#5]#6{% + \blx@safe@actives + \afterassignment\blx@rest@actives + \csdef{abx@#1@#3@#4}{% + \ifcsundef{abx@legacywarning@#1@#3@#4} + {\global\cslet{abx@legacywarning@#1@#3@#4}\@empty + \blx@warning@noline{% + #2 '#4' deprecated.\MessageBreak + Please use '#6' instead.\MessageBreak + Using '#6' now}} + {}% + \csname abx@#1@#5@#6\endcsname}} + +% [<entrytype>]{<alias>}[<entrytype>]{<name>} +\newrobustcmd*{\DeprecateNameFormatWithReplacement}{% + \blx@deprecateformat{nfd}{Name format}} +\newrobustcmd*{\DeprecateIndexNameFormatWithReplacement}{% + \blx@deprecateformat{nid}{Index name format}} + +\newrobustcmd*{\DeprecateListFormatWithReplacement}{% + \blx@deprecateformat{lfd}{List format}} +\newrobustcmd*{\DeprecateIndexListFormatWithReplacement}{% + \blx@deprecateformat{lid}{Index list format}} + +\newrobustcmd*{\DeprecateFieldFormatWithReplacement}{% + \blx@deprecateformat{ffd}{Field format}} +\newrobustcmd*{\DeprecateIndexFieldFormatWithReplacement}{% + \blx@deprecateformat{fid}{Index field format}} + +\newrobustcmd*{\DeprecateNameWrapperFormatWithReplacement}{% + \blx@deprecateformat{nwd}{Name wrapper format}} +\newrobustcmd*{\DeprecateIndexNameWrapperFormatWithReplacement}{% + \blx@deprecateformat{nxd}{Index name wrapper format}} + +\newrobustcmd*{\DeprecateListWrapperFormatWithReplacement}{% + \blx@deprecateformat{lwd}{List wrapper format}} +\newrobustcmd*{\DeprecateIndexListWrapperFormatWithReplacement}{% + \blx@deprecateformat{lxd}{Index list wrapper format}} + % [<format>]{<text>} \newrobustcmd{\blx@imc@printtext}[2][]{% \ifblank{#2} @@ -4032,13 +4267,16 @@ \def\blx@printnames#1#2#3#4{% \blx@imc@ifnameundef{#4} {\blx@nounit} - {\blx@getformat\blx@theformat{nfd}{#1}{#4}% - \ifdefvoid\blx@theformat + {\blx@getformat\blx@thewrapperformat{nwd}{#1}{#4}% + \ifdefvoid\blx@thewrapperformat {\blx@nounit} - {\blx@begunit - \blx@namesetup{#2}{#3}{#4}% - \expandafter\blx@nameparser\blx@thedata{}&% - \blx@endunit}}} + {\blx@getformat\blx@theformat{nfd}{#1}{#4}% + \ifdefvoid\blx@theformat + {\blx@nounit} + {\blx@begunit + \blx@namesetup{#2}{#3}{#4}% + \blx@thewrapperformat{\expandafter\blx@nameparser\blx@thedata{}&}% + \blx@endunit}}}} \def\blx@namesetup#1#2#3{% \def\currentname{#3}% @@ -4119,14 +4357,17 @@ \def\blx@indexnames#1#2#3#4{% \blx@imc@ifnameundef{#4} {} - {\blx@getformat\blx@theformat{nid}{#1}{#4}% - \ifdefvoid\blx@theformat + {\blx@getformat\blx@thewrapperformat{nxd}{#1}{#4}% + \ifdefvoid\blx@thewrapperformat {} - {\begingroup - \blx@namesetup{#2}{#3}{#4}% - \blx@indexnamesetup - \expandafter\blx@nameparser\blx@thedata{}&% - \endgroup}}} + {\blx@getformat\blx@theformat{nid}{#1}{#4}% + \ifdefvoid\blx@theformat + {} + {\begingroup + \blx@namesetup{#2}{#3}{#4}% + \blx@indexnamesetup + \expandafter\blx@nameparser\blx@thedata{}&% + \endgroup}}}} \def\blx@indexnamesetup{% \let\bibinitperiod\bibindexinitperiod @@ -4154,6 +4395,7 @@ % {name opts}{nameparts} \long\def\blx@nameparser@i#1#2{% + \begingroup \ifblank{#1} {} {\setkeys{blx@opt@name}{#1}}% @@ -4166,7 +4408,8 @@ % Still pass the nameparts forward for backwards compat % When \nameparts is finally removed, remove the "{2}" and remove the % arg to \blx@defformat@d in def of \blx@defnameformat - \blx@theformat{#2}} + \blx@theformat{#2}% + \endgroup} \long\def\blx@namebreak#1&{} @@ -4178,13 +4421,16 @@ \def\blx@printlist#1#2#3#4{% \blx@imc@iflistundef{#4} {\blx@nounit} - {\blx@getformat\blx@theformat{lfd}{#1}{#4}% - \ifdefvoid\blx@theformat + {\blx@getformat\blx@thewrapperformat{lwd}{#1}{#4}% + \ifdefvoid\blx@thewrapperformat {\blx@nounit} - {\blx@begunit - \blx@listsetup{#2}{#3}{#4}% - \expandafter\blx@listparser\blx@thedata{}&% - \blx@endunit}}} + {\blx@getformat\blx@theformat{lfd}{#1}{#4}% + \ifdefvoid\blx@theformat + {\blx@nounit} + {\blx@begunit + \blx@listsetup{#2}{#3}{#4}% + \blx@thewrapperformat{\expandafter\blx@listparser\blx@thedata{}&}% + \blx@endunit}}}} \def\blx@listsetup#1#2#3{% \def\currentlist{#3}% @@ -4221,13 +4467,16 @@ \def\blx@indexlist#1#2#3#4{% \blx@imc@iflistundef{#4} {} - {\blx@getformat\blx@theformat{lid}{#1}{#4}% - \ifdefvoid\blx@theformat + {\blx@getformat\blx@thewrapperformat{lxd}{#1}{#4}% + \ifdefvoid\blx@thewrapperformat {} - {\begingroup - \blx@listsetup{#2}{#3}{#4}% - \expandafter\blx@listparser\blx@thedata{}&% - \endgroup}}} + {\blx@getformat\blx@theformat{lid}{#1}{#4}% + \ifdefvoid\blx@theformat + {} + {\begingroup + \blx@listsetup{#2}{#3}{#4}% + \expandafter\blx@listparser\blx@thedata{}&% + \endgroup}}}} % {<item1>}{<item2>}{...} \long\def\blx@listparser#1{% @@ -4285,7 +4534,8 @@ \blx@getdata{#1}% \blx@setoptions@type\abx@field@entrytype \blx@setoptions@entry - \def\abx@field@entrysetcount{1}% + \global\blx@entrysetcounter\@ne + \edef\abx@field@entrysetcount{\the\blx@entrysetcounter}% \blx@execute \blx@beglangbib \blx@begunit @@ -4304,9 +4554,10 @@ {\begingroup \blx@resetdata \blx@getdata{#1}% - \blx@entrysetcount \blx@setoptions@type\abx@field@entrytype \blx@setoptions@entry + \global\advance\blx@entrysetcounter\@ne + \edef\abx@field@entrysetcount{\the\blx@entrysetcounter}% \addtocounter{instcount}\@ne \blx@execute \blx@beglangbib @@ -4820,6 +5071,7 @@ \do{langgalician}% \do{langgerman}% \do{langgreek}% + \do{langhungarian}% \do{langitalian}% \do{langjapanese}% \do{langlatin}% @@ -4848,6 +5100,7 @@ \do{fromgalician}% \do{fromgerman}% \do{fromgreek}% + \do{fromhungarian}% \do{fromitalian}% \do{fromjapanese}% \do{fromlatin}% @@ -5081,33 +5334,39 @@ % .lbx files must be read with one of the two following commands, % do not use \blx@inputonce. Only the commands here make sure that the file % is read as many times as necessary. +% blx@file@lbx@simple@#1 only blocks the file being added to the file list +% blx@file@lbx@once@#1 blocks a file from being loaded again by the input-once +% routine % {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>} \protected\long\def\blx@lbx@input@handler@simple#1#2#3#4#5#6{% \blx@info@noline{Trying to load #2..}% \IfFileExists{#1} {\blx@info@noline{... file '#1' found}% #3\@@input\@filef@und#4#5% - \ifcsundef{blx@file@lbx@#1} + \ifcsundef{blx@file@lbx@simple@#1} {\listxadd\blx@list@req@stat{#1}% \@addtofilelist{#1}% - \global\cslet{blx@file@lbx@#1}\@empty} + \global\cslet{blx@file@lbx@simple@#1}\@empty} {}} {\blx@info@noline{... file '#1' not found}#6}} % {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>} \protected\long\def\blx@lbx@input@handler@once#1#2#3#4#5#6{% - \ifcsundef{blx@file@lbx@#1} + \ifcsundef{blx@file@lbx@once@#1} {\blx@info@noline{Trying to load #2..}% - \global\cslet{blx@file@lbx@#1}\@empty \IfFileExists{#1} {\blx@info@noline{... file '#1' found}% #3\@@input\@filef@und#4#5% - \listxadd\blx@list@req@stat{#1}% - \@addtofilelist{#1}} - {\blx@info@noline{... file '#1' not found}#6}} + \ifcsundef{blx@file@lbx@simple@#1} + {\listxadd\blx@list@req@stat{#1}% + \@addtofilelist{#1}} + {}} + {\blx@info@noline{... file '#1' not found}#6}% + \global\cslet{blx@file@lbx@once@#1}\@empty + \global\cslet{blx@file@lbx@simple@#1}\@empty} {#5}} -\def\blx@lbx@input@process@strings#1{ +\def\blx@lbx@input@process@strings#1{% \global\cslet{abx@strings@#1}\@empty \def\InheritBibliographyStrings{% \blx@letbibstrings{#1}}% @@ -5129,7 +5388,7 @@ \blx@lbx@input@process@extras{#1}% \def\DeclareHyphenationExceptions{\blx@hyphexcept{#1}}} -\def\blx@lbx@input@postprocess@strings#1{ +\def\blx@lbx@input@postprocess@strings#1{% \csuse{blx@hook@strings@#1}} \def\blx@lbx@input@postprocess@extras#1{% @@ -5220,39 +5479,42 @@ \mktimerange{12h}} \expandafter\newrobustcmd\expandafter*\csname mktimerange24hcomp\endcsname[1]{% - \iffieldundef{#1hour}{} + \iffieldundef{#1hour} + {} {\ifboolexpr{test {\iffieldundef{#1endhour}} or test {\iffieldequalstr{#1endhour}{}}} {\mktimerange{24h}{#1}} {\iffieldsequal{#1hour}{#1endhour} - % 14:xx:xx 14:xx:xx - {\iffieldsequal{#1minute}{#1endminute} - % 14:13:xx 14:13:xx - {\toggletrue{blx@seconds}% - \printtext[#1time]{\csuse{mkbibtime24h}{#1hour}{#1minute}{#1second}{}% - \bibtimerangesep - \csuse{mkbibtime24h}{}{}{#1endsecond}{}}} - % 14:13:xx 14:14:xx - {\toggletrue{blx@seconds}% - \printtext[#1time]{\csuse{mkbibtime24h}{#1hour}{#1minute}{}{}% - \bibtimerangesep - \csuse{mkbibtime24h}{}{#1endminute}{}{}}}} - % 14:xx:xx 15:xx:xx - {\mktimerange{24h}{#1}}}}} + % 14:xx:xx 14:xx:xx + {\iffieldsequal{#1minute}{#1endminute} + % 14:13:xx 14:13:xx + {\toggletrue{blx@seconds}% + \printtext[#1time]{% + \csuse{mkbibtime24h}{#1hour}{#1minute}{#1second}{}% + \bibtimerangesep + \csuse{mkbibtime24h}{}{}{#1endsecond}{}}} + % 14:13:xx 14:14:xx + {\toggletrue{blx@seconds}% + \printtext[#1time]{\csuse{mkbibtime24h}{#1hour}{#1minute}{}{}% + \bibtimerangesep + \csuse{mkbibtime24h}{}{#1endminute}{}{}}}} + % 14:xx:xx 15:xx:xx + {\mktimerange{24h}{#1}}}}} % {<24h|24hcomp|12h>}{<datetype>} \newrobustcmd*{\mktimerange}[2]{% - \iffieldundef{#2hour}{} + \iffieldundef{#2hour} + {\blx@nounit} {\blx@timepre{#2}{}% \printtext[#2time]{\csuse{mkbibtime#1}{#2hour}{#2minute}{#2second}{#2timezone}% - \iffieldundef{#2endhour} - {} - {\blx@timepre{#2}{end}% - \iffieldequalstr{#2endhour}{} - {\mbox{\bibtimerangesep}} - {\bibtimerangesep - \csuse{mkbibtime#1}{#2endhour}{#2endminute}{#2endsecond}{#2endtimezone}}}}}} + \iffieldundef{#2endhour} + {} + {\blx@timepre{#2}{end}% + \iffieldequalstr{#2endhour}{} + {\mbox{\bibtimerangesep}} + {\bibtimerangesep + \csuse{mkbibtime#1}{#2endhour}{#2endminute}{#2endsecond}{#2endtimezone}}}}}} % {<datetype>}{''|end} \newrobustcmd*{\blx@timepre}[2]{% @@ -5266,7 +5528,7 @@ \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces @@ -5297,20 +5559,20 @@ \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} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{}{}{#2day}} {\csuse{mkbibdate#1}{}{#2month}{#2day}}} {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \iffieldsequal{#2dateera}{#2enddateera}{} - {\dateeraprint{#2year}}}} - {\iffieldsequal{#2year}{#2endyear} + {\dateeraprint{#2year}}}} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2season}} {\csuse{mkbibseasondate#1}{#2year}{#2season}% \iffieldsequal{#2dateera}{#2enddateera}{} @@ -5333,7 +5595,7 @@ \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces @@ -5367,23 +5629,23 @@ \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} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{}{}{#2day}} {\csuse{mkbibdate#1}{}{#2month}{#2day}}} {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \iffieldsequal{#2dateera}{#2enddateera}{} {\dateeraprint{#2year}}}} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2season}} {\csuse{mkbibseasondate#1}{#2year}{#2season}% - \iffieldsequal{#2dateera}{#2enddateera}{} + \iffieldsequal{#2dateera}{#2enddateera}{} {\dateeraprint{#2year}}}}% \dateuncertainprint \iffieldundef{#2endyear} @@ -5417,7 +5679,7 @@ \blx@imc@clearfield{#1endminute}% \blx@imc@clearfield{#1endsecond}% \blx@imc@clearfield{#1endtimezone}% - \iffieldsequal{#1year}{#1endyear} + \ifdateyearsequal{#1}{#1end} {\blx@imc@clearfield{#1endyear}} {}% \mkdaterangefull{short}{#1}} @@ -5427,7 +5689,7 @@ \begingroup \blx@metadateinfo{#1}% \iffieldundef{#1year} - {} + {\blx@nounit} {\printtext[#1date]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces @@ -5459,7 +5721,7 @@ \begingroup \blx@metadateinfo{#1}% \iffieldundef{#1year} - {} + {\blx@nounit} {\printtext[#1date]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces @@ -5509,7 +5771,7 @@ \blx@imc@clearfield{#1endminute}% \blx@imc@clearfield{#1endsecond}% \blx@imc@clearfield{#1endtimezone}% - \iffieldsequal{#1year}{#1endyear} + \ifdateyearsequal{#1}{#1end} {\blx@imc@clearfield{#1endyear}} {}% \mkdaterangefullextra{short}{#1}} @@ -5521,8 +5783,8 @@ 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}}} + \printtext{\bibdatetimesep}% + \printtext[#1time]{\csuse{mkbibtime\csuse{blx@timeformat@#1time}}{#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}} {}} \newrobustcmd*{\mkdaterangeiso}[1]{% @@ -5530,7 +5792,7 @@ \blx@metadateinfo{#1}% \def\bibdatetimesep{T}% \iffieldundef{#1year} - {} + {\blx@nounit} {\printtext[#1date]{% \blx@isodate{#1}{}% \ifboolexpr{% @@ -5562,7 +5824,7 @@ \blx@metadateinfo{#1}% \def\bibdatetimesep{T}% \iffieldundef{#1year} - {} + {\blx@nounit} {\printtext[#1date]{% \blx@isodate[extradate]{#1}{}% \ifboolexpr{% @@ -5601,10 +5863,10 @@ {\hyphen\blx@seasonmap{\thefield{#2#3season}}}} \def\blx@seasonmap#1{% - \blx@xifstrcmp{#1}{spring}{21} - {\blx@xifstrcmp{#1}{summer}{22} - {\blx@xifstrcmp{#1}{autumn}{23} - {\blx@xifstrcmp{#1}{winter}{24}{}}}}} + \blx@xifstrequal{#1}{spring}{21} + {\blx@xifstrequal{#1}{summer}{22} + {\blx@xifstrequal{#1}{autumn}{23} + {\blx@xifstrequal{#1}{winter}{24}{}}}}} \newrobustcmd*{\blx@isotime}[2]{% \blx@imc@forcezerosmdt{\thefield{#1#2hour}}% @@ -5614,6 +5876,11 @@ {\mkbibtimezone{\thefield{#1#2timezone}}} {}} +% some sane defaults for bibliography extras +% many of these should be redefined in the .lbx files +% all .lbx files should have date and time handling, so the fallback values +% issue a warning to make people aware of the deficiency in their file +% \mkbibordinal should also only be used if it is defined, so it warns as well % times \newrobustcmd*{\bibtimesep}{:} \newrobustcmd*{\bibtimerangesep}{\textendash} @@ -5633,19 +5900,132 @@ \newrobustcmd*{\bibrangedash}{\textendash} \newrobustcmd*{\bibrangessep}{,\space} % formatters -\newrobustcmd*{\mkbibtimezone}[1]{\blx@xifstrcmp{#1}{UTC}{\bibutctimezone}{#1}} -\newrobustcmd*{\mkbibdatelong}[3]{} -\newrobustcmd*{\mkbibdateshort}[3]{} -\newrobustcmd*{\mkbibseasondateshort}[2]{} -\newrobustcmd*{\mkbibseasondatelong}[2]{} -\expandafter\newrobustcmd\expandafter*\csname mkbibtime24h\endcsname[4]{} -\expandafter\newrobustcmd\expandafter*\csname mkbibtime12h\endcsname[4]{} +\newrobustcmd*{\mkbibtimezone}[1]{\blx@xifstrequal{#1}{Z}{\bibutctimezone}{#1}} +% you should never end up needing the next few definitions +% but it is safer to do something than just swallow the input +\newrobustcmd*{\mkbibdatelong}[3]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibdatelong.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibdatelong + }% + \iffieldundef{#3} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}} + +\newrobustcmd*{\mkbibdateshort}[3]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibdateshort.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibdateshort + }% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{/}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{/}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}} + +\expandafter\newrobustcmd\expandafter*\csname mkbibtime24h\endcsname[4]{% + \blx@warning@noline{% + Using fallback definition for + \expandafter\string\csname mkbibtime24h\endcsname.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \expandafter\string\csname mkbibtime24h\endcsname + }% + \iffieldundef{#1}{} + {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}% + \iffieldundef{#2}{} + {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}% + \iffieldundef{#3}{} + {\printtext{\mktimezeros{\thefield{#3}}}}% + \setunit{}% + \iffieldundef{#4}{} + {\bibtimezonesep + \mkbibtimezone{\thefield{#4}}}} + +\expandafter\newrobustcmd\expandafter*\csname mkbibtime12h\endcsname[4]{% + \blx@warning@noline{% + Using fallback definition for + \expandafter\string\csname mkbibtime12h\endcsname.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \expandafter\string\csname mkbibtime12h\endcsname + }% + \stripzeros{\mktimehh{\thefield{#1}}}% + \bibtimesep + \forcezerosmdt{\thefield{#2}}% + \iffieldundef{#3}{} + {\bibtimesep + \forcezeros{\thefield{#3}}}% + \space + \ifnumless{\thefield{#1}}{12} + {\bibstring{am}} + {\bibstring{pm}}% + \iffieldundef{#4}{} + {\space\bibtimezonesep + \parentext{\mkbibtimezone{\thefield{#4}}}}} + +\newrobustcmd*{\mkbibseasondateshort}[2]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibseasondateshort.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibseasondateshort + }% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}} + +\newrobustcmd*{\mkbibseasondatelong}[2]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibseasondatelong.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibseasondatelong + }% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}} + \newrobustcmd*{\finalandcomma}{} \newrobustcmd*{\finalandsemicolon}{} -\newrobustcmd*{\mkbibordinal}[1]{#1} +\newrobustcmd*{\mkbibordinal}[1]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibordinal.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibordinal + }% + #1% +} \newrobustcmd*{\mkbibmascord}{\mkbibordinal} \newrobustcmd*{\mkbibfemord}{\mkbibordinal} \newrobustcmd*{\mkbibneutord}{\mkbibordinal} +% the following is usually not redefined in an .lbx \newrobustcmd*{\mkbibseason}[1]{\abx@bibseason{#1}} \newrobustcmd*{\mkbibmonth}[1]{% \ifcase0#1\relax @@ -5669,24 +6049,36 @@ % strip leading zeros and prepend zero for month/day/timeparts % Allow for non numeric labelyear values \protected\def\blx@imc@forcezerosmdt#1{% - \IfInteger{#1} - {\ifnumless{#1}{10} - {0\the\numexpr(#1)\relax} - {#1}} + \protected@edef\blx@tempa{#1}% + \expandafter\blx@imc@forcezerosmdt@i\expandafter{\blx@tempa}} + +\protected\def\blx@imc@forcezerosmdt@i#1{% + \notblank{#1} + {\blx@imc@ifinteger{#1} + {\ifnumless{#1}{10} + {0\the\numexpr(#1)\relax} + {#1}} + {#1}} {#1}} % strip leading zeros and prepend zero(s) for year % Allow for non numeric labelyear values \protected\def\blx@imc@forcezerosy#1{% - \IfInteger{#1} - {\ifnumless{#1}{10}% 1-digit year - {000\the\numexpr(#1)\relax} - {\ifnumless{#1}{100}% 2-digit year - {00\the\numexpr(#1)\relax} - {\ifnumless{#1}{1000}% 3-digit year - {0\the\numexpr(#1)\relax} - {#1}}}} - {#1}} + \protected@edef\blx@tempa{#1}% + \expandafter\blx@imc@forcezerosy@i\expandafter{\blx@tempa}} + +\protected\def\blx@imc@forcezerosy@i#1{% + \notblank{#1} + {\blx@imc@ifinteger{#1} + {\ifnumless{#1}{10}% 1-digit year + {000\the\numexpr(#1)\relax} + {\ifnumless{#1}{100}% 2-digit year + {00\the\numexpr(#1)\relax} + {\ifnumless{#1}{1000}% 3-digit year + {0\the\numexpr(#1)\relax} + {#1}}}} + {#1}} + {#1}}% \let\blx@imc@mkyearzeros\blx@imc@forcezerosy \let\blx@imc@mkmonthzeros\blx@imc@forcezerosmdt @@ -5711,7 +6103,9 @@ \let\blx@imc@printlabeltime\@empty \let\blx@imc@printlabeldateextra\@empty -\blx@regimcs{\printlabeldate \printlabeltime \printlabeldateextra \stripzeros \forcezerosy \forcezerosmdt \mkyearzeros \mkmonthzeros \mkdayzeros \mktimezeros} +\blx@regimcs{\printlabeldate \printlabeltime \printlabeldateextra + \stripzeros \forcezerosy \forcezerosmdt + \mkyearzeros \mkmonthzeros \mkdayzeros \mktimezeros} % User macro for retrieving currrent language \def\currentlang{\blx@languagename} @@ -6010,7 +6404,7 @@ % '', event, url, orig etc. \def\do#1{% - \StrCut{#1}{date}\blx@datetype\blx@tempnull + \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 @@ -6058,7 +6452,7 @@ % to biblatex. For options which only biber needs to see, they can be % passed to the .bcf directly using \blx@collectopts % [<datatype>]{<key>}[<value>]{<code>} -\newrobustcmd*{\DeclareBibliographyOption}[2][]{ +\newrobustcmd*{\DeclareBibliographyOption}[2][]{% \ifblank{#1} {\def\blx@tempa{boolean}} {\ifcsundef{blx@globalopts@#1} @@ -6121,7 +6515,7 @@ % Sanity check on date field names - they *must* end in 'date' to make things easier/possible later \def\do#1{% - \IfEndWith{#1}{date} + \blx@ifstrendswith{#1}{date} {} {\blx@error {Invalid date field name '#1'} @@ -6207,6 +6601,7 @@ \do{entrysetcount}% \do{entrytype}% \do{extraalpha}% + \do{extraname}% \do{extratitle}% \do{extratitleyear}% \do{extradate}% @@ -6233,6 +6628,7 @@ \do{uniquebaretitle}% \do{uniquework}% \do{uniqueprimaryauthor}% + \do{nocite}% \dolistloop\blx@datemetabooleans} % Date datatype fields @@ -6298,10 +6694,10 @@ \iffieldnum{#1} {\begingroup \let\blx@tempa\@empty - \IfEndWith{#1}{endyear} - {\StrCut{#1}{endyear}\blx@datetype\blx@tempnull + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype \def\blx@tempa{end}} - {\StrCut{#1}{year}\blx@datetype\blx@tempnull}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% \csuse{if\blx@datetype\blx@tempa dateera}{bce} {\ifnumless{0-\thefield{#1}}{0} {\printtext{\csuse{bibdateera\blx@tempa prefix}}} @@ -6313,10 +6709,10 @@ \iffieldnum{#1} {\begingroup \let\blx@tempa\@empty - \IfEndWith{#1}{endyear} - {\StrCut{#1}{endyear}\blx@datetype\blx@tempnull + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype \def\blx@tempa{end}} - {\StrCut{#1}{year}\blx@datetype\blx@tempnull}% + {\blx@stripfromendinto{#1}{year}\blx@datetype}% \csuse{if\blx@datetype\blx@tempa dateera}{bce} {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto % \midsentence is to suppress automatic capitalisation @@ -6722,59 +7118,188 @@ \catcode\endlinechar=12\relax \blx@bbl@verbadd@i} -% {<scope>}{<field>}{<itemcount>}{<part>}{<value>} -\protected\def\blx@bbl@annotationdef#1#2#3#4#5{% +% {<scope>}{<field>}{<name>}{<itemcount>}{<part>}{<isliteral>}{<value>} +\protected\def\blx@bbl@annotationdef#1#2#3#4#5#6#7{% \ifstrequal{#1}{field} {\csxappto\blx@bbl@data{% - \listadd\noexpand\abx@annotation@defined{#1@#2}% - \def\do####1{\listcsadd{abx@annotation@#1@#2}{####1}}% - \docsvlist{#5}}} + \listadd\noexpand\abx@annotation@defined{field@#2@#3}}% + \ifstrequal{#6}{1} + {\csgappto\blx@bbl@data{% + \csdef{abx@annotation@literal@field@#2@#3}{#7}}} + {\csxappto\blx@bbl@data{% + \def\do####1{\listcsadd{abx@annotation@field@#2@#3}{####1}}% + \docsvlist{#7}}}} {}% \ifstrequal{#1}{item} {\csxappto\blx@bbl@data{% - \listadd\noexpand\abx@annotation@defined{#1@#2@#3}% - \def\do####1{\listcsadd{abx@annotation@#1@#2@#3}{####1}}% - \docsvlist{#5}}} + \listadd\noexpand\abx@annotation@defined{item@#2@#3@#4}}% + \ifstrequal{#6}{1} + {\csgappto\blx@bbl@data{% + \csdef{abx@annotation@literal@item@#2@#3@#4}{#7}}} + {\csxappto\blx@bbl@data{% + \def\do####1{\listcsadd{abx@annotation@item@#2@#3@#4}{####1}}% + \docsvlist{#7}}}} {}% \ifstrequal{#1}{part} {\csxappto\blx@bbl@data{% - \listadd\noexpand\abx@annotation@defined{#1@#2@#3@#4}% - \def\do####1{\listcsadd{abx@annotation@#1@#2@#3@#4}{####1}}% - \docsvlist{#5}}} + \listadd\noexpand\abx@annotation@defined{part@#2@#3@#4@#5}}% + \ifstrequal{#6}{1} + {\csgappto\blx@bbl@data{% + \csdef{abx@annotation@literal@part@#2@#3@#4@#5}{#7}}} + {\csxappto\blx@bbl@data{% + \def\do####1{\listcsadd{abx@annotation@part@#2@#3@#4@#5}{####1}}% + \docsvlist{#7}}}} {}} -% [<field>]{<annotation>} -\newcommand*{\blx@imc@iffieldannotation}[2][]{% - \ifblank{#1} - {\ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% - \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% - \ifdefvoid\currentname{}{\let\blx@tempa\currentname}} - {\def\blx@tempa{#1}}% - \blx@resolve@annotation@label{\blx@tempa}% - \ifinlistcs{#2}{abx@annotation@field@\blx@tempa}} +% [<field>][<annotationname>] +\def\blx@imc@getfieldannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] + {\blx@imc@getfieldannotation@i} + {\blx@imc@getfieldannotation@i[\blx@tempa]}} -% [<field>][<item>]{<annotation>} -\def\blx@imc@ifitemannotation{% +\def\blx@imc@getfieldannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@getfieldannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@getfieldannotation@ii{#1}} + {\blx@imc@getfieldannotation@ii{#1}[default]}}} + +\def\blx@imc@getfieldannotation@ii#1[#2]{% + \def\blx@tempb{#1}% + \blx@resolve@annotation@label{\blx@tempb}% + \ifcsdef{abx@annotation@literal@field@\blx@tempb @#2} + {\csuse{abx@annotation@literal@field@\blx@tempb @#2}} + {}} + +% [<field>][<annotationname>][<item>] +\def\blx@imc@getitemannotation{% + \let\blx@tempa\@empty \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% \@ifnextchar[%] + {\blx@imc@getitemannotation@i} + {\blx@imc@getitemannotation@i[\blx@tempa]}} + +\def\blx@imc@getitemannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@getitemannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@getitemannotation@ii{#1}} + {\blx@imc@getitemannotation@ii{#1}[default]}}} + +\def\blx@imc@getitemannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% + \@ifnextchar[%] + {\blx@imc@getitemannotation@iii{#1}{\blx@tempb}} + {\blx@imc@getitemannotation@iii{#1}{\blx@tempb}[\the\value{listcount}]}} + +\def\blx@imc@getitemannotation@iii#1#2[#3]{% + \def\blx@tempc{#1}% + \blx@resolve@annotation@label{\blx@tempc}% + \ifcsdef{abx@annotation@literal@item@\blx@tempc @#2@#3} + {\csuse{abx@annotation@literal@item@\blx@tempc @#2@#3}} + {}} + +% [<field>][<annotationname>][<item>]{<part>} +\def\blx@imc@getpartannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] + {\blx@imc@getpartannotation@i} + {\blx@imc@getpartannotation@i[\blx@tempa]}} + +\def\blx@imc@getpartannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@getpartannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@getpartannotation@ii{#1}} + {\blx@imc@getpartannotation@ii{#1}[default]}}} + +\def\blx@imc@getpartannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% + \@ifnextchar[%] + {\blx@imc@getpartannotation@iii{#1}{\blx@tempb}} + {\blx@imc@getpartannotation@iii{#1}{\blx@tempb}[\the\value{listcount}]}} + +\def\blx@imc@getpartannotation@iii#1#2[#3]#4{% + \ifstrempty{#3} + {\def\blx@tempc{\the\value{listcount}}} + {\def\blx@tempc{#3}}% + \def\blx@tempd{#1}% + \blx@resolve@annotation@label{\blx@tempd}% + \ifcsdef{abx@annotation@literal@part@\blx@tempd @#2@\blx@tempc @#4} + {\csuse{abx@annotation@literal@part@\blx@tempd @#2@\blx@tempc @#4}} + {}} + +% [<field>][<annotationname>]{<annotation>} +\def\blx@imc@iffieldannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] + {\blx@imc@iffieldannotation@i} + {\blx@imc@iffieldannotation@i[\blx@tempa]}} + +\def\blx@imc@iffieldannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@iffieldannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@iffieldannotation@ii{#1}} + {\blx@imc@iffieldannotation@ii{#1}[default]}}} + +\def\blx@imc@iffieldannotation@ii#1[#2]#3{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% + \def\blx@tempc{#1}% + \blx@resolve@annotation@label{\blx@tempc}% + \ifinlistcs{#3}{abx@annotation@field@\blx@tempc @\blx@tempb}} + +% [<field>][<annotationname>][<item>]{<annotation>} +\def\blx@imc@ifitemannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] {\blx@imc@ifitemannotation@i} - {\blx@imc@ifitemannotation@i[\blx@tempa]} -} + {\blx@imc@ifitemannotation@i[\blx@tempa]}} \def\blx@imc@ifitemannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@ifitemannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@ifitemannotation@ii{#1}} + {\blx@imc@ifitemannotation@ii{#1}[default]}}} + +\def\blx@imc@ifitemannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% \@ifnextchar[%] - {\blx@imc@ifitemannotation@ii{#1}} - {\blx@imc@ifitemannotation@ii{#1}[\the\value{listcount}]}} + {\blx@imc@ifitemannotation@iii{#1}{\blx@tempb}} + {\blx@imc@ifitemannotation@iii{#1}{\blx@tempb}[\the\value{listcount}]}} -\def\blx@imc@ifitemannotation@ii#1[#2]#3{% - \def\blx@tempb{#1}% - \blx@resolve@annotation@label{\blx@tempb}% - \ifinlistcs{#3}{abx@annotation@item@\blx@tempb @#2}} +\def\blx@imc@ifitemannotation@iii#1#2[#3]#4{% + \def\blx@tempc{#1}% + \blx@resolve@annotation@label{\blx@tempc}% + \ifinlistcs{#4}{abx@annotation@item@\blx@tempc @#2@#3}} -% [<field>][<item>]{<part>}{<annotation>} +% [<field>][<annotationname>][<item>]{<part>}{<annotation>} \def\blx@imc@ifpartannotation{% + \let\blx@tempa\@empty \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% @@ -6783,30 +7308,164 @@ {\blx@imc@ifpartannotation@i[\blx@tempa]}} \def\blx@imc@ifpartannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@ifpartannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@ifpartannotation@ii{#1}} + {\blx@imc@ifpartannotation@ii{#1}[default]}}} + +\def\blx@imc@ifpartannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% \@ifnextchar[%] - {\blx@imc@ifpartannotation@ii{#1}} - {\blx@imc@ifpartannotation@ii{#1}[\the\value{listcount}]}} + {\blx@imc@ifpartannotation@iii{#1}{\blx@tempb}} + {\blx@imc@ifpartannotation@iii{#1}{\blx@tempb}[\the\value{listcount}]}} -\def\blx@imc@ifpartannotation@ii#1[#2]#3#4{% - \def\blx@tempb{#1}% - \blx@resolve@annotation@label{\blx@tempb}% - \ifinlistcs{#4}{abx@annotation@part@\blx@tempb @#2@#3}} +\def\blx@imc@ifpartannotation@iii#1#2[#3]#4#5{% + \ifstrempty{#3} + {\def\blx@tempc{\the\value{listcount}}} + {\def\blx@tempc{#3}}% + \def\blx@tempd{#1}% + \blx@resolve@annotation@label{\blx@tempd}% + \ifinlistcs{#5}{abx@annotation@part@\blx@tempd @#2@\blx@tempc @#4}} + +% [<field>][<annotationname>] +\def\blx@imc@hasfieldannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] + {\blx@imc@hasfieldannotation@i} + {\blx@imc@hasfieldannotation@i[\blx@tempa]}} + +\def\blx@imc@hasfieldannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@hasfieldannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@hasfieldannotation@ii{#1}} + {\blx@imc@hasfieldannotation@ii{#1}[default]}}} + +\def\blx@imc@hasfieldannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% + \def\blx@tempc{#1}% + \blx@resolve@annotation@label{\blx@tempc}% + \ifcsdef{abx@annotation@literal@field@\blx@tempc @\blx@tempb}} + +% [<field>][<annotationname>][<item>] +\def\blx@imc@hasitemannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] + {\blx@imc@hasitemannotation@i} + {\blx@imc@hasitemannotation@i[\blx@tempa]}} + +\def\blx@imc@hasitemannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@hasitemannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@hasitemannotation@ii{#1}} + {\blx@imc@hasitemannotation@ii{#1}[default]}}} + +\def\blx@imc@hasitemannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% + \@ifnextchar[%] + {\blx@imc@hasitemannotation@iii{#1}{\blx@tempb}} + {\blx@imc@hasitemannotation@iii{#1}{\blx@tempb}[\the\value{listcount}]}} + +\def\blx@imc@hasitemannotation@iii#1#2[#3]{% + \def\blx@tempc{#1}% + \blx@resolve@annotation@label{\blx@tempc}% + \ifcsdef{abx@annotation@literal@item@\blx@tempc @#2@#3}} + +% [<field>][<annotationname>][<item>]{<part>} +\def\blx@imc@haspartannotation{% + \let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \@ifnextchar[%] + {\blx@imc@haspartannotation@i} + {\blx@imc@haspartannotation@i[\blx@tempa]}} + +\def\blx@imc@haspartannotation@i[#1]{% + \ifstrempty{#1} + {\blx@imc@haspartannotation@i[\blx@tempa]} + {\@ifnextchar[%] + {\blx@imc@haspartannotation@ii{#1}} + {\blx@imc@haspartannotation@ii{#1}[default]}}} + +\def\blx@imc@haspartannotation@ii#1[#2]{% + \ifstrempty{#2} + {\def\blx@tempb{default}} + {\def\blx@tempb{#2}}% + \@ifnextchar[%] + {\blx@imc@haspartannotation@iii{#1}{\blx@tempb}} + {\blx@imc@haspartannotation@iii{#1}{\blx@tempb}[\the\value{listcount}]}} + +\def\blx@imc@haspartannotation@iii#1#2[#3]#4{% + \ifstrempty{#3} + {\def\blx@tempc{\the\value{listcount}}} + {\def\blx@tempc{#3}}% + \def\blx@tempd{#1}% + \blx@resolve@annotation@label{\blx@tempd}% + \ifcsdef{abx@annotation@literal@part@\blx@tempd @#2@\blx@tempc @#4}} -% {<datetype>}{<annotation>} % labeldatesource has a slightly different format than other <field>sources % that's one reason for a dedicated command, the other being that this command % is probably only used in contexts where \currentfield is not defined, so % the <datetype> argument is always required -\newcommand*{\blx@imc@ifdateannotation}[2]{% - \def\blx@tempa{#1}% - \ifcsundef{abx@field@\blx@tempa source} +% [<annotationname>]{<datetype>}{<annotation>} +\newcommand*{\blx@imc@ifdateannotation}[3][]{% + \ifblank{#1} + {\def\blx@tempa{default}} + {\def\blx@tempa{#1}}% + \def\blx@tempb{#2}% + \ifcsundef{abx@field@\blx@tempb source} {}% - {\letcs\blx@tempa{abx@field@\blx@tempa source}% - \edef\blx@tempa{\blx@tempa date}}% - \ifinlistcs{#2}{abx@annotation@field@\blx@tempa}} + {\letcs\blx@tempa{abx@field@\blx@tempb source}% + \edef\blx@tempb{\blx@tempb date}}% + \ifinlistcs{#3}{abx@annotation@field@\blx@tempb @\blx@tempa}} + +% [<annotationname>]{<datetype>} +\newcommand*{\blx@imc@hasdateannotation}[2][]{% + \ifblank{#1} + {\def\blx@tempa{default}} + {\def\blx@tempa{#1}}% + \def\blx@tempb{#2}% + \ifcsundef{abx@field@\blx@tempb source} + {}% + {\letcs\blx@tempa{abx@field@\blx@tempb source}% + \edef\blx@tempb{\blx@tempb date}}% + \ifboolexpr { test {\ifcsdef{abx@annotation@field@\blx@tempb @\blx@tempa}} + or + test {\ifcsdef{abx@annotation@literal@field@\blx@tempb @\blx@tempa}} }} + +% [<annotationname>]{<datetype>} +\newcommand*{\blx@imc@getdateannotation}[2][]{% + \ifblank{#1} + {\def\blx@tempa{default}} + {\def\blx@tempa{#1}}% + \def\blx@tempb{#1}% + \ifcsundef{abx@field@\blx@tempb source} + {}% + {\letcs\blx@tempb{abx@field@\blx@tempb source}% + \edef\blx@tempb{\blx@tempb date}}% + \ifcsdef{abx@annotation@literal@field@\blx@tempb @\blx@tempa} + {\csuse{abx@annotation@literal@field@\blx@tempb @\blx@tempa}} + {}} \blx@regimcs{\iffieldannotation \ifitemannotation \ifpartannotation - \ifdateannotation} + \ifdateannotation \getfieldannotation \getitemannotation \getpartannotation + \getdateannotation \hasfieldannotation \hasitemannotation \haspartannotation + \hasdateannotation} % {<fieldname>} \def\blx@resolve@annotation@label#1{% @@ -6902,10 +7561,8 @@ % {<keyword>,...} \protected\def\blx@bbl@keyw#1{% - \iftoggle{blx@skipbib} - {} - {\forcsvlist{\blx@addkeyword{\abx@field@entrykey}}{#1}% - \blx@bbl@fielddef{keywords}{#1}}} + \forcsvlist{\blx@addkeyword{\abx@field@entrykey}}{#1}% + \blx@bbl@fielddef{keywords}{#1}} \def\blx@addkeyword#1#2{% \listcsxadd{blx@keyw@\the\c@refsection @\detokenize{#2}}{#1}} @@ -7269,20 +7926,21 @@ {}% \nottoggle{blx@skiplab} {\iftoggle{blx@labelnumber} - {\blx@bbl@labelnumber} - {}% - \iftoggle{blx@labelalpha} - {\blx@bbl@labelalpha} - {}% - \iftoggle{blx@labeltitle} - {\blx@bbl@labeltitle} - {}% - \iftoggle{blx@labeltitleyear} - {\blx@bbl@labeltitleyear} - {}% - \iftoggle{blx@labeldateparts} - {\blx@bbl@labeldate} - {}} + {\blx@bbl@labelnumber} + {}% + \iftoggle{blx@labelalpha} + {\blx@bbl@labelalpha} + {}% + \iftoggle{blx@labeltitle} + {\blx@bbl@labeltitle} + {}% + \iftoggle{blx@labeltitleyear} + {\blx@bbl@labeltitleyear} + {}% + \iftoggle{blx@labeldateparts} + {\blx@bbl@labeldate} + {}% + \blx@bbl@labelname} {}% \blx@bbl@titles \blx@bbl@hooks @@ -7301,7 +7959,7 @@ {\letcs\blx@tempa{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}% \global\cslet{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}\@empty \forlistloop\blx@addset@i\blx@tempa} - {\PackageWarningNoLine{biblatex}{Sorting template has changed}}% + {\blx@warning@noline{Sorting template has changed}}% \endgroup} \def\blx@addset@i#1{% @@ -7470,6 +8128,13 @@ \global\c@maxextratitleyear\abx@field@extratitleyear\relax \fi}} +\def\blx@bbl@labelname{% + \ifundef\abx@field@extraname + {} + {\ifnum\abx@field@extraname>\c@maxextraname + \global\c@maxextraname\abx@field@extraname\relax + \fi}} + \def\blx@bbl@labeldate{% \ifundef\abx@field@extradate {} @@ -7555,7 +8220,7 @@ % {<refcontext>} % Get the saved information on which refcontexts were mentioned last run \protected\def\abx@aux@refcontext#1{% - \listgadd\blx@lastrefcontexts{#1}} + \listxadd\blx@lastrefcontexts{\detokenize{#1}}} % {<sortingtemplatename>} % Get the saved information on which shorthand sorting templates were mentioned last run @@ -8202,7 +8867,7 @@ {} {\listxadd\blx@dlistnames{\blx@refcontext@context @\blx@tempe @entry}% \csxappto{blx@dlists}{% - \blx@xml@dlist{\blx@refcontext@context}{entry}{\blx@tempe}{\blx@xml@dlist@refcontext{\blx@refcontext@sortingtemplatename}{\blx@refcontext@sortingnamekeytemplatename}{\blx@refcontext@labelprefix}{\blx@refcontext@uniquenametemplatename}{\blx@refcontext@labelalphanametemplatename}}{}}}% + \blx@xml@dlist{\blx@refcontext@context}{entry}{\blx@tempe}{\blx@xml@dlist@refcontext{\blx@refcontext@sortingtemplatename}{\blx@refcontext@sortingnamekeytemplatename}{\blx@refcontext@labelprefix@real}{\blx@refcontext@uniquenametemplatename}{\blx@refcontext@labelalphanametemplatename}}{}}}% \ifdefvoid\blx@tempa {\blx@warn@bibempty\endgroup} {\blx@bibliography\blx@tempa}} @@ -8451,6 +9116,17 @@ \let\blx@bibcheck\relax +\def\blx@edef@refcontext#1{% + \edef\blx@refcontext@context{#1}% + \expandafter\edef\expandafter\blx@refcontext@context\expandafter{% + \expandafter\detokenize\expandafter{\blx@refcontext@context}}} + +\def\blx@xdef@refcontext#1{% + \edef\blx@refcontext@context{#1}% + \expandafter\xdef\expandafter\blx@refcontext@context\expandafter{% + \expandafter\detokenize\expandafter{\blx@refcontext@context}}} + + % This sets and saves to the .aux the default refcontext for an entry. The % default refcontext for an entry is the refcontext of the last % bibliography in the refsection in which it is actually printed. This @@ -8468,7 +9144,7 @@ % <refsection><key><refcontext> \def\abx@aux@defaultrefcontext#1#2#3{% \global\boolfalse{refcontextdefaults}% - \csxdef{blx@assignedrefcontextbib@#1@#2}{#3}} + \csxdef{blx@assignedrefcontextbib@#1@#2}{\detokenize{#3}}} \def\abx@aux@refcontextdefaultsdone{% \global\boolfalse{refcontextdefaults}} @@ -8609,9 +9285,12 @@ \ifcsdef{blx@sortingtemplate@#2} {#2} {\blx@refcontext@sortingtemplatename}}% - % locally define this since we want to fetch data from the datalist named - % after the list we are printing rather than the data in refcontext list - \edef\blx@refcontext@context{\blx@tempc/\blx@refcontext@sortingnamekeytemplatename/\blx@refcontext@labelprefix/\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}% + % locally define this since we want to fetch data from the datalist named + % after the list we are printing rather than the data in refcontext list + % Note that the name must be unique so we prepend "#2:" because the combination of + % options might not generate a unique name since sortschemename has a fallback to the + % refcontext scheme if there is no sortscheme named after the list + \blx@edef@refcontext{#2:\blx@tempc/\blx@refcontext@sortingnamekeytemplatename/\blx@refcontext@labelprefix/\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}% \xifinlist\blx@tempc\blx@sortingtemplatenames {} {\listxadd\blx@sortingtemplatenames\blx@tempc}% @@ -8642,8 +9321,8 @@ \xifinlist{\blx@refcontext@context @\blx@tempe @list}\blx@dlistnames {} {\listxadd\blx@dlistnames{\blx@refcontext@context @\blx@tempe @list}% - \csxappto{blx@dlists}{% - \blx@xml@dlist{\blx@refcontext@context}{list}{\blx@tempe}{\blx@xml@dlist@refcontext{\blx@tempc}{\blx@refcontext@sortingnamekeytemplatename}{\blx@refcontext@labelprefix}{\blx@refcontext@uniquenametemplatename}{\blx@refcontext@labelalphanametemplatename}}{\csuse{blx@biblistfilters@\blx@thebiblistfilter}}}}% + \xappto\blx@dlists{% + \blx@xml@dlist{\blx@refcontext@context}{list}{\blx@tempe}{\blx@xml@dlist@refcontext{\blx@tempc}{\blx@refcontext@sortingnamekeytemplatename}{\blx@refcontext@labelprefix@real}{\blx@refcontext@uniquenametemplatename}{\blx@refcontext@labelalphanametemplatename}}{\csuse{blx@biblistfilters@\blx@thebiblistfilter}}}}% \ifdefvoid\blx@tempa {\blx@warn@biblistempty{#2}\endgroup} {\blx@biblist\blx@tempa}} @@ -8759,7 +9438,7 @@ \xifinlist\blx@refcontext@sortingtemplatename\blx@sortingtemplatenames {} {\listxadd\blx@sortingtemplatenames\blx@refcontext@sortingtemplatename}% - \xdef\blx@refcontext@context{\blx@refcontext@sortingtemplatename/\blx@refcontext@sortingnamekeytemplatename/\blx@refcontext@labelprefix/\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}% + \blx@xdef@refcontext{\blx@refcontext@sortingtemplatename/\blx@refcontext@sortingnamekeytemplatename/\blx@refcontext@labelprefix/\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}% % Add the refcontext to the list of refcontexts so we can compare on next run \xifinlist\blx@refcontext@context\blx@refcontexts {} @@ -8782,11 +9461,12 @@ \protected\def\endrefcontext{% \togglefalse{blx@refcontext}% \global\let\blx@refcontext@labelprefix\@empty + \global\let\blx@refcontext@labelprefix@real\@empty \xdef\blx@refcontext@sortingtemplatename{\blx@sorting}% \gdef\blx@refcontext@sortingnamekeytemplatename{global}% \gdef\blx@refcontext@uniquenametemplatename{global}% \gdef\blx@refcontext@labelalphanametemplatename{global}% - \xdef\blx@refcontext@context{\blx@refcontext@sortingtemplatename/\blx@refcontext@sortingnamekeytemplatename//\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}} + \blx@xdef@refcontext{\blx@refcontext@sortingtemplatename/\blx@refcontext@sortingnamekeytemplatename//\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}} % Meta option to set all name template options \define@key{blx@refcontext}{nametemplates}{% @@ -8798,8 +9478,16 @@ \define@key{blx@refcontext}{sortingnamekeytemplatename}{\gdef\blx@refcontext@sortingnamekeytemplatename{#1}} \define@key{blx@refcontext}{uniquenametemplatename}{\gdef\blx@refcontext@uniquenametemplatename{#1}} \define@key{blx@refcontext}{labelalphanametemplatename}{\gdef\blx@refcontext@labelalphanametemplatename{#1}} + +% labelprefix cannot be used as is because it is used to construct the internal +% refcontext name which is referenced/expanded a lot all over the place. So, +% we hash the given input and use the safe hash as internal name. +% But that is not enough since the MD5 hash function expands the argument all +% the way and so unexpandable content like \dag breaks. +% Unexpandable content should be protected with \detokenize. \define@key{blx@refcontext}{labelprefix}{% - \gdef\blx@refcontext@labelprefix{#1}% + \xdef\blx@refcontext@labelprefix{\blx@mdfivesum{#1}}% + \gdef\blx@refcontext@labelprefix@real{#1}% \iftoggle{blx@defernumbers} {}% {\iftoggle{blx@labelnumber} @@ -8823,7 +9511,8 @@ \setkeys{blx@assignrefcontext}{#2}% \def\do##1{% \listxadd\blx@assignedrefcontextkeywlist{##1}% - \csxdef{blx@assignedrefcontextkeyws#1@\the\c@refsection @##1}{\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}} + \csxdef{blx@assignedrefcontextkeyws#1@\the\c@refsection @##1}% + {\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% \docsvlist{#3}} % [refcontext keys]{<category1>,<category2>,...} @@ -8841,7 +9530,8 @@ \setkeys{blx@assignrefcontext}{#2}% \def\do##1{% \listxadd\blx@assignedrefcontextcatlist{##1}% - \csxdef{blx@assignedrefcontextcats#1@\the\c@refsection @##1}{\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}} + \csxdef{blx@assignedrefcontextcats#1@\the\c@refsection @##1}% + {\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% \docsvlist{#3}} % [refcontext keys]{<entrykey1>,<entrykey2>,...} @@ -8858,7 +9548,8 @@ \def\blx@tempe{global}% \setkeys{blx@assignrefcontext}{#2}% \def\do##1{% - \csxdef{blx@assignedrefcontextkeys#1@\the\c@refsection @##1}{\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% + \csxdef{blx@assignedrefcontextkeys#1@\the\c@refsection @##1}% + {\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% \docsvlist{#3}} % Meta option to set all name template options @@ -8869,7 +9560,8 @@ \define@key{blx@assignrefcontext}{sorting}{\def\blx@tempa{#1}} \define@key{blx@assignrefcontext}{sortingnamekeytemplatename}{\def\blx@tempb{#1}} -\define@key{blx@assignrefcontext}{labelprefix}{\def\blx@tempc{#1}} +\define@key{blx@assignrefcontext}{labelprefix}{% + \edef\blx@tempc{\blx@mdfivesum{#1}}} \define@key{blx@assignrefcontext}{uniquenametemplatename}{\def\blx@tempd{#1}} \define@key{blx@assignrefcontext}{labelalphanametemplatename}{\def\blx@tempe{#1}} @@ -8955,6 +9647,7 @@ \endgroup} \protected\def\endrefsection{% + \endrefcontext \blx@endrefsection \blx@inf@refsec} @@ -8969,11 +9662,11 @@ % Make sure this counter exists. Sometimes it might not when using, e.g: % refsection=chapter and \includeonly to put in the chapters or when % inserting citations into table of contents - \ifcsname blx@sectionciteorder@\the\c@refsection\endcsname\else - \expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname - \fi + \ifcscounter{blx@sectionciteorder@\the\c@refsection} + {} + {\expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname}% \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne - \blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{##1}{\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}% + \blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{##1}{}{\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}% \dolistcsloop{blx@keyaliases@\the\c@refsection}% \ifnum\c@refsection>\z@ \blx@auxwrite\blx@bcfout{}{% @@ -9047,22 +9740,36 @@ \def\blx@refpatch@chapter#1{% \ifundef\chapter {\blx@err@nodocdiv{chapter}} - {\pretocmd\@makechapterhead{#1} - {} - {\blx@err@patch{\string\@makechapterhead}} - \pretocmd\@makeschapterhead{#1} - {} - {\blx@err@patch{\string\@makeschapterhead}}}} + {% the \ifcsundef{KOMAClassName} should be redundant, but you never know + \ifboolexpr{test {\ifcsundef{KOMAClassName}} + or test {\ifcsundef{startsection@secnumdepth}}} + {\pretocmd\@makechapterhead{#1} + {} + {\blx@err@patch{\string\@makechapterhead}} + \pretocmd\@makeschapterhead{#1} + {} + {\blx@err@patch{\string\@makeschapterhead}}} + {% <- new KOMA >= 3.26 defines \startsection@secnumdepth + \At@startsection{\ifnumequal{\startsection@secnumdepth}{0}{#1}{}}}}} \def\blx@refpatch@sect#1{% \ifcsundef{#1} {\blx@err@nodocdiv{#1}\@gobbletwo} - {\blx@refpatch@sect@i}} + {% the \ifcsundef{KOMAClassName} should be redundant, but you never know + \ifboolexpr{test {\ifcsundef{KOMAClassName}} + or test {\ifcsundef{startsection@secnumdepth}}} + {\blx@refpatch@sect@i} + {\blx@refpatch@sect@koma}}} + +% KOMA >= 3.26 defines \startsection@secnumdepth to check the sectioning level, +% so we can now use \At@startsection +\def\blx@refpatch@sect@koma#1#2{% + \At@startsection{\ifnumequal{\startsection@secnumdepth}{#2}{#1}{}}} \edef\blx@refpatch@sect@i#1#2{% \def\noexpand\do##1{% - \pretocmd##1% - {\noexpand\blx@refpatch@sect@ii{#1}{#2}{\string#2}} + \pretocmd##1% + {\noexpand\blx@refpatch@sect@ii{#1}{#2}{\string#2}} {\togglefalse{blx@tempa}\noexpand\listbreak} {}}% \noexpand\blx@refpatch@sect@iii} @@ -9078,7 +9785,7 @@ \H@old@sect,% hyperref \NR@sect,% nameref \scr@sect,% koma-script 3.x - \scr@startsection,% bad hack for koma >= 3.15 + \scr@startsection,% bad hack for koma 3.15 <= v <= 3.25 \@startsection}% latex \iftoggle{blx@tempa} {\blx@err@patch{\string\@sect}} @@ -9137,6 +9844,8 @@ \def\blx@tempa{file}% \def\blx@tempb{bibtex}% \def\blx@tempc{local}% + \undef\blx@tempd + \let\blx@tempe\@empty \blx@xsanitizeafter{\forcsvlist\blx@addbib@legacy}{#1}% \endgroup} \@onlypreamble\bibliography @@ -9183,6 +9892,7 @@ \def\blx@tempb{bibtex}% \def\blx@tempc{local}% \undef\blx@tempd + \let\blx@tempe\@empty \setkeys{blx@addbib}{#2}% \blx@xsanitizeafter{#1}{#3}% \endgroup} @@ -9198,6 +9908,7 @@ \define@key{blx@addbib}{datatype}{\def\blx@tempb{#1}} \define@key{blx@addbib}{location}{\def\blx@tempc{#1}} \define@key{blx@addbib}{label}{\edef\blx@tempd{\detokenize{#1}}} +\define@key{blx@addbib}{bibencoding}{\def\blx@tempe{#1}} % \blx@res@type@<resource> resource -> type % \blx@res@data@<resource> resource -> datatype @@ -9208,6 +9919,7 @@ \csxdef{blx@res@type@#1}{\blx@tempa}% \csxdef{blx@res@data@#1}{\blx@tempb}% \csxdef{blx@res@loca@#1}{\blx@tempc}% + \csxdef{blx@res@bibencoding@#1}{\blx@tempe}% \ifdef\blx@tempd {\csxdef{blx@res@labl@\blx@tempd}{#1}} {}} @@ -9237,6 +9949,9 @@ {\ifcsdef{blx@res@data@#2} {\csuse{blx@res@data@#2}} {bibtex}} + {\ifcsvoid{blx@res@bibencoding@#2} + {} + { encoding="\csuse{blx@res@bibencoding@#2}"}} {#3}}} %% Citations @@ -9311,8 +10026,22 @@ \blx@loccitreset} % {<entrykey>}{<message>} +% Wrapper to track cite keys which are \nocited +\def\blx@nocitation#1#2{% + \ifinlist{#1}\blx@nocites + {} + {\listgadd\blx@nocites{#1}}% + \blx@citation@i{#1}{#2}} + +% {<entrykey>}{<message>} % Just a wrapper to suppress citation tracking in toc/lof etc. \def\blx@citation#1#2{% + \ifinlist{#1}\blx@directcites + {} + {\listgadd\blx@directcites{#1}}% + \blx@citation@i{#1}{#2}} + +\def\blx@citation@i#1#2{% \ifbool{citerequest} {\blx@citation@entry{#1}{#2}} {}} @@ -9338,6 +10067,12 @@ \protected\def\abx@aux@segm#1#2#3{% \listcsxadd{blx@segm@#1@#2}{\detokenize{#3}}} +\def\blx@nocitation@all{% + \ifinlist{*}\blx@nocites + {} + {\listgadd\blx@nocites{*}}% + \blx@citation@all} + \def\blx@citation@all{% \ifbool{citerequest} {\blx@bibreq{*}% @@ -9352,11 +10087,21 @@ \protected\def\blx@bibreq#1{% \begingroup \blx@xmlsanitizeafter{\def\blx@tempa}{#1}% + \let\blx@tempb\@empty + % Only output as \nocited if a key wasn't also directly \cite'd + % Since citekey output is sequential as cites are read, the .bcf might contain + % duplicate keys with differring nocite attributes if \nocite{X} and \cite{X} both occur + % but biber deals with this and priorities \cites + \ifboolexpr{test {\ifinlist{#1}\blx@nocites} + and + not test {\ifinlist{#1}\blx@directcites}} + {\def\blx@tempb{ nocite="1"}} + {}% % citeall is always order "0" - this makes no real difference as biber % ignores all other citekeys in the section if citeall is present \ifstrequal{*}{#1} - {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{0}}} - {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}% + {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{0}}} + {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}% \endgroup} % {<set>}{<key1,key2,key3>} @@ -9405,12 +10150,15 @@ \begingroup % This must be here and not after \blx@citeadd as this changes the refcontext \letcs\blx@tempb{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}% + \ifundef\blx@tempb + {\let\blx@tempb\@empty} + {}% % Make sure this counter exists. Sometimes it might not when using, e.g: % refsection=chapter and \includeonly to put in the chapters or when % inserting citations into table of contents - \ifcsname blx@sectionciteorder@\the\c@refsection\endcsname\else - \expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname - \fi + \ifcscounter{blx@sectionciteorder@\the\c@refsection} + {} + {\expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname}% \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne \blx@tempcnta\z@ \blx@tempcntb\z@ @@ -9450,6 +10198,9 @@ \def\blx@citenosort{% \let\blx@tempb\blx@tempa} +\def\abx@missing@entry#1{% + \abx@missing{#1}} + % {<entrykey>} \def\blx@citeadd#1{% \ifcsdef{blx@keyalias@\the\c@refsection @#1} @@ -9461,7 +10212,7 @@ {\advance\blx@tempcnta\@ne \listeadd\blx@tempa{\blx@realkey}} {\ifnum\blx@tempcntb>\z@\multicitedelim\fi - \expandafter\abx@missing\expandafter{\blx@realkey}% + \expandafter\abx@missing@entry\expandafter{\blx@realkey}% \advance\blx@tempcntb\@ne}} % set default refcontext for one citation key @@ -9478,7 +10229,7 @@ % refcontext defined \ifcsdef{blx@assignedrefcontextbib@\the\c@refsection @#1} {\letcs\blx@refcontext@context{blx@assignedrefcontextbib@\the\c@refsection @#1}} - {\edef\blx@refcontext@context{\blx@sorting/global//global/global}}% + {\blx@edef@refcontext{\blx@sorting/global//global/global}}% % assignment via keyword list \ifdef\blx@assignedrefcontextkeywlist {\def\do##1{% @@ -9594,10 +10345,35 @@ {}} % {<refsection>}{<entrykey>} +% set maxcitecounter as well, note that we also define a maxcitecounter across +% all refsections, but that does not have a high-level interface \protected\def\blx@aux@count#1#2{% - \csnumgdef{blx@count@#1@\detokenize{#2}}{\csuse{blx@count@#1@\detokenize{#2}}+1}} + \csnumgdef{blx@count@#1@\detokenize{#2}}{% + \csuse{blx@count@#1@\detokenize{#2}}+1}% + \ifnumgreater{\csuse{blx@count@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxcitecounter@#1}} + {\csnumgdef{blx@maxcitecounter@#1}{% + \csuse{blx@count@#1@\detokenize{#2}}}} + {}% + \ifnumgreater{\csuse{blx@count@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxcitecounter}} + {\csnumgdef{blx@maxcitecounter}{% + \csuse{blx@count@#1@\detokenize{#2}}}} + {}} + \protected\def\blx@aux@fncount#1#2{% - \csnumgdef{blx@fncount@#1@\detokenize{#2}}{\csuse{blx@fncount@#1@\detokenize{#2}}+1}} + \csnumgdef{blx@fncount@#1@\detokenize{#2}}{% + \csuse{blx@fncount@#1@\detokenize{#2}}+1}% + \ifnumgreater{\csuse{blx@fncount@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxfncitecounter@#1}} + {\csnumgdef{blx@maxfncitecounter@#1}{% + \csuse{blx@fncount@#1@\detokenize{#2}}}} + {}% + \ifnumgreater{\csuse{blx@fncount@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxfncitecounter}} + {\csnumgdef{blx@maxfncitecounter}{% + \csuse{blx@fncount@#1@\detokenize{#2}}}} + {}} \let\abx@aux@count\@gobbletwo \let\abx@aux@fncount\@gobbletwo @@ -9608,14 +10384,22 @@ \protected\def\blx@setcitecounter@global{% \c@citecounter0% - \csuse{blx@count@\the\c@refsection @\abx@field@entrykey}% + \csuse{blx@count@\the\c@refsection @\abx@field@entrykey}% + \relax + \c@maxcitecounter0% + \csuse{blx@maxcitecounter@\the\c@refsection}% \relax} \protected\def\blx@setcitecounter@context{% \c@citecounter0% - \iftoggle{blx@footnote} - {\csuse{blx@fncount@\the\c@refsection @\abx@field@entrykey}} - {\csuse{blx@count@\the\c@refsection @\abx@field@entrykey}}% + \iftoggle{blx@footnote} + {\csuse{blx@fncount@\the\c@refsection @\abx@field@entrykey}} + {\csuse{blx@count@\the\c@refsection @\abx@field@entrykey}}% + \relax + \c@maxcitecounter0% + \iftoggle{blx@footnote} + {\csuse{blx@maxfncitecounter@\the\c@refsection}} + {\csuse{blx@maxcitecounter@\the\c@refsection}}% \relax} % cite tracker @@ -10069,7 +10853,7 @@ \iftoggle{blx@bibliography} {} {\ifstrequal{*}{#1} - {\blx@citation@all} + {\blx@nocitation@all} {\blx@xsanitizeafter{\forcsvlist\blx@nocite@do}{#1}}}}% \@esphack} @@ -10077,11 +10861,11 @@ % Make sure this counter exists. Sometimes it might not when using, e.g: % refsection=chapter and \includeonly to put in the chapters or when % inserting citations into table of contents - \ifcsname blx@sectionciteorder@\the\c@refsection\endcsname\else - \expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname - \fi + \ifcscounter{blx@sectionciteorder@\the\c@refsection} + {} + {\expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname}% \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne - \blx@citation{#1}\blx@msg@cundef} + \blx@nocitation{#1}\blx@msg@cundef} % {<macro>}[<arg1>][<arg2>]{<arg3>} % => <macro>{<arg1>}{<arg2>}{<arg3>} @@ -10202,18 +10986,52 @@ {\blx@defcitecmd@ii{#2#1}}} \long\def\blx@defcitecmd@ii#1{% - \protected\csedef{blx@cite@#1}{\blxciteicmd{#1}}% - \blx@defcitecmd@iv{#1}} + \csundef{blx@defcite@wrapper@#1}% + \blx@defcitecmd@iv{#1}% + \blx@defcitecmd@v{#1}} \long\def\blx@defcitecmd@iii#1[#2]{% + \csdef{blx@defcite@wrapper@#1}{#2}% + \blx@defcitecmd@iv{#1}% + \blx@defcitecmd@v{#1}} + +\long\def\blx@defcitecmd@iv#1{% \protected\long\csedef{blx@cite@#1}##1##2##3##4{% - \begingroup - \blx@citeinit - \unexpanded{#2}{\blxciteicmd{#1}{##1}{##2}{##3}{}}% - ##4\endgroup}% - \blx@defcitecmd@iv{#1}} + \ifboolexpe{test {\ifcsundef{blx@defcite@wrapper@#1}} + and + (test {\ifcsundef{blx@citepunct@#1}} + or + test {\ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}})} + {} + {\begingroup + \blx@citeinit}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@l} + {\noexpand\unspace##4} + {}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@f} + {\noexpand\iftoggle{blx@footnote}{}{\unspace##4}} + {}% + \ifcsundef{blx@defcite@wrapper@#1} + {\blxciteicmd{#1}{##1}{##2}{##3}{% + \ifcsundef{blx@citepunct@#1}{##4}{}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}{##4}{}}} + {\csexpandonce{blx@defcite@wrapper@#1}{% + \blxciteicmd{#1}{##1}{##2}{##3}{% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}{##4}{}}}% + \ifcsundef{blx@citepunct@#1}{##4}{}}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@r}{##4}{}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@f} + {\noexpand\iftoggle{blx@footnote}{##4}{}} + {}% + \ifboolexpe{test {\ifcsundef{blx@defcite@wrapper@#1}} + and + (test {\ifcsundef{blx@citepunct@#1}} + or + test {\ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}})} + {} + {\endgroup}}} -\long\def\blx@defcitecmd@iv#1#2#3#4#5{% +\long\def\blx@defcitecmd@v#1#2#3#4#5{% \protected\long\csdef{blx@citei@#1}##1##2##3##4{% \ifblank{##1} {} @@ -10436,14 +11254,15 @@ \blx@citecmdinit \noexpand\@ifstar {\expandafter\noexpand - \csname blx@mcite@#4\endcsname*% + \csname blx@macitei@#1\endcsname*% \expandafter\noexpand - \csname blx@macitei@#1\endcsname} + \csname blx@maciteii@#1\endcsname} {\expandafter\noexpand - \csname blx@mcite@#4\endcsname{}% + \csname blx@macitei@#1\endcsname{}% \expandafter\noexpand - \csname blx@macitei@#1\endcsname}}% - \protected\csedef{blx@macitei@#1}##1##2##3{% + \csname blx@maciteii@#1\endcsname}}% + \csedef{blx@macitei@#1}{\csname blx@mcite@#4\endcsname}% + \protected\csedef{blx@maciteii@#1}##1##2##3{% \if l#2\noexpand\unspace##3\fi \if f#2\noexpand\iftoggle{blx@footnote}{}{\unspace##3}\fi ##1{##2}% @@ -10458,6 +11277,36 @@ {\let\blx@thecheckpunct\blx@checkpunct \def\blx@autopunct{#1}}} +% {<command>}{<pos marker>} +% pos markers are: +% l: move punctuation before the command (i.e. left of it) +% r: leave punctuation after the command (i.e. to the right) +% f: like l in normal text, like r in footnotes +% c: pass on to the cite command, +% the punctuation will eventually end up as field 'postpunct' +% d: discard the punctuation +% o (or any other value): restores the old standard behaviour +% r for wrapped citation commands, +% c for unwrapped ones +\newrobustcmd*{\DeclareCitePunctuationPosition}[2]{% + \begingroup + \escapechar\m@ne + \edef\blx@tempa{\endgroup + \noexpand\blx@defcitepunctpos@i{\string#1}{#2}}% + \blx@tempa} + +\def\blx@citepunctid@pos@l{l} +\def\blx@citepunctid@pos@r{r} +\def\blx@citepunctid@pos@f{f} +\def\blx@citepunctid@pos@c{c} +\def\blx@citepunctid@pos@d{d} + +\def\blx@defcitepunctpos@i#1#2{% + \ifcsundef{blx@citepunctid@pos@#2} + {\csundef{blx@citepunct@#1}} + {\csletcs{blx@citepunct@#1}{blx@citepunctid@pos@#2}}% + \blx@defcitecmd@iv{#1}} + \AfterEndPreamble{% babel \begingroup \makeatletter @@ -10637,6 +11486,7 @@ \def\ifuseprefix{\blx@TE{\iftoggle{blx@useprefix}}}% \def\ifterseinits{\blx@TE{\iftoggle{blx@terseinits}}}% \def\ifsingletitle{\blx@TE{\iftoggle{abx@bool@singletitle}}}% + \def\ifnocite{\blx@TE{\iftoggle{abx@bool@nocite}}}% \def\ifuniquetitle{\blx@TE{\iftoggle{abx@bool@uniquetitle}}}% \def\ifuniquebaretitle{\blx@TE{\iftoggle{abx@bool@uniquebaretitle}}}% \def\ifuniquework{\blx@TE{\iftoggle{abx@bool@uniquework}}}% @@ -10647,7 +11497,9 @@ \blx@TE{\blx@imc@ifdatehasyearonlyprecision{#1}}}% \def\ifdatehastime#1{\blx@TE{\blx@imc@ifdatehastime{#1}}}% \def\ifdateshavedifferentprecision#1#2{% - \blx@TE{\blx@imc@ifdateshavedifferentprecision{#1}{#2}}}}} + \blx@TE{\blx@imc@ifdateshavedifferentprecision{#1}{#2}}}% + \def\ifdateyearsequal#1#2{% + \blx@TE{\blx@imc@ifdateyearsequal{#1}{#2}}}}} % {<listmacro>}{<filtercsname>} => matches in <listmacro> \protected\def\blx@bibfilter#1#2{% @@ -10667,9 +11519,9 @@ \blx@tempa} %% Auxiliary macros -\newrobustcmd*{\mkbibquote}{\enquote} +\newrobustcmd*{\mkbibquote}{\blx@enquote} \protected\def\blx@imc@mkbibquote{% - \blx@ifuspunct\blx@usquote\enquote} + \blx@ifuspunct\blx@usquote\blx@enquote} \def\blx@usquote{% \ifnum\@quotelevel>\z@ @@ -10680,26 +11532,26 @@ \long\def\blx@usoquote#1{% \begingroup - \initoquote - \textooquote#1% + \blx@initoquote + \blx@textooquote#1% \futurelet\@let@token\blx@usoquote@i} \def\blx@usoquote@i{% \blx@usqcheck {\ifx\blx@postpunct\@empty\else\blx@dopostpunct\fi - \textcoquote\endgroup} - {\blx@setpostpunct\textcoquote\endgroup}} + \blx@textcoquote\endgroup} + {\blx@setpostpunct\blx@textcoquote\endgroup}} \long\def\blx@usiquote#1{% \begingroup - \initiquote - \textoiquote#1% + \blx@initiquote + \blx@textoiquote#1% \futurelet\@let@token\blx@usiquote@i} \def\blx@usiquote@i{% \blx@usqcheck - {\textciquote\endgroup} - {\blx@setpostpunct\textciquote\endgroup}} + {\blx@textciquote\endgroup} + {\blx@setpostpunct\blx@textciquote\endgroup}} \long\def\blx@usqcheck#1#2{% \def\blx@tempa{#1}% @@ -11041,8 +11893,8 @@ ~~<bcf:transliteration entrytype="#1">\blx@nl #2% ~~</bcf:transliteration>\blx@nl} -\xdef\blx@xml@translit#1#2#3{% - ~~~~<bcf:translit target="#1" from="#2" to="#3"/>\blx@nl} +\xdef\blx@xml@translit#1#2#3#4{% + ~~~~<bcf:translit #1target="#2" from="#3" to="#4"/>\blx@nl} \xdef\blx@xml@sourcemap#1{% ~~<bcf:sourcemap>\blx@nl @@ -11220,10 +12072,10 @@ ~~<bcf:bibdata section="#1">\blx@nl #2% ~~</bcf:bibdata>\blx@nl} -\xdef\blx@xml@datasource#1#2#3{% - ~~~~<bcf:datasource type="#1" datatype="#2">#3</bcf:datasource>\blx@nl} -\xdef\blx@xml@citekey#1#2{% - ~~~~<bcf:citekey order="#2">#1</bcf:citekey>} +\xdef\blx@xml@datasource#1#2#3#4{% + ~~~~<bcf:datasource type="#1" datatype="#2"#3>#4</bcf:datasource>\blx@nl} +\xdef\blx@xml@citekey#1#2#3{% + ~~~~<bcf:citekey order="#3"#2>#1</bcf:citekey>} \xdef\blx@xml@citeset#1#2{% ~~~~<bcf:citekey type="set" members="#2">#1</bcf:citekey>} \xdef\blx@xml@svalue#1#2{% @@ -11260,10 +12112,12 @@ \blx@xml@svalue{maxalphanames}{\blx@maxalphanames}% \blx@xml@svalue{maxbibnames}{\blx@maxbibnames}% \blx@xml@svalue{maxcitenames}{\blx@maxcitenames}% + \blx@xml@svalue{maxsortnames}{\blx@maxsortnames}% \blx@xml@svalue{maxitems}{\blx@maxitems}% \blx@xml@svalue{minalphanames}{\blx@minalphanames}% \blx@xml@svalue{minbibnames}{\blx@minbibnames}% \blx@xml@svalue{mincitenames}{\blx@mincitenames}% + \blx@xml@svalue{minsortnames}{\blx@minsortnames}% \blx@xml@svalue{minitems}{\blx@minitems}% \blx@xml@toggle{singletitle}% \blx@xml@svalue{sortalphaothers}{\sortalphaothers}% @@ -11303,10 +12157,12 @@ \blx@xml@svalue{maxalphanames}{\blx@maxalphanames}% \blx@xml@svalue{maxbibnames}{\blx@maxbibnames@type}% \blx@xml@svalue{maxcitenames}{\blx@maxcitenames@type}% + \blx@xml@svalue{maxsortnames}{\blx@maxsortnames@type}% \blx@xml@svalue{maxitems}{\blx@maxitems@type}% \blx@xml@svalue{minalphanames}{\blx@minalphanames}% \blx@xml@svalue{minbibnames}{\blx@minbibnames@type}% \blx@xml@svalue{mincitenames}{\blx@mincitenames@type}% + \blx@xml@svalue{minsortnames}{\blx@minsortnames@type}% \blx@xml@svalue{minitems}{\blx@minitems@type}% \blx@xml@toggle{singletitle}% \blx@xml@toggle{skipbib}% @@ -11354,15 +12210,13 @@ \ifdef\blx@opts@type {\def\do##1{% \begingroup + \let\protect\relax \blx@setoptions@type{##1}% % Expand the type use* name toggles \let\blx@xml@nametoggles\@empty \def\do####1{\eappto\blx@xml@nametoggles{\blx@xml@toggle{use####1}}}% \abx@donames - \begingroup - \let\protect\relax \blx@checkoptions@type - \endgroup \xappto\blx@tempa{\blx@bcf@options@type{##1}}% \endgroup}% \dolistloop\blx@opts@type} @@ -11849,8 +12703,12 @@ {}} \define@key{blx@sourcemap@step}{match}{% characters \appto\blx@tempf{ map\string_match="#1"}} +\define@key{blx@sourcemap@step}{matchi}{% characters + \appto\blx@tempf{ map\string_matchi="#1"}} \define@key{blx@sourcemap@step}{notmatch}{% characters \appto\blx@tempf{ map\string_notmatch="#1"}} +\define@key{blx@sourcemap@step}{notmatchi}{% characters + \appto\blx@tempf{ map\string_notmatchi="#1"}} \define@key{blx@sourcemap@step}{replace}{% characters \eappto\blx@tempf{ map\string_replace="#1"}} @@ -12143,15 +13001,15 @@ Use '\string\DeclareBiblistFilter' to define it}} {\def\blx@thebiblistfilter{#1}}} -% [<entrytype>] +% [<langids>][<entrytype>]{translitsource}{translittarget} \newrobustcmd*{\DeclareSortTranslit}[2][]{% \begingroup \ifblank{#1} {\def\blx@tempa{*}} {\def\blx@tempa{#1}}% - \let\translit\blx@translit@setup - \let\blx@tempb\@empty - #2% + \let\translit\blx@translit@setup + \let\blx@tempb\@empty + #2% \global\cslet{blx@translit@\blx@tempa}\blx@tempb \xifinlist\blx@tempa\blx@translits {} @@ -12161,9 +13019,11 @@ \blx@collectopts{xml}{blx@globalopts}{translit}% for passing to the .bcf \blx@collectopts{xml}{blx@typeopts}{translit}% for passing to the .bcf -\newcommand*{\blx@translit@setup}[3][*]{% +\newcommand*{\blx@translit@setup}[4][]{% \eappto\blx@tempb{% - \blx@xml@translit{#1}{#2}{#3}}} + \ifblank{#1} + {\blx@xml@translit{}{#2}{#3}{#4}} + {\blx@xml@translit{langids="#1" }{#2}{#3}{#4}}}} % [<specname>]{<spec>} \newrobustcmd*{\DeclareUniquenameTemplate}[2][]{% @@ -12598,9 +13458,14 @@ \define@key{blx@opt@ldt}{mcite}[true]{% \settoggle{blx@mcite}{#1}} -\newtoggle{blx@noerroretextools} \define@key{blx@opt@ldt}{noerroretextools}[true]{% - \settoggle{blx@noerroretextools}{#1}} + \blx@warning@noline{% + The option 'noerroretextools' is deprecated.\MessageBreak + Define the control sequence '\string\blx@noerroretextools'\MessageBreak + before loading biblatex instead}% + \ifstrequal{#1}{true} + {\global\cslet{blx@noerroretextools}\@empty} + {\csgundef{blx@noerroretextools}}} % load-time and preamble @@ -12667,9 +13532,10 @@ \listxadd\blx@sortingtemplatenames\blx@sorting \def\blx@refcontext@sortingnamekeytemplatename{global}% \let\blx@refcontext@labelprefix\@empty + \let\blx@refcontext@labelprefix@real\@empty \def\blx@refcontext@uniquenametemplatename{global}% \def\blx@refcontext@labelalphanametemplatename{global}% - \xdef\blx@refcontext@context{\blx@refcontext@sortingtemplatename/\blx@refcontext@sortingnamekeytemplatename/\blx@refcontext@labelprefix/\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}% + \blx@xdef@refcontext{\blx@refcontext@sortingtemplatename/\blx@refcontext@sortingnamekeytemplatename/\blx@refcontext@labelprefix/\blx@refcontext@uniquenametemplatename/\blx@refcontext@labelalphanametemplatename}% \listxadd\blx@refcontexts\blx@refcontext@context} \DeclareBibliographyOption[boolean]{sortcase}[true]{% @@ -12680,17 +13546,21 @@ \DeclareBibliographyOption[integer]{maxnames}{% \numdef\blx@maxcitenames{#1}% - \numdef\blx@maxbibnames{#1}} + \numdef\blx@maxbibnames{#1}% + \numdef\blx@maxsortnames{#1}} \DeclareBibliographyOption[integer]{minnames}{% \numdef\blx@mincitenames{#1}% - \numdef\blx@minbibnames{#1}} + \numdef\blx@minbibnames{#1}% + \numdef\blx@minsortnames{#1}} \DeclareTypeOption[integer]{maxnames}{% \numdef\blx@maxcitenames@type{#1}% \numdef\blx@maxbibnames@type{#1}% + \numdef\blx@maxsortnames@type{#1}% \c@maxnames#1\relax} \DeclareTypeOption[integer]{minnames}{% \numdef\blx@mincitenames@type{#1}% \numdef\blx@minbibnames@type{#1}% + \numdef\blx@minsortnames@type{#1}% \c@minnames#1\relax} \DeclareEntryOption[integer]{maxnames}{% \c@maxnames#1\relax} @@ -12698,16 +13568,20 @@ \c@minnames#1\relax} \DeclareBibliographyOption[integer]{maxbibnames}{% - \numdef\blx@maxbibnames{#1}} + \numdef\blx@maxbibnames{#1}% + \numdef\blx@maxsortnames{#1}} \DeclareBibliographyOption[integer]{minbibnames}{% - \numdef\blx@minbibnames{#1}} + \numdef\blx@minbibnames{#1}% + \numdef\blx@minsortnames{#1}} \DeclareTypeOption[integer]{maxbibnames}{% \numdef\blx@maxbibnames@type{#1}% + \numdef\blx@maxsortnames@type{#1}% \iftoggle{blx@bibliography} {\c@maxnames#1\relax} {}} \DeclareTypeOption[integer]{minbibnames}{% \numdef\blx@minbibnames@type{#1}% + \numdef\blx@minsortnames@type{#1}% \iftoggle{blx@bibliography} {\c@minnames#1\relax} {}} @@ -12743,12 +13617,25 @@ {} {\c@minnames#1\relax}} +\DeclareBibliographyOption[integer]{maxsortnames}{% + \numdef\blx@maxsortnames{#1}} +\DeclareBibliographyOption[integer]{minsortnames}{% + \numdef\blx@minsortnames{#1}} +\DeclareTypeOption[integer]{maxsortnames}{% + \numdef\blx@maxsortnames@type{#1}} +\DeclareTypeOption[integer]{minsortnames}{% + \numdef\blx@minsortnames@type{#1}} +\DeclareEntryOption[integer]{maxsortnames}{} +\DeclareEntryOption[integer]{minsortnames}{} + \appto\blx@checkoptions@global{% \blx@maxmin@num{maxbibnames}{minbibnames}\blx@maxbibnames\blx@minbibnames - \blx@maxmin@num{maxcitenames}{mincitenames}\blx@maxcitenames\blx@mincitenames} + \blx@maxmin@num{maxcitenames}{mincitenames}\blx@maxcitenames\blx@mincitenames + \blx@maxmin@num{maxsortnames}{minsortnames}\blx@maxsortnames\blx@minsortnames} \appto\blx@checkoptions@type{% \blx@maxmin@num{maxbibnames}{minbibnames}\blx@maxbibnames@type\blx@minbibnames@type - \blx@maxmin@num{maxcitenames}{mincitenames}\blx@maxcitenames@type\blx@mincitenames@type} + \blx@maxmin@num{maxcitenames}{mincitenames}\blx@maxcitenames@type\blx@mincitenames@type + \blx@maxmin@num{maxsortnames}{minsortnames}\blx@maxsortnames@type\blx@minsortnames@type} \appto\blx@checkoptions@entry{% \blx@maxmin@cnt{maxnames}{minnames}\c@maxnames\c@minnames} @@ -13571,6 +14458,13 @@ \def\blx@opt@uniquename@mininit{5} \def\blx@opt@uniquename@minfull{6} +\DeclareBibliographyOption[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} +\DeclareTypeOption[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} +\DeclareEntryOption[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} + \DeclareBibliographyOption[boolean]{singletitle}[true]{% \settoggle{blx@singletitle}{#1}} \DeclareTypeOption[boolean]{singletitle}[true]{% @@ -13606,81 +14500,96 @@ \DeclareBibliographyOption[boolean]{locallabelwidth}[true]{% \blx@key@locallabelwidth{#1}} +%{<switch>}{<patch>}{<pre>}{<post>} +\def\blx@patchsection@switch#1#2#3#4{% + \AtEndPreamble{% + #3% + \ifcase#1 + \or % 1: part + \blx@refpatch@part{#2}% + \or % 2: chapter + \blx@refpatch@chapter{#2}% + \or % 3: section + \blx@refpatch@sect{section}{#2}{1}% + \or % 4: subsection + \blx@refpatch@sect{subsection}{#2}{2}% + \or % 5: chapter+ = part, chapter + \blx@refpatch@part{#2}% + \blx@refpatch@chapter{#2}% + \or % 6: section+ = part, chapter, section + \blx@refpatch@part{#2}% + \ifundef\chapter + {} + {\blx@refpatch@chapter{#2}}% + \blx@refpatch@sect{section}{#2}{1}% + \or % 7: subsection+ = part, chapter, section, subsection + \blx@refpatch@part{#2}% + \ifundef\chapter + {} + {\blx@refpatch@chapter{#2}}% + \blx@refpatch@sect{section}{#2}{1}% + \blx@refpatch@sect{subsection}{#2}{2}% + \fi + #4% + }% +} + \DeclareBibliographyOption[string]{refsection}{% \ifcsdef{blx@opt@refsection@#1} {\letcs\blx@refsecreset@level{blx@opt@refsection@#1}} {\blx@err@invopt{refsection=#1}{}}} -\def\blx@opt@refsection@none{0} -\def\blx@opt@refsection@part{1} -\def\blx@opt@refsection@chapter{2} -\def\blx@opt@refsection@section{3} -\def\blx@opt@refsection@subsection{4} +\csdef{blx@opt@refsection@none}{0} +\csdef{blx@opt@refsection@part}{1} +\csdef{blx@opt@refsection@chapter}{2} +\csdef{blx@opt@refsection@section}{3} +\csdef{blx@opt@refsection@subsection}{4} +\csdef{blx@opt@refsection@chapter+}{5} +\csdef{blx@opt@refsection@section+}{6} +\csdef{blx@opt@refsection@subsection+}{7} -\AtEndPreamble{% - \ifcase\blx@refsecreset@level - \or % 1 - \blx@refpatch@part\newrefsection - \or % 2 - \blx@refpatch@chapter\newrefsection - \or % 3 - \blx@refpatch@sect{section}{\newrefsection}{1}% - \or % 4 - \blx@refpatch@sect{subsection}{\newrefsection}{2}% - \fi} +\blx@patchsection@switch{\blx@refsecreset@level}{\newrefsection}{}{} \DeclareBibliographyOption[string]{refsegment}{% \ifcsdef{blx@opt@refsegment@#1} {\letcs\blx@refsegreset@level{blx@opt@refsegment@#1}} {\blx@err@invopt{refsegment=#1}{}}} -\def\blx@opt@refsegment@none{0} -\def\blx@opt@refsegment@part{1} -\def\blx@opt@refsegment@chapter{2} -\def\blx@opt@refsegment@section{3} -\def\blx@opt@refsegment@subsection{4} - -\AtEndPreamble{% - \ifnumgreater\blx@refsegreset@level\z@ - {\ifnumgreater\blx@refsegreset@level\blx@refsecreset@level - {} - {\blx@err@confopt - {refsegment/refsection} - {The 'refsegment' option must point to a - lower-level\MessageBreak document division - than 'refsection'}% - \def\blx@refsegreset@level{0}}} - {}% - \ifcase\blx@refsegreset@level - \or % 1 - \blx@refpatch@part\newrefsegment - \or % 2 - \blx@refpatch@chapter\newrefsegment - \or % 3 - \blx@refpatch@sect{section}{\newrefsegment}{1}% - \or % 4 - \blx@refpatch@sect{subsection}{\newrefsegment}{2}% - \fi} +\csdef{blx@opt@refsegment@none}{0} +\csdef{blx@opt@refsegment@part}{1} +\csdef{blx@opt@refsegment@chapter}{2} +\csdef{blx@opt@refsegment@section}{3} +\csdef{blx@opt@refsegment@subsection}{4} +\csdef{blx@opt@refsegment@chapter+}{5} +\csdef{blx@opt@refsegment@section+}{6} +\csdef{blx@opt@refsegment@subsection+}{7} + +\blx@patchsection@switch{\blx@refsegreset@level} + {\newrefsegment} + {\ifnumgreater\blx@refsegreset@level\z@ + {\ifnumgreater\blx@refsegreset@level\blx@refsecreset@level + {} + {\blx@err@confopt + {refsegment/refsection} + {The 'refsegment' option must point to a + lower-level\MessageBreak document division + than 'refsection'}% + \def\blx@refsegreset@level{0}}} + {}} + {} \DeclareBibliographyOption[string]{citereset}{% \ifcsdef{blx@opt@citereset@#1} {\letcs\blx@citereset@level{blx@opt@citereset@#1}} {\blx@err@invopt{citereset=#1}{}}} -\def\blx@opt@citereset@none{0} -\def\blx@opt@citereset@part{1} -\def\blx@opt@citereset@chapter{2} -\def\blx@opt@citereset@section{3} -\def\blx@opt@citereset@subsection{4} +\csdef{blx@opt@citereset@none}{0} +\csdef{blx@opt@citereset@part}{1} +\csdef{blx@opt@citereset@chapter}{2} +\csdef{blx@opt@citereset@section}{3} +\csdef{blx@opt@citereset@subsection}{4} +\csdef{blx@opt@citereset@chapter+}{5} +\csdef{blx@opt@citereset@section+}{6} +\csdef{blx@opt@citereset@subsection+}{7} -\AtEndPreamble{% - \ifcase\blx@citereset@level - \or % 1 - \blx@refpatch@part{\citereset\blx@inf@creset}% - \or % 2 - \blx@refpatch@chapter{\citereset\blx@inf@creset}% - \or % 3 - \blx@refpatch@sect{section}{\citereset\blx@inf@creset}{1}% - \or % 4 - \blx@refpatch@sect{subsection}{\citereset\blx@inf@creset}{2}% - \fi} +\blx@patchsection@switch{\blx@citereset@level}{\citereset\blx@inf@creset}{}{} \DeclareBibliographyOption[boolean]{bibwarn}[true]{% \ifstrequal{#1}{true} @@ -13848,7 +14757,7 @@ {}% \def\do#1{% \ifcsstring{blx@dateformat@#1}{iso} - {\StrCut{#1}{date}\blx@datetype\blx@tempnull + {\blx@stripfromendinto{#1}{date}\blx@datetype \ifdefstring\blx@dateera{astronomical}{} {\blx@warn@conflopt{% '#1=iso' requires 'dateera=astronomical'.\MessageBreak @@ -13952,9 +14861,9 @@ \blx@checkencoding \if@filesw \blx@ctrlwrite - \blx@bblinput - \blx@maxsection\z@ \fi + \blx@bblinput + \blx@maxsection\z@ \csuse{abx@preamble}% \blx@inf@refsec \blx@inf@refseg} @@ -13976,4 +14885,6 @@ \blx@dopreamblecmds \let\do\noexpand}} +\def\BiblatexHungarianWarningOff{\global\let\lbx@hu@loadinfo\@empty} + \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def index 13fcee24063..5e04996998e 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def @@ -53,31 +53,30 @@ \string\citation{biblatex-control}}} \def\blx@sig@bib{@Comment{$ biblatex control file $}} -\edef\blx@ver@bib{@Comment{$ biblatex version \blx@bblversion\space $}} +\edef\blx@ver@bib{% + @Comment{$ biblatex bbl format version \blx@bblversion\space $}} \let\blx@sig@aux\blx@sig@bbl \let\blx@ver@aux\blx@ver@bbl -\edef\blx@msg@aux{% - \blx@sig@aux\blx@nl - \blx@ver@aux\blx@nl +\edef\blx@msg@text{% \@percentchar\space Do not modify this file!\blx@nl \@percentchar\blx@nl \@percentchar\space This is an auxiliary file used by the 'biblatex' package.\blx@nl \@percentchar\space This file may safely be deleted. It will be recreated as\blx@nl - \@percentchar\space required.\blx@nl + \@percentchar\space required.\blx@nl} + +\edef\blx@msg@aux{% + \blx@sig@aux\blx@nl + \blx@ver@aux\blx@nl + \blx@msg@text \@percentchar\blx@nl\string\relax\blx@nl} \edef\blx@msg@bib{% \blx@sig@bib\blx@nl \blx@ver@bib\blx@nl - Do not modify this file!\blx@nl\blx@nl - This is an auxiliary file used - by the 'biblatex' package.\blx@nl - This file may safely be deleted. - It will be recreated as\blx@nl - required.\blx@nl\blx@nl} + \blx@msg@text\blx@nl} % User feedback @@ -416,14 +415,20 @@ \noexpand\csuse{blx@sorting@\noexpand\blx@sorting}:% \noexpand\blx@maxcitenames:% \noexpand\blx@mincitenames:% + \noexpand\blx@maxalphanames:% + \noexpand\blx@minalphanames:% \noexpand\blx@maxline:% \noexpand\detokenize\noexpand\expandafter{\noexpand\labelalphaothers}:% + \noexpand\detokenize\noexpand\expandafter{\noexpand\blx@sortalphaothers}:% \noexpand\detokenize\noexpand\expandafter{\noexpand\blx@sorting}% \string},\blx@nl \string}% } \def\blx@ctrlwrite{% + % \sortalphaothers should only contain safe characters, + % so we should be able to \edef it + \edef\blx@sortalphaothers{\sortalphaothers}% \immediate\openout\blx@write\blx@ctrlfile\blxauxsuffix.bib\relax \blx@auxwrite\blx@write{}{\blx@ctrl}% \immediate\closeout\blx@write} diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def index d62831b6ad9..cbac63571bf 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def @@ -224,7 +224,7 @@ \ifinlistcs{##1}{blx@datamodel@fields} {} {\listcsgadd{blx@datamodel@fields}{##1}}% - \StrCut{##1}{date}\blx@datetype\blx@tempnull + \blx@stripfromendinto{##1}{date}\blx@datetype % dateparts which are ok to be null (by default *endyear) \def\do####1{% \let\blx@tempa\@empty% reset setkeys buffer due to loop calls @@ -445,7 +445,7 @@ \DeclareDatamodelEntrytypes[skipout]{xdata} \DeclareDatamodelFields[type=field, datatype=integer]{ - number, + sortyear, volume, volumes} @@ -488,6 +488,7 @@ maintitleaddon, nameaddon, note, + number, origtitle, pagetotal, part, @@ -515,7 +516,6 @@ shorttitle} \DeclareDatamodelFields[type=field, datatype=literal, skipout]{ - sortyear, sorttitle, sortshorthand, sortkey, @@ -1087,8 +1087,12 @@ \DeclareDatamodelEntryfields[online]{ addendum, author, + doi, editor, editortype, + eprint, + eprintclass, + eprinttype, language, note, organization, diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def b/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def index c929febb9f1..4817f72e16c 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def @@ -1,7 +1,7 @@ \ProvidesFile{blx-natbib.def} [\abx@cptid] -\renewcommand*{\nameyeardelim}{\addcomma\space} +\DeclareDelimFormat{nameyeardelim}{\addcomma\space} \newrobustcmd*{\citet}{% \@ifstar @@ -16,13 +16,11 @@ {\parencite}} \newrobustcmd*{\citealt}{% + \AtNextCite{\DeclareDelimFormat{nameyeardelim}{\addspace}}% \@ifstar - {\AtNextCite{% - \def\nameyeardelim{\addspace}% - \AtEachCitekey{\defcounter{maxnames}{999}}}% + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% \cite} - {\AtNextCite{\def\nameyeardelim{\addspace}}% - \cite}} + {\cite}} \newrobustcmd*{\citealp}{% \@ifstar diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx index 947f131d05a..43fb19712cb 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx @@ -58,7 +58,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -458,6 +458,7 @@ langgalician = {{galego}{galego}}, langgerman = {{alem\~ao}{alem\~ao}}, langgreek = {{grego}{grego}}, + langhungarian = {{h\'ungaro}{h\'ungaro}}, langitalian = {{italiano}{italiano}}, langjapanese = {{japon\^es}{japon\^es}}, langlatin = {{latim}{latim}}, @@ -486,6 +487,7 @@ fromgalician = {{do galego}{do galego}}, fromgerman = {{do alem\~ao}{do alem\~ao}}, fromgreek = {{do grego}{do grego}}, + fromhungarian = {{do h\'ungaro}{do h\'ungaro}}, fromitalian = {{do italiano}{do italiano}}, fromjapanese = {{do japon\^es}{do japon\^es}}, fromlatin = {{do latim}{do latim}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx index 49f90393cc3..87411636e99 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx @@ -58,7 +58,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx index dd5dad6a49a..dcc8c695c19 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx @@ -48,7 +48,7 @@ {} {\iffieldundef{#3} {\mkbibmonth{\thefield{#2}}} - {\lbx@ru@mkbibdatemonth{\thefield{#2}}}% + {\lbx@bg@mkbibdatemonth{\thefield{#2}}}% \iffieldundef{#1}{}{\space}}% \iffieldbibstring{#1} {\bibstring{\thefield{#1}}} @@ -85,7 +85,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -502,6 +502,7 @@ langgalician = {{галисийски}{гал\adddot}}, langgerman = {{немски}{нем\adddot}}, langgreek = {{гръцки}{гр\adddot}}, + langhungarian = {{унгарски}{унг\adddot}}, langitalian = {{италиански}{итал\adddot}}, langjapanese = {{японски}{яп\adddot}}, langlatin = {{латински}{лат\adddot}}, @@ -528,7 +529,8 @@ fromfrench = {{от френски}{от\addabbrvspace фр\adddot}}, fromgalician = {{от галисийски}{от\addabbrvspace гал\adddot}}, fromgerman = {{от немски}{от\addabbrvspace нем\adddot}}, - fromgreek = {{от гръцки}{от\addabbrvspace греч\adddot}}, + fromgreek = {{от гръцки}{от\addabbrvspace гр\adddot}}, + fromhungarian = {{от унгарски}{от\addabbrvspace унг\adddot}}, fromitalian = {{от италиански}{от\addabbrvspace итал\adddot}}, fromjapanese = {{от японски}{от\addabbrvspace яп\adddot}}, fromlatin = {{от латински}{от\addabbrvspace лат\adddot}}, @@ -595,4 +597,4 @@ #1\BibliographyWarning{Month out of range}% \fi}% -\endinput
\ No newline at end of file +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx index 002418b9b53..973b91b597d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx @@ -81,7 +81,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -135,7 +135,7 @@ annotations = {{notes}{n\adddot}}, introduction = {{introducci\'o}{intr\adddot}}, foreword = {{pr\`oleg}{pr\`ol\adddot}}, - afterword = {{ep{\'\i}leg}{ep\adddot}}, + afterword = {{ep\'{\i}leg}{ep\adddot}}, editortr = {{editor i traductor}{ed\adddotspace i trad\adddot}}, editorstr = {{editors i traductors}{ed\adddotspace i trad\adddot}}, editorco = {{editor i comentarista}{ed\adddotspace i com\adddot}}, @@ -150,9 +150,9 @@ {ed\adddotspace i aut\adddotspace del pr\`ol\adddot}}, editorsfo = {{editors i autors del pr\`oleg} {ed\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - editoraf = {{editor i autor de l'ep{\'\i}leg} % + editoraf = {{editor i autor de l'ep\'{\i}leg} {ed\adddotspace i aut\adddotspace de l'ep\adddot}}, - editorsaf = {{editors i autors de l'ep{\'\i}leg} % + editorsaf = {{editors i autors de l'ep\'{\i}leg} {ed\adddotspace i aut\adddotspace de l'ep\adddot}}, editortrco = {{editor, traductor i comentarista} {ed.,\addabbrvspace trad\adddotspace i com\adddot}}, @@ -170,9 +170,9 @@ {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, editorstrfo = {{editors, traductors i autors del pr\`oleg} {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - editortraf = {{editor, traductor i autor de l'ep{\'\i}leg} + editortraf = {{editor, traductor i autor de l'ep\'{\i}leg} {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace de l'ep\adddot}}, - editorstraf = {{editors, traductors i autors de l'ep{\'\i}leg} + editorstraf = {{editors, traductors i autors de l'ep\'{\i}leg} {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace de l'ep\adddot}}, editorcoin = {{editor, comentarista i autor de la introducci\'o} {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, @@ -182,9 +182,9 @@ {ed.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, editorscofo = {{editors, comentaristes i autors del pr\`oleg} {ed.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - editorcoaf = {{editor, comentarista i autor de l'ep{\'\i}leg} + editorcoaf = {{editor, comentarista i autor de l'ep\'{\i}leg} {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, - editorscoaf = {{editors, comentaristes i autors de l'ep{\'\i}leg} + editorscoaf = {{editors, comentaristes i autors de l'ep\'{\i}leg} {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, editoranin = {{editor, anotador i autor de la introducci\'o} {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, @@ -194,9 +194,9 @@ {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, editorsanfo = {{editors, anotadors i autors del pr\`oleg} {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - editoranaf = {{editor, anotador i autor de l'ep{\'\i}leg} + editoranaf = {{editor, anotador i autor de l'ep\'{\i}leg} {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, - editorsanaf = {{editors, anotadors i autors de l'ep{\'\i}leg} + editorsanaf = {{editors, anotadors i autors de l'ep\'{\i}leg} {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, editortrcoin = {{editor, traductor, comentarista i autor de la introducci\'o} {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, @@ -206,9 +206,9 @@ {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot }}, editorstrcofo = {{editors, traductors, comentaristes i autors del pr\`oleg} {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot }}, - editortrcoaf = {{editor, traductor, comentarista i autor de l'ep{\'\i}leg} + editortrcoaf = {{editor, traductor, comentarista i autor de l'ep\'{\i}leg} {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, - editorstrcoaf = {{editors, traductors, comentaristes i autors de l'ep{\'\i}leg} + editorstrcoaf = {{editors, traductors, comentaristes i autors de l'ep\'{\i}leg} {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, editortranin = {{editor, traductor, anotador i autor de la introducci\'o} {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, @@ -218,9 +218,9 @@ {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de pr\`ol\adddot}}, editorstranfo = {{editors, traductors, anotadors i autors del pr\`oleg} {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de pr\`ol\adddot}}, - editortranaf = {{editor, traductor, anotador i autor de l'ep{\'\i}leg} + editortranaf = {{editor, traductor, anotador i autor de l'ep\'{\i}leg} {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, - editorstranaf = {{editors, traductors, anotadors i autors de l'ep{\'\i}leg} + editorstranaf = {{editors, traductors, anotadors i autors de l'ep\'{\i}leg} {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, translatorco = {{traductor i comentarista} {trad\adddotspace i com\adddot}}, @@ -238,9 +238,9 @@ {trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, translatorsfo = {{traductors i autors del pr\`oleg} {trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - translatoraf = {{traductor i autor de l'ep{\'\i}leg} + translatoraf = {{traductor i autor de l'ep\'{\i}leg} {trad\adddotspace i aut\adddotspace de l'ep\adddot}}, - translatorsaf = {{traductors i autors de l'ep{\'\i}leg} + translatorsaf = {{traductors i autors de l'ep\'{\i}leg} {trad\adddotspace i aut\adddotspace de l'ep\adddot}}, translatorcoin = {{traductor, comentarista i autor de la introducci\'o} {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddotspace}}, @@ -250,9 +250,9 @@ {trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, translatorscofo = {{traductors, comentaristes i autors del pr\`oleg} {trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - translatorcoaf = {{traductor, comentarista i autor de l'ep{\'\i}leg} + translatorcoaf = {{traductor, comentarista i autor de l'ep\'{\i}leg} {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, - translatorscoaf = {{traductors, comentaristes i autors de l'ep{\'\i}leg} + translatorscoaf = {{traductors, comentaristes i autors de l'ep\'{\i}leg} {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, translatoranin = {{traductor, anotador i autor de la introducci\'o} {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, @@ -262,13 +262,13 @@ {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, translatorsanfo = {{traductors, anotadors i autors del pr\`oleg} {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, - translatoranaf = {{traductor, anotador i autor de l'ep{\'\i}leg} + translatoranaf = {{traductor, anotador i autor de l'ep\'{\i}leg} {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, - translatorsanaf = {{traductors, anotadors i autors de l'ep{\'\i}leg} + translatorsanaf = {{traductors, anotadors i autors de l'ep\'{\i}leg} {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing + organizer = {{organitzador}{org\adddot}}, + organizers = {{organitzadors}{org\adddot}}, + byorganizer = {{organitzat per}{org\adddotspace per}}, byauthor = {{per}{per}}, byeditor = {{edici\'o a cura \smartof}{ed\adddotspace\smartof}}, bycompiler = {{compilaci\'o a cura \smartof}{comp\adddotspace\smartof}}, @@ -279,16 +279,16 @@ bycontinuator = {{continuat per}{cont\adddotspace per}}, bycollaborator = {{amb la co\l.laboraci\'o \smartof}{amb la co\l.l\adddotspace\smartof}}, bytranslator = {{traducci\'o \lbx@fromlang\ a cura \smartof}{trad\adddotspace\lbx@fromlang\ \smartof}}, - bycommentator = {{comentaris a cura \smartof}{com\adddotspace\smartof}}, + bycommentator = {{comentari a cura \smartof}{com\adddotspace\smartof}}, byannotator = {{notes a cura \smartof}{n\adddotspace\smartof}}, - withcommentator = {{amb comentaris a cura \smartof}{amb com\adddotspace\smartof}}, + withcommentator = {{amb un comentari a cura \smartof}{amb un com\adddotspace\smartof}}, withannotator = {{amb notes a cura \smartof}{amb n\adddotspace\smartof}}, - withintroduction = {{amb la introducci\'o a cura \smartof}{amb la intr\adddotspace\smartof}}, - withforeword = {{amb el pr\`oleg a cura \smartof}{amb el pr\`ol\adddotspace\smartof}}, - withafterword = {{amb l'ep{\'\i}leg a cura \smartof}{amb l'ep\adddotspace\smartof}}, + withintroduction = {{amb una introducci\'o a cura \smartof}{amb una intr\adddotspace\smartof}}, + withforeword = {{amb un pr\`oleg a cura \smartof}{amb un pr\`ol\adddotspace\smartof}}, + withafterword = {{amb un ep\'{\i}leg a cura \smartof}{amb un ep\adddotspace\smartof}}, byeditortr = {{edici\'o i traducci\'o \lbx@fromlang\ a cura \smartof}% {ed\adddotspace i trad\adddotspace\lbx@fromlang\ \smartof}}, - byeditorco = {{edici\'o i comentaris a cura \smartof}% + byeditorco = {{edici\'o i comentari a cura \smartof}% {ed\adddotspace i com\adddotspace\smartof}}, byeditoran = {{edici\'o i notes a cura \smartof}% {ed\adddotspace i n\adddotspace\smartof}}, @@ -296,9 +296,9 @@ {ed\adddotspace i intr\adddotspace\smartof}}, byeditorfo = {{edici\'o i pr\`oleg a cura \smartof}% {ed\adddotspace i pr\`ol\adddotspace\smartof}}, - byeditoraf = {{edici\'o i ep{\'\i}leg a cura \smartof}% + byeditoraf = {{edici\'o i ep\'{\i}leg a cura \smartof}% {ed\adddotspace i ep\adddotspace\smartof}}, - byeditortrco = {{edici\'o, traducci\'o \lbx@fromlang\ i comentaris a cura \smartof}% + byeditortrco = {{edici\'o, traducci\'o \lbx@fromlang\ i comentari a cura \smartof}% {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i com\adddotspace\smartof}}, byeditortran = {{edici\'o, traducci\'o \lbx@fromlang\ i notes a cura \smartof}% {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i n\adddotspace\smartof}}, @@ -306,33 +306,33 @@ {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i intr\adddotspace\smartof}}, byeditortrfo = {{edici\'o, traducci\'o \lbx@fromlang\ i pr\`oleg a cura \smartof}% {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i pr\`ol\adddotspace\smartof}}, - byeditortraf = {{edici\'o, traducci\'o \lbx@fromlang\ i ep{\'\i}leg a cura \smartof}% + byeditortraf = {{edici\'o, traducci\'o \lbx@fromlang\ i ep\'{\i}leg a cura \smartof}% {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i ep\adddotspace\smartof}}, - byeditorcoin = {{edici\'o, comentaris i introducci\'o a cura \smartof} + byeditorcoin = {{edici\'o, comentari i introducci\'o a cura \smartof} {ed.,\addabbrvspace com\adddotspace i intr\adddotspace\smartof}}, - byeditorcofo = {{edici\'o, comentaris i pr\`oleg a cura \smartof} + byeditorcofo = {{edici\'o, comentari i pr\`oleg a cura \smartof} {ed.,\addabbrvspace com\adddotspace i pr\`ol\adddotspace\smartof}}, - byeditorcoaf = {{edici\'o, comentaris i ep{\'\i}leg a cura \smartof}% + byeditorcoaf = {{edici\'o, comentari i ep\'{\i}leg a cura \smartof}% {ed.,\addabbrvspace com\adddotspace i ep\adddotspace\smartof}}, byeditoranin = {{edici\'o, notes i introducci\'o a cura \smartof}% {ed.,\addabbrvspace n\adddotspace i intr\adddotspace\smartof}}, byeditoranfo = {{edici\'o, notes i pr\`oleg a cura \smartof}% {ed.,\addabbrvspace n\adddotspace i pr\`ol\adddotspace\smartof}}, - byeditoranaf = {{edici\'o, notes i ep{\'\i}leg a cura \smartof}% + byeditoranaf = {{edici\'o, notes i ep\'{\i}leg a cura \smartof}% {ed.,\addabbrvspace n\adddotspace i ep\adddotspace\smartof}}, - byeditortrcoin = {{edici\'o, traducci\'o \lbx@fromlang, comentaris i introducci\'o a cura \smartof}% + byeditortrcoin = {{edici\'o, traducci\'o \lbx@fromlang, comentari i introducci\'o a cura \smartof}% {ed.,\addabbrvspace trad\adddotspace \lbx@fromlang, com\adddotspace i intr\adddotspace\smartof}}, - byeditortrcofo = {{edici\'o, traducci\'o \lbx@fromlang, comentaris i pr\`oleg a cura \smartof}% + byeditortrcofo = {{edici\'o, traducci\'o \lbx@fromlang, comentari i pr\`oleg a cura \smartof}% {ed.,\addabbrvspace trad\adddotspace \lbx@fromlang, com\adddotspace i pr\`ol\adddotspace\smartof}}, - byeditortrcoaf = {{edici\'o, traducci\'o \lbx@fromlang, comentaris i ep{\'\i}leg a cura \smartof}% + byeditortrcoaf = {{edici\'o, traducci\'o \lbx@fromlang, comentari i ep\'{\i}leg a cura \smartof}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, com\adddot\ i ep\adddot\ \smartof}}, byeditortranin = {{edici\'o, traducci\'o \lbx@fromlang, notes i introducci\'o a cura \smartof}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, n\adddot\ i intr\adddot\ \smartof}}, byeditortranfo = {{edici\'o, traducci\'o \lbx@fromlang, notes i pr\`oleg a cura \smartof}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, n\adddot\ i pr\`ol\adddot\ \smartof}}, - byeditortranaf = {{edici\'o, traducci\'o \lbx@fromlang, notes i ep{\'\i}leg a cura \smartof}% + byeditortranaf = {{edici\'o, traducci\'o \lbx@fromlang, notes i ep\'{\i}leg a cura \smartof}% {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, n\adddot\ i ep\adddot\ \smartof}}, - bytranslatorco = {{traducci\'o \lbx@fromlang\ i comentaris a cura \smartof}% + bytranslatorco = {{traducci\'o \lbx@fromlang\ i comentari a cura \smartof}% {trad\adddot\ \lbx@fromlang\ i com\adddot\ \smartof}}, bytranslatoran = {{traducci\'o \lbx@fromlang\ i notes a cura \smartof}% {trad\adddot\ \lbx@fromlang\ i n\adddot\ \smartof}}, @@ -340,19 +340,19 @@ {trad\adddot\ \lbx@fromlang\ i intr\adddot\ \smartof}}, bytranslatorfo = {{traducci\'o \lbx@fromlang\ i pr\`oleg a cura \smartof}% {trad\adddot\ \lbx@fromlang\ i pr\`ol\adddot\ \smartof}}, - bytranslatoraf = {{traducci\'o \lbx@fromlang\ i ep{\'\i}leg a cura \smartof}% + bytranslatoraf = {{traducci\'o \lbx@fromlang\ i ep\'{\i}leg a cura \smartof}% {trad\adddot\ \lbx@fromlang\ i ep\adddot\ \smartof}}, - bytranslatorcoin = {{traducci\'o \lbx@fromlang, comentaris i introducci\'o a cura \smartof}% + bytranslatorcoin = {{traducci\'o \lbx@fromlang, comentari i introducci\'o a cura \smartof}% {trad\adddot\ \lbx@fromlang, com\adddot\ i intr\adddot\ \smartof}}, - bytranslatorcofo = {{traducci\'o \lbx@fromlang, comentaris i pr\`oleg a cura \smartof}% + bytranslatorcofo = {{traducci\'o \lbx@fromlang, comentari i pr\`oleg a cura \smartof}% {trad\adddot\ \lbx@fromlang, com\adddot\ i pr\`ol\adddot\ \smartof}}, - bytranslatorcoaf = {{traducci\'o \lbx@fromlang, comentaris i ep{\'\i}leg a cura \smartof}% + bytranslatorcoaf = {{traducci\'o \lbx@fromlang, comentari i ep\'{\i}leg a cura \smartof}% {trad\adddot\ \lbx@fromlang, com\adddot\ i ep\adddot\ \smartof}}, bytranslatoranin = {{traducci\'o \lbx@fromlang, notes i introducci\'o a cura \smartof}% {trad\adddot\ \lbx@fromlang, n\adddot\ i intr\adddot\ \smartof}}, bytranslatoranfo = {{traducci\'o \lbx@fromlang, notes i pr\`oleg a cura \smartof}% {trad\adddot\ \lbx@fromlang, n\adddot\ i pr\`ol\adddot\ \smartof}}, - bytranslatoranaf = {{traducci\'o \lbx@fromlang, notes i ep{\'\i}leg a cura \smartof}% + bytranslatoranaf = {{traducci\'o \lbx@fromlang, notes i ep\'{\i}leg a cura \smartof}% {trad\adddot\ \lbx@fromlang, n\adddot\ i ep\adddot\ \smartof}}, and = {{i}{i}}, andothers = {{et al\adddot}{et al\adddot}}, @@ -374,18 +374,18 @@ reprintfrom = {{reimpr\`es \smartof}{reimpr\adddotspace\smartof}}, reviewof = {{ressenya \smartof}{ress\adddotspace\smartof}}, translationof = {{traducci\'o \smartof}{trad\adddotspace\smartof}}, - translationas = {{tradu{\"\i}t com}{trad\adddotspace com}}, - translationfrom = {{tradu{\"\i}t del}{trad\adddotspace del}}, % Unsure of 'del' - origpubas = {{publicat originalment com}{pub\adddotspace orig\adddotspace com}}, - origpubin = {{publicat originalment el}{pub\adddotspace orig\adddotspace el}}, + translationas = {{tradu\"{\i}t com}{trad\adddotspace com}}, + translationfrom = {{tradu\"{\i}t del}{trad\adddotspace del}}, % Unsure of 'del' + origpubas = {{publicat origin\`ariament com}{pub\adddotspace orig\adddotspace com}}, + origpubin = {{publicat origin\`ariament el}{pub\adddotspace orig\adddotspace el}}, astitle = {{com}{com}}, bypublisher = {{per}{per}}, page = {{p\`agina}{p\`ag\adddot}}, pages = {{p\`agines}{p\`ag\adddot}}, column = {{columna}{col\adddot}}, columns = {{columnes}{cols\adddot}}, - line = {{l{\'\i}nia}{l{\'\i}n\adddot}}, - lines = {{l{\'\i}nies}{l{\'\i}n\adddot}}, + line = {{l\'{\i}nia}{l\'{\i}n\adddot}}, + lines = {{l\'{\i}nies}{l\'{\i}n\adddot}}, nodate = {{sine data}{s\adddotspace d\adddot}}, verse = {{vers}{v\adddot}}, verses = {{versos}{v\adddot}}, @@ -393,27 +393,27 @@ sections = {{apartats}{\S}}, paragraph = {{par\`agraf}{\P}}, paragraphs = {{par\`agrafs}{\P}}, -% pagetotal = {{}{}},% FIXME: missing -% pagetotals = {{}{}},% FIXME: missing -% columntotal = {{}{}},% FIXME: missing -% columntotals = {{}{}},% FIXME: missing -% linetotal = {{}{}},% FIXME: missing -% linetotals = {{}{}},% FIXME: missing -% versetotal = {{}{}},% FIXME: missing -% versetotals = {{}{}},% FIXME: missing -% sectiontotal = {{}{}},% FIXME: missing -% sectiontotals = {{}{}},% FIXME: missing -% paragraphtotal = {{}{}},% FIXME: missing -% paragraphtotals = {{}{}},% FIXME: missing + pagetotal = {{p\`agina}{p\`ag\adddot}}, + pagetotals = {{p\`agines}{p\`ag\adddot}}, + columntotal = {{columna}{col\adddot}}, + columntotals = {{columnes}{col\adddot}}, + linetotal = {{l\'{\i}nia}{l\'{\i}n\adddot}}, + linetotals = {{l\'{\i}nies}{l\'{\i}n\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{versos}{v\adddot}}, + sectiontotal = {{secci\'o}{\S}}, + sectiontotals = {{seccions}{\S}}, + paragraphtotal = {{par\`agrafs}{\P}}, + paragraphtotals = {{par\`agrafs}{\P}}, in = {{a}{a}}, - inseries = {{\smartof}{\smartof}}, + inseries = {{a}{a}}, ofseries = {{\smartof}{\smartof}}, number = {{n\'umero}{n\'um\adddot}}, - chapter = {{cap{\'\i}tol}{cap\adddot}}, -% bathesis = {{}{}},% FIXME: missing - mathesis = {{tesi de m\`aster}{tesi de m\`aster}}, + chapter = {{cap\'{\i}tol}{cap\adddot}}, + bathesis = {{treball final de grau}{treb\adddotspace fin\adddotspace de gr\adddot}}, + mathesis = {{treball final de m\`aster}{treb\adddotspace fin\adddotspace de m\`ast\adddot}}, phdthesis = {{tesi doctoral}{tesi doct\adddot}}, - candthesis = {{tesi de candidatura}{tesi de cand\adddotspace}}, + candthesis = {{tesi de candidatura}{tesi de cand\adddot}}, resreport = {{informe de recerca}{inf\adddotspace de rec\adddot}}, techreport = {{informe t\`ecnic}{inf\adddotspace t\`ec\adddot}}, software = {{programari}{prog\adddot}}, @@ -422,25 +422,25 @@ version = {{versi\'o}{vers\adddot}}, url = {{adre\c{c}a}{adr\adddot}}, urlfrom = {{disponible a}{disp\adddotspace a}}, - urlseen = {{consultat}{cons\adddotspace}}, + urlseen = {{consultat}{cons\adddotspace}}, % Possibly better «consultat \smartel», but \smartel unavailable inpreparation = {{en preparaci\'o}{en prep\adddot}}, inpress = {{a impremta}{a impr\adddot}},% Per revisar prepublished = {{pre-publicat}{pre-publicat}}, submitted = {{enviat a publicar}{env\adddotspace a pub\adddot}}, - forthcoming = {{acceptat per a publicar}{acc\adddotspace per a pub\adddot}}, + forthcoming = {{properament}{prop\adddot}}, citedas = {{d'ara endavant citat com}{d'ara end\adddotspace cit\adddotspace com}}, - thiscite = {{aquesta citaci\'o}{aqu\adddotspace cit\adddot}}, + thiscite = {{concretament}{concr\adddot}},% Check seenote = {{vegeu la nota}{v\adddotspace la n\adddot}}, quotedin = {{citat a}{cit\adddotspace a}}, - idem = {{{\'\i}dem}{{\'\i}d\adddot}}, - idemsf = {{{\'\i}dem}{{\'\i}d\adddot}}, - idemsm = {{{\'\i}dem}{{\'\i}d\adddot}}, - idemsn = {{{\'\i}dem}{{\'\i}d\adddot}}, - idempf = {{{\'\i}dem}{{\'\i}d\adddot}}, - idempm = {{{\'\i}dem}{{\'\i}d\adddot}}, - idempn = {{{\'\i}dem}{{\'\i}d\adddot}}, - idempp = {{{\'\i}dem}{{\'\i}d\adddot}}, - ibidem = {{ib{\'\i}dem}{ib\adddot}}, + idem = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsf = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsm = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsn = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempf = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempm = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempn = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempp = {{\'{\i}dem}{\'{\i}d\adddot}}, + ibidem = {{ib\'{\i}dem}{ib\adddot}}, opcit = {{\`op\adddotspace cit\adddot}{\`op\adddotspace cit\adddot}}, loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, confer = {{cf\adddot}{cf\adddot}}, @@ -465,56 +465,62 @@ december = {{desembre}{des\adddot}}, langamerican = {{angl\`es americ\`a}{ang\adddotspace amer\adddot}}, langbrazilian = {{portugu\`es brasiler}{port\adddotspace bras\adddot}}, -% langbulgarian = {{}{}},% FIXME: missing + langbulgarian = {{b\'ulgar}{b\'ulg\adddot}}, langcatalan = {{catal\`a}{cat\adddot}}, langczech = {{txec}{txec}}, langcroatian = {{croat}{croat}}, langdanish = {{dan\`es}{dan\adddot}}, langdutch = {{neerland\`es}{neerl\adddot}}, langenglish = {{angl\`es}{ang\adddot}}, -% langestonian = {{}{}},% FIXME: missing + langestonian = {{estoni\`a}{eston\adddot}}, langfinnish = {{fin\`es}{fin\adddot}}, langfrench = {{franc\`es}{fr\adddot}}, langgalician = {{gallec}{gal\adddot}}, langgerman = {{alemany}{al\adddot}}, langgreek = {{grec}{grec}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{itali\`a}{it\adddot}}, - langlatin = {{llat{\'\i}}{ll\adddot}}, -% langlatvian = {{}{}},% FIXME: missing + langjapanese = {{japon\`es}{jap\adddot}}, + langlatin = {{llat\'{\i}}{ll\adddot}}, + langlatvian = {{litu\`a}{lit\adddot}}, langnorwegian = {{noruec}{nor\adddot}}, langpolish = {{polon\`es}{pol\adddot}}, langportuguese = {{portugu\`es}{port\adddot}}, langrussian = {{rus}{rus}}, -% langslovak = {{}{}},% FIXME: missing - langslovene = {{eslov\`e}{esl\adddot}}, + langslovak = {{eslovac}{eslovac}}, + langslovene = {{eslov\`e}{eslov\`e}}, langspanish = {{castell\`a}{cast\adddot}}, langswedish = {{suec}{suec}}, + langukrainian = {{ucra\"{\i}n\`es}{ucr\adddot}}, fromamerican = {{de l'angl\`es americ\`a}{de l'ang\adddotspace amer\adddot}}, frombrazilian = {{del portugu\`es brasiler}{del port\adddotspace bras\adddot}}, -% frombulgarian = {{}{}},% FIXME: missing + frombulgarian = {{del b\'ulgar}{del bulg\adddot}}, fromcatalan = {{del catal\`a}{del cat\adddot}}, fromcroatian = {{del croat}{del croat}}, fromczech = {{del txec}{del txec}}, fromdanish = {{del dan\`es}{del dan\adddot}}, fromdutch = {{del neerland\`es}{del neerl\adddot}}, fromenglish = {{de l'angl\`es}{de l'ang\adddot}}, -% fromestonian = {{}{}},% FIXME: missing + fromestonian = {{de l'estoni\`a}{de l'eston\adddot}}, fromfinnish = {{del fin\`es}{del fin\adddot}}, fromfrench = {{del franc\`es}{del fr\adddot}}, - fromgalician = {{del gallec}{del gal\adddot}}, + fromgalician = {{del gallec}{del gall\adddot}}, fromgerman = {{de l'alemany}{de l'al\adddot}}, fromgreek = {{del grec}{del grec}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{de l'itali\`a}{de l'it\adddot}}, - fromlatin = {{del llat{\'\i}}{del ll\adddot}}, -% fromlatvian = {{}{}},% FIXME: missing + fromjapanese = {{del japon\`es}{del jap\adddot}}, + fromlatin = {{del llat\'{\i}}{del ll\adddot}}, + fromlatvian = {{del litu\`a}{del lit\adddot}}, fromnorwegian = {{del noruec}{del nor\adddot}}, frompolish = {{del polon\`es}{del pol\adddot}}, fromportuguese = {{del portugu\`es}{del port\adddot}}, fromrussian = {{del rus}{del rus}}, -% fromslovak = {{}{}},% FIXME: missing - fromslovene = {{de l'eslov\`e}{de l'esl\adddot}}, + fromslovak = {{de l'eslovac}{de l'eslovac}}, + fromslovene = {{de l'eslov\`e}{de l'eslov\`e}}, fromspanish = {{del castell\`a}{del cast\adddot}}, fromswedish = {{del suec}{del suec}}, + fromukrainian = {{de l'ucra\"{\i}n\`es}{de l'ucr\adddot}}, countryde = {{Alemanya}{DE}}, countryeu = {{Uni\'o Europea}{UE}}, countryep = {{Uni\'o Europea}{UE}}, @@ -541,11 +547,11 @@ beforecommonera = {{abans de l'Era Comuna}{AEC}}, annodomini = {{despr\'es de Crist}{dC}}, beforechrist = {{abans de Crist}{aC}}, -% circa = {{}{}},% FIXME: missing -% spring = {{}{}},% FIXME: missing -% summer = {{}{}},% FIXME: missing -% autumn = {{}{}},% FIXME: missing -% winter = {{}{}},% FIXME: missing + circa = {{circa}{c\adddot}}, + spring = {{primavera}{prim\adddot}}, + summer = {{estiu}{est\adddot}}, + autumn = {{tardor}{tard\adddot}}, + winter = {{hivern}{hiv\adddot}}, am = {{a\adddotspace m\adddot}{a\adddotspace m\adddot}}, pm = {{p\adddotspace m\adddot}{p\adddotspace m\adddot}}, } @@ -561,7 +567,7 @@ \begingroup \def\forceD##1{a\relax}% \def\forceDE##1{x\relax}% - \def\do##1{\let##1\@empty}% + \def\do##1{\let##1\@firstofone}% \abx@dosingleaccents \abx@dodoubleaccents \def\i{i}\def\j{j}% @@ -578,7 +584,7 @@ \let~\@empty \fi \let\protect\noexpand - \lowercase{\edef\lbx@tempa{#1}}% + \edef\lbx@tempa{#1}% \expandafter\futurelet \expandafter\lbx@tempa \expandafter\lbx@ca@smartof@ii @@ -589,23 +595,31 @@ \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@ca@smartof@ii##1}% \else\ifcat\noexpand~\noexpand\lbx@tempa \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@ca@smartof@ii}% - \else\if a\noexpand\lbx@tempa - \let\lbx@tempa\lbx@ca@smartof@d - \else\if e\noexpand\lbx@tempa - \let\lbx@tempa\lbx@ca@smartof@d - \else\if i\noexpand\lbx@tempa - \let\lbx@tempa\lbx@ca@smartof@d - \else\if o\noexpand\lbx@tempa - \let\lbx@tempa\lbx@ca@smartof@d - \else\if u\noexpand\lbx@tempa - \let\lbx@tempa\lbx@ca@smartof@d - \else\if y\noexpand\lbx@tempa + \else + \ifnum 0% + \if a\noexpand\lbx@tempa 1\fi + \if e\noexpand\lbx@tempa 1\fi + \if i\noexpand\lbx@tempa 1\fi + \if o\noexpand\lbx@tempa 1\fi + \if u\noexpand\lbx@tempa 1\fi + \if y\noexpand\lbx@tempa 1\fi + \if A\noexpand\lbx@tempa 1\fi + \if E\noexpand\lbx@tempa 1\fi + \if I\noexpand\lbx@tempa 1\fi + \if O\noexpand\lbx@tempa 1\fi + \if U\noexpand\lbx@tempa 1\fi + \if Y\noexpand\lbx@tempa 1\fi + >0 % \let\lbx@tempa\lbx@ca@smartof@d - \else\if h\noexpand\lbx@tempa + \else + \ifnum 0% + \if h\noexpand\lbx@tempa 1\fi + \if H\noexpand\lbx@tempa 1\fi + >0 % \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@ca@smartof@ii}% \else \let\lbx@tempa\lbx@ca@smartof@de - \fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi \lbx@tempa} \gdef\lbx@ca@smartof@d#1&{\endgroup d'} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx index 83547e50d74..597c80bf219 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx @@ -61,7 +61,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -487,6 +487,7 @@ langgalician = {{galicijski}{galicijski}}, langgerman = {{njema\v{c}ki}{njema\v{c}ki}}, langgreek = {{gr\v{c}ki}{gr\v{c}ki}}, + langhungarian = {{ma\dj arski}{ma\dj arski}}, langitalian = {{talijanski}{talijanski}}, langlatin = {{latinski}{latinski}}, % langlatvian = {{}{}},% FIXME: missing @@ -513,6 +514,7 @@ fromgalician = {{s galicijskog}{s galicijskog}}, fromgerman = {{s njema\v{c}kog}{s njema\v{c}kog}}, fromgreek = {{s gr\v{c}kog}{s gr\v{c}kog}}, + fromhungarian = {{s ma\dj arskog}{s ma\dj arskog}}, fromitalian = {{s talijanskog}{s talijanskog}}, fromlatin = {{s latinskog}{s latinskog}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx index ee31cd2c658..716b3a1ee85 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx @@ -53,7 +53,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -399,6 +399,7 @@ langgalician = {{galicij\v{s}tina}{gal\adddot}}, langgerman = {{n\v{e}m\v{c}ina}{n\v{e}m\adddot}}, langgreek = {{\v{r}e\v{c}tina}{\v{r}e\v{c}\adddot}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{ital\v{s}tina}{ital\adddot}}, langlatin = {{latina}{lat\adddot}}, % langlatvian = {{}{}},% FIXME: missing @@ -424,6 +425,7 @@ fromgalician = {{z galicij\v{s}tiny}{z gal\adddot}}, fromgerman = {{z n\v{e}m\v{c}iny}{z n\v{e}m\adddot}}, fromgreek = {{z \v{r}e\v{c}tiny}{z \v{r}e\v{c}\adddot}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{z ital\v{s}tiny}{z ital\adddot}}, fromlatin = {{z latiny}{z lat\adddot}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx index 9d5801a91a2..aff486227e3 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx @@ -51,7 +51,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -71,374 +71,360 @@ \DeclareBibliographyStrings{% bibliography = {{Bibliografi}{Bibliografi}}, - references = {{Referencer}{Referencer}}, - shorthands = {{Fortegnelse over forkortelser}{Forkortelsesfortegnelse}}, + references = {{Litteraturhenvisninger}{Litteratur}}, + shorthands = {{Forkortelser}{Forkortelser}}, editor = {{redakt\o r}{red\adddot}}, - editors = {{redakt\o rer}{red\adddot}}, + editors = {{redakt\o rer}{redd\adddot}}, compiler = {{kompilator}{kompilator}}, compilers = {{kompilatorer}{kompilatorer}}, -% alternative translation: -% compiler = {{redakt\o r}{red\adddot}}, -% compilers = {{redakt\o rer}{red\adddot}}, - redactor = {{redakt\o r}{red\adddot}},% FIXME: redactor and editor are the same string; need to find a noun corresponding to "bearbejdet af" - redactors = {{redakt\o rer}{red\adddot}}, -% reviser = {{}{}},% FIXME: missing -% revisers = {{}{}},% FIXME: missing - founder = {{grundl\ae gger}{grundl\adddot}}, - founders = {{grundl\ae ggere}{grundl\adddot}}, -% continuator = {{}{}},% FIXME: missing -% continuators = {{}{}},% FIXME: missing -% collaborator = {{}{}},% FIXME: missing -% collaborators = {{}{}},% FIXME: missing + redactor = {{medredakt\o r}{medred\adddot}}, + redactors = {{medredakt\o rer}{medredd\adddot}}, + reviser = {{revision}{rev\adddot}}, + revisers = {{revision}{revv\adddot}}, + founder = {{stifter}{stifter}}, + founders = {{stiftere}{stiftere}}, + continuator = {{videref{\o}rer}{videref\adddot}}, + continuators = {{videref{\o}rere}{videreff\adddot}}, + collaborator = {{medarbejder}{medarb\adddot}}, + collaborators = {{medarbejdere}{medarbb\adddot}}, translator = {{overs\ae tter}{overs\adddot}}, - translators = {{overs\ae ttere}{overs\adddot}}, + translators = {{overs\ae ttere}{overss\adddot}}, commentator = {{kommentator}{komm\adddot}}, commentators = {{kommentatorer}{komm\adddot}}, - annotator = {{fortolker}{fortolker}}, - annotators = {{fortolkere}{fortolkere}}, -% alternative translations: -% annotator = {{kommentator}{kommentator}}, -% annotators = {{kommentatorer}{kommentatorer}}, + annotator = {{kommentator}{komm\adddot}}, + annotators = {{kommentatorer}{komm\adddot}}, commentary = {{kommentar}{komm\adddot}}, - annotations = {{forklaringer}{forkl\adddot}}, -% alternative translation: -% annotations = {{fortolkning}{fortolkning}}, + annotations = {{annoteringer}{ann.\adddot}}, introduction = {{indledning}{indl\adddot}}, foreword = {{forord}{forord}}, afterword = {{efterord}{efterord}}, editortr = {{redakt\o r og overs\ae tter}% {red\adddotspace og overs\adddot}}, editorstr = {{redakt\o rer og overs\ae ttere}% - {red\adddotspace og overs\adddot}}, + {redd\adddotspace og overss\adddot}}, editorco = {{redakt\o r og kommentator} {red\adddotspace og komm\adddot}}, editorsco = {{redakt\o rer og kommentatorer} + {redd\adddotspace og komm\adddot}}, + editoran = {{redakt\o r og kommentator}% {red\adddotspace og komm\adddot}}, - editoran = {{redakt\o r og forklaringer}% - {red\adddotspace og forkl\adddot}}, - editorsan = {{redakt\o rer og forklaringer}% - {red\adddotspace og forkl\adddot}}, - editorin = {{redakt\o r og indledning}% - {red\adddotspace og indl\adddot}}, - editorsin = {{redakt\o rer og indledning}% + editorsan = {{redakt\o rer og kommentatorer}% + {redd\adddotspace og komm\adddot}}, + editorin = {{redaktion og indledning}% {red\adddotspace og indl\adddot}}, - editorfo = {{redakt\o r og forord}% + editorsin = {{redaktion og indledning}% + {redd\adddotspace og indl\adddot}}, + editorfo = {{redaktion og forord}% {red\adddotspace og forord}}, - editorsfo = {{redakt\o rer og forord}% - {red\adddotspace og forord}}, - editoraf = {{redakt\o r og efterord}% - {red\adddotspace og efterord}}, - editorsaf = {{redakt\o rer og efterord}% + editorsfo = {{redaktion og forord}% + {redd\adddotspace og forord}}, + editoraf = {{redaktion og efterord}% {red\adddotspace og efterord}}, + editorsaf = {{redaktion og efterord}% + {redd\adddotspace og efterord}}, editortrco = {{redakt\o r, overs\ae tter og kommentator}% {red.,\addabbrvspace overs\adddotspace og komm\adddot}}, editorstrco = {{redakt\o rer, overs\ae ttere og kommentatorer}% + {redd.,\addabbrvspace overss\adddotspace og komm\adddot}}, + editortran = {{redakt\o r, overs\ae tter og kommentator}% {red.,\addabbrvspace overs\adddotspace og komm\adddot}}, - editortran = {{redakt\o r, overs\ae tter og forklaringer}% - {red.,\addabbrvspace overs\adddotspace og forkl\adddot}}, - editorstran = {{redakt\o rer, overs\ae ttere og forklaringer}% - {red.,\addabbrvspace overs\adddotspace og forkl\adddot}}, - editortrin = {{redakt\o r, overs\ae tter og indledning}% + editorstran = {{redakt\o rer, overs\ae ttere og kommentatorer}% + {redd.,\addabbrvspace overss\adddotspace og komm\adddot}}, + editortrin = {{redaktion, overs\ae ttelse og indledning}% {red.,\addabbrvspace overs\adddotspace og indl\adddot}}, - editorstrin = {{redakt\o rer, overs\ae ttere og indledning}% - {red.,\addabbrvspace overs\adddotspace og indl\adddot}}, - editortrfo = {{redakt\o r, overs\ae tter og forord}% - {red.,\addabbrvspace overs\adddotspace og forord}}, - editorstrfo = {{redakt\o rer, overs\ae ttere og forord}% + editorstrin = {{redaktion, overs\ae ttelse og indledning}% + {redd.,\addabbrvspace overs\adddotspace og indl\adddot}}, + editortrfo = {{redaktion, overs\ae ttelse og forord}% {red.,\addabbrvspace overs\adddotspace og forord}}, - editortraf = {{redakt\o r, overs\ae tter og efterord}% + editorstrfo = {{redaktion, overs\ae ttelse og forord}% + {redd.,\addabbrvspace overs\adddotspace og forord}}, + editortraf = {{redaktion, overs\ae ttelse og efterord}% {red.,\addabbrvspace overs\adddotspace og efterord}}, - editorstraf = {{redakt\o rer, overs\ae ttere og efterord}% - {red.,\addabbrvspace overs\adddotspace og efterord}}, - editorcoin = {{redakt\o r, kommentator og indledning}% - {red.,\addabbrvspace komm\adddotspace og indl\adddot}}, - editorscoin = {{redakt\o rer, kommentatorer og indledning}% + editorstraf = {{redaktion, overs\ae ttelse og efterord}% + {redd.,\addabbrvspace overs\adddotspace og efterord}}, + editorcoin = {{redaktion, kommentarer og indledning}% {red.,\addabbrvspace komm\adddotspace og indl\adddot}}, - editorcofo = {{redakt\o r, kommentator og forord}% + editorscoin = {{redaktion, kommentarer og indledning}% + {redd.,\addabbrvspace komm\adddotspace og indl\adddot}}, + editorcofo = {{redaktion, kommentarer og forord}% {red.,\addabbrvspace komm\adddotspace og forord}}, - editorscofo = {{redakt\o rer, kommentatorer og forord}% - {red.,\addabbrvspace komm\adddotspace og forord}}, - editorcoaf = {{redakt\o r, kommentator og efterord}% - {red.,\addabbrvspace komm\adddotspace og efterord}}, - editorscoaf = {{redakt\o rer, kommentatorer og efterord}% + editorscofo = {{redaktion, kommentarer og forord}% + {redd.,\addabbrvspace komm\adddotspace og forord}}, + editorcoaf = {{redaktion, kommentarer og efterord}% {red.,\addabbrvspace komm\adddotspace og efterord}}, - editoranin = {{redakt\o r, forklaringer og indledning}% - {red.,\addabbrvspace forkl\adddotspace og indl\adddot}}, - editorsanin = {{redakt\o rer, forklaringer og indledning}% - {red.,\addabbrvspace forkl\adddotspace og indl\adddot}}, - editoranfo = {{redakt\o r, forklaringer og forord}% - {red.,\addabbrvspace forkl\adddotspace og forord}}, - editorsanfo = {{redakt\o rer, forklaringer og forord}% - {red.,\addabbrvspace forkl\adddotspace og forord}}, - editoranaf = {{redakt\o r, forklaringer og efterord}% - {red.,\addabbrvspace forkl\adddotspace og efterord}}, - editorsanaf = {{redakt\o rer, forklaringer og efterord}% - {red.,\addabbrvspace forkl\adddotspace og efterord}}, - editortrcoin = {{redakt\o r, overs\ae tter, kommentator og indledning}% + editorscoaf = {{redaktion, kommentarer og efterord}% + {redd.,\addabbrvspace komm\adddotspace og efterord}}, + editoranin = {{redaktion, annoteringer og indledning}% + {red.,\addabbrvspace ann\adddotspace og indl\adddot}}, + editorsanin = {{redaktion, \adddotspace og indledning}% + {redd.,\addabbrvspace ann\adddotspace og indl\adddot}}, + editoranfo = {{redaktion, \adddotspace og forord}% + {red.,\addabbrvspace ann\adddotspace og forord}}, + editorsanfo = {{redaktion, annoteringer og forord}% + {redd.,\addabbrvspace ann\adddotspace og forord}}, + editoranaf = {{redaktion, annoteringer og efterord}% + {red.,\addabbrvspace ann\adddotspace og efterord}}, + editorsanaf = {{redaktion, annoteringer og efterord}% + {redd.,\addabbrvspace ann\adddotspace og efterord}}, + editortrcoin = {{redaktion, overs\ae ttelse, kommentarer og indledning}% {red.,\addabbrvspace overs., komm\adddotspace og indl\adddot}}, - editorstrcoin = {{redakt\o rer, overs\ae ttere, kommentatorer og indledning}% - {red.,\addabbrvspace overs., komm\adddotspace og indl\adddot}}, - editortrcofo = {{redakt\o r, overs\ae tter, kommentator og forord}% - {red.,\addabbrvspace overs., komm\adddotspace og forord}}, - editorstrcofo = {{redakt\o rer, overs\ae ttere, kommentatorer og forord}% + editorstrcoin = {{redaktion, overs\ae ttelse, kommentarer og indledning}% + {redd.,\addabbrvspace overs., komm\adddotspace og indl\adddot}}, + editortrcofo = {{redaktion, overs\ae ttelse, kommentarer og forord}% {red.,\addabbrvspace overs., komm\adddotspace og forord}}, - editortrcoaf = {{redakt\o r, overs\ae tter, kommentator og efterord}% + editorstrcofo = {{redaktion, overs\ae ttelse, kommentarer og forord}% + {redd.,\addabbrvspace overs., komm\adddotspace og forord}}, + editortrcoaf = {{redaktion, overs\ae ttelse, kommentarer og efterord}% {red.,\addabbrvspace overs., komm\adddotspace og efterord}}, - editorstrcoaf = {{redakt\o rer, overs\ae ttere, kommentatorer og efterord}% - {red.,\addabbrvspace overs., komm\adddotspace og efterord}}, - editortranin = {{redakt\o r, overs\ae tter, forklaringer og indledning}% - {red.,\addabbrvspace overs., forkl\adddotspace og indl\adddot}}, - editorstranin = {{redakt\o rer, overs\ae ttere, forklaringer og indledning}% - {red.,\addabbrvspace overs., forkl\adddotspace og indl\adddot}}, - editortranfo = {{redakt\o r, overs\ae tter, forklaringer og forord}% - {red.,\addabbrvspace overs., forkl\adddotspace og forord}}, - editorstranfo = {{redakt\o rer, overs\ae ttere, forklaringer og forord}% - {red.,\addabbrvspace overs., forkl\adddotspace og forord}}, - editortranaf = {{redakt\o r, overs\ae tter, forklaringer og efterord}% - {red.,\addabbrvspace overs., forkl\adddotspace og efterord}}, - editorstranaf = {{redakt\o rer, overs\ae ttere, forklaringer og efterord}% - {red.,\addabbrvspace overs., forkl\adddotspace og efterord}}, - translatorco = {{overs\ae tter og kommentator}% + editorstrcoaf = {{redaktion, overs\ae ttelse, kommentarer og efterord}% + {redd.,\addabbrvspace overs., komm\adddotspace og efterord}}, + editortranin = {{redaktion, overs\ae ttelse, annoteringer og indledning}% + {red.,\addabbrvspace overs., ann\adddotspace og indl\adddot}}, + editorstranin = {{redaktion, overs\ae ttelse, annoteringer og indledning}% + {redd.,\addabbrvspace overs., ann\adddotspace og indl\adddot}}, + editortranfo = {{redaktion, overs\ae ttelse, annoteringer og forord}% + {red.,\addabbrvspace overs., ann\adddotspace og forord}}, + editorstranfo = {{redaktion, overs\ae ttelse, annoteringer og forord}% + {redd.,\addabbrvspace overs., ann\adddotspace og forord}}, + editortranaf = {{redaktion, overs\ae ttelse, annoteringer og efterord}% + {red.,\addabbrvspace overs., ann\adddotspace og efterord}}, + editorstranaf = {{redaktion, overs\ae ttelse, annoteringer og efterord}% + {redd.,\addabbrvspace overs., ann\adddotspace og efterord}}, + translatorco = {{overs\ae ttelse og kommentarer}% {overs\adddotspace og komm\adddot}}, - translatorsco = {{overs\ae ttere og kommentatorer}% + translatorsco = {{overs\ae ttelse og kommentarer}% {overs\adddotspace og komm\adddot}}, - translatoran = {{overs\ae tter og forklaringer}% - {overs\adddotspace og forkl\adddot}}, - translatorsan = {{overs\ae ttere og forklaringer}% - {overs\adddotspace og forkl\adddot}}, - translatorin = {{overs\ae tter og indledning}% + translatoran = {{overs\ae ttelse og annoteringer}% + {overs\adddotspace og ann\adddot}}, + translatorsan = {{overs\ae ttelse og annoteringer}% + {overs\adddotspace og ann\adddot}}, + translatorin = {{overs\ae ttelse og indledning}% {overs\adddotspace og indl\adddot}}, - translatorsin = {{overs\ae ttere og indledning}% + translatorsin = {{overs\ae ttelse og indledning}% {overs\adddotspace og indl\adddot}}, - translatorfo = {{overs\ae tter og forord}% + translatorfo = {{overs\ae ttelse og forord}% {overs\adddotspace og forord}}, - translatorsfo = {{overs\ae ttere og forord}% + translatorsfo = {{overs\ae ttelse og forord}% {overs\adddotspace og forord}}, - translatoraf = {{overs\ae tter og efterord}% + translatoraf = {{overs\ae ttelse og efterord}% {overs\adddotspace og efterord}}, - translatorsaf = {{overs\ae ttere og efterord}% + translatorsaf = {{overs\ae ttelse og efterord}% {overs\adddotspace og efterord}}, - translatorcoin = {{overs\ae tter, kommentarer og indledning}% + translatorcoin = {{overs\ae ttelse, kommentarer og indledning}% {overs., komm\adddotspace og indl\adddot}}, - translatorscoin = {{overs\ae ttere, kommentarer og indledning}% + translatorscoin = {{overs\ae ttelse, kommentarer og indledning}% {overs., komm\adddotspace og indl\adddot}}, - translatorcofo = {{overs\ae tter, kommentarer og forord}% + translatorcofo = {{overs\ae ttelse, kommentarer og forord}% {overs., komm\adddotspace og forord}}, - translatorscofo = {{overs\ae ttere, kommentarer og forord}% + translatorscofo = {{overs\ae ttelse, kommentarer og forord}% {overs., komm\adddotspace og forord}}, - translatorcoaf = {{overs\ae tter, kommentarer og efterord}% + translatorcoaf = {{overs\ae ttelse, kommentarer og efterord}% {overs., komm\adddotspace og efterord}}, - translatorscoaf = {{overs\ae ttere, kommentarer og efterord}% + translatorscoaf = {{overs\ae ttelse, kommentarer og efterord}% {overs., komm\adddotspace og efterord}}, - translatoranin = {{overs\ae tter, forklaringer og indledning}% - {overs., forkl\adddotspace og indl\adddot}}, - translatorsanin = {{overs\ae ttere, forklaringer og indledning}% - {overs., forkl\adddotspace og indl\adddot}}, - translatoranfo = {{overs\ae tter, forklaringer og forord}% - {overs., forkl\adddotspace og forord}}, - translatorsanfo = {{overs\ae ttere, forklaringer og forord}% - {overs., forkl\adddotspace og forord}}, - translatoranaf = {{overs\ae tter, forklaringer og efterord}% - {overs., forkl\adddotspace og efterord}}, - translatorsanaf = {{overs\ae ttere, forklaringer og efterord}% - {overs., forkl\adddotspace og efterord}}, -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing + translatoranin = {{overs\ae ttelse, annoteringer og indledning}% + {overs., ann\adddotspace og indl\adddot}}, + translatorsanin = {{overs\ae ttelse, annoteringer og indledning}% + {overs., ann\adddotspace og indl\adddot}}, + translatoranfo = {{overs\ae ttelse, annoteringer og forord}% + {overs., ann\adddotspace og forord}}, + translatorsanfo = {{overs\ae ttelse, annoteringer og forord}% + {overs., ann\adddotspace og forord}}, + translatoranaf = {{overs\ae ttelse, annoteringer og efterord}% + {overs., ann\adddotspace og efterord}}, + translatorsanaf = {{overs\ae ttelse, annoteringer og efterord}% + {overs., ann\adddotspace og efterord}}, + organizer = {{organisator}{org\adddot}}, + organizers = {{organisatorer}{orgg\adddot}}, + byorganizer = {{organiseret af}{org\adddotspace av}}, byauthor = {{af}{af}}, byeditor = {{udgivet af}{udg\adddotspace af}}, bycompiler = {{kompileret af}{komp\adddotspace af}}, byredactor = {{bearbejdet af}{bearb\adddotspace af}}, byreviser = {{revideret af}{rev\adddotspace af}}, - byreviewer = {{bed\o mt af}{bed\adddotspace af}}, - byfounder = {{grundlagt af}{grundl\adddotspace af}}, + byreviewer = {{bed\o mt af}{bed\o mt af}}, + byfounder = {{stiftet af}{stiftet af}}, bycontinuator = {{videref\o rt af}{videref\adddotspace af}}, - bycollaborator = {{i samarbejde med}{i samarb\adddotspace med}}, - bytranslator = {{oversat \lbx@lfromlang\ af}{oversat \lbx@sfromlang\ af}}, + bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddotspace}}, + bytranslator = {{oversat \lbx@lfromlang\ af}% + {overs\adddot \lbx@sfromlang\ af}}, bycommentator = {{kommenteret af}{komm\adddot\ af}}, - byannotator = {{forklaret af}{forkl\adddot\ af}}, -% alternative translation -% byannotator = {{fortolket af}{fortolket af}}, - withcommentator = {{med en kommentar af}{med en komm\adddot\ af}}, - withannotator = {{med forklaringer af}{med forkl\adddot\ af}}, - withintroduction = {{med en indledning af}{med en indl\adddot\ af}}, - withforeword = {{med et forord af}{med et forord af}}, - withafterword = {{med et efterord af}{med et efterord af}}, + byannotator = {{annoteret af}{ann\adddot\ af}}, + withcommentator = {{med kommentarer af}{m\adddotspace komm\adddot\ af}}, + withannotator = {{med annoteringer af}{m\adddotspace ann\adddot\ af}}, + withintroduction = {{med indledning af}{m\adddotspace indl\adddot\ af}}, + withforeword = {{med forord af}{m\adddotspace forord af}}, + withafterword = {{med efterord af}{m\adddotspace efterord af}}, byeditortr = {{udgivet og oversat \lbx@lfromlang\ af}% - {udg\adddotspace og oversat \lbx@sfromlang\ af}}, + {udg\adddotspace og overs\adddot \lbx@sfromlang\ af}}, byeditorco = {{udgivet og kommenteret af}% {udg\adddotspace og komm\adddot\ af}}, - byeditoran = {{udgivet og forklaret af}% - {udg\adddotspace og forkl\adddot\ af}}, - byeditorin = {{udgivet og med en indledning skrevet af}% - {udg\adddotspace og med en indledning skrev\adddot\ af}}, - byeditorfo = {{udgivet og med et forord skrevet af}% - {udg\adddotspace og med et forord skrev\adddot\ af}}, - byeditoraf = {{udgivet og med et efterord skrevet af}% - {udg\adddotspace og med et efterord skrev\adddot\ af}}, + byeditoran = {{udgivet med annoteringer af}% + {udg\adddotspace m\adddotspace ann\adddotspace af}}, + byeditorin = {{udgivet med indledning af}% + {udg\adddotspace med indl\adddot\ af}}, + byeditorfo = {{udgivet med forord af}% + {udg\adddotspace med forord af}}, + byeditoraf = {{udgivet med efterord af}% + {udg\adddotspace med efterord af}}, byeditortrco = {{udgivet, oversat \lbx@lfromlang\ og kommenteret af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang\ og komm\adddot\ af}}, - byeditortran = {{udgivet, oversat \lbx@lfromlang\ og forklaret af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang\ og forkl\adddot\ af}}, - byeditortrin = {{udgivet, oversat \lbx@lfromlang\ og med en indledning skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang\ og med en indl\adddot\ skrev\adddot\ af}}, - byeditortrfo = {{udgivet, oversat \lbx@lfromlang\ og med et forord skrevet af}% - {wnoversat \lbx@sfromlang\ og med et forord skrev\adddot\ af}}, - byeditortraf = {{udgivet, oversat \lbx@lfromlang\ og med et efterord skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang\ og med et efterord skrev\adddot\ af}}, - byeditorcoin = {{udgivet, kommenteret og med en indledning skrevet af}% - {udg.,\addabbrvspace komm\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, - byeditorcofo = {{udgivet, kommenteret og med et forord skrevet af}% - {udg.,\addabbrvspace komm\adddot\ og med et forord skrev\adddot\ af}}, - byeditorcoaf = {{udgivet, kommenteret og med et efterord skrevet af}% - {udg.,\addabbrvspace komm\adddot\ og med et efterord skrev\adddot\ af}}, - byeditoranin = {{udgivet, forklaret og med en indledning skrevet af}% - {udg.,\addabbrvspace forkl\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, - byeditoranfo = {{udgivet, forklaret og med et forord skrevet af}% - {udg.,\addabbrvspace forkl\adddot\ og med et forord skrev\adddot\ af}}, - byeditoranaf = {{udgivet, forklaret og med et efterord skrevet af}% - {udg.,\addabbrvspace forkl\adddot\ og med et efterord skrev\adddot\ af}}, - byeditortrcoin = {{udgivet, oversat \lbx@lfromlang, kommenteret og med en indledning skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang, komm\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, - byeditortrcofo = {{udgivet, oversat \lbx@lfromlang, kommenteret og med et forord skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang, komm\adddot\ og med et forord skrev\adddot\ af}}, - byeditortrcoaf = {{udgivet, oversat \lbx@lfromlang, kommenteret og med et efterord skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang, komm\adddot\ og med et efterord skrev\adddot\ af}}, - byeditortranin = {{udgivet, oversat \lbx@lfromlang, forklaret og med en indledning skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang, forkl\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, - byeditortranfo = {{udgivet, oversat \lbx@lfromlang, forklaret og med et forord skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang, forkl\adddot\ og med et forord skrev\adddot\ af}}, - byeditortranaf = {{udgivet, oversat \lbx@lfromlang, forklaret og med et efterord skrevet af}% - {udg.,\addabbrvspace oversat \lbx@sfromlang, forkl\adddot\ og med et efterord skrev\adddot\ af}}, - bytranslatorco = {{oversat \lbx@lfromlang\ og kommenteret af}% - {oversat \lbx@sfromlang\ og komm\adddot\ af}}, - bytranslatoran = {{oversat \lbx@lfromlang\ og forklaret af}% - {oversat \lbx@sfromlang\ og forkl\adddot\ af}}, - bytranslatorin = {{oversat \lbx@lfromlang\ og med en indledning skrevet af}% - {oversat \lbx@sfromlang\ og med en indl\adddot\ skrev\adddot\ af}}, - bytranslatorfo = {{oversat \lbx@lfromlang\ og med et forord skrevet af}% - {oversat \lbx@sfromlang\ og med et forord skrev\adddot\ af}}, - bytranslatoraf = {{oversat \lbx@lfromlang\ og med et efterord skrevet af}% - {oversat \lbx@sfromlang\ og med et efterord skrev\adddot\ af}}, - bytranslatorcoin = {{oversat \lbx@lfromlang, kommenteret og med en indledning skrevet af}% - {oversat \lbx@sfromlang, komm\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, - bytranslatorcofo = {{oversat \lbx@lfromlang, kommenteret og med et forord skrevet af}% - {oversat \lbx@sfromlang, komm\adddot\ og med et forord skrev\adddot\ af}}, - bytranslatorcoaf = {{oversat \lbx@lfromlang, kommenteret og med et efterord skrevet af}% - {oversat \lbx@sfromlang, komm\adddot\ og med et efterord skrev\adddot\ af}}, - bytranslatoranin = {{oversat \lbx@lfromlang, forklaret og med en indledning skrevet af}% - {oversat \lbx@sfromlang, forkl\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, - bytranslatoranfo = {{oversat \lbx@lfromlang, forklaret og med et forord skrevet af}% - {oversat \lbx@sfromlang, forkl\adddot\ og med et forord skrev\adddot\ af}}, - bytranslatoranaf = {{oversat \lbx@lfromlang, forklaret og med et efterord skrevet af}% - {oversat \lbx@sfromlang, forkl\adddot\ og med et efterord skrev\adddot\ af}}, + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og komm\adddot\ af}}, + byeditortran = {{udgivet, oversat \lbx@lfromlang\ og annoteret af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og ann\adddot\ af}}, + byeditortrin = {{udgivet, oversat \lbx@lfromlang\ og med indledning af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og indl\adddot\ af}}, + byeditortrfo = {{udgivet, oversat \lbx@lfromlang\ og med forord af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og forord af}}, + byeditortraf = {{udgivet, oversat \lbx@lfromlang\ og med efterord af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og efterord af}}, + byeditorcoin = {{udgivet, kommenteret og med indledning af}% + {udg.,\addabbrvspace komm\adddot\ og indl\adddotspace af}}, + byeditorcofo = {{udgivet, kommenteret og med forord af}% + {udg.,\addabbrvspace komm\adddot\ og forord af}}, + byeditorcoaf = {{udgivet, kommenteret og med efterord af}% + {udg.,\addabbrvspace komm\adddot\ og efterord af}}, + byeditoranin = {{udgivet, annoteret og med indledning af}% + {udg.,\addabbrvspace ann\adddot\ og indl\adddot\ af}}, + byeditoranfo = {{udgivet, annoteret og med forord af}% + {udg.,\addabbrvspace ann\adddot\ og forord af}}, + byeditoranaf = {{udgivet, annoteret og med efterord af}% + {udg.,\addabbrvspace ann\adddot\ og efterord af}}, + byeditortrcoin = {{udgivet, oversat \lbx@lfromlang, kommenteret og med indledning af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang, komm\adddot\ og indl\adddot\ af}}, + byeditortrcofo = {{udgivet, oversat \lbx@lfromlang, kommenteret og med forord af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang, komm\adddot\ og forord af}}, + byeditortrcoaf = {{udgivet, oversat \lbx@lfromlang, kommenteret og med efterord af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang, komm\adddot\ og efterord af}}, + byeditortranin = {{udgivet, oversat \lbx@lfromlang, med annoteringer og indledning af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang, ann\adddot\ og indl\adddot\ af}}, + byeditortranfo = {{udgivet, oversat \lbx@lfromlang, med annoteringer og forord af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang, ann\adddot\ og forord af}}, + byeditortranaf = {{udgivet, oversat \lbx@lfromlang, med annoteringer og efterord af}% + {udg.,\addabbrvspace overs\adddot\ \lbx@sfromlang, ann\adddot\ og efterord af}}, + bytranslatorco = {{oversat \lbx@lfromlang\ med kommentarer af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace komm\adddot\ af}}, + bytranslatoran = {{oversat \lbx@lfromlang\ og annoteret af}% + {overs\adddot\ \lbx@sfromlang\ og ann\adddot\ af}}, + bytranslatorin = {{oversat \lbx@lfromlang\ med indledning af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace indl\adddot\ af}}, + bytranslatorfo = {{oversat \lbx@lfromlang\ med forord af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace forord af}}, + bytranslatoraf = {{oversat \lbx@lfromlang\ med efterord af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace efterord af}}, + bytranslatorcoin = {{oversat \lbx@lfromlang\addspace med kommentarer og indledning af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace komm\adddotspace og indl\adddotspace af}}, + bytranslatorcofo = {{oversat \lbx@lfromlang\addspace med kommentarer og forord af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace komm\adddot\ og forord af}}, + bytranslatorcoaf = {{oversat \lbx@lfromlang\addspace med kommentarer og efterord af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace komm\adddot\ og efterord af}}, + bytranslatoranin = {{oversat \lbx@lfromlang\addspace med annoteringer og indledning af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace ann\adddot\ og indl\adddot\ af}}, + bytranslatoranfo = {{oversat \lbx@lfromlang\addspace med annoteringer og forord af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace ann\adddot\ og forord af}}, + bytranslatoranaf = {{oversat \lbx@lfromlang\addspace med annoteringer og efterord af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace ann\adddot\ og efterord af}}, and = {{og}{og}}, - andothers = {{med flere}{m.fl\adddot}},% FIXME: spacing after abbreviation dot? - andmore = {{med flere}{m.fl\adddot}},% FIXME: spacing after abbreviation dot? + andothers = {{med flere}{m.fl\adddot}}, + andmore = {{med mere}{m.m\adddot}}, volume = {{bind}{bd\adddot}}, - volumes = {{bind}{bd\adddot}}, + volumes = {{bind}{bdd\adddot}}, involumes = {{i}{i}}, - jourvol = {{\aa rgang}{\aa g\adddot}}, - jourser = {{serie}{ser\adddot}}, + jourvol = {{\aa rgang}{\aa rg\adddot}}, + jourser = {{r\ae kke}{rk\adddot}}, book = {{bog}{bog}}, part = {{del}{del}}, - issue = {{oplag}{opl\adddot}}, - newseries = {{ny serie}{n.s\adddot}},% FIXME: spacing after abbreviation dot? - oldseries = {{gammel serie}{g.s\adddot}},% FIXME: spacing after abbreviation dot? + issue = {{nummer}{nr\adddot}}, + newseries = {{ny r\ae kke}{ny rk\adddot}}, + oldseries = {{gammel r\ae kke}{gl. rk\adddot}}, edition = {{udgave}{udg\adddot}}, - reprint = {{eftertryk}{eftertryk}}, - reprintof = {{eftertryk af}{eftertryk af}}, - reprintas = {{eftertryk i}{eftertryk i}}, - reprintfrom = {{eftertryk fra}{eftertryk fra}},% FIXME: check -% alternative translations: -% reprint = {{genoptryk}{genoptryk}}, -% reprintof = {{genoptryk af}{genoptryk af}}, -% reprintas = {{genoptrykt i}{genoptrykt i}}, -% reprintas = {{genoptrykt som}{genoptrykt som}}, - translationof = {{overs\ae ttelse af}{overs\ae ttelse af}},% FIXME: check - translationas = {{oversat som}{oversat som}},% FIXME: check - translationfrom = {{oversat fra}{oversat fra}},% FIXME: check + reprint = {{genoptryk}{genoptr\adddot}}, + reprintof = {{genoptryk af}{genoptr\adddot\ af}}, + reprintas = {{genoptryk under titlen}{genoptr\adddot\ under titlen}}, + reprintfrom = {{genoptryk fra}{genoptr\adddot\ fra}}, + translationof = {{overs\ae ttelse af}{overs\adddot\ af}}, + translationas = {{oversat under titlen}{overs\adddotspace\ under titlen}}, + translationfrom = {{oversat fra}{overs\adddotspace\ fra}}, reviewof = {{bed\o mmelse af}{bed\adddotspace af}}, - origpubas = {{oprindeligt udgivet som}{oprindelig udgivet som}},% FIXME: check - origpubin = {{oprindeligt udgivet i}{oprindeligt udgivet i}},% FIXME: check - astitle = {{i}{i}},% FIXME: check - bypublisher = {{af}{af}},% FIXME: check - nodate = {{n\adddot d\adddot}{n\adddot d\adddot}},%FIXME + origpubas = {{oprindeligt udgivet som}{opr\adddot\ udg\adddot\ som}}, + origpubin = {{oprindeligt udgivet i}{opr\adddot\ udg\adddot\ i}}, + astitle = {{under titlen}{under titlen}}, + bypublisher = {{af}{af}}, + nodate = {{udateret}{udat\adddot}}, page = {{side}{s\adddot}}, - pages = {{sider}{s\adddot}}, + pages = {{sider}{ss\adddot}}, column = {{spalte}{sp\adddot}}, - columns = {{spalter}{sp\adddot}}, + columns = {{spalter}{spp\adddot}}, line = {{linje}{l\adddot}}, lines = {{linjer}{l\adddot}}, verse = {{vers}{v\adddot}}, - verses = {{vers}{v\adddot}}, - section = {{afsnit}{\S}},% FIXME: check - sections = {{afsnit}{\S\S}},% FIXME: check -% alternative translations: -% section = {{paragraf}{\S}}, -% sections = {{paragrafer}{\S\S}}, -% paragraph = {{}{}},% FIXME: missing -% paragraphs = {{}{}},% FIXME: missing -% pagetotal = {{}{}},% FIXME: missing -% pagetotals = {{}{}},% FIXME: missing -% columntotal = {{}{}},% FIXME: missing -% columntotals = {{}{}},% FIXME: missing -% linetotal = {{}{}},% FIXME: missing -% linetotals = {{}{}},% FIXME: missing -% versetotal = {{}{}},% FIXME: missing -% versetotals = {{}{}},% FIXME: missing -% sectiontotal = {{}{}},% FIXME: missing -% sectiontotals = {{}{}},% FIXME: missing -% paragraphtotal = {{}{}},% FIXME: missing -% paragraphtotals = {{}{}},% FIXME: missing + verses = {{vers}{vv\adddot}}, + section = {{paragraf}{par\adddot}}, + sections = {{paragraffer}{parr\adddot}}, + paragraph = {{afsnit}{afsn\adddot}}, + paragraphs = {{afsnit}{afsnn\adddot}}, + pagetotal = {{side}{s\adddot}}, + pagetotals = {{sider}{ss\adddot}}, + columntotal = {{spalte}{sp\adddot}}, + columntotals = {{spalter}{spp\adddot}}, + line = {{linje}{l\adddot}}, + lines = {{linjer}{ll\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{vers}{vv\adddot}}, + linetotal = {{linje}{l\adddot}}, + linetotals = {{linje}{ll\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{vers}{vv\adddot}}, + sectiontotal = {{paragraf}{par\adddot}}, + sectiontotals = {{paragraffer}{parr\adddot}}, + paragraphtotal = {{afsnit}{afsn\adddot}}, + paragraphtotals = {{afsnit}{afsnn\adddot}},% in = {{i}{i}}, - inseries = {{r\ae kken}{r\ae kken}}, - ofseries = {{af r\ae kken}{af r\ae kken}}, + inseries = {{i r\ae kken}{i rk\adddot}}, + ofseries = {{fra r\ae kken}{fra rk\adddot}}, number = {{nummer}{nr\adddot}}, +% numbers = {{numre}{nrr\adddot}}, chapter = {{kapitel}{kap\adddot}}, -% bathesis = {{}{}},% FIXME: missing - mathesis = {{speciale}{speciale}},% FIXME: check - phdthesis = {{ph.d.-afhandling}{ph.d.-afh\adddot}}, - candthesis = {{kandidatafhandling}{kandidatafh\adddot}},% FIXME: check + bathesis = {{bachelorafhandling}{bachelorafh\adddot}}, + mathesis = {{masterafhandling}{masterafh\adddot}}, + phdthesis = {{PhD afhandling}{PhD afh\adddot}}, + candthesis = {{specialeafhandling}{specialeafh\adddot}}, resreport = {{forskningsrapport}{forskningsrap\adddot}}, - techreport = {{teknisk rapport}{tek\adddot\ rap\adddot}}, + techreport = {{teknisk rapport}{tekn\adddot\ rap\adddot}}, software = {{software}{software}}, datacd = {{data-cd}{data-cd}}, audiocd = {{lyd-cd}{lyd-cd}}, version = {{version}{vers\adddot}}, - url = {{side}{side}}, + url = {{webadresse}{webadr\adddot}}, urlfrom = {{tilg\ae ngelig fra}{tilg\adddotspace fra}}, - urlseen = {{sidst set}{sidst set}}, + urlseen = {{senest bes\o gt}{senest bes\adddot}}, inpreparation = {{under udarbejdelse}{under udarb\adddot}}, - submitted = {{indsendt}{indsendt}}, + submitted = {{indleveret}{indlev\adddot}}, forthcoming = {{under udgivelse}{under udgiv\adddot}}, inpress = {{i trykken}{i trykken}}, - prepublished = {{pre-publiceret}{pre-publ\adddot}}, + prepublished = {{pr\ae publiceret}{pr\ae publ\adddot}}, citedas = {{herefter citeret som}{herefter cit\adddot\ som}}, thiscite = {{her}{her}}, - seenote = {{se note}{se note}}, -% alternative translation: -% seenote = {{se anm\ae rkning}{se anm\adddot}}, - quotedin = {{citeret efter}{citeret efter}}, - idem = {{den samme}{den~s\adddot}}, - idemsf = {{den samme}{den~s\adddot}}, - idemsm = {{den samme}{den~s\adddot}}, - idemsn = {{det samme}{det~s\adddot}}, - idempf = {{de samme}{de~s\adddot}}, - idempm = {{de samme}{de~s\adddot}}, - idempn = {{de samme}{de~s\adddot}}, - idempp = {{de samme}{de~s\adddot}}, + seenote = {{se note}{se nt\adddot}}, + quotedin = {{citeret efter}{cit\adddot\ efter}}, + idem = {{den samme}{d\adddot s\adddot}}, + idemsf = {{den samme}{d\adddot s\adddot}}, + idemsm = {{den samme}{d\adddot s\adddot}}, + idemsn = {{det samme}{d\adddot s\adddot}}, + idempf = {{de samme}{d\adddot s\adddot}}, + idempm = {{de samme}{d\adddot s\adddot}}, + idempn = {{de samme}{d\adddot s\adddot}}, + idempp = {{de samme}{d\adddot s\adddot}}, ibidem = {{ibidem}{ibid\adddot}}, - opcit = {{op.\adddotspace cit\adddot}{op.\adddotspace cit\adddot}},% FIXME: spacing after abbreviation dot? - loccit = {{loc.\adddotspace cit\adddot}{loc.\adddotspace cit\adddot}},% FIXME: spacing after abbreviation dot? - confer = {{j\ae vnf\o r}{jf\adddot}}, - sequens = {{sq\adddot}{sq\adddot}}, - sequentes = {{sqq\adddot}{sqq\adddot}}, + opcit = {{op.\adddotspace cit\adddot}{op.\adddotspace cit\adddot}}, + loccit = {{loc.\adddotspace cit\adddot}{loc.\adddotspace cit\adddot}}, + confer = {{j\ae vnf\o r}{jvf\adddot}}, + sequens = {{f\adddot}{f\adddot}}, + sequentes = {{ff\adddot}{ff\adddot}}, passim = {{passim}{pass\adddot}}, see = {{se}{s\adddot}}, - seealso = {{se ogs\aa}{s.\aa\adddot}},% FIXME: spacing after abbreviation dot? + seealso = {{se ogs\aa}{se ogs\aa}}, backrefpage = {{se side}{se s\adddot}}, - backrefpages = {{se sider}{se s\adddot}}, + backrefpages = {{se siderne}{se ss\adddot}}, january = {{januar}{jan\adddot}}, february = {{februar}{feb\adddot}}, march = {{marts}{mar\adddot}}, @@ -453,91 +439,95 @@ december = {{december}{dec\adddot}}, langamerican = {{amerikansk-engelsk}{amerikansk-engelsk}}, langbrazilian = {{brasiliansk-portugisisk}{brasiliansk-portugisisk}}, -% langbulgarian = {{}{}},% FIXME: missing - langcatalan = {{catalansk}{catalansk}}, + langbulgarian = {{bulgarsk}{bulgarsk}}, + langcatalan = {{katalansk}{katalansk}}, langcroatian = {{kroatisk}{kroatisk}}, langczech = {{tjekkisk}{tjekkisk}}, langdanish = {{dansk}{dansk}}, langdutch = {{nederlandsk}{nederlandsk}}, langenglish = {{engelsk}{engelsk}}, -% langestonian = {{}{}},% FIXME: missing + langestonian = {{estisk}{estisk}}, langfinnish = {{finsk}{finsk}}, langfrench = {{fransk}{fransk}}, langgalician = {{galicisk}{galicisk}}, langgerman = {{tysk}{tysk}}, langgreek = {{gr\ae sk}{gr\ae sk}}, + langhungarian = {{ungarsk}{ungarsk}}, langitalian = {{italiensk}{italiensk}}, + langjapanese = {{japansk}{japansk}}, langlatin = {{latin}{latin}}, -% langlatvian = {{}{}},% FIXME: missing + langlatvian = {{lettisk}{lettisk}}, langnorwegian = {{norsk}{norsk}}, langpolish = {{polsk}{polsk}}, langportuguese = {{portugisisk}{portugisisk}}, langrussian = {{russisk}{russisk}}, -% langslovak = {{}{}},% FIXME: missing + langslovak = {{slovakisk}{slovakisk}}, langslovene = {{slovensk}{slovensk}}, langspanish = {{spansk}{spansk}}, langswedish = {{svensk}{svensk}}, + langukrainian = {{ukrainsk}{ukrainsk}}, fromamerican = {{fra amerikansk-engelsk}{fra amerikansk-engelsk}}, frombrazilian = {{fra brasiliansk-portugisisk}{fra brasiliansk-portugisisk}}, -% frombulgarian = {{}{}},% FIXME: missing - fromcatalan = {{fra catalansk}{fra catalansk}}, + frombulgarian = {{fra bulgarsk}{fra bulgarsk}}, + fromcatalan = {{fra katalansk}{fra katalansk}}, fromcroatian = {{fra kroatisk}{fra kroatisk}}, fromczech = {{fra tjekkisk}{fra tjekkisk}}, fromdanish = {{fra dansk}{fra dansk}}, fromdutch = {{fra nederlandsk}{fra nederlandsk}}, fromenglish = {{fra engelsk}{fra engelsk}}, -% fromestonian = {{}{}},% FIXME: missing + fromestonian = {{fra estisk}{fra estisk}}, fromfinnish = {{fra finsk}{fra finsk}}, fromfrench = {{fra fransk}{fra fransk}}, fromgalician = {{fra galicisk}{fra galicisk}}, fromgerman = {{fra tysk}{fra tysk}}, fromgreek = {{fra gr\ae sk}{fra gr\ae sk}}, + fromhungarian = {{fra ungarsk}{fra ungarsk}}, fromitalian = {{fra italiensk}{fra italiensk}}, + fromjapanese = {{fra japansk}{fra japansk}}, fromlatin = {{fra latin}{fra latin}}, -% fromlatvian = {{}{}},% FIXME: missing + fromlatvian = {{fra lettisk}{fra lettisk}}, fromnorwegian = {{fra norsk}{fra norsk}}, frompolish = {{fra polsk}{fra polsk}}, fromportuguese = {{fra portugisisk}{fra portugisisk}}, fromrussian = {{fra russisk}{fra russisk}}, -% fromslovak = {{}{}},% FIXME: missing + fromslovak = {{fra slovakisk}{fra slovakisk}}, fromslovene = {{fra slovensk}{fra slovensk}}, fromspanish = {{fra spansk}{fra spansk}}, fromswedish = {{fra svensk}{fra svensk}}, + fromukrainian = {{fra ukrainsk}{fra ukrainsk}}, countryde = {{Tyskland}{DE}}, countryeu = {{Europ\ae iske Union}{EU}}, countryep = {{Europ\ae iske Union}{EP}}, countryfr = {{Frankrig}{FR}}, - countryuk = {{Storbritanien}{GB}}, + countryuk = {{Storbritannien}{GB}}, countryus = {{USA}{US}}, - patent = {{patent}{patent}}, - patentde = {{tysk patent}{tys\adddot\ pat\adddot}}, + patent = {{patent}{pat\adddot}}, + patentde = {{tysk patent}{tysk pat\adddot}}, patenteu = {{europ\ae isk patent}{eur\adddot\ pat\adddot}}, - patentfr = {{fransk patent}{fra\adddot\ pat\adddot}}, - patentuk = {{britisk patent}{brit\adddot pat\adddot}}, - patentus = {{amerikansk patent}{amerikansk pat\adddot}}, - patreq = {{ans\o gning om patent}{pat\adddot\ ans\o gn\adddot}}, - patreqde = {{ans\o gning om tysk patent}{tys\adddot\ pat\adddot\ ans\o gn\adddot}}, - patreqeu = {{ans\o gning om europ\ae isk patent}{eur\adddot\ pat\adddot\ ans\o gn\adddot}}, - patreqfr = {{ans\o gning om fransk patent}{fra\adddot\ pat\adddot\ ans\o gn\adddot}}, - patrequk = {{ans\o gning om britisk patent}{britisk pat\adddot\ ans\o gn\adddot}}, - patrequs = {{ans\o gning om amerikansk patent}{am\adddot pat\adddot\ ans\o gn\adddot}}, + patentfr = {{fransk patent}{fransk pat\adddot}}, + patentuk = {{britisk patent}{brit\adddot\ pat\adddot}}, + patentus = {{amerikansk patent}{am\adddot\ pat\adddot}}, + patreq = {{patentans\o gning}{pat\adddot\ ans\o gn\adddot}}, + patreqde = {{tysk patentans\o gning}{tysk pat\adddot\ ans\o gn\adddot}}, + patreqeu = {{europ\ae isk patentans\o gning}{eur\adddot\ pat\adddot\ ans\o gn\adddot}}, + patreqfr = {{fransk patentans\o gning}{fransk pat\adddot\ ans\o gn\adddot}}, + patrequk = {{britisk patentans\o gning}{brit\adddot\ pat\adddot\ ans\o gn\adddot}}, + patrequs = {{amerikansk patentans\o gning}{am\adddot\ pat\adddot\ ans\o gn\adddot}}, file = {{fil}{fil}}, library = {{bibliotek}{bibliotek}}, abstract = {{resum\'{e}}{resum\'{e}}}, -% alternative translation: -% abstract = {{abstract}{abstract}}, - annotation = {{forklaring}{forklaring}}, - commonera = {{vesterlandsk tidsregning}{v\adddot t\adddot}}, - beforecommonera = {{f\o r vesterlandsk tidsregning}{f\adddot v\adddot t\adddot}}, - annodomini = {{e\adddot Kr\adddot}{e\adddot Kr\adddot}}, - beforechrist = {{f\adddot Kr\adddot}{f\adddot Kr\adddot}}, -% circa = {{}{}},% FIXME: missing -% spring = {{}{}},% FIXME: missing -% summer = {{}{}},% FIXME: missing -% autumn = {{}{}},% FIXME: missing -% winter = {{}{}},% FIXME: missing - am = {{AM}{AM}}, - pm = {{PM}{PM}}, + annotation = {{kommentarer}{komm\adddot}}, + commonera = {{efter vor tidsregning}{e\adddot v\adddot t\adddot}}, + beforecommonera = {{f\o r vor tidsregning}{f\adddot v\adddot t\adddot}}, + annodomini = {{efter Kristi f\o dsel}{e\adddot Kr\adddot}}, + beforechrist = {{f\o r Kristi f\o dsel}{f\adddot Kr\adddot}}, + circa = {{cirka}{ca\adddot}}, + spring = {{for\aa r}{for\aa r}}, + summer = {{sommer}{sommer}}, + autumn = {{efter\aa r}{efter\aa r}}, + winter = {{vinter}{vinter}}, + am = {{formiddag}{form\adddot}}, + pm = {{eftermiddag}{efterm\adddot}}, } \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx index acc600377cf..6d6822fd729 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx @@ -72,7 +72,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -469,6 +469,7 @@ langgalician = {{Galicisch}{Galicisch}}, langgerman = {{Duits}{Duits}}, langgreek = {{Grieks}{Grieks}}, + langhungarian = {{Hongaars}{Hongaars}}, langitalian = {{Italiaans}{Italiaans}}, langjapanese = {{Japaans}{Japaans}}, langlatin = {{Latijn}{Latijn}}, @@ -497,6 +498,7 @@ fromgalician = {{uit het Galicisch}{uit het Galicisch}}, fromgerman = {{uit het Duits}{uit het Duits}}, fromgreek = {{uit het Grieks}{uit het Grieks}}, + fromhungarian = {{uit het Hongaars}{uit het Hongaars}}, fromitalian = {{uit het Italiaans}{uit het Italiaans}}, fromjapanese = {{uit het Japaans}{uit het Japaans}}, fromlatin = {{uit het Latijn}{uit het Latijn}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx index a0017682979..d8d9c73d80e 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx @@ -66,7 +66,7 @@ canadian,australian,newzealand,USenglish,UKenglish} \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -480,6 +480,7 @@ canadian,australian,newzealand,USenglish,UKenglish} langgalician = {{Galician}{Galician}}, langgerman = {{German}{German}}, langgreek = {{Greek}{Greek}}, + langhungarian = {{Hungarian}{Hungarian}}, langitalian = {{Italian}{Italian}}, langjapanese = {{Japanese}{Japanese}}, langlatin = {{Latin}{Latin}}, @@ -508,6 +509,7 @@ canadian,australian,newzealand,USenglish,UKenglish} fromgalician = {{from the Galician}{from the Galician}}, fromgerman = {{from the German}{from the German}}, fromgreek = {{from the Greek}{from the Greek}}, + fromhungarian = {{from the Hungarian}{from the Hungarian}}, fromitalian = {{from the Italian}{from the Italian}}, fromjapanese = {{from the Japanese}{from the Japanese}}, fromlatin = {{from the Latin}{from the Latin}}, @@ -560,17 +562,18 @@ canadian,australian,newzealand,USenglish,UKenglish} \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibdate#1}{}{#2month}{#2day}} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}% - {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2season}} - {\csuse{mkbibseasondate#1}{#2year}{#2season}}}% - \dateeraprint{#2year}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \dateeraprint{#2year}}}% \dateuncertainprint \iffieldundef{#2endyear} {} @@ -579,7 +582,7 @@ canadian,australian,newzealand,USenglish,UKenglish} {\bibdaterangesep \enddatecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} @@ -593,17 +596,18 @@ canadian,australian,newzealand,USenglish,UKenglish} \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibdate#1}{}{#2month}{#2day}} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} - {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2season}} - {\csuse{mkbibseasondate#1}{#2year}{#2season}}}% - \dateeraprint{#2year}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \dateeraprint{#2year}}}% \dateuncertainprint \iffieldundef{#2endyear} {} @@ -622,17 +626,18 @@ canadian,australian,newzealand,USenglish,UKenglish} \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibdate#1}{}{#2month}{#2day}} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} - {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2season}} - {\csuse{mkbibseasondate#1}{#2year}{#2season}}}% - \dateeraprint{#2year}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \dateeraprint{#2year}}}% \dateuncertainprint \iffieldundef{#2endyear} {\printfield{extradate}} @@ -642,7 +647,7 @@ canadian,australian,newzealand,USenglish,UKenglish} {\bibdaterangesep \enddatecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} @@ -657,17 +662,18 @@ canadian,australian,newzealand,USenglish,UKenglish} \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibdate#1}{}{#2month}{#2day}} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} - {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2season}} - {\csuse{mkbibseasondate#1}{#2year}{#2season}}}% - \dateeraprint{#2year}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}% + \dateeraprint{#2year}}}% \dateuncertainprint \iffieldundef{#2endyear} {\printfield{extradate}} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx index 0a8baeda5b6..2b0b32f1152 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx @@ -10,20 +10,6 @@ \DeclareRedundantLanguages{estonian}{estonian} -\NewBibliographyString{% - basicjanuary, - basicfebruary, - basicmarch, - basicapril, - basicmay, - basicjune, - basicjuly, - basicaugust, - basicseptember, - basicoctober, - basicnovember, - basicdecember% -} \DeclareBibliographyExtras{% % dashes: may be either \textendash or \textemdash @@ -42,25 +28,19 @@ \iffieldundef{#2}{}{\nobreakspace}}% \iffieldundef{#2} {} - {\iffieldundef{#3} - {\lbx@fi@mkbibmonthbasic{\thefield{#2}}% - \iffieldundef{#1}{}{\space}}% - {\mkbibmonth{\thefield{#2}}% - \iffieldundef{#1}{}{\space}}}% + {\protected\def\bibdaterangesep{\addnbspace\textendash\space}% + \mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% \iffieldbibstring{#1} {\bibstring{\thefield{#1}}} {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} - {\mkdayzeros{\thefield{#3}}\adddot - \iffieldundef{#2}{}{\thinspace}}% + {\mkdayzeros{\thefield{#3}}\adddot}% \iffieldundef{#2} {} - {\mkmonthzeros{\thefield{#2}}% - \iffieldundef{#1} - {} - {\iffieldundef{#3}{/}{\adddot\thinspace}}}% + {\mkmonthzeros{\thefield{#2}}\adddot}% \iffieldbibstring{#1} {\bibstring{\thefield{#1}}} {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% @@ -95,7 +75,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -122,44 +102,44 @@ \DeclareBibliographyStrings{% bibliography = {{bibliograafia}{bibliograafia}}, references = {{viited}{viited}}, - shorthands = {{nimekirja ning l\"{u}hendid}{l\"{u}hendid}}, + shorthands = {{l\"{u}hendid}{l\"{u}hendid}}, editor = {{toimetaja}{toim\adddot}}, editors = {{toimetajad}{toim\adddot}}, - compiler = {{kompilaator}{koompilaator}}, - compilers = {{kompilaatorid}{kompilaatorid}}, - redactor = {{toimittanut}{toim\adddot}}, - redactors = {{toimittaneet}{toim\adddot}}, - reviser = {{L\"{a}bi vaadataja}{L\"{a}bi vaadataja}}, - revisers = {{L\"{a}bi vaadatajad}{L\"{a}bi vaadatajad}}, + compiler = {{koostaja}{koost\adddot}}, + compilers = {{koostajad}{koost\adddot}}, + redactor = {{toimetaja}{toim\adddot}}, + redactors = {{toimetajad}{toim\adddot}}, + reviser = {{toimetaja}{toim\adddot}}, + revisers = {{toimetajad}{toim\adddot}}, founder = {{asutaja}{asutaja}}, founders = {{asutajad}{asutajad}}, - continuator = {{jatkaja}{jatkaja}}, - continuators = {{jatkajad}{jatkajad}}, - collaborator = {{kaast\"{o}\"{o}line}{kaast\"{o}\"{o}line}}, - collaborators = {{kaast\"{o}\"{o}tajate}{kaast\"{o}\"{o}tajate}}, - translator = {{t\~{o}lkija}{t\~{o}lkija}}, - translators = {{t\~{o}lkijad}{t\~{o}lkijad}}, - commentator = {{kommentaator}{kommentaator}}, - commentators = {{kommentaatorid}{kommentaatorid}}, - annotator = {{selityksin varustanut}{selityksin varustanut}}, - annotators = {{selityksin varustaneet}{selityksin varustaneet}}, - commentary = {{kommentaaris}{kommentaaris}}, - annotations = {{annotatsioonide}{annotatsioonide}}, + continuator = {{j\"{a}tkaja}{j\"{a}tkaja}}, + continuators = {{j\"{a}tkajad}{j\"{a}tkajad}}, + collaborator = {{kaast\"{o}\"{o}line}{kaast\adddot}}, + collaborators = {{kaast\"{o}\"{o}lised}{kaast\adddot}}, + translator = {{t\~{o}lkija}{t\~{o}lk\adddot}}, + translators = {{t\~{o}lkijad}{t\~{o}lk\adddot}}, + commentator = {{kommenteerija}{kommenteerija}}, + commentators = {{kommenteerijad}{kommenteerijad}}, + annotator = {{kommenteerija}{kommenteerija}}, + annotators = {{kommenteerijad}{kommenteerijad}}, + commentary = {{kommentaarid}{kommentaarid}}, + annotations = {{kommentaarid}{kommentaarid}}, introduction = {{sissejuhatus}{sissejuhatus}}, - foreword = {{eess\~{o}na}{eess\~{o}na}}, - afterword = {{j\"{a}rels\~{o}na}{j\"{a}rels\~{o}na}}, + foreword = {{eess\~{o}na autor}{eess\~{o}na}}, + afterword = {{j\"{a}rels\~{o}na autor}{j\"{a}rels\~{o}na}}, editortr = {{toimetaja ja t\~{o}lkija}% {toim\adddotspace ja t\~{o}lk\adddot}}, - editorstr = {{toimetajad ja t\~{o}lkijate}% + editorstr = {{toimetajad ja t\~{o}lkijad}% {toim\adddotspace ja t\~{o}lk\adddot}}, - editorco = {{toimetaja ja kommentaator}% - {toimetaja ja kommentaator}}, - editorsco = {{toimetajad ja kommentaatorid}% - {toimetajad ja kommentaatorid}}, - editoran = {{toimetaja ja annotator}% - {toimetaja ja annotator}}, - editorsan = {{toimetajad ja annotators}% - {toimetajad ja annotators}}, + editorco = {{toimetaja ja kommenteerija}% + {toimetaja ja kommenteerija}}, + editorsco = {{toimetajad ja kommenteerijad}% + {toimetajad ja kommenteerijad}}, + editoran = {{toimetaja ja kommenteerija}% + {toimetaja ja kommenteerija}}, + editorsan = {{toimetajad ja kommenteerijad}% + {toimetajad ja kommenteerijad}}, editorin = {{toimetaja ja sissejuhatus}% {toimetaja ja sissejuhatus}}, editorsin = {{toimetajad ja sissejuhatus}% @@ -172,301 +152,303 @@ {toimetaja ja j\"{a}rels\~{o}na}}, editorsaf = {{toimetajad ja j\"{a}rels\~{o}na}% {toimetajad ja j\"{a}rels\~{o}na}}, - editortrco = {{toimetaja, translator\finalandcomma\ ja kommentaator} % - {toim, \addabbrvspace trans\adddot\finalandcomma\ ja comm\adddot}}, - editorstrco = {{toimetajad, translators\finalandcomma\ ja kommentaatorid} % - {eds., \addabbrvspace trans\adddot\finalandcomma\ ja comm\adddot}}, - editortran = {{toimetaja, translator\finalandcomma\ ja annotator} % - {toim, \addabbrvspace trans\adddot\finalandcomma\ ja annot\adddot}}, - editorstran = {{toimetajad, translators\finalandcomma\ ja annotators} % - {eds., \addabbrvspace trans\adddot\finalandcomma\ ja annot\adddot}}, - editortrin = {{toimetaja, translator\finalandcomma\ ja Sissejuhatus} % - {toim, \addabbrvspace trans\adddot\finalandcomma\ ja introd\adddot}}, - editorstrin = {{toimetajad, translators\finalandcomma\ ja Sissejuhatus} % - {eds., \addabbrvspace trans\adddot\finalandcomma\ ja introd\adddot}}, - editortrfo = {{toimetaja, translator\finalandcomma\ ja eess\~{o}na} % - {toim, \addabbrvspace trans\adddot\finalandcomma\ ja forew\adddot}}, - editorstrfo = {{toimetajad, translators\finalandcomma\ ja eess\~{o}na} % - {eds., \addabbrvspace trans\adddot\finalandcomma\ ja forew\adddot}}, - editortraf = {{toimetaja, translator\finalandcomma\ ja J\"{a}rels\~{o}na} % - {toim, \addabbrvspace trans\adddot\finalandcomma\ ja afterw\adddot}}, - editorstraf = {{toimetajad, translators\finalandcomma\ ja J\"{a}rels\~{o}na} % - {eds., \addabbrvspace trans\adddot\finalandcomma\ ja afterw\adddot}}, - editorcoin = {{toimetaja, commentator\finalandcomma\ ja Sissejuhatus} % - {toim, \addabbrvspace comm\adddot\finalandcomma\ ja introd\adddot}}, - editorscoin = {{toimetajad, commentators\finalandcomma\ ja Sissejuhatus} % - {eds., \addabbrvspace comm\adddot\finalandcomma\ ja introd\adddot}}, - editorcofo = {{toimetaja, commentator\finalandcomma\ ja eess\~{o}na} % - {toim, \addabbrvspace comm\adddot\finalandcomma\ ja forew\adddot}}, - editorscofo = {{toimetajad, commentators\finalandcomma\ ja eess\~{o}na} % - {eds., \addabbrvspace comm\adddot\finalandcomma\ ja forew\adddot}}, - editorcoaf = {{toimetaja, commentator\finalandcomma\ ja J\"{a}rels\~{o}na} % - {toim, \addabbrvspace comm\adddot\finalandcomma\ ja afterw\adddot}}, - editorscoaf = {{toimetajad, commentators\finalandcomma\ ja J\"{a}rels\~{o}na} % - {eds., \addabbrvspace comm\adddot\finalandcomma\ ja afterw\adddot}}, - editoranin = {{toimetaja, annotator\finalandcomma\ ja Sissejuhatus} % - {toim, \addabbrvspace annot\adddot\finalandcomma\ ja introd\adddot}}, - editorsanin = {{toimetajad, annotators\finalandcomma\ ja Sissejuhatus} % - {eds., \addabbrvspace annot\adddot\finalandcomma\ ja introd\adddot}}, - editoranfo = {{toimetaja, annotator\finalandcomma\ ja eess\~{o}na} % - {toim, \addabbrvspace annot\adddot\finalandcomma\ ja forew\adddot}}, - editorsanfo = {{toimetajad, annotators\finalandcomma\ ja eess\~{o}na} % - {eds., \addabbrvspace annot\adddot\finalandcomma\ ja forew\adddot}}, - editoranaf = {{toimetaja, annotator\finalandcomma\ ja J\"{a}rels\~{o}na} % - {toim, \addabbrvspace annot\adddot\finalandcomma\ ja afterw\adddot}}, - editorsanaf = {{toimetajad, annotators\finalandcomma\ ja J\"{a}rels\~{o}na} % - {eds., \addabbrvspace annot\adddot\finalandcomma\ ja afterw\adddot}}, - editortrcoin = {{toimetaja, t\~{o}lkija, commentator\finalandcomma\ ja Sissejuhatus} % - {toim, \addabbrvspace trans., comm\adddot\finalandcomma\ ja introd\adddot}}, - editorstrcoin = {{toimetajad, t\~{o}lkijad, commentators\finalandcomma\ ja Sissejuhatus} % - {eds., \addabbrvspace trans., comm\adddot\finalandcomma\ ja introd\adddot}}, - editortrcofo = {{toimetaja, t\~{o}lkija, commentator\finalandcomma\ ja eess\~{o}na} % - {toim, \addabbrvspace trans., comm\adddot\finalandcomma\ ja forew\adddot}}, - editorstrcofo = {{toimetajad, t\~{o}lkijad, commentators\finalandcomma\ ja eess\~{o}na} % - {eds., \addabbrvspace trans., comm\adddot\finalandcomma\ ja forew\adddot}}, - editortrcoaf = {{toimetaja, t\~{o}lkija, commentator\finalandcomma\ ja J\"{a}rels\~{o}na} % - {toim, \addabbrvspace trans., comm\adddot\finalandcomma\ ja afterw\adddot}}, - editorstrcoaf = {{toimetajad, t\~{o}lkijad, commentators\finalandcomma\ ja J\"{a}rels\~{o}na} % - {eds., \addabbrvspace trans., comm\adddot\finalandcomma\ ja afterw\adddot}}, - editortranin = {{toimetaja, t\~{o}lkija, annotator\finalandcomma\ ja Sissejuhatus} % - {toim, \addabbrvspace trans., annot\adddot\finalandcomma\ ja introd\adddot}}, - editorstranin = {{toimetajad, t\~{o}lkijad, annotators\finalandcomma\ ja Sissejuhatus} % - {eds., \addabbrvspace trans., annot\adddot\finalandcomma\ ja introd\adddot}}, - editortranfo = {{toimetaja, t\~{o}lkija, annotator\finalandcomma\ ja eess\~{o}na} % - {toim, \addabbrvspace trans., annot\adddot\finalandcomma\ ja forew\adddot}}, - editorstranfo = {{toimetajad, t\~{o}lkijad, annotators\finalandcomma\ ja eess\~{o}na} % - {eds., \addabbrvspace trans., annot\adddot\finalandcomma\ ja forew\adddot}}, - editortranaf = {{toimetaja, t\~{o}lkija, annotator\finalandcomma\ ja J\"{a}rels\~{o}na} % - {toim, \addabbrvspace trans., annot\adddot\finalandcomma\ ja afterw\adddot}}, - editorstranaf = {{toimetajad, t\~{o}lkijad, annotators\finalandcomma\ ja J\"{a}rels\~{o}na} % - {eds., \addabbrvspace trans., annot\adddot\finalandcomma\ ja afterw\adddot}}, - translatorco = {{t\~{o}lkija ja kommentaator} % - {trans\adddot\ ja comm\adddot}}, - translatorsco = {{t\~{o}lkijate ja kommentaatorid} % - {trans\adddot\ ja comm\adddot}}, - translatoran = {{t\~{o}lkija ja annotator} % - {trans\adddot\ ja annot\adddot}}, - translatorsan = {{t\~{o}lkijate ja annotators} % - {trans\adddot\ ja annot\adddot}}, - translatorin = {{t\~{o}lkimine ja Sissejuhatus} % - {trans\adddot\ ja introd\adddot}}, - translatorsin = {{t\~{o}lkimine ja Sissejuhatus} % - {trans\adddot\ ja introd\adddot}}, - translatorfo = {{t\~{o}lkimine ja eess\~{o}na} % - {trans\adddot\ ja forew\adddot}}, - translatorsfo = {{t\~{o}lkimine ja eess\~{o}na} % - {trans\adddot\ ja forew\adddot}}, - translatoraf = {{t\~{o}lkimine ja J\"{a}rels\~{o}na} % - {trans\adddot\ ja afterw\adddot}}, - translatorsaf = {{t\~{o}lkimine ja J\"{a}rels\~{o}na} % - {trans\adddot\ ja afterw\adddot}}, - translatorcoin = {{t\~{o}lkimine, commentary\finalandcomma\ ja Sissejuhatus} % - {trans., comm\adddot\finalandcomma\ ja introd\adddot}}, - translatorscoin = {{t\~{o}lkimine, commentary\finalandcomma\ ja Sissejuhatus} % - {trans., comm\adddot\finalandcomma\ ja introd\adddot}}, - translatorcofo = {{t\~{o}lkimine, commentary\finalandcomma\ ja eess\~{o}na} % - {trans., comm\adddot\finalandcomma\ ja forew\adddot}}, - translatorscofo = {{t\~{o}lkimine, commentary\finalandcomma\ ja eess\~{o}na} % - {trans., comm\adddot\finalandcomma\ ja forew\adddot}}, - translatorcoaf = {{t\~{o}lkimine, commentary\finalandcomma\ ja J\"{a}rels\~{o}na} % - {trans., comm\adddot\finalandcomma\ ja afterw\adddot}}, - translatorscoaf = {{t\~{o}lkimine, commentary\finalandcomma\ ja J\"{a}rels\~{o}na} % - {trans., comm\adddot\finalandcomma\ ja afterw\adddot}}, - translatoranin = {{t\~{o}lkimine, annotations\finalandcomma\ ja Sissejuhatus} % - {trans., annot\adddot\finalandcomma\ ja introd\adddot}}, - translatorsanin = {{t\~{o}lkimine, annotations\finalandcomma\ ja Sissejuhatus} % - {trans., annot\adddot\finalandcomma\ ja introd\adddot}}, - translatoranfo = {{t\~{o}lkimine, annotations\finalandcomma\ ja eess\~{o}na} % - {trans., annot\adddot\finalandcomma\ ja forew\adddot}}, - translatorsanfo = {{t\~{o}lkimine, annotations\finalandcomma\ ja eess\~{o}na} % - {trans., annot\adddot\finalandcomma\ ja forew\adddot}}, - translatoranaf = {{t\~{o}lkimine, annotations\finalandcomma\ ja J\"{a}rels\~{o}na} % - {trans., annot\adddot\finalandcomma\ ja afterw\adddot}}, - translatorsanaf = {{t\~{o}lkimine, annotations\finalandcomma\ ja J\"{a}rels\~{o}na} % - {trans., annot\adddot\finalandcomma\ ja afterw\adddot}}, -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing - byauthor = {{kirjuttanud}{kirj\adddot}}, - byeditor = {{toimittanud}{toim\adddot}}, - bycompiler = {{koontanud}{koontanud}}, - byredactor = {{redigeeritud poolt}{red\adddotspace poolt}}, - byreviser = {{l\"{a}bivaadatud poolt}{rev\adddotspace poolt}}, - byreviewer = {{vaadanud}{rev\adddotspace poolt}}, - byfounder = {{asutasid}{found\adddotspace poolt}}, - bycontinuator = {{j\"{a}tkas}{cont\adddotspace poolt}}, - bycollaborator = {{koost\"{o}\"{o}s}{in collab\adddotspace koos}}, - bytranslator = {{t\~{o}lgitud \lbx@lfromlang\ poolt}{trans\adddot\ \lbx@sfromlang\ poolt}}, - bycommentator = {{kommentaarin kirjoittanut}{kommentaarin kirjoittanut}},% FIXME: unsure - byannotator = {{selgitustega poolt}{annot\adddot\ poolt}}, - withcommentator = {{koos kommentaariga}{koos comment\adddot\ poolt}}, - withannotator = {{koos annotations poolt}{koos annots\adddot\ poolt}}, - withintroduction = {{koos tutvustus poolt}{koos poolt intro\adddot }}, - withforeword = {{mis eess\~{o}na Autor}{koos forew\adddot\ poolt}}, - withafterword = {{koos J\"{a}rels\~{o}na poolt}{koos poolt afterw\adddot }}, - byeditortr = {{redigeeritud ja t\~{o}lgitud \lbx@lfromlang\ poolt} - {toim\adddotspace ja \lbx@sfromlang k\"a\"ant\adddot}}, - byeditorco = {{toimetatud ja kommenteeritud} % - {ed\adddotspace ja comm\adddot\ poolt}}, - byeditoran = {{redigeerida ja kanda} % - {ed\adddotspace ja annot\adddot\ poolt}}, - byeditorin = {{redigeerida, tutvustus, Autor} % - {toim, \addabbrvspace koos m\~{o}ne introd. esitab}}, - byeditorfo = {{redigeerinud, eess\~{o}na, kus autor} % - {toim, \addabbrvspace koos forew., poolt}}, - byeditoraf = {{redigeerida, j\"{a}rels\~{o}na, Autor} % - {toim, koos m\~{o}ne afterw., \addabbrvspace poolt}}, - byeditortrco = {{toimetatud, \lbx@lfromlang\finalandcomma\ t\~{o}lgitud ja kommenteeritud} % - {toim, \addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ ja comm\adddot\ poolt}}, - byeditortran = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja kanda} % - {toim, \addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ ja annot\adddot\ poolt}}, - byeditortrin = {{edited and translated \lbx@lfromlang, with an introduction, by} % - {ed\adddotspace ja trans\adddot\ \lbx@sfromlang, koos m\~{o}ne introd. esitab}}, - byeditortrfo = {{edited and translated \lbx@lfromlang, with a foreword, by} % - {ed\adddotspace ja trans\adddot\ \lbx@sfromlang, koos forew., poolt}}, - byeditortraf = {{edited and translated \lbx@lfromlang, with an afterword, by} % - {ed\adddotspace ja trans\adddot\ \lbx@sfromlang, koos m\~{o}ne afterw., poolt}}, - byeditorcoin = {{toimetanud ja kommenteerinud koos tutvustus,} % - {ed\adddotspace ja comm., koos m\~{o}ne introd. esitab}}, - byeditorcofo = {{toimetanud ja kommenteerinud mis eess\~{o}na,} % - {ed\adddotspace ja comm., koos forew., poolt}}, - byeditorcoaf = {{toimetanud ja kommenteerinud koos J\"{a}rels\~{o}na,} % - {ed\adddotspace ja comm., koos m\~{o}ne afterw., poolt}}, - byeditoranin = {{redigeerida ja selgitustega koos tutvustus,} % - {ed\adddotspace ja annot., koos m\~{o}ne introd. esitab}}, - byeditoranfo = {{redigeerida ja selgitustega mis eess\~{o}na,} % - {ed\adddotspace ja annot., koos forew., poolt}}, - byeditoranaf = {{redigeerida ja selgitustega koos J\"{a}rels\~{o}na,} % - {ed\adddotspace ja annot., koos m\~{o}ne afterw., poolt}}, - byeditortrcoin = {{redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud koos tutvustus,} % - {redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud koos tutvustus,}}, - byeditortrcofo = {{redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,} % - {redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,}}, - byeditortrcoaf = {{toimetatud, \lbx@lfromlang\finalandcomma\ t\~{o}lgitud ja kommenteeritud koos J\"{a}rels\~{o}na,} % - {toimetatud, \lbx@lfromlang\finalandcomma\ t\~{o}lgitud ja kommenteeritud koos J\"{a}rels\~{o}na,}}, - byeditortranin = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos tutvustus,} % - {redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos tutvustus,}}, - byeditortranfo = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega mis eess\~{o}na,} % - {redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega mis eess\~{o}na,}}, - byeditortranaf = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos J\"{a}rels\~{o}na,} % - {redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos J\"{a}rels\~{o}na,}}, - bytranslatorco = {{\lbx@lfromlang\ t\~{o}lgitud ja kommenteeritud} % - {\lbx@lfromlang\ t\~{o}lgitud ja kommenteeritud}}, - bytranslatoran = {{t\~{o}lgitud \lbx@lfromlang\ ja kanda} % - {t\~{o}lgitud \lbx@lfromlang\ ja kanda}}, - bytranslatorin = {{translated \lbx@lfromlang, with an introduction, by} % - {trans\adddot\ \lbx@sfromlang, with an introd., by}}, - bytranslatorfo = {{translated \lbx@lfromlang, with a foreword, by} % - {trans\adddot\ \lbx@sfromlang, with a forew., by}}, - bytranslatoraf = {{translated \lbx@lfromlang, with an afterword, by} % - {trans\adddot\ \lbx@sfromlang, with an afterw., by}}, - bytranslatorcoin = {{\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos tutvustus,} % - {\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos tutvustus,}}, - bytranslatorcofo = {{\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,} % - {\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,}}, - bytranslatorcoaf = {{\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos J\"{a}rels\~{o}na,} % - {\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos J\"{a}rels\~{o}na,}}, - bytranslatoranin = {{t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos tutvustus,} % - {t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos tutvustus,}}, - bytranslatoranfo = {{t\~{o}lgitud \lbx@lfromlang\ ja selgitustega mis eess\~{o}na,} % - {t\~{o}lgitud \lbx@lfromlang\ ja selgitustega mis eess\~{o}na,}}, - bytranslatoranaf = {{t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos J\"{a}rels\~{o}na,} % - {t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos J\"{a}rels\~{o}na,}}, + editortrco = {{toimetaja, t\~{o}lkija ja kommenteerija} % + {toim., t\~{o}lk\adddotspace ja komm\adddot}}, + editorstrco = {{toimetajad, t\~{o}lkijad ja kommenteerijad} % + {toim., t\~{o}lk\adddotspace ja komm\adddot}}, + editortran = {{toimetaja, t\~{o}lkija ja kommenteerija} % + {toim., t\~{o}lk\adddotspace ja annot\adddot}}, + editorstran = {{toimetajad, t\~{o}lkijad ja kommenteerijad} % + {toim., t\~{o}lk\adddotspace ja annot\adddot}}, + editortrin = {{toimetaja, t\~{o}lkija ja sissejuhatus} % + {toim., t\~{o}lk\adddotspace ja sissej\adddot}}, + editorstrin = {{toimetajad, t\~{o}lkijad ja sissejuhatus} % + {toim., t\~{o}lk\adddotspace ja sissej\adddot}}, + editortrfo = {{toimetaja, t\~{o}lkija ja eess\~{o}na} % + {toim., t\~{o}lk\adddotspace ja eess\adddot}}, + editorstrfo = {{toimetajad, t\~{o}lkijad ja eess\~{o}na} % + {toim., t\~{o}lk\adddotspace ja forew\adddot}}, + editortraf = {{toimetaja, t\~{o}lkija ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + editorstraf = {{toimetajad, t\~{o}lkijad ja j\"{a}rels} % + {toim., t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + editorcoin = {{toimetaja, kommenteerija ja sissejuhatus} % + {toim., komm\adddotspace ja sissej\adddot}}, + editorscoin = {{toimetajad, kommenteerijad ja sissejuhatus} % + {toim., komm\adddotspace ja sissej\adddot}}, + editorcofo = {{toimetaja, kommenteerija ja eess\~{o}na} % + {toim., komm\adddotspace ja forew\adddot}}, + editorscofo = {{toimetajad, kommenteerija ja eess\~{o}na} % + {toim., komm\adddotspace ja eess\adddot}}, + editorcoaf = {{toimetaja, kommenteerija ja j\"{a}rels\~{o}na} % + {toim., komm\adddotspace ja j\"{a}rels\adddot}}, + editorscoaf = {{toimetajad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., komm\adddotspace ja j\"{a}rels\adddot}}, + editoranin = {{toimetaja, kommenteerija ja sissejuhatus} % + {toim., annot\adddotspace ja sissej\adddot}}, + editorsanin = {{toimetajad, kommenteerijad ja sissejuhatus} % + {toim., annot\adddotspace ja sissej\adddot}}, + editoranfo = {{toimetaja, annoteerja ja eess\~{o}na} % + {toim., annot\adddotspace ja eess\adddot}}, + editorsanfo = {{toimetajad, kommenteerijad ja eess\~{o}na} % + {toim., annot\adddotspace ja eess\adddot}}, + editoranaf = {{toimetaja, kommenteerija ja j\"{a}rels\~{o}na} % + {toim., annot\adddotspace ja j\"{a}rels\adddot}}, + editorsanaf = {{toimetajad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., annot\adddotspace ja j\"{a}rels\adddot}}, + editortrcoin = {{toimetaja, t\~{o}lkija, kommenteerija ja sissejuhatus} % + {toim., t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + editorstrcoin = {{toimetajad, t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {toim., t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + editortrcofo = {{toimetaja, t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja eess\adddot}}, + editorstrcofo = {{toimetajad, t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja eess\adddot}}, + editortrcoaf = {{toimetaja, t\~{o}lkija, kommentator ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + editorstrcoaf = {{toimetajad, t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + editortranin = {{toimetaja, t\~{o}lkija, kommenteerija ja sissejuhatus} % + {toim., t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + editorstranin = {{toimetajad, t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {toim., t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + editortranfo = {{toimetaja, t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja eess\adddot}}, + editorstranfo = {{toimetajad, t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja eess\adddot}}, + editortranaf = {{toimetaja, t\~{o}lkija, kommenteerija ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + editorstranaf = {{toimetajad, t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + translatorco = {{t\~{o}lkija ja kommenteerija} % + {t\~{o}lk\adddotspace ja komm\adddot}}, + translatorsco = {{t\~{o}lkijad ja kommenteerijad} % + {t\~{o}lk\adddotspace ja komm\adddot}}, + translatoran = {{t\~{o}lkija ja kommenteerija} % + {t\~{o}lk\adddotspace ja annot\adddot}}, + translatorsan = {{t\~{o}lkijad ja kommenteerijad} % + {t\~{o}lk\adddotspace ja annot\adddot}}, + translatorin = {{t\~{o}lkija ja sissejuhatus} % + {t\~{o}lk\adddotspace ja sissej\adddot}}, + translatorsin = {{t\~{o}lkijad ja sissejuhatus} % + {t\~{o}lk\adddotspace ja sissej\adddot}}, + translatorfo = {{t\~{o}lkija ja eess\~{o}na} % + {t\~{o}lk\adddotspace ja eess\adddot}}, + translatorsfo = {{t\~{o}lkijad ja eess\~{o}na} % + {t\~{o}lk\adddotspace ja eess\adddot}}, + translatoraf = {{t\~{o}lkija ja j\"{a}rels\~{o}na} % + {t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + translatorsaf = {{t\~{o}lkijad ja j\"{a}rels\~{o}na} % + {t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + translatorcoin = {{t\~{o}lkija, kommenteerija ja sissejuhatus} % + {t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + translatorscoin = {{t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + translatorcofo = {{t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {t\~{o}lk., komm\adddotspace ja eess\adddot}}, + translatorscofo = {{t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {t\~{o}lk., komm\adddotspace ja eess\adddot}}, + translatorcoaf = {{t\~{o}lkija, kommenteerija ja j\"{a}rels\~{o}na} % + {t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + translatorscoaf = {{t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + translatoranin = {{t\~{o}lkija, kommenteerija ja sissejuhatus} % + {t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + translatorsanin = {{t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + translatoranfo = {{t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {t\~{o}lk., annot\adddotspace ja eess\adddot}}, + translatorsanfo = {{t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {t\~{o}lk., annot\adddotspace ja eess\adddot}}, + translatoranaf = {{t\~{o}lkija, kommenteerija ja j\"{a}rels\~{o}na} % + {t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + translatorsanaf = {{t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + organizer = {{korraldaja}{korraldaja}}, + organizers = {{korraldajad}{korraldajad}}, + byorganizer = {{korraldanud}{korraldanud}}, + byauthor = {{kirjutanud}{kirj\adddot}}, + byeditor = {{toimetanud}{toim\adddot}}, + bycompiler = {{koostanud}{koost\adddot}}, + byredactor = {{toimetanud}{toim\adddot}}, + byreviser = {{l\"{a}bivaadanud}{l\"{a}bivaadanud}}, + byreviewer = {{vaadanud}{vaadanud}}, + byfounder = {{asutanud}{asutanud}}, + bycontinuator = {{j\"{a}tkanud}{j\"{a}tkanud}}, + bycollaborator = {{koost\"{o}\"{o}s}{koost\"{o}\"{o}s}}, + bytranslator = {{\lbx@lfromlang t\~{o}lkinud}{\lbx@sfromlang t\~{o}lk\adddotspace}}, + bycommentator = {{kommenteerinud}{kommenteerinud}}, + byannotator = {{kommenteerinud}{kommenteerinud}},% FIXME: unsure + withcommentator = {{koos kommentaaridega}{koos kommentaaridega}},% FIXME: commentator name should be in the middle + withannotator = {{koos kommentaaridega}{koos kommentaaridega}}, + withintroduction = {{koos tutvustusega}{koos tutvustusega}},% FIXME: unsure + withforeword = {{koos eess\~{o}naga}{koos eess\adddot}}, + withafterword = {{koos j\"{a}rels\~{o}naga}{koos j\"{a}rels\adddot}}, + byeditortr = {{toimetanud ja \lbx@lfromlang t\~{o}lkinud} % + {toim\adddotspace ja \lbx@sfromlang t\~{o}lk\adddot}}, + byeditorco = {{toimetanud ja kommenteerinud} % + {toim\adddotspace ja komment\adddot}}, + byeditoran = {{toimetanud ja kommenteerinud} % + {toim\adddotspace ja komment\adddot}}, + byeditorin = {{toimetanud ja sissejuhatuse kirjutanud} % + {toim\adddotspace ja sissej\adddot}}, + byeditorfo = {{toimetanud ja eess\~{o}na kirjutanud} % + {toim\adddotspace ja eess\adddot}}, + byeditoraf = {{toimetanud ja j\"{a}rels\~{o}na kirjutanud} % + {toim\adddotspace ja j\"{a}rels\adddot}}, + byeditortrco = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja komm\adddot}}, + byeditortran = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja komment\adddot}}, + byeditortrin = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja sissejuhatuse kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja sissej\adddot}}, + byeditortrfo = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja eess\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja eess\adddot}}, + byeditortraf = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + byeditorcoin = {{toimetanud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., komm\adddotspace ja sissej\adddot}}, + byeditorcofo = {{toimetanud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., komm\adddotspace ja eess\adddot}}, + byeditorcoaf = {{toimetanud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., komm\adddotspace ja j\"{a}rels\adddot}}, + byeditoranin = {{toimetanud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., komment\adddotspace ja sissej\adddot}}, + byeditoranfo = {{toimetanud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., komment\adddotspace ja eess\adddot}}, + byeditoranaf = {{toimetanud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., komment\adddotspace ja j\"{a}rels\adddot}}, + byeditortrcoin = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + byeditortrcofo = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komm\adddotspace ja eess\adddot}}, + byeditortrcoaf = {{toimetatud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + byeditortranin = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komment\adddotspace ja sissej\adddot}}, + byeditortranfo = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komment\adddotspace ja eess\adddot}}, + byeditortranaf = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komment\adddotspace ja j\"{a}rels\adddot}}, + bytranslatorco = {{\lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja komm\adddot}}, + bytranslatoran = {{\lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja komment\adddot}}, + bytranslatorin = {{\lbx@lfromlang t\~{o}lkinud ja sissejuhatuse kirjutanud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja sissej\adddot}}, + bytranslatorfo = {{\lbx@lfromlang t\~{o}lkinud ja eess\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja eess\adddot}}, + bytranslatoraf = {{\lbx@lfromlang t\~{o}lkinud ja j\"{a}rels\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + bytranslatorcoin = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komm\adddotspace ja eess\adddot}}, + bytranslatorcoaf = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + bytranslatoranin = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komment\adddotspace ja sissej\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komment\adddotspace ja eess\adddot}}, + bytranslatoranaf = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komment\adddotspace ja j\"{a}rels\adddot}}, and = {{ja}{ja}}, - andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, - andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andothers = {{\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}} % + {\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}}}, + andmore = {{\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}} % + {\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}}}, volume = {{k\"{o}ide}{k\"{o}ide}}, - volumes = {{k\"{o}ided}{k\"{o}idef}}, -% involumes = {{}{}},% FIXME: missing. Finnish translation of "in 5 volumes" is "5 osassa". + volumes = {{k\"{o}ited}{k\"{o}ited}}, + involumes = {{osas}{osas}}, jourvol = {{k\"{o}ide}{k\"{o}ide}}, jourser = {{seeria}{seeria}}, book = {{raamat}{raamat}}, part = {{osa}{osa}}, - issue = {{numero}{numero}}, - newseries = {{uues series}{uue ser\adddot}}, - oldseries = {{vana seeria}{vana ser\adddot}}, + issue = {{number}{nr\adddot}}, + newseries = {{uus seerias}{uus seer\adddot}}, + oldseries = {{vana seeria}{vana seer\adddot}}, edition = {{v\"{a}ljaanne}{v\"{a}ljaanne}}, reprint = {{kordustr\"{u}kk}{kordustr\"{u}kk}}, - reprintof = {{kordustr\"{u}kk ning}{kordustr\"{u}kk ning}}, - reprintas = {{kordustr\"{u}kk nagu}{kordustr\"{u}kk nagu}}, - reprintfrom = {{kordustr\"{u}kk alates}{kordustr\"{u}kk alates}}, - reviewof = {{vahekokkuv\~{o}tte}{vahekokkuv\~{o}tte}}, - translationof = {{t\~{o}lkimine}{t\~{o}lkimine}}, - translationas = {{t\~{o}lkida kui}{t\~{o}lkida kui}}, + reprintof = {{kordustr\"{u}kk teosest}{kordustr\"{u}kk teosest}}, + reprintas = {{kordustr\"{u}kitud kui}{kordustr\"{u}kitud kui}}, + reprintfrom = {{kordustr\"{u}kitud teosest}{kordustr\"{u}kitud teosest}}, + reviewof = {{arvustus teosest}{arvustus teosest}}, + translationof = {{t\~{o}lge}{t\~{o}lge}}, + translationas = {{t\~{o}lgitud kui}{t\~{o}lgitud kui}}, translationfrom = {{t\~{o}lgitud}{t\~{o}lgitud}}, - origpubas = {{algselt avaldatud nagu}{algselt avaldatud nagu}}, - origpubin = {{algselt avaldatud}{algselt avaldatud}}, - astitle = {{j\"{a}rgnevatest}{j\"{a}rgnevatest}}, - bypublisher = {{julkaissut}{julkaissut}}, - page = {{lehek\"{u}lja}{l\adddot}}, - pages = {{lehek\"{u}ljed}{l\adddot}}, + origpubas = {{algselt avaldatud kui}{algselt avaldatud kui}}, % FIXME: unsure, could also be 'esmatrükitud kui' + origpubin = {{algselt avaldatud aastal}{algselt avaldatud aastal}}, % FIXME: unsure, could also be 'esmatrükitud aastal' + astitle = {{pealkirjaga}{pealkirjaga}}, + bypublisher = {{v\"{a}lja andnud}{v\"{a}lja andnud}}, + page = {{lehek\"{u}lg}{lk\adddot}}, + pages = {{lehek\"{u}ljed}{lk\adddot}}, column = {{veerg}{veerg}}, columns = {{veerud}{veerud}}, line = {{rida}{rida}}, - lines = {{ridad}{ridad}}, - nodate = {{kuup\"{a}ev puudub}}, + lines = {{read}{read}}, + nodate = {{kuup\"{a}ev puudub}{kuup\"{a}ev puudub}}, verse = {{salm}{salm}}, verses = {{salmid}{salmid}}, section = {{jagu}{jagu}}, - sections = {{kohdat}{kohdat}}, - paragraph = {{kappale}{kappale}}, - paragraphs = {{kappaleet}{kappaleet}}, -% pagetotal = {{}{}},% FIXME: missing -% pagetotals = {{}{}},% FIXME: missing -% columntotal = {{}{}},% FIXME: missing -% columntotals = {{}{}},% FIXME: missing -% linetotal = {{}{}},% FIXME: missing -% linetotals = {{}{}},% FIXME: missing -% versetotal = {{}{}},% FIXME: missing -% versetotals = {{}{}},% FIXME: missing -% sectiontotal = {{}{}},% FIXME: missing -% sectiontotals = {{}{}},% FIXME: missing -% paragraphtotal = {{}{}},% FIXME: missing -% paragraphtotals = {{}{}},% FIXME: missing - in = {{teoksessa}{teoksessa}}, - inseries = {{sarjassa}{sarjassa}}, - ofseries = {{sarjassa}{sarjassa}}, - number = {{arv}{arv}}, - chapter = {{peat\"{u}kk}{peat\"{u}kk}}, -% bathesis = {{}{}},% FIXME: missing + sections = {{jaod}{jaod}}, + paragraph = {{l\~{o}ik}{l\~{o}ik}}, + paragraphs = {{l\~{o}igud}{l\~{o}igud}}, + pagetotal = {{lehek\"{u}lgi kokku}{lk\adddotspace kokku}},% FIXME: unsure + pagetotals = {{lehek\"{u}lgesid kokku}{lk\adddotspace kokku}},% FIXME: unsure + columntotal = {{veerge kokku}{veerge kokku}},% FIXME: unsure + columntotals = {{veergusid kokku}{veergusid kokku}},% FIXME: unsure + linetotal = {{ridu kokku}{ridu kokku}},% FIXME: unsure + linetotals = {{ridasid kokku}{ridasid kokku}},% FIXME: unsure + versetotal = {{salmi kokku}{salmi kokku}},% FIXME: unsure + versetotals = {{salmesid kokku}{salmesid kokku}},% FIXME: unsure + sectiontotal = {{jagusid kokku}{jagusid kokku}},% FIXME: unsure + sectiontotals = {{jagusid kokku}{jagusid kokku}},% FIXME: unsure + paragraphtotal = {{l\~{o}ike kokku}{l\~{o}ike kokku}},% FIXME: unsure + paragraphtotals = {{l\~{o}ikusid kokku}{l\~{o}ikusid kokku}},% FIXME: unsure + in = {{teoses}{teoses}}, + inseries = {{sarjas}{sarjas}}, + ofseries = {{sarjast}{sarjast}}, + number = {{number}{nr}}, + chapter = {{peat\"{u}kk}{ptk}}, + bathesis = {{bakalaureuse t\"{o}\"{o}}{bakalaureuse t\"{o}\"{o}}}, mathesis = {{magistrit\"{o}\"{o}}{magistrit\"{o}\"{o}}}, phdthesis = {{doktorit\"{o}\"{o}}{doktorit\"{o}\"{o}}}, - candthesis = {{kandidaadi v\"{a}itekirja}{kandidaadi v\"{a}itekirja}},% Literal translation of "Candidate thesis". - resreport = {{tutkimusraportti}{tutkimusraportti}}, - techreport = {{uuringute raport}{uuringute raport}}, + candthesis = {{kandidaadi v\"{a}itekiri}{kandidaadi v\"{a}itekiri}},% Literal translation of "Candidate thesis". + resreport = {{uuringuraport}{uuringuraport}}, + techreport = {{tehniline raport}{tehniline raport}}, software = {{tarkvara}{tarkvara}}, datacd = {{CD-ROM}{CD-ROM}}, - audiocd = {{audio CD}{audio CD}}, + audiocd = {{audioplaat}{audioplaat}}, version = {{versioon}{versioon}}, url = {{aadress}{aadress}}, urlfrom = {{saadaval}{saadaval}}, - urlseen = {{k\"{u}lastas}{k\"{u}lastas}}, - inpreparation = {{ettevalmistamisel}{ettevalmistamisel}}, + urlseen = {{vaadatud}{vaadatud}}, + inpreparation = {{koostamisel}{koostamisel}}, submitted = {{esitatud}{esitatud}}, forthcoming = {{tulevases}{tulevases}}, - inpress = {{ajakirjanduses}{ajakirjanduses}}, + inpress = {{tr\"{u}kis}{tr\"{u}kis}}, prepublished = {{eelnevalt avaldatud} {eelnevalt avaldatud}}, citedas = {{edaspidi viidatud kui}{edaspidi viidatud kui}}, thiscite = {{eriti}{eriti}}, - seenote = {{vaata m\"{a}rkus}{vaata m\"{a}rkus}}, - quotedin = {{noteeritud}{noteeritud}}, - idem = {{idem}{idem}}, % It its not necessary to translate Latin phrases. - idemsm = {{idem}{idem}}, - idemsf = {{eadem}{eadem}}, - idemsn = {{idem}{idem}}, - idempm = {{eidem}{eidem}}, - idempf = {{eaedem}{eaedem}}, - idempn = {{eadem}{eadem}}, - idempp = {{eidem}{eidem}}, - ibidem = {{ibidem}{ibid\adddot}}, - opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}}, - loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, - confer = {{cf\adddot}{cf\adddot}}, - sequens = {{sq\adddot}{sq\adddot}}, - sequentes = {{sqq\adddot}{sqq\adddot}}, - passim = {{passim}{pass\adddot}}, - see = {{vaata}{vaata}}, - seealso = {{allikad}{allikad}}, + seenote = {{vaata m\"{a}rkus}{vt m\"{a}rkus}}, + quotedin = {{noteeritud}{noteeritud}}, % FIXME: unsure + idem = {{\mkbibemph{\autocap{i}dem}}{\mkbibemph{\autocap{i}dem}}}, % It its not necessary to translate Latin phrases. + idemsm = {{\mkbibemph{\autocap{i}dem}}{\mkbibemph{\autocap{i}dem}}}, + idemsf = {{\mkbibemph{\autocap{e}adem}}{\mkbibemph{\autocap{e}adem}}}, + idemsn = {{\mkbibemph{\autocap{i}dem}}{\mkbibemph{\autocap{i}dem}}}, + idempm = {{\mkbibemph{\autocap{e}idem}}{\mkbibemph{\autocap{e}idem}}}, + idempf = {{\mkbibemph{\autocap{e}aedem}}{\mkbibemph{\autocap{e}aedem}}}, + idempn = {{\mkbibemph{\autocap{e}adem}}{\mkbibemph{\autocap{e}adem}}}, + idempp = {{\mkbibemph{\autocap{e}idem}}{\mkbibemph{\autocap{e}idem}}}, + ibidem = {{\mkbibemph{\autocap{i}bidem}}{\mkbibemph{\autocap{i}bid\adddot}}}, + opcit = {{\mkbibemph{\autocap{o}p\adddotspace cit\adddot}}{\mkbibemph{\autocap{o}p\adddotspace cit\adddot}}}, + loccit = {{\mkbibemph{\autocap{l}oc\adddotspace cit\adddot}}{\mkbibemph{\autocap{l}oc\adddotspace cit\adddot}}}, + confer = {{\mkbibemph{\autocap{c}f\adddot}}{\mkbibemph{\autocap{c}f\adddot}}}, + sequens = {{\mkbibemph{\autocap{s}q\adddot}}{\mkbibemph{\autocap{s}q\adddot}}}, + sequentes = {{\mkbibemph{\autocap{s}qq\adddot}}{\mkbibemph{\autocap{s}qq\adddot}}}, + passim = {{\mkbibemph{\autocap{p}assim}}{\mkbibemph{\autocap{p}ass\adddot}}}, + see = {{vaata}{vt}}, + seealso = {{vaata ka}{vt ka}}, backrefpage = {{viidatud lehel}{viidatud lehel}}, backrefpages = {{viidatud lehek\"{u}ljed}{viidatud lehek\"{u}ljed}}, january = {{jaanuar}{jaanuar}}, @@ -481,122 +463,98 @@ october = {{oktoober}{oktoober}}, november = {{november}{november}}, december = {{detsember}{detsember}}, - basicjanuary = {{jaanuar}{jaanuar}}, - basicfebruary = {{veebruar}{veebruar}}, - basicmarch = {{m\"{a}rts}{m\"{a}rts}}, - basicapril = {{aprill}{aprill}}, - basicmay = {{mai}{mai}}, - basicjune = {{juuni}{juuni}}, - basicjuly = {{juuli}{juuli}}, - basicaugust = {{august}{august}}, - basicseptember = {{september}{september}}, - basicoctober = {{oktoober}{oktoober}}, - basicnovember = {{november}{november}}, - basicdecember = {{detsember}{detsember}}, - langamerican = {{Ameerika}{Ameerika}}, - langbrazilian = {{Brasiilia}{Brasiilia}}, -% langbulgarian = {{}{}},% FIXME: missing - langcatalan = {{katalaani}{katalaani}}, - langcroatian = {{horvaadi}{horvaadi}}, - langczech = {{t\v{s}ehhii}{t\v{s}ehhii}}, - langdanish = {{taani}{taani}}, - langdutch = {{hollandi}{hollandi}}, - langenglish = {{inglise}{inglise}}, - langestonian = {{eesti}{eesti}}, - langfinnish = {{soome}{soome}}, - langfrench = {{prantsuse}{prantsuse}}, - langgalician = {{galeegi}{galeegi}}, - langgerman = {{saksa}{saksa}}, - langgreek = {{kreeka}{kreeka}}, - langitalian = {{itaalia}{itaalia}}, - langlatin = {{ladina}{ladina}}, -% langlatvian = {{}{}},% FIXME: missing - langnorwegian = {{norra}{norra}}, - langpolish = {{poola}{poola}}, - langportuguese = {{portugali}{portugali}}, - langrussian = {{vene}{vene}}, -% langslovak = {{}{}},% FIXME: missing - langslovene = {{sloveeni}{sloveeni}}, - langspanish = {{hispaania}{hispaania}}, - langswedish = {{rootsi}{rootsi}}, - fromamerican = {{alates USA}{alates USA}}, - frombrazilian = {{alates Brasiilia}{: Brasiilia}}, -% frombulgarian = {{}{}},% FIXME: missing - fromcatalan = {{alates katalaani}{: Catalan}}, - fromcroatian = {{alates horvaadi}{: Horvaatia}}, - fromczech = {{alates T\v{s}ehhi}{: T\v{s}ehhi}}, - fromdanish = {{Taani}{alates Taani}}, - fromdutch = {{alates Hollandi}{: Hollandi}}, - fromenglish = {{ingliskeelsest}{ingliskeelsest}}, - fromestonian = {{eesti kielest\"a}{eesti kielest\"a}}, - fromfinnish = {{Soome}{alates Soome}}, - fromfrench = {{alates Prantsuse}{alates prantsuse}}, - fromgalician = {{alates Galeegi}{alates Galeegi}}, - fromgerman = {{, saksa keeles}{: Saksa}}, - fromgreek = {{alates Kreeka}{alates Kreeka}}, - fromitalian = {{alates Itaalia}{: Itaalia}}, - fromlatin = {{alates Ladina}{: Ladina}}, -% fromlatvian = {{}{}},% FIXME: missing - fromnorwegian = {{alates Norra}{: Norra}}, - frompolish = {{alates Poola} {alates Poola}}, - fromportuguese = {{alates Portugali}{: Portugali}}, - fromrussian = {{alates Vene}{: vene}}, -% fromslovak = {{}{}},% FIXME: missing - fromslovene = {{alates sloveeni}{: sloveeni}}, - fromspanish = {{alates Hispaania}{alates Hispaania}}, - fromswedish = {{alates Rootsi}{: Rootsi}}, + langamerican = {{Ameerika inglise keel}{Ameerika inglise keel}}, + langbrazilian = {{brasiilia keel}{brasiilia keel}}, + langbulgarian = {{bulgaaria keel}{bulgaaria keel}}, + langcatalan = {{katalaani keel}{katalaani keel}}, + langcroatian = {{horvaadi keel}{horvaadi keel}}, + langczech = {{t\v{s}ehhi keel}{t\v{s}ehhi keel}}, + langdanish = {{taani keel}{taani keel}}, + langdutch = {{hollandi keel}{hollandi keel}}, + langenglish = {{inglise keel}{inglise keel}}, + langestonian = {{eesti keel}{eesti keel}}, + langfinnish = {{soome keel}{soome keel}}, + langfrench = {{prantsuse keel}{prantsuse keel}}, + langgalician = {{galeegi keel}{galeegi keel}}, + langgerman = {{saksa keel}{saksa keel}}, + langgreek = {{kreeka keel}{kreeka keel}}, + langhungarian = {{ungari keel}{ungari keel}}, + langitalian = {{itaalia keel}{itaalia keel}}, + langjapanese = {{jaapani keel}{jaapani keel}}, + langlatin = {{ladina keel}{ladina keel}}, + langlatvian = {{l\"{a}ti keel}{l\"{a}ti keel}}, + langnorwegian = {{norra keel}{norra keel}}, + langpolish = {{poola keel}{poola keel}}, + langportuguese = {{portugali keel}{portugali keel}}, + langrussian = {{vene keel}{vene keel}}, + langslovak = {{slovakia keel}{slovakia keel}}, + langslovene = {{sloveeni keel}{sloveeni keel}}, + langspanish = {{hispaania keel}{hispaania keel}}, + langswedish = {{rootsi keel}{rootsi keel}}, + langukrainian = {{ukraina keel}{ukraina keel}}, + fromamerican = {{Ameerika inglise keelest}{Ameerika inglise keelest}}, + frombrazilian = {{brasiilia keelest}{brasiilia keelest}}, + frombulgarian = {{bulgaaria keelest}{bulgaaria keelest}}, + fromcatalan = {{katalani keelest}{kalatalani keelest}}, + fromcroatian = {{horvaadi keelest}{horvaadi keelest}}, + fromczech = {{t\v{s}ehhi keelest}{t\v{s}ehhi keelest}}, + fromdanish = {{taani keelest}{taani keelest}}, + fromdutch = {{hollandi keelest}{hollandi keelest}}, + fromenglish = {{inglise keelest}{inglise keelest}}, + fromestonian = {{eesti keelest}{eesti keelest}}, + fromfinnish = {{soome keelest}{soome keelest}}, + fromfrench = {{prantsuse keelest}{prantsuse keelest}}, + fromgalician = {{galeegi keelest}{galeegi keelest}}, + fromgerman = {{saksa keelest}{saksa keelest}}, + fromgreek = {{kreeka keelest}{kreeka keelest}}, + fromhungarian = {{ungari keelest}{ungari keelest}}, + fromitalian = {{itaalia keelest}{itaalia keelest}}, + fromjapanese = {{jaapani keelest}{jaapani keelest}}, + fromlatin = {{ladina keelest}{ladina keelest}}, + fromlatvian = {{l\"{a}ti keelest}{l\"{a}ti keelest}}, + fromnorwegian = {{norra keelest}{norra keelest}}, + frompolish = {{poola keelest} {poola keelest}}, + fromportuguese = {{portugali keelest}{portugali keelest}}, + fromrussian = {{vene keelest}{vene keelest}}, + fromslovak = {{slovakia keelest}{slovakia keelest}}, + fromslovene = {{sloveenia keelest}{sloveenia keelest}}, + fromspanish = {{hispaania keelest}{hispaania keelest}}, + fromswedish = {{rootsi keelest}{rootsi keelest}}, + fromukrainian = {{ukraina keelest}{ukraina keelest}}, countryde = {{Saksamaa}{DE}}, countryeu = {{Euroopa Liit}{EL}}, - countryep = {{Euroopa Liidu}{EP}}, + countryep = {{Euroopa Parlament}{EP}}, countryfr = {{Prantsusmaa}{FR}}, countryuk = {{Suurbritannia}{GB}}, countryus = {{Ameerika}{US}}, - patent = {{patendi}{pat\adddot}}, - patentde = {{Saksa patendi}{Saksa pat\adddot}}, - patenteu = {{Euroopa patendi}{Euroopa pat\adddot}}, + patent = {{patent}{pat\adddot}}, + patentde = {{Saksa patent}{Saksa pat\adddot}}, + patenteu = {{Euroopa patent}{Euroopa pat\adddot}}, patentfr = {{Prantsuse patent}{Prantsuse pat\adddot}}, - patentuk = {{Briti patendi}{Briti pat\adddot}}, + patentuk = {{Briti patent}{Briti pat\adddot}}, patentus = {{U.S\adddotspace patent}{U.S\adddotspace pat\adddot}}, - patreq = {{patendi taotluse}{pat\adddot\ req\adddot}}, - patreqde = {{Saksa patendi taotluse}{Saksa pat\adddot\ req\adddot}}, - patreqeu = {{Euroopa patendi taotluse}{Euroopa pat\adddot\ req\adddot}}, - patreqfr = {{Prantsuse patent taotluse}{Prantsuse pat\adddot\ req\adddot}}, - patrequk = {{Briti patendi taotluse}{Briti pat\adddot\ req\adddot}}, - patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}}, - file = {{faili}{faili}}, + patreq = {{patendi taotlus}{pat\adddotspace taotl\adddot}}, + patreqde = {{Saksa patendi taotlus}{Saksa pat\adddotspace taotl\adddot}}, + patreqeu = {{Euroopa patendi taotlus}{Euroopa pat\adddotspace taotl\adddot}}, + patreqfr = {{Prantsuse patendi taotlus}{Prantsuse pat\adddotspace taotl\adddot}}, + patrequk = {{Briti patendi taotlus}{Briti pat\adddotspace taotl\adddot}}, + patrequs = {{U.S\adddotspace patendi taotlus.}{U.S\adddotspace pat\adddotspace taotl\adddot}}, + file = {{fail}{fail}}, library = {{raamatukogu}{raamatukogu}}, - abstract = {{abstraktne}{abstraktne}}, - annotation = {{annotatsioon}{annotatsioon}}, + abstract = {{teesid}{teesid}}, + annotation = {{kommentaarid}{kommentaarid}}, commonera = {{meie ajaarvamise j\"argi}{m\adddot a\adddot j}}, beforecommonera = {{enne meie ajaarvamist}{e\adddot m\adddot a}}, annodomini = {{p\"arast Kristust}{pKr}}, beforechrist = {{enne Kristust}{eKr}}, -% circa = {{}{}},% FIXME: missing -% spring = {{}{}},% FIXME: missing -% summer = {{}{}},% FIXME: missing -% autumn = {{}{}},% FIXME: missing -% winter = {{}{}},% FIXME: missing + circa = {{\mkbibemph{\autocap{c}a}}{\mkbibemph{\autocap{c}a}}}, + spring = {{kevadel}{kevadel}}, + summer = {{suvel}{suvel}}, + autumn = {{s\"{u}gisel}{s\"{u}gisel}}, + winter = {{talvel}{talvel}}, am = {{AM}{AM}}, pm = {{PM}{PM}}, } -\protected\gdef\lbx@fi@mkbibmonthbasic#1{% - \ifcase0#1\relax - #1\BibliographyWarning{Month out of range}% - \or\abx@bibmonth{basicjanuary}% - \or\abx@bibmonth{basicfebruary}% - \or\abx@bibmonth{basicmarch}% - \or\abx@bibmonth{basicapril}% - \or\abx@bibmonth{basicmay}% - \or\abx@bibmonth{basicjune}% - \or\abx@bibmonth{basicjuly}% - \or\abx@bibmonth{basicaugust}% - \or\abx@bibmonth{basicseptember}% - \or\abx@bibmonth{basicoctober}% - \or\abx@bibmonth{basicnovember}% - \or\abx@bibmonth{basicdecember}% - \else - #1\BibliographyWarning{Month out of range}% - \fi}% \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx index 9459598c1d4..372b537d97d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx @@ -94,7 +94,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -283,9 +283,9 @@ {k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}}, translatorsanaf = {{k\"a\"ant\"aneet, selitykset ja j\"alkisanat kirjoittaneet}% {k\"a\"ant\"aneet, selitykset ja j\"alkisanat kirjoittaneet}}, -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing + organizer = {{toimittanut}{toim\adddot}},% FIXME: unsure + organizers = {{toimittaneet}{toim\adddot}},% FIXME: unsure + byorganizer = {{toimittanut}{toim\adddot}},% FIXME: unsure byauthor = {{kirjoittanut}{kirj\adddot}}, byeditor = {{toimittanut}{toim\adddot}}, bycompiler = {{koontanut}{koontanut}}, @@ -373,15 +373,15 @@ {\lbx@sfromlang k\"a\"ant\"anyt, selityksin varustanut ja j\"alkisanat kirjoittanut}}, and = {{ja}{ja}}, andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, - andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{jne\adddot}{jne\adddot}}, volume = {{volyymi}{vol\adddot}},% FIXME: Is {{osa}{osa}} a better translation? volumes = {{volyymit}{vol\adddot}},% Incorrect. Correct translation of "volumes" depends on context. -% involumes = {{}{}},% FIXME: missing. Finnish translation of "in 5 volumes" is "5 osassa". + involumes = {{}{}},% Finnish translation of "in 5 volumes" is "5 osassa", so translation of "in" is an empty string. jourvol = {{volyymi}{vol\adddot}}, jourser = {{sarja}{sarja}}, book = {{kirja}{kirja}},% FIXME: Literal translation of "book". Correct translation depends on context. - part = {{osa}{osa}},% FIXME: unsure - issue = {{numero}{numero}},% FIXME: unsure + part = {{osa}{osa}}, + issue = {{numero}{numero}}, newseries = {{uusi sarja}{uusi sarja}}, oldseries = {{vanha sarja}{vanha sarja}}, edition = {{painos}{painos}}, @@ -410,31 +410,31 @@ sections = {{kohdat}{kohdat}},% Bad translation, but "pyk\"al\"at" is no better. paragraph = {{kappale}{kappale}}, paragraphs = {{kappaleet}{kappaleet}}, -% pagetotal = {{}{}},% FIXME: missing -% pagetotals = {{}{}},% FIXME: missing -% columntotal = {{}{}},% FIXME: missing -% columntotals = {{}{}},% FIXME: missing -% linetotal = {{}{}},% FIXME: missing -% linetotals = {{}{}},% FIXME: missing -% versetotal = {{}{}},% FIXME: missing -% versetotals = {{}{}},% FIXME: missing -% sectiontotal = {{}{}},% FIXME: missing -% sectiontotals = {{}{}},% FIXME: missing -% paragraphtotal = {{}{}},% FIXME: missing -% paragraphtotals = {{}{}},% FIXME: missing + pagetotal = {{sivu}{s\adddot}}, + pagetotals = {{sivut}{s\adddot}}, + columntotal = {{palsta}{palsta}},% Here "sarake" is wrong! + columntotals = {{palstat}{palstat}},% Here "sarakkeet" is wrong! + linetotal = {{rivi}{rivi}}, + linetotals = {{rivit}{rivit}}, + versetotal = {{s\"ae}{s\"ae}}, + versetotals = {{s\"akeet}{s\"akeet}}, + sectiontotal = {{kohta}{kohta}},% Bad translation, but "pyk\"al\"a" is no better. + sectiontotals = {{kohdat}{kohdat}},% Bad translation, but "pyk\"al\"at" is no better. + paragraphtotal = {{kappale}{kappale}}, + paragraphtotals = {{kappaleet}{kappaleet}}, in = {{teoksessa}{teoksessa}}, inseries = {{sarjassa}{sarjassa}}, ofseries = {{sarjassa}{sarjassa}}, number = {{numero}{nro}}, chapter = {{luku}{luku}}, -% bathesis = {{}{}},% FIXME: missing + bathesis = {{tutkielma}{tutkielma}},% FIXME: unsure mathesis = {{tutkielma}{tutkielma}},% FIXME: unsure phdthesis = {{tohtorinv\"ait\"oskirja}{tohtorinv\"ait\"oskirja}}, candthesis = {{kanditaatintutkielma}{kanditaatintutkielma}},% Literal translation of "Candidate thesis". resreport = {{tutkimusraportti}{tutkimusraportti}}, - techreport = {{tekninen raportti}{tekninen raportti}}, + techreport = {{tekninen raportti}{tekninen raportti}},% Literal translation of "technical report". software = {{ohjelmisto}{ohjelmisto}}, - datacd = {{data-CD}{data-CD}},% Is {CD-ROM}{CD-ROM}} better? + datacd = {{data-CD}{data-CD}},% Is {{CD-ROM}{CD-ROM}} better? audiocd = {{\"a\"ani-CD}{\"a\"ani-CD}}, version = {{versio}{versio}}, url = {{url}{url}}, @@ -446,7 +446,7 @@ inpress = {{painossa}{painossa}},% FIXME: unsure prepublished = {{esijulkaistu}{esijulkaistu}},% FIXME: unsure citedas = {{jatkossa}{jatkossa}}, - thiscite = {{t\"am\"a lainaus}{t\"am\"a lainaus}},% FIXME: unsure + thiscite = {{sama}{sama}},% FIXME: unsure seenote = {{katso viite}{katso viite}}, quotedin = {{lainattu teoksessa}{lainattu teoksessa}}, idem = {{idem}{id\adddot}},% It its not necessary to translate Latin phrases. @@ -494,54 +494,56 @@ basicdecember = {{joulukuu}{joulukuu}}, langamerican = {{amerikanenglanti}{amerikanenglanti}}, langbrazilian = {{brasilianportugali}{brasilianportugali}}, -% langbulgarian = {{}{}},% FIXME: missing + langbulgarian = {{bulgaria}{bulgaria}}, langcatalan = {{katalonia}{katalonia}}, - langcroatian = {{kroataia}{kroatia}}, + langcroatian = {{kroatia}{kroatia}}, langczech = {{t\v{s}ekki}{t\v{s}ekki}}, langdanish = {{tanska}{tanska}}, langdutch = {{hollanti}{hollanti}}, langenglish = {{englanti}{englanti}}, -% langestonian = {{}{}},% FIXME: missing + langestonian = {{viro}{viro}}, langfinnish = {{suomi}{suomi}}, langfrench = {{ranska}{ranska}}, - langgalician = {{galician}{galician}}, + langgalician = {{galicia}{galicia}}, langgerman = {{saksa}{saksa}}, langgreek = {{kreikka}{kreikka}}, + langhungarian = {{unkari}{unkari}}, langitalian = {{italia}{italia}}, langlatin = {{latina}{latina}}, -% langlatvian = {{}{}},% FIXME: missing + langlatvian = {{latvia}{latvia}}, langnorwegian = {{norja}{norja}}, langpolish = {{puola}{puola}}, langportuguese = {{portugali}{portugali}}, langrussian = {{ven\"aj\"a}{ven\"aj\"a}}, -% langslovak = {{}{}},% FIXME: missing -% langslovene = {{}{}},% FIXME: missing + langslovak = {{slovakia}{slovakia}}, + langslovene = {{slovenia}{slovenia}}, langspanish = {{espanja}{espanja}}, langswedish = {{ruotsi}{ruotsi}}, fromamerican = {{englannin kielest\"a}{englannin kielest\"a}}, frombrazilian = {{portugalin kielest\"a}{portugalin kielest\"a}}, -% frombulgarian = {{}{}},% FIXME: missing + frombulgarian = {{bulgarian kielest\"a}{bulgarian kielest\"a}}, fromcatalan = {{katalonian kielest\"a}{katalonian kielest\"a}}, fromcroatian = {{kroatian kielest\"a}{kroatian kielest\"a}}, fromczech = {{t\v{s}ekin kielest\"a}{t\v{s}ekin kielest\"a}}, fromdanish = {{tanskan kielest\"a}{tanskan kielest\"a}}, fromdutch = {{hollannin kielest\"a}{hollannin kielest\"a}}, fromenglish = {{englannin kielest\"a}{englannin kielest\"a}}, -% fromestonian = {{}{}},% FIXME: missing + fromestonian = {{viron kielest\"a}{viron kielest\"a}}, fromfinnish = {{suomen kielest\"a}{suomen kielest\"a}}, fromfrench = {{ranskan kielest\"a}{ranskan kielest\"a}}, fromgalician = {{galician kielest\"a}{galician kielest\"a}}, fromgerman = {{saksan kielest\"a}{saksan kielest\"a}}, fromgreek = {{kreikan kielest\"a}{kreikan kielest\"a}}, + fromhungarian = {{unkarin kielest\"a}{unkarin kielest\"a}}, fromitalian = {{italian kielest\"a}{italian kielest\"a}}, fromlatin = {{latinan kielest\"a}{latinan kielest\"a}}, -% fromlatvian = {{}{}},% FIXME: missing + fromlatvian = {{latvian kielest\"a}{latvian kielest\"a}}, fromnorwegian = {{norjan kielest\"a}{norjan kielest\"a}}, frompolish = {{puolan kielest\"a}{puolan kielest\"a}}, fromportuguese = {{portugalin kielest\"a}{portugalin kielest\"a}}, fromrussian = {{ven\"aj\"an kielest\"a}{ven\"aj\"an kielest\"a}}, -% fromslovak = {{}{}},% FIXME: missing -% fromslovene = {{}{}},% FIXME: missing + fromslovak = {{slovakian kielest\"a}{slovakian kielest\"a}}, + fromslovene = {{slovenian kielest\"a}{slovenian kielest\"a}}, fromspanish = {{espanjan kielest\"a}{espanjan kielest\"a}}, fromswedish = {{ruotsin kielest\"a}{ruotsin kielest\"a}}, countryde = {{Saksa}{DE}}, @@ -554,13 +556,13 @@ patentde = {{saksalainen patentti}{saksalainen pat\adddot}}, patenteu = {{Euroopan Unionin patentti}{Euroopan Unionin pat\adddot}}, patentfr = {{ranskalainen patentti}{ranskalainen pat\adddot}}, - patentuk = {{englantilainen patentti}{englantilainen pat\adddot}}, + patentuk = {{isobritannialainen patentti}{isobritannialainen pat\adddot}}, patentus = {{yhdysvaltalainen patentti}{yhdysvaltalainen pat\adddot}}, patreq = {{patenttihakemus}{pat\adddot\ hak\adddot}}, patreqde = {{saksalainen patenttihakemus}{saksalainen pat\adddot\ hak\adddot}}, patreqeu = {{Euroopan Unionin patenttihakemus}{Euroopan Unionin pat\adddot\ hak\adddot}}, patreqfr = {{ranskalainen patenttihakemus}{ranskalainen pat\adddot\ hak\adddot}}, - patrequk = {{englantilainen patenttihakemus}{englantilainen pat\adddot\ hak\adddot}}, + patrequk = {{isobritannialainen patenttihakemus}{isobritannialainen pat\adddot\ hak\adddot}}, patrequs = {{yhdysvaltalainen patenttihakemus}{yhdysvaltalainen pat\adddot\ hak\adddot}}, file = {{tiedosto}{tiedosto}}, library = {{kirjasto}{kirjasto}}, @@ -570,13 +572,13 @@ beforecommonera = {{ennen ajanlaskun alkua}{eaa\adddot}}, annodomini = {{j\"alkeen Kristuksen syntym\"an}{jKr\adddot}}, beforechrist = {{ennen Kristuksen syntym\"a\"a}{eKr\adddot}}, -% circa = {{}{}},% FIXME: missing -% spring = {{}{}},% FIXME: missing -% summer = {{}{}},% FIXME: missing -% autumn = {{}{}},% FIXME: missing -% winter = {{}{}},% FIXME: missing + circa = {{noin}{n\adddot}}, + spring = {{kev\"at}{kev\"at}},% Or kev\"a\"all\"a ? + summer = {{kes\"a}{kes\"a}},% Or kes\"all\"a ? + autumn = {{syksy}{syksy}},% Or syksyll\"a ? + winter = {{talvi}{talvi}},% Or talvella ? am = {{ap\adddot}{ip\adddot}}, - pm = {{ap\adddot}{ip\adddot}}, + pm = {{ip\adddot}{ip\adddot}}, } \protected\gdef\lbx@fi@mkbibmonthbasic#1{% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx index 1f62e348e46..31f436e1dfb 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx @@ -81,7 +81,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -483,10 +483,11 @@ langgalician = {{galicien}{galicien}}, langgerman = {{allemand}{allemand}}, langgreek = {{grec}{grec}}, + langhungarian = {{hongrois}{hongrois}}, langitalian = {{italien}{italien}}, langjapanese = {{japonais}{japonais}}, langlatin = {{latin}{latin}}, -% langlatvian = {{}{}},% FIXME: missing + langlatvian = {{letton}{letton}}, langnorwegian = {{norv\'egien}{norv\'egien}}, langpolish = {{polonais}{polonais}}, langportuguese = {{portugais}{portugais}}, @@ -511,10 +512,11 @@ fromgalician = {{du galicien}{du galicien}}, fromgerman = {{de l'allemand}{de l'allemand}}, fromgreek = {{du grec}{du grec}}, + fromhungarian = {{du hongrois}{du hongrois}}, fromitalian = {{de l'italien}{de l'italien}}, fromjapanese = {{du japonais}{du japonais}}, fromlatin = {{du latin}{du latin}}, -% fromlatvian = {{}{}},% FIXME: missing + fromlatvian = {{du letton}{du letton}}, fromnorwegian = {{du norv\'egien}{du norv\'egien}}, frompolish = {{du polonais}{du polonais}}, fromportuguese = {{du portugais}{du portugais}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx index 4d0e723263d..5cd3085e00f 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx @@ -58,7 +58,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -443,7 +443,7 @@ nodate = {{sen data}{s\adddot d\adddot}}, november = {{novembro}{nov\adddot}}, december = {{decembro}{dec\adddot}}, langamerican = {{ingl\'es americano}{ing\adddotspace am\adddot}}, - langbulgarian = {{b\'ulgaro}{b\'ulg\adddot}} + langbulgarian = {{b\'ulgaro}{b\'ulg\adddot}}, langbrazilian = {{portugu\'es brasileiro}{port\adddotspace br\adddot}}, langcatalan = {{catal\'an}{cat\adddot}}, langcroatian = {{croata}{croata}}, @@ -457,6 +457,7 @@ nodate = {{sen data}{s\adddot d\adddot}}, langgalician = {{galego}{gal\adddot}}, langgerman = {{alem\'an}{al\adddot}}, langgreek = {{grego}{grego}}, + langhungarian = {{h\'ungaro}{h\'ungaro}}, langitalian = {{italiano}{ital\adddot}}, langlatin = {{lat\'in}{lat\adddot}}, % langlatvian = {{}{}},% FIXME: missing @@ -476,13 +477,14 @@ nodate = {{sen data}{s\adddot d\adddot}}, fromczech = {{do checo}{do checo}}, fromdanish = {{do dinamarqu\'es}{do dan\'es}}, fromdutch = {{do neerland\'es}{do neerl\adddot}}, - fromenglish = {{do ingl\'es}{do ing\adddo}}, + fromenglish = {{do ingl\'es}{do ing\adddot}}, fromestonian = {{do estoniano}{do eston\adddot}}, fromfinnish = {{do fin\'es}{do fin\'es}}, fromfrench = {{do franc\'es}{do fr\adddot}}, fromgalician = {{do galego}{do gal\adddot}}, fromgerman = {{do alem\'an}{do al\adddot}}, fromgreek = {{do grego}{do grego}}, + fromhungarian = {{do h\'ungaro}{do h\'ungaro}}, fromitalian = {{do italiano}{do ital\adddot}}, fromlatin = {{do lat\'in'}{do lat\adddot}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx index 1898df60106..d133f04c530 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx @@ -65,7 +65,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -465,6 +465,7 @@ langgalician = {{Galicisch}{Galicisch}}, langgerman = {{Deutsch}{Deutsch}}, langgreek = {{Griechisch}{Griechisch}}, + langhungarian = {{Ungarisch}{Ungarisch}}, langitalian = {{Italienisch}{Italienisch}}, langjapanese = {{Japanisch}{Japanisch}}, langlatin = {{Lateinisch}{Lateinisch}}, @@ -493,6 +494,7 @@ fromgalician = {{aus dem Galicischen}{aus dem Galicischen}}, fromgerman = {{aus dem Deutschen}{aus dem Deutschen}}, fromgreek = {{aus dem Griechischen}{aus dem Griechischen}}, + fromhungarian = {{aus dem Ungarischen}{aus dem Ungarischen}}, fromitalian = {{aus dem Italienischen}{aus dem Italienischen}}, fromjapanese = {{aus dem Japanischen}{aus dem Japanischen}}, fromlatin = {{aus dem Lateinischen}{aus dem Lateinischen}}, @@ -532,7 +534,7 @@ beforecommonera = {{vor unserer Zeitrechnung}{v\adddotspace u\adddotspace Z\adddot}}, annodomini = {{n\adddotspace Chr\adddot}{n\adddotspace Chr\adddot}}, beforechrist = {{v\adddotspace Chr\adddot}{v\adddotspace Chr\adddot}}, - circa = {{circa}{ca.}}, + circa = {{circa}{ca\adddot}}, spring = {{Fr\"uhling}{Fr\adddot}}, summer = {{Sommer}{So\adddot}}, autumn = {{Herbst}{He\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx index 442def75ebc..69f2fd708b5 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx @@ -93,7 +93,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -484,6 +484,7 @@ langgalician = {{Γαλικιανή}{Γαλικιανή}}, langgerman = {{Γερμανικά}{Γερμανικά}}, langgreek = {{Ελληνικά}{Ελληνικά}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{Ιταλικά}{Ιταλικά}}, langlatin = {{Λατινικά}{Λατινικά}}, % langlatvian = {{}{}},% FIXME: missing @@ -510,6 +511,7 @@ fromgalician = {{από τα Γαλικιανή}{από τα Γαλικιανή}}, fromgerman = {{από τα Γερμανικά}{από τα Γερμανικά}}, fromgreek = {{από τα Ελληνικά}{από τα Ελληνικά}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{από τα Ιταλικά}{από τα Ιταλικά}}, fromlatin = {{από τα Λατινικά}{από τα Λατινικά}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/hungarian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/hungarian.lbx new file mode 100644 index 00000000000..8d910389d5a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/hungarian.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{hungarian.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{magyar} +\InheritBibliographyStrings{magyar} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx index 08c4305bd49..0429de4e136 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx @@ -71,7 +71,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -407,6 +407,7 @@ langgalician = {{galis\'iska}{galis\'iska}}, langgerman = {{\th\'yska}{\th\'yska}}, langgreek = {{gr\'{\i}ska}{gr\'{\i}ska}}, + langhungarian = {{ungverska}{ungverska}}, langitalian = {{\'{\i}talska}{\'{\i}talska}}, langlatin = {{lat\'{\i}na}{lat\'{\i}na}}, % langlatvian = {{}{}},% FIXME: missing @@ -433,6 +434,7 @@ fromgalician = {{\'ur galis\'isku}{\'ur galis\'isku}}, fromgerman = {{\'ur \th\'ysku}{\'ur \th\'ysku}}, fromgreek = {{\'ur gr\'{\i}sku}{\'ur gr\'{\i}sku}}, + fromhungarian = {{\'ur ungversku}{\'ur ungversku}}, fromitalian = {{\'ur \'{\i}t\"olsku}{\'ur \'{\i}t\"olsku}}, fromlatin = {{\'ur lat\'{\i}nu}{\'ur lat\'{\i}nu}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx index 763ec856acf..07339b26537 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx @@ -58,7 +58,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -390,6 +390,7 @@ langgalician = {{galiziano}{galiziano}}, langgerman = {{tedesco}{tedesco}}, langgreek = {{greco}{greco}}, + langhungarian = {{ungherese}{ungherese}}, langitalian = {{italiano}{italiano}}, langlatin = {{latino}{latino}}, % langlatvian = {{}{}},% FIXME: missing @@ -416,6 +417,7 @@ fromgalician = {{dal galiziano}{dal galiziano}}, fromgerman = {{dal tedesco}{dal tedesco}}, fromgreek = {{dal greco}{dal greco}}, + fromhungarian = {{dall'ungherese}{dall'ungherese}}, fromitalian = {{dall'italiano}{dall'italiano}}, fromlatin = {{dal latino}{dal latino}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx index d24cbce2627..7a86097a8d6 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx @@ -53,7 +53,7 @@ \iffieldundef{#2} {} {\iftoggle{lbx@lv@datewhen} - {\lbx@ru@mkbibdatemonthwhen{\thefield{#2}}} + {\lbx@lv@mkbibdatemonthwhen{\thefield{#2}}} {\mkbibmonth{\thefield{#2}}}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} @@ -84,7 +84,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -518,6 +518,7 @@ langgalician = {{galsie\v{s}u}{galsie\v{s}u}}, langgerman = {{v\={a}cu}{v\={a}cu}}, langgreek = {{grie\c{k}u}{grie\c{k}u}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{it\={a}\c{l}u}{it\={a}\c{l}u}}, langjapanese = {{jap\={a}\c{n}u}{jap\={a}\c{n}u}}, langlatin = {{lat\={\i}\c{n}u}{lat\={\i}\c{n}u}}, @@ -546,6 +547,7 @@ fromgalician = {{no galsie\v{s}u}{no galsie\v{s}u}}, fromgerman = {{no v\={a}cu}{no v\={a}cu}}, fromgreek = {{no grie\c{k}u}{no grie\c{k}u}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{no it\={a}\c{l}u}{no it\={a}\c{l}u}}, fromjapanese = {{no jap\={a}\c{n}u}{no jap\={a}\c{n}u}}, fromlatin = {{no lat\={\i}\c{n}u}{no lat\={\i}\c{n}u}}, @@ -600,7 +602,7 @@ locdateyear = {{gad\={a}}{g\adddot}}, } -\protected\gdef\lbx@ru@mkbibdatemonthwhen#1{% +\protected\gdef\lbx@lv@mkbibdatemonthwhen#1{% \ifcase0#1\relax #1\BibliographyWarning{Month out of range}% \or\abx@bibmonth{locjanuary}% @@ -623,11 +625,11 @@ \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{#2year}{}{#2day}} {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} @@ -642,10 +644,10 @@ {\bibdaterangesep \enddatecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2endseason}} {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% \enddateuncertainprint @@ -656,11 +658,11 @@ \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} - {} + {\blx@nounit} {\printtext[#2date]{% \datecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{#2year}{}{#2day}} {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} @@ -676,10 +678,10 @@ {\bibdaterangesep \enddatecircaprint \iffieldundef{#2season} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}} {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} - {\iffieldsequal{#2year}{#2endyear} + {\ifdateyearsequal{#2}{#2end} {\csuse{mkbibseasondate#1}{}{#2endseason}} {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% \printfield{extradate}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx new file mode 100644 index 00000000000..c4d102ce63f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx @@ -0,0 +1,721 @@ +\ProvidesFile{magyar.lbx} +[\abx@lbxid] + +\ifundef{\lbx@hu@loadinfo} + {\blx@warning@noline{% + Hungarian localisation module for biblatex loaded.\MessageBreak + This module changes more definitions than usual.\MessageBreak + Please refer to the documentation for hints and\MessageBreak + check the output, especially with non-standard\MessageBreak + styles or customisations to field formats.\MessageBreak + This warning can be disabled with\MessageBreak + '\string\BiblatexHungarianWarningOff'}% + \global\let\lbx@hu@loadinfo\@empty} + {} + +\DeclareRedundantLanguages{magyar}{magyar,hungarian} + +\DeclareBibliographyExtras{% + \DeclareCapitalPunctuation{.!?}% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \savecommand\bibdaterangesep + \protected\def\bibdaterangesep{\space\textendash\space}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \let\lbx@hu@dayrange\@secondoftwo + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \iffieldundef{#2}{\thefield{#1}} + {\mkbibordinal{\thefield{#1}}}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#3}{}{\nobreakspace}}% + \iffieldundef{#3} + {} + {\lbx@hu@dayrange{\thefield{#3}}{\mkbibordinal{\thefield{#3}}}}% + }% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \iffieldundef{#2}{\thefield{#1}} + {\mkbibordinal{\thefield{#1}}}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}\adddot + \iffieldundef{#3}{}{\nobreakspace}}% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}\lbx@hu@dayrange{}{\adddot}}% + }% + \let\mkbibseasondatelong\mkbibseasondateshort + \savecommand\mkdaterangecomp + \savecommand\mkdaterangecompextra + \savecommand\mkdaterangeterse + \savecommand\mkdaterangeterseextra + \protected\def\mkdaterangecomp{% + \lbx@hu@mkdaterangetrunc{long}}% + \protected\def\mkdaterangeterse{% + \lbx@hu@mkdaterangetrunc{short}}% + \protected\def\mkdaterangecompextra{% + \lbx@hu@mkdaterangetruncextra{long}}% + \protected\def\mkdaterangeterseextra{% + \lbx@hu@mkdaterangetruncextra{short}}% +\expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1}{} + {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}% + \iffieldundef{#2}{} + {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}% + \iffieldundef{#3}{} + {\printtext{\mktimezeros{\thefield{#3}}}}% + \setunit{}% + \iffieldundef{#4}{} + {\bibtimezonesep + \mkbibtimezone{\thefield{#4}}}}% + \csletcs{mkbibtime12h}{mkbibtime24h}% + \protected\def\mkbibseasondateshort#1#2{% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}% + \iffieldundef{#1}{}{\adddot\space} + \mkbibseason{\thefield{#2}}% + }% + \let\mkbibseasondatelong\mkbibseasondateshort + \savecommand\lbx@lfromlang + \savecommand\lbx@sfromlang + \def\lbx@lfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[lfromoriglanguage]{origlanguage}\space}}% + \def\lbx@sfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[sfromoriglanguage]{origlanguage}\space}}% + % Page numbers and ranges + % convenient shorthand for page range normalisation + \protected\def\lbx@hu@mkdottednormrange{\mknormrange*[\mkbibordinal]}% + % this redefines \mkpageprefix to put the page number as suffix + \savecommand\blx@mkpageprefix + \protected\long\def\blx@mkpageprefix#1[#2]#3{% + \blx@mkpageprefix@i[#2]{#3}% + \ifnumeral{#3} + {\ppspace\bibstring{#1}} + {\ifnumerals{#3} + {\ppspace\bibstring{#1s}} + {\def\pno{\bibstring{#1}}% + \def\ppno{\bibstring{#1s}}}}}% + % NOTE: a few field formats are redefined here, this overrides corresponding + % style and preamble definitions. + % If you want to overwrite the changes made here, use + % \DefineBibliographyExtras{magyar}{...} + % Do not forget to make these changes undone with + % \UndefineBibliographyExtras{magyar}{...} + % to avoid them spilling out later. + \savefieldformat{pages}% + \DeclareFieldFormat{pages}{% + \mkpageprefix[bookpagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{postnote}% + \DeclareFieldFormat{postnote}{% + \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{volcitepages}% + \DeclareFieldFormat{volcitepages}{% + \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{multipostnote}% + \DeclareFieldFormat{multipostnote}{% + \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{chapter}% + \DeclareFieldFormat{chapter}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \addnbspace + \bibstring{chapter}}% + \savefieldformat{volume}% + \DeclareFieldFormat{volume}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \addnbspace + \bibstring{volume}}% + \savefieldformat{part}% + \DeclareFieldFormat{part}{% + \addcomma\space% <- this is *really* bad, don't try this at home + % In general leading or trailing punctuation in field formats should be + % avoided and should instead be dealt with in the appropriate bibmacros. + % The part field is special because its standard definition is '.#1'. + % Additionally, \printfield{part} is called all over the place, so we + % can't simply redefine a macro here. + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% + \addnbspace + \bibstring{part}}% + \savefieldformat{version}% + \DeclareFieldFormat{version}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \addnbspace + \bibstring{version}}% +} + + +\UndeclareBibliographyExtras{% + \restorecommand\bibdaterangesep + \restorecommand\mkdaterangecomp + \restorecommand\mkdaterangecompextra + \restorecommand\mkdaterangeterse + \restorecommand\mkdaterangeterseextra + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang + \restorecommand\mknormrange + \restorecommand\blx@mkpageprefix + \restorefieldformat{pages}% + \restorefieldformat{postnote}% + \restorefieldformat{volcitepages}% + \restorefieldformat{multipostnote}% + \restorefieldformat{chapter}% + \restorefieldformat{volume}% + \restorefieldformat{part}% + \restorefieldformat{version}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Irodalomjegyz\'ek}{Irodalom}}, + references = {{Hivatkoz\'asok}{Hivatkoz\'asok}}, + shorthands = {{R\"ovid\'it\'esek jegyz\'eke}{R\"ovid\'it\'esek}}, + editor = {{szerkeszt\H{o}}{szerk\adddot}}, + editors = {{szerkeszt\H{o}k}{szerk\adddot}}, + compiler = {{\"ossze\'all\'it\'o}{\"ossze\'all\adddot}}, + compilers = {{\"ossze\'all\'it\'ok}{\"ossze\'all\adddot}}, + redactor = {{sajt\'o al\'a rendez\H{o}}{kiad\adddot}}, + redactors = {{sajt\'o al\'a rendez\H{o}k}{kiad\adddot}}, + reviser = {{korrektor}{korr\adddot}}, + revisers = {{korrektorok}{korr\adddot}}, + founder = {{alap\'it\'o}{alap\adddot}}, + founders = {{alap\'it\'ok}{alap\adddot}}, + %continuator = {{}{}},% FIXME missing + %continuators = {{}{}},% FIXME missing + collaborator = {{k\"ozrem\H{u}k\"od\H{o}}{km\adddot}}, + collaborators = {{k\"ozrem\H{u}k\"od\H{o}k}{km\adddot}}, + translator = {{ford\'it\'o}{ford\adddot}}, + translators = {{ford\'it\'ok}{ford\adddot}}, + commentator = {{komment\'ator}{komm\adddot}}, + commentators = {{komment\'atorok}{komm\adddot}}, + annotator = {{jegyzetek \'ir\'oja}{jegyz\adddot}}, + annotators = {{jegyzetek \'ir\'oi}{jegyz\adddot}}, + commentary = {{komment\'ar}{komm\adddot}}, + annotations = {{jegyzetek}{jegyz\adddot}}, + introduction = {{bevezet\'es}{bev\adddot}}, + foreword = {{el\H{o}sz\'o}{el\H{o}sz\'o}}, + afterword = {{ut\'osz\'o}{ut\'osz\'o}}, + editortr = {{szerkeszt\H{o} \'es ford\'it\'o}% + {szerk\adddotspace \'es ford\adddot}}, + editorstr = {{szerkeszt\H{o}k \'es ford\'it\'ok}% + {szerk\adddotspace \'es ford\adddot}},, + editorco = {{szerkeszt\H{o} \'es komment\'ar}% + {szerk\adddotspace \'es komm\adddot}}, + editorsco = {{szerkeszt\H{o} \'es komment\'ar}% + {szerk\adddotspace \'es komm\adddot}}, + editoran = {{szerkeszt\H{o} \'es jegyzet}% + {szerk\adddotspace \'es jegyz\adddot}}, + editorsan = {{szerkeszt\H{o} \'es jegyzet}% + {szerk\adddotspace \'es jegyz\adddot}}, + editorin = {{szerkeszt\H{o} \'es bevezet\H{o}}% + {szerk\adddotspace \'es bev\adddot}}, + editorsin = {{szerkeszt\H{o}k \'es bevezet\H{o}}% + {szerk\adddotspace \'es bev\adddot}}, + editorfo = {{szerkeszt\H{o} \'es el\H{o}sz\'o}% + {szerk\adddotspace \'es el\H{o}sz\'o}}, + editorsfo = {{szerkeszt\H{o}k \'es el\H{o}sz\'o}% + {szerk\adddotspace \'es el\H{o}sz\'o}}, + editoraf = {{szerkeszt\H{o} \'es ut\'osz\'o} + {szerk\adddotspace \'es ut\'osz\'o}}, + editorsaf = {{szerkeszt\H{o}k \'es ut\'osz\'o}% + {szerk\adddotspace \'es ut\'osz\'o}}, + editortrco = {{szerkeszt\H{o}, ford\'it\'o \'es komment\'ar}% + {szerk\adddot, ford\adddotspace \'es komm\adddot}}, + editorstrco = {{szerkeszt\H{o}, ford\'it\'o \'es komment\'ar}% + {szerk\adddot, ford\adddotspace \'es komm\adddot}}, + editortran = {{szerkeszt\H{o}, ford\'it\'o \'es jegyzet}% + {szerk\adddot, ford\adddotspace \'es jegyz\adddot}}, + editorstran = {{szerkeszt\H{o}, ford\'it\'o \'es jegyzet}% + {szerk\adddot, ford\adddotspace \'es jegyz\adddot}}, + editortrin = {{szerkeszt\H{o}, ford\'it\'o \'es bevezet\H{o}}% + {szerk\adddot, ford\adddotspace \'es bev\adddot}}, + editorstrin = {{szerkeszt\H{o}, ford\'it\'o \'es bevezet\H{o}}% + {szerk\adddot, ford\adddotspace \'es bev\adddot}}, + editortrfo = {{szerkeszt\H{o}, ford\'it\'o \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddotspace \'es el\H{o}sz\'o}}, + editorstrfo = {{szerkeszt\H{o}, ford\'it\'o \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddotspace \'es el\H{o}sz\'o}}, + editortraf = {{szerkeszt\H{o}, ford\'it\'o \'es ut\'osz\'o}% + {szerk\adddot, ford\adddotspace \'es ut\'osz\'o}}, + editorstraf = {{szerkeszt\H{o}, ford\'it\'o \'es ut\'osz\'o}% + {szerk\adddot, ford\adddotspace \'es ut\'osz\'o}}, + editorcoin = {{szerkeszt\H{o}, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, komm\adddotspace \'es bev\adddot}}, + editorscoin = {{szerkeszt\H{o}, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, komm\adddotspace \'es bev\adddot}}, + editorcofo = {{szerkeszt\H{o}, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editorscofo = {{szerkeszt\H{o}, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editorcoaf = {{szerkeszt\H{o}, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editorscoaf = {{szerkeszt\H{o}, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editoranin = {{szerkeszt\H{o}, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, jegyz\adddotspace \'es bev\adddot}}, + editorsanin = {{szerkeszt\H{o}, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, jegyz\adddotspace \'es bev\adddot}}, + editoranfo = {{szerkeszt\H{o}, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editorsanfo = {{szerkeszt\H{o}, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editoranaf = {{szerkeszt\H{o}, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + editorsanaf = {{szerkeszt\H{o}, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + editortrcoin = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es bev\adddot}}, + editorstrcoin = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es bev\adddot}}, + editortrcofo = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editorstrcofo = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editortrcoaf = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editorstrcoaf = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editortranin = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + editorstranin = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + editortranfo = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editorstranfo = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editortranaf = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + editorstranaf = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + translatorco = {{ford\'it\'o \'es komment\'ar}% + {ford\adddotspace \'es komm\adddot}}, + translatorsco = {{ford\'it\'o \'es komment\'ar}% + {ford\adddotspace \'es komm\adddot}}, + translatoran = {{ford\'it\'o \'es jegyzetek}% + {ford\adddotspace \'es jegyz\adddot}}, + translatorsan = {{ford\'it\'o \'es jegyzetek}% + {ford\adddotspace \'es jegyz\adddot}}, + translatorin = {{ford\'it\'o \'es bevezet\H{o}}% + {ford\adddotspace \'es bev\adddot}}, + translatorsin = {{ford\'it\'o \'es bevezet\H{o}}% + {ford\adddotspace \'es bev\adddot}}, + translatorfo = {{ford\'it\'o \'es el\H{o}sz\'o}% + {ford\adddotspace \'es el\H{o}sz\'o}}, + translatorsfo = {{ford\'it\'o \'es el\H{o}sz\'o}% + {ford\adddotspace \'es el\H{o}sz\'o}}, + translatoraf = {{ford\'it\'o \'es ut\'osz\'o}% + {ford\adddotspace \'es ut\'osz\'o}}, + translatorsaf = {{ford\'it\'o \'es ut\'osz\'o}% + {ford\adddotspace \'es ut\'osz\'o}}, + translatorcoin = {{ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {ford\adddot, komm\adddotspace \'es bev\adddot}}, + translatorscoin = {{ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {ford\adddot, komm\adddotspace \'es bev\adddot}}, + translatorcofo = {{ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + translatorscofo = {{ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + translatorcoaf = {{ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + translatorscoaf = {{ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + translatoranin = {{ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + translatorsanin = {{ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + translatoranfo = {{ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + translatorsanfo = {{ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + translatoranaf = {{ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + translatorsanaf = {{ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + organizer = {{szervez\H{o}}{szerv\adddot}}, + organizers = {{szervez\H{o}k}{szerv\adddot}}, + byorganizer = {{szervezte}{szerv\adddot}}, + byauthor = {{\'irta}{\'irta}}, + byeditor = {{szerkesztette}{szerk\adddot}}, + bycompiler = {{\"ossze\'all\'itotta}{\"ossze\'all\adddot}}, + byredactor = {{sajt\'o al\'a rendezte}{kiad\adddot}}, + byreviser = {{jav\'itotta}{jav\adddot}}, + byreviewer = {{b\'ir\'alta}{b\'ir\adddot}}, + byfounder = {{alap\'itotta}{alap\adddot}}, +% bycontinuator = {{}{}},% FIXME missing + bycollaborator = {{k\"ozrem\H{u}k\"od\"ott}{km\adddot}}, + bytranslator = {{\lbx@lfromlang ford\'itotta}{\lbx@sfromlang ford\adddot}}, + bycommentator = {{komment\'alta}{komm\adddot}}, + byannotator = {{jegyzetekkel ell\'atta}{jegyz\adddot}}, + withcommentator = {{komment\'arral ell\'atta}{komm\adddot}}, + withannotator = {{jegyzetekkel ell\'atta}{jegyz\adddot}}, + withintroduction = {{bevezet\H{o}vel ell\'atta}{bev\adddot}}, + withforeword = {{el\H{o}sz\'oval ell\'atta}{el\H{o}sz\'o:}}, + withafterword = {{ut\'osz\'oval ell\'atta}{ut\'osz\'o:}}, + byeditortr = {{szerkesztette \'es \lbx@lfromlang ford\'itotta}% + {szerk\adddotspace \'es \lbx@sfromlang ford\adddot}}, + byeditorco = {{szerkesztette \'es komment\'alta}% + {szerk\adddotspace \'es komm\adddot}}, + byeditoran = {{szerkesztette \'es jegyzetekkel ell\'atta}% + {szerk\adddotspace \'es jegyz\adddot}}, + byeditorin = {{szerkesztette \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddotspace \'es jegyz\adddot}}, + byeditorfo = {{szerkesztette \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddotspace \'es el\H{o}sz\'o}}, + byeditoraf = {{szerkesztette \'es ut\'osz\'oval ell\'atta}% + {szerk\adddotspace \'es ut\'osz\'o}}, + byeditortrco = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es komment\'alta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es komm\adddot}}, + byeditortran = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es jegyzetekkel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es jegyz\adddot}}, + byeditortrin = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es bev\adddot}}, + byeditortrfo = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es el\H{o}sz\'o}}, + byeditortraf = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es ut\'osz\'o}}, + byeditorcoin = {{szerkesztette, komment\'alta \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, komm\adddotspace \'es bev\adddot}}, + byeditorcofo = {{szerkesztette, komment\'alta \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + byeditorcoaf = {{szerkesztette, komment\'alta \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, komm\adddotspace \'es ut\'osz\'o}}, + byeditoranin = {{szerkesztette, jegyzetekkel \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, jegyz\adddotspace \'es bev\adddot}}, + byeditoranfo = {{szerkesztette, jegyzetekkel \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + byeditoranaf = {{szerkesztette, jegyzetekkel \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + byeditortrcoin = {{szerkesztette, \lbx@lfromlang ford\'itotta, komment\'alta \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, komm\adddotspace \'es bev\adddot}}, + byeditortrcofo = {{szerkesztette, \lbx@lfromlang ford\'itotta, komment\'alta \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + byeditortrcoaf = {{szerkesztette, \lbx@lfromlang ford\'itotta, komment\'alta \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + byeditortranin = {{szerkesztette, \lbx@lfromlang ford\'itotta, jegyzetekkel \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + byeditortranfo = {{szerkesztette, \lbx@lfromlang ford\'itotta, jegyzetekkel \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + byeditortranaf = {{szerkesztette, \lbx@lfromlang ford\'itotta, jegyzetekkel \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + bytranslatorco = {{\lbx@lfromlang ford\'itotta \'es komment\'alta}% + {\lbx@sfromlang ford\adddotspace \'es komm\adddot}}, + bytranslatoran = {{\lbx@lfromlang ford\'itotta \'es jegyzetekkel ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es jegyz\adddot}}, + bytranslatorin = {{\lbx@lfromlang ford\'itotta \'es bevezet\H{o}vel ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es bev\adddot}}, + bytranslatorfo = {{\lbx@lfromlang ford\'itotta \'es el\H{o}sz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es el\H{o}sz\'o}}, + bytranslatoraf = {{\lbx@lfromlang ford\'itotta \'es ut\'osz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es ut\'osz\'o}}, + bytranslatorcoin = {{\lbx@lfromlang ford\'itotta, komment\'alta \'es bevezet\H{o}vel ell\'atta}% + {\lbx@sfromlang ford\adddot, komm\adddotspace \'es bev\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang ford\'itotta, komment\'alta \'es el\H{o}sz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + bytranslatorcoaf = {{\lbx@lfromlang ford\'itotta, komment\'alta \'es ut\'osz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + bytranslatoranin = {{\lbx@lfromlang ford\'itotta, jegyzetekkel \'es bevezet\H{o}vel ell\'atta}% + {\lbx@sfromlang ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang ford\'itotta, jegyzetekkel \'es el\H{o}sz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + bytranslatoranaf = {{\lbx@lfromlang ford\'itotta, jegyzetekkel \'es ut\'osz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + and = {{\'es}{\'es}}, + andothers = {{\'es m\'asok}{\'es tsai\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{k\"otet}{k\"ot\adddot}}, + volumes = {{k\"otetek}{k\"ot\adddot}}, + involumes = {{}{}}, + jourvol = {{\'evfolyam}{\'evf\adddot}}, + jourser = {{sorozat}{sor\adddot}}, + book = {{k\"onyv}{k\"onyv}}, + part = {{r\'esz}{r\'esz}}, + issue = {{sz\'am}{sz\adddot}}, + newseries = {{\'uj sorozat}{\'uj sor\adddot}}, + oldseries = {{r\'egi sorozat}{r\'egi sor\adddot}}, + edition = {{kiad\'as}{kiad\adddot}}, + reprint = {{ut\'annyom\'as}{ut\'anny\adddot}}, + reprintof = {{ut\'annyom\'asa}{ut\'anny\adddot}},% FIXME swap word order + reprintas = {{ut\'annyom\'as c\'ime}{ut\'anny\adddotspace c\'ime}}, +% reprintfrom = {{}{}},% FIXME need example + translationof = {{ford\'it\'asa}{ford\adddot}},% FIXME swap word order + translationas = {{ford\'it\'as c\'ime}{ford\adddotspace c\'ime}}, +% translationfrom = {{}{}},% FIXME need example + reviewof = {{recenzi\'oja}{rec\adddot}},% FIXME swap word order + origpubas = {{eredeti c\'ime}{ered\adddotspace c\'im}}, + origpubin = {{eredeti kiad\'as}{ered\adddotspace kiad\adddotspace}}, +% astitle = {{}{}},% FIXME need example +% bypublisher = {{\addcomma}{\addcomma}},% FIXME: this is a cludge that can not be guaranteed to work in most situations, so it stays commented out + nodate = {{\'ev n\'elk\"ul}{\'e\adddotspace n\adddot}}, + page = {{oldal}{old\adddot}}, + pages = {{oldal}{old\adddot}}, + column = {{has\'ab}{has\adddot}}, + columns = {{has\'ab}{has\adddot}}, + line = {{sor}{sor}}, + lines = {{sor}{sor}}, + verse = {{versszak}{vsz\adddot}}, + verses = {{versszak}{vsz\adddot}}, + section = {{paragrafus}{\S}}, + sections = {{paragrafus}{\S\S}}, + paragraph = {{bekezd\'es}{bek\adddot}}, + paragraphs = {{bekezd\'es}{bek\adddot}}, + pagetotal = {{oldal}{old\adddot}}, + pagetotals = {{oldal}{old\adddot}}, + columntotal = {{has\'ab}{has\adddot}}, + columntotals = {{has\'ab}{has\adddot}}, + linetotal = {{sor}{sor}}, + linetotals = {{sor}{sor}}, + versetotal = {{versszak}{vsz\adddot}}, + versetotals = {{versszak}{vsz\adddot}}, + sectiontotal = {{paragrafus}{\S}}, + sectiontotals = {{paragrafus}{\S}}, + paragraphtotal = {{bekezd\'es}{bek\adddot}}, + paragraphtotals = {{bekezd\'es}{bek\adddot}}, + in = {{}{}}, +% inseries = {{}{}},% FIXME need example +% ofseries = {{}{}},% FIXME need example + number = {{sz\'am}{sz\adddot}}, + chapter = {{fejezet}{fej\adddot}}, + bathesis = {{szakdolgozat}{szakd\adddot}}, + mathesis = {{diplomaterv}{dipl\adddot}}, + phdthesis = {{disszert\'aci\'o}{dissz\adddot}}, + candthesis = {{disszert\'aci\'o}{dissz\adddot}}, + resreport = {{kutat\'asi jelent\'es}{kut\adddotspace jel\adddot}}, + techreport = {{technikai jelent\'es}{techn\adddotspace jel\adddot}}, + software = {{szoftver}{szoftver}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{CD}}, + version = {{verzi\'o}{verzi\'o}}, + url = {{c\'im}{c\'im}}, + urlfrom = {{el\'erhet\H{o}}{el\'erh\adddot}}, + urlseen = {{el\'er\'es d\'atuma}{el\'er\'es d\'atuma}}, + inpreparation = {{el\H{o}k\'esz\'it\'es alatt}{el\H{o}k\adddotspace alatt}}, + submitted = {{bek\"uld\"ott}{bek\"uld\"ott}}, + forthcoming = {{elfogadott}{elfogadott}}, + inpress = {{nyomd\'aban}{nyomd\adddot}}, + prepublished = {{preprint}{preprint}}, + citedas = {{tov\'abbiakban}{tov\'abbiakban}}, + thiscite = {{itt}{itt}}, + seenote = {{l\'asd}{ld\adddot}}, + quotedin = {{id\'ezte}{id\'ezte}}, + idem = {{ugyan\H{o}}{u\H{o}}}, + idemsf = {{ugyan\H{o}}{u\H{o}}}, + idemsm = {{ugyan\H{o}}{u\H{o}}}, + idemsn = {{ugyan\H{o}}{u\H{o}}}, + idempf = {{ugyan\H{o}k}{u\H{o}k}}, + idempm = {{ugyan\H{o}k}{u\H{o}k}}, + idempn = {{ugyan\H{o}k}{u\H{o}k}}, + idempp = {{ugyan\H{o}k}{u\H{o}k}}, + ibidem = {{ugyanitt}{uitt}}, + opcit = {{id\'ezett m\H{u}}{i\adddotspace m\adddot}}, + loccit = {{id\'ezett hely}{i\adddotspace h\adddot}}, + confer = {{v\"o\adddot}{v\"o\adddot}}, + sequens = {{sk\adddot}{sk\adddot}}, + sequentes = {{skk\adddot}{skk\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{l\'asd}{ld\adddot}}, + seealso = {{l\'asd m\'eg}{ld\adddotspace m\'eg}}, + backrefpage = {{hivatkoz\'asi oldal}{hiv\adddotspace old\adddot}}, + backrefpages = {{hivatkoz\'asi oldalak}{hiv\adddotspace old\adddot}}, + january = {{janu\'ar}{jan\adddot}}, + february = {{febru\'ar}{febr\adddot}}, + march = {{m\'arcius}{m\'arc\adddot}}, + april = {{\'aprilis}{\'apr\adddot}}, + may = {{m\'ajus}{m\'aj\adddot}}, + june = {{j\'unius}{j\'un\adddot}}, + july = {{j\'ulius}{j\'ul\adddot}}, + august = {{augusztus}{aug\adddot}}, + september = {{szeptember}{szept\adddot}}, + october = {{okt\'ober}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{december}{dec\adddot}}, + langamerican = {{angol}{angol}}, + langbrazilian = {{brazil}{brazil}}, + langbulgarian = {{bolg\'ar}{bolg\'ar}}, + langcatalan = {{katal\'an}{katal\'an}}, + langcroatian = {{horv\'at}{horv\'at}}, + langczech = {{cseh}{cseh}}, + langdanish = {{d\'an}{d\'an}}, + langdutch = {{holland}{holland}}, + langenglish = {{angol}{angol}}, + langestonian = {{\'eszt}{\'eszt}}, + langfinnish = {{finn}{finn}}, + langfrench = {{francia}{francia}}, + langgalician = {{gal\'iciai}{gal\'iciai}}, + langgerman = {{n\'emet}{n\'emet}}, + langgreek = {{g\"or\"og}{g\"or\"og}}, + langhungarian = {{magyar}{magyar}}, + langitalian = {{olasz}{olasz}}, + langjapanese = {{jap\'an}{jap\'an}}, + langlatin = {{latin}{latin}}, + langlatvian = {{lett}{lett}}, + langnorwegian = {{norv\'eg}{norv\'eg}}, + langpolish = {{lengyel}{lengyel}}, + langportuguese = {{portug\'al}{portug\'al}}, + langrussian = {{orosz}{orosz}}, + langslovak = {{szlov\'ak}{szlov\'ak}}, + langslovene = {{szlov\'en}{szlov\'en}}, + langspanish = {{spanyol}{spanyol}}, + langswedish = {{sv\'ed}{sv\'ed}}, + langukrainian = {{ukr\'an}{ukr\'an}}, + fromamerican = {{angolb\'ol}{angolb\'ol}}, + frombrazilian = {{brazilb\'ol}{brazilb\'ol}}, + frombulgarian = {{brazilb\'ol}{brazilb\'ol}}, + fromcatalan = {{katal\'anb\'ol}{katal\'anb\'ol}}, + fromcroatian = {{horv\'atb\'ol}{horv\'atb\'ol}}, + fromczech = {{csehb\H{o}l}{csehb\H{o}l}}, + fromdanish = {{d\'anb\'ol}{d\'anb\'ol}}, + fromdutch = {{hollandb\'ol}{hollandb\'ol}}, + fromenglish = {{angolb\'ol}{angolb\'ol}}, + fromestonian = {{\'esztb\H{o}l}{\'esztb\H{o}l}}, + fromfinnish = {{finnb\H{o}l}{finnb\H{o}l}}, + fromfrench = {{franci\'ab\'ol}{franci\'ab\'ol}}, + fromgalician = {{gal\'iciaib\'ol}{gal\'iciaib\'ol}}, + fromgerman = {{n\'emetb\H{o}l}{n\'emetb\H{o}l}}, + fromgreek = {{g\"or\"ogb\H{o}l}{g\"or\"ogb\H{o}l}}, + fromhungarian = {{magyarb\'ol}{magyarb\'ol}}, + fromitalian = {{olaszb\'ol}{olaszb\'ol}}, + fromjapanese = {{jap\'anb\'ol}{jap\'anb\'ol}}, + fromlatin = {{latinb\'ol}{latinb\'ol}}, + fromlatvian = {{lettb\H{o}l}{lettb\H{o}l}}, + fromnorwegian = {{norv\'egb\'ol}{norv\'egb\'ol}}, + frompolish = {{lengyelb\H{o}l}{lengyelb\H{o}l}}, + fromportuguese = {{portug\'alb\'ol}{portug\'alb\'ol}}, + fromrussian = {{oroszb\'ol}{oroszb\'ol}}, + fromslovak = {{szlov\'akb\'ol}{szlov\'akb\'ol}}, + fromslovene = {{szlov\'enb\'ol}{szlov\'enb\'ol}}, + fromspanish = {{spanyolb\'ol}{spanyolb\'ol}}, + fromswedish = {{sv\'edb\H{o}l}{sv\'edb\H{o}l}}, + fromukrainian = {{ukr\'anb\'ol}{ukr\'anb\'ol}}, + countryde = {{N\'emetorsz\'ag}{DE}}, + countryep = {{Eur\'opai Uni\'o}{EP}}, + countryeu = {{Eur\'opai Uni\'o}{EU}}, + countryfr = {{Franciaorsz\'ag}{FR}}, + countryuk = {{Egyes\"ult Kir\'alys\'ag}{GB}}, + countryus = {{Amerikai Egyes\"ult \'Allamok}{US}}, + patent = {{szabadalom}{szabadalom}}, + patentde = {{n\'emet szabadalom}{n\'em\adddotspace szabadalom}}, + patenteu = {{eur\'opai szabadalom}{eur\adddotspace szabadalom}}, + patentfr = {{francia szabadalom}{fr\adddotspace szabadalom}}, + patentuk = {{brit szabadalom}{brit szabadalom}}, + patentus = {{amerikai szabadalom}{USA szabadalom}}, + patreq = {{szabadalmi k\'erelem}{szabad\adddotspace k\'erelem}}, + patreqde = {{n\'emet szabadalmi k\'erelem}{n\'em\adddotspace szabad\adddotspace k\'erelem}}, + patreqeu = {{eur\'opai szabadalmi k\'erelem}{eur\adddotspace szabad\adddotspace k\'erelem}}, + patreqfr = {{francia szabadalmi k\'erelem}{fr\adddotspace szabad\adddotspace k\'erelem}}, + patrequk = {{brit szabadalmi k\'erelem}{brit szabad\adddotspace k\'erelem}}, + patrequs = {{amerikai szabadalmi k\'erelem}{amerikai szabad\adddotspace k\'erelem}}, + file = {{f\'ajl}{f\'ajl}}, + library = {{k\"onyvt\'ar}{k\"onyvt\'ar}}, + abstract = {{kivonat}{kivonat}}, + annotation = {{jegyzet}{jegyzet}}, + commonera = {{id\H{o}sz\'am\'it\'asunk szerint}{i\adddotspace sz\adddot}}, + beforecommonera = {{id\H{o}sz\'am\'it\'asunk el\H{o}tt}{i\adddotspace e\adddot}}, + annodomini = {{Krisztus ut\'an}{Kr\adddotspace u\adddot}}, + beforechrist = {{Krisztus el\H{o}tt}{Kr\adddotspace e\adddot}}, + circa = {{k\"or\"ulbel\"ul}{kb\adddot}}, + spring = {{tavasz}{tavasz}}, + summer = {{ny\'ar}{ny\'ar}}, + autumn = {{\H{o}sz}{\H{o}sz}}, + winter = {{t\'el}{t\'el}}, + am = {{d\'elel\H{o}tt}{de\adddot}}, + pm = {{d\'elut\'an}{du\adddot}}, +} + +\protected\gdef\lbx@hu@dayrange@i#1{% + \ifboolexpr{not test {\iffieldundef{#1endyear}} + and test {\iffieldsequal{#1year}{#1endyear}} + and test {\iffieldsequal{#1month}{#1endmonth}} + and (test {\iffieldundef{#1hour}} + or not togl {blx@#1dateusetime})}} + +\protected\gdef\lbx@hu@mkdaterangetrunc#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \edef\lbx@hu@dayrange{\lbx@hu@dayrange@i{#2}}% + \iffieldundef{#2year} + {} + {\printtext[#2date]{% + \datecircaprint + \iffieldundef{#2season} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\lbx@hu@dayrange{\bibrangedash}{\bibdaterangesep}% + \let\lbx@hu@dayrange\@secondoftwo + \enddatecircaprint + \iffieldundef{#2season} + {\iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{}{}{#2endday}} + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + \blx@printtime{#2}{end}} + {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibseasondate#1}{}{#2endseason}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@hu@mkdaterangetruncextra#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \edef\lbx@hu@dayrange{\lbx@hu@dayrange@i{#2}}% + \iffieldundef{#2year} + {} + {\printtext[#2date]{% + \datecircaprint + \iffieldundef{#2season} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\lbx@hu@dayrange{\bibrangedash}{\bibdaterangesep}% + \let\lbx@hu@dayrange\@secondoftwo + \enddatecircaprint + \iffieldundef{#2season} + {\iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{}{}{#2endday}} + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + \blx@printtime{#2}{end}} + {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibseasondate#1}{}{#2endseason}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx index da7e0d6fa9f..c03ddca2daf 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx @@ -51,7 +51,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -446,6 +446,7 @@ langgalician = {{galisisk}{galisisk}}, langgerman = {{tysk}{tysk}}, langgreek = {{gresk}{gresk}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{italiensk}{italiensk}}, langjapanese = {{japansk}{japansk}}, langlatin = {{latin}{latin}}, @@ -474,6 +475,7 @@ fromgalician = {{fra galisisk}{fra galisisk}}, fromgerman = {{fra tysk}{fra tysk}}, fromgreek = {{fra gresk}{fra gresk}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{fra italiensk}{fra italiensk}}, fromjapanese = {{fra japansk}{fra japansk}}, fromlatin = {{fra latin}{fra latin}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx index a17c60552a7..39ebe59e36a 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx @@ -284,6 +284,7 @@ fromgalician = {{fr{\aa} galisisk}{fr{\aa} galisisk}}, fromgerman = {{fr{\aa} tysk}{fr{\aa} tysk}}, fromgreek = {{fr{\aa} gresk}{fr{\aa} gresk}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{fr{\aa} italiensk}{fr{\aa} italiensk}}, fromjapanese = {{fr{\aa} japansk}{fr{\aa} japansk}}, fromlatin = {{fr{\aa} latin}{fr{\aa} latin}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx index 41ec716dca2..7618a69ec5a 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx @@ -59,7 +59,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -473,6 +473,7 @@ langgalician = {{galicyjski}{galicyjski}}, langgerman = {{niemiecki}{niemiecki}}, langgreek = {{grecki}{grecki}}, + langhungarian = {{w\c{e}gierski}{w\c{e}gierski}}, langitalian = {{w\l oski}{w\l oski}}, langlatin = {{\l acina}{\l acina}}, % langlatvian = {{}{}},% FIXME: missing @@ -499,6 +500,7 @@ fromgalician = {{z galicyjzkiego}{z gal\adddot}}, fromgerman = {{z niemieckiego}{z niem\adddot}}, fromgreek = {{z greckiego}{z grec\adddot}}, + fromhungarian = {{z w\c{e}gierskiego}{z w\c{e}gierskiego}}, fromitalian = {{z w\l oskiego}{z w\l os\adddot}}, fromlatin = {{z \l aciny}{z \l at\adddot}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx index d4f6c2d6fc4..3526b7968fc 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx @@ -58,7 +58,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -458,6 +458,7 @@ langgalician = {{galego}{galego}}, langgerman = {{alem\~ao}{alem\~ao}}, langgreek = {{grego}{grego}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{italiano}{italiano}}, langjapanese = {{japon\^es}{japon\^es}}, langlatin = {{latim}{latim}}, @@ -485,6 +486,7 @@ fromgalician = {{do galego}{do galego}}, fromgerman = {{do alem\~ao}{do alem\~ao}}, fromgreek = {{do grego}{do grego}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{do italiano}{do italiano}}, fromjapanese = {{do japon\^es}{do japon\^es}}, fromlatin = {{do latim}{do latim}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx index 66e2a5460db..bc7817c5461 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx @@ -85,7 +85,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -502,6 +502,7 @@ langgalician = {{галисийский}{гал\adddot}}, langgerman = {{немецкий}{нем\adddot}}, langgreek = {{греческий}{греч\adddot}}, + langhungarian = {{венгерский}{венг\adddot}}, langitalian = {{итальянский}{итал\adddot}}, langjapanese = {{японский}{яп\adddot}}, langlatin = {{латинский}{лат\adddot}}, @@ -530,6 +531,7 @@ fromgalician = {{c галисийского}{c\addabbrvspace гал\adddot}}, fromgerman = {{с немецкого}{с\addabbrvspace нем\adddot}}, fromgreek = {{с греческого}{с\addabbrvspace греч\adddot}}, + fromhungarian = {{с венгерского}{с\addabbrvspace венг\adddot}}, fromitalian = {{с итальянского}{с\addabbrvspace итал\adddot}}, fromjapanese = {{с японского}{с\addabbrvspace яп\adddot}}, fromlatin = {{с латинского}{с\addabbrvspace лат\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx index 817716ac143..4548ff67df7 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx @@ -55,7 +55,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -588,6 +588,7 @@ {nem\adddot}}, langgreek = {{gr\'{e}\v{c}tina}% {gr\'{e}\v{c}tina}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{talian\v{c}ina}% {tal\adddot}}, langjapanese = {{japon\v{c}ina}% @@ -639,6 +640,7 @@ {z\addnbspace nem\adddot}}, fromgreek = {{z\addnbspace gr\'{e}\v{c}tiny}% {z\addnbspace gr\'{e}\v{c}tiny}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{z\addnbspace talian\v{c}iny}% {z\addnbspace tal\adddot}}, fromjapanese = {{z\addnbspace japon\v{c}iny}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx index 1a78591820f..225361ed45e 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx @@ -55,7 +55,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -455,6 +455,7 @@ langgalician = {{galicij\v{s}\v{c}ina}{gal\adddot}}, langgerman = {{nem\v{s}\v{c}ina}{nem\adddot}}, langgreek = {{gr\v{s}\v{c}ina}{gr\adddot}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{italijan\v{s}\v{c}ina}{it\adddot}}, langlatin = {{latin\v{s}\v{c}ina}{lat\adddot}}, % langlatvian = {{}{}},% FIXME: missing @@ -478,9 +479,10 @@ % fromestonian = {{}{}},% FIXME: missing fromfinnish = {{iz fin\v{s}\v{c}ine}{iz fin\adddot}}, fromfrench = {{iz franco\v{s}\v{c}ine}{iz fr\adddot}}, - fromgalician = {{iz galicij\v{s}\v{c}ine}{iz gal\adddot}} + fromgalician = {{iz galicij\v{s}\v{c}ine}{iz gal\adddot}}, fromgerman = {{iz nem\v{s}\v{c}ine}{iz nem\adddot}}, fromgreek = {{iz gr\v{s}\v{c}ine}{iz gr\adddot}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{iz italijan\v{s}\v{c}ine}{iz it\adddot}}, fromlatin = {{iz latin\v{s}\v{c}ine}{iz lat\adddot}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx index a01029ffc9e..3326fe55d20 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx @@ -68,7 +68,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -98,8 +98,8 @@ bibliography = {{Bibliograf\'{\i}a}{Bibliograf\'{\i}a}}, references = {{Referencias}{Referencias}}, shorthands = {{Lista de abreviaturas}{Abreviaturas}}, - editor = {{edic\'{\i}on}{ed\adddot}}, %% {edic'{\i}on} instead of {editor} or {editora} - editors = {{edic\'{\i}on}{eds\adddot}}, %% {edic'{\i}on} instead of {editores} or {editoras} + editor = {{edici\'on}{ed\adddot}}, %% {edic'{\i}on} instead of {editor} or {editora} + editors = {{edici\'on}{eds\adddot}}, %% {edic'{\i}on} instead of {editores} or {editoras} compiler = {{compilaci\'{o}n}{comp\adddot}}, %% {compilac\'{\i}on} instead of {compilador} or {compiladora} compilers = {{compilaci\'{o}n}{comps\adddot}}, %% {compilac\'{\i}on} instead of {compiladores} or {compiladoras} redactor = {{redacci\'{o}n}{red\adddot}}, %% {redacc\'{\i}on} instead of {redactor} or {redactora} @@ -120,11 +120,11 @@ annotators = {{anotaciones}{anots\adddot}}, %% {anotaciones} instead of {anotadores} or {anotadoras} commentary = {{comentario}{com\adddot}}, annotations = {{notas}{notas}}, - introduction = {{introduci\'on}{intr\adddot}}, + introduction = {{introducci\'on}{intr\adddot}}, foreword = {{pr\'ologo}{pr\'ol\adddot}}, - afterword = {{ep\'{\i}logo}{ep\'{\i}l\adddot}}, - editortr = {{edici\'{o}n y traducc'{\i}on \lbx@sfromlang}{ed\adddotspace y trad\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducc'{\i}on} instead of {editor y traductor} or {editora y traductora} - editorstr = {{edici\'{o}n y traducc'{\i}on \lbx@sfromlang}{eds\adddotspace y trads\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducc'{\i}on} instead of {editores y traductores} or {editoras y traductoras} + afterword = {{ep\'{i}logo}{ep\'{\i}l\adddot}}, + editortr = {{edici\'{o}n y traducci\'{o}n \lbx@sfromlang}{ed\adddotspace y trad\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducci\'{o}n} instead of {editor y traductor} or {editora y traductora} + editorstr = {{edici\'{o}n y traducci\'{o}n \lbx@sfromlang}{eds\adddotspace y trads\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducci\'{o}n} instead of {editores y traductores} or {editoras y traductoras} editorco = {{edici\'{o}n y comentario}{ed\adddotspace y com\adddot}}, %% {edici\'{o}n y comentario} instead of {editor y comentador} or {editora y comentadora} editorsco = {{edici\'{o}n y comentarios}{eds\adddotspace y coms\adddot}}, %% {edici\'{o}n y comentarios} instead of {editores y comentadores} or {editoras y comentadoras} editoran = {{edici\'{o}n y notas}{ed\adddotspace y anot\adddot}}, %% {edici\'{o}n y notas} instead of {editor y notas} or {editora y notas} @@ -133,152 +133,152 @@ editorsin = {{edici\'{o}n e introducci\'{o}n}{eds\adddotspace e intr\adddot}}, %% {edici\'{o}n e introducci\'{o}n} instead of {editores e introducci\'{o}n} or {editoras e introducci\'{o}n} editorfo = {{edici\'{o}n y pr\'{o}logo}{ed\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n y pr\'{o}logo} instead of {editor y pr\'{o}logo} or {editora y pr\'{o}logo} editorsfo = {{edici\'{o}n y pr\'{o}logo}{eds\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n y pr\'{o}logo} instead of {editores y pr\'{o}logo} or {editoras y pr\'{o}logo} - editoraf = {{edici\'{o}n y ep\'{\i}logo}{ed\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editor y ep\'{\i}l\ogo} or {editora y ep\'{\i}l\ogo} - editorsaf = {{edici\'{o}n y ep\'{\i}logo}{eds\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editores y ep\'{\i}l\ogo} or {editoras y ep\'{\i}l\ogo} - editortrco = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y comentario}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y com\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y comentarios} instead of {editor, traductor y comentarios} or {editora, traductora y comentarios} - editorstrco = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y comentarios}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y coms\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y comentarios} instead of {editores, traductores y comentarios} or {editoras, traductoras y comentarios} - editortran = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y anot\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y notas} instead of {editor, traductor y notas} or {editora, traductora y notas} - editorstran = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y anot\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y notas} instead of {editores, traductores y notas} or {editoras, traductoras y notas} - editortrin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang e intr\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {editor, traductor e introducci\'{o}n} or {editora, traductora e introducci\'{o}n} - editorstrin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang e intr\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {editores, traductores e introducci\'{o}n} or {editoras, traductoras e introducci\'{o}n} - editortrfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {editor, traductor y prologuista} or {editora, traductora y prologuista} - editorstrfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {editores, traductores y prologuista} or {editoras, traductoras y prologuistas} - editortraf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {editor, traductor y ep\'{\i}logo} or {editora, traductora y ep\'{\i}logo} - editorstraf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {editores, traductores y ep\'{\i}logo} or {editoras, traductoras y ep\'{\i}logo} - editorcoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{ed.,\addabbrvspace com\adddot e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editor, comentador e introducci\'{o}n} or {editora, comentadora e introducci\'{o}n} - editorscoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{eds.,\addabbrvspace coms\adddot e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editores, comentadores e introducci\'{o}n} or {editoras, comentadoras e introducci\'{o}n} - editorcofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{ed.,\addabbrvspace com\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editor, comentador y pr\'{o}logo} or {editora, comentadora y pr\'{o}logo} - editorscofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{eds.,\addabbrvspace coms\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editores, comentadores y pr\'{o}logo} or {editoras, comentadoras y pr\'{o}logo} - editorcoaf = {{edici\'{o}n, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace com\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{\i}logo} instead of {editor, comentador y ep\'{\i}logo} or {editora, comentadora y ep\'{\i}logo} - editorscoaf = {{edici\'{o}n, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace coms\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{\i}logo} instead of {editores, comentadores y ep\'{\i}logo} or {editoras, comentadoras y ep\'{\i}logo} - editoranin = {{edici\'{o}n, notas e introducci\'{o}n}{ed.,\addabbrvspace anot\adddot e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} - editorsanin = {{edici\'{o}n, notas e introducci\'{o}n}{eds.,\addabbrvspace anot\adddot e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} - editoranfo = {{edici\'{o}n, notas y pr\'{o}logo}{ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editor, notas y pr\'{o}logo} or {editora, notas y pr\'{o}logo} - editorsanfo = {{edici\'{o}n, notas y pr\'{o}logo}{eds.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editores, notas y pr\'{o}logo} or {editoras, notas y pr\'{o}logo} - editoranaf = {{edici\'{o}n, notas y ep\'{\i}logo}{ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{\i}logo} instead of {editor, notas y ep\'{\i}logo} or {editora, notas y ep\'{\i}logo} - editorsanaf = {{edici\'{o}n, notas y ep\'{\i}logo}{eds.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{\i}logo} instead of {editores, notas y ep\'{\i}logo} or {editoras, notas y ep\'{\i}logo} - editortrcoin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot e intr\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} - editorstrcoin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot e intr\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editores, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} or {editoras, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} - editortrcofo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} - editorstrcofo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editores, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} or {editoras, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} - editortrcoaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} - editorstrcoaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} - editortranin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, intr\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editor, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} or {{editora, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} - editorstranin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, intr\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editores, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} or {{editoras, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} - editortranfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {editor, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} or {editora, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} - editorstranfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {editores, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} or {editoras, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} - editortranaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {editor, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} or {editora, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} - editorstranaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {editores, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} or {editoras, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} - translatorco = {{traducc\'{\i}on \lbx@sfromlang y comentario}{trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y comentario} instead of {traductor y comentador} or {traductora y comentadora} - translatorsco = {{traducc\'{\i}on \lbx@sfromlang y comentario}{trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y comentario} instead of {traductores y comentadores} or {traductoras y comentadoras} - translatoran = {{traducc\'{\i}on \lbx@sfromlang y notas}{trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y notas} instead of {traductor y anotador} or {traductora y anotadora} - translatorsan = {{traducc\'{\i}on \lbx@sfromlang y notas}{trads\adddotspace \lbx@sfromlang\ y anots\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y notas} instead of {traductores y anotadores} or {traductoras y anotadoras} - translatorin = {{traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {traductor \lbx@sfromlang e introducci\'{o}n} {traductora \lbx@sfromlang e introducci\'{o}n} - translatorsin = {{traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {traductores \lbx@sfromlang e introducci\'{o}n} {traductoras \lbx@sfromlang e introducci\'{o}n} - translatorfo = {{traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {traductor \lbx@sfromlang y prologuista} or {traductora \lbx@sfromlang y prologuista} - translatorsfo = {{traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {traductores \lbx@sfromlang y prologuistas} or {traductoras \lbx@sfromlang y prologuistas} - translatoraf = {{traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {traductor \lbx@sfromlang y epiloguista} or {traductora \lbx@sfromlang y epiloguista} - translatorsaf = {{traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {traductores \lbx@sfromlang y epiloguistas} or {traductoras \lbx@sfromlang y epiloguistas} - translatorcoin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario}{trad\adddotspace \lbx@sfromlang, intr\adddotspace y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, introducci\'{o}n y comentario} or {traductora \lbx@sfromlang, introducci\'{o}n y comentario} - translatorscoin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios}{trads\adddotspace \lbx@sfromlang, intr\adddotspace y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, introducci\'{o}n y comentarios} or {traductoras \lbx@sfromlang, introducci\'{o}n y comentarios} - translatorcofo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y comentario}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, pr\'{o}logo y comentario} or {traductora \lbx@sfromlang, pr\'{o}logo y comentario} - translatorscofo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y comentarios}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, pr\'{o}logo y comentarios} or {traductoras \lbx@sfromlang, pr\'{o}logo y comentarios} - translatorcoaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y comentario}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductor \lbx@sfromlang, ep\'{\i}logo y comentario} or {traductora \lbx@sfromlang, ep\'{\i}logo y comentario} - translatorscoaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y comentarios}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, ep\'{\i}logo y comentarios} or {traductoras \lbx@sfromlang, ep\'{\i}logo y comentarios} - translatoranin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{trad\adddotspace \lbx@sfromlang, intr\adddotspace y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductor \lbx@sfromlang, introducci\'{o}n y notas} or {traductora \lbx@sfromlang, introducci\'{o}n y notas} - translatorsanin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{trads\adddotspace \lbx@sfromlang, intr\adddotspace y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductores \lbx@sfromlang, introducci\'{o}n y notas} or {traductoras \lbx@sfromlang, introducci\'{o}n y notas} - translatoranfo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductor \lbx@sfromlang, pr\'{o}logo y notas} or {traductora \lbx@sfromlang, pr\'{o}logo y notas} - translatorsanfo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductores \lbx@sfromlang, pr\'{o}logo y notas} or {traductoras \lbx@sfromlang, pr\'{o}logo y notas} - translatoranaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {traductor \lbx@sfromlang, ep\'{\i}logo y notas} or {traductora \lbx@sfromlang, ep\'{\i}logo y notas} - translatorsanaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {traductores \lbx@sfromlang, ep\'{\i}logo y notas} or {traductora \lbx@sfromlang, ep\'{\i}logo y notas} -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing + editoraf = {{edici\'{o}n y ep\'{i}logo}{ed\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editor y ep\'{\i}l\ogo} or {editora y ep\'{\i}l\ogo} + editorsaf = {{edici\'{o}n y ep\'{i}logo}{eds\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editores y ep\'{\i}l\ogo} or {editoras y ep\'{\i}l\ogo} + editortrco = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y comentario}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y comentarios} instead of {editor, traductor y comentarios} or {editora, traductora y comentarios} + editorstrco = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y comentarios}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y comentarios} instead of {editores, traductores y comentarios} or {editoras, traductoras y comentarios} + editortran = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y notas} instead of {editor, traductor y notas} or {editora, traductora y notas} + editorstran = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y notas} instead of {editores, traductores y notas} or {editoras, traductoras y notas} + editortrin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {editor, traductor e introducci\'{o}n} or {editora, traductora e introducci\'{o}n} + editorstrin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {editores, traductores e introducci\'{o}n} or {editoras, traductoras e introducci\'{o}n} + editortrfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {editor, traductor y prologuista} or {editora, traductora y prologuista} + editorstrfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {editores, traductores y prologuista} or {editoras, traductoras y prologuistas} + editortraf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {editor, traductor y ep\'{i}logo} or {editora, traductora y ep\'{i}logo} + editorstraf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {editores, traductores y ep\'{i}logo} or {editoras, traductoras y ep\'{i}logo} + editorcoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{ed.,\addabbrvspace com\adddotspace e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editor, comentador e introducci\'{o}n} or {editora, comentadora e introducci\'{o}n} + editorscoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{eds.,\addabbrvspace coms\adddotspace e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editores, comentadores e introducci\'{o}n} or {editoras, comentadoras e introducci\'{o}n} + editorcofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{ed.,\addabbrvspace com\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editor, comentador y pr\'{o}logo} or {editora, comentadora y pr\'{o}logo} + editorscofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{eds.,\addabbrvspace coms\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editores, comentadores y pr\'{o}logo} or {editoras, comentadoras y pr\'{o}logo} + editorcoaf = {{edici\'{o}n, comentarios y ep\'{i}logo}{eds.,\addabbrvspace com\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{i}logo} instead of {editor, comentador y ep\'{i}logo} or {editora, comentadora y ep\'{i}logo} + editorscoaf = {{edici\'{o}n, comentarios y ep\'{i}logo}{eds.,\addabbrvspace coms\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{i}logo} instead of {editores, comentadores y ep\'{i}logo} or {editoras, comentadoras y ep\'{i}logo} + editoranin = {{edici\'{o}n, notas e introducci\'{o}n}{ed.,\addabbrvspace anot\adddotspace e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} + editorsanin = {{edici\'{o}n, notas e introducci\'{o}n}{eds.,\addabbrvspace anot\adddotspace e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} + editoranfo = {{edici\'{o}n, notas y pr\'{o}logo}{ed.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editor, notas y pr\'{o}logo} or {editora, notas y pr\'{o}logo} + editorsanfo = {{edici\'{o}n, notas y pr\'{o}logo}{eds.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editores, notas y pr\'{o}logo} or {editoras, notas y pr\'{o}logo} + editoranaf = {{edici\'{o}n, notas y ep\'{i}logo}{ed.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{i}logo} instead of {editor, notas y ep\'{i}logo} or {editora, notas y ep\'{i}logo} + editorsanaf = {{edici\'{o}n, notas y ep\'{i}logo}{eds.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{i}logo} instead of {editores, notas y ep\'{i}logo} or {editoras, notas y ep\'{i}logo} + editortrcoin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace com\adddotspace e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} + editorstrcoin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace coms\adddotspace e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editores, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} or {editoras, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} + editortrcofo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace com\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} + editorstrcofo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace coms\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editores, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} or {editoras, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} + editortrcoaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace com\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} + editorstrcoaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace coms\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} + editortranin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace intr\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editor, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} or {{editora, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} + editorstranin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace intr\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editores, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} or {{editoras, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} + editortranfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace pr\'{o}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {editor, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} or {editora, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} + editorstranfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace pr\'{o}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {editores, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} or {editoras, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} + editortranaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace ep\'{\i}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {editor, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} or {editora, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} + editorstranaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace ep\'{\i}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {editores, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} or {editoras, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} + translatorco = {{traducci\'{o}n \lbx@sfromlang\ y comentario}{trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y comentario} instead of {traductor y comentador} or {traductora y comentadora} + translatorsco = {{traducci\'{o}n \lbx@sfromlang\ y comentario}{trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y comentario} instead of {traductores y comentadores} or {traductoras y comentadoras} + translatoran = {{traducci\'{o}n \lbx@sfromlang\ y notas}{trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y notas} instead of {traductor y anotador} or {traductora y anotadora} + translatorsan = {{traducci\'{o}n \lbx@sfromlang\ y notas}{trads\adddotspace \lbx@sfromlang\ y anots\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y notas} instead of {traductores y anotadores} or {traductoras y anotadoras} + translatorin = {{traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {traductor \lbx@sfromlang e introducci\'{o}n} {traductora \lbx@sfromlang e introducci\'{o}n} + translatorsin = {{traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {traductores \lbx@sfromlang e introducci\'{o}n} {traductoras \lbx@sfromlang e introducci\'{o}n} + translatorfo = {{traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {traductor \lbx@sfromlang y prologuista} or {traductora \lbx@sfromlang y prologuista} + translatorsfo = {{traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {traductores \lbx@sfromlang y prologuistas} or {traductoras \lbx@sfromlang y prologuistas} + translatoraf = {{traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {traductor \lbx@sfromlang y epiloguista} or {traductora \lbx@sfromlang y epiloguista} + translatorsaf = {{traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {traductores \lbx@sfromlang y epiloguistas} or {traductoras \lbx@sfromlang y epiloguistas} + translatorcoin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentario}{trad\adddotspace \lbx@sfromlang, intr\adddotspace y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, introducci\'{o}n y comentario} or {traductora \lbx@sfromlang, introducci\'{o}n y comentario} + translatorscoin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios}{trads\adddotspace \lbx@sfromlang, intr\adddotspace y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, introducci\'{o}n y comentarios} or {traductoras \lbx@sfromlang, introducci\'{o}n y comentarios} + translatorcofo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y comentario}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, pr\'{o}logo y comentario} or {traductora \lbx@sfromlang, pr\'{o}logo y comentario} + translatorscofo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y comentarios}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, pr\'{o}logo y comentarios} or {traductoras \lbx@sfromlang, pr\'{o}logo y comentarios} + translatorcoaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y comentario}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductor \lbx@sfromlang, ep\'{i}logo y comentario} or {traductora \lbx@sfromlang, ep\'{i}logo y comentario} + translatorscoaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y comentarios}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, ep\'{i}logo y comentarios} or {traductoras \lbx@sfromlang, ep\'{i}logo y comentarios} + translatoranin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{trad\adddotspace \lbx@sfromlang, intr\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductor \lbx@sfromlang, introducci\'{o}n y notas} or {traductora \lbx@sfromlang, introducci\'{o}n y notas} + translatorsanin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{trads\adddotspace \lbx@sfromlang, intr\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductores \lbx@sfromlang, introducci\'{o}n y notas} or {traductoras \lbx@sfromlang, introducci\'{o}n y notas} + translatoranfo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductor \lbx@sfromlang, pr\'{o}logo y notas} or {traductora \lbx@sfromlang, pr\'{o}logo y notas} + translatorsanfo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductores \lbx@sfromlang, pr\'{o}logo y notas} or {traductoras \lbx@sfromlang, pr\'{o}logo y notas} + translatoranaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {traductor \lbx@sfromlang, ep\'{i}logo y notas} or {traductora \lbx@sfromlang, ep\'{i}logo y notas} + translatorsanaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {traductores \lbx@sfromlang, ep\'{i}logo y notas} or {traductora \lbx@sfromlang, ep\'{i}logo y notas} + organizer = {{organizaci\'on}{org\adddot}}, %% {organizaci\'on} instead of {organizador} or {organizadora} + organizers = {{organizaci\'on}{orgs\adddot}}, %% {organizaci\'on} instead of {organizadores} or {organizadoras} + byorganizer = {{organizado por}{org\adddotspace por}}, byauthor = {{de}{de}}, byeditor = {{editado por}{ed\adddotspace por}}, bycompiler = {{compilado por}{comp\adddotspace por}}, byredactor = {{redacci\'on de}{red\adddotspace de}}, byreviser = {{revisado por}{rev\adddotspace por}},% FIXME: unsure - byreviewer = {{rese\~{nado por}}{res\adddotspace por}},% FIXME: unsure + byreviewer = {{rese\~{n}ado por}{res\adddotspace por}},% FIXME: unsure byfounder = {{fundado por}{fund\adddotspace por}}, bycontinuator = {{continuado por}{cont\adddotspace por}}, bycollaborator = {{colaboraci\'{o}n de}{col\adddotspace de}},% FIXME: unsure bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot \lbx@sfromlang\ por}}, - bycommentator = {{comentado por}{com\adddot por}}, - byannotator = {{anotado por}{anot\adddot por}}, - withcommentator = {{con comentario de}{con com\adddot de}}, + bycommentator = {{comentado por}{com\adddotspace por}}, + byannotator = {{anotado por}{anot\adddotspace por}}, + withcommentator = {{con comentario de}{con com\adddotspace de}}, withannotator = {{con notas de}{con notas de}}, - withintroduction = {{con introduci\'on de}{con intr\adddot de}}, - withforeword = {{con pr\'ologo de}{con pr\'ol\adddot de}}, - withafterword = {{con ep\'{\i}logo de}{con ep\'{\i}l\adddot de}}, + withintroduction = {{con introduci\'on de}{con intr\adddotspace de}}, + withforeword = {{con pr\'ologo de}{con pr\'ol\adddotspace de}}, + withafterword = {{con ep\'{i}logo de}{con ep\'{\i}l\adddotspace de}}, byeditortr = {{editado y traducido \lbx@lfromlang\ por}% {ed\adddotspace y trad\adddot \lbx@sfromlang\ por}}, byeditorco = {{editado y comentado por}% - {ed\adddotspace y com\adddot por}}, + {ed\adddotspace y com\adddotspace por}}, byeditoran = {{editado y anotado por}% - {ed\adddotspace y anot\adddot por}}, + {ed\adddotspace y anot\adddotspace por}}, byeditorin = {{editado e introducido por}% - {ed\adddotspace e intr\adddot por}}, + {ed\adddotspace e intr\adddotspace por}}, byeditorfo = {{editado y prologado por}% - {ed\adddotspace y pr\'ol\adddot por}}, + {ed\adddotspace y pr\'ol\adddotspace por}}, byeditoraf = {{editado y epilogado por}% - {ed\adddotspace y ep\'{\i}l\adddot por}}, + {ed\adddotspace y ep\'{\i}l\adddotspace por}}, byeditortrco = {{editado, traducido \lbx@lfromlang\ y comentado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y com\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y com\adddotspace por}}, byeditortran = {{editado, traducido \lbx@lfromlang\ y anotado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y anot\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y anot\adddotspace por}}, byeditortrin = {{editado, traducido \lbx@lfromlang\ e introducido por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ e intr\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e intr\adddotspace por}}, byeditortrfo = {{editado, traducido \lbx@lfromlang\ y prologado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y pr\'ol\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y pr\'ol\adddotspace por}}, byeditortraf = {{editado, traducido \lbx@lfromlang\ y epilogado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y ep\'{\i}l\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddotspace por}}, byeditorcoin = {{editado, comentado e introducido por}% - {ed.,\addabbrvspace com\adddot e intr\adddot por}}, + {ed.,\addabbrvspace com\adddotspace e intr\adddotspace por}}, byeditorcofo = {{editado, comentado y prologado por}% - {ed.,\addabbrvspace com\adddot y pr\'ol\adddot por}}, + {ed.,\addabbrvspace com\adddotspace y pr\'ol\adddotspace por}}, byeditorcoaf = {{editado, comentado y epilogado por}% - {ed.,\addabbrvspace com\adddot y ep\'{\i}l\adddot por}}, + {ed.,\addabbrvspace com\adddotspace y ep\'{\i}l\adddotspace por}}, byeditoranin = {{editado, anotado e introducido por}% - {ed.,\addabbrvspace anot\adddot e intr\adddot por}}, + {ed.,\addabbrvspace anot\adddotspace e intr\adddotspace por}}, byeditoranfo = {{editado, anotado y prologado por}% - {ed.,\addabbrvspace anot\adddot y pr\'ol\adddot por}}, + {ed.,\addabbrvspace anot\adddotspace y pr\'ol\adddotspace por}}, byeditoranaf = {{editado, anotado y epilogado por}% - {ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot por}}, + {ed.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddotspace por}}, byeditortrcoin = {{editado, traducido \lbx@lfromlang, comentado e introducido por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot e intr\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace e intr\adddotspace por}}, byeditortrcofo = {{editado, traducido \lbx@lfromlang, comentado y prologado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot y pr\'ol\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace y pr\'ol\adddotspace por}}, byeditortrcoaf = {{editado, traducido \lbx@lfromlang, comentado y epilogado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}}, byeditortranin = {{editado, traducido \lbx@lfromlang, anotado e introducido por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot e intr\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, anot\adddotspace e intr\adddotspace por}}, byeditortranfo = {{editado, traducido \lbx@lfromlang, anotado y prologado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot y pr\'ol\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, anot\adddotspace y pr\'ol\adddotspace por}}, byeditortranaf = {{editado, traducido \lbx@lfromlang, anotado y epilogado por}% - {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot y ep\'{\i}l\adddot por}}, + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}}, bytranslatorco = {{traducido \lbx@lfromlang\ y comentado por}% - {trad\adddot \lbx@sfromlang\ y com\adddot por}}, + {trad\adddotspace \lbx@sfromlang\ y com\adddotspace por}}, bytranslatoran = {{traducido \lbx@lfromlang\ y anotado por}% - {trad\adddot \lbx@sfromlang\ y anot\adddot por}}, + {trad\adddotspace \lbx@sfromlang\ y anot\adddotspace por}}, bytranslatorin = {{traducido \lbx@lfromlang\ e introducido por}% - {trad\adddot \lbx@sfromlang\ e introd\adddot por}}, + {trad\adddotspace \lbx@sfromlang\ e introd\adddotspace por}}, bytranslatorfo = {{traducido \lbx@lfromlang\ y prologado por}% - {trad\adddot \lbx@sfromlang\ y pr\'ol\adddot por}}, + {trad\adddotspace \lbx@sfromlang\ y pr\'ol\adddotspace por}}, bytranslatoraf = {{traducido \lbx@lfromlang\ y epilogado por}% - {trad\adddot \lbx@sfromlang\ y ep\'{\i}l\adddot por}}, + {trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddotspace por}}, bytranslatorcoin = {{traducido \lbx@lfromlang, comentado e introducido por}% - {trad\adddot \lbx@sfromlang, com\adddot e intr\adddot por}}, + {trad\adddot \lbx@sfromlang, com\adddotspace e intr\adddotspace por}}, bytranslatorcofo = {{traducido \lbx@lfromlang, comentado y prologado por}% - {trad\adddot \lbx@sfromlang, com\adddot y pr\'ol\adddot por}}, + {trad\adddot \lbx@sfromlang, com\adddotspace y pr\'ol\adddotspace por}}, bytranslatorcoaf = {{traducido \lbx@lfromlang, comentado y epilogado por}% - {trad\adddot \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot por}}, + {trad\adddot \lbx@sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}}, bytranslatoranin = {{traducido \lbx@lfromlang, anotado e introducido por}% - {trad\adddot \lbx@sfromlang, anot\adddot e intr\adddot por}}, + {trad\adddot \lbx@sfromlang, anot\adddotspace e intr\adddotspace por}}, bytranslatoranfo = {{traducido \lbx@lfromlang, anotado y prologado por}% - {trad\adddot \lbx@sfromlang, anot\adddot y pr\'ol\adddot por}}, + {trad\adddot \lbx@sfromlang, anot\adddotspace y pr\'ol\adddotspace por}}, bytranslatoranaf = {{traducido \lbx@lfromlang, anotado y epilogado por}% - {trad\adddot \lbx@sfromlang, anot\adddot y ep\'{\i}l\adddot por}}, + {trad\adddot \lbx@sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}}, and = {{y}{y}}, andothers = {{y~col\adddot}{y~col\adddot}}, andmore = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}}, @@ -290,12 +290,12 @@ book = {{libro}{libro}}, part = {{parte}{parte}}, issue = {{n\'umero}{n\'um\adddot}},% FIXME: unsure - newseries = {{nueva \'epoca}{n\adddotspace 'ep\adddot}}, - oldseries = {{antigua \'epoca}{ant\adddotspace 'ep\adddot}}, + newseries = {{nueva \'epoca}{n\adddotspace \'ep\adddot}}, + oldseries = {{antigua \'epoca}{ant\adddotspace \'ep\adddot}}, edition = {{edici\'on}{ed\adddot}}, - reprint = {{reimpresi\'{o}}{reimp\adddot}}, - reprintof = {{reimpresi\'{o} de}{reimp\adddot de}}, - reprintas = {{reimpreso como}{reimp\adddot como}}, + reprint = {{reimpresi\'{o}n}{reimp\adddot}}, + reprintof = {{reimpresi\'{o}n de}{reimp\adddotspace de}}, + reprintas = {{reimpreso como}{reimp\adddotspace como}}, reprintfrom = {{reimpresi\'{o} de}{reimp\adddotspace de}},% FIXME: unsure. What's the difference between reprintof and reprintfrom? reviewof = {{rese\~{n}a de}{rese\~{n}a de}}, translationof = {{traducci\'{o}n de}{trad\adddotspace de}}, @@ -314,28 +314,28 @@ lines = {{l\'{\i}neas}{ll\adddot}},% FIXME: abbrev. unsure. There is no standard verse = {{verso}{v\adddot}}, verses = {{versos}{vv\adddot}}, - section = {{secci\'{o}}{sec\adddot}}, + section = {{secci\'{o}n}{sec\adddot}}, sections = {{secciones}{secs\adddot}}, paragraph = {{p\'{a}rrafo}{p\'{a}rr\adddot}}, paragraphs = {{p\'{a}rrafos}{p\'{a}rrs\adddot}}, -% pagetotal = {{}{}},% FIXME: missing -% pagetotals = {{}{}},% FIXME: missing -% columntotal = {{}{}},% FIXME: missing -% columntotals = {{}{}},% FIXME: missing -% linetotal = {{}{}},% FIXME: missing -% linetotals = {{}{}},% FIXME: missing -% versetotal = {{}{}},% FIXME: missing -% versetotals = {{}{}},% FIXME: missing -% sectiontotal = {{}{}},% FIXME: missing -% sectiontotals = {{}{}},% FIXME: missing -% paragraphtotal = {{}{}},% FIXME: missing -% paragraphtotals = {{}{}},% FIXME: missing + pagetotal = {{p\'agina}{p\'ag\adddot}}, + pagetotals = {{p\'aginas}{p\'ags\adddot}}, + columntotal = {{columna}{col\adddot}}, + columntotals = {{columnas}{cols\adddot}}, + linetotal = {{l\'{\i}nea}{l\adddot}},% FIXME: abbrev. unsure. There is no standard + linetotals = {{l\'{\i}neas}{ll\adddot}},% FIXME: abbrev. unsure. There is no standard + versetotal = {{verso}{v\adddot}}, + versetotals = {{versos}{vv\adddot}}, + sectiontotal = {{secci\'{o}n}{sec\adddot}}, + sectiontotals = {{secciones}{secs\adddot}}, + paragraphtotal = {{p\'{a}rrafo}{p\'{a}rr\adddot}}, + paragraphtotals = {{p\'{a}rrafos}{p\'{a}rrs\adddot}}, in = {{en}{en}}, inseries = {{en}{en}}, ofseries = {{de}{de}}, number = {{n\'umero}{n\sptext{o}}}, chapter = {{cap\'itulo}{cap\adddot}}, -% bathesis = {{}{}},% FIXME: missing + bathesis = {{Tesis de licenciatura}{Tesis de lic\adddot}},% FIXME: unsure. mathesis = {{Tesis de maestr\'{\i}a}{Tesis de mtr\'{\i}a\adddot}}, phdthesis = {{Tesis doctoral}{Tesis doct\adddot}}, candthesis = {{Tesis de candidatura doctoral}{Tesis de cand\adddotspace doct\adddot}},% FIXME: unsure @@ -346,9 +346,9 @@ audiocd = {{disco de audio}{CD de audio}},% FIXME: abbrev. unsure version = {{versi\'on}{ver\adddot}}, url = {{direcci\'on}{direcci\'on}}, - urlfrom = {{disponible desde}{disp\adddot desde}},% FIXME: unsure + urlfrom = {{disponible desde}{disp\adddotspace desde}},% FIXME: unsure urlseen = {{visitado}{visitado}}, - inpreparation = {{en preparaci\'{o}}{en prep\adddot}}, + inpreparation = {{en preparaci\'{o}n}{en prep\adddot}}, submitted = {{enviado}{enviado}}, forthcoming = {{pr\'oximamente}{prox\adddot}}, inpress = {{en prensa}{en prensa}}, @@ -390,56 +390,62 @@ december = {{diciembre}{dic\adddot}}, langamerican = {{ingl\'{e}s americano}{ingl\'{e}s americano}}, langbrazilian = {{brasile\~no}{brasile\~no}}, -% langbulgarian = {{}{}},% FIXME: missing + langbulgarian = {{b\'ulgaro}{b\'ulgaro}}, langcatalan = {{catal\'{a}n}{catal\'{a}n}}, langcroatian = {{croata}{croata}}, langczech = {{checo}{checo}}, langdanish = {{dan\'es}{dan\'es}}, langdutch = {{neerland\'es}{neerland\'es}}, langenglish = {{ingl\'es}{ingl\'es}}, -% langestonian = {{}{}},% FIXME: missing + langestonian = {{estonio}{estonio}}, langfinnish = {{fin\'{e}s}{fin\'{e}s}}, langfrench = {{franc\'es}{franc\'es}}, langgalician = {{gallego}{gallego}}, langgerman = {{alem\'an}{alem\'an}}, langgreek = {{griego}{griego}}, + langhungarian = {{h\'ungaro}{h\'ungaro}}, langitalian = {{italiano}{italiano}}, + langjapanese = {{japon\'es}{japon\'es}}, langlatin = {{lat\'{\i}n}{lat\'{\i}n}}, -% langlatvian = {{}{}},% FIXME: missing + langlatvian = {{lituano}{lituano}}, langnorwegian = {{noruego}{noruego}}, langpolish = {{polaco}{polaco}}, langportuguese = {{portugu\'es}{portugu\'es}}, langrussian = {{ruso}{ruso}}, -% langslovak = {{}{}},% FIXME: missing -% langslovene = {{esloveno}{esloveno}}, %%FIXME: not defined? + langslovak = {{eslovaco}{eslovaco}}, + langslovene = {{esloveno}{esloveno}}, langspanish = {{espa\~nol}{espa\~nol}}, langswedish = {{sueco}{sueco}}, + langukrainian = {{ucraniano}{ucraniano}}, fromamerican = {{del ingl\'{e}s americano}{del ingl\'{e}s americano}}, frombrazilian = {{del brasile\~no}{del brasile\~no}}, -% frombulgarian = {{}{}},% FIXME: missing + frombulgarian = {{del b\'ulgaro}{del b\'ulgaro}}, fromcatalan = {{del catal\'{a}n}{del catal\'{a}n}}, fromcroatian = {{del croata}{del croata}}, fromczech = {{del checo}{del checo}}, fromdanish = {{del dan\'es}{del dan\'es}}, fromdutch = {{del neerland\'es}{del neerland\'es}}, fromenglish = {{del ingl\'es}{del ingl\'es}}, -% fromestonian = {{}{}},% FIXME: missing + fromestonian = {{del estonio}{del estonio}}, fromfinnish = {{del fin\'{e}s}{del fin\'{e}s}}, fromfrench = {{del franc\'es}{del franc\'es}}, fromgalician = {{del gallego}{del gallego}}, fromgerman = {{del alem\'an}{del alem\'an}}, fromgreek = {{del griego}{del griego}}, + fromhungarian = {{del h\'ungaro}{del h\'ungaro}}, fromitalian = {{del italiano}{del italiano}}, + fromjapanese = {{del japon\'es}{del japon\'es}}, fromlatin = {{del lat\'{\i}n}{del lat\'{\i}n}}, -% fromlatvian = {{}{}},% FIXME: missing + fromlatvian = {{del lituano}{del lituano}}, fromnorwegian = {{del noruego}{del noruego}}, frompolish = {{del polaco}{del polaco}}, fromportuguese = {{del portugu\'es}{del portugu\'es}}, fromrussian = {{del ruso}{del ruso}}, -% fromslovak = {{}{}},% FIXME: missing -% fromslovene = {{del esloveno}{del esloveno}}, %%FIXME: not defined? + fromslovak = {{del eslovaco}{del eslovaco}}, + fromslovene = {{del esloveno}{del esloveno}}, fromspanish = {{del espa\~nol}{del espa\~nol}}, fromswedish = {{del sueco}{del sueco}}, + fromukrainian = {{del ucraniano}{del ucraniano}}, countryde = {{Alemania}{DE}}, countryeu = {{Uni\'on Europea}{EU}}, countryep = {{Uni\'on Europea}{EP}}, @@ -447,17 +453,17 @@ countryuk = {{Reino Unido}{GB}},% FIXME: "Reino Unido" or "Gran Breta\~na"? countryus = {{Estados Unidos}{US}},% FIXME: "Estados Unidos de Am\'erica"? patent = {{patente}{pat\adddot}}, - patentde = {{patente alemana}{pat\adddot alemana}}, - patenteu = {{patente europea}{pat\adddot europea}}, - patentfr = {{patente francesa}{pat\adddot francesa}}, - patentuk = {{patente brit\'anica}{pat\adddot brit\'anica}}, - patentus = {{patente estadounidense}{pat\adddot estadounidense}}, - patreq = {{solicitud de patente}{sol\adddot de pat\adddot}}, - patreqde = {{solicitud de patente alemana}{sol\adddot de pat\adddot alemana}}, - patreqeu = {{solicitud de patente europea}{sol\adddot de pat\adddot europea}}, - patreqfr = {{solicitud de patente francesa}{sol\adddot de pat\adddot francesa}}, - patrequk = {{solicitud de patente brit\'anica}{sol\adddot de pat\adddot brit\'anica}}, - patrequs = {{solicitud de patente estadounidense}{sol\adddot de pat\adddot estadounidense}}, + patentde = {{patente alemana}{pat\adddotspace alemana}}, + patenteu = {{patente europea}{pat\adddotspace europea}}, + patentfr = {{patente francesa}{pat\adddotspace francesa}}, + patentuk = {{patente brit\'anica}{pat\adddotspace brit\'anica}}, + patentus = {{patente estadounidense}{pat\adddotspace estadounidense}}, + patreq = {{solicitud de patente}{sol\adddotspace de pat\adddot}}, + patreqde = {{solicitud de patente alemana}{sol\adddotspace de pat\adddot alemana}}, + patreqeu = {{solicitud de patente europea}{sol\adddotspace de pat\adddot europea}}, + patreqfr = {{solicitud de patente francesa}{sol\adddotspace de pat\adddot francesa}}, + patrequk = {{solicitud de patente brit\'anica}{sol\adddotspace de pat\adddot brit\'anica}}, + patrequs = {{solicitud de patente estadounidense}{sol\adddotspace de pat\adddot estadounidense}}, file = {{archivo}{archivo}}, library = {{biblioteca}{bibl\adddot}}, abstract = {{resumen}{resumen}}, @@ -466,11 +472,11 @@ beforecommonera = {{antes de la era com\'un}{a\adddotspace e\adddotspace c\adddot}}, annodomini = {{despu\'es de Cristo}{d\adddotspace C\adddot}}, beforechrist = {{antes de Cristo}{a\adddotspace C\adddot}}, -% circa = {{}{}},% FIXME: missing -% spring = {{}{}},% FIXME: missing -% summer = {{}{}},% FIXME: missing -% autumn = {{}{}},% FIXME: missing -% winter = {{}{}},% FIXME: missing + circa = {{circa}{ca\adddot}}, + spring = {{primavera}{prim\adddot}}, + summer = {{verano}{ver\adddot}}, + autumn = {{oto\~no}{ot\adddot}}, + winter = {{invierno}{inv\adddot}}, am = {{a\adddotspace m\adddot}{a\adddot m\adddot}}, pm = {{p\adddotspace m\adddot}{p\adddot m\adddot}}, } diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx index e8394cf9b29..d0b3cf17473 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx @@ -92,7 +92,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -434,6 +434,7 @@ langgalician = {{galiciska}{galiciska}}, langgerman = {{tyska}{tyska}}, langgreek = {{grekiska}{grekiska}}, +% langhungarian = {{}{}}, % FIXME: missing langitalian = {{italienska}{italienska}}, langlatin = {{latin}{latin}}, % langlatvian = {{}{}},% FIXME: missing @@ -459,6 +460,7 @@ fromgalician = {{fr\aa n galiciska}{fr\aa n galiciska}}, fromgerman = {{fr\aa n tyska}{fr\aa n tyska}}, fromgreek = {{fr\aa n grekiska}{fr\aa n grekiska}}, +% fromhungarian = {{}{}}, % FIXME: missing fromitalian = {{fr\aa n italienska}{fr\aa n italienska}}, fromlatin = {{fr\aa n latin}{fr\aa n latin}}, % fromlatvian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx index 4a087a4ca11..b5be8984c5c 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx @@ -85,7 +85,7 @@ \forcezerosmdt{\thefield{#2}}% \iffieldundef{#3}{} {\bibtimesep - \forcezeros{\thefield{#3}}}% + \forcezerosmdt{\thefield{#3}}}% \space \ifnumless{\thefield{#1}}{12} {\bibstring{am}} @@ -502,6 +502,7 @@ langgalician = {{галісійський}{гал\adddot}}, langgerman = {{німецька}{нім\adddot}}, langgreek = {{грецька}{грець\adddot}}, + langhungarian = {{угорська}{угор\adddot}}, langitalian = {{італійська}{італ\adddot}}, langjapanese = {{японська}{яп\adddot}}, langlatin = {{латинська}{лат\adddot}}, @@ -530,6 +531,7 @@ fromgalician = {{з галісійської}{з\addabbrvspace гал\adddot}}, fromgerman = {{з німецької}{з\addabbrvspace нім\adddot}}, fromgreek = {{з грецької}{з\addabbrvspace грец\adddot}}, + fromhungarian = {{з угорської}{з\addabbrvspace угор\adddot}}, fromitalian = {{з італійської}{з\addabbrvspace італ\adddot}}, fromjapanese = {{з японської}{з\addabbrvspace яп\adddot}}, fromlatin = {{з латинської}{з\addabbrvspace лат\adddot}}, |