summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-08-20 21:11:51 +0000
committerKarl Berry <karl@freefriends.org>2020-08-20 21:11:51 +0000
commit007811a6dc1c41c75d2fc3ac86ecb35014856a72 (patch)
tree624a9014bb69937073cb2f5bdbcb9dc5e20db1a6 /Master/texmf-dist/tex/latex/biblatex
parent09ce7eaab854b9d1a6d44d71e17f88d19424885a (diff)
biblatex (20aug20)
git-svn-id: svn://tug.org/texlive/trunk@56143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.def67
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.sty2800
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def403
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def271
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def290
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-compat.def73
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-dm.def150
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-mcite.def5
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-unicode.def32
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx174
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx24
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx24
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx573
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx24
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx42
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx25
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx23
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx94
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx280
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx24
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx838
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx57
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx440
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx449
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx759
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx20
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx552
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx18
43 files changed, 6108 insertions, 2705 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
index 3046bd10e89..810c8584c95 100644
--- a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
@@ -19,6 +19,8 @@
\settoggle{bbx:related}{#1}}
\ExecuteBibliographyOptions{isbn,url,doi,eprint,related}
+% @online url is shown even if url=false, globally
+\ExecuteBibliographyOptions[online]{url=true}
\newbibmacro*{begentry}{}
\newbibmacro*{finentry}{\finentry}
@@ -485,15 +487,7 @@
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
- \iftoggle{bbx:doi}
- {\printfield{doi}}
- {}%
- \newunit\newblock
- \iftoggle{bbx:eprint}
- {\usebibmacro{eprint}}
- {}%
- \newunit\newblock
- \usebibmacro{url+urldate}%
+ \usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
@@ -719,9 +713,7 @@
\newunit\newblock
\usebibmacro{location+date}%
\newunit\newblock
- \iftoggle{bbx:url}
- {\usebibmacro{url+urldate}}
- {}%
+ \usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
@@ -808,7 +800,7 @@
\printfield{volume}%
\setunit*{\adddot}%
\printfield{number}%
- \setunit{\addcomma\space}%
+ \setunit{\bibeidpunct}%
\printfield{eid}}
\newbibmacro*{title+issuetitle}{%
@@ -895,6 +887,8 @@
\newbibmacro*{chapter+pages}{%
\printfield{chapter}%
\setunit{\bibpagespunct}%
+ \printfield{eid}%
+ \setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
index 992e8ba7e3b..10f4144dab6 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
@@ -18,9 +18,9 @@
% \namepart<namepart>i - e.g. \namepartfamilyi
\def\do#1{%
\csdef{mkbibname#1}##1{##1}%
- \define@key{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}%
- \define@key{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}%
- \define@key{blx@opt@namepart}{#1un}{\csdef{namepart#1un}{##1}}}
+ \blx@kv@defkey{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}%
+ \blx@kv@defkey{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}%
+ \blx@kv@defkey{blx@opt@namepart}{#1un}{\csdef{namepart#1un}{##1}}}
\expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}
% legacy aliases
@@ -95,8 +95,17 @@
\DeclareDelimFormat{andmoredelim}{\addspace}
\newcommand*{\multicitedelim}{\addsemicolon\space}
+\newcommand*{\multicitesubentrydelim}{\addcomma}
+\newcommand*{\multiciterangedelim}{\bibrangedash}
+\newcommand*{\multicitesubentryrangedelim}{\multiciterangedelim}
+
\newcommand*{\compcitedelim}{\addcomma\space}
+
\newcommand*{\supercitedelim}{\addcomma}
+\newcommand*{\supercitesubentrydelim}{\supercitedelim}
+\newcommand*{\superciterangedelim}{\bibrangedash}
+\newcommand*{\supercitesubentryrangedelim}{\superciterangedelim}
+
\DeclareDelimFormat{prenotedelim}{\addspace}
\DeclareDelimFormat{postnotedelim}{\addcomma\space}
\DeclareDelimAlias{multiprenotedelim}{prenotedelim}
@@ -168,6 +177,7 @@
\newcommand*{\subtitlepunct}{\newunitpunct}
\newcommand*{\intitlepunct}{\addcolon\space}
\newcommand*{\bibpagespunct}{\addcomma\space}
+\newcommand*{\bibeidpunct}{\addcomma\space}
\newcommand*{\bibpagerefpunct}{\addspace}
\newcommand*{\revsdnamepunct}{\addcomma}
\newcommand*{\bibnamedash}{%
@@ -238,6 +248,10 @@
% want more visual separation, try the package option 'block=space'.
% This will yield better results than \nonfrenchspacing.
+% If \frenchspacing is removed here, it may also have to be removed
+% from \blx@beglang@spacefactors, for example with
+% \let\blx@beglang@spacefactors\@empty
+
% \citesetup is a generic hook for citations.
\newcommand*{\citesetup}{%
@@ -462,15 +476,15 @@
\DeclareFieldFormat{prenote}{#1\isdot}
\DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
\DeclareFieldFormat{volcitevolume}{\bibstring{volume}\ppspace#1}
-\DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}}
+\DeclareFieldAlias{volcitepages}{postnote}
\DeclareFieldFormat{volcitenote}{\mkvolcitenote#1}
\newrobustcmd*{\mkvolcitenote}[2]{%
\printtext[volcitevolume]{#1}%
\ifblank{#2}{}{\volcitedelim\printtext[volcitepages]{#2}}}
% multicite commands
-\DeclareFieldFormat{multiprenote}{#1\isdot}
-\DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
+\DeclareFieldAlias{multiprenote}{prenote}
+\DeclareFieldAlias{multipostnote}{postnote}
% Used by \citeurl
@@ -1163,8 +1177,6 @@
% The fallback used by \indexlist
-\DeclareIndexListWrapperFormat{default}{#1}
-
\DeclareIndexListFormat{default}{\index{#1}}
% ------------------------------------------------------------------
@@ -1176,8 +1188,6 @@
% The fallback used by \indexnames
-\DeclareIndexNameWrapperFormat{default}{#1}
-
\DeclareIndexNameFormat{default}{%
\usebibmacro{index:name}
{\index}
@@ -1227,7 +1237,7 @@
\newbibmacro*{index:name}[5]{%
\usebibmacro{index:entry}{#1}{\mkbibindexname{#2}{#3}{#4}{#5}}}
-% {<family name>}{<given name>}{<given initials>}{<family name prefix>}
+% {<family name>}{<given name>}{<prefix>}{<suffix>}
\newcommand*{\mkbibindexname}[4]{%
\ifuseprefix
{\ifdefvoid{#3}{}{#3 }%
@@ -1715,6 +1725,7 @@
\DeclareDataInheritance{periodical}{article,suppperiodical}{%
\inherit{title}{journaltitle}
\inherit{subtitle}{journalsubtitle}
+ \inherit{titleaddon}{journaltitleaddon}
\noinherit{shorttitle}
\noinherit{sorttitle}
\noinherit{indextitle}
@@ -2344,7 +2355,7 @@
\newbibmacro*{multipostnote}{%
\iffieldundef{multipostnote}
{}
- {\printdelim{multipostnotedelim}
+ {\printdelim{multipostnotedelim}%
\printfield{multipostnote}}}
% ------------------------------------------------------------------
@@ -2824,6 +2835,9 @@
\newunit}%
\printfield{maintitleaddon}}
+% The \iffieldundef{journaltitleaddon} is usually not necessary.
+% We need it to ensure that a \setunit* after this macro does the right thing
+% for backwards compatibility.
\newbibmacro*{journal}{%
\ifboolexpr{
test {\iffieldundef{journaltitle}}
@@ -2834,8 +2848,14 @@
{\printtext[journaltitle]{%
\printfield[titlecase]{journaltitle}%
\setunit{\subtitlepunct}%
- \printfield[titlecase]{journalsubtitle}}}}
+ \printfield[titlecase]{journalsubtitle}}%
+ \newunit}%
+ \iffieldundef{journaltitleaddon}
+ {}
+ {\printfield{journaltitleaddon}}}
+% Re \iffieldundef{titleaddon} see the comment about
+% \iffieldundef{journaltitleaddon} above.
\newbibmacro*{periodical}{%
\ifboolexpr{
test {\iffieldundef{title}}
@@ -2846,7 +2866,11 @@
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
- \printfield[titlecase]{subtitle}}}}
+ \printfield[titlecase]{subtitle}}%
+ \newunit}%
+ \iffieldundef{titleaddon}
+ {}
+ {\printfield{titleaddon}}}
\newbibmacro*{issue}{%
\ifboolexpr{
@@ -2858,11 +2882,13 @@
{\printtext[issuetitle]{%
\printfield[titlecase]{issuetitle}%
\setunit{\subtitlepunct}%
- \printfield[titlecase]{issuesubtitle}}}}
+ \printfield[titlecase]{issuesubtitle}}%
+ \newunit}%
+ \printfield{issuetitleaddon}}
\newbibmacro*{in:}{%
- \printtext{%
- \bibstring{in}\intitlepunct}}
+ \bibstring{in}%
+ \printunit{\intitlepunct}}
\newbibmacro*{date}{\printdate}
@@ -2900,9 +2926,12 @@
{\printfield[eprint:\strfield{eprinttype}]{eprint}}}
\newbibmacro*{annotation}{%
+ \begingroup
+ \togglefalse{blx@bibliography}%
\iffieldundef{annotation}
{\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}}
- {\printfield{annotation}}}
+ {\printfield{annotation}}%
+ \endgroup}
\newbibmacro*{abstract}{%
\iffieldundef{abstract}
@@ -2926,7 +2955,7 @@
\ifbibmacroundef{date+extradate}
{}
{\renewbibmacro*{date+extradate}{}%
- \renewbibmacro*{date}{\printdate}}%
+ \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}}%
\renewbibmacro*{pageref}{}}
{\thefield{entrytype}}}}
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
index 775d3ecfb3e..e48b124277f 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{2019/12/01}
-\def\abx@version{3.14}
+\def\abx@date{2020/08/19}
+\def\abx@version{3.15}
\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)}
@@ -53,6 +53,39 @@
\endinput}
+% generalised keyval interface
+% define a new key (possibly with a default value)
+% {<family>}{<key>}[<default>]{<code>}
+\providerobustcmd*{\blx@kv@defkey}{\define@key}
+
+% globally define new key (should only be the last resort)
+% {<family>}{<key>}[<default>]{<code>}
+\providerobustcmd*{\blx@kv@gdefkey}[2]{%
+ \@ifnextchar[%
+ {\blx@kv@gdefkey@default{#1}{#2}}
+ {\blx@kv@gdefkey@nodefault{#1}{#2}}}
+
+\ifundef\blx@kv@gdefkey@nodefault
+ {\protected\def\blx@kv@gdefkey@nodefault#1#2{\csgdef{KV@#1@#2}##1}}
+ {}
+\ifundef\blx@kv@gdefkey@default
+ {\protected\def\blx@kv@gdefkey@default#1#2[#3]{%
+ \csgdef{KV@#1@#2@default}{\csuse{KV@#1@#2}{#3}}%
+ \csgdef{KV@#1@#2}##1}}
+ {}
+
+% test if key is undefined
+% {<family>}{<key>}{<true>}{<false>}
+\providecommand*{\blx@kv@ifkeyundef}[2]{%
+ \ifcsundef{KV@#1@#2}}
+
+% undefine key
+% {<family>}{<key>}
+\providerobustcmd*{\blx@kv@undef}[2]{\csundef{KV@#1@#2}}
+
+% {<family>}{<key-vals>}
+\providerobustcmd*{\blx@kv@setkeys}{\setkeys}
+
%% Category codes
\def\blx@docatcodes{%
@@ -180,12 +213,12 @@
{'polyglossia' loaded after biblatex}
{'polyglossia' must be loaded before biblatex}}
{}%
- \@ifpackagelater{polyglossia}{2019/10/27}
+ \@ifpackagelater{polyglossia}{2020/04/08}
{}
{\blx@warning@noline
- {biblatex works best with 'polyglossia' 1.45\MessageBreak
+ {biblatex works best with 'polyglossia' 1.49\MessageBreak
or above.\MessageBreak
- Please update 'polyglossia' to v1.45 (2019/10/27)\MessageBreak
+ Please update 'polyglossia' to v1.49 (2020/04/08)\MessageBreak
or later.\MessageBreak
Variant detection will not work properly with\MessageBreak
older versions}}}
@@ -361,11 +394,19 @@
{}}
{}}
{}%
- \apptocmd\@floatboxreset
- {\boolfalse{citetracker}%
- \boolfalse{pagetracker}}
+ \iftoggle{blx@trackfloats}
{}
- {\blx@err@patch{floats}}%
+ {\apptocmd\@floatboxreset
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}}
+ {}
+ {\blx@err@patch{floats}}}%
+ \iftoggle{blx@backreffloats}
+ {}
+ {\apptocmd\@floatboxreset
+ {\boolfalse{backtracker}}
+ {}
+ {\blx@err@patch{floats}}}%
\ifdef\TX@endtabularx % tabularx/memoir
{\pretocmd\TX@endtabularx
{\addtocounter{tabx@nest}{1}}% track nested tabularx environments
@@ -501,8 +542,13 @@
\iftoggle{blx@autolangcite}
{\let\blx@beglangcite\blx@beglang}
{}%
+ % babel/polyglossia has loaded the (main document) language already,
+ % so we need to explicitly enable our captions (abx@strings@)
+ % and extras (abx@extras@) now
+ \toggletrue{blx@lang@captions@\blx@languagename}%
\csuse{abx@extras@\blx@languagename}%
\csuse{abx@strings@\blx@languagename}%
+ % avoid accidental re-initialization
\undef\blx@mkautolangbabel
\undef\blx@mkautolangpoly
\undef\blx@mknoautolang
@@ -515,26 +561,35 @@
{}%
}
+% our copy of \addtocontents with \immediate (not @protected,
+% so a bit different, but we are only going to use it for very
+% specific input, so that doesn't matter)
+\def\blx@immediate@addtocontents#1#2{%
+ \blx@auxwrite\@auxout
+ {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
+ {\string\@writefile{#1}{#2}}}
-\begingroup
-\@makeother\#
-% \relax: gobble newline -> titletoc.sty
-\AtEndPreamble{%
- \addtocontents{toc}{%
+\AtBeginDocument{%
+ \blx@immediate@addtocontents{toc}{%
\boolfalse{citerequest}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\boolfalse{backtracker}\relax}%
- \addtocontents{lof}{%
+ \blx@immediate@addtocontents{lof}{%
\boolfalse{citerequest}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\boolfalse{backtracker}\relax}%
- \addtocontents{lot}{%
+ \blx@immediate@addtocontents{lot}{%
\boolfalse{citerequest}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
- \boolfalse{backtracker}\relax}%
+ \boolfalse{backtracker}\relax}}
+
+\begingroup
+\@makeother\#
+% \relax: gobble newline -> titletoc.sty
+\AtEndPreamble{%
\patchcmd\addtocontents
{\string\@writefile}
{\string\@writefile{#1}{\defcounter{refsection}{\the\c@refsection}\relax}%
@@ -543,6 +598,7 @@
{\blx@err@patch{\string\addtocontents}}}
\endgroup
+
% trick hyperref into believing we're natbib
\let\NAT@parse\@empty
% trick showkeys into believing we're havard
@@ -576,10 +632,52 @@
\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}}
+ 'labelprefix' may not be able to accept all input.\MessageBreak
+ The command is available (via 'pdftexcmds')\MessageBreak
+ in recent versions of pdfTeX, LuaTeX and XeTeX}}
{\let\blx@mdfivesum\pdf@mdfivesum}
+\ifundef\pdf@filemdfivesum
+ {\blx@warning@noline{Command '\string\pdf@filemdfivesum' undefined.\MessageBreak
+ Biber rerun detection may not work as expected.\MessageBreak
+ The command is available (via 'pdftexcmds')\MessageBreak
+ in recent versions of pdfTeX, LuaTeX and XeTeX}%
+ \let\blx@generate@bbl@mdfivesum@found\relax
+ \let\blx@generate@bbl@mdfivesum@notfound\relax
+ \let\blx@aux@read@bbl@mdfivesum\@gobble
+ \let\blx@aux@write@bbl@mdfivesum\relax
+ \let\blx@check@bbl@rerun@mdfivesum\relax}
+ {\let\blx@filemdfivesum\pdf@filemdfivesum
+
+ \def\blx@generate@bbl@mdfivesum@found{%
+ \xdef\blx@bbl@mdfivesum@new{\blx@filemdfivesum{\jobname.bbl}}}
+
+ \def\blx@generate@bbl@mdfivesum@notfound{%
+ \gdef\blx@bbl@mdfivesum@new{nobblfile}}
+
+ \def\blx@aux@read@bbl@mdfivesum{%
+ \gdef\blx@bbl@mdfivesum@old}
+
+ % If we need Biber to rerun, save the hash of the current .bbl.
+ % That way we can detect if the Biber rerun really happened when
+ % we run LaTeX the next time.
+ \def\blx@aux@write@bbl@mdfivesum{%
+ \iftoggle{blx@runbiber}
+ {\blx@auxwrite\@mainaux{}{%
+ \string\blx@aux@read@bbl@mdfivesum{\blx@bbl@mdfivesum@new}}}
+ {}}
+
+ % There was a Biber rerun request last time (\blx@bbl@mdfivesum@old),
+ % yet the bbl files are the same (as far as md5 hashes are concerned),
+ % that means *no* Biber rerun happened.
+ % So we need to re-request a rerun.
+ \def\blx@check@bbl@rerun@mdfivesum{%
+ \ifdefstrequal\blx@bbl@mdfivesum@old\blx@bbl@mdfivesum@new
+ {\blx@logreq@active{}}
+ {}}}
+
+
% xstring replacements
% reverse a given string
@@ -712,6 +810,7 @@
\newcount\blx@parenlevel@foot
\expandafter\newcount\csname blx@sectionciteorder@0\endcsname
\newcount\blx@entrysetcounter
+\newcount\blx@biblioinstance
\def\blx@uniquename{false}
\def\blx@uniquelist{false}
@@ -1087,10 +1186,15 @@
{\blx@info@noline{Trying to load #2..}%
\IfFileExists{#1}
{\blx@info@noline{... file '#1' found}%
- #3\@@input\@filef@und#4#5%
+ \csuse{blx@filehook@preload@#1}%
+ #3\@@input\@filef@und#4%
+ \csuse{blx@filehook@postload@#1}%
+ #5%
\listxadd\blx@list@req@stat{#1}%
\@addtofilelist{#1}}
- {\blx@info@noline{... file '#1' not found}#6}%
+ {\blx@info@noline{... file '#1' not found}%
+ \csuse{blx@filehook@failure@#1}%
+ #6}%
\global\cslet{blx@file@#1}\@empty}
{#5}}
@@ -1151,21 +1255,23 @@
\detokenize{" xmlns:bcf="https://sourceforge.net/projects/biblatex">}}
% {<true>}{<false>}
-\newrobustcmd*{\lbx@ifutfinput}{\ifboolexpr{%
- test {\ifdefstring\inputencodingname{utf8}}
- or
- test {\ifdefstring\inputencodingname{utf8x}}
- or
- test {\ifdefstring\inputencodingname{lutf8}}
- or
- ( test {\ifundef\inputencodingname}
- and
- ( not test {\ifundef\XeTeXrevision}
- or
- not test {\ifundef\luatexversion}
+\newrobustcmd*{\lbx@ifutfinput}{%
+ \ifboolexpr{%
+ test {\ifdefstring\inputencodingname{utf8}}
+ or
+ test {\ifdefstring\inputencodingname{utf8x}}
+ or
+ test {\ifdefstring\inputencodingname{lutf8}}
+ or
+ ( test {\ifundef\inputencodingname}
+ and
+ ( not test {\ifundef\XeTeXrevision}
+ or
+ not test {\ifundef\luatexversion}
+ )
)
- )
-}}
+ }%
+}
%% More user feedback
\protected\def\blx@warning@entry#1{%
@@ -1320,7 +1426,7 @@
\protected\def\blx@warn@nostring#1{%
\blx@warning@entry{Bibliography string '#1'
- \ifcsundef{KV@blx@lbx@#1}{undefined}{untranslated}}%
+ \blx@kv@ifkeyundef{blx@lbx}{#1}{undefined}{untranslated}}%
\abx@missing{#1}}
\def\blx@warn@conflopt#1{%
@@ -1459,6 +1565,7 @@
\global\toggletrue{blx@runbiber}%
\global\let\blx@rerun@biber\relax}
+
\let\blx@checksum@old\@empty
\let\blx@checksum@new\@empty
\let\blx@pagesum@old\@empty
@@ -1511,14 +1618,10 @@
\endgroup}
\def\blx@warn@auxlist{%
- \begingroup
- \edef\blx@tempa{%
- Please (re)run Biber on the file:\MessageBreak
- \jobname}%
\blx@warning@noline{%
- \blx@tempa\MessageBreak
- and rerun LaTeX afterwards}%
- \endgroup}
+ Please (re)run Biber on the file:\MessageBreak
+ \jobname\MessageBreak
+ and rerun LaTeX afterwards}}
\AfterEndDocument{%
\blx@check@rerun
@@ -1603,6 +1706,12 @@
\sfcode`\?=3002
}
+\def\abx@dosingleaccents{%
+ \do\"\do\'\do\`\do\^\do\~\do\=\do\.%
+ \do\H\do\b\do\c\do\d\do\r\do\u\do\v}
+\def\abx@dodoubleaccents{%
+ \do\t}
+
% Defining characters that count as prefices in names like d'Argent
% Code from moewe
\let\blx@prefchars\@empty
@@ -1909,7 +2018,7 @@
\newrobustcmd*{\autocap}[1]{#1}
\protected\def\blx@imc@autocap{%
- \blx@imc@ifcapital\MakeUppercase\@firstofone}
+ \blx@imc@ifcapital\MakeCapital\@firstofone}
\protected\def\blx@imc@nopunct{%
\leavevmode\spacefactor\blx@sf@nopunct}
@@ -2055,8 +2164,15 @@
\providerobustcmd*{\nohyphenation}{%
\language\blx@langwohyphens}
-\providerobustcmd*{\textnohyphenation}[1]{%
- \bgroup\nohyphenation#1\egroup}
+% work around odd XeTeX/babel-french behaviour
+% https://github.com/plk/biblatex/issues/979
+% fix by Ulrike Fischer
+% https://tex.stackexchange.com/a/544914/
+\ifundef\XeTeXrevision
+ {\providerobustcmd*{\textnohyphenation}[1]{%
+ \bgroup\nohyphenation#1\egroup}}
+ {\providerobustcmd*{\textnohyphenation}[1]{%
+ \bgroup\nohyphenation#1\egroup^^^^200b}}
\blx@regimcs{%
\setpunctfont \resetpunctfont \ifcapital \autocap \ifpunctmark
@@ -2447,17 +2563,26 @@
{\@secondoftwo}
{\ifcsundef{abx@name@#2}
{\@secondoftwo}
- {\blx@ifnamesequal{#1}{#2}}}}
+ {\blx@ifnamesequalcscs{abx@name@#1}{abx@name@#2}}}}
+
+\def\blx@ifnamesequalcscs#1#2{%
+ \expandafter\expandafter\expandafter\blx@ifnamesequaldefdef
+ \expandafter\expandafter\expandafter{%
+ \expandafter\csname\expandafter #1\expandafter\endcsname
+ \expandafter}%
+ \expandafter{\csname #2\endcsname}}
-\def\blx@ifnamesequal#1#2{%
+\def\blx@ifnamesequalcsdef#1#2{%
+ \expandafter\blx@ifnamesequaldefdef\expandafter{%
+ \csname #1\endcsname}{#2}}
+
+\def\blx@ifnamesequaldefdef#1#2{%
\begingroup
\let\blx@tempa\@empty
- \expandafter\expandafter
- \expandafter\blx@ifnamesequal@i\csname abx@name@#2\endcsname
+ \expandafter\blx@ifnamesequal@i#2%
\let\blx@tempb\blx@tempa
\let\blx@tempa\@empty
- \expandafter\expandafter
- \expandafter\blx@ifnamesequal@i\csname abx@name@#1\endcsname
+ \expandafter\blx@ifnamesequal@i#1%
\expandafter\endgroup
\ifx\blx@tempa\blx@tempb
\expandafter\@firstoftwo
@@ -2477,47 +2602,39 @@
% These explicit nameparts are alright as they are for bibtex only
% biber names will always have a hash generated from all nameparts in datamodel
\def\blx@ifnamesequal@iii#1#2{%
- \setkeys{blx@opt@name}{#1}%
- \setkeys{blx@opt@namepart}{#2}%
+ \blx@kv@setkeys{blx@opt@name}{#1}%
+ \blx@kv@setkeys{blx@opt@namepart}{#2}%
\ifdef\abx@field@hash
{\eappto\blx@tempa{{\abx@field@hash}}}
{\eappto\blx@tempa{{{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}}}}}
-% {<field>}{<macro>}{<true>}{<false>}
-\def\blx@imc@iffieldequals#1#2{%
- \blx@imc@iffieldundef{#1}
+% {<csname>}{<def>}{<true>}{<false>}
+\newcommand*{\blx@ifcsdefequal}[2]{%
+ \ifcsundef{#1}
{\@secondoftwo}
{\ifundef#2%
{\@secondoftwo}
- {\expandafter\ifx\csname abx@field@#1\endcsname#2%
+ {\expandafter\ifx\csname#1\endcsname#2%
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi}}}
+% {<field>}{<macro>}{<true>}{<false>}
+\def\blx@imc@iffieldequals#1#2{%
+ \blx@ifcsdefequal{abx@field@#1}{#2}}
+
% {<plainlist>}{<macro>}{<true>}{<false>}
\def\blx@imc@iflistequals#1#2{%
- \blx@imc@iflistundef{#1}
- {\@secondoftwo}
- {\ifundef#2%
- {\@secondoftwo}
- {\expandafter\ifx\csname abx@list@#1\endcsname#2%
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}}}
+ \blx@ifcsdefequal{abx@list@#1}{#2}}
% {<namelist>}{<macro>}{<true>}{<false>}
-\def\blx@imc@ifnameequals#1#2{% FIXME
+\def\blx@imc@ifnameequals#1#2{%
\blx@imc@ifnameundef{#1}
{\@secondoftwo}
{\ifundef#2%
{\@secondoftwo}
- {\expandafter\ifx\csname abx@name@#1\endcsname#2%
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi}}}
+ {\blx@ifnamesequalcsdef{abx@name@#1}{#2}}}}
% {<field>}{<csname>}{<true>}{<false>}
\def\blx@imc@iffieldequalcs#1{%
@@ -2528,8 +2645,12 @@
\ifcsequal{abx@list@#1}}
% {<namelist>}{<csname>}{<true>}{<false>}
-\def\blx@imc@ifnameequalcs#1{% FIXME
- \ifcsequal{abx@name@#1}}
+\def\blx@imc@ifnameequalcs#1#2{%
+ \blx@imc@ifnameundef{#1}
+ {\@secondoftwo}
+ {\ifcsundef{#2}
+ {\@secondoftwo}
+ {\blx@ifnamesequalcscs{abx@name@#1}{#2}}}}
% {<field>}{<string>}{<true>}{<false>}
\protected\long\def\blx@imc@iffieldequalstr#1#2{%
@@ -2671,17 +2792,25 @@
\expandafter\@secondoftwo
\fi}}}
+
% {<true>}{<false>}
+%\def\blx@imc@iffirstcitekey{%
+% \ifboolexpr{ ( test {\ifnumequal\c@multicitetotal\z@}
+% and test {\ifnumequal\c@citecount\@ne} )
+% or ( test {\ifnumgreater\c@multicitetotal\z@}
+% and test {\ifnumequal\c@multicitecount\@ne}
+% and test {\ifnumequal\c@citecount\@ne} ) }}
\def\blx@imc@iffirstcitekey{%
- \ifboolexpr{ ( test {\ifnumequal\c@multicitetotal\z@}
- and test {\ifnumequal\c@citecount\@ne} )
- or ( test {\ifnumgreater\c@multicitetotal\z@}
- and test {\ifnumequal\c@multicitecount\@ne}
- and test {\ifnumequal\c@citecount\@ne} ) }}
+ \ifnumequal\c@citecount\@ne
+ {\ifnumequal\c@multicitetotal\z@
+ {\@firstoftwo}
+ {\ifnumequal\c@multicitecount\@ne}}
+ {\@secondoftwo}}
\def\blx@imc@iflastcitekey{%
- \ifboolexpr{ test {\ifnumequal\c@citecount\c@citetotal}
- and test {\ifnumequal\c@multicitecount\c@multicitetotal} }}
+ \ifnumequal\c@citecount\c@citetotal
+ {\ifnumequal\c@multicitecount\c@multicitetotal}
+ {\@secondoftwo}}
% {<category>}{<true>}{<false>}
\protected\def\blx@imc@ifcategory{%
@@ -2970,7 +3099,7 @@
\begingroup
\def\do##1{\uccode`##1=`\%}%
\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9%
- \makeatletter
+ \catcode`\@=11
\catcode`\%=9
\endlinechar\m@ne
\uppercase{\scantokens{\def\blx@tempa{#1}}}%
@@ -3007,7 +3136,7 @@
\ifx\blx@tempa\@empty
\aftergroup\@secondoftwo
\else
- \makeatletter
+ \catcode`\@=11
\catcode`\%=9
\endlinechar\m@ne
\everyeof{\noexpand}#1%
@@ -3157,6 +3286,12 @@
\newrobustcmd*{\NumCheckSetup}{\appto\blx@hook@ifnum}
\newcommand*{\NumcheckSetup}{\NumCheckSetup}
+\newrobustcmd*{\NumsCheckSetup}{\appto\blx@hook@ifnums}
+
+\newrobustcmd*{\PagesCheckSetup}{\appto\blx@hook@ifpages}
+
+\PagesCheckSetup{\let\pnfmt\@firstofone}
+
% [<pagination>][<postpro>]{<string>}
\newrobustcmd*{\blx@imc@mkpageprefix}[1][pagination]{%
\begingroup
@@ -3180,7 +3315,7 @@
{\bibstring{#1s}\ppspace}
{\def\pno{\bibstring{#1}}%
\def\ppno{\bibstring{#1s}}}}%
- \blx@mkpageprefix@i[#2]{#3}}
+ \blx@mkpageprefix@i[{#2}]{#3}}
\long\def\blx@mkpageprefix@i[#1]#2{#1{#2}\endgroup}
@@ -3243,7 +3378,7 @@
\@ifnextchar[{\blx@range@aux@i#1}{#1[\@firstofone][\@firstofone]}}
\def\blx@range@aux@i#1[#2]{%
- \@ifnextchar[{#1[#2]}{#1[#2][\@firstofone]}}
+ \@ifnextchar[{#1[{#2}]}{#1[{#2}][\@firstofone]}}
\def\blx@normrange@i[#1][#2]#3{%
\let\blx@tempa\@empty
@@ -3301,9 +3436,9 @@
% Unicode en-dashes are supported in blx-unicode.def
\def\blx@genrange@split#1{%
- \edef\blx@normrange@abort{%
+ \protected@edef\blx@normrange@abort{%
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}%
+ \blx@range@out@item@process{\unexpanded{#1}}}}%
\blx@imc@ifpages{#1}
{\blx@normrange@range#1\bibrangedash\bibrangedash&}
{\blx@normrange@abort}}
@@ -3313,17 +3448,17 @@
{\blx@normrange@hyphen#1--&}
{\ifblank{#2}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}%
+ \blx@range@out@item@process{\unexpanded{#1}}%
\noexpand\bibrangedash}}%
\blx@tempc}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{%
+ \blx@range@out@item@process{%
\unexpanded{#2}}}}%
\blx@tempc}
{\blx@range@process{#1}{#2}}}}}
@@ -3338,10 +3473,10 @@
\blx@normrange@hyphen@i#3&}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{%
+ \blx@range@out@item@process{%
\unexpanded{#2}}}}%
\blx@tempc}
{\blx@range@process{#1}{#2}}}}}
@@ -3349,18 +3484,18 @@
\def\blx@normrange@hyphen@i#1-#2&{%
\ifblank{#1#2}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\expandonce\blx@tempb}%
+ \blx@range@out@item@process{\expandonce\blx@tempb}%
\noexpand\bibrangedash}}%
\blx@tempc}
{\notblank{#1}
{\ifdefempty\blx@tempb
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{%
+ \blx@range@out@item@process{%
\unexpanded{#1}}}}%
\blx@tempc}
{\expandafter\blx@range@process
@@ -3369,11 +3504,11 @@
\def\blx@normrange@process#1#2{%
\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}%
+ \blx@range@out@item@process{\unexpanded{#1}}%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
\blx@tempc}
% <*>[<postpro>]{<string>}
@@ -3414,11 +3549,11 @@
{\@secondoftwo}
{\blx@comprange@comp{#1}{#2}}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}%
+ \blx@range@out@item@process{\unexpanded{#1}}%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
\blx@tempc}}
\def\blx@comprange@comp#1#2{%
@@ -3450,11 +3585,11 @@
\numdef\blx@tempc\blx@tempd
\fi
\begingroup
- \edef\blx@tempb{\endgroup
+ \protected@edef\blx@tempb{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\blx@tempb}%
+ \blx@range@out@item@process{\blx@tempb}%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\blx@tempc}}}%
+ \blx@range@out@item@process{\blx@tempc}}}%
\blx@tempb}
\def\blx@comprange@comp@div{%
@@ -3508,9 +3643,9 @@
% Unicode en-dashes are supported in blx-unicode.def
\def\blx@firstpage@split#1{%
- \edef\blx@firstpage@abort{%
+ \protected@edef\blx@firstpage@abort{%
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}%
+ \blx@range@out@item@process{\unexpanded{#1}}}}%
\blx@firstpage@range#1\bibrangedash\bibrangedash&}
\def\blx@firstpage@range#1\bibrangedash#2\bibrangedash#3&{%
@@ -3518,15 +3653,15 @@
{\blx@firstpage@hyphen#1--&}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
\blx@tempc}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}%
+ \blx@range@out@item@process{\unexpanded{#1}}}}%
\blx@tempc}}}
\def\blx@firstpage@hyphen#1-#2-#3&{%
@@ -3536,16 +3671,16 @@
{\ifblank{#2}
{\blx@firstpage@hyphen@i#3&}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{%
+ \blx@range@out@item@process{%
\unexpanded{#2}}}}%
\blx@tempc}}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}%
+ \blx@range@out@item@process{\unexpanded{#1}}}}%
\blx@tempc}}}
\def\blx@firstpage@hyphen@i#1-#2&{%
@@ -3554,10 +3689,10 @@
{\blx@firstpage@abort}
{\blx@firstpage@hyphen@i#2&}}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{%
+ \blx@range@out@item@process{%
\unexpanded{#1}}}}%
\blx@tempc}}
@@ -3597,7 +3732,7 @@
\blx@cleardelim{#2}%
\ifblank{#1}
{\blx@declaredelim{#2}{#3}}
- {\blx@declaredelim[#1]{#2}{#3}}}
+ {\blx@declaredelim[{#1}]{#2}{#3}}}
\newrobustcmd*{\blx@declaredelim}[3][]{%
\ifblank{#1}
@@ -3615,13 +3750,71 @@
\csdef{#1##1}{#4}}%
\forcsvlist{\do@i}{#3}}
-% *[<alias context, ...>]{<alias>}[<delim context>]{<delim>}
+% [<alias context, ...>]{<alias>}[<delim context>]{<delim>}
+% deprecated: *[<alias context, ...>]{<alias>}[<delim context>]{<delim>}
+% the starred version is only implemented for backwards compatibility
+% the only difference is that a missing first argument
+% implies the global/empty context
\newrobustcmd*{\DeclareDelimAlias}{%
\@ifstar
- {\blx@declaredelimalias@expl}
- {\blx@declaredelimalias@auto}}
+ {\blx@declaredelimalias@s}
+ {\blx@declaredelimalias@a}}
-\newrobustcmd*{\blx@declaredelimalias@auto}[2]{%
+\def\blx@declaredelimalias@s{%
+ \blx@warning{%
+ The starred command '\string\DeclareDelimAlias*' is\MessageBreak
+ deprecated.%
+ \MessageBreak
+ Use the unstarred version '\string\DeclareDelimAlias'\MessageBreak
+ instead}%
+ \@ifnextchar[%]
+ {\blx@declaredelimalias@om}
+ {\blx@declaredelimalias@om[]}}
+
+\def\blx@declaredelimalias@a{%
+ \@ifnextchar[%]
+ {\blx@declaredelimalias@om}
+ {\blx@declaredelimalias@m}}
+
+\def\blx@declaredelimalias@m#1{%
+ \@ifnextchar[%]
+ {\blx@declaredelimalias@mom{#1}}
+ {\blx@declaredelimalias@mm{#1}}}
+
+\def\blx@declaredelimalias@mm{%
+ \blx@declaredelimalias@auto}
+
+\def\blx@declaredelimalias@mom{%
+ \blx@declaredelimalias@omom[]}
+
+\def\blx@declaredelimalias@om[#1]#2{%
+ \@ifnextchar[%]
+ {\blx@declaredelimalias@omom[{#1}]{#2}}
+ {\blx@declaredelimalias@omm[{#1}]{#2}}}
+
+% hrmpf ... remember that \docsvlist doesn't do anthing for empty
+% lists/list items
+\def\blx@declaredelimalias@omom[#1]#2[#3]#4{%
+ \ifstrequal{#1}{*}
+ {\ifstrequal{#3}{*}
+ {\blx@declaredelimalias@auto{#2}{#4}}
+ {\blx@cleardelim{#1}%
+ \blx@declaredelimalias@manual{}{#2}{#3}{#4}}}
+ {\def\do##1{\blx@declaredelimalias@manual{##1}{#2}{#3}{#4}}%
+ \ifblank{#1}
+ {\do{}}
+ {\docsvlist{#1}}}}
+
+\def\blx@declaredelimalias@omm[#1]#2#3{%
+ \ifstrequal{#1}{*}
+ {\blx@declaredelimalias@auto{#2}{#3}}
+ {\def\do##1{\blx@declaredelimalias@manual{##1}{#2}{##1}{#3}}%
+ \ifblank{#1}
+ {\do{}}
+ {\docsvlist{#1}}}}
+
+% {<alias>}{<source>}
+\def\blx@declaredelimalias@auto#1#2{%
\blx@cleardelim{#1}%
\blx@declaredelimalias@def{}{#1}{}{#2}%
\ifcsvoid{blx@declaredelimcontexts@#2}
@@ -3631,37 +3824,15 @@
{blx@printdelim@##1@}{#1}{blx@printdelim@##1@}{#2}}%
\dolistcsloop{blx@declaredelimcontexts@#2}}}
-\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{%
+% {<alias context>}{<alias>}{<source context>}{<source>}
+\def\blx@declaredelimalias@manual#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}}}
+ {\blx@declaredelimalias@def{blx@printdelim@#1@}{#2}{}{#4}}}
+ {\blx@declaredelimalias@def{blx@printdelim@#1@}{#2}{blx@printdelim@#3@}{#4}}}
\def\blx@declaredelimalias@def#1#2#3#4{%
\ifcsdef{#1#2}
@@ -3707,6 +3878,7 @@
\blx@regimcs{\UseUsedriverHook}
\AtUsedriver{%
+ \delimcontext{bib}%
\let\finentry\blx@finentry@usedrv
\let\newblock\relax
\let\abx@macro@bibindex\@empty
@@ -3715,7 +3887,6 @@
% {<init>}{<entrytype>}
\protected\def\blx@imc@usedriver#1#2{%
\begingroup
- \delimcontext{bib}%
\csuse{blx@hook@usedriver}%
\csuse{blx@hook@bbxinit}#1%
\blx@beglangbib
@@ -3830,37 +4001,75 @@
\def\ifentrycategory{\blx@imc@ifentrycategory}
\def\ifentrykeyword{\blx@imc@ifentrykeyword}
+
\def\blx@imc@iflabeldateisdate{%
- \ifboolexpr{%
- togl {blx@labeldateparts}
- and not test {\iffieldundef{labeldatesource}}
- and
- (test {\iffieldequalstr{labeldatesource}{}}
- or test {\iffieldequalstr{labeldatesource}{year}})}}
+ \iftoggle{blx@labeldateparts}
+ {\iffieldundef{labeldatesource}
+ {\@secondoftwo}
+ {\iffieldequalstr{labeldatesource}{}
+ {\@firstoftwo}
+ {\iffieldequalstr{labeldatesource}{year}}}}
+ {\@secondoftwo}}
+
\def\blx@imc@ifdatehasyearonlyprecision#1{%
- \ifboolexpr{not test {\iffieldundef{#1year}}
- and (test {\ifcsstring{blx@dateformat@#1date}{year}}
- or (test {\iffieldundef{#1month}}
- and test {\iffieldundef{#1season}}))}}
+ \iffieldundef{#1year}
+ {\@secondoftwo}
+ {\ifcsstring{blx@dateformat@#1date}{year}
+ {\@firstoftwo}
+ {\iffieldundef{#1month}
+ {\iffieldundef{#1season}}
+ {\@secondoftwo}}}}
\def\blx@imc@ifdatehastime#1{%
- \ifboolexpr{togl {blx@#1dateusetime}
- and not test {\iffieldundef{#1hour}}}}
+ \iftoggle{blx@#1dateusetime}
+ {\iffieldundef{#1hour}
+ {\@secondoftwo}
+ {\@firstoftwo}}
+ {\@secondoftwo}}
\def\blx@imc@ifdateshavedifferentprecision#1#2{%
- \ifboolexpr{ (test {\ifdatehasyearonlyprecision{#1}}
+ \ifboolexpr{ ( test {\ifdatehasyearonlyprecision{#1}}
and not test {\ifdatehasyearonlyprecision{#2}})
- or (not test {\ifdatehasyearonlyprecision{#1}}
- and test {\ifdatehasyearonlyprecision{#2}})
- or (test {\ifdatehastime{#1}}
+ or ( not test {\ifdatehasyearonlyprecision{#1}}
+ and test {\ifdatehasyearonlyprecision{#2}})
+ or ( test {\ifdatehastime{#1}}
and not test {\ifdatehastime{#2}})
- or (not test {\ifdatehastime{#1}}
- and test {\ifdatehastime{#2}})}}
+ 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}}}}
+ \iffieldsequal{#1year}{#2year}
+ {\iffieldundef{#1dateera}
+ {\iffieldundef{#2dateera}}
+ {\iffieldsequal{#1dateera}{#2dateera}}}
+ {\@secondoftwo}}
+
+\def\blx@reconstruct@comparabledate#1{%
+ \thefield{#1year}-\thefield{#1month}(\thefield{#1season})-%
+ \thefield{#1day}T%
+ \thefield{#1hour}:\thefield{#1minute}:\thefield{#1second}Z%
+ \thefield{#1timezone}//%
+ e\thefield{#1dateera}E%
+ c\csuse{if#1datecirca}{T}{F}%
+ j\csuse{if#1datejulian}{T}{F}%
+ r\csuse{if#1dateuncertain}{T}{F}%
+ k\csuse{if#1dateunknown}{T}{F}%
+}
+
+\def\blx@imc@ifdatesequal#1#2{%
+ \begingroup
+ \edef\blx@tempa{\blx@reconstruct@comparabledate{#1}}%
+ \edef\blx@tempb{\blx@reconstruct@comparabledate{#2}}%
+ \edef\blx@tempc{\endgroup
+ \ifstrequal{\blx@tempa}{\blx@tempb}}%
+ \blx@tempc
+}
+
+\def\blx@imc@ifdaterangesequal#1#2{%
+ \blx@imc@ifdatesequal{#1}{#2}
+ {\blx@imc@ifdatesequal{#1end}{#2end}}
+ {\@secondoftwo}}
\blx@regimcs{%
\ifdriver \thefield \strfield \csfield \usefield \thelist \strlist
@@ -3881,7 +4090,7 @@
\iffieldint \iffieldnum \iffieldnums \iffieldpages
\iflabeldateisdate \ifdatehasyearonlyprecision \ifdatehastime
\ifdateshavedifferentprecision
- \ifdateyearsequal
+ \ifdateyearsequal \ifdatesequal \ifdaterangesequal
\mkpageprefix \mkpagetotal
\newblock \newunit \setunit \printunit \finentry}
@@ -3927,279 +4136,6 @@
%% Global formatting hooks
-% capitalization
-
-% {<text>}
-\newrobustcmd{\MakeCapital}[1]{%
- \begingroup
- \blx@mkcp@init
- \protected@edef\blx@tempa{#1}%
- \expandafter\blx@mkcp@parse\blx@tempa\@empty\blx@mkcp@end}
-
-\def\blx@mkcp@init{%
- \def\blx@mkcp@iec{\noexpand\blx@mkcp@iec\noexpand}%
- \def\blx@mkcp@bbl{\noexpand\blx@mkcp@bbl\noexpand}%
- \def\blx@mkcp@sgl{\noexpand\blx@mkcp@sgl\noexpand}%
- \def\blx@mkcp@dbl{\noexpand\blx@mkcp@dbl\noexpand}%
- \def\do##1{\def##1{\blx@mkcp@sgl##1}}\abx@dosingleaccents
- \def\do##1{\def##1{\blx@mkcp@dbl##1}}\abx@dodoubleaccents
- \def\IeC##1{\blx@mkcp@iec\IeC{##1}}%
- \def\@tabacckludge##1{%
- \expandafter\blx@mkcp@sgl\csname\string##1\endcsname}}
-
-\begingroup
-\catcode`\"=\active
-\gappto\blx@mkcp@init{%
- \ifnum\catcode`\"=\active
- \def"#1{\blx@mkcp@bbl"\noexpand#1}%
- \fi}
-\endgroup
-
-\def\blx@mkcp@parse{%
- \futurelet\@let@token\blx@mkcp@eval}
-
-\long\def\blx@mkcp@eval{%
- \ifx\@let@token\blx@mkcp@iec
- \expandafter\blx@mkcp@getiec
- \fi
- \ifx\@let@token\blx@mkcp@bbl
- \expandafter\blx@mkcp@gettwo
- \fi
- \ifx\@let@token\blx@mkcp@sgl
- \expandafter\blx@mkcp@gettwo
- \fi
- \ifx\@let@token\blx@mkcp@dbl
- \expandafter\blx@mkcp@getthree
- \fi
- \blx@mkcp@case}
-
-\def\blx@mkcp@getiec#1\blx@mkcp@case#2#3#4{%
- \blx@mkcp@case{#2#3{#4}}}
-
-\def\blx@mkcp@gettwo#1\blx@mkcp@case#2#3#4{%
- \blx@mkcp@case{#2#3#4}}
-
-\def\blx@mkcp@getthree#1\blx@mkcp@case#2#3#4#5{%
- \blx@mkcp@case{#2#3#4#5}}
-
-\long\def\blx@mkcp@case#1{%
- \begingroup
- \def\i{I}\def\j{J}%
- \def\do##1##2{\let##1##2\do}%
- \expandafter\do\@uclclist\relax{\relax\@gobble}%
- \uppercase{\protected@edef\blx@tempa{\endgroup\blx@mkcp@end#1}}%
- \blx@tempa}
-
-\protected\long\def\blx@mkcp@end#1\blx@mkcp@end{%
- \let\blx@mkcp@iec\noexpand
- \let\blx@mkcp@bbl\noexpand
- \let\blx@mkcp@sgl\noexpand
- \let\blx@mkcp@dbl\noexpand
- \protected@edef\blx@tempa{\endgroup#1}%
- \blx@tempa}
-
-\def\abx@dosingleaccents{%
- \do\"\do\'\do\`\do\^\do\~\do\=\do\.%
- \do\H\do\b\do\c\do\d\do\r\do\u\do\v}
-\def\abx@dodoubleaccents{%
- \do\t}
-
-% {<text>}
-\newrobustcmd*{\MakeSentenceCase}{%
- \@ifstar\blx@mksc@i\blx@mksc@ii}
-
-% Check, in order:
-% * explicit option language=<lang>, which overrides everything
-% * langid field of entry
-% * babel/polyglossia lang
-% * main document lang
-\def\blx@mksc@i{%
- \ifdef\blx@forcelanguagename
- {\xifinlist\blx@forcelanguagename\blx@cmksc@lang
- {\blx@mksc@ii}
- {\@firstofone}}
- {\ifdef\abx@field@langid
- {\xifinlist\abx@field@langid\blx@cmksc@lang
- {\blx@mksc@ii}
- {\@firstofone}}
- {\ifdef\blx@main@language
- {\xifinlist\blx@main@language\blx@cmksc@lang
- {\blx@mksc@ii}
- {\@firstofone}}
- {\xifinlist\blx@languagename\blx@cmksc@lang
- {\blx@mksc@ii}
- {\@firstofone}}}}}
-
-\long\def\blx@mksc@ii#1{%
- \begingroup
- \let\blx@tempa\@empty
- \let\blx@tempb\@empty
- \blx@mksc@init
- \protected@edef\@tempa{#1}%
- \expandafter\blx@mksc@parse\@tempa\blx@mksc@end}
-
-\def\blx@mksc@init{%
- \blx@mkcp@init
- \def\blx@mkcp@nil{\noexpand\blx@mkcp@nil\noexpand}%
- \def\i{\blx@mkcp@nil\i}\def\j{\blx@mkcp@nil\j}%
- \def\do##1{%
- \ifx##1\relax
- \else
- \def##1{\blx@mkcp@nil##1}%
- \expandafter\do
- \fi}%
- \expandafter\do\@uclclist\relax}
-
-\def\blx@mksc@parse{%
- \futurelet\@let@token\blx@mksc@eval}
-
-\def\blx@mksc@eval{%
- \ifx\@let@token\blx@mksc@end
- \expandafter\blx@mksc@end
- \fi
- \ifx\@let@token\bgroup
- \expandafter\blx@mksc@group
- \fi
- \ifx\@let@token\@sptoken
- \expandafter\blx@mksc@space
- \fi
- \ifx\@let@token\blx@mkcp@nil
- \expandafter\blx@mksc@getone
- \fi
- \ifx\@let@token\blx@mkcp@iec
- \expandafter\blx@mksc@getiec
- \fi
- \ifx\@let@token\blx@mkcp@bbl
- \expandafter\blx@mksc@gettwo
- \fi
- \ifx\@let@token\blx@mkcp@sgl
- \expandafter\blx@mksc@gettwo
- \fi
- \ifx\@let@token\blx@mkcp@dbl
- \expandafter\blx@mksc@getthree
- \fi
- \if\noexpand\@let@token\relax
- \expandafter\blx@mksc@cs
- \fi
- \blx@mksc@other}
-
-\def\blx@mksc@end#1\blx@mksc@end{%
- \blx@mksc@eject
- \let\blx@mkcp@nil\noexpand
- \let\blx@mkcp@iec\noexpand
- \let\blx@mkcp@bbl\noexpand
- \let\blx@mkcp@sgl\noexpand
- \let\blx@mkcp@dbl\noexpand
- \let\MakeUppercase\relax
- \let\MakeLowercase\relax
- \protected@edef\blx@tempa{\endgroup\blx@tempa}%
- \blx@tempa}
-
-\long\def\blx@mksc@group#1\blx@mksc@other#2{%
- \futurelet\@let@token\blx@mksc@ingroup#2&{#2}%
- \blx@mksc@endhead
- \blx@mksc@parse}
-
-\long\def\blx@mksc@ingroup#1&#2{%
- \if\noexpand\@let@token\relax
- \ifx\@let@token\blx@mkcp@sgl
- \blx@mksc@nocase{{#2}}%
- \else
- \ifx\@let@token\blx@mkcp@dbl
- \blx@mksc@nocase{{#2}}%
- \else
- \blx@mksc@locase{{#2}}%
- \fi
- \fi
- \else
- \blx@mksc@nocase{{#2}}%
- \fi}
-
-\def\blx@mksc@space{\def\blx@mksc@space##1\blx@mksc@other}
-\csuse{blx@mksc@space} {%
- \blx@mksc@anycase{ }%
- \blx@mksc@endhead
- \blx@mksc@parse}
-
-\long\def\blx@mksc@cs#1\blx@mksc@other#2{%
- \ifcat\noexpand~\noexpand#2%
- \blx@mksc@locase{#2}%
- \else
- \blx@mksc@nocase{#2}%
- \fi
- \blx@mksc@endhead
- \blx@mksc@parse}
-
-\def\blx@mksc@getiec#1\blx@mksc@other#2#3#4{%
- \blx@mksc@other{#2#3{#4}}}
-
-\def\blx@mksc@getone#1\blx@mksc@other#2#3{%
- \blx@mksc@other{#2#3}}
-
-\def\blx@mksc@gettwo#1\blx@mksc@other#2#3#4{%
- \blx@mksc@other{#2#3#4}}
-
-\def\blx@mksc@getthree#1\blx@mksc@other#2#3#4#5{%
- \blx@mksc@other{#2#3#4#5}}
-
-\long\def\blx@mksc@other#1{%
- \blx@mksc@locase{#1}%
- \blx@mksc@endhead
- \blx@mksc@parse}
-
-\def\blx@mksc@locase{%
- \appto\blx@tempb}
-
-\def\blx@mksc@nocase{%
- \blx@mksc@eject
- \appto\blx@tempa}
-
-\def\blx@mksc@anycase{%
- \ifx\blx@tempb\@empty
- \expandafter\appto
- \expandafter\blx@tempa
- \else
- \expandafter\appto
- \expandafter\blx@tempb
- \fi}
-
-\def\blx@mksc@eject{%
- \ifx\blx@tempb\@empty
- \else
- \eappto\blx@tempa{\noexpand\MakeLowercase{\expandonce\blx@tempb}}%
- \let\blx@tempb\@empty
- \fi}
-
-\def\blx@mksc@endhead{%
- \ifx\blx@tempb\@empty
- \else
- \eappto\blx@tempa{\noexpand\MakeCapital{\expandonce\blx@tempb}}%
- \let\blx@tempb\@empty
- \fi
- \let\blx@mksc@endhead\relax}
-
-% {<language,language,...>}
-\newrobustcmd*{\DeclareCaseLangs}{%
- \@ifstar
- {\blx@defcaselangs}
- {\global\let\blx@cmksc@lang\@empty
- \blx@defcaselangs}}
-
-\def\blx@defcaselangs#1{%
- \ifblank{#1}
- {}
- {\forcsvlist{\listgadd\blx@cmksc@lang}{#1}}}
-
-\DeclareCaseLangs{%
- american,british,canadian,
- english,USenglish,UKenglish,
- australian,newzealand}
-
-\newrobustcmd*{\ifcaselang}[1][]{%
- \ifblank{#1}
- {\xifinlist\blx@languagename\blx@cmksc@lang}
- {\xifinlist{#1}\blx@cmksc@lang}}
-
%% Main formatting commands
% They work by creating a \let alias:
% \abx@<class>@<entrytype>@<formatname> -> \blx@defformat@d
@@ -4240,19 +4176,11 @@
\@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{%
@@ -4260,8 +4188,8 @@
{\blx@defformat@i{#1}{#2}{#3}}
{\blx@defformat@i{#1}{#2}{#3}[*]}}
-% {<macro>}{<class>}{<*>}[<entrytype>]{<name>}
-\def\blx@defformat@i#1#2#3[#4]#5{%
+% {<macro>}{<class>}{<*>}[<entrytype>]{<name>}{<code>}
+\def\blx@defformat@i#1#2#3[#4]#5#6{%
\notblank{#3}
{\blx@resetformat{#2}{#5}}
{}%
@@ -4269,7 +4197,7 @@
\def\blx@defformat@b{#4}%
\blx@xsanitizeafter{\def\blx@defformat@c}{#5}%
\afterassignment\blx@defformat@ii
- #1}
+ #1{#6}}
\def\blx@defformat@ii{%
\expandafter\forcsvlist
@@ -4366,10 +4294,8 @@
\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
@@ -4413,13 +4339,9 @@
\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][]{%
@@ -4467,7 +4389,7 @@
\iftoggle{blx@loadfiles}
{\IfFileExists{#2}
{\listxadd\blx@list@req@edit{#2}%
- \blx@imc@printtext[#1]{\input{#2}\unspace}}
+ \blx@imc@printtext[{#1}]{\input{#2}\unspace}}
{\blx@nounit}}
{\blx@nounit}}
@@ -4547,17 +4469,17 @@
\c@uniquelist\z@
\ifblank{#1}
{}
- {\setkeys{blx@opt@namelist}{#1}}%
+ {\blx@kv@setkeys{blx@opt@namelist}{#1}}%
\def\blx@thedata{#2}}
% Biber-calculated info passed back to biblatex as an option in the .bbl
% unlike stuff defined with \DeclareBiblatexOption and
% \blx@DeclareBackendOption these are not 'real' options
-\define@key{blx@opt@namelist}{ul}{\c@uniquelist#1\relax}
+\blx@kv@defkey{blx@opt@namelist}{ul}{\c@uniquelist#1\relax}
-\define@key{blx@opt@name}{un}{\c@uniquename#1\relax}
-\define@key{blx@opt@name}{uniquepart}{\def\abx@field@uniquepart{#1}}
-\define@key{blx@opt@name}{hash}{\edef\abx@field@hash{\detokenize{#1}}}
+\blx@kv@defkey{blx@opt@name}{un}{\c@uniquename#1\relax}
+\blx@kv@defkey{blx@opt@name}{uniquepart}{\def\abx@field@uniquepart{#1}}
+\blx@kv@defkey{blx@opt@name}{hash}{\edef\abx@field@hash{\detokenize{#1}}}
\newrobustcmd*{\bibinitperiod}{\adddot}
@@ -4577,17 +4499,15 @@
\def\blx@indexnames#1#2#3#4{%
\blx@imc@ifnameundef{#4}
{}
- {\blx@getformat\blx@thewrapperformat{nxd}{#1}{#4}%
- \ifdefvoid\blx@thewrapperformat
+ {\blx@getformat\blx@theformat{nid}{#1}{#4}%
+ \ifdefvoid\blx@theformat
{}
- {\blx@getformat\blx@theformat{nid}{#1}{#4}%
- \ifdefvoid\blx@theformat
- {}
- {\begingroup
- \blx@namesetup{#2}{#3}{#4}%
- \blx@indexnamesetup
- \expandafter\blx@nameparser\blx@thedata{}&%
- \endgroup}}}}
+ {\begingroup
+ \blx@namesetup{#2}{#3}{#4}%
+ \blx@indexnamesetup
+ \expandafter\blx@nameparser\blx@thedata{}&%
+ \endgroup}}}
+
\def\blx@indexnamesetup{%
\let\bibinitperiod\bibindexinitperiod
@@ -4618,13 +4538,13 @@
\begingroup
\ifblank{#1}
{}
- {\setkeys{blx@opt@name}{#1}}%
+ {\blx@kv@setkeys{blx@opt@name}{#1}}%
% reset all the nameparts to empty between names
\def\do##1{%
\cslet{namepart##1}\@empty
\cslet{namepart##1i}\@empty}%
\expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}%
- \setkeys{blx@opt@namepart}{#2}% Extract nameparts information
+ \blx@kv@setkeys{blx@opt@namepart}{#2}% Extract nameparts information
% 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
@@ -4687,16 +4607,13 @@
\def\blx@indexlist#1#2#3#4{%
\blx@imc@iflistundef{#4}
{}
- {\blx@getformat\blx@thewrapperformat{lxd}{#1}{#4}%
- \ifdefvoid\blx@thewrapperformat
+ {\blx@getformat\blx@theformat{lid}{#1}{#4}%
+ \ifdefvoid\blx@theformat
{}
- {\blx@getformat\blx@theformat{lid}{#1}{#4}%
- \ifdefvoid\blx@theformat
- {}
- {\begingroup
- \blx@listsetup{#2}{#3}{#4}%
- \expandafter\blx@listparser\blx@thedata{}&%
- \endgroup}}}}
+ {\begingroup
+ \blx@listsetup{#2}{#3}{#4}%
+ \expandafter\blx@listparser\blx@thedata{}&%
+ \endgroup}}}
% {<item1>}{<item2>}{...}
\long\def\blx@listparser#1{%
@@ -4797,6 +4714,20 @@
%% Localization
+% {<wrapper>}{<long/short>}{<string>}{<print code>}
+% <print code> is executed when the bibstring is defined
+% it differs between the \bib...string versions
+% in <print code> \blx@tempa should be used as <string>
+\protected\def\blx@met@bibstring#1#2#3#4{%
+ \blx@begunit
+ \blx@hyphenreset
+ \blx@bibstringsimple
+ \lowercase{\edef\blx@tempa{#3}}%
+ \ifcsundef{#2@\blx@tempa}
+ {\blx@warn@nostring\blx@tempa
+ \blx@endnounit}
+ {#4}}
+
% [<wrapper>]{<string>}
\newrobustcmd*{\blx@imc@bibstring}[2][\@firstofone]{%
\blx@bibstring{#1}{\abx@str}{#2}}
@@ -4818,19 +4749,28 @@
\let\bibsstring\blx@imc@bibsstring}
\protected\def\blx@bibstring#1#2#3{%
- \blx@begunit
- \blx@hyphenreset
- \blx@bibstringsimple
- \lowercase{\edef\blx@tempa{#3}}%
- \ifcsundef{#2@\blx@tempa}
- {\blx@warn@nostring\blx@tempa
- \blx@endnounit}
+ \blx@met@bibstring{#1}{#2}{#3}
{\blx@imc@ifcapital
{#1{\MakeCapital{\csuse{#2@\blx@tempa}}}}
{#1{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% [<wrapper>]{<string>}
+\newrobustcmd*{\blx@imc@bibncpstring}[2][\@firstofone]{%
+ \blx@bibncpstring{#1}{\abx@str}{#2}}
+
+\newrobustcmd*{\blx@imc@bibncplstring}[2][\@firstofone]{%
+ \blx@bibncpstring{#1}{abx@lstr}{#2}}
+
+\newrobustcmd*{\blx@imc@bibncpsstring}[2][\@firstofone]{%
+ \blx@bibncpstring{#1}{abx@sstr}{#2}}
+
+\protected\def\blx@bibncpstring#1#2#3{%
+ \blx@met@bibstring{#1}{#2}{#3}
+ {#1{\csuse{#2@\blx@tempa}}%
+ \blx@endunit}}
+
+% [<wrapper>]{<string>}
\newrobustcmd*{\blx@imc@bibcpstring}[2][\@firstofone]{%
\blx@bibcpstring{#1}{\abx@str}{#2}}
@@ -4841,13 +4781,7 @@
\blx@bibcpstring{#1}{abx@sstr}{#2}}
\protected\def\blx@bibcpstring#1#2#3{%
- \blx@begunit
- \blx@hyphenreset
- \blx@bibstringsimple
- \lowercase{\edef\blx@tempa{#3}}%
- \ifcsundef{#2@\blx@tempa}
- {\blx@warn@nostring\blx@tempa
- \blx@endnounit}
+ \blx@met@bibstring{#1}{#2}{#3}
{#1{\MakeCapital{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
@@ -4862,14 +4796,8 @@
\blx@biblcstring{#1}{abx@sstr}{#2}}
\protected\def\blx@biblcstring#1#2#3{%
- \blx@begunit
- \blx@hyphenreset
- \blx@bibstringsimple
- \lowercase{\edef\blx@tempa{#3}}%
- \ifcsundef{#2@\blx@tempa}
- {\blx@warn@nostring\blx@tempa
- \blx@endnounit}
- {#1{\MakeLowercase{\csuse{#2@\blx@tempa}}}%
+ \blx@met@bibstring{#1}{#2}{#3}
+ {#1{\blx@maketext@lowercase{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% [<wrapper>]{<string>}
@@ -4883,14 +4811,8 @@
\blx@bibucstring{#1}{abx@sstr}{#2}}
\protected\def\blx@bibucstring#1#2#3{%
- \blx@begunit
- \blx@hyphenreset
- \blx@bibstringsimple
- \lowercase{\edef\blx@tempa{#3}}%
- \ifcsundef{#2@\blx@tempa}
- {\blx@warn@nostring\blx@tempa
- \blx@endnounit}
- {#1{\MakeUppercase{\csuse{#2@\blx@tempa}}}%
+ \blx@met@bibstring{#1}{#2}{#3}
+ {#1{\blx@maketext@uppercase{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% {<string>}
@@ -4942,6 +4864,7 @@
\blx@regimcs{%
\bibstring \biblstring \bibsstring
\bibxstring \bibxlstring \bibxsstring
+ \bibncpstring \bibncplstring \bibncpsstring
\bibcpstring \bibcplstring \bibcpsstring
\biblcstring \biblclstring \biblcsstring
\bibucstring \bibuclstring \bibucsstring
@@ -5296,14 +5219,17 @@
\do{langjapanese}%
\do{langlatin}%
\do{langlatvian}%
+ \do{langlithuanian}%
\do{langnorwegian}%
\do{langpolish}%
\do{langportuguese}%
+ \do{langserbian}%
\do{langrussian}%
\do{langslovak}%
\do{langslovene}%
\do{langspanish}%
\do{langswedish}%
+ \do{langturkish}%
\do{langukrainian}%
\do{fromamerican}%
\do{frombrazilian}%
@@ -5324,15 +5250,18 @@
\do{fromitalian}%
\do{fromjapanese}%
\do{fromlatin}%
+ \do{fromlithuanian}%
\do{fromlatvian}%
\do{fromnorwegian}%
\do{frompolish}%
\do{fromportuguese}%
\do{fromrussian}%
+ \do{fromserbian}%
\do{fromslovak}%
\do{fromslovene}%
\do{fromspanish}%
\do{fromswedish}%
+ \do{fromturkish}%
\do{fromukrainian}%
\do{countryde}%
\do{countryep}%
@@ -5369,19 +5298,19 @@
\forcsvlist\blx@newstring{#1}}
\def\blx@newstring#1{%
- \ifcsundef{KV@blx@lbx@#1}
+ \blx@kv@ifkeyundef{blx@lbx}{#1}
{\gappto\abx@dostrings{\do{#1}}%
- \csgdef{KV@blx@lbx@#1}##1{\blx@defstring{#1}{##1}}}
+ \blx@kv@gdefkey{blx@lbx}{#1}{\blx@defstring{#1}{##1}}}
{}}
% in *.cbx/bbx/tex: <key> = {<string>},
% in *.lbx: <key> = {{<longstring>}{<abbrevstring>}},
-\def\do#1{\define@key{blx@lbx}{#1}{\blx@defstring{#1}{##1}}}
+\def\do#1{\blx@kv@defkey{blx@lbx}{#1}{\blx@defstring{#1}{##1}}}
\abx@dostrings
% in *.cbx/bbx/tex: (implicit)
% in *.lbx: inherit = {<language>},
-\define@key{blx@lbx}{inherit}{%
+\blx@kv@defkey{blx@lbx}{inherit}{%
\blx@lbxinput@strings{#1}{}{\blx@err@nolang{#1}}%
\csuse{abx@strings@#1}}
@@ -5443,7 +5372,7 @@
\def\do##1{\csundef{abx@lstr@##1}\csundef{abx@sstr@##1}}%
\abx@dostrings
\csuse{abx@strings@#1}%
- \setkeys{blx@lbx}{#2}%
+ \blx@kv@setkeys{blx@lbx}{#2}%
\let\do\blx@defbibstrings@i
\csxdef{abx@strings@#1}{\abx@dostrings}%
\csgappto{abx@strings@#1}{%
@@ -5457,6 +5386,10 @@
{\letcs\biblistname{\abx@str @shorthands}}
{\let\biblistname\@empty}}}
+% this one is special, it's basically ours and probably not defined
+% by anyone else, so we had better make sure it exists
+\providecommand*{\biblistname}{\blx@warn@nostring{shorthands}}
+
\def\blx@defbibstrings@i#1{%
\ifcsdef{abx@lstr@#1}
{\def\expandafter\noexpand\csname abx@lstr@#1\endcsname{%
@@ -5562,13 +5495,18 @@
\blx@info@noline{Trying to load #2..}%
\IfFileExists{#1}
{\blx@info@noline{... file '#1' found}%
- #3\@@input\@filef@und#4#5%
+ \csuse{blx@lbxfilehook@simple@preload@#1}%
+ #3\@@input\@filef@und#4%
+ \csuse{blx@lbxfilehook@simple@postload@#1}%
+ #5%
\ifcsundef{blx@file@lbx@simple@#1}
{\listxadd\blx@list@req@stat{#1}%
\@addtofilelist{#1}%
\global\cslet{blx@file@lbx@simple@#1}\@empty}
{}}
- {\blx@info@noline{... file '#1' not found}#6}}
+ {\blx@info@noline{... file '#1' not found}%
+ \csuse{blx@lbxfilehook@simple@failure@#1}%
+ #6}}
% {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>}
\protected\long\def\blx@lbx@input@handler@once#1#2#3#4#5#6{%
@@ -5576,12 +5514,17 @@
{\blx@info@noline{Trying to load #2..}%
\IfFileExists{#1}
{\blx@info@noline{... file '#1' found}%
- #3\@@input\@filef@und#4#5%
+ \csuse{blx@lbxfilehook@once@preload@#1}%
+ #3\@@input\@filef@und#4%
+ \csuse{blx@lbxfilehook@once@postload@#1}%
+ #5%
\ifcsundef{blx@file@lbx@simple@#1}
{\listxadd\blx@list@req@stat{#1}%
\@addtofilelist{#1}}
{}}
- {\blx@info@noline{... file '#1' not found}#6}%
+ {\blx@info@noline{... file '#1' not found}%
+ \csuse{blx@lbxfilehook@once@failure@#1}%
+ #6}%
\global\cslet{blx@file@lbx@once@#1}\@empty
\global\cslet{blx@file@lbx@simple@#1}\@empty}
{#5}}
@@ -5647,10 +5590,7 @@
{\edef\blx@languagename{#1}}
{\blx@warning
{Language '#1' not supported.\MessageBreak
- Using fallback language '\blx@languagename'}%
- \blx@lbxinput{\blx@languagename}
- {\blx@maplang{#1}{\blx@languagename}}
- {\blx@err@nolang{\blx@languagename}}}}
+ Using dummy definitions}}}
% auxiliary macros
@@ -5710,13 +5650,13 @@
{\iffieldsequal{#1minute}{#1endminute}
% 14:13:xx 14:13:xx
{\toggletrue{blx@seconds}%
- \printtext[#1time]{%
+ \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}{}{}%
+ \printtext[{#1time}]{\csuse{mkbibtime24h}{#1hour}{#1minute}{}{}%
\bibtimerangesep
\csuse{mkbibtime24h}{}{#1endminute}{}{}}}}
% 14:xx:xx 15:xx:xx
@@ -5724,17 +5664,20 @@
% {<24h|24hcomp|12h>}{<datetype>}
\newrobustcmd*{\mktimerange}[2]{%
- \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}}}}}}
+ \begingroup
+ \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}}}}}%
+ \endgroup}
% {<datetype>}{''|end}
\newrobustcmd*{\blx@timepre}[2]{%
@@ -5744,24 +5687,27 @@
{\blx@imc@clearfield{#1#2second}}}
\newcommand*{\blx@if@printtime}[2]{%
- \ifboolexpr{%
- togl {blx@#1dateusetime}
- and
- not test {\iffieldundef{#1#2hour}}}}
+ \iftoggle{blx@#1dateusetime}
+ {\iffieldundef{#1#2hour}
+ {\@secondoftwo}
+ {\@firstoftwo}}
+ {\@secondoftwo}}
\newcommand*{\blx@if@printanytimes}[1]{%
- \ifboolexpr{
- togl {blx@#1dateusetime}
- and
- ( not test {\iffieldundef{#1hour}}
- or not test {\iffieldundef{#1endhour}})}}
+ \iftoggle{blx@#1dateusetime}
+ {\iffieldundef{#1hour}
+ {\iffieldundef{#1endhour}
+ {\@secondoftwo}
+ {\@firstoftwo}}
+ {\@firstoftwo}}
+ {\@secondoftwo}}
% {<datetype>}{'' | end}
\newrobustcmd*{\blx@printtime}[2]{%
\blx@if@printtime{#1}{#2}
{\blx@timepre{#1}{#2}%
- \printtext{\bibdatetimesep}%
- \printtext[#1time]{%
+ \bibdatetimesep%
+ \printtext[{#1time}]{%
\csuse{mkbibtime\csuse{blx@timeformat@#1time}}
{#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}}
{}}
@@ -5772,7 +5718,7 @@
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\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
@@ -5803,7 +5749,7 @@
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\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
@@ -5818,18 +5764,17 @@
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
- \printtext{\mbox{\bibdaterangesep}}}
- {\printtext{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2endseason}
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
- % Optionally print the time after the date
- \blx@printtime{#2}{end}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
- \printfield{extradate}%
- \enddateuncertainprint
- \dateeraprint{#2endyear}}}}}%
+ \mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2endseason}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{end}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \printfield{extradate}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}%
\endgroup}
\newrobustcmd*{\mkdaterangetrunc}[2]{%
@@ -5842,7 +5787,7 @@
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\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
@@ -5883,7 +5828,7 @@
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\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
@@ -5905,37 +5850,38 @@
{\printfield{extradate}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
- \printtext{\mbox{\bibdaterangesep}}}
- {\printtext{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#2endseason}
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
- \printfield{extradate}%
- \enddateuncertainprint
- \dateeraprint{#2endyear}}}}}%
+ \mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2endseason}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \printfield{extradate}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}%
\endgroup}
\newrobustcmd*{\mkdaterangeyear}[1]{%
- \blx@imc@clearfield{#1season}%
- \blx@imc@clearfield{#1month}%
- \blx@imc@clearfield{#1day}%
- \blx@imc@clearfield{#1hour}%
- \blx@imc@clearfield{#1minute}%
- \blx@imc@clearfield{#1second}%
- \blx@imc@clearfield{#1timezone}%
- \blx@imc@clearfield{#1endseason}%
- \blx@imc@clearfield{#1endmonth}%
- \blx@imc@clearfield{#1endday}%
- \blx@imc@clearfield{#1endhour}%
- \blx@imc@clearfield{#1endminute}%
- \blx@imc@clearfield{#1endsecond}%
- \blx@imc@clearfield{#1endtimezone}%
- \ifdateyearsequal{#1}{#1end}
- {\blx@imc@clearfield{#1endyear}}
- {}%
- \mkdaterangefull{short}{#1}}
+ \begingroup
+ \blx@imc@clearfield{#1season}%
+ \blx@imc@clearfield{#1month}%
+ \blx@imc@clearfield{#1day}%
+ \blx@imc@clearfield{#1hour}%
+ \blx@imc@clearfield{#1minute}%
+ \blx@imc@clearfield{#1second}%
+ \blx@imc@clearfield{#1timezone}%
+ \blx@imc@clearfield{#1endseason}%
+ \blx@imc@clearfield{#1endmonth}%
+ \blx@imc@clearfield{#1endday}%
+ \blx@imc@clearfield{#1endhour}%
+ \blx@imc@clearfield{#1endminute}%
+ \blx@imc@clearfield{#1endsecond}%
+ \blx@imc@clearfield{#1endtimezone}%
+ \ifdateyearsequal{#1}{#1end}
+ {\blx@imc@clearfield{#1endyear}}
+ {}%
+ \mkdaterangefull{short}{#1}%
+ \endgroup}
% {<datetype>}
\newrobustcmd*{\mkdaterangeymd}[1]{%
@@ -5943,7 +5889,7 @@
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{\blx@nounit}
- {\printtext[#1date]{%
+ {\printtext[{#1date}]{%
\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
@@ -5975,7 +5921,7 @@
\blx@metadateinfo{#1}%
\iffieldundef{#1year}
{\blx@nounit}
- {\printtext[#1date]{%
+ {\printtext[{#1date}]{%
\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
@@ -5990,16 +5936,15 @@
{}
{\iffieldequalstr{#1endyear}{}
{\mbox{\bibdaterangesep}}
- {\printtext{%
- \bibdaterangesep
- \enddatecircaprint
- \iffieldundef{#1season}
- {\blx@ymddate{#1}{end}%
- % Optionally print the time after the date
- \blx@printtime{#1}{end}}
- {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#1season}
+ {\blx@ymddate{#1}{end}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{end}}
+ {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
\enddateuncertainprint
- \dateeraprint{#1endyear}}}}}%
+ \dateeraprint{#1endyear}}}}%
\endgroup}
% [extradate]{<datetype>}{''|end}
@@ -6010,24 +5955,26 @@
\iffieldundef{#2#3day}{}{\bibdatesep\mkdayzeros{\thefield{#2#3day}}}}
\newrobustcmd*{\mkdaterangeyearextra}[1]{%
- \blx@imc@clearfield{#1season}%
- \blx@imc@clearfield{#1month}%
- \blx@imc@clearfield{#1day}%
- \blx@imc@clearfield{#1hour}%
- \blx@imc@clearfield{#1minute}%
- \blx@imc@clearfield{#1second}%
- \blx@imc@clearfield{#1timezone}%
- \blx@imc@clearfield{#1endseason}%
- \blx@imc@clearfield{#1endmonth}%
- \blx@imc@clearfield{#1endday}%
- \blx@imc@clearfield{#1endhour}%
- \blx@imc@clearfield{#1endminute}%
- \blx@imc@clearfield{#1endsecond}%
- \blx@imc@clearfield{#1endtimezone}%
- \ifdateyearsequal{#1}{#1end}
- {\blx@imc@clearfield{#1endyear}}
- {}%
- \mkdaterangefullextra{short}{#1}}
+ \begingroup
+ \blx@imc@clearfield{#1season}%
+ \blx@imc@clearfield{#1month}%
+ \blx@imc@clearfield{#1day}%
+ \blx@imc@clearfield{#1hour}%
+ \blx@imc@clearfield{#1minute}%
+ \blx@imc@clearfield{#1second}%
+ \blx@imc@clearfield{#1timezone}%
+ \blx@imc@clearfield{#1endseason}%
+ \blx@imc@clearfield{#1endmonth}%
+ \blx@imc@clearfield{#1endday}%
+ \blx@imc@clearfield{#1endhour}%
+ \blx@imc@clearfield{#1endminute}%
+ \blx@imc@clearfield{#1endsecond}%
+ \blx@imc@clearfield{#1endtimezone}%
+ \ifdateyearsequal{#1}{#1end}
+ {\blx@imc@clearfield{#1endyear}}
+ {}%
+ \mkdaterangefullextra{short}{#1}%
+ \endgroup}
\newrobustcmd*{\mkdaterangeiso}[1]{%
\begingroup
@@ -6035,13 +5982,13 @@
\def\bibdatetimesep{T}%
\iffieldundef{#1year}
{\blx@nounit}
- {\printtext[#1date]{%
+ {\printtext[{#1date}]{%
\blx@isodate{#1}{}%
\ifboolexpr{%
togl {blx@#1dateusetime}
and
not test {\iffieldundef{#1hour}}}
- {\printtext{\bibdatetimesep}%
+ {\bibdatetimesep%
\blx@isotime{#1}{}}
{}%
\dateuncertainprint
@@ -6054,7 +6001,7 @@
togl {blx@#1dateusetime}
and
not test {\iffieldundef{#1endhour}}}
- {\printtext{\bibdatetimesep}%
+ {\bibdatetimesep%
\blx@isotime{#1}{end}}
{}%
\enddateuncertainprint
@@ -6067,13 +6014,13 @@
\def\bibdatetimesep{T}%
\iffieldundef{#1year}
{\blx@nounit}
- {\printtext[#1date]{%
+ {\printtext[{#1date}]{%
\blx@isodate[extradate]{#1}{}%
\ifboolexpr{%
togl {blx@#1dateusetime}
and
not test {\iffieldundef{#1hour}}}
- {\printtext{\bibdatetimesep}%
+ {\bibdatetimesep%
\blx@isotime{#1}{}}
{}%
\dateuncertainprint
@@ -6086,7 +6033,7 @@
togl {blx@#1dateusetime}
and
not test {\iffieldundef{#1endhour}}}
- {\printtext{\bibdatetimesep}%
+ {\bibdatetimesep%
\blx@isotime{#1}{end}}
{}%
\enddateuncertainprint
@@ -6194,13 +6141,17 @@
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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}
@@ -6226,7 +6177,7 @@
{\bibstring{pm}}%
\iffieldundef{#4}{}
{\space\bibtimezonesep
- \parentext{\mkbibtimezone{\thefield{#4}}}}}
+ \mkbibparens{\mkbibtimezone{\thefield{#4}}}}}
\newrobustcmd*{\mkbibseasondateshort}[2]{%
\blx@warning@noline{%
@@ -6353,28 +6304,65 @@
% User macro for retrieving currrent language
\def\currentlang{\blx@languagename}
+% We need to be able to prefix \providetoggle with \global,
+% plus we don't need the testing from \providetoggle anway.
+% This uses internal implementation details of etoolbox's
+% toggles, so is a bit meh, but it's better than rolling our own
+% version of toggles just for that.
+\newcommand*{\blx@etb@inittoggle}[1]{\cslet{etb@tgl@#1}\@secondoftwo}
+
+% There is no \nocaptions..., so if we send everything to \captions...
+% we need to find a way to call our noextras only in situations where
+% \noextras... is called to clean up \extras... AND \captions...
+% and not just \extras...
+% We detect this by setting a toggle in the \captions...
+
% {<language>}{<strings>}
\def\blx@maplang@babel#1#2{%
- \csgappto{extras#1}{%
- \blx@resetpunct
- \csuse{abx@extras@#2}%
- \csuse{abx@strings@#2}}%
- \csgappto{noextras#1}{%
- \blx@resetpunct
- \csuse{abx@noextras@#2}}}
+ \global\blx@etb@inittoggle{blx@lang@captions@#2}%
+ \ifdefstring{\blx@langhook}{captions}
+ {\csgappto{captions#1}{%
+ \toggletrue{blx@lang@captions@#2}%
+ \blx@resetpunct
+ \csuse{abx@extras@#2}%
+ \csuse{abx@strings@#2}}%
+ \csgappto{noextras#1}{%
+ \iftoggle{blx@lang@captions@#2}
+ {\blx@resetpunct
+ \csuse{abx@noextras@#2}}
+ {}}}
+ {\csgappto{extras#1}{%
+ \blx@resetpunct
+ \csuse{abx@extras@#2}%
+ \csuse{abx@strings@#2}}%
+ \csgappto{noextras#1}{%
+ \blx@resetpunct
+ \csuse{abx@noextras@#2}}}}
\def\blx@maplang@polyglossia#1#2{%
- \csgappto{blockextras@bbl@#1}{%
- \blx@resetpunct
- \csuse{abx@extras@#2}%
- \csuse{abx@strings@#2}}%
- \csgappto{inlinextras@bbl@#1}{%
- \blx@resetpunct
- \csuse{abx@extras@#2}%
- \csuse{abx@strings@#2}}%
- \csgappto{noextras@bbl@#1}{%
- \blx@resetpunct
- \csuse{abx@noextras@#2}}}
+ \global\blx@etb@inittoggle{blx@lang@captions@#2}%
+ \ifdefstring{\blx@langhook}{captions}
+ {\csgappto{captions@bbl@#1}{%
+ \toggletrue{blx@lang@captions@#2}%
+ \blx@resetpunct
+ \csuse{abx@extras@#2}%
+ \csuse{abx@strings@#2}}%
+ \csgappto{noextras@bbl@#1}{%
+ \iftoggle{blx@lang@captions@#2}
+ {\blx@resetpunct
+ \csuse{abx@noextras@#2}}
+ {}}}
+ {\csgappto{blockextras@bbl@#1}{%
+ \blx@resetpunct
+ \csuse{abx@extras@#2}%
+ \csuse{abx@strings@#2}}%
+ \csgappto{inlineextras@bbl@#1}{%
+ \blx@resetpunct
+ \csuse{abx@extras@#2}%
+ \csuse{abx@strings@#2}}%
+ \csgappto{noextras@bbl@#1}{%
+ \blx@resetpunct
+ \csuse{abx@noextras@#2}}}}
%% babel/polyglossia interface
\def\blx@beglang{\blx@clearlang\begingroup}
@@ -6398,53 +6386,61 @@
\lefthyphenmin#1\relax
\righthyphenmin#2\relax}
-\begingroup
-\@makeother\#
-\gdef\blx@mkautolangbabel{%
+
+
+\def\blx@mkautolangbabel{%
\ifundef\bbl@main@language
{\blx@error
{No default 'babel' language defined}
{You must define a default language for 'babel'}}
{\let\blx@main@language\bbl@main@language}%
- \pretocmd\select@language{\blx@langsetup{#1}}
- {\ifdef\blx@thelangenv
- {\def\blx@beglang{%
- \blx@clearlang
- \begingroup
- % Need to override all entries, regardless of if there is a langid
- % if language=<language> option is given
+ % use afterreset to get in a bit earlier
+ % we want to be there before \captions... is issued
+ % beforeextras is before extras, but captions come before extras
+ % afterreset was added in 3.9i (~2014-03-16)
+ % way before 3.9r (2016-04-23), which we require
+ \AddBabelHook{biblatex@langsetup}{afterreset}{%
+ \expandafter\blx@langsetup\expandafter{\languagename}}%
+ \ifdef\blx@thelangenv
+ {\def\blx@beglang{%
+ \blx@clearlang
+ \begingroup
+ % Need to override all entries, regardless of if there is a
+ % langid if language=<language> option is given
\ifboolexpr { test {\ifdef\abx@field@langid }
or
test {\ifdef\blx@forcelanguagename} }
- % override local langid if we forced it with
- % language=<language> option
- {\ifdef\blx@forcelanguagename
- {\let\abx@field@langid\blx@forcelanguagename}
- {}%
- \let\blx@languagename\abx@field@langid% track global language
- \blx@ifhyphenationundef{\abx@field@langid}
- {\blx@warn@nohyph{\abx@field@langid}}
- {\blx@hook@initlang
- \def\blx@endlang{%
- \blx@hook@endlang
- \csname end\blx@thelangenv\endcsname
- \endgroup}%
- \iftoggle{blx@autolangbib}
- {\let\blx@endlangbib\blx@endlang}
- {}%
- \iftoggle{blx@autolangcite}
- {\let\blx@endlangcite\blx@endlang}
- {}%
- \csname\blx@thelangenv\expandafter\endcsname
- \expandafter{\abx@field@langid}}}
- {}}}
- {}%
- \def\blx@imc@mainlang{\select@language{\blx@main@language}}%
- \blx@langsetup\blx@main@language}
- {\blx@err@patch{'babel' package}%
- \blx@mknoautolang}}
+ % override local langid if we forced it with
+ % language=<language> option
+ {\ifdef\blx@forcelanguagename
+ {\let\abx@field@langid\blx@forcelanguagename}
+ {}%
+ \let\blx@languagename\abx@field@langid% track global language
+ \blx@ifhyphenationundef{\abx@field@langid}
+ {\blx@warn@nohyph{\abx@field@langid}}
+ {\blx@hook@initlang
+ \def\blx@endlang{%
+ \blx@hook@endlang
+ \csname end\blx@thelangenv\endcsname
+ \endgroup}%
+ \iftoggle{blx@autolangbib}
+ {\let\blx@endlangbib\blx@endlang}
+ {}%
+ \iftoggle{blx@autolangcite}
+ {\let\blx@endlangcite\blx@endlang}
+ {}%
+ \csname\blx@thelangenv\expandafter\endcsname
+ \expandafter{\abx@field@langid}}}
+ {}}}
+ {}%
+ \def\blx@imc@mainlang{%
+ \expandafter\selectlanguage\expandafter{\blx@main@language}}%
+ \expandafter\blx@langsetup\expandafter{\blx@main@language}%
+}
-\gdef\blx@mkautolangpoly{%
+\def\blx@beglang@spacefactors{\frenchspacing}
+
+\def\blx@mkautolangpoly{%
\ifundef\mainbabelname
{\ifundef\bbl@main@language
{\blx@error
@@ -6452,59 +6448,57 @@
{You must define a default language for 'polyglossia'}}
{\let\blx@main@language\bbl@main@language}}
{\let\blx@main@language\mainbabelname}%
- \edef\blx@saved@underscore@catcode{\the\catcode`\_}%
- \catcode`\_=11% polyglossia uses "_" as a letter
- \pretocmd\select@language{\blx@langsetup{\babelname}}
- {\ifdef\blx@thelangenv
- {\def\blx@beglang{%
- \blx@clearlang
- \begingroup
- % Need to override all entries, regardless of if there is a
- % langid if language=<language> option is given
- \ifboolexpr { test {\ifdef\abx@field@langid }
- or
- test {\ifdef\blx@forcelanguagename} }
- % override local langid if we forced it with
- % language=<language> option
- {\ifdef\blx@forcelanguagename
- {\let\abx@field@langid\blx@forcelanguagename}
- {}%
- \let\blx@languagename\abx@field@langid% track global language
- \blx@ifhyphenationundef{\abx@field@langid}
- {\blx@warn@nohyph{\abx@field@langid}}
- {\blx@hook@initlang
- \def\blx@endlang{%
- \blx@hook@endlang
- % Polyglossia language envs are \<lang>[]
- \ifcsstring{blx@thelangenv}{langname}
- {\csname end\abx@field@langid\endcsname}
- {\csname end\blx@thelangenv\endcsname}%
- \endgroup}%
- \iftoggle{blx@autolangbib}
- {\let\blx@endlangbib\blx@endlang}
- {}%
- \iftoggle{blx@autolangcite}
- {\let\blx@endlangcite\blx@endlang}
- {}%
+ \ifundef\polyglossia@language@switched
+ {\apptocmd\select@language
+ {\expandafter\blx@langsetup\expandafter{\babelname}}
+ {}
+ {\blx@err@patch{'polyglossia' package}%
+ \blx@mknoautolang}}
+ {\appto\polyglossia@language@switched{%
+ \expandafter\blx@langsetup\expandafter{\babelname}}}%
+ \ifdef\blx@thelangenv
+ {\def\blx@beglang{%
+ \blx@clearlang
+ \begingroup
+ % Need to override all entries, regardless of if there is a
+ % langid if language=<language> option is given
+ \ifboolexpr { test {\ifdef\abx@field@langid }
+ or
+ test {\ifdef\blx@forcelanguagename} }
+ % override local langid if we forced it with
+ % language=<language> option
+ {\ifdef\blx@forcelanguagename
+ {\let\abx@field@langid\blx@forcelanguagename}
+ {}%
+ \let\blx@languagename\abx@field@langid% track global language
+ \blx@ifhyphenationundef{\abx@field@langid}
+ {\blx@warn@nohyph{\abx@field@langid}}
+ {\blx@hook@initlang
+ \def\blx@endlang{%
+ \blx@hook@endlang
+ % Polyglossia language envs are \<lang>[]
\ifcsstring{blx@thelangenv}{langname}
- {\ifdef\abx@field@langidopts
- {\csname\abx@field@langid\expandafter\endcsname\expandafter[\abx@field@langidopts]}
- {\csname\abx@field@langid\endcsname}}
- {\csname\blx@thelangenv\expandafter\endcsname\expandafter{\abx@field@langid}}%
- % These lines are equal to \blx@maplang
- \ifcsstring{blx@thelangenv}{hyphenrules}
- {}
- {\blx@resetpunct
- \csuse{abx@extras@\abx@field@langid}%
- \csuse{abx@strings@\abx@field@langid}}}}
- {}}}
+ {\csname end\abx@field@langid\endcsname}
+ {\csname end\blx@thelangenv\endcsname}%
+ \endgroup}%
+ \iftoggle{blx@autolangbib}
+ {\let\blx@endlangbib\blx@endlang}
+ {}%
+ \iftoggle{blx@autolangcite}
+ {\let\blx@endlangcite\blx@endlang}
+ {}%
+ \ifcsstring{blx@thelangenv}{langname}
+ {\ifdef\abx@field@langidopts
+ {\csname\abx@field@langid\expandafter\endcsname
+ \expandafter[\abx@field@langidopts]}
+ {\csname\abx@field@langid\endcsname}}
+ {\csname\blx@thelangenv\expandafter\endcsname
+ \expandafter{\abx@field@langid}}%
+ \blx@beglang@spacefactors}}
+ {}}}
{}%
- \def\blx@imc@mainlang{\select@language{\blx@main@language}}%
- \blx@langsetup\blx@main@language}
- {\blx@err@patch{'polyglossia' package}%
- \blx@mknoautolang}%
- \catcode`\_=\blx@saved@underscore@catcode\relax}
-\endgroup
+ \def\blx@imc@mainlang{\select@language{\blx@main@language}}%
+ \expandafter\blx@langsetup\expandafter{\blx@main@language}}
\def\blx@mknoautolang{%
\blx@lbxinput{\blx@languagename}
@@ -6553,6 +6547,10 @@
% fields which can be used as labels - we auto-create some macros for these
\def\abx@dolabelfields{\dolistloop\blx@datamodel@labelfields}
+\def\abx@dolabelwidths{%
+ \do{labelnumber}%
+ \do{labelalpha}%
+ \abx@dolabelfields}
\def\abx@donames{\dolistloop\blx@datamodel@names}
\def\abx@donameparts{\expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}}
@@ -6682,19 +6680,19 @@
{\csuse{blx@defblxopt@#1opt}{#3}[]}}
\long\def\blx@defblxopt@globalopt#1[#2]#3{%
- \ifcsundef{KV@blx@opt@ldt@#1}
- {\ifcsundef{KV@blx@opt@pre@#1}
+ \blx@kv@ifkeyundef{blx@opt@ldt}{#1}
+ {\blx@kv@ifkeyundef{blx@opt@pre}{#1}
{\ifblank{#2}
- {\define@key{blx@opt@pre}{#1}{#3}}
- {\define@key{blx@opt@pre}{#1}[#2]{#3}}}
+ {\blx@kv@defkey{blx@opt@pre}{#1}{#3}}
+ {\blx@kv@defkey{blx@opt@pre}{#1}[{#2}]{#3}}}
{\blx@err@optdef{#1}{pre/global}}}
{\blx@err@optdef{#1}{ldt/global}}}
\long\def\blx@defblxopt@typeentryopt#1#2[#3]#4{%
- \ifcsundef{KV@blx@opt@#1@#2}
+ \blx@kv@ifkeyundef{blx@opt@#1}{#2}
{\ifblank{#3}
- {\define@key{blx@opt@#1}{#2}{#4}}
- {\define@key{blx@opt@#1}{#2}[#3]{#4}}}
+ {\blx@kv@defkey{blx@opt@#1}{#2}{#4}}
+ {\blx@kv@defkey{blx@opt@#1}{#2}[{#3}]{#4}}}
{\blx@err@optdef{#2}{#1}}}
\def\blx@defblxopt@typeopt{\blx@defblxopt@typeentryopt{typ}}
@@ -6715,10 +6713,10 @@
\forcsvlist{\listadd\blx@optscopes}{global,type,entry}
\long\def\blx@defblxopt@loopscopes@i#1[#2]#3#4{%
- \csuse{blx@defblxopt@#4opt}{#1}[#2]{#3}}
+ \csuse{blx@defblxopt@#4opt}{#1}[{#2}]{#3}}
\long\def\blx@defblxopt@loopscopes#1[#2]#3{%
- \forlistloop{\blx@defblxopt@loopscopes@i{#1}[#2]{#3}}{\blx@optscopes}}
+ \forlistloop{\blx@defblxopt@loopscopes@i{#1}[{#2}]{#3}}{\blx@optscopes}}
% {<option scopes>}[<datatype>]{<key>}[<default value>]{<code>}
\newrobustcmd*{\DeclareBiblatexOption}[1]{%
@@ -6792,6 +6790,8 @@
\gdef\blx@bcf@backendin@name@nametemplates{sortingnamekeytemplatename,%
uniquenametemplatename,labelalphanametemplatename}%
+
+
% Misc globalopts
\blx@DeclareBackendOption{global}[xml]{datamodel}
\blx@collectopts{string}{blx@globalopts}{controlversion}
@@ -7004,7 +7004,7 @@
{\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}}}
+ {\csuse{bibdateera\blx@tempa prefix}}
{}}
{}%
\endgroup}
@@ -7020,10 +7020,10 @@
\csuse{if\blx@datetype\blx@tempa dateera}{bce}
{\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto
% \midsentence is to suppress automatic capitalisation
- \printtext{\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@bce}}\relax
+ \printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@bce}\relax
\fi}
{\ifnumless{\thefield{#1}}\blx@dateeraauto
- {\printtext{\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@ce}}}
+ {\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@ce}}
{}}%
\endgroup}
{}}}%
@@ -7160,10 +7160,8 @@
\def\do#1{\expandafter\newlength\expandafter{\csname #1width\endcsname}}
\abx@dolabelfields
-\newlength{\locallabelnumberwidth}
-\newlength{\locallabelalphawidth}
\def\do#1{\expandafter\newlength\expandafter{\csname local#1width\endcsname}}
-\abx@dolabelfields
+\abx@dolabelwidths
\protected\def\blx@resetdata{%
\let\blx@saved@do\do
@@ -7304,13 +7302,12 @@
\begingroup
\def\item{\MessageBreak-\space}%
\def\break{\MessageBreak\space\space}%
- \edef\blx@tempa{%
+ \blx@warning@noline{%
Biber reported the following issues%
\ifdef\abx@field@entrykey
{\MessageBreak with '\abx@field@entrykey'}
{}%
:#1}%
- \blx@warning@noline{\blx@tempa}%
\endgroup}
% {<field>}{<code>}
@@ -7860,6 +7857,7 @@
% {<entrykey>}
\protected\def\blx@bbl@xref#1{}% No-op to avoid an error with BibTeX .bbl
+\protected\def\blx@bbl@fakeset#1{}% No-op to avoid an error with BibTeX .bbl
% {<keyword>,...}
\protected\def\blx@bbl@keyw#1{%
@@ -7869,23 +7867,46 @@
\def\blx@addkeyword#1#2{%
\listcsxadd{blx@keyw@\the\c@refsection @\detokenize{#2}}{#1}}
+\newcommand*{\blx@ifcatcode@other}[1]{%
+ \ifnumequal{\catcode\number`#1}{12}}
+
% {<options>}
\protected\long\def\blx@bbl@options#1{%
- \begingroup
+ \ifblank{#1}
+ {}
+ {\begingroup
+ \blx@ifcatcode@other{,}
+ {\blx@ifcatcode@other{=}}
+ {\@secondoftwo}
+ {\blx@bbl@options@check{#1}}
+ {\ifundef\blx@bbl@options@warncatcode
+ {\blx@warning@noline{%
+ Irregular catcode regime detected.\MessageBreak
+ Attempting to work around this with \string\scantokens}%
+ \global\let\blx@bbl@options@warncatcode\@empty}
+ {}%
+ \makeatletter
+ \@makeother\=
+ \@makeother\'
+ \endlinechar\m@ne
+ \scantokens\expandafter{\blx@bbl@options@check{#1}}}}}
+
+\long\def\blx@bbl@options@check#1{%
\let\blx@tempa\@empty
- \forcsvlist\blx@bbl@options@i{#1}%
+ \forcsvlist\blx@bbl@options@checkopt{#1}%
\edef\blx@tempa{%
- \endgroup
+ \endgroup % this group was opened in \blx@bbl@options
\ifx\blx@tempa\@empty
\else
\def\noexpand\abx@field@options{\expandonce\blx@tempa}%
\fi}%
\blx@tempa}
-\long\def\blx@bbl@options@i#1{\blx@bbl@options@ii#1==&}
-\long\def\blx@bbl@options@ii#1=#2=#3&{%
- \ifcsundef{KV@blx@opt@ent@#1}
+\long\def\blx@bbl@options@checkopt#1{\blx@bbl@options@checkopt@i#1==&}
+
+\long\def\blx@bbl@options@checkopt@i#1=#2=#3&{%
+ \blx@kv@ifkeyundef{blx@opt@ent}{#1}
{\blx@warning@noline{%
Ignoring undefined option '#1'\MessageBreak
at entry '\abx@field@entrykey'}}
@@ -7971,107 +7992,43 @@
% in which case we only set labelyear.
{\ifcsundef{abx@field@\abx@field@labeldatesource}
% \DeclareLabeldate resolved to a literal/localisation string
- {\edef\abx@field@labelyear{\abx@field@labeldatesource}}
+ {\let\abx@field@labelyear\abx@field@labeldatesource}
% \DeclareLabeldate resolved to a non-date field. Not safe to \edef because
- % such contents could contain arbitrary macros, unlike ETDF sourced labeldatesource values
+ % such contents could contain arbitrary macros, unlike EDTF sourced labeldatesource values
{\letcs\abx@field@labelyear{abx@field@\abx@field@labeldatesource}}}
% \DeclareLabeldate resolved to a date field name prefix like '', 'event', 'url'
% or 'orig'
{% labeldateera/labelenddateera
- \ifcsdef{abx@field@\abx@field@labeldatesource dateera}
- {\edef\abx@field@labeldateera{\csuse{abx@field@\abx@field@labeldatesource dateera}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource enddateera}
- {\edef\abx@field@labelenddateera{\csuse{abx@field@\abx@field@labeldatesource enddateera}}}
- {}%
- % labelyear/labelendyear
- \ifcsdef{abx@field@\abx@field@labeldatesource year}
- {\edef\abx@field@labelyear{\csuse{abx@field@\abx@field@labeldatesource year}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endyear}
- {\edef\abx@field@labelendyear{\csuse{abx@field@\abx@field@labeldatesource endyear}}}
- {}%
- % labelmonth
- \ifcsdef{abx@field@\abx@field@labeldatesource month}
- {\edef\abx@field@labelmonth{\csuse{abx@field@\abx@field@labeldatesource month}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endmonth}
- {\edef\abx@field@labelendmonth{\csuse{abx@field@\abx@field@labeldatesource endmonth}}}
- {}%
- % labelday/labelendday
- \ifcsdef{abx@field@\abx@field@labeldatesource day}
- {\edef\abx@field@labelday{\csuse{abx@field@\abx@field@labeldatesource day}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endday}
- {\edef\abx@field@labelendday{\csuse{abx@field@\abx@field@labeldatesource endday}}}
- {}%
- % labelhour/labelendhour
- \ifcsdef{abx@field@\abx@field@labeldatesource hour}
- {\edef\abx@field@labelhour{\csuse{abx@field@\abx@field@labeldatesource hour}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endhour}
- {\edef\abx@field@labelendhour{\csuse{abx@field@\abx@field@labeldatesource endhour}}}
- {}%
- % labelminute/labelendminute
- \ifcsdef{abx@field@\abx@field@labeldatesource minute}
- {\edef\abx@field@labelminute{\csuse{abx@field@\abx@field@labeldatesource minute}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endminute}
- {\edef\abx@field@labelendminute{\csuse{abx@field@\abx@field@labeldatesource endminute}}}
- {}%
- % labelsecond/labelendsecond
- \ifcsdef{abx@field@\abx@field@labeldatesource second}
- {\edef\abx@field@labelsecond{\csuse{abx@field@\abx@field@labeldatesource second}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endsecond}
- {\edef\abx@field@labelendsecond{\csuse{abx@field@\abx@field@labeldatesource endsecond}}}
- {}%
- % labeltimezone/labelendtimezone
- \ifcsdef{abx@field@\abx@field@labeldatesource timezone}
- {\edef\abx@field@labeltimezone{\csuse{abx@field@\abx@field@labeldatesource timezone}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endtimezone}
- {\edef\abx@field@labelendtimezone{\csuse{abx@field@\abx@field@labeldatesource endtimezone}}}
- {}%
- % labelseason/labelendseason
- \ifcsdef{abx@field@\abx@field@labeldatesource season}
- {\edef\abx@field@labelseason{\csuse{abx@field@\abx@field@labeldatesource season}}}
- {}%
- \ifcsdef{abx@field@\abx@field@labeldatesource endseason}
- {\edef\abx@field@labelendseason{\csuse{abx@field@\abx@field@labeldatesource endseason}}}
- {}%
- % labeldateunspecified
- \ifcsdef{abx@field@\abx@field@labeldatesource dateunspecified}
- {\csletcs{abx@field@labeldateunspecified}{abx@field@\abx@field@labeldatesource dateunspecified}}
- {}%
- % labeldatecirca/labelenddatecirca
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca}
- {\csletcs{etb@tgl@abx@bool@labeldatecirca}{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca}}
- {}%
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca}
- {\csletcs{etb@tgl@abx@bool@labelenddatecirca}{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca}}
- {}%
- % labeldatejulian/labelenddatejulian
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource datejulian}
- {\csletcs{etb@tgl@abx@bool@labeldatejulian}{etb@tgl@abx@bool@\abx@field@labeldatesource datejulian}}
- {}%
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddatejulian}
- {\csletcs{etb@tgl@abx@bool@labelenddatejulian}{etb@tgl@abx@bool@\abx@field@labeldatesource enddatejulian}}
- {}%
- % labeldateuncertain/labelenddateuncertain
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource dateuncertain}
- {\csletcs{etb@tgl@abx@bool@labeldateuncertain}{etb@tgl@abx@bool@\abx@field@labeldatesource dateuncertain}}
- {}%
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddateuncertain}
- {\csletcs{etb@tgl@abx@bool@labelenddateuncertain}{etb@tgl@abx@bool@\abx@field@labeldatesource enddateuncertain}}
- {}%
- % labeldateunknown/labelenddateunknown
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource dateunknown}
- {\csletcs{etb@tgl@abx@bool@labeldateunknown}{etb@tgl@abx@bool@\abx@field@labeldatesource dateunknown}}
- {}%
- \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddateunknown}
- {\csletcs{etb@tgl@abx@bool@labelenddateunknown}{etb@tgl@abx@bool@\abx@field@labeldatesource enddateunknown}}
- {}}}}
+ \letcs\abx@field@labeldateera{abx@field@\abx@field@labeldatesource dateera}%
+ \letcs\abx@field@labelenddateera{abx@field@\abx@field@labeldatesource enddateera}%
+ \letcs\abx@field@labelyear{abx@field@\abx@field@labeldatesource year}%
+ \letcs\abx@field@labelendyear{abx@field@\abx@field@labeldatesource endyear}%
+ \letcs\abx@field@labelmonth{abx@field@\abx@field@labeldatesource month}%
+ \letcs\abx@field@labelendmonth{abx@field@\abx@field@labeldatesource endmonth}%
+ \letcs\abx@field@labelday{abx@field@\abx@field@labeldatesource day}%
+ \letcs\abx@field@labelendday{abx@field@\abx@field@labeldatesource endday}%
+ \letcs\abx@field@labelhour{abx@field@\abx@field@labeldatesource hour}%
+ \letcs\abx@field@labelendhour{abx@field@\abx@field@labeldatesource endhour}%
+ \letcs\abx@field@labelminute{abx@field@\abx@field@labeldatesource minute}%
+ \letcs\abx@field@labelendminute{abx@field@\abx@field@labeldatesource endminute}%
+ \letcs\abx@field@labelsecond{abx@field@\abx@field@labeldatesource second}%
+ \letcs\abx@field@labelendsecond{abx@field@\abx@field@labeldatesource endsecond}%
+ \letcs\abx@field@labeltimezone{abx@field@\abx@field@labeldatesource timezone}%
+ \letcs\abx@field@labelendtimezone{abx@field@\abx@field@labeldatesource endtimezone}%
+ \letcs\abx@field@labelseason{abx@field@\abx@field@labeldatesource season}%
+ \letcs\abx@field@labelendseason{abx@field@\abx@field@labeldatesource endseason}%
+ \letcs\abx@field@labeldateunspecified{abx@field@\abx@field@labeldatesource dateunspecified}%
+ \letcs\etb@tgl@abx@bool@labeldatecirca{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca}%
+ \letcs\etb@tgl@abx@bool@labelenddatecirca{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca}%
+ \letcs\etb@tgl@abx@bool@labeldatejulian{etb@tgl@abx@bool@\abx@field@labeldatesource datejulian}%
+ \letcs\etb@tgl@abx@bool@labelenddatejulian{etb@tgl@abx@bool@\abx@field@labeldatesource enddatejulian}%
+ \letcs\etb@tgl@abx@bool@labeldateuncertain{etb@tgl@abx@bool@\abx@field@labeldatesource dateuncertain}%
+ \letcs\etb@tgl@abx@bool@labelenddateuncertain{etb@tgl@abx@bool@\abx@field@labeldatesource enddateuncertain}%
+ \letcs\etb@tgl@abx@bool@labeldateunknown{etb@tgl@abx@bool@\abx@field@labeldatesource dateunknown}%
+ \letcs\etb@tgl@abx@bool@labelenddateunknown{etb@tgl@abx@bool@\abx@field@labeldatesource enddateunknown}%
+ }%
+ }%
+}
% This gets the entry data for a citation
\def\blx@getdata@cite#1{%
@@ -8080,26 +8037,35 @@
\ifcsdef{blx@setc@\the\c@refsection @#1}
{\blx@ifdata{#1}
{\def\abx@field@childentrykey{#1}%LEGACY(<3.8)
- \edef\abx@field@childentrytype{\abx@field@entrytype}%LEGACY(<3.8)
+ \let\abx@field@childentrytype\abx@field@entrytype %LEGACY(<3.8)
\begingroup
- \expandafter\expandafter\expandafter\blx@getdata\expandafter\expandafter\expandafter{%
- \csname blx@setc@\the\c@refsection @#1\endcsname}%
+ \expandafter\expandafter\expandafter\blx@getdata
+ \expandafter\expandafter\expandafter{%
+ \csname blx@setc@\the\c@refsection @#1\endcsname}%
\let\blx@tempa\@empty
% Inject labelnumber if it exists
\ifdef\abx@field@labelnumber
- {\appto\blx@tempa{\def\noexpand\abx@field@labelnumber{\abx@field@labelnumber}}}
+ {\appto\blx@tempa{%
+ \def\noexpand\abx@field@labelnumber{%
+ \expandonce\abx@field@labelnumber}}}
{}%
% Inject labelprefix if it exists
\ifdef\abx@field@labelprefix
- {\appto\blx@tempa{\def\noexpand\abx@field@labelprefix{\abx@field@labelprefix}}}
+ {\appto\blx@tempa{%
+ \def\noexpand\abx@field@labelprefix{%
+ \expandonce\abx@field@labelprefix}}}
{}%
% Inject labelalpha if it exists
\ifdef\abx@field@labelalpha
- {\appto\blx@tempa{\def\noexpand\abx@field@labelalpha{\abx@field@labelalpha}}}
+ {\appto\blx@tempa{%
+ \def\noexpand\abx@field@labelalpha{%
+ \expandonce\abx@field@labelalpha}}}
{}%
% Inject extraalpha if it exists
\ifdef\abx@field@extraalpha
- {\appto\blx@tempa{\def\noexpand\abx@field@extraalpha{\abx@field@extraalpha}}}
+ {\appto\blx@tempa{%
+ \def\noexpand\abx@field@extraalpha{%
+ \expandonce\abx@field@extraalpha}}}
{}%
% Perform the injection
\edef\blx@tempb{\endgroup\blx@tempa}%
@@ -8118,7 +8084,7 @@
{}
{\begingroup
\edef\blx@tempa{\endgroup
- \noexpand\setkeys{blx@opt@ent}{\abx@field@options}}%
+ \noexpand\blx@kv@setkeys{blx@opt@ent}{\abx@field@options}}%
\blx@tempa
\blx@checkoptions@entry}}
@@ -8126,7 +8092,7 @@
\ifcsdef{blx@opts@type@#1}
{\begingroup
\edef\blx@tempa{\endgroup
- \noexpand\setkeys{blx@opt@typ}{\csuse{blx@opts@type@#1}}}%
+ \noexpand\blx@kv@setkeys{blx@opt@typ}{\csuse{blx@opts@type@#1}}}%
\blx@tempa}
{}}
@@ -8172,7 +8138,7 @@
% for internal use but we always want the aliases themselves in the .bcf
% so that biber can correctly use and resolve them too.
\protected\def\blx@bbl@keyalias#1#2{%
- \csgdef{blx@keyalias@\the\c@refsection @#1}{\detokenize{#2}}%
+ \csxdef{blx@keyalias@\the\c@refsection @#1}{\detokenize{#2}}%
\listcsgadd{blx@keyaliases@\the\c@refsection}{#1}}
% blx@dlist@list@<section>@<refcontext> - a list of list items in a refcontext in a
@@ -8284,27 +8250,50 @@
\blx@getformat\abx@tmp@theformat{ffd}{#2}{#3}%
\csletcs{#1}{abx@tmp@theformat}}
+
+% {<instance (int)>}{<field>}{<length>}
+\def\abx@aux@locallabelwidth#1#2#3{%
+ \csgdef{blx@locallabelwidth@#1@#2}{#3}}
+
+\def\blx@locallabelwidth@write@length#1{%
+ \ifdimequal{\csname local#1width\endcsname}{0pt}
+ {}
+ {\blx@auxwrite\@mainaux{}
+ {\string\abx@aux@locallabelwidth
+ {\the\blx@biblioinstance}%
+ {#1}%
+ {\the\csname local#1width\endcsname}}}}
+
+\def\blx@locallabelwidth@write{%
+ \let\do\blx@locallabelwidth@write@length
+ \abx@dolabelwidths}
+
+\let\blx@locallabelwidth@finish\relax
+
\def\blx@labelwidth@resetlocal{%
- \locallabelnumberwidth\z@
- \locallabelalphawidth\z@
\def\do##1{%
\csname local##1width\endcsname\z@}%
- \abx@dolabelfields}
+ \abx@dolabelwidths}
+
+\def\blx@labelwidth@settolocal@length#1{%
+ \ifcsundef{blx@locallabelwidth@\the\blx@biblioinstance @#1}
+ {}
+ {\csname #1width\endcsname
+ \csname blx@locallabelwidth@\the\blx@biblioinstance @#1\endcsname
+ \space}}
\def\blx@labelwidth@settolocal{%
- \labelnumberwidth\locallabelnumberwidth
- \labelalphawidth\locallabelalphawidth
- \def\do##1{%
- \csname ##1width\endcsname\csname local##1width\endcsname}%
- \abx@dolabelfields}
+ \let\do\blx@labelwidth@settolocal@length
+ \abx@dolabelwidths}
-\def\blx@locallabelwidth#1{%
+\def\blx@locallabelwidth@setlengths{%
+ \global\advance\blx@biblioinstance\@ne
\blx@labelwidth@resetlocal
- \let\blx@do\blx@lengthitem
- \let\blx@done\relax
- \blx@listloop{#1}%
\blx@labelwidth@settolocal}
+\let\blx@locallabelwidth@init\relax
+
+
% {<prefix for labelwidth fields>}
\def\blx@bbl@labelnumberwidth@numeric#1{%
\abx@flfw@getfieldformat{abx@flfw@labelnumberwidth}{labelnumberwidth}{}%
@@ -8491,6 +8480,7 @@
\let\enddatalist\blx@bbl@enddlist
\let\set\blx@bbl@set
\let\inset\blx@bbl@inset
+ \let\fakeset\blx@bbl@fakeset % A No-op for Biber
\let\xref\blx@bbl@xref % A No-op for Biber
\let\keyw\blx@bbl@keyw
\let\name\blx@bbl@namedef
@@ -8565,15 +8555,22 @@
\begingroup
\def\do#1{\ifinlist{#1}\blx@cites{}{\blx@logreq@active{}}\relax}%
\dolistloop\blx@lastcites
- % Special case - if we are using sortingtemplate "none" anywhere, then changes
- % in citation order matter and we need to re-run biber. So a special test
- % to see if the cites from last run are identical in order. We have
- % already tested for more or less cites between runs by now, we are
+ % Special case - if we are using sortingtemplate with \citeorder anywhere,
+ % then changes in citation order matter and we need to re-run biber.
+ % So a special test to see if the cites from last run are identical in order.
+ % We have already tested for more or less cites between runs by now, we are
% testing here for exactly the same cites by treating the cite and
% lastcite lists as strings and comparing them. This doesn't apply
% to biblist sortingtemplates as nobody wants to sort biblists with
% "none", since it makes no sense
- \ifinlist{none}\blx@sortingtemplatenames
+ \togglefalse{blx@tempa}%
+ \def\do#1{%
+ \ifcsundef{blx@sortingtemplate@citeorder@relevant@#1}
+ {}
+ {\toggletrue{blx@tempa}%
+ \listbreak}}%
+ \dolistloop\blx@sortingtemplatenames
+ \iftoggle{blx@tempa}
{\ifdefstrequal{\blx@cites}{\blx@lastcites}
{}
{\blx@logreq@active{}}}
@@ -8603,6 +8600,11 @@
{\def\do#1{\blx@auxwrite\@mainaux{}{#1}}
\dolistloop\blx@localnumaux}}
{}%
+ % Wite md5 hash of .bbl to .aux if we need a Biber rerun.
+ % This needs to happen here and not in \blx@check@rerun together with
+ % the other rerun stuff, because \AfterEndBibliography would be too
+ % late for .aux file writing.
+ \blx@aux@write@bbl@mdfivesum
\endgroup}
% {<instcount>}{<entrykey>}{<refsection>}{<refcontext>}{<labelnumber>}
@@ -8682,8 +8684,8 @@
\appto\blx@tempa{{##1}}%
\advance\blx@tempcnta\@ne}%
\dolistcsloop{blx@pref@\the\c@refsection @#1}%
- \edef\blx@tempa{\endgroup\noexpand\blx@bbl@listdef
- {pageref}{\the\blx@tempcnta}{\expandonce{\blx@tempa}}}%
+ \edef\blx@tempa{\endgroup
+ \noexpand\blx@bbl@listdef{pageref}{\the\blx@tempcnta}{\expandonce{\blx@tempa}}}%
\blx@tempa}
%% Data input
@@ -8701,12 +8703,18 @@
\blx@ifsigned{\jobname}{bbl}
{\InputIfFileExists{\jobname.bbl}
{\blx@info@noline{... file '\jobname.bbl' found}%
- \global\toggletrue{blx@bbldone}}
+ \global\toggletrue{blx@bbldone}%
+ \blx@generate@bbl@mdfivesum@found}
{\blx@info@noline{... file '\jobname.bbl' not found}%
- \typeout{No file \jobname.bbl.}}}
- {}%
+ \typeout{No file \jobname.bbl.}%
+ % 'nobblfile' can never be equal to any mdfivehash
+ \blx@generate@bbl@mdfivesum@notfound}}
+ {\blx@generate@bbl@mdfivesum@notfound}%
\blx@bblend
\endgroup
+ % Check if Biber rerun was not carried out.
+ % If so, ask for it again.
+ \blx@check@bbl@rerun@mdfivesum
% global sorting as this is called at BeginDocument
\csnumgdef{blx@labelnumber@\the\c@refsection}{0}}
@@ -8749,7 +8757,7 @@
\def\blx@defbibheading#1[#2]{%
\csundef{#1}%
- \expandafter\newcommand\csname#1\endcsname[1][#2]}
+ \expandafter\newcommand\csname#1\endcsname[1][{#2}]}
% {<name>}{<text>}
\newrobustcmd*{\defbibnote}[1]{%
@@ -8823,76 +8831,76 @@
% We need a 2-pass structure for options in \printbibliography and
% \printbiblist because the section has to be set before any
% other options and this partly determines which list to use for later filtering
-\define@key{blx@bib1}{segment}{}
-\define@key{blx@bib1}{type}{}
-\define@key{blx@bib1}{nottype}{}
-\define@key{blx@bib1}{subtype}{}
-\define@key{blx@bib1}{notsubtype}{}
-\define@key{blx@bib1}{keyword}{}
-\define@key{blx@bib1}{notkeyword}{}
-\define@key{blx@bib1}{category}{}
-\define@key{blx@bib1}{notcategory}{}
-\define@key{blx@bib1}{filter}{}
-\define@key{blx@bib1}{check}{}
-\define@key{blx@bib1}{heading}{}
-\define@key{blx@bib1}{env}{}
-\define@key{blx@bib1}{title}{}
-\define@key{blx@bib1}{prenote}{}
-\define@key{blx@bib1}{postnote}{}
-\define@key{blx@bib1}{omitnumbers}[]{}
+\blx@kv@defkey{blx@bib1}{segment}{}
+\blx@kv@defkey{blx@bib1}{type}{}
+\blx@kv@defkey{blx@bib1}{nottype}{}
+\blx@kv@defkey{blx@bib1}{subtype}{}
+\blx@kv@defkey{blx@bib1}{notsubtype}{}
+\blx@kv@defkey{blx@bib1}{keyword}{}
+\blx@kv@defkey{blx@bib1}{notkeyword}{}
+\blx@kv@defkey{blx@bib1}{category}{}
+\blx@kv@defkey{blx@bib1}{notcategory}{}
+\blx@kv@defkey{blx@bib1}{filter}{}
+\blx@kv@defkey{blx@bib1}{check}{}
+\blx@kv@defkey{blx@bib1}{heading}{}
+\blx@kv@defkey{blx@bib1}{env}{}
+\blx@kv@defkey{blx@bib1}{title}{}
+\blx@kv@defkey{blx@bib1}{prenote}{}
+\blx@kv@defkey{blx@bib1}{postnote}{}
+\blx@kv@defkey{blx@bib1}{omitnumbers}[]{}
% Here we are using the first pass to see if there is an explicit setting for resetnumbers
% If there isn't we will use the default behaviour where if there is a labelprefix,
% resetnumbers will default to "true"
-\define@key{blx@bib1}{resetnumbers}[true]{%
+\blx@kv@defkey{blx@bib1}{resetnumbers}[true]{%
\toggletrue{blx@resetnumsexplicit}}
-\define@key{blx@bib2}{section}{}
-\define@key{blx@bib2}{sorting}{}
-
-\define@key{blx@biblist1}{segment}{}
-\define@key{blx@biblist1}{type}{}
-\define@key{blx@biblist1}{nottype}{}
-\define@key{blx@biblist1}{subtype}{}
-\define@key{blx@biblist1}{notsubtype}{}
-\define@key{blx@biblist1}{keyword}{}
-\define@key{blx@biblist1}{notkeyword}{}
-\define@key{blx@biblist1}{category}{}
-\define@key{blx@biblist1}{notcategory}{}
-\define@key{blx@biblist1}{filter}{}
-\define@key{blx@biblist1}{check}{}
-\define@key{blx@biblist1}{heading}{}
-\define@key{blx@biblist1}{env}{}
-\define@key{blx@biblist1}{title}{}
-\define@key{blx@biblist1}{prenote}{}
-\define@key{blx@biblist1}{postnote}{}
-
-\define@key{blx@biblist2}{section}{}
-\define@key{blx@biblist2}{sorting}{}
-
-\define@key{blx@bib1}{section}{%
+\blx@kv@defkey{blx@bib2}{section}{}
+\blx@kv@defkey{blx@bib2}{sorting}{}
+
+\blx@kv@defkey{blx@biblist1}{segment}{}
+\blx@kv@defkey{blx@biblist1}{type}{}
+\blx@kv@defkey{blx@biblist1}{nottype}{}
+\blx@kv@defkey{blx@biblist1}{subtype}{}
+\blx@kv@defkey{blx@biblist1}{notsubtype}{}
+\blx@kv@defkey{blx@biblist1}{keyword}{}
+\blx@kv@defkey{blx@biblist1}{notkeyword}{}
+\blx@kv@defkey{blx@biblist1}{category}{}
+\blx@kv@defkey{blx@biblist1}{notcategory}{}
+\blx@kv@defkey{blx@biblist1}{filter}{}
+\blx@kv@defkey{blx@biblist1}{check}{}
+\blx@kv@defkey{blx@biblist1}{heading}{}
+\blx@kv@defkey{blx@biblist1}{env}{}
+\blx@kv@defkey{blx@biblist1}{title}{}
+\blx@kv@defkey{blx@biblist1}{prenote}{}
+\blx@kv@defkey{blx@biblist1}{postnote}{}
+
+\blx@kv@defkey{blx@biblist2}{section}{}
+\blx@kv@defkey{blx@biblist2}{sorting}{}
+
+\blx@kv@defkey{blx@bib1}{section}{%
\ifcsundef{blx@sections@#1}
{\blx@err@nosec{#1}}
{\c@refsection#1\relax
\def\blx@tempe{#1}}}
-\define@key{blx@biblist1}{section}{%
+\blx@kv@defkey{blx@biblist1}{section}{%
\ifcsundef{blx@sections@#1}
{\blx@err@nosec{#1}}
{\c@refsection#1\relax
\def\blx@tempe{#1}}}
-\define@key{blx@bbg}{section}{%
+\blx@kv@defkey{blx@bbg}{section}{%
\ifcsundef{blx@sections@#1}
{\blx@err@nosec{#1}}
{\c@refsection#1\relax}}
-\define@key{blx@bbc}{section}{%
+\blx@kv@defkey{blx@bbc}{section}{%
\ifcsundef{blx@sections@#1}
{\blx@err@nosec{#1}}
{\c@refsection#1\relax}}
-\define@key{blx@bib2}{segment}{\blx@key@segment{#1}}
-\define@key{blx@biblist2}{segment}{\blx@key@segment{#1}}
+\blx@kv@defkey{blx@bib2}{segment}{\blx@key@segment{#1}}
+\blx@kv@defkey{blx@biblist2}{segment}{\blx@key@segment{#1}}
\def\blx@key@segment#1{%
\ifcsundef{blx@segm@\the\c@refsection @#1}
@@ -8901,8 +8909,8 @@
\blx@printbibchecks
\blx@filter\blx@tempa{blx@segm@\the\c@refsection @#1}}}
-\define@key{blx@bib2}{type}{\blx@key@type{#1}}
-\define@key{blx@biblist2}{type}{\blx@key@type{#1}}
+\blx@kv@defkey{blx@bib2}{type}{\blx@key@type{#1}}
+\blx@kv@defkey{blx@biblist2}{type}{\blx@key@type{#1}}
\def\blx@key@type#1{%
\ifcsundef{blx@type@\the\c@refsection @#1}
@@ -8920,8 +8928,8 @@
hence some options may not be used twice.\MessageBreak
Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}}
-\define@key{blx@bib2}{nottype}{\blx@key@nottype{#1}}
-\define@key{blx@biblist2}{nottype}{\blx@key@nottype{#1}}
+\blx@kv@defkey{blx@bib2}{nottype}{\blx@key@nottype{#1}}
+\blx@kv@defkey{blx@biblist2}{nottype}{\blx@key@nottype{#1}}
\def\blx@key@nottype#1{%
\ifcsundef{blx@type@\the\c@refsection @#1}
@@ -8929,8 +8937,8 @@
{\blx@printbibchecks
\blx@notfilter\blx@tempa{blx@type@\the\c@refsection @#1}}}
-\define@key{blx@bib2}{subtype}{\blx@key@subtype{#1}}
-\define@key{blx@biblist2}{subtype}{\blx@key@subtype{#1}}
+\blx@kv@defkey{blx@bib2}{subtype}{\blx@key@subtype{#1}}
+\blx@kv@defkey{blx@biblist2}{subtype}{\blx@key@subtype{#1}}
\def\blx@key@subtype#1{%
\ifcsundef{blx@subt@\the\c@refsection @#1}
@@ -8948,8 +8956,8 @@
hence some options may not be used twice.\MessageBreak
Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}}
-\define@key{blx@bib2}{notsubtype}{\blx@key@notsubtype{#1}}
-\define@key{blx@biblist2}{notsubtype}{\blx@key@notsubtype{#1}}
+\blx@kv@defkey{blx@bib2}{notsubtype}{\blx@key@notsubtype{#1}}
+\blx@kv@defkey{blx@biblist2}{notsubtype}{\blx@key@notsubtype{#1}}
\def\blx@key@notsubtype#1{%
\ifcsundef{blx@subt@\the\c@refsection @#1}
@@ -8957,8 +8965,8 @@
{\blx@printbibchecks
\blx@notfilter\blx@tempa{blx@subt@\the\c@refsection @#1}}}
-\define@key{blx@bib2}{keyword}{\blx@key@keyword{#1}}
-\define@key{blx@biblist2}{keyword}{\blx@key@keyword{#1}}
+\blx@kv@defkey{blx@bib2}{keyword}{\blx@key@keyword{#1}}
+\blx@kv@defkey{blx@biblist2}{keyword}{\blx@key@keyword{#1}}
\def\blx@key@keyword#1{%
\ifcsundef{blx@keyw@\the\c@refsection @\detokenize{#1}}
@@ -8967,8 +8975,8 @@
{\blx@printbibchecks
\blx@filter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#1}}}}
-\define@key{blx@bib2}{notkeyword}{\blx@key@notkeyword{#1}}
-\define@key{blx@biblist2}{notkeyword}{\blx@key@notkeyword{#1}}
+\blx@kv@defkey{blx@bib2}{notkeyword}{\blx@key@notkeyword{#1}}
+\blx@kv@defkey{blx@biblist2}{notkeyword}{\blx@key@notkeyword{#1}}
\def\blx@key@notkeyword#1{%
\ifcsundef{blx@keyw@\the\c@refsection @\detokenize{#1}}
@@ -8976,8 +8984,8 @@
{\blx@printbibchecks
\blx@notfilter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#1}}}}
-\define@key{blx@bib2}{category}{\blx@key@category{#1}}
-\define@key{blx@biblist2}{category}{\blx@key@category{#1}}
+\blx@kv@defkey{blx@bib2}{category}{\blx@key@category{#1}}
+\blx@kv@defkey{blx@biblist2}{category}{\blx@key@category{#1}}
\def\blx@key@category#1{%
\ifcsundef{blx@catg@\detokenize{#1}}
@@ -8986,8 +8994,8 @@
{\blx@printbibchecks
\blx@filter\blx@tempa{blx@catg@\detokenize{#1}}}}
-\define@key{blx@bib2}{notcategory}{\blx@key@notcategory{#1}}
-\define@key{blx@biblist2}{notcategory}{\blx@key@notcategory{#1}}
+\blx@kv@defkey{blx@bib2}{notcategory}{\blx@key@notcategory{#1}}
+\blx@kv@defkey{blx@biblist2}{notcategory}{\blx@key@notcategory{#1}}
\def\blx@key@notcategory#1{%
\ifcsundef{blx@catg@#1}
@@ -8995,8 +9003,8 @@
{\blx@printbibchecks
\blx@notfilter\blx@tempa{blx@catg@#1}}}
-\define@key{blx@bib2}{filter}{\blx@key@filter{#1}}
-\define@key{blx@biblist2}{filter}{\blx@key@filter{#1}}
+\blx@kv@defkey{blx@bib2}{filter}{\blx@key@filter{#1}}
+\blx@kv@defkey{blx@biblist2}{filter}{\blx@key@filter{#1}}
\def\blx@key@filter#1{%
\ifcsdef{blx@filter@#1}
@@ -9008,8 +9016,8 @@
{The filter '#1' could not be found.\MessageBreak
Use \string\defbibfilter\space to define it}}}
-\define@key{blx@bib2}{check}{\blx@key@bibcheck{#1}}
-\define@key{blx@biblist2}{check}{\blx@key@bibcheck{#1}}
+\blx@kv@defkey{blx@bib2}{check}{\blx@key@bibcheck{#1}}
+\blx@kv@defkey{blx@biblist2}{check}{\blx@key@bibcheck{#1}}
% empty bibcheck does nothing
\cslet{blx@bibcheck@}\relax
@@ -9023,17 +9031,17 @@
Use \string\defbibcheck\space to define it}}}
\def\blx@default@theheading{bibliography}
-\define@key{blx@bibdefaults}{heading}{%
+\blx@kv@defkey{blx@bibdefaults}{heading}{%
\blx@key@heading{\blx@default@theheading}{#1}}
-\define@key{blx@bhd}{heading}{%
+\blx@kv@defkey{blx@bhd}{heading}{%
\blx@key@heading{\blx@theheading}{#1}}
-\define@key{blx@bib2}{heading}{%
+\blx@kv@defkey{blx@bib2}{heading}{%
\blx@key@heading{\blx@theheading}{#1}}
-\define@key{blx@biblist2}{heading}{%
+\blx@kv@defkey{blx@biblist2}{heading}{%
\blx@key@heading{\blx@theheading}{#1}}
-\define@key{blx@bbs}{heading}{%
+\blx@kv@defkey{blx@bbs}{heading}{%
\blx@key@heading{\blx@theheading}{#1}}
-\define@key{blx@bbg}{heading}{%
+\blx@kv@defkey{blx@bbg}{heading}{%
\blx@key@heading{\blx@theheading}{#1}}
\def\blx@key@heading#1#2{%
@@ -9045,13 +9053,13 @@
{\def#1{#2}}}
\def\blx@default@theenv{bibliography}
-\define@key{blx@bibdefaults}{env}{%
+\blx@kv@defkey{blx@bibdefaults}{env}{%
\blx@key@env{\blx@default@theenv}{#1}}
-\define@key{blx@bib2}{env}{\blx@key@env{\blx@theenv}{#1}}
-\define@key{blx@biblist2}{env}{\blx@key@env{\blx@theenv}{#1}}
-\define@key{blx@bbs}{env}{\blx@key@env{\blx@theenv}{#1}}
-\define@key{blx@bbg}{env}{\blx@key@env{\blx@theenv}{#1}}
-\define@key{blx@bbc}{env}{\blx@key@env{\blx@theenv}{#1}}
+\blx@kv@defkey{blx@bib2}{env}{\blx@key@env{\blx@theenv}{#1}}
+\blx@kv@defkey{blx@biblist2}{env}{\blx@key@env{\blx@theenv}{#1}}
+\blx@kv@defkey{blx@bbs}{env}{\blx@key@env{\blx@theenv}{#1}}
+\blx@kv@defkey{blx@bbg}{env}{\blx@key@env{\blx@theenv}{#1}}
+\blx@kv@defkey{blx@bbc}{env}{\blx@key@env{\blx@theenv}{#1}}
\def\blx@key@env#1#2{%
\ifcsundef{blx@env@#2}
@@ -9062,11 +9070,11 @@
{\def#1{#2}}}
\let\blx@default@thetitle\@empty
-\define@key{blx@bibdefaults}{title}{%
+\blx@kv@defkey{blx@bibdefaults}{title}{%
\def\blx@default@thetitle{#1}}
-\define@key{blx@bhd}{title}{\def\blx@thetitle{#1}}
-\define@key{blx@bib2}{title}{\def\blx@thetitle{#1}}
-\define@key{blx@biblist2}{title}{\def\blx@thetitle{#1}}
+\blx@kv@defkey{blx@bhd}{title}{\def\blx@thetitle{#1}}
+\blx@kv@defkey{blx@bib2}{title}{\def\blx@thetitle{#1}}
+\blx@kv@defkey{blx@biblist2}{title}{\def\blx@thetitle{#1}}
\cslet{blx@note@}\@empty
\def\blx@key@bibnote#1#2{%
@@ -9078,49 +9086,51 @@
{\def#1{#2}}}
\let\blx@default@theprenote\@empty
-\define@key{blx@bibdefaults}{prenote}{%
+\blx@kv@defkey{blx@bibdefaults}{prenote}{%
\blx@key@bibnote{\blx@default@theprenote}{#1}}
-\define@key{blx@bib2}{prenote}{%
+\blx@kv@defkey{blx@bib2}{prenote}{%
\blx@key@bibnote{\blx@theprenote}{#1}}
-\define@key{blx@biblist2}{prenote}{%
+\blx@kv@defkey{blx@biblist2}{prenote}{%
\blx@key@bibnote{\blx@theprenote}{#1}}
-\define@key{blx@bbs}{prenote}{%
+\blx@kv@defkey{blx@bbs}{prenote}{%
\blx@key@bibnote{\blx@theprenote}{#1}}
-\define@key{blx@bbg}{prenote}{%
+\blx@kv@defkey{blx@bbg}{prenote}{%
\blx@key@bibnote{\blx@theprenote}{#1}}
-\define@key{blx@bbc}{prenote}{%
+\blx@kv@defkey{blx@bbc}{prenote}{%
\blx@key@bibnote{\blx@theprenote}{#1}}
\let\blx@default@thepostnote\@empty
-\define@key{blx@bibdefaults}{postnote}{%
+\blx@kv@defkey{blx@bibdefaults}{postnote}{%
\blx@key@bibnote{\blx@default@thepostnote}{#1}}
-\define@key{blx@bib2}{postnote}{%
+\blx@kv@defkey{blx@bib2}{postnote}{%
\blx@key@bibnote{\blx@thepostnote}{#1}}
-\define@key{blx@biblist2}{postnote}{%
+\blx@kv@defkey{blx@biblist2}{postnote}{%
\blx@key@bibnote{\blx@thepostnote}{#1}}
-\define@key{blx@bbs}{postnote}{%
+\blx@kv@defkey{blx@bbs}{postnote}{%
\blx@key@bibnote{\blx@thepostnote}{#1}}
-\define@key{blx@bbg}{postnote}{%
+\blx@kv@defkey{blx@bbg}{postnote}{%
\blx@key@bibnote{\blx@thepostnote}{#1}}
-\define@key{blx@bbc}{postnote}{%
+\blx@kv@defkey{blx@bbc}{postnote}{%
\blx@key@bibnote{\blx@thepostnote}{#1}}
-\let\abx@default@locallabelwidth\@gobble
-\define@key{blx@bibdefaults}{locallabelwidth}{%
- \blx@key@locallabelwidth{\abx@default@locallabelwidth}{#1}}
-\define@key{blx@bib1}{locallabelwidth}[]{}
-\define@key{blx@biblist1}{locallabelwidth}[]{}
-\define@key{blx@bib2}{locallabelwidth}[true]{%
- \blx@key@locallabelwidth{\abx@locallabelwidth}{#1}}
-\define@key{blx@biblist2}{locallabelwidth}[true]{%
- \blx@key@locallabelwidth{\abx@locallabelwidth}{#1}}
-
-\def\blx@key@locallabelwidth#1#2{%
- \ifstrequal{#2}{true}
- {\def#1{\blx@locallabelwidth}}
- {\let#1\@gobble}}
-
-\define@key{blx@bib2}{resetnumbers}[true]{%
+
+\blx@kv@defkey{blx@bibdefaults}{locallabelwidth}{%
+ \blx@key@locallabelwidth{#1}}
+\blx@kv@defkey{blx@bib1}{locallabelwidth}[]{}
+\blx@kv@defkey{blx@biblist1}{locallabelwidth}[]{}
+\blx@kv@defkey{blx@bib2}{locallabelwidth}[true]{%
+ \blx@key@locallabelwidth{#1}}
+\blx@kv@defkey{blx@biblist2}{locallabelwidth}[true]{%
+ \blx@key@locallabelwidth{#1}}
+
+\def\blx@key@locallabelwidth#1{%
+ \ifstrequal{#1}{true}
+ {\let\blx@locallabelwidth@init\blx@locallabelwidth@setlengths
+ \let\blx@locallabelwidth@finish\blx@locallabelwidth@write}
+ {\let\blx@locallabelwidth@init\relax
+ \let\blx@locallabelwidth@finish\relax}}
+
+\blx@kv@defkey{blx@bib2}{resetnumbers}[true]{%
\iftoggle{blx@defernumbers}
{\ifstrequal{#1}{true}
{\csnumdef{blx@labelnumber@\the\c@refsection}{0}}
@@ -9131,7 +9141,7 @@
Option 'resetnumbers' requires 'defernumbers=true'.\MessageBreak
Ignoring 'resetnumbers=true'}}}
-\define@key{blx@bib2}{omitnumbers}[true]{%
+\blx@kv@defkey{blx@bib2}{omitnumbers}[true]{%
\ifstrequal{#1}{true}
{\iftoggle{blx@defernumbers}
{\toggletrue{blx@omitnumbers}}
@@ -9142,7 +9152,7 @@
\newrobustcmd*{\DeclarePrintbibliographyDefaults}{%
- \setkeys{blx@bibdefaults}}
+ \blx@kv@setkeys{blx@bibdefaults}}
% [<options>]
\newrobustcmd*{\printbibheading}{%
@@ -9156,7 +9166,7 @@
\let\blx@theheading\blx@default@theheading
\let\blx@thetitle\blx@default@thetitle
\blx@safe@actives
- \setkeys{blx@bhd}{#1}%
+ \blx@kv@setkeys{blx@bhd}{#1}%
\blx@rest@actives
\blx@bibheading\blx@theheading\blx@thetitle
\endgroup}
@@ -9188,7 +9198,7 @@
\edef\blx@tempe{\the\c@refsection}% default refsection is current
\blx@safe@actives
\togglefalse{blx@resetnumsexplicit}%
- \setkeys{blx@bib1}{#1}% First pass options keys - section and resetnumbers
+ \blx@kv@setkeys{blx@bib1}{#1}% First pass options keys - section and resetnumbers
% Is there a user-specified option for resetnumbers? If so, this overrides the default
% "labelprefix implies resetnumbers" behaviour
\iftoggle{blx@resetnumsexplicit}
@@ -9197,7 +9207,7 @@
{\ifdefempty\blx@refcontext@labelprefix@real}
{\@secondoftwo}
{}
- {\setkeys{blx@bib2}{resetnumbers}}}%
+ {\blx@kv@setkeys{blx@bib2}{resetnumbers}}}%
\blx@rest@actives
\ifcsvoid{blx@dlist@entry@\blx@tempe @\blx@refcontext@context}
{}
@@ -9207,7 +9217,7 @@
% \printbibliography following one with this set will inherit any
% previous "true" value
\togglefalse{blx@omitnumbers}%
- \setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options
+ \blx@kv@setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options
\blx@rest@actives
% Add datalist to list of seen datalists to prevent duplicates
\xifinlist{\blx@refcontext@context @\blx@tempe @entry}\blx@dlistnames
@@ -9239,7 +9249,7 @@
\let\blx@thetitle\blx@default@thetitle
\c@refsection\z@
\blx@safe@actives
- \setkeys{blx@bbs}{#1}%
+ \blx@kv@setkeys{blx@bbs}{#1}%
\blx@rest@actives
\togglefalse{blx@tempa}%
\blx@refsections}
@@ -9278,7 +9288,7 @@
\let\blx@thetitle\blx@default@thetitle
\c@refsegment\@ne
\blx@safe@actives
- \setkeys{blx@bbg}{#1}%
+ \blx@kv@setkeys{blx@bbg}{#1}%
\blx@rest@actives
\togglefalse{blx@tempa}%
\blx@refsegments}
@@ -9322,7 +9332,7 @@
\let\blx@thetitle\blx@default@thetitle
\c@refsection\z@
\blx@safe@actives
- \setkeys{blx@bbc}{#1}%
+ \blx@kv@setkeys{blx@bbc}{#1}%
\blx@rest@actives
\togglefalse{blx@tempa}%
\forlistloop\blx@bibcategory\blx@categories
@@ -9346,7 +9356,7 @@
\endgroup}
% {<entrykey>,...}
-\def\blx@bibliography#1{%
+\def\blx@bibliography{%
\blx@bibheading\blx@theheading\blx@thetitle
\blx@bibnote\blx@theprenote
\begingroup
@@ -9359,17 +9369,18 @@
\ifnum\bibnamesep=\z@
\let\blx@namesep\relax
\fi
- \abx@locallabelwidth{#1}%
+ \blx@locallabelwidth@init
\csuse{blx@env@\blx@theenv}%
\csuse{blx@hook@bibinit}%
\csuse{blx@hook@bibinit@next}%
\let\blx@do\blx@bibitem
\let\blx@done\blx@endbibliography
- \blx@listloop{#1}}
+ \blx@listloop}
\def\blx@endbibliography{%
\csuse{blx@endenv@\blx@theenv}%
\blx@noitem
+ \blx@locallabelwidth@finish
\endgroup
\blx@bibnote\blx@thepostnote
\endgroup}
@@ -9385,7 +9396,7 @@
\let\newrefsegment\relax
\ifblank{#2}
{\csuse{blx@head@#1}}
- {\csuse{blx@head@#1}[#2]}%
+ {\csuse{blx@head@#1}[{#2}]}%
\let\newrefsection\blx@newrefsection
\let\newrefsegment\blx@newrefsegment}
@@ -9411,25 +9422,6 @@
\csuse{blx@bibsetup}}
% {<entrykey>}
-\def\blx@lengthitem#1{%
- \blx@ifdata{#1}
- {\begingroup
- \blx@getdata{#1}%
- \blx@bibcheck
- \iftoggle{blx@skipentry}{}{%
- \iftoggle{blx@labelnumber}
- {\blx@bbl@locallabelnumberwidth}
- {}%
- \iftoggle{blx@labelalpha}
- {\blx@bbl@locallabelalphawidth}
- {}%
- \nottoggle{blx@skipbiblist}
- {\blx@bbl@locallabelfields}
- {}}%
- \endgroup}
- {}}
-
-% {<entrykey>}
% output a bib item, this is why \blx@thelabelnumber is here so that
% labelnumber is deferred if defernumbers=true
\def\blx@bibitem#1{%
@@ -9444,6 +9436,15 @@
\blx@setoptions@entry
\blx@thelabelnumber
\addtocounter{instcount}\@ne
+ \iftoggle{blx@labelnumber}
+ {\blx@bbl@locallabelnumberwidth}
+ {}%
+ \iftoggle{blx@labelalpha}
+ {\blx@bbl@locallabelalphawidth}
+ {}%
+ \nottoggle{blx@skipbiblist}
+ {\blx@bbl@locallabelfields}
+ {}%
\csuse{blx@item@\blx@theenv}\relax
\blx@initsep
\blx@namesep
@@ -9605,14 +9606,14 @@
\appto\blx@mknohyperref{\let\blx@anchor\relax}
-\define@key{blx@biblist2}{driver}{\blx@key@driver{#1}}
-\define@key{blx@biblist1}{driver}{}
+\blx@kv@defkey{blx@biblist2}{driver}{\blx@key@driver{#1}}
+\blx@kv@defkey{blx@biblist1}{driver}{}
\def\blx@key@driver#1{%
\def\blx@thebiblistdriver{#1}}
% Custom bibliography list
-% [<otions>]{biblistname}
+% [<options>]{biblistname}
\newrobustcmd*{\printbiblist}[2][]{%
\begingroup
\delimcontext{biblist}%
@@ -9635,12 +9636,15 @@
\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
- % 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/%
+ % locally define this since we want to fetch data from the datalist
+ % name after the list we are printing rather than the data in
+ % refcontext list.
+ % Note that the name must be unique so we prepend any filter name
+ % 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@kv@setkeys{blx@biblist1}{#1}% Set section and biblistfilter only, if present ...
+ \blx@edef@refcontext{\blx@thebiblistfilter :\blx@tempc/%
\blx@refcontext@sortingnamekeytemplatename/%
\blx@refcontext@labelprefix/%
\blx@refcontext@uniquenametemplatename/%
@@ -9658,13 +9662,12 @@
{}
{\listxadd\blx@biblists\blx@tempc}%
\blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{\blx@tempc}}%
- \setkeys{blx@biblist1}{#1}% Set section only, if present ...
\blx@rest@actives
\ifcsvoid{blx@dlist@list@\blx@tempe @\blx@refcontext@context}
{}
{\letcs\blx@tempa{blx@dlist@list@\blx@tempe @\blx@refcontext@context}}%
\blx@safe@actives
- \setkeys{blx@biblist2}{#1}% ... now we have correct \blx@tempa, set rest of options
+ \blx@kv@setkeys{blx@biblist2}{#1}% ... now we have correct \blx@tempa, set rest of options
\ifundef\blx@bibcheck
{\ifcsdef{blx@bibcheck@#2}
{\letcs\blx@bibcheck{blx@bibcheck@#2}}
@@ -9686,11 +9689,21 @@
\iftoggle{blx@defernumbers}
{\global\let\blx@printbibchecks\relax}
{\iftoggle{blx@labelnumber}
- {}
+ {\ifundef\blx@printbibchecks@suppresswarn
+ {\blx@warning@noline{%
+ Split bibliography detected.\MessageBreak
+ Many simple split bibliography setups with\MessageBreak
+ non-overlapping bibliographies benefit from%
+ \MessageBreak
+ setting 'defernumbers=true'.\MessageBreak
+ See the documentation for details.\MessageBreak
+ This warning can be suppressed with\MessageBreak
+ '\string\BiblatexSplitbibDefernumbersWarningOff'}}
+ {}}
{\global\let\blx@printbibchecks\relax}}}
% {<entrykey>,...}
-\def\blx@biblist#1{%
+\def\blx@biblist{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
@@ -9702,16 +9715,17 @@
\blx@bibinit
\let\@noitemerr\@empty
\def\blx@noitem{\blx@warn@biblistempty{\blx@thebiblist}}%
- \abx@locallabelwidth{#1}%
+ \blx@locallabelwidth@init
\csuse{blx@env@\blx@theenv}%
\csuse{blx@hook@biblistinit@\blx@thebiblist}%
\let\blx@do\blx@biblistitem
\let\blx@done\blx@endbiblist
- \blx@listloop{#1}}
+ \blx@listloop}
\def\blx@endbiblist{%
\csuse{blx@endenv@\blx@theenv}%
\blx@noitem
+ \blx@locallabelwidth@finish
\endgroup
\blx@bibnote\blx@thepostnote
\endgroup
@@ -9735,6 +9749,15 @@
\blx@setoptions@type\abx@field@entrytype
\blx@setoptions@entry
\addtocounter{instcount}\@ne
+ \iftoggle{blx@labelnumber}
+ {\blx@bbl@locallabelnumberwidth}
+ {}%
+ \iftoggle{blx@labelalpha}
+ {\blx@bbl@locallabelalphawidth}
+ {}%
+ \nottoggle{blx@skipbiblist}
+ {\blx@bbl@locallabelfields}
+ {}%
\csuse{blx@item@\blx@theenv}\relax
\csuse{blx@hook@biblistitem@\blx@thebiblist}%
\blx@execute
@@ -9772,8 +9795,8 @@
\def\refcontext@i[#1]{%
\@ifnextchar\bgroup
- {\refcontext@ii[#1]}
- {\refcontext@ii[#1]{}}}
+ {\refcontext@ii[{#1}]}
+ {\refcontext@ii[{#1}]{}}}
\newcommand*{\refcontext@ii}[2][]{%
\iftoggle{blx@refcontext}
@@ -9783,11 +9806,12 @@
% Set refcontext from named refcontext, if given
\ifblank{#2}
{}
- {\edef\z{%
- \noexpand\setkeys{blx@refcontext}{\csuse{blx@refcontext@name@#2}}}%
- \z}%
+ {\begingroup
+ \edef\blx@tempa{\endgroup%
+ \noexpand\blx@kv@setkeys{blx@refcontext}{\csuse{blx@refcontext@name@#2}}}%
+ \blx@tempa}%
% Override with explicit refcontext keyvals, if given
- \setkeys{blx@refcontext}{#1}%
+ \blx@kv@setkeys{blx@refcontext}{#1}%
% Add the sortingtemplate to the list of sortingtemplates so we can track
% special cases like sorting=none which need cite order change detection
\xifinlist\blx@refcontext@sortingtemplatename\blx@sortingtemplatenames
@@ -9834,15 +9858,15 @@
\blx@refcontext@labelalphanametemplatename}}
% Meta option to set all name template options
-\define@key{blx@refcontext}{nametemplates}{%
+\blx@kv@defkey{blx@refcontext}{nametemplates}{%
\gdef\blx@refcontext@sortingnamekeytemplatename{#1}%
\gdef\blx@refcontext@uniquenametemplatename{#1}%
\gdef\blx@refcontext@labelalphanametemplatename{#1}}
-\define@key{blx@refcontext}{sorting}{\gdef\blx@refcontext@sortingtemplatename{#1}}
-\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}}
+\blx@kv@defkey{blx@refcontext}{sorting}{\gdef\blx@refcontext@sortingtemplatename{#1}}
+\blx@kv@defkey{blx@refcontext}{sortingnamekeytemplatename}{\gdef\blx@refcontext@sortingnamekeytemplatename{#1}}
+\blx@kv@defkey{blx@refcontext}{uniquenametemplatename}{\gdef\blx@refcontext@uniquenametemplatename{#1}}
+\blx@kv@defkey{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,
@@ -9850,7 +9874,7 @@
% 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}{%
+\blx@kv@defkey{blx@refcontext}{labelprefix}{%
\xdef\blx@refcontext@labelprefix{\blx@mdfivesum{#1}}%
\gdef\blx@refcontext@labelprefix@real{#1}%
\iftoggle{blx@defernumbers}
@@ -9873,7 +9897,7 @@
\let\blx@tempc\@empty%
\def\blx@tempd{global}%
\def\blx@tempe{global}%
- \setkeys{blx@assignrefcontext}{#2}%
+ \blx@kv@setkeys{blx@assignrefcontext}{#2}%
\def\do##1{%
\listxadd\blx@assignedrefcontextkeywlist{##1}%
\csxdef{blx@assignedrefcontextkeyws#1@\the\c@refsection @##1}%
@@ -9892,7 +9916,7 @@
\let\blx@tempc\@empty%
\def\blx@tempd{global}%
\def\blx@tempe{global}%
- \setkeys{blx@assignrefcontext}{#2}%
+ \blx@kv@setkeys{blx@assignrefcontext}{#2}%
\def\do##1{%
\listxadd\blx@assignedrefcontextcatlist{##1}%
\csxdef{blx@assignedrefcontextcats#1@\the\c@refsection @##1}%
@@ -9911,24 +9935,24 @@
\let\blx@tempc\@empty%
\def\blx@tempd{global}%
\def\blx@tempe{global}%
- \setkeys{blx@assignrefcontext}{#2}%
+ \blx@kv@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}}%
\docsvlist{#3}}
% Meta option to set all name template options
-\define@key{blx@assignrefcontext}{nametemplates}{%
+\blx@kv@defkey{blx@assignrefcontext}{nametemplates}{%
\def\blx@tempb{#1}%
\def\blx@tempd{#1}%
\def\blx@tempe{#1}}
-\define@key{blx@assignrefcontext}{sorting}{\def\blx@tempa{#1}}
-\define@key{blx@assignrefcontext}{sortingnamekeytemplatename}{\def\blx@tempb{#1}}
-\define@key{blx@assignrefcontext}{labelprefix}{%
+\blx@kv@defkey{blx@assignrefcontext}{sorting}{\def\blx@tempa{#1}}
+\blx@kv@defkey{blx@assignrefcontext}{sortingnamekeytemplatename}{\def\blx@tempb{#1}}
+\blx@kv@defkey{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}}
+\blx@kv@defkey{blx@assignrefcontext}{uniquenametemplatename}{\def\blx@tempd{#1}}
+\blx@kv@defkey{blx@assignrefcontext}{labelalphanametemplatename}{\def\blx@tempe{#1}}
% Reference sections
\newrobustcmd*{\newrefsection}{%
@@ -10043,6 +10067,11 @@
\AtEndDocument{%
\endrefcontext
+ % close non-0 refsection if active
+ \ifnum\c@refsection>\z@
+ \blx@endrefsection
+ \fi
+ % close refsection 0
\blx@endrefsection
\def\abx@aux@refsection#1#2{\blx@addchecksum{#1}{#2}}}
@@ -10144,20 +10173,27 @@
%% that we can use for that purpose as well.
%% This is fairly new, so we need to have a fallback for older versions.
-%% The standard classes are tricky. They have no good hooks and just
-%% for sections at least \pretocmd-ing executes the code before
-%% counters are increased, so the labels attach to the wrong thing.
+%% The standard classes are tricky.
+%% We insert something in \@startsection to get the level number
+%% and then patch \@sect and \@ssect so the label attaches to the
+%% right thing.
%% Test for correct KOMA patch method
% KOMA 3.27 has \AddtoDoHook
\newcommand*{\blx@ifkoma@AddtoDoHook}{%
- \ifboolexpr{not test {\ifcsundef{KOMAClassName}}
- and not test {\ifcsundef{AddtoDoHook}}}}
+ \ifcsundef{KOMAClassName}
+ {\@secondoftwo}
+ {\ifcsundef{AddtoDoHook}
+ {\@secondoftwo}
+ {\@firstoftwo}}}
% KOMA 3.26 has \startsection@secnumdepth for some testing
\newcommand*{\blx@ifkoma@startsection}{%
- \ifboolexpr{not test {\ifcsundef{KOMAClassName}}
- and not test {\ifcsundef{startsection@secnumdepth}}}}
+ \ifcsundef{KOMAClassName}
+ {\@secondoftwo}
+ {\ifcsundef{startsection@secnumdepth}
+ {\@secondoftwo}
+ {\@firstoftwo}}}
\newcommand*{\blx@ifmemoir}{\@ifclassloaded{memoir}}
@@ -10202,7 +10238,12 @@
\apptocmd\memchapinfo{#1}
{}{\blx@err@patch{\string\memchapinfo}}%
\apptocmd\memchapstarinfo{#1}
- {}{\blx@err@patch{\string\memchapstarinfo}}}
+ {}{\blx@err@patch{\string\memchapstarinfo}}%
+ \apptocmd\memappchapinfo{#1}
+ {}{\blx@err@patch{\string\memappchapinfo}}%
+ \apptocmd\memappchapstarinfo{#1}
+ {}{\blx@err@patch{\string\memappchapstarinfo}}%
+}
\def\blx@refpatch@chapter@std#1{%
\pretocmd\@makechapterhead{#1}
@@ -10222,7 +10263,7 @@
{\blx@refpatch@chapter@std{#1}}}}}
% \section, \subsection
-% {<section csname>}{<precode>}{<section level number>}
+% {<section csname>}{<patch code>}{<section level number>}
\def\blx@refpatch@sect#1#2#3{%
\ifcsundef{#1}
{\blx@err@nodocdiv{#1}\@gobbletwo}
@@ -10241,6 +10282,8 @@
\def\blx@refpatch@sect@koma@startsection#1#2{%
\At@startsection{\ifnumequal{\startsection@secnumdepth}{#2}{#1}{}}}
+% The memoir classes have a nice hook we can use
+% {<section csname>}{<patch code>}
\edef\blx@refpatch@sect@memoir#1#2{%
\apptocmd\noexpand\memsecinfo
{\noexpand\blx@refpatch@sect@memoir@i{\string#1}{#1}{#2}}
@@ -10252,31 +10295,94 @@
\def\blx@refpatch@sect@memoir@i#1#2#3{%
\ifstrequal{#1}{#2}{#3}{}}
-\edef\blx@refpatch@sect@std#1#2{%
+% The standard classes have \@startsection, \@sect and \@ssect.
+% \@startsection is used by unstarred and starred sections alike
+% but it comes in too early if we set labels.
+% The counter is only stepped in \@sect, so we need to patch
+% that if we want \labels to attach to the right thing.
+% But then we also need to patch \@ssect for starred/un-numbered
+% sections. Unfortunately, \@ssect doesn't know the level number
+% so we patch \@startsection to remember the level number
+% in blx@refpatch@current@sectlevel
+% and then patch \@sect and \@ssect with the actual code
+% testing against blx@refpatch@current@sectlevel.
+
+% {<do initialization>}{<csv list to do>}{<error>}
+\def\blx@refpatch@docsvlist#1#2#3{%
+ \toggletrue{blx@tempa}%
+ #1%
+ \docsvlist{#2}%
+ \iftoggle{blx@tempa}
+ {#3}
+ {}%
+ \let\do\noexpand}
+
+\newtoggle{blx@refpatch@sect@std@pre@done}
+
+\def\blx@refpatch@sect@std@pre{%
+ \iftoggle{blx@refpatch@sect@std@pre@done}
+ {}
+ {\blx@refpatch@docsvlist
+ {\blx@refpatch@sect@std@pre@defdo}
+ {\scr@startsection,
+ \@startsection}
+ {\blx@err@patch{\string\@startsection}}
+ \global\toggletrue{blx@refpatch@sect@std@pre@done}}}
+
+\edef\blx@refpatch@sect@std@pre@defdo{%
\def\noexpand\do##1{%
- \pretocmd##1%
- {\noexpand\blx@refpatch@sect@std@i{#1}{#2}{\string#2}}
+ \pretocmd##1
+ {\csnumdef{blx@refpatch@current@sectlevel}{\string#2}}
{\togglefalse{blx@tempa}\noexpand\listbreak}
- {}}%
- \noexpand\blx@refpatch@sect@std@ii}
+ {}}}
-\def\blx@refpatch@sect@std@i#1#2#3{%
- \ifnumequal{#2}{#3}{#1}{}}
+\edef\blx@refpatch@sect@std@defdo@sect#1#2{%
+ \def\noexpand\do##1{%
+ \patchcmd##1%
+ {\noexpand\@tempskipa \string#5\noexpand\relax}
+ {\noexpand\blx@refpatch@sect@std@testandruncode{#1}{#2}%
+ \noexpand\@tempskipa \string#5\noexpand\relax}
+ {\togglefalse{blx@tempa}\noexpand\listbreak}
+ {}}}
-\def\blx@refpatch@sect@std@ii{%
- \toggletrue{blx@tempa}%
- \docsvlist{% order does matter:
- \H@old@sectm@m,% memoir+hyperref (what a mess...)
- \M@sect,% memoir
- \H@old@sect,% hyperref
- \NR@sect,% nameref
- \scr@sect,% koma-script 3.x
- \scr@startsection,% bad hack for koma 3.15 <= v <= 3.25
- \@startsection}% latex
- \iftoggle{blx@tempa}
+\edef\blx@refpatch@sect@std@defdo@ssect#1#2{%
+ \def\noexpand\do##1{%
+ \patchcmd##1%
+ {\noexpand\@tempskipa \string#3\noexpand\relax}
+ {\noexpand\blx@refpatch@sect@std@testandruncode{#1}{#2}%
+ \noexpand\@tempskipa \string#3\noexpand\relax}
+ {\togglefalse{blx@tempa}\noexpand\listbreak}
+ {}}}
+
+% {<patch code>}{<section level number>}
+\def\blx@refpatch@sect@std#1#2{%
+ \blx@refpatch@sect@std@pre
+ % \@sect for numbered (unstarred) sections
+ \blx@refpatch@docsvlist
+ {\blx@refpatch@sect@std@defdo@sect{#1}{#2}}
+ {\H@old@sectm@m,% memoir+hyperref (what a mess...)
+ \M@sect,% memoir
+ \H@old@sect,% hyperref
+ \NR@sect,% nameref
+ \scr@sect,% koma-script 3.x
+ \scr@startsection,% bad hack for koma 3.15 <= v <= 3.25
+ \@sect}
{\blx@err@patch{\string\@sect}}
- {}%
- \let\do\noexpand}
+ % \@ssect for un-numbered (starred) sections
+ \blx@refpatch@docsvlist
+ {\blx@refpatch@sect@std@defdo@ssect{#1}{#2}}
+ {\H@old@ssectm@m,% memoir+hyperref (what a mess...)
+ \M@ssect,% memoir
+ \H@old@ssect,% hyperref
+ \NR@ssect,% nameref
+ \scr@ssect,% koma-script 3.x
+ \@ssect}
+ {\blx@err@patch{\string\@ssect}}}
+
+\def\blx@refpatch@sect@std@testandruncode#1#2{%
+ \ifnumequal{#2}{0\csuse{blx@refpatch@current@sectlevel}}
+ {#1}
+ {}}
% Bibliography categories
@@ -10366,10 +10472,13 @@
{\blx@addbib@i{#1}}
{\blx@addbib@i{#1}[]}}
+% kill all spaces and %
+% see https://github.com/plk/biblatex/issues/1026
\def\blx@addbib@i#1[#2]{%
\begingroup
- \blx@hook@fileverb
- \blx@addbib@ii{#1}{#2}}
+ \@ifnextchar\bgroup
+ {\blx@hook@fileverb\blx@addbib@ii{#1}{#2}}%
+ {\blx@hook@fileverb\blx@addbib@ii{#1}{#2}}}
\def\blx@addbib@ii#1#2#3{%
\endgroup
@@ -10379,7 +10488,8 @@
\def\blx@tempc{local}%
\undef\blx@tempd
\let\blx@tempe\@empty
- \setkeys{blx@addbib}{#2}%
+ \def\blx@tempf{false}%
+ \blx@kv@setkeys{blx@addbib}{#2}%
\blx@xsanitizeafter{#1}{#3}%
\endgroup}
@@ -10390,22 +10500,27 @@
\catcode`\{=\@ne
\catcode`\}=\tw@}
-\define@key{blx@addbib}{type}{\def\blx@tempa{#1}}
-\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@kv@defkey{blx@addbib}{type}{\def\blx@tempa{#1}}
+\blx@kv@defkey{blx@addbib}{datatype}{\def\blx@tempb{#1}}
+\blx@kv@defkey{blx@addbib}{location}{\def\blx@tempc{#1}}
+\blx@kv@defkey{blx@addbib}{label}{\edef\blx@tempd{\detokenize{#1}}}
+\blx@kv@defkey{blx@addbib}{bibencoding}{\def\blx@tempe{#1}}
+\blx@kv@defkey{blx@addbib}{glob}[true]{\def\blx@tempf{#1}}
% \blx@res@type@<resource> resource -> type
% \blx@res@data@<resource> resource -> datatype
% \blx@res@loca@<resource> resource -> datatype
% \blx@res@labl@<resource> label -> resource
+% \blx@res@glob@<resource> glob -> true|false
\def\blx@addbib@register#1{%
\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@tempf
+ {\csxdef{blx@res@glob@#1}{\blx@tempf}}
+ {}%
\ifdef\blx@tempd
{\csxdef{blx@res@labl@\blx@tempd}{#1}}
{}}
@@ -10438,6 +10553,9 @@
{\ifcsvoid{blx@res@bibencoding@#2}
{}
{ encoding="\csuse{blx@res@bibencoding@#2}"}}
+ {\ifcsvoid{blx@res@glob@#2}
+ {}
+ { glob="\csuse{blx@res@glob@#2}"}}
{#3}}}
%% Citations
@@ -10452,6 +10570,12 @@
\newrobustcmd*{\AtEachCitekey}{%
\iftoggle{blx@citation}{\appto\blx@hook@citekey}{\@gobble}}
+\let\blx@hook@entrykey\@gobble
+\newrobustcmd*{\AtEveryEntrykey}{%
+ \apptocmd{\blx@hook@entrykey}}
+\@onlypreamble\AtEveryEntrykey
+
+
\def\blx@imc@UseEveryCiteHook{\csuse{blx@hook@cite}}
\def\blx@imc@UseEveryCitekeyHook{\csuse{blx@hook@citekey}}
\def\blx@imc@UseEveryMultiCiteHook{\csuse{blx@hook@mcite}}
@@ -10550,7 +10674,8 @@
{\ifinlistcs{#1}{blx@miss@\the\c@refsection}
{}
{\blx@logreq@active{#2{#1}}}}
- {\blx@logreq@active{#2{#1}}}}}
+ {\blx@logreq@active{#2{#1}}}}%
+ \blx@hook@entrykey{#1}}
\protected\def\abx@aux@segm#1#2#3{%
\xifinlistcs{\detokenize{#3}}{blx@segm@#1@#2}
@@ -10695,7 +10820,7 @@
% {<entrykey>}
\def\blx@citeadd#1{%
\ifcsdef{blx@keyalias@\the\c@refsection @#1}
- {\edef\blx@realkey{\csuse{blx@keyalias@\the\c@refsection @#1}}}
+ {\letcs\blx@realkey{blx@keyalias@\the\c@refsection @#1}}
{\def\blx@realkey{#1}}%
\expandafter\blx@getrefcontext\expandafter{\blx@realkey}% needed for \ifdata
\expandafter\blx@citation\expandafter{\blx@realkey}\blx@msg@cundefon
@@ -11397,7 +11522,7 @@
\long\def\blx@citexpunct@i#1#2#3#4{%
\@ifnextchar[%]
{\blx@citexpunct@ii{#1}{{#2}{#3}{#4}}}
- {\blx@citexpunct@ii{#1}{{#2}{#3}{#4}}[#1]}}
+ {\blx@citexpunct@ii{#1}{{#2}{#3}{#4}}[{#1}]}}
\long\def\blx@citexpunct@ii#1#2[#3]#4{%
\blx@thecheckpunct{\blxcitecmd{#1}#2{#3}{#4}}}
@@ -11825,7 +11950,7 @@
\ifnameundef{#5}
{\blx@warning@entry{'#5' undefined or not a name list}%
\abx@missing{#5}}
- {\printnames[#4]{#5}}}%
+ {\printnames[{#4}]{#5}}}%
\def\blx@dlimcode{\multicitedelim}%
\def\blx@postpunct@saved{#6}%
\ifblank{#2}
@@ -11853,7 +11978,7 @@
\iflistundef{#5}
{\blx@warning@entry{'#5' undefined or not a literal list}%
\abx@missing{#5}}
- {\printlist[#4]{#5}}}%
+ {\printlist[{#4}]{#5}}}%
\def\blx@dlimcode{\multicitedelim}%
\def\blx@postpunct@saved{#6}%
\ifblank{#2}
@@ -11882,7 +12007,7 @@
\iffieldundef{#5}
{\blx@warning@entry{'#5' undefined or not a field}%
\abx@missing{#5}}
- {\printfield[#4]{#5}}}%
+ {\printfield[{#4}]{#5}}}%
\def\blx@dlimcode{\multicitedelim}%
\def\blx@postpunct@saved{#6}%
\ifblank{#2}
@@ -11947,6 +12072,9 @@
\def\iffieldequals#1#2{\blx@TE{\blx@imc@iffieldequals{#1}{#2}}}%
\def\iffieldequalstr#1#2{\blx@TE{\blx@imc@iffieldequalstr{#1}{#2}}}%
\def\iffieldsequal#1#2{\blx@TE{\blx@imc@iffieldsequal{#1}{#2}}}%
+ \def\iflistequalcs#1#2{\blx@TE{\blx@imc@iflistequalcs{#1}{#2}}}%
+ \def\iflistequals#1#2{\blx@TE{\blx@imc@iflistequals{#1}{#2}}}%
+ \def\iflistsequal#1#2{\blx@TE{\blx@imc@iflistsequal{#1}{#2}}}%
\def\ifbibmacroundef#1{\blx@TE{\blx@imc@ifbibmacroundef{#1}}}%
\def\iffieldundef#1{\blx@TE{\blx@imc@iffieldundef{#1}}}%
\def\ifnameequalcs#1#2{\blx@TE{\blx@imc@ifnameequalcs{#1}{#2}}}%
@@ -12586,8 +12714,8 @@
~~<bcf:bibdata section="#1">\blx@nl
#2%
~~</bcf:bibdata>\blx@nl}
-\xdef\blx@xml@datasource#1#2#3#4{%
- ~~~~<bcf:datasource type="#1" datatype="#2"#3>#4</bcf:datasource>\blx@nl}
+\xdef\blx@xml@datasource#1#2#3#4#5{%
+ ~~~~<bcf:datasource type="#1" datatype="#2"#3#4>#5</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{%
@@ -12713,8 +12841,8 @@
\blx@safe@actives
\let\protect\string
% options
- \edef\labelalphaothers{\labelalphaothers}%
- \edef\sortalphaothers{\sortalphaothers}%
+ \protected@edef\labelalphaothers{\labelalphaothers}%
+ \protected@edef\sortalphaothers{\sortalphaothers}%
\blx@xmlsanitizeafter{\def\labelalphaothers}{\labelalphaothers}%
\blx@xmlsanitizeafter{\def\sortalphaothers}{\sortalphaothers}%
% Expand the global use* name toggles
@@ -13026,7 +13154,7 @@
\let\blx@dm@datatype\@empty
\let\blx@member@field\@empty
\let\blx@tempb\@empty
- \setkeys{blx@datafieldsets@member}{#1}%
+ \blx@kv@setkeys{blx@datafieldsets@member}{#1}%
\eappto\blx@tempa{%
\blx@xml@datafieldsets@member{\blx@tempb}}%
\ifdefempty\blx@member@field
@@ -13051,13 +13179,13 @@
\listcsxadd{blx@datafieldset@\blx@setname}{##1}}
\dolistcsloop{blx@datamodelfields@datatypes@\blx@dm@datatype}}}}
-\define@key{blx@datafieldsets@member}{datatype}{% characters
+\blx@kv@defkey{blx@datafieldsets@member}{datatype}{% characters
\appto\blx@tempb{ datatype="#1"}%
\def\blx@dm@datatype{#1}}
-\define@key{blx@datafieldsets@member}{fieldtype}{% characters
+\blx@kv@defkey{blx@datafieldsets@member}{fieldtype}{% characters
\appto\blx@tempb{ fieldtype="#1"}%
\def\blx@dm@fieldtype{#1}}
-\define@key{blx@datafieldsets@member}{field}{% characters
+\blx@kv@defkey{blx@datafieldsets@member}{field}{% characters
\appto\blx@tempb{ field="#1"}%
\def\blx@member@field{#1}}
@@ -13093,8 +13221,8 @@
\let\map\blx@sourcemap@map
#2%
\ifblank{#1}
- {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=driver}}
- {\setkeys{blx@sourcemap@maps}{#1, level=driver}}%
+ {\blx@kv@setkeys{blx@sourcemap@maps}{datatype=bibtex, level=driver}}
+ {\blx@kv@setkeys{blx@sourcemap@maps}{#1, level=driver}}%
\eappto\blx@tempa{%
\blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}%
\csxdef{blx@sourcemap@defaults@\blx@tempd}{\blx@tempa}%
@@ -13106,8 +13234,8 @@
\let\blx@tempc\@empty
\let\map\blx@sourcemap@map
\ifblank{#1}
- {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=user}}
- {\setkeys{blx@sourcemap@maps}{#1, level=user}}%
+ {\blx@kv@setkeys{blx@sourcemap@maps}{datatype=bibtex, level=user}}
+ {\blx@kv@setkeys{blx@sourcemap@maps}{#1, level=user}}%
#2%
\eappto\blx@tempa{%
\blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}}
@@ -13117,20 +13245,20 @@
\let\blx@tempc\@empty
\let\map\blx@sourcemap@map
\ifblank{#1}
- {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=style}}
- {\setkeys{blx@sourcemap@maps}{#1, level=style}}%
+ {\blx@kv@setkeys{blx@sourcemap@maps}{datatype=bibtex, level=style}}
+ {\blx@kv@setkeys{blx@sourcemap@maps}{#1, level=style}}%
#2%
\eappto\blx@tempa{%
\blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}}
-\define@key{blx@sourcemap@maps}{datatype}{% characters
+\blx@kv@defkey{blx@sourcemap@maps}{datatype}{% characters
\eappto\blx@tempb{ datatype="#1"}%
\eappto\blx@tempd{#1}}
-\define@key{blx@sourcemap@maps}{overwrite}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@maps}{overwrite}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempb{ map\string_overwrite="1"}}
{}}
-\define@key{blx@sourcemap@maps}{level}{% user|style|driver
+\blx@kv@defkey{blx@sourcemap@maps}{level}{% user|style|driver
\appto\blx@tempb{ level="#1"}}
\newcommand*{\blx@sourcemap@map}[2][]{%
@@ -13142,18 +13270,18 @@
\let\step\blx@sourcemap@step
\ifblank{#1}
{}
- {\setkeys{blx@sourcemap@map}{#1}}%
+ {\blx@kv@setkeys{blx@sourcemap@map}{#1}}%
#2%
\eappto\blx@tempc{%
\blx@xml@sourcemap@map{\blx@tempm}{\blx@tempe}}}
-\define@key{blx@sourcemap@map}{overwrite}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@map}{overwrite}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempm{ map\string_overwrite="1"}}
{}}
-\define@key{blx@sourcemap@map}{foreach}{% characters
+\blx@kv@defkey{blx@sourcemap@map}{foreach}{% characters
\eappto\blx@tempm{ map\string_foreach="#1"}}
-\define@key{blx@sourcemap@map}{refsection}{% integer
+\blx@kv@defkey{blx@sourcemap@map}{refsection}{% integer
\eappto\blx@tempm{ refsection="#1"}}
\newcommand*{\blx@sourcemap@perdatasource}[1]{%
@@ -13170,96 +13298,100 @@
\newcommand*{\blx@sourcemap@step}[1][2]{%
\let\blx@tempf\@empty
- \setkeys{blx@sourcemap@step}{#1}%
+ \blx@kv@setkeys{blx@sourcemap@step}{#1}%
\eappto\blx@tempe{%
\blx@xml@sourcemap@step{\blx@tempf}}}
-\define@key{blx@sourcemap@step}{typesource}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{typesource}{% characters
\eappto\blx@tempf{ map\string_type\string_source="#1"}}
-\define@key{blx@sourcemap@step}{typetarget}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{typetarget}{% characters
\eappto\blx@tempf{ map\string_type\string_target="#1"}}
-\define@key{blx@sourcemap@step}{final}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{final}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_final="1"}}
{}}
-\define@key{blx@sourcemap@step}{cited}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{cited}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entrykey\string_cited="1"}}
{}}
-\define@key{blx@sourcemap@step}{nocited}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{nocited}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entrykey\string_nocited="1"}}
{}}
-\define@key{blx@sourcemap@step}{citedornocited}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{citedornocited}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entrykey\string_citedornocited="1"}}
{}}
-\define@key{blx@sourcemap@step}{allnocited}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{allnocited}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entrykey\string_allnocited="1"}}
{}}
-\define@key{blx@sourcemap@step}{fieldsource}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{starnocited}[true]{% true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempf{ map\string_entrykey\string_starnocited="1"}}
+ {}}
+\blx@kv@defkey{blx@sourcemap@step}{fieldsource}{% characters
\eappto\blx@tempf{ map\string_field\string_source="#1"}}
-\define@key{blx@sourcemap@step}{notfield}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{notfield}{% characters
\eappto\blx@tempf{ map\string_notfield="#1"}}
-\define@key{blx@sourcemap@step}{fieldtarget}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{fieldtarget}{% characters
\eappto\blx@tempf{ map\string_field\string_target="#1"}}
-\define@key{blx@sourcemap@step}{fieldset}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{fieldset}{% characters
\eappto\blx@tempf{ map\string_field\string_set="#1"}}
% We are sanitising the XML here as it's the value of an attribute which
% might contain quotes or ampersands (URLs, for example)
-\define@key{blx@sourcemap@step}{fieldvalue}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{fieldvalue}{% characters
\blx@xmlsanitizeafter{\def\blx@temps}{#1}%
\eappto\blx@tempf{ map\string_field\string_value="\blx@temps"}}
-\define@key{blx@sourcemap@step}{append}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{append}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_append="1"}}
{}}
-\define@key{blx@sourcemap@step}{appendstrict}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{appendstrict}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_appendstrict="1"}}
{}}
-\define@key{blx@sourcemap@step}{null}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{null}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_null="1"}}
{}}
-\define@key{blx@sourcemap@step}{entrynull}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{entrynull}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entry\string_null="1"}}
{}}
-\define@key{blx@sourcemap@step}{entrynocite}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{entrynocite}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entry\string_nocite="1"}}
{}}
-\define@key{blx@sourcemap@step}{entrynew}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{entrynew}{% characters
\appto\blx@tempf{ map\string_entry\string_new="#1"}}
-\define@key{blx@sourcemap@step}{entrynewtype}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{entrynewtype}{% characters
\appto\blx@tempf{ map\string_entry\string_newtype="#1"}}
-\define@key{blx@sourcemap@step}{entrytarget}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{entrytarget}{% characters
\appto\blx@tempf{ map\string_entrytarget="#1"}}
-\define@key{blx@sourcemap@step}{entryclone}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{entryclone}{% characters
\appto\blx@tempf{ map\string_entry\string_clone="#1"}}
-\define@key{blx@sourcemap@step}{origfield}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{origfield}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_origfield="1"}}
{}}
-\define@key{blx@sourcemap@step}{origfieldval}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{origfieldval}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_origfieldval="1"}}
{}}
-\define@key{blx@sourcemap@step}{origentrytype}[true]{% true|false
+\blx@kv@defkey{blx@sourcemap@step}{origentrytype}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_origentrytype="1"}}
{}}
-\define@key{blx@sourcemap@step}{match}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{match}{% characters
\appto\blx@tempf{ map\string_match="#1"}}
-\define@key{blx@sourcemap@step}{matchi}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{matchi}{% characters
\appto\blx@tempf{ map\string_matchi="#1"}}
-\define@key{blx@sourcemap@step}{notmatch}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{notmatch}{% characters
\appto\blx@tempf{ map\string_notmatch="#1"}}
-\define@key{blx@sourcemap@step}{notmatchi}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{notmatchi}{% characters
\appto\blx@tempf{ map\string_notmatchi="#1"}}
-\define@key{blx@sourcemap@step}{replace}{% characters
+\blx@kv@defkey{blx@sourcemap@step}{replace}{% characters
\eappto\blx@tempf{ map\string_replace="#1"}}
% [<specname>]{<spec>}
@@ -13288,29 +13420,29 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@lantem@namepart}{#1}}%
+ {\blx@kv@setkeys{blx@lantem@namepart}{#1}}%
\eappto\blx@tempa{%
\blx@xml@labelalphanametemplatenamepart{\blx@tempe}{\blx@tempc}{#2}}}
-\define@key{blx@lantem@namepart}{use}[true]{% use* option for namepart true|false
+\blx@kv@defkey{blx@lantem@namepart}{use}[true]{% use* option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ use="1"}}
{}}
-\define@key{blx@lantem@namepart}{pre}[true]{% pre option for namepart true|false
+\blx@kv@defkey{blx@lantem@namepart}{pre}[true]{% pre option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ pre="1"}}
{}}
-\define@key{blx@lantem@namepart}{compound}[true]{% base option for namepart true|false
+\blx@kv@defkey{blx@lantem@namepart}{compound}[true]{% base option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ substring\string_compound="1"}}
{}}
-\define@key{blx@lantem@namepart}{strwidth}{% integer
+\blx@kv@defkey{blx@lantem@namepart}{strwidth}{% integer
\eappto\blx@tempc{ substring\string_width="#1"}}
-\define@key{blx@lantem@field}{strside}{% left|right
+\blx@kv@defkey{blx@lantem@field}{strside}{% left|right
\ifstrequal{#1}{right}
{\eappto\blx@tempc{ substring\string_side="right"}}
{\eappto\blx@tempc{ substring\string_side="left"}}}
@@ -13356,56 +13488,56 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@latem@field}{#1}}%
+ {\blx@kv@setkeys{blx@latem@field}{#1}}%
\eappto\blx@tempb{%
\blx@xml@labelalpha@part{\blx@tempc}{#2}}}
-\define@key{blx@latem@field}{uppercase}[true]{% true|false
+\blx@kv@defkey{blx@latem@field}{uppercase}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ uppercase="1"}}
{}}
-\define@key{blx@latem@field}{lowercase}[true]{% true|false
+\blx@kv@defkey{blx@latem@field}{lowercase}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ lowercase="1"}}
{}}
-\define@key{blx@latem@field}{final}[true]{% true|false
+\blx@kv@defkey{blx@latem@field}{final}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ final="1"}}
{}}
-\define@key{blx@latem@field}{strwidth}{% integer
+\blx@kv@defkey{blx@latem@field}{strwidth}{% integer
\eappto\blx@tempc{ substring\string_width="#1"}}
-\define@key{blx@latem@field}{varwidth}[true]{% "v"
+\blx@kv@defkey{blx@latem@field}{varwidth}[true]{% "v"
\ifstrequal{#1}{true}
{\appto\blx@tempc{ substring\string_width="v"}}
{}}
-\define@key{blx@latem@field}{varwidthnorm}[true]{% "vf"
+\blx@kv@defkey{blx@latem@field}{varwidthnorm}[true]{% "vf"
\ifstrequal{#1}{true}
{\appto\blx@tempc{ substring\string_width="vf"}}
{}}
-\define@key{blx@latem@field}{varwidthlist}[true]{% "l"
+\blx@kv@defkey{blx@latem@field}{varwidthlist}[true]{% "l"
\ifstrequal{#1}{true}
{\appto\blx@tempc{ substring\string_width="l"}}
{}}
-\define@key{blx@latem@field}{strfixedcount}{%
+\blx@kv@defkey{blx@latem@field}{strfixedcount}{%
\eappto\blx@tempc{ substring\string_fixed\string_threshold="#1"}}
-\define@key{blx@latem@field}{strwidthmax}{%
+\blx@kv@defkey{blx@latem@field}{strwidthmax}{%
\eappto\blx@tempc{ substring\string_width\string_max="#1"}}
-\define@key{blx@latem@field}{strside}{% left|right
+\blx@kv@defkey{blx@latem@field}{strside}{% left|right
\ifstrequal{#1}{right}
{\eappto\blx@tempc{ substring\string_side="right"}}
{\eappto\blx@tempc{ substring\string_side="left"}}}
-\define@key{blx@latem@field}{namessep}{%
+\blx@kv@defkey{blx@latem@field}{namessep}{%
\eappto\blx@tempc{ namessep="#1"}}
-\define@key{blx@latem@field}{ifnames}{%
+\blx@kv@defkey{blx@latem@field}{ifnames}{%
\eappto\blx@tempc{ ifnames="#1"}}
-\define@key{blx@latem@field}{names}{%
+\blx@kv@defkey{blx@latem@field}{names}{%
\eappto\blx@tempc{ names="#1"}}
-\define@key{blx@latem@field}{noalphaothers}[true]{%
+\blx@kv@defkey{blx@latem@field}{noalphaothers}[true]{%
\eappto\blx@tempc{ noalphaothers="1"}}
-\define@key{blx@latem@field}{padchar}{%
+\blx@kv@defkey{blx@latem@field}{padchar}{%
\blx@xmlsanitizeafter{\def\blx@temps}{#1}%
\eappto\blx@tempc{ pad\string_char="\expandafter\regexp\expandafter{\blx@temps}"}}
-\define@key{blx@latem@field}{padside}{% left|right
+\blx@kv@defkey{blx@latem@field}{padside}{% left|right
\ifstrequal{#1}{left}
{\eappto\blx@tempc{ pad\string_side="left"}}
{\eappto\blx@tempc{ pad\string_side="right"}}}
@@ -13416,7 +13548,7 @@
\let\blx@tempf\@empty
\ifblank{#2}
{}
- {\setkeys{blx@inherit@default}{#2}}%
+ {\blx@kv@setkeys{blx@inherit@default}{#2}}%
\edef\blx@tempa{\space
inherit\string_all="\iftoggle{blx@inherit@all}{true}{false}"\space
override\string_target="\iftoggle{blx@inherit@override}{true}{false}"%
@@ -13432,11 +13564,11 @@
\newtoggle{blx@inherit@all}
\newtoggle{blx@inherit@override}
-\define@key{blx@inherit@default}{all}[true]{% true|false
+\blx@kv@defkey{blx@inherit@default}{all}[true]{% true|false
\settoggle{blx@inherit@all}{#1}}
-\define@key{blx@inherit@default}{override}[true]{% true|false
+\blx@kv@defkey{blx@inherit@default}{override}[true]{% true|false
\settoggle{blx@inherit@override}{#1}}
-\define@key{blx@inherit@default}{ignore}{% csv list
+\blx@kv@defkey{blx@inherit@default}{ignore}{% csv list
\edef\blx@tempf{ ignore="#1"}}
% {<source>}{<target>}{<options>}
@@ -13444,15 +13576,15 @@
\let\blx@tempc\@empty
\ifblank{#3}
{}
- {\setkeys{blx@inherit@except}{#3}}%
+ {\blx@kv@setkeys{blx@inherit@except}{#3}}%
\eappto\blx@tempb{%
\blx@xml@inherit@type{#1}{#2}{\blx@tempc}}}
-\define@key{blx@inherit@except}{all}[true]{% true|false
+\blx@kv@defkey{blx@inherit@except}{all}[true]{% true|false
\eappto\blx@tempc{ inherit\string_all="#1"}}
-\define@key{blx@inherit@except}{override}[true]{% true|false
+\blx@kv@defkey{blx@inherit@except}{override}[true]{% true|false
\eappto\blx@tempc{ override\string_target="#1"}}
-\define@key{blx@inherit@except}{ignore}{% csv list
+\blx@kv@defkey{blx@inherit@except}{ignore}{% csv list
\eappto\blx@tempc{ ignore="#1"}}
% {<type,type,...>}{<type,type,...>}{<spec>}
@@ -13462,7 +13594,7 @@
\let\blx@tempf\@empty
\ifblank{#1}
{}
- {\setkeys{blx@inherit}{#1}}%
+ {\blx@kv@setkeys{blx@inherit}{#1}}%
\forcsvlist{\blx@inherit@i{#3}}{#2}%
\let\blx@tempb\@empty
\let\inherit\blx@inherit@field
@@ -13488,17 +13620,17 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@inherit@field}{#1}}%
+ {\blx@kv@setkeys{blx@inherit@field}{#1}}%
\eappto\blx@tempb{%
\blx@xml@inherit@field{#2}{#3}{\blx@tempc}}}
\newcommand*{\blx@inherit@block}[1]{%
\eappto\blx@tempb{\blx@xml@inherit@block{#1}}}
-\define@key{blx@inherit}{ignore}{% csv list
+\blx@kv@defkey{blx@inherit}{ignore}{% csv list
\edef\blx@tempf{ ignore="#1"}}
-\define@key{blx@inherit@field}{override}[true]{% true|false
+\blx@kv@defkey{blx@inherit@field}{override}[true]{% true|false
\ifstrequal{#1}{true}
{\edef\blx@tempc{ override\string_target="true"}}
{\edef\blx@tempc{ override\string_target="false"}}}
@@ -13526,21 +13658,21 @@
\newcommand*{\blx@biblistfilter}[1][2]{%
\let\blx@tempc\@empty
\let\blx@tempd\@empty
- \setkeys{blx@biblistfilter@filter}{#1}%
+ \blx@kv@setkeys{blx@biblistfilter@filter}{#1}%
\eappto\blx@tempa{%
\blx@xml@dlistfilter{\blx@tempc}{\blx@tempd}}}
-\define@key{blx@biblistfilter@filter}{type}{%
+\blx@kv@defkey{blx@biblistfilter@filter}{type}{%
\def\blx@tempc{#1}}
-\define@key{blx@biblistfilter@filter}{filter}{%
+\blx@kv@defkey{blx@biblistfilter@filter}{filter}{%
\def\blx@tempd{#1}}
% Predefine filters for label fields
\def\do#1{\DeclareBiblistFilter{#1}{\filter[type=field,filter=#1]}}
\abx@dolabelfields
-\define@key{blx@biblist2}{biblistfilter}{\blx@key@biblistfilter{#1}}
-\define@key{blx@biblist1}{biblistfilter}{}
+\blx@kv@defkey{blx@biblist1}{biblistfilter}{\blx@key@biblistfilter{#1}}
+\blx@kv@defkey{blx@biblist2}{biblistfilter}{}
\def\blx@key@biblistfilter#1{%
\ifcsundef{blx@biblistfilters@#1}
@@ -13599,21 +13731,21 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@untemp@namepart}{#1}}%
+ {\blx@kv@setkeys{blx@untemp@namepart}{#1}}%
\eappto\blx@tempa{%
\blx@xml@uniquenametemplatenamepart{\blx@tempe}{\blx@tempc}{#2}}}
-\define@key{blx@untemp@namepart}{use}[true]{% use* option for namepart true|false
+\blx@kv@defkey{blx@untemp@namepart}{use}[true]{% use* option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ use="1"}}
{}}
-\define@key{blx@untemp@namepart}{base}[true]{% base option for namepart true|false
+\blx@kv@defkey{blx@untemp@namepart}{base}[true]{% base option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ base="1"}}
{}}
-\define@key{blx@untemp@namepart}{disambiguation}{% disambiguation option for namepart none|inits|full|fullonly
+\blx@kv@defkey{blx@untemp@namepart}{disambiguation}{% disambiguation option for namepart none|inits|full|fullonly
\appto\blx@tempc{ disambiguation="#1"}}
% [<templatename>]{<template>}
@@ -13668,16 +13800,16 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@sortnk@namepart}{#1}}%
+ {\blx@kv@setkeys{blx@sortnk@namepart}{#1}}%
\eappto\blx@tempb{%
\blx@xml@sortingnamekeynamepart{\blx@tempe}{\blx@tempc}{#2}}}
-\define@key{blx@sortnk@namepart}{use}[true]{% use* option for namepart true|false
+\blx@kv@defkey{blx@sortnk@namepart}{use}[true]{% use* option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ use="1"}}
{\appto\blx@tempc{ use="0"}}}
-\define@key{blx@sortnk@namepart}{inits}[true]{% initials only option for namepart true|false
+\blx@kv@defkey{blx@sortnk@namepart}{inits}[true]{% initials only option for namepart true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ inits="1"}}
{\appto\blx@tempc{ inits="0"}}}
@@ -13686,7 +13818,7 @@
\newrobustcmd*{\DeclareSortingTemplate}[3][]{%
\ifblank{#1}
{}
- {\setkeys{blx@sortdef@sorting}{#1}%
+ {\blx@kv@setkeys{blx@sortdef@sorting}{#1}%
\csxdef{blx@sortdef@locale@#2}{\blx@templ}}%
\begingroup
\def\name{%LEGACY(<2.0)
@@ -13700,7 +13832,10 @@
\let\sort\blx@sortdef@sort
\let\field\blx@sortdef@field
\let\literal\blx@sortdef@literal
- \def\citeorder{\blx@sortdef@field{citeorder}}%
+ \global\csundef{blx@sortingtemplate@citeorder@relevant@#2}%
+ \def\citeorder{%
+ \global\cslet{blx@sortingtemplate@citeorder@relevant@#2}\@empty
+ \blx@sortdef@field{citeorder}}%
\blx@tempcnta\z@
\let\blx@tempa\@empty
#3%
@@ -13709,7 +13844,7 @@
\@onlypreamble\DeclareSortingTemplate
\blx@DeclareBackendOption{global}[xml]{sortingtemplate}
-\define@key{blx@sortdef@sorting}{locale}{% locale name
+\blx@kv@defkey{blx@sortdef@sorting}{locale}{% locale name
\def\blx@templ{#1}}
\newcommand*{\blx@sortdef@sort}[2][]{%
@@ -13719,27 +13854,27 @@
\edef\blx@tempc{order="\the\blx@tempcnta"}%
\ifblank{#1}
{}
- {\setkeys{blx@sortdef@sort}{#1}}%
+ {\blx@kv@setkeys{blx@sortdef@sort}{#1}}%
\let\do\@firstofone
#2%
\eappto\blx@tempa{%
\blx@xml@sort{\blx@tempc}{\blx@tempb}}}
-\define@key{blx@sortdef@sort}{locale}{% locale name
+\blx@kv@defkey{blx@sortdef@sort}{locale}{% locale name
\eappto\blx@tempc{ locale="#1"}}
-\define@key{blx@sortdef@sort}{direction}{% ascending|descending
+\blx@kv@defkey{blx@sortdef@sort}{direction}{% ascending|descending
\ifstrequal{#1}{ascending}
{\eappto\blx@tempc{ sort\string_direction="ascending"}}
{\eappto\blx@tempc{ sort\string_direction="descending"}}}
-\define@key{blx@sortdef@sort}{final}[true]{% true|false
+\blx@kv@defkey{blx@sortdef@sort}{final}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ final="1"}}
{}}
-\define@key{blx@sortdef@sort}{sortcase}[true]{% true|false
+\blx@kv@defkey{blx@sortdef@sort}{sortcase}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ sortcase="1"}}
{\appto\blx@tempc{ sortcase="0"}}}
-\define@key{blx@sortdef@sort}{sortupper}[true]{% true|false
+\blx@kv@defkey{blx@sortdef@sort}{sortupper}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ sortupper="1"}}
{\appto\blx@tempc{ sortupper="0"}}}
@@ -13749,24 +13884,24 @@
\edef\blx@tempd{order="\the\blx@tempcntb"}%
\ifblank{#1}
{}
- {\setkeys{blx@sortdef@field}{#1}}%
+ {\blx@kv@setkeys{blx@sortdef@field}{#1}}%
\eappto\blx@tempb{%
\blx@xml@sortitem{\blx@tempd}{#2}}}
-\define@key{blx@sortdef@field}{padside}{% left|right
+\blx@kv@defkey{blx@sortdef@field}{padside}{% left|right
\ifstrequal{#1}{right}
{\eappto\blx@tempd{ pad\string_side="right"}}
{\eappto\blx@tempd{ pad\string_side="left"}}}
-\define@key{blx@sortdef@field}{padwidth}{% integer
+\blx@kv@defkey{blx@sortdef@field}{padwidth}{% integer
\eappto\blx@tempd{ pad\string_width="#1"}}
-\define@key{blx@sortdef@field}{padchar}{% character
+\blx@kv@defkey{blx@sortdef@field}{padchar}{% character
\blx@xmlsanitizeafter{\def\blx@tempe}{#1}%
\eappto\blx@tempd{ pad\string_char="\blx@tempe"}}
-\define@key{blx@sortdef@field}{strside}{% left|right
+\blx@kv@defkey{blx@sortdef@field}{strside}{% left|right
\ifstrequal{#1}{right}
{\eappto\blx@tempd{ substring\string_side="right"}}
{\eappto\blx@tempd{ substring\string_side="left"}}}
-\define@key{blx@sortdef@field}{strwidth}{% integer
+\blx@kv@defkey{blx@sortdef@field}{strwidth}{% integer
\eappto\blx@tempd{ substring\string_width="#1"}}
\def\blx@sortdef@literal#1{%
@@ -13905,7 +14040,7 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@ordered@field}{#1}}%
+ {\blx@kv@setkeys{blx@ordered@field}{#1}}%
\advance\blx@tempcnta\@ne
\ifdefempty{\blx@tempa}
{\csxappto{blx@bcf@\blx@tempb}{%
@@ -13920,7 +14055,7 @@
\let\blx@tempc\@empty
\ifblank{#1}
{}
- {\setkeys{blx@ordered@field}{#1}}%
+ {\blx@kv@setkeys{blx@ordered@field}{#1}}%
\advance\blx@tempcnta\@ne
\ifdefempty{\blx@tempa}
{\csxappto{blx@bcf@\blx@tempb}{%
@@ -13948,7 +14083,7 @@
\newrobustcmd*{\ExecuteBibliographyOptions}[2][]{%
\ifblank{#1}
- {\setkeys{blx@opt@pre}{#2}}
+ {\blx@kv@setkeys{blx@opt@pre}{#2}}
{\forcsvlist{\blx@typeoptions{#2}}{#1}}}
\@onlypreamble\ExecuteBibliographyOptions
@@ -13969,9 +14104,9 @@
% Have to have a dummy for this as it's set much earlier but is passed
% through to here where we just ignore it
-\define@key{blx@opt@ldt}{datamodel}{}
+\blx@kv@defkey{blx@opt@ldt}{datamodel}{}
-\define@key{blx@opt@ldt}{backend}{%
+\blx@kv@defkey{blx@opt@ldt}{backend}{%
\ifstrequal{#1}{biber}
{}
{\ifboolexpr{
@@ -13985,30 +14120,30 @@
{}}%
{\blx@err@invopt{backend=#1}{}}}}
-\define@key{blx@opt@ldt}{style}{%
+\blx@kv@defkey{blx@opt@ldt}{style}{%
\def\blx@cbxfile{#1}%
\def\blx@bbxfile{#1}}
-\define@key{blx@opt@ldt}{bibstyle}{%
+\blx@kv@defkey{blx@opt@ldt}{bibstyle}{%
\def\blx@bbxfile{#1}}
-\define@key{blx@opt@ldt}{citestyle}{%
+\blx@kv@defkey{blx@opt@ldt}{citestyle}{%
\def\blx@cbxfile{#1}}
-\define@key{blx@opt@ldt}{natbib}[true]{%
+\blx@kv@defkey{blx@opt@ldt}{natbib}[true]{%
\settoggle{blx@natbib}{#1}}
-\define@key{blx@opt@ldt}{mcite}[true]{%
+\blx@kv@defkey{blx@opt@ldt}{mcite}[true]{%
\settoggle{blx@mcite}{#1}}
-\define@key{blx@opt@ldt}{noerroretextools}[true]{%
+\blx@kv@defkey{blx@opt@ldt}{noerroretextools}[true]{%
\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}}}
+ {\global\csundef{blx@noerroretextools}}}
% load-time and preamble
@@ -14061,7 +14196,7 @@
% unlikely to be corrected as "sorting" is an obvious name for biblatex users
% "sorting" is used in the .bcf for the actual sorting template definitions and is
% an XML format option
-\define@key{blx@opt@pre}{sorting}{%
+\blx@kv@defkey{blx@opt@pre}{sorting}{%
\def\blx@sorting{#1}%
\def\blx@refcontext@sortingtemplatename{#1}}
\blx@DeclareBackendOption{global}[string]{sortingtemplatename}
@@ -14295,6 +14430,14 @@
\def\blx@hook@initlang{\@quotereset\@ne}%
\def\blx@hook@endlang{\blx@postpunct}}
+\DeclareBibliographyOption[string]{langhook}{%
+ \ifstrequal{#1}{captions}
+ {\@firstoftwo}
+ {\ifstrequal{#1}{extras}}
+ {\def\blx@langhook{#1}}
+ {\blx@err@invopt{langhook=#1}{}}}
+
+
\DeclareBiblatexOption{global,type,entry}[string]{indexing}[true]{%
\blx@opt@index{#1}}
\def\blx@opt@index#1{%
@@ -14382,6 +14525,10 @@
\def\blx@opt@backrefsetstyle@memandset{4}
\def\blx@opt@backrefsetstyle@setplusmem{5}
+\newtoggle{blx@backreffloats}
+\DeclareBibliographyOption[boolean]{backreffloats}[true]{%
+ \settoggle{blx@backreffloats}{#1}}
+
\appto\blx@mkhyperref{%
\ifHy@plainpages
\blx@warning@noline{%
@@ -14396,10 +14543,22 @@
references. 'pageanchor=true' is required}%
\fi}
-\DeclareBibliographyOption[string]{block}{%
+\def\blx@optprocess@block#1{%
\ifcsdef{blx@opt@block@#1}
{\csuse{blx@opt@block@#1}}
{\blx@err@invopt{block=#1}{}}}
+
+\DeclareBibliographyOption[string]{block}{%
+ \blx@optprocess@block{#1}}
+
+\blx@kv@defkey{blx@bib1}{block}{}
+\blx@kv@defkey{blx@bib2}{block}{\blx@optprocess@block{#1}}
+\blx@kv@defkey{blx@biblist1}{block}{}
+\blx@kv@defkey{blx@biblist2}{block}{\blx@optprocess@block{#1}}
+
+\blx@kv@defkey{blx@bbs}{block}{\blx@optprocess@block{#1}}
+\blx@kv@defkey{blx@bbg}{block}{\blx@optprocess@block{#1}}
+
\def\blx@opt@block@none{%
\let\blx@bibsetup\@empty
\let\newblockpunct\@empty}
@@ -14623,6 +14782,11 @@
\let\blx@loccitreset\blx@loccitreset@context
\booltrue{citetracker}}
+\newtoggle{blx@trackfloats}
+\DeclareBibliographyOption[boolean]{trackfloats}[true]{%
+ \settoggle{blx@trackfloats}{#1}}
+
+
\DeclareBibliographyOption[boolean]{parentracker}[true]{%
\ifstrequal{#1}{true}
{\let\bibopenparen\blx@bibopenparen
@@ -14783,7 +14947,7 @@
{\blx@err@invopt{#1date=##1}{}}}}%
% Default for new date fields is "comp" but this is overridden below by
% biblatex defaults
- \setkeys{blx@opt@pre}{#1date=comp}%
+ \blx@kv@setkeys{blx@opt@pre}{#1date=comp}%
% Time format options
\DeclareBibliographyOption[string]{#1time}{%
\csdef{blx@timeformat@#1time}{##1}%
@@ -14791,7 +14955,7 @@
{\protected\csedef{blx@imc@print#1time}{\csuse{mktimerange##1}{#1}}}
{\blx@err@invopt{#1time=##1}{}}}%
% Default for new time fields is "24h"
- \setkeys{blx@opt@pre}{#1time=24h}%
+ \blx@kv@setkeys{blx@opt@pre}{#1time=24h}%
% Boolean to determine if times are printed with dates
\newtoggle{blx@#1dateusetime}%
\DeclareBibliographyOption[boolean]{#1dateusetime}{%
@@ -14889,7 +15053,7 @@
\settoggle{blx@labelnumber}{#1}%
\iftoggle{blx@labelnumber}
{}
- {\setkeys{blx@opt@pre}{defernumbers=false}}}
+ {\blx@kv@setkeys{blx@opt@pre}{defernumbers=false}}}
\DeclareBiblatexOption{type,entry}[boolean]{labelnumber}[true]{%
\settoggle{blx@labelnumber}{#1}}
@@ -14966,14 +15130,14 @@
\DeclareBibliographyOption[boolean]{defernumbers}[true]{%
\settoggle{blx@defernumbers}{#1}%
\iftoggle{blx@defernumbers}
- {\setkeys{blx@opt@pre}{labelnumber}%
+ {\blx@kv@setkeys{blx@opt@pre}{labelnumber}%
\let\blx@thelabelnumber\blx@addlabelnumber
\let\abx@aux@number\blx@aux@number}
{\let\blx@thelabelnumber\relax
\let\abx@aux@number\@gobblefive}}
\DeclareBibliographyOption[boolean]{locallabelwidth}[true]{%
- \blx@key@locallabelwidth{\abx@locallabelwidth}{#1}}
+ \blx@key@locallabelwidth{#1}}
\DeclareBibliographyOption[string]{refsection}{%
@@ -15078,11 +15242,11 @@
\def\blx@tempa#1=#2&{#1}%
\edef\blx@tempa{%
\expandafter\blx@tempa\CurrentOption=&}%
- \ifcsundef{KV@blx@opt@ldt@\blx@tempa}
+ \blx@kv@ifkeyundef{blx@opt@ldt}{\blx@tempa}
{\endgroup
\eappto\blx@theoptions{\CurrentOption,}}
{\edef\blx@tempa{\endgroup
- \noexpand\setkeys{blx@opt@ldt}{\CurrentOption}}%
+ \noexpand\blx@kv@setkeys{blx@opt@ldt}{\CurrentOption}}%
\blx@tempa}}
\def\blx@processoptions{%
@@ -15090,21 +15254,64 @@
{}
{\begingroup
\edef\blx@tempa{\endgroup
- \noexpand\setkeys{blx@opt@pre}{\blx@theoptions}}%
+ \noexpand\blx@kv@setkeys{blx@opt@pre}{\blx@theoptions}}%
\blx@tempa}}
%% Initial setup
+\define@key{blx@opt@ldt}{casechanger}[auto]{%
+ \ifcsundef{blx@opt@casechanger@#1}
+ {\blx@err@invopt
+ {casechanger=#1}
+ {Valid options for 'casechanger' are 'auto', 'expl3' and
+ 'latex2e'}}
+ {\csletcs{blx@deferoption@casechanger}{blx@opt@casechanger@#1}}}
+
+
+\csdef{blx@opt@casechanger@auto}{%
+ \RequirePackage{expl3}[2020/04/06]%
+ \@ifpackagelater{expl3}{2020/04/06}
+ {\blx@info{expl3\MessageBreak\csuse{ver@expl3.sty}\MessageBreak
+ is new enough (at least 2020/04/06),\MessageBreak
+ setting 'casechanger=expl3'}%
+ \csuse{blx@opt@casechanger@expl3}}
+ {\blx@info{expl3\MessageBreak\csuse{ver@expl3.sty}\MessageBreak
+ is too old (older than 2020/04/06),\MessageBreak
+ setting 'casechanger=latex2e'}%
+ \csuse{blx@opt@casechanger@latex2e}}}
+
+\csdef{blx@opt@casechanger@latex2e}{%
+ \blx@inputonce{blx-case-latex2e.def}
+ {LaTeX2e (legacy) case changing code}
+ {}{}{}{}}
+\csletcs{blx@opt@casechanger@2e}{blx@opt@casechanger@latex2e}
+
+% Apparently neither \input nor \blx@inputonce ever pops the
+% \ExplSyntaxOff from \ProvidesExplFile, so we do that ourselves.
+\csdef{blx@opt@casechanger@expl3}{%
+ \blx@inputonce{blx-case-expl3.def}
+ {expl3 case changing code}
+ {}{\ExplSyntaxOff}{}{}}
+\csletcs{blx@opt@casechanger@3}{blx@opt@casechanger@expl3}
+
+% default to auto
+\csletcs{blx@deferoption@casechanger}{blx@opt@casechanger@auto}
+
% Set defaults
-\setkeys{blx@opt@ldt}{style=numeric}
-\setkeys{blx@opt@pre}{%
+\blx@kv@setkeys{blx@opt@ldt}{style=numeric}
+\blx@kv@setkeys{blx@opt@pre}{%
sorting=nty,sortlocale=auto,sortcase,sortupper,sortcites=false,
maxnames=3,minnames=1,maxalphanames=3,minalphanames=1,
- maxitems=3,minitems=1,mincrossrefs=2,minxrefs=2,useauthor=true,useeditor=true,
- usetranslator=false,indexing=false,abbreviate=true,dateabbrev=true,dateera=astronomical,
- backref=false,backrefsetstyle=setonly,pagetracker=false,ibidtracker=false,
- idemtracker=false,opcittracker=false,loccittracker=false,citetracker=false,
- citecounter=false,block=none,language=autobib,clearlang=true,autolang=none,
+ maxitems=3,minitems=1,mincrossrefs=2,minxrefs=2,
+ useauthor=true,useeditor=true,usetranslator=false,
+ indexing=false,abbreviate=true,dateabbrev=true,dateera=astronomical,
+ backref=false,backrefsetstyle=setonly,backreffloats=true,
+ pagetracker=false,
+ ibidtracker=false,idemtracker=false,opcittracker=false,loccittracker=false,
+ citetracker=false,trackfloats=false,
+ citecounter=false,
+ block=none,
+ language=autobib,clearlang=true,autolang=none,langhook=captions,
date=comp,labeldate=year,origdate=comp,eventdate=comp,urldate=short,
autopunct=true,punctfont=false,defernumbers=false,timezeros=true,
refsection=none,refsegment=none,citereset=none,hyperref=auto,
@@ -15122,6 +15329,7 @@
% Load compatibility code
\blx@inputonce{blx-compat.def}{compatibility code}{}{}{}{}
+
% Restore catcodes
\blx@catcodes
\undef\blx@catcodes
@@ -15129,6 +15337,44 @@
% Process load-time options
\ProcessOptions*
+% this ultimately loads either
+% blx-case-expl3.def or blx-case-latex2e.def
+\blx@deferoption@casechanger
+
+% This is a bit unfortunate, but we need some more definitions here.
+
+% Language fallback, in order:
+% * explicit option language=<lang>, which overrides everything
+% * langid field of entry
+% * babel/polyglossia lang
+% * main document lang (we should never reach this)
+% * <empty> (we should *definitely* never reach this)
+% Everything here is expandable so that
+% \blx@mksc@lang expands to the language name.
+\def\blx@mksc@lang{%
+ \ifundef\blx@forcelanguagename
+ {\ifundef\abx@field@langid
+ {\ifundef\blx@languagename
+ {\ifundef\blx@main@language
+ {}
+ {\blx@main@language}}
+ {\blx@languagename}}
+ {\abx@field@langid}}
+ {\blx@forcelanguagename}}
+
+\DeclareCaseLangs{%
+ american,british,canadian,
+ english,USenglish,UKenglish,
+ australian,newzealand}
+
+
+% Textcase defines \NoCaseChange as \let\NoCaseChange\@firstofone
+\ifundef\NoCaseChange
+ {\let\NoCaseChange\@firstofone}
+ {}
+
+% That's it for the case change code
+
% Switch to BibTeX support if requested
\iftoggle{blx@bibtex}
{\blx@inputonce{blx-bibtex.def}{BibTeX backend compatibility}{}{}{}{}}
@@ -15166,19 +15412,19 @@
{\blx@warn@conflopt{%
'<namepart>inits' conflicts with 'uniquename=full'.\MessageBreak
Setting 'uniquename=init'}%
- \setkeys{blx@opt@pre}{uniquename=init}}
+ \blx@kv@setkeys{blx@opt@pre}{uniquename=init}}
{}%
\ifdefstrequal\blx@uniquename\blx@opt@uniquename@allfull
{\blx@warn@conflopt{%
'<namepart>inits' conflicts with 'uniquename=allfull'.\MessageBreak
Setting 'uniquename=allinit}%
- \setkeys{blx@opt@pre}{uniquename=allinit}}
+ \blx@kv@setkeys{blx@opt@pre}{uniquename=allinit}}
{}%
\ifdefstrequal\blx@uniquename\blx@opt@uniquename@minfull
{\blx@warn@conflopt{%
'<namepart>inits' conflicts with 'uniquename=minfull'.\MessageBreak
Setting 'uniquename=mininit}%
- \setkeys{blx@opt@pre}{uniquename=mininit}}
+ \blx@kv@setkeys{blx@opt@pre}{uniquename=mininit}}
{}}
{}%
\nottoggle{blx@labeldateparts}
@@ -15186,7 +15432,7 @@
{\blx@warn@conflopt{%
'uniquelist=minyear' requires 'labeldateparts'.\MessageBreak
Setting 'uniquelist=true'}%
- \setkeys{blx@opt@pre}{uniquelist}}
+ \blx@kv@setkeys{blx@opt@pre}{uniquelist}}
{}}
{}%
\def\do#1{%
@@ -15195,37 +15441,37 @@
\ifdefstring\blx@dateera{astronomical}{}
{\blx@warn@conflopt{%
'#1=iso' requires 'dateera=astronomical'.\MessageBreak
- Setting 'dateera=astrononmical'}%
- \setkeys{blx@opt@pre}{dateera=astronomical}}%
+ Setting 'dateera=astronomical'}%
+ \blx@kv@setkeys{blx@opt@pre}{dateera=astronomical}}%
\ifcsstring{blx@timeformat@\blx@datetype time}{24h}%
{}
{\blx@warn@conflopt{%
'#1=iso' requires '\blx@datetype time=24h'.\MessageBreak
Setting '\blx@datetype time=24h'}%
- \setkeys{blx@opt@pre}{\blx@datetype time=24h}}%
+ \blx@kv@setkeys{blx@opt@pre}{\blx@datetype time=24h}}%
\iftoggle{blx@julian}
{\blx@warn@conflopt{%
'#1=iso' requires 'julian=false'.\MessageBreak
Setting 'julian=false'}%
- \setkeys{blx@opt@pre}{julian=false}}
+ \blx@kv@setkeys{blx@opt@pre}{julian=false}}
{}%
\nottoggle{blx@datezeros}
{\blx@warn@conflopt{%
'#1=iso' requires 'datezeros=true'.\MessageBreak
Setting 'datezeros=true'}%
- \setkeys{blx@opt@pre}{datezeros=true}}
+ \blx@kv@setkeys{blx@opt@pre}{datezeros=true}}
{}%
\nottoggle{blx@timezeros}
{\blx@warn@conflopt{%
'#1=iso' requires 'timezeros=true'.\MessageBreak
Setting 'timezeros=true'}%
- \setkeys{blx@opt@pre}{timezeros=true}}
+ \blx@kv@setkeys{blx@opt@pre}{timezeros=true}}
{}%
\nottoggle{blx@seconds}
{\blx@warn@conflopt{%
'#1=iso' requires 'seconds=true'.\MessageBreak
Setting 'seconds=true'}%
- \setkeys{blx@opt@pre}{seconds=true}}
+ \blx@kv@setkeys{blx@opt@pre}{seconds=true}}
{}}
{}}%
\abx@dodates
@@ -15322,5 +15568,7 @@
\def\BiblatexHungarianWarningOff{\global\let\lbx@hu@loadinfo\@empty}
\def\BiblatexLatvianWarningOff{\global\let\lbx@lv@loadinfo\@empty}
+\def\BiblatexSplitbibDefernumbersWarningOff{%
+ \global\let\blx@printbibchecks@suppresswarn\@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 c333e5f17d3..03d67811310 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
@@ -207,52 +207,6 @@
\let\iflabeldateuncertain\@secondoftwo
\let\iflabelenddateuncertain\@secondoftwo}
-% {<string>}
-% This mustn't be robust as it's likely to be used mainly in tests and so
-% needs to be expandable
-\renewcommand*\rangelen[1]{%
- \ifblank{#1}
- {0}%
- {\expandafter\blx@rangelen@range\romannumeral-`\q%
- #1\bibrangedash\bibrangedash&%
- }}
-
-\def\blx@rangelen@range#1\bibrangedash#2\bibrangedash#3&{%
- \ifblank{#3}
- {\blx@rangelen@hyphen#1--&}
- {\blx@rangelen@check{#1}{#2}}%
-}
-\def\blx@rangelen@hyphen#1-#2-#3&{%
- \ifblank{#3}
- {1}% No range at all: assume one page
- {\blx@rangelen@check{#1}{#2}}%
-}
-\def\blx@rangelen@check#1#2{%
- \expandafter\blx@rangelen@check@aux
- \number\numexpr
- \blx@rangelen@check@int{#2}
- -
- \blx@rangelen@check@int{#1}
- + 1
- \relax
- &\stop
-}
-\def\blx@rangelen@check@aux#1&#2\stop{%
- \ifblank{#2}
- {#1}
- {-1}%
-}
-\def\blx@rangelen@check@int#1{%
- \ifblank{#1}
- {0&}
- {%
- \if\number\numexpr0#1-0#1\relax0
- #1
- \else
- 0&
- \fi
- }%
-}
% Alter message text
\patchcmd{\blx@bbl@warn}{Biber}{BibTeX}{}{}
@@ -330,6 +284,26 @@
{}%
\global\csundef{blx@refp@\the\c@refsection @#1}}
+\def\blx@citation@xref#1{%
+ \begingroup
+ \edef\blx@tempa{blx@refp@\the\c@refsection @%
+ \csname blx@refc@\the\c@refsection @#1\endcsname}%
+ \ifcsdef\blx@tempa
+ {\ifinlistcs{#1}\blx@tempa
+ {}
+ {\listcsxadd\blx@tempa{#1}}%
+ \blx@tempcnta\z@
+ \def\do##1{\advance\blx@tempcnta\@ne}%
+ \dolistcsloop\blx@tempa}
+ {\listcsxadd\blx@tempa{#1}%
+ \blx@tempcnta\@ne}%
+ \expandafter\endgroup\ifnum\blx@tempcnta<\blx@minxrefs\relax
+ \else
+ \expandafter\expandafter\expandafter\blx@citation@entry
+ \expandafter\expandafter\expandafter{%
+ \csname blx@refc@\the\c@refsection @#1\endcsname}\blx@msg@cundef
+ \fi}
+
\def\blx@bblend{%
\ifcsdef{blx@refs@\the\c@refsection}%
{\begingroup
@@ -343,20 +317,122 @@
\global\togglefalse{blx@addset}}
{}}
-\def\blx@citation#1#2{%
- \ifbool{citerequest}
- {\ifcsdef{blx@setp@\the\c@refsection @#1}
- {\blx@citation@set{#1}{#2}}
- {\ifcsdef{blx@setc@\the\c@refsection @#1}
- {\blx@citation@inset{#1}{#2}}
- {\blx@citation@entry{#1}{#2}}}%
- \ifcsdef{blx@refc@\the\c@refsection @#1}%
- {\blx@citation@xref{#1}}
- {}}
- {}}
+% set support
+
+% We'll generate 'fake sets' for sorting.
+% A fake set will be the copy of a normal set but with a crossref
+% to the first set member, that way it inherits sorting info.
+
+\def\blx@grabfirstcsvitem#1,#2\blx@grabfirstcsvitem@end{#1}
+
+\def\blx@btx@fakesetentry#1#2#3#4{%
+ \blx@nl
+ @set{#1,\blx@nl
+ \space\space fakeset = {#2},\blx@nl
+ \space\space entryset = {#3},\blx@nl
+ \space\space crossref = {#4},\blx@nl
+ }%
+}
+
+\def\blx@fakeset@prefix{blx@fakeset-}
+
+\protected\def\blx@writefakeset@oo#1#2{%
+ \begingroup
+ \edef\blx@tempa{\endgroup
+ \noexpand\blx@writefakeset
+ {\expandonce{#1}}
+ {\expandonce{#2}}}%
+ \blx@tempa
+}
+
+\protected\def\blx@writefakeset#1#2{%
+ \blx@auxwrite\blx@bcfout{}{%
+ \blx@btx@fakesetentry
+ {\blx@fakeset@prefix#1}
+ {#1}
+ {#2}
+ {\blx@grabfirstcsvitem#2,\blx@grabfirstcsvitem@end}}}
+
+\protected\def\blx@bbl@fakeset#1{%
+ \csxdef{blx@isfakeset@\the\c@refsection @\abx@field@entrykey}{%
+ \detokenize{#1}}%
+ \global\cslet{blx@getfakeset@\the\c@refsection @#1}\abx@field@entrykey
+}
+
+% we can't rely on \inset in the .bbl (which should be in the child
+% entry), so we produce setc manually from the @set parent
+% but the bibliography may not be in a nice order to grab setc
+% properly, so we need to save setc data in the .aux file
+\appto\blx@secinit{%
+ \cslet{blx@setclist@\the\c@refsection}\@empty
+ \cslet{blx@fakesetplist@\the\c@refsection}\@empty}
+
+\apptocmd{\blx@bbl@set@i}
+ {\ifcsundef{blx@isfakeset@\the\c@refsection @\abx@field@entrykey}
+ {\csxdef{blx@setc@\the\c@refsection @#1}{\abx@field@entrykey}%
+ \listcsxadd{blx@setclist@\the\c@refsection}{\detokenize{#1}}}
+ {}}
+ {}
+ {\blx@error
+ {Failed to patch '\string\blx@bbl@set@i'}
+ {Patching '\string\blx@bbl@set@i' failed for some reason.
+ \MessageBreak
+ Please report this bug}}
+
+% {<section>}{<set child>}{<set parent>}
+\protected\def\blx@aux@set@setc#1#2#3{%
+ \csxdef{blx@setc@#1@#2}{#3}}
+
+\protected\def\blx@aux@write@setc#1#2#3{%
+ \blx@auxwrite\blx@aux{}{\string\blx@aux@set@setc{#1}{#2}{#3}}}
+
+\def\blx@write@setc#1{%
+ \ifcsundef{blx@setc@\the\c@refsection @#1}
+ {}
+ {\blx@aux@write@setc{\the\c@refsection}{#1}
+ {\csuse{blx@setc@\the\c@refsection @#1}}}}
+
+\appto\blx@bblend{%
+ \forlistcsloop{\blx@write@setc}{blx@setclist@\the\c@refsection}}
+
+% blx@setonly doesn't exist here, since it is defined in \inset,
+% rely on the existence of setc instead.
+% We also make sure to skip the actual @set entries and display
+% the fake ones.
+\patchcmd{\blx@bbl@endentry}
+ {\nottoggle{blx@setonly}}
+ {\ifentrytype{set}
+ {\ifcsundef{blx@isfakeset@\the\c@refsection @\abx@field@entrykey}
+ {\blx@writefakeset@oo{\abx@field@entrykey}{\abx@field@entryset}%
+ \settoggle{blx@skipbib}{true}%
+ \settoggle{blx@skipbiblist}{true}%
+ \settoggle{blx@skiplab}{true}}
+ {\listcsxadd{blx@fakesetplist@\the\c@refsection}{%
+ \abx@field@entrykey}}}
+ {}%
+ \ifcsundef{blx@setc@\the\c@refsection @\abx@field@entrykey}}
+ {}
+ {\blx@error
+ {Failed to patch '\string\blx@bbl@endentry'}
+ {Patching '\string\blx@bbl@endentry' failed for some reason.
+ \MessageBreak
+ Please report this bug}}
+
+% cite the fake set for our current set
+% the \expandafter party essentially does
+% \blx@citation@entry{\blx@fakeset@prefix#1}{\blx@msg@cundef}
+% (just correctly \detokenize'd and all)
\def\blx@citation@set#1#2{%
\blx@citation@entry{#1}{#2}%
+ \ifcsundef{blx@isfakeset@\the\c@refsection @#1}
+ {\begingroup
+ \expandafter\def\expandafter\blx@tempa\expandafter{%
+ \expandafter\detokenize\expandafter{\blx@fakeset@prefix#1}}%
+ \expandafter\expandafter\expandafter\blx@citation@entry
+ \expandafter\expandafter\expandafter{\blx@tempa}{\blx@msg@cundef}%
+ \endgroup}
+ {}%
\begingroup
\def\do##1{\blx@citation@entry{##1}\blx@msg@cundef}%
\expandafter\expandafter\expandafter\docsvlist
@@ -375,25 +451,141 @@
{\blx@citation@set{#1}}
{\blx@citation@entry{#1}}}
-\def\blx@citation@xref#1{%
+\def\blx@appentrydatato#1#2{%
+ \ifdef#2
+ {\appto#1{%
+ \def\noexpand#2{\expandonce#2}}}
+ {}}
+
+% if we have a fakeset, load the real @set to get the right entrykey
+% if we have a real @set, load the fakeset for all entry data
+% but make sure that the entrykey fits
+% in any case copy over some label data from its first child
+\def\blx@getdata#1{%
+ \csuse{blx@data@\the\c@refsection @\blx@refcontext@context @#1}%
+ \ifcsundef{blx@isfakeset@\the\c@refsection @#1}
+ {}
+ {\csuse{blx@data@\the\c@refsection @\blx@refcontext@context
+ @\csuse{blx@isfakeset@\the\c@refsection @#1}}}%
+ \ifcsundef{blx@getfakeset@\the\c@refsection @#1}
+ {}
+ {\let\blx@real@abx@field@entrykey\abx@field@entrykey
+ \csuse{blx@data@\the\c@refsection @\blx@refcontext@context
+ @\csuse{blx@getfakeset@\the\c@refsection @#1}}%
+ \let\abx@field@entrykey\blx@real@abx@field@entrykey}%
+ \ifcsundef{blx@setp@\the\c@refsection @\abx@field@entrykey}
+ {}
+ {\begingroup
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\blx@tempa
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter{%
+ \expandafter\expandafter\expandafter\blx@grabfirstcsvitem
+ \csname blx@setp@\the\c@refsection
+ @\abx@field@entrykey\endcsname,\blx@grabfirstcsvitem@end}%
+ \let\blx@tempb\@empty
+ \blx@ifdata{\blx@tempa}
+ {\blx@getdata{\blx@tempa}%
+ \blx@appentrydatato\blx@tempb\abx@field@labelyear
+ \blx@appentrydatato\blx@tempb\abx@field@labelendyear
+ \blx@appentrydatato\blx@tempb\abx@field@labelmonth
+ \blx@appentrydatato\blx@tempb\abx@field@labelendmonth
+ \blx@appentrydatato\blx@tempb\abx@field@labelday
+ \blx@appentrydatato\blx@tempb\abx@field@labelendday
+ \blx@appentrydatato\blx@tempb\abx@field@labelprefix
+ \blx@appentrydatato\blx@tempb\abx@field@labelalpha
+ \blx@appentrydatato\blx@tempb\abx@field@extraalpha
+ \blx@appentrydatato\blx@tempb\abx@field@extradate}
+ {}%
+ \edef\blx@tempb{\endgroup\blx@tempb}%
+ \blx@tempb}%
+ \blx@adjustyears
+ \blx@getlabeldata
+ \blx@aliasfields
+ \blx@setcitecounter}
+
+
+\def\blx@bblend@redosetlabelwidth@i#1{%
\begingroup
- \edef\blx@tempa{blx@refp@\the\c@refsection @%
- \csname blx@refc@\the\c@refsection @#1\endcsname}%
- \ifcsdef\blx@tempa
- {\ifinlistcs{#1}\blx@tempa
- {}
- {\listcsxadd\blx@tempa{#1}}%
- \blx@tempcnta\z@
- \def\do##1{\advance\blx@tempcnta\@ne}%
- \dolistcsloop\blx@tempa}
- {\listcsxadd\blx@tempa{#1}%
- \blx@tempcnta\@ne}%
- \expandafter\endgroup\ifnum\blx@tempcnta<\blx@minxrefs\relax
- \else
- \expandafter\expandafter\expandafter\blx@citation@entry
- \expandafter\expandafter\expandafter{%
- \csname blx@refc@\the\c@refsection @#1\endcsname}\blx@msg@cundef
- \fi}
+ \blx@ifdata{#1}
+ {\blx@getdata{#1}%
+ \nottoggle{blx@skiplab}
+ {\iftoggle{blx@labelnumber}
+ {\ifdefempty\abx@field@localnumber
+ {}
+ {\ifundef\abx@field@shorthand
+ {\blx@bbl@labelnumberwidth@numeric{}}
+ {\blx@bbl@labelnumberwidth@shorthand{}}}}
+ {}%
+ \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}
+ {}}
+ {}%
+ \endgroup
+}
+
+\def\blx@bblend@redosetlabelwidth{%
+ \forlistcsloop{\blx@bblend@redosetlabelwidth@i}
+ {blx@fakesetplist@\the\c@refsection}}
+
+\appto\blx@bblend{\blx@bblend@redosetlabelwidth}
+
+% categories need the correct entry key for fake sets
+\def\blx@addtocategory#1#2{%
+ % If we are adding a set member to a category, make sure we also add the
+ % set parent if it is cited. If it is cited, we should be using the set
+ % parent in the category, not the set child member. blx@setc@... will
+ % only exist if the set parent is also cited as it is only defined when a
+ % member contains \inset which only happens when the set parent is cited.
+ \ifcsdef{blx@setc@\the\c@refsection @#2}
+ {\blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{\csuse{blx@setc@\the\c@refsection @#2}}}%
+ \abx@aux@category{#1}{\csuse{blx@setc@\the\c@refsection @#2}}}
+ {}%
+ \ifcsundef{blx@getfakeset@\the\c@refsection @#2}
+ {}
+ {\blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{\csuse{blx@getfakeset@\the\c@refsection @#2}}}%
+ \abx@aux@category{#1}{\csuse{blx@getfakeset@\the\c@refsection @#2}}}%
+ \blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{#2}}%
+ \abx@aux@category{#1}{#2}}
+
+% dynamic entry sets
+
+\def\blx@btx@citeset#1#2{%
+ \blx@nl
+ @set{#1,\blx@nl
+ \space\space entryset = {#2},\blx@nl
+ }%
+}
+
+\protected\def\blx@setreq#1#2{%
+ \blx@auxwrite\blx@bcfout{}{\blx@btx@citeset{#1}{#2}}%
+ \blx@nocite@do{#1}}
+
+% xref and @set
+\def\blx@citation@i#1#2{%
+ \ifbool{citerequest}
+ {\ifcsdef{blx@setp@\the\c@refsection @#1}
+ {\blx@citation@set{#1}{#2}}
+ {\ifcsdef{blx@setc@\the\c@refsection @#1}
+ {\blx@citation@inset{#1}{#2}}
+ {\blx@citation@entry{#1}{#2}}}%
+ \ifcsdef{blx@refc@\the\c@refsection @#1}%
+ {\blx@citation@xref{#1}}
+ {}}
+ {}}
% refcontexts are out, but we can try to save labelprefix
@@ -406,7 +598,7 @@
% in \blx@refcontext@labelprefix@real and pass it to the aux file.
% There are differences to the result obtained with Biber,
% but it should be good enough for very simple applications.
-\define@key{blx@refcontext}{labelprefix}{%
+\blx@kv@defkey{blx@refcontext}{labelprefix}{%
\xdef\blx@refcontext@labelprefix@real{#1}%
\iftoggle{blx@defernumbers}
{}%
@@ -432,7 +624,7 @@
The option will be ignored}}
\def\blx@bibtexrefcontext@disable#1{%
- \define@key{blx@refcontext}{#1}{%
+ \blx@kv@defkey{blx@refcontext}{#1}{%
\blx@warn@bibtexrefcontext{#1}}}
\forcsvlist{\blx@bibtexrefcontext@disable}{%
@@ -539,12 +731,63 @@
}
\def\blx@ctrlwrite{%
- % \sortalphaothers should only contain safe characters,
- % so we should be able to \edef it
+ \begingroup
+ \blx@safe@actives
+ \let\protect\string
\edef\blx@sortalphaothers{\sortalphaothers}%
\immediate\openout\blx@write\blx@ctrlfile\blxauxsuffix.bib\relax
\blx@auxwrite\blx@write{}{\blx@ctrl}%
- \immediate\closeout\blx@write}
+ \endgroup
+ \AfterEndDocument{\immediate\closeout\blx@write}}
+
+
+% {<string>}
+% This mustn't be robust as it's likely to be used mainly in tests and so
+% needs to be expandable
+\renewcommand*\rangelen[1]{%
+ \ifblank{#1}
+ {0}%
+ {\expandafter\blx@rangelen@range\romannumeral-`\q%
+ #1\bibrangedash\bibrangedash&%
+ }}
+
+\def\blx@rangelen@range#1\bibrangedash#2\bibrangedash#3&{%
+ \ifblank{#3}
+ {\blx@rangelen@hyphen#1--&}
+ {\blx@rangelen@check{#1}{#2}}%
+}
+\def\blx@rangelen@hyphen#1-#2-#3&{%
+ \ifblank{#3}
+ {1}% No range at all: assume one page
+ {\blx@rangelen@check{#1}{#2}}%
+}
+\def\blx@rangelen@check#1#2{%
+ \expandafter\blx@rangelen@check@aux
+ \number\numexpr
+ \blx@rangelen@check@int{#2}
+ -
+ \blx@rangelen@check@int{#1}
+ + 1
+ \relax
+ &\stop
+}
+\def\blx@rangelen@check@aux#1&#2\stop{%
+ \ifblank{#2}
+ {#1}
+ {-1}%
+}
+\def\blx@rangelen@check@int#1{%
+ \ifblank{#1}
+ {0&}
+ {%
+ \if\number\numexpr0#1-0#1\relax0
+ #1
+ \else
+ 0&
+ \fi
+ }%
+}
+
% Disable some interfaces
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def b/Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def
new file mode 100644
index 00000000000..e9b7f232899
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def
@@ -0,0 +1,271 @@
+\RequirePackage{expl3}[2020/04/06]
+\RequirePackage{xparse}
+\ProvidesExplFile {blx-case-expl3} {\abx@date} {\abx@version}
+ {expl3 case changing code for biblatex}
+
+% Map for babel/polyglossia names
+% to BCP-47-like l3text names.
+% We only need maps for l3text names that do something
+% as of 2020/04/06 those names are
+% az, de-alt, el, lt, nl, tr.
+% biblatex currently only supports dutch, greek and turkish
+% so we only map those.
+% de-alt is optional and still unusual, so *we* don't map it,
+% but a user could map it themselves.
+
+\prop_new:N \l__biblatex_babel_to_pseudobcp_prop
+
+\cs_generate_variant:Nn \msg_info:nnnnn { nnnxn }
+
+\cs_new_protected:Npn \biblatex_maplang_babel_to_pseudobcp:nn #1 #2
+ {
+ \prop_if_in:NnT \l__biblatex_babel_to_pseudobcp_prop {#1}
+ {
+ \msg_info:nnnxn { biblatex }
+ { overwrite-babel-to-pseudobcp-map }
+ {#1}
+ {\prop_item:Nn \l__biblatex_babel_to_pseudobcp_prop {#1}}
+ {#2}
+ }
+ \prop_put:Nnn \l__biblatex_babel_to_pseudobcp_prop {#1} {#2}
+ }
+
+\NewDocumentCommand \DeclareBabelToExplLanguageMapping {mm}
+ {
+ \biblatex_maplang_babel_to_pseudobcp:nn {#1} {#2}
+ }
+
+\cs_generate_variant:Nn \msg_info:nnnn { nnnx }
+
+\cs_new_protected:Npn \biblatex_unmaplang_babel_to_pseudobcp:n #1
+ {
+ \prop_if_in:NnT \l__biblatex_babel_to_pseudobcp_prop {#1}
+ {
+ \msg_info:nnnx { biblatex }
+ { remove-babel-to-pseudobcp-map }
+ {#1}
+ { \prop_item:Nn \l__biblatex_babel_to_pseudobcp_prop {#1} }
+ }
+ \prop_remove:Nn \l__biblatex_babel_to_pseudobcp_prop {#1}
+ }
+
+\NewDocumentCommand \UndeclareBabelToExplLanguageMapping {m}
+ {
+ \str_if_eq:nnTF {#1} {*}
+ { \prop_clear:N \l__biblatex_babel_to_pseudobcp_prop }
+ { \biblatex_unmaplang_babel_to_pseudobcp:n {#1} }
+ }
+
+% Don't put this into biblatex.sty, since
+% \DeclareBabelToExplLanguageMapping has no equivalent in the LaTeX2e
+% code.
+\DeclareBabelToExplLanguageMapping{dutch}{nl}
+\DeclareBabelToExplLanguageMapping{greek}{el}
+\DeclareBabelToExplLanguageMapping{turkish}{tr}
+
+% Our copy of \l_text_titlecase_check_letter_bool
+\bool_new:N \l_biblatex_titlecase_check_letter_bool
+% Just to be clear: unlike l3text our default is "false"
+\bool_set_false:N \l_biblatex_titlecase_check_letter_bool
+
+% Helper macro to avoid unnecessary repetition of the same structure
+% {<case [lowercase|uppercase|titlecase|titlecase_first]>}
+% {<babel language>}{<text>}
+% We use that \prop_item:Nn is empty if the item is not present
+% and that \text_...:nn becomes \text_...:n if the first argument
+% is empty.
+\cs_new_protected:Npn \__biblatex_text_makeconverter:nnn #1 #2 #3
+ {
+ \group_begin:
+ \bool_if_exist:NTF \l_text_titlecase_check_letter_bool
+ {
+ \bool_set_eq:NN \l_text_titlecase_check_letter_bool
+ \l_biblatex_titlecase_check_letter_bool
+ }
+ {
+ % should we raise an error or at least issue a warning here?
+ }
+ \use:c { text_#1:nn }
+ { \prop_item:Nn \l__biblatex_babel_to_pseudobcp_prop {#2} } {#3}
+ \group_end:
+ }
+
+
+\cs_new:Npn \biblatex_text_lowercase:nn #1 #2
+ {
+ \__biblatex_text_makeconverter:nnn {lowercase} {#1} {#2}
+ }
+
+\cs_generate_variant:Nn \biblatex_text_lowercase:nn { Vn }
+
+\cs_new:Npn \biblatex_text_lowercase:n #1
+ {
+ \biblatex_text_lowercase:Vn \blx@languagename {#1}
+ }
+
+\cs_set_eq:NN \blx@maketext@lowercase \biblatex_text_lowercase:n
+
+
+\cs_new:Npn \biblatex_text_uppercase:nn #1 #2
+ {
+ \__biblatex_text_makeconverter:nnn {uppercase} {#1} {#2}
+ }
+
+\cs_generate_variant:Nn \biblatex_text_uppercase:nn { Vn }
+
+\cs_new:Npn \biblatex_text_uppercase:n #1
+ {
+ \biblatex_text_uppercase:Vn \blx@languagename {#1}
+ }
+
+\cs_set_eq:NN \blx@maketext@uppercase \biblatex_text_uppercase:n
+
+
+\cs_new:Npn \biblatex_text_makecapital:nn #1 #2
+ {
+ \__biblatex_text_makeconverter:nnn {titlecase_first} {#1} {#2}
+ }
+
+\cs_generate_variant:Nn \biblatex_text_makecapital:nn { Vn }
+
+\cs_new:Npn \biblatex_text_makecapital:n #1
+ {
+ \biblatex_text_makecapital:Vn \blx@languagename {#1}
+ }
+
+\cs_set_eq:NN \blx@maketext@makecapital \biblatex_text_makecapital:n
+
+\NewDocumentCommand \MakeCapital {m}
+ {
+ \biblatex_text_makecapital:n {#1}
+ }
+
+
+
+% BibTeX to expl3 case protection code by Joseph Wright
+% https://github.com/plk/biblatex/issues/960#issuecomment-578435859
+% and Bruno Le Floch
+% https://github.com/moewew/biblatex/commit/c485f1b8079d56497b17343d7883b8fcd42f961a#r39225533
+\tl_put_right:Nn \l_text_expand_exclude_tl { \NoCaseChange }
+
+\tl_put_right:Nn \l_text_case_exclude_arg_tl { \NoCaseChange }
+
+\cs_new:Npn \biblatex_text_bibtex_to_expl:n #1
+ {
+ \__biblatex_text_bibtex_loop:w #1
+ { \q_recursion_tail } \q_recursion_stop
+ }
+
+\cs_new:Npn \__biblatex_text_bibtex_loop:w #1 #
+ {
+ \exp_not:n {#1}
+ \__biblatex_text_bibtex_group:n
+ }
+
+\cs_new:Npn \__biblatex_text_bibtex_group:n #1
+ {
+ \quark_if_recursion_tail_stop:n {#1}
+ {
+ \bool_lazy_and:nnTF
+ { \tl_if_head_is_N_type_p:n {#1} }
+ { \exp_after:wN \token_if_cs_p:N \tl_head:w #1 \q_stop }
+ { \exp_not:n {#1} }
+ { \exp_not:n { \NoCaseChange {#1} } }
+ }
+ \__biblatex_text_bibtex_loop:w
+ }
+
+\cs_new_eq:NN \biblatex_text_sentencecase_preprocess:n
+ \biblatex_text_bibtex_to_expl:n
+
+
+% By default we emulate BibTeX's brace case protection rules
+% but the user can turn that off for a more sane behaviour
+% that only relies on \NoCaseChange.
+\DeclareBiblatexOption{global,type,entry}[boolean]{bibtexcaseprotection}[true]{%
+ \str_case:nnF {#1}
+ {
+ { true }
+ {
+ \cs_set_eq:NN \biblatex_text_sentencecase_preprocess:n
+ \biblatex_text_bibtex_to_expl:n
+ }
+ { false }
+ {
+ \cs_set_eq:NN \biblatex_text_sentencecase_preprocess:n
+ \use:n
+ }
+ }
+ {
+ \msg_error:nnn { biblatex } { invalid-value-bibtexcaseprotection }
+ {#1}
+ }
+}
+
+
+\cs_new:Npn \biblatex_text_sentencecase:nn #1 #2
+ {
+ \__biblatex_text_makeconverter:nnn {titlecase} {#1} {#2}
+ }
+
+
+\cs_generate_variant:Nn \clist_if_in:NnTF { NxTF }
+
+\cs_generate_variant:Nn \biblatex_text_sentencecase:nn { Vo, xo }
+
+% If \DeclareCaseLangs says we should apply sentence casing,
+% we go for it and pass the language along to the sentence casing macro.
+% Preprocess is either the BibTeX-to-expl3 brace translator
+% or \@firstofone (do nothing),
+% we need to expand once to get rid of the latter.
+\NewDocumentCommand \MakeSentenceCase {sm}
+ {
+ \IfBooleanTF {#1}
+ {
+ \clist_if_in:NxTF
+ \l__biblatex_caselangs_clist { \blx@mksc@lang }
+ {
+ \biblatex_text_sentencecase:xo { \blx@mksc@lang }
+ { \biblatex_text_sentencecase_preprocess:n {#2} }
+ }
+ {#2}
+ }
+ {
+ \biblatex_text_sentencecase:Vo \blx@languagename
+ { \biblatex_text_sentencecase_preprocess:n {#2} }
+ }
+ }
+
+
+\clist_new:N \l__biblatex_caselangs_clist
+
+% {<language,language,...>}
+\NewDocumentCommand \DeclareCaseLangs {sm}
+ {
+ \IfBooleanF {#1}
+ { \clist_clear:N \l__biblatex_caselangs_clist }
+ \clist_put_left:Nn \l__biblatex_caselangs_clist {#2}
+ }
+
+% \DeclareCaseLangs invocation is in biblatex.sty
+
+
+\NewDocumentCommand \ifcaselang {O{\blx@languagename}}
+ {
+ \clist_if_in:NxTF \l__biblatex_caselangs_clist {#1}
+ }
+
+
+
+\msg_new:nnnn { biblatex } { invalid-value-bibtexcaseprotection }
+ { Invalid~value~'#1'~for~option~'bibtexcaseprotection'. }
+ { Valid~values~for~'bibtexcaseprotection'~are~'true'~and~'false'. }
+
+\msg_new:nnn { biblatex } { remove-babel-to-pseudobcp-map }
+ { Removing~babel->l3text~language~mapping~for~'#1'~to~'#2'. }
+
+\msg_new:nnn { biblatex } { overwrite-babel-to-pseudobcp-map }
+ { Overwriting~babel->l3text~language~mapping~for~'#1'~from~
+ '#2'~to~'#3'. }
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def b/Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def
new file mode 100644
index 00000000000..85641d2e666
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def
@@ -0,0 +1,290 @@
+\ProvidesFile{blx-case-latex2e.def}
+[\abx@cptid]
+
+% we don't have l3text's (pseudo)BCP47 language codes here
+\newrobustcmd*{\DeclareBabelToExplLanguageMapping}[2]{%
+ \blx@warning{The command '\string\DeclareBabelToExplLanguageMapping'%
+ \MessageBreak
+ is only available with the expl3 case changing\MessageBreak
+ implementation ('casechanger=expl3').\MessageBreak
+ Ignoring}}
+
+\newrobustcmd*{\UndeclareBabelToExplLanguageMapping}[1]{%
+ \blx@warning{The command '\string\UndeclareBabelToExplLanguageMapping'%
+ \MessageBreak
+ is only available with the expl3 case changing\MessageBreak
+ implementation ('casechanger=expl3').\MessageBreak
+ Ignoring}}
+
+\def\blx@maketext@lowercase{\MakeLowercase}
+
+\def\blx@maketext@uppercase{\MakeUppercase}
+
+\def\blx@maketext@makecapital{\MakeCapital}
+
+% {<text>}
+\newrobustcmd{\MakeCapital}[1]{%
+ \begingroup
+ \blx@mkcp@init
+ \protected@edef\blx@tempa{#1}%
+ \expandafter\blx@mkcp@parse\blx@tempa\@empty\blx@mkcp@end}
+
+\def\blx@mkcp@init{%
+ \def\blx@mkcp@iec{\noexpand\blx@mkcp@iec\noexpand}%
+ \def\blx@mkcp@bbl{\noexpand\blx@mkcp@bbl\noexpand}%
+ \def\blx@mkcp@sgl{\noexpand\blx@mkcp@sgl\noexpand}%
+ \def\blx@mkcp@dbl{\noexpand\blx@mkcp@dbl\noexpand}%
+ \def\do##1{\def##1{\blx@mkcp@sgl##1}}\abx@dosingleaccents
+ \def\do##1{\def##1{\blx@mkcp@dbl##1}}\abx@dodoubleaccents
+ \def\IeC##1{\blx@mkcp@iec\IeC{##1}}%
+ \def\@tabacckludge##1{%
+ \expandafter\blx@mkcp@sgl\csname\string##1\endcsname}}
+
+\begingroup
+\catcode`\"=\active
+\gappto\blx@mkcp@init{%
+ \ifnum\catcode`\"=\active
+ \def"#1{\blx@mkcp@bbl"\noexpand#1}%
+ \fi}
+\endgroup
+
+\def\blx@mkcp@parse{%
+ \futurelet\@let@token\blx@mkcp@eval}
+
+\long\def\blx@mkcp@eval{%
+ \ifx\@let@token\blx@mkcp@iec
+ \expandafter\blx@mkcp@getiec
+ \fi
+ \ifx\@let@token\blx@mkcp@bbl
+ \expandafter\blx@mkcp@gettwo
+ \fi
+ \ifx\@let@token\blx@mkcp@sgl
+ \expandafter\blx@mkcp@gettwo
+ \fi
+ \ifx\@let@token\blx@mkcp@dbl
+ \expandafter\blx@mkcp@getthree
+ \fi
+ \blx@mkcp@case}
+
+\def\blx@mkcp@getiec#1\blx@mkcp@case#2#3#4{%
+ \blx@mkcp@case{#2#3{#4}}}
+
+\def\blx@mkcp@gettwo#1\blx@mkcp@case#2#3#4{%
+ \blx@mkcp@case{#2#3#4}}
+
+\def\blx@mkcp@getthree#1\blx@mkcp@case#2#3#4#5{%
+ \blx@mkcp@case{#2#3#4#5}}
+
+\long\def\blx@mkcp@case#1{%
+ \begingroup
+ \def\i{I}\def\j{J}%
+ \def\do##1##2{\let##1##2\do}%
+ \expandafter\do\@uclclist\relax{\relax\@gobble}%
+ \uppercase{\protected@edef\blx@tempa{\endgroup\blx@mkcp@end#1}}%
+ \blx@tempa}
+
+\protected\long\def\blx@mkcp@end#1\blx@mkcp@end{%
+ \let\blx@mkcp@iec\noexpand
+ \let\blx@mkcp@bbl\noexpand
+ \let\blx@mkcp@sgl\noexpand
+ \let\blx@mkcp@dbl\noexpand
+ \protected@edef\blx@tempa{\endgroup#1}%
+ \blx@tempa}
+
+
+\DeclareBiblatexOption{global,type,entry}[boolean]{bibtexcaseprotection}[true]{%
+ \ifstrequal{#1}{true}
+ {}
+ {\ifstrequal{#1}{false}
+ {\blx@warning
+ {The option 'bibtexcaseprotection=false' is only\MessageBreak
+ available with expl3}}
+ {\blx@err@invopt{bibtexcaseprotection=#1}
+ {Valid values for 'bibtexcaseprotection' are 'true' and
+ 'false'\MessageBreak
+ (but 'false' only works with expl3 code)}}}}
+
+% {<text>}
+\newrobustcmd*{\MakeSentenceCase}{%
+ \@ifstar\blx@mksc@i\blx@mksc@ii}
+
+% \blx@cmksc@lang is defined in biblatex.sty
+% it expands to the applicable language for the title field
+\def\blx@mksc@i{%
+ \xifinlist\blx@mksc@lang\blx@cmksc@lang
+ {\blx@mksc@ii}
+ {\@firstofone}}
+
+\long\def\blx@mksc@ii#1{%
+ \begingroup
+ \let\blx@tempa\@empty
+ \let\blx@tempb\@empty
+ \blx@mksc@init
+ \protected@edef\@tempa{#1}%
+ \expandafter\blx@mksc@parse\@tempa\blx@mksc@end}
+
+\def\blx@mksc@init{%
+ \blx@mkcp@init
+ \def\blx@mkcp@nil{\noexpand\blx@mkcp@nil\noexpand}%
+ \def\i{\blx@mkcp@nil\i}\def\j{\blx@mkcp@nil\j}%
+ \def\do##1{%
+ \ifx##1\relax
+ \else
+ \def##1{\blx@mkcp@nil##1}%
+ \expandafter\do
+ \fi}%
+ \expandafter\do\@uclclist\relax}
+
+\def\blx@mksc@parse{%
+ \futurelet\@let@token\blx@mksc@eval}
+
+\let\blx@asttoken=*
+
+\def\blx@mksc@eval{%
+ \ifx\@let@token\blx@mksc@end
+ \expandafter\blx@mksc@end
+ \fi
+ \ifx\@let@token\bgroup
+ \expandafter\blx@mksc@group
+ \fi
+ \ifx\@let@token\@sptoken
+ \expandafter\blx@mksc@space
+ \fi
+ \ifx\@let@token\blx@mkcp@nil
+ \expandafter\blx@mksc@getone
+ \fi
+ \ifx\@let@token\blx@mkcp@iec
+ \expandafter\blx@mksc@getiec
+ \fi
+ \ifx\@let@token\blx@mkcp@bbl
+ \expandafter\blx@mksc@gettwo
+ \fi
+ \ifx\@let@token\blx@mkcp@sgl
+ \expandafter\blx@mksc@gettwo
+ \fi
+ \ifx\@let@token\blx@mkcp@dbl
+ \expandafter\blx@mksc@getthree
+ \fi
+ \ifx\@let@token\blx@asttoken
+ \expandafter\blx@mksc@cs
+ \fi
+ \if\noexpand\@let@token\relax
+ \expandafter\blx@mksc@cs
+ \fi
+ \blx@mksc@other}
+
+\def\blx@mksc@end#1\blx@mksc@end{%
+ \blx@mksc@eject
+ \let\blx@mkcp@nil\noexpand
+ \let\blx@mkcp@iec\noexpand
+ \let\blx@mkcp@bbl\noexpand
+ \let\blx@mkcp@sgl\noexpand
+ \let\blx@mkcp@dbl\noexpand
+ \let\MakeUppercase\relax
+ \let\MakeLowercase\relax
+ \protected@edef\blx@tempa{\endgroup\blx@tempa}%
+ \blx@tempa}
+
+\long\def\blx@mksc@group#1\blx@mksc@other#2{%
+ \futurelet\@let@token\blx@mksc@ingroup#2&{#2}%
+ \blx@mksc@endhead
+ \blx@mksc@parse}
+
+\long\def\blx@mksc@ingroup#1&#2{%
+ \if\noexpand\@let@token\relax
+ \ifx\@let@token\blx@mkcp@sgl
+ \blx@mksc@nocase{{#2}}%
+ \else
+ \ifx\@let@token\blx@mkcp@dbl
+ \blx@mksc@nocase{{#2}}%
+ \else
+ \blx@mksc@locase{{#2}}%
+ \fi
+ \fi
+ \else
+ \blx@mksc@nocase{{#2}}%
+ \fi}
+
+\def\blx@mksc@space{\def\blx@mksc@space##1\blx@mksc@other}
+\csuse{blx@mksc@space} {%
+ \blx@mksc@anycase{ }%
+ \blx@mksc@endhead
+ \blx@mksc@parse}
+
+\long\def\blx@mksc@cs#1\blx@mksc@other#2{%
+ \ifcat\noexpand~\noexpand#2%
+ \blx@mksc@locase{#2}%
+ \else
+ \blx@mksc@nocase{#2}%
+ \fi
+ \blx@mksc@endhead
+ \blx@mksc@parse}
+
+\def\blx@mksc@getiec#1\blx@mksc@other#2#3#4{%
+ \blx@mksc@other{#2#3{#4}}}
+
+\def\blx@mksc@getone#1\blx@mksc@other#2#3{%
+ \blx@mksc@other{#2#3}}
+
+\def\blx@mksc@gettwo#1\blx@mksc@other#2#3#4{%
+ \blx@mksc@other{#2#3#4}}
+
+\def\blx@mksc@getthree#1\blx@mksc@other#2#3#4#5{%
+ \blx@mksc@other{#2#3#4#5}}
+
+\long\def\blx@mksc@other#1{%
+ \blx@mksc@locase{#1}%
+ \blx@mksc@endhead
+ \blx@mksc@parse}
+
+\def\blx@mksc@locase{%
+ \appto\blx@tempb}
+
+\def\blx@mksc@nocase{%
+ \blx@mksc@eject
+ \appto\blx@tempa}
+
+\def\blx@mksc@anycase{%
+ \ifx\blx@tempb\@empty
+ \expandafter\appto
+ \expandafter\blx@tempa
+ \else
+ \expandafter\appto
+ \expandafter\blx@tempb
+ \fi}
+
+\def\blx@mksc@eject{%
+ \ifx\blx@tempb\@empty
+ \else
+ \eappto\blx@tempa{\noexpand\MakeLowercase{\expandonce\blx@tempb}}%
+ \let\blx@tempb\@empty
+ \fi}
+
+\def\blx@mksc@endhead{%
+ \ifx\blx@tempb\@empty
+ \else
+ \eappto\blx@tempa{\noexpand\MakeCapital{\expandonce\blx@tempb}}%
+ \let\blx@tempb\@empty
+ \fi
+ \let\blx@mksc@endhead\relax}
+
+
+
+% {<language,language,...>}
+\newrobustcmd*{\DeclareCaseLangs}{%
+ \@ifstar
+ {\blx@defcaselangs}
+ {\global\let\blx@cmksc@lang\@empty
+ \blx@defcaselangs}}
+
+\def\blx@defcaselangs#1{%
+ \ifblank{#1}
+ {}
+ {\forcsvlist{\listgadd\blx@cmksc@lang}{#1}}}
+
+% \DeclareCaseLangs invocation is in biblatex.sty
+
+\newrobustcmd*{\ifcaselang}[1][\blx@languagename]{%
+ \xifinlist{#1}\blx@cmksc@lang}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-compat.def b/Master/texmf-dist/tex/latex/biblatex/blx-compat.def
index e315c5cc882..546f16af432 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-compat.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-compat.def
@@ -119,29 +119,29 @@
% biblatex <1.6
-\define@key{blx@bib}{maxnames}{\blx@warn@depropt{maxnames}}
-\define@key{blx@los}{maxnames}{\blx@warn@depropt{maxnames}}
-\define@key{blx@bbs}{maxnames}{\blx@warn@depropt{maxnames}}
-\define@key{blx@bbg}{maxnames}{\blx@warn@depropt{maxnames}}
-\define@key{blx@bbc}{maxnames}{\blx@warn@depropt{maxnames}}
-
-\define@key{blx@bib}{minnames}{\blx@warn@depropt{minnames}}
-\define@key{blx@los}{minnames}{\blx@warn@depropt{minnames}}
-\define@key{blx@bbs}{minnames}{\blx@warn@depropt{minnames}}
-\define@key{blx@bbg}{minnames}{\blx@warn@depropt{minnames}}
-\define@key{blx@bbc}{minnames}{\blx@warn@depropt{minnames}}
-
-\define@key{blx@bib}{maxitems}{\blx@warn@depropt{maxitems}}
-\define@key{blx@los}{maxitems}{\blx@warn@depropt{maxitems}}
-\define@key{blx@bbs}{maxitems}{\blx@warn@depropt{maxitems}}
-\define@key{blx@bbg}{maxitems}{\blx@warn@depropt{maxitems}}
-\define@key{blx@bbc}{maxitems}{\blx@warn@depropt{maxitems}}
-
-\define@key{blx@bib}{minitems}{\blx@warn@depropt{minitems}}
-\define@key{blx@los}{minitems}{\blx@warn@depropt{minitems}}
-\define@key{blx@bbs}{minitems}{\blx@warn@depropt{minitems}}
-\define@key{blx@bbg}{minitems}{\blx@warn@depropt{minitems}}
-\define@key{blx@bbc}{minitems}{\blx@warn@depropt{minitems}}
+\blx@kv@defkey{blx@bib}{maxnames}{\blx@warn@depropt{maxnames}}
+\blx@kv@defkey{blx@los}{maxnames}{\blx@warn@depropt{maxnames}}
+\blx@kv@defkey{blx@bbs}{maxnames}{\blx@warn@depropt{maxnames}}
+\blx@kv@defkey{blx@bbg}{maxnames}{\blx@warn@depropt{maxnames}}
+\blx@kv@defkey{blx@bbc}{maxnames}{\blx@warn@depropt{maxnames}}
+
+\blx@kv@defkey{blx@bib}{minnames}{\blx@warn@depropt{minnames}}
+\blx@kv@defkey{blx@los}{minnames}{\blx@warn@depropt{minnames}}
+\blx@kv@defkey{blx@bbs}{minnames}{\blx@warn@depropt{minnames}}
+\blx@kv@defkey{blx@bbg}{minnames}{\blx@warn@depropt{minnames}}
+\blx@kv@defkey{blx@bbc}{minnames}{\blx@warn@depropt{minnames}}
+
+\blx@kv@defkey{blx@bib}{maxitems}{\blx@warn@depropt{maxitems}}
+\blx@kv@defkey{blx@los}{maxitems}{\blx@warn@depropt{maxitems}}
+\blx@kv@defkey{blx@bbs}{maxitems}{\blx@warn@depropt{maxitems}}
+\blx@kv@defkey{blx@bbg}{maxitems}{\blx@warn@depropt{maxitems}}
+\blx@kv@defkey{blx@bbc}{maxitems}{\blx@warn@depropt{maxitems}}
+
+\blx@kv@defkey{blx@bib}{minitems}{\blx@warn@depropt{minitems}}
+\blx@kv@defkey{blx@los}{minitems}{\blx@warn@depropt{minitems}}
+\blx@kv@defkey{blx@bbs}{minitems}{\blx@warn@depropt{minitems}}
+\blx@kv@defkey{blx@bbg}{minitems}{\blx@warn@depropt{minitems}}
+\blx@kv@defkey{blx@bbc}{minitems}{\blx@warn@depropt{minitems}}
% Legacy alias for \printshorthands
\def\printshorthands{%
@@ -149,7 +149,7 @@
{\blx@printshorthands}
{\blx@printshorthands[]}}
-\def\blx@printshorthands[#1]{\printbiblist[#1]{shorthand}}
+\def\blx@printshorthands[#1]{\printbiblist[{#1}]{shorthand}}
% Legacy aliases
\def\AtBeginShorthands{\AtBeginBiblist{shorthand}}
@@ -164,17 +164,17 @@
'sortlos' option is deprecated.\MessageBreak
Please use 'sorting' option to '\string\printbiblist'}}
-\define@key{blx@bib1}{sorting}{%
+\blx@kv@defkey{blx@bib1}{sorting}{%
\blx@warning@noline{%
'sorting' option to '\string\printbibliography' is no longer supported.\MessageBreak
Please use 'sorting' option to '\string\newrefcontext'}}
-\define@key{blx@biblist1}{sorting}{%
+\blx@kv@defkey{blx@biblist1}{sorting}{%
\blx@warning@noline{%
'sorting' option to '\string\printbiblist' is no longer supported.\MessageBreak
Please use 'sorting' option to '\string\newrefcontext'}}
-\define@key{blx@bib2}{prefixnumbers}{%
+\blx@kv@defkey{blx@bib2}{prefixnumbers}{%
\blx@warning@noline{%
'prefixnumbers' option to '\string\printbibliography' is no longer supported.\MessageBreak
Please use 'labelprefix' option to '\string\newrefcontext'}}
@@ -198,17 +198,17 @@
\settoggle{blx@skipbiblist}{#1}}
% Legacy options moved to \namepart in \DeclareLabelalphaNameTemplate
-\define@key{blx@latem@field}{compound}{% deprecated
+\blx@kv@defkey{blx@latem@field}{compound}{% deprecated
\blx@warning@noline{%
Ignored 'compound' option to '\string\field' in '\string\DeclareLabelalphaNameTemplate'\MessageBreak
This is now the 'compound' option of '\string\namepart\space' in\MessageBreak
'\string\DeclareLabelalphaNameTemplate'}}
-\define@key{blx@latem@field}{pcompound}{% deprecated
+\blx@kv@defkey{blx@latem@field}{pcompound}{% deprecated
\blx@warning@noline{%
Ignored 'pcompound' option to '\string\field' in '\string\DeclareLabelalphaNameTemplate'\MessageBreak
This is now the 'compound' option of '\string\namepart' in\MessageBreak
'\string\DeclareLabelalphaNameTemplate'}}
-\define@key{blx@latem@field}{pstrwidth}{% deprecated
+\blx@kv@defkey{blx@latem@field}{pstrwidth}{% deprecated
\blx@warning@noline{%
Ignored 'pstrwidth' option to '\string\field' in '\string\DeclareLabelalphaNameTemplate'\MessageBreak
This is now the 'strwidth' option of '\string\namepart' in\MessageBreak
@@ -240,14 +240,14 @@
Please use 'inits' option to '\string\namepart'\MessageBreak
in '\string\DeclareSortingNamekeyTemplate' instead}}
-\define@key{blx@refcontext}{prefixnumbers}{%LEGACY(<3.3)
+\blx@kv@defkey{blx@refcontext}{prefixnumbers}{%LEGACY(<3.3)
\blx@warning@noline{%
prefixnumbers option to '\string\newrefcontext' has been renamed.\MessageBreak
Please use 'labelprefix' option instead}%
- \setkeys{blx@refcontext}{labelprefix=#1}}
+ \blx@kv@setkeys{blx@refcontext}{labelprefix=#1}}
% biblatex < 3.4
-\define@key{blx@bib1}{prefixnumbers}{}%LEGACY(<3.4) legacy name for labelprefix
+\blx@kv@defkey{blx@bib1}{prefixnumbers}{}%LEGACY(<3.4) legacy name for labelprefix
\DeprecateFieldWithReplacement{prefixnumber}{labelprefix}
\DeclareFieldAlias{prefixnumber}{labelprefix}
@@ -256,7 +256,7 @@
\blx@warning@noline{%
'datelabel' option is deprecated.\MessageBreak
Please use 'labeldate' instead}%
- \setkeys{blx@opt@pre}{labeldate=#1}}
+ \blx@kv@setkeys{blx@opt@pre}{labeldate=#1}}
\DeclareBibliographyOption[boolean]{labelyear}[true]{%
\blx@warning@noline{%
@@ -307,12 +307,12 @@
\mkdaterangeisoextra}
% biblatex < 3.8
-\define@key{blx@refcontext}{sortingnamekeyscheme}{%
+\blx@kv@defkey{blx@refcontext}{sortingnamekeyscheme}{%
\blx@warning@noline{'sortingnamekeyscheme' is deprecated.\MessageBreak
Please use 'sortingnamekeytemplatename' instead}%
\gdef\blx@refcontext@sortingnamekeytemplatename{#1}}
-\define@key{blx@assignrefcontext}{sortingnamekeyscheme}{%
+\blx@kv@defkey{blx@assignrefcontext}{sortingnamekeyscheme}{%
\blx@warning@noline{'sortingnamekeyscheme' is deprecated.\MessageBreak
Please use 'sortingnamekeytemplatename' instead}%
\def\blx@tempb{#1}}
@@ -351,4 +351,5 @@
Please use '\string\mkdaterangeisoextra'}%
\mkdaterangeisoextra}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
index 4cbdfa5bb86..0667b577aec 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
@@ -106,11 +106,11 @@
\blx@xml@datamodel@entrytype{\blx@tempa}{##1}}}%
\ifblank{#1}
{\docsvlist{#2}}
- {\setkeys{blx@datamodel@entrytypes}{#1}
+ {\blx@kv@setkeys{blx@datamodel@entrytypes}{#1}
\docsvlist{#2}}%
\endgroup}
-\define@key{blx@datamodel@entrytypes}{skipout}[true]{% true|false
+\blx@kv@defkey{blx@datamodel@entrytypes}{skipout}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempa{ skip\string_output="true"}}
{}}
@@ -128,7 +128,7 @@
\boolfalse{dmskipout}%
\boolfalse{dmlabelfield}%
\let\blx@tempa\@empty
- \setkeys{blx@datamodel@field}{#1}%
+ \blx@kv@setkeys{blx@datamodel@field}{#1}%
\def\do##1{%
% Generic lists of field/datatypes for testing bib fields
\ifinlistcs{##1}{blx@datamodelfields@fieldtypes@\blx@dm@fieldtype}
@@ -240,7 +240,7 @@
\xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields}
{}
{\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}%
- \setkeys{blx@datamodel@field}{type=field,datatype=datepart,nullok}%
+ \blx@kv@setkeys{blx@datamodel@field}{type=field,datatype=datepart,nullok}%
\xappto\blx@bcf@datamodel@fields{%
\blx@xml@datamodel@field{\blx@tempa}{\blx@datetype ####1}}}%
\expandafter\docsvlist\expandafter{\blx@nullokdateparts}%
@@ -252,7 +252,7 @@
\xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields}
{}
{\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}%
- \setkeys{blx@datamodel@field}{type=field,datatype=datepart}%
+ \blx@kv@setkeys{blx@datamodel@field}{type=field,datatype=datepart}%
\xappto\blx@bcf@datamodel@fields{%
\blx@xml@datamodel@field{\blx@tempa}{\blx@datetype ####1}}}%
\expandafter\docsvlist\expandafter{\blx@notnulldateparts}%
@@ -261,25 +261,25 @@
\docsvlist{#2}
\endgroup}
-\define@key{blx@datamodel@field}{type}{% characters
+\blx@kv@defkey{blx@datamodel@field}{type}{% characters
\eappto\blx@tempa{ fieldtype="#1"}%
\def\blx@dm@fieldtype{#1}}
-\define@key{blx@datamodel@field}{datatype}{% characters
+\blx@kv@defkey{blx@datamodel@field}{datatype}{% characters
\eappto\blx@tempa{ datatype="#1"}%
\def\blx@dm@datatype{#1}}
-\define@key{blx@datamodel@field}{format}{% characters
+\blx@kv@defkey{blx@datamodel@field}{format}{% characters
\eappto\blx@tempa{ format="#1"}%
\def\blx@dm@format{#1}}
-\define@key{blx@datamodel@field}{nullok}[true]{% true|false
+\blx@kv@defkey{blx@datamodel@field}{nullok}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempa{ nullok="true"}}
{}}
-\define@key{blx@datamodel@field}{skipout}[true]{% true|false
+\blx@kv@defkey{blx@datamodel@field}{skipout}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempa{ skip\string_output="true"}%
\booltrue{dmskipout}}
{}}
-\define@key{blx@datamodel@field}{label}[true]{% true|false
+\blx@kv@defkey{blx@datamodel@field}{label}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempa{ label="true"}%
\booltrue{dmlabelfield}}
@@ -290,13 +290,13 @@
\let\blx@tempa\@empty
\ifblank{#1}
{\def\blx@tempa{string}}
- {\setkeys{blx@datamodel@constant}{#1}}%
+ {\blx@kv@setkeys{blx@datamodel@constant}{#1}}%
\xappto\blx@bcf@datamodel@constants{\blx@xml@datamodel@constant{\blx@tempa}{#2}{#3}}%
\csxdef{blx@datamodel@constant@#2}{#3}%
\csxdef{blx@datamodel@constanttype@#2}{\blx@tempa}%
\endgroup}
-\define@key{blx@datamodel@constant}{type}{%
+\blx@kv@defkey{blx@datamodel@constant}{type}{%
\def\blx@tempa{#1}}
\newrobustcmd*{\DeclareDatamodelMultiscriptEntryfields}[1]{%
@@ -340,7 +340,7 @@
\newcommand*{\blx@datamodel@constraint}[2][]{%
\let\blx@tempc\@empty
\let\blx@tempd\@empty
- \setkeys{blx@datamodel@constraint}{#1}%
+ \blx@kv@setkeys{blx@datamodel@constraint}{#1}%
\let\constraintfieldsxor\blx@datamodel@constraintfieldsxor
\let\constraintfieldsor\blx@datamodel@constraintfieldsor
\let\constraintfield\blx@datamodel@constraintfield
@@ -349,22 +349,22 @@
#2%
\eappto\blx@tempb{\blx@xml@datamodel@constraint{\blx@tempc}{\blx@tempd}}}
-\define@key{blx@datamodel@constraint}{type}{% characters
+\blx@kv@defkey{blx@datamodel@constraint}{type}{% characters
\eappto\blx@tempc{ type="#1"}}
-\define@key{blx@datamodel@constraint}{datatype}{% characters
+\blx@kv@defkey{blx@datamodel@constraint}{datatype}{% characters
\eappto\blx@tempc{ datatype="#1"}}
-\define@key{blx@datamodel@constraint}{rangemin}{% integer
+\blx@kv@defkey{blx@datamodel@constraint}{rangemin}{% integer
\eappto\blx@tempc{ rangemin="#1"}}
-\define@key{blx@datamodel@constraint}{rangemax}{% integer
+\blx@kv@defkey{blx@datamodel@constraint}{rangemax}{% integer
\eappto\blx@tempc{ rangemax="#1"}}
-\define@key{blx@datamodel@constraint}{pattern}{% regexp
+\blx@kv@defkey{blx@datamodel@constraint}{pattern}{% regexp
\eappto\blx@tempc{ pattern="#1"}}
\newcommand*{\blx@datamodel@constraint@antecedent}[2][]{%
\let\blx@tempe\@empty
\let\blx@temph\@empty
\let\constraintfield\blx@datamodel@constraintfieldsub
- \setkeys{blx@datamodel@constraint@quant}{#1}%
+ \blx@kv@setkeys{blx@datamodel@constraint@quant}{#1}%
#2%
\let\constraintfield\blx@datamodel@constraintfield% back to default
\eappto\blx@tempd{\blx@xml@datamodel@constraint@antecedent{\blx@tempe}{\blx@temph}}}
@@ -373,12 +373,12 @@
\let\blx@tempe\@empty
\let\blx@temph\@empty
\let\constraintfield\blx@datamodel@constraintfieldsub
- \setkeys{blx@datamodel@constraint@quant}{#1}%
+ \blx@kv@setkeys{blx@datamodel@constraint@quant}{#1}%
#2%
\let\constraintfield\blx@datamodel@constraintfield% back to default
\eappto\blx@tempd{\blx@xml@datamodel@constraint@consequent{\blx@tempe}{\blx@temph}}}
-\define@key{blx@datamodel@constraint@quant}{quantifier}{% characters
+\blx@kv@defkey{blx@datamodel@constraint@quant}{quantifier}{% characters
\eappto\blx@tempe{ quant="#1"}}
\newcommand*{\blx@datamodel@constraintfieldsxor}[1]{%
@@ -496,9 +496,11 @@
issue,
issuesubtitle,
issuetitle,
+ issuetitleaddon,
iswc,
journalsubtitle,
journaltitle,
+ journaltitleaddon,
label,
langid,
langidopts,
@@ -625,6 +627,7 @@
\DeclareDatamodelFields[type=field, datatype=code]{execute}
+% fields for all entry types
\DeclareDatamodelEntryfields{
abstract,
annotation,
@@ -632,6 +635,10 @@
bookpagination,
crossref,
day,
+ doi,
+ eprint,
+ eprintclass,
+ eprinttype,
endday,
endhour,
endminute,
@@ -665,6 +672,12 @@
listf,
minute,
month,
+ namea,
+ nameb,
+ namec,
+ nameatype,
+ namebtype,
+ namectype,
nameaddon,
options,
origday,
@@ -743,7 +756,6 @@
annotator,
author,
commentator,
- doi,
editor,
editora,
editorb,
@@ -753,15 +765,14 @@
editorbtype,
editorctype,
eid,
- eprint,
- eprintclass,
- eprinttype,
issn,
issue,
issuetitle,
issuesubtitle,
+ issuetitleaddon,
journalsubtitle,
journaltitle,
+ journaltitleaddon,
language,
note,
number,
@@ -785,7 +796,6 @@
annotator,
chapter,
commentator,
- doi,
edition,
editor,
editora,
@@ -795,9 +805,7 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
foreword,
introduction,
isbn,
@@ -828,7 +836,6 @@
annotator,
author,
commentator,
- doi,
edition,
editor,
editora,
@@ -838,9 +845,6 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
foreword,
introduction,
isbn,
@@ -871,7 +875,6 @@
booktitleaddon,
chapter,
commentator,
- doi,
edition,
editor,
editora,
@@ -881,9 +884,7 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
foreword,
introduction,
isbn,
@@ -911,12 +912,9 @@
addendum,
author,
chapter,
- doi,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
howpublished,
language,
location,
@@ -935,7 +933,6 @@
annotator,
chapter,
commentator,
- doi,
edition,
editor,
editora,
@@ -945,9 +942,7 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
foreword,
introduction,
isbn,
@@ -978,7 +973,6 @@
annotator,
author,
commentator,
- doi,
edition,
editor,
editora,
@@ -988,9 +982,6 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
foreword,
introduction,
isbn,
@@ -1018,7 +1009,6 @@
booktitleaddon,
chapter,
commentator,
- doi,
edition,
editor,
editora,
@@ -1028,9 +1018,7 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
foreword,
introduction,
isbn,
@@ -1057,13 +1045,9 @@
\DeclareDatamodelEntryfields[dataset]{
addendum,
author,
- doi,
edition,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
language,
location,
note,
@@ -1082,13 +1066,10 @@
addendum,
author,
chapter,
- doi,
edition,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
isbn,
language,
location,
@@ -1109,12 +1090,8 @@
\DeclareDatamodelEntryfields[misc,software]{
addendum,
author,
- doi,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
howpublished,
language,
location,
@@ -1130,12 +1107,8 @@
\DeclareDatamodelEntryfields[online]{
addendum,
author,
- doi,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
language,
note,
organization,
@@ -1148,10 +1121,6 @@
\DeclareDatamodelEntryfields[patent]{
addendum,
author,
- doi,
- eprint,
- eprintclass,
- eprinttype,
holder,
location,
note,
@@ -1165,7 +1134,6 @@
\DeclareDatamodelEntryfields[periodical]{
addendum,
- doi,
editor,
editora,
editorb,
@@ -1174,13 +1142,11 @@
editoratype,
editorbtype,
editorctype,
- eprint,
- eprintclass,
- eprinttype,
issn,
issue,
issuesubtitle,
issuetitle,
+ issuetitleaddon,
language,
note,
number,
@@ -1189,16 +1155,13 @@
series,
subtitle,
title,
+ titleaddon,
volume}
\DeclareDatamodelEntryfields[mvproceedings]{
addendum,
- doi,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
eventday,
eventendday,
eventendhour,
@@ -1236,12 +1199,9 @@
\DeclareDatamodelEntryfields[proceedings]{
addendum,
chapter,
- doi,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
eventday,
eventendday,
eventendhour,
@@ -1289,12 +1249,9 @@
booktitle,
booktitleaddon,
chapter,
- doi,
editor,
editortype,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
eventday,
eventendday,
eventendhour,
@@ -1338,10 +1295,7 @@
addendum,
author,
chapter,
- doi,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
institution,
isrn,
language,
@@ -1361,10 +1315,7 @@
addendum,
author,
chapter,
- doi,
- eprint,
- eprintclass,
- eprinttype,
+ eid,
institution,
language,
location,
@@ -1431,8 +1382,10 @@
introduction,
issuesubtitle,
issuetitle,
+ issuetitleaddon,
journalsubtitle,
journaltitle,
+ journaltitleaddon,
location,
mainsubtitle,
maintitle,
@@ -1598,7 +1551,6 @@
\DeclareDatamodelConstraints[proceedings,mvproceedings]{
\constraint[type=mandatory]{
- \constraintfield{editor}
\constraintfield{title}
}
}
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def b/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def
index b4a8976e50f..ea757f20864 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def
@@ -11,6 +11,9 @@
\newrobustcmd*{\Mtextcite}{\mcitelike\Textcite}
\newrobustcmd*{\msupercite}{\mcitelike\supercite}
+\newrobustcmd*{\mautocite}{\mcitelike\autocite}
+\newrobustcmd*{\Mautocite}{\mcitelike\Autocite}
+
% \mcite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3}
% => \mcitelike\cite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3}
% => \defbibentryset{setA}{keyA1,keyA2,keyA3}
@@ -28,7 +31,7 @@
\let\blx@mclike@tempb\@empty
\let\blx@mclike@tempc\@empty
\blx@xsanitizeafter\blx@mclike@i{#4}%
- \edef\blx@mclike@tempa{\endgroup\unexpanded{#1[#2][#3]}{\blx@mclike@tempa}}%
+ \edef\blx@mclike@tempa{\endgroup\unexpanded{#1[{#2}][{#3}]}{\blx@mclike@tempa}}%
\blx@mclike@tempa}
\def\blx@mclike@i#1{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def b/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def
index 79e003c1904..01009c028ca 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def
@@ -46,17 +46,17 @@
{\blx@normrange@endash#1––&}
{\ifblank{#2}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}%
+ \blx@range@out@item@process{\unexpanded{#1}}%
\noexpand\bibrangedash}}%
\blx@tempc}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{%
+ \blx@range@out@item@process{%
\unexpanded{#2}}}}%
\blx@tempc}
{\blx@range@process{#1}{#2}}}}}
@@ -66,17 +66,17 @@
{\blx@normrange@hyphen#1--&}
{\ifblank{#2}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}%
+ \blx@range@out@item@process{\unexpanded{#1}}%
\noexpand\bibrangedash}}%
\blx@tempc}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
\blx@tempc}
{\blx@range@process{#1}{#2}}}}}
@@ -85,15 +85,15 @@
{\blx@firstpage@endash#1––&}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
\blx@tempc}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}%
+ \blx@range@out@item@process{\unexpanded{#1}}}}%
\blx@tempc}}}
\def\blx@firstpage@endash#1–#2–#3&{%
@@ -101,15 +101,15 @@
{\blx@firstpage@hyphen#1--&}
{\ifblank{#1}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
\noexpand\bibrangedash
- \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
\blx@tempc}
{\begingroup
- \edef\blx@tempc{\endgroup
+ \protected@edef\blx@tempc{\endgroup
\blx@range@out@value{%
- \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}%
+ \blx@range@out@item@process{\unexpanded{#1}}}}%
\blx@tempc}}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx
index b649cbeaee8..86dfce242df 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx
@@ -1,7 +1,12 @@
\ProvidesFile{numeric-comp.cbx}
[\abx@cbxid]
-\ExecuteBibliographyOptions{labelnumber,sortcites,autocite=inline}
+\newtoggle{cbx:subentrycomp}
+\DeclareBiblatexOption{global,type,entry}[boolean]{subentrycomp}[true]{%
+ \settoggle{cbx:subentrycomp}{#1}}
+
+\ExecuteBibliographyOptions{labelnumber,sortcites,autocite=inline,
+ subentrycomp=true}
\renewcommand*{\multicitedelim}{\addcomma\space}
\renewcommand*{\iffinalcitedelim}{%
@@ -10,21 +15,44 @@
\providebool{bbx:subentry}
\newbool{cbx:parens}
-\newcounter{cbx@tempcnta}
-\newcounter{cbx@tempcntb}
+\newcounter{cbx@tempcnta}% no. of labelnumbers skipped
+\newcounter{cbx@tempcntb}% 'predicted' labelnumber for current cite
+\newcounter{cbx@tempcntc}% no. of entrysetcounts we skipped
+\newcounter{cbx@tempcntd}% 'predicted' entrysetcount
\DeclareFieldFormat{entrysetcount}{\mknumalph{#1}}
+\newcommand*{\cbx@iflabelnumberequalslast}{%
+ \iffieldequals{labelnumber}{\cbx@lastnumber}}
+
+% \iffieldequals is false even if both are empty/undef
+% so we need a special test for that case
+% this test is optimised for performance and laziness
+% rather than prettiness, not that it would matter a lot...
+\newcommand*{\cbx@iflabelprefixequalslast}{%
+ \ifundef\cbx@lastprefix
+ {\iffieldundef{labelprefix}}
+ {\iffieldequals{labelprefix}{\cbx@lastprefix}}}
+
+% \cbx@iflabelnumberequalslast and \cbx@iflabelprefixequalslast
+\newcommand*{\cbx@iflabelnumberandprefixequallast}{%
+ \cbx@iflabelnumberequalslast
+ {\cbx@iflabelprefixequalslast}
+ {\@secondoftwo}}
+
\newbibmacro*{cite:init}{%
\global\boolfalse{cbx:parens}%
\global\undef\cbx@lasthash
\global\undef\cbx@lastnumber
\global\undef\cbx@lastprefix
+ \global\undef\cbx@lastentrysetcount
\setcounter{cbx@tempcnta}{0}%
- \setcounter{cbx@tempcntb}{-2}}
+ \setcounter{cbx@tempcntb}{-2}%
+ \setcounter{cbx@tempcntc}{0}%
+ \setcounter{cbx@tempcntd}{-1}}
\newbibmacro*{cite:comp}{%
- \addtocounter{cbx@tempcntb}{1}%
+ \stepcounter{cbx@tempcntb}%
\iffieldundef{shorthand}
{\ifbool{bbx:subentry}
{\iffieldundef{entrysetcount}
@@ -33,25 +61,22 @@
{\usebibmacro{cite:comp:comp}}}
{\usebibmacro{cite:comp:shand}}}
+% we externalise printing the citations to
+% cite:print:... macros for easier customisation
+
\newbibmacro*{cite:comp:comp}{%
- \ifboolexpr{
- ( test {\iffieldundef{labelprefix}} and test {\ifundef\cbx@lastprefix} )
- or
- test {\iffieldequals{labelprefix}{\cbx@lastprefix}}
- }
+ \cbx@iflabelprefixequalslast
{\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}}
{\savefield{entrykey}{\cbx@lastkey}%
\savefield{labelnumber}{\cbx@lastnumber}%
- \addtocounter{cbx@tempcnta}{1}}
+ \stepcounter{cbx@tempcnta}}
{\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1}
- {}
- {\usebibmacro{cite:dump}%
- \ifnumgreater{\value{cbx@tempcntb}}{-1}
- {\multicitedelim}
- {}%
- \printtext[bibhyperref]{%
- \printfield{labelprefix}%
- \printfield{labelnumber}}}}}
+ {% current cite is *exactly* the same a previous source
+ % this can only happen if the same source is cited twice
+ % and sortcites is turned off
+ % print nothing
+ }
+ {\usebibmacro{cite:comp:end}}}}
{\usebibmacro{cite:comp:end}}%
\setcounter{cbx@tempcntb}{\thefield{labelnumber}}%
\savefield{labelprefix}{\cbx@lastprefix}}
@@ -59,44 +84,104 @@
\newbibmacro*{cite:comp:end}{%
\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
- {\multicitedelim}
+ {\setunit{\multicitedelim}}
{}%
- \printtext[bibhyperref]{%
- \printfield{labelprefix}%
- \printfield{labelnumber}}}
+ \usebibmacro{cite:print:labelnumber}}
\newbibmacro*{cite:comp:inset}{%
- \usebibmacro{cite:dump}%
- \ifnumgreater{\value{cbx@tempcntb}}{-1}
- {\multicitedelim}
- {}%
- \printtext[bibhyperref]{%
- \printfield{labelprefix}%
- \printfield{labelnumber}%
- \printfield{entrysetcount}}%
- \setcounter{cbx@tempcntb}{-1}}
+ \stepcounter{cbx@tempcntd}%
+ \ifboolexpr{ togl {cbx:subentrycomp}
+ and test {\cbx@iflabelnumberandprefixequallast}}
+ {\ifnumequal{\thefield{entrysetcount}}{\value{cbx@tempcntd}}
+ {\savefield{entrykey}{\cbx@lastkey}%
+ \savefield{entrysetcount}{\cbx@lastentrysetcount}%
+ \stepcounter{cbx@tempcntc}}
+ {\ifnumequal{\thefield{entrysetcount}}{\value{cbx@tempcntd}-1}
+ {% current cite is *exactly* the same a previous source
+ % this can only happen if the same source is cited twice
+ % and sortcites is turned off
+ % print nothing
+ }
+ {\usebibmacro{cite:dump:inset}%
+ \ifnumgreater{\value{cbx@tempcntd}}{-1}
+ {\setunit{\multicitesubentrydelim}}
+ {}%
+ \usebibmacro{cite:print:subentry:comp}}}}
+ {\usebibmacro{cite:dump}%
+ \ifnumgreater{\value{cbx@tempcntb}}{-1}
+ {\multicitedelim}
+ {}%
+ \setcounter{cbx@tempcntd}{-1}%
+ \usebibmacro{cite:print:subentry:full}%
+ \savefield{labelprefix}{\cbx@lastprefix}%
+ \savefield{labelnumber}{\cbx@lastnumber}}%
+ \setcounter{cbx@tempcntd}{\thefield{entrysetcount}}%
+ \setcounter{cbx@tempcntb}{-1}}
\newbibmacro*{cite:comp:shand}{%
\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
- {\multicitedelim}
+ {\setunit{\multicitedelim}}
{}%
- \printtext[bibhyperref]{\printfield{shorthand}}%
+ \usebibmacro{cite:print:shorthand}%
\setcounter{cbx@tempcntb}{-1}}
+\newbibmacro{cite:dump:inset}{%
+ % dump subentry
+ \ifnumgreater{\value{cbx@tempcntc}}{0}
+ {\ifnumgreater{\value{cbx@tempcntc}}{1}
+ {\setunit{\multicitesubentryrangedelim}}
+ {\setunit{\multicitesubentrydelim}}%
+ \usebibmacro{cite:print:last:subentry:comp}%
+ \global\undef\cbx@lastentrysetcount}
+ {}%
+ \setcounter{cbx@tempcntc}{0}%
+}
+
\newbibmacro*{cite:dump}{%
+ \usebibmacro{cite:dump:inset}%
+ % dump labelnumber (+labelprefix)
\ifnumgreater{\value{cbx@tempcnta}}{0}
{\ifnumgreater{\value{cbx@tempcnta}}{1}
- {\bibrangedash}
- {\multicitedelim}%
- \bibhyperref[\cbx@lastkey]{%
- \ifdef\cbx@lastprefix
- {\printtext[labelprefix]{\cbx@lastprefix}}
- {}%
- \printtext[labelnumber]{\cbx@lastnumber}}}
+ {\setunit{\multiciterangedelim}}
+ {\setunit{\multicitedelim}}%
+ \usebibmacro{cite:print:last:labelnumber}%
+ \global\undef\cbx@lastprefix}
{}%
\setcounter{cbx@tempcnta}{0}%
- \global\undef\cbx@lastprefix}
+}
+
+% these macros do the actual printing
+
+\newbibmacro*{cite:print:shorthand}{%
+ \printtext[bibhyperref]{\printfield{shorthand}}}
+
+\newbibmacro*{cite:print:labelnumber}{%
+ \printtext[bibhyperref]{%
+ \printfield{labelprefix}%
+ \printfield{labelnumber}}}
+
+\newbibmacro*{cite:print:subentry:comp}{%
+ \printtext[bibhyperref]{\printfield{entrysetcount}}}
+
+\newbibmacro*{cite:print:subentry:full}{%
+ \printtext[bibhyperref]{%
+ \printfield{labelprefix}%
+ \printfield{labelnumber}%
+ \printfield{entrysetcount}}}
+
+\DeclareFieldFormat{bibhyperref:lastkey}{\bibhyperref[\cbx@lastkey]{#1}}
+
+\newbibmacro*{cite:print:last:subentry:comp}{%
+ \printtext[bibhyperref:lastkey]{%
+ \printtext[entrysetcount]{\cbx@lastentrysetcount}}}
+
+\newbibmacro*{cite:print:last:labelnumber}{%
+ \printtext[bibhyperref:lastkey]{%
+ \ifdef\cbx@lastprefix
+ {\printtext[labelprefix]{\cbx@lastprefix}}
+ {}%
+ \printtext[labelnumber]{\cbx@lastnumber}}}
\newbibmacro*{textcite}{%
\iffieldequals{namehash}{\cbx@lasthash}
@@ -107,7 +192,7 @@
{}%
\iffirstcitekey
{}
- {\textcitedelim}%
+ {\setunit{\textcitedelim}}%
\usebibmacro{cite:init}%
\ifnameundef{labelname}
{\printfield[citetitle]{labeltitle}}
@@ -169,6 +254,9 @@
\DeclareCiteCommand{\supercite}[\mkbibsuperscript]
{\usebibmacro{cite:init}%
\let\multicitedelim=\supercitedelim
+ \let\multicitesubentrydelim=\supercitesubentrydelim
+ \let\multiciterangedelim=\superciterangedelim
+ \let\multicitesubentryrangedelim=\supercitesubentryrangedelim
\iffieldundef{prenote}
{}
{\BibliographyWarning{Ignoring prenote argument}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
index 43fb19712cb..8d92cc663fd 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
@@ -43,13 +43,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -463,14 +467,17 @@
langjapanese = {{japon\^es}{japon\^es}},
langlatin = {{latim}{latim}},
langlatvian = {{let\~ao}{let\~ao}},
+ langlithuanian = {{lituano}{lituano}},
langnorwegian = {{noruegu\^es}{noruegu\^es}},
langpolish = {{polon\^es}{polon\^es}},
langportuguese = {{portugu{\^e}s}{portugu{\^e}s}},
langrussian = {{russo}{russo}},
+ langserbian = {{s\'ervio}{s\'ervio}},
langslovak = {{eslovaco}{eslovaco}},
langslovene = {{esloveno}{esloveno}},
langspanish = {{espanhol}{espanhol}},
langswedish = {{sueco}{sueco}},
+ langturkish = {{turco}{turco}},
langukrainian = {{ucraniano}{ucraniano}},
fromamerican = {{do ingl\^es}{do ingl\^es}},
frombrazilian = {{do portugu{\^e}s}{do portugu{\^e}s}},
@@ -492,14 +499,17 @@
fromjapanese = {{do japon\^es}{do japon\^es}},
fromlatin = {{do latim}{do latim}},
fromlatvian = {{do let\~ao}{do let\~ao}},
+ fromlithuanian = {{do lituano}{do lituano}},
fromnorwegian = {{do noruegu\^es}{do noruegu\^es}},
frompolish = {{do polon\^es}{do polon\^es}},
fromportuguese = {{do portugu{\^e}s}{do portugu{\^e}s}},
fromrussian = {{do russo}{do russo}},
+ fromserbian = {{do s\'ervio}{do s\'ervio}},
fromslovak = {{do eslovaco}{do eslovaco}},
fromslovene = {{do esloveno}{do esloveno}},
fromspanish = {{do espanhol}{do espanhol}},
fromswedish = {{do sueco}{do sueco}},
+ fromturkish = {{do turco}{do turco}},
fromukrainian = {{do ucraniano}{do ucraniano}},
countryde = {{Alemanha}{DE}},
countryeu = {{Uni\~ao Europeia}{EU}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
index 87411636e99..7bfdfced5de 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
@@ -42,13 +42,17 @@
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
index dcc8c695c19..fb64a01ab50 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
@@ -70,13 +70,17 @@
\def\mkbibordedition{\mkbibneutord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
index 973b91b597d..4f1878ac4d4 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
@@ -66,13 +66,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -243,9 +247,9 @@
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}},
+ {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}},
translatorscoin = {{traductors, comentaristes i autors de la introducci\'o}
- {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddotspace}},
+ {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}},
translatorcofo = {{traductor, comentarista i autor del pr\`oleg}
{trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}},
translatorscofo = {{traductors, comentaristes i autors del pr\`oleg}
@@ -422,7 +426,7 @@
version = {{versi\'o}{vers\adddot}},
url = {{adre\c{c}a}{adr\adddot}},
urlfrom = {{disponible a}{disp\adddotspace a}},
- urlseen = {{consultat}{cons\adddotspace}}, % Possibly better «consultat \smartel», but \smartel unavailable
+ urlseen = {{consultat}{cons\adddot}}, % 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}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
index b3b92e03ac3..59386494900 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
@@ -45,13 +45,17 @@
\def\mkbibordedition{\mkbibordinal}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
index 716b3a1ee85..d23131f0722 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
@@ -38,13 +38,17 @@
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -81,35 +85,49 @@
compilers = {{sestavili}{sest\adddot}},
redactor = {{redaktor}{red\adddot}},
redactors = {{redakto\v{r}i}{red\adddot}},
+ reviser = {{korektor}{kor\adddot}},
+ revisers = {{korekto\v{r}i}{kor\adddot}},
founder = {{zakladatel}{zakl\adddot}},
founders = {{zakladatel\'{e}}{zakl\adddot}},
continuator = {{pokra\v{c}ovatel}{pokr\adddot}},% FIXME: unsure
continuators = {{pokra\v{c}ovatel\'{e}}{pokr\adddot}},% FIXME: unsure
- collaborator = {{spolupracovn\'{i}k}{spoluprac\adddot}},% FIXME: unsure
- collaborators = {{spolupracovn\'{i}ci}{spoluprac\adddot}},% FIXME: unsure
+ collaborator = {{spolupracovn\'{\i}k}{spoluprac\adddot}},% FIXME: unsure
+ collaborators = {{spolupracovn\'{\i}ci}{spoluprac\adddot}},% FIXME: unsure
translator = {{p\v{r}ekladatel}{p\v{r}ekl\adddot}},
translators = {{p\v{r}ekladatel\'{e}}{p\v{r}ekl\adddot}},
commentator = {{koment\'{a}tor}{kom\adddot}},
commentators = {{koment\'{a}to\v{r}i}{kom\adddot}},
annotator = {{anot\'{a}tor}{anot\adddot}},
annotators = {{anot\'{a}to\v{r}i}{anot\adddot}},
- commentary = {{koment\'{a}tor}{komm\adddot}},% FIXME: unsure
- annotations = {{anotatace}{anot\adddot}},
+ commentary = {{koment\'{a}\v{r}}{kom\adddot}},
+ annotations = {{anotace}{anot\adddot}},
introduction = {{\'{u}vod}{\'{u}v\adddot}},
foreword = {{p\v{r}edmluva}{p\v{r}edml\adddot}},
afterword = {{doslov}{dosl\adddot}},
- editortr = {{editor a p\v{r}ekladatel}{ed\adddotspace a p\v{r}ekl\adddot}},
- editorstr = {{edito\v{r}i a p\v{r}ekladatel\'{e}}{ed\adddotspace a p\v{r}ekl\adddot}},
- editorco = {{editor a koment\'{a}tor}{ed\adddotspace a kom\adddot}},
- editorsco = {{editor a koment\'{a}to\v{r}i}{ed\adddotspace a kom\adddot}},
- editoran = {{editor a anot\'{a}tor}{ed\adddotspace a anot\adddot}},
- editorsan = {{editor a anot\'{a}to\v{r}i}{ed\adddotspace a anot\adddot}},
- editorin = {{editor a \'{u}vod}{ed\adddotspace \'{u}v\adddot}},
- editorsin = {{edito\v{r}i a \'{u}vod}{ed\adddotspace a \'{u}v\adddot}},
- editorfo = {{editor a p\v{r}edmluva}{ed\adddotspace a p\v{r}edml\adddot}},
- editorsfo = {{edito\v{r}i a p\v{r}edmluva}{ed\adddotspace a p\v{r}edml\adddot}},
- editoraf = {{editor a doslov}{ed\adddotspace a dosl\adddot}},
- editorsaf = {{edito\v{r}i a doslov}{ed\adddotspace a dosl\adddot}},
+ editortr = {{editor a p\v{r}ekladatel}%
+ {ed\adddotspace a p\v{r}ekl\adddot}},
+ editorstr = {{edito\v{r}i a p\v{r}ekladatel\'{e}}%
+ {ed\adddotspace a p\v{r}ekl\adddot}},
+ editorco = {{editor a koment\'{a}tor}%
+ {ed\adddotspace a kom\adddot}},
+ editorsco = {{editor a koment\'{a}to\v{r}i}%
+ {ed\adddotspace a kom\adddot}},
+ editoran = {{editor a anot\'{a}tor}%
+ {ed\adddotspace a anot\adddot}},
+ editorsan = {{editor a anot\'{a}to\v{r}i}%
+ {ed\adddotspace a anot\adddot}},
+ editorin = {{editor a \'{u}vod}%
+ {ed\adddotspace a \'{u}v\adddot}},
+ editorsin = {{edito\v{r}i a \'{u}vod}%
+ {ed\adddotspace a \'{u}v\adddot}},
+ editorfo = {{editor a p\v{r}edmluva}%
+ {ed\adddotspace a p\v{r}edml\adddot}},
+ editorsfo = {{edito\v{r}i a p\v{r}edmluva}%
+ {ed\adddotspace a p\v{r}edml\adddot}},
+ editoraf = {{editor a doslov}%
+ {ed\adddotspace a dosl\adddot}},
+ editorsaf = {{edito\v{r}i a doslov}%
+ {ed\adddotspace a dosl\adddot}},
editortrco = {{editor, p\v{r}eklad\ a koment\'{a}tor}%
{ed.,\addabbrvspace p\v{r}ekl\adddot\ a kom\adddot}},% FIXME: hruznost
editorstrco = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a koment\'{a}to\v{r}i}%
@@ -119,191 +137,227 @@
editorstran = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a anot\'{a}to\v{r}i}%
{ed.,\addabbrvspace p\v{r}ekl\adddot\ a anot\adddot}},
editortrin = {{editor, p\v{r}ekladatel\ a \'{u}vod}%
- {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}v\adddot}},
editorstrin = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a \'{u}vod}%
- {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}v\adddot}},
editortrfo = {{editor, p\v{r}ekladatel\ a p\v{r}edmluva}%
{ed.,\addabbrvspace p\v{r}ekl\adddot\ a p\v{r}edml\adddot}},
editorstrfo = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a p\v{r}edmluva}%
{ed.,\addabbrvspace p\v{r}ekl\adddot\ a p\v{r}edml\adddot}},
- editortraf = {{editor, p\v{r}ekladatel\ a doslov}%
- {ed.,\addabbrvspace p\v{r}ekl\adddot\ a afterw\adddot}},
- editorstraf = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a doslov}%
- {ed.,\addabbrvspace p\v{r}ekl\adddot\ a afterw\adddot}},
+ editortraf = {{editor, p\v{r}ekladatel\ a doslov}%
+ {ed.,\addabbrvspace p\v{r}ekl\adddot\ a dosl\adddot}},
+ editorstraf = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a doslov}%
+ {ed.,\addabbrvspace p\v{r}ekl\adddot\ a dosl\adddot}},
editorcoin = {{editor, koment\'{a}tor\ a \'{u}vod}%
- {ed.,\addabbrvspace kom\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace kom\adddot\ a \'{u}v\adddot}},
editorscoin = {{edito\v{r}i, koment\'{a}to\v{r}i\ a \'{u}vod}%
- {ed.,\addabbrvspace kom\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace kom\adddot\ a \'{u}v\adddot}},
editorcofo = {{editor, koment\'{a}tor\ a p\v{r}edmluva}%
{ed.,\addabbrvspace kom\adddot\ a p\v{r}edml\adddot}},
editorscofo = {{edito\v{r}i, koment\'{a}to\v{r}i\ a p\v{r}edmluva}%
{ed.,\addabbrvspace kom\adddot\ a p\v{r}edml\adddot}},
- editorcoaf = {{editor, koment\'{a}tor\ a doslov}%
+ editorcoaf = {{editor, koment\'{a}tor\ a doslov}%
{ed.,\addabbrvspace kom\adddot\ a dosl\adddot}},
- editorscoaf = {{edito\v{r}i, koment\'{a}to\v{r}i\ a doslov}%
+ editorscoaf = {{edito\v{r}i, koment\'{a}to\v{r}i\ a doslov}%
{ed.,\addabbrvspace kom\adddot\ a dosl\adddot}},
editoranin = {{editor, anot\'{a}tor\ a \'{u}vod}%
- {ed.,\addabbrvspace anot\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace anot\adddot\ a \'{u}v\adddot}},
editorsanin = {{edito\v{r}i, anot\'{a}to\v{r}i\ a \'{u}vod}%
- {ed.,\addabbrvspace anot\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace anot\adddot\ a \'{u}v\adddot}},
editoranfo = {{editor, anot\'{a}tor\ a p\v{r}edmluva}%
{ed.,\addabbrvspace anot\adddot\ a p\v{r}edml\adddot}},
editorsanfo = {{edito\v{r}i, anot\'{a}to\v{r}i\ a p\v{r}edmluva}%
{ed.,\addabbrvspace anot\adddot\ a p\v{r}edml\adddot}},
- editoranaf = {{editor, anot\'{a}tor\ a doslov}{ed.,\addabbrvspace anot\adddot\ a dosl\adddot}},
- editorsanaf = {{edito\v{r}i, anot\'{a}to\v{r}i\ a doslov}%
+ editoranaf = {{editor, anot\'{a}tor\ a doslov}%
+ {ed.,\addabbrvspace anot\adddot\ a dosl\adddot}},
+ editorsanaf = {{edito\v{r}i, anot\'{a}to\v{r}i\ a doslov}%
{ed.,\addabbrvspace anot\adddot\ a dosl\adddot}},
editortrcoin = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a \'{u}vod}%
- {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}},
editorstrcoin = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a \'{u}vod}%
- {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}},
editortrcofo = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a p\v{r}edmluva}%
{ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}},
editorstrcofo = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a p\v{r}edmluva}%
{ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}},
- editortrcoaf = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a doslov}%
+ editortrcoaf = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a doslov}%
{ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a dosl\adddot}},
- editorstrcoaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a doslov}%
+ editorstrcoaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a doslov}%
{ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a dosl\adddot}},
editortranin = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a \'{u}vod}%
- {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}},
editorstranin = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a \'{u}vod}%
- {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}},
+ {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}},
editortranfo = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a p\v{r}edmluva}%
{ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}},
editorstranfo = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a p\v{r}edmluva}%
{ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}},
- editortranaf = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a doslov}%
+ editortranaf = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a doslov}%
{ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a dosl\adddot}},
- editorstranaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a doslov}%
+ editorstranaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a doslov}%
{ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a dosl\adddot}},
- translatorco = {{p\v{r}ekladatel a koment\'{a}tor}{p\v{r}ekl\adddot\ a kom\adddot}},
- translatorsco = {{p\v{r}ekladatel\'{e} a koment\'{a}to\v{r}i}{p\v{r}ekl\adddot\ a kom\adddot}},
- translatoran = {{p\v{r}ekladatel a anot\'{a}tor}{p\v{r}ekl\adddot\ a anot\adddot}},
- translatorsan = {{p\v{r}ekladatel\'{e} a anot\'{a}to\v{r}i}{p\v{r}ekl\adddot\ a anot\adddot}},
- translatorin = {{p\v{r}eklad a \'{u}vod}{p\v{r}ekl\adddot\ a \'{u}vod\adddot}},
- translatorsin = {{p\v{r}eklad a \'{u}vod}{p\v{r}ekl\adddot\ a \'{u}vod\adddot}},
- translatorfo = {{p\v{r}eklad a p\v{r}edmluva}{p\v{r}ekl\adddot\ a p\v{r}edml\adddot}},
- translatorsfo = {{p\v{r}eklad a p\v{r}edmluva}{p\v{r}ekl\adddot\ a p\v{r}edml\adddot}},
- translatoraf = {{p\v{r}eklad a doslov}{p\v{r}ekl\adddot\ a dosl\adddot}},
- translatorsaf = {{p\v{r}eklad a doslov}{p\v{r}ekl\adddot\ a dosl\adddot}},
- translatorcoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}{p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}},
- translatorscoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}{p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}},
- translatorcofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}{p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}},
- translatorscofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}{p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}},
- translatorcoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}{p\v{r}ekl., kom\adddot\ a dosl\adddot}},
- translatorscoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}{p\v{r}ekl., kom\adddot\ a dosl\adddot}},
- translatoranin = {{p\v{r}eklad, anotace,\ a \'{u}vod}{p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}},
- translatorsanin = {{p\v{r}eklad, anotace,\ a \'{u}vod}{p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}},
- translatoranfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}{p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}},
- translatorsanfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}{p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}},
- translatoranaf = {{p\v{r}eklad, anotace,\ a doslov}{p\v{r}ekl., anot\adddot\ a dosl\adddot}},
- translatorsanaf = {{p\v{r}eklad, anotace,\ a doslov}{p\v{r}ekl., anot\adddot\ a dosl\adddot}},
-% organizer = {{}{}},% FIXME: missing
-% organizers = {{}{}},% FIXME: missing
-% byorganizer = {{}{}},% FIXME: missing
- byauthor = {{by}{by}},
- byeditor = {{editov\'{a}no}{ed\adddotspace}},
- bycompiler = {{sestaveno}{comp\adddotspace}},
- byredactor = {{redigov\'{a}no}{red\adddotspace}},
- byfounder = {{zalo\v{z}eno}{found\adddotspace}},
- bycontinuator = {{pokra\v{c}ov\'{a}no}{cont\adddotspace}},
- bycollaborator = {{ve spolupr\'{a}ci s}{ve spol\adddotspace s}},% FIXME: unsure
+ translatorco = {{p\v{r}ekladatel a koment\'{a}tor}%
+ {p\v{r}ekl\adddot\ a kom\adddot}},
+ translatorsco = {{p\v{r}ekladatel\'{e} a koment\'{a}to\v{r}i}%
+ {p\v{r}ekl\adddot\ a kom\adddot}},
+ translatoran = {{p\v{r}ekladatel a anot\'{a}tor}%
+ {p\v{r}ekl\adddot\ a anot\adddot}},
+ translatorsan = {{p\v{r}ekladatel\'{e} a anot\'{a}to\v{r}i}%
+ {p\v{r}ekl\adddot\ a anot\adddot}},
+ translatorin = {{p\v{r}eklad a \'{u}vod}%
+ {p\v{r}ekl\adddot\ a \'{u}v\adddot}},
+ translatorsin = {{p\v{r}eklad a \'{u}vod}%
+ {p\v{r}ekl\adddot\ a \'{u}v\adddot}},
+ translatorfo = {{p\v{r}eklad a p\v{r}edmluva}%
+ {p\v{r}ekl\adddot\ a p\v{r}edml\adddot}},
+ translatorsfo = {{p\v{r}eklad a p\v{r}edmluva}%
+ {p\v{r}ekl\adddot\ a p\v{r}edml\adddot}},
+ translatoraf = {{p\v{r}eklad a doslov}%
+ {p\v{r}ekl\adddot\ a dosl\adddot}},
+ translatorsaf = {{p\v{r}eklad a doslov}%
+ {p\v{r}ekl\adddot\ a dosl\adddot}},
+ translatorcoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}%
+ {p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}},
+ translatorscoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}%
+ {p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}},
+ translatorcofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}%
+ {p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}},
+ translatorscofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}%
+ {p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}},
+ translatorcoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}%
+ {p\v{r}ekl., kom\adddot\ a dosl\adddot}},
+ translatorscoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}%
+ {p\v{r}ekl., kom\adddot\ a dosl\adddot}},
+ translatoranin = {{p\v{r}eklad, anotace,\ a \'{u}vod}%
+ {p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}},
+ translatorsanin = {{p\v{r}eklad, anotace,\ a \'{u}vod}%
+ {p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}},
+ translatoranfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}%
+ {p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}},
+ translatorsanfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}%
+ {p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}},
+ translatoranaf = {{p\v{r}eklad, anotace,\ a doslov}%
+ {p\v{r}ekl., anot\adddot\ a dosl\adddot}},
+ translatorsanaf = {{p\v{r}eklad, anotace,\ a doslov}%
+ {p\v{r}ekl., anot\adddot\ a dosl\adddot}},
+ organizer = {{organiz\'{a}tor}{org\adddot}},% FIXME: unsure
+ organizers = {{organiz\'{a}to\v{r}i}{org\adddot}},% FIXME: unsure
+ byorganizer = {{organizov\'{a}no}{org\adddot}},% FIXME: unsure
+ byauthor = {{}{}},
+ byeditor = {{editov\'{a}no}{ed\adddot}},
+ bycompiler = {{sestaveno}{sest\adddot}},
+ byredactor = {{redigov\'{a}no}{red\adddot}},
+ byreviser = {{korigov\'{a}no}{kor\adddot}},
+ byreviewer = {{recenzov\'{a}no}{recenz\adddot}},
+ byfounder = {{zalo\v{z}eno}{zal\adddot}},
+ bycontinuator = {{pokra\v{c}ov\'{a}no}{pokr\adddot}},
+ bycollaborator = {{ve spolupr\'{a}ci s\addnbspace}{ve spol\adddotspace s\addnbspace}},
bytranslator = {{p\v{r}elo\v{z}eno \lbx@lfromlang}{p\v{r}el\adddot\ \lbx@sfromlang}},
- bycommentator = {{komentov\'{a}no}{kom\adddotspace}},
- byannotator = {{anotov\'{a}no}{anot\adddotspace}},
- withcommentator = {{s koment\'{a}\v{r}em}{s kom\adddotspace}},%mozna: s komentarem od?
- withannotator = {{s anotacemi od}{s anot\adddot\ od}},
- withintroduction = {{s \'{u}vodem od}{u \'{u}v\adddot\ od}},
- withforeword = {{s p\v{r}edmluvou od}{s p\v{r}edml\adddot\ od}},
- withafterword = {{s doslovem}{s dosl\adddot\ }},
- byeditortr = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang\ }%
- {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang\ }},
- byeditorco = {{editov\'{a}no a komentov\'{a}no}{ed\adddotspace a kom\adddot\ }},
- byeditoran = {{editov\'{a}no a anotov\'{a}no}{ed\adddotspace a anot\adddot\ }},
- byeditorin = {{editov\'{a}no, s \'{u}vodem}{ed.,\addabbrvspace s \'{u}vodem}},
- byeditorfo = {{editov\'{a}no, s p\v{r}edmluvou}{ed.,\addabbrvspace s p\v{r}edml., }},
- byeditoraf = {{editov\'{a}no, s doslovem}{ed.,\addabbrvspace s dosl.,}},
+ bycommentator = {{komentov\'{a}no}{kom\adddot}},
+ byannotator = {{anotov\'{a}no}{anot\adddot}},
+ withcommentator = {{s\addnbspace koment\'{a}\v{r}em od}{s\addnbspace kom\adddot\ od}},
+ withannotator = {{s\addnbspace anotacemi od}{s\addnbspace anot\adddot\ od}},
+ withintroduction = {{s\addnbspace \'{u}vodem od}{s\addnbspace \'{u}v\adddot\ od}},
+ withforeword = {{s\addnbspace p\v{r}edmluvou od}{s\addnbspace p\v{r}edml\adddot\ od}},
+ withafterword = {{s\addnbspace doslovem od}{s\addnbspace dosl\adddot\ od}},
+ byeditortr = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang}%
+ {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang}},
+ byeditorco = {{editov\'{a}no a komentov\'{a}no}%
+ {ed\adddotspace a kom\adddot}},
+ byeditoran = {{editov\'{a}no a anotov\'{a}no}%
+ {ed\adddotspace a anot\adddot}},
+ byeditorin = {{editov\'{a}no, s\addnbspace \'{u}vodem}%
+ {ed.,\addabbrvspace s\addnbspace \'{u}v\adddot}},
+ byeditorfo = {{editov\'{a}no, s\addnbspace p\v{r}edmluvou}%
+ {ed.,\addabbrvspace s\addnbspace p\v{r}edml\adddot}},
+ byeditoraf = {{editov\'{a}no, s\addnbspace doslovem}%
+ {ed.,\addabbrvspace s\addnbspace dosl\adddot}},
byeditortrco = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot\ }},
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot}},
byeditortran = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot\ }},
- byeditortrin = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s \'{u}vodem}%
- {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s \'{u}vodem}},
- byeditortrfo = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s p\v{r}edmluvou}%
- {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s p\v{r}edmluvou}},
- byeditortraf = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s doslovem}%
- {ed\adddotspace a p\v{r}ekl\adddot\ \lbx@sfromlang, s doslovem}},
- byeditorcoin = {{editov\'{a}no a komentov\'{a}no, s \'{u}vodem}{ed\adddotspace a kom., s \'{u}vodem}},
- byeditorcofo = {{editov\'{a}no a komentov\'{a}no, s p\v{r}edmluvou}{ed\adddotspace a kom., s p\v{r}edml\adddot}},
- byeditorcoaf = {{editov\'{a}no a komentov\'{a}no, s doslovem}{ed\adddotspace a kom., s dosl.}},
- byeditoranin = {{editov\'{a}no a anotov\'{a}no, s \'{u}vodem}{ed\adddotspace a anot., s \'{u}vodem}},
- byeditoranfo = {{editov\'{a}no a anotov\'{a}no, s p\v{r}edmluvou}{ed\adddotspace a anot., s p\v{r}edml\adddot}},
- byeditoranaf = {{editov\'{a}no a anotov\'{a}no, s doslovem}{ed\adddotspace a anot., s dosl\adddot}},
- byeditortrcoin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s \'{u}vodem}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s \'{u}vodem}},
- byeditortrcofo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s p\v{r}edmluvou }%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s p\v{r}edml\adddot}},
- byeditortrcoaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s doslovem}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s dosl\adddot}},
- byeditortranin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s \'{u}vodem}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot, s \'{u}vodem}},
- byeditortranfo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s p\v{r}edmluvou}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot, s p\v{r}edml\adddot}},
- byeditortranaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s doslovem}%
- {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot, s dosl\adddot}},
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot}},
+ byeditortrin = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace \'{u}vodem}%
+ {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}},
+ byeditortrfo = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace p\v{r}edmluvou}%
+ {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace p\v{r}edml\adddot}},
+ byeditortraf = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace doslovem}%
+ {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}},
+ byeditorcoin = {{editov\'{a}no a komentov\'{a}no, s\addnbspace \'{u}vodem}%
+ {ed\adddotspace a kom., s\addnbspace \'{u}v\adddot}},
+ byeditorcofo = {{editov\'{a}no a komentov\'{a}no, s\addnbspace p\v{r}edmluvou}%
+ {ed\adddotspace a kom., s\addnbspace p\v{r}edml\adddot}},
+ byeditorcoaf = {{editov\'{a}no a komentov\'{a}no, s\addnbspace doslovem}%
+ {ed\adddotspace a kom., s\addnbspace dosl\adddot}},
+ byeditoranin = {{editov\'{a}no a anotov\'{a}no, s\addnbspace \'{u}vodem}%
+ {ed\adddotspace a anot., s\addnbspace \'{u}v\adddot}},
+ byeditoranfo = {{editov\'{a}no a anotov\'{a}no, s\addnbspace p\v{r}edmluvou}%
+ {ed\adddotspace a anot., s\addnbspace p\v{r}edml\adddot}},
+ byeditoranaf = {{editov\'{a}no a anotov\'{a}no, s\addnbspace doslovem}%
+ {ed\adddotspace a anot., s\addnbspace dosl\adddot}},
+ byeditortrcoin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace \'{u}vodem}%
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace \'{u}v\adddot}},
+ byeditortrcofo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace p\v{r}edmluvou }%
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace p\v{r}edml\adddot}},
+ byeditortrcoaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace doslovem}%
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace dosl\adddot}},
+ byeditortranin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace \'{u}vodem}%
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot, s\addnbspace \'{u}v\adddot}},
+ byeditortranfo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace p\v{r}edmluvou}%
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace p\v{r}edml\adddot}},
+ byeditortranaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace doslovem}%
+ {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace dosl\adddot}},
bytranslatorco = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot\ }},
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot}},
bytranslatoran = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot\ }},
- bytranslatorin = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s \'{u}vodem}%
- {p\v{r}el\adddot\ \lbx@sfromlang, s \'{u}vodem}},
- bytranslatorfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s p\v{r}edmluvou}%
- {p\v{r}el\adddot\ \lbx@sfromlang, s p\v{r}edml\adddot}},
- bytranslatoraf = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s doslovem}%
- {p\v{r}el\adddot\ \lbx@sfromlang, s dosl\adddot}},
- bytranslatorcoin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s \'{u}vodem}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s \'{u}vodem}},
- bytranslatorcofo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s p\v{r}edmluvou}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s p\v{r}edml\adddot}},
- bytranslatorcoaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}ns doslovem}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s dosl\adddot}},
- bytranslatoranin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s \'{u}vodem}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s \'{u}vodem}},
- bytranslatoranfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s p\v{r}edmluvou}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s p\v{r}edml\adddot}},
- bytranslatoranaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s doslovem}%
- {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s dosl\adddot}},
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot}},
+ bytranslatorin = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace \'{u}vodem}%
+ {p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}},
+ bytranslatorfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace p\v{r}edmluvou}%
+ {p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace p\v{r}edml\adddot}},
+ bytranslatoraf = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace doslovem}%
+ {p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}},
+ bytranslatorcoin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace \'{u}vodem}%
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace \'{u}v\adddot}},
+ bytranslatorcofo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace p\v{r}edmluvou}%
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace p\v{r}edml\adddot}},
+ bytranslatorcoaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace doslovem}%
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace dosl\adddot}},
+ bytranslatoranin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace \'{u}vodem}%
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace \'{u}v\adddot}},
+ bytranslatoranfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace p\v{r}edmluvou}%
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace p\v{r}edml\adddot}},
+ bytranslatoranaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace doslovem}%
+ {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace dosl\adddot}},
and = {{a}{a}},
andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
volume = {{svazek}{sv\adddot}},
volumes = {{svazky}{sv\adddot}},
involumes = {{in}{in}},
- jourvol = {{ro\v{c}n\'ik}{ro\v{c}\adddot}},
- jourser = {{\v{r}ada}{\v{r}\adddot}},% m\r{u}\v{z}e b\'{a}t t\'{e}\v{z} s\'{e}rie, ale \v{r}ada zn\'{i} l\'{e}pe
+ jourvol = {{ro\v{c}n\'{\i}k}{ro\v{c}\adddot}},
+ jourser = {{\v{r}ada}{\v{r}\adddot}},% FIXME: s\'{e}rie ?
book = {{kniha}{kniha}},
part = {{\v{c}\'{a}st}{\v{c}\'{a}st}},
- issue = {{\v{c}\'{i}slo}{\v{c}\'{i}slo}},
- newseries = {{nov\'{a} \v{r}ada}{n. \v{r}ada\adddot}},% FIXME: unsure
- oldseries = {{star\'{a} \v{r}ada}{st. \v{r}ada\adddot}},
- edition = {{vyd\'{a}n\'{i}}{vyd\adddot}},
- reprint = {{reprint}{repr\adddot}},
- reprintof = {{reprint}{repr\adddotspace}},
- reprintas = {{reprintov\'{a}no jako}{repr\adddotspace jako}},
- reprintfrom = {{reprintov\'{a}no z}{repr\adddotspace z}},
- reviewof = {{review of}{rev\adddotspace of}},
- translationof = {{p\v{r}eklad}{p\v{r}ekl\adddotspace}},
+ issue = {{\v{c}\'{\i}slo}{\v{c}\'{\i}slo}},
+ newseries = {{nov\'{a} \v{r}ada}{n\adddotspace \v{r}ada\adddot}},% FIXME: unsure
+ oldseries = {{star\'{a} \v{r}ada}{st\adddotspace \v{r}ada\adddot}},
+ edition = {{vyd\'{a}n\'{\i}}{vyd\adddot}},
+ reprint = {{dotisk}{dotisk}},
+ reprintof = {{dotisk}{dotisk}},
+ reprintas = {{dotisknuto jako}{dotisknuto jako}},
+ reprintfrom = {{dotisknuto z\addnbspace}{dotisknuto z\addnbspace}},
+ reviewof = {{recenze}{recenz\adddot}},
+ translationof = {{p\v{r}eklad}{p\v{r}ekl\adddot}},
translationas = {{p\v{r}elo\v{z}eno jako}{p\v{r}el\adddotspace jako}},
- translationfrom = {{p\v{r}elo\v{z}eno z}{p\v{r}el\adddotspace}},
+ translationfrom = {{p\v{r}elo\v{z}eno z\addnbspace}{p\v{r}el\adddotspace z\addnbspace}},
origpubas = {{p\r{u}vodn\v{e} vyd\'{a}no jako}{p\r{u}v\adddotspace vyd\adddotspace jako}},
- origpubin = {{p\r{u}vodn\v{e} vyd\'{a}no v}{p\r{u}v\adddotspace vyd\adddotspace v}},
- astitle = {{jako}{as}},
- bypublisher = {{od}{od}},% nejist\'{e}
- nodate = {{n\adddot d\adddot}{n\adddot d\adddot}},%FIXME
+ origpubin = {{p\r{u}vodn\v{e} vyd\'{a}no v\addnbspace roce}{p\r{u}v\adddotspace vyd\adddotspace v\addnbspace r\adddot}},
+ astitle = {{jako}{jako}},
+ bypublisher = {{}{}},
+ nodate = {{nedatov\'{a}no}{b\adddot r\adddot}},% bez roku
page = {{strana}{s\adddot}},
pages = {{strany}{s\adddot}},
- column = {{sloupek}{sl\adddot}},% nebo sloupec?
+ column = {{sloupec}{sl\adddot}},
columns = {{sloupce}{sl\adddot}},
line = {{\v{r}\'{a}dek}{\v{r}\adddot}},
lines = {{\v{r}\'{a}dky}{\v{r}\adddot}},
@@ -313,46 +367,45 @@
sections = {{sekce}{\S\S}},
paragraph = {{odstavec}{ods\adddot}},
paragraphs = {{odstavce}{ods\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
- in = {{in}{in}},% Pouziti napriklad u sborniku nebo
- inseries = {{in}{in}},% casopisu, zni to lip new "v".
- % V pripade potreby pouzit lokalni lbx soubor
- ofseries = {{z}{z}},% taky prostor pro lokalni lbx
- number = {{\v{c}\'{i}slo}{\v{c}\adddot}},
+ pagetotal = {{strana}{s\adddot}},
+ pagetotals = {{strany}{s\adddot}},
+ columntotal = {{sloupec}{sl\adddot}},
+ columntotals = {{sloupce}{sl\adddot}},
+ linetotal = {{\v{r}\'{a}dek}{\v{r}\adddot}},
+ linetotals = {{\v{r}\'{a}dky}{\v{r}\adddot}},
+ versetotal = {{ver\v{s}}{v\adddot}},
+ versetotals = {{ver\v{s}e}{v\adddot}},
+ sectiontotal = {{sekce}{\S}},
+ sectiontotals = {{sekce}{\S\S}},
+ paragraphtotal = {{odstavec}{ods\adddot}},
+ paragraphtotals = {{odstavce}{ods\adddot}},
+ in = {{in}{in}},
+ inseries = {{in}{in}},
+ ofseries = {{z}{z}},
+ number = {{\v{c}\'{\i}slo}{\v{c}\adddot}},
chapter = {{kapitola}{kap\adddot}},
-% bathesis = {{}{}},% FIXME: missing
- mathesis = {{diplomov\'{a} pr\'{a}ce}{dipl\addabbrvspace}},
- phdthesis = {{diserta\v{c}n\'{i}\addabbrvspace pr\'{a}ce}{dis\addabbrvspace}},
- candthesis = {{kandid\'{a}tsk\'{a} pr\'{a}ce}{kand\adddotspace pr\adddotspace}},% mozna,
+ bathesis = {{bakal\'{a}\v{r}sk\'{a} pr\'{a}ce}{bak\adddotspace pr\adddot}},
+ mathesis = {{diplomov\'{a} pr\'{a}ce}{dipl\adddotspace pr\adddot}},
+ phdthesis = {{diserta\v{c}n\'{\i} pr\'{a}ce}{dis\adddotspace pr\adddot}},
+ candthesis = {{kandid\'{a}tsk\'{a} pr\'{a}ce}{kand\adddotspace pr\adddot}},% FIXME: unsure
resreport = {{v\'{y}zkumn\'{a} zpr\'{a}va}{v\'{y}zk\adddot\ zpr\adddot}},
techreport = {{technick\'{a} zpr\'{a}va}{tech\adddotspace zpr\adddot}},
- software = {{po\v{c}\'{i}ta\v{c}ov\'{y} software}{soft\adddot}},
+ software = {{po\v{c}\'{\i}ta\v{c}ov\'{y} software}{soft\adddot}},
datacd = {{CD-ROM}{CD-ROM}},
audiocd = {{audio CD}{audio CD}},
- version = {{verze}{ver\adddotspace}},
- url = {{dostupn\'y z WWW}{WWW}},
-% urlfrom = {{}{}},% FIXME: missing
- urlseen = {{citov\'ano}{cit\adddot}},
- inpreparation = {{v p\v{r}\'{i}prav\v{e}}{v p\v{r}\'{i}prav\v{e}}},
- submitted = {{odesl\'{a}no}{odes\adddotspace}},
- forthcoming = {{budouc\'{i}}{bud\adddotspace}},
- inpress = {{v tisku}{v tisku}},
- prepublished = {{p\v{r}ed publikov\'{a}n\'{i}m}{p\v{r}ed \adddotspace}},
- citedas = {{d\'{a}le citov\'{a}no jako}{d\'{a}le citov\'{a}no jako}},
+ version = {{verze}{ver\adddot}},
+ url = {{URL}{URL}},
+ urlfrom = {{dostupn\'{e} z\addnbspace}{dostupn\'{e} z\addnbspace}},
+ urlseen = {{citov\'{a}no}{cit\adddot}},
+ inpreparation = {{v\addnbspace p\v{r}\'{\i}prav\v{e}}{v\addnbspace p\v{r}\'{\i}prav\v{e}}},
+ submitted = {{odesl\'{a}no}{odesl\adddot}},
+ forthcoming = {{budouc\'{\i}}{bud\adddot}},
+ inpress = {{v\addnbspace tisku}{v\addnbspace tisku}},
+ prepublished = {{p\v{r}ed publikov\'{a}n\'{\i}m}{p\v{r}ed publ\adddot}},
+ citedas = {{d\'{a}le citov\'{a}no jako}{d\'{a}le cit\adddotspace jako}},
thiscite = {{zvl\'{a}\v{s}t\v{e}}{zvl\adddot}},
- seenote = {{viz pozn\'{a}mka}{viz poz\adddot}},
- quotedin = {{citov\'{a}no v}{cit\adddotspace v}},
+ seenote = {{viz pozn\'{a}mka}{viz pozn\adddot}},
+ quotedin = {{citov\'{a}no v\addnbspace}{cit\adddotspace v\addnbspace}},
idem = {{idem}{idem}},
idemsm = {{idem}{idem}},
idemsf = {{eadem}{eadem}},
@@ -370,105 +423,113 @@
passim = {{passim}{pass\adddot}},
see = {{viz}{viz}},
seealso = {{viz t\'{e}\v{z}}{viz t\'{e}\v{z}}},
- backrefpage = {{citov\'{a}no na stran\v{e}}{cit\adddotspace na s\adddot}},
+ backrefpage = {{citov\'{a}no na stran\v{e}}{cit\adddotspace na str\adddot}},
backrefpages = {{citov\'{a}no na stran\'{a}ch}{cit\adddotspace na s\adddot}},
- january = {{ledna}{led\adddot}},
- february = {{\'{u}nora}{\'{u}n\adddot}},
- march = {{b\v{r}ezna}{b\v{r}ez\adddot}},
- april = {{dubna}{dub\adddot}},
- may = {{kvetna}{kv\v{e}t\adddot}},
- june = {{\v{c}ervna}{\v{c}erv\adddot}},
- july = {{\v{c}ervence}{\v{c}vc}},
- august = {{srpna}{srp\adddot}},
- september = {{z\'{a}\v{r}\'{i}}{z\'{a}\v{r}\adddot}},
- october = {{\v{r}\'{i}jna}{\v{r}\'{i}j\adddot}},
- november = {{listopadu}{lis\adddot}},
- december = {{prosince}{pros\adddot}},
- langamerican = {{americk\'{a} angli\v{c}tina}{am\adddot angl\adddot}},
- langbrazilian = {{brazilsk\'{a} portugal\v{s}tina}{braz\adddot portugal\adddot}},
-% langbulgarian = {{}{}},% FIXME: missing
-% langcatalan = {{}{}},% FIXME: missing
+ january = {{leden}{led\adddot}},
+ february = {{\'{u}nor}{\'{u}n\adddot}},
+ march = {{b\v{r}ezen}{b\v{r}ez\adddot}},
+ april = {{duben}{dub\adddot}},
+ may = {{kv\v{e}ten}{kv\v{e}t\adddot}},
+ june = {{\v{c}erven}{\v{c}vn\adddot}},
+ july = {{\v{c}ervenec}{\v{c}vc\adddot}},
+ august = {{srpen}{srp\adddot}},
+ september = {{z\'{a}\v{r}\'{\i}}{z\'{a}\v{r}\adddot}},
+ october = {{\v{r}\'{\i}jen}{\v{r}\'{\i}j\adddot}},
+ november = {{listopad}{lis\adddot}},
+ december = {{prosinec}{pros\adddot}},
+ langamerican = {{americk\'{a} angli\v{c}tina}{am\adddot\ angl\adddot}},
+ langbrazilian = {{brazilsk\'{a} portugal\v{s}tina}{braz\adddot\ portugal\adddot}},
+ langbulgarian = {{bulhar\v{s}tina}{bulh\adddot}},
+ langcatalan = {{katal\'{a}n\v{s}tina}{katal\adddot}},
langcroatian = {{chorvat\v{s}tina}{chorv\adddot}},
-% langczech = {{}{}},% FIXME: missing
+ langczech = {{\v{c}e\v{s}tina}{\v{c}e\v{s}tina}},
langdanish = {{d\'{a}n\v{s}tina}{d\'{a}n\adddot}},
- langdutch = {{holand\v{s}tina}{hol.\adddot}},
+ langdutch = {{holand\v{s}tina}{hol\adddot}},
langenglish = {{angli\v{c}tina}{angl\adddot}},
-% langestonian = {{}{}},% FIXME: missing
+ langestonian = {{eston\v{s}tina}{est\adddot}},
langfinnish = {{fin\v{s}tina}{fin\adddot}},
langfrench = {{francouz\v{s}tina}{franc\adddot}},
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
+ langhungarian = {{ma\v{d}ar\v{s}tina}{ma\v{d}\adddot}},
langitalian = {{ital\v{s}tina}{ital\adddot}},
+ langjapanese = {{japon\v{s}tina}{jap\adddot}},
langlatin = {{latina}{lat\adddot}},
-% langlatvian = {{}{}},% FIXME: missing
- langnorwegian = {{nor\v{s}tina}{nor\v{s}\adddot}},
-% langpolish = {{}{}},% FIXME: missing
- langportuguese = {{portugal\v{s}tina}{port\adddot}},
-% langslovak = {{}{}},% FIXME: missing
-% langslovene = {{}{}},% FIXME: missing
+ langlatvian = {{loty\v{s}tina}{lot\adddot}},
+ langnorwegian = {{nor\v{s}tina}{nor\adddot}},
+ langpolish = {{pol\v{s}tina}{pol\adddot}},
+ langportuguese = {{portugal\v{s}tina}{portugal\adddot}},
+ langrussian = {{ru\v{s}tina}{ru\v{s}tina}},
+ langserbian = {{srb\v{s}tina}{srb\adddot}},
+ langslovak = {{sloven\v{s}tina}{sloven\v{s}tina}},
+ langslovene = {{slovin\v{s}tina}{slovin\v{s}tina}},
langspanish = {{\v{s}pan\v{e}l\v{s}tina}{\v{s}pa\v{n}\adddot}},
langswedish = {{\v{s}v\'{e}d\v{s}tina}{\v{s}v\'{e}d\adddot}},
- fromamerican = {{z americk\'{e} angli\v{c}tiny}{z amer\adddot angl\adddot}},
- frombrazilian = {{z brazilsk\'{e} portugal\v{s}tiny}{z braz\adddotspace port\adddot}},
-% frombulgarian = {{}{}},% FIXME: missing
-% fromcatalan = {{}{}},% FIXME: missing
- fromcroatian = {{z chorvat\v{s}tiny}{z chorv.}},
-% fromczech = {{}{}},% FIXME: missing
- fromdanish = {{z d\'{a}n\v{s}tiny}{z d\'{a}n\adddot}},
- fromdutch = {{z holand\v{s}tiny}{z hol\adddot}},
- fromenglish = {{z angli\v{c}tiny}{z angl\adddot}},
-% fromestonian = {{}{}},% FIXME: missing
- fromfinnish = {{z fin\v{s}tiny}{z fin.}},
- fromfrench = {{z francouz\v{s}tiny}{z franc\adddot}},
- 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
- fromnorwegian = {{z nor\v{s}tiny}{z nor\adddot}},
-% frompolish = {{}{}},% FIXME: missing
- fromportuguese = {{z portugal\v{s}tiny}{z portugal\v{s}tiny}},
-% fromslovak = {{}{}},% FIXME: missing
-% fromslovene = {{}{}},% FIXME: missing
+ langukrainian = {{ukrajin\v{s}tina}{ukr\adddot}},
+ fromamerican = {{z\addnbspace americk\'{e} angli\v{c}tiny}{z\addnbspace amer\adddot\ angl\adddot}},
+ frombrazilian = {{z\addnbspace brazilsk\'{e} portugal\v{s}tiny}{z\addnbspace braz\adddotspace portugal\adddot}},
+ frombulgarian = {{z\addnbspace bulhar\v{s}tiny}{z\addnbspace bulh\adddot}},
+ fromcatalan = {{z\addnbspace katal\'{a}n\v{s}tiny}{z\addnbspace katal\adddot}},
+ fromcroatian = {{z\addnbspace chorvat\v{s}tiny}{z\addnbspace chorv\adddot}},
+ fromczech = {{z\addnbspace \v{c}e\v{s}tiny}{z\addnbspace \v{c}e\v{s}tiny}},
+ fromdanish = {{z\addnbspace d\'{a}n\v{s}tiny}{z\addnbspace d\'{a}n\adddot}},
+ fromdutch = {{z\addnbspace holand\v{s}tiny}{z\addnbspace hol\adddot}},
+ fromenglish = {{z\addnbspace angli\v{c}tiny}{z\addnbspace angl\adddot}},
+ fromestonian = {{z\addnbspace eston\v{s}tiny}{z\addnbspace est\adddot}},
+ fromfinnish = {{z\addnbspace fin\v{s}tiny}{z\addnbspace fin\adddot}},
+ fromfrench = {{z\addnbspace francouz\v{s}tiny}{z\addnbspace franc\adddot}},
+ fromgalician = {{z\addnbspace galicij\v{s}tiny}{z\addnbspace gal\adddot}},
+ fromgerman = {{z\addnbspace n\v{e}m\v{c}iny}{z\addnbspace n\v{e}m\adddot}},
+ fromgreek = {{z\addnbspace \v{r}e\v{c}tiny}{z\addnbspace \v{r}e\v{c}\adddot}},
+ fromhungarian = {{z\addnbspace ma\v{d}ar\v{s}tiny}{z\addnbspace ma\v{d}\adddot}},
+ fromitalian = {{z\addnbspace ital\v{s}tiny}{z\addnbspace ital\adddot}},
+ fromjapanese = {{z\addnbspace japon\v{s}tiny}{z\addnbspace jap\adddot}},
+ fromlatin = {{z\addnbspace latiny}{z\addnbspace lat\adddot}},
+ fromlatvian = {{z\addnbspace loty\v{s}tiny}{z\addnbspace lot\adddot}},
+ fromnorwegian = {{z\addnbspace nor\v{s}tiny}{z\addnbspace nor\adddot}},
+ frompolish = {{z\addnbspace pol\v{s}tiny}{z\addnbspace pol\adddot}},
+ fromportuguese = {{z\addnbspace portugal\v{s}tiny}{z\addnbspace portugal\adddot}},
+ fromrussian = {{z\addnbspace ru\v{s}tiny}{z\addnbspace ru\v{s}tiny}},
+ fromserbian = {{zo srb\v{s}tiny}{zo srb\adddot}},
+ fromslovak = {{ze sloven\v{s}tiny}{ze sloven\v{s}tiny}},
+ fromslovene = {{ze slovin\v{s}tiny}{ze slovin\v{s}tiny}},
fromspanish = {{ze \v{s}pan\v{e}l\v{s}tiny}{ze \v{s}pa\v{n}\adddot}},
fromswedish = {{ze \v{s}v\'{e}d\v{s}tiny}{ze \v{s}v\'{e}d\adddot}},
+ fromukrainian = {{z\addnbspace ukrajin\v{s}tiny}{z\addnbspace ukr\adddot}},
countryde = {{N\v{e}mecko}{DE}},
countryeu = {{Evropsk\'{a} unie}{EU}},
countryep = {{Evropsk\'{a} unie}{EP}},
countryfr = {{Francie}{FR}},
countryuk = {{Velk\'{a} Brit\'{a}nie}{GB}},
- countryus = {{Spojen\'{e} St\'{a}ty Americk\'{e}}{US}},
+ countryus = {{Spojen\'{e} st\'{a}ty americk\'{e}}{US}},
patent = {{patent}{pat\adddot}},
patentde = {{n\v{e}meck\'{y} patent}{n\v{e}m\adddot\ pat\adddot}},
patenteu = {{evropsk\'{y} patent}{evr\adddot\ pat\adddot}},
patentfr = {{francouzsk\'{y} patent}{franc\adddot\ pat\adddot}},
- patentuk = {{britsk\'{y} patent}{britsk\'{y} pat\adddot}},
- patentus = {{americk\'{y} patent}{US\adddotspace pat\adddot}},
+ patentuk = {{britsk\'{y} patent}{brit\adddot\ pat\adddot}},
+ patentus = {{US patent}{US pat\adddot}},
patreq = {{patentov\'{a} \v{z}\'{a}dost}{pat\adddot\ \v{z}\'{a}d\adddot}},
patreqde = {{n\v{e}meck\'{a} patentov\'{a} \v{z}\'{a}dost}{n\v{e}meck\'{a} pat\adddot\ \v{z}\'{a}d\adddot}},
- patreqeu = {{evropsk\'{a} patentov\'{a} \v{z}\'{a}dost}{ev\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}},
+ patreqeu = {{evropsk\'{a} patentov\'{a} \v{z}\'{a}dost}{evr\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}},
patreqfr = {{francouzsk\'{a} patentov\'{a} \v{z}\'{a}dost}{franc\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}},
patrequk = {{britsk\'{a} patentov\'{a} \v{z}\'{a}dost}{brit\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}},
- patrequs = {{US\adddotspace patentov\'{a} \v{z}\'{a}dost}{US\adddotspace pat\adddot\ \v{z}\'{a}d\adddot}},
+ patrequs = {{US patentov\'{a} \v{z}\'{a}dost}{US pat\adddot\ \v{z}\'{a}d\adddot}},
file = {{soubor}{soub\adddot}},
library = {{knihovna}{knih\adddot}},
abstract = {{abstrakt}{abst\adddot}},
annotation = {{anotace}{anot\adddot}},
-% commonera = {{}{}},
-% beforecommonera = {{}{}},
- annodomini = {{n\adddotspace l\adddot}{n\adddotspace l\adddot}},
- beforechrist = {{p\v{r}\adddotspace n\adddotspace l\adddot}{p\v{r}\adddotspace n\adddotspace l\adddot}},
-% circa = {{}{}},% FIXME: missing
-% spring = {{}{}},% FIXME: missing
-% summer = {{}{}},% FIXME: missing
-% autumn = {{}{}},% FIXME: missing
-% winter = {{}{}},% FIXME: missing
- am = {{dop\adddot}{dop\adddot}},
- pm = {{odp\adddot}{odp\adddot}},
+ commonera = {{n\'{a}\v{s} letopo\v{c}et}{n\adddotspace l\adddot}},
+ beforecommonera = {{p\v{r}ed na\v{s}\'{\i}m letopo\v{c}tem}{p\v{r}\adddotspace n\adddotspace l\adddot}},
+ annodomini = {{po Kristu}{po Kr\adddot}},
+ beforechrist = {{p\v{r}ed Kristem}{p\v{r}\adddotspace Kr\adddot}},
+ circa = {{cirka}{ca\adddot}},
+ spring = {{jaro}{jaro}},
+ summer = {{l\'{e}to}{l\'{e}to}},
+ autumn = {{podzim}{podzim}},
+ winter = {{zima}{zima}},
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
index 2c57242bd92..2b360a0c0ca 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
@@ -36,13 +36,17 @@
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -245,7 +249,7 @@
byreviewer = {{bed\o mt af}{bed\adddotspace af}},
byfounder = {{stiftet af}{stiftet af}},
bycontinuator = {{videref\o rt af}{videref\adddotspace af}},
- bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddotspace}},
+ bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddot}},
bytranslator = {{oversat \lbx@lfromlang\ af}%
{overs\adddot \lbx@sfromlang\ af}},
bycommentator = {{kommenteret af}{komm\adddot\ af}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
index 6d6822fd729..880c0643dc3 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
@@ -57,13 +57,17 @@
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -474,14 +478,17 @@
langjapanese = {{Japaans}{Japaans}},
langlatin = {{Latijn}{Latijn}},
langlatvian = {{Lets}{Lets}},
+ langlithuanian = {{Litouws}{Litouws}},
langnorwegian = {{Noors}{Noors}},
langpolish = {{Pools}{Pools}},
langportuguese = {{Portugees}{Portugees}},
langrussian = {{Russisch}{Russisch}},
+ langserbian = {{Servisch}{Servisch}},
langslovak = {{Slowaaks}{Slowaaks}},% FIXME: or Slovaaks
langslovene = {{Sloveens}{Sloveens}},
langspanish = {{Spaans}{Spaans}},
langswedish = {{Zweeds}{Zweeds}},
+ langturkish = {{Turks}{Turks}},
langukrainian = {{Oekra\"iens}{Oekra\"iens}},
fromamerican = {{uit het Amerikaans Engels}{uit het Amerikaans Engels}},
frombrazilian = {{uit het Braziliaans Portugees}{uit het Braziliaans Portugees}},
@@ -503,14 +510,17 @@
fromjapanese = {{uit het Japaans}{uit het Japaans}},
fromlatin = {{uit het Latijn}{uit het Latijn}},
fromlatvian = {{uit het Lets}{uit het Lets}},
+ fromlithuanian = {{uit het Litouws}{uit het Litouws}},
fromnorwegian = {{uit het Noors}{uit het Noors}},
frompolish = {{uit het Pools}{uit het Pools}},
fromportuguese = {{uit het Portugees}{uit het Portugees}},
fromrussian = {{uit het Russisch}{uit het Russisch}},
+ fromserbian = {{uit het Servisch}{uit het Servisch}},
fromslovak = {{uit het Slowaaks}{uit het Slowaaks}},% FIXME: or Slovaaks
fromslovene = {{uit het Sloveens}{uit het Sloveens}},
fromspanish = {{uit het Spaans}{uit het Spaans}},
fromswedish = {{uit het Zweeds}{uit het Zweeds}},
+ fromturkish = {{uit het Turks}{uit het Turks}},
fromukrainian = {{uit het Oekra\"iens}{uit het Oekra\"iens}},
countryde = {{Duitsland}{DE}},
countryeu = {{Europese Unie}{EU}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
index 109014dafb3..1ade8c7f814 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
@@ -50,13 +50,17 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -329,11 +333,11 @@ canadian,australian,newzealand,USenglish,UKenglish}
byeditortrcoaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an afterword, by}%
{ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm., with an afterw., by}},
byeditortranin = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an introduction, by}%
- {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot, with an introd., by}},
+ {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot., with an introd., by}},
byeditortranfo = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with a foreword, by}%
- {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot, with a forew., by}},
+ {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot., with a forew., by}},
byeditortranaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an afterword, by}%
- {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot, with an afterw., by}},
+ {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot., with an afterw., by}},
bytranslatorco = {{translated \lbx@lfromlang\ and commented by}%
{trans\adddot\ \lbx@sfromlang\ and comm\adddot\ by}},
bytranslatoran = {{translated \lbx@lfromlang\ and annotated by}%
@@ -485,14 +489,17 @@ canadian,australian,newzealand,USenglish,UKenglish}
langjapanese = {{Japanese}{Japanese}},
langlatin = {{Latin}{Latin}},
langlatvian = {{Latvian}{Latvian}},
+ langlithuanian = {{Lithuanian}{Lithuanian}},
langnorwegian = {{Norwegian}{Norwegian}},
langpolish = {{Polish}{Polish}},
langportuguese = {{Portuguese}{Portuguese}},
langrussian = {{Russian}{Russian}},
+ langserbian = {{Serbian}{Serbian}},
langslovak = {{Slovak}{Slovak}},
langslovene = {{Slovene}{Slovene}},
langspanish = {{Spanish}{Spanish}},
langswedish = {{Swedish}{Swedish}},
+ langturkish = {{Turkish}{Turkish}},
langukrainian = {{Ukrainian}{Ukrainian}},
fromamerican = {{from the American}{from the American}},
frombrazilian = {{from the Brazilian}{from the Brazilian}},
@@ -514,14 +521,17 @@ canadian,australian,newzealand,USenglish,UKenglish}
fromjapanese = {{from the Japanese}{from the Japanese}},
fromlatin = {{from the Latin}{from the Latin}},
fromlatvian = {{from the Latvian}{from the Latvian}},
+ fromlithuanian = {{from the Lithuanian}{from the Lithuanian}},
fromnorwegian = {{from the Norwegian}{from the Norwegian}},
frompolish = {{from the Polish}{from the Polish}},
fromportuguese = {{from the Portuguese}{from the Portuguese}},
fromrussian = {{from the Russian}{from the Russian}},
+ fromserbian = {{from the Serbian}{from the Serbian}},
fromslovak = {{from the Slovak}{from the Slovak}},
fromslovene = {{from the Slovene}{from the Slovene}},
fromspanish = {{from the Spanish}{from the Spanish}},
fromswedish = {{from the Swedish}{from the Swedish}},
+ fromturkish = {{from the Turkish}{from the Turkish}},
fromukrainian = {{from the Ukrainian}{from the Ukrainian}},
countryde = {{Germany}{DE}},
countryeu = {{European Union}{EU}},
@@ -568,7 +578,7 @@ canadian,australian,newzealand,USenglish,UKenglish}
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\ifdateyearsequal{#2}{#2end}
@@ -607,7 +617,7 @@ canadian,australian,newzealand,USenglish,UKenglish}
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\ifdateyearsequal{#2}{#2end}
@@ -637,12 +647,12 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\mkdaterangefullextra{#1}{#2}}
{\lbx@us@mkdaterangetruncextra@long@i{#1}{#2}}}
-\protected\gdef\lbx@us@mkdaterangetruncextra@long#1#2{%
+\protected\gdef\lbx@us@mkdaterangetruncextra@long@i#1#2{%
\begingroup
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\ifdateyearsequal{#2}{#2end}
@@ -678,12 +688,12 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\mkdaterangefullextra{#1}{#2}}
{\lbx@us@mkdaterangetruncextra@short@i{#1}{#2}}}
-\protected\gdef\lbx@us@mkdaterangetruncextra@short#1#2{%
+\protected\gdef\lbx@us@mkdaterangetruncextra@short@i#1#2{%
\begingroup
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\ifdateyearsequal{#2}{#2end}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
index 2b0b32f1152..07b58d529de 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
@@ -56,17 +56,22 @@
{\printlist[sfromoriglanguage]{origlanguage}\space}}%
\savebibmacro{in:}%
\renewbibmacro{in:}{%
- \iffieldequalstr{entrytype}{article}
+ \ifentrytype{article}
{}
- {\printtext{\bibstring{in}\intitlepunct}}}%
+ {\bibstring{in}%
+ \printunit{\intitlepunct}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -276,7 +281,7 @@
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}},
+ bytranslator = {{\lbx@lfromlang t\~{o}lkinud}{\lbx@sfromlang t\~{o}lk\adddot}},
bycommentator = {{kommenteerinud}{kommenteerinud}},
byannotator = {{kommenteerinud}{kommenteerinud}},% FIXME: unsure
withcommentator = {{koos kommentaaridega}{koos kommentaaridega}},% FIXME: commentator name should be in the middle
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
index 372b537d97d..99db65676da 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
@@ -75,17 +75,22 @@
{\printlist[sfromoriglanguage]{origlanguage}\space}}%
\savebibmacro{in:}%
\renewbibmacro{in:}{%
- \iffieldequalstr{entrytype}{article}
+ \ifentrytype{article}
{}
- {\printtext{\bibstring{in}\intitlepunct}}}%
+ {\bibstring{in}%
+ \printunit{\intitlepunct}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
index 31f436e1dfb..d2e441b66ea 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
@@ -1,8 +1,6 @@
\ProvidesFile{french.lbx}
[\abx@lbxid]
-% Translations by non-native speaker: this file needs an overhaul!
-
\DeclareRedundantLanguages{french}{french}
\DeclareBibliographyExtras{%
@@ -66,13 +64,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -110,7 +112,7 @@
\DeclareBibliographyStrings{%
bibliography = {{Bibliographie}{Bibliographie}},
references = {{R\'ef\'erences}{R\'ef\'erences}},
- shorthands = {{Liste des sigles}{Sigles}},
+ shorthands = {{Liste des abr\'eviations}{Abr\'eviations}},
editor = {{\'editeur}{\'ed\adddot}},
editors = {{\'editeurs}{\'ed\adddot}},
compiler = {{compilateur}{comp\adddot}},
@@ -150,13 +152,13 @@
{\'ed\adddotspace et introd\adddot}},
editorsin = {{\'editeurs et introduction}%
{\'ed\adddotspace et introd\adddot}},
- editorfo = {{\'editeur et pr\'efacier}%
+ editorfo = {{\'editeur et pr\'eface}%
{\'ed\adddotspace et pr\'ef\adddot}},
- editorsfo = {{\'editeurs et pr\'efaciers}%
+ editorsfo = {{\'editeurs et pr\'eface}%
{\'ed\adddotspace et pr\'ef\adddot}},
- editoraf = {{\'editeur et postfacier}%
+ editoraf = {{\'editeur et postface}%
{\'ed\adddotspace et postf\adddot}},
- editorsaf = {{\'editeurs et postfaciers}%
+ editorsaf = {{\'editeurs et postface}%
{\'ed\adddotspace et postf\adddot}},
editortrco = {{\'editeur, traducteur et commentateur}%
{\'ed.,\addabbrvspace trad\adddotspace et comm\adddot}},
@@ -170,61 +172,61 @@
{\'ed.,\addabbrvspace trad\adddotspace et introd\adddot}},
editorstrin = {{\'editeurs, traducteurs et introduction}%
{\'ed.,\addabbrvspace trad\adddotspace et introd\adddot}},
- editortrfo = {{\'editeur, traducteur et pr\'efacier}%
+ editortrfo = {{\'editeur, traducteur et pr\'eface}%
{\'ed.,\addabbrvspace trad\adddotspace et pr\'ef\adddot}},
- editorstrfo = {{\'editeurs, traducteurs et pr\'efaciers}%
+ editorstrfo = {{\'editeurs, traducteurs et pr\'eface}%
{\'ed.,\addabbrvspace trad\adddotspace et pr\'ef\adddot}},
- editortraf = {{\'editeur, traducteur et postfacier}%
+ editortraf = {{\'editeur, traducteur et postface}%
{\'ed.,\addabbrvspace trad\adddotspace et postf\adddot}},
- editorstraf = {{\'editeurs, traducteurs et postfaciers}%
+ editorstraf = {{\'editeurs, traducteurs et postface}%
{\'ed.,\addabbrvspace trad\adddot et postf\adddot}},
editorcoin = {{\'editeur, commentateur et introduction}%
{\'ed.,\addabbrvspace comm\adddotspace et introd\adddot}},
editorscoin = {{\'editeurs, commentateurs et introduction}%
{\'ed.,\addabbrvspace comm\adddotspace et introd\adddot}},
- editorcofo = {{\'editeur, commentateur et pr\'efacier}%
+ editorcofo = {{\'editeur, commentateur et pr\'eface}%
{\'ed.,\addabbrvspace comm\adddotspace et pr\'ef\adddot}},
- editorscofo = {{\'editeurs, commentateurs et pr\'efaciers}%
+ editorscofo = {{\'editeurs, commentateurs et pr\'eface}%
{\'ed.,\addabbrvspace comm\adddotspace et pr\'ef\adddot}},
- editorcoaf = {{\'editeur, commentateur et postfacier}%
+ editorcoaf = {{\'editeur, commentateur et postface}%
{\'ed.,\addabbrvspace comm\adddotspace et postf\adddot}},
- editorscoaf = {{\'editeurs, commentateurs et postfaciers}%
+ editorscoaf = {{\'editeurs, commentateurs et postface}%
{\'ed.,\addabbrvspace comm\adddotspace et postf\adddot}},
editoranin = {{\'editeur, annotateur et introduction}%
{\'ed.,\addabbrvspace annot\adddotspace et introd\adddot}},
editorsanin = {{\'editeurs, annotateurs et introduction}%
{\'ed.,\addabbrvspace annot\adddotspace et introd\adddot}},
- editoranfo = {{\'editeur, annotateur et pr\'efacier}%
+ editoranfo = {{\'editeur, annotateur et pr\'eface}%
{\'ed.,\addabbrvspace annot\adddotspace et pr\'ef\adddot}},
- editorsanfo = {{\'editeurs, annotateurs et pr\'efaciers}%
+ editorsanfo = {{\'editeurs, annotateurs et pr\'eface}%
{\'ed.,\addabbrvspace annot\adddotspace et pr\'ef\adddot}},
- editoranaf = {{\'editeur, annotateur et postfacier}%
+ editoranaf = {{\'editeur, annotateur et postface}%
{\'ed.,\addabbrvspace annot\adddotspace et postf\adddot}},
- editorsanaf = {{\'editeurs, annotateurs et postfaciers}%
+ editorsanaf = {{\'editeurs, annotateurs et postface}%
{\'ed.,\addabbrvspace annot\adddotspace et postf\adddot}},
editortrcoin = {{\'editeur, traducteur, commentateur et introduction}%
{\'ed.,\addabbrvspace trad., comm\adddotspace et introd\adddot}},
editorstrcoin = {{\'editeurs, traducteurs, commentateurs et introduction}%
{\'ed.,\addabbrvspace trad., comm\adddotspace et introd\adddot}},
- editortrcofo = {{\'editeur, traducteur, commentateur et pr\'efacier}%
+ editortrcofo = {{\'editeur, traducteur, commentateur et pr\'eface}%
{\'ed.,\addabbrvspace trad., comm\adddotspace et pr\'ef\adddot}},
- editorstrcofo = {{\'editeurs, traducteurs, commentateurs et pr\'efaciers}%
+ editorstrcofo = {{\'editeurs, traducteurs, commentateurs et pr\'eface}%
{\'ed.,\addabbrvspace trad., comm\adddotspace et pr\'ef\adddot}},
- editortrcoaf = {{\'editeur, traducteur, commentateur et postfacier}%
+ editortrcoaf = {{\'editeur, traducteur, commentateur et postface}%
{\'ed.,\addabbrvspace trad., comm\adddotspace et postf\adddot}},
- editorstrcoaf = {{\'editeurs, traducteurs, commentateurs et postfaciers}%
+ editorstrcoaf = {{\'editeurs, traducteurs, commentateurs et postface}%
{\'ed.,\addabbrvspace trad., comm\adddotspace et postf\adddot}},
editortranin = {{\'editeur, traducteur, annotateur et introduction}%
{\'ed.,\addabbrvspace trad., annot\adddotspace et introd\adddot}},
editorstranin = {{\'editeurs, traducteurs, annotateurs et introduction}%
{\'ed.,\addabbrvspace trad., annot\adddotspace et introd\adddot}},
- editortranfo = {{\'editeur, traducteur, annotateur et pr\'efacier}%
+ editortranfo = {{\'editeur, traducteur, annotateur et pr\'eface}%
{\'ed.,\addabbrvspace trad., annot\adddotspace et pr\'ef\adddot}},
- editorstranfo = {{\'editeurs, traducteurs, annotateurs et pr\'efaciers}%
+ editorstranfo = {{\'editeurs, traducteurs, annotateurs et pr\'eface}%
{\'ed.,\addabbrvspace trad., annot\adddotspace et pr\'ef\adddot}},
- editortranaf = {{\'editeur, traducteur, annotateur et postfacier}%
+ editortranaf = {{\'editeur, traducteur, annotateur et postface}%
{\'ed.,\addabbrvspace trad., annot\adddotspace et postf\adddot}},
- editorstranaf = {{\'editeurs, traducteurs, annotateurs et postfaciers}%
+ editorstranaf = {{\'editeurs, traducteurs, annotateurs et postface}%
{\'ed.,\addabbrvspace trad., annot\adddotspace et postf\adddot}},
translatorco = {{traducteur et commentateur}%
{trad\adddotspace et comm\adddot}},
@@ -385,7 +387,7 @@
origpubin = {{publi\'e \`a l'origine en}{pub\adddotspace \`a l'orig\adddotspace en}},
astitle = {{sous le titre}{sous le titre}},
bypublisher = {{par}{par}},
- nodate = {{pas\space de\space date}{{}p\adddotspace d\adddot}},
+ nodate = {{sans\space date}{{}s\adddotspace d\adddot}},
page = {{page}{p\adddot}},
pages = {{pages}{p\adddot}},
column = {{colonne}{col\adddot}},
@@ -394,10 +396,10 @@
lines = {{lignes}{l\adddot}},
verse = {{vers}{v\adddot}},
verses = {{vers}{v\adddot}},
- section = {{section}{\S}},
- sections = {{sections}{\S}},
- paragraph = {{paragraphe}{par\adddot}},
- paragraphs = {{paragraphes}{par\adddot}},
+ section = {{section}{sect\adddot}},
+ sections = {{sections}{sect\adddot}},
+ paragraph = {{paragraphe}{\S}},
+ paragraphs = {{paragraphes}{\S}},
pagetotal = {{page}{p\adddot}},
pagetotals = {{pages}{p\adddot}},
columntotal = {{colonne}{col\adddot}},
@@ -406,10 +408,10 @@
linetotals = {{lignes}{l\adddot}},
versetotal = {{vers}{v\adddot}},
versetotals = {{vers}{v\adddot}},
- sectiontotal = {{section}{\S}},
- sectiontotals = {{sections}{\S}},
- paragraphtotal = {{paragraphe}{par\adddot}},
- paragraphtotals = {{paragraphes}{par\adddot}},
+ sectiontotal = {{section}{sect\adddot}},
+ sectiontotals = {{sections}{sect\adddot}},
+ paragraphtotal = {{paragraphe}{\S}},
+ paragraphtotals = {{paragraphes}{\S}},
in = {{in}{in}},
inseries = {{in}{in}},
ofseries = {{de}{de}},
@@ -458,11 +460,11 @@
backrefpages = {{cf\adddotspace pages}{cf\adddotspace p\adddot}},
january = {{janvier}{jan\adddot}},
february = {{f\'evrier}{f\'ev\adddot}},
- march = {{mars}{mar\adddot}},
+ march = {{mars}{mars}},
april = {{avril}{avr\adddot}},
may = {{mai}{mai}},
june = {{juin}{juin}},
- july = {{juillet}{juil\adddot}},
+ july = {{juillet}{juill\adddot}},
august = {{ao\^ut}{ao\^ut}},
september = {{septembre}{sept\adddot}},
october = {{octobre}{oct\adddot}},
@@ -492,6 +494,7 @@
langpolish = {{polonais}{polonais}},
langportuguese = {{portugais}{portugais}},
langrussian = {{russe}{russe}},
+ langserbian = {{serbe}{serbe}},
langslovak = {{slovaque}{slovaque}},
langslovene = {{slov\`ene}{slov\`ene}},
langspanish = {{espagnol}{espagnol}},
@@ -521,6 +524,7 @@
frompolish = {{du polonais}{du polonais}},
fromportuguese = {{du portugais}{du portugais}},
fromrussian = {{du russe}{du russe}},
+ fromserbian = {{du serbe}{du serbe}},
fromslovak = {{du slovaque}{du slovaque}},
fromslovene = {{du slov\`ene}{du slov\`ene}},
fromspanish = {{de l'espagnol}{de l'espagnol}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
index 5cd3085e00f..293fe87520d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
@@ -43,13 +43,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -426,7 +430,7 @@ nodate = {{sen data}{s\adddot d\adddot}},
sequens = {{sq\adddot}{sq\adddot}},
sequentes = {{sqq\adddot}{sqq\adddot}},
passim = {{p\'assim}{p\'ass\adddot}},
- see = {{v\'exase}{vid\adddotspace}},
+ see = {{v\'exase}{vid\adddot}},
seealso = {{v\'exase tam\'en}{vid\adddotspace tam\'en}},
backrefpage = {{v\'exase p\'axina}{vid\adddotspace p\adddot}},
backrefpages = {{v\'exanse p\'axinas}{vid\adddotspace pp\adddot}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
index d133f04c530..3aba7d6739c 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
@@ -50,13 +50,17 @@
{}
{\printlist[sfromoriglanguage]{origlanguage}\space}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -118,141 +122,141 @@
foreword = {{Vorwort}{Vorw\adddot}},
afterword = {{Nachwort}{Nachw\adddot}},
editortr = {{Herausgeber und \"Ubersetzer}%
- {Hrsg\adddot\ und \"Ubers\adddot}},
+ {Hrsg\adddotspace und \"Ubers\adddot}},
editorstr = {{Herausgeber und \"Ubersetzer}%
- {Hrsg\adddot\ und \"Ubers\adddot}},
+ {Hrsg\adddotspace und \"Ubers\adddot}},
editorco = {{Herausgeber und Kommentator}%
- {Hrsg\adddot\ und Komm\adddot}},
+ {Hrsg\adddotspace und Komm\adddot}},
editorsco = {{Herausgeber und Kommentatoren}%
- {Hrsg\adddot\ und Komm\adddot}},
+ {Hrsg\adddotspace und Komm\adddot}},
editoran = {{Herausgeber und Kommentator}%
- {Hrsg\adddot\ und Komm\adddot}},
+ {Hrsg\adddotspace und Komm\adddot}},
editorsan = {{Herausgeber und Kommentatoren}%
- {Hrsg\adddot\ und Komm\adddot}},
+ {Hrsg\adddotspace und Komm\adddot}},
editorin = {{Herausgabe und Einleitung}%
- {Hrsg\adddot\ und Einl\adddot}},
+ {Hrsg\adddotspace und Einl\adddot}},
editorsin = {{Herausgeber und Einleitung}%
- {Hrsg\adddot\ und Einl\adddot}},
+ {Hrsg\adddotspace und Einl\adddot}},
editorfo = {{Herausgeber und Vorwort}%
- {Hrsg\adddot\ und Vorw\adddot}},
+ {Hrsg\adddotspace und Vorw\adddot}},
editorsfo = {{Herausgabe und Vorwort}%
- {Hrsg\adddot\ und Vorw\adddot}},
+ {Hrsg\adddotspace und Vorw\adddot}},
editoraf = {{Herausgabe und Nachwort}%
- {Hrsg\adddot\ und Nachw\adddot}},
+ {Hrsg\adddotspace und Nachw\adddot}},
editorsaf = {{Herausgabe und Nachwort}%
- {Hrsg\adddot\ und Nachw\adddot}},
+ {Hrsg\adddotspace und Nachw\adddot}},
editortrco = {{Herausgeber, \"Ubersetzer und Kommentator}%
- {Hrsg., \"Ubers\adddot\ und Komm\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Komm\adddot}},
editorstrco = {{Herausgeber, \"Ubersetzer und Kommentatoren}%
- {Hrsg., \"Ubers\adddot\ und Komm\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Komm\adddot}},
editortran = {{Herausgeber, \"Ubersetzer und Kommentator}%
- {Hrsg., \"Ubers\adddot\ und Komm\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Komm\adddot}},
editorstran = {{Herausgeber, \"Ubersetzer und Kommentatoren}%
- {Hrsg., \"Ubers\adddot\ und Komm\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Komm\adddot}},
editortrin = {{Herausgabe, \"Ubersetzung und Einleitung}%
- {Hrsg., \"Ubers\adddot\ und Einl\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Einl\adddot}},
editorstrin = {{Herausgabe, \"Ubersetzung und Einleitung}%
- {Hrsg., \"Ubers\adddot\ und Einl\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Einl\adddot}},
editortrfo = {{Herausgabe, \"Ubersetzung und Vorwort}%
- {Hrsg., \"Ubers\adddot\ und Vorw\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Vorw\adddot}},
editorstrfo = {{Herausgabe, \"Ubersetzung und Vorwort}%
- {Hrsg., \"Ubers\adddot\ und Vorw\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Vorw\adddot}},
editortraf = {{Herausgabe, \"Ubersetzung und Nachwort}%
- {Hrsg., \"Ubers\adddot\ und Nachw\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Nachw\adddot}},
editorstraf = {{Herausgabe, \"Ubersetzung und Nachwort}%
- {Hrsg., \"Ubers\adddot\ und Nachw\adddot}},
+ {Hrsg., \"Ubers\adddotspace und Nachw\adddot}},
editorcoin = {{Herausgabe, Kommentar und Einleitung}%
- {Hrsg., Komm\adddot\ und Einl\adddot}},
+ {Hrsg., Komm\adddotspace und Einl\adddot}},
editorscoin = {{Herausgabe, Kommentar und Einleitung}%
- {Hrsg., Komm\adddot\ und Einl\adddot}},
+ {Hrsg., Komm\adddotspace und Einl\adddot}},
editorcofo = {{Herausgabe, Kommentar und Vorwort}%
- {Hrsg., Komm\adddot\ und Vorw\adddot}},
+ {Hrsg., Komm\adddotspace und Vorw\adddot}},
editorscofo = {{Herausgabe, Kommentar und Vorwort}%
- {Hrsg., Komm\adddot\ und Vorw\adddot}},
+ {Hrsg., Komm\adddotspace und Vorw\adddot}},
editorcoaf = {{Herausgabe, Kommentar und Nachwort}%
- {Hrsg., Komm\adddot\ und Nachw\adddot}},
+ {Hrsg., Komm\adddotspace und Nachw\adddot}},
editorscoaf = {{Herausgabe, Kommentar und Nachwort}%
- {Hrsg., Komm\adddot\ und Nachw\adddot}},
+ {Hrsg., Komm\adddotspace und Nachw\adddot}},
editoranin = {{Herausgabe, Erl\"auterungen und Einleitung}%
- {Hrsg., Erl\"aut\adddot\ und Einl\adddot}},
+ {Hrsg., Erl\"aut\adddotspace und Einl\adddot}},
editorsanin = {{Herausgabe, Erl\"auterungen und Einleitung}%
- {Hrsg., Erl\"aut\adddot\ und Einl\adddot}},
+ {Hrsg., Erl\"aut\adddotspace und Einl\adddot}},
editoranfo = {{Herausgabe, Erl\"auterungen und Vorwort}%
- {Hrsg., Erl\"aut\adddot\ und Vorw\adddot}},
+ {Hrsg., Erl\"aut\adddotspace und Vorw\adddot}},
editorsanfo = {{Herausgabe, Erl\"auterungen und Vorwort}%
- {Hrsg., Erl\"aut\adddot\ und Vorw\adddot}},
+ {Hrsg., Erl\"aut\adddotspace und Vorw\adddot}},
editoranaf = {{Herausgabe, Erl\"auterungen und Nachwort}%
- {Hrsg., Erl\"aut\adddot\ und Nachw\adddot}},
+ {Hrsg., Erl\"aut\adddotspace und Nachw\adddot}},
editorsanaf = {{Herausgabe, Erl\"auterungen und Nachwort}%
- {Hrsg., Erl\"aut\adddot\ und Nachw\adddot}},
+ {Hrsg., Erl\"aut\adddotspace und Nachw\adddot}},
editortrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}%
- {Hrsg., \"Ubers., Komm\adddot\ und Einl\adddot}},
+ {Hrsg., \"Ubers., Komm\adddotspace und Einl\adddot}},
editorstrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}%
- {Hrsg., \"Ubers., Komm\adddot\ und Einl\adddot}},
+ {Hrsg., \"Ubers., Komm\adddotspace und Einl\adddot}},
editortrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}%
- {Hrsg., \"Ubers., Komm\adddot\ und Vorw\adddot}},
+ {Hrsg., \"Ubers., Komm\adddotspace und Vorw\adddot}},
editorstrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}%
- {Hrsg., \"Ubers., Komm\adddot\ und Vorw\adddot}},
+ {Hrsg., \"Ubers., Komm\adddotspace und Vorw\adddot}},
editortrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}%
- {Hrsg., \"Ubers., Komm\adddot\ und Nachw\adddot}},
+ {Hrsg., \"Ubers., Komm\adddotspace und Nachw\adddot}},
editorstrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}%
- {Hrsg., \"Ubers., Komm\adddot\ und Nachw\adddot}},
+ {Hrsg., \"Ubers., Komm\adddotspace und Nachw\adddot}},
editortranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}%
- {Hrsg., \"Ubers., Erl\"aut\adddot\ und Einl\adddot}},
+ {Hrsg., \"Ubers., Erl\"aut\adddotspace und Einl\adddot}},
editorstranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}%
- {Hrsg., \"Ubers., Erl\"aut\adddot\ und Einl\adddot}},
+ {Hrsg., \"Ubers., Erl\"aut\adddotspace und Einl\adddot}},
editortranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}%
- {Hrsg., \"Ubers., Erl\"aut\adddot\ und Vorw\adddot}},
+ {Hrsg., \"Ubers., Erl\"aut\adddotspace und Vorw\adddot}},
editorstranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}%
- {Hrsg., \"Ubers., Erl\"aut\adddot\ und Vorw\adddot}},
+ {Hrsg., \"Ubers., Erl\"aut\adddotspace und Vorw\adddot}},
editortranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}%
- {Hrsg., \"Ubers., Erl\"aut\adddot\ und Nachw\adddot}},
+ {Hrsg., \"Ubers., Erl\"aut\adddotspace und Nachw\adddot}},
editorstranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}%
- {Hrsg., \"Ubers., Erl\"aut\adddot\ und Nachw\adddot}},
+ {Hrsg., \"Ubers., Erl\"aut\adddotspace und Nachw\adddot}},
translatorco = {{\"Ubersetzung und Kommentar}%
- {\"Ubers\adddot\ und Komm\adddot}},
+ {\"Ubers\adddotspace und Komm\adddot}},
translatorsco = {{\"Ubersetzung und Kommentar}%
- {\"Ubers\adddot\ und Komm\adddot}},
+ {\"Ubers\adddotspace und Komm\adddot}},
translatoran = {{\"Ubersetzung und Erl\"auterungen}%
- {\"Ubers\adddot\ und Erl\"aut\adddot}},
+ {\"Ubers\adddotspace und Erl\"aut\adddot}},
translatorsan = {{\"Ubersetzung und Erl\"auterungen}%
- {\"Ubers\adddot\ und Erl\"aut\adddot}},
+ {\"Ubers\adddotspace und Erl\"aut\adddot}},
translatorin = {{\"Ubersetzung und Einleitung}%
- {\"Ubers\adddot\ und Einl\adddot}},
+ {\"Ubers\adddotspace und Einl\adddot}},
translatorsin = {{\"Ubersetzung und Einleitung}%
- {\"Ubers\adddot\ und Einl\adddot}},
+ {\"Ubers\adddotspace und Einl\adddot}},
translatorfo = {{\"Ubersetzung und Vorwort}%
- {\"Ubers\adddot\ und Vorw\adddot}},
+ {\"Ubers\adddotspace und Vorw\adddot}},
translatorsfo = {{\"Ubersetzung und Vorwort}%
- {\"Ubers\adddot\ und Vorw\adddot}},
+ {\"Ubers\adddotspace und Vorw\adddot}},
translatoraf = {{\"Ubersetzung und Nachwort}%
- {\"Ubers\adddot\ und Nachw\adddot}},
+ {\"Ubers\adddotspace und Nachw\adddot}},
translatorsaf = {{\"Ubersetzung und Nachwort}%
- {\"Ubers\adddot\ und Nachw\adddot}},
+ {\"Ubers\adddotspace und Nachw\adddot}},
translatorcoin = {{\"Ubersetzung, Kommentar und Einleitung}%
- {\"Ubers., Komm\adddot\ und Einl\adddot}},
+ {\"Ubers., Komm\adddotspace und Einl\adddot}},
translatorscoin = {{\"Ubersetzung, Kommentar und Einleitung}%
- {\"Ubers., Komm\adddot\ und Einl\adddot}},
+ {\"Ubers., Komm\adddotspace und Einl\adddot}},
translatorcofo = {{\"Ubersetzung, Kommentar und Vorwort}%
- {\"Ubers., Komm\adddot\ und Vorw\adddot}},
+ {\"Ubers., Komm\adddotspace und Vorw\adddot}},
translatorscofo = {{\"Ubersetzung, Kommentar und Vorwort}%
- {\"Ubers., Komm\adddot\ und Vorw\adddot}},
+ {\"Ubers., Komm\adddotspace und Vorw\adddot}},
translatorcoaf = {{\"Ubersetzung, Kommentar und Nachwort}%
- {\"Ubers., Komm\adddot\ und Nachw\adddot}},
+ {\"Ubers., Komm\adddotspace und Nachw\adddot}},
translatorscoaf = {{\"Ubersetzung, Kommentar und Nachwort}%
- {\"Ubers., Komm\adddot\ und Nachw\adddot}},
+ {\"Ubers., Komm\adddotspace und Nachw\adddot}},
translatoranin = {{\"Ubersetzung, Erl\"auterungen und Einleitung}%
- {\"Ubers., Erl\"aut\adddot\ und Einl\adddot}},
+ {\"Ubers., Erl\"aut\adddotspace und Einl\adddot}},
translatorsanin = {{\"Ubersetzung, Erl\"auterungen und Einleitung}%
- {\"Ubers., Erl\"aut\adddot\ und Einl\adddot}},
+ {\"Ubers., Erl\"aut\adddotspace und Einl\adddot}},
translatoranfo = {{\"Ubersetzung, Erl\"auterungen und Vorwort}%
- {\"Ubers., Erl\"aut\adddot\ und Vorw\adddot}},
+ {\"Ubers., Erl\"aut\adddotspace und Vorw\adddot}},
translatorsanfo = {{\"Ubersetzung, Erl\"auterungen und Vorwort}%
- {\"Ubers., Erl\"aut\adddot\ und Vorw\adddot}},
+ {\"Ubers., Erl\"aut\adddotspace und Vorw\adddot}},
translatoranaf = {{\"Ubersetzung, Erl\"auterungen und Nachwort}%
- {\"Ubers., Erl\"aut\adddot\ und Nachw\adddot}},
+ {\"Ubers., Erl\"aut\adddotspace und Nachw\adddot}},
translatorsanaf = {{\"Ubersetzung, Erl\"auterungen und Nachwort}%
- {\"Ubers., Erl\"aut\adddot\ und Nachw\adddot}},
+ {\"Ubers., Erl\"aut\adddotspace und Nachw\adddot}},
% organizer = {{}{}},% FIXME: missing
% organizers = {{}{}},% FIXME: missing
% byorganizer = {{}{}},% FIXME: missing
@@ -263,84 +267,84 @@
byreviser = {{\"uberarbeitet von}{\"uberarb\adddotspace von}},
byreviewer = {{rezensiert von}{rez\adddotspace von}},
byfounder = {{begr\"undet von}{begr\adddotspace von}},
- bycontinuator = {{fortgef\"urt von}{fortgef\adddotspace von}},
+ bycontinuator = {{fortgef\"uhrt von}{fortgef\adddotspace von}},
bycollaborator = {{unter Mitarbeit von}{unter Mitarb\adddotspace von}},
- bytranslator = {{\lbx@lfromlang \"ubersetzt von}{\lbx@sfromlang \"ubers\adddot\ von}},
- bycommentator = {{kommentiert von}{komm\adddot\ von}},
- byannotator = {{erl\"autert von}{erl\"aut\adddot\ von}},
- withcommentator = {{mit einem Kommentar von}{mit einem Komm\adddot\ von}},
- withannotator = {{mit Erl\"auterungen von}{mit Erl\"aut\adddot\ von}},
- withintroduction = {{mit einer Einleitung von}{mit einer Einl\adddot\ von}},
- withforeword = {{mit einem Vorwort von}{mit einem Vorw\adddot\ von}},
- withafterword = {{mit einem Nachwort von}{mit einem Nachw\adddot\ von}},
+ bytranslator = {{\lbx@lfromlang \"ubersetzt von}{\lbx@sfromlang \"ubers\adddotspace von}},
+ bycommentator = {{kommentiert von}{komm\adddotspace von}},
+ byannotator = {{erl\"autert von}{erl\"aut\adddotspace von}},
+ withcommentator = {{mit einem Kommentar von}{mit einem Komm\adddotspace von}},
+ withannotator = {{mit Erl\"auterungen von}{mit Erl\"aut\adddotspace von}},
+ withintroduction = {{mit einer Einleitung von}{mit einer Einl\adddotspace von}},
+ withforeword = {{mit einem Vorwort von}{mit einem Vorw\adddotspace von}},
+ withafterword = {{mit einem Nachwort von}{mit einem Nachw\adddotspace von}},
byeditortr = {{herausgegeben und \lbx@lfromlang \"ubersetzt von}%
- {hrsg\adddotspace und \lbx@sfromlang \"ubers\adddot\ von}},
+ {hrsg\adddotspace und \lbx@sfromlang \"ubers\adddotspace von}},
byeditorco = {{herausgegeben und kommentiert von}%
- {hrsg\adddotspace und komm\adddot\ von}},
+ {hrsg\adddotspace und komm\adddotspace von}},
byeditoran = {{herausgegeben und erl\"autert von}%
- {hrsg\adddotspace und erl\"aut\adddot\ von}},
+ {hrsg\adddotspace und erl\"aut\adddotspace von}},
byeditorin = {{herausgegeben und mit einer Einleitung versehen von}%
- {hrsg\adddotspace und mit einer Einl\adddot\ vers\adddot\ von}},
+ {hrsg\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
byeditorfo = {{herausgegeben und mit einem Vorwort versehen von}%
- {hrsg\adddotspace und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {hrsg\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
byeditoraf = {{herausgegeben und mit einem Nachwort versehen von}%
- {hrsg\adddotspace und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {hrsg\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
byeditortrco = {{herausgegeben, \lbx@lfromlang \"ubersetzt und kommentiert von}%
- {hrsg., \lbx@sfromlang \"ubers\adddot\ und komm\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers\adddotspace und komm\adddotspace von}},
byeditortran = {{herausgegeben, \lbx@lfromlang \"ubersetzt und erl\"autert von}%
- {hrsg., \lbx@sfromlang \"ubers\adddot\ und erl\"aut\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers\adddotspace und erl\"aut\adddotspace von}},
byeditortrin = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen von}%
- {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
byeditortrfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen von}%
- {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
byeditortraf = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen von}%
- {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
byeditorcoin = {{herausgegeben, kommentiert und mit einer Einleitung versehen von}%
- {hrsg., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {hrsg., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
byeditorcofo = {{herausgegeben, kommentiert und mit einem Vorwort versehen von}%
- {hrsg., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {hrsg., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
byeditorcoaf = {{herausgegeben, kommentiert und mit einem Nachwort versehen von}%
- {hrsg., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {hrsg., komm\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
byeditoranin = {{herausgegeben, erl\"autert und mit einer Einleitung versehen von}%
- {hrsg., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {hrsg., erl\"aut\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
byeditoranfo = {{herausgegeben, erl\"autert und mit einem Vorwort versehen von}%
- {hrsg., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {hrsg., erl\"aut\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
byeditoranaf = {{herausgegeben, erl\"autert und mit einem Nachwort versehen von}%
- {hrsg., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {hrsg., erl\"aut\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
byeditortrcoin = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einer Einleitung versehen von}%
- {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
byeditortrcofo = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen von}%
- {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
byeditortrcoaf = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einem Nachwort versehen von}%
- {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers., komm\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
byeditortranin = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einer Einleitung versehen von}%
- {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
byeditortranfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Vorwort versehen von}%
- {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
byeditortranaf = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Nachwort versehen von}%
- {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
bytranslatorco = {{\lbx@lfromlang \"ubersetzt und kommentiert von}%
- {\lbx@sfromlang \"ubers\adddot\ und komm\adddot\ von}},
+ {\lbx@sfromlang \"ubers\adddotspace und komm\adddotspace von}},
bytranslatoran = {{\lbx@lfromlang \"ubersetzt und erl\"autert von}%
- {\lbx@sfromlang \"ubers\adddot\ und erl\"aut\adddot\ von}},
+ {\lbx@sfromlang \"ubers\adddotspace und erl\"aut\adddotspace von}},
bytranslatorin = {{\lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen von}%
- {\lbx@sfromlang \"ubers\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
bytranslatorfo = {{\lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen von}%
- {\lbx@sfromlang \"ubers\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
bytranslatoraf = {{\lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen von}%
- {\lbx@sfromlang \"ubers\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
bytranslatorcoin = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einer Einleitung versehen von}%
- {\lbx@sfromlang \"ubers., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
bytranslatorcofo = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen von}%
- {\lbx@sfromlang \"ubers., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
bytranslatorcoaf = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Nachwort versehen von}%
- {\lbx@sfromlang \"ubers., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers., komm\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
bytranslatoranin = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einer Einleitung versehen von}%
- {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}},
bytranslatoranfo = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Vorwort versehen von}%
- {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}},
bytranslatoranaf = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Nachwort versehen von}%
- {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}},
+ {\lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}},
and = {{und}{und}},
andothers = {{u.\,a\adddot}{u.\,a\adddot}},
andmore = {{u.\,a\adddot}{u.\,a\adddot}},
@@ -367,7 +371,7 @@
origpubin = {{zuerst publiziert in}{zuerst publ\adddotspace in}},
astitle = {{unter dem Titel}{unter dem Titel}},
bypublisher = {{von}{von}},
- nodate = {{ohne\space Datum}{{}o\adddot D\adddot}},
+ nodate = {{ohne\space Datum}{{}o.\,D\adddot}},
page = {{Seite}{S\adddot}},
pages = {{Seiten}{S\adddot}},
column = {{Spalte}{Sp\adddot}},
@@ -417,7 +421,7 @@
prepublished = {{Vorver\"offentlichung}{Vorver\"offentlichung}},
citedas = {{im folgenden zitiert als}{im folgenden zit\adddotspace als}},
thiscite = {{hier}{hier}},
- seenote = {{siehe Anmerkung}{s\adddotspace Anm\adddot}},
+ seenote = {{siehe Anmerkung}{s.~Anm\adddot}},
quotedin = {{zitiert nach}{zit\adddotspace nach}},
idem = {{derselbe}{ders\adddot}},
idemsf = {{dieselbe}{dies\adddot}},
@@ -435,7 +439,7 @@
sequentes = {{ff\adddot}{ff\adddot}},
passim = {{passim}{pass\adddot}},
see = {{siehe}{siehe}},
- seealso = {{siehe auch}{s.\,auch}},
+ seealso = {{siehe auch}{s.~auch}},
backrefpage = {{siehe Seite}{siehe S\adddot}},
backrefpages = {{siehe Seiten}{siehe S\adddot}},
january = {{Januar}{Jan\adddot}},
@@ -470,14 +474,17 @@
langjapanese = {{Japanisch}{Japanisch}},
langlatin = {{Lateinisch}{Lateinisch}},
langlatvian = {{Lettisch}{Lettisch}},
+ langlithuanian = {{Litauisch}{Litauisch}},
langnorwegian = {{Norwegisch}{Norwegisch}},
langpolish = {{Polnisch}{Polnisch}},
langportuguese = {{Portugiesisch}{Portugiesisch}},
langrussian = {{Russisch}{Russisch}},
+ langserbian = {{Serbisch}{Serbisch}},
langslovak = {{Slowakisch}{Slowakisch}},
langslovene = {{Slowenisch}{Slowenisch}},
langspanish = {{Spanisch}{Spanisch}},
langswedish = {{Schwedisch}{Schwedisch}},
+ langturkish = {{T\"urkisch}{T\"urkisch}},
langukrainian = {{Ukrainisch}{Ukrainisch}},
fromamerican = {{aus dem Amerikanischen}{aus dem Amerikanischen}},
frombrazilian = {{aus dem Brasilianischen}{aus dem Brasilianischen}},
@@ -499,14 +506,17 @@
fromjapanese = {{aus dem Japanischen}{aus dem Japanischen}},
fromlatin = {{aus dem Lateinischen}{aus dem Lateinischen}},
fromlatvian = {{aus dem Lettischen}{aus dem Lettischen}},
+ fromlithuanian = {{aus dem Litauischen}{aus dem Litauischen}},
fromnorwegian = {{aus dem Norwegischen}{aus dem Norwegischen}},
frompolish = {{aus dem Polnischen}{aus dem Polnischen}},
fromportuguese = {{aus dem Portugiesischen}{aus dem Portugiesischen}},
fromrussian = {{aus dem Russischen}{aus dem Russischen}},
+ fromserbian = {{aus dem Serbian}{aus dem Serbian}},
fromslovak = {{aus dem Slowakischen}{aus dem Slowakischen}},
fromslovene = {{aus dem Slowenischen}{aus dem Slowenischen}},
fromspanish = {{aus dem Spanischen}{aus dem Spanischen}},
fromswedish = {{aus dem Schwedischen}{aus dem Schwedischen}},
+ fromturkish = {{aus dem T\"urkischen}{T\"urkischen}},
fromukrainian = {{aus dem Ukrainischen}{aus dem Ukrainischen}},
countryde = {{Deutschland}{DE}},
countryep = {{Europ\"aische Union}{EP}},
@@ -516,29 +526,29 @@
countryus = {{USA}{US}},
patent = {{Patent}{Pat\adddot}},
patentde = {{deutsches Patent}{dt\adddotspace Pat\adddot}},
- patenteu = {{europ\"aisches Patent}{europ\adddot\ Pat\adddot}},
- patentfr = {{franz\"osisches Patent}{frz\adddot\ Pat\adddot}},
- patentuk = {{britisches Patent}{brit\adddot\ Pat\adddot}},
+ patenteu = {{europ\"aisches Patent}{europ\adddotspace Pat\adddot}},
+ patentfr = {{franz\"osisches Patent}{frz\adddotspace Pat\adddot}},
+ patentuk = {{britisches Patent}{brit\adddotspace Pat\adddot}},
patentus = {{US-Patent}{US-Pat\adddot}},
patreq = {{Patentanmeldung}{Patentanmeld\adddot}},
patreqde = {{deutsche Patentanmeldung}{dt\adddotspace Patentanmeld\adddot}},
- patreqeu = {{europ\"aische Patentanmeldung}{europ\adddot\ Patentanmeld\adddot}},
- patreqfr = {{franz\"osische Patentanmeldung}{frz\adddot\ Patentanmeld\adddot}},
- patrequk = {{britische Patentanmeldung}{brit\adddot\ Patentanmeld\adddot}},
+ patreqeu = {{europ\"aische Patentanmeldung}{europ\adddotspace Patentanmeld\adddot}},
+ patreqfr = {{franz\"osische Patentanmeldung}{frz\adddotspace Patentanmeld\adddot}},
+ patrequk = {{britische Patentanmeldung}{brit\adddotspace Patentanmeld\adddot}},
patrequs = {{US-Patentanmeldung}{US-Patentanmeld\adddot}},
file = {{Datei}{Datei}},
library = {{Bibliothek}{Bibliothek}},
abstract = {{Zusammenfassung}{Zusammenfassung}},
annotation = {{Anmerkungen}{Anmerkungen}},
- commonera = {{unserer Zeitrechnung}{u\adddotspace Z\adddot}},
- 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}},
+ commonera = {{u.\,Z\adddot}{u.\,Z\adddot}},
+ beforecommonera = {{v.\,u.\,Z\adddot}{v.\,u.\,Z\adddot}},
+ annodomini = {{n.\,Chr\adddot}{n.\,Chr\adddot}},
+ beforechrist = {{v.\,Chr\adddot}{v.\,Chr\adddot}},
circa = {{circa}{ca\adddot}},
- spring = {{Fr\"uhling}{Fr\adddot}},
- summer = {{Sommer}{So\adddot}},
- autumn = {{Herbst}{He\adddot}},
- winter = {{Winter}{Wi\adddot}},
+ spring = {{Fr\"uhling}{Frühling}},
+ summer = {{Sommer}{Sommer}},
+ autumn = {{Herbst}{Herbst}},
+ winter = {{Winter}{Winter}},
am = {{vorm\adddot}{vorm\adddot}},
pm = {{nachm\adddot}{nachm\adddot}},
}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
index 69f2fd708b5..6d86ddc4a4d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
@@ -15,7 +15,7 @@
{}
{\PackageError{biblatex}
{Greek requires UTF-8 support}
- {The 'greek.lbx' file requires UTF-8 encoding but you
+ {The file 'greek.lbx' requires UTF-8 encoding but you
seem\MessageBreak to be using a different encoding.
This is a fatal error. I will\MessageBreak abort loading
greek.lbx now.}%
@@ -78,13 +78,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
index 0429de4e136..dc3ff3207a2 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
@@ -56,13 +56,17 @@
% \bibstring{bytranslator}%
% }}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
index 07339b26537..b0469ad796f 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
@@ -43,13 +43,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -280,7 +284,7 @@
newseries = {{nuova serie}{nuova ser\adddot}},
oldseries = {{vecchia serie}{vecchia ser\adddot}},
edition = {{edizione}{ed\adddot}},
- reprint = {{ristampa}{rist\adddotspace}},
+ reprint = {{ristampa}{rist\adddot}},
reprintof = {{ristampa di}{rist\adddotspace di}},
% reprintas = {{}{}},% FIXME: missing
% reprintfrom = {{}{}},% 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 33a95360cbc..137e97e6ddd 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx
@@ -83,13 +83,17 @@
{}
{\adddot}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -146,7 +150,7 @@
% 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}%
+ \blx@mkpageprefix@i[{#2}]{#3}%
\ifnumeral{#3}
{\ppspace\bibstring{#1}}
{\ifnumerals{#3}
@@ -716,7 +720,7 @@
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\ifdateyearsequal{#2}{#2end}
@@ -754,7 +758,7 @@
\blx@metadateinfo{#2}%
\iffieldundef{#2year}
{\blx@nounit}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\ifdateyearsequal{#2}{#2end}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx
new file mode 100644
index 00000000000..60d54760761
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx
@@ -0,0 +1,838 @@
+\ProvidesFile{lithuanian.lbx}
+[\abx@lbxid]
+
+\DeclareRedundantLanguages{lithuanian}{lithuanian}
+
+% This file requires UTF-8 support!
+
+\lbx@ifutfinput
+ {}
+ {\PackageError{biblatex}
+ {Lithuanian requires UTF-8 support}
+ {The file 'lithuanian.lbx' requires UTF-8 encoding but you
+ seem\MessageBreak to be using a different encoding.
+ This is a fatal error. I will\MessageBreak abort loading
+ russian.lbx now.}%
+ \endinput}
+
+\DeclareBibliographyExtras{%
+ \DeclareCapitalPunctuation{.:!?}%
+ \protected\def\bibrangedash{%
+ \textendash\penalty\hyphenpenalty}% breakable endash
+ \def\lbx@lt@bibdaterangeseplong{\space\textendash\space}%
+ \def\lbx@lt@bibnumdaterangeseplong{\textendash}%
+ \def\lbx@lt@bibdaterangesepshort{\textendash}%
+ \let\lbx@lt@bibnumdaterangesepshort\lbx@lt@bibdaterangesepshort
+ \savecommand\bibdatesep
+ \protected\def\bibdatesep{\nobreakspace}%
+ \let\finalandcomma=\empty
+ \let\finalandsemicolon=\empty
+ \undef\mkbibordinal
+ \protected\def\mkbibmascord#1{\stripzeros{#1}-as}%
+ \protected\def\mkbibfemord#1{\stripzeros{#1}-a}%
+ \undef\mkbibneutord
+ \savecommand\mkbibordedition
+ \savecommand\mkbibordseries
+ \def\mkbibordedition{\mkbibmascord}%
+ \def\mkbibordseries{\mkbibfemord}%
+ \savecommand\lbx@lfromlang
+ \savecommand\lbx@sfromlang
+ \def\lbx@lfromlang{%
+ \iflistundef{origlanguage}
+ {}
+ {\printlist[lfromoriglanguage]{origlanguage}\space}}%
+ \def\lbx@sfromlang{%
+ \iflistundef{origlanguage}
+ {}
+ {\printlist[sfromoriglanguage]{origlanguage}\space}}%
+ \let\lbx@lt@ifdayrange\@secondoftwo
+ \def\lbx@lt@ifdropdaystring{\lbx@lt@ifdayrange}%
+ \let\lbx@lt@ifmonthrange\@secondoftwo
+ \def\lbx@lt@ifdropmonthstring{\lbx@lt@ifmonthrange}%
+ \let\lbx@lt@ifyearrange\@secondoftwo
+ \def\lbx@lt@ifdropyearstring{\lbx@lt@ifyearrange}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#1}
+ {}
+ {\iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}%
+ \stripzeros{\thefield{#1}}%
+ \lbx@lt@ifdropyearstring
+ {}
+ {\addnbspace\bibstring{year}}}%
+ \iffieldundef{#2}{}{\addnbspace}}%
+ \iffieldundef{#2}
+ {}
+ {\lbx@lt@mkgenmonth{\thefield{#2}}%
+ \iffieldundef{#3}
+ {\lbx@lt@ifdropmonthstring
+ {}
+ {\addnbspace\bibstring{month}}}
+ {\addnbspace}}%
+ \iffieldundef{#3}
+ {}
+ {\stripzeros{\thefield{#3}}%
+ \lbx@lt@ifdropdaystring{}{\addnbspace\bibstring{day}}}%
+ }%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#1}
+ {}
+ {\iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}%
+ \forcezerosy{\thefield{#1}}}}%
+ \iffieldundef{#2}
+ {}
+ {\iffieldundef{#1}{}{\bibdatesep}%
+ \forcezerosmdt{\thefield{#2}}}%
+ \iffieldundef{#3}
+ {}
+ {\iffieldundef{#2}{}{\bibdatesep}%
+ \forcezerosmdt{\thefield{#3}}}%
+ }%
+ \let\mkbibseasondatelong\mkbibseasondateshort
+ \savecommand\mkdaterangefull
+ \savecommand\mkdaterangefullextra
+ \savecommand\mkdaterangetrunc
+ \savecommand\mkdaterangetruncextra
+ \protected\def\mkdaterangefull{%
+ \lbx@lt@mkdaterangefull}%
+ \protected\def\mkdaterangefullextra{%
+ \lbx@lt@mkdaterangefullextra}%
+ \protected\def\mkdaterangetrunc{%
+ \lbx@lt@mkdaterangetrunc}%
+ \protected\def\mkdaterangetruncextra{%
+ \lbx@lt@mkdaterangetruncextra}%
+ \savecommand\bibtimesep
+ \protected\def\bibtimesep{.}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+ \csletcs{mkbibtime12h}{mkbibtime24h}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
+ \iffieldundef{#1}{}{\addspace}%
+ \mkbibseason{\thefield{#2}}%
+ }%
+ \let\mkbibseasondatelong\mkbibseasondateshort
+}%
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\bibdatesep
+ \restorecommand\mkbibordedition
+ \restorecommand\mkbibordseries
+ \restorecommand\lbx@lfromlang
+ \restorecommand\lbx@sfromlang
+ \restorecommand\bibtimesep
+ \restorecommand\mkdaterangefull
+ \restorecommand\mkdaterangefullextra
+ \restorecommand\mkdaterangetrunc
+ \restorecommand\mkdaterangetruncextra
+}
+
+\NewBibliographyString{%
+ genjanuary,
+ genfebruary,
+ genmarch,
+ genapril,
+ genmay,
+ genjune,
+ genjuly,
+ genaugust,
+ genseptember,
+ genoctober,
+ gennovember,
+ gendecember,
+ year,
+ month,
+ day,
+}
+
+\DeclareBibliographyStrings{%
+ bibliography = {{Bibliografija}{Bibliografija}},
+ references = {{Literatūros sąrašas}{Literatūra}},
+ shorthands = {{Santrumpų sąrašas}{Santrumpos}},
+ editor = {{sudarytojas}{sud\adddot}},
+ editors = {{sudarytojai}{sud\adddot}},
+ compiler = {{parengėjas}{pareng\adddot}},% FIXME: unsure
+ compilers = {{parengėjai}{pareng\adddot}},% FIXME: unsure
+ redactor = {{redaktorius}{red\adddot}},
+ redactors = {{redaktoriai}{red\adddot}},
+ reviser = {{korektorius}{kor\adddot}},
+ revisers = {{korektoriai}{kor\adddot}},
+ founder = {{pradininkas}{prad\adddot}},% FIXME: unsure
+ founders = {{pradininkai}{prad\adddot}},% FIXME: unsure
+ continuator = {{tęsėjas}{tęs\adddot}},
+ continuators = {{tęsėjai}{tęs\adddot}},
+ collaborator = {{bendradarbis}{bendr\adddot}},
+ collaborators = {{bendradarbiai}{bendr\adddot}},
+ translator = {{vertėjas}{vert\adddot}},
+ translators = {{vertėjai}{vert\adddot}},
+ commentator = {{komentarų autorius}{koment\adddotspace aut\adddot}},
+ commentators = {{komentarų autoriai}{koment\adddotspace aut\adddot}},
+ annotator = {{paaiškinimų autorius}{paaišk\adddotspace aut\adddot}},
+ annotators = {{paaiškinimų autoriai}{paaišk\adddotspace aut\adddot}},
+ commentary = {{komentarai}{koment\adddot}},
+ annotations = {{paaiškinimai}{paaišk\adddot}},
+ introduction = {{įvadas}{įv\adddot}},
+ foreword = {{pratarmė}{prat\adddot}},
+ afterword = {{pabaigos žodis}{pab\adddotspace žodis}},
+ editortr = {{sudarytojas ir vertėjas}%
+ {sud\adddotspace ir vert\adddot}},
+ editorstr = {{sudarytojai ir vertėjai}%
+ {sud\adddotspace ir vert\adddot}},
+ editorco = {{sudarytojas ir komentarų autorius}%
+ {sud\adddotspace ir koment\adddotspace aut\adddot}},
+ editorsco = {{sudarytojai ir komentarų autoriai}%
+ {sud\adddotspace ir koment\adddotspace aut\adddot}},
+ editoran = {{sudarytojas ir paaiškinimų autorius}%
+ {sud\adddotspace ir paaišk\adddotspace aut\adddot}},
+ editorsan = {{sudarytojai ir paaiškinimų autoriai}%
+ {sud\adddotspace ir paaišk\adddotspace aut\adddot}},
+ editorin = {{sudarytojas ir įvado autorius}%
+ {sud\adddotspace ir įv\adddotspace aut\adddot}},
+ editorsin = {{sudarytojai ir įvado autoriai}%
+ {sud\adddotspace ir įv\adddotspace aut\adddot}},
+ editorfo = {{sudarytojas ir pratarmės autorius}%
+ {sud\adddotspace ir prat\adddotspace aut\adddot}},
+ editorsfo = {{sudarytojai ir pratarmės autoriai}%
+ {sud\adddotspace ir prat\adddotspace aut\adddot}},
+ editoraf = {{sudarytojas ir pabaigos žodžio autorius}%
+ {sud\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorsaf = {{sudarytojai ir pabaigos žodžio autoriai}%
+ {sud\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editortrco = {{sudarytojas, vertėjas ir komentarų autorius}%
+ {sud., vert\adddotspace ir koment\adddotspace aut\adddot}},
+ editorstrco = {{sudarytojai, vertėjai ir komentarų autoriai}%
+ {sud., vert\adddotspace ir koment\adddotspace aut\adddot}},
+ editortran = {{sudarytojas, vertėjas ir paaiškinimų autorius}%
+ {sud., vert\adddotspace ir paaišk\adddotspace aut\adddot}},
+ editorstran = {{sudarytojai, vertėjai ir paaiškinimų autoriai}%
+ {sud., vert\adddotspace ir paaišk\adddotspace aut\adddot}},
+ editortrin = {{sudarytojas, vertėjas ir įvado autorius}%
+ {sud., vert\adddotspace ir įv\adddotspace aut\adddot}},
+ editorstrin = {{sudarytojai, vertėjai ir įvado autoriai}%
+ {sud., vert\adddotspace ir įv\adddotspace aut\adddot}},
+ editortrfo = {{sudarytojas, vertėjas ir pratarmės autorius}%
+ {sud., vert\adddotspace ir pratarmės\adddotspace aut\adddot}},
+ editorstrfo = {{sudarytojai, vertėjai ir pratarmės autoriai}%
+ {sud., vert\adddotspace ir prat\adddotspace aut\adddot}},
+ editortraf = {{sudarytojas, vertėjas ir pabaigos žodžio autorius}%
+ {sud., vert\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorstraf = {{sudarytojai, vertėjai ir pabaigos žodžio autoriai}%
+ {sud., vert\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorcoin = {{sudarytojas, komentarų ir įvado autorius}%
+ {sud., koment\adddotspace ir įv\adddotspace aut\adddot}},
+ editorscoin = {{sudarytojai, komentarų ir įvado autoriai}%
+ {sud., koment\adddotspace ir įv\adddotspace aut\adddot}},
+ editorcofo = {{sudarytojas, komentarų ir pratarmės autorius}%
+ {sud., koment\adddotspace ir prat\adddotspace aut\adddot}},
+ editorscofo = {{sudarytojai, komentarų ir pratarmės autoriai}%
+ {sud., koment\adddotspace ir prat\adddotspace aut\adddot}},
+ editorcoaf = {{sudarytojas, komentarų ir pabaigos žodžio autorius}%
+ {sud., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorscoaf = {{sudarytojai, komentarų ir pabaigos žodžio autoriai}%
+ {sud., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editoranin = {{sudarytojas, paaiškinimų ir įvado autorius}%
+ {sud., paaišk\adddotspace ir įv\adddotspace aut\adddot}},
+ editorsanin = {{sudarytojai, paaiškinimų ir įvado autoriai}%
+ {sud., paaišk\adddotspace ir įv\adddotspace aut\adddot}},
+ editoranfo = {{sudarytojas, paaiškinimų ir pratarmės autorius}%
+ {sud., paaišk\adddotspace ir prat\adddotspace aut\adddot}},
+ editorsanfo = {{sudarytojai, paaiškinimų ir pratarmės autoriai}%
+ {sud., paaišk\adddotspace ir prat\adddotspace aut\adddot}},
+ editoranaf = {{sudarytojas, paaiškinimų ir pabaigos žodžio autorius}%
+ {sud., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorsanaf = {{sudarytojai, paaiškinimų ir pabaigos žodžio autoriai}%
+ {sud., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editortrcoin = {{sudarytojas, vertėjas, komentarų ir įvado autorius}%
+ {sud., vert., koment\adddotspace ir įv\adddotspace aut\adddot}},
+ editorstrcoin = {{sudarytojai, vertėjai, komentarų ir įvado autoriai}%
+ {sud., vert., koment\adddotspace ir įv\adddotspace aut\adddot}},
+ editortrcofo = {{sudarytojas, vertėjas, komentarų ir pratarmės autorius}%
+ {sud., vert., koment\adddotspace ir prat\adddotspace aut\adddot}},
+ editorstrcofo = {{sudarytojai, vertėjai, komentarų ir pratarmės autoriai}%
+ {sud., vert., koment\adddotspace ir prat\adddotspace aut\adddot}},
+ editortrcoaf = {{sudarytojas, vertėjas, komentarų ir pabaigos žodžio autorius}%
+ {sud., vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorstrcoaf = {{sudarytojai, vertėjai, komentarų ir pabaigos žodžio autoriai}%
+ {sud., vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editortranin = {{sudarytojas, vertėjas, paaiškinimų ir įvado autorius}%
+ {sud., vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}},
+ editorstranin = {{sudarytojai, vertėjai, paaiškinimų ir įvado autoriai}%
+ {sud., vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}},
+ editortranfo = {{sudarytojas, vertėjas, paaiškinimų ir pratarmės autorius}%
+ {sud., vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}},
+ editorstranfo = {{sudarytojai, vertėjai, paaiškinimų ir pratarmės autoriai}%
+ {sud., vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}},
+ editortranaf = {{sudarytojas, vertėjas, paaiškinimų ir pabaigos žodžio autorius}%
+ {sud., vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ editorstranaf = {{sudarytojai, vertėjai, paaiškinimų ir pabaigos žodžio autoriai}%
+ {sud., vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ translatorco = {{vertėjas ir komentarų autorius}%
+ {vert\adddotspace ir koment\adddotspace aut\adddot}},
+ translatorsco = {{vertėjai ir komentarų autoriai}%
+ {vert\adddotspace ir koment\adddotspace aut\adddot}},
+ translatoran = {{vertėjas ir paaiškinimų autorius}%
+ {vert\adddotspace ir paaišk\adddotspace aut\adddot}},
+ translatorsan = {{vertėjai ir paaiškinimų autoriai}%
+ {vert\adddotspace ir paaišk\adddotspace aut\adddot}},
+ translatorin = {{vertėjas ir įvado autorius}%
+ {vert\adddotspace ir įv\adddotspace aut\adddot}},
+ translatorsin = {{vertėjai ir įvado autoriai}%
+ {vert\adddotspace ir įv\adddotspace aut\adddot}},
+ translatorfo = {{vertėjas ir pratarmės autorius}%
+ {vert\adddotspace ir prat\adddotspace aut\adddot}},
+ translatorsfo = {{vertėjai ir pratarmės autoriai}%
+ {vert\adddotspace ir prat\adddotspace aut\adddot}},
+ translatoraf = {{vertėjas ir pabaigos žodžio autorius}%
+ {vert\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ translatorsaf = {{vertėjai ir pabaigos žodžio autoriai}%
+ {vert\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ translatorcoin = {{vertėjas, komentarų ir įvado autorius}%
+ {vert., koment\adddotspace ir įv\adddotspace aut\adddot}},
+ translatorscoin = {{vertėjai, komentarų ir įvado autoriai}%
+ {vert., koment\adddotspace ir įv\adddotspace aut\adddot}},
+ translatorcofo = {{vertėjas, komentarų ir pratarmės autorius}%
+ {vert., koment\adddotspace ir prat\adddotspace aut\adddot}},
+ translatorscofo = {{vertėjai, komentarų ir pratarmės autoriai}%
+ {vert., koment\adddotspace ir prat\adddotspace aut\adddot}},
+ translatorcoaf = {{vertėjas, komentarų ir pabaigos žodžio autorius}%
+ {vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ translatorscoaf = {{vertėjai, komentarų ir pabaigos žodžio autoriai}%
+ {vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ translatoranin = {{vertėjas, paaiškinimų ir įvado autorius}%
+ {vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}},
+ translatorsanin = {{vertėjai, paaiškinimų ir įvado autoriai}%
+ {vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}},
+ translatoranfo = {{vertėjas, paaiškinimų ir pratarmės autorius}%
+ {vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}},
+ translatorsanfo = {{vertėjai, paaiškinimų ir pratarmės autoriai}%
+ {vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}},
+ translatoranaf = {{vertėjas, paaiškinimų ir pabaigos žodžio autorius}%
+ {vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ translatorsanaf = {{vertėjai, paaiškinimų ir pabaigos žodžio autoriai}%
+ {vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}},
+ organizer = {{organizatorius}{org\adddot}},
+ organizers = {{organizatoriai}{org\adddot}},
+ byorganizer = {{organizavo}{org\adddot}},
+% byauthor = {{}{}}, %or sukūrė, or parašė
+ byeditor = {{sudarė}{sud\adddotspace}},
+ bycompiler = {{parengė}{pareng\adddotspace}},
+ byredactor = {{redagavo}{red\adddotspace}},
+ byreviser = {{tikrino}{tikr\adddotspace}},
+ byreviewer = {{recenzavo}{rec\adddotspace}},
+ byfounder = {{pradėjo}{prad\adddotspace}},
+ bycontinuator = {{tęsė}{tęs\adddotspace}},
+ bycollaborator = {{bendradarbiaujant su}{bendradarb\adddotspace su}},% FIXME: unsure
+ bytranslator = {{\lbx@lfromlang išvertė}{\lbx@sfromlang vert\adddot}},
+ bycommentator = {{komentarus parengė}{koment\adddot}},
+ byannotator = {{paaiškinimus parengė}{paaišk\adddot}},
+ withcommentator = {{komentarų autorius}{koment\adddotspace aut\adddot}},
+ withannotator = {{paaiškinimų autorius}{paaišk\adddotspace aut\adddot}},
+ withintroduction = {{įvado autorius}{įv\adddotspace aut\adddot}},
+ withforeword = {{pratarmės autorius}{prat\adddotspace aut\adddot}},
+ withafterword = {{pabaigos žodžio autorius}{pab\adddotspace žodžio aut\adddot}},
+ byeditortr = {{sudarė ir \lbx@lfromlang išvertė}%
+ {sud\adddotspace ir \lbx@sfromlang vert\adddot}},
+ byeditorco = {{sudarė ir komentarus parengė}%
+ {sud\adddotspace ir koment\adddotspace parengė}},
+ byeditoran = {{sudarė ir paaiškinimus parengė}%
+ {sud\adddotspace ir paaišk\adddotspace parengė}},
+ byeditorin = {{sudarė ir įvadą parašė}%
+ {sud\adddotspace ir įv\adddotspace parašė}},
+ byeditorfo = {{sudarė ir pratarmę parašė}%
+ {sud\adddotspace ir prat\adddotspace parašė}},
+ byeditoraf = {{sudarė ir pabaigos žodį parašė}%
+ {sud\adddotspace ir pab\adddotspace žodį parašė}},
+ byeditortrco = {{sudarė, \lbx@lfromlang išvertė ir komentarus parengė}%
+ {sud., \lbx@sfromlang vert\adddotspace ir koment\adddotspace parengė}},
+ byeditortran = {{sudarė, \lbx@lfromlang išvertė ir paaiškinimus parengė}%
+ {sud., \lbx@sfromlang vert\adddotspace ir paaišk\adddotspace parengė}},
+ byeditortrin = {{sudarė, \lbx@lfromlang išvertė ir įvadą parašė}%
+ {sud., \lbx@sfromlang vert\adddotspace ir įv\adddotspace parašė}},
+ byeditortrfo = {{sudarė, \lbx@lfromlang išvertė ir pratarmę parašė}%
+ {sud., \lbx@sfromlang vert\adddotspace ir prat\adddotspace parašė}},
+ byeditortraf = {{sudarė, \lbx@lfromlang išvertė ir pabaigos žodį parašė}%
+ {sud., \lbx@sfromlang vert\adddotspace ir pab\adddotspace žodį parašė}},
+ byeditorcoin = {{sudarė, komentarus parengė ir įvadą parašė}%
+ {sud., koment\adddotspace ir įv\adddotspace parašė}},
+ byeditorcofo = {{sudarė, komentarus parengė ir pratarmę parašė}%
+ {sud., koment\adddotspace ir prat\adddotspace parašė}},
+ byeditorcoaf = {{sudarė, komentarus parengė ir pabaigos žodį parašė}%
+ {sud., koment\adddotspace ir pab\adddotspace žodį parašė}},
+ byeditoranin = {{sudarė, paaiškinimus parengė ir įvadą parašė}%
+ {sud., paaišk\adddotspace ir įv\adddotspace parašė}},
+ byeditoranfo = {{sudarė, paaiškinimus parengė ir pratarmę parašė}%
+ {sud., paaišk\adddotspace ir prat\adddotspace parašė}},
+ byeditoranaf = {{sudarė, paaiškinimus parengė ir pabaigos žodį parašė}%
+ {sud., paaišk\adddotspace ir pab\adddotspace žodį parašė}},
+ byeditortrcoin = {{sudarė, \lbx@lfromlang išvertė, komentarus parengė ir įvadą parašė}%
+ {sud., \lbx@sfromlang vert\adddot, koment\adddotspace ir įvad\adddotspace parašė}},
+ byeditortrcofo = {{sudarė, \lbx@lfromlang išvertė, komentarus parengė ir pratarmę parašė}%
+ {sud., \lbx@sfromlang vert\adddot, koment\adddotspace ir prat\adddotspace parašė}},
+ byeditortrcoaf = {{sudarė, \lbx@lfromlang išvertė, komentarus ir pabaigos žodį parašė}%
+ {sud., \lbx@sfromlang vert\adddot, koment\adddotspace ir pab\adddotspace žodį parašė}},
+ byeditortranin = {{sudarė, \lbx@lfromlang išvertė, paaiškinimus parengė ir įvadą parašė}%
+ {sud., \lbx@sfromlang vert\adddot, paaišk\adddotspace ir pab\adddotspace žodį parašė}},
+ byeditortranfo = {{sudarė, \lbx@lfromlang išvertė, paaiškinimus parengė ir pratarmę parašė}%
+ {sud., \lbx@sfromlang vert\adddot, paaišk\adddotspace ir prat\adddotspace parašė}},
+ byeditortranaf = {{sudarė, \lbx@lfromlang išvertė, paaiškinimus parengė ir pabaigos žodį parašė}%
+ {sud., \lbx@sfromlang vert\adddot, paaišk\adddotspace ir pab\adddotspace žodį parašė}},
+ bytranslatorco = {{\lbx@lfromlang išvertė ir komentarus parengė}%
+ {\lbx@sfromlang vert\adddotspace ir koment\adddotspace parengė}},
+ bytranslatoran = {{\lbx@lfromlang išvertė ir paaiškinimus parengė}%
+ {\lbx@sfromlang vert\adddotspace ir paaišk\adddotspace parengė}},
+ bytranslatorin = {{\lbx@lfromlang išvertė ir įvadą parašė}%
+ {\lbx@sfromlang vert\adddotspace ir įv\adddotspace parašė}},
+ bytranslatorfo = {{\lbx@lfromlang išvertė ir pratarmę parašė}%
+ {\lbx@sfromlang vert\adddotspace ir prat\adddotspace parašė}},
+ bytranslatoraf = {{\lbx@lfromlang išvertė ir pabaigos žodį parašė}%
+ {\lbx@sfromlang vert\adddotspace ir pab\adddotspace žodį parašė}},
+ bytranslatorcoin = {{\lbx@lfromlang išvertė, komentarus parengė ir įvadą parašė}%
+ {\lbx@sfromlang vert\adddot, koment\adddotspace ir įv\adddotspace parašė}},
+ bytranslatorcofo = {{\lbx@lfromlang išvertė, komentarus parengė ir pratarmę parašė}%
+ {\lbx@sfromlang vert\adddot, koment\adddotspace ir prat\adddotspace parašė}},
+ bytranslatorcoaf = {{\lbx@lfromlang išvertė, komentarus parengė ir pabaigos žodį parašė}%
+ {\lbx@sfromlang vert\adddot, koment\adddotspace ir pab\adddotspace žodį parašė}},
+ bytranslatoranin = {{\lbx@lfromlang išvertė, paaiškinimus parengė ir įvadą parašė}%
+ {\lbx@sfromlang vert\adddot, paaišk\adddotspace ir įv\adddotspace parašė}},
+ bytranslatoranfo = {{\lbx@lfromlang išvertė, paaiškinimus parengė ir pratarmę parašė}%
+ {\lbx@sfromlang vert\adddot, paaišk\adddotspace ir prat\adddotspace parašė}},
+ bytranslatoranaf = {{\lbx@lfromlang išvertė, paaiškinimus parengė ir pabaigos žodį parašė}%
+ {\lbx@sfromlang vert\adddot, paaišk\adddotspace ir pab\adddotspace žodį parašė}}, %
+ and = {{ir}{ir}},
+ andothers = {{ir kiti}{ir kt\adddot}},
+ andmore = {{ir taip toliau}{ir t\adddotspace t\adddot}},
+ volume = {{tomas}{t\adddot}},
+ volumes = {{tomai}{t\adddot}},
+% involumes = {{}{}},
+ jourvol = {{tomas}{t\adddot}},
+ jourser = {{serija}{ser\adddot}},
+ book = {{knyga}{kn\adddot}},
+ part = {{dalis}{d\adddot}},
+ issue = {{numeris}{Nr.}},
+ newseries = {{nauja serija}{nauj\adddotspace ser\adddot}},
+ oldseries = {{sena serija}{sen\adddotspace ser\adddot}},
+ edition = {{leidimas}{leid\adddot}},
+ reprint = {{pakartotinis leidimas}{pakartot\adddotspace leid\adddot}},
+ reprintof = {{pakartotinis leidimas}{pakartot\adddotspace leid\adddot}},% FIXME: unsure
+ reprintas = {{perspausdinta kaip}{perspausdinta kaip}},
+ reprintfrom = {{perspausdinta iš}{perspausdinta iš}},
+ reviewof = {{recenzija}{rec\adddotspace}},
+ translationof = {{versta iš leidinio}{vert\adddotspace iš leid\adddot}},
+ translationas = {{išversta kaip}{išversta kaip}},
+ translationfrom = {{vertimas iš}{vert\adddotspace iš}},
+ origpubas = {{originaliai publikuotas kaip}{orig\adddotspace publ\adddotspace kaip}},
+ origpubin = {{originaliai publikuotas}{orig\adddotspace publ\adddotspace}},
+ astitle = {{pavadinimu}{pavadinimu}},%or kaip
+ bypublisher = {{leidykloje}{leidykloje}},% FIXME: unsure
+ page = {{puslapis}{p\adddot}},
+ pages = {{puslapiai}{p\adddot}},
+ column = {{skiltis}{skilt\adddot}},
+ columns = {{skiltys}{skilt\adddot}},
+ line = {{eilutė}{eil\adddot}},
+ lines = {{eilutės}{eil\adddot}},
+ nodate = {{sine anno}{s\adddotspace a\adddot}},
+ verse = {{eilutė}{eil\adddot}},
+ verses = {{eilutės}{eil\adddot}},
+ section = {{paragrafas}{paragr\adddot}},
+ sections = {{paragrafai}{paragr\adddot}},
+ paragraph = {{pastraipa}{pastr\adddot}},
+ paragraphs = {{pastraipos}{pastr\adddot}},
+ pagetotal = {{puslapis}{p\adddot}},
+ pagetotals = {{puslapiai}{p\adddot}},
+ columntotal = {{skiltis}{skilt\adddot}},
+ columntotals = {{skiltys}{skilt\adddot}},
+ linetotal = {{eilutė}{eil\adddot}},
+ linetotals = {{eilutės}{eil\adddot}},
+ versetotal = {{eilutė}{eil\adddot}},
+ versetotals = {{eilutės}{eil\adddot}},
+ sectiontotal = {{paragrafas}{paragr\adddot}},
+ sectiontotals = {{paragrafai}{paragr\adddot}},
+ paragraphtotal = {{pastraipa}{pastr\adddot}},
+ paragraphtotals = {{pastraipos}{pastr\adddot}},
+ in = {{in}{in}},
+% inseries = {{}{}},%or in
+ ofseries = {{iš}{iš}},
+ number = {{numeris}{Nr\adddot}},
+ chapter = {{skyrius}{sk\adddot}},
+ bathesis = {{bakalauro darbas}{bak\adddotspace darb\adddot}},
+ mathesis = {{magistro darbas}{mag\adddotspace darb\adddot}},
+ phdthesis = {{disertacija}{disert\adddot}},
+ candthesis = {{disertacija}{disert\adddot}},
+ resreport = {{mokslinė ataskaita}{moksl\adddotspace atask\adddot}},
+ techreport = {{techninė ataskaita}{techn\adddotspace atask\adddot}},
+ software = {{programinė įranga}{PĮ}},
+ datacd = {{CD-ROM}{CD-ROM}},
+ audiocd = {{audio CD}{audio CD}},
+ version = {{versija}{vers\adddot}},
+ url = {{interaktyvus}{interaktyvus}},
+ urlfrom = {{pasiekiamas per}{pasiekiamas per}},
+ urlseen = {{tikrinta}{tikrinta}},
+ inpreparation = {{rengiamas}{rengiamas}},
+ submitted = {{pateiktas}{pateiktas}},
+ forthcoming = {{pasirodysiantis}{pasirodysiantis}},
+ inpress = {{spaudoje}{spaudoje}},
+ prepublished = {{išankstinė publikacija}{išankstinė publ\adddot}},
+ citedas = {{nuo šiol cituojamas kaip}{nuo šiol}},
+ thiscite = {{čia}{čia}},
+ seenote = {{žiūrėk nuorodą}{žr\adddotspace nuor\adddot}},
+ quotedin = {{cituota}{cituota}},
+ idem = {{tas pats}{t\adddotspace p\adddot}},
+ idemsm = {{tas pats}{t\adddotspace p\adddot}},
+ idemsf = {{ta pati}{t\adddotspace p\adddot}},
+ idemsn = {{tas pats}{t\adddotspace p\adddot}},
+ idempm = {{tie patys}{t\adddotspace p\adddot}},
+ idempf = {{tos pačios}{t\adddotspace p\adddot}},
+ idempn = {{tie patys}{t\adddotspace p\adddot}},
+ idempp = {{tie patys}{t\adddotspace p\adddot}},
+ ibidem = {{ten pat}{ten pat}},
+ opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}},
+ loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}},
+ confer = {{palygink}{plg\adddot}},
+ sequens = {{ir sekantis}{ir kt\adddot}},
+ sequentes = {{ir sekantys}{ir kt\adddot}},
+ passim = {{passim}{pass\adddot}},
+ see = {{žiūrėk}{žr\adddot}},
+ seealso = {{taip pat žiūrėk}{t\adddotspace p\adddotspace žr\adddot}},
+ backrefpage = {{cituota puslapyje}{cit\adddotspace psl\adddot}},
+ backrefpages = {{cituota puslapiuose}{cit\adddotspace psl\adddot}},
+ january = {{sausis}{saus\adddot}},
+ february = {{vasaris}{vas\adddot}},
+ march = {{kovas}{kov\adddot}},
+ april = {{balandis}{bal\adddot}},
+ may = {{gegužė}{geg\adddot}},
+ june = {{birželis}{birž\adddot}},
+ july = {{liepa}{liepa}},
+ august = {{rugpjūtis}{rugpj\adddot}},
+ september = {{rugsėjis}{rugs\adddot}},
+ october = {{spalis}{spal\adddot}},
+ november = {{lapkritis}{lapkr\adddot}},
+ december = {{gruodis}{gruod\adddot}},
+ genjanuary = {{sausio}{saus\adddot}},
+ genfebruary = {{vasario}{vas\adddot}},
+ genmarch = {{kovo}{kov\adddot}},
+ genapril = {{balandžio}{bal\adddot}},
+ genmay = {{gegužės}{geg\adddot}},
+ genjune = {{birželio}{birž\adddot}},
+ genjuly = {{liepos}{liep\adddot}},
+ genaugust = {{rugpjūčio}{rugpj\adddot}},
+ genseptember = {{rugsėjo}{rugs\adddot}},
+ genoctober = {{spalio}{spal\adddot}},
+ gennovember = {{lapkričio}{lapkr\adddot}},
+ gendecember = {{gruodžio}{gruod\adddot}},
+ langamerican = {{amerikiečių kalba}{amer\adddotspace k\adddot}},
+ langbrazilian = {{brazilų kalba}{braz\adddotspace k\adddot}},
+ langbulgarian = {{bulgarų kalba}{bulgarų k\adddot}},
+ langcatalan = {{katalonų kalba}{katalonų k\adddot}},
+ langcroatian = {{kroatų kalba}{kroatų k\adddot}},
+ langczech = {{čekų kalba}{čekų k\adddot}},
+ langdanish = {{danų kalba}{danų k\adddot}},
+ langdutch = {{olandų kalba}{olandų k\adddot}},
+ langenglish = {{anglų kalba}{anglų k\adddot}},
+ langestonian = {{estų kalba}{estų k\adddot}},
+ langfinnish = {{suomių kalba}{suomių k\adddot}},
+ langfrench = {{prancūzų kalba}{pranc\adddotspace k\adddot}},
+ langgerman = {{vokiečių kalba}{vok\adddotspace k\adddot}},
+ langgreek = {{graikų kalba}{graikų k\adddot}},
+ langhungarian = {{vengrų kalba}{vengrų k\adddot}},
+ langitalian = {{italų kalba}{it\adddotspace k\adddot}},
+ langjapanese = {{japonų kalba}{japonų k\adddot}},
+ langlatin = {{lotynų kalba}{lot\adddotspace k\adddot}},
+ langlatvian = {{latvių kalba}{latv\adddotspace k\adddot}},
+ langlithuanian = {{lietuvių kalba}{liet\adddotspace k\adddot}},
+ langnorwegian = {{norvegų kalba}{norv\adddotspace k\adddot}},
+ langpolish = {{lenkų kalba}{lenkų k\adddot}},
+ langportuguese = {{portugalų kalba}{portug\adddotspace k\adddot}},
+ langrussian = {{rusų kalba}{rusų k\adddot}},
+ langserbian = {{serbų kalba}{serbų k\adddot}},
+ langslovak = {{slovakų kalba}{slovakų k\adddot}},
+ langslovene = {{slovėnų kalba}{slovėnų k\adddot}},
+ langspanish = {{ispanų kalba}{isp\adddotspace k\adddot}},
+ langswedish = {{švedų kalba}{švedų k\adddot}},
+ langturkish = {{turkų kalba}{turkų k\adddot}},
+ langukrainian = {{ukrainiečių kalba}{ukrain\adddotspace k\adddot}},
+ fromamerican = {{iš amerikiečių kalbos}{iš amer\adddotspace k\adddot}},
+ frombrazilian = {{iš brazilų kalbos}{iš braz\adddotspace k\adddot}},
+ frombulgarian = {{iš bulgarų kalbos}{iš bulgarų k\adddot}},
+ fromcatalan = {{iš katalonų kalbos}{iš katalonų k\adddot}},
+ fromcroatian = {{iš kroatų kalbos}{iš kroatų k\adddot}},
+ fromczech = {{iš čekų kalbos}{iš čekų k\adddot}},
+ fromdanish = {{iš danų kalbos}{iš danų k\adddot}},
+ fromdutch = {{iš olandų kalbos}{iš olandų k\adddot}},
+ fromenglish = {{iš anglų kalbos}{iš anglų k\adddot}},
+ fromestonian = {{iš estų kalbos}{iš estų k\adddot}},
+ fromfinnish = {{iš suomių kalbos}{iš suomių k\adddot}},
+ fromfrench = {{iš prancūzų kalbos}{iš pranc\adddotspace k\adddot}},
+ fromgerman = {{iš vokiečių kalbos}{iš vok\adddotspace k\adddot}},
+ fromgreek = {{iš graikų kalbos}{iš graikų k\adddot}},
+ fromhungarian = {{iš vengrų kalbos}{iš vengrų k\adddot}},
+ fromitalian = {{iš italų kalbos}{iš italų k\adddot}},
+ fromjapanese = {{iš japonų kalbos}{iš japonų k\adddot}},
+ fromlatin = {{iš lotynų kalbos}{iš lot\adddotspace k\adddot}},
+ fromlatvian = {{iš latvių kalbos}{iš latvių k\adddot}},
+ fromnorwegian = {{iš norvegų kalbos}{iš norv\adddotspace k\adddot}},
+ frompolish = {{iš lenkų kalbos}{iš lenkų k\adddot}},
+ fromportuguese = {{iš portugalų kalbos}{iš portug\adddotspace k\adddot}},
+ fromrussian = {{iš rusų kalbos}{iš rusų k\adddot}},
+ fromserbian = {{iš serbų kalbos}{iš serbų k\adddot}},
+ fromslovak = {{iš slovakų kalbos}{iš slovakų k\adddot}},
+ fromslovene = {{iš slovėnų kalbos}{iš slovėnų k\adddot}},
+ fromspanish = {{iš ispanų kalbos}{iš isp\adddotspace k\adddot}},
+ fromswedish = {{iš švedų kalbos}{iš švedų k\adddot}},
+ fromturkish = {{iš turkų kalbos}{iš turkų k\adddot}},
+ fromukrainian = {{iš ukrainiečių kalbos}{iš ukrain\adddotspace k\adddot}},
+ countryde = {{Vokietija}{DE}},
+ countryeu = {{Europos Sąjunga}{EU}},
+ countryep = {{Europos Sąjunga}{EP}},
+ countryfr = {{Prancūzija}{FR}},
+ countryuk = {{Didžioji Britanija}{DB}},
+ countryus = {{Jungtinės Amerikos Valstijos}{JAV}},
+ patent = {{patentas}{pat\adddot}},
+ patentde = {{vokiškas patentas}{vokiškas pat\adddot}},
+ patenteu = {{europinis patentas}{europinis pat\adddot}},
+ patentfr = {{prancūziškas patentas}{prancūziškas pat\adddot}},
+ patentuk = {{angliškas patentas}{angliškas pat\adddot}},
+ patentus = {{JAV\addspace patentas}{JAV\addspace pat\adddot}},
+ patreq = {{patento prašymas}{pat\adddotspace praš\adddot}},
+ patreqde = {{vokiško patento prašymas}{vokiško pat\adddotspace praš\adddot}},
+ patreqeu = {{europinio patento prašymas}{europinio pat\adddotspace praš\adddot}},
+ patreqfr = {{prancūziško patento prašymas}{prancūziško pat\adddotspace praš\adddot}},
+ patrequk = {{angliško patento prašymas}{angliško pat\adddotspace praš\adddot}},
+ patrequs = {{JAV\addspace patento prašymas}{JAV\addspace pat\adddot\ praš\adddot}},
+ file = {{byla}{b\adddot}},
+ library = {{biblioteka}{bibl\adddot}},
+ abstract = {{santrauka}{santr\adddot}},
+ annotation = {{paaiškinimas}{paaišk\adddot}},
+ commonera = {{mūsų eros}{m\adddotspace e\adddot}},
+ beforecommonera = {{prieš mūsų erą}{pr\adddotspace m\adddotspace e\adddot}},
+ annodomini = {{po Kristaus gimimo}{po\space Kr\adddot}},
+ beforechrist = {{prieš Kristaus giminimą}{pr\adddotspace Kr\adddot}},
+ circa = {{apie}{apie}},
+ spring = {{pavasaris}{pav\adddot}},
+ summer = {{vasara}{vas\adddot}},
+ autumn = {{ruduo}{ruduo}},
+ winter = {{žiema}{žiema}},
+% am = {{}{}},
+% pm = {{}{}},
+ year = {{m\adddot}{m\adddot}},
+ month = {{mėn\adddot}{mėn\adddot}},
+ day = {{d\adddot}{d\adddot}},
+}
+
+
+\protected\gdef\lbx@lt@mkgenmonth#1{%
+ \ifcase0#1\relax
+ #1\BibliographyWarning{Month out of range}%
+ \or\abx@bibmonth{genjanuary}%
+ \or\abx@bibmonth{genfebruary}%
+ \or\abx@bibmonth{genmarch}%
+ \or\abx@bibmonth{genapril}%
+ \or\abx@bibmonth{genmay}%
+ \or\abx@bibmonth{genjune}%
+ \or\abx@bibmonth{genjuly}%
+ \or\abx@bibmonth{genaugust}%
+ \or\abx@bibmonth{genseptember}%
+ \or\abx@bibmonth{genoctober}%
+ \or\abx@bibmonth{gennovember}%
+ \or\abx@bibmonth{gendecember}%
+ \else
+ #1\BibliographyWarning{Month out of range}%
+ \fi}%
+
+\protected\gdef\lbx@lt@ifdayrange@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@lt@ifmonthrange@i#1{%
+ \ifboolexpr{not test {\iffieldundef{#1endyear}}
+ and test {\iffieldsequal{#1year}{#1endyear}}
+ and test {\iffieldundef{#1day}}
+ and test {\iffieldundef{#1endday}}}}
+
+\protected\gdef\lbx@lt@ifyearrange@i#1{%
+ \ifboolexpr{not test {\iffieldundef{#1endyear}}
+ and test {\iffieldundef{#1month}}
+ and test {\iffieldundef{#1endmonth}}}}
+
+\gdef\lbx@lt@ifdatenumrange{%
+ \lbx@lt@ifyearrange
+ {\@firstoftwo}
+ {\lbx@lt@ifdayrange}}
+
+\protected\gdef\lbx@lt@mkdaterangetrunc#1#2{%
+ \blx@if@printanytimes{#2}
+ {\mkdaterangefull{#1}{#2}}
+ {\lbx@lt@mkdaterangetrunc@i{#1}{#2}}}
+
+\protected\gdef\lbx@lt@mkdaterangetrunc@i#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \edef\lbx@lt@ifdayrange{\lbx@lt@ifdayrange@i{#2}}%
+ \edef\lbx@lt@ifmonthrange{\lbx@lt@ifmonthrange@i{#2}}%
+ \edef\lbx@lt@ifyearrange{\lbx@lt@ifyearrange@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{\csuse{lbx@lt@bibdaterangesep#1}}}
+ {\lbx@lt@ifdatenumrange
+ {\csuse{lbx@lt@bibnumdaterangesep#1}}
+ {\csuse{lbx@lt@bibdaterangesep#1}}%
+ \let\lbx@lt@ifdropdaystring\@secondoftwo
+ \let\lbx@lt@ifdropmonthstring\@secondoftwo
+ \let\lbx@lt@ifdropyearstring\@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@lt@mkdaterangetruncextra#1#2{%
+ \blx@if@printanytimes{#2}
+ {\mkdaterangefullextra{#1}{#2}}
+ {\lbx@lt@mkdaterangetruncextra@i{#1}{#2}}}
+
+\protected\gdef\lbx@lt@mkdaterangetruncextra@i#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \edef\lbx@lt@ifdayrange{\lbx@lt@ifdayrange@i{#2}}%
+ \edef\lbx@lt@ifmonthrange{\lbx@lt@ifmonthrange@i{#2}}%
+ \edef\lbx@lt@ifyearrange{\lbx@lt@ifyearrange@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{\csuse{lbx@lt@bibdaterangesep#1}}}
+ {\lbx@lt@ifdatenumrange
+ {\csuse{lbx@lt@bibnumdaterangesep#1}}
+ {\csuse{lbx@lt@bibdaterangesep#1}}%
+ \let\lbx@lt@ifdropdaystring\@secondoftwo
+ \let\lbx@lt@ifdropmonthstring\@secondoftwo
+ \let\lbx@lt@ifdropyearstring\@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}
+
+\protected\gdef\lbx@lt@mkdaterangefull#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \iffieldundef{#2year}
+ {\blx@nounit}
+ {\printtext[{#2date}]{%
+ \datecircaprint
+ % Such a season component can only come from an ISO8601 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateuncertainprint
+ \dateeraprint{#2year}%
+ \iffieldundef{#2endyear}
+ {}
+ {\iffieldequalstr{#2endyear}{}
+ {\mbox{\csuse{lbx@lt@bibdaterangesep#1}}}
+ {\csuse{lbx@lt@bibdaterangesep#1}%
+ \enddatecircaprint
+ \iffieldundef{#2endseason}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{end}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}%
+ \endgroup}
+
+\protected\gdef\lbx@lt@mkdaterangefullextra#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \iffieldundef{#2year}
+ {\blx@nounit}
+ {\printtext[{#2date}]{%
+ \datecircaprint
+ % Such a season component can only come from an ISO8601 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateuncertainprint
+ \dateeraprint{#2year}%
+ \iffieldundef{#2endyear}
+ {\printfield{extradate}}
+ {\iffieldequalstr{#2endyear}{}
+ {\printfield{extradate}%
+ \mbox{\csuse{lbx@lt@bibdaterangesep#1}}}
+ {\csuse{lbx@lt@bibdaterangesep#1}%
+ \enddatecircaprint
+ \iffieldundef{#2endseason}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{end}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \printfield{extradate}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}%
+ \endgroup}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx
index f94e50eaa85..73bfdebbea2 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx
@@ -29,7 +29,8 @@
\protected\def\mkbibmascord{\mkbibordinal}%
\protected\def\mkbibfemord{\mkbibordinal}%
\protected\def\mkbibneutord{\mkbibordinal}%
- \let\lbx@hu@dayrange\@secondoftwo
+ \let\lbx@hu@ifdayrange\@secondoftwo
+ \def\lbx@hu@ifplainday{\lbx@hu@ifdayrange}%
\protected\def\mkbibdatelong#1#2#3{%
\iffieldundef{#1}
{}
@@ -45,7 +46,7 @@
\iffieldundef{#3}{}{\nobreakspace}}%
\iffieldundef{#3}
{}
- {\lbx@hu@dayrange{\thefield{#3}}{\mkbibordinal{\thefield{#3}}}}%
+ {\lbx@hu@ifplainday{\thefield{#3}}{\mkbibordinal{\thefield{#3}}}}%
}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#1}
@@ -62,7 +63,7 @@
\iffieldundef{#3}{}{\nobreakspace}}%
\iffieldundef{#3}
{}
- {\mkdayzeros{\thefield{#3}}\lbx@hu@dayrange{}{\adddot}}%
+ {\mkdayzeros{\thefield{#3}}\lbx@hu@ifdayrange{}{\adddot}}%
}%
\let\mkbibseasondatelong\mkbibseasondateshort
\savecommand\mkdaterangecomp
@@ -77,21 +78,25 @@
\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{}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
\csletcs{mkbibtime12h}{mkbibtime24h}%
\protected\def\mkbibseasondateshort#1#2{%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
- \iffieldundef{#1}{}{\adddot\space}
+ \iffieldundef{#1}{}{\adddot\space}%
\mkbibseason{\thefield{#2}}%
}%
\let\mkbibseasondatelong\mkbibseasondateshort
@@ -111,7 +116,7 @@
% 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}%
+ \blx@mkpageprefix@i[{#2}]{#3}%
\ifnumeral{#3}
{\ppspace\bibstring{#1}}
{\ifnumerals{#3}
@@ -139,12 +144,12 @@
\mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}%
\savefieldformat{chapter}%
\DeclareFieldFormat{chapter}{%
- \ifnumerals{#1}{\mkbibordinal{#1}}{#1}
+ \ifnumerals{#1}{\mkbibordinal{#1}}{#1}%
\addnbspace
\bibstring{chapter}}%
\savefieldformat{volume}%
\DeclareFieldFormat{volume}{%
- \ifnumerals{#1}{\mkbibordinal{#1}}{#1}
+ \ifnumerals{#1}{\mkbibordinal{#1}}{#1}%
\addnbspace
\bibstring{volume}}%
\savefieldformat{part}%
@@ -160,7 +165,7 @@
\bibstring{part}}%
\savefieldformat{version}%
\DeclareFieldFormat{version}{%
- \ifnumerals{#1}{\mkbibordinal{#1}}{#1}
+ \ifnumerals{#1}{\mkbibordinal{#1}}{#1}%
\addnbspace
\bibstring{version}}%
}
@@ -462,7 +467,7 @@
% 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}},
+ origpubin = {{eredeti kiad\'as}{ered\adddotspace kiad\adddot}},
% 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}},
@@ -641,7 +646,7 @@
pm = {{d\'elut\'an}{du\adddot}},
}
-\protected\gdef\lbx@hu@dayrange@i#1{%
+\protected\gdef\lbx@hu@ifdayrange@i#1{%
\ifboolexpr{not test {\iffieldundef{#1endyear}}
and test {\iffieldsequal{#1year}{#1endyear}}
and test {\iffieldsequal{#1month}{#1endmonth}}
@@ -656,10 +661,10 @@
\protected\gdef\lbx@hu@mkdaterangetrunc@i#1#2{%
\begingroup
\blx@metadateinfo{#2}%
- \edef\lbx@hu@dayrange{\lbx@hu@dayrange@i{#2}}%
+ \edef\lbx@hu@ifdayrange{\lbx@hu@ifdayrange@i{#2}}%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
@@ -671,8 +676,8 @@
{}
{\iffieldequalstr{#2endyear}{}
{\mbox{\bibdaterangesep}}
- {\lbx@hu@dayrange{\bibrangedash}{\bibdaterangesep}%
- \let\lbx@hu@dayrange\@secondoftwo
+ {\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}%
+ \let\lbx@hu@ifplainday\@secondoftwo
\enddatecircaprint
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
@@ -696,10 +701,10 @@
\protected\gdef\lbx@hu@mkdaterangetruncextra@i#1#2{%
\begingroup
\blx@metadateinfo{#2}%
- \edef\lbx@hu@dayrange{\lbx@hu@dayrange@i{#2}}%
+ \edef\lbx@hu@ifdayrange{\lbx@hu@ifdayrange@i{#2}}%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
+ {\printtext[{#2date}]{%
\datecircaprint
\iffieldundef{#2season}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
@@ -712,8 +717,8 @@
{\iffieldequalstr{#2endyear}{}
{\printfield{extradate}%
\mbox{\bibdaterangesep}}
- {\lbx@hu@dayrange{\bibrangedash}{\bibdaterangesep}%
- \let\lbx@hu@dayrange\@secondoftwo
+ {\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}%
+ \let\lbx@hu@ifplainday\@secondoftwo
\enddatecircaprint
\iffieldundef{#2season}
{\iffieldsequal{#2year}{#2endyear}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
index c03ddca2daf..76aa28fee66 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
@@ -36,13 +36,17 @@
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
index 7618a69ec5a..50ae2383f40 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
@@ -44,13 +44,17 @@
\def\mkbibordedition{\mkbibneutord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
index 3526b7968fc..d408904515f 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
@@ -43,13 +43,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
index bc7817c5461..7d2cf694b1a 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
@@ -9,7 +9,7 @@
{}
{\PackageError{biblatex}
{Russian requires UTF-8 support}
- {The 'russian.lbx' file requires UTF-8 encoding but you
+ {The file 'russian.lbx' requires UTF-8 encoding but you
seem\MessageBreak to be using a different encoding.
This is a fatal error. I will\MessageBreak abort loading
russian.lbx now.}%
@@ -70,13 +70,17 @@
\def\mkbibordedition{\mkbibneutord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx
new file mode 100644
index 00000000000..52faffd9312
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx
@@ -0,0 +1,440 @@
+\ProvidesFile{serbian.lbx}
+[\abx@lbxid]
+
+% Translator's notes:
+%
+% This file is generated from a template and YAML localization string
+% collection by a script
+% You can said files at https://gitlab.com/andrejr/biblatex-serbian.
+% Please don't modify this file by hand -- contribute your changes upstream and
+% then send a pull request with the generated file to the official biblatex
+% repo (https://github.com/plk/biblatex).
+%
+% This is done so we could generate both `serbian.lbx` (Latin) and
+% `serbianc.lbx` (Cyrillic) from the same set of localization strings.
+
+
+\DeclareRedundantLanguages{serbian}{serbian}
+
+\DeclareBibliographyExtras{%
+ \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}%
+ \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
+ \protected\def\mkbibmascord{\mkbibordinal}%
+ \protected\def\mkbibfemord{\mkbibordinal}%
+ \protected\def\mkbibneutord{\mkbibordinal}%
+ \protected\def\bibtimesep{.}%
+ %\savecommand\mkbibordedition
+ %\savecommand\mkbibordseries
+ \def\mkbibordedition{\mkbibordinal}%
+ \def\mkbibordseries{\mkbibfemord}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ % day field
+ \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}% if day exists, display
+ \iffieldundef{#2}{}{\nobreakspace}}% space before month if month exists
+ % month field
+ \iffieldundef{#2}{}{\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}}% space before year if year exists
+ % year field
+ \iffieldbibstring{#1}% year
+ {\bibstring{\thefield{#1}}}%
+ {\dateeraprintpre{#1}\mkbibordinal{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}%
+ \iffieldundef{#2}{}{\addnbspace}}%
+ \iffieldundef{#2}{}{\mkbibordinal{\thefield{#2}}%
+ \iffieldundef{#1}{}{\addnbspace}}%
+ \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime12h%
+ \endcsname#1#2#3#4{%
+ \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep%
+ \forcezerosmdt{\thefield{#2}}%
+ \iffieldundef{#3}{}
+ {\bibtimesep%
+ \forcezerosmdt{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep%
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
+}
+
+\DeclareBibliographyStrings{%
+ abstract = {{apstrakt}{apstrakt}},
+ afterword = {{pogovor}{pogovor}},
+ am = {{AM}{AM}},
+ and = {{i}{i}},
+ andmore = {{i drugi}{i\addabbrvspace dr\adddot}},
+ andothers = {{i drugi}{i\addabbrvspace dr\adddot}},
+ annodomini = {{posle Hrista}{p\adddotspace Hr\adddot}},
+ annotation = {{bele\v ska}{bel\adddot}},
+ annotations = {{bele\v ske}{bel\adddot}},
+ annotator = {{autor bele\v zaka}{aut\adddot\ bel\adddot}},
+ annotators = {{autori bele\v zaka}{aut\adddot\ bel\adddot}},
+ april = {{april}{apr\adddot}},
+ astitle = {{pod naslovom}{pod naslovom}},
+ audiocd = {{audio CD}{audio CD}},
+ august = {{avgust}{avg\adddot}},
+ autumn = {{jesen}{jesen}},
+ backrefpage = {{citirano na stranici}{cit\adddot\ na str\adddot}},
+ backrefpages = {{citirano na stranicama}{cit\adddot\ na str\adddot}},
+ bathesis = {{ba\v celor rad}{BA\addabbrvspace rad}},
+ beforechrist = {{pre Hrista}{pr\adddotspace Hr\adddot}},
+ beforecommonera = {{pre nove ere}{pre\addabbrvspace n\adddotspace e\adddot}},
+ bibliography = {{Bibliografija}{Bibliografija}},
+ book = {{knjiga}{knj\adddot}},
+ byannotator = {{autor bele\v zaka}{autor bele\v zaka}},
+ byauthor = {{autor}{autor}},
+ bycollaborator = {{u saradnji sa}{u saradnji sa}},
+ bycommentator = {{komentar}{komentar}},
+ bycompiler = {{odabir}{odabir}},
+ bycontinuator = {{autor nastavka}{autor nastavka}},
+ byeditor = {{urednik}{urednik}},
+ byeditoraf = {{obrada i pogovor}{obrada i pogovor}},
+ byeditoran = {{obrada i bele\v ske}{obrada i bele\v ske}},
+ byeditoranaf = {{obrada, bele\v ske i pogovor}{obrada, bele\v ske i pogovor}},
+ byeditoranfo = {{obrada, bele\v ske i predgovor}{obrada, bele\v ske i predgovor}},
+ byeditoranin = {{obrada, bele\v ske i uvod}{obrada, bele\v ske i uvod}},
+ byeditorco = {{obrada i komentar}{obrada i komentar}},
+ byeditorcoaf = {{obrada, komentar i pogovor}{obrada, komentar i pogovor}},
+ byeditorcofo = {{obrada, komentar i predgovor}{obrada, komentar i predgovor}},
+ byeditorcoin = {{obrada, komentar i uvod}{obrada, komentar i uvod}},
+ byeditorfo = {{obrada i predgovor}{obrada i predgovor}},
+ byeditorin = {{obrada i uvod}{obrada i uvod}},
+ byeditortr = {{obrada i prevod}{obrada i prevod}},
+ byeditortraf = {{obrada, prevod i pogovor}{obrada, prevod i pogovor}},
+ byeditortran = {{obrada, prevod i bele\v ske}{obrada, prevod i bele\v ske}},
+ byeditortranaf = {{obrada, prevod, bele\v ske i pogovor}{obrada, prevod, bele\v ske i pogovor}},
+ byeditortranfo = {{obrada, prevod, bele\v ske i predgovor}{obrada, prevod, bele\v ske i predgovor}},
+ byeditortranin = {{obrada, prevod, bele\v ske i uvod}{obrada, prevod, bele\v ske i uvod}},
+ byeditortrco = {{obrada, prevod i komentar}{obrada, prevod i komentar}},
+ byeditortrcoaf = {{obrada, prevod, komentar i pogovor}{obrada, prevod, komentar i pogovor}},
+ byeditortrcofo = {{obrada, prevod, komentar i predgovor}{obrada, prevod, komentar i predgovor}},
+ byeditortrcoin = {{obrada, prevod, komentar i uvod}{obrada, prevod, komentar i uvod}},
+ byeditortrfo = {{obrada, prevod i predgovor}{obrada, prevod i predgovor}},
+ byeditortrin = {{obrada, prevod i uvod}{obrada, prevod i uvod}},
+ byfounder = {{osniva\v c}{osniva\v c}},
+ byorganizer = {{organizator}{organizator}},
+ bypublisher = {{izdava\v c}{izdava\v c}},
+ byredactor = {{redaktor}{redaktor}},
+ byreviewer = {{recenzent}{recenzent}},
+ byreviser = {{korektor}{korektor}},
+ bytranslator = {{prevod}{prevod}},
+ bytranslatoraf = {{prevod i pogovor}{prevod i pogovor}},
+ bytranslatoran = {{prevod i bele\v ske}{prevod i bele\v ske}},
+ bytranslatoranaf = {{prevod, bele\v ske i pogovor}{prevod, bele\v ske i pogovor}},
+ bytranslatoranfo = {{prevod, bele\v ske i predgovor}{prevod, bele\v ske i predgovor}},
+ bytranslatoranin = {{prevod, bele\v ske i uvod}{prevod, bele\v ske i uvod}},
+ bytranslatorco = {{prevod i komentar}{prevod i komentar}},
+ bytranslatorcoaf = {{prevod, komentar i pogovor}{prevod, komentar i pogovor}},
+ bytranslatorcofo = {{prevod, komentar i predgovor}{prevod, komentar i predgovor}},
+ bytranslatorcoin = {{prevod, komentar i uvod}{prevod, komentar i uvod}},
+ bytranslatorfo = {{prevod i predgovor}{prevod i predgovor}},
+ bytranslatorin = {{prevod i uvod}{prevod i uvod}},
+ candthesis = {{kandidatski rad}{kandidatski rad}},
+ chapter = {{glava}{glava}},
+ circa = {{cirka}{cca}},
+ citedas = {{citirano kao}{cit\adddotspace kao}},
+ collaborator = {{saradnik}{sar\adddot}},
+ collaborators = {{saradnici}{sar\adddot}},
+ column = {{stupac}{stupac}},
+ columns = {{stupci}{stupci}},
+ columntotal = {{stupac}{stupac}},
+ columntotals = {{stupci}{stupci}},
+ commentary = {{komentar}{kom\adddot}},
+ commentator = {{komentator}{kom\adddot}},
+ commentators = {{komentatori}{kom\adddot}},
+ commonera = {{nove ere}{n.\addnbspace e\adddot}},
+ compiler = {{prire\dj iva\v c}{prire\dj iva\v c}},
+ compilers = {{priredili}{priredili}},
+ confer = {{cf\adddot}{cf\adddot}},
+ continuator = {{nastavlja\v c}{nast\adddot}},
+ continuators = {{nastavlja\v ci}{nast\adddot}},
+ countryde = {{Nema\v cka}{DE}},
+ countryep = {{Evropska unija}{EP}},
+ countryeu = {{Evropska unija}{EU}},
+ countryfr = {{Francuska}{FR}},
+ countryuk = {{Velika Britanija}{GB}},
+ countryus = {{Sjedinjene Ameri\v cke Dr\v zave}{SAD}},
+ datacd = {{CD-ROM}{CD-ROM}},
+ december = {{decembar}{dec\adddot}},
+ edition = {{izdanje}{izdanje}},
+ editor = {{urednik}{ur\adddot}},
+ editoraf = {{urednik i autor pogovora}{urednik i autor pogovora}},
+ editoran = {{urednik i autor bele\v zaka}{urednik i autor bele\v zaka}},
+ editoranaf = {{urednik, autor bele\v zaka i autor pogovora}{urednik, autor bele\v zaka i autor pogovora}},
+ editoranfo = {{urednik, autor bele\v zaka i autor predgovora}{urednik, autor bele\v zaka i autor predgovora}},
+ editoranin = {{urednik, autor bele\v zaka i autor uvoda}{urednik, autor bele\v zaka i autor uvoda}},
+ editorco = {{urednik i komentator}{urednik i komentator}},
+ editorcoaf = {{urednik, komentator i autor pogovora}{urednik, komentator i autor pogovora}},
+ editorcofo = {{urednik, komentator i autor predgovora}{urednik, komentator i autor predgovora}},
+ editorcoin = {{urednik, komentator i autor uvoda}{urednik, komentator i autor uvoda}},
+ editorfo = {{urednik i autor predgovora}{urednik i autor predgovora}},
+ editorin = {{urednik i autor uvoda}{urednik i autor uvoda}},
+ editors = {{urednici}{urednici}},
+ editorsaf = {{urednici i pisci pogovora}{urednici i pisci pogovora}},
+ editorsan = {{urednici i autori bele\v zaka}{urednici i autori bele\v zaka}},
+ editorsanaf = {{urednici, autori bele\v zaka i autori pogovora}{urednici, autori bele\v zaka i autori pogovora}},
+ editorsanfo = {{urednici, autori bele\v zaka i autori predgovora}{urednici, autori bele\v zaka i autori predgovora}},
+ editorsanin = {{urednici, autori bele\v zaka i autori uvoda}{urednici, autori bele\v zaka i autori uvoda}},
+ editorsco = {{urednici i komentatori}{urednici i komentatori}},
+ editorscoaf = {{urednici, komentatori i pisci pogovora}{urednici, komentatori i pisci pogovora}},
+ editorscofo = {{urednici, komentatori i autori predgovora}{urednici, komentatori i autori predgovora}},
+ editorscoin = {{urednici, komentatori i autori uvoda}{urednici, komentatori i autori uvoda}},
+ editorsfo = {{urednici i pisci predgovora}{urednici i pisci predgovora}},
+ editorsin = {{urednici i autori uvoda}{urednici i autori uvoda}},
+ editorstr = {{urednici i prevodioci}{urednici i prevodioci}},
+ editorstraf = {{urednici, prevodioci i autori pogovora}{urednici, prevodioci i autori pogovora}},
+ editorstran = {{urednici, prevodioci i autori bele\v zaka}{urednici, prevodioci i autori bele\v zaka}},
+ editorstranaf = {{urednici, prevodioci, autori bele\v zaka i pisci pogovora}{urednici, prevodioci, autori bele\v zaka i pisci pogovora}},
+ editorstranfo = {{urednici, prevodioci, autori bele\v zaka i autori predgovora}{urednici, prevodioci, autori bele\v zaka i autori predgovora}},
+ editorstranin = {{urednici, prevodioci, autori bele\v zaka i autori uvoda}{urednici, prevodioci, autori bele\v zaka i autori uvoda}},
+ editorstrco = {{urednici, prevodioci i komentatori}{urednici, prevodioci i komentatori}},
+ editorstrcoaf = {{urednici, prevodioci, komentatori i pisci pogovora}{urednici, prevodioci, komentatori i pisci pogovora}},
+ editorstrcofo = {{urednici, prevodioci, komentatori i autori predgovora}{urednici, prevodioci, komentatori i autori predgovora}},
+ editorstrcoin = {{urednici, prevodioci, komentatori i autori uvoda}{urednici, prevodioci, komentatori i autori uvoda}},
+ editorstrfo = {{urednici, prevodioci i autori predgovora}{urednici, prevodioci i autori predgovora}},
+ editorstrin = {{urednici, prevodioci i autori uvoda}{urednici, prevodioci i autori uvoda}},
+ editortr = {{urednik i prevodilac}{urednik i prevodilac}},
+ editortraf = {{urednik, prevodilac i autor pogovora}{urednik, prevodilac i autor pogovora}},
+ editortran = {{urednik, prevodilac i autor bele\v zaka}{urednik, prevodilac i autor bele\v zaka}},
+ editortranaf = {{urednik, prevodilac, autor bele\v zaka i autor pogovora}{urednik, prevodilac, autor bele\v zaka i autor pogovora}},
+ editortranfo = {{urednik, prevodilac, autor bele\v zaka i autor predgovora}{urednik, prevodilac, autor bele\v zaka i autor predgovora}},
+ editortranin = {{urednik, prevodilac, autor bele\v zaka i autor uvoda}{urednik, prevodilac, autor bele\v zaka i autor uvoda}},
+ editortrco = {{urednik, prevodilac i komentator}{urednik, prevodilac i komentator}},
+ editortrcoaf = {{urednik, prevodilac, komentator i autor pogovora}{urednik, prevodilac, komentator i autor pogovora}},
+ editortrcofo = {{urednik, prevodilac, komentator i autor predgovora}{urednik, prevodilac, komentator i autor predgovora}},
+ editortrcoin = {{urednik, prevodilac, komentator i autor uvoda}{urednik, prevodilac, komentator i autor uvoda}},
+ editortrfo = {{urednik, prevodilac i autor predgovora}{urednik, prevodilac i autor predgovora}},
+ editortrin = {{urednik, prevodilac i autor uvoda}{urednik, prevodilac i autor uvoda}},
+ february = {{februar}{feb\adddot}},
+ file = {{datoteka}{datoteka}},
+ foreword = {{predgovor}{predgovor}},
+ forthcoming = {{dolaze\'ce}{dolaze\'ce}},
+ founder = {{osniva\v c}{osn\adddot}},
+ founders = {{osniva\v ci}{osn\adddot}},
+ fromamerican = {{sa ameri\v ckog}{sa ameri\v ckog}},
+ frombrazilian = {{sa brazilskog}{sa brazilskog}},
+ frombulgarian = {{sa bugarskog}{sa bugarskog}},
+ fromcatalan = {{sa katalonskog}{sa katalonskog}},
+ fromcroatian = {{sa hrvatskog}{sa hrvatskog}},
+ fromczech = {{sa \v ce\v skog}{sa \v ce\v skog}},
+ fromdanish = {{sa danskog}{sa danskog}},
+ fromdutch = {{sa holandskog}{sa holandskog}},
+ fromenglish = {{sa engleskog}{sa engleskog}},
+ fromestonian = {{sa estonskog}{sa estonskog}},
+ fromfinnish = {{sa finskog}{sa finskog}},
+ fromfrench = {{sa francuskog}{sa francuskog}},
+ fromgalician = {{sa galicijskog}{sa galicijskog}},
+ fromgerman = {{sa nema\v ckog}{sa nema\v ckog}},
+ fromgreek = {{sa gr\v ckog}{sa gr\v ckog}},
+ fromhungarian = {{sa ma\dj arskog}{sa ma\dj arskog}},
+ fromitalian = {{sa italijanskog}{sa italijanskog}},
+ fromjapanese = {{sa japanskog}{sa japanskog}},
+ fromlatin = {{sa latinskog}{sa latinskog}},
+ fromlatvian = {{sa letonskog}{sa letonskog}},
+ fromnorwegian = {{sa norve\v skog}{sa norve\v skog}},
+ frompolish = {{sa poljskog}{sa poljskog}},
+ fromportuguese = {{sa portugalskog}{sa portugalskog}},
+ fromrussian = {{sa ruskog}{sa ruskog}},
+ fromslovak = {{sa slova\v ckog}{sa slova\v ckog}},
+ fromslovene = {{sa slovena\v ckog}{sa slovena\v ckog}},
+ fromspanish = {{sa \v spanskog}{sa \v spanskog}},
+ fromswedish = {{sa \v svedskog}{sa \v svedskog}},
+ fromukrainian = {{sa ukrajinskog}{sa ukrajinskog}},
+ ibidem = {{ibidem}{ibid\adddot}},
+ idem = {{idem}{idem}},
+ idempf = {{eaedem}{eaedem}},
+ idempm = {{eidem}{eidem}},
+ idempn = {{eadem}{eadem}},
+ idempp = {{eidem}{eidem}},
+ idemsf = {{eadem}{eadem}},
+ idemsm = {{idem}{idem}},
+ idemsn = {{idem}{idem}},
+ in = {{u}{u}},
+ inpreparation = {{u pripremi}{u pripremi}},
+ inpress = {{u \v stampi}{u \v stampi}},
+ inseries = {{u}{u}},
+ introduction = {{uvod}{uv\adddot}},
+ involumes = {{u}{u}},
+ issue = {{izdanje}{izdanje}},
+ january = {{januar}{jan\adddot}},
+ jourser = {{serija}{ser\adddot}},
+ jourvol = {{sveska}{sv\adddot}},
+ july = {{jul}{jul}},
+ june = {{jun}{jun}},
+ langamerican = {{ameri\v cki}{ameri\v cki}},
+ langbrazilian = {{brazilski}{brazilski}},
+ langbulgarian = {{bugarski}{bugarski}},
+ langcatalan = {{katalanski}{katalanski}},
+ langcroatian = {{hrvatski}{hrvatski}},
+ langczech = {{\v ce\v ski}{\v ce\v ski}},
+ langdanish = {{danski}{danski}},
+ langdutch = {{holandski}{holandski}},
+ langenglish = {{engleski}{engleski}},
+ langestonian = {{estonski}{estonski}},
+ langfinnish = {{finski}{finski}},
+ langfrench = {{francuski}{francuski}},
+ langgalician = {{galicijski}{galicijski}},
+ langgerman = {{nema\v cki}{nema\v cki}},
+ langgreek = {{gr\v cki}{gr\v cki}},
+ langhungarian = {{ma\dj arski}{ma\dj arski}},
+ langitalian = {{italijanski}{italijanski}},
+ langjapanese = {{japanski}{japanski}},
+ langlatin = {{latinski}{latinski}},
+ langlatvian = {{letonski}{letonski}},
+ langnorwegian = {{norve\v ski}{norve\v ski}},
+ langpolish = {{poljski}{poljski}},
+ langportuguese = {{portugalski}{portugalski}},
+ langrussian = {{ruski}{ruski}},
+ langslovak = {{slova\v cki}{slova\v cki}},
+ langslovene = {{slovena\v cki}{slovena\v cki}},
+ langspanish = {{\v spanski}{\v spanski}},
+ langswedish = {{\v svedski}{\v svedski}},
+ langukrainian = {{ukrajinski}{ukrajinski}},
+ library = {{biblioteka}{biblioteka}},
+ line = {{red}{r\adddot}},
+ lines = {{redovi}{r\adddot}},
+ linetotal = {{red}{r\adddot}},
+ linetotals = {{redovi}{r\adddot}},
+ loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}},
+ march = {{mart}{mar\adddot}},
+ mathesis = {{master rad}{master rad}},
+ may = {{maj}{maj}},
+ newseries = {{nova serija}{nova serija}},
+ nodate = {{bez datuma}{bez datuma}},
+ november = {{novembar}{nov\adddot}},
+ number = {{broj}{br\adddot}},
+ october = {{oktobar}{okt\adddot}},
+ ofseries = {{serija}{ser\adddot}},
+ oldseries = {{stara serija}{stara serija}},
+ opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}},
+ organizer = {{organizator}{org\adddot}},
+ organizers = {{organizatori}{org\adddot}},
+ origpubas = {{originalno izdato kao}{originalno izdato kao}},
+ origpubin = {{originalno izdato}{originalno izdato}},
+ page = {{strana}{str\adddot}},
+ pages = {{strane}{str\adddot}},
+ pagetotal = {{strana}{str\adddot}},
+ pagetotals = {{strane}{str\adddot}},
+ paragraph = {{pasus}{pas\adddot}},
+ paragraphs = {{pasusi}{pas\adddot}},
+ paragraphtotal = {{pasus}{pas\adddot}},
+ paragraphtotals = {{pasusi}{pas\adddot}},
+ part = {{deo}{deo}},
+ passim = {{passim}{pass\adddot}},
+ patent = {{patent}{pat\adddot}},
+ patentde = {{nema\v cki patent}{nem\adddot\ pat\adddot}},
+ patenteu = {{evropski patent}{evr\adddot\ pat\adddot}},
+ patentfr = {{francuski patent}{franc\adddot\ pat\adddot}},
+ patentuk = {{britanski patent}{brit\adddot\ pat\adddot}},
+ patentus = {{SAD patent}{SAD pat\adddot}},
+ patreq = {{zahtev za patent}{zahtev za patent}},
+ patreqde = {{nema\v cki zahtev za patent}{nema\v cki zahtev za patent}},
+ patreqeu = {{evropski zahtev za patent}{evropski zahtev za patent}},
+ patreqfr = {{francuski zahtev za patent}{francuski zahtev za patent}},
+ patrequk = {{britanski zahtev za patent}{britanski zahtev za patent}},
+ patrequs = {{SAD zahtev za patent}{SAD zahtev za patent}},
+ phdthesis = {{doktorska teza}{doktorska teza}},
+ pm = {{PM}{PM}},
+ prepublished = {{preliminarno izdanje}{preliminarno izdanje}},
+ quotedin = {{citirano u}{cit\adddotspace u}},
+ redactor = {{redaktor}{red\adddot}},
+ redactors = {{redaktori}{red\adddot}},
+ references = {{Literatura}{Literatura}},
+ reprint = {{reprint}{reprint}},
+ reprintas = {{ponovo izdato kao kao}{ponovo izdato kao kao}},
+ reprintfrom = {{reprint iz}{reprint iz}},
+ reprintof = {{reprint}{reprint}},
+ resreport = {{istra\v ziva\v cki izve\v staj}{istra\v ziva\v cki izve\v staj}},
+ reviewof = {{recenzija}{recenzija}},
+ reviser = {{korektor}{korektor}},
+ revisers = {{korektori}{korektori}},
+ section = {{sekcija}{sek\adddot}},
+ sections = {{sekcije}{sek\adddot}},
+ sectiontotal = {{sekcija}{sek\adddot}},
+ sectiontotals = {{sekcije}{sek\adddot}},
+ see = {{vidi}{vidi}},
+ seealso = {{vidi\addabbrvspace i}{vidi}},
+ seenote = {{vidi fusnotu}{vidi fusnotu}},
+ september = {{septembar}{sept\adddot}},
+ sequens = {{sq\adddot}{sq\adddot}},
+ sequentes = {{sqq\adddot}{sqq\adddot}},
+ shorthands = {{Spisak skra\'cenica}{Skra\'cenice}},
+ software = {{ra\v cunarski softver}{ra\v c\adddot\ softver}},
+ spring = {{prole\'ce}{prole\'ce}},
+ submitted = {{poslato}{poslato}},
+ summer = {{leto}{leto}},
+ techreport = {{tehni\v cki izve\v staj}{tehn\adddotspace izv\adddot}},
+ thiscite = {{posebno}{posebno}},
+ translationas = {{prevedeno kao}{prevedeno kao}},
+ translationfrom = {{prevedeno sa}{prevedeno sa}},
+ translationof = {{prevod}{prevod}},
+ translator = {{prevodilac}{prevodilac}},
+ translatoraf = {{prevodilac i autor pogovora}{prevodilac i autor pogovora}},
+ translatoran = {{prevodilac i anotator}{prevodilac i anotator}},
+ translatoranaf = {{prevodilac, autor anotacija i autor pogovora}{prevodilac, autor anotacija i autor pogovora}},
+ translatoranfo = {{prevodilac, autor anotacija i autor predgovora}{prevodilac, autor anotacija i autor predgovora}},
+ translatoranin = {{prevodilac, autor anotacija i autor uvoda}{prevodilac, autor anotacija i autor uvoda}},
+ translatorco = {{prevodilac i komentator}{prevodilac i komentator}},
+ translatorcoaf = {{prevodilac, komentar i autor pogovora}{prevodilac, komentar i autor pogovora}},
+ translatorcofo = {{prevodilac, komentar i autor predgovora}{prevodilac, komentar i autor predgovora}},
+ translatorcoin = {{prevodilac, komentar i autor uvoda}{prevodilac, komentar i autor uvoda}},
+ translatorfo = {{prevodilac i autor predgovora}{prevodilac i autor predgovora}},
+ translatorin = {{prevodilac i autor uvoda}{prevodilac i autor uvoda}},
+ translators = {{prevodioci}{prevodioci}},
+ translatorsaf = {{prevodilac i autor pogovora}{prevodilac i autor pogovora}},
+ translatorsan = {{prevodioci i autori bele\v ski}{prevodioci i autori bele\v ski}},
+ translatorsanaf = {{prevodilac, autor anotacija i autor pogovora}{prevodilac, autor anotacija i autor pogovora}},
+ translatorsanfo = {{prevodilac, autor anotacija i autor predgovora}{prevodilac, autor anotacija i autor predgovora}},
+ translatorsanin = {{prevodilac, autor anotacija i autor uvoda}{prevodilac, autor anotacija i autor uvoda}},
+ translatorsco = {{prevodioci i komentatori}{prevodioci i komentatori}},
+ translatorscoaf = {{prevodilac, komentar i autor pogovora}{prevodilac, komentar i autor pogovora}},
+ translatorscofo = {{prevodilac, komentar i autor predgovora}{prevodilac, komentar i autor predgovora}},
+ translatorscoin = {{prevodilac, komentar i autor uvoda}{prevodilac, komentar i autor uvoda}},
+ translatorsfo = {{prevodilac i autor predgovora}{prevodilac i autor predgovora}},
+ translatorsin = {{prevodilac i autor uvoda}{prevodilac i autor uvoda}},
+ url = {{adresa}{adresa}},
+ urlfrom = {{dostupno na}{dostupno na}},
+ urlseen = {{pose\'ceno}{pose\'ceno}},
+ verse = {{strofa}{str\adddot}},
+ verses = {{strofe}{str\adddot}},
+ versetotal = {{strofa}{str\adddot}},
+ versetotals = {{strofe}{str\adddot}},
+ version = {{verzija}{verzija}},
+ volume = {{sveska}{sv\adddot}},
+ volumes = {{sveske}{sv\adddot}},
+ winter = {{zima}{zima}},
+ withafterword = {{sa pogovorom}{sa pogovorom}},
+ withannotator = {{sa bele\v skama}{sa bele\v skama}},
+ withcommentator = {{sa komentarom}{sa komentarom}},
+ withforeword = {{sa predgovorom}{sa predgovorom}},
+ withintroduction = {{sa uvodom}{sa uvodom}},
+}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx
new file mode 100644
index 00000000000..1e11519af0d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx
@@ -0,0 +1,449 @@
+\ProvidesFile{serbianc.lbx}
+[\abx@lbxid]
+
+% Translator's notes:
+%
+% This file is generated from a template and YAML localization string
+% collection by a script
+% You can said files at https://gitlab.com/andrejr/biblatex-serbian.
+% Please don't modify this file by hand -- contribute your changes upstream and
+% then send a pull request with the generated file to the official biblatex
+% repo (https://github.com/plk/biblatex).
+%
+% This is done so we could generate both `serbian.lbx` (Latin) and
+% `serbianc.lbx` (Cyrillic) from the same set of localization strings.
+
+\lbx@ifutfinput
+ {}
+ {\PackageError{biblatex}
+ {Serbian Cyrillic biblatex localization requires UTF-8 support}
+ {The 'serbianc.lbx' file requires UTF-8 encoding but you
+ seem\MessageBreak to be using a different encoding.
+ This is a fatal error. I will\MessageBreak abort loading
+ serbianc.lbx now.}%
+ \endinput}
+
+\DeclareRedundantLanguages{serbianc}{serbianc}
+
+\DeclareBibliographyExtras{%
+ \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}%
+ \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
+ \protected\def\mkbibmascord{\mkbibordinal}%
+ \protected\def\mkbibfemord{\mkbibordinal}%
+ \protected\def\mkbibneutord{\mkbibordinal}%
+ \protected\def\bibtimesep{.}%
+ %\savecommand\mkbibordedition
+ %\savecommand\mkbibordseries
+ \def\mkbibordedition{\mkbibordinal}%
+ \def\mkbibordseries{\mkbibfemord}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ % day field
+ \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}% if day exists, display
+ \iffieldundef{#2}{}{\nobreakspace}}% space before month if month exists
+ % month field
+ \iffieldundef{#2}{}{\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}}% space before year if year exists
+ % year field
+ \iffieldbibstring{#1}% year
+ {\bibstring{\thefield{#1}}}%
+ {\dateeraprintpre{#1}\mkbibordinal{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}%
+ \iffieldundef{#2}{}{\addnbspace}}%
+ \iffieldundef{#2}{}{\mkbibordinal{\thefield{#2}}%
+ \iffieldundef{#1}{}{\addnbspace}}%
+ \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime12h%
+ \endcsname#1#2#3#4{%
+ \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep%
+ \forcezerosmdt{\thefield{#2}}%
+ \iffieldundef{#3}{}
+ {\bibtimesep%
+ \forcezerosmdt{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep%
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
+}
+
+\DeclareBibliographyStrings{%
+ abstract = {{апстракт}{апстракт}},
+ afterword = {{поговор}{поговор}},
+ am = {{AM}{AM}},
+ and = {{и}{и}},
+ andmore = {{и други}{и\addabbrvspace др\adddot}},
+ andothers = {{и други}{и\addabbrvspace др\adddot}},
+ annodomini = {{после Христа}{п\adddotspace Хр\adddot}},
+ annotation = {{белешка}{бел\adddot}},
+ annotations = {{белешке}{бел\adddot}},
+ annotator = {{аутор бележака}{аут\adddot\ бел\adddot}},
+ annotators = {{аутори бележака}{аут\adddot\ бел\adddot}},
+ april = {{април}{апр\adddot}},
+ astitle = {{под насловом}{под насловом}},
+ audiocd = {{аудио ЦД}{аудио ЦД}},
+ august = {{август}{авг\adddot}},
+ autumn = {{јесен}{јесен}},
+ backrefpage = {{цитирано на страници}{цит\adddot\ на стр\adddot}},
+ backrefpages = {{цитирано на страницама}{цит\adddot\ на стр\adddot}},
+ bathesis = {{бачелор рад}{БА\addabbrvspace рад}},
+ beforechrist = {{пре Христа}{пр\adddotspace Хр\adddot}},
+ beforecommonera = {{пре нове ере}{пре\addabbrvspace н\adddotspace е\adddot}},
+ bibliography = {{Библиографија}{Библиографија}},
+ book = {{књига}{књ\adddot}},
+ byannotator = {{аутор бележака}{аутор бележака}},
+ byauthor = {{аутор}{аутор}},
+ bycollaborator = {{у сарадњи са}{у сарадњи са}},
+ bycommentator = {{коментар}{коментар}},
+ bycompiler = {{одабир}{одабир}},
+ bycontinuator = {{аутор наставка}{аутор наставка}},
+ byeditor = {{уредник}{уредник}},
+ byeditoraf = {{обрада и поговор}{обрада и поговор}},
+ byeditoran = {{обрада и белешке}{обрада и белешке}},
+ byeditoranaf = {{обрада, белешке и поговор}{обрада, белешке и поговор}},
+ byeditoranfo = {{обрада, белешке и предговор}{обрада, белешке и предговор}},
+ byeditoranin = {{обрада, белешке и увод}{обрада, белешке и увод}},
+ byeditorco = {{обрада и коментар}{обрада и коментар}},
+ byeditorcoaf = {{обрада, коментар и поговор}{обрада, коментар и поговор}},
+ byeditorcofo = {{обрада, коментар и предговор}{обрада, коментар и предговор}},
+ byeditorcoin = {{обрада, коментар и увод}{обрада, коментар и увод}},
+ byeditorfo = {{обрада и предговор}{обрада и предговор}},
+ byeditorin = {{обрада и увод}{обрада и увод}},
+ byeditortr = {{обрада и превод}{обрада и превод}},
+ byeditortraf = {{обрада, превод и поговор}{обрада, превод и поговор}},
+ byeditortran = {{обрада, превод и белешке}{обрада, превод и белешке}},
+ byeditortranaf = {{обрада, превод, белешке и поговор}{обрада, превод, белешке и поговор}},
+ byeditortranfo = {{обрада, превод, белешке и предговор}{обрада, превод, белешке и предговор}},
+ byeditortranin = {{обрада, превод, белешке и увод}{обрада, превод, белешке и увод}},
+ byeditortrco = {{обрада, превод и коментар}{обрада, превод и коментар}},
+ byeditortrcoaf = {{обрада, превод, коментар и поговор}{обрада, превод, коментар и поговор}},
+ byeditortrcofo = {{обрада, превод, коментар и предговор}{обрада, превод, коментар и предговор}},
+ byeditortrcoin = {{обрада, превод, коментар и увод}{обрада, превод, коментар и увод}},
+ byeditortrfo = {{обрада, превод и предговор}{обрада, превод и предговор}},
+ byeditortrin = {{обрада, превод и увод}{обрада, превод и увод}},
+ byfounder = {{оснивач}{оснивач}},
+ byorganizer = {{организатор}{организатор}},
+ bypublisher = {{издавач}{издавач}},
+ byredactor = {{редактор}{редактор}},
+ byreviewer = {{рецензент}{рецензент}},
+ byreviser = {{коректор}{коректор}},
+ bytranslator = {{превод}{превод}},
+ bytranslatoraf = {{превод и поговор}{превод и поговор}},
+ bytranslatoran = {{превод и белешке}{превод и белешке}},
+ bytranslatoranaf = {{превод, белешке и поговор}{превод, белешке и поговор}},
+ bytranslatoranfo = {{превод, белешке и предговор}{превод, белешке и предговор}},
+ bytranslatoranin = {{превод, белешке и увод}{превод, белешке и увод}},
+ bytranslatorco = {{превод и коментар}{превод и коментар}},
+ bytranslatorcoaf = {{превод, коментар и поговор}{превод, коментар и поговор}},
+ bytranslatorcofo = {{превод, коментар и предговор}{превод, коментар и предговор}},
+ bytranslatorcoin = {{превод, коментар и увод}{превод, коментар и увод}},
+ bytranslatorfo = {{превод и предговор}{превод и предговор}},
+ bytranslatorin = {{превод и увод}{превод и увод}},
+ candthesis = {{кандидатски рад}{кандидатски рад}},
+ chapter = {{глава}{глава}},
+ circa = {{цирка}{cca}},
+ citedas = {{цитирано као}{цит\adddotspace као}},
+ collaborator = {{сарадник}{сар\adddot}},
+ collaborators = {{сарадници}{сар\adddot}},
+ column = {{ступац}{ступац}},
+ columns = {{ступци}{ступци}},
+ columntotal = {{ступац}{ступац}},
+ columntotals = {{ступци}{ступци}},
+ commentary = {{коментар}{ком\adddot}},
+ commentator = {{коментатор}{ком\adddot}},
+ commentators = {{коментатори}{ком\adddot}},
+ commonera = {{нове ере}{н.\addnbspace е\adddot}},
+ compiler = {{приређивач}{приређивач}},
+ compilers = {{приредили}{приредили}},
+ confer = {{cf\adddot}{cf\adddot}},
+ continuator = {{настављач}{наст\adddot}},
+ continuators = {{настављачи}{наст\adddot}},
+ countryde = {{Немачка}{ДЕ}},
+ countryep = {{Европска унија}{ЕП}},
+ countryeu = {{Европска унија}{ЕУ}},
+ countryfr = {{Француска}{ФР}},
+ countryuk = {{Велика Британија}{ГБ}},
+ countryus = {{Сједињене Америчке Државе}{САД}},
+ datacd = {{CD-ROM}{CD-ROM}},
+ december = {{децембар}{дец\adddot}},
+ edition = {{издање}{издање}},
+ editor = {{уредник}{ур\adddot}},
+ editoraf = {{уредник и аутор поговора}{уредник и аутор поговора}},
+ editoran = {{уредник и аутор бележака}{уредник и аутор бележака}},
+ editoranaf = {{уредник, аутор бележака и аутор поговора}{уредник, аутор бележака и аутор поговора}},
+ editoranfo = {{уредник, аутор бележака и аутор предговора}{уредник, аутор бележака и аутор предговора}},
+ editoranin = {{уредник, аутор бележака и аутор увода}{уредник, аутор бележака и аутор увода}},
+ editorco = {{уредник и коментатор}{уредник и коментатор}},
+ editorcoaf = {{уредник, коментатор и аутор поговора}{уредник, коментатор и аутор поговора}},
+ editorcofo = {{уредник, коментатор и аутор предговора}{уредник, коментатор и аутор предговора}},
+ editorcoin = {{уредник, коментатор и аутор увода}{уредник, коментатор и аутор увода}},
+ editorfo = {{уредник и аутор предговора}{уредник и аутор предговора}},
+ editorin = {{уредник и аутор увода}{уредник и аутор увода}},
+ editors = {{уредници}{уредници}},
+ editorsaf = {{уредници и писци поговора}{уредници и писци поговора}},
+ editorsan = {{уредници и аутори бележака}{уредници и аутори бележака}},
+ editorsanaf = {{уредници, аутори бележака и аутори поговора}{уредници, аутори бележака и аутори поговора}},
+ editorsanfo = {{уредници, аутори бележака и аутори предговора}{уредници, аутори бележака и аутори предговора}},
+ editorsanin = {{уредници, аутори бележака и аутори увода}{уредници, аутори бележака и аутори увода}},
+ editorsco = {{уредници и коментатори}{уредници и коментатори}},
+ editorscoaf = {{уредници, коментатори и писци поговора}{уредници, коментатори и писци поговора}},
+ editorscofo = {{уредници, коментатори и аутори предговора}{уредници, коментатори и аутори предговора}},
+ editorscoin = {{уредници, коментатори и аутори увода}{уредници, коментатори и аутори увода}},
+ editorsfo = {{уредници и писци предговора}{уредници и писци предговора}},
+ editorsin = {{уредници и аутори увода}{уредници и аутори увода}},
+ editorstr = {{уредници и преводиоци}{уредници и преводиоци}},
+ editorstraf = {{уредници, преводиоци и аутори поговора}{уредници, преводиоци и аутори поговора}},
+ editorstran = {{уредници, преводиоци и аутори бележака}{уредници, преводиоци и аутори бележака}},
+ editorstranaf = {{уредници, преводиоци, аутори бележака и писци поговора}{уредници, преводиоци, аутори бележака и писци поговора}},
+ editorstranfo = {{уредници, преводиоци, аутори бележака и аутори предговора}{уредници, преводиоци, аутори бележака и аутори предговора}},
+ editorstranin = {{уредници, преводиоци, аутори бележака и аутори увода}{уредници, преводиоци, аутори бележака и аутори увода}},
+ editorstrco = {{уредници, преводиоци и коментатори}{уредници, преводиоци и коментатори}},
+ editorstrcoaf = {{уредници, преводиоци, коментатори и писци поговора}{уредници, преводиоци, коментатори и писци поговора}},
+ editorstrcofo = {{уредници, преводиоци, коментатори и аутори предговора}{уредници, преводиоци, коментатори и аутори предговора}},
+ editorstrcoin = {{уредници, преводиоци, коментатори и аутори увода}{уредници, преводиоци, коментатори и аутори увода}},
+ editorstrfo = {{уредници, преводиоци и аутори предговора}{уредници, преводиоци и аутори предговора}},
+ editorstrin = {{уредници, преводиоци и аутори увода}{уредници, преводиоци и аутори увода}},
+ editortr = {{уредник и преводилац}{уредник и преводилац}},
+ editortraf = {{уредник, преводилац и аутор поговора}{уредник, преводилац и аутор поговора}},
+ editortran = {{уредник, преводилац и аутор бележака}{уредник, преводилац и аутор бележака}},
+ editortranaf = {{уредник, преводилац, аутор бележака и аутор поговора}{уредник, преводилац, аутор бележака и аутор поговора}},
+ editortranfo = {{уредник, преводилац, аутор бележака и аутор предговора}{уредник, преводилац, аутор бележака и аутор предговора}},
+ editortranin = {{уредник, преводилац, аутор бележака и аутор увода}{уредник, преводилац, аутор бележака и аутор увода}},
+ editortrco = {{уредник, преводилац и коментатор}{уредник, преводилац и коментатор}},
+ editortrcoaf = {{уредник, преводилац, коментатор и аутор поговора}{уредник, преводилац, коментатор и аутор поговора}},
+ editortrcofo = {{уредник, преводилац, коментатор и аутор предговора}{уредник, преводилац, коментатор и аутор предговора}},
+ editortrcoin = {{уредник, преводилац, коментатор и аутор увода}{уредник, преводилац, коментатор и аутор увода}},
+ editortrfo = {{уредник, преводилац и аутор предговора}{уредник, преводилац и аутор предговора}},
+ editortrin = {{уредник, преводилац и аутор увода}{уредник, преводилац и аутор увода}},
+ february = {{фебруар}{феб\adddot}},
+ file = {{датотека}{датотека}},
+ foreword = {{предговор}{предговор}},
+ forthcoming = {{долазеће}{долазеће}},
+ founder = {{оснивач}{осн\adddot}},
+ founders = {{оснивачи}{осн\adddot}},
+ fromamerican = {{са америчког}{са америчког}},
+ frombrazilian = {{са бразилског}{са бразилског}},
+ frombulgarian = {{са бугарског}{са бугарског}},
+ fromcatalan = {{са каталонског}{са каталонског}},
+ fromcroatian = {{са хрватског}{са хрватског}},
+ fromczech = {{са чешког}{са чешког}},
+ fromdanish = {{са данског}{са данског}},
+ fromdutch = {{са холандског}{са холандског}},
+ fromenglish = {{са енглеског}{са енглеског}},
+ fromestonian = {{са естонског}{са естонског}},
+ fromfinnish = {{са финског}{са финског}},
+ fromfrench = {{са француског}{са француског}},
+ fromgalician = {{са галицијског}{са галицијског}},
+ fromgerman = {{са немачког}{са немачког}},
+ fromgreek = {{са грчког}{са грчког}},
+ fromhungarian = {{са мађарског}{са мађарског}},
+ fromitalian = {{са италијанског}{са италијанског}},
+ fromjapanese = {{са јапанског}{са јапанског}},
+ fromlatin = {{са латинског}{са латинског}},
+ fromlatvian = {{са летонског}{са летонског}},
+ fromnorwegian = {{са норвешког}{са норвешког}},
+ frompolish = {{са пољског}{са пољског}},
+ fromportuguese = {{са португалског}{са португалског}},
+ fromrussian = {{са руског}{са руског}},
+ fromslovak = {{са словачког}{са словачког}},
+ fromslovene = {{са словеначког}{са словеначког}},
+ fromspanish = {{са шпанског}{са шпанског}},
+ fromswedish = {{са шведског}{са шведског}},
+ fromukrainian = {{са украјинског}{са украјинског}},
+ ibidem = {{ibidem}{ibid\adddot}},
+ idem = {{idem}{idem}},
+ idempf = {{eaedem}{eaedem}},
+ idempm = {{eidem}{eidem}},
+ idempn = {{eadem}{eadem}},
+ idempp = {{eidem}{eidem}},
+ idemsf = {{eadem}{eadem}},
+ idemsm = {{idem}{idem}},
+ idemsn = {{idem}{idem}},
+ in = {{у}{у}},
+ inpreparation = {{у припреми}{у припреми}},
+ inpress = {{у штампи}{у штампи}},
+ inseries = {{у}{у}},
+ introduction = {{увод}{ув\adddot}},
+ involumes = {{у}{у}},
+ issue = {{издање}{издање}},
+ january = {{јануар}{јан\adddot}},
+ jourser = {{серија}{сер\adddot}},
+ jourvol = {{свеска}{св\adddot}},
+ july = {{јул}{јул}},
+ june = {{јун}{јун}},
+ langamerican = {{амерички}{амерички}},
+ langbrazilian = {{бразилски}{бразилски}},
+ langbulgarian = {{бугарски}{бугарски}},
+ langcatalan = {{каталански}{каталански}},
+ langcroatian = {{хрватски}{хрватски}},
+ langczech = {{чешки}{чешки}},
+ langdanish = {{дански}{дански}},
+ langdutch = {{холандски}{холандски}},
+ langenglish = {{енглески}{енглески}},
+ langestonian = {{естонски}{естонски}},
+ langfinnish = {{фински}{фински}},
+ langfrench = {{француски}{француски}},
+ langgalician = {{галицијски}{галицијски}},
+ langgerman = {{немачки}{немачки}},
+ langgreek = {{грчки}{грчки}},
+ langhungarian = {{мађарски}{мађарски}},
+ langitalian = {{италијански}{италијански}},
+ langjapanese = {{јапански}{јапански}},
+ langlatin = {{латински}{латински}},
+ langlatvian = {{летонски}{летонски}},
+ langnorwegian = {{норвешки}{норвешки}},
+ langpolish = {{пољски}{пољски}},
+ langportuguese = {{португалски}{португалски}},
+ langrussian = {{руски}{руски}},
+ langslovak = {{словачки}{словачки}},
+ langslovene = {{словеначки}{словеначки}},
+ langspanish = {{шпански}{шпански}},
+ langswedish = {{шведски}{шведски}},
+ langukrainian = {{украјински}{украјински}},
+ library = {{библиотека}{библиотека}},
+ line = {{ред}{р\adddot}},
+ lines = {{редови}{р\adddot}},
+ linetotal = {{ред}{р\adddot}},
+ linetotals = {{редови}{р\adddot}},
+ loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}},
+ march = {{март}{мар\adddot}},
+ mathesis = {{мастер рад}{мастер рад}},
+ may = {{мај}{мај}},
+ newseries = {{нова серија}{нова серија}},
+ nodate = {{без датума}{без датума}},
+ november = {{новембар}{нов\adddot}},
+ number = {{број}{бр\adddot}},
+ october = {{октобар}{окт\adddot}},
+ ofseries = {{серија}{сер\adddot}},
+ oldseries = {{стара серија}{стара серија}},
+ opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}},
+ organizer = {{организатор}{орг\adddot}},
+ organizers = {{организатори}{орг\adddot}},
+ origpubas = {{оригинално издато као}{оригинално издато као}},
+ origpubin = {{оригинално издато}{оригинално издато}},
+ page = {{страна}{стр\adddot}},
+ pages = {{стране}{стр\adddot}},
+ pagetotal = {{страна}{стр\adddot}},
+ pagetotals = {{стране}{стр\adddot}},
+ paragraph = {{пасус}{пас\adddot}},
+ paragraphs = {{пасуси}{пас\adddot}},
+ paragraphtotal = {{пасус}{пас\adddot}},
+ paragraphtotals = {{пасуси}{пас\adddot}},
+ part = {{део}{део}},
+ passim = {{passim}{pass\adddot}},
+ patent = {{патент}{пат\adddot}},
+ patentde = {{немачки патент}{нем\adddot\ пат\adddot}},
+ patenteu = {{европски патент}{евр\adddot\ пат\adddot}},
+ patentfr = {{француски патент}{франц\adddot\ пат\adddot}},
+ patentuk = {{британски патент}{брит\adddot\ пат\adddot}},
+ patentus = {{САД патент}{САД пат\adddot}},
+ patreq = {{захтев за патент}{захтев за патент}},
+ patreqde = {{немачки захтев за патент}{немачки захтев за патент}},
+ patreqeu = {{европски захтев за патент}{европски захтев за патент}},
+ patreqfr = {{француски захтев за патент}{француски захтев за патент}},
+ patrequk = {{британски захтев за патент}{британски захтев за патент}},
+ patrequs = {{САД захтев за патент}{САД захтев за патент}},
+ phdthesis = {{докторска теза}{докторска теза}},
+ pm = {{PM}{PM}},
+ prepublished = {{прелиминарно издање}{прелиминарно издање}},
+ quotedin = {{цитирано у}{цит\adddotspace у}},
+ redactor = {{редактор}{ред\adddot}},
+ redactors = {{редактори}{ред\adddot}},
+ references = {{Литература}{Литература}},
+ reprint = {{репринт}{репринт}},
+ reprintas = {{поново издато као као}{поново издато као као}},
+ reprintfrom = {{репринт из}{репринт из}},
+ reprintof = {{репринт}{репринт}},
+ resreport = {{истраживачки извештај}{истраживачки извештај}},
+ reviewof = {{рецензија}{рецензија}},
+ reviser = {{коректор}{коректор}},
+ revisers = {{коректори}{коректори}},
+ section = {{секција}{сек\adddot}},
+ sections = {{секције}{сек\adddot}},
+ sectiontotal = {{секција}{сек\adddot}},
+ sectiontotals = {{секције}{сек\adddot}},
+ see = {{види}{види}},
+ seealso = {{види\addabbrvspace и}{види}},
+ seenote = {{види фусноту}{види фусноту}},
+ september = {{септембар}{септ\adddot}},
+ sequens = {{sq\adddot}{sq\adddot}},
+ sequentes = {{sqq\adddot}{sqq\adddot}},
+ shorthands = {{Списак скраћеница}{Скраћенице}},
+ software = {{рачунарски софтвер}{рач\adddot\ софтвер}},
+ spring = {{пролеће}{пролеће}},
+ submitted = {{послато}{послато}},
+ summer = {{лето}{лето}},
+ techreport = {{технички извештај}{техн\adddotspace изв\adddot}},
+ thiscite = {{посебно}{посебно}},
+ translationas = {{преведено као}{преведено као}},
+ translationfrom = {{преведено са}{преведено са}},
+ translationof = {{превод}{превод}},
+ translator = {{преводилац}{преводилац}},
+ translatoraf = {{преводилац и аутор поговора}{преводилац и аутор поговора}},
+ translatoran = {{преводилац и анотатор}{преводилац и анотатор}},
+ translatoranaf = {{преводилац, аутор анотација и аутор поговора}{преводилац, аутор анотација и аутор поговора}},
+ translatoranfo = {{преводилац, аутор анотација и аутор предговора}{преводилац, аутор анотација и аутор предговора}},
+ translatoranin = {{преводилац, аутор анотација и аутор увода}{преводилац, аутор анотација и аутор увода}},
+ translatorco = {{преводилац и коментатор}{преводилац и коментатор}},
+ translatorcoaf = {{преводилац, коментар и аутор поговора}{преводилац, коментар и аутор поговора}},
+ translatorcofo = {{преводилац, коментар и аутор предговора}{преводилац, коментар и аутор предговора}},
+ translatorcoin = {{преводилац, коментар и аутор увода}{преводилац, коментар и аутор увода}},
+ translatorfo = {{преводилац и аутор предговора}{преводилац и аутор предговора}},
+ translatorin = {{преводилац и аутор увода}{преводилац и аутор увода}},
+ translators = {{преводиоци}{преводиоци}},
+ translatorsaf = {{преводилац и аутор поговора}{преводилац и аутор поговора}},
+ translatorsan = {{преводиоци и аутори белешки}{преводиоци и аутори белешки}},
+ translatorsanaf = {{преводилац, аутор анотација и аутор поговора}{преводилац, аутор анотација и аутор поговора}},
+ translatorsanfo = {{преводилац, аутор анотација и аутор предговора}{преводилац, аутор анотација и аутор предговора}},
+ translatorsanin = {{преводилац, аутор анотација и аутор увода}{преводилац, аутор анотација и аутор увода}},
+ translatorsco = {{преводиоци и коментатори}{преводиоци и коментатори}},
+ translatorscoaf = {{преводилац, коментар и аутор поговора}{преводилац, коментар и аутор поговора}},
+ translatorscofo = {{преводилац, коментар и аутор предговора}{преводилац, коментар и аутор предговора}},
+ translatorscoin = {{преводилац, коментар и аутор увода}{преводилац, коментар и аутор увода}},
+ translatorsfo = {{преводилац и аутор предговора}{преводилац и аутор предговора}},
+ translatorsin = {{преводилац и аутор увода}{преводилац и аутор увода}},
+ url = {{адреса}{адреса}},
+ urlfrom = {{доступно на}{доступно на}},
+ urlseen = {{посећено}{посећено}},
+ verse = {{строфа}{стр\adddot}},
+ verses = {{строфе}{стр\adddot}},
+ versetotal = {{строфа}{стр\adddot}},
+ versetotals = {{строфе}{стр\adddot}},
+ version = {{верзија}{верзија}},
+ volume = {{свеска}{св\adddot}},
+ volumes = {{свеске}{св\adddot}},
+ winter = {{зима}{зима}},
+ withafterword = {{са поговором}{са поговором}},
+ withannotator = {{са белешкама}{са белешкама}},
+ withcommentator = {{са коментаром}{са коментаром}},
+ withforeword = {{са предговором}{са предговором}},
+ withintroduction = {{са уводом}{са уводом}},
+}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
index 4548ff67df7..2e7201e9c8c 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
@@ -40,13 +40,17 @@
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -74,62 +78,34 @@
}
\DeclareBibliographyStrings{%
- bibliography = {{Zoznam bibliografick\'{y}ch odkazov}%
- {Bibliografia}},
- references = {{Cit\'{a}cie}% % ISO 690 -- section 2.15
- {Cit\'{a}cie}},
- shorthands = {{Zoznam skratiek}%
- {Skratky}},
- editor = {{editor}%
- {ed\adddot}},
- editors = {{editori}%
- {ed\adddot}},
- compiler = {{zostavovate\v{l}}% % ISO 690 -- section 5.1 -- c)
- {zost\adddot}},
- compilers = {{zostavovatelia}%
- {zost\adddot}},
- redactor = {{redaktor}%
- {red\adddot}},
- redactors = {{redaktori}%
- {red\adddot}},
- reviser = {{korektor}%
- {kor\adddot}},
- revisers = {{korektori}%
- {kor\adddot}},
- founder = {{zakladate\v{l}}%
- {zakl\adddot}},
- founders = {{zakladatelia}%
- {zakl\adddot}},
- continuator = {{pokra\v{c}ovate\v{l}}%
- {pokr\adddot}},
- continuators = {{pokra\v{c}ovatelia}%
- {pokr\adddot}},
- collaborator = {{spolupracovn\'{i}k}%
- {spoluprac\adddot}},
- collaborators = {{spolupracovn\'{i}ci}%
- {spoluprac\adddot}},
- translator = {{prekladate\v{l}}%
- {prekl\adddot}},
- translators = {{prekladatelia}%
- {prekl\adddot}},
- commentator = {{koment\'{a}tor}%
- {kom\adddot}},
- commentators = {{koment\'{a}tori}%
- {kom\adddot}},
- annotator = {{anot\'{a}tor}%
- {anot\adddot}},
- annotators = {{anot\'{a}tori}%
- {anot\adddot}},
- commentary = {{koment\'{a}r}%
- {kom\adddot}},
- annotations = {{anot\'{a}cia}%
- {anot\adddot}},
- introduction = {{\'{u}vod}%
- {\'{u}v\adddot}},
- foreword = {{predhovor}%
- {predh\adddot}},
- afterword = {{doslov}%
- {dosl\adddot}},
+ bibliography = {{Zoznam literat\'{u}ry}{Bibliografia}},
+ references = {{Referencie}{Referencie}},
+ shorthands = {{Zoznam skratiek}{Skratky}},
+ editor = {{editor}{ed\adddot}},
+ editors = {{editori}{ed\adddot}},
+ compiler = {{zostavovate\v{l}}{zost\adddot}},
+ compilers = {{zostavovatelia}{zost\adddot}},
+ redactor = {{redaktor}{red\adddot}},
+ redactors = {{redaktori}{red\adddot}},
+ reviser = {{korektor}{kor\adddot}},
+ revisers = {{korektori}{kor\adddot}},
+ founder = {{zakladate\v{l}}{zakl\adddot}},
+ founders = {{zakladatelia}{zakl\adddot}},
+ continuator = {{pokra\v{c}ovate\v{l}}{pokr\adddot}},% FIXME: unsure
+ continuators = {{pokra\v{c}ovatelia}{pokr\adddot}},% FIXME: unsure
+ collaborator = {{spolupracovn\'{\i}k}{spoluprac\adddot}},
+ collaborators = {{spolupracovn\'{\i}ci}{spoluprac\adddot}},
+ translator = {{prekladate\v{l}}{prekl\adddot}},
+ translators = {{prekladatelia}{prekl\adddot}},
+ commentator = {{koment\'{a}tor}{kom\adddot}},
+ commentators = {{koment\'{a}tori}{kom\adddot}},
+ annotator = {{anot\'{a}tor}{anot\adddot}},
+ annotators = {{anot\'{a}tori}{anot\adddot}},
+ commentary = {{koment\'{a}r}{kom\adddot}},
+ annotations = {{anot\'{a}cie}{anot\adddot}},
+ introduction = {{\'{u}vod}{\'{u}v\adddot}},
+ foreword = {{predhovor}{predh\adddot}},
+ afterword = {{doslov}{dosl\adddot}},
editortr = {{editor a prekladate\v{l}}%
{ed\adddotspace a prekl\adddot}},
editorstr = {{editori a prekladatelia}%
@@ -230,97 +206,84 @@
{prekl\adddot\ a anot\adddot}},
translatorsan = {{prekladatelia a anot\'{a}tori}%
{prekl\adddot\ a anot\adddot}},
- translatorin = {{prekladate\v{l} a \'{u}vod}%
+ translatorin = {{preklad a \'{u}vod}%
{prekl\adddot\ a \'{u}v\adddot}},
- translatorsin = {{prekladatelia a \'{u}vod}%
+ translatorsin = {{preklad a \'{u}vod}%
{prekl\adddot\ a \'{u}v\adddot}},
- translatorfo = {{prekladate\v{l} a predhovor}%
+ translatorfo = {{preklad a predhovor}%
{prekl\adddot\ a predh\adddot}},
- translatorsfo = {{prekladatelia a predhovor}%
+ translatorsfo = {{preklad a predhovor}%
{prekl\adddot\ a predh\adddot}},
- translatoraf = {{prekladate\v{l} a doslov}%
+ translatoraf = {{preklad a doslov}%
{prekl\adddot\ a dosl\adddot}},
- translatorsaf = {{prekladatelia a doslov}%
+ translatorsaf = {{preklad a doslov}%
{prekl\adddot\ a dosl\adddot}},
- translatorcoin = {{prekladate\v{l}, koment\'{a}tor\ a \'{u}vod}%
+ translatorcoin = {{preklad, koment\'{a}r\ a \'{u}vod}%
{prekl., kom\adddot\ a \'{u}v\adddot}},
- translatorscoin = {{prekladatelia, koment\'{a}tori\ a \'{u}vod}%
+ translatorscoin = {{preklad, koment\'{a}r\ a \'{u}vod}%
{prekl., kom\adddot\ a \'{u}v\adddot}},
- translatorcofo = {{prekladate\v{l}, koment\'{a}tor\ a predhovor}%
+ translatorcofo = {{preklad, koment\'{a}r\ a predhovor}%
{prekl., kom\adddot\ a predh\adddot}},
- translatorscofo = {{prekladatelia, koment\'{a}tori\ a predhovor}%
+ translatorscofo = {{preklad, koment\'{a}r\ a predhovor}%
{prekl., kom\adddot\ a predh\adddot}},
- translatorcoaf = {{prekladate\v{l}, koment\'{a}tor\ a doslov}%
+ translatorcoaf = {{preklad, koment\'{a}r\ a doslov}%
{prekl., kom\adddot\ a dosl\adddot}},
- translatorscoaf = {{prekladatelia, koment\'{a}tori\ a doslov}%
+ translatorscoaf = {{preklad, koment\'{a}r\ a doslov}%
{prekl., kom\adddot\ a dosl\adddot}},
- translatoranin = {{prekladate\v{l}, anot\'{a}tor\ a \'{u}vod}%
+ translatoranin = {{preklad, anot\'{a}cia\ a \'{u}vod}%
{prekl., anot\adddot\ a \'{u}v\adddot}},
- translatorsanin = {{prekladatelia, anot\'{a}tori\ a \'{u}vod}%
+ translatorsanin = {{preklad, anot\'{a}cie\ a \'{u}vod}%
{prekl., anot\adddot\ a \'{u}v\adddot}},
- translatoranfo = {{prekladate\v{l}, anot\'{a}tor\ a predhovor}%
+ translatoranfo = {{preklad, anot\'{a}cia\ a predhovor}%
{prekl., anot\adddot\ a predh\adddot}},
- translatorsanfo = {{prekladatelia, anot\'{a}tori\ a predhovor}%
+ translatorsanfo = {{preklad, anot\'{a}cie\ a predhovor}%
{prekl., anot\adddot\ a predh\adddot}},
- translatoranaf = {{prekladate\v{l}, anot\'{a}tor\ a doslov}%
+ translatoranaf = {{preklad, anot\'{a}cia\ a doslov}%
{prekl., anot\adddot\ a dosl\adddot}},
- translatorsanaf = {{prekladatelia, anot\'{a}tori\ a doslov}%
+ translatorsanaf = {{preklad, anot\'{a}cie\ a doslov}%
{prekl., anot\adddot\ a dosl\adddot}},
-% organizer = {{}{}},% FIXME: missing
-% organizers = {{}{}},% FIXME: missing
-% byorganizer = {{}{}},% FIXME: missing
- byauthor = {{}%
- {}},
- byeditor = {{editovan\'{e}}%
- {ed\adddot}},
- bycompiler = {{zostaven\'{e}}%
- {zost\adddot}},
- byredactor = {{redigovan\'{e}}%
- {red\adddot}},
- byfounder = {{zalo\v{z}en\'{e}}%
- {zal\adddot}},
- bycontinuator = {{pokra\v{c}ovan\'{e}}%
- {pokr\adddot}},
- bycollaborator = {{v\addnbspace spolupr\'{a}ci s}%
- {v\addnbspace spol\adddotspace s}},
- bytranslator = {{prelo\v{z}en\'{e} \lbx@lfromlang}%
- {prel\adddot\ \lbx@sfromlang}},
- bycommentator = {{komentovan\'{e}}%
- {kom\adddot}},
- byannotator = {{anotovan\'{e}}%
- {anot\adddot}},
- withcommentator = {{s\addnbspace koment\'{a}rom od}%
- {s\addnbspace kom\adddotspace od}},
- withannotator = {{s\addnbspace anot\'{a}ciami od}%
- {s\addnbspace anot\adddot\ od}},
- withintroduction = {{s\addnbspace \'{u}vodom od}%
- {s\addnbspace \'{u}v\adddot\ od}},
- withforeword = {{s\addnbspace predhovorom od}%
- {s\addnbspace predh\adddot\ od}},
- withafterword = {{s\addnbspace doslovom od}%
- {s\addnbspace dosl\adddot\ od}},
- byeditortr = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang\ }%
- {ed\adddotspace a prel\adddot\ \lbx@sfromlang\ }},
+ organizer = {{organiz\'{a}tor}{org\adddot}},% FIXME: unsure
+ organizers = {{organiz\'{a}tori}{org\adddot}},% FIXME: unsure
+ byorganizer = {{organizovan\'{e}}{org\adddot}},% FIXME: unsure
+ byauthor = {{}{}},
+ byeditor = {{editovan\'{e}}{ed\adddot}},
+ bycompiler = {{zostaven\'{e}}{zost\adddot}},
+ byredactor = {{redigovan\'{e}}{red\adddot}},
+ byreviser = {{korigovan\'{e}}{kor\adddot}},
+ byreviewer = {{recenzovan\'{e}}{recenz\adddot}},
+ byfounder = {{zalo\v{z}en\'{e}}{zal\adddot}},
+ bycontinuator = {{pokra\v{c}ovan\'{e}}{pokr\adddot}},
+ bycollaborator = {{v\addnbspace spolupr\'{a}ci s\addnbspace}{v\addnbspace spol\adddotspace s\addnbspace}},
+ bytranslator = {{prelo\v{z}en\'{e} \lbx@lfromlang}{prel\adddot\ \lbx@sfromlang}},
+ bycommentator = {{komentovan\'{e}}{kom\adddot}},
+ byannotator = {{anotovan\'{e}}{anot\adddot}},
+ withcommentator = {{s\addnbspace koment\'{a}rom od}{s\addnbspace kom\adddot\ od}},
+ withannotator = {{s\addnbspace anot\'{a}ciami od}{s\addnbspace anot\adddot\ od}},
+ withintroduction = {{s\addnbspace \'{u}vodom od}{s\addnbspace \'{u}v\adddot\ od}},
+ withforeword = {{s\addnbspace predhovorom od}{s\addnbspace predh\adddot\ od}},
+ withafterword = {{s\addnbspace doslovom od}{s\addnbspace dosl\adddot\ od}},
+ byeditortr = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang}%
+ {ed\adddotspace a prel\adddot\ \lbx@sfromlang}},
byeditorco = {{editovan\'{e} a komentovan\'{e}}%
- {ed\adddotspace a kom\adddot\ }},
+ {ed\adddotspace a kom\adddot}},
byeditoran = {{editovan\'{e} a anotovan\'{e}}%
- {ed\adddotspace a anot\adddot\ }},
+ {ed\adddotspace a anot\adddot}},
byeditorin = {{editovan\'{e}, s\addnbspace \'{u}vodom}%
{ed.,\addabbrvspace s\addnbspace \'{u}v\adddot}},
byeditorfo = {{editovan\'{e}, s\addnbspace predhovorom}%
- {ed.,\addabbrvspace s\addnbspace predh.,}},
+ {ed.,\addabbrvspace s\addnbspace predh\adddot}},
byeditoraf = {{editovan\'{e}, s\addnbspace doslovom}%
- {ed.,\addabbrvspace s\addnbspace dosl.,}},
+ {ed.,\addabbrvspace s\addnbspace dosl\adddot}},
byeditortrco = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}}%
- {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom\adddot\ }},
+ {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom\adddot}},
byeditortran = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}}%
- {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot\ }},
+ {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot}},
byeditortrin = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace \'{u}vodom}%
{ed\adddotspace a prel\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}},
byeditortrfo = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace predhovorom}%
{ed\adddotspace a prel\adddot\ \lbx@sfromlang, s\addnbspace predh\adddot}},
byeditortraf = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace doslovom}%
- {ed\adddotspace a prekl\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}},
+ {ed\adddotspace a prel\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}},
byeditorcoin = {{editovan\'{e} a komentovan\'{e}, s\addnbspace \'{u}vodom}%
{ed\adddotspace a kom., s\addnbspace \'{u}v\adddot}},
byeditorcofo = {{editovan\'{e} a komentovan\'{e}, s\addnbspace predhovorom}%
@@ -367,356 +330,206 @@
{prel\adddot\ \lbx@sfromlang\ a anot., s\addnbspace predh\adddot}},
bytranslatoranaf = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace doslovom}%
{prel\adddot\ \lbx@sfromlang\ a anot., s\addnbspace dosl\adddot}},
- and = {{a}%
- {a}},
- andothers = {{et\addabbrvspace al\adddot}% %et\addabbrvspace alii
- {et\addabbrvspace al\adddot}},
- andmore = {{et\addabbrvspace al\adddot}% %et\addabbrvspace alii
- {et\addabbrvspace al\adddot}},
- volume = {{zv\"{a}zok}%
- {zv\adddot}},
- volumes = {{zv\"{a}zky}%
- {zv\adddot}},
- involumes = {{in}%
- {in}},
- jourvol = {{ro\v{c}n\'{i}k}%
- {ro\v{c}\adddot}},
- jourser = {{ed\'{i}cia}% % ISO 690 -- section 2.17
- {ed\adddot}},
- book = {{kniha}%
- {kniha}},
- part = {{\v{c}as\v{t}}%
- {\v{c}as\v{t}}},
- issue = {{\v{c}\'{i}slo}%
- {\v{c}\'{i}slo}},
- newseries = {{nov\'{a} ed\'{i}cia}% % ISO 690 -- section 2.17
- {n\adddotspace ed\adddot}},
- oldseries = {{star\'{a} ed\'{i}cia}% % ISO 690 -- section 2.17
- {st\adddotspace ed\adddot}},
- edition = {{vydanie}%
- {vyd\adddot}},
- reprint = {{dotla\v{c}}%
- {dotl\adddot}},
- reprintof = {{dotla\v{c}}%
- {dotl\adddot}},
- reprintas = {{dotla\v{c}en\'{e} ako}%
- {dotl\adddotspace ako}},
- reprintfrom = {{dotla\v{c}en\'{e} z}%
- {dotl\adddotspace z}},
- reviewof = {{hodnotenie}%
- {hodn\adddot}},
- translationof = {{preklad}%
- {prekl\adddot}},
- translationas = {{prelo\v{z}en\'{e} ako}%
- {prel\adddotspace ako}},
- translationfrom = {{prelo\v{z}en\'{e} z}%
- {prel\adddotspace z}},
- origpubas = {{p\^{o}vodne vydan\'{e} ako}%
- {p\^{o}v\adddotspace vyd\adddotspace ako}},
- origpubin = {{p\^{o}vodne vydan\'{e} v\addnbspace roku}%
- {p\^{o}v\adddotspace vyd\adddotspace v\addnbspace r\adddot}},
- astitle = {{ako}%
- {ako}},
- bypublisher = {{}%
- {}},
- page = {{strana}%
- {s\adddot}},
- pages = {{strany}%
- {s\adddot}},
- column = {{st\'{l}pec}%
- {st\'{l}p\adddot}},
- columns = {{st\'{l}pce}%
- {st\'{l}p\adddot}},
- line = {{riadok}%
- {r\adddot}},
- lines = {{riadky}%
- {r\adddot}},
- nodate = {{nedatovan\'{e}}% % ISO 690 -- section 9.3.4
- {b\adddotspace r\adddot}}, % bez roku
- verse = {{ver\v{s}}%
- {v\adddot}},
- verses = {{ver\v{s}e}%
- {v\adddot}},
- section = {{paragraf}%
- {\S}},
- sections = {{paragrafy}%
- {\S\S}},
- paragraph = {{odsek}%
- {ods\adddot}},
- paragraphs = {{odseky}%
- {ods\adddot}},
- in = {{in}%
- {in}},
- inseries = {{v}%
- {v}},
- ofseries = {{z}%
- {z}},
- number = {{\v{c}\'{i}slo}%
- {\v{c}\adddot}},
- chapter = {{kapitola}%
- {kap\adddot}},
-% bathesis = {{}{}},% FIXME: missing
- mathesis = {{diplomov\'{a} pr\'{a}ca}%
- {dipl\adddotspace pr\adddot}},
- phdthesis = {{dizerta\v{c}n\'{a} pr\'{a}ca}%
- {diz\adddotspace pr\adddot}},
- candthesis = {{kandid\'{a}tska pr\'{a}ca}%
- {kand\adddotspace pr\adddot}},
- resreport = {{v\'{y}skumn\'{a} spr\'{a}va}%
- {v\'{y}sk\adddot\ spr\adddot}},
- techreport = {{technick\'{a} spr\'{a}va}%
- {tech\adddotspace spr\adddot}},
- software = {{po\v{c}\'{i}ta\v{c}ov\'{y} softv\'{e}r}%
- {soft\adddot}},
- datacd = {{CD-ROM}%
- {CD-ROM}},
- audiocd = {{audio CD}%
- {audio CD}},
- version = {{verzia}%
- {ver\adddot}},
- url = {{url}%
- {url}},
- urlfrom = {{dostupn\'{e} z}% % ISO 690 -- section 15.2.6
- {dostupn\'{e} z}},
- urlseen = {{citovane\'{e}}%
- {cit\adddot}},
- inpreparation = {{v\addnbspace pr\'{i}prave}%
- {v\addnbspace pr\'{i}prave}},
- submitted = {{predlo\v{z}en\'{e}}%
- {predl\adddot}},
- forthcoming = {{prijat\'{e}}%
- {prij\adddot}},
- inpress = {{v\addnbspace tla\v{c}i}%
- {v\addnbspace tla\v{c}i}},
- prepublished = {{pred publikovan\'{i}m}%
- {pred publ\adddot}},
- citedas = {{\v{d}alej citovan\'{e} ako}%
- {\v{d}alej cit\adddotspace ako}},
- thiscite = {{obzvl\'{a}\v{s}\v{t}}%
- {obzvl\adddot}},
- seenote = {{vi\v{d} pozn\'{a}mka}%
- {vi\v{d} pozn\adddot}},
- quotedin = {{citovan\'{e} v}%
- {cit\adddotspace v}},
- idem = {{idem}%
- {idem}},
- 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 = {{vi\v{d}}%
- {vi\v{d}}},
- seealso = {{vi\v{d} tie\v{z}}%
- {vi\v{d} tie\v{z}}},
- backrefpage = {{citovan\'{e} na strane}%
- {cit\adddotspace na s\adddot}},
- backrefpages = {{citovan\'{e} na stran\'{a}ch}%
- {cit\adddotspace na str\adddot}},
- january = {{janu\'{a}r}%
- {jan\adddot}},
- february = {{febru\'{a}r}%
- {feb\adddot}},
- march = {{marec}%
- {mar\adddot}},
- april = {{apr\'{i}l}%
- {apr\adddot}},
- may = {{m\'{a}j}%
- {m\'{a}j}},
- june = {{j\'{u}n}%
- {j\'{u}n}},
- july = {{j\'{u}l}%
- {j\'{u}l}},
- august = {{august}%
- {aug\adddot}},
- september = {{september}%
- {sept\adddot}},
- october = {{okt\'{o}ber}%
- {okt\adddot}},
- november = {{november}%
- {nov\adddot}},
- december = {{december}%
- {dec\adddot}},
- langamerican = {{americk\'{a} angli\v{c}tina}%
- {am\adddot angl\adddot}},
- langbrazilian = {{braz\'{i}lska portugal\v{c}ina}%
- {braz\adddot portugal\adddot}},
-% langbulgarian = {{}{}},% FIXME: missing
- langcatalan = {{katal\'{a}n\v{c}ina}%
- {katal\adddot}},
- langcroatian = {{chorv\'{a}t\v{c}ina}%
- {chorv\adddot}},
- langczech = {{\v{c}e\v{s}tina}%
- {\v{c}e\v{s}tina}},
- langdanish = {{d\'{a}n\v{c}ina}%
- {d\'{a}n\adddot}},
- langdutch = {{holand\v{c}ina}%
- {hol\adddot}},
- langenglish = {{angli\v{c}tina}%
- {angl\adddot}},
-% langestonian = {{}{}},% FIXME: missing
- langfinnish = {{f\'{i}n\v{c}ina}%
- {f\'{i}n\adddot}},
- langfrench = {{franc\'{u}z\v{s}tina}%
- {franc\adddot}},
- langgalician = {{gal\'icij\v{c}ina}%
- {gal\adddot}},
- langgerman = {{nem\v{c}ina}%
- {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}%
- {jap\adddot}},
- langlatin = {{latin\v{c}ina}%
- {lat\adddot}},
-% langlatvian = {{}{}},% FIXME: missing
- langnorwegian = {{n\'{o}r\v{c}ina}%
- {n\'{o}r\adddot}},
- langpolish = {{po\v{l}\v{s}tina}%
- {po\v{l}\adddot}},
- langportuguese = {{portugal\v{c}ina}%
- {portugal\adddot}},
- langrussian = {{ru\v{s}tina}%
- {ru\v{s}tina}},
- langslovak = {{sloven\v{c}ina}%
- {sloven\v{c}ina}},
- langslovene = {{slovin\v{c}ina}%
- {slovin\v{c}ina}},
- langspanish = {{\v{s}paniel\v{c}ina}%
- {\v{s}pan\adddot}},
- langswedish = {{\v{s}v\'{e}d\v{c}ina}%
- {\v{s}v\'{e}d\adddot}},
- fromamerican = {{z\addnbspace americkej angli\v{c}tiny}%
- {z\addnbspace amer\adddot angl\adddot}},
- frombrazilian = {{z\addnbspace braz\'{i}lskej portugal\v{c}iny}%
- {z\addnbspace braz\adddotspace portugal\adddot}},
-% frombulgarian = {{}{}},% FIXME: missing
- fromcatalan = {{z\addnbspace katal\'{a}n\v{c}iny}%
- {z\addnbspace katal\adddot}},
- fromcroatian = {{z\addnbspace chorvat\v{c}iny}%
- {z\addnbspace chorv\adddot}},
- fromczech = {{z\addnbspace \v{c}e\v{s}tiny}%
- {z\addnbspace \v{c}e\v{s}tiny}},
- fromdanish = {{z\addnbspace d\'{a}n\v{c}iny}%
- {z\addnbspace d\'{a}n\adddot}},
- fromdutch = {{z\addnbspace holand\v{c}iny}%
- {z\addnbspace hol\adddot}},
- fromenglish = {{z\addnbspace angli\v{c}tiny}%
- {z\addnbspace angl\adddot}},
-% fromestonian = {{}{}},% FIXME: missing
- fromfinnish = {{z\addnbspace f\'{i}n\v{c}iny}%
- {z\addnbspace f\'{i}n\adddot}},
- fromfrench = {{z\addnbspace franc\'{u}z\v{s}tiny}%
- {z\addnbspace franc\adddot}},
- fromgalician = {{z\addnbspace gal\'icij\v{c}ina}%
- {z\addbnspace gal\adddot}},
- fromgerman = {{z\addnbspace nem\v{c}iny}%
- {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}%
- {z\addnbspace jap\adddot}},
- fromlatin = {{z\addnbspace latin\v{c}iny}%
- {z\addnbspace lat\adddot}},
-% fromlatvian = {{}{}},% FIXME: missing
- fromnorwegian = {{z\addnbspace n\'{o}r\v{c}iny}%
- {z\addnbspace n\'{o}r\adddot}},
- frompolish = {{z\addnbspace po\v{l}\v{s}tiny}%
- {z\addnbspace po\v{l}\adddot}},
- fromportuguese = {{z\addnbspace portugal\v{c}iny}%
- {z\addnbspace portugal\adddot}},
- fromrussian = {{z\addnbspace ru\v{s}tiny}%
- {z\addnbspace ru\v{s}tiny}},
- fromslovak = {{zo sloven\v{c}iny}%
- {zo sloven\v{c}iny}},
- fromslovene = {{zo slovin\v{c}iny}%
- {zo slovin\v{c}iny}},
- fromspanish = {{zo \v{s}paniel\v{c}iny}%
- {zo \v{s}pan\adddot}},
- fromswedish = {{zo \v{s}v\'{e}d\v{c}iny}%
- {zo \v{s}v\'{e}d\adddot}},
- countryde = {{Nemecko}%
- {DE}},
- countryeu = {{Eur\'{o}pska \'{u}nia}%
- {EU}},
- countryep = {{Eur\'{o}pska \'{u}nia}%
- {EP}},
- countryfr = {{Franc\'{u}zsko}%
- {FR}},
- countryuk = {{Ve\v{l}k\'{a} Brit\'{a}nia}%
- {GB}},
- countryus = {{Spojen\'{e} \v{S}t\'{a}ty Americk\'{e}}%
- {US}},
- patent = {{patent}%
- {pat\adddot}},
- patentde = {{nemeck\'{y} patent}%
- {nem\adddot\ pat\adddot}},
- patenteu = {{eur\'{o}psky patent}%
- {eur\adddot\ pat\adddot}},
- patentfr = {{franc\'{u}zsky patent}%
- {franc\adddot\ pat\adddot}},
- patentuk = {{britsk\'{y} patent}%
- {britsk\'{y} pat\adddot}},
- patentus = {{americk\'{y} patent}%
- {US\adddotspace pat\adddot}},
- patreq = {{patentov\'{a} \v{z}iados\v{t}}%
- {pat\adddot\ \v{z}iad\adddot}},
- patreqde = {{nemeck\'{a} patentov\'{a} \v{z}iados\v{t}}%
- {nem\adddot\ pat\adddot\ \v{z}iad\adddot}},
- patreqeu = {{eur\'{o}pska patentov\'{a} \v{z}iados\v{t}}%
- {eur\adddot\ pat\adddot\ \v{z}iad\adddot}},
- patreqfr = {{franc\'{u}zska patentov\'{a} \v{z}iados\v{t}}%
- {franc\adddot\ pat\adddot\ \v{z}iad\adddot}},
- patrequk = {{britsk\'{a} patentov\'{a} \v{z}iados\v{t}}%
- {brit\adddot\ pat\adddot\ \v{z}iad\adddot}},
- patrequs = {{US\adddotspace patentov\'{a} \v{z}iados\v{t}}%
- {US\adddotspace pat\adddot\ \v{z}iad\adddot}},
- file = {{s\'{u}bor}%
- {s\'{u}b\adddot}},
- library = {{kni\v{z}nica}%
- {kni\v{z}nica}},
- abstract = {{abstrakt}%
- {abst\adddot}},
- annotation = {{anot\'{a}cia}%
- {anot\adddot}},
- commonera = {{n\'a\v{s}ho letopo\v{c}tu}{n\adddotspace l\adddot}},
- beforecommonera = {{pred na\v{s}\'{\i}m letopo\v{c}tom}{pred\ n\adddotspace l\adddot}},
- annodomini = {{po Kristovi}{po\ Kr\adddot}},
- beforechrist = {{pred Kristom}{pred\ Kr\adddot}},
-% circa = {{}{}},% FIXME: missing
-% spring = {{}{}},% FIXME: missing
-% summer = {{}{}},% FIXME: missing
-% autumn = {{}{}},% FIXME: missing
-% winter = {{}{}},% FIXME: missing
+ and = {{a}{a}},
+ andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+ andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+ volume = {{zv\"{a}zok}{zv\adddot}},
+ volumes = {{zv\"{a}zky}{zv\adddot}},
+ involumes = {{in}{in}},
+ jourvol = {{ro\v{c}n\'{\i}k}{ro\v{c}\adddot}},
+ jourser = {{ed\'{\i}cia}{ed\adddot}},
+ book = {{kniha}{kniha}},
+ part = {{\v{c}as\v{t}}{\v{c}as\v{t}}},
+ issue = {{\v{c}\'{\i}slo}{\v{c}\'{\i}slo}},
+ newseries = {{nov\'{a} ed\'{\i}cia}{n\adddotspace ed\adddot}},
+ oldseries = {{star\'{a} ed\'{\i}cia}{st\adddotspace ed\adddot}},
+ edition = {{vydanie}{vyd\adddot}},
+ reprint = {{dotla\v{c}}{dotl\adddot}},
+ reprintof = {{dotla\v{c}}{dotl\adddot}},
+ reprintas = {{dotla\v{c}en\'{e} ako}{dotl\adddotspace ako}},
+ reprintfrom = {{dotla\v{c}en\'{e} z\addnbspace}{dotl\adddotspace z\addnbspace}},
+ reviewof = {{recenzia}{recenz\adddot}},
+ translationof = {{preklad}{prekl\adddot}},
+ translationas = {{prelo\v{z}en\'{e} ako}{prel\adddotspace ako}},
+ translationfrom = {{prelo\v{z}en\'{e} z\addnbspace}{prel\adddotspace z\addnbspace}},
+ origpubas = {{p\^{o}vodne vydan\'{e} ako}{p\^{o}v\adddotspace vyd\adddotspace ako}},
+ origpubin = {{p\^{o}vodne vydan\'{e} v\addnbspace roku}{p\^{o}v\adddotspace vyd\adddotspace v\addnbspace r\adddot}},
+ astitle = {{ako}{ako}},
+ bypublisher = {{}{}},
+ nodate = {{nedatovan\'{e}}{b\adddot r\adddot}},% bez roku
+ page = {{strana}{s\adddot}},
+ pages = {{strany}{s\adddot}},
+ column = {{st\'{l}pec}{st\'{l}p\adddot}},
+ columns = {{st\'{l}pce}{st\'{l}p\adddot}},
+ line = {{riadok}{r\adddot}},
+ lines = {{riadky}{r\adddot}},
+ verse = {{ver\v{s}}{v\adddot}},
+ verses = {{ver\v{s}e}{v\adddot}},
+ section = {{sekcia}{\S}},
+ sections = {{sekcie}{\S\S}},
+ paragraph = {{odsek}{ods\adddot}},
+ paragraphs = {{odseky}{ods\adddot}},
+ pagetotal = {{strana}{s\adddot}},
+ pagetotals = {{strany}{s\adddot}},
+ columntotal = {{st\'{l}pec}{st\'{l}p\adddot}},
+ columntotals = {{st\'{l}pce}{st\'{l}p\adddot}},
+ linetotal = {{riadok}{r\adddot}},
+ linetotals = {{riadky}{r\adddot}},
+ versetotal = {{ver\v{s}}{v\adddot}},
+ versetotals = {{ver\v{s}e}{v\adddot}},
+ sectiontotal = {{sekcia}{\S}},
+ sectiontotals = {{sekcie}{\S\S}},
+ paragraphtotal = {{odsek}{ods\adddot}},
+ paragraphtotals = {{odseky}{ods\adddot}},
+ in = {{in}{in}},
+ inseries = {{in}{in}},
+ ofseries = {{z}{z}},
+ number = {{\v{c}\'{\i}slo}{\v{c}\adddot}},
+ chapter = {{kapitola}{kap\adddot}},
+ bathesis = {{bakal\'{a}rska pr\'{a}ca}{bak\adddotspace pr\adddot}},
+ mathesis = {{diplomov\'{a} pr\'{a}ca}{dipl\adddotspace pr\adddot}},
+ phdthesis = {{dizerta\v{c}n\'{a} pr\'{a}ca}{diz\adddotspace pr\adddot}},
+ candthesis = {{kandid\'{a}tska pr\'{a}ca}{kand\adddotspace pr\adddot}},% FIXME: unsure
+ resreport = {{v\'{y}skumn\'{a} spr\'{a}va}{v\'{y}sk\adddot\ spr\adddot}},
+ techreport = {{technick\'{a} spr\'{a}va}{tech\adddotspace spr\adddot}},
+ software = {{po\v{c}\'{\i}ta\v{c}ov\'{y} softv\'{e}r}{soft\adddot}},
+ datacd = {{CD-ROM}{CD-ROM}},
+ audiocd = {{audio CD}{audio CD}},
+ version = {{verzia}{ver\adddot}},
+ url = {{URL}{URL}},
+ urlfrom = {{dostupn\'{e} z\addnbspace}{dostupn\'{e} z\addnbspace}},
+ urlseen = {{citovan\'{e}}{cit\adddot}},
+ inpreparation = {{v\addnbspace pr\'{\i}prave}{v\addnbspace pr\'{\i}prave}},
+ submitted = {{odoslan\'{e}}{odosl\adddot}},
+ forthcoming = {{bud\'{u}ce}{bud\adddot}},
+ inpress = {{v\addnbspace tla\v{c}i}{v\addnbspace tla\v{c}i}},
+ prepublished = {{pred publikovan\'{\i}m}{pred publ\adddot}},
+ citedas = {{\v{d}alej citovan\'{e} ako}{\v{d}alej cit\adddotspace ako}},
+ thiscite = {{obzvl\'{a}\v{s}\v{t}}{obzvl\adddot}},
+ seenote = {{vi\v{d} pozn\'{a}mka}{vi\v{d} pozn\adddot}},
+ quotedin = {{citovan\'{e} v\addnbspace}{cit\adddotspace v\addnbspace}},
+ idem = {{idem}{idem}},
+ 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 = {{vi\v{d}}{vi\v{d}}},
+ seealso = {{vi\v{d} tie\v{z}}{vi\v{d} tie\v{z}}},
+ backrefpage = {{citovan\'{e} na strane}{cit\adddotspace na str\adddot}},
+ backrefpages = {{citovan\'{e} na stran\'{a}ch}{cit\adddotspace na s\adddot}},
+ january = {{janu\'{a}r}{jan\adddot}},
+ february = {{febru\'{a}r}{feb\adddot}},
+ march = {{marec}{mar\adddot}},
+ april = {{apr\'{\i}l}{apr\adddot}},
+ may = {{m\'{a}j}{m\'{a}j}},
+ june = {{j\'{u}n}{j\'{u}n}},
+ july = {{j\'{u}l}{j\'{u}l}},
+ august = {{august}{aug\adddot}},
+ september = {{september}{sept\adddot}},
+ october = {{okt\'{o}ber}{okt\adddot}},
+ november = {{november}{nov\adddot}},
+ december = {{december}{dec\adddot}},
+ langamerican = {{americk\'{a} angli\v{c}tina}{am\adddot\ angl\adddot}},
+ langbrazilian = {{braz\'{\i}lska portugal\v{c}ina}{braz\adddot\ portugal\adddot}},
+ langbulgarian = {{bulhar\v{c}ina}{bulh\adddot}},
+ langcatalan = {{katal\'{a}n\v{c}ina}{katal\adddot}},
+ langcroatian = {{chorv\'{a}t\v{c}ina}{chorv\adddot}},
+ langczech = {{\v{c}e\v{s}tina}{\v{c}e\v{s}tina}},
+ langdanish = {{d\'{a}n\v{c}ina}{d\'{a}n\adddot}},
+ langdutch = {{holand\v{c}ina}{hol\adddot}},
+ langenglish = {{angli\v{c}tina}{angl\adddot}},
+ langestonian = {{est\'{o}n\v{c}ina}{est\adddot}},
+ langfinnish = {{f\'{\i}n\v{c}ina}{f\'{\i}n\adddot}},
+ langfrench = {{franc\'{u}z\v{s}tina}{franc\adddot}},
+ langgalician = {{gal\'{\i}cij\v{c}ina}{gal\adddot}},
+ langgerman = {{nem\v{c}ina}{nem\adddot}},
+ langgreek = {{gr\'{e}\v{c}tina}{gr\'{e}\v{c}tina}},
+ langhungarian = {{ma\v{d}ar\v{c}ina}{ma\v{d}\adddot}},
+ langitalian = {{talian\v{c}ina}{tal\adddot}},
+ langjapanese = {{japon\v{c}ina}{jap\adddot}},
+ langlatin = {{latin\v{c}ina}{lat\adddot}},
+ langlatvian = {{loty\v{s}tina}{lot\adddot}},
+ langnorwegian = {{n\'{o}r\v{c}ina}{n\'{o}r\adddot}},
+ langpolish = {{po\v{l}\v{s}tina}{po\v{l}\adddot}},
+ langportuguese = {{portugal\v{c}ina}{port\adddot}},
+ langrussian = {{ru\v{s}tina}{ru\v{s}tina}},
+ langserbian = {{srb\v{c}ina}{srb\adddot}},
+ langslovak = {{sloven\v{c}ina}{sloven\v{c}ina}},
+ langslovene = {{slovin\v{c}ina}{slovin\v{c}ina}},
+ langspanish = {{\v{s}paniel\v{c}ina}{\v{s}pan\adddot}},
+ langswedish = {{\v{s}v\'{e}d\v{c}ina}{\v{s}v\'{e}d\adddot}},
+ langukrainian = {{ukrajin\v{c}ina}{ukr\adddot}},
+ fromamerican = {{z\addnbspace americkej angli\v{c}tiny}{z\addnbspace amer\adddot\ angl\adddot}},
+ frombrazilian = {{z\addnbspace braz\'{\i}lskej portugal\v{c}iny}{z\addnbspace braz\adddotspace portugal\adddot}},
+ frombulgarian = {{z\addnbspace bulhar\v{c}iny}{z\addnbspace bulh\adddot}},
+ fromcatalan = {{z\addnbspace katal\'{a}n\v{c}iny}{z\addnbspace katal\adddot}},
+ fromcroatian = {{z\addnbspace chorvat\v{c}iny}{z\addnbspace chorv\adddot}},
+ fromczech = {{z\addnbspace \v{c}e\v{s}tiny}{z\addnbspace \v{c}e\v{s}tiny}},
+ fromdanish = {{z\addnbspace d\'{a}n\v{c}iny}{z\addnbspace d\'{a}n\adddot}},
+ fromdutch = {{z\addnbspace holand\v{c}iny}{z\addnbspace hol\adddot}},
+ fromenglish = {{z\addnbspace angli\v{c}tiny}{z\addnbspace angl\adddot}},
+ fromestonian = {{z\addnbspace est\'{o}n\v{c}iny}{z\addnbspace est\adddot}},
+ fromfinnish = {{z\addnbspace f\'{\i}n\v{c}iny}{z\addnbspace f\'{\i}n\adddot}},
+ fromfrench = {{z\addnbspace franc\'{u}z\v{s}tiny}{z\addnbspace franc\adddot}},
+ fromgalician = {{z\addnbspace gal\'{\i}cij\v{c}ina}{z\addbnspace gal\adddot}},
+ fromgerman = {{z\addnbspace nem\v{c}iny}{z\addnbspace nem\adddot}},
+ fromgreek = {{z\addnbspace gr\'{e}\v{c}tiny}{z\addnbspace gr\'{e}\v{c}tiny}},
+ fromhungarian = {{z\addnbspace ma\v{d}ar\v{c}iny}{z\addnbspace ma\v{d}\adddot}},
+ fromitalian = {{z\addnbspace talian\v{c}iny}{z\addnbspace tal\adddot}},
+ fromjapanese = {{z\addnbspace japon\v{c}iny}{z\addnbspace jap\adddot}},
+ fromlatin = {{z\addnbspace latin\v{c}iny}{z\addnbspace lat\adddot}},
+ fromlatvian = {{z\addnbspace loty\v{s}tiny}{z\addnbspace lot\adddot}},
+ fromnorwegian = {{z\addnbspace n\'{o}r\v{c}iny}{z\addnbspace n\'{o}r\adddot}},
+ frompolish = {{z\addnbspace po\v{l}\v{s}tiny}{z\addnbspace po\v{l}\adddot}},
+ fromportuguese = {{z\addnbspace portugal\v{c}iny}{z\addnbspace portugal\adddot}},
+ fromrussian = {{z\addnbspace ru\v{s}tiny}{z\addnbspace ru\v{s}tiny}},
+ fromserbian = {{zo srb\v{c}iny}{zo srb\adddot}},
+ fromslovak = {{zo sloven\v{c}iny}{zo sloven\v{c}iny}},
+ fromslovene = {{zo slovin\v{c}iny}{zo slovin\v{c}iny}},
+ fromspanish = {{zo \v{s}paniel\v{c}iny}{zo \v{s}pan\adddot}},
+ fromswedish = {{zo \v{s}v\'{e}d\v{c}iny}{zo \v{s}v\'{e}d\adddot}},
+ fromukrainian = {{z\addnbspace ukrajin\v{c}iny}{z\addnbspace ukr\adddot}},
+ countryde = {{Nemecko}{DE}},
+ countryeu = {{Eur\'{o}pska \'{u}nia}{EU}},
+ countryep = {{Eur\'{o}pska \'{u}nia}{EP}},
+ countryfr = {{Franc\'{u}zsko}{FR}},
+ countryuk = {{Ve\v{l}k\'{a} Brit\'{a}nia}{GB}},
+ countryus = {{Spojen\'{e} \v{s}t\'{a}ty americk\'{e}}{US}},
+ patent = {{patent}{pat\adddot}},
+ patentde = {{nemeck\'{y} patent}{nem\adddot\ pat\adddot}},
+ patenteu = {{eur\'{o}psky patent}{eur\adddot\ pat\adddot}},
+ patentfr = {{franc\'{u}zsky patent}{franc\adddot\ pat\adddot}},
+ patentuk = {{britsk\'{y} patent}{brit\adddot\ pat\adddot}},
+ patentus = {{US patent}{US pat\adddot}},
+ patreq = {{patentov\'{a} \v{z}iados\v{t}}{pat\adddot\ \v{z}iad\adddot}},
+ patreqde = {{nemeck\'{a} patentov\'{a} \v{z}iados\v{t}}{nem\adddot\ pat\adddot\ \v{z}iad\adddot}},
+ patreqeu = {{eur\'{o}pska patentov\'{a} \v{z}iados\v{t}}{eur\adddot\ pat\adddot\ \v{z}iad\adddot}},
+ patreqfr = {{franc\'{u}zska patentov\'{a} \v{z}iados\v{t}}{franc\adddot\ pat\adddot\ \v{z}iad\adddot}},
+ patrequk = {{britsk\'{a} patentov\'{a} \v{z}iados\v{t}}{brit\adddot\ pat\adddot\ \v{z}iad\adddot}},
+ patrequs = {{US patentov\'{a} \v{z}iados\v{t}}{US pat\adddot\ \v{z}iad\adddot}},
+ file = {{s\'{u}bor}{s\'{u}b\adddot}},
+ library = {{kni\v{z}nica}{kni\v{z}nica}},
+ abstract = {{abstrakt}{abst\adddot}},
+ annotation = {{anot\'{a}cia}{anot\adddot}},
+ commonera = {{n\'{a}\v{s}ho letopo\v{c}tu}{n\adddotspace l\adddot}},
+ beforecommonera = {{pred na\v{s}\'{\i}m letopo\v{c}tom}{pred n\adddotspace l\adddot}},
+ annodomini = {{po Kristovi}{po Kr\adddot}},
+ beforechrist = {{pred Kristom}{pred Kr\adddot}},
+ circa = {{cirka}{ca\adddot}},
+ spring = {{jar}{jar}},
+ summer = {{leto}{leto}},
+ autumn = {{jese\v{n}}{jese\v{n}}},
+ winter = {{zima}{zima}},
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
index 225361ed45e..d1c1df5f41c 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
@@ -40,13 +40,17 @@
\def\mkbibordedition{\mkbibordinal}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
index 3326fe55d20..9f07124a8d2 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
@@ -53,13 +53,17 @@
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
index d0b3cf17473..2ac4fb301b3 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
@@ -77,13 +77,17 @@
Swedish dates. Using format 'short' instead}%
\mkdaterangefull{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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
@@ -332,7 +336,7 @@
origpubin = {{ursprungligen publicerad}{ursprungligen publ\adddot}},
astitle = {{som}{som}},
bypublisher = {{av}{av}},
- nodate = {{u\adddot d\adddot}{n\adddot d\adddot}},%FIXME
+ nodate = {{u\adddot\,\aa \adddot}{u\adddot\,\aa \adddot}},
page = {{sidan}{s\adddot}},
pages = {{sidorna}{s\adddot}},
column = {{spalt}{sp\adddot}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx
new file mode 100644
index 00000000000..ad999c180ec
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx
@@ -0,0 +1,552 @@
+\ProvidesFile{turkish.lbx}
+[\abx@lbxid]
+
+\DeclareRedundantLanguages{turkish}{turkish}
+
+\DeclareBibliographyExtras{%
+ \DeclareCapitalPunctuation{.!?}%
+ \protected\def\bibrangedash{%
+ \textendash\penalty\hyphenpenalty}% breakable dash
+ \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}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\thefield{#3}%
+ \iffieldundef{#2}{}{\nobreakspace}}%
+ \iffieldundef{#2}
+ {}
+ {\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}}%
+ \iffieldundef{#2}{}{/}}%
+ \iffieldundef{#2}
+ {}
+ {\mkmonthzeros{\thefield{#2}}%
+ \iffieldundef{#1}{}{/}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{%
+ \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep
+ \forcezerosmdt{\thefield{#2}}%
+ \iffieldundef{#3}{}
+ {\bibtimesep
+ \forcezerosmdt{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \savecommand\lbx@lfromlang
+ \savecommand\lbx@sfromlang
+ \def\lbx@lfromlang{%
+ \iflistundef{origlanguage}
+ {}
+ {\printlist[lfromoriglanguage]{origlanguage}\space}}%
+ \def\lbx@sfromlang{%
+ \iflistundef{origlanguage}
+ {}
+ {\printlist[sfromoriglanguage]{origlanguage}\space}}%
+}
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\lbx@lfromlang
+ \restorecommand\lbx@sfromlang
+}
+
+\DeclareBibliographyStrings{%
+ bibliography = {{Kaynak\c{c}a}{Kaynak\c{c}a}},
+ references = {{Kaynaklar}{Kaynaklar}},
+ shorthands = {{K\i saltmalar dizini}{K\i saltmalar}},
+ editor = {{edit\"{o}r}{ed\adddot}},
+ editors = {{edit\"{o}rler}{ed\adddot}},
+ compiler = {{derleyen}{der\adddot}},
+ compilers = {{derleyenler}{der\adddot}},
+ redactor = {{yay\i na haz\i rlayan}{yay\adddot\ haz\adddot}},
+ redactors = {{yay\i na haz\i rlayanlar}{yay\adddot\ haz\adddot}},
+ reviser = {{tashih eden}{tashih\adddot}},
+ revisers = {{tashih edenler}{tashih\adddot}},
+ founder = {{kurucu}{kur\adddot}},
+ founders = {{kurucular}{kur\adddot}},
+ continuator = {{tamamlayan}{tam\adddot}},
+ continuators = {{tamamlayanlar}{tam\adddot}},
+ collaborator = {{ortak}{ortak}},
+ collaborators = {{ortaklar}{ortaklar}},
+ translator = {{\c{c}eviren}{\c{c}ev\adddot}},
+ translators = {{\c{c}evirenler}{\c{c}ev\adddot}},
+ commentator = {{yorumlayan}{yrm\adddot}},
+ commentators = {{yorumlayanlar}{yrm\adddot}},
+ annotator = {{a\c{c}\i klayan}{a\c{c}\i k\adddot}},
+ annotators = {{a\c{c}\i klayanlar}{a\c{c}\i k\adddot}},
+ commentary = {{yorum}{yrm\adddot}},
+ annotations = {{a\c{c}\i klamalar}{a\c{c}\i k\adddot}},
+ introduction = {{giri\c{s}}{gir\adddot}},
+ foreword = {{\"{o}ns\"{o}z}{\"{o}ns\adddot}},
+ afterword = {{sons\"{o}z}{sons\adddot}},
+ editortr = {{edit\"{o}r ve \c{c}eviren}%
+ {ed\adddot\ ve \c{c}ev\adddot}},
+ editorstr = {{edit\"{o}rler ve \c{c}evirenler}%
+ {ed\adddot\ ve \c{c}ev\adddot}},
+ editorco = {{edit\"{o}r ve yorumlayan}%
+ {ed\adddot\ ve yrm\adddot}},
+ editorsco = {{edit\"{o}rler ve yorumlayanlar}%
+ {ed\adddot\ ve yrm\adddot}},
+ editoran = {{edit\"{o}r ve a\c{c}\i klayan}%
+ {ed\adddot\ ve a\c{c}\i k\adddot}},
+ editorsan = {{edit\"{o}rler ve a\c{c}\i klayanlar}%
+ {ed\adddot\ ve a\c{c}\i k\adddot}},
+ editorin = {{edit\"{o}r ve giri\c{s}}%
+ {ed\adddot\ ve gir\adddot}},
+ editorsin = {{edit\"{o}rler ve giri\c{s}}%
+ {ed\adddot\ ve gir\adddot}},
+ editorfo = {{edit\"{o}r ve \"{o}ns\"{o}z}%
+ {ed\adddot\ ve \"{o}ns\adddot}},
+ editorsfo = {{edit\"{o}rler ve \"{o}ns\"{o}z}%
+ {ed\adddot\ ve \"{o}ns\adddot}},
+ editoraf = {{edit\"{o}r ve sons\"{o}z}%
+ {ed\adddot\ ve sons\adddot}},
+ editorsaf = {{edit\"{o}rler ve sons\"{o}z}%
+ {ed\adddot\ ve sons\adddot}},
+ editortrco = {{edit\"{o}r, \c{c}eviren and yorumlayan}%
+ {ed\adddot, \c{c}ev\adddot\ ve yrm\adddot}},
+ editorstrco = {{edit\"{o}rler, \c{c}evirenler ve yorumlayanlar}%
+ {ed\adddot, \c{c}ev\adddot\ ve yrm\adddot}},
+ editortran = {{edit\"{o}r, \c{c}eviren ve a\c{c}\i klayan}%
+ {ed\adddot, \c{c}ev\adddot\ ve a\c{c}\i k\adddot}},
+ editorstran = {{edit\"{o}rler, \c{c}evirenler ve a\c{c}\i klayanlar}%
+ {ed\adddot, \c{c}ev\adddot\ ve a\c{c}\i k\adddot}},
+ editortrin = {{edit\"{o}r, \c{c}eviren ve giri\c{s}}%
+ {ed\adddot, \c{c}ev\adddot\ ve gir\adddot}},
+ editorstrin = {{edit\"{o}rler, \c{c}evirenler ve giri\c{s}}%
+ {ed\adddot, \c{c}ev\adddot\ ve gir\adddot}},
+ editortrfo = {{edit\"{o}r, \c{c}eviren ve \"{o}ns\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot\ ve \"{o}ns\adddot}},
+ editorstrfo = {{edit\"{o}rler, \c{c}evirenler ve \"{o}ns\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot\ ve \"{o}ns\adddot}},
+ editortraf = {{edit\"{o}r, \c{c}eviren ve sons\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot\ ve sons\adddot}},
+ editorstraf = {{edit\"{o}rler, \c{c}evirenler ve sons\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot\ ve sons\adddot}},
+ editorcoin = {{edit\"{o}r, yorumlayan ve giri\c{s}}%
+ {ed\adddot, yrm\adddot\ ve gir\adddot}},
+ editorscoin = {{edit\"{o}rler, yorumlayanlar ve giri\c{s}}%
+ {ed\adddot, yrm\adddot\ ve gir\adddot}},
+ editorcofo = {{edit\"{o}r, yorumlayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ editorscofo = {{edit\"{o}rler, yorumlayanlar ve \"{o}ns\"{o}z}%
+ {ed\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ editorcoaf = {{edit\"{o}r, yorumlayan ve sons\"{o}z}%
+ {ed\adddot, yrm\adddot\ ve sons\adddot}},
+ editorscoaf = {{edit\"{o}rler, yorumlayanlar ve sons\"{o}z}%
+ {ed\adddot, yrm\adddot\ ve sons\adddot}},
+ editoranin = {{edit\"{o}r, a\c{c}\i klayan ve giri\c{s}}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ editorsanin = {{edit\"{o}rler, a\c{c}\i klayanlar ve giri\c{s}}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ editoranfo = {{edit\"{o}r, a\c{c}\i klayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ editorsanfo = {{edit\"{o}rler, a\c{c}\i klayanlar ve \"{o}ns\"{o}z}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ editoranaf = {{edit\"{o}r, a\c{c}\i klayan ve sons\"{o}z}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ editorsanaf = {{edit\"{o}rler, a\c{c}\i klayanlar ve sons\"{o}z}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ editortrcoin = {{edit\"{o}r, \c{c}eviren, yorumlayan ve giri\c{s}}%
+ {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}},
+ editorstrcoin = {{edit\"{o}rler, \c{c}evirenler, yorumlayanlar ve giri\c{s}}%
+ {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}},
+ editortrcofo = {{edit\"{o}r, \c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ editorstrcofo = {{edit\"{o}rler, \c{c}evirenler, yorumlayanlar ve \"{o}ns\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ editortrcoaf = {{edit\"{o}r, \c{c}eviren, yorumlayan ve sons\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}},
+ editorstrcoaf = {{edit\"{o}rler, \c{c}evirenler, yorumlayanlar ve sons\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}},
+ editortranin = {{edit\"{o}r, \c{c}eviren, a\c{c}\i klayan ve giri\c{s}}%
+ {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ editorstranin = {{edit\"{o}rler, \c{c}evirenler, a\c{c}\i klayanlar ve giri\c{s}}%
+ {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ editortranfo = {{edit\"{o}r, \c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ editorstranfo = {{edit\"{o}rler, \c{c}evirenler, a\c{c}\i klayanlar ve \"{o}ns\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ editortranaf = {{edit\"{o}r, \c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ editorstranaf = {{edit\"{o}rler, \c{c}evirenler, a\c{c}\i klayanlar ve sons\"{o}z}%
+ {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ translatorco = {{\c{c}eviren ve yorumlayan}%
+ {\c{c}ev\adddot\ ve yrm\adddot}},
+ translatorsco = {{\c{c}evirenler ve yorumlayanlar}%
+ {\c{c}ev\adddot\ ve yrm\adddot}},
+ translatoran = {{\c{c}eviren ve a\c{c}\i klayan}%
+ {\c{c}ev\adddot\ ve a\c{c}\i k\adddot}},
+ translatorsan = {{\c{c}evirenler ve a\c{c}\i klayanlar}%
+ {\c{c}ev\adddot\ ve a\c{c}\i k\adddot}},
+ translatorin = {{\c{c}eviren ve giri\c{s}}%
+ {\c{c}ev\adddot\ ve gir\adddot}},
+ translatorsin = {{\c{c}evirenler ve giri\c{s}}%
+ {\c{c}ev\adddot\ ve gir\adddot}},
+ translatorfo = {{\c{c}eviren ve \"{o}ns\"{o}z}%
+ {\c{c}ev\adddot\ ve \"{o}ns\adddot}},
+ translatorsfo = {{\c{c}evirenler ve \"{o}ns\"{o}z}%
+ {\c{c}ev\adddot\ ve \"{o}ns\adddot}},
+ translatoraf = {{\c{c}eviren ve sons\"{o}z}%
+ {\c{c}ev\adddot\ ve sons\adddot}},
+ translatorsaf = {{\c{c}evirenler ve sons\"{o}z}%
+ {\c{c}ev\adddot\ ve sons\adddot}},
+ translatorcoin = {{\c{c}eviren, yorumlayan ve giri\c{s}}%
+ {\c{c}ev\adddot, yrm\adddot\ ve gir\adddot}},
+ translatorscoin = {{\c{c}evirenler, yorumlayanlar ve giri\c{s}}%
+ {\c{c}ev\adddot, yrm\adddot\ ve gir\adddot}},
+ translatorcofo = {{\c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}%
+ {\c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ translatorscofo = {{\c{c}evirenler, yorumlayanlar ve \"{o}ns\"{o}z}%
+ {\c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ translatorcoaf = {{\c{c}eviren, yorumlayan ve sons\"{o}z}%
+ {\c{c}ev\adddot, yrm\adddot\ ve sons\adddot}},
+ translatorscoaf = {{\c{c}evirenler, yorumlayanlar ve sons\"{o}z}%
+ {\c{c}ev\adddot, yrm\adddot\ ve sons\adddot}},
+ translatoranin = {{\c{c}eviren, a\c{c}\i klayan ve giri\c{s}}%
+ {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ translatorsanin = {{\c{c}evirenler, a\c{c}\i klayanlar ve giri\c{s}}%
+ {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ translatoranfo = {{\c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}%
+ {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ translatorsanfo = {{\c{c}evirenler, a\c{c}\i klayanlar ve \"{o}ns\"{o}z}%
+ {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ translatoranaf = {{\c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}%
+ {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ translatorsanaf = {{\c{c}evirenler, a\c{c}\i klayanlar ve sons\"{o}z}%
+ {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ organizer = {{organizat\"{o}r}{org\adddot}},
+ organizers = {{organizat\"{o}rler}{org\adddot}},
+ byorganizer = {{organizat\"{o}r}{org\adddot}},
+ byauthor = {{yazar}{yazar}},
+ byeditor = {{edit\"{o}r}{ed\adddot}},
+ bycompiler = {{derleyen}{der\adddot}},
+ byredactor = {{yay\i na haz\i rlayan}{yay\adddot\ haz\adddot}},
+ byreviser = {{tashih}{tashih}},
+ byreviewer = {{de\u{g}erlendiren}{de\u{g}\adddot}},
+ byfounder = {{kurucu}{kur\adddot}},
+ bycontinuator = {{tamamlayan}{tam\adddot}},
+ bycollaborator = {{ortakla\c{s}a yapanlar}{ortak\adddot\ yap\adddot}},
+ bytranslator = {{\lbx@lfromlang \c{c}eviren}{\lbx@sfromlang \c{c}ev\adddot}},
+ bycommentator = {{yorumlayan}{yrm\adddot}},
+ byannotator = {{a\c{c}\i klayan}{a\c{c}\i k\adddot}},
+ withcommentator = {{yorumlar\i yla katk\i da bulunan}{yrm\adddot\ kat\adddot\ bul\adddot}},
+ withannotator = {{a\c{c}\i klamalar\i yla katk\i da bulunan}{a\c{c}\i k\adddot\ kat\adddot\ bul\adddot}},
+ withintroduction = {{giri\c{si yazan}}{gir\adddot\ yaz\adddot}},
+ withforeword = {{\"{o}ns\"{o}z\"{u} yazan}{\"{o}ns\adddot\ yaz\adddot}},%
+ withafterword = {{sons\"{o}z\"{u} yazan}{sons\adddot\ yaz\adddot}},
+ byeditortr = {{edit\"{o}r ve \lbx@lfromlang \c{c}eviren}%
+ {ed\adddot\ ve \lbx@sfromlang \c{c}ev\adddot}},
+ byeditorco = {{edit\"{o}r ve yorumlayan}%
+ {ed\adddot\ ve yrm\adddot}},
+ byeditoran = {{edit\"{o}r ve a\c{c}\i klayan}%
+ {ed\adddot\ ve a\c{c}\i k\adddot}},
+ byeditorin = {{edit\"{o}r ve giri\c{s}}%
+ {ed\adddot\ ve gir\adddot}},
+ byeditorfo = {{edit\"{o}r ve \"{o}ns\"{o}z}%
+ {ed\adddot\ ve \"{o}ns\adddot}},
+ byeditoraf = {{edit\"{o}r ve sons\"{o}z}%
+ {ed\adddot\ ve sons\adddot}},
+ byeditortrco = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve yorumlayan}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve yrm\adddot}},
+ byeditortran = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve a\c{c}\i klayan}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve a\c{c}\i k\adddot}},
+ byeditortrin = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve giri\c{s}}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve gir\adddot}},
+ byeditortrfo = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve \"{o}ns\"{o}z}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve \"{o}ns\adddot}},
+ byeditortraf = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve sons\"{o}z}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve sons\adddot}},
+ byeditorcoin = {{edit\"{o}r, yorumlayan ve giri\c{s}}%
+ {ed\adddot, yrm\adddot\ ve gir\adddot}},
+ byeditorcofo = {{edit\"{o}r, yorumlayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ byeditorcoaf = {{edit\"{o}r, yorumlayan ve sons\"{o}z}%
+ {ed\adddot, yrm\adddot\ ve sons\adddot}},
+ byeditoranin = {{edit\"{o}r, a\c{c}\i klayan ve giri\c{s}}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ byeditoranfo = {{edit\"{o}r, a\c{c}\i klayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ byeditoranaf = {{edit\"{o}r, a\c{c}\i klayan ve sons\"{o}z}%
+ {ed\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ byeditortrcoin = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, yorumlayan ve giri\c{s}}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}},
+ byeditortrcofo = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ byeditortrcoaf = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, yorumlayan ve sons\"{o}z}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}},
+ byeditortranin = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve giri\c{s}}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ byeditortranfo = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ byeditortranaf = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}%
+ {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ bytranslatorco = {{\lbx@lfromlang \c{c}eviren ve yorumlayan}%
+ {\lbx@sfromlang \c{c}ev\adddot\ ve yrm\adddot}},
+ bytranslatoran = {{\lbx@lfromlang \c{c}eviren ve a\c{c}\i klayan}%
+ {\lbx@sfromlang \c{c}ev\adddot\ ve a\c{c}\i k\adddot}},
+ bytranslatorin = {{\lbx@lfromlang \c{c}eviren ve giri\c{s}}%
+ {\lbx@sfromlang \c{c}ev\adddot\ ve gir\adddot}},
+ bytranslatorfo = {{\lbx@lfromlang \c{c}eviren ve \"{o}ns\"{o}z}%
+ {\lbx@sfromlang \c{c}ev\adddot\ ve \"{o}ns\adddot}},
+ bytranslatoraf = {{\lbx@lfromlang \c{c}eviren ve sons\"{o}z}%
+ {\lbx@sfromlang \c{c}ev\adddot\ ve sons\adddot}},
+ bytranslatorcoin = {{\lbx@lfromlang \c{c}eviren, yorumlayan ve giri\c{s}}%
+ {\lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}},
+ bytranslatorcofo = {{\lbx@lfromlang \c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}%
+ {\lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}},
+ bytranslatorcoaf = {{\lbx@lfromlang \c{c}eviren, yorumlayan ve sons\"{o}z}%
+ {\lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}},
+ bytranslatoranin = {{\lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve giri\c{s}}%
+ {\lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}},
+ bytranslatoranfo = {{\lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}%
+ {\lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}},
+ bytranslatoranaf = {{\lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}%
+ {\lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}},
+ and = {{ve}{ve}},
+ andothers = {{ve di\u{g}erleri}{ve di\u{g}\adddot}},
+ andmore = {{ve di\u{g}erleri}{ve di\u{g}\adddot}},
+ volume = {{cilt}{c\adddot}},
+ volumes = {{cilt}{c\adddot}},
+ involumes = {{i\c{c}inde}{i\c{c}inde}},
+ jourvol = {{cilt}{c\adddot}},
+ jourser = {{seri}{seri}},
+ book = {{kitap}{kitap}},
+ part = {{k\i s\i m}{k\i s\i m}},
+ issue = {{say\i}{say\i}},
+ newseries = {{yeni seri}{yeni seri}},
+ oldseries = {{eski seri}{eski seri}},
+ edition = {{bask\i}{bs\adddot}},
+ reprint = {{yeni bask\i s\i}{yeni bask\i s\i}},
+ reprintof = {{yeni bask\i s\i}{yeni bask\i s\i}},
+ reprintas = {{yeni bask\i s\i}{yeni bask\i s\i}},
+ reprintfrom = {{yeni bask\i s\i}{yeni bask\i s\i}},
+ reviewof = {{derlenen eser}{der\adddot\ eser}},
+ translationof = {{\c{c}evirilen eser}{\c{c}ev\adddot\ eser}},
+ translationas = {{\c{c}evirilen eser}{\c{c}ev\adddot\ eser}},
+ translationfrom = {{\c{c}evirilen eser}{\c{c}ev\adddot\ eser}},
+ origpubas = {{as\i l eser}{as\i l eser}},
+ origpubin = {{as\i l eser yay\i n tarihi}{as\i l eser yay\i n tarihi}},
+ astitle = {{yeni ba\c{s}l\i k}{yeni ba\c{s}l\i k}},
+ bypublisher = {{yay\i n evi}{yay\i n evi}},
+ nodate = {{tarih yok}{t\adddot y\adddot}},
+ page = {{sayfa}{s\adddot}},
+ pages = {{sayfalar}{ss\adddot}},
+ column = {{s\"{u}tun}{s\"{u}t\adddot}},
+ columns = {{s\"{u}tunlar}{s\"{u}t\adddot}},
+ line = {{sat\i r}{sat\adddot}},
+ lines = {{sat\i rlar}{sat\adddot}},
+ verse = {{m\i sra}{m\i s\adddot}},
+ verses = {{m\i sralar}{m\i s\adddot}},
+ section = {{b\"{o}l\"{u}m}{b\"{o}l\adddot}},
+ sections = {{b\"{o}l\"{u}mler}{b\"{o}l\adddot}},
+ paragraph = {{paragraf}{par\adddot}},
+ paragraphs = {{paragraflar}{par\adddot}},
+ pagetotal = {{toplam sayfa}{s\adddot}},
+ pagetotals = {{toplam sayfalar}{ss\adddot}},
+ columntotal = {{toplam s\"{u}tun}{s\"{u}t\adddot}},
+ columntotals = {{toplam s\"{u}tunlar}{s\"{u}t\adddot}},
+ linetotal = {{toplam sat\i r}{sat\adddot}},
+ linetotals = {{toplam sat\i rlar}{sat\adddot}},
+ versetotal = {{toplam m\i sra}{m\i s\adddot}},
+ versetotals = {{toplam m\i sralar}{m\i s\adddot}},
+ sectiontotal = {{toplam b\"{o}l\"{u}m}{b\"{o}l\adddot}},
+ sectiontotals = {{toplam b\"{o}l\"{u}mler}{b\"{o}l\adddot}},
+ paragraphtotal = {{toplam paragraf}{par\adddot}},
+ paragraphtotals = {{toplam paragraflar}{par\adddot}},
+ in = {{i\c{c}inde}{i\c{c}inde}},
+ inseries = {{serilerde}{serilerde}},
+ ofseries = {{serilerde}{serilerde}},
+ number = {{numara}{no\adddot}},
+ chapter = {{b\"{o}l\"{u}m}{b\"{o}l\adddot}},
+ bathesis = {{lisans tezi}{lis\adddot\ tezi}},
+ mathesis = {{y\"{u}ksek lisans tezi}{y\"{u}k\adddot\ lis\adddot\ tezi}},
+ phdthesis = {{doktora tezi}{dok\adddot\ tezi}},
+ candthesis = {{aday tezi}{aday tezi}},
+ resreport = {{ara\c{s}t\i rma raporu}{ara\c{s}\adddot\ rap\adddot}},
+ techreport = {{teknik rapor}{tek\adddot\ rap\adddot}},
+ software = {{bilgisayar yaz\i l\i m\i}{bilg\adddot\ yaz\adddot}},
+ datacd = {{CD}{CD}},
+ audiocd = {{ses CD'si}{ses CD'si}},
+ version = {{versiyon}{ver\adddot}},
+ url = {{eri\c{s}im adresi}{eri\c{s}im adresi}},
+ urlfrom = {{eri\c{s}im adresi}{eri\c{s}im adresi}},
+ urlseen = {{eri\c{s}im tarihi}{eri\c{s}im tarihi}},
+ inpreparation = {{haz\i rl\i k a\c{s}amas\i nda}{haz\i rl\i k a\c{s}amas\i nda}},
+ submitted = {{g\"{o}nderilmi\c{s}tir}{g\"{o}nderilmi\c{s}tir}},
+ forthcoming = {{yak\i nda}{yak\i nda}},
+ inpress = {{bas\i m a\c{s}amas\i nda}{bas\i m a\c{s}amas\i nda}},
+ prepublished = {{taslak bas\i m\i}{taslak bas\i m\i}},
+ citedas = {{at\i f olarak}{at\i f olarak}},
+ thiscite = {{\"{o}zellikle}{\"{o}z\adddot\ bkz\adddot}},
+ seenote = {{nota bak\i n\i z}{nota bkz\adddot}},
+ quotedin = {{al\i nt\i}{al\i nt\i}},
+ idem = {{ayn\i}{ayn\i}},
+ idemsm = {{ayn\i}{ayn\i}},
+ idemsf = {{ayn\i}{ayn\i}},
+ idemsn = {{ayn\i}{ayn\i}},
+ idempm = {{ayn\i lar\i}{ayn\i lar\i}},
+ idempf = {{ayn\i lar\i}{ayn\i lar\i}},
+ idempn = {{ayn\i lar\i}{ayn\i lar\i}},
+ idempp = {{ayn\i lar\i}{ayn\i lar\i}},
+ ibidem = {{ayn{\i} yer}{ayn{\i} yer}},
+ opcit = {{at\i f yap\i lan \c{c}al\i\c{s}ma}{at\i f yap\adddot\ \c{c}al\adddot}},
+ loccit = {{at\i f yap\i lan yer}{at\i f yap\adddot\ yer}},
+ confer = {{kar\c{s}\i la\c{s}t\i r}{kar\c{s}\adddot}},
+ sequens = {{takip eden}{takip eden}},
+ sequentes = {{takip eden}{takip eden}},
+ passim = {{rastgele}{rastgele}},
+ see = {{bak\i n\i z}{bkz\adddot}},
+ seealso = {{ayr\i ca bak\i n\i z}{ayr\i ca bkz\adddot}},
+ backrefpage = {{sayfada g\"{o}sterilmi\c{s}tir}{say\adddot\ g\"{o}s\adddot}},
+ backrefpages = {{sayfalarda g\"{o}sterilmi\c{s}tir}{say\adddot\ g\"{o}s\adddot}},
+ january = {{Ocak}{Ocak}},
+ february = {{\c{S}ubat}{\c{S}ub\adddot}},
+ march = {{Mart}{Mar\adddot}},
+ april = {{Nisan}{Nis\adddot}},
+ may = {{May\i s}{May\adddot}},
+ june = {{Haziran}{Haz\adddot}},
+ july = {{Temmuz}{Tem\adddot}},
+ august = {{A\u{g}ustos}{A\u{g}us\adddot}},
+ september = {{Eyl\"{u}l}{Eyl\adddot}},
+ october = {{Ekim}{Ekim}},
+ november = {{Kas\i m}{Kas\adddot}},
+ december = {{Aral\i k}{Ara\adddot}},
+ langamerican = {{Amerikanca}{Amerikanca}},
+ langbrazilian = {{Brezilyanca}{Brezilyanca}},
+ langbulgarian = {{Bulgarca}{Bulgarca}},
+ langcatalan = {{Katalanca}{Katalanca}},
+ langcroatian = {{H\i rvat\c{c}a}{H\i rvat\c{c}a}},
+ langczech = {{\c{C}ek\c{c}e}{\c{C}ek\c{c}e}},
+ langdanish = {{Danimarkanca}{Danimarkanca}},
+ langdutch = {{Flemenk\c{c}e}{Flemenk\c{c}e}},
+ langenglish = {{\.{I}ngilizce}{\.{I}ngilizce}},
+ langestonian = {{Estonca}{Estonca}},
+ langfinnish = {{Fince}{Fince}},
+ langfrench = {{Frans\i zca}{Frans\i zca}},
+ langgalician = {{Galce}{Galce}},
+ langgerman = {{Almanca}{Almanca}},
+ langgreek = {{Yunanca}{Yunanca}},
+ langhungarian = {{Macarca}{Macarca}},
+ langitalian = {{\.{I}talyanca}{\.{I}talyanca}},
+ langjapanese = {{Japonca}{Japonca}},
+ langlatin = {{Latince}{Latince}},
+ langlatvian = {{Letonca}{Letonca}},
+ langlithuanian = {{Litvanca}{Litvanca}},
+ langnorwegian = {{Norve\c{c}\c{c}e}{Norve\c{c}\c{c}e}},
+ langpolish = {{Polonyaca}{Polonyaca}},
+ langportuguese = {{Portekizce}{Portekizce}},
+ langrussian = {{Rus\c{c}a}{Rus\c{c}a}},
+ langserbian = {{S\i rp\c{c}a}{S\i rp\c{c}a}},
+ langslovak = {{Slovak\c{c}a}{Slovak\c{c}a}},
+ langslovene = {{Slovence}{Slovence}},
+ langspanish = {{\.{I}spanyolca}{\.{I}spanyolca}},
+ langswedish = {{\.{I}sve\c{c}\c{c}e}{\.{I}sve\c{c}\c{c}e}},
+ langukrainian = {{Ukraynaca}{Ukraynaca}},
+ fromamerican = {{Amerikanca'dan}{Amerikanca'dan}},
+ frombrazilian = {{Brezilyanca'dan}{Brezilyanca'dan}},
+ frombulgarian = {{Bulgarca'dan}{Bulgarca'dan}},
+ fromcatalan = {{Katalanca'dan}{Katalanca'dan}},
+ fromcroatian = {{H\i rvat\c{c}a'dan}{H\i rvat\c{c}a'dan}},
+ fromczech = {{\c{C}ek\c{c}e'den}{\c{C}ek\c{c}e'den}},
+ fromdanish = {{Danimarkanca'dan}{Danimarkanca'dan}},
+ fromdutch = {{Flemenk\c{c}e'den}{Flemenk\c{c}e'den}},
+ fromenglish = {{\.{I}ngilizce'den}{\.{I}ngilizce'den}},
+ fromestonian = {{Estonyaca'dan}{Estonyaca'dan}},
+ fromfinnish = {{Fince'den}{Fince'den}},
+ fromfrench = {{Frans\i zca'dan}{Frans\i zca'dan}},
+ fromgalician = {{Galyaca'dan}{Galyaca'dan}},
+ fromgerman = {{Almanca'dan}{Almanca'dan}},
+ fromgreek = {{Yunanca'dan}{Yunanca'dan}},
+ fromhungarian = {{Macarca'dan}{Macarca'dan}},
+ fromitalian = {{\.{I}talyanca'dan}{\.{I}talyanca'dan}},
+ fromjapanese = {{Japonca'dan}{Japonca'dan}},
+ fromlatin = {{Latince'den}{Latince'den}},
+ fromlatvian = {{Latvianca'dan}{Latvianca'dan}},
+ fromlithuanian = {{Litvanca'dan}{Litvanca'dan}},
+ fromnorwegian = {{Norve\c{c}\c{c}e'den}{Norve\c{c}\c{c}e'den}},
+ frompolish = {{Polonyaca'dan}{Polonyaca'dan}},
+ fromportuguese = {{Portekizce'den}{Portekizce'den}},
+ fromrussian = {{Rus\c{c}a'dan}{Rus\c{c}a'dan}},
+ fromserbian = {{S\i rp\c{c}a'dan}{S\i rp\c{c}a'dan}},
+ fromslovak = {{Slovak\c{c}a'dan}{Slovak\c{c}a'dan}},
+ fromslovene = {{Slovence'den}{Slovence'den}},
+ fromspanish = {{\.{I}spanyolca'dan}{\.{I}spanyolca'dan}},
+ fromswedish = {{\.{I}sve\c{c}\c{c}e'den}{\.{I}sve\c{c}\c{c}e'den}},
+ fromukrainian = {{Ukraynaca'dan}{Ukraynaca'dan}},
+ countryde = {{Almanya}{DE}},
+ countryeu = {{Avrupa Birli\u{g}i}{AB}},
+ countryep = {{Avrupa Birli\u{g}i}{AB}},
+ countryfr = {{Fransa}{FR}},
+ countryuk = {{Birle\c{s}ik Krall\i k}{BK}},
+ countryus = {{Amerika Birle\c{s}ik Devletleri}{ABD}},
+ patent = {{patent}{pat\adddot}},
+ patentde = {{Alman patenti}{Alman pat\adddot}},
+ patenteu = {{Avrupa patenti}{Avrupa pat\adddot}},
+ patentfr = {{Frans\i z patenti}{Frans\i z pat\adddot}},
+ patentuk = {{\.{I}ngiliz patenti}{\.{I}ngiliz pat\adddot}},
+ patentus = {{Amerika patenti}{Amerika pat\adddot}},
+ patreq = {{patent beklemede}{pat\adddot\ bek\adddot}},
+ patreqde = {{Alman patenti beklemede}{Alman pat\adddot\ bek\adddot}},
+ patreqeu = {{Avrupa patenti beklemede}{Avrupa pat\adddot\ bek\adddot}},
+ patreqfr = {{Frans\i z patenti beklemede}{Frans\i z pat\adddot\ bek\adddot}},
+ patrequk = {{\.{I}ngiliz patenti beklemede}{\.{I}ngiliz pat\adddot\ bek\adddot}},
+ patrequs = {{Amerika patenti beklemede}{Amerika pat\adddot\ bek\adddot}},
+ file = {{dosya}{dosya}},
+ library = {{k\"{u}t\"{u}phane}{k\"{u}t\"{u}phane}},
+ abstract = {{\"{o}zet}{\"{o}zet}},
+ annotation = {{a\c{c}\i klama}{a\c{c}\i klama}},
+ commonera = {{milattan sonra}{MS}},
+ beforecommonera = {{milattan \"{o}nce}{M\"{O}}},
+ annodomini = {{milattan sonra}{MS}},
+ beforechrist = {{milattan \"{o}nce}{M\"{O}}},
+ circa = {{yakla\c{s}\i k olarak}{yak\adddot}},
+ spring = {{\.{I}lkbahar}{\.{I}lkbahar}},
+ summer = {{Yaz}{Yaz}},
+ autumn = {{Sonbahar}{Sonbahar}},
+ winter = {{K\i \c{s}}{K\i \c{s}}},
+ am = {{\"{o}\u{g}leden \"{o}nce}{\"{O}\"{O}}},
+ pm = {{\"{o}\u{g}leden sonra}{\"{O}S}},
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx
index b5be8984c5c..19b2a2e1892 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx
@@ -70,13 +70,17 @@
\def\mkbibordedition{\mkbibneutord}%
\def\mkbibordseries{\mkbibfemord}%
\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{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
\iffieldundef{#4}{}
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%