diff options
author | Karl Berry <karl@freefriends.org> | 2022-08-23 20:20:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-08-23 20:20:57 +0000 |
commit | 03053cd1340ad8bfce8b3d1283e35c11eac43bb0 (patch) | |
tree | 10b666b6478b955310d0bc95c63ef6e8aca23aa4 /Master/texmf-dist/tex | |
parent | f1283d024e5342f677ba695766186d16fff4870f (diff) |
biblatex-ms (23aug22)
git-svn-id: svn://tug.org/texlive/trunk@64175 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
115 files changed, 52453 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/alphabetic-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/alphabetic-ms.bbx new file mode 100644 index 00000000000..17a44b81cf7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/alphabetic-ms.bbx @@ -0,0 +1,60 @@ +\ProvidesFile{alphabetic-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} +\ExecuteBibliographyOptions{labelalpha,sorting=anyt} + +\providebool{bbx:subentry} + +\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{% + \setbool{bbx:subentry}{#1}} + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{editor}{default} +\DeclareNameAlias{translator}{default} + +\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}} +\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}} +\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}} + +\defbibenvironment{bibliography} + {\list + {\printtext[labelalphawidth]{% + \printfield{labelprefix}% + \printfield{labelalpha}% + \printfield{extraalpha}}} + {\setlength{\labelwidth}{\labelalphawidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{##1\hss}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\DeclareBibliographyDriver{set}{% + \entryset + {\ifbool{bbx:subentry} + {\printfield[bibentrysetcount]{entrysetcount}% + \printunit*{\addnbspace}} + {}} + {}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/alphabetic-verb-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/alphabetic-verb-ms.bbx new file mode 100644 index 00000000000..0ba5ad6a2ba --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/alphabetic-verb-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{alphabetic-verb-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{alphabetic} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-comp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-comp-ms.bbx new file mode 100644 index 00000000000..614ac9de83c --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-comp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authortitle-comp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ibid-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ibid-ms.bbx new file mode 100644 index 00000000000..0f9048018ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ibid-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authortitle-ibid-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-icomp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-icomp-ms.bbx new file mode 100644 index 00000000000..9535ef4119a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-icomp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authortitle-icomp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ms.bbx new file mode 100644 index 00000000000..1987eb46d2e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ms.bbx @@ -0,0 +1,134 @@ +\ProvidesFile{authortitle-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} +\ExecuteBibliographyOptions{pagetracker} + +\DeclareBibliographyOption[boolean]{dashed}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{pagetracker}% + \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} + {\renewbibmacro*{bbx:savehash}{}}} + +\DeclareFieldFormat{shorthandwidth}{#1} +\setlength{\bibitemsep}{0pt} + +\DeclareNameAlias{author}{sortname} +\DeclareNameAlias{editor}{sortname} +\DeclareNameAlias{translator}{sortname} + +\DeclareNameWrapperAlias{author}{sortname} +\DeclareNameWrapperAlias{editor}{sortname} +\DeclareNameWrapperAlias{translator}{sortname} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\InitializeBibliographyStyle{% + \global\undef\bbx@lasthash} + +\newbibmacro*{bbx:savehash}{% + \savefield{fullhash}{\bbx@lasthash}} + +\newbool{bbx@inset} +\DeclareBibliographyDriver{set}{% + \booltrue{bbx@inset}% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} + +\renewbibmacro*{begrelated}{% + \booltrue{bbx@inset}} + +\renewbibmacro*{endrelated}{% + \usebibmacro*{bbx:savehash}} + +\renewbibmacro*{author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{author}% + \setunit{\printdelim{authortypedelim}}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{authorstrg}} + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor}{% + \usebibmacro{bbx:editor}{editorstrg}} +\renewbibmacro*{editor+others}{% + \usebibmacro{bbx:editor}{editor+othersstrg}} +\newbibmacro*{bbx:editor}[1]{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{editor}% + \setunit{\printdelim{editortypedelim}}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{editor}} + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator}{% + \usebibmacro{bbx:translator}{translatorstrg}} +\renewbibmacro*{translator+others}{% + \usebibmacro{bbx:translator}{translator+othersstrg}} +\newbibmacro*{bbx:translator}[1]{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{translator}% + \setunit{\printdelim{translatortypedelim}}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{translator}} + {\global\undef\bbx@lasthash}} + +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + } + {#1} + {#2}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-tcomp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-tcomp-ms.bbx new file mode 100644 index 00000000000..3bd7066c687 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-tcomp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authortitle-tcomp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-terse-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-terse-ms.bbx new file mode 100644 index 00000000000..8b49254463c --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-terse-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authortitle-terse-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ticomp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ticomp-ms.bbx new file mode 100644 index 00000000000..daaf2cc6680 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authortitle-ticomp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authortitle-ticomp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-comp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-comp-ms.bbx new file mode 100644 index 00000000000..6d9a1a33d4a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-comp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authoryear-comp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authoryear} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-ibid-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-ibid-ms.bbx new file mode 100644 index 00000000000..59f1e4ce9c9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-ibid-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authoryear-ibid-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authoryear} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-icomp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-icomp-ms.bbx new file mode 100644 index 00000000000..04747e73a7f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-icomp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{authoryear-icomp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authoryear} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-ms.bbx new file mode 100644 index 00000000000..643180d0ead --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/authoryear-ms.bbx @@ -0,0 +1,293 @@ +\ProvidesFile{authoryear-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} + +\DeclareBibliographyOption[boolean]{dashed}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{pagetracker}% + \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} + {\renewbibmacro*{bbx:savehash}{}}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{mergedate}[true]{% + \ifcsdef{bbx@opt@mergedate@#1} + {\csuse{bbx@opt@mergedate@#1}} + {\PackageError{biblatex} + {Invalid option 'mergedate=#1'} + {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak + 'true' (=compact), and 'false'.}}} + +\providebibmacro*{date+extradate}{} +\providebibmacro*{date+extrayear}{% + \blx@warning{bibmacro 'date+extrayear' is deprecated.\MessageBreak + Please use 'date+extradate'.\MessageBreak + Using 'date+extradate' instead}% + \usebibmacro{date+extradate}} + +\newbibmacro*{bbx:ifmergeddate}{\@secondoftwo} + +\renewbibmacro*{date}{% + \usebibmacro{bbx:ifmergeddate} + {} + {\printdate}}% + +\def\bbx@opt@mergedate@true{\bbx@opt@mergedate@compact} + +% merge date/issue with date label +\def\bbx@opt@mergedate@maximum{% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[parens]{% + \iflabeldateisdate + {\printfield{issue}% + \setunit*{\addspace}% + \printdateextra} + {\printlabeldateextra}}}}% + \renewbibmacro*{bbx:ifmergeddate}{\iflabeldateisdate}% + \renewbibmacro*{issue+date}{% + \usebibmacro{bbx:ifmergeddate} + {} + {\printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}}}} + +% merge date with date label +\def\bbx@opt@mergedate@compact{% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[parens]{% + \iflabeldateisdate + {\printdateextra} + {\printlabeldateextra}}}}% + \renewbibmacro*{bbx:ifmergeddate}{\iflabeldateisdate}% + \renewbibmacro*{issue+date}{% + \ifboolexpr{test {\usebibmacro{bbx:ifmergeddate}} + and + test {\iffieldundef{issue}}} + {} + {\printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{bbx:ifmergeddate} + {} + {\printdate}}}% + \newunit}} + +% merge year-only date with date label +\def\bbx@opt@mergedate@basic{% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[parens]{\printlabeldateextra}}}% + \renewbibmacro*{bbx:ifmergeddate}{% + \ifboolexpr{ + test {\iflabeldateisdate} + and + not test {\ifdateshavedifferentprecision{label}{}} + }% + }% + \renewbibmacro*{issue+date}{% + \ifboolexpr{ + test {\usebibmacro{bbx:ifmergeddate}} + and + test {\iffieldundef{issue}} + } + {} + {\printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}}% + \newunit}} + +% merge year-only date with year-only date label +\def\bbx@opt@mergedate@minimum{% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[parens]{\printlabeldateextra}}}% + \renewbibmacro*{bbx:ifmergeddate}{% + \ifboolexpr{ + test {\iflabeldateisdate} + and + not test {\ifdateshavedifferentprecision{label}{}} + and + test {\iffieldundef{extradate}} + }% + }% + \renewbibmacro*{issue+date}{% + \ifboolexpr{ + test {\usebibmacro{bbx:ifmergeddate}} + and + test {\iffieldundef{issue}} + } + {} + {\printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \printdate}}% + \newunit}} + +% don't merge date/issue with date label +\def\bbx@opt@mergedate@false{% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[parens]{\printlabeldateextra}}}% + \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}% + \renewbibmacro*{issue+date}{% + \printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}% + \newunit}} + +\ExecuteBibliographyOptions{labeldateparts,sorting=nyt,pagetracker,mergedate} + +\DeclareFieldFormat{shorthandwidth}{#1} +\setlength{\bibitemsep}{0pt} + +\DeclareNameAlias{author}{sortname} +\DeclareNameAlias{editor}{sortname} +\DeclareNameAlias{translator}{sortname} + +\DeclareNameWrapperAlias{author}{sortname} +\DeclareNameWrapperAlias{editor}{sortname} +\DeclareNameWrapperAlias{translator}{sortname} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\InitializeBibliographyStyle{\global\undef\bbx@lasthash} + +\newbibmacro*{bbx:savehash}{% + \savefield{fullhash}{\bbx@lasthash}} + +\newbool{bbx@inset} +\DeclareBibliographyDriver{set}{% + \booltrue{bbx@inset}% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} + +\renewbibmacro*{begrelated}{% + \booltrue{bbx@inset}} + +\renewbibmacro*{endrelated}{% + \usebibmacro*{bbx:savehash}} + +\renewbibmacro*{author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\usebibmacro{bbx:savehash}% + \printnames{author}% + \iffieldundef{authortype} + {\setunit{\printdelim{nameyeardelim}}} + {\setunit{\printdelim{authortypedelim}}}}% + \iffieldundef{authortype} + {} + {\usebibmacro{authorstrg}% + \setunit{\printdelim{nameyeardelim}}}}% + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\printdelim{nonameyeardelim}}}% + \usebibmacro{date+extradate}} + +\renewbibmacro*{editor}{% + \usebibmacro{bbx:editor}{editorstrg}} +\renewbibmacro*{editor+others}{% + \usebibmacro{bbx:editor}{editor+othersstrg}} +\newbibmacro*{bbx:editor}[1]{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{editor}% + \setunit{\printdelim{editortypedelim}}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{editor}% + \setunit{\printdelim{nameyeardelim}}}% + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\printdelim{nonameyeardelim}}}% + \usebibmacro{date+extradate}} + +\renewbibmacro*{translator}{% + \usebibmacro{bbx:translator}{translatorstrg}} +\renewbibmacro*{translator+others}{% + \usebibmacro{bbx:translator}{translator+othersstrg}} +\newbibmacro*{bbx:translator}[1]{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{translator}% + \setunit{\printdelim{translatortypedelim}}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{#1}% + \clearname{translator}% + \setunit{\printdelim{nameyeardelim}}}% + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \setunit*{\printdelim{nonameyeardelim}}}% + \usebibmacro{date+extradate}} + +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + } + {#1} + {#2}} + +\newbibmacro*{labeltitle}{% + \iffieldundef{label} + {\iffieldundef{shorttitle} + {\printfield{title}% + \clearfield{title}} + {\printfield[title]{shorttitle}}} + {\printfield{label}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/debug-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/debug-ms.bbx new file mode 100644 index 00000000000..6c479a6e436 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/debug-ms.bbx @@ -0,0 +1,111 @@ +\ProvidesFile{debug-ms.bbx} +[\abx@bbxid] + +\ExecuteBibliographyOptions{sorting=debug} +\DeclareFieldFormat{entrykey}{\ttfamily[#1]} +\DeclareFieldFormat{shorthandwidth}{#1} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{8em}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \interlinepenalty\@M + \raggedbottom\raggedright + \frenchspacing + \normalfont\footnotesize}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{8em}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\labelwidth}{-\labelsep}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \renewcommand*{\makelabel}[1]{##1\hss}% + \interlinepenalty\@M + \raggedbottom\raggedright + \frenchspacing + \normalfont\footnotesize}} + {\endlist} + {\item} + +\@ifpackageloaded{biblatex_legacy} + {\DeclareNameFormat{debug}{% + \bbx@mklabel{\currentname}% + \ifblank{#3}{}{\detokenize{#3}\space}% + \ifblank{#5}{}{\detokenize{#5}\ifpunctmark{'}{}{\space}}% + \detokenize{#1}% + \ifblank{#7}{}{\space\detokenize{#7}}% + \ifblank{#3}{}{\bbx@mksublabel{given}\detokenize{#3}}% + \ifblank{#1}{}{\bbx@mksublabel{family}\detokenize{#1}}% + \ifblank{#5}{}{\bbx@mksublabel{prefix}\detokenize{#5}}% + \ifblank{#7}{}{\bbx@mksublabel{affix}\detokenize{#7}}% + \bbx@mksublabel{inits}% + \ifblank{#4}{}{\detokenize{#4}\space}% + \ifblank{#6}{}{\detokenize{#6}\ifpunctmark{'}{}{\space}}% + \detokenize{#2}% + \ifblank{#8}{}{\space\detokenize{#8}}}} + {\DeclareNameFormat{debug}{% + \bbx@mklabel{\currentname}% + \ifdefvoid{\namepartgiven}{}{\expandafter\detokenize\expandafter{\namepartgiven}\space}% + \ifdefvoid{\namepartprefix}{}{\expandafter\detokenize\expandafter{\namepartprefix}\ifpunctmark{'}{}{\space}}% + \expandafter\detokenize\expandafter{\namepartfamily}% + \ifdefvoid{\namepartsuffix}{}{\expandafter\space\expandafter\detokenize\expandafter{\namepartsuffix}}% + \ifdefvoid{\namepartgiven}{}{\bbx@mksublabel{given}\expandafter\detokenize\expandafter{\namepartgiven}}% + \ifdefvoid{\namepartfamily}{}{\bbx@mksublabel{family}\expandafter\detokenize\expandafter{\namepartfamily}}% + \ifdefvoid{\namepartprefix}{}{\bbx@mksublabel{prefix}\expandafter\detokenize\expandafter{\namepartprefix}}% + \ifdefvoid{\namepartsuffix}{}{\bbx@mksublabel{suffix}\expandafter\detokenize\expandafter{\namepartsuffix}}% + \bbx@mksublabel{inits}% + \ifdefvoid{\namepartgiveni}{}{\expandafter\detokenize\expandafter{\namepartgiveni}\space}% + \ifdefvoid{\namepartprefixi}{}{\expandafter\detokenize\expandafter{\namepartprefixi}\ifpunctmark{'}{}{\space}}% + \expandafter\detokenize\expandafter{\namepartfamilyi}% + \ifdefvoid{\namepartsuffixi}{}{\expandafter\space\expandafter\detokenize\expandafter{\namepartsuffixi}}}} + +\DeclareListFormat{debug}{% + \bbx@mklabel{\currentlist}% + \detokenize{#1}} + +\DeclareFieldFormat{debug}{% + \bbx@mklabel{\currentfield}% + \detokenize{#1}} + +\newcommand*{\bbx@mklabel}[1]{% + \item + \makebox[\leftmargin][l]{\ttfamily [#1]}} + +\newcommand*{\bbx@mksublabel}[1]{% + \par\nobreak + \makebox[6em][l]{\ttfamily [#1]}} + +\DeclareBibliographyDriver{debug}{% + \item\begingroup\ttfamily\leavevmode + \xleaders\hbox to 0.75em{\hss-\hss}\hfill\kern\z@ + \space\printfield{entrykey}\space + \xleaders\hbox to 0.75em{\hss-\hss}\hfill\kern\z@ + \endgroup + \def\do{\printnames[debug][-\value{listtotal}]}% + \abx@donames + \def\do{\printlist[debug][-\value{listtotal}]}% + \abx@dolists + \def\do{\printfield[debug]}% + \abx@dointernalfields + \abx@dofields\do{options}\do{execute}% + \item\begingroup\ttfamily\leavevmode + \xleaders\hbox to 0.75em{\hss-\hss}\hfill\kern\z@ + \endgroup + \clearpage} + +\def\do#1{\DeclareBibliographyAlias{#1}{debug}} +\abx@doentrytypes +\do{*} + +\DeclareBibliographyDriver{shorthand}{% + \texttt{\printfield{entrykey}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/draft-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/draft-ms.bbx new file mode 100644 index 00000000000..6ec3eb2225c --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/draft-ms.bbx @@ -0,0 +1,42 @@ +\ProvidesFile{draft-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} +\ExecuteBibliographyOptions{sorting=debug} + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{editor}{default} +\DeclareNameAlias{translator}{default} + +\DeclareNameWrapperAlias{author}{default} +\DeclareNameWrapperAlias{editor}{default} +\DeclareNameWrapperAlias{translator}{default} + +\DeclareFieldFormat{shorthandwidth}{#1} + +\defbibenvironment{bibliography} + {\list + {\printfield{entrykey}} + {\setlength{\labelwidth}{0pt}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{% + \hspace\labelsep\bfseries##1}}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-comp-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-comp-ms.bbx new file mode 100644 index 00000000000..0328e2cffb5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-comp-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{numeric-comp-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{numeric} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-ms.bbx new file mode 100644 index 00000000000..98f83ad2276 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-ms.bbx @@ -0,0 +1,63 @@ +\ProvidesFile{numeric-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} +\ExecuteBibliographyOptions{labelnumber} + +\providebool{bbx:subentry} + +\DeclareBiblatexOption{global,type,entry}[boolean]{subentry}[true]{% + \setbool{bbx:subentry}{#1}} + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{editor}{default} +\DeclareNameAlias{translator}{default} + +\DeclareNameWrapperAlias{author}{default} +\DeclareNameWrapperAlias{editor}{default} +\DeclareNameWrapperAlias{translator}{default} + +\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}} +\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}} +\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}} + +\defbibenvironment{bibliography} + {\list + {\printtext[labelnumberwidth]{% + \printfield{labelprefix}% + \printfield{labelnumber}}} + {\setlength{\labelwidth}{\labelnumberwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{\hss##1}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{\hss##1}}} + {\endlist} + {\item} + +\DeclareBibliographyDriver{set}{% + \entryset + {\ifbool{bbx:subentry} + {\printfield[bibentrysetcount]{entrysetcount}% + \printunit*{\addnbspace}} + {}} + {}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-verb-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-verb-ms.bbx new file mode 100644 index 00000000000..1e1de4ae6a1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/numeric-verb-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{numeric-verb-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{numeric} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/reading-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/reading-ms.bbx new file mode 100644 index 00000000000..f659bb930ba --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/reading-ms.bbx @@ -0,0 +1,177 @@ +\ProvidesFile{reading-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{standard} + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{editor}{default} +\DeclareNameAlias{translator}{default} + +\DeclareNameWrapperAlias{author}{default} +\DeclareNameWrapperAlias{editor}{default} +\DeclareNameWrapperAlias{translator}{default} + +\DeclareFieldFormat{entrykey}{\mbox{\bfseries#1}} +\DeclareFieldFormat{annotation}{\bibstring{annotation}\addcolon\space #1} +\DeclareFieldFormat{abstract}{\bibstring{abstract}\addcolon\space #1} +\DeclareFieldFormat{library}{\bibstring{library}\addcolon\space #1} +\DeclareFieldFormat{file}{\bibstring{file}\addcolon\space \url{#1}} +\DeclareFieldFormat{shorthandwidth}{#1} + +\InitializeBibliographyStyle{% + \global\undef\bbx@lasthash} + +\setlength{\bibitemsep}{0.5\baselineskip} +\setlength{\bibparsep}{0pt} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{0pt}% + \setlength{\itemindent}{0pt}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\bbx@item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\def\bbx@item@false{% + \itemsep2\bibitemsep + \item\relax + \itemsep\bibitemsep} + +\def\bbx@item@true{% + \bbx@item@full} + +\def\bbx@item@full{% + \itemsep2\bibitemsep + \@itempenalty\z@ + \item\relax + \begingroup + \samepage\bfseries + \def\finentrypunct{\strut}% + \usebibmacro{entryhead:full}% + \ifbool{bbx:entrykey} + {\def\newblockpunct{% + \nobreak\hskip\z@skip\strut + \hfill\penalty100\hskip1em\relax + \hbox{}\nobreak\hfill\strut}% + \def\finentrypunct{% + \parfillskip\z@\finalhyphendemerits\z@ + \par\nobreak}% + \newblock + \printfield{entrykey}} + {}% + \finentry + \endgroup + \hrule height 1.25pt\relax + \itemsep\bibitemsep + \@itempenalty\@M + \item\strut + \@itempenalty\z@} + +\def\bbx@item@name{% + \iffieldequals{fullhash}{\bbx@lasthash} + {\bbx@item@false} + {\itemsep2\bibitemsep + \@itempenalty\z@ + \item\relax + \begingroup + \samepage\bfseries + \def\finentrypunct{\strut}% + \usebibmacro{entryhead:name}% + \finentry + \endgroup + \hrule height 1.25pt\relax + \itemsep\bibitemsep + \@itempenalty\@M + \item\strut + \@itempenalty\z@}} + +\newbool{bbx:entrykey} +\newbool{bbx:annotation} +\newbool{bbx:abstract} +\newbool{bbx:library} +\newbool{bbx:file} + +\DeclareBiblatexOption{global,type,entry}[boolean]{entryhead}[true]{% + \ifcsdef{bbx@item@#1} + {\letcs\bbx@item{bbx@item@#1}} + {\PackageError{biblatex} + {Invalid option 'header=#1'} + {Valid values: header=true, false, full, name.}}} +\DeclareBiblatexOption{global,type,entry}[boolean]{entrykey}[true]{% + \setbool{bbx:entrykey}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{annotation}[true]{% + \setbool{bbx:annotation}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{abstract}[true]{% + \setbool{bbx:abstract}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{library}[true]{% + \setbool{bbx:library}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{file}[true]{% + \setbool{bbx:file}{#1}} + +\ExecuteBibliographyOptions{loadfiles,entryhead,entrykey,annotation,abstract,library,file} + +\newbibmacro*{entryhead:full}{% + \printnames[labelname][-1]{labelname}% + \setunit*{\addcolon\space}% + \printfield{labeltitle}} + +\newbibmacro*{entryhead:name}{% + \ifnameundef{labelname} + {\printfield{labeltitle}} + {\printnames[labelname]{labelname}}% + \savefield{fullhash}{\bbx@lasthash}} + +\newbibmacro*{entrytail}{% + \newunit\newblock + \begingroup + \def\newblockpunct{\item}% + \ifbool{bbx:annotation} + {\usebibmacro{annotation}% + \newunit\newblock} + {}% + \ifbool{bbx:abstract} + {\usebibmacro{abstract}% + \newunit\newblock} + {}% + \ifbool{bbx:file} + {\printfield{file}% + \newunit\newblock} + {}% + \ifbool{bbx:library} + {\printfield{library}% + \newunit\newblock} + {}% + \endgroup} + +\renewbibmacro*{finentry}{% + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\DeclareBibliographyDriver{set}{% + \renewbibmacro*{finentry}{\finentry}% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \ifbibliography + {\usebibmacro{entrytail}} + {}% + \finentry} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/standard-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/standard-ms.bbx new file mode 100644 index 00000000000..e27dd0dfe0b --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/standard-ms.bbx @@ -0,0 +1,1000 @@ +\ProvidesFile{standard-ms.bbx} +[\abx@bbxid] + +\newtoggle{bbx:isbn} +\newtoggle{bbx:url} +\newtoggle{bbx:doi} +\newtoggle{bbx:eprint} +\newtoggle{bbx:related} + +\DeclareBiblatexOption{global,type,entry}[boolean]{isbn}[true]{% + \settoggle{bbx:isbn}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{url}[true]{% + \settoggle{bbx:url}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{doi}[true]{% + \settoggle{bbx:doi}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{eprint}[true]{% + \settoggle{bbx:eprint}{#1}} +\DeclareBiblatexOption{global,type,entry}[boolean]{related}[true]{% + \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} + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{journal+issuetitle}% + \newunit + \usebibmacro{byeditor+others}% + \newunit + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{booklet}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{collection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{dataset}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{edition}% + \newunit + \printfield{version}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{edition}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{misc}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{organization+location+date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{online}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{patent}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \iflistundef{location} + {} + {\setunit*{\addspace}% + \printtext[parens]{% + \printlist[][-\value{listtotal}]{location}}}% + \newunit\newblock + \usebibmacro{byholder}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title+issuetitle}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byeditor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{editor+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printlist{organization}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{report}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \printfield{version}% + \newunit + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isrn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \printfield{type}% + \newunit + \usebibmacro{institution+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \usebibmacro{event+venue+date}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{location+date}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{shorthand}{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}% + \finentry} + +\DeclareBibliographyDriver{set}{% + \entryset{}{}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} + +\DeclareBibliographyAlias{mvbook}{book} +\DeclareBibliographyAlias{bookinbook}{inbook} +\DeclareBibliographyAlias{suppbook}{inbook} +\DeclareBibliographyAlias{mvcollection}{collection} +\DeclareBibliographyAlias{suppcollection}{incollection} +\DeclareBibliographyAlias{mvproceedings}{proceedings} +\DeclareBibliographyAlias{reference}{collection} +\DeclareBibliographyAlias{mvreference}{reference} +\DeclareBibliographyAlias{inreference}{incollection} +\DeclareBibliographyAlias{suppperiodical}{article} +\DeclareBibliographyAlias{review}{article} +\DeclareBibliographyAlias{software}{misc} +\DeclareBibliographyAlias{*}{misc} + +\newbibmacro*{maintitle+title}{% + \iffieldsequal{maintitle}{title} + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}} + {\iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit\newblock + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}}% + \usebibmacro{title}% + \newunit} + +\newbibmacro*{maintitle+booktitle}{% + \iffieldundef{maintitle} + {} + {\usebibmacro{maintitle}% + \newunit\newblock + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \usebibmacro{booktitle}% + \newunit} + +\newbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + +\newbibmacro*{volume+number+eid}{% + \printfield{volume}% + \setunit*{\adddot}% + \printfield{number}% + \setunit{\bibeidpunct}% + \printfield{eid}} + +\newbibmacro*{title+issuetitle}{% + \usebibmacro{periodical}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \setunit{\addcolon\space}% + \usebibmacro{issue}% + \newunit} + +\newbibmacro*{issue+date}{% + \printtext[parens]{% + \printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}% + \newunit} + +\newbibmacro*{event+venue+date}{% + \printfield{eventtitle}% + \newunit + \printfield{eventtitleaddon}% + \ifboolexpr{ + test {\iffieldundef{venue}} + and + test {\iffieldundef{eventyear}} + } + {} + {\setunit{\addspace}% + \printtext[parens]{% + \printfield{venue}% + \setunit*{\addcomma\space}% + \printeventdate}}% + \newunit} + +\newbibmacro*{series+number}{% + \printfield{series}% + \setunit*{\addspace}% + \printfield{number}% + \newunit} + +\newbibmacro*{publisher+location+date}{% + \printlist{location}% + \iflistundef{publisher} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + \newunit} + +\newbibmacro*{institution+location+date}{% + \printlist{location}% + \iflistundef{institution} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + \newunit} + +\newbibmacro*{organization+location+date}{% + \printlist{location}% + \iflistundef{organization} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{organization}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + \newunit} + +\newbibmacro*{location+date}{% + \printlist{location}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + \newunit} + +\newbibmacro*{chapter+pages}{% + \printfield{chapter}% + \setunit{\bibpagespunct}% + \printfield{eid}% + \setunit{\bibpagespunct}% + \printfield{pages}% + \newunit} + +\newbibmacro*{note+pages}{% + \printfield{note}% + \setunit{\bibpagespunct}% + \printfield{pages}% + \newunit} + +\newbibmacro*{doi+eprint+url}{% + \iftoggle{bbx:doi} + {\printfield{doi}} + {}% + \newunit\newblock + \iftoggle{bbx:eprint} + {\usebibmacro{eprint}} + {}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}} + +\newbibmacro*{addendum+pubstate}{% + \printfield{addendum}% + \newunit\newblock + \printfield{pubstate}} + +\newcounter{bbx:relatedcount} +\newcounter{bbx:relatedtotal} + +\newbibmacro*{related:init}{% + \csundef{bbx:relatedloop}} + +\newbibmacro*{begrelated}{} +\newbibmacro*{endrelated}{} +\newbibmacro*{begrelatedloop}{} +\newbibmacro*{endrelatedloop}{} + +\def\ifrelatedloop{% + \ifboolexpr{ test {\xifinlistcs{\strfield{entrykey}}{bbx:relatedloop}} + or test {\xifinlistcs{\strfield{clonesourcekey}}{bbx:relatedloop}} }} + +\newbibmacro*{related}{% + \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} } + {} + {\ifcsundef{begrelateddelim\strfield{relatedtype}} + {\printunit{\begrelateddelim}} + {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}% + \usebibmacro{begrelated}% + \def\bbx@tempa{}% + \setcounter{bbx:relatedtotal}{0}% + \def\do##1{% + \entrydata{##1}{% + \ifrelatedloop + {} + {\stepcounter{bbx:relatedtotal}% + \gappto{\bbx@tempa}{##1,}}}}% + \docsvfield{related}% + \restorefield{related}{\bbx@tempa}% + \ifnumgreater{\value{bbx:relatedtotal}}{0} + {\listcsxadd{bbx:relatedloop}{\strfield{entrykey}}% + \iffieldundef{clonesourcekey} + {} + {\listcsxadd{bbx:relatedloop}{\strfield{clonesourcekey}}}% + \setcounter{bbx:relatedcount}{0}% + \def\do{% + \stepcounter{bbx:relatedcount}% + \ifnumgreater{\value{bbx:relatedcount}}{1} + {\ifcsundef{relateddelim\strfield{relatedtype}} + {\printunit{\relateddelim}} + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\printunit + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter{% + \csuse{relateddelim\strfield{relatedtype}}}}} + {}}% + \ifbibmacroundef{related:\strfield{relatedtype}} + {\appto{\do}{\usebibmacro{related:default}}} + {\appto{\do}{\usebibmacro*{related:\strfield{relatedtype}}}}% + \iffieldformatundef{related:\strfield{relatedtype}} + {\def\bbx@tempa{related}} + {\def\bbx@tempa{related:\strfield{relatedtype}}}% + \iffieldformatundef{relatedstring:\strfield{relatedtype}} + {\def\bbx@tempb{relatedstring:default}} + {\def\bbx@tempb{relatedstring:\strfield{relatedtype}}}% + \printtext[\bbx@tempa]{% + \usebibmacro{begrelatedloop}% + \iffieldundef{relatedstring} + {\ifboolexpr{ + test {\ifnumgreater{\value{bbx:relatedtotal}}{1}} + and + test {\ifbibxstring{\thefield{relatedtype}s}} + } + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}s}}} + {\iffieldbibstring{relatedtype} + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstringtext]{\thefield{relatedtype}}}} + {}}} + {\iffieldbibstring{relatedstring} + {\printtext[\bbx@tempb]{% + \bibstring[\mkrelatedstringtext]{\thefield{relatedstring}}}} + {\printfield[\bbx@tempb]{relatedstring}}}% + \docsvfield{related}% + \usebibmacro{endrelatedloop}}}% + {}% + \usebibmacro{endrelated}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-ibid-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-ibid-ms.bbx new file mode 100644 index 00000000000..9283a0efc85 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-ibid-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-ibid-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-inote-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-inote-ms.bbx new file mode 100644 index 00000000000..c47a379cbbc --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-inote-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-inote-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-ms.bbx new file mode 100644 index 00000000000..6fbc74e1faa --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-note-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-note-ms.bbx new file mode 100644 index 00000000000..16d1454ceb1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-note-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-note-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad1-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad1-ms.bbx new file mode 100644 index 00000000000..0427575bac6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad1-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-trad1-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad2-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad2-ms.bbx new file mode 100644 index 00000000000..51d05be547e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad2-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-trad2-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad3-ms.bbx b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad3-ms.bbx new file mode 100644 index 00000000000..ab0d2ca4e5f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/bbx/verbose-trad3-ms.bbx @@ -0,0 +1,6 @@ +\ProvidesFile{verbose-trad3-ms.bbx} +[\abx@bbxid] + +\RequireBibliographyStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.cfg b/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.cfg new file mode 100644 index 00000000000..353d85b279c --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.cfg @@ -0,0 +1,5 @@ +\ProvidesFile{biblatex-ms.cfg} + +% Put your definitions here. + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.def new file mode 100644 index 00000000000..c5c5bfe3ea9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.def @@ -0,0 +1,3206 @@ +\ProvidesFile{biblatex-ms.def} +[\abx@cptid] + +% ------------------------------------------------------------------ +% FORMATTING COMMANDS +% ------------------------------------------------------------------ + +% Generic formatting commands and hooks +% ------------------------------------------------------------------ + +% Used in citations, bibliography and bibliography lists + +% Define namepart keys from datamodel constant list +% \namepart<namepart> -> \namepartfamily +% \namepart<namepart>i -> \namepartfamilyi +% \namepart<namepart>un -> \namepartfamilyun +\def\do#1{% + \csdef{mkbibname#1}##1{##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 +% set empty defaults so we can check if they have been redefined +\let\mkbibnamefirst\@empty +\let\mkbibnamelast\@empty +\let\mkbibnameaffix\@empty + +\AtEndPreamble{% + \ifdefempty\mkbibnamelast + {\let\@mkbibnamelastsaved\mkbibnamefamily}% not redefined by user + {\blx@warning@noline{% + Attempt to redefine deprecated '\string\mkbibnamelast'.\MessageBreak + Please use '\string\mkbibnamefamily' instead.\MessageBreak + Using '\string\mkbibnamefamily'}% + \let\@mkbibnamelastsaved\mkbibnamelast + \let\mkbibnamefamily\@mkbibnamelastsaved}% + % Now redefine it in case it's used + \def\mkbibnamelast{% + \blx@warning@noline{% + '\string\mkbibnamelast' is deprecated.\MessageBreak + Please use '\string\mkbibnamefamily'.\MessageBreak + Using '\string\mkbibnamefamily'}% + \@mkbibnamelastsaved} + + \ifdefempty\mkbibnamefirst + {\let\@mkbibnamefirstsaved\mkbibnamegiven}% not redefined by user + {\blx@warning@noline{% + Attempt to redefine deprecated '\string\mkbibnamefirst'.\MessageBreak + Please use '\string\mkbibnamegiven' instead.\MessageBreak + Using '\string\mkbibnamegiven'}% + \let\@mkbibnamefirstsaved\mkbibnamefirst + \let\mkbibnamegiven\@mkbibnamefirstsaved}% + % Now redefine it in case it's used + \def\mkbibnamefirst{% + \blx@warning@noline{% + '\string\mkbibnamefirst' is deprecated.\MessageBreak + Please use '\string\mkbibnamegiven'.\MessageBreak + Using '\string\mkbibnamegiven'}% + \@mkbibnamefirstsaved} + + \ifdefempty\mkbibnameaffix + {\let\@mkbibnameaffixsaved\mkbibnamesuffix}% not redefined by user + {\blx@warning@noline{% + Attempt to redefine deprecated '\string\mkbibnameaffix'.\MessageBreak + Please use '\string\mkbibnamesuffix' instead.\MessageBreak + Using '\string\mkbibnamesuffix'}% + \let\@mkbibnameaffixsaved\mkbibnameaffix + \let\mkbibnamesuffix\@mkbibnameaffixsaved}% + % Now redefine it in case it's used + \def\mkbibnameaffix{% + \blx@warning@noline{% + '\string\mkbibnameaffix' is deprecated.\MessageBreak + Please use '\string\mkbibnamesuffix'.\MessageBreak + Using \string\mkbibnamesuffix}% + \@mkbibnameaffixsaved}} + +\newcommand*{\bibellipsis}{[\textellipsis\unkern]\midsentence} + +% Delimiters used in citations, bibliography and bibliography lists +\DeclareDelimFormat{multinamedelim}{\addcomma\space} +\DeclareDelimFormat{finalnamedelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace\bibstring{and}\space} +\DeclareDelimFormat{revsdnamedelim}{} +\DeclareDelimFormat{andothersdelim}{\addspace} + +\DeclareDelimFormat{multilistdelim}{\addcomma\space} +\DeclareDelimFormat{finallistdelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace\bibstring{and}\space} +\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} +\DeclareDelimAlias{multipostnotedelim}{postnotedelim} +\DeclareDelimFormat{extpostnotedelim}{\addspace} +\newcommand*{\volcitedelim}{\addcomma\space} +\newcommand*{\textcitedelim}{% + \iffinalcitedelim + {\ifnumgreater{\value{textcitetotal}}{2} + {\iftextcitepunct{\finalandsemicolon}{\finalandcomma}}{}% + \addspace\bibstring{and}} + {\iftextcitepunct{\addsemicolon}{\addcomma}}% + \space} + + +% context-sensitive delimiters +% retain compatibility with \labelnamepunct et al. +% The seemingly redundant definitions are needed because +% hard-coded punctuation was replaced by context-sensitive +% delimiters, changes to here need to be made explicitly +% to avoid unwanted effects of redefining the global delimiter. +\DeclareDelimFormat{authortypedelim}{\addcomma\space} +\DeclareDelimFormat{editortypedelim}{\addcomma\space} +\DeclareDelimFormat{translatortypedelim}{\addcomma\space} +\DeclareDelimFormat{namelabeldelim}{\addspace} +\DeclareDelimFormat{nametitledelim}{\addcomma\space} +\DeclareDelimFormat[bib,biblist]{nametitledelim}{\labelnamepunct} +\DeclareDelimFormat[textcite]{nametitledelim}{\addspace} +\DeclareDelimFormat{nameyeardelim}{\addspace} +\DeclareDelimFormat[textcite]{nameyeardelim}{\addspace} +\DeclareDelimFormat[bib,biblist]{nameyeardelim}{\addspace} +\DeclareDelimFormat{nonameyeardelim}{\addspace} +\DeclareDelimFormat[textcite]{nonameyeardelim}{\addspace} +\DeclareDelimFormat[bib,biblist]{nonameyeardelim}{\addspace} +\DeclareDelimFormat{dateeradelim}{\addspace} +\DeclareDelimFormat{datecircadelim}{\addspace} + +% This is a provisional definition for \iffinalcitedelim{<true>}{<false>}, a +% test that should expand <true> if the next non-compact citation delimiter +% is the last one in the citation list printed by \textcite or \textcites. +\newcommand*{\iffinalcitedelim}{\@secondoftwo} + +% Expand <true> if the citation labels in the citation list printed by \textcite +% or \textcites contains the serial comma \finalandcomma +\newcommand*{\iftextcitepunct}{% + \ifboolexpr{ not test {\ifdefempty{\finalandsemicolon}} + and test {\ifnumgreater{\value{textcitemaxnames}}{2}} }} + +% Counters for the number of citation labels separated by non-compact delimiters +% in the citation list printed by \textcite or \textcites. Counter values should +% be managed by the citation style. +\newcounter{textcitecount} +\newcounter{textcitetotal} +\setcounter{textcitecount}{0} +\setcounter{textcitetotal}{0} + +% Counters for the maximum number of names among citation labels in the citation +% list printed by \textcite or \textcites. Counter value should be managed by +% the citation style. +\newcounter{textcitemaxnames} +\setcounter{textcitemaxnames}{0} + +% Used in the bibliography and bibliography lists + +\newcommand*{\newunitpunct}{\addperiod\space} +\newcommand*{\entrysetpunct}{\addsemicolon\space} +\newcommand*{\finentrypunct}{\addperiod} +\newcommand*{\labelnamepunct}{\newunitpunct} +\newcommand*{\subtitlepunct}{\newunitpunct} +\newcommand*{\intitlepunct}{\addcolon\space} +\newcommand*{\bibpagespunct}{\addcomma\space} +\newcommand*{\bibeidpunct}{\addcomma\space} +\newcommand*{\bibpagerefpunct}{\addspace} +\newcommand*{\revsdnamepunct}{\addcomma} +\newcommand*{\bibnamedash}{% + \ifdimless{\leftmargin}{0.75em} + {\mbox{\textemdash\space}} + {\makebox[\leftmargin][l]{% + \ifdimless{\leftmargin}{1.25em} + {\textendash} + {\textemdash}}}} +\newcommand*{\relatedpunct}{\addspace} +\newcommand*{\relateddelim}{\adddot\par\nobreak} +\newcommand*{\begrelateddelim}{\newunitpunct} +\newcommand*{\begrelateddelimmultivolume}{\newunitpunct\par\nobreak} +% Examples of use, uncommenting these would break backwards compatibility +%\newcommand*{\begrelateddelimorigpubin}{\addspace} +%\newcommand*{\begrelateddelimorigpubas}{\addspace} +\newcommand{\mkrelatedstringtext}{\textmainlang} + +% Used for indexing + +\newcommand*{\bibindexnamedelima}{ } +\newcommand*{\bibindexnamedelimb}{ } +\newcommand*{\bibindexnamedelimc}{ } +\newcommand*{\bibindexnamedelimd}{ } +\newcommand*{\bibindexnamedelimi}{ } +\newcommand*{\bibindexinitperiod}{.} +\newcommand*{\bibindexinitdelim}{ } +\newcommand*{\bibindexinithyphendelim}{.-} + +% \bibsetup is a generic hook controlling the (low-level) layout of +% the bibliography and bibliography lists. The default +% definition should work fine in most cases. +% There are a few other penalties and parameters that could be adjusted +% here, but we don't do that by default for backwards compatibility +% reasons. +% * \finalhyphendemerits can be set to 0 to allow hyphenation +% in the penultimate line + +\newcommand*{\bibsetup}{% + \interlinepenalty=5000\relax + \widowpenalty=10000\relax + \clubpenalty=10000\relax + \raggedbottom + \frenchspacing + \biburlsetup} + +% The penalties above are not specific to biblatex. These are +% low-level TeX features. \interlinepenalty is the penalty assigned +% to page breaks within a paragraph (i.e., in this case, a +% bibliography entry); \clubpenalty is an additional penalty +% assigned to page breaks after the first line of a paragraph; +% \widowpenalty is an additional penalty assigned to page breaks +% before the last line of a paragraph. Note that the value 10000 +% means 'infinite' as far as TeX is concerned. Setting a penalty to +% 10000 will unconditionally suppress the respective breakpoint. +% +% The net effect of the above settings is as follows. Breaking a +% bibliography entry across pages is discouraged, but not suppressed +% altogether. If a bibliography entry spans less than four lines, +% TeX will always keep it on one page. If it spans four or more +% lines, it may be broken across pages, provided that there are at +% least two lines on the page before and after the break. +% +% These penalties should normally be used in conjunction with +% \raggedbottom. If you don't like that and remove \raggedbottom +% from the definition of \bibsetup, make sure to provide some +% stretchability between bibliography entries by setting \bibitemsep +% to a suitable value, e.g.: +% +% \setlength{\bibitemsep}{0.5\baselineskip plus 0.5\baselineskip} +% +% Using \frenchspacing in the bibliography is recommended. If you +% 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}{% + \biburlsetup} + +% Local setup for \url; see comments in url.sty for details. + +\newcounter{biburlbigbreakpenalty} +\newcounter{biburlbreakpenalty} +\newcounter{biburlnumpenalty} +\newcounter{biburlucpenalty} +\newcounter{biburllcpenalty} + +\setcounter{biburlbigbreakpenalty}{100} +\setcounter{biburlbreakpenalty}{200} + +\newmuskip\biburlbigskip +\newmuskip\biburlnumskip +\newmuskip\biburlucskip +\newmuskip\biburllcskip + +% I'd have preferred \setlength here, but calc does not support +% muglue (yet?). +% https://github.com/plk/biblatex/issues/889 +% See also https://tex.stackexchange.com/q/188215/ +\biburlbigskip=0mu plus 3mu\relax +\biburlnumskip=0mu\relax +\biburlucskip=0mu\relax +\biburllcskip=0mu\relax + +\newcommand*{\biburlsetup}{% + \Urlmuskip\biburlbigskip + \mathchardef\UrlBigBreakPenalty=\value{biburlbigbreakpenalty}\relax + \mathchardef\UrlBreakPenalty=\value{biburlbreakpenalty}\relax + \def\UrlBigBreaks{\do\:\do\-}% + \def\UrlBreaks{% + \do\.\do\@\do\/\do\\\do\!\do\_\do\|\do\;\do\>\do\]\do\)\do\}% + \do\,\do\?\do\'\do\+\do\=\do\#\do\$\do\&\do\*\do\^\do\"}% + \ifnumgreater{\value{biburlnumpenalty}}{0} + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburlnumskip + \penalty\value{biburlnumpenalty}}}}% + \do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0} + {}% + \ifnumgreater{\value{biburlucpenalty}}{0} + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburlucskip + \penalty\value{biburlucpenalty}}}}% + \do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J + \do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T + \do\U\do\V\do\W\do\X\do\Y\do\Z} + {}% + \ifnumgreater{\value{biburllcpenalty}}{0} + {\def\do##1{% + \appto\UrlSpecials{% + \do##1{% + \mathchar`##1 + \mskip\biburllcskip + \penalty\value{biburllcpenalty}}}}% + \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j + \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t + \do\u\do\v\do\w\do\x\do\y\do\z} + {}% + \let\do=\noexpand} + +% The above code allows linebreaks before numbers and letters. +% This is often the only way to break DOIs. It also allows breaks +% after hyphens and adjusts \Urlmuskip to add some stretchability +% to URLs. + +% The default font of the bibliography and the bibliography lists. +% We simply reset the current font to the global defaults. + +\newcommand*{\bibfont}{\normalfont\normalsize} + +% Some length registers which may be used to fine-tune the +% (high-level) layout of the bibliography. + +% Default \bibhang to 1em if \parindent is 0 for some reason +\setlength{\bibhang}{\ifnumequal{\parindent}{0}{1em}{\parindent}} +\setlength{\biblabelsep}{2\labelsep} +\setlength{\bibitemsep}{\itemsep} +\setlength{\bibnamesep}{0pt} +\setlength{\bibinitsep}{0pt} +\setlength{\bibparsep}{0pt} + +% Miscellaneous facilities +% ------------------------------------------------------------------ + +% The counter 'abbrvpenalty' holds the penalty used in short or +% abbreviated bibliography strings. For example, a linebreak in +% expressions such as "et al." or "ed. by" is unfortunate, but should +% still be possible to prevent overfull boxes. We use TeX's +% \hyphenpenalty (normally 50) as the default value. The idea is +% making TeX treat the whole expression as if it were a single, +% hyphenatable word as far as line-breaking is concerned. If you +% dislike such linebreaks, use a higher value. If you do not mind +% them at all, set this counter to zero. If you want to suppress them +% unconditionally, set it to 10000. +\defcounter{abbrvpenalty}{\hyphenpenalty} + +% The counter 'highnamepenalty' also holds a penalty affecting the +% line-breaking of names. This penalty is inserted between smaller +% chunks of a name, for example between the first and the middle +% name. The default value is \hyphenpenalty. If you dislike such +% linebreaks, use a higher value. If you do not mind them at all, +% set this counter to zero. If you prefer the traditional BibTeX +% behavior, set it to 10000. +\defcounter{highnamepenalty}{\hyphenpenalty} + +% The counter 'lownamepenalty' holds a penalty which affects the +% line-breaking of names. This penalty is inserted between larger +% chunks of a name, for example between the chunk consisting of all +% first names and the last name. The default value is half the +% \hyphenpenalty. If you dislike such linebreaks, use a higher +% value. If you do not mind them at all, set this counter to zero. +\defcounter{lownamepenalty}{\hyphenpenalty/2} + +% Note that default values assigned to the above counters are +% deliberately very low to prevent overfull boxes. This implies that +% you will hardly notice any effect on line-breaking if the text is +% set justified. If you set these counters to 10000 to suppress the +% respective breakpoints, you will notice their effect but you may +% also be confronted with overfull boxes. Keep in mind that +% line-breaking in the bibliography is often more difficult than in +% the body text and that you can not resort to rephrasing a +% sentence. In some cases it may be preferable to set the entire +% bibliography \raggedright (by modifying \bibsetup) to prevent +% suboptimal linebreaks. In this case, even the very low default +% penalties will make a visible difference. + +% File name prefixes for external abstracts and annotations +\newcommand*{\bibabstractprefix}{bibabstract-} +\newcommand*{\bibannotationprefix}{bibannotation-} + +% Print acronyms in small caps if possible +\newcommand*{\mkbibacro}[1]{% + \ifcsundef{\f@encoding/\f@family/\f@series/sc} + {#1} + {\textsc{\MakeLowercase{#1}}}} + +% Convert HH to hh for time formatting +\newcommand*{\mktimehh}[1]{% + \ifnumless{#1}{13} + {#1} + {\number\numexpr#1-12\relax}} + +% ------------------------------------------------------------------ +% ADDITIONAL PACKAGE OPTIONS +% ------------------------------------------------------------------ + +% Style of compressed page ranges in back references + +\DeclareBibliographyOption[string]{backrefstyle}{% + \ifcsdef{abx@opt@pagerefstyle@#1} + {\letcs\abx@pagerefstyle{abx@opt@pagerefstyle@#1}} + {\PackageError{biblatex} + {Option 'backrefstyle=#1' invalid} + {The option you have supplied is invalid.\MessageBreak + See the biblatex manual for valid option keys + and possible values}}} +\newcommand*{\abx@pagerefstyle}{1} +\csdef{abx@opt@pagerefstyle@none}{-1} +\csdef{abx@opt@pagerefstyle@two}{0} +\csdef{abx@opt@pagerefstyle@three}{1} +\csdef{abx@opt@pagerefstyle@two+}{2} +\csdef{abx@opt@pagerefstyle@three+}{3} +\csdef{abx@opt@pagerefstyle@all+}{4} + +% arXiv path/format selector +% +% abs = abstract page +% ps = PostScript version +% pdf = PDF version +% format = format selector + +\DeclareBibliographyOption[string]{arxiv}{\def\abx@arxivpath{#1}} +\newcommand*{\abx@arxivpath}{abs} + +% ------------------------------------------------------------------ +% FIELD FORMATS (#1 is the value of the field) +% ------------------------------------------------------------------ + +% The fallback used by \printfield + +\DeclareFieldFormat{default}{#1} + +% The default used by \citefield + +\DeclareFieldFormat{citefield}{#1} + +% Used in citations + +\DeclareFieldFormat{citetitle}{\mkbibemph{#1}} +\DeclareFieldFormat + [article,inbook,incollection,inproceedings,patent,thesis,unpublished] + {citetitle}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat + [suppbook,suppcollection,suppperiodical] + {citetitle}{#1} +% label{end}year can be a localisation string to allow for "no date" etc. +\DeclareFieldFormat{labelyear}{% = the '1995' part in 'Jones 1995a' + \ifbibstring{#1}{\bibstring{#1}}{\mkyearzeros{#1}}} +\DeclareFieldFormat{labelendyear}{% = the '1995' part in 'Jones 1995a' + \ifbibstring{#1}{\bibstring{#1}}{\mkyearzeros{#1}}} +\DeclareFieldFormat{extradate}{% + \iffieldnums{labelyear} + {\mknumalph{#1}} + {\mkbibparens{\mknumalph{#1}}}} +\DeclareFieldFormat{labelalpha}{#1}% +\DeclareFieldFormat{extraalpha}{\mknumalph{#1}}% +\DeclareFieldFormat{shorthand}{#1\isdot} +\DeclareFieldFormat{shorthandintro}{% + \ifcapital{\MakeCapital{#1}}{#1}\isdot} +% citation commands +\DeclareFieldFormat{prenote}{#1\isdot} +\DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}} +\DeclareFieldFormat{volcitevolume}{\bibstring{volume}\ppspace#1} +\DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}} +\DeclareFieldFormat{volcitenote}{\mkvolcitenote#1} +\newrobustcmd*{\mkvolcitenote}[2]{% + \printtext[volcitevolume]{#1}% + \ifblank{#2}{}{\volcitedelim\printtext[volcitepages]{#2}}} + +% multicite commands +\DeclareFieldAlias{multiprenote}{prenote} +\DeclareFieldAlias{multipostnote}{postnote} + +% Used by \citeurl + +\DeclareFieldFormat{citeurl}{\url{#1}} + +% Used in the bibliography and bibliography lists + +\DeclareFieldFormat{doi}{% + \mkbibacro{DOI}\addcolon\space + \ifhyperref + {\href{https://doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} +\DeclareFieldFormat{edition}{% + \ifinteger{#1} + {\mkbibordedition{#1}~\bibstring{edition}} + {#1\isdot}} +\DeclareFieldFormat{eprint}{% + \iffieldundef{eprinttype} + {eprint} + {\thefield{eprinttype}}% + \addcolon\space + \ifhyperref + {\url{#1}} + {\nolinkurl{#1}}% + \iffieldundef{eprintclass} + {} + {\addspace\mkbibparens{\thefield{eprintclass}}}} +\DeclareFieldFormat{eprint:hdl}{% + HDL\addcolon\space + \ifhyperref + {\href{http://hdl.handle.net/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} +\DeclareFieldAlias{eprint:HDL}{eprint:hdl} +\DeclareFieldFormat{eprint:arxiv}{% + arXiv\addcolon\space + \ifhyperref + {\href{https://arxiv.org/\abx@arxivpath/#1}{% + \nolinkurl{#1}% + \iffieldundef{eprintclass} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} + {\nolinkurl{#1}% + \iffieldundef{eprintclass} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} +\DeclareFieldAlias{eprint:arXiv}{eprint:arxiv} +\DeclareFieldFormat{eprint:jstor}{% + JSTOR\addcolon\space + \ifhyperref + {\href{http://www.jstor.org/stable/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} +\DeclareFieldAlias{eprint:JSTOR}{eprint:jstor} +\DeclareFieldFormat{eprint:pubmed}{% + PMID\addcolon\space + \ifhyperref + {\href{http://www.ncbi.nlm.nih.gov/pubmed/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} +\DeclareFieldAlias{eprint:PubMed}{eprint:pubmed} +\DeclareFieldFormat{eprint:googlebooks}{% + Google Books\addcolon\space + \ifhyperref + {\href{http://books.google.com/books?id=#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} +\DeclareFieldAlias{eprint:Google Books}{eprint:googlebooks} +\DeclareFieldFormat{file}{\url{#1}} +\DeclareFieldFormat{isbn}{\mkbibacro{ISBN}\addcolon\space #1} +\DeclareFieldFormat{isrn}{\mkbibacro{ISRN}\addcolon\space #1} +\DeclareFieldFormat{issn}{\mkbibacro{ISSN}\addcolon\space #1} +\DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot}} +\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} +\DeclareFieldFormat{maintitle}{\mkbibemph{#1}} +\DeclareFieldFormat{booktitle}{\mkbibemph{#1}} +\DeclareFieldFormat{chapter}{\bibstring{chapter}~#1} +\DeclareFieldFormat{month}{\mkbibmonth{#1}} +\DeclareFieldFormat{note}{#1\isdot} +\DeclareFieldFormat{number}{#1}% number in a series +\DeclareFieldFormat[article,periodical]{number}{#1}% number of a journal +\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}} +\DeclareFieldFormat{pagetotal}{\mkpagetotal[bookpagination]{#1}} +\DeclareFieldFormat{part}{.#1}% physical part of a logical volume +\DeclareFieldFormat{series}{#1}% publication series +\DeclareFieldFormat[article,periodical]{series}{% series of a journal + \ifinteger{#1} + {\mkbibordseries{#1}~\bibstring{jourser}} + {\ifbibstring{#1}{\bibstring{#1}}{#1}}} +\DeclareFieldFormat{pubstate}{\ifbibstring{#1}{\bibstring{#1}}{#1}} +\DeclareFieldFormat{title}{\mkbibemph{#1}} +\DeclareFieldFormat + [article,inbook,incollection,inproceedings,patent,thesis,unpublished] + {title}{\mkbibquote{#1\isdot}} +\DeclareFieldFormat + [suppbook,suppcollection,suppperiodical] + {title}{#1} +\DeclareFieldFormat{type}{\ifbibstring{#1}{\bibstring{#1}}{#1}} +\DeclareFieldFormat{url}{\mkbibacro{URL}\addcolon\space\url{#1}} +\DeclareFieldFormat{urldate}{\mkbibparens{\bibstring{urlseen}\space#1}} +\DeclareFieldFormat{version}{\bibstring{version}~#1} +\DeclareFieldFormat{volume}{\bibstring{volume}~#1}% volume of a book +\DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal +\DeclareFieldFormat{volumes}{#1~\bibstring{volumes}} +\DeclareFieldFormat{related}{#1} +\DeclareFieldFormat{related:multivolume}{#1} +\DeclareFieldFormat{related:origpubin}{\mkbibparens{#1}} +\DeclareFieldFormat{related:origpubas}{\mkbibparens{#1}} +\DeclareFieldFormat{relatedstring:default}{#1\printunit{\relatedpunct}} +\DeclareFieldFormat{relatedstring:reprintfrom}{#1\addspace} + +% Generic formats for \printtext and \printfield + +\DeclareFieldFormat{emph}{\mkbibemph{#1}} +\DeclareFieldFormat{bold}{\mkbibbold{#1}} +\DeclareFieldFormat{smallcaps}{\textsc{#1}} +\DeclareFieldFormat{parens}{\mkbibparens{#1}} +\DeclareFieldFormat{brackets}{\mkbibbrackets{#1}} +\DeclareFieldFormat{bibhyperref}{\bibhyperref{#1}} +\DeclareFieldFormat{bibhyperlink}{\bibhyperlink{\thefield{entrykey}}{#1}} +\DeclareFieldFormat{bibhypertarget}{\bibhypertarget{\thefield{entrykey}}{#1}} +\DeclareFieldFormat{titlecase}{#1} +\DeclareFieldFormat{noformat}{#1} + +% ------------------------------------------------------------------ +% LITERAL LIST FORMATS (#1 is the current item) +% ------------------------------------------------------------------ + +% Formatting directives for literal lists +% ------------------------------------------------------------------ + +\DeclareListWrapperFormat{default}{#1} + +% The fallback used by \printlist + +\DeclareListFormat{default}{% + \usebibmacro{list:delim}{#1}% + \usebibmacro{list:langswitchon}% + #1\isdot + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}} + +% The default used by \citelist + +\DeclareListAlias{citelist}{default} +\DeclareListWrapperAlias{citelist}{default} + +% Used in the bibliography + +\DeclareListFormat{publisher}{% + \usebibmacro{list:delim}{#1}% + \usebibmacro{list:langswitchon}% + #1\isdot + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}} + +\DeclareListFormat{language}{% + \usebibmacro{list:delim}{% + \ifbibstring{#1} + {\bibxstring{#1}} + {\ifbibstring{lang#1} + {\bibxstring{lang#1}} + {#1}}}% + \usebibmacro{list:langswitchon}% + \ifbibstring{#1} + {\bibstring{#1}} + {\ifbibstring{lang#1} + {\bibstring{lang#1}} + {#1}}% + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}} + +\DeclareListFormat{origlanguage}{% + \usebibmacro{list:delim}{% + \ifbibstring{#1} + {\bibxstring{#1}} + {\ifbibstring{lang#1} + {\bibxstring{lang#1}} + {#1}}}% + \usebibmacro{list:langswitchon}% + \ifbibstring{#1} + {\bibstring{#1}} + {\ifbibstring{lang#1} + {\bibstring{lang#1}} + {#1}}% + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}} + + +\DeclareListFormat{lfromoriglanguage}{% + \begingroup + \blx@bibstringnormal + \usebibmacro{list:delim}{% + \ifbibstring{from#1} + {\bibxlstring{from#1}} + {\ifbibstring{lang#1} + {\bibxlstring{lang#1}} + {#1}}}% + \usebibmacro{list:langswitchon}% + \ifbibstring{from#1} + {\bibstring{from#1}} + {\ifbibstring{lang#1} + {\biblstring{lang#1}} + {#1}}% + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}% + \endgroup} + +\DeclareListFormat{sfromoriglanguage}{% + \begingroup + \blx@bibstringnormal + \usebibmacro{list:delim}{% + \ifbibstring{from#1} + {\bibxsstring{from#1}} + {\ifbibstring{lang#1} + {\bibxsstring{lang#1}} + {#1}}}% + \usebibmacro{list:langswitchon}% + \ifbibstring{from#1} + {\bibstring{from#1}} + {\ifbibstring{lang#1} + {\bibsstring{lang#1}} + {#1}}% + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}% + \endgroup} + +\newbibmacro*{list:langswitchon}{% + % begin language for list item mslang + % Overide language from list item langtag annotation + % This does two checks since only multiscript fields would have such an annotation + \begingroup + \ifcsdef{abx@annotation@literal@item@\currentmsform @\currentmslang @\currentlist @mslang@\thelistcount} + {\edef\blx@tempb{\csuse{abx@annotation@literal@item@\currentmsform @\currentmslang @\currentlist @mslang@\thelistcount}}% + \edef\blx@tempa{\csuse{blx@msmaplang@\blx@tempb}}% + \begingroup + \let\currentmslang\blx@tempb + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + {}% + \blx@hook@initfieldlang + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}} + {}} + +\newbibmacro*{list:langswitchoff}{% + \endgroup + \ifcsdef{abx@annotation@literal@item@\currentmsform @\currentmslang @\currentlist @mslang@\thelistcount} + {% end language for list mslang + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname} + {}% + \endgroup} + {}} + +\DeclareListFormat{location}{% + \usebibmacro{list:delim}{#1}% + \usebibmacro{list:langswitchon}% + #1\isdot + \usebibmacro{list:langswitchoff}% + \usebibmacro{list:andothers}} + +\DeclareListFormat[patent]{location}{% + \usebibmacro{list:plain}% + \ifbibstring{#1}{\bibstring{#1}}{#1\isdot}% + \usebibmacro{list:andothers}} + +\DeclareListFormat{pageref}{% + \ifnumless{\abx@pagerefstyle}{0} + {\usebibmacro{list:plain}% + \ifhyperref + {\hyperlink{page.#1}{#1}} + {#1}} + {\ifnumequal{\value{listcount}}{1} + {\usebibmacro{pageref:init}} + {}% + \usebibmacro{pageref:comp}{#1}% + \ifnumequal{\value{listcount}}{\value{liststop}} + {\usebibmacro{pageref:dump}} + {}}} + +\DeclareListAlias{origlocation}{location} +\DeclareListAlias{origpublisher}{publisher} +\DeclareListAlias{institution}{default} +\DeclareListAlias{organization}{default} + +\DeclareListWrapperAlias{origlocation}{location} +\DeclareListWrapperAlias{origpublisher}{publisher} +\DeclareListWrapperAlias{institution}{default} +\DeclareListWrapperAlias{organization}{default} + +% Auxiliary macros for list formatting directives +% ------------------------------------------------------------------ + +\newbibmacro*{list:delim}[1]{% + \ifnumgreater{\value{listcount}}{\value{liststart}} + {\ifboolexpr{ + test {\ifnumless{\value{listcount}}{\value{liststop}}} + or + test \ifmoreitems + } + {\printdelim{multilistdelim}} + {\lbx@finallistdelim{#1}}} + {}} + +\newbibmacro*{list:plain}{% + \ifnumgreater{\value{listcount}}{\value{liststart}} + {\printdelim{multilistdelim}} + {}} + +\newbibmacro*{list:andothers}{% + \ifboolexpr{ + test {\ifnumequal{\value{listcount}}{\value{liststop}}} + and + test \ifmoreitems + } + {\ifnumgreater{\value{liststop}}{1} + {\finalandcomma} + {}% + \printdelim{andmoredelim}\bibstring{andmore}} + {}} + +\newbibmacro*{pageref:init}{% + \let\abx@range@hold=\empty + \def\abx@range@diff{0}% + \def\abx@range@prev{-1}% + \def\abx@range@this{0}% + \def\abx@range@last{-1}} + +\newbibmacro*{pageref:comp}[1]{% + \numdef\abx@range@prev{\abx@range@prev+1}% + \ifinteger{#1} + {\def\abx@range@num{#1}% + \def\abx@range@this{1}% + \ifnumequal{\abx@range@this}{\abx@range@last} + {} + {\def\abx@range@prev{-1}}} + {\ifrmnum{#1} + {\numdef\abx@range@num{\rmntonum{#1}}% + \def\abx@range@this{2}% + \ifnumequal{\abx@range@this}{\abx@range@last} + {} + {\def\abx@range@prev{-1}}} + {\undef\abx@range@num + \def\abx@range@this{0}% + \def\abx@range@prev{-1}}}% + \ifdef\abx@range@num + {\ifnumequal{\abx@range@num}{\abx@range@prev} + {\def\abx@range@hold{#1}% + \numdef\abx@range@diff{\abx@range@diff+1}} + {\usebibmacro{pageref:dump}% + \ifnumgreater{\abx@range@last}{-1} + {\printdelim{multilistdelim}} + {}% + \ifhyperref + {\hyperlink{page.#1}{#1}} + {#1}}% + \edef\abx@range@prev{\abx@range@num}} + {\usebibmacro{pageref:dump}% + \ifnumgreater{\abx@range@last}{-1} + {\printdelim{multilistdelim}} + {}% + \ifhyperref + {\hyperlink{page.#1}{#1}} + {#1}% + \def\abx@range@prev{-1}}% + \edef\abx@range@last{\abx@range@this}} + +\newbibmacro*{pageref:dump}{% + \ifnumgreater{\abx@range@diff}{0} + {\ifcase\abx@pagerefstyle\relax % two + \bibrangedash + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}% + \or % three + \ifnumless{\abx@range@diff}{2} + {\printdelim{multilistdelim}} + {\bibrangedash}% + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}% + \or % two+ + \ifnumless{\abx@range@diff}{2} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} + {\bibstring{sequens}}} + {\bibrangedash + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}}% + \or % three+ + \ifnumless{\abx@range@diff}{2} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} + {\bibstring{sequens}}} + {\ifnumless{\abx@range@diff}{3} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}} + {\bibstring{sequentes}}} + {\bibrangedash + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}}}% + \else % all+ + \ifnumless{\abx@range@diff}{2} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} + {\bibstring{sequens}}} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}} + {\bibstring{sequentes}}}% + \fi + \def\abx@range@diff{0}} + {}} + +% ------------------------------------------------------------------ +% NAME LIST FORMATS +% ------------------------------------------------------------------ + +% Formatting directives for name lists +% ------------------------------------------------------------------ + +\DeclareNameWrapperFormat{default}{#1} + +\DeclareNameFormat{given-family}{% + \ifgiveninits + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix}} + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}}% + \usebibmacro{name:andothers}} + +\DeprecateNameFormatWithReplacement{first-last}{given-family} + +\DeclareNameFormat{family-given}{% + \ifgiveninits + {\usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix}} + {\usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}}% + \usebibmacro{name:andothers}} + +\DeprecateNameFormatWithReplacement{last-first}{family-given} + + +\DeclareNameFormat{family-given/given-family}{% + \ifnumequal{\value{listcount}}{1} + {\ifgiveninits + {\usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix}} + {\usebibmacro{name:family-given} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}}% + \ifboolexpe{% + test {\ifdefvoid\namepartgiven} + and + test {\ifdefvoid\namepartprefix}} + {} + {\usebibmacro{name:revsdelim}}} + {\ifgiveninits + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffix}} + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}}}% + \usebibmacro{name:andothers}} + +\DeprecateNameFormatWithReplacement{last-first/first-last}{family-given/given-family} + +\DeclareNameFormat{initsonly}{% + \usebibmacro{name:given-family} + {\namepartfamilyi} + {\namepartgiveni} + {\namepartprefixi} + {\namepartsuffixi}% + \usebibmacro{name:andothers}} + +% Fallback used by \printnames +\DeclareNameAlias{default}{given-family} + +% Default used by \citename +\DeclareNameAlias{citename}{default} +\DeclareNameWrapperAlias{citename}{default} + +% Used in some citations +\DeclareNameFormat{labelname}{% + \ifcase\value{uniquename}% + \usebibmacro{name:family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \or + \ifuseprefix + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefix} + {\namepartsuffixi}} + {\usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiveni} + {\namepartprefixi} + {\namepartsuffixi}}% + \or + \usebibmacro{name:given-family} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}% + \fi + \usebibmacro{name:andothers}} + +% Used in the bibliography +\DeclareNameAlias{sortname}{family-given/given-family} + +\DeclareNameAlias{author}{default} +\DeclareNameAlias{bookauthor}{author} +\DeclareNameAlias{editor}{default} +\DeclareNameAlias{editora}{editor} +\DeclareNameAlias{editorb}{editor} +\DeclareNameAlias{editorc}{editor} +\DeclareNameAlias{translator}{default} + +\DeclareNameAlias{byauthor}{default} +\DeclareNameAlias{bybookauthor}{byauthor} +\DeclareNameAlias{byeditor}{default} +\DeclareNameAlias{byeditora}{byeditor} +\DeclareNameAlias{byeditorb}{byeditor} +\DeclareNameAlias{byeditorc}{byeditor} +\DeclareNameAlias{bytranslator}{default} + +\DeclareNameAlias{withcommentator}{default} +\DeclareNameAlias{withannotator}{default} +\DeclareNameAlias{withintroduction}{default} +\DeclareNameAlias{withforeword}{default} +\DeclareNameAlias{withafterword}{default} + +\DeclareNameWrapperAlias{author}{default} +\DeclareNameWrapperAlias{bookauthor}{author} +\DeclareNameWrapperAlias{editor}{default} +\DeclareNameWrapperAlias{editora}{editor} +\DeclareNameWrapperAlias{editorb}{editor} +\DeclareNameWrapperAlias{editorc}{editor} +\DeclareNameWrapperAlias{translator}{default} + +\DeclareNameWrapperAlias{byauthor}{default} +\DeclareNameWrapperAlias{bybookauthor}{byauthor} +\DeclareNameWrapperAlias{byeditor}{default} +\DeclareNameWrapperAlias{byeditora}{byeditor} +\DeclareNameWrapperAlias{byeditorb}{byeditor} +\DeclareNameWrapperAlias{byeditorc}{byeditor} +\DeclareNameWrapperAlias{bytranslator}{default} + +\DeclareNameWrapperAlias{withcommentator}{default} +\DeclareNameWrapperAlias{withannotator}{default} +\DeclareNameWrapperAlias{withintroduction}{default} +\DeclareNameWrapperAlias{withforeword}{default} +\DeclareNameWrapperAlias{withafterword}{default} + +\DeclareFieldFormat{authortype}{#1} +\DeclareFieldFormat{editortype}{#1} +\DeclareFieldFormat{translatortype}{#1} + +% Auxiliary macros for name formatting directives +% ------------------------------------------------------------------ + +\newcommand{\mkbibcompletename}[1]{#1} + +\newcommand{\mkbibcompletenamefamily}{\mkbibcompletename} + +\newbibmacro*{name:langswitchon}{% + % begin language for name list item mslang + \ifdefempty\blx@nmslang + {} + {\let\currentmslang\blx@nmslang + \edef\blx@nmslang{\csuse{blx@msmaplang@\blx@nmslang}}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@nmslang}% must call this to load the .lbx + \csuse{abx@extras@\blx@nmslang}% + \csuse{abx@strings@\blx@nmslang}} + {}% + \blx@hook@initfieldlang + \begingroup + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@nmslang}} + {}}} + +\newbibmacro*{name:langswitchoff}{% + \ifdefempty\blx@nmslang + {} + {\ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname + \endgroup} + {}}} + +\newbibmacro*{name:family}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \usebibmacro{name:langswitchon}% + \mkbibcompletenamefamily{% + \ifdefvoid{#3} + {} + {\ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot}} + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \usebibmacro{name:langswitchon}% + \mkbibcompletenamefamily{% + \mkbibnamefamily{#1}\isdot}}% + \usebibmacro{name:langswitchoff}}% +\newbibmacro*{name:last}[4]{% legacy alias + \blx@warning@noline{% + 'name:last' is deprecated, please use 'name:family'}% + \usebibmacro{name:family}{#1}{#2}{#3}{#4}} + +\newcommand{\mkbibcompletenamegivenfamily}{\mkbibcompletename} + +\newbibmacro*{name:given-family}[4]{% + \usebibmacro{name:delim}{#2#3#1}% + \usebibmacro{name:hook}{#2#3#1}% + \usebibmacro{name:langswitchon}% + \mkbibcompletenamegivenfamily{% + \ifdefvoid{#2} + {} + {\mkbibnamegiven{#2}\isdot\bibnamedelimd}% + \ifdefvoid{#3} + {} + {\mkbibnameprefix{#3}\isdot + \ifprefchar + {} + {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}% + \usebibmacro{name:langswitchoff}} +\newbibmacro*{name:first-last}[4]{% legacy alias + \blx@warning@noline{% + 'name:first-last' is deprecated, please use 'name:given-family'}% + \usebibmacro{name:given-family}{#1}{#2}{#3}{#4}} + +\newcommand{\mkbibcompletenamefamilygiven}{\mkbibcompletename} + +\newbibmacro*{name:family-given}[4]{% + \ifuseprefix + {\usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \usebibmacro{name:langswitchon}% + \mkbibcompletenamefamilygiven{% + \ifdefvoid{#3} + {} + {\ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4} + {} + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + \ifdefvoid{#2} + {} + {\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}}} + {\usebibmacro{name:delim}{#1}% + \usebibmacro{name:hook}{#1}% + \usebibmacro{name:langswitchon}% + \mkbibcompletenamefamilygiven{% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#4} + {} + {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% + \ifboolexpe{% + test {\ifdefvoid{#2}} + and + test {\ifdefvoid{#3}}} + {} + {\revsdnamepunct}% + \ifdefvoid{#2} + {} + {\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#3} + {} + {\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}% + \usebibmacro{name:langswitchoff}} +\newbibmacro*{name:last-first}[4]{% legacy alias + \blx@warning@noline{% + 'name:last-first' is deprecated, please use 'name:family-given'}% + \usebibmacro{name:family-given}{#1}{#2}{#3}{#4}} + +\newbibmacro*{name:hook}[1]{% + \ifnumequal{\value{listcount}}{1} + {\lbx@initnamehook{#1}} + {}} + +\newbibmacro*{name:delim}[1]{% + \ifnumgreater{\value{listcount}}{\value{liststart}} + {\ifboolexpr{ + test {\ifnumless{\value{listcount}}{\value{liststop}}} + or + test \ifmorenames + } + {\printdelim{multinamedelim}} + {\lbx@finalnamedelim{#1}}} + {}} + +\newbibmacro*{name:revsdelim}{% + \ifboolexpr{ + ( + test {\ifnumequal{\value{liststop}}{1}} + and + test \ifmorenames + ) + or + test {\ifnumequal{\value{liststop}}{2}} + } + {\printdelim{revsdnamedelim}} + {}} + +\newbibmacro*{name:andothers}{% + \ifboolexpr{ + test {\ifnumequal{\value{listcount}}{\value{liststop}}} + and + test \ifmorenames + } + {\ifnumgreater{\value{liststop}}{1} + {\finalandcomma} + {}% + \printdelim{andothersdelim}\bibstring{andothers}} + {}} + +% ------------------------------------------------------------------ +% INDEX FORMATS FOR FIELDS (#1 is the value of the field) +% ------------------------------------------------------------------ + +% There is no need to test if a field to be indexed is empty because +% \indexfield performs this test implicitly. + +% The fallback used by \indexfield + +\DeclareIndexFieldFormat{default}{\index{#1}} + +% Used in the bibliography and in citations + +\DeclareIndexFieldFormat{indextitle}{% + \usebibmacro{index:title}{\index}{#1}} + +\newbibmacro*{index:title}[2]{% + \usebibmacro{index:field}{#1}{\thefield{indexsorttitle}}{\emph{#2}}} + +\newbibmacro*{index:field}[3]{% + \usebibmacro{index:entry}{#1}{\mkbibindexfield{#2}{#3}}} + +% Auxiliary macros for field indexing directives +% ------------------------------------------------------------------ + +\newbibmacro*{index:entry}[2]{% + \begingroup + \protected@edef\theindexentry{\unexpanded{#1}{#2}}% + \theindexentry + \endgroup} + +\newcommand*{\mkbibindexfield}[2]{\mkbibindexentry{#1}{\unexpanded{#2}}} +\newcommand*{\mkbibindexentry}[2]{#1\actualoperator#2} + +% ------------------------------------------------------------------ +% INDEX FORMATS FOR LITERAL LISTS (#1 is the current item) +% ------------------------------------------------------------------ + +% The fallback used by \indexlist + +\DeclareIndexListFormat{default}{\index{#1}} + +% ------------------------------------------------------------------ +% INDEX FORMATS FOR NAME LISTS +% ------------------------------------------------------------------ + +% Indexing directives for name lists +% ------------------------------------------------------------------ + +% The fallback used by \indexnames + +\DeclareIndexNameFormat{default}{% + \usebibmacro{index:name} + {\index} + {\namepartfamily} + {\namepartgiven} + {\namepartprefix} + {\namepartsuffix}} + +% Used in citations + +\DeclareIndexNameAlias{labelname}{default} + +% Used in the bibliography + +\DeclareIndexNameAlias{author}{default} +\DeclareIndexNameAlias{editor}{default} +\DeclareIndexNameAlias{bookauthor}{default} + +% Auxiliary macros for name indexing directives +% ------------------------------------------------------------------ + +% When generating an index entry, we need to test which parts of a +% name are actually available to prevent spurious punctuation and +% spaces. +% +% Note that the standard LaTeX \index command simply writes its +% argument to the .idx file without preventing expansion. This means +% that all \ifblank etc. tests are expanded on the way and will not end +% up in the index. The index package, however, prevents expansion. +% This would lead to \ifblank etc. ending up in the .idx file. To avoid +% that, we preprocess the index entry inside an \edef. We use +% \unexpanded to protect the \index command and the actual data from +% expansion. This definition will work with both index.sty and the +% standard indexing facilities. +% +% We also use \ifuseprefix to ensure that the name prefix is handled +% properly. \actualoperator is the so-called actual operator, as +% defined by the 'actual' specifier in the .ist file. The makeindex +% program will use the part preceeding the \actualoperator +% delimiter for sorting. The part after the delimiter is used as the +% index is printed. Note that this is not specific to biblatex, see +% the makeindex documentation for details. + +\newcommand*{\actualoperator}{@} +\newcommand*{\subentryoperator}{!} + +\newbibmacro*{index:name}[5]{% + \usebibmacro{index:entry}{#1}{\mkbibindexname{#2}{#3}{#4}{#5}}} + +% {<family name>}{<given name>}{<prefix>}{<suffix>} +\newcommand*{\mkbibindexname}[4]{% + \ifuseprefix + {\ifdefvoid{#3}{}{#3 }% + \@firstofone #1% remove spurious braces + \ifdefvoid{#4}{}{ #4}% + \ifdefvoid{#2}{}{, #2}% + \ifdefvoid{#3}{}{% + \actualoperator + \MakeCapital{#3} % + #1% + \ifdefvoid{#4}{}{ #4}% + \ifdefvoid{#2}{}{, #2}}} + {\@firstofone #1% remove spurious braces + \ifdefvoid{#4}{}{ #4}% + \ifboolexpe{% + test {\ifdefvoid{#2}} + and + test {\ifdefvoid{#3}}} + {} + {,}% + \ifdefvoid{#2}{}{ #2}% + \ifdefvoid{#3}{}{ #3}}} + +% {<control sequence>}{<control sequence>} +\newcommand*{\mkbibindexsubentry}[2]{% + \ifblank{#1}{}{\subentryoperator#1\actualoperator#2}} + +% Additional macros with subentries + +\newbibmacro*{index:name:field}[6]{% + \usebibmacro{index:name:subentry}{#1}{#2}{#3}{#4}{#5} + {\thefield{#6}}{\csfield{#6}}} + +\newbibmacro*{index:name:title}[5]{% + \usebibmacro{index:name:subentry}{#1}{#2}{#3}{#4}{#5} + {\thefield{indexsorttitle}}{\emph{\csfield{indextitle}}}} + +\newbibmacro*{index:name:subentry}[7]{% + \usebibmacro{index:entry}{#1}{% + \mkbibindexname{#2}{#3}{#4}{#5}\mkbibindexsubentry{#6}{#7}}} + +% ------------------------------------------------------------------ +% datafieldsets +% ------------------------------------------------------------------ + +% Some defaults for backwards compat for the biber nosort option +\DeclareDatafieldSet{setnames}{ + \member[datatype=name, fieldtype=list] +} + +\DeclareDatafieldSet{settitles}{ + \member[field=title] + \member[field=booktitle] + \member[field=eventtitle] + \member[field=issuetitle] + \member[field=journaltitle] + \member[field=maintitle] + \member[field=origtitle] +} + +% ------------------------------------------------------------------ +% Driver sourcemaps +% ------------------------------------------------------------------ + +\DeclareDriverSourcemap[datatype=bibtex]{ + \map{ + \step[fieldset=day, null] + } + \map{ + \step[typesource=conference, typetarget=inproceedings] + \step[typesource=electronic, typetarget=online] + \step[typesource=www, typetarget=online] + } + \map{ + \step[typesource=mastersthesis, typetarget=thesis, final] + \step[fieldset=type, fieldvalue=mathesis] + } + \map{ + \step[typesource=phdthesis, typetarget=thesis, final] + \step[fieldset=type, fieldvalue=phdthesis] + } + \map{ + \step[typesource=techreport, typetarget=report, final] + \step[fieldset=type, fieldvalue=techreport] + } + \map{ + \step[fieldsource=hyphenation, fieldtarget=langid] + \step[fieldsource=address, fieldtarget=location] + \step[fieldsource=school, fieldtarget=institution] + \step[fieldsource=annote, fieldtarget=annotation] + \step[fieldsource=archiveprefix, fieldtarget=eprinttype] + \step[fieldsource=journal, fieldtarget=journaltitle] + \step[fieldsource=primaryclass, fieldtarget=eprintclass] + \step[fieldsource=key, fieldtarget=sortkey] + \step[fieldsource=pdf, fieldtarget=file] + } +} + +% ------------------------------------------------------------------ +% META-FIELDS +% ------------------------------------------------------------------ + +\DeclareLabelname{% + \field{shortauthor} + \field{author} + \field{shorteditor} + \field{editor} + \field{translator} +} + +\DeclareLabeldate{% + \field{date} + \field{year} + \field{eventdate} + \field{origdate} + \field{urldate} + \literal{nodate} +} + +\DeclareExtradate{% + \scope{ + \field{labelyear} + \field{year} + } +} + +\DeclareExtradateContext{% + \field{labelname} + \field{labeltitle} +} + +\DeclareLabeltitle{% + \field{shorttitle} + \field{title} + \field{maintitle} +} + +% ------------------------------------------------------------------ +% LABELALPHA TEMPLATE +% ------------------------------------------------------------------ + +\DeclareLabelalphaTemplate{ + \labelelement{ + \field[final]{shorthand} + \field{label} + \field[strwidth=3,strside=left,ifnames=1]{labelname} + \field[strwidth=1,strside=left]{labelname} + } + \labelelement{ + \field[strwidth=2,strside=right]{year} + } +} + +% ------------------------------------------------------------------ +% LABELALPHA NAME TEMPLATE +% ------------------------------------------------------------------ + +\DeclareLabelalphaNameTemplate{ + \namepart[use=true, pre=true, strwidth=1, compound=true]{prefix} + \namepart{family} +} + +% ------------------------------------------------------------------ +% UNIQUENAME TEMPLATE +% ------------------------------------------------------------------ + +\DeclareUniquenameTemplate{ + \namepart[use=true, base=true]{prefix} + \namepart[base=true]{family} + \namepart{given} +} + +% ------------------------------------------------------------------ +% SORTING +% ------------------------------------------------------------------ + +\DeclareSortingNamekeyTemplate{ + \keypart{ + \namepart[use=true]{prefix} + \namepart{family} + } + \keypart{ + \namepart{given} + } + \keypart{ + \namepart{suffix} + } + \keypart{ + \namepart[use=false]{prefix} + } +} + +\DeclarePresort{mm} + +\DeclareSortingTemplate{shorthand}{ + \sort[final]{ + \field{sortshorthand} + } + \sort{ + \field{shorthand} + } +} + +\DeclareSortingTemplate{none}{ + \sort{\citeorder} + \sort{\intciteorder} +} + +\DeclareSortingTemplate{count}{ + \sort[direction=descending]{\citecount} +} + +\DeclareSortingTemplate{debug}{ + \sort{ + \field{entrykey} + } +} + +\DeclareSortingTemplate{nty}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{volume} + \literal{0} + } +} + +\DeclareSortingTemplate{nyt}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } +} + +\DeclareSortingTemplate{nyvt}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{volume} + \literal{0} + } + \sort{ + \field{sorttitle} + \field{title} + } +} + +\DeclareSortingTemplate{anyt}{ + \sort{ + \field{presort} + } + \sort{ + \field{labelalpha} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } +} + +\DeclareSortingTemplate{anyvt}{ + \sort{ + \field{presort} + } + \sort{ + \field{labelalpha} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{volume} + \literal{0} + } + \sort{ + \field{sorttitle} + \field{title} + } +} + +\DeclareSortingTemplate{ynt}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortyear} + \field{year} + \literal{9999} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } +} + +\DeclareSortingTemplate{ydnt}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort[direction=descending]{ + \field{sortyear} + \field{year} + \literal{9999} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } +} + +% ------------------------------------------------------------------ +% DATA INHERITANCE (CROSSREF) +% ------------------------------------------------------------------ + +\DefaultInheritance{all=true,override=false} + +\DeclareDataInheritance{mvbook,book}{inbook,bookinbook,suppbook}{% + \inherit{author}{author} + \inherit{author}{bookauthor} +} + +\DeclareDataInheritance{mvbook}{book,inbook,bookinbook,suppbook}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{mvcollection,mvreference} +{collection,reference,incollection,inreference,suppcollection}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{mvproceedings}{proceedings,inproceedings}{% + \inherit{title}{maintitle} + \inherit{subtitle}{mainsubtitle} + \inherit{titleaddon}{maintitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{book}{inbook,bookinbook,suppbook}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{collection,reference} +{incollection,inreference,suppcollection}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{proceedings}{inproceedings}{% + \inherit{title}{booktitle} + \inherit{subtitle}{booksubtitle} + \inherit{titleaddon}{booktitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{periodical}{article,suppperiodical}{% + \inherit{title}{journaltitle} + \inherit{subtitle}{journalsubtitle} + \inherit{titleaddon}{journaltitleaddon} + \noinherit{shorttitle} + \noinherit{sorttitle} + \noinherit{indextitle} + \noinherit{indexsorttitle} +} + +\DeclareDataInheritance{*}{*}{% + \noinherit{ids} + \noinherit{crossref} + \noinherit{xref} + \noinherit{entryset} + \noinherit{entrysubtype} + \noinherit{execute} + \noinherit{label} + \noinherit{options} + \noinherit{presort} + \noinherit{related} + \noinherit{relatedoptions} + \noinherit{relatedstring} + \noinherit{relatedtype} + \noinherit{shorthand} + \noinherit{shorthandintro} + \noinherit{sortkey} + \noinherit{langid} +} + +% ------------------------------------------------------------------ +% MACROS FOR LBX FILES +% ------------------------------------------------------------------ + +\newcommand*{\lbx@initnamehook}[1]{} +\newcommand*{\lbx@inittitlehook}[1]{} +\newcommand*{\lbx@finalnamedelim}[1]{\printdelim{finalnamedelim}} +\newcommand*{\lbx@finallistdelim}[1]{\printdelim{finallistdelim}} + +\newcommand*{\lbx@lfromlang}{% + \iflistundef{origlanguage} + {\unspace} + {\printlist[lfromoriglanguage]{origlanguage}}} + +\newcommand*{\lbx@sfromlang}{% + \iflistundef{origlanguage} + {\unspace} + {\printlist[sfromoriglanguage]{origlanguage}}} + +% ------------------------------------------------------------------ +% MISCELLANEOUS +% ------------------------------------------------------------------ + +% ordinals + +\newcommand*{\mkbibordedition}{\mkbibordinal} +\newcommand*{\mkbibordseries}{\mkbibordinal} + +% american + +\newrobustcmd*{\uspunctuation}{% + \DeclareQuotePunctuation{.,}% + \DeclarePunctuationPairs{comma}{*}} +\newrobustcmd*{\stdpunctuation}{% + \DeclareQuotePunctuation{}% + \DeclarePunctuationPairs{comma}{*!?}} + +% catalan and french + +\newtoggle{smartof} +\newrobustcmd*{\smartof}{\global\toggletrue{smartof}} +\newrobustcmd*{\forceD}[1]{#1} +\newrobustcmd*{\forceDE}[1]{#1} + +\AtBeginDocument{% + \@ifpackageloaded{babel} + {\ifdef\AutoSpaceBeforeFDP + {\newrobustcmd*{\EnsureAutoSpaceBeforeFDP}{% + \iflanguage{french} + {\AutoSpaceBeforeFDP} + {}}% + \appto\bibsetup{\EnsureAutoSpaceBeforeFDP}% + \appto\citesetup{\EnsureAutoSpaceBeforeFDP}} + {}} + {}} + +% spanish + +\newcounter{smartand} +\defcounter{smartand}{1} +\newrobustcmd*{\forceY}[1]{#1} +\newrobustcmd*{\forceE}[1]{#1} + +% ------------------------------------------------------------------ +% PREDEFINED HEADINGS +% ------------------------------------------------------------------ + +\newcommand*{\abx@classtype}{0} +\@ifclassloaded{article} + {} + {\@ifclassloaded{book} + {\def\abx@classtype{1}} + {\@ifclassloaded{report} + {\def\abx@classtype{1}} + {\@ifclassloaded{scrartcl} + {\def\abx@classtype{2}} + {\@ifclassloaded{scrbook} + {\def\abx@classtype{3}} + {\@ifclassloaded{scrreprt} + {\def\abx@classtype{3}} + {\@ifclassloaded{memoir} + {\ifbool{artopt} + {\def\abx@classtype{4}} + {\def\abx@classtype{5}}} + {\ifundef\chapter + {} + {\def\abx@classtype{1}}}}}}}}} + +\defbibheading{none}{} + +\def\abx@MakeMarkcase{\MakeUppercase} +\AtBeginDocument{% + \ifcsundef{MakeMarkcase}{}{\def\abx@MakeMarkcase{\MakeMarkcase}}} + +\ifcase\abx@classtype\relax % article + \defbibheading{bibliography}[\refname]{% + \section*{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{biblist}[\biblistname]{% + \section*{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{bibintoc}[\refname]{% + \section*{#1}% + \addcontentsline{toc}{section}{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{biblistintoc}[\biblistname]{% + \section*{#1}% + \addcontentsline{toc}{section}{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{bibnumbered}[\refname]{% + \section{#1}} + \defbibheading{biblistnumbered}[\biblistname]{% + \section{#1}} + \defbibheading{subbibliography}[\refname]{% + \subsection*{#1}} + \defbibheading{subbibintoc}[\refname]{% + \subsection*{#1}% + \addcontentsline{toc}{subsection}{#1}} + \defbibheading{subbibnumbered}[\refname]{% + \subsection{#1}} + +\or % book/report + \defbibheading{bibliography}[\bibname]{% + \chapter*{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{biblist}[\biblistname]{% + \chapter*{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{bibintoc}[\bibname]{% + \chapter*{#1}% + \addcontentsline{toc}{chapter}{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{biblistintoc}[\biblistname]{% + \chapter*{#1}% + \addcontentsline{toc}{chapter}{#1}% + \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + \defbibheading{bibnumbered}[\bibname]{% + \chapter{#1}} + \defbibheading{biblistnumbered}[\biblistname]{% + \chapter{#1}} + \defbibheading{subbibliography}[\refname]{% + \section*{#1}% + \if@twoside\markright{\abx@MakeMarkcase{#1}}\fi} + \defbibheading{subbibintoc}[\refname]{% + \section*{#1}% + \addcontentsline{toc}{section}{#1}% + \if@twoside\markright{\abx@MakeMarkcase{#1}}\fi} + \defbibheading{subbibnumbered}[\refname]{% + \section{#1}} + +\or % scrartcl + \defbibheading{bibliography}[\refname]{% + \ifcsundef{bibliography@heading} + {\ifkomabibtotocnumbered + {\section{#1}} + {\ifkomabibtotoc + {\addsec{#1}} + {\section*{#1}% + \ifcsundef{@mkdouble} + {\@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + {\@mkdouble{\abx@MakeMarkcase{#1}}}}}} + {\bibliography@heading{#1}}} + \defbibheading{biblist}[\biblistname]{% + \ifcsundef{bibliography@heading} + {\ifkomabibtotocnumbered + {\section{#1}} + {\ifkomabibtotoc + {\addsec{#1}} + {\section*{#1}% + \ifcsundef{@mkdouble} + {\@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + {\@mkdouble{\abx@MakeMarkcase{#1}}}}}} + {\bibliography@heading{#1}}} + \defbibheading{bibintoc}[\refname]{% + \addsec{#1}} + \defbibheading{biblistintoc}[\biblistname]{% + \addsec{#1}} + \defbibheading{bibnumbered}[\refname]{% + \section{#1}} + \defbibheading{biblistnumbered}[\biblistname]{% + \section{#1}} + \defbibheading{subbibliography}[\refname]{% + \subsection*{#1}% + \ifcsundef{@mkright} + {\ifx\@mkboth\@gobbletwo\else\markright{\abx@MakeMarkcase{#1}}\fi} + {\@mkright{\abx@MakeMarkcase{#1}}}} + \defbibheading{subbibintoc}[\refname]{% + \subsection*{#1}% + \addcontentsline{toc}{subsection}{#1}% + \ifcsundef{@mkright} + {\ifx\@mkboth\@gobbletwo\else\markright{\abx@MakeMarkcase{#1}}\fi} + {\@mkright{\abx@MakeMarkcase{#1}}}} + \defbibheading{subbibnumbered}[\refname]{% + \subsection{#1}} + +\or % scrbook/scrreprt + \defbibheading{bibliography}[\bibname]{% + \ifcsundef{bibliography@heading} + {\ifkomabibtotocnumbered + {\chapter{#1}} + {\ifkomabibtotoc + {\addchap{#1}} + {\chapter*{#1} + \ifcsundef{@mkdouble} + {\@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + {\@mkdouble{\abx@MakeMarkcase{#1}}}}}} + {\bibliography@heading{#1}}} + \defbibheading{biblist}[\biblistname]{% + \ifcsundef{bibliography@heading} + {\ifkomabibtotocnumbered + {\chapter{#1}} + {\ifkomabibtotoc + {\addchap{#1}} + {\chapter*{#1} + \ifcsundef{@mkdouble} + {\@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}} + {\@mkdouble{\abx@MakeMarkcase{#1}}}}}} + {\bibliography@heading{#1}}} + \defbibheading{bibintoc}[\bibname]{% + \addchap{#1}} + \defbibheading{biblistintoc}[\biblistname]{% + \addchap{#1}} + \defbibheading{bibnumbered}[\bibname]{% + \chapter{#1}} + \defbibheading{biblistnumbered}[\biblistname]{% + \chapter{#1}} + \defbibheading{subbibliography}[\refname]{% + \section*{#1}% + \ifcsundef{@mkright} + {\ifx\@mkboth\@gobbletwo\else\markright{\abx@MakeMarkcase{#1}}\fi} + {\@mkright{\abx@MakeMarkcase{#1}}}} + \defbibheading{subbibintoc}[\refname]{% + \addsec{#1}} + \defbibheading{subbibnumbered}[\refname]{% + \section{#1}} + +\or % memoir (article) + \ifcsundef{memUChead}{}{\def\abx@MakeMarkcase{\memUChead}}% + \defbibheading{bibliography}[\refname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \ifmemoirbibintoc + {\phantomsection + \addcontentsline{toc}{chapter}{#1}} + {}} + \defbibheading{biblist}[\biblistname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \ifmemoirbibintoc + {\phantomsection + \addcontentsline{toc}{chapter}{#1}} + {}} + \defbibheading{bibintoc}[\refname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \phantomsection + \addcontentsline{toc}{chapter}{#1}} + \defbibheading{biblistintoc}[\biblistname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \phantomsection + \addcontentsline{toc}{chapter}{#1}} + \defbibheading{bibnumbered}[\refname]{% + \chapter{#1}} + \defbibheading{biblistnumbered}[\biblistname]{% + \chapter{#1}} + \defbibheading{subbibliography}[\refname]{% + \section*{#1}% + \if@twoside\markright{\abx@MakeMarkcase{#1}}\fi + \ifmemoirbibintoc + {\phantomsection + \addcontentsline{toc}{section}{#1}} + {}} + \defbibheading{subbibintoc}[\refname]{% + \section*{#1}% + \if@twoside\markright{\abx@MakeMarkcase{#1}}\fi + \phantomsection + \addcontentsline{toc}{section}{#1}} + \defbibheading{subbibnumbered}[\refname]{% + \section{#1}} + +\or % memoir (book) + \ifcsundef{memUChead}{}{\def\abx@MakeMarkcase{\memUChead}}% + \defbibheading{bibliography}[\bibname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \ifmemoirbibintoc + {\phantomsection + \addcontentsline{toc}{chapter}{#1}} + {}} + \defbibheading{biblist}[\biblistname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \ifmemoirbibintoc + {\phantomsection + \addcontentsline{toc}{chapter}{#1}} + {}} + \defbibheading{bibintoc}[\bibname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \phantomsection + \addcontentsline{toc}{chapter}{#1}} + \defbibheading{biblistintoc}[\biblistname]{% + \chapter*{#1}% + \if@twoside + \markboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}% + \else + \markright{\abx@MakeMarkcase{#1}}% + \fi + \phantomsection + \addcontentsline{toc}{chapter}{#1}} + \defbibheading{bibnumbered}[\bibname]{% + \chapter{#1}} + \defbibheading{biblistnumbered}[\biblistname]{% + \chapter{#1}} + \defbibheading{subbibliography}[\refname]{% + \section*{#1}% + \if@twoside\markright{\abx@MakeMarkcase{#1}}\fi + \ifmemoirbibintoc + {\phantomsection + \addcontentsline{toc}{section}{#1}} + {}} + \defbibheading{subbibintoc}[\refname]{% + \section*{#1}% + \if@twoside\markright{\abx@MakeMarkcase{#1}}\fi + \phantomsection + \addcontentsline{toc}{section}{#1}} + \defbibheading{subbibnumbered}[\refname]{% + \section{#1}} + +\fi + +% ------------------------------------------------------------------ +% GENERIC CITATION COMMANDS +% ------------------------------------------------------------------ + +\DeclareCiteCommand{\fullcite} + {\usebibmacro{prenote}} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footfullcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printnames{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citeauthor} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printnames[][1-1]{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citetitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexfield{indextitle}} + {}% + \printfield[citetitle]{labeltitle}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citetitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexfield{indextitle}} + {}% + \printfield[citetitle]{title}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeyear} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield{year}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citeyear} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield{year}\printfield{extradate}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citedate} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printdate} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\citedate} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printdateextra} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeurl} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield[citeurl]{url}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\notecite} + {\printfield{prenote}% + \setunit*{\printdelim{prenotedelim}}} + {} + {} + {\printfield{postnote}} + +\DeclareCiteCommand{\pnotecite}[\mkbibparens] + {\printfield{prenote}% + \setunit*{\printdelim{prenotedelim}}} + {} + {} + {\printfield{postnote}} + +\DeclareCiteCommand{\fnotecite}[\mkbibfootnote] + {\printfield{prenote}% + \setunit*{\printdelim{prenotedelim}}} + {} + {} + {\printfield{postnote}} + +\newrobustcmd*{\volcite}{\volcitecmd\cite} +\newrobustcmd*{\pvolcite}{\volcitecmd\parencite} +\newrobustcmd*{\fvolcite}{\volcitecmd\footcite} +\newrobustcmd*{\ftvolcite}{\volcitecmd\footcitetext} +\newrobustcmd*{\svolcite}{\volcitecmd\smartcite} +\newrobustcmd*{\tvolcite}{\volcitecmd\textcite} +\newrobustcmd*{\avolcite}{\volcitecmd\autocite} + +\newrobustcmd*{\volcites}{\multivolcitecmd\cites} +\newrobustcmd*{\pvolcites}{\multivolcitecmd\parencites} +\newrobustcmd*{\fvolcites}{\multivolcitecmd\footcites} +\newrobustcmd*{\ftvolcites}{\multivolcitecmd\footcitetexts} +\newrobustcmd*{\svolcites}{\multivolcitecmd\smartcites} +\newrobustcmd*{\tvolcites}{\multivolcitecmd\textcites} +\newrobustcmd*{\avolcites}{\multivolcitecmd\autocites} + +\newrobustcmd*{\Cite}{\bibsentence\cite} +\newrobustcmd*{\Parencite}{\bibsentence\parencite} +\newrobustcmd*{\Footcite}{\footcite} +\newrobustcmd*{\Footcitetext}{\footcitetext} +\newrobustcmd*{\Smartcite}{\bibsentence\smartcite} +\newrobustcmd*{\Textcite}{\bibsentence\textcite} +\newrobustcmd*{\Citeauthor}{% + \@ifstar{\bibsentence\citeauthor*}{\bibsentence\citeauthor}} +\newrobustcmd*{\Citetitle}{\bibsentence\citetitle} + +\newrobustcmd*{\Volcite}{\volcitecmd\Cite} +\newrobustcmd*{\Pvolcite}{\volcitecmd\Parencite} +\newrobustcmd*{\Fvolcite}{\volcitecmd\Footcite} +\newrobustcmd*{\Ftvolcite}{\volcitecmd\Footcitetext} +\newrobustcmd*{\Svolcite}{\volcitecmd\Smartcite} +\newrobustcmd*{\Tvolcite}{\volcitecmd\Textcite} +\newrobustcmd*{\Avolcite}{\volcitecmd\Autocite} + +\newrobustcmd*{\Volcites}{\multivolcitecmd\Cites} +\newrobustcmd*{\Pvolcites}{\multivolcitecmd\Parencites} +\newrobustcmd*{\Fvolcites}{\multivolcitecmd\Footcites} +\newrobustcmd*{\Ftvolcites}{\multivolcitecmd\Footcitetext} +\newrobustcmd*{\Svolcites}{\multivolcitecmd\Smartcites} +\newrobustcmd*{\Tvolcites}{\multivolcitecmd\Textcites} +\newrobustcmd*{\Avolcites}{\multivolcitecmd\Autocites} + +\newrobustcmd*{\Notecite}{\bibsentence\notecite} +\newrobustcmd*{\Pnotecite}{\bibsentence\pnotecite} +\newrobustcmd*{\Fnotecite}{\fnotecite} + +\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim} +\DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}{\multicitedelim} +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext] + {\footcitetext}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote] + {\smartcite}{\multicitedelim} +\DeclareMultiCiteCommand{\supercites}[\mkbibsuperscript] + {\supercite}{\supercitedelim} +\DeclareMultiCiteCommand{\textcites}{\textcite}{\multicitedelim} + +\newrobustcmd*{\Cites}{\bibsentence\cites} +\newrobustcmd*{\Parencites}{\bibsentence\parencites} +\newrobustcmd*{\Footcites}{\footcites} +\newrobustcmd*{\Footcitetexts}{\footcitetexts} +\newrobustcmd*{\Smartcites}{\bibsentence\smartcites} +\newrobustcmd*{\Textcites}{\bibsentence\textcites} + +\DeclareAutoCiteCommand{plain}{\cite}{\cites} +\DeclareAutoCiteCommand{inline}{\parencite}{\parencites} +%\DeclareAutoCiteCommand{footnote}[l]{\footcite}{\footcites} +\DeclareAutoCiteCommand{footnote}[f]{\smartcite}{\smartcites} +\DeclareAutoCiteCommand{superscript}[l]{\supercite}{\supercites} + +\newrobustcmd*{\Autocite}{\bibsentence\autocite} +\newrobustcmd*{\Autocites}{\bibsentence\autocites} + +% ------------------------------------------------------------------ +% GENERIC CITATION MACROS +% ------------------------------------------------------------------ + +\newbibmacro*{citeindex}{% + \ifciteindex + {\indexnames{labelname}% + \indexfield{indextitle}} + {}} + +\newbibmacro*{shorthandintro}{% + \iffieldundef{shorthandintro} + {\iffieldundef{shorthand} + {} + {\setunit{\addspace}% + \printtext[parens]{% + \bibstring{citedas}\space + \printfield{shorthand}}}} + {\setunit{\addspace}% + \printtext[parens]{\printfield{shorthandintro}}}} + +% citation commands + +\newbibmacro*{prenote}{% + \iffieldundef{prenote} + {} + {\printfield{prenote}% + \setunit{\printdelim{prenotedelim}}}} + +\newbibmacro*{postnote}{% + \iffieldundef{postnote} + {} + {\setunit{\printdelim{postnotedelim}}% + \printfield{postnote}}} + +% multicite commands + +\newbibmacro*{multiprenote}{% + \iffieldundef{multiprenote} + {} + {\printfield{multiprenote}% + \printdelim{multiprenotedelim}}} + +\newbibmacro*{multipostnote}{% + \iffieldundef{multipostnote} + {} + {\printdelim{multipostnotedelim}% + \printfield{multipostnote}}} + +% ------------------------------------------------------------------ +% GENERIC BIBLIOGRAPHY MACROS +% ------------------------------------------------------------------ + +\newbibmacro*{bibindex}{% + \ifbibindex + {\indexnames{labelname}% + \indexfield{indextitle}} + {}} + +\newbibmacro*{author/editor}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{author}} + {\usebibmacro{editor}}} + +\newbibmacro*{author/editor+others}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{author}} + {\usebibmacro{editor+others}}} + +\newbibmacro*{author/translator}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{author}} + {\usebibmacro{translator}}} + +\newbibmacro*{author/translator+others}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{author}} + {\usebibmacro{translator+others}}} + +\newbibmacro*{author/editor/translator}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{author}} + {\ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{editor}} + {\usebibmacro{translator}}}} + +\newbibmacro*{author/editor+others/translator+others}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{author}} + {\ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{editor+others}} + {\usebibmacro{translator+others}}}} + +\newbibmacro*{author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\printnames{author}% + \iffieldundef{authortype} + {} + {\setunit{\printdelim{authortypedelim}}% + \usebibmacro{authorstrg}}} + {}} + +\newbibmacro*{editor}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\printnames{editor}% + \setunit{\printdelim{editortypedelim}}% + \usebibmacro{editorstrg}% + \clearname{editor}} + {}} + +\newbibmacro*{editor+others}{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\printnames{editor}% + \setunit{\printdelim{editortypedelim}}% + \usebibmacro{editor+othersstrg}% + \clearname{editor}} + {}} + +\newbibmacro*{translator}{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\printnames{translator}% + \setunit{\printdelim{translatortypedelim}}% + \usebibmacro{translatorstrg}% + \clearname{translator}} + {}} + +\newbibmacro*{translator+others}{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\printnames{translator}% + \setunit{\printdelim{translatortypedelim}}% + \usebibmacro{translator+othersstrg}% + \clearname{translator}} + {}} + +\newbibmacro*{authorstrg}{% + \iffieldundef{authortype} + {} + {\printtext[authortype]{% + \ifbibxstring{\thefield{authortype}} + {\ifboolexpr{ + test {\ifnumgreater{\value{author}}{1}} + or + test {\ifandothers{author}} + } + {\bibstring{\thefield{authortype}s}} + {\bibstring{\thefield{authortype}}}} + {\thefield{authortype}}}}} + +\newbibmacro*{editorstrg}{% + \printtext[editortype]{% + \iffieldundef{editortype} + {\ifboolexpr{ + test {\ifnumgreater{\value{editor}}{1}} + or + test {\ifandothers{editor}} + } + {\bibstring{editors}} + {\bibstring{editor}}} + {\ifbibxstring{\thefield{editortype}} + {\ifboolexpr{ + test {\ifnumgreater{\value{editor}}{1}} + or + test {\ifandothers{editor}} + } + {\bibstring{\thefield{editortype}s}} + {\bibstring{\thefield{editortype}}}} + {\thefield{editortype}}}}} + +\newbibmacro*{editor+othersstrg}{% + \iffieldundef{editortype} + {\ifboolexpr{ + test {\ifnumgreater{\value{editor}}{1}} + or + test {\ifandothers{editor}} + } + {\def\abx@tempa{editors}} + {\def\abx@tempa{editor}}} + {\ifboolexpr{ + test {\ifnumgreater{\value{editor}}{1}} + or + test {\ifandothers{editor}} + } + {\edef\abx@tempa{\thefield{editortype}s}} + {\edef\abx@tempa{\thefield{editortype}}}}% + \let\abx@tempb=\empty + \ifnamesequal{editor}{translator} + {\appto\abx@tempa{tr}% + \appto\abx@tempb{\clearname{translator}}} + {}% + \ifnamesequal{editor}{commentator} + {\appto\abx@tempa{co}% + \appto\abx@tempb{\clearname{commentator}}} + {\ifnamesequal{editor}{annotator} + {\appto\abx@tempa{an}% + \appto\abx@tempb{\clearname{annotator}}} + {}}% + \ifnamesequal{editor}{introduction} + {\appto\abx@tempa{in}% + \appto\abx@tempb{\clearname{introduction}}} + {\ifnamesequal{editor}{foreword} + {\appto\abx@tempa{fo}% + \appto\abx@tempb{\clearname{foreword}}} + {\ifnamesequal{editor}{afterword} + {\appto\abx@tempa{af}% + \appto\abx@tempb{\clearname{afterword}}} + {}}}% + \ifbibxstring{\abx@tempa} + {\printtext[editortype]{\bibstring{\abx@tempa}}\abx@tempb} + {\usebibmacro{editorstrg}}} + +\newbibmacro*{translatorstrg}{% + \printtext[translatortype]{% + \ifboolexpr{ + test {\ifnumgreater{\value{translator}}{1}} + or + test {\ifandothers{translator}} + } + {\bibstring{translators}} + {\bibstring{translator}}}} + +\newbibmacro*{translator+othersstrg}{% + \ifboolexpr{ + test {\ifnumgreater{\value{translator}}{1}} + or + test {\ifandothers{translator}} + } + {\def\abx@tempa{translators}} + {\def\abx@tempa{translator}}% + \ifnamesequal{translator}{commentator} + {\appto\abx@tempa{co}% + \clearname{commentator}} + {\ifnamesequal{translator}{annotator} + {\appto\abx@tempa{an}% + \clearname{annotator}} + {}}% + \ifnamesequal{translator}{introduction} + {\appto\abx@tempa{in}% + \clearname{introduction}} + {\ifnamesequal{translator}{foreword} + {\appto\abx@tempa{fo}% + \clearname{foreword}} + {\ifnamesequal{translator}{afterword} + {\appto\abx@tempa{af}% + \clearname{afterword}} + {}}}% + \printtext[translatortype]{\bibstring{\abx@tempa}}} + +\newbibmacro*{byauthor}{% + \ifboolexpr{ + test \ifuseauthor + or + test {\ifnameundef{author}} + } + {} + {\usebibmacro{bytypestrg}{author}{author}% + \setunit{\addspace}% + \printnames[byauthor]{author}}} + +\newbibmacro*{bybookauthor}{% + \ifnamesequal{author}{bookauthor} + {} + {\printnames{bookauthor}}} + +\newbibmacro*{byeditor}{% + \ifnameundef{editor} + {} + {\usebibmacro{bytypestrg}{editor}{editor}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \newunit}% + \usebibmacro{byeditorx}} + +\newbibmacro*{byeditorx}{% + \ifnameundef{editora} + {} + {\usebibmacro{bytypestrg}{editora}{editor}% + \setunit{\addspace}% + \printnames[byeditora]{editora}% + \newunit}% + \ifnameundef{editorb} + {} + {\usebibmacro{bytypestrg}{editorb}{editor}% + \setunit{\addspace}% + \printnames[byeditorb]{editorb}% + \newunit}% + \ifnameundef{editorc} + {} + {\usebibmacro{bytypestrg}{editorc}{editor}% + \setunit{\addspace}% + \printnames[byeditorc]{editorc}% + \newunit}} + +\newbibmacro*{bytranslator}{% + \ifnameundef{translator} + {} + {\bibstring{bytranslator}% + \setunit{\addspace}% + \printnames[bytranslator]{translator}}} + +\newbibmacro*{byholder}{% + \printnames{holder}} + +\newbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {\usebibmacro{byeditor+othersstrg}% + \setunit{\addspace}% + \printnames[byeditor]{editor}% + \clearname{editor}% + \newunit}% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}} + +\newbibmacro*{bytranslator+others}{% + \ifnameundef{translator} + {} + {\usebibmacro{bytranslator+othersstrg}% + \setunit{\addspace}% + \printnames[bytranslator]{translator}% + \clearname{translator}% + \newunit}% + \usebibmacro{withothers}} + +\newbibmacro*{bytypestrg}[2]{% + \iffieldundef{#1type} + {\bibstring{by#2}} + {\ifbibxstring{by\thefield{#1type}} + {\bibstring{by\thefield{#1type}}} + {\printtext{\thefield{#1type}}}}} + +\newbibmacro*{byeditor+othersstrg}{% + \iffieldundef{editortype} + {\def\abx@tempa{byeditor}} + {\edef\abx@tempa{by\thefield{editortype}}}% + \let\abx@tempb=\empty + \ifnamesequal{editor}{translator} + {\appto\abx@tempa{tr}% + \appto\abx@tempb{\clearname{translator}}} + {}% + \ifnamesequal{editor}{commentator} + {\appto\abx@tempa{co}% + \appto\abx@tempb{\clearname{commentator}}} + {\ifnamesequal{editor}{annotator} + {\appto\abx@tempa{an}% + \appto\abx@tempb{\clearname{annotator}}} + {}}% + \ifnamesequal{editor}{introduction} + {\appto\abx@tempa{in}% + \appto\abx@tempb{\clearname{introduction}}} + {\ifnamesequal{editor}{foreword} + {\appto\abx@tempa{fo}% + \appto\abx@tempb{\clearname{foreword}}} + {\ifnamesequal{editor}{afterword} + {\appto\abx@tempa{af}% + \appto\abx@tempb{\clearname{afterword}}} + {}}}% + \ifbibxstring{\abx@tempa} + {\printtext{\bibstring{\abx@tempa}}\abx@tempb} + {\usebibmacro{bytypestrg}{editor}{editor}}} + +\newbibmacro*{bytranslator+othersstrg}{% + \def\abx@tempa{bytranslator}% + \ifnamesequal{translator}{commentator} + {\appto\abx@tempa{co}% + \clearname{commentator}} + {\ifnamesequal{translator}{annotator} + {\appto\abx@tempa{an}% + \clearname{annotator}} + {}}% + \ifnamesequal{translator}{introduction} + {\appto\abx@tempa{in}% + \clearname{introduction}} + {\ifnamesequal{translator}{foreword} + {\appto\abx@tempa{fo}% + \clearname{foreword}} + {\ifnamesequal{translator}{afterword} + {\appto\abx@tempa{af}% + \clearname{afterword}} + {}}}% + \bibstring{\abx@tempa}} + +\newbibmacro*{withcommentator}{% + \ifnameundef{commentator} + {} + {\bibstring{withcommentator}% + \setunit{\addspace}% + \printnames[withcommentator]{commentator}}} + +\newbibmacro*{withannotator}{% + \ifnameundef{annotator} + {} + {\bibstring{withannotator}% + \setunit{\addspace}% + \printnames[withannotator]{annotator}}} + +\newbibmacro*{withintroduction}{% + \ifnameundef{introduction} + {} + {\bibstring{withintroduction}% + \setunit{\addspace}% + \printnames[withintroduction]{introduction}}} + +\newbibmacro*{withforeword}{% + \ifnameundef{foreword} + {} + {\bibstring{withforeword}% + \setunit{\addspace}% + \printnames[withforeword]{foreword}}} + +\newbibmacro*{withafterword}{% + \ifnameundef{afterword} + {} + {\bibstring{withafterword}% + \setunit{\addspace}% + \printnames[withafterword]{afterword}}} + +\newbibmacro*{withothers}{% + \usebibmacro{withcommentator}% + \clearname{commentator}% + \newunit + \usebibmacro{withannotator}% + \clearname{annotator}% + \newunit + \usebibmacro{withintroduction}% + \clearname{introduction}% + \newunit + \usebibmacro{withforeword}% + \clearname{foreword}% + \newunit + \usebibmacro{withafterword}% + \clearname{afterword}} + +\newbibmacro*{title}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \newunit}% + \printfield{titleaddon}} + +\newbibmacro*{booktitle}{% + \ifboolexpr{ + test {\iffieldundef{booktitle}} + and + test {\iffieldundef{booksubtitle}} + } + {} + {\printtext[booktitle]{% + \printfield[titlecase]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{booksubtitle}}% + \newunit}% + \printfield{booktitleaddon}} + +\newbibmacro*{maintitle}{% + \ifboolexpr{ + test {\iffieldundef{maintitle}} + and + test {\iffieldundef{mainsubtitle}} + } + {} + {\printtext[maintitle]{% + \printfield[titlecase]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{mainsubtitle}}% + \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}} + and + test {\iffieldundef{journalsubtitle}} + } + {} + {\printtext[journaltitle]{% + \printfield[titlecase]{journaltitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{journalsubtitle}}% + \newunit}% + \iffieldundef{journaltitleaddon} + {} + {\printfield{journaltitleaddon}}} + +% Re \iffieldundef{titleaddon} see the comment about +% \iffieldundef{journaltitleaddon} above. +\newbibmacro*{periodical}{% + \ifboolexpr{ + test {\iffieldundef{title}} + and + test {\iffieldundef{subtitle}} + } + {} + {\printtext[title]{% + \printfield[titlecase]{title}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \newunit}% + \iffieldundef{titleaddon} + {} + {\printfield{titleaddon}}} + +\newbibmacro*{issue}{% + \ifboolexpr{ + test {\iffieldundef{issuetitle}} + and + test {\iffieldundef{issuesubtitle}} + } + {} + {\printtext[issuetitle]{% + \printfield[titlecase]{issuetitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{issuesubtitle}}% + \newunit}% + \printfield{issuetitleaddon}} + +\newbibmacro*{in:}{% + \bibstring{in}% + \printunit{\intitlepunct}} + +\newbibmacro*{date}{\printdate} + +\newbibmacro*{url+urldate}{% + \usebibmacro{url}% + \iffieldundef{urlyear} + {} + {\setunit*{\addspace}% + \usebibmacro{urldate}}} + +\newbibmacro*{url}{\printfield{url}} +\newbibmacro*{urldate}{\printurldate} + +\newbibmacro*{pageref}{% + \iflistundef{pageref} + {} + {\printtext[parens]{% + \ifnumgreater{\value{pageref}}{1} + {\bibstring{backrefpages}\ppspace} + {\bibstring{backrefpage}\ppspace}% + \printlist[pageref][-\value{listtotal}]{pageref}}}} + +\newbibmacro*{setpageref}{% + \iflistundef{pageref} + {} + {\printtext{% + \ifnumgreater{\value{pageref}}{1} + {\bibstring{backrefpages}\ppspace} + {\bibstring{backrefpage}\ppspace}% + \printlist[pageref][-\value{listtotal}]{pageref}}}} + +\newbibmacro*{eprint}{% + \iffieldundef{eprinttype} + {\printfield{eprint}} + {\printfield[eprint:\strfield{eprinttype}]{eprint}}} + +\newbibmacro*{annotation}{% + \begingroup + \togglefalse{blx@bibliography}% + \iffieldundef{annotation} + {\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}} + {\printfield{annotation}}% + \endgroup} + +\newbibmacro*{abstract}{% + \iffieldundef{abstract} + {\printfile[abstract]{\bibabstractprefix\thefield{entrykey}.tex}} + {\printfield{abstract}}} + +\newbibmacro*{related:default}[1]{% + \entrydata*{#1}{% + \usedriver + {\ifnameundef{savedauthor} + {\ifnameundef{savededitor} + {} + {\ifnamesequal{editor}{savededitor} + {\clearname{editor}} + {}}} + {\ifnamesequal{author}{savedauthor} + {\clearname{author}} + {}}% + \DeclareNameAlias{sortname}{default}% + % from authortitle and authoryear + \ifbibmacroundef{bbx:dashcheck} + {} + {\renewbibmacro*{bbx:dashcheck}[2]{##2}}% + % authoryear + \ifbibmacroundef{labeltitle} + {} + {\renewbibmacro*{labeltitle}{}}% + \ifbibmacroundef{date+extradate} + {} + {\renewbibmacro*{date+extradate}{}% + \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}}% + \renewbibmacro*{pageref}{}% + \renewbibmacro*{related:init}{}} + {\thefield{entrytype}}}} + +\newbibmacro*{related:bytranslator}[1]{% + \entrydata{#1}{% + \renewbibmacro*{name:hook}[1]{% + \ifnumequal{\value{listcount}}{1} + {\mkrelatedstringtext{\lbx@initnamehook{##1}}} + {}}% + \printnames[bytranslator]{translator}% + \setunit*{\addspace\bibstring[\mkrelatedstringtext]{astitle}\space}% + \usebibmacro{title}% + \setunit{\addspace}% + \printtext[parens]{% + \printlist{location}% + \iflistundef{publisher} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \printdate}}} + +\newbibmacro*{related:multivolume}[1]{% + \entrydata*{#1}{% + \printtext{% + \printfield{volume}% + \printfield{part}}% + \setunit*{\addcolon\space}% + \usebibmacro{title}% + \ifboolexpr{ + test {\ifnamesequal{author}{savedauthor}} + or + test {\ifnameundef{author}} + } + {} + {\usebibmacro{bytypestrg}{author}{author}% + \setunit{\addspace}% + \printnames[byauthor]{author} + \newunit\newblock}% + \ifboolexpr{ + test {\ifnamesequal{editor}{savededitor}} + or + test {\ifnameundef{editor}} + } + {} + {\usebibmacro{byeditor+others}% + \newunit\newblock}% + \printdate}} + +\newbibmacro*{related:origpubin}[1]{% + \entrydata*{#1}{% + \printfield{year}% + \ifboolexpr{ + test {\iflistsequal{publisher}{savedpublisher}} + or + test {\iflistundef{publisher}} + } + {} + {\setunit{\addspace\bibstring[\mkrelatedstringtext]{bypublisher}\space}% + \printlist{publisher}% + \setunit{\addcomma\space}% + \iflistsequal{location}{savedlocation} + {} + {\printlist{location}}}}} + +\newbibmacro*{related:origpubas}[1]{% + \entrydata*{#1}{% + \usebibmacro{title}% + \ifboolexpr{ + test {\iflistsequal{publisher}{savedpublisher}} + or + test {\iflistundef{publisher}} + } + {} + {\setunit{\addspace\bibstring[\mkrelatedstringtext]{bypublisher}\space}% + \printlist{publisher}% + \setunit{\addcomma\space}% + \iflistsequal{location}{savedlocation} + {} + {\printlist{location}}}}} + +\DeclareFieldFormat{title:hook}{% + \mkrelatedstringtext{\lbx@inittitlehook{#1}}% + \mkbibemph{#1}} + +\newbibmacro*{related:reprintfrom}[1]{% + \entrydata*{#1}{% + \iffieldundef{journaltitle} + {\iffieldundef{maintitle} + {\printfield[title:hook]{booktitle}} + {\printfield[title:hook]{maintitle}}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{volume} + {} + {\printfield{volume}% + \printfield{part}} + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}} + {\renewbibmacro*{journal}{% + \printfield[title:hook]{journaltitle}}% + \usebibmacro{journal+issuetitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{note+pages}}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.sty b/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.sty new file mode 100644 index 00000000000..560628f8d26 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/biblatex-ms.sty @@ -0,0 +1,17802 @@ +% Copyright (c) 2006-2011 Philipp Lehman. +% 2012-2017 Philip Kime, Audrey Boruvka, Joseph Wright +% 2018- Philip Kime, Moritz Wemheuer +% +% Permission is granted to copy, distribute and/or modify this +% software under the terms of the LaTeX Project Public License +% (LPPL), version 1.3c. +% +% This software is provided 'as is', without warranty of any kind, +% either expressed or implied, including, but not limited to, the +% implied warranties of merchantability and fitness for a +% particular purpose. + +% Set up the version strings here +\def\abx@date{2022/08/21} +\def\abx@version{4.0} +\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)} +\def\abx@cptid{\abx@date\space v\abx@version\space biblatex compatibility (PK/MW)} + +% This is not updated by build script as the control file version +% does not necessarily change with the package version. +% This is used when writing the .bcf +\def\blx@bcfversion{4.0} + +% This is not updated by build script as the bbl version +% does not necessarily change with the package version. +% This is used when checking the .bbl +\def\blx@bblversion{4.0} + +% Postfix for biblatex internal files in case this version is supposed to be installed +% in parallel with a standard biblatex installation. This postfix will be appended to +% all searched for files like this: +% +% <filename><postfix>.<extension> +% +% If a file with this name is found it will be used, otherwise the filename +% without the postfix will be used. Normally, this will be empty. +% The build script will normally put something in here before packaging or install +% rather than it being set manually +\def\abx@filespf{-ms} + + +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{biblatex-ms} +[\abx@date\space v\abx@version\space programmable bibliographies (PK/MW)] + +%% Dependencies +\RequirePackage{pdftexcmds}[2018/01/30] +\RequirePackage{etoolbox} +\RequirePackage{keyval} +\RequirePackage{kvoptions} +\RequirePackage{logreq} +\RequirePackage{ifthen} +\RequirePackage{url} +\RequirePackage{xparse} +%\RequirePackage{trace} + +% pretend we're the real biblatex +\ifcsundef{ver@biblatex.sty} + {\cslet{ver@biblatex.sty}\abx@date} + {} + +% Turn off xparse redefine warnings as we do this a lot +\ExplSyntaxOn + \msg_redirect_name:nnn { LaTeX } { xparse / redefine-command } { none } +\ExplSyntaxOff + +% Globals holding the name of the filename being resolved +% Better to have globals to avoid messy localisation code +% as these are used in heavily nested macros +\let\blx@fnext\@empty +\let\blx@fnnoext\@empty + +\@ifpackagelater{etoolbox}{2010/11/29} + {} + {\PackageError{biblatex} + {Outdated 'etoolbox' package} + {Upgrade to etoolbox v2.1 (2010/11/29) or later.\MessageBreak + I found: '\csuse{ver@etoolbox.sty}'.\MessageBreak + This is a fatal error. I'm aborting now}% + \endinput} + +% The new hook management system in LaTeX 2020-10-01 and above +% no longer guarantees that \AtBeginDocument/AfterPreamble +% are executed in order of use. +% Instead each use of those commands gets a 'label' +% and code for the same label is chunked together. +% We give our \AfterPreamble invocations a new label and set up a rule to +% have it executed after all normal biblatex \AtBeginDocument stuff. +% Note that begindocument is a one-time hook, so we are guaranteed +% immediate execution when inside \begin{document}...\end{document}. +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} +\IfFormatAtLeastTF{2020/10/01} + {\def\blx@AfterPreamble{\AddToHook{begindocument}[biblatex/afterpreamble]}% + \DeclareHookRule{begindocument}{biblatex/afterpreamble}{after}{biblatex}% + \def\blx@AtEndDocument{\AddToHook{enddocument/afterlastpage}}} + {\def\blx@AfterPreamble{\AfterPreamble}% + \def\blx@AtEndDocument{\AtEndDocument}} + +% 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{% + \do\=\do\<\do\>\do\-\do\"\do\'\do\`\do\.% + \do\,\do\;\do\:\do\!\do\?\do\/} +\def\do#1{\catcode\number`#1=\the\catcode`#1\relax} +\edef\blx@catcodes{\blx@docatcodes\do\^\do\~\do\&\do\|} +\let\do\noexpand + +\def\blx@saneccodes{% + \catcode`\~=\active + \let\do\@makeother + \blx@docatcodes + \let\do\noexpand} + +\blx@saneccodes +\catcode`\&=3 +\catcode`\|=3 +\catcode`\^=7 +\def\blx@nl{^^J} + +\protected\def\blx@safe@actives{% + \let\blx@if@safe@actives\if@safe@actives + \let\if@safe@actives\iftrue} + +\protected\def\blx@rest@actives{% + \let\if@safe@actives\blx@if@safe@actives} + +%% Early errors and warnings +\protected\def\blx@error#1#2{% + \begingroup + \blx@safe@actives + \PackageError{biblatex}{#1}{#2.}% + \endgroup} + +\protected\def\blx@warning@noline#1{% + \begingroup + \blx@safe@actives + \PackageWarningNoLine{biblatex}{#1}% + \endgroup} +\let\blx@warning\blx@warning@noline +\AtEndOfPackage{% + \protected\def\blx@warning#1{% + \begingroup + \blx@safe@actives + \PackageWarning{biblatex}{#1}% + \endgroup}} + +\def\blx@err@patch#1{% + \blx@error + {Patching #1 failed} + {This is an internal issue typically caused by a + conflict\MessageBreak between biblatex and some + other package. Modifying\MessageBreak the package + loading order may fix the problem}} + +%% Compatibility +% this hook is executed once at the beginning of loading the package +% just a few lines down +% and again later in an \AtEndPreamble hook +\def\blx@packageincompatibility{% + \def\do##1{% + \@ifpackageloaded{##1} + {\ifcsundef{blx@pkgloaded@##1} + {\global\cslet{blx@pkgloaded@##1}\@empty + \blx@error + {Incompatible package '##1'} + {The '##1' package and biblatex are incompatible}} + {}} + {}}% + \docsvlist{% + amsrefs,apacite,babelbib,backref,bibtopic,bibunits,chapterbib, + cite,citeref,drftcite,footbib,inlinebib,jurabib,mcite,mciteplus, + mlbib,multibbl,multibib,natbib,opcit,overcite,splitbib,ucs}% + % etextools is special, it gets an option to demote the error to a warning + % remind people to restore \forlistloop + \ifcsdef{blx@noerroretextools} + {\@ifpackageloaded{etextools} + {\ifcsundef{blx@pkgloaded@etextools} + {\global\cslet{blx@pkgloaded@etextools}\@empty + \blx@warning@noline{% + Incompatible package 'etextools' loaded,\MessageBreak + no error is thrown because you defined\MessageBreak + '\string\blx@noerroretextools'.\MessageBreak + 'etextools' redefines '\string\forlistloop', you must\MessageBreak + restore the definition from 'etoolbox'\MessageBreak + before you load biblatex}} + {}} + {}} + {\@ifpackageloaded{etextools} + {\ifcsundef{blx@pkgloaded@etextools} + {\global\cslet{blx@pkgloaded@etextools}\@empty + \blx@error + {Incompatible package 'etextools'} + {The 'etextools' package and biblatex are + incompatible.\MessageBreak + If you must load 'etextools' at all costs, define the command% + \MessageBreak '\string\blx@noerroretextools'}} + {}} + {}}} + +% Call this right here, almost immediately after loading to give sensible +% errors for incompatibilities that arise at loading-time. +% The macro is called again a second time in \AtEndPreamble when all packages +% should be loaded. +% This still can't catch all cases, \usepackage{biblatex}\usepackage{natbib} +% still gives a weird error. +\blx@packageincompatibility + +% this part is only executed now +\@ifpackageloaded{polyglossia} + {\global\cslet{blx@pkgloaded@polyglossia}\@empty} + {} + +\@ifpackageloaded{inputenc} + {\global\cslet{blx@pkgloaded@inputenc}\@empty} + {} + +\@ifpackageloaded{inputenx} + {\global\cslet{blx@pkgloaded@inputenx}\@empty} + {} + +% this part is deferred to \AtEndPreamble +\def\blx@packageincompatibility@endpreambleonly{% + % people should not be abusing noerroretextools, + % so warn if it is not needed + \ifcsdef{blx@noerroretextools} + {\@ifpackageloaded{etextools} + {} + {\blx@warning@noline{% + You defined '\string\blx@noerroretextools',\MessageBreak + but 'etextools' is not loaded.\MessageBreak + Please do not define '\string\blx@noerroretextools'\MessageBreak + unless you really need it}}} + {}% + \@ifpackageloaded{inputenc} + {\ifcsundef{blx@pkgloaded@inputenc} + {\blx@warning@noline{Load 'inputenc' before biblatex}} + {}} + {}% + \@ifpackageloaded{inputenx} + {\ifcsundef{blx@pkgloaded@inputenx} + {} + {\blx@warning@noline{Load 'inputenx' before biblatex}} + {}} + {}% + % polyglossia pretends to be babel, so the nested structure helps + % to make sure that babel really is babel + \@ifpackageloaded{polyglossia} + {\ifcsundef{blx@pkgloaded@polyglossia} + {\blx@error + {'polyglossia' loaded after biblatex} + {'polyglossia' must be loaded before biblatex}} + {}% + \@ifpackagelater{polyglossia}{2020/04/08} + {} + {\blx@warning@noline + {biblatex works best with 'polyglossia' 1.49\MessageBreak + or above.\MessageBreak + Please update 'polyglossia' to v1.49 (2020/04/08)\MessageBreak + or later.\MessageBreak + Variant detection will not work properly with\MessageBreak + older versions}}} + {\@ifpackageloaded{babel} + {\@ifpackagelater{babel}{2016/04/23} + {} + {\blx@error + {Outdated 'babel' package} + {Upgrade to babel 3.9r (2016/04/23) or later.\MessageBreak + I found: '\csuse{ver@babel.sty}'.\MessageBreak + This is a fatal error. I'm aborting now}% + \endinput}} + {}}} + +\begingroup +\catcode`\#=12 +\gdef\blx@patchbidifootnotes{% + \patchcmd\@footnotetext + {#1} + {\toggletrue{blx@footnote}#1} + {\togglefalse{blx@tempa}} + {}% + \patchcmd\@LTRfootnotetext + {#1} + {\toggletrue{blx@footnote}#1} + {\togglefalse{blx@tempa}} + {}% + \patchcmd\@RTLfootnotetext + {#1} + {\toggletrue{blx@footnote}#1} + {\togglefalse{blx@tempa}} + {}} +\endgroup + +\AtEndPreamble{% + \blx@packageincompatibility + \blx@packageincompatibility@endpreambleonly + \ifnum\blx@hyperref=\thr@@ + \else + \ifnum\blx@hyperref=\z@ + \blx@mknohyperref + \else + \@ifpackageloaded{hyperref} + {\blx@mkhyperref} + {\ifnum\blx@hyperref=\@ne + \blx@warning@noline{% + Missing 'hyperref' package.\MessageBreak + Setting 'hyperref=false'}% + \fi + \blx@mknohyperref}% + \fi + \undef\blx@mkhyperref + \undef\blx@mknohyperref + \fi + \providecommand*{\nolinkurl}{\url}% + \ifundef\TE@hook + {\let\TE@hook\@empty + \toggletrue{blx@tempa}% + \def\do#1{% + \patchcmd#1% + {\let\isundefined\TE@undef} + {\let\isundefined\TE@undef\TE@hook} + {\togglefalse{blx@tempa}\listbreak} + {}}% + \docsvlist{% + \ifthenelse,% ifthen + \org@ifthenelse,% babel + \HyOrg@ifthenelse,% hyperref + \NROrg@ifthenelse}% nameref + \iftoggle{blx@tempa} + {\blx@err@patch{'ifthen' package}} + {}} + {}% + \appto\TE@hook{\blx@TE@hook}% + % we need to patch \addtocontents + \toggletrue{blx@tempa}% + % kernel definition + \patchcmd\addtocontents + {\let\glossary\@gobble} + {\let\glossary\@gobble + \blx@contentssafe@citecommands} + {} + {\togglefalse{blx@tempa}}% + % try tag.sto's definition + \iftoggle{blx@tempa} + {} + {\patchcmd\addtocontents + {\let\glossary\Gobble} + {\let\glossary\Gobble + \blx@contentssafe@citecommands} + {} + {% give up + \blx@err@patch{\string\addtocontents}}}% + % patch footnote + \toggletrue{blx@tempa}% + \def\do#1{% + \patchcmd#1% + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {\togglefalse{blx@tempa}\listbreak} + {}}% + \docsvlist{% + \@footnotetext,% latex + \H@@footnotetext,% hyperref + \V@@footnotetext,% fancyvrb + \scr@saved@footnotetext,% koma-script 3.x + \l@dold@footnotetext,% ledmac + \l@doldold@footnotetext,% ledmac + \predefinedfootnotetext,% linguex + \@fntORI}% frenchle + \iftoggle{blx@tempa}% ams classes ... + {\def\do#1{% + \patchcmd#1 + {\@makefntext} + {\toggletrue{blx@footnote}\@makefntext} + {\togglefalse{blx@tempa}} + {}}% + \docsvlist{\@footnotetext,% ams classes standard + \H@@footnotetext}}% hyperref + {}% + \@ifpackageloaded{bidi}% bidi + {\blx@patchbidifootnotes} + {}% + \@ifclassloaded{memoir} + {\def\do#1{% + \patchcmd#1% + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {} + {}}% + \docsvlist{% + \m@mold@footnotetext,% + \@plainfootnotetext,% + \@twocolfootnotetext,% + \@threecolfootnotetext,% + \@parafootnotetext}% + \def\do#1{% + \patchcmd#1% + {\color@begingroup\@makefntext} + {\color@begingroup\toggletrue{blx@footnote}\@makefntext} + {} + {}}% + \docsvlist{% + \@footnotetext,% patch twice + \H@@footnotetext,% patch twice + \@plainfootnotetext}} + {}% + \@ifclassloaded{beamer} + {\expandafter\patchcmd\csname beamerx@\string\beamer@framefootnotetext\endcsname + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {\togglefalse{blx@tempa}} + {}% + \expandafter\patchcmd\csname beamerx@\string\@mpfootnotetext\endcsname + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {} + {}} + {}% + \iftoggle{blx@tempa} + {\blx@warning@noline{% + Patching footnotes failed.\MessageBreak + Footnote detection will not work}} + {}% + \def\do#1{% + \patchcmd#1% + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {\listbreak} + {}}% + \docsvlist{% + \@mpfootnotetext,% minipages + \H@@mpfootnotetext}% hyperref minipages + \@ifpackageloaded{endnotes} + {\patchcmd\theendnotes + {\enoteformat} + {\toggletrue{blx@footnote}\enoteformat} + {} + {\blx@err@patch{'endnotes' package}}} + {}% + \@ifpackageloaded{bigfoot} + {\apptocmd\@makefnstartbox + {\toggletrue{blx@footnote}} + {} + {\blx@err@patch{'bigfoot' package}}} + {}% + \@ifpackageloaded{showkeys} + {\ifdef\SK@ + {\AtEveryBibitem{\SK@\SK@@label{\thefield{entrykey}}}% + \AtEveryLositem{\SK@\SK@@label{\thefield{entrykey}}}% + \ifundef\SK@cite % = 'notcite' disabled + {\AtEveryCitekey{\SK@\SK@@ref{\thefield{entrykey}}}} + {}} + {}} + {}% + \iftoggle{blx@trackfloats} + {} + {\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 + {} + {\blx@err@patch{'tabularx'}}% + % no need to conditionalise on top-level tabx as the search/replace + % will only match once anyway + \patchcmd\TX@endtabularx + {\edef\TX@ckpt{\cl@@ckpt}} + {\edef\TX@ckpt{\cl@@ckpt\abx@resttrackers}% + \abx@savetrackers} + {} + {\blx@err@patch{'tabularx'}}% + \apptocmd\TX@endtabularx + {\ifnum\value{tabx@nest}=1% only clear trackers for top-level tabularx + \abx@cleartrackers + \fi + \addtocounter{tabx@nest}{-1}} + {} + {\blx@err@patch{'tabularx'}}} + {}% + \@ifpackageloaded{csquotes} + {\@ifpackagelater{csquotes}{2009/05/30} + {} + {\blx@error + {Outdated 'csquotes' package} + {Upgrade to csquotes v4.4 (2009/05/30) or later.\MessageBreak + I found: '\csuse{ver@csquotes.sty}'}}% + \BlockquoteDisable{\let\blx@thecheckpunct\@gobble}% + \@ifpackagelater{csquotes}{2009/08/27} + {\appto\@blockquote@prehook{\abx@savetrackers}% + \appto\@blockquote@posthook{\abx@resttrackers\abx@cleartrackers}} + {}% + \@ifpackagelater{csquotes}{2010/06/09} + {} + {\newcommand*{\@quotereset}{}\newcount\@quotereset}% + \newcommand*{\blx@initoquote}{\initoquote}% + \newcommand*{\blx@textooquote}{\textooquote}% + \newcommand*{\blx@textcoquote}{\textcoquote}% + \newcommand*{\blx@initiquote}{\initiquote}% + \newcommand*{\blx@textoiquote}{\textoiquote}% + \newcommand*{\blx@textciquote}{\textciquote}% + \newcommand*{\blx@enquote}{\enquote}} + {\@ifpackageloaded{babel} + {\blx@warning@noline{% + 'babel/polyglossia' detected but 'csquotes' missing.\MessageBreak + Loading 'csquotes' recommended}} + {}% + \newcommand*{\@quotelevel}{}% + \newcount\@quotelevel + \newcommand*{\@quotereset}{}% + \newcount\@quotereset + \newcommand*{\@setquotesfcodes}{}% + \let\@setquotesfcodes\relax + \newrobustcmd*{\blx@initoquote}{\@quotelevel\@ne}% + \newrobustcmd*{\blx@initiquote}{\@quotelevel\tw@}% + \newrobustcmd*{\blx@textooquote}{``}% + \newrobustcmd*{\blx@textcoquote}{''}% + \newrobustcmd*{\blx@textoiquote}{`\relax}% block ligs + \newrobustcmd*{\blx@textciquote}{'\relax}% block ligs + \newrobustcmd*{\blx@enquote} + {\@ifstar\blx@enquote@iii\blx@enquote@i}% + \def\blx@enquote@i{% + \ifnum\@quotelevel>\z@ + \expandafter\blx@enquote@iii + \else + \expandafter\blx@enquote@ii + \fi}% + \long\def\blx@enquote@ii#1{% + \begingroup\blx@initoquote + \blx@textooquote#1\blx@textcoquote + \endgroup}% + \long\def\blx@enquote@iii#1{% + \begingroup\blx@initiquote + \blx@textoiquote#1\blx@textciquote + \endgroup}% + \appto\blx@setsfcodes{% + \sfcode`\`=\z@ + \sfcode`\'=\z@}}% + \let\do\noexpand} + +% no longer needed, keep for backwards compatibility +\let\blx@langstrings\relax + +\def\blx@ifhyphenationundef#1{\ifcsundef{l@#1}} + +% polyglossia makes heavy use of \AtBeginDocument, so we need to use +% it too to get in later than polyglossia's setup. +% This means that load-order is relevant, boo ... +\AtBeginDocument{% + \@ifpackageloaded{polyglossia} + {\ifundef\xpg@ifdefined + {} + {\def\blx@ifhyphenationundef#1#2#3{\xpg@ifdefined{#1}{#3}{#2}}}% + % This is required for languages which are never explicitly selected + % \xpg@bloaded is not defined in polyglossia < v1.45 + \ifundef\xpg@bloaded + {\ifundef\xpg@loaded + {\let\xpg@bloaded\@empty} + {\let\xpg@bloaded\xpg@loaded}} + {}% + \global\let\blx@maplang\blx@maplang@polyglossia + \def\do#1{\blx@langsetup@from@pkglist{#1}}% + \expandafter\docsvlist\expandafter{\xpg@bloaded}% + \def\do#1{\blx@langsetup@from@auxlist{#1}}% + \dolistloop\blx@lbx@auxloadlist + \ifboolexpr{ + not togl {blx@autolangbib} + and + not togl {blx@autolangcite}} + {\blx@mknoautolang} + {\blx@mkautolangpoly}% + } + {\global\let\blx@maplang\blx@maplang@babel + \@ifpackageloaded{babel} + {% This is required for languages which are never explicitly selected + \def\do#1{\blx@langsetup@from@pkglist{#1}}% + \expandafter\docsvlist\expandafter{\bbl@loaded}% + \def\do#1{\blx@langsetup@from@auxlist{#1}}% + \dolistloop\blx@lbx@auxloadlist + \ifboolexpr{ + not togl {blx@autolangbib} + and + not togl {blx@autolangcite}} + {\blx@mknoautolang} + {\blx@mkautolangbabel}} + {\blx@mknoautolang}}% + % These already have defaults set to basically do nothing + % so if the toggles are true, we need to define again since + % mkautolang* redefines \blx@beglang + % In turn, \blx@beglang defines \blx@endlang and so \blx@beglangcite and + % \blx@endlangcite need redefining inside \blx@beglang after \blx@endlang + % has been defined. + \iftoggle{blx@autolangbib} + {\let\blx@beglangbib\blx@beglang} + {}% + \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 + \ifdefstring{\blx@langhook}{captions} + {\blx@etb@inittoggle{blx@lang@captions@\blx@languagename}% + \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 + % pick up the main document language as sortlocale if + % auto-detection is desired + \ifdefstring\blx@sortlocale{auto} + {\ifdef\blx@main@language% babel or polyglossia is loaded + {\edef\blx@sortlocale{\blx@main@language}} + {\def\blx@sortlocale{english}}} + {}% + + % There are several scopes of blx@mslang - they are summarised here for clarity + % \blx@gmslang - global option setting as this needs passing to biber + % \blx@mslang - setting which varies depending on refcontext + % \blx@lmslang - if the langid field exists, the BCP47 tag for this, otherwise same as \blx@mslang + % \blx@nmslang - the value of an individual name "mslang" data annotation, if it exists. This is + % just a convenient was of getting such an annotation as individual names have + % a keyval list in which to store it, the "mslang" data annotation is also available + % too. Non-name list "mslang" data annotations don't have this convenience variable + % because there is nowhere to store them in the .bbl format and so the annotation + % must be fetched directly using the annotation macros. + + % Set default mslang from babel/polyglossia or a fallback + % mslang is a biblatex global option but we don't identify it as one as it is not + % passed in the .bcf as a biblatex option but rather as a biber option since it is used + % to set the default biber option. + \ifdef\blx@main@language + {\edef\blx@mslang{\csuse{blx@msmaplangr@\blx@main@language}}} + {\def\blx@mslang{en-us}}% fallback when no babel/polyglossia + \let\blx@gmslang\blx@mslang +} + + +\protected\def\blx@providecount#1{% + \ifcscounter{#1} + {} + {\expandafter\newcount\csname #1\endcsname}} + +\def\blx@citecmds{} +% \autocite and \autocites are not defined via \DeclareCiteCommand +\listadd\blx@citecmds{autocite} +\listadd\blx@citecmds{autocites} + +\newcommand*{\blx@contentssafe@citecommands}{% + \forlistloop{\blx@mkcitecmd@contentssafe}{\blx@citecmds}} + +\def\blx@mkcitecmd@contentssafe#1{% + \csdef{#1}{% + \blx@tocontentsinit{\the\c@refsection}% + \noexpand\csuse{#1}}} + +\protected\def\blx@tocontentsinit#1{% + \boolfalse{citerequest}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \boolfalse{backtracker}% + \defcounter{refsection}{#1}} + +% trick hyperref into believing we're natbib +\let\NAT@parse\@empty +% trick showkeys into believing we're havard +\let\HAR@checkdef\@empty + +\providecommand{\@gobblefive}[5]{} +\providecommand{\@gobblethree}[3]{} + +% etoolbox helpers + +% \ifinlist{<item>}{<list>} is not a good idea +% for printable stuff according to the etoolbox docs +% for \ifinlist (p. 31) +\newrobustcmd{\blx@ifprintableinlist}[2]{% + \begingroup + \def\blx@tempa{\endgroup + \@secondoftwo}% + \def\do##1{% + \ifstrequal{##1}{#1} + {\def\blx@tempa{\endgroup + \@firstoftwo}% + \listbreak} + {}}% + \dolistloop{#2}% + \expandafter\blx@tempa} + +\newrobustcmd{\blx@ifprintableinlistcs}[2]{% + \expandafter\blx@ifprintableinlistcs@i\csname #2\endcsname{#1}} +\long\def\blx@ifprintableinlistcs@i#1#2{\blx@ifprintableinlist{#2}{#1}} + +\ifundef\pdf@mdfivesum + {\let\blx@mdfivesum\@firstofone + \blx@warning@noline{Command '\string\pdf@mdfivesum' undefined.\MessageBreak + '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} + +\newtoggle{blx@bbl@rerun@requested} + +\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\@gobble + \let\blx@generate@bbl@mdfivesum@notfound\relax + \let\abx@aux@read@bblrerun\relax + \let\abx@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#1{% + \xdef\blx@bbl@mdfivesum@new{\blx@filemdfivesum{#1}}} + + % 'nobblfile' can never be equal to any md5 hash + \def\blx@generate@bbl@mdfivesum@notfound{% + \gdef\blx@bbl@mdfivesum@new{nobblfile}} + + \def\abx@aux@read@bblrerun{\global\toggletrue{blx@bbl@rerun@requested}} + + \def\abx@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{% + \blx@auxwrite\@mainaux{}{% + \string\abx@aux@read@bbl@mdfivesum{% + \ifundef\blx@bbl@mdfivesum@old + {nohash} + {\blx@bbl@mdfivesum@new}}}% + \iftoggle{blx@runbiber} + {\blx@auxwrite\@mainaux{}{\string\abx@aux@read@bblrerun}} + {}} + + % 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{% + \iftoggle{blx@bbl@rerun@requested} + {\ifdefstrequal\blx@bbl@mdfivesum@old\blx@bbl@mdfivesum@new} + {\@secondoftwo} + {\blx@logreq@active{}} + {}}} + + +% xstring replacements + +% reverse a given string +% idea by egreg (https://tex.stackexchange.com/users/4427/egreg) +% from https://tex.stackexchange.com/q/36034/ +% relicensed under LPPL according to +% https://tex.meta.stackexchange.com/a/3333/ +\def\blx@revstr#1{% + \ifblank{#1} + {} + {\blx@revstr@l #1\blx@revstr@b@i\blx@revstr@b@ii}} + +\def\blx@revstr@l#1#2\blx@revstr@b@i#3\blx@revstr@b@ii{% + \ifblank{#2} + {#1#3} + {\blx@revstr@l#2\blx@revstr@b@i#1#3\blx@revstr@b@ii}} + +% these tests are inspired by Stephan v. Bechtolsheim's TUGboat article +% https://www.tug.org/TUGboat/tb09-1/tb20bechtolsheim.pdf +% but we need to test for start and end and not for generic substring +% start is easy, delimited arguments help there +\protected\def\blx@ifstrstartswith#1#2{% + \def\blx@ifstrstartswith@i ##1#2##2&{% + \ifblank{##1}}% + \blx@ifstrstartswith@i #1#2&} + +% end is harder, so we reverse everything and apply the start test +\protected\def\blx@ifstrendswith#1#2{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@ifstrstartswith{\blx@revstr{#1}}{\blx@revstr{#2}}}% + \blx@tempa} + +% not expandable, so write the result to the macro given in #3 +% {<string>}{<strip>}{<result>} +% <result> will contain the bit of <string> +% after the first occurrence of <strip> +\protected\def\blx@stripfromstartinto#1#2#3{% + \def\blx@stripfromstart@i ##1#2##2&{% + \def#3{##2}}% + \blx@stripfromstart@i #1&} + +% {<string>}{<strip>}{<result>} +% <result> will contain the bit of <string> +% before the last occurence of <strip> +\protected\def\blx@stripfromendinto#1#2#3{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@stripfromstartinto{\blx@revstr{#1}}{\blx@revstr{#2}}}% + \blx@tempa{#3}% + \edef#3{\noexpand\blx@revstr{#3}}% + \edef#3{#3}} + +%% Allocation + +% Counter to track nested tabularx environemnts so we don't +% try to patch the commands more than once below as this undefs some +% macros and an error is thrown +\newcounter{tabx@nest} +\setcounter{tabx@nest}{0} + +\newcounter{listtotal} +\def\thelisttotal{\the\c@listtotal} +\newcounter{listcount} +\def\thelistcount{\the\c@listcount} +\newcounter{liststart} +\def\theliststart{\the\c@liststart} +\newcounter{liststop} +\def\theliststop{\the\c@liststop} +\newcounter{citecount} +\def\thecitecount{\the\c@citecount} +\newcounter{citetotal} +\def\thecitetotal{\the\c@citetotal} +\newcounter{multicitecount} +\def\themulticitecount{\the\c@multicitecount} +\newcounter{multicitetotal} +\def\themulticitetotal{\the\c@multicitetotal} +\newcounter{instcount} +\def\theinstcount{\the\c@instcount} +\newcounter{maxnames} +\def\themaxnames{\the\c@maxnames} +\newcounter{minnames} +\def\theminnames{\the\c@minnames} +\newcounter{maxitems} +\def\themaxitems{\the\c@maxitems} +\newcounter{minitems} +\def\theminitems{\the\c@minitems} +\newcounter{citecounter} +\def\thecitecount{\the\c@citecounter} +\newcounter{maxcitecounter} +\def\themaxcitecounter{\the\c@maxcitecounter} +\newcounter{savedcitecounter} +\def\thecitecount{\the\c@savedcitecounter} +\newcounter{uniquelist} +\def\theuniquelist{\the\c@uniquelist} +\newcounter{uniquename} +\def\theuniquename{\the\c@uniquename} +\newcounter{refsection} +\def\therefsection{\the\c@refsection} +\newcounter{refsegment} +\def\therefsegment{\the\c@refsegment} +\newcounter{maxextratitle} +\def\themaxextratitle{\the\c@maxextratitle} +\newcounter{maxextratitleyear} +\def\themaxextratitleyear{\the\c@maxextratitleyear} +\newcounter{maxextraname} +\def\themaxextraname{\the\c@maxextraname} +\newcounter{maxextradate} +\def\themaxextradate{\the\c@maxextradate} +\newcounter{maxextraalpha} +\def\themaxextraalpha{\the\c@maxextraalpha} +\newcounter{abbrvpenalty} +\def\theabbrvpenalty{\the\c@abbrvpenalty} +\newcounter{highnamepenalty} +\def\thehighnamepenalty{\the\c@highnamepenalty} +\newcounter{lownamepenalty} +\def\thelownamepenalty{\the\c@lownamepenalty} +\newcounter{maxparens} +\def\themaxparens{\the\c@maxparens} +\newcounter{parenlevel} +\def\theparenlevel{\the\c@parenlevel} + +\newcount\blx@tempcnta +\newcount\blx@tempcntb +\newcount\blx@tempcntc +\newcounter{blx@maxsection} +\def\theblx@maxsection{\the\c@blx@maxsection} +\expandafter\newcount\csname blx@maxsegment@0\endcsname +\newcount\blx@notetype +\newcount\blx@parenlevel@text +\newcount\blx@parenlevel@foot +\expandafter\newcount\csname blx@sectionciteorder@0\endcsname +\expandafter\newcount\csname blx@sectionciteorderinternal@0\endcsname +\newcount\blx@entrysetcounter +\newcount\blx@biblioinstance + +\def\blx@uniquename{false} +\def\blx@uniquelist{false} +\def\blx@maxbibnames{0} +\def\blx@minbibnames{0} +\def\blx@maxcitenames{0} +\def\blx@mincitenames{0} +\def\blx@maxsortnames{0} +\def\blx@minsortnames{0} +\def\blx@maxalphanames{0} +\def\blx@minalphanames{0} +\def\blx@maxitems{0} +\def\blx@minitems{0} + +\newlength{\labelnumberwidth} +\newlength{\labelalphawidth} +\newlength{\biblabelsep} +\ifdef\bibitemsep % memoir + {} + {\newlength{\bibitemsep}} +\newlength{\bibnamesep} +\newlength{\bibinitsep} +\newlength{\bibparsep} +\newlength{\bibhang} + +\newbool{sourcemap} +\newbool{citetracker} +\newbool{pagetracker} +\newbool{backtracker} +\newbool{citerequest} +\booltrue{citerequest} +\newbool{sortcites} +\newbool{selectms} + +\newtoggle{blx@bbldone} +\newtoggle{blx@tempa} +\newtoggle{blx@tempb} +\newtoggle{blx@runltx} +\newtoggle{blx@runbiber} +\newtoggle{blx@block} +\newtoggle{blx@unit} +\newtoggle{blx@skipentry} +\newtoggle{blx@insert} +\newtoggle{blx@lastins} +\newtoggle{blx@keepunit} +\newtoggle{blx@bibtex} +\newtoggle{blx@debug} +\newtoggle{blx@sortcase} +\newtoggle{blx@sortupper} +\newtoggle{blx@dynamiclabel} +\newtoggle{blx@autolangbib} +\newtoggle{blx@autofieldlangstrings} +\newtoggle{blx@autolangcite} +\newtoggle{blx@clearlang} +\newtoggle{blx@defernumbers} +\newtoggle{blx@omitnumbers} +\newtoggle{blx@footnote} +\newtoggle{blx@labelalpha} +\newtoggle{blx@labelnumber} +\newtoggle{blx@labeltitle} +\newtoggle{blx@labeltitleyear} +\newtoggle{blx@labeldateparts} +\newtoggle{blx@pluralothers} +\newtoggle{blx@natbib} +\newtoggle{blx@mcite} +\newtoggle{blx@loadfiles} +\newtoggle{blx@sortsets} +\newtoggle{blx@crossrefsource} +\newtoggle{blx@xrefsource} +\newtoggle{blx@terseinits} +\newtoggle{blx@useprefix} +\newtoggle{blx@addset} +\newtoggle{blx@setonly} +\newtoggle{blx@dataonly} +\newtoggle{blx@skipbib} +\newtoggle{blx@skipbiblist} +\newtoggle{blx@skiplab} +\newtoggle{blx@citation} +\newtoggle{blx@volcite} +\newtoggle{blx@bibliography} +\newtoggle{blx@citeindex} +\newtoggle{blx@bibindex} +\newtoggle{blx@localnumber} +\newtoggle{blx@refcontext} +\newtoggle{blx@noroman} +\newtoggle{blx@nohashothers} +\newtoggle{blx@nosortothers} +\newtoggle{blx@singletitle} +\newtoggle{blx@uniquebaretitle} +\newtoggle{blx@uniqueprimaryauthor} +\newtoggle{blx@uniquetitle} +\newtoggle{blx@uniquework} + +\newcommand*{\blx@xifstrequal}[2]{% + \begingroup + \edef\blx@tempa{% + \endgroup + \noexpand\ifstrequal{#1}{#2}}% + \blx@tempa} + +% Special fields which need resolution using the information provided by biber +\listadd\abx@rfields{labeltitle} +\def\abx@dorfields{% + \dolistloop\abx@rfields} +\listadd\abx@rnames{labelname} +\def\abx@dornames{% + \dolistloop\abx@rnames} + +% Used to track document forms and langs +\global\let\blx@msforms\@empty +\global\let\blx@mslangs\@empty + +% Used to track default refcontexts for citations +\cslet{blx@defaultrefcontexts@0}\@empty +\listadd\blx@allrefsections{0} +\listadd\blx@alllastrefsections{0} + +% Used to track defernumbers from .aux +\global\let\blx@localnumbers\@empty + +% Used to track sorting name key specifications +\global\let\blx@sortingnamekeytemplates\@empty + +% Used to track uniquename templates +\global\let\blx@untemplatespecs\@empty + +% Used to track labelalphaname templates +\global\let\blx@lantemplatespecs\@empty + +% Used to track transliterations +\global\let\blx@translits\@empty + +% Initialise some lists which track changing citations/sortingtemplates +% etc. between runs +\global\let\blx@nocites\@empty +\global\let\blx@directcites\@empty +\global\let\blx@refcontexts\@empty +\global\let\blx@lastrefcontexts\@empty +\global\let\blx@sortingtemplatenames\@empty +\global\let\blx@dlistnames\@empty +\global\let\blx@biblists\@empty +\global\let\blx@lastbiblists\@empty +\global\let\blx@localnumaux\@empty +\global\cslet{blx@cites@0}\@empty + +\newread\blx@bcfin +\newwrite\blx@bcfout + +\def\blx@onlypreamble#1{% + \gappto\blx@dopreamblecmds{\do#1}} + +\def\blx@dopreamblecmds{% + \do\blx@dopreamblecmds + \do\blx@onlypreamble} + +% Deprecations +\newrobustcmd*{\DeprecateField}[2]{% + \blx@imc@ifmsentryfield{#1} + {\def\blx@tempa{abx@field@\blx@msform@\blx@mslang@#1}} + {\def\blx@tempa{abx@field@@@#1}}% + \csdef{\blx@tempa}{% + \ifcsundef{abx@legacywarning@field@#1} + {\blx@warning@noline{Field '#1' is deprecated. #2}} + {}% + \global\cslet{abx@legacywarning@field@#1}\@empty}}% +\newrobustcmd*{\DeprecateList}[2]{% + \blx@imc@ifmsentryfield{#1} + {\def\blx@tempa{abx@list@\blx@msform@\blx@mslang@#1}} + {\def\blx@tempa{abx@list@@@#1}}% + \csdef{\blx@tempa}{% + \ifcsundef{abx@legacywarning@list@#1} + {\blx@warning@noline{List '#1' is deprecated. #2}} + {}% + \global\cslet{abx@legacywarning@list@#1}\@empty}} +\newrobustcmd*{\DeprecateName}[2]{% + \blx@imc@ifmsentryfield{#1} + {\def\blx@tempa{abx@name@\blx@msform@\blx@mslang@#1}} + {\def\blx@tempa{abx@name@@@#1}}% + \csdef{\blx@tempa}{% + \ifcsundef{abx@legacywarning@name@#1} + {\blx@warning@noline{Name '#1' is deprecated. #2}} + {}% + \global\cslet{abx@legacywarning@name@#1}\@empty}} + +\let\blx@aliasfields\@empty + +\newrobustcmd*{\DeprecateFieldWithReplacement}[2]{% + \appto\blx@aliasfields{% + \ifcsundef{abx@field@#2} + {}% + {\blx@imc@ifmsentryfield{#2} + {\begingroup + \csgdef{blx@datamodel@multiscript@entryfield@#1}{1}% + \def\do##1{% + \begingroup + \def\do####1{% + \csgdef{abx@field@##1@####1@#1}{% + \csuse{abx@field@##1@####1@#2}% + \ifcsundef{abx@legacywarning@field@#1} + {\blx@warning@noline{Field '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@field@#1}\@empty}}% + \dolistcsloop{abx@fieldmslangs@#2}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#2}% + \endgroup} + {\csdef{abx@field@@@#1}{% + \csuse{abx@field@@@#2}% + \ifcsundef{abx@legacywarning@field@#1} + {\blx@warning@noline{Field '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@field@#1}\@empty}}}}} + +\newrobustcmd*{\DeprecateListWithReplacement}[2]{% + \appto\blx@aliasfields{% + \ifcsundef{abx@list@#2} + {}% + {\blx@imc@ifmsentryfield{#2} + {\begingroup + \csgdef{blx@datamodel@multiscript@entryfield@#1}{1}% + \def\do##1{% + \begingroup + \def\do####1{% + \csgdef{abx@list@##1@####1@#1}{% + \csuse{abx@list@##1@####1@#2}% + \ifcsundef{abx@legacywarning@list@#1} + {\blx@warning@noline{List '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@list@#1}\@empty}}% + \dolistcsloop{abx@fieldmslangs@#2}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#2}% + \endgroup} + {\csdef{abx@list@@@#1}{% + \csuse{abx@list@@@#2}% + \ifcsundef{abx@legacywarning@list@#1} + {\blx@warning@noline{List '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@list@#1}\@empty}}}}} + +\newrobustcmd*{\DeprecateNameWithReplacement}[2]{% + \appto\blx@aliasfields{% + \ifcsundef{abx@name@#2} + {}% + {\blx@imc@ifmsentryfield{#2} + {\begingroup + \csgdef{blx@datamodel@multiscript@entryfield@#1}{1}% + \def\do##1{% + \begingroup + \def\do####1{% + \csgdef{abx@name@##1@####1@#1}{% + \csuse{abx@name@##1@####1@#2}% + \ifcsundef{abx@legacywarning@name@#1} + {\blx@warning@noline{Name '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@name@#1}\@empty}}% + \dolistcsloop{abx@fieldmslangs@#2}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#2}% + \endgroup} + {\csdef{abx@name@@@#1}{% + \csuse{abx@name@@@#2}% + \ifcsundef{abx@legacywarning@name@#1} + {\blx@warning@noline{Name '#1' is deprecated.\MessageBreak + Please use '#2' instead.\MessageBreak + Using '#2' now}} + {}% + \global\cslet{abx@legacywarning@name@#1}\@empty}}}}} + +%% Initialisation +\def\blx@blxinit{% + \let\blx@blxinit\relax + \blx@initunit} + +\def\blx@secinit{% + \csgdef{blx@sections@\the\c@refsection}{true}% just to say we have a section for tests later + \ifcsundef{blx@bsee@\the\c@refsection} + {\global\cslet{blx@bsee@\the\c@refsection}\@empty} + {}% + \ifcsundef{blx@fsee@\the\c@refsection} + {\global\cslet{blx@fsee@\the\c@refsection}\@empty} + {}% + \blx@ibidreset@force + \blx@idemreset@force + \blx@opcitreset@force + \blx@loccitreset@force + % List to track all aliases in a section. We need to output all aliases + % to the .bcf every time so that they are visible to biber + % Reset only if undefined + \ifcsundef{blx@keyaliases@\the\c@refsection} + {\global\cslet{blx@keyaliases@\the\c@refsection}\@empty} + {}% + \ifcsundef{blx@segm@\the\c@refsection @\the\c@refsegment} + {\global\cslet{blx@segm@\the\c@refsection @\the\c@refsegment}\@empty} + {}} + +%% Auxiliary commands +\protected\def\blx@regimc#1{% + \xappto\blx@blxinit{% + \let\noexpand#1\expandafter\noexpand\csname + blx@imc@\expandafter\@gobble\string#1\endcsname}} + +\protected\def\blx@regimcs#1{\blx@regimcs@i#1&} +\def\blx@regimcs@i#1{% + \ifx#1&\else + \blx@regimc#1% + \expandafter\blx@regimcs@i + \fi} + +% [<msform>][<mslang>]{<field>} => \do{<item1>}\do{<item2>}... +\DeclareExpandableDocumentCommand{\blx@imc@docsvfield} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter\expandafter\docsvlist + \expandafter\expandafter\expandafter{% + \csname\blx@tempa\endcsname}}} + +% {<handler>}[<msform>][<mslang>]{<field>} => <handler>{<item1>}<handler>{<item2>}... +\DeclareExpandableDocumentCommand{\blx@imc@forcsvfield} + {m O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#2}][{#3}]{#4} + {} + {\blx@imc@ifmsentryfield{#4} + {\def\blx@tempa{abx@field@#2@#3@#4}} + {\def\blx@tempa{abx@field@@@#4}}% + \expandafter\expandafter\expandafter\blx@imc@forcsvfield@i + \expandafter\expandafter\expandafter{% + \csname\blx@tempa\endcsname}{#1}}} + +\def\blx@imc@forcsvfield@i#1#2{\forcsvlist{#2}{#1}} + +\blx@regimcs{\docsvfield \forcsvfield} + +% {<list>|<listmacro>} +\protected\long\def\blx@listloop#1{% + \expandafter\blx@listloop@i#1|&} +\long\def\blx@listloop@i#1|{% + \ifblank{#1} + {\blx@break} + {\blx@do{#1}\blx@listloop@i}} + +\long\def\blx@break#1&{% + \blx@done + \undef\blx@do + \undef\blx@done} + +% {<listmacro>}{<listcsname>} => matches in <listmacro> +\protected\def\blx@filter#1#2{% + \def\do##1{% + \ifinlistcs{##1}{#2} + {\listadd#1{##1}} + {}}% + \blx@runfilter#1} + +% {<listmacro>}{<listcsname>} => matches in <listmacro> +% Slightly odd use of filtering to do citation sorting. +% Same as blx@filter but it keeps \tempcnta in step with the +% resulting number of things in the filtered list. This is +% because \tempcnta is used to set citetotal - this use +% of filtering for cite sorting has the side-effect of stripping +% duplicates like \cite{foo,foo} but we need then to keep citetotal +% in sync. +\protected\def\blx@filtercitesort#1#2{% + \blx@tempcnta\z@ + \def\do##1{% + \ifinlistcs{##1}{#2} + {\listadd#1{##1}% + \advance\blx@tempcnta\@ne} + {}}% + \blx@runfilter#1} + +% {<listmacro>}{<listcsname>} => neg. matches in <listmacro> +\protected\def\blx@notfilter#1#2{% + \def\do##1{% + \ifinlistcs{##1}{#2} + {} + {\listadd#1{##1}}}% + \blx@runfilter#1} + +\def\blx@runfilter#1{% + \begingroup\edef#1{\endgroup + \unexpanded{\let#1\@empty\dolistloop}{#1}}% + #1\let\do\noexpand} + +% {<code>}{<string>} => <code>{<string>} +\protected\def\blx@xsanitizeafter#1#2{% + \begingroup + \abx@hook@xsanitize + \def\blx@tempa{\endgroup#1}% + \edef\blx@tempb{#2}% + \expandafter\blx@tempa + \expandafter{\detokenize\expandafter{\blx@tempb}}} + +\def\abx@hook@xsanitize{% + \blx@safe@actives + \let\protect\string} + +% {<code>}{<string>} => <code>{<string>} +\begingroup +\catcode`\<=\active +\catcode`\>=\active +\catcode`\&=\active +\catcode`\"=\active +\catcode`\'=\active +\protected\gdef\blx@xmlsanitizeafter#1#2{% + \begingroup + \abx@hook@xsanitize + \def\blx@tempa{\endgroup#1}% + \edef\blx@tempb{#2}% + \let\do\@makeother + \dospecials + \catcode`\<=\active + \catcode`\>=\active + \catcode`\&=\active + \catcode`\"=\active + \catcode`\'=\active + \edef<{\string<\string;}% + \edef>{\string>\string;}% + \edef&{\string&\string;}% + \edef"{\string"\string;}% + \edef'{\string&apos\string;}% + \endlinechar\m@ne + \everyeof{\noexpand}% + \edef\blx@tempb{\scantokens\expandafter{\blx@tempb}}% + \expandafter\blx@tempa + \expandafter{\detokenize\expandafter{\blx@tempb}}} +\endgroup + +% Generate altername filename with any global package postfix and then test +% for existence of file with postfix, then bare file. +% Used to look for files in versions of biblatex which are installed in parallel +% with the standard version. Such versions have a suffix appended to all filenames +% which is stored in \abx@filespf +% Returns the found filename in \blx@fnext (with extension) and \blx@fnnoext (without extension) or +% both \@empty if no file found +\def\blx@altfile#1{% + \begingroup + \edef\blx@tempa{#1}% filename can contain macros + \let\blx@tempb\@empty + \let\blx@tempc\@empty + \global\let\blx@fnext\@empty + \global\let\blx@fnnoext\@empty + % Gives everything up to extension + \expandafter\blx@stripfromendinto\expandafter{\blx@tempa}{.}\blx@tempb + % Gives the extension + \expandafter\expandafter\expandafter\blx@stripfromstartinto\expandafter\expandafter\expandafter{\expandafter\blx@tempa\expandafter}\expandafter{\blx@tempb.}\blx@tempc + \xdef\blx@fnext{\blx@tempb\abx@filespf.\blx@tempc}% + \xdef\blx@fnnoext{\blx@tempb\abx@filespf}% + \expandafter\IfFileExists\expandafter{\blx@fnext} + {} + {\expandafter\IfFileExists\expandafter{\blx@tempa} + {\global\let\blx@fnext\blx@tempa + \global\let\blx@fnnoext\blx@tempb} + {\global\let\blx@fnext\@empty + \global\let\blx@fnnoext\@empty}} + \endgroup} + +% {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>} +\protected\long\def\blx@inputonce#1{% + \blx@altfile{#1}% + \ifdefempty\blx@fnext + {\blx@inputonce@i{#1}} + {\expandafter\blx@inputonce@i\expandafter{\blx@fnext}}} + +\protected\long\def\blx@inputonce@i#1#2#3#4#5#6{% + \ifcsundef{blx@file@#1} + {\blx@info@noline{Trying to load #2..}% + \IfFileExists{#1} + {\blx@info@noline{... file '#1' found}% + \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}% + \csuse{blx@filehook@failure@#1}% + #6}% + \global\cslet{blx@file@#1}\@empty} + {#5}} + +% {<write>}{<precode>}{<string>} +\protected\def\blx@auxwrite#1#2#3{% + \if@filesw + \begingroup + \blx@safe@actives + \let\protect\string + #2% + \immediate\write#1{#3}% + \endgroup + \fi} + +% {<file>}{<signature>}{<true>}{<false>} +\def\blx@ifsigned#1#2{% + \begingroup + \let\blx@tempa\@firstoftwo + \edef\blx@tempb{\csuse{blx@sig@#2}}% + \edef\blx@tempb{\detokenize\expandafter{\blx@tempb}}% + \openin\blx@bcfin #1.#2\relax + \ifeof\blx@bcfin + \else + \endlinechar\m@ne + \readline\blx@bcfin to \blx@tempc + \ifeof\blx@bcfin + \else + \ifx\blx@tempb\blx@tempc + \readline\blx@bcfin to \blx@tempc + \edef\blx@tempb{\csuse{blx@ver@#2}}% + \edef\blx@tempb{\detokenize\expandafter{\blx@tempb}}% + \ifx\blx@tempb\blx@tempc + \else + \blx@warning@noline{% + File '#1.#2' is wrong format version - expected \blx@bblversion} + \fi + \else + \blx@error + {File '#1.#2' not created by biblatex} + {This file was apparently not created by biblatex. + Rename it or\MessageBreak move it to a location were + TeX will not find it. If this error\MessageBreak + persists, consider redefining \string\blxauxsuffix.% + See the biblatex\MessageBreak manual for details}% + \let\blx@tempa\@secondoftwo + \fi + \fi + \fi + \closein\blx@bcfin + \expandafter\endgroup\blx@tempa} + +\edef\blx@sig@bbl{\@percentchar\space $ biblatex auxiliary file $} +\edef\blx@ver@bbl{\@percentchar\space $ biblatex bbl format version \blx@bblversion\space $} +\edef\blx@sig@bcf{\detokenize{<?xml version="1.0" encoding="UTF-8"?>}} +\edef\blx@ver@bcf{% + \detokenize{<bcf:controlfile version="}\blx@bcfversion + \detokenize{" bltxversion="}\abx@version + \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} + ) + ) + }% +} + +%% More user feedback +\protected\def\blx@warning@entry#1{% + \ifdef\abx@field@@@entrykey + {\blx@warning{#1\MessageBreak at entry '\abx@field@@@entrykey'}} + {\blx@warning{#1}}} + +\protected\def\blx@info@noline#1{% + \begingroup + \blx@safe@actives + \PackageInfo{biblatex}{#1\@gobble}% + \endgroup} +\let\blx@info\blx@info@noline +\AtEndOfPackage{% + \protected\def\blx@info#1{% + \begingroup + \blx@safe@actives + \PackageInfo{biblatex}{#1}% + \endgroup}} + +\let\blx@noline\@gobble +\AtEndOfPackage{\let\blx@noline\@empty} +\def\blx@imc@BibliographyWarning{\blx@warning@entry} +\blx@regimc\BibliographyWarning + +\protected\def\abx@missing#1{% + \mbox{\reset@font\bfseries#1}} + + +\def\blx@err@nolang#1{% + \blx@error + {Language '#1' not found} + {The localization module for '#1' could not be found}} + +\def\blx@err@invarg#1#2{% + \blx@error + {Argument '#1' invalid} + {\ifblank{#2} + {The argument you have supplied is invalid.\MessageBreak + See the biblatex manual for details} + {#2}}} + +\def\blx@err@invopt#1#2{% + \blx@error + {Option '#1' invalid} + {\ifblank{#2} + {The option you have supplied is invalid.\MessageBreak + See the biblatex manual for valid option keys and + possible values} + {#2}}} + +\def\blx@err@confopt#1#2{% + \blx@error + {Conflicting options\ifblank{#1}{}{ (#1)}} + {\ifblank{#2} + {The option you have supplied conflicts with another one.\MessageBreak + See the biblatex manual for valid option keys and possible values} + {#2}}} + +\def\blx@err@optdef#1#2{% + \blx@error + {Option '#1' already defined} + {The option '#1' is already defined in scope '#2'}} + +\def\blx@err@nodocdiv#1{% + \blx@error + {\@backslashchar#1 not provided by class} + {The document class does not seems to support #1s}} + +\def\blx@err@nosec#1{% + \blx@error + {Section '#1' not found} + {The reference section '#1' could not be found}} + +\def\blx@err@nosort#1{% + \blx@error + {Sorting template '#1' not found} + {The sorting template '#1' does not seem to have been defined anywhere}} + +\def\blx@err@secfirst{% + \blx@error + {'section' not first filter} + {When passing multiple filter options, + the 'section' filter must be given first}} + +\protected\def\blx@err@nestcite{% + \blx@error + {Nested citation command} + {Citation commands may not be nested}} + +\def\blx@err@nestenv#1{% + \blx@error + {Nested '#1' environment} + {This environment may not be nested}} + +\protected\def\blx@err@citecmd#1{% + \begingroup + \escapechar\m@ne + \blx@error + {Command '\@backslashchar\string#1' undefined} + {The citation command '\@backslashchar\string#1' + has not been defined\MessageBreak by the + selected citation style}% + \endgroup} + +\def\blx@err@endnote#1{% + \blx@error + {Missing or incomplete endnote support} + {There does not seem to be endnote support available\MessageBreak + or the available support is incomplete.\MessageBreak + If you continue, I will fall back to '\string#1'}% + #1} + +\def\blx@err@matchparen#1{% + \blx@error + {Unbalanced parentheses or brackets} + {\iftoggle{blx@footnote}{#1 in foot or endnote}{#1}.\MessageBreak + This error is triggered if \string\bibopenparen\space and + \string\bibcloseparen\MessageBreak or + \string\bibopenbracket\space and \string\bibclosebracket\space + are unbalanced\MessageBreak or mismatched}} + +\def\blx@err@nestparen#1{% + \blx@error + {Too deeply nested parentheses or brackets} + {#1 nested too deeply% + \iftoggle{blx@footnote}{\space in foot or endnote}{}.\MessageBreak + This error may also be triggered if \string\mkbibparens\MessageBreak + or \string\mkbibbrackets\space are nested too deeply}} + +\def\blx@err@filter{% + \blx@error + {Invalid filter expression} + {The filter expression you have supplied is invalid.\MessageBreak + See the biblatex manual for details}} + +\def\blx@warn@nohyph#1{% + \blx@warning{No hyphenation patterns for '#1'}} + +\protected\def\blx@warn@citecmd#1#2{% + \blx@warning{% + '\string#1' not defined by citation style.\MessageBreak + Falling back to '\string#2'}% + #2} + +\protected\def\blx@warn@nostring#1{% + \blx@warning@entry{Bibliography string '#1' + \blx@kv@ifkeyundef{blx@lbx}{#1}{undefined}{untranslated}}% + \abx@missing{#1}} + +\def\blx@warn@conflopt#1{% + \blx@warning{Conflicting options.\MessageBreak#1}} + +\def\blx@warn@badoptdt#1{% + \blx@warning{Invalid option datatype '#1'.\MessageBreak + Defaulting to 'boolean'}} + +\def\blx@warn@depropt#1{% + \blx@warning{Deprecated option.\MessageBreak Ignoring '#1'}} + +\def\blx@warn@bibempty{% + \@latex@warning{Empty bibliography}} + +\def\blx@warn@biblistempty#1{% + \@latex@warning{Empty biblist '#1'}} + +\def\blx@inf@refsec{% + \blx@info{Reference section=\the\c@refsection}}% + +\def\blx@inf@delimdeclare#1#2{% + \blx@info{Delimiter '#1' in context '#2' already defined, overwriting}} + +\def\blx@warn@delimuse#1#2{% + \blx@warning{Delimiter '#1' in context '#2' undefined}} + +\def\blx@inf@refseg{% + \ifnum\c@refsection=\z@ + \blx@info{Reference segment=\the\c@refsegment}% + \else + \blx@info{% + Reference section/segment=% + \the\c@refsection/\the\c@refsegment}% + \fi} + +\def\blx@inf@creset{% + \blx@info{Resetting trackers}}% + +\def\blx@msg@cundef#1{% + Citation '#1' undefined} +\def\blx@msg@cundefon#1{% + Citation '#1' on page \the\c@page\space undefined} + +% Dummy as backend is biber by default. Some style may still use this to +% check though. +\newrobustcmd*{\RequireBiber}[1][2]{} + +% \blx@list@active active aux files (basename) +% [internal list] +% \blx@list@inactive inactive aux files (basename) +% [internal list] +% \blx@list@bibfiles@<auxfile> aux file -> bib file mapping (refsections) +% aux file (basename) -> bib files (full) +% [internal list] + +\let\blx@list@active\@empty +\let\blx@list@inactive\@empty +\listeadd\blx@list@inactive{\jobname} + +\protected\def\blx@regbibfiles#1#2{% + \forlistloop{\blx@regbibfile{#1}}{#2}} + +\def\blx@regbibfile#1#2{% + \ifcsundef{blx@res@loca@#2} + {\blx@regbibfile@i{#1}{#2}} + {\ifcsstring{blx@res@loca@#2}{local} + {\blx@regbibfile@i{#1}{#2}} + {}}} + +\def\blx@regbibfile@i#1#2{% + \ifinlistcs{#2}{blx@list@bibfiles@#1} + {} + {\listcsxadd{blx@list@bibfiles@#1}{#2}}} + +\def\blx@check@logreq{% + \begingroup + \ltxrequest{biblatex}{{\iftoggle{blx@runltx}{1}{0}}}{% + \provides[type=dynamic]{ + \file{\jobname.bcf} + } + \requires[type=dynamic]{ + \file{\jobname.bbl} + } + \ifdef\blx@list@req@edit + {\requires[type=editable]{ + \forlistloop\file\blx@list@req@edit + }} + {} + \ifdef\blx@list@req@stat + {\requires[type=static]{ + \forlistloop\file\blx@list@req@stat + }} + {} + }% + \logrequest[package=biblatex,priority=5,active={{\iftoggle{blx@runbiber}{1}{0}}}]{% + \generic{biber} + \cmdline{ + \binary{biber} + \infile{\jobname} + } + \input{ + \file{\jobname.bcf} + } + \output{ + \file{\jobname.bbl} + } + \provides[type=dynamic]{ + \file{\jobname.bbl} + } + \requires[type=dynamic]{ + \file{\jobname.bcf} + } + \ifcsdef{blx@list@bibfiles@\jobname} + {\requires[type=editable]{ + \def\do{\file} + \dolistcsloop{blx@list@bibfiles@\jobname} + }} + {} + }% + \endgroup} + +\def\blx@logreq@active#1{% + \ifblank{#1} + {} + {\@latex@warning{#1}}% + \blx@rerun@latex + \blx@rerun@biber} + +\def\blx@rerun@latex{% + \G@refundefinedtrue + \global\toggletrue{blx@runltx}% + \global\let\blx@rerun@latex\relax} + +\def\blx@rerun@biber{% + \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 +\let\blx@pagesum@new\@empty + +\def\blx@checksum#1#2#3{% + \begingroup + \blx@tempcnta\the\numexpr0#2*0#3\relax + \blx@tempcntb\blx@tempcnta + \divide\blx@tempcntb10 + \multiply\blx@tempcntb10 + \advance\blx@tempcnta-\blx@tempcntb + \xdef#1{#1\the\blx@tempcnta}% + \endgroup} + +\def\blx@addchecksum{\blx@checksum\blx@checksum@old} +\def\blx@addpagesum{\blx@checksum\blx@pagesum@old} +\blx@AtEndDocument{% + \def\blx@addchecksum{\blx@checksum\blx@checksum@new}% + \def\blx@addpagesum{\blx@checksum\blx@pagesum@new}} + +\protected\def\blx@check@rerun{% + \begingroup + \blx@tempcnta\z@ + \iftoggle{blx@runltx} + {\blx@tempcnta\@ne} + {\ifx\blx@checksum@old\blx@checksum@new + \ifx\blx@pagesum@old\blx@pagesum@new + \else + \blx@tempcnta\@ne + \fi + \else + \blx@tempcnta\@ne + \fi}% + \iftoggle{blx@runbiber} + {\advance\blx@tempcnta\tw@} + {}% + \ifcase\blx@tempcnta + \or + \blx@rerun@latex + \blx@warning@noline{% + Please rerun LaTeX% + \ifx\blx@pagesum@old\blx@pagesum@new\else + .\MessageBreak Page breaks have changed% + \fi}% + \else + \blx@rerun@latex + \blx@warn@auxlist + \fi + \endgroup} + +\def\blx@warn@auxlist{% + \blx@warning@noline{% + Please (re)run Biber on the file:\MessageBreak + \jobname\MessageBreak + and rerun LaTeX afterwards}} + +\AfterEndDocument{% + \blx@check@rerun + \blx@check@logreq} + +%% Punctuation and capitalization + +% 1001 prefix sep for names (e.g. d'Argent ... \printnames only) +% 1002 abbreviation period (dot) +% 1003/1250 comma +% 1004/1500 semicolon +% 1005/2000 colon +% 1006/3000 period +% 1007/3001 exclamation mark +% 1008/3002 question mark +% 1009 suppress punctuation +% 1010 new paragaph + +\mathchardef\blx@sf@prefixchar=1001% e.g. apostrophe or equivalent for prefix handling +\mathchardef\blx@sf@dot=1002 +\mathchardef\blx@sf@comma=1003 +\mathchardef\blx@sf@semicolon=1004 +\mathchardef\blx@sf@colon=1005 +\mathchardef\blx@sf@period=1006 +\mathchardef\blx@sf@exclam=1007 +\mathchardef\blx@sf@question=1008 +\mathchardef\blx@sf@nopunct=1009 +\mathchardef\blx@sf@par=1010 +\mathchardef\blx@sf@threshold@low=1002 +\mathchardef\blx@sf@threshold@high=1009 + +\csdef{blx@sf@1250}{\the\blx@sf@comma} +\csdef{blx@sf@1500}{\the\blx@sf@semicolon} +\csdef{blx@sf@2000}{\the\blx@sf@colon} +\csdef{blx@sf@3000}{\the\blx@sf@period} +\csdef{blx@sf@3001}{\the\blx@sf@exclam} +\csdef{blx@sf@3002}{\the\blx@sf@question} + +\csdef{blx@pm@,}{comma} +\csdef{blx@pm@;}{semicolon} +\csdef{blx@pm@:}{colon} +\csdef{blx@pm@.}{period} +\csdef{blx@pm@!}{exclam} +\csdef{blx@pm@?}{question} + +\def\blx@setsfcodes{% + \let\blx@setsfcodes\relax + \let\frenchspacing\blx@setfrcodes + \let\nonfrenchspacing\blx@setencodes + \ifnum\sfcode`\.>2000 + \blx@setencodes + \else + \blx@setfrcodes + \fi + \@setquotesfcodes + \sfcode`\(=\z@ + \sfcode`\)=\z@ + \sfcode`\[=\z@ + \sfcode`\]=\z@ + \sfcode`\<=\z@ + \sfcode`\>=\z@} + +\def\blx@setfrcodes{% + \ifnum\sfcode`\A=\@m + \else + \blx@setazcodes + \fi + \sfcode`\,=\blx@sf@comma + \sfcode`\;=\blx@sf@semicolon + \sfcode`\:=\blx@sf@colon + \sfcode`\.=\blx@sf@period + \sfcode`\!=\blx@sf@exclam + \sfcode`\?=\blx@sf@question +} + +\def\blx@setencodes{% + \sfcode`\,=1250 + \sfcode`\;=1500 + \sfcode`\:=2000 + \sfcode`\.=3000 + \sfcode`\!=3001 + \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 + +\def\blx@defprefchars@loop#1{% + \ifx#1\relax + \else + \listadd{\blx@prefchars}{#1}% + \expandafter\blx@defprefchars@loop + \fi} + +\def\blx@defprefchars#1{% + \expandafter\blx@defprefchars@loop\detokenize{#1}\relax} + +\newrobustcmd*{\DeclarePrefChars}{% + \@ifstar + {\blx@defprefchars} + {\global\let\blx@prefchars\@empty + \blx@defprefchars}} +\DeclarePrefChars{'-} + +\protected\def\blx@imc@ifprefchar{% + \ifhmode + \begingroup + \ifnum\spacefactor=\blx@sf@prefixchar + \endgroup + \expandafter\expandafter + \expandafter\@firstoftwo + \else + \endgroup + \expandafter\expandafter + \expandafter\@secondoftwo + \fi + \else + \expandafter\@secondoftwo + \fi} + +\blx@regimcs{\ifprefchar} + +\def\blx@namecodes{% + \ifnum\sfcode`\A=\@m + \else + \blx@setazcodes + \fi + \def\do##1{\sfcode`##1=\blx@sf@prefixchar}% + \dolistloop\blx@prefchars +} + +\begingroup +\let\blx@setazcodes\@empty +\def\blx@tempa{% + \xdef\blx@setazcodes{% + \blx@setazcodes + \sfcode\the\blx@tempcnta=\@m} + \ifnum\blx@tempcnta<\blx@tempcntb + \advance\blx@tempcnta\@ne + \expandafter\blx@tempa + \fi} +\blx@tempcnta`\A +\blx@tempcntb`\Z +\blx@tempa +\ifnum\inputlineno=\m@ne\else + \blx@tempcnta"80 + \blx@tempcntb"9C + \blx@tempa + \blx@tempcnta"C0 + \blx@tempcntb"DF + \blx@tempa +\fi +\endgroup + +\def\blx@spacefactor{% + \ifhmode + \ifcsundef{blx@sf@\the\spacefactor} + {\the\spacefactor} + {\csname blx@sf@\the\spacefactor\endcsname}% + \else + \the\blx@sf@par + \fi} + +\protected\def\blx@leavevmode{% + \ifhmode + \else + \leavevmode\spacefactor\blx@sf@par + \fi} + +\protected\def\blx@leavevmode@cite{% + \ifhmode + \ifnum\spacefactor=\blx@sf@par + \else + \spacefactor\@m + \fi + \else + \leavevmode + \fi} + +\protected\def\blx@imc@setpunctfont#1{% + \blx@ifpuncthook + {\gdef\abx@puncthook{% + \ifdim\lastkern>\z@\unkern\fi + \blx@imc@resetpunctfont#1}} + {}} +\protected\def\blx@imc@resetpunctfont{% + \blx@ifpuncthook + {\global\let\abx@puncthook\@firstofone} + {}} + +\protected\def\blx@setpostpunct#1{% + \blx@ifuspunct + {\global\let\blx@postpunct\blx@dopostpunct + \ifdef\blx@thepostpunct + {\gappto\blx@thepostpunct{#1}} + {\gdef\blx@thepostpunct{#1}}} + {}} + +\def\blx@dopostpunct{% + \blx@thepostpunct + \global\let\blx@postpunct\@empty + \global\undef\blx@thepostpunct} + +\protected\def\blx@postpunct@agroup{% + \aftergroup\blx@postpunct + \let\blx@postpunct@agroup\@empty} + +% {<characters>} +\newrobustcmd*{\DeclareCapitalPunctuation}[1]{% + \cslet{blx@cap@\the\blx@sf@par}\@empty + \csundef{blx@cap@\the\blx@sf@comma}% + \csundef{blx@cap@\the\blx@sf@semicolon}% + \csundef{blx@cap@\the\blx@sf@colon}% + \csundef{blx@cap@\the\blx@sf@period}% + \csundef{blx@cap@\the\blx@sf@exclam}% + \csundef{blx@cap@\the\blx@sf@question}% + \ifblank{#1} + {} + {\expandafter\blx@defcapstring\detokenize{#1}\relax}} + +\def\blx@defcapstring#1{% + \ifx#1\relax + \else + \begingroup + \blx@setfrcodes + \ifcsdef{blx@pm@#1} + {\expandafter\endgroup + \expandafter\let + \csname blx@cap@\the\sfcode`#1\endcsname\@empty} + {\blx@warning{Ignoring invalid punctuation mark '#1'}% + \endgroup}% + \expandafter\blx@defcapstring + \fi} + +% {<characters>} +\newrobustcmd*{\DeclareQuotePunctuation}[1]{% + \csdef{blx@qp@comma}{\blx@postpunct}% + \csdef{blx@qp@semicolon}{\blx@postpunct}% + \csdef{blx@qp@colon}{\blx@postpunct}% + \csdef{blx@qp@period}{\blx@postpunct}% + \csdef{blx@qp@exclam}{\blx@postpunct}% + \csdef{blx@qp@question}{\blx@postpunct}% + \cslet{blx@pq@comma}\@empty + \cslet{blx@pq@semicolon}\@empty + \cslet{blx@pq@colon}\@empty + \cslet{blx@pq@period}\@empty + \cslet{blx@pq@exclam}\@empty + \cslet{blx@pq@question}\@empty + \let\blx@quotepunct\@empty + \ifblank{#1} + {\let\blx@ifuspunct\@secondoftwo} + {\let\blx@ifuspunct\@firstoftwo + \expandafter\blx@defquotepunct\detokenize{#1}&}} + +\def\blx@defquotepunct#1{% + \ifx\relax + \else + \ifcsdef{blx@pm@#1} + {\appto\blx@quotepunct{#1}% + \cslet{blx@qp@\csuse{blx@pm@#1}}\@empty + \csdef{blx@pq@\csuse{blx@pm@#1}}{\blx@postpunct}} + {\blx@warning{Ignoring invalid punctuation mark '#1'}}% + \expandafter\blx@defquotepunct + \fi} + +% {<mark>}{<characters>} +\newrobustcmd*{\DeclarePunctuationPairs}[2]{% + \ifcsdef{blx@sf@\detokenize{#1}} + {\ifnum\csname blx@sf@\detokenize{#1}\endcsname>\blx@sf@prefixchar + \ifnum\csname blx@sf@\detokenize{#1}\endcsname<\blx@sf@nopunct + \expandafter\blx@defpunctpairs + \expandafter{\the\csname blx@sf@\detokenize{#1}\endcsname}{#2}% + \else + \blx@err@invarg{\detokenize{#1}{}}% + \fi + \else + \blx@err@invarg{\detokenize{#1}{}}% + \fi} + {\blx@err@invarg{\detokenize{#1}{}}}} + +\def\blx@defpunctpairs#1#2{% + \blx@undefpair{#1}{\the\blx@sf@dot}% + \blx@undefpair{#1}{\the\blx@sf@comma}% + \blx@undefpair{#1}{\the\blx@sf@semicolon}% + \blx@undefpair{#1}{\the\blx@sf@colon}% + \blx@undefpair{#1}{\the\blx@sf@period}% + \blx@undefpair{#1}{\the\blx@sf@exclam}% + \blx@undefpair{#1}{\the\blx@sf@question}% + \ifblank{#2} + {} + {\begingroup + \def\blx@tempa{#1}% + \let\blx@tempb\@empty + \blx@setfrcodes + \sfcode`\*=\blx@sf@dot + \expandafter\blx@defpair\detokenize{#2}&% + \expandafter\endgroup\blx@tempb}} + +\def\blx@defpair#1{% + \ifx% + \else + \ifnum\the\sfcode`#1>\blx@sf@prefixchar + \ifnum\the\sfcode`#1<\blx@sf@nopunct + \eappto\blx@tempb{% + \cslet{blx@pp@\blx@tempa @\the\sfcode`#1}\noexpand\@empty}% + \else + \blx@err@invarg{#1}{}% + \fi + \else + \blx@err@invarg{#1}{}% + \fi + \expandafter\blx@defpair + \fi} + +\def\blx@undefpair#1#2{% + \ifcsdef{blx@pp@#1@#2} + {\csundef{blx@pp@#1@#2}} + {}} + +\protected\def\blx@resetpunct{% + \DeclareCapitalPunctuation{.!?}% + \DeclarePunctuationPairs{dot}{}% + \DeclarePunctuationPairs{comma}{*!?}% + \DeclarePunctuationPairs{semicolon}{*!?}% + \DeclarePunctuationPairs{colon}{*!?}% + \DeclarePunctuationPairs{period}{}% + \DeclarePunctuationPairs{exclam}{*}% + \DeclarePunctuationPairs{question}{*}% + \DeclareQuotePunctuation{}% + \def\abx@dot{\ifdim\lastkern>\z@\unkern\fi.\spacefactor\blx@sf@dot}% + \def\abx@comma{\ifdim\lastkern>\z@\unkern\fi\abx@puncthook{,}}% + \def\abx@semicolon{\abx@puncthook{;}}% + \def\abx@colon{\abx@puncthook{:}}% + \def\abx@period{\ifdim\lastkern>\z@\unkern\fi\abx@puncthook{.}}% + \def\abx@exclam{\abx@puncthook{!}}% + \def\abx@question{\abx@puncthook{?}}% + \global\let\abx@puncthook\@firstofone + \global\let\blx@postpunct\@empty} + +\blx@resetpunct + +% {<character>}{<true>}{<false>} +\protected\def\blx@imc@ifpunctmark#1{% + \ifhmode + \begingroup + \sfcode`\*=\blx@sf@dot + \ifnum\sfcode`#1=\spacefactor + \endgroup + \expandafter\expandafter + \expandafter\@firstoftwo + \else + \endgroup + \expandafter\expandafter + \expandafter\@secondoftwo + \fi + \else + \expandafter\@secondoftwo + \fi} + +% {<true>}{<false>} +\protected\def\blx@imc@ifterm{% + \ifhmode + \expandafter\blx@imc@ifcapital + \else + \expandafter\@secondoftwo + \fi} + +% {<true>}{<false>} +\protected\def\blx@imc@ifcapital{% + \ifcsdef{blx@cap@\blx@spacefactor}} + +% {<true>}{<false>} +\protected\def\blx@imc@ifpunct{% + \ifnum\blx@spacefactor>\blx@sf@threshold@low + \ifnum\blx@spacefactor<\blx@sf@threshold@high + \expandafter\expandafter + \expandafter\@firstoftwo + \else + \expandafter\expandafter + \expandafter\@secondoftwo + \fi + \else + \expandafter\@secondoftwo + \fi} + +% {<character>} +\newrobustcmd*{\autocap}[1]{#1} + +\protected\def\blx@imc@autocap{% + \blx@imc@ifcapital\MakeCapital\@firstofone} + +\protected\def\blx@imc@nopunct{% + \leavevmode\spacefactor\blx@sf@nopunct} + +\protected\def\blx@imc@isdot{% + \ifnum\blx@spacefactor=\blx@sf@period + \spacefactor\blx@sf@dot + \fi} + +\protected\def\blx@imc@adddot{% + \blx@addpunct{dot}% + \ifnum\blx@spacefactor=\blx@sf@period + \spacefactor\blx@sf@dot + \fi} + +\protected\def\blx@imc@addperiod{% + \blx@addpunct{period}% + \ifnum\blx@spacefactor=\blx@sf@dot + \spacefactor\blx@sf@period + \fi} + +\protected\def\blx@imc@addcomma{\blx@addpunct{comma}} +\protected\def\blx@imc@addsemicolon{\blx@addpunct{semicolon}} +\protected\def\blx@imc@addcolon{\blx@addpunct{colon}} +\protected\def\blx@imc@addexclam{\blx@addpunct{exclam}} +\protected\def\blx@imc@addquestion{\blx@addpunct{question}} + +\def\blx@addpunct#1{% + \unspace + \ifnum\blx@spacefactor<\blx@sf@threshold@low + \csuse{blx@qp@#1}\csuse{abx@#1}% + \else + \ifnum\blx@spacefactor>\blx@sf@threshold@high + \csuse{blx@qp@#1}\csuse{abx@#1}% + \else + \ifcsdef{blx@pp@\the\csname blx@sf@#1\endcsname @\blx@spacefactor} + {\csuse{blx@qp@#1}\csuse{abx@#1}} + {\csuse{blx@qp@#1}}% + \fi + \fi + \csuse{blx@pq@#1}} + +\providerobustcmd*{\unspace}{% + \ifbool{hmode} + {\ifdimgreater\lastskip\z@ + {\unskip\unspace} + {\ifnumgreater\lastpenalty\z@ + {\unpenalty\unspace} + {}}} + {}} + +\newrobustcmd*{\bibsentence}{% + \leavevmode\spacefactor\blx@sf@par + \ignorespaces} + +\newrobustcmd*{\midsentence}{% + \leavevmode + \@ifstar + {\ifnum\spacefactor=\blx@sf@dot + \else + \spacefactor\@m + \fi} + {\spacefactor\@m}} + +\newrobustcmd*{\addslash}{% + \unspace/\penalty\hyphenpenalty\hskip\z@skip} + +\newrobustcmd*{\addspace}{% + \unspace\blx@postpunct + \space\blx@imc@resetpunctfont} + +\newrobustcmd*{\addnbspace}{% + \unspace\blx@postpunct + \nobreak\space\blx@imc@resetpunctfont} + +\newrobustcmd*{\addthinspace}{% + \unspace\blx@postpunct + \hskip0.16667em\relax + \blx@imc@resetpunctfont} + +\newrobustcmd*{\addnbthinspace}{% + \unspace\blx@postpunct + \nobreak\hskip0.16667em\relax + \blx@imc@resetpunctfont} + +\newrobustcmd*{\addlowpenspace}{% + \unspace\blx@postpunct + \penalty\value{lownamepenalty}\space + \blx@imc@resetpunctfont} + +\newrobustcmd*{\addhighpenspace}{% + \unspace\blx@postpunct + \penalty\value{highnamepenalty}\space + \blx@imc@resetpunctfont} + +\newrobustcmd*{\addlpthinspace}{% + \unspace\blx@postpunct + \penalty\value{lownamepenalty}% + \hskip0.16667em\relax\blx@imc@resetpunctfont} + +\newrobustcmd*{\addhpthinspace}{% + \unspace\blx@postpunct + \penalty\value{highnamepenalty}% + \hskip0.16667em\relax\blx@imc@resetpunctfont} + +\newrobustcmd*{\addabbrvspace}{% + \unspace\blx@postpunct + \penalty\value{abbrvpenalty}% + \space\blx@imc@resetpunctfont} + +\newrobustcmd*{\addabthinspace}{% + \unspace\blx@postpunct + \penalty\value{abbrvpenalty}% + \hskip0.16667em\relax + \blx@imc@resetpunctfont} + +\newrobustcmd*{\adddotspace}{% + \unspace\adddot\blx@postpunct + \penalty\value{abbrvpenalty}% + \space\blx@imc@resetpunctfont} + +\providerobustcmd*{\noligature}{% + \penalty\@M\discretionary{-}{}{\kern0.03em}% + \nobreak\hskip\z@skip} + +\providerobustcmd*{\hyphen}{% + \nobreak-\nobreak\hskip\z@skip} + +\providerobustcmd*{\nbhyphen}{% + \nobreak\mbox{-}\nobreak\hskip\z@skip} + +\providerobustcmd*{\hyphenate}{% + \nobreak\-\nobreak\hskip\z@skip} + +\providerobustcmd*{\allowhyphens}{% + \nobreak\hskip\z@skip} + +% Idea from Peter Wilson's hyphenat package +% https://ctan.org/pkg/hyphenat +% also https://texfaq.org/FAQ-hyphoff +\newlanguage\blx@langwohyphens + +\providerobustcmd*{\nohyphenation}{% + \language\blx@langwohyphens} + +% First part of workaround for odd XeTeX/babel-french behaviour +% https://github.com/plk/biblatex/issues/979 +% fix by Ulrike Fischer +% https://tex.stackexchange.com/a/544914/. +% The second bit lives in blx-unicode.def. +\ifundef\XeTeXrevision + {\providerobustcmd*{\textnohyphenation}[1]{% + \bgroup\nohyphenation#1\egroup}} + {} + +\blx@regimcs{% + \setpunctfont \resetpunctfont \ifcapital \autocap \ifpunctmark + \ifpunct \ifterm \nopunct \isdot \adddot \addperiod \addcomma + \addsemicolon \addcolon \addexclam \addquestion} + +\appto\blx@blxinit{% + \appto\nocorrlist{\isdot\adddot\addperiod\addcomma}} + +%% Style definition + +% {<bibstyle>} +\newrobustcmd*{\RequireBibliographyStyle}[1]{% + \blx@inputonce{#1.bbx}{bibliography style '#1'}{}{}{} + {\blx@error + {Style '#1' not found} + {The bibliography style '#1' could not be found}}} +\@onlypreamble\RequireBibliographyStyle + +% {<code>} +\newrobustcmd*{\InitializeBibliographyStyle}{\appto\blx@hook@bbxinit} +\@onlypreamble\InitializeBibliographyStyle + +% {<entry type>}{<driverdef>} +\newrobustcmd*{\DeclareBibliographyDriver}[1]{% + \blx@declarebibdriver{#1}} +\@onlypreamble\DeclareBibliographyDriver + +\long\def\blx@declarebibdriver#1#2{\long\csdef{blx@bbx@#1}{#2}} + + + +% {<entry type>} +\def\blx@driver#1{% + \ifcsdef{blx@bbx@#1} + {\csuse{blx@bbx@#1}} + {\ifcsdef{blx@bbx@*} + {\blx@warning{% + No driver for '#1'.\MessageBreak + Using fallback driver}% + \csuse{blx@bbx@*}} + {\blx@error + {No driver for '#1' found} + {I can't find a driver for + '#1'\MessageBreak + (entry type '\abx@field@@@entrytype')\MessageBreak + and there is no fallback driver either}}}} + +% {<type>}{<true>}{<false>} +\def\blx@imc@ifdriver#1{\ifcsdef{blx@bbx@#1}} + +% {<alias>}{<type>} +\newrobustcmd*{\DeclareBibliographyAlias}[2]{% + \csedef{blx@bbx@#1}{% + \expandafter\noexpand\csname blx@bbx@#2\endcsname}} +\@onlypreamble\DeclareBibliographyAlias + +%% Auxiliary commands +\newrobustcmd*{\citereset}{% + \csuse{blx@hook@cbxinit}% + \@ifstar + {} + {\global\cslet{blx@bsee@\the\c@refsection}\@empty + \global\cslet{blx@fsee@\the\c@refsection}\@empty + \blx@ibidreset@force + \blx@idemreset@force + \blx@opcitreset@force + \blx@loccitreset@force}} + +\def\blx@save#1{% + \ifcsdef{blx@saved@#1} + {} + {\blx@safe@actives + \csletcs{blx@saved@#1}{#1}% + \blx@rest@actives}} + +\def\blx@restore#1{% + \ifcsdef{blx@saved@#1} + {\blx@safe@actives + \csletcs{#1}{blx@saved@#1}% + \csundef{blx@saved@#1}% + \blx@rest@actives} + {}} + +\newrobustcmd*{\savecommand}[1]{% + \ifcsdef{blx@saved@cmd@\detokenize{#1}} + {} + {\cslet{blx@saved@cmd@\detokenize{#1}}{#1}}} + +\newrobustcmd*{\restorecommand}[1]{% + \ifcsdef{blx@saved@cmd@\detokenize{#1}} + {\letcs{#1}{blx@saved@cmd@\detokenize{#1}}% + \csundef{blx@saved@cmd@\detokenize{#1}}} + {}} + +% {<name>} +\newrobustcmd*{\savebibmacro}[1]{% + \blx@save{abx@macro@\detokenize{#1}}} + +\newrobustcmd*{\restorebibmacro}[1]{% + \blx@restore{abx@macro@\detokenize{#1}}} + +% {<name>}[<args>][<optarg>]{<definition>} +\newrobustcmd*{\newbibmacro}{% + \@star@or@long\blx@newbibmacro} + +\def\blx@newbibmacro#1{% + \ifcsundef{abx@macro@\detokenize{#1}} + {\blx@defbibmacro\new@command{#1}} + {\blx@warning{% + Macro '\detokenize{#1}' already defined.\MessageBreak + Using \string\renewbibmacro} + \blx@defbibmacro\renew@command{#1}}} + +\newrobustcmd*{\renewbibmacro}{% + \@star@or@long\blx@renewbibmacro} + +\def\blx@renewbibmacro#1{% + \ifcsundef{abx@macro@\detokenize{#1}} + {\blx@warning{% + Macro '\detokenize{#1}' undefined.\MessageBreak + Using \string\newbibmacro} + \blx@defbibmacro\new@command{#1}} + {\blx@defbibmacro\renew@command{#1}}} + +\newrobustcmd*{\providebibmacro}{% + \@star@or@long{\blx@defbibmacro\provide@command}} + +\def\blx@defbibmacro#1#2{% + \expandafter#1\csname abx@macro@\detokenize{#2}\endcsname} + +% {<alias>}{<name>} +\newrobustcmd*{\letbibmacro}{% + \@ifstar + {\blx@letbibmacro@i} + {\blx@letbibmacro}} + +\def\blx@letbibmacro#1#2{% + \blx@letbibmacro@i{\detokenize{#1}}{\detokenize{#2}}} + +\def\blx@letbibmacro@i#1#2{% + \ifcsundef{abx@macro@#2} + {\blx@error + {Bibliography macro '#2' undefined} + {Use '\string\newbibmacro' to define this macro}} + {\csletcs{abx@macro@#1}{abx@macro@#2}}} + +% {<name>} +\newrobustcmd*{\usebibmacro}{% + \@ifstar + {\blx@usebibmacro@i} + {\blx@usebibmacro}} + +\def\blx@usebibmacro#1{% + \blx@usebibmacro@i{\detokenize{#1}}} + +\def\blx@usebibmacro@i#1{% + \ifcsundef{abx@macro@#1} + {\blx@error + {Bibliography macro '#1' undefined} + {Use '\string\newbibmacro' to define this macro}} + {\csuse{abx@macro@#1}}} + +% {<name>}{<true>}{<false>} +\def\blx@imc@ifbibmacroundef#1{% + \ifcsundef{abx@macro@#1}} + +\def\ifbibmacroundef{\blx@imc@ifbibmacroundef} + +% [<msform>][<mslang>]{<field>} +\DeclareExpandableDocumentCommand{\blx@imc@thefield} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\csuse{abx@field@#1@#2@#3}} + {\csuse{abx@field@@@#3}}} + +% [<msform>][<mslang>]{<field>} +\DeclareExpandableDocumentCommand{\blx@imc@strfield} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\ifcsdef{abx@field@#1@#2@#3} + {\detokenize\expandafter\expandafter\expandafter + {\csname abx@field@#1@#2@#3\endcsname}} + {}} + {\ifcsdef{abx@field@@@#3} + {\detokenize\expandafter\expandafter\expandafter + {\csname abx@field@@@#3\endcsname}} + {}}} + +\def\blx@imc@csfield{\usefield{\unexpanded}} + +% {<command>}[msform][mslang]{<field>} +\DeclareExpandableDocumentCommand{\blx@imc@usefield} + {m O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#4} + {\expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{\csname abx@field@#2@#3@#4\endcsname}} + {\expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{\csname abx@field@@@#4\endcsname}}} + +% [msform][mslang]{<plainlist>} +\DeclareExpandableDocumentCommand{\blx@imc@thelist} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\csuse{abx@list@#1@#2@#3}} + {\csuse{abx@list@@@#3}}} + +\DeclareExpandableDocumentCommand{\blx@imc@strlist} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\ifcsdef{abx@list@#1@#2@#3} + {\detokenize\expandafter\expandafter\expandafter + {\csname abx@list@#1@#2@#3\endcsname}} + {}} + {\ifcsdef{abx@list@@@#3} + {\detokenize\expandafter\expandafter\expandafter + {\csname abx@list@@@#3\endcsname}} + {}}} + +\DeclareExpandableDocumentCommand{\blx@imc@thefirstlistitem} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \blx@imc@thefirstlistitem@grab + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + {\csuse{abx@list@#1@#2@#3}}} + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \blx@imc@thefirstlistitem@grab + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + {\csuse{abx@list@@@#3}}}} + +\def\blx@imc@thefirstlistitem@grab#1{% + \blx@imc@thefirstlistitem@grab@i + #1{}{}% + \blx@imc@thefirstlistitem@grab@i@end} +\def\blx@imc@thefirstlistitem@grab@i#1#2\blx@imc@thefirstlistitem@grab@i@end{#1} + +% {<command>}[msform][mslang]{<field>} +% needs 7 levels of expansion, i.e. 2^7-1=127 '\expandafter's +\DeclareExpandableDocumentCommand{\blx@imc@usefirstlistitem} + {m O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter + #1% + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter + {\blx@imc@thefirstlistitem[{#2}][{#3}]{#4}}} + {\expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter + #1% + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter + {\blx@imc@thefirstlistitem{#4}}}} + +\DeclareExpandableDocumentCommand{\blx@imc@strfirstlistitem} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\ifcsdef{abx@list@#1@#2@#3} + {\blx@imc@usefirstlistitem{\detokenize}[{#1}][{#2}]{#3}} + {}} + {\ifcsdef{abx@list@@@#3} + {\blx@imc@usefirstlistitem{\detokenize}{#3}} + {}}} + +% [msform][mslang]{<namelist>} +\DeclareExpandableDocumentCommand{\blx@imc@thename} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\csuse{abx@name@#1@#2@#3}} + {\csuse{abx@name@@@#3}}} + +\DeclareExpandableDocumentCommand{\blx@imc@strname} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\ifcsdef{abx@name@#1@#2@#3} + {\detokenize\expandafter\expandafter\expandafter + {\csname abx@name@#1@#2@#3\endcsname}} + {}} + {\ifcsdef{abx@name@@@#3} + {\detokenize\expandafter\expandafter\expandafter + {\csname abx@name@@@#3\endcsname}} + {}}} + +% We have to save cleared fields/lists/names in case a related entry +% needs them for tests +\let\abx@dorelfields\@empty +\let\abx@dorellists\@empty +\let\abx@dorelnames\@empty + +% [<msform>][<mslang>]{<field>} +% If there is a related field in the entry, save a special copy in case +% the related entry needs it for tests. See the corresponding tests in +% \blx@saverelfield +\DeclareDocumentCommand{\blx@imc@clearfield} + {O{} O{} m} + {\blx@imc@ifmsentryfield{#3} + {\ifboolexpr{ test {\ifblank{#1}} + and test {\ifblank{#2}} } + % clear all alternates of a multiscript field + {\blx@imc@iffieldundef{#3} + {} + {\let\blx@tempi\@empty + \begingroup + \def\do##1{% + \begingroup + \def\do####1{% + \ifdef\abx@field@@@related + {\gappto\blx@tempi{\csletcs{abx@field@##1@####1@relsaved#3}{abx@field@##1@####1@#3}}% + \gappto\blx@tempi{\listadd\abx@dorelfields{{{##1}{####1}{#3}}}}} + {}% + \gappto\blx@tempi{\csundef{abx@field@##1@####1@#3}}}% + \dolistcsloop{abx@fieldmslangs@#3}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#3}% + \endgroup + \blx@tempi\global\undef\blx@tempi}} + % clear specific alternate of a multiscript field + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {} + {\ifdef\abx@field@@@related + {\csletcs{abx@field@#1@#2@relsaved#3}{abx@field@#1@#2@#3}% + \listadd\abx@dorelfields{{{#1}{#2}{#3}}}} + {}% + \csundef{abx@field@#1@#2@#3}}}% + \csundef{abx@field@#3}} + % clear non multiscript field + {\blx@imc@iffieldundef{#3} + {} + {\ifdef\abx@field@@@related + {\csletcs{abx@field@@@relsaved#3}{abx@field@@@#3}% + \listadd\abx@dorelfields{{{}{}{#3}}}} + {}% + \csundef{abx@field@@@#3}% + \csundef{abx@field@#3}}}} + +% [<msform>][<mslang>]{<plainlist>} +% If there is a related field in the entry, save a special copy in case +% the related entry needs it for tests. See the corresponding tests in +% \blx@saverellist +\DeclareDocumentCommand{\blx@imc@clearlist} + {O{} O{} m} + {\blx@imc@ifmsentryfield{#3} + {\ifboolexpr{ test {\ifblank{#1}} + and test {\ifblank{#2}} } + % clear all alternates of a multiscript list + {\blx@imc@iflistundef{#3} + {} + {\let\blx@tempi\@empty + \begingroup + \def\do##1{% + \begingroup + \def\do####1{% + \ifdef\abx@field@@@related + {\gappto\blx@tempi{\csletcs{abx@list@##1@####1@relsaved#3}{abx@list@##1@####1@#3}}% + \gappto\blx@tempi{\csletcs{etb@tgl@abx@bool@morerelsaved#3}{etb@tgl@abx@bool@more#3}}% + \gappto\blx@tempi{\csletcs{c@relsaved#3}{c@#3}}% + \gappto\blx@tempi{\listadd\abx@dorellists{{##1}{####1}{#3}}}} + {}% + \gappto\blx@tempi{\togglefalse{abx@bool@more#3}}% + \gappto\blx@tempi{\csundef{abx@list@##1@####1@#3}}% + \gappto\blx@tempi{\csname c@#3\endcsname\z@}}% + \dolistcsloop{abx@fieldmslangs@#3}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#3}% + \endgroup + \blx@tempi\global\undef\blx@tempi}} + % clear specific alternate of a multiscript list + {\blx@imc@iflistundef[{#1}][{#2}]{#3} + {} + {\ifdef\abx@field@@@related + {\csletcs{abx@list@#1@#2@relsaved#3}{abx@list@#1@#2@#3}% + \listadd\abx@dorellists{{#1}{#2}{#3}}} + {}% + \csundef{abx@list@#1@#2@#3}}}% + \csundef{abx@list@#3}} + % clear non multiscript list + {\blx@imc@iflistundef{#3} + {} + {\ifdef\abx@field@@@related + {\csletcs{abx@list@@@relsaved#3}{abx@list@@@#3}% + \csletcs{etb@tgl@abx@bool@morerelsaved#3}{etb@tgl@abx@bool@more#3}% + \csletcs{c@relsaved#3}{c@#3}% + \listadd\abx@dorellists{{}{}{#3}}} + {}% + \togglefalse{abx@bool@more#3}% + \csundef{abx@list@@@#3}% + \csname c@#3\endcsname\z@ + \csundef{abx@list@#3}}}} + +% [<msform>][<mslang>]{<namelist>} +% If there is a related field in the entry, save a special copy in case +% the related entry needs it for tests. See the corresponding tests in +% \blx@saverelname +\DeclareDocumentCommand{\blx@imc@clearname} + {O{} O{} m} + {\blx@imc@ifmsentryfield{#3} + {\ifboolexpr{ test {\ifblank{#1}} + and test {\ifblank{#2}} } + % clear all alternates of a multiscript list + {\blx@imc@ifnameundef{#3} + {} + {\let\blx@tempi\@empty + \begingroup + \def\do##1{% + \begingroup + \def\do####1{% + \ifdef\abx@field@@@related + {\gappto\blx@tempi{\csletcs{abx@name@##1@####1@relsaved#3}{abx@name@##1@####1@#3}}% + \gappto\blx@tempi{\csletcs{etb@tgl@abx@bool@morerelsaved#3}{etb@tgl@abx@bool@more#3}}% + \gappto\blx@tempi{\csletcs{c@relsaved#3}{c@#3}}% + \gappto\blx@tempi{\listadd\abx@dorelnames{{##1}{####1}{#3}}}} + {}% + \gappto\blx@tempi{\togglefalse{abx@bool@more#3}}% + \gappto\blx@tempi{\csundef{abx@name@##1@####1@#3}}% + \gappto\blx@tempi{\csname c@#3\endcsname\z@}}% + \dolistcsloop{abx@fieldmslangs@#3}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#3}% + \endgroup + \blx@tempi\global\undef\blx@tempi}} + % clear specific alternate of a multiscript list + {\blx@imc@ifnameundef[{#1}][{#2}]{#3} + {} + {\ifdef\abx@field@@@related + {\csletcs{abx@name@#1@#2@relsaved#3}{abx@name@#1@#2@#3}% + \listadd\abx@dorelnames{{#1}{#2}{#3}}} + {}% + \csundef{abx@name@#1@#2@#3}}}% + \csundef{abx@name@#3}} + % clear non multiscript list + {\blx@imc@ifnameundef{#3} + {} + {\ifdef\abx@field@@@related + {\csletcs{abx@name@@@relsaved#3}{abx@name@@@#3}% + \csletcs{etb@tgl@abx@bool@morerelsaved#3}{etb@tgl@abx@bool@more#3}% + \csletcs{c@relsaved#3}{c@#3}% + \listadd\abx@dorelnames{{}{}{#3}}} + {}% + \togglefalse{abx@bool@more#3}% + \csundef{abx@name@@@#3}% + \csname c@#3\endcsname\z@ + \csundef{abx@name@#3}}}} + +% {field|list|name}[<msform>][<mslang>]{<field>}{<macro>} +\DeclareExpandableDocumentCommand{\blx@savedata} + {m O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@ifmsentryfield{#4} + {\letcs#5{abx@#1@#2@#3@#4}} + {\letcs#5{abx@#1@@@#4}}} + +% {field|list|name}[<msform>][<mslang>]{<field>}{<macro>} +\DeclareExpandableDocumentCommand{\blx@savedatacs} + {m O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@ifmsentryfield{#4} + {\csletcs{#5}{abx@#1@#2@#3@#4}} + {\csletcs{#5}{abx@#1@@@#4}}} + +% [<msform>][<mslang>]{<field>}{<macro>} +\DeclareDocumentCommand{\blx@imc@restorefield} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\cslet{abx@field@#1@#2@#3}} + {\cslet{abx@field@@@#3}}} + +% [<msform>][<mslang>]{<plainlist>}{<macro>} +\DeclareDocumentCommand{\blx@imc@restorelist} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\cslet{abx@list@#1@#2@#3}} + {\cslet{abx@list@@@#3}}} + +% [<msform>][<mslang>]{<namelist>}{<macro>} +\DeclareDocumentCommand{\blx@imc@restorename} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\cslet{abx@name@#1@#2@#3}} + {\cslet{abx@name@@@#3}}} + +% [<msform>][<mslang>]{<field>}{<macro>} +\protected\def\blx@imc@savefield{% + \@ifstar{\blx@savedata{field}}{\global\blx@savedata{field}}} + +% {<plainlist>}{<macro>} +\protected\def\blx@imc@savelist{% + \@ifstar{\blx@savedata{list}}{\global\blx@savedata{list}}} + +% {<namelist>}{<macro>} +\protected\def\blx@imc@savename{% + \@ifstar{\blx@savedata{name}}{\global\blx@savedata{name}}} + +% {<field>}{<csname>} +\protected\def\blx@imc@savefieldcs{% + \@ifstar{\blx@savedatacs{field}}{\global\blx@savedatacs{field}}} + +% {<plainlist>}{<csname>} +\protected\def\blx@imc@savelistcs{% + \@ifstar{\blx@savedatacs{list}}{\global\blx@savedatacs{list}}} + +% {<namelist>}{<csname>} +\protected\def\blx@imc@savenamecs{% + \@ifstar{\blx@savedatacs{name}}{\global\blx@savedatacs{name}}} + +% {<entryfield>} +\def\blx@imc@ifentryfieldundef#1{% + \ifcsundef{abx@entryfield@#1}} + +% {field|list|name}[<msform>][<mslang>]{<entryfield>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@ifmsundef} + {m O{} O{} m} + {\blx@imc@ifmsentryfield{#4} + {\ifstrempty{#2} + {\ifstrempty{#3} + {\ifcsundef{abx@#1@#4}} + {\ifcsundef{abx@#1@\blx@msform @#3@#4}}} + {\ifstrempty{#3} + {\ifcsundef{abx@#1@#2@\blx@mslang @#4}} + {\ifcsundef{abx@#1@#2@#3@#4}}}} + {\ifcsundef{abx@#1@@@#4}}}% ignore form/lang for non-multiscript + +% [<msform>][<mslang>]{<field>}{<true>}{<false>} +\def\blx@imc@iffieldundef{% + \blx@ifmsundef{field}} + +% [<msform>][<mslang>]{<plainlist>}{<true>}{<false>} +\def\blx@imc@iflistundef{% + \blx@ifmsundef{list}} + +% [<msform>][<mslang>]{<namelist>}{<true>}{<false>} +\def\blx@imc@ifnameundef{% + \blx@ifmsundef{name}} + +% [<msform>][<mslang>]{<field1>}[<msform>][<mslang>]{<field2>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iffieldsequal} + {O{\blx@msform} O{\blx@lmslang} m O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \blx@imc@ifmsentryfield{#6} + {\def\blx@tempb{abx@field@#4@#5@#6}} + {\def\blx@tempb{abx@field@@@#6}}% + \ifcsequal{\blx@tempa}{\blx@tempb}} + +% [<msform>][<mslang>]{<plainlist1>}[<msform>][<mslang>]{<plainlist2>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iflistsequal} + {O{\blx@msform} O{\blx@lmslang} m O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@list@#1@#2@#3}} + {\def\blx@tempa{abx@list@@@#3}}% + \blx@imc@ifmsentryfield{#6} + {\def\blx@tempb{abx@list@#4@#5@#6}} + {\def\blx@tempb{abx@list@@@#6}}% + \ifcsequal\blx@tempa\blx@tempb} + +% This works by extracting a list of all of the name list hashes "{hash1}{hash2}..." +% from the individual names and comparing these lists of hashes +% [<msform>][<mslang>]{<namelist1>}[<msform>][<mslang>]{<namelist2>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@ifnamesequal} + {O{\blx@msform} O{\blx@lmslang} m O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@name@#1@#2@#3}} + {\def\blx@tempa{abx@name@@@#3}}% + \blx@imc@ifmsentryfield{#6} + {\def\blx@tempb{abx@name@#4@#5@#6}} + {\def\blx@tempb{abx@name@@@#6}}% + \ifcsundef\blx@tempa + {\@secondoftwo} + {\ifcsundef\blx@tempb + {\@secondoftwo} + {\blx@ifnamesequal\blx@tempa\blx@tempb}}} + +\def\blx@ifnamesequal#1#2{% + \begingroup + \let\blx@tempc\@empty + \expandafter\expandafter + \expandafter\blx@ifnamesequal@i\csname #2\endcsname + \let\blx@tempd\blx@tempc + \let\blx@tempc\@empty + \expandafter\expandafter + \expandafter\blx@ifnamesequal@i\csname #1\endcsname + \expandafter\endgroup + \ifx\blx@tempc\blx@tempd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +\def\blx@ifnamesequal@i#1#2{% + \expandafter\blx@ifnamesequal@ii#2{}&} + +\def\blx@ifnamesequal@ii#1{% + \ifblank{#1} + {\blx@namebreak} + {\blx@ifnamesequal@iii#1% + \blx@ifnamesequal@ii}} + +% 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{% + \blx@kv@setkeys{blx@opt@name}{#1}% + \blx@kv@setkeys{blx@opt@namepart}{#2}% + \ifdef\abx@field@@@hash + {\eappto\blx@tempc{{\abx@field@@@hash}}} + {\eappto\blx@tempc{{{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}}}}} + +% [<msform>][<mslang>]{<field>}{<macro>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iffieldequals} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\edef\blx@tempa{\csuse{abx@field@#1@#2@#3}}} + {\edef\blx@tempa{\csuse{abx@field@@@#3}}}% + \ifundef#4% + {\@secondoftwo} + {\ifx\blx@tempa#4% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi}}} + +% [<msform>][<mslang>]{<plainlist>}{<macro>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iflistequals} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@iflistundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\edef\blx@tempa{\csuse{abx@list@#1@#2@#3}}} + {\edef\blx@tempa{\csuse{abx@list@@@#3}}}% + \ifundef#4% + {\@secondoftwo} + {\ifx\blx@tempa#4% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi}}} + +% This works in much the same way as \blx@imc@ifnamesequal and shares some macros with it +% [<msform>][<mslang>]{<namelist>}{<macro>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@ifnameequals} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@ifnameundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@name@#1@#2@#3}} + {\def\blx@tempa{abx@name@@@#3}}% + \ifundef#4% + {\@secondoftwo} + {\blx@ifnameequals\blx@tempa#4}}} + +\def\blx@ifnameequals#1#2{% + \begingroup + \let\blx@tempc\@empty + \expandafter\blx@ifnamesequal@i#2 + \let\blx@tempd\blx@tempc + \let\blx@tempc\@empty + \expandafter\expandafter + \expandafter\blx@ifnamesequal@i\csname #1\endcsname + \expandafter\endgroup + \ifx\blx@tempc\blx@tempd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +% [<msform>][<mslang>]{<field>}{<csname>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iffieldequalcs} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@ifmsentryfield{#3} + {\ifcsequal{abx@field@#1@#2@#3}{#4}} + {\ifcsequal{abx@field@@@#3}{#4}}} + +% [<msform>][<mslang>]{<plainlist>}{<csname>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iflistequalcs} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifmsentryfield{#3} + {\ifcsequal{abx@list@#1@#2@#3}} + {\ifcsequal{abx@list@@@#3}}} + +% [<msform>][<mslang>]{<namelist>}{<csname>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@ifnameequalcs} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@ifnameundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@name@#1@#2@#3}} + {\def\blx@tempa{abx@name@@@#3}}% + \ifcsundef{#4}% + {\@secondoftwo} + {\blx@ifnameequalcs\blx@tempa{#4}}}} + +\def\blx@ifnameequalcs#1#2{% + \begingroup + \let\blx@tempc\@empty + \expandafter\expandafter\expandafter\blx@ifnamesequal@i\csname #2\endcsname + \let\blx@tempd\blx@tempc + \let\blx@tempc\@empty + \expandafter\expandafter + \expandafter\blx@ifnamesequal@i\csname #1\endcsname + \expandafter\endgroup + \ifx\blx@tempc\blx@tempd + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +% [<msform>][<mslang>]{<field>}{<string>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@iffieldequalstr} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter\expandafter\ifstrequal + \expandafter\expandafter\expandafter{% + \csname\blx@tempa\endcsname}{#4}}} + +% [<msform>][<mslang>]{<field>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iffieldxref} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@whichxref + {\blx@iffieldxref{#1}{#2}{#3}} + {\@secondoftwo}}} + +% {<msform>}{<mslang>}{field}{xref|crossref} +\def\blx@iffieldxref#1#2#3#4{% + \begingroup + \blx@imc@ifmsentryfield{#3} + {\letcs\blx@tempb{abx@field@#1@#2@#3}} + {\letcs\blx@tempb{abx@field@@@#3}}% + \letcs\blx@tempa{abx@field@@@#4}% xref|crossref - non multi + \blx@resetdata + \blx@getdata{\blx@tempa}% + \blx@imc@iffieldequals[{#1}][{#2}]{#3}\blx@tempb + {\aftergroup\@firstoftwo} + {\aftergroup\@secondoftwo}% + \endgroup} + +\def\blx@whichxref#1#2{% + \blx@imc@iffieldundef{crossref} + {\blx@imc@iffieldundef{xref} + {#2} + {#1{xref}}} + {#1{crossref}}} + +% [<msform>][<mslang>]{<plainlist>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@iflistxref} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iflistundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@whichxref + {\blx@iflistxref{#1}{#2}{#3}} + {\@secondoftwo}}} + +% {<msform>}{<mslang>}{field}{xref|crossref} +\def\blx@iflistxref#1#2#3#4{% + \begingroup + \blx@imc@ifmsentryfield{#3} + {\letcs\blx@tempb{abx@list@#1@#2@#3}} + {\letcs\blx@tempb{abx@list@@@#3}}% + \letcs\blx@tempa{abx@field@@@#4}% xref|crossref - non multi + \blx@resetdata + \blx@getdata{\blx@tempa}% + \blx@imc@iflistequals[{#1}][{#2}]{#3}\blx@tempb + {\aftergroup\@firstoftwo} + {\aftergroup\@secondoftwo}% + \endgroup} + +% [<msform>][<mslang>]{<namelist>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@ifnamexref} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@ifnameundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@whichxref + {\blx@ifnamexref{#1}{#2}{#3}} + {\@secondoftwo}}} + +% {<msform>}{<mslang>}{field}{xref|crossref} +\def\blx@ifnamexref#1#2#3#4{% + \begingroup + \blx@imc@ifmsentryfield{#3} + {\letcs\blx@tempb{abx@name@#1@#2@#3}} + {\letcs\blx@tempb{abx@name@@@#3}}% + \letcs\blx@tempa{abx@field@@@#4}% xref|crossref - non multi + \blx@resetdata + \blx@getdata{\blx@tempa}% + \blx@imc@ifnameequals[{#1}][{#2}]{#3}\blx@tempb + {\aftergroup\@firstoftwo} + {\aftergroup\@secondoftwo}% + \endgroup} + +% {<string>}{<true>}{<false>} +\protected\def\blx@imc@ifcurrentfield#1{% + \begingroup + \def\blx@tempa{#1}% + \ifx\currentfield\blx@tempa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup} + +% {<string>}{<true>}{<false>} +\protected\def\blx@imc@ifcurrentlist#1{% + \begingroup + \def\blx@tempa{#1}% + \ifx\currentlist\blx@tempa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup} + +% {<string>}{<true>}{<false>} +\protected\def\blx@imc@ifcurrentname#1{% + \begingroup + \def\blx@tempa{#1}% + \ifx\currentname\blx@tempa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup} + +% {<string>}{<true>}{<false>} +\protected\def\blx@imc@ifentrytype#1{% + \begingroup + \def\blx@tempa{#1}% + \ifx\abx@field@@@entrytype\blx@tempa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup} + +% {<true>}{<false>} +\def\blx@imc@ifmorenames{% + \ifundef\currentname + {\@secondoftwo} + {\iftoggle{abx@bool@more\currentname} + {\@firstoftwo} + {\ifnum\c@listtotal>\c@liststop + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi}}} + +% {<true>}{<false>} +\def\blx@imc@ifmoreitems{% + \ifundef\currentlist + {\@secondoftwo} + {\iftoggle{abx@bool@more\currentlist} + {\@firstoftwo} + {\ifnum\c@listtotal>\c@liststop + \expandafter\@firstoftwo + \else + \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{% + \ifnumequal\c@citecount\@ne + {\ifnumequal\c@multicitetotal\z@ + {\@firstoftwo} + {\ifnumequal\c@multicitecount\@ne}} + {\@secondoftwo}} + +\def\blx@imc@iflastcitekey{% + \ifnumequal\c@citecount\c@citetotal + {\ifnumequal\c@multicitecount\c@multicitetotal} + {\@secondoftwo}} + +% {<category>}{<true>}{<false>} +\protected\def\blx@imc@ifcategory{% + \ifdef\abx@field@@@entrykey + {\blx@imc@ifentrycategory\abx@field@@@entrykey} + {\expandafter\@secondoftwo\@gobble}} + +% {<entrykey>}{<category>}{<true>}{<false>} +\protected\def\blx@imc@ifentrycategory{% + \blx@xsanitizeafter\blx@imc@ifentrycategory@i} + +\def\blx@imc@ifentrycategory@i#1#2{% + \ifcsdef{blx@catg@\detokenize{#2}} + {\ifinlistcs{#1}{blx@catg@\detokenize{#2}}} + {\@secondoftwo}} + +% {<keyword>}{<true>}{<false>} +\protected\def\blx@imc@ifkeyword{% + \ifdef\abx@field@@@entrykey + {\blx@imc@ifentrykeyword\abx@field@@@entrykey} + {\expandafter\@secondoftwo\@gobble}} + +% {<entrykey>}{<keyword>}{<true>}{<false>} +\protected\def\blx@imc@ifentrykeyword{% + \blx@xsanitizeafter\blx@imc@ifentrykeyword@i} + +\def\blx@imc@ifentrykeyword@i#1#2{% + \ifcsdef{blx@keyw@\the\c@refsection @\detokenize{#2}} + {\ifinlistcs{#1}{blx@keyw@\the\c@refsection @\detokenize{#2}}} + {\@secondoftwo}} + +% {<true>}{<false>} +\protected\def\blx@ifciteseen@global{% + \ifbool{citetracker} + {\ifdef\abx@field@@@entrykey + {\expandafter\blx@ifseen@global + \expandafter{\abx@field@@@entrykey}} + {\@secondoftwo}} + {\@secondoftwo}} + +\protected\def\blx@ifciteseen@context{% + \ifbool{citetracker} + {\ifdef\abx@field@@@entrykey + {\expandafter\blx@ifseen@context + \expandafter{\abx@field@@@entrykey}} + {\@secondoftwo}} + {\@secondoftwo}} + +\protected\def\blx@ifciteseen@context{% + \ifbool{citetracker} + {\ifdef\abx@field@@@entrykey + {\expandafter\blx@ifseen@context + \expandafter{\abx@field@@@entrykey}} + {\@secondoftwo}} + {\@secondoftwo}} + +% {<entrykey>}{<true>}{<false>} +\protected\def\blx@ifentryseen@global{% + \blx@xsanitizeafter\blx@ifseen@global} + +\protected\def\blx@ifentryseen@context{% + \blx@xsanitizeafter\blx@ifseen@context} + +\def\blx@ifseen@global#1{% + \ifbool{citetracker} + {\ifinlistcs{#1}{blx@bsee@\the\c@refsection}} + {\@secondoftwo}} + +\def\blx@ifseen@context#1{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\ifinlistcs{#1}{blx@fsee@\the\c@refsection}} + {\ifinlistcs{#1}{blx@bsee@\the\c@refsection}}} + {\@secondoftwo}} + +% {<true>}{<false>} +\def\blx@ifciteibid@global{% + \ifbool{citetracker} + {\blx@imc@iffieldequals{entrykey}\blx@lastkey@text} + {\@secondoftwo}} + +\def\blx@ifciteibid@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@imc@iffieldequals{entrykey}\blx@lastkey@foot} + {\blx@imc@iffieldequals{entrykey}\blx@lastkey@text}} + {\@secondoftwo}} + +\def\blx@ifciteibid@strict{% + \ifbool{citetracker} + {\blx@ifcitesingle + {\blx@ifciteibid@global} + {\@secondoftwo}} + {\@secondoftwo}} + +\def\blx@ifciteibid@constrict{% + \ifbool{citetracker} + {\blx@ifcitesingle + {\iftoggle{blx@footnote} + {\blx@ifmpfncheck + {\blx@imc@iffieldequals{entrykey}\blx@lastkey@foot} + {\@secondoftwo}} + {\blx@imc@iffieldequals{entrykey}\blx@lastkey@text}} + {\@secondoftwo}} + {\@secondoftwo}} + +% {<true>}{<false>} +\def\blx@ifciteidem@global{% + \ifbool{citetracker} + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@text} + {\@secondoftwo}} + +\def\blx@ifciteidem@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@foot} + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@text}} + {\@secondoftwo}} + +\let\blx@ifciteidem@strict\blx@ifciteidem@global + +\def\blx@ifciteidem@constrict{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@ifmpfncheck + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@foot} + {\@secondoftwo}} + {\blx@imc@iffieldequals{fullhash}\blx@lasthash@text}} + {\@secondoftwo}} + +% {<true>}{<false>} +\def\blx@ifopcit@global{% + \ifbool{citetracker} + {\blx@imc@iffieldundef{namehash} + {\@secondoftwo} + {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@text@\abx@field@@@namehash}}} + {\@secondoftwo}} + +\def\blx@ifopcit@context{% + \ifbool{citetracker} + {\blx@imc@iffieldundef{namehash} + {\@secondoftwo} + {\iftoggle{blx@footnote} + {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@foot@\abx@field@@@namehash}} + {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@text@\abx@field@@@namehash}}}} + {\@secondoftwo}} + +\def\blx@ifopcit@strict{% + \ifbool{citetracker} + {\blx@ifcitesingle + {\blx@ifopcit@global} + {\@secondoftwo}} + {\@secondoftwo}} + +\def\blx@ifopcit@constrict{% + \ifbool{citetracker} + {\blx@ifcitesingle + {\blx@imc@iffieldundef{namehash} + {\@secondoftwo} + {\iftoggle{blx@footnote} + {\blx@ifmpfncheck + {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@foot@\abx@field@@@namehash}} + {\@secondoftwo}} + {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@text@\abx@field@@@namehash}}}} + {\@secondoftwo}} + {\@secondoftwo}} + +% {<true>}{<false>} +\def\blx@ifloccit@global{% + \ifbool{citetracker} + {\blx@loccit@check{text}} + {\@secondoftwo}} + +\def\blx@ifloccit@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@loccit@check{foot}} + {\blx@loccit@check{text}}} + {\@secondoftwo}} + +\def\blx@ifloccit@strict{% + \ifbool{citetracker} + {\blx@ifcitesingle + {\blx@loccit@numcheck{text}} + {\@secondoftwo}} + {\@secondoftwo}} + +\def\blx@ifloccit@constrict{% + \ifbool{citetracker} + {\blx@ifcitesingle + {\iftoggle{blx@footnote} + {\blx@ifmpfncheck + {\blx@loccit@numcheck{foot}} + {\@secondoftwo}} + {\blx@loccit@numcheck{text}}} + {\@secondoftwo}} + {\@secondoftwo}} + +\def\blx@loccit@check#1{% + \blx@imc@iffieldundef{postnote} + {\@secondoftwo} + {\blx@imc@iffieldequalcs{postnote}{blx@lastnote@#1@\abx@field@@@entrykey}}} + +\def\blx@loccit@numcheck#1{% + \blx@imc@iffieldundef{postnote} + {\@secondoftwo} + {\expandafter\blx@imc@ifpages + \expandafter{\abx@field@@@postnote} + {\blx@imc@iffieldequalcs{postnote}{blx@lastnote@#1@\abx@field@@@entrykey}} + {\@secondoftwo}}} + +% {<true>}{<false>} +\def\blx@ifmpfncheck{% + \ifnum\numexpr\value\@mpfn-\blx@lastmpfn<\tw@ + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +\def\blx@mpfnsave{% + \xdef\blx@lastmpfn{\the\value\@mpfn}} + +\def\blx@mpfnreset{% + \global\let\blx@lastmpfn\z@} + +\blx@mpfnreset + +% {<true>}{<false>} +\def\blx@imc@iffirstonpage{% + \ifbool{pagetracker} + {\iftoggle{blx@footnote} + {\blx@iffirstonpage{fnpage}} + {\blx@iffirstonpage{page}}} + {\@secondoftwo}} + +\def\blx@iffirstonpage#1{% + \ifcsundef{blx@#1@\number\c@instcount} + {\@secondoftwo} + {\expandafter\blx@iffirstonpage@i + \expandafter{\number\numexpr\c@instcount-1}{#1}}} + +\def\blx@iffirstonpage@i#1#2{% + \ifcsundef{blx@#2@#1} + {\ifnum#1>\@ne + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\expandafter\blx@iffirstonpage@i + \expandafter{\number\numexpr#1-1}{#2}} + {\@firstoftwo}} + {\ifnum\csuse{blx@#2@\number\c@instcount}=% + \csuse{blx@#2@#1} % + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi}} + +% {<count1>}{<count2>}{<true>}{<false>} +\def\blx@imc@ifsamepage#1#2{% + \ifbool{pagetracker} + {\ifcsundef{blx@page@\number\numexpr#1} + {\ifcsundef{blx@fnpage@\number\numexpr#1} + {\@secondoftwo} + {\blx@ifsamepage{#1}{#2}{fnpage}}} + {\blx@ifsamepage{#1}{#2}{page}}} + {\@secondoftwo}} + +\def\blx@ifsamepage#1#2#3{% + \ifcsundef{blx@page@\number\numexpr#2} + {\ifcsundef{blx@fnpage@\number\numexpr#2} + {\@secondoftwo} + {\blx@ifsamepage@i{#1}{#2}{#3}{fnpage}}} + {\blx@ifsamepage@i{#1}{#2}{#3}{page}}} + +\def\blx@ifsamepage@i#1#2#3#4{% + \ifnum\csuse{blx@#3@\number\numexpr#1}=% + \csuse{blx@#4@\number\numexpr#2} % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +% {<string>}{<true>}{<false>} +\protected\long\def\blx@imc@ifinteger#1{% + \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% + \catcode`\@=11 + \catcode`\%=9 + \endlinechar\m@ne + \uppercase{\scantokens{\def\blx@tempa{#1}}}% + \ifx\blx@tempa\@empty + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup} + +% {\<non-ASCII numeral>}{\<ASCII number>} +\protected\def\blx@defcomputableequivalent#1#2{% + \appto\blx@dononasciicomputablenumerals{\do#1}% + \appto\blx@initcomputableequivs{\uccode`#1=`#2}} + +% {<string>}{<true>}{<false>} +\protected\long\def\blx@imc@hascomputableequivalent#1{% + \begingroup + \def\do##1{\uccode`##1=`\%}% + \blx@dononasciicomputablenumerals + \catcode`\@=11 + \catcode`\%=9 + \endlinechar\m@ne + \uppercase{\scantokens{\def\blx@tempa{#1}}}% + \ifx\blx@tempa\@empty + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup} + +% {<string>}{<true>}{<false>} +\protected\long\def\blx@imc@ifiscomputable#1{% + \blx@imc@ifinteger{#1} + {\@firstofone} + {\blx@imc@hascomputableequivalent{#1}}} + +% {<string>}{<macro>} +\protected\long\def\blx@imc@getcomputableequivalent#1#2{% + \blx@imc@hascomputableequivalent{#1} + {\begingroup + \blx@initcomputableequivs + \uppercase{\def\blx@tempa{#1}}% + \edef\blx@tempb{\endgroup + \noexpand\def\noexpand#2{\expandonce{\blx@tempa}}}% + \blx@tempb} + {\def#2{#1}}} + +% [<msform>][<mslang>]{<field>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@iffieldint} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter + \expandafter\blx@imc@ifinteger + \expandafter\expandafter + \expandafter{\csname\blx@tempa\endcsname}}} + +% [<msform>][<mslang>]{<field>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@fieldhascomputableequivalent} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter + \expandafter\blx@imc@hascomputableequivalent + \expandafter\expandafter + \expandafter{\csname\blx@tempa\endcsname}}} + +% [<msform>][<mslang>]{<field>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@iffieldiscomputable} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter + \expandafter\blx@imc@ifiscomputable + \expandafter\expandafter + \expandafter{\csname\blx@tempa\endcsname}}} + +% {<string>}{<true>}{<false>} +\protected\def\blx@imc@ifnumeral{% + \blx@ifnum\blx@hook@ifnum} + +\protected\def\blx@imc@ifnumerals{% + \blx@ifnum\blx@hook@ifnums} + +\protected\def\blx@imc@ifpages{% + \blx@ifnum\blx@hook@ifpages} + +\long\def\blx@ifnum#1#2{% + \begingroup + \let\protect\@unexpandable@protect + \uppercase{\edef\blx@tempa{#2}}% + \ifx\blx@tempa\@empty + \aftergroup\@secondoftwo + \else + \catcode`\@=11 + \catcode`\%=9 + \endlinechar\m@ne + \everyeof{\noexpand}#1% + \uppercase{\edef\blx@tempa{\scantokens{#2}}}% + \ifx\blx@tempa\@empty + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \fi + \endgroup} + +% valid numerals set by the lbx file +\let\lbx@dononasciinumerals\relax + +\def\blx@hook@ifnum{% + \def\do##1{\uccode`##1=`\%}% + \do\ \do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9% + \do\i\do\v\do\x\do\l\do\c\do\d\do\m + \do\I\do\V\do\X\do\L\do\C\do\D\do\M + \lbx@dononasciinumerals + \blx@donumchars + \let\RN\@firstofone + \let\Rn\@firstofone} + +\def\blx@hook@ifnums{% + \blx@hook@ifnum + \def\do##1{\uccode`##1=`\%}% + \blx@dorangechars + \def\do##1{\let##1\@empty}% + \blx@dorangecmds} + +\def\blx@hook@ifpages{% + \blx@hook@ifnum + \blx@hook@ifnums + \def\do##1{\let##1\@empty}% + \blx@dopagecmds} + +% [msform][mslang]{<field>}{<true>}{<false>} +\DeclareDocumentCommand{\blx@imc@iffieldnum} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter + \expandafter\blx@imc@ifnumeral + \expandafter\expandafter + \expandafter{\csname\blx@tempa\endcsname}}} + +\DeclareDocumentCommand{\blx@imc@iffieldnums} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter + \expandafter\blx@imc@ifnumerals + \expandafter\expandafter + \expandafter{\csname\blx@tempa\endcsname}}} + +\DeclareDocumentCommand{\blx@imc@iffieldpages} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \expandafter\expandafter + \expandafter\blx@imc@ifpages + \expandafter\expandafter + \expandafter{\csname\blx@tempa\endcsname}}} + +% {<chars>} +\newrobustcmd*{\DeclareNumChars}{% + \@ifstar + {\blx@defnumchars} + {\global\let\blx@donumchars\@empty + \blx@defnumchars}} + +\def\blx@defnumchars#1{% + \ifblank{#1} + {} + {\expandafter\blx@defdochars + \expandafter\blx@donumchars + \detokenize{#1}\relax}} + +% {<chars>} +\newrobustcmd*{\DeclareRangeChars}{% + \@ifstar + {\blx@defrangechars} + {\global\let\blx@dorangechars\@empty + \blx@defrangechars}} + +\def\blx@defrangechars#1{% + \ifblank{#1} + {} + {\expandafter\blx@defdochars + \expandafter\blx@dorangechars + \detokenize{#1}\relax}} + +\def\blx@defdochars#1#2{% + \ifx#2\relax + \else + \xdef#1{% + \expandonce#1\noexpand\do + \expandafter\noexpand\csname#2\endcsname}% + \expandafter\blx@defdochars + \expandafter#1% + \fi} + +% {<cstokens>} +\newrobustcmd*{\DeclareRangeCommands}{% + \@ifstar + {\blx@defrangecmds} + {\global\let\blx@dorangecmds\@empty + \blx@defrangecmds}} + +\def\blx@defrangecmds#1{% + \ifblank{#1} + {} + {\blx@defrangecmds@i#1&}} + +\def\blx@defrangecmds@i#1{% + \ifx% + \else + \gappto\blx@dorangecmds{\do#1}% + \expandafter\blx@defrangecmds@i + \fi} + +% {<cstokens>} +\newrobustcmd*{\DeclarePageCommands}{% + \@ifstar + {\blx@defpagecmds} + {\global\let\blx@dopagecmds\@empty + \blx@defpagecmds}} + +\def\blx@defpagecmds#1{% + \ifblank{#1} + {} + {\blx@defpagecmds@i#1&}} + +\def\blx@defpagecmds@i#1{% + \ifx% + \else + \gappto\blx@dopagecmds{\do#1}% + \expandafter\blx@defpagecmds@i + \fi} + +\DeclareNumChars{.} +\DeclareRangeChars{~,;-+/} +\DeclareRangeCommands{% + \ \,\space\nobreakspace\addspace\addnbspace + \addthinspace\addnbthinspace\addlowpenspace + \addhighpenspace\addlpthinspace\addhpthinspace + \adddotspace\addabbrvspace\&\psq\psqq + \bibrangedash\bibdaterangesep\bibtimerangesep\textendash\textemdash\bibrangessep} +\DeclarePageCommands{\pno\ppno} + +% *{<code>} +\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 + \def\blx@tempa{\blx@mkpageprefix{page}}% + \iffieldundef{#1} + {} + {\iffieldequalstr{#1}{none} + {\def\blx@tempa{\blx@mkpageprefix@i}} + {\iffieldbibstring{#1} + {\edef\blx@tempa{\blx@mkpageprefix{\thefield{#1}}}} + {\blx@warning@entry{% + Unknown pagination type '\strfield{#1}'}}}}% + \@ifnextchar[%] + {\blx@tempa} + {\blx@tempa[\@firstofone]}} + +\protected\long\def\blx@mkpageprefix#1[#2]#3{% + \ifnumeral{#3} + {\bibstring{#1}\ppspace} + {\ifnumerals{#3} + {\bibstring{#1s}\ppspace} + {\def\pno{\bibstring{#1}}% + \def\ppno{\bibstring{#1s}}}}% + \blx@mkpageprefix@i[{#2}]{#3}} + +\long\def\blx@mkpageprefix@i[#1]#2{#1{#2}\endgroup} + +% [<pagination>][<postpro>]{<string>} +\newrobustcmd*{\blx@imc@mkpagetotal}[1][bookpagination]{% + \begingroup + \def\blx@tempa{\blx@mkpagetotal{pagetotal}}% + \iffieldundef{#1} + {} + {\iffieldequalstr{#1}{none} + {\def\blx@tempa{\blx@mkpagetotal@i}} + {\iffieldplusstringbibstring{#1}{total} + {\edef\blx@tempa{\blx@mkpagetotal{\thefield{#1}total}}} + {\blx@warning@entry{% + Unknown pagination type '\strfield{#1}total'}}}}% + \@ifnextchar[%] + {\blx@tempa} + {\blx@tempa[\@firstofone]}} + +\protected\long\def\blx@mkpagetotal#1[#2]#3{% + \ifnumeral{#3} + {\setbox\@tempboxa=\hbox{% + \blx@tempcnta0#3\relax + \ifnum\blx@tempcnta=\@ne + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi}% + {#2{#3}\ppspace\bibstring{#1}} + {#2{#3}\ppspace\bibstring{#1s}}} + {\def\pno{\bibstring{#1}}% + \def\ppno{\bibstring{#1s}}% + #2{#3}}% + \endgroup} + +\long\def\blx@mkpagetotal@i[#1]#2{#1{#2}\endgroup} + +\newcounter{mincomprange} +\newcounter{maxcomprange} +\newcounter{mincompwidth} +\setcounter{mincomprange}{10} +\setcounter{maxcomprange}{100000} +\setcounter{mincompwidth}{1} +\def\abx@rangeproclimit{100000} + +% {<rangefield>} +\newcommand*{\rangelen}[1]{% + \ifcsdef{abx@range@#1} + {\csuse{abx@range@#1}} + {}} + +% <*>[<postpro>]{<string>} +\newrobustcmd*{\mknormrange}{% + \begingroup + \@ifstar + {\blx@range@aux\blx@normrange@ii} + {\blx@range@aux\blx@normrange@i}} + +\def\blx@range@aux#1{% + \@ifnextchar[{\blx@range@aux@i#1}{#1[\@firstofone][\@firstofone]}} + +\def\blx@range@aux@i#1[#2]{% + \@ifnextchar[{#1[{#2}]}{#1[{#2}][\@firstofone]}} + +\def\blx@normrange@i[#1][#2]#3{% + \let\blx@tempa\@empty + \protected\def\blx@range@out@value{\appto\blx@tempa}% + \def\blx@range@out@item@process{#2}% + \let\blx@range@out@delim\blx@range@out@value + \let\blx@range@split\blx@genrange@split + \let\blx@range@process\blx@normrange@process + \blx@range@chunk{#3}% + \begingroup + \edef\blx@tempa{\endgroup + \unexpanded{#1}{\expandonce\blx@tempa}}% + \blx@tempa + \endgroup} + +\def\blx@normrange@ii[#1][#2]#3{% + \protected\def\blx@range@out@value{#1}% + \def\blx@range@out@item@process{#2}% + \let\blx@range@out@delim\@firstofone + \let\blx@range@split\blx@genrange@split + \let\blx@range@process\blx@normrange@process + \blx@range@chunk{#3}% + \endgroup} + +\def\blx@range@chunk#1{% + \blx@range@chunk@semcol#1;&} + +\def\blx@range@chunk@semcol#1;#2&{% + \notblank{#1} + {\blx@range@chunk@comma#1,&} + {}% + \notblank{#2} + {\notblank{#1}{\blx@range@out@delim{\bibrangessep}}{}% + \blx@range@chunk@semcol#2&} + {}} + +\def\blx@range@chunk@comma#1,#2&{% + \notblank{#1} + {\blx@range@chunk@sep#1\bibrangessep&} + {}% + \notblank{#2} + {\notblank{#1}{\blx@range@out@delim{\bibrangessep}}{}% + \blx@range@chunk@comma#2&} + {}} + +\def\blx@range@chunk@sep#1\bibrangessep#2&{% + \notblank{#1} + {\expandafter\blx@range@split + \expandafter{\@firstofone#1}} + {}% + \notblank{#2} + {\notblank{#1}{\blx@range@out@delim{\bibrangessep}}{}% + \blx@range@chunk@sep#2&} + {}} + +% Unicode en-dashes are supported in blx-unicode.def +\def\blx@genrange@split#1{% + \protected@edef\blx@normrange@abort{% + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@imc@ifpages{#1} + {\blx@normrange@range#1\bibrangedash\bibrangedash&} + {\blx@normrange@abort}} + +\def\blx@normrange@range#1\bibrangedash#2\bibrangedash#3&{% + \ifblank{#3} + {\blx@normrange@hyphen#1--&} + {\ifblank{#2} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash}}% + \blx@tempc} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc} + {\blx@range@process{#1}{#2}}}}} + +\def\blx@normrange@hyphen#1-#2-#3&{% + \ifblank{#3} + {\blx@normrange@abort} + {\ifblank{#2} + {\ifblank{#1} + {\let\blx@tempb\@empty} + {\def\blx@tempb{#1}}% + \blx@normrange@hyphen@i#3&} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc} + {\blx@range@process{#1}{#2}}}}} + +\def\blx@normrange@hyphen@i#1-#2&{% + \ifblank{#1#2} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\expandonce\blx@tempb}% + \noexpand\bibrangedash}}% + \blx@tempc} + {\notblank{#1} + {\ifdefempty\blx@tempb + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{% + \unexpanded{#1}}}}% + \blx@tempc} + {\expandafter\blx@range@process + \expandafter{\blx@tempb}{#1}}} + {\blx@normrange@hyphen@i#2&}}} + +\def\blx@normrange@process#1#2{% + \begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} + +% <*>[<postpro>]{<string>} +\newrobustcmd*{\mkcomprange}{% + \begingroup + \@ifstar + {\blx@range@aux\blx@comprange@ii} + {\blx@range@aux\blx@comprange@i}} + +\def\blx@comprange@i[#1][#2]#3{% + \let\blx@tempa\@empty + \protected\def\blx@range@out@value{\appto\blx@tempa}% + \def\blx@range@out@item@process{#2}% + \let\blx@range@out@delim\blx@range@out@value + \let\blx@range@split\blx@genrange@split + \let\blx@range@process\blx@comprange@check + \blx@range@chunk{#3}% + \begingroup + \edef\blx@tempa{\endgroup + \unexpanded{#1}{\expandonce\blx@tempa}}% + \blx@tempa + \endgroup} + +\def\blx@comprange@ii[#1][#2]#3{% + \protected\def\blx@range@out@value{#1}% + \def\blx@range@out@item@process{#2}% + \let\blx@range@out@delim\@firstofone + \let\blx@range@split\blx@genrange@split + \let\blx@range@process\blx@comprange@check + \blx@range@chunk{#3}% + \endgroup} + +\def\blx@comprange@check#1#2{% + \blx@imc@ifinteger{#1} + {\blx@imc@ifinteger{#2} + {\@firstoftwo} + {\@secondoftwo}} + {\@secondoftwo} + {\blx@comprange@comp{#1}{#2}} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc}} + +\def\blx@comprange@comp#1#2{% + \def\blx@tempb{#1}% + \def\blx@tempc{#2}% + \let\blx@tempd\blx@tempc + \ifnum\c@maxcomprange<\abx@rangeproclimit\relax + \numdef\blx@tempe\abx@rangeproclimit + \else + \numdef\blx@tempe\c@maxcomprange + \fi + \blx@tempcntc=\blx@tempe\relax + \ifnum + \ifnum\c@mincompwidth<1\space1\fi + \ifnum\c@maxcomprange<10\space1\fi + \ifnum\c@mincomprange<\blx@tempb\space\else1\fi + \ifnum\blx@tempb<\numexpr\blx@tempcntc*10\relax\else1\fi + 0=\z@ + \expandafter\blx@comprange@comp@div + \else + \expandafter\blx@comprange@end + \fi} + +\def\blx@comprange@end{% + \numdef\blx@tempb\blx@tempb + \ifnum\blx@tempe>\c@maxcomprange\relax + \numdef\blx@tempc\blx@tempc + \else + \numdef\blx@tempc\blx@tempd + \fi + \begingroup + \protected@edef\blx@tempb{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\blx@tempb}% + \noexpand\bibrangedash + \blx@range@out@item@process{\blx@tempc}}}% + \blx@tempb} + +\def\blx@comprange@comp@div{% + \unless\ifnum\blx@tempb<\blx@tempcntc + \blx@tempcnta\blx@tempb\relax + \blx@tempcntb\blx@tempc\relax + \divide\blx@tempcnta\blx@tempcntc + \divide\blx@tempcntb\blx@tempcntc + \ifnum\blx@tempcnta=\blx@tempcntb + \edef\blx@tempd{\expandafter\@gobble\blx@tempd}% + \numdef\blx@tempe\blx@tempcntc + \fi + \fi + \divide\blx@tempcntc10\relax + \ifnum + \ifnum\blx@tempcntc<10 1\fi + \ifnum\blx@tempcntc>\c@mincompwidth\else 1\fi + 0=\z@ + \expandafter\blx@comprange@comp@div + \else + \expandafter\blx@comprange@end + \fi} + +% <*>[<postpro>]{<string>} +\newrobustcmd*{\mkfirstpage}{% + \begingroup + \@ifstar + {\blx@range@aux\blx@firstpage@ii} + {\blx@range@aux\blx@firstpage@i}} + +\def\blx@firstpage@i[#1][#2]#3{% + \let\blx@tempa\@empty + \protected\def\blx@range@out@value{\appto\blx@tempa}% + \def\blx@range@out@item@process{#2}% + \let\blx@range@out@delim\blx@range@out@value + \let\blx@range@split\blx@firstpage@split + \blx@range@chunk{#3}% + \begingroup + \edef\blx@tempa{\endgroup + \unexpanded{#1}{\expandonce\blx@tempa}}% + \blx@tempa + \endgroup} + +\def\blx@firstpage@ii[#1][#2]#3{% + \protected\def\blx@range@out@value{#1}% + \def\blx@range@out@item@process{#2}% + \let\blx@range@out@delim\@firstofone + \let\blx@range@split\blx@firstpage@split + \blx@range@chunk{#3}% + \endgroup} + +% Unicode en-dashes are supported in blx-unicode.def +\def\blx@firstpage@split#1{% + \protected@edef\blx@firstpage@abort{% + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@firstpage@range#1\bibrangedash\bibrangedash&} + +\def\blx@firstpage@range#1\bibrangedash#2\bibrangedash#3&{% + \ifblank{#3} + {\blx@firstpage@hyphen#1--&} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@tempc}}} + +\def\blx@firstpage@hyphen#1-#2-#3&{% + \ifblank{#3} + {\blx@firstpage@abort} + {\ifblank{#1} + {\ifblank{#2} + {\blx@firstpage@hyphen@i#3&} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc}} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@tempc}}} + +\def\blx@firstpage@hyphen@i#1-#2&{% + \ifblank{#1} + {\ifblank{#2} + {\blx@firstpage@abort} + {\blx@firstpage@hyphen@i#2&}} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{% + \unexpanded{#1}}}}% + \blx@tempc}} + +\newcommand*{\ppspace}{\addnbspace} +\newcommand*{\sqspace}{\addnbspace} + +\newrobustcmd*{\RN}[1]{% + \begingroup + \expandafter\RNfont + \expandafter{\romannumeral#1}% + \endgroup} +\newrobustcmd*{\Rn}[1]{% + \begingroup + \expandafter\Rnfont + \expandafter{\romannumeral#1}% + \endgroup} + +\newcommand*{\RNfont}{\uppercase} +\newcommand*{\Rnfont}{} + +% Delimiter interface + +% [<contextname, ...>]{<name>}{<code>} +\newrobustcmd*{\DeclareDelimFormat}{% + \@ifstar + {\blx@declaredelimclear} + {\blx@declaredelim}} + +\def\blx@cleardelim#1{% + \ifcsvoid{blx@declaredelimcontexts@#1} + {} + {\def\do##1{\csundef{blx@printdelim@##1@#1}}% + \dolistcsloop{blx@declaredelimcontexts@#1}}% + \cslet{blx@declaredelimcontexts@#1}\@empty} + +\newrobustcmd*{\blx@declaredelimclear}[3][]{% + \blx@cleardelim{#2}% + \ifblank{#1} + {\blx@declaredelim{#2}{#3}} + {\blx@declaredelim[{#1}]{#2}{#3}}} + +\newrobustcmd*{\blx@declaredelim}[3][]{% + \ifblank{#1} + {\blx@declaredelim@i{}{}{#2}{#3}} + {\def\do##1{% + \listcsadd{blx@declaredelimcontexts@#2}{##1}% + \blx@declaredelim@i{blx@printdelim@##1@}{##1}{#2}{#3}}% + \docsvlist{#1}}}% + +\def\blx@declaredelim@i#1#2#3#4{% + \ifcsdef{#1#3} + {\blx@inf@delimdeclare{#3}{#2}} + {}% + \csdef{#1#3}{#4}} + +% [<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@s} + {\blx@declaredelimalias@a}} + +\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@manual{}{#1}{}{#2}% + \ifcsvoid{blx@declaredelimcontexts@#2} + {} + {\def\do##1{% + \blx@declaredelimalias@manual{##1}{#1}{##1}{#2}}% + \dolistcsloop{blx@declaredelimcontexts@#2}}} + +% {<alias context>}{<alias>}{<source context>}{<source>} +\def\blx@declaredelimalias@manual#1#2#3#4{% + \begingroup + \ifblank{#1} + {\def\blx@tempa{{}{}}} + {\def\blx@tempa{{blx@printdelim@#1@}{#1}}}% + \ifblank{#3} + {\def\blx@tempb{{}{}}} + {\def\blx@tempb{{blx@printdelim@#3@}{#3}}}% + \edef\blx@tempc{\endgroup + \noexpand\blx@declaredelimalias@def% + \expandonce\blx@tempa {\unexpanded{#2}}% + \expandonce\blx@tempb {\unexpanded{#4}}}% + \blx@tempc} + +% {<alias context internal id>}{<alias context name>}{<alias>} +% {<source context internal id>}{<source context name>}{<source>} +\def\blx@declaredelimalias@def#1#2#3#4#5#6{% + \ifcsdef{#1#3} + {\blx@inf@delimdeclare{#3}{#2}} + {}% + \ifblank{#2} + {} + {\ifinlistcs{#2}{blx@declaredelimcontexts@#3} + {} + {\listcsadd{blx@declaredelimcontexts@#3}{#2}}}% + \csdef{#1#3}{\ifcsundef{#4#6}{\csuse{#6}}{\csuse{#4#6}}}} + +\def\blx@delimcontext{none} +\newcommand*{\printdelim}[2][]{% + \ifblank{#1} + {\ifcsdef{blx@printdelim@\blx@delimcontext @#2} + {\csuse{blx@printdelim@\blx@delimcontext @#2}} + {\ifcsdef{#2}% fall back on legacy macros + {\csuse{#2}} + {\blx@warn@delimuse{#2}{*}}}} + {\ifcsdef{blx@printdelim@#1@#2} + {\csuse{blx@printdelim@#1@#2}} + {\blx@warn@delimuse{#2}{#1}}}} + +\newcommand*{\delimcontext}[1]{% + \edef\blx@delimcontext{\blx@delimcontextalias{#1}}} + +\def\blx@delimcontextalias#1{% + \ifcsdef{blx@delimcontextalias@#1} + {\csuse{blx@delimcontextalias@#1}} + {#1}} + +\newcommand*{\DeclareDelimcontextAlias}[2]{% + \csdef{blx@delimcontextalias@#1}{#2}} + +\newcommand*{\UndeclareDelimcontextAlias}[1]{% + \csundef{blx@delimcontextalias@#1}} + +\newrobustcmd*{\AtUsedriver}{% + \@ifstar + {\global\undef\blx@hook@usedriver + \gappto\blx@hook@usedriver} + {\gappto\blx@hook@usedriver}} +\@onlypreamble\AtUsedriver +\def\blx@imc@UseUsedriverHook{\csuse{blx@hook@usedriver}} +\blx@regimcs{\UseUsedriverHook} + +\AtUsedriver{% + \delimcontext{bib}% + \let\finentry\blx@finentry@usedrv + \let\newblock\relax + \let\abx@macro@bibindex\@empty + \let\abx@macro@pageref\@empty} + +% {<init>}{<entrytype>} +\protected\def\blx@imc@usedriver#1#2{% + \begingroup + \csuse{blx@hook@usedriver}% + \csuse{blx@hook@bbxinit}#1% + \blx@beglangbib + \blx@driver{#2}% + \blx@endlangbib + \endgroup} + +% Punctuation + +\protected\def\blx@initunit{% + \global\togglefalse{blx@block}% + \global\togglefalse{blx@unit}% + \global\togglefalse{blx@insert}% + \global\togglefalse{blx@lastins}% + \global\togglefalse{blx@keepunit}% + \global\let\blx@unitpunct\newunitpunct + \blx@imc@resetpunctfont} + +\def\blx@begunit{% + \toggletrue{blx@tempa}% + \iftoggle{blx@insert} + {\iftoggle{blx@unit} + {\begingroup + \let\blx@begunit\@empty + \let\blx@endunit\@empty + \let\blx@endnounit\@empty + \blx@unitpunct\blx@postpunct + \endgroup + \global\togglefalse{blx@unit}% + \togglefalse{blx@tempa}} + {\blx@postpunct}% + \iftoggle{blx@block} + {\begingroup + \let\blx@begunit\@empty + \let\blx@endunit\@empty + \let\blx@endnounit\@empty + \newblockpunct + \endgroup + \global\togglefalse{blx@block}% + \togglefalse{blx@tempa}} + {}} + {}% + \blx@postpunct + \blx@imc@resetpunctfont + \iftoggle{blx@tempa} + {} + {\global\togglefalse{blx@insert}}% + \blx@leavevmode + \begingroup} + +\def\blx@endunit{% + \endgroup + \global\toggletrue{blx@insert}% + \global\toggletrue{blx@lastins}} + +\def\blx@nounit{% + \global\togglefalse{blx@lastins}} + +\def\blx@endnounit{% + \endgroup\blx@nounit} + +\protected\def\blx@imc@newblock{% + \global\toggletrue{blx@block}}% + +\protected\def\blx@imc@newunit{% + \iftoggle{blx@keepunit} + {} + {\global\let\blx@unitpunct\newunitpunct + \global\toggletrue{blx@unit}}} + +\protected\def\blx@imc@setunit{% + \@ifstar\blx@setunit@i\blx@setunit} + +\long\def\blx@setunit#1{% + \iftoggle{blx@keepunit} + {} + {\long\gdef\blx@unitpunct{#1}% + \global\toggletrue{blx@unit}}} + +\def\blx@setunit@i{% + \iftoggle{blx@lastins} + {\blx@setunit} + {\@gobble}} + +\protected\def\blx@imc@printunit{% + \@ifstar\blx@printunit@i\blx@printunit} + +\def\blx@printunit#1{% + \long\gdef\blx@unitpunct{#1\global\togglefalse{blx@keepunit}}% + \global\toggletrue{blx@keepunit}% + \global\toggletrue{blx@unit}} + +\def\blx@printunit@i{% + \iftoggle{blx@lastins} + {\blx@printunit} + {\@gobble}} + +\protected\def\blx@imc@finentry{% + \unspace\finentrypunct + \blx@postpunct + \blx@initunit} + +\protected\def\blx@finentry@usedrv{% + \blx@setunit\relax} + +\protected\def\blx@finentry@inset{% + \blx@setunit\entrysetpunct + \global\toggletrue{blx@block}} + +\def\ifentryseen{\blx@imc@ifentryseen} +\def\ifentryinbib{\blx@imc@ifentryinbib} +\def\ifentrycategory{\blx@imc@ifentrycategory} +\def\ifentrykeyword{\blx@imc@ifentrykeyword} + + +\def\blx@imc@iflabeldateisdate{% + \iftoggle{blx@labeldateparts} + {\iffieldundef{labeldatesource} + {\@secondoftwo} + {\iffieldequalstr{labeldatesource}{} + {\@firstoftwo} + {\iffieldequalstr{labeldatesource}{year}}}} + {\@secondoftwo}} + + +\def\blx@imc@ifdatehasyearonlyprecision#1{% + \iffieldundef{#1year} + {\@secondoftwo} + {\ifcsstring{blx@dateformat@#1date}{year} + {\@firstoftwo} + {\iffieldundef{#1month} + {\iffieldundef{#1yeardivision}} + {\@secondoftwo}}}} + +\def\blx@imc@ifdatehastime#1{% + \iftoggle{blx@#1dateusetime} + {\iffieldundef{#1hour} + {\@secondoftwo} + {\@firstoftwo}} + {\@secondoftwo}} + +\def\blx@imc@ifdateshavedifferentprecision#1#2{% + \ifboolexpr{ ( test {\ifdatehasyearonlyprecision{#1}} + and not test {\ifdatehasyearonlyprecision{#2}}) + 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}})}} + +\def\blx@imc@ifdateyearsequal#1#2{% + \iffieldsequal{#1year}{#2year} + {\iffieldundef{#1dateera} + {\iffieldundef{#2dateera}} + {\iffieldsequal{#1dateera}{#2dateera}}} + {\@secondoftwo}} + +\def\blx@reconstruct@comparabledate#1{% + \thefield{#1year}-\thefield{#1month}(\thefield{#1yeardivision})-% + \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}} + +\def\blx@imc@ifmsentryfield#1{% + \ifcsdef{blx@datamodel@multiscript@entryfield@#1}} + +\blx@regimcs{% + \ifdriver \thefield \strfield \csfield \usefield \thelist \strlist + \thefirstlistitem \usefirstlistitem \strfirstlistitem + \thename \strname + \clearfield \clearlist \clearname \restorefield \restorelist \restorename + \ifcategory \ifkeyword + \ifciteseen \ifciteibid \ifciteidem \ifopcit \ifloccit + \ifcurrentfield \ifcurrentlist \ifcurrentname \ifentrytype + \iffieldequalcs \iffieldequals \iffieldequalstr \iffieldsequal + \ifentryfieldundef \iffieldundef \iffieldxref \iflistequalcs \iflistequals + \iflistsequal \iflistundef \iflistxref + \ifmorenames \ifmoreitems \iffirstcitekey \iflastcitekey + \ifnameequalcs \ifnameequals \ifnamesequal \ifnameundef \ifnamexref + \iffirstonpage \ifsamepage \savefield \savefieldcs \savelist + \savelistcs \savename \savenamecs \usedriver + \ifinteger \hascomputableequivalent \ifiscomputable \getcomputableequivalent + \ifnumeral \ifnumerals \ifpages + \iffieldint \fieldhascomputableequivalent \iffieldiscomputable + \iffieldnum \iffieldnums \iffieldpages + \iflabeldateisdate \ifdatehasyearonlyprecision \ifdatehastime + \ifdateshavedifferentprecision + \ifdateyearsequal \ifdatesequal \ifdaterangesequal + \mkpageprefix \mkpagetotal + \newblock \newunit \setunit \printunit \finentry \ifmsentryfield} + +\appto\blx@blxinit{% + \def\ifnatbibmode{\iftoggle{blx@natbib}}% + \def\ifcitation{\iftoggle{blx@citation}}% + \def\ifvolcite{\iftoggle{blx@volcite}}% + \def\ifbibliography{\iftoggle{blx@bibliography}}% + \def\ifciteindex{\iftoggle{blx@citeindex}}% + \def\ifbibindex{\iftoggle{blx@bibindex}}% + \def\iffootnote{\iftoggle{blx@footnote}}% + \def\ifuseprefix{\iftoggle{blx@useprefix}}% + \def\ifterseinits{\iftoggle{blx@terseinits}}% + \def\ifcrossrefsource{\iftoggle{abx@bool@crossrefsource}}% + \def\ifxrefsource{\iftoggle{abx@bool@xrefsource}}% + \def\ifsingletitle{\iftoggle{abx@bool@singletitle}}% + \def\ifnocite{\iftoggle{abx@bool@nocite}}% + \def\ifuniquetitle{\iftoggle{abx@bool@uniquetitle}}% + \def\ifuniquebaretitle{\iftoggle{abx@bool@uniquebaretitle}}% + \def\ifuniquework{\iftoggle{abx@bool@uniquework}}% + \def\ifuniqueprimaryauthor{\iftoggle{abx@bool@uniqueprimaryauthor}}% + \def\ifandothers#1{\iftoggle{abx@bool@more#1}}% + \protected\def\pnfmt{\printtext[postnote]}% + \protected\def\pno{\bibstring{page}}% + \protected\def\ppno{\bibstring{pages}}% + \let\nopp\relax + \protected\def\psq{\sqspace\bibstring{sequens}}% + \protected\def\psqq{\sqspace\bibstring{sequentes}}} + +% Make sure that commands which might pop up inside an \edef will be defined +% as something. If they are taken \AtBeginDocument then we assume that all will +% be well. If not, then provide a definition which will give an error outside +% of a citation context. +\AtBeginDocument{% + \protected\def\do#1{% + \ifdefined#1% + \else + \protected\def#1{\ERROR}% + \fi + }% + \docsvlist{\pnfmt,\pno,\ppno,\nopp,\psq,\psqq}% +} + +%% Global formatting hooks + +%% Main formatting commands +% They work by creating a \let alias: +% \abx@<class>@<entrytype>@<formatname> -> \blx@defformat@d +% for later use in \print* +% Then, \blx@defformat@d is defined by calling +% \def\blx@defformat@d#1{format body} + +% [<entrytype>]{<name>}{<definiton>} +\newrobustcmd*{\DeclareNameFormat}{% + \@ifstar + {\blx@defformat\blx@defnameformat{nfd}*} + {\blx@defformat\blx@defnameformat{nfd}{}}} + +\newrobustcmd*{\DeclareIndexNameFormat}{% + \@ifstar + {\blx@defformat\blx@defnameformat{nid}*} + {\blx@defformat\blx@defnameformat{nid}{}}} + +\newrobustcmd*{\DeclareListFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{lfd}*} + {\blx@defformat\blx@defplainformat{lfd}{}}} +\newrobustcmd*{\DeclareIndexListFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{lid}*} + {\blx@defformat\blx@defplainformat{lid}{}}} + +\newrobustcmd*{\DeclareFieldFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{ffd}*} + {\blx@defformat\blx@defplainformat{ffd}{}}} +\newrobustcmd*{\DeclareIndexFieldFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{fid}*} + {\blx@defformat\blx@defplainformat{fid}{}}} + +\newrobustcmd*{\DeclareNameWrapperFormat}{% + \@ifstar + {\blx@defformat\blx@defnameformat{nwd}*} + {\blx@defformat\blx@defnameformat{nwd}{}}} + +\newrobustcmd*{\DeclareListWrapperFormat}{% + \@ifstar + {\blx@defformat\blx@defplainformat{lwd}*} + {\blx@defformat\blx@defplainformat{lwd}{}}} + +% {<macro>}{<class>}{<*>} +\def\blx@defformat#1#2#3{% + \@ifnextchar[%] + {\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{% + \notblank{#3} + {\blx@resetformat{#2}{#5}} + {}% + \def\blx@defformat@a{#2}% + \def\blx@defformat@b{#4}% + \blx@xsanitizeafter{\def\blx@defformat@c}{#5}% + \afterassignment\blx@defformat@ii + #1} + +\def\blx@defformat@ii{% + \expandafter\forcsvlist + \expandafter\blx@defformat@iii + \expandafter{\blx@defformat@b}} + +\def\blx@defformat@iii#1{% + \cslet{abx@\blx@defformat@a @#1@\blx@defformat@c}\blx@defformat@d} + +% grab the argument explicitly, this avoids issues with spaces making it +% into the argument specification of the macros +% cf. \def\foo#1{<stuff>} vs. \def\foo#1 {<stuff>} +\long\def\blx@defplainformat#1{% + \long\def\blx@defformat@d##1{#1}} + +\long\def\blx@defnameformat#1{% + \long\def\blx@defformat@d##1{#1}} + +\def\blx@resetformat#1#2{% + \let\blx@saved@do\do + \def\do##1{\blx@resetformat@i{#1}{#2}{##1}}% + \blx@safe@actives + \abx@doentrytypes + \blx@rest@actives + \let\do\blx@saved@do} + +\def\blx@resetformat@i#1#2#3{% + \ifcsdef{abx@#1@#3@#2} + {\csundef{abx@#1@#3@#2}} + {}} + +% {<name>}{<name>} +\def\blx@letformat#1#2{% + \blx@safe@actives + \afterassignment\blx@rest@actives + \csletcs{#1}{#2}} + +% [aliastype]{aliasname}[formattype]{formatname} +\def\blx@defalias#1{% + \@ifnextchar[%] + {\blx@defalias@i{#1}} + {\blx@defalias@i{#1}[*]}} +\def\blx@defalias@i#1[#2]#3{% + \@ifnextchar[%] + {\blx@defalias@ii{#1}{#2}{#3}} + {\blx@defalias@ii{#1}{#2}{#3}[*]}} +\def\blx@defalias@ii#1#2#3[#4]#5{% + \blx@safe@actives + \afterassignment\blx@rest@actives + \csedef{abx@#1@#2@#3}{% + \expandonce{\csname abx@#1@#4@#5\endcsname}}} + +% {<macro>}{<class>}{<name>}{<field>} +\def\blx@getformat#1#2#3#4{% + \blx@safe@actives + \afterassignment\blx@rest@actives + \ifcsundef{abx@#2@\blx@imc@thefield{entrytype}@#3} + {\ifcsundef{abx@#2@*@#3} + {\ifcsundef{abx@#2@\blx@imc@thefield{entrytype}@#4} + {\ifcsundef{abx@#2@*@#4} + {\letcs#1{abx@#2@*@default}} + {\letcs#1{abx@#2@*@#4}}} + {\letcs#1{abx@#2@\blx@imc@thefield{entrytype}@#4}}} + {\letcs#1{abx@#2@*@#3}}} + {\letcs#1{abx@#2@\blx@imc@thefield{entrytype}@#3}}} + +% [<entrytype>]{<name>} +\newrobustcmd*{\savefieldformat}[2][*]{\blx@save{abx@ffd@#1@#2}} +\newrobustcmd*{\savelistformat}[2][*]{\blx@save{abx@lfd@#1@#2}} +\newrobustcmd*{\savenameformat}[2][*]{\blx@save{abx@nfd@#1@#2}} +\newrobustcmd*{\savelistwrapperformat}[2][*]{\blx@save{abx@lwd@#1@#2}} +\newrobustcmd*{\savenamewrapperformat}[2][*]{\blx@save{abx@nwd@#1@#2}} + +\newrobustcmd*{\restorefieldformat}[2][*]{\blx@restore{abx@ffd@#1@#2}} +\newrobustcmd*{\restorelistformat}[2][*]{\blx@restore{abx@lfd@#1@#2}} +\newrobustcmd*{\restorenameformat}[2][*]{\blx@restore{abx@nfd@#1@#2}} +\newrobustcmd*{\restorelistwrapperformat}[2][*]{\blx@restore{abx@lwd@#1@#2}} +\newrobustcmd*{\restorenamewrapperformat}[2][*]{\blx@restore{abx@nwd@#1@#2}} + +% [<entrytype>]{<name>}{<true>}{<false>} +\newrobustcmd*{\iffieldformatundef}[2][*]{\ifcsundef{abx@ffd@#1@#2}} +\newrobustcmd*{\iflistformatundef}[2][*]{\ifcsundef{abx@lfd@#1@#2}} +\newrobustcmd*{\ifnameformatundef}[2][*]{\ifcsundef{abx@nfd@#1@#2}} +\newrobustcmd*{\iflistwrapperformatundef}[2][*]{\ifcsundef{abx@lwd@#1@#2}} +\newrobustcmd*{\ifnamewrapperformatundef}[2][*]{\ifcsundef{abx@nwd@#1@#2}} + +% [<entrytype>]{<alias>}[<entrytype>]{<name>} +\newrobustcmd*{\DeclareNameAlias}{\blx@defalias{nfd}} +\newrobustcmd*{\DeclareIndexNameAlias}{\blx@defalias{nid}} + +\newrobustcmd*{\DeclareListAlias}{\blx@defalias{lfd}} +\newrobustcmd*{\DeclareIndexListAlias}{\blx@defalias{lid}} + +\newrobustcmd*{\DeclareFieldAlias}{\blx@defalias{ffd}} +\newrobustcmd*{\DeclareIndexFieldAlias}{\blx@defalias{fid}} + +\newrobustcmd*{\DeclareNameWrapperAlias}{\blx@defalias{nwd}} + +\newrobustcmd*{\DeclareListWrapperAlias}{\blx@defalias{lwd}} + +% #1: internal type signature, #2: type text for warning +% #3 #4 #5 #6 +% [aliastype]{aliasname}[formattype]{formatname} +\def\blx@deprecateformat#1#2{% + \@ifnextchar[%] + {\blx@deprecateformat@i{#1}{#2}} + {\blx@deprecateformat@i{#1}{#2}[*]}} +\def\blx@deprecateformat@i#1#2[#3]#4{% + \@ifnextchar[%] + {\blx@deprecateformat@ii{#1}{#2}{#3}{#4}} + {\blx@deprecateformat@ii{#1}{#2}{#3}{#4}[*]}} +\def\blx@deprecateformat@ii#1#2#3#4[#5]#6{% + \blx@safe@actives + \afterassignment\blx@rest@actives + \csdef{abx@#1@#3@#4}{% + \ifcsundef{abx@legacywarning@#1@#3@#4} + {\global\cslet{abx@legacywarning@#1@#3@#4}\@empty + \blx@warning@noline{% + #2 '#4' deprecated.\MessageBreak + Please use '#6' instead.\MessageBreak + Using '#6' now}} + {}% + \csname abx@#1@#5@#6\endcsname}} + +% [<entrytype>]{<alias>}[<entrytype>]{<name>} +\newrobustcmd*{\DeprecateNameFormatWithReplacement}{% + \blx@deprecateformat{nfd}{Name format}} +\newrobustcmd*{\DeprecateIndexNameFormatWithReplacement}{% + \blx@deprecateformat{nid}{Index name format}} + +\newrobustcmd*{\DeprecateListFormatWithReplacement}{% + \blx@deprecateformat{lfd}{List format}} +\newrobustcmd*{\DeprecateIndexListFormatWithReplacement}{% + \blx@deprecateformat{lid}{Index list format}} + +\newrobustcmd*{\DeprecateFieldFormatWithReplacement}{% + \blx@deprecateformat{ffd}{Field format}} +\newrobustcmd*{\DeprecateIndexFieldFormatWithReplacement}{% + \blx@deprecateformat{fid}{Index field format}} + +\newrobustcmd*{\DeprecateNameWrapperFormatWithReplacement}{% + \blx@deprecateformat{nwd}{Name wrapper format}} + +\newrobustcmd*{\DeprecateListWrapperFormatWithReplacement}{% + \blx@deprecateformat{lwd}{List wrapper format}} + +% [<format>]{<text>} +\newrobustcmd{\blx@imc@printtext}[2][]{% + \ifblank{#2} + {\blx@nounit} + {\ifblank{#1} + {\let\blx@theformat\@firstofone} + {\blx@getformat\blx@theformat{ffd}{#1}{}}% + \ifdefvoid\blx@theformat + {\blx@nounit} + {\blx@begunit + \blx@theformat{#2}% + \blx@endunit}}} + +% This loops over all form/lang pairs defined for a lang and uses the first one it finds +% by defining \blx@cmsform/\blx@cmslang according to what it finds +% {bcp47tag}{entryfield}{entryfieldtype} +\DeclareDocumentCommand{\blx@ifmsselect} + {m m m} + {\blx@imc@ifmsentryfield{#2} + {\boolfalse{selectms}% + % First check the current \blx@msform/\blx@mslang + % Must explicitly specify form/lang here and not rely on defaults as \blx@ifmsundef + % checks if *any* alternates are defined if no form/lang is passed + \blx@ifmsundef{#3}[\blx@msform][\blx@mslang]{#2} + % If not defined, then check the select list for the language (tag) of the entry + {\ifcsdef{blx@msselect@#1} + {\let\blx@tempa\@empty + \begingroup + \def\do##1{\do@i##1}% \blx@msselect@* list contains pairs like {form}{lang}|{form}{lang} + \def\do@i##1##2{% + \blx@ifmsundef{#3}[{##1}][{##2}]{#2} + {} + {% Found a field alternate, save form/lang values and exit listloop + \gappto\blx@tempa{\def\blx@cmsform{##1}}% + \gappto\blx@tempa{\def\blx@cmslang{##2}}% + \gappto\blx@tempa{\booltrue{selectms}}% + \listbreak}}% + \dolistcsloop{blx@msselect@#1}% + \endgroup + \blx@tempa\undef\blx@tempa} + {}} + {\booltrue{selectms}% + \let\blx@cmsform\blx@msform + \let\blx@cmslang\blx@mslang}% Found the current form/lang alternate + \ifbool{selectms} + {\@secondoftwo}% found an alternate + {\blx@imc@iffieldundef{langid}% No alternate found, check form/langid as last resort + {\@firstoftwo} + {\blx@ifmsundef{#3}[\blx@msform][\blx@lmslang]{#2} + {\@firstoftwo} + {\let\blx@cmsform\blx@msform + \let\blx@cmslang\blx@lmslang}% + \@secondoftwo}}} + {\blx@ifmsundef{#3}{#2}}} % Not a multiscript field, just do a normal undef check + +% [<format>][<msform>][<mslang>]{field} +% O{} is an optional arg which defaults to nothing rather than xparse "-NoValue-" +\DeclareDocumentCommand{\blx@imc@printfield} + {O{} O{} O{} m} + {\ifboolexpr {test {\ifblank{#2}} and test {\ifblank{#3}}} + {\blx@imc@iffieldundef{langid} + {\blx@ifmsselect{\blx@mslang}{#4}{field}} + {\blx@ifmsselect{\blx@lmslang}{#4}{field}}} + {\let\blx@cmsform\blx@msform% + \let\blx@cmslang\blx@mslang% + \ifblank{#2}{}{\edef\blx@cmsform{#2}}% + \ifblank{#3}{}{\edef\blx@cmslang{#3}}% + \blx@imc@iffieldundef[\blx@cmsform][\blx@cmslang]{#4}}% + {\blx@nounit} + {\blx@getformat\blx@theformat{ffd}{#1}{#4}% + \ifdefvoid\blx@theformat + {\blx@nounit} + {\blx@begunit + \edef\currentfield{#4}% + \blx@imc@ifmsentryfield{#4} + {\let\currentmsform\@empty + \let\currentmslang\@empty + \let\currentmsforms\@empty + \let\currentmslangs\@empty + \begingroup + % begin language for field mslang + \let\currentmsform\blx@cmsform% + \let\currentmslang\blx@cmslang% + \letcs\currentmsforms{abx@fieldmsforms@#4}% + \letcs\currentmslangs{abx@fieldmslangs@#4}% + \edef\blx@tempa{\csuse{blx@msmaplang@\currentmslang}}% + % Override language from any field-level mslang annotation + \ifcsdef{abx@annotation@literal@field@\currentmsform @\currentmslang @\currentfield @mslang} + {\edef\currentmslang{\csuse{abx@annotation@literal@field@\currentmsform @\currentmslang @\currentfield @mslang}}% + \edef\blx@tempa{\csuse{blx@msmaplang@\currentmslang}}}% + {}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + {}% + \blx@hook@initfieldlang + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}% + \expandafter\expandafter + \expandafter\blx@theformat + \expandafter\expandafter + \expandafter{\csname abx@field@\currentmsform @\currentmslang @#4\endcsname}% + % end language for field mslang + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname} + {}% + \endgroup} + {\expandafter\expandafter + \expandafter\blx@theformat + \expandafter\expandafter + \expandafter{\csname abx@field@@@#4\endcsname}}% + \blx@endunit}}} + +% [<format>][<msform>][<mslang>]{field} +\DeclareExpandableDocumentCommand{\blx@imc@indexfield} + {O{} O{} O{} m} + {\ifboolexpr {test {\ifblank{#2}} and test {\ifblank{#3}}} + {\blx@imc@iffieldundef{langid} + {\blx@ifmsselect{\blx@mslang}{#4}{field}} + {\blx@ifmsselect{\blx@lmslang}{#4}{field}}} + {\let\blx@cmsform\blx@msform% + \let\blx@cmslang\blx@mslang% + \ifblank{#2}{}{\edef\blx@cmsform{#2}}% + \ifblank{#3}{}{\edef\blx@cmslang{#3}}% + \blx@imc@iffieldundef[\blx@cmsform][\blx@cmslang]{#4}}% + {} + {\blx@getformat\blx@theformat{fid}{#1}{#4}% + \ifdefvoid\blx@theformat + {} + {\begingroup + \edef\currentfield{#4}% + \let\currentmsform\@empty + \let\currentmslang\@empty + \let\currentmsforms\@empty + \let\currentmslangs\@empty + \blx@imc@ifmsentryfield{#4} + {\let\currentmsform\blx@cmsform% + \let\currentmslang\blx@cmslang% + \letcs\currentmsforms{abx@fieldmsforms@#4}% + \letcs\currentmslangs{abx@fieldmslangs@#4}% + \edef\blx@tempa{\csuse{blx@msmaplang@\curentmslang}}% + \letcs\blx@tempb{abx@field@\currentmsform @\currentmslang @#4}% + \expandafter\blx@theformat\expandafter{\blx@tempb}} + {\letcs\blx@tempb{abx@field@@@#4}% + \expandafter\blx@theformat\expandafter{\blx@tempb}}% + \endgroup}}} + +% [<format>]{<file>} +\newrobustcmd*{\blx@imc@printfile}[2][]{% + \iftoggle{blx@loadfiles} + {\IfFileExists{#2} + {\listxadd\blx@list@req@edit{#2}% + \blx@imc@printtext[{#1}]{\input{#2}\unspace}} + {\blx@nounit}} + {\blx@nounit}} + +% {<macro>}[<format>][<start>-<stop>][<msform>][<mslang>] +% => <macro>{<format>}{<start>}{<stop>}{<msform>}{<mslang>} +\DeclareDocumentCommand\blx@listargs + {m O{} >{\SplitArgument{1}{-}}O{} O{} O{}} + {\let\Start\@empty% + \let\Stop\@empty% + \ifblank{#3} + {}% + {\edef\Start{\@firstoftwo#3}% + \edef\Stop{\@secondoftwo#3}}% + \expandafter\IfNoValueTF\expandafter{\Stop}% Work around bug in xparse + {\def\Stop{}} + {}% + \protected@edef\z{\noexpand#1{#2}{\Start}{\Stop}{#4}{#5}}\z} + +% [<format>][<start>-<stop>]{<namelist>} +\protected\def\blx@imc@printnames{% + \blx@listargs\blx@printnames} + +% {<format>}{<start>}{<stop>}{<msform>}{<mslang>}{<namelist>} +\def\blx@printnames#1#2#3#4#5#6{% + \ifboolexpr {test {\ifblank{#4}} and test {\ifblank{#5}}} + {\blx@imc@iffieldundef{langid} + {\blx@ifmsselect{\blx@mslang}{#6}{name}} + {\blx@ifmsselect{\blx@lmslang}{#6}{name}}} + {\let\blx@cmsform\blx@msform% + \let\blx@cmslang\blx@mslang% + \ifblank{#4}{}{\edef\blx@cmsform{#4}}% + \ifblank{#5}{}{\edef\blx@cmslang{#5}}% + \blx@imc@ifnameundef[\blx@cmsform][\blx@cmslang]{#6}}% + {\blx@nounit} + {\blx@getformat\blx@thewrapperformat{nwd}{#1}{#6}% + \ifdefvoid\blx@thewrapperformat + {\blx@nounit} + {\blx@getformat\blx@theformat{nfd}{#1}{#6}% + \ifdefvoid\blx@theformat + {\blx@nounit} + {\blx@begunit + \blx@namesetup{#2}{#3}{\blx@cmsform}{\blx@cmslang}{#6}% + \blx@imc@ifmsentryfield{\currentname} + {% begin language for name list mslang + \begingroup + \edef\blx@tempa{\csuse{blx@msmaplang@\currentmslang}}% + % Override language from any field-level mslang annotation + \ifcsdef{abx@annotation@literal@field@\currentmsform @\currentmslang @\currentname @mslang} + {\edef\currentmslang{\csuse{abx@annotation@literal@field@\currentmsform @\currentmslang @\currentname @mslang}}% + \edef\blx@tempa{\csuse{blx@msmaplang@\currentmslang}}}% + {}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + {}% + \blx@hook@initfieldlang + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}} + {}% + \blx@thewrapperformat{\expandafter\blx@nameparser\blx@thedata{}&}% + \blx@imc@ifmsentryfield{\currentname} + {% end language for name list mslang + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname} + {}% + \endgroup} + {}% + \blx@endunit}}}} + +\def\blx@namesetup#1#2#3#4#5{% + \def\currentname{#5}% + \let\currentmsform\@empty + \let\currentmslang\@empty + \let\currentmsforms\@empty + \let\currentmslangs\@empty + \c@listcount\@ne + \c@listtotal\csname c@#5\endcsname + \blx@namesetup@i{#3}{#4}{#5}% + \ifblank{#1} + {\c@liststart\@ne} + {\ifnum#1<\@ne + \c@liststart\@ne + \else + \c@liststart#1\relax + \fi}% + \ifblank{#2} + {\c@liststop\c@listtotal + \ifnum\c@liststop>\c@maxnames + \c@liststop\c@minnames + \ifnum\c@uniquelist>\c@liststop + \c@liststop\c@uniquelist + \fi + \fi} + {\ifnum#2>\c@listtotal + \c@liststop\c@listtotal + \else + \ifnum#2<\@ne + \c@liststop\@ne + \else + \c@liststop#2\relax + \fi + \fi}% + \ifboolexpr{test {\iftoggle{blx@pluralothers}} + and + test {\ifnumcomp{\value{listtotal}-\value{liststop}}{=}{1}}} + {\c@liststop\c@listtotal} + {}% + \blx@namecodes} + +\def\blx@namesetup@i#1#2#3{% + \blx@imc@ifmsentryfield{#3} + {\edef\currentmsform{#1}% + \edef\currentmslang{#2}% + \letcs\currentmsforms{abx@fieldmsforms@#3}% + \letcs\currentmslangs{abx@fieldmslangs@#3}% + \expandafter\expandafter + \expandafter\blx@namesetup@ii\csname abx@name@#1@#2@#3\endcsname} + {\expandafter\expandafter + \expandafter\blx@namesetup@ii\csname abx@name@@@#3\endcsname}} + +\def\blx@namesetup@ii#1#2{% + \c@uniquelist\z@ + \ifblank{#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 +\blx@kv@defkey{blx@opt@namelist}{ul}{\c@uniquelist#1\relax} +\blx@kv@defkey{blx@opt@name}{mslang}{\def\blx@nmslang{#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} +\newrobustcmd*{\bibinitdelim}{\addnbspace} +\newrobustcmd*{\bibinithyphendelim}{.\mbox{-}} +\newrobustcmd*{\bibnamedelima}{\addhighpenspace} +\newrobustcmd*{\bibnamedelimb}{\addlowpenspace} +\newrobustcmd*{\bibnamedelimc}{\addhighpenspace} +\newrobustcmd*{\bibnamedelimd}{\addlowpenspace} +\newrobustcmd*{\bibnamedelimi}{\isdot\addnbspace} + +% [<format>][<start>-<stop>]{<namelist>} +\protected\def\blx@imc@indexnames{% + \blx@listargs\blx@indexnames} + +% {<format>}{<start>}{<stop>}{<msform>}{<mslang>}{<namelist>} +\def\blx@indexnames#1#2#3#4#5#6{% + \ifboolexpr {test {\ifblank{#4}} and test {\ifblank{#5}}} + {\blx@imc@iffieldundef{langid} + {\blx@ifmsselect{\blx@mslang}{#6}{name}} + {\blx@ifmsselect{\blx@lmslang}{#6}{name}}} + {\let\blx@cmsform\blx@msform% + \let\blx@cmslang\blx@mslang% + \ifblank{#4}{}{\edef\blx@cmsform{#4}}% + \ifblank{#5}{}{\edef\blx@cmslang{#5}}% + \blx@imc@ifnameundef[\blx@cmsform][\blx@cmslang]{#6}}% + {} + {\blx@getformat\blx@theformat{nid}{#1}{#6}% + \ifdefvoid\blx@theformat + {} + {\begingroup + \blx@namesetup{#2}{#3}{\blx@cmsform}{\blx@cmslang}{#6}% + \blx@indexnamesetup + \expandafter\blx@nameparser\blx@thedata{}&% + \endgroup}}} + +\def\blx@indexnamesetup{% + \let\bibinitperiod\bibindexinitperiod + \let\bibinitdelim\bibindexinitdelim + \let\bibinithyphendelim\bibindexinithyphendelim + \let\bibnamedelima\bibindexnamedelima + \let\bibnamedelimb\bibindexnamedelimb + \let\bibnamedelimc\bibindexnamedelimc + \let\bibnamedelimd\bibindexnamedelimd + \let\bibnamedelimi\bibindexnamedelimi} + +% {<name1>}{<name2>}{...} +\long\def\blx@indexnameparser#1{% + \ifblank{#1} + {\blx@namebreak} + {\ifnum\c@listcount<\c@liststart + \else + \blx@indexnameparser@i#1% + \fi + \advance\c@listcount\@ne + \ifnum\c@listcount>\c@liststop + \expandafter\blx@namebreak + \fi + \blx@indexnameparser}} + +% {name opts}{nameparts} +\long\def\blx@indexnameparser@i#1#2{% + \begingroup + \ifblank{#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 + \cslet{namepart##1un}\@empty}% + \expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}% + \blx@kv@setkeys{blx@opt@namepart}{#2}% Extract nameparts information + \blx@theformat{}% + \endgroup} + +% {<name1>}{<name2>}{...} +\long\def\blx@nameparser#1{% + \ifblank{#1} + {\blx@namebreak} + {\ifnum\c@listcount<\c@liststart + \else + \blx@nameparser@i#1% + \fi + \advance\c@listcount\@ne + \ifnum\c@listcount>\c@liststop + \expandafter\blx@namebreak + \fi + \blx@nameparser}} + +% {name opts}{nameparts} +\long\def\blx@nameparser@i#1#2{% + \begingroup + \let\blx@nmslang\@empty + \ifblank{#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 + \cslet{namepart##1un}\@empty}% + \expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}% + \blx@kv@setkeys{blx@opt@namepart}{#2}% Extract nameparts information + % Extract all alternate nameparts for use in format + \begingroup + \edef\blx@tempc{\endgroup + \noexpand\blx@kv@setkeys{blx@opt@nameparts}{\csuse{abx@nameparts@\currentname @\thelistcount}}}% + \blx@tempc + % For per-name lang switching, see name:langswitchon/off in biblatex.def + % This is because the format wraps everything, including namelist delims like "and" + % which then are set according to the lang strings of the name list item and this is + % not what we want - putting the lang switching in the format makes it granular + % to just the name list item data + \blx@theformat{}% + \endgroup} + +\long\def\blx@namebreak#1&{} + +% [<format>][<start>-<stop>][<msform>][<mslang>]{<plainlist>} +\protected\def\blx@imc@printlist{% + \blx@listargs\blx@printlist} + +% {<format>}{<start>}{<stop>}{<msform>}{<mslang>}{<plainlist>} +\def\blx@printlist#1#2#3#4#5#6{% + \ifboolexpr {test {\ifblank{#4}} and test {\ifblank{#5}}} + {\blx@imc@iffieldundef{langid} + {\blx@ifmsselect{\blx@mslang}{#6}{list}} + {\blx@ifmsselect{\blx@lmslang}{#6}{list}}} + {\let\blx@cmsform\blx@msform% + \let\blx@cmslang\blx@mslang% + \ifblank{#4}{}{\edef\blx@cmsform{#4}}% + \ifblank{#5}{}{\edef\blx@cmslang{#5}}% + \blx@imc@iflistundef[\blx@cmsform][\blx@cmslang]{#6}}% + {\blx@nounit} + {\blx@getformat\blx@thewrapperformat{lwd}{#1}{#6}% + \ifdefvoid\blx@thewrapperformat + {\blx@nounit} + {\blx@getformat\blx@theformat{lfd}{#1}{#6}% + \ifdefvoid\blx@theformat + {\blx@nounit} + {\blx@begunit + \blx@listsetup{#2}{#3}{\blx@cmsform}{\blx@cmslang}{#6}% + \blx@imc@ifmsentryfield{\currentlist} + {% begin language for list mslang + \begingroup + \edef\blx@tempa{\csuse{blx@msmaplang@\currentmslang}}% + % Override language from any field-level mslang annotation + \ifcsdef{abx@annotation@literal@field@\currentmsform @\currentmslang @\currentlist @mslang} + {\edef\currentmslang{\csuse{abx@annotation@literal@field@\currentmsform @\currentmslang @\currentlist @mslang}}% + \edef\blx@tempa{\csuse{blx@msmaplang@\currentmslang}}}% + {}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + \blx@hook@initfieldlang + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}} + {}% + \blx@thewrapperformat{\expandafter\blx@listparser\blx@thedata{}&}% + \blx@imc@ifmsentryfield{\currentlist} + {% end language for list mslang + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname} + {}% + \endgroup} + {}% + \blx@endunit}}}} + +\def\blx@listsetup#1#2#3#4#5{% + \def\currentlist{#5}% + \let\currentmsform\@empty + \let\currentmslang\@empty + \let\currentmsforms\@empty + \let\currentmslangs\@empty + \c@listcount\@ne + \expandafter\c@listtotal\csname c@#5\endcsname + \blx@imc@ifmsentryfield{#5} + {\letcs\blx@thedata{abx@list@#3@#4@#5}% + \edef\currentmsform{#3}% + \edef\currentmslang{#4}% + \letcs\currentmsforms{abx@fieldmsforms@#5}% + \letcs\currentmslangs{abx@fieldmslangs@#5}} + {\letcs\blx@thedata{abx@list@@@#5}}% + \ifblank{#1} + {\c@liststart\@ne} + {\ifnum#1<\@ne + \c@liststart\@ne + \else + \c@liststart#1\relax + \fi}% + \ifblank{#2} + {\c@liststop\c@listtotal + \ifnum\c@listtotal>\c@maxitems + \c@liststop\c@minitems + \fi} + {\ifnum#2>\c@listtotal + \c@liststop\c@listtotal + \else + \ifnum#2<\@ne + \c@liststop\@ne + \else + \c@liststop#2\relax + \fi + \fi}} + +% [<format>][<start>-<stop>]{<plainlist>} +\protected\def\blx@imc@indexlist{% + \blx@listargs\blx@indexlist} + +% {<format>}{<start>}{<stop>}{<msform>}{<mslang>}{<plainlist>} +\def\blx@indexlist#1#2#3#4#5#6{% + \ifboolexpr {test {\ifblank{#4}} and test {\ifblank{#5}}} + {\blx@imc@iffieldundef{langid} + {\blx@ifmsselect{\blx@mslang}{#6}{list}} + {\blx@ifmsselect{\blx@lmslang}{#6}{list}}} + {\let\blx@cmsform\blx@msform% + \let\blx@cmslang\blx@mslang% + \ifblank{#4}{}{\edef\blx@cmsform{#4}}% + \ifblank{#5}{}{\edef\blx@cmslang{#5}}% + \blx@imc@iflistundef[\blx@cmsform][\blx@cmslang]{#6}}% + {} + {\blx@getformat\blx@theformat{lid}{#1}{#6}% + \ifdefvoid\blx@theformat + {} + {\begingroup + \blx@listsetup{#2}{#3}{\blx@cmsform}{\blx@cmslang}{#6}% + \expandafter\blx@listparser\blx@thedata{}&% + \endgroup}}} + +% {<item1>}{<item2>}{...} +\long\def\blx@indexlistparser#1{% + \ifblank{#1} + {\blx@listbreak} + {\ifnum\c@listcount<\c@liststart + \else + \blx@theformat{#1}% + \fi + \advance\c@listcount\@ne + \ifnum\c@listcount>\c@liststop + \expandafter\blx@listbreak + \fi + \blx@indexlistparser}} + +% {<item1>}{<item2>}{...} +\long\def\blx@listparser#1{% + \ifblank{#1} + {\blx@listbreak} + {\ifnum\c@listcount<\c@liststart + \else + \blx@imc@ifmsentryfield{\currentlist} + {% Extract all alternate listitems for use in format + \begingroup + % Need expand the actual value here only once, as in fielddef otherwise + % we get into problems with setkeys when values contain things like \emph{} + % Since setkeys needs a string of keyvals, we have to edef when the keyvals + % are the value of some macro and this fully expands output macros which might + % in plain list values like \emph{} etc. + \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\blx@tempb\expandafter\expandafter\expandafter{\expandafter\expandonce\csname abx@listitems@\currentlist @\thelistcount\endcsname}% + \edef\blx@tempd{\endgroup + \noexpand\blx@kv@setkeys{blx@opt@listitems}{\blx@tempb}}% + \blx@tempd} + {}% + % per-list item lang switching is done in list:langswitchon/off in biblatex.def + % This is because the format wraps everything, including list delims like "and" + % which then are set according to the lang strings of the list item and this is + % not what we want - putting the lang switching in the format makes it granular + % to just the list item data + \blx@theformat{#1}% + \fi + \advance\c@listcount\@ne + \ifnum\c@listcount>\c@liststop + \expandafter\blx@listbreak + \fi + \blx@listparser}} + +\long\def\blx@listbreak#1&{} + +% <*>{<key>}{<code>} +\protected\def\blx@imc@entrydata{% + \@ifstar + {\blx@xsanitizeafter{\blx@imc@entrydata@i\blx@saveentry}} + {\blx@xsanitizeafter{\blx@imc@entrydata@i{}}}} + +\long\def\blx@imc@entrydata@i#1#2#3{% + \blx@getrefcontext{#2}% + \blx@ifdata{#2} + {\begingroup + #1% + \blx@resetdata + \blx@getdata{#2}% + \blx@entrysetcount + \blx@setoptions@type\abx@field@@@entrytype + \blx@setoptions@entry + \addtocounter{instcount}\@ne + \blx@execute + \blx@beglangbib#3\blx@endlangbib + \endgroup} + {}} + +\protected\def\blx@imc@entryset#1#2{% + \blx@imc@iffieldundef{entrykey} + {} + {\begingroup + \long\def\blx@entryset@precode{#1}% + \long\def\blx@entryset@postcode{#2}% + \let\finentry\blx@finentry@inset + \let\do\blx@entryset + \blx@imc@docsvfield{entryset}% + \endgroup}} + +\def\blx@entryset#1{% + \blx@ifdata{#1} + {\begingroup + \blx@imc@clearlist{pageref}% + \blx@getdata{#1}% + \blx@setoptions@type\abx@field@@@entrytype + \blx@setoptions@entry + \global\blx@entrysetcounter\@ne + \edef\abx@field@@@entrysetcount{\the\blx@entrysetcounter}% + \blx@execute + \blx@beglangbib + \blx@begunit + \blx@anchor + \blx@entryset@precode + \blx@driver{\blx@imc@thefield{entrytype}}% + \blx@entryset@postcode + \blx@endunit + \blx@endlangbib + \endgroup} + {}% + \let\do\blx@entryset@i} + +\def\blx@entryset@i#1{% + \blx@ifdata{#1} + {\begingroup + \blx@resetdata + \blx@getdata{#1}% + \blx@setoptions@type\abx@field@@@entrytype + \blx@setoptions@entry + \global\advance\blx@entrysetcounter\@ne + \edef\abx@field@@@entrysetcount{\the\blx@entrysetcounter}% + \addtocounter{instcount}\@ne + \blx@execute + \blx@beglangbib + \blx@begunit + \blx@anchor + \blx@entryset@precode + \blx@driver{\blx@imc@thefield{entrytype}}% + \blx@entryset@postcode + \blx@endunit + \blx@endlangbib + \endgroup} + {\blx@nounit}} + +\blx@regimcs{% + \printtext \printfield \printlist \printnames \printfile + \indexfield \indexlist \indexnames \entrydata \entryset} + +\let\blx@bibstringsets\@empty + +% {<set>}{<bibstring_1>,...,<bibstring_n>} +\newrobustcmd*{\DeclareBibstringSet}[1]{% + \listadd\blx@bibstringsets{#1}% + \def\do##1{% + \csdef{blx@bibstringset@string@##1}{#1}% + \listcsadd{blx@bibstringset@set@#1}{##1}}% + \docsvlist} + +% {<set>} +\newrobustcmd*{\UndeclareBibstringSet}[1]{% + \def\do##1{\csundef{blx@bibstringset@string@##1}}% + \dolistcsloop{blx@bibstringset@set@#1}% + \csundef{blx@bibstringset@set@#1}% + \UndeclareBibstringSetFormat{#1}} + +\newrobustcmd*{\UndeclareBibstringSets}{% + \forlistloop{\UndeclareBibstringSet}{\blx@bibstringsets}% + \let\blx@bibstringsets\@empty} + +% {<set>}{<code>} +\newrobustcmd*{\DeclareBibstringSetFormat}[1]{% + \csdef{blx@bibstringsetformat@#1}##1} + +% {<set>} +\newrobustcmd*{\UndeclareBibstringSetFormat}[1]{% + \csundef{blx@bibstringsetformat@#1}} + +% {<wrapper>}{<string (name)>}{<text (derived from string)>} +\def\blx@wrapbibstring#1#2#3{% + \ifcsundef{blx@bibstringset@string@#2} + {#1{#3}} + {\ifcsundef{blx@bibstringsetformat@\csuse{blx@bibstringset@string@#2}} + {#1{#3}} + {#1{\csuse{blx@bibstringsetformat@\csuse{blx@bibstringset@string@#2}} + {#3}}}}} + +%% 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}} + +\newrobustcmd*{\blx@imc@biblstring}[2][\@firstofone]{% + \blx@bibstring{#1}{abx@lstr}{#2}} + +\newrobustcmd*{\blx@imc@bibsstring}[2][\@firstofone]{% + \blx@bibstring{#1}{abx@sstr}{#2}} + +\def\blx@bibstringsimple{% + \let\bibstring\blx@imc@bibxstring + \let\biblstring\blx@imc@bibxlstring + \let\bibsstring\blx@imc@bibxsstring} + +\def\blx@bibstringnormal{% + \let\bibstring\blx@imc@bibstring + \let\biblstring\blx@imc@biblstring + \let\bibsstring\blx@imc@bibsstring} + +\protected\def\blx@bibstring#1#2#3{% + \blx@met@bibstring{#1}{#2}{#3} + {\blx@imc@ifcapital + {\blx@wrapbibstring{#1}{\blx@tempa}{\MakeCapital{\csuse{#2@\blx@tempa}}}} + {\blx@wrapbibstring{#1}{\blx@tempa}{\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} + {\blx@wrapbibstring{#1}{\blx@tempa}{\csuse{#2@\blx@tempa}}% + \blx@endunit}} + +% [<wrapper>]{<string>} +\newrobustcmd*{\blx@imc@bibcpstring}[2][\@firstofone]{% + \blx@bibcpstring{#1}{\abx@str}{#2}} + +\newrobustcmd*{\blx@imc@bibcplstring}[2][\@firstofone]{% + \blx@bibcpstring{#1}{abx@lstr}{#2}} + +\newrobustcmd*{\blx@imc@bibcpsstring}[2][\@firstofone]{% + \blx@bibcpstring{#1}{abx@sstr}{#2}} + +\protected\def\blx@bibcpstring#1#2#3{% + \blx@met@bibstring{#1}{#2}{#3} + {\blx@wrapbibstring{#1}{\blx@tempa}{\MakeCapital{\csuse{#2@\blx@tempa}}}% + \blx@endunit}} + +% [<wrapper>]{<string>} +\newrobustcmd*{\blx@imc@biblcstring}[2][\@firstofone]{% + \blx@biblcstring{#1}{\abx@str}{#2}} + +\newrobustcmd*{\blx@imc@biblclstring}[2][\@firstofone]{% + \blx@biblcstring{#1}{abx@lstr}{#2}} + +\newrobustcmd*{\blx@imc@biblcsstring}[2][\@firstofone]{% + \blx@biblcstring{#1}{abx@sstr}{#2}} + +\protected\def\blx@biblcstring#1#2#3{% + \blx@met@bibstring{#1}{#2}{#3} + {\blx@wrapbibstring{#1}{\blx@tempa}{\blx@maketext@lowercase{\csuse{#2@\blx@tempa}}}% + \blx@endunit}} + +% [<wrapper>]{<string>} +\newrobustcmd*{\blx@imc@bibucstring}[2][\@firstofone]{% + \blx@bibucstring{#1}{\abx@str}{#2}} + +\newrobustcmd*{\blx@imc@bibuclstring}[2][\@firstofone]{% + \blx@bibucstring{#1}{abx@lstr}{#2}} + +\newrobustcmd*{\blx@imc@bibucsstring}[2][\@firstofone]{% + \blx@bibucstring{#1}{abx@sstr}{#2}} + +\protected\def\blx@bibucstring#1#2#3{% + \blx@met@bibstring{#1}{#2}{#3} + {\blx@wrapbibstring{#1}{\blx@tempa}{\blx@maketext@uppercase{\csuse{#2@\blx@tempa}}}% + \blx@endunit}} + +% {<string>} +\def\blx@imc@bibxstring#1{% + \blx@bibxstring{\abx@str}{#1}} + +\def\blx@imc@bibxlstring#1{% + \blx@bibxstring{abx@lstr}{#1}} + +\def\blx@imc@bibxsstring#1{% + \blx@bibxstring{abx@sstr}{#1}} + +\def\blx@bibxstring#1#2{% + \ifcsundef{#1@#2} + {\protect\blx@warn@nostring{#2}} + {\csuse{#1@#2}}} + +% {<string>}{<true>}{<false>} +\def\blx@imc@ifbibstring#1{% + \ifcsundef{\abx@str @\detokenize{#1}} + {\@secondoftwo} + {\@firstoftwo}} + +\def\blx@imc@ifbibxstring#1{% + \blx@xsanitizeafter\ifcsundef{\abx@str @#1} + {\@secondoftwo} + {\@firstoftwo}} + +% [<msform>][<mslang>]{<field>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iffieldbibstring} + {O{\blx@msform} O{\blx@lmslang} m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \ifcsundef{\abx@str @\detokenize\expandafter + \expandafter\expandafter{% + \csname\blx@tempa\endcsname}} + {\@secondoftwo} + {\@firstoftwo}}} + +% [<msform>][<mslang>]{<field>}{<string>}{<true>}{<false>} +\DeclareExpandableDocumentCommand{\blx@imc@iffieldplusstringbibstring} + {O{\blx@msform} O{\blx@lmslang} m m} + {\blx@imc@iffieldundef[{#1}][{#2}]{#3} + {\@secondoftwo} + {\blx@imc@ifmsentryfield{#3} + {\def\blx@tempa{abx@field@#1@#2@#3}} + {\def\blx@tempa{abx@field@@@#3}}% + \ifcsundef{\abx@str @\detokenize\expandafter + \expandafter\expandafter{% + \csname\blx@tempa\endcsname}#4} + {\@secondoftwo} + {\@firstoftwo}}} + +\blx@regimcs{% + \bibstring \biblstring \bibsstring + \bibxstring \bibxlstring \bibxsstring + \bibncpstring \bibncplstring \bibncpsstring + \bibcpstring \bibcplstring \bibcpsstring + \biblcstring \biblclstring \biblcsstring + \bibucstring \bibuclstring \bibucsstring + \ifbibstring \ifbibxstring \iffieldbibstring + \iffieldplusstringbibstring} + +% \DeclareCaseChangeEquivalent is available in +% LaTeX 2022-06-01-PL5 +% the older code works-ish for LaTeX before 2022-06-01 +% it errors with 2022-06-01-PL4 +% but we'll not guard against this specific PL +\ifundef\DeclareCaseChangeEquivalent + {\let\blx@hook@uc\relax + \let\blx@hook@lc\relax + % + \AtEndPreamble{% + \toggletrue{blx@tempa}% + \toggletrue{blx@tempb}% + \expandafter\patchcmd\csname MakeUppercase \endcsname + {\protected@edef} + {\blx@hook@uc\protected@edef} + {\togglefalse{blx@tempa}} + {}% + \expandafter\patchcmd\csname MakeLowercase \endcsname + {\protected@edef} + {\blx@hook@lc\protected@edef} + {\togglefalse{blx@tempb}} + {}% + \@ifpackageloaded{textcase} + {\expandafter\patchcmd\csname MakeUppercase \endcsname + {\def\i} + {\blx@hook@uc\def\i} + {\togglefalse{blx@tempa}} + {}% + \expandafter\patchcmd\csname MakeLowercase \endcsname + {\@uclcnotmath{}} + {\@uclcnotmath{\blx@hook@lc}} + {\togglefalse{blx@tempb}} + {}% + \expandafter\patchcmd\csname MakeTextUppercase \endcsname + {\def\i} + {\blx@hook@uc\def\i} + {} + {}% + \expandafter\patchcmd\csname MakeTextLowercase \endcsname + {\@uclcnotmath{}} + {\@uclcnotmath{\blx@hook@lc}} + {} + {}} + {}% + \iftoggle{blx@tempa}{\blx@err@patch{\string\MakeUppercase}}{}% + \iftoggle{blx@tempb}{\blx@err@patch{\string\MakeLowercase}}{}% + } + % + \appto\blx@blxinit{% + \def\blx@hook@uc{% + \def\bibstring{\blx@imc@bibucstring}% + \def\biblstring{\blx@imc@bibuclstring}% + \def\bibsstring{\blx@imc@bibucsstring}% + \def\biblcstring{\blx@imc@bibucstring}% + \def\biblclstring{\blx@imc@bibuclstring}% + \def\biblcsstring{\blx@imc@bibucsstring}% + \def\bibcpstring{\blx@imc@bibucstring}% + \def\bibcplstring{\blx@imc@bibuclstring}% + \def\bibcpsstring{\blx@imc@bibucsstring}}% + \def\blx@hook@lc{% + \def\bibstring{\blx@imc@biblcstring}% + \def\biblstring{\blx@imc@biblclstring}% + \def\bibsstring{\blx@imc@biblcsstring}% + \def\bibucstring{\blx@imc@biblcstring}% + \def\bibuclstring{\blx@imc@biblclstring}% + \def\bibucsstring{\blx@imc@biblcsstring}% + \def\bibcpstring{\blx@imc@biblcstring}% + \def\bibcplstring{\blx@imc@biblclstring}% + \def\bibcpsstring{\blx@imc@biblcsstring}}}} + {\DeclareCaseChangeEquivalent{\bibstring}{% + \CaseSwitch + {\blx@imc@bibstring} + {\blx@imc@bibucstring} + {\blx@imc@biblcstring} + {\blx@imc@bibcpstring}} + \DeclareCaseChangeEquivalent{\biblstring}{% + \CaseSwitch + {\blx@imc@biblstring} + {\blx@imc@bibuclstring} + {\blx@imc@biblclstring} + {\blx@imc@bibcplstring}} + \DeclareCaseChangeEquivalent{\bibsstring}{% + \CaseSwitch + {\blx@imc@bibsstring} + {\blx@imc@bibucsstring} + {\blx@imc@biblcsstring} + {\blx@imc@bibcpsstring}} + \DeclareCaseChangeEquivalent{\biblcstring}{% + \CaseSwitch + {\blx@imc@bibstring} + {\blx@imc@bibucstring} + {\blx@imc@biblcstring} + {\blx@imc@bibcpstring}} + \DeclareCaseChangeEquivalent{\biblclstring}{% + \CaseSwitch + {\blx@imc@biblstring} + {\blx@imc@bibuclstring} + {\blx@imc@biblclstring} + {\blx@imc@bibcplstring}} + \DeclareCaseChangeEquivalent{\biblcsstring}{% + \CaseSwitch + {\blx@imc@bibsstring} + {\blx@imc@bibucsstring} + {\blx@imc@biblcsstring} + {\blx@imc@bibcpsstring}} + \DeclareCaseChangeEquivalent{\bibucstring}{% + \CaseSwitch + {\blx@imc@bibstring} + {\blx@imc@bibucstring} + {\blx@imc@biblcstring} + {\blx@imc@bibcpstring}} + \DeclareCaseChangeEquivalent{\bibuclstring}{% + \CaseSwitch + {\blx@imc@biblstring} + {\blx@imc@bibuclstring} + {\blx@imc@biblclstring} + {\blx@imc@bibcplstring}} + \DeclareCaseChangeEquivalent{\bibucsstring}{% + \CaseSwitch + {\blx@imc@bibsstring} + {\blx@imc@bibucsstring} + {\blx@imc@biblcsstring} + {\blx@imc@bibcpsstring}} + \DeclareCaseChangeEquivalent{\bibcpstring}{% + \CaseSwitch + {\blx@imc@bibstring} + {\blx@imc@bibucstring} + {\blx@imc@biblcstring} + {\blx@imc@bibcpstring}} + \DeclareCaseChangeEquivalent{\bibcplstring}{% + \CaseSwitch + {\blx@imc@biblstring} + {\blx@imc@bibuclstring} + {\blx@imc@biblclstring} + {\blx@imc@bibcplstring}} + \DeclareCaseChangeEquivalent{\bibcpsstring}{% + \CaseSwitch + {\blx@imc@bibsstring} + {\blx@imc@bibucsstring} + {\blx@imc@biblcsstring} + {\blx@imc@bibcpsstring}}} + +\def\abx@dostrings{% + \do{bibliography}% + \do{references}% + \do{shorthands}% + \do{editor}% + \do{editors}% + \do{compiler}% + \do{compilers}% + \do{redactor}% + \do{redactors}% + \do{reviser}% + \do{revisers}% + \do{founder}% + \do{founders}% + \do{continuator}% + \do{continuators}% + \do{collaborator}% + \do{collaborators}% + \do{translator}% + \do{translators}% + \do{commentator}% + \do{commentators}% + \do{annotator}% + \do{annotators}% + \do{commentary}% + \do{annotations}% + \do{introduction}% + \do{foreword}% + \do{afterword}% + \do{editortr}% + \do{editorstr}% + \do{editorco}% + \do{editorsco}% + \do{editoran}% + \do{editorsan}% + \do{editorin}% + \do{editorsin}% + \do{editorfo}% + \do{editorsfo}% + \do{editoraf}% + \do{editorsaf}% + \do{editortrco}% + \do{editorstrco}% + \do{editortran}% + \do{editorstran}% + \do{editortrin}% + \do{editorstrin}% + \do{editortrfo}% + \do{editorstrfo}% + \do{editortraf}% + \do{editorstraf}% + \do{editorcoin}% + \do{editorscoin}% + \do{editorcofo}% + \do{editorscofo}% + \do{editorcoaf}% + \do{editorscoaf}% + \do{editoranin}% + \do{editorsanin}% + \do{editoranfo}% + \do{editorsanfo}% + \do{editoranaf}% + \do{editorsanaf}% + \do{editortrcoin}% + \do{editorstrcoin}% + \do{editortrcofo}% + \do{editorstrcofo}% + \do{editortrcoaf}% + \do{editorstrcoaf}% + \do{editortranin}% + \do{editorstranin}% + \do{editortranfo}% + \do{editorstranfo}% + \do{editortranaf}% + \do{editorstranaf}% + \do{translatorco}% + \do{translatorsco}% + \do{translatoran}% + \do{translatorsan}% + \do{translatorin}% + \do{translatorsin}% + \do{translatorfo}% + \do{translatorsfo}% + \do{translatoraf}% + \do{translatorsaf}% + \do{translatorcoin}% + \do{translatorscoin}% + \do{translatorcofo}% + \do{translatorscofo}% + \do{translatorcoaf}% + \do{translatorscoaf}% + \do{translatoranin}% + \do{translatorsanin}% + \do{translatoranfo}% + \do{translatorsanfo}% + \do{translatoranaf}% + \do{translatorsanaf}% + \do{byauthor}% + \do{byeditor}% + \do{bycompiler}% + \do{byredactor}% + \do{byreviser}% + \do{byreviewer}% + \do{byfounder}% + \do{bycontinuator}% + \do{bycollaborator}% + \do{bytranslator}% + \do{bycommentator}% + \do{byannotator}% + \do{withcommentator}% + \do{withannotator}% + \do{withintroduction}% + \do{withforeword}% + \do{withafterword}% + \do{organizer}% + \do{organizers}% + \do{byorganizer}% + \do{byeditortr}% + \do{byeditorco}% + \do{byeditoran}% + \do{byeditorin}% + \do{byeditorfo}% + \do{byeditoraf}% + \do{byeditortrco}% + \do{byeditortran}% + \do{byeditortrin}% + \do{byeditortrfo}% + \do{byeditortraf}% + \do{byeditorcoin}% + \do{byeditorcofo}% + \do{byeditorcoaf}% + \do{byeditoranin}% + \do{byeditoranfo}% + \do{byeditoranaf}% + \do{byeditortrcoin}% + \do{byeditortrcofo}% + \do{byeditortrcoaf}% + \do{byeditortranin}% + \do{byeditortranfo}% + \do{byeditortranaf}% + \do{bytranslatorco}% + \do{bytranslatoran}% + \do{bytranslatorin}% + \do{bytranslatorfo}% + \do{bytranslatoraf}% + \do{bytranslatorcoin}% + \do{bytranslatorcofo}% + \do{bytranslatorcoaf}% + \do{bytranslatoranin}% + \do{bytranslatoranfo}% + \do{bytranslatoranaf}% + \do{and}% + \do{andothers}% + \do{andmore}% + \do{volume}% + \do{volumes}% + \do{involumes}% + \do{part}% + \do{jourvol}% + \do{jourser}% + \do{newseries}% + \do{oldseries}% + \do{edition}% + \do{reprint}% + \do{reprintof}% + \do{reprintas}% + \do{reprintfrom}% + \do{reviewof}% + \do{translationof}% + \do{translationas}% + \do{translationfrom}% + \do{origpubas}% + \do{origpubin}% + \do{astitle}% + \do{bypublisher}% + \do{nodate}% + \do{page}% + \do{pages}% + \do{column}% + \do{columns}% + \do{line}% + \do{lines}% + \do{verse}% + \do{verses}% + \do{section}% + \do{sections}% + \do{paragraph}% + \do{paragraphs}% + \do{pagetotal}% + \do{pagetotals}% + \do{columntotal}% + \do{columntotals}% + \do{linetotal}% + \do{linetotals}% + \do{versetotal}% + \do{versetotals}% + \do{sectiontotal}% + \do{sectiontotals}% + \do{paragraphtotal}% + \do{paragraphtotals}% + \do{in}% + \do{inseries}% + \do{ofseries}% + \do{book}% + \do{issue}% + \do{number}% + \do{chapter}% + \do{bathesis}% + \do{mathesis}% + \do{phdthesis}% + \do{candthesis}% + \do{resreport}% + \do{techreport}% + \do{software}% + \do{datacd}% + \do{audiocd}% + \do{version}% + \do{url}% + \do{urlfrom}% + \do{urlseen}% + \do{file}% + \do{inpreparation}% + \do{submitted}% + \do{inpress}% + \do{prepublished}% + \do{forthcoming}% + \do{library}% + \do{abstract}% + \do{annotation}% + \do{citedas}% + \do{seenote}% + \do{quotedin}% + \do{opcit}% + \do{loccit}% + \do{ibidem}% + \do{idem}% + \do{idemsf}% + \do{idemsm}% + \do{idemsn}% + \do{idempf}% + \do{idempm}% + \do{idempn}% + \do{idempp}% + \do{confer}% + \do{sequens}% + \do{sequentes}% + \do{passim}% + \do{see}% + \do{seealso}% + \do{backrefpage}% + \do{backrefpages}% + \do{thiscite}% + \do{january}% + \do{february}% + \do{march}% + \do{april}% + \do{may}% + \do{june}% + \do{july}% + \do{august}% + \do{september}% + \do{october}% + \do{november}% + \do{december}% + \do{langamerican}% + \do{langbasque}% + \do{langbrazilian}% + \do{langbulgarian}% + \do{langcatalan}% + \do{langcroatian}% + \do{langczech}% + \do{langdanish}% + \do{langdutch}% + \do{langenglish}% + \do{langestonian}% + \do{langfinnish}% + \do{langfrench}% + \do{langgalician}% + \do{langgerman}% + \do{langgreek}% + \do{langhungarian}% + \do{langitalian}% + \do{langjapanese}% + \do{langlatin}% + \do{langlatvian}% + \do{langlithuanian}% + \do{langmarathi}% + \do{langnorwegian}% + \do{langpolish}% + \do{langportuguese}% + \do{langserbian}% + \do{langromanian}% + \do{langrussian}% + \do{langslovak}% + \do{langslovene}% + \do{langspanish}% + \do{langswedish}% + \do{langturkish}% + \do{langukrainian}% + \do{fromamerican}% + \do{frombasque}% + \do{frombrazilian}% + \do{frombulgarian}% + \do{fromcatalan}% + \do{fromcroatian}% + \do{fromczech}% + \do{fromdanish}% + \do{fromdutch}% + \do{fromenglish}% + \do{fromestonian}% + \do{fromfinnish}% + \do{fromfrench}% + \do{fromgalician}% + \do{fromgerman}% + \do{fromgreek}% + \do{fromhungarian}% + \do{fromitalian}% + \do{fromjapanese}% + \do{fromlatin}% + \do{fromlithuanian}% + \do{fromlatvian}% + \do{frommarathi}% + \do{fromnorwegian}% + \do{frompolish}% + \do{fromportuguese}% + \do{fromromanian}% + \do{fromrussian}% + \do{fromserbian}% + \do{fromslovak}% + \do{fromslovene}% + \do{fromspanish}% + \do{fromswedish}% + \do{fromturkish}% + \do{fromukrainian}% + \do{countryde}% + \do{countryep}% + \do{countryeu}% + \do{countryfr}% + \do{countryuk}% + \do{countryus}% + \do{patent}% + \do{patentde}% + \do{patenteu}% + \do{patentfr}% + \do{patentuk}% + \do{patentus}% + \do{patreq}% + \do{patreqde}% + \do{patreqeu}% + \do{patreqfr}% + \do{patrequk}% + \do{patrequs}% + \do{commonera}% + \do{beforecommonera}% + \do{annodomini}% + \do{beforechrist}% + \do{circa}% + \do{spring}% + \do{summer}% + \do{autumn}% + \do{winter}% + \do{springN}% + \do{summerN}% + \do{autumnN}% + \do{winterN}% + \do{springS}% + \do{summerS}% + \do{autumnS}% + \do{winterS}% + \do{Q1}% + \do{Q2}% + \do{Q3}% + \do{Q4}% + \do{QD1}% + \do{QD2}% + \do{QD3}% + \do{S1}% + \do{S2}% + \do{am}% + \do{pm}% +} + +\newrobustcmd*{\NewBibliographyString}[1]{% + \forcsvlist\blx@newstring{#1}} + +\def\blx@newstring#1{% + \blx@kv@ifkeyundef{blx@lbx}{#1} + {\gappto\abx@dostrings{\do{#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{\blx@kv@defkey{blx@lbx}{#1}{\blx@defstring{#1}{##1}}} +\abx@dostrings + +% in *.cbx/bbx/tex: (implicit) +% in *.lbx: inherit = {<language>}, +\blx@kv@defkey{blx@lbx}{inherit}{% + \blx@lbxinput@strings{#1}{}{\blx@err@nolang{#1}}% + \csuse{abx@strings@#1}} + +\def\blx@cfg@defstring#1#2{% + \csdef{abx@lstr@#1}{#2}% + \csdef{abx@sstr@#1}{#2}} + +\def\blx@lbx@defstring#1#2{% + \blx@lbx@defstring@i{#1}#2} +\def\blx@lbx@defstring@i#1#2#3{% + \csdef{abx@lstr@#1}{#2}% + \csdef{abx@sstr@#1}{#3}} + +% {<language>} +\def\blx@lbxcheck#1{% + \begingroup + \ifcsdef{blx@lng@#1} + {\edef\blx@tempa{\csuse{blx@lng@#1}.lbx}} + {\def\blx@tempa{#1.lbx}}% + \expandafter\blx@altfile\expandafter{\blx@tempa}% + \ifdefempty\blx@fnext + {\blx@err@nolang{#1}} + {}% + \endgroup} + +% {<language>}{<definitions>} +\newrobustcmd*{\DefineBibliographyExtras}[2]{% + \blx@lbxcheck{#1}% + \csgappto{blx@hook@extras@#1}{% + \blx@defbibextras{#1}{#2}}} +\@onlypreamble\DefineBibliographyExtras + +\newrobustcmd*{\UndefineBibliographyExtras}[2]{% + \blx@lbxcheck{#1}% + \csgappto{blx@hook@noextras@#1}{% + \blx@undefbibextras{#1}{#2}}} +\@onlypreamble\UndefineBibliographyExtras + +\def\blx@defbibextras#1{\csgappto{abx@extras@#1}} +\def\blx@undefbibextras#1{\csgappto{abx@noextras@#1}} + +% {<language>}{<language>} +\def\blx@letbibextras#1#2{% + \blx@lbxinput@extras{#2}{}{\blx@err@nolang{#2}}% + \global\csletcs{abx@extras@#1}{abx@extras@#2} + \global\csletcs{abx@noextras@#1}{abx@noextras@#2}}% + +% {<language>}{<strings>} +\newrobustcmd*{\DefineBibliographyStrings}[2]{% + \blx@lbxcheck{#1}% + \csgappto{blx@hook@strings@#1}{% + \begingroup + \let\blx@defstring\blx@cfg@defstring + \blx@defbibstrings{#1}{#2}% + \endgroup}} +\@onlypreamble\DefineBibliographyStrings + +\def\blx@defbibstrings#1#2{% + \def\do##1{\csundef{abx@lstr@##1}\csundef{abx@sstr@##1}}% + \abx@dostrings + \csuse{abx@strings@#1}% + \blx@kv@setkeys{blx@lbx}{#2}% + \let\do\blx@defbibstrings@i + \csxdef{abx@strings@#1}{\abx@dostrings}% + \csgappto{abx@strings@#1}{% + \ifcsdef{\abx@str @bibliography} + {\letcs\bibname{\abx@str @bibliography}} + {\let\bibname\@empty}% + \ifcsdef{\abx@str @references} + {\letcs\refname{\abx@str @references}} + {\let\refname\@empty}% + \ifcsdef{\abx@str @shorthands} + {\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{% + \csexpandonce{abx@lstr@#1}}} + {\undef\expandafter\noexpand\csname abx@lstr@#1\endcsname}% + \ifcsdef{abx@sstr@#1} + {\def\expandafter\noexpand\csname abx@sstr@#1\endcsname{% + \csexpandonce{abx@sstr@#1}}} + {\undef\expandafter\noexpand\csname abx@sstr@#1\endcsname}} + +% {<language>}{<language>} +\def\blx@letbibstrings#1#2{% + \blx@lbxinput@strings{#2}{}{\blx@err@nolang{#2}}% + \global\csletcs{abx@strings@#1}{abx@strings@#2}}% + +% {<language>}{<exceptions>} +\newrobustcmd*{\DefineHyphenationExceptions}[2]{% + \blx@ifhyphenationundef{#1} + {\blx@warn@nohyph{#1}} + {}% + \csgappto{blx@hook@hyph@#1}{\blx@hyphexcept{#1}{#2}}} +\@onlypreamble\DefineHyphenationExceptions + +\def\blx@hyphexcept#1#2{% + \blx@ifhyphenationundef{#1} + {\blx@warn@nohyph{#1}} + {\begingroup + \language\csname l@#1\endcsname\relax + \hyphenation{#2}% + \endgroup}} + +% {<mapping suffix>} +\newrobustcmd*{\DeclareLanguageMappingSuffix}[1]{% + \gdef\blx@lng@suff{#1}} +\@onlypreamble\DeclareLanguageMappingSuffix +\let\blx@lng@suff\@empty + +% {<language>}{<mapping>} +\newrobustcmd*{\DeclareLanguageMapping}[2]{% + \csgdef{blx@lng@#1}{#2}% + \csgdef{blx@lng@explicit@#1}{#2}} +\@onlypreamble\DeclareLanguageMapping + +% to avoid copying, these commands simply redefine the input handlers and +% process and postprocess code +% {<language>}{<success>}{<failure>} +\def\blx@lbxinput#1{% + \csletcs{blx@lbx@input@handler}{blx@lbx@input@handler@once}% + \csletcs{blx@lbx@input@process}{blx@lbx@input@process@all}% + \csletcs{blx@lbx@input@postprocess}{blx@lbx@input@postprocess@all}% + \blx@lbxinput@i{#1}} + +\def\blx@lbxinput@strings#1{% + \csletcs{blx@lbx@input@handler}{blx@lbx@input@handler@simple}% + \csletcs{blx@lbx@input@process}{blx@lbx@input@process@strings}% + \csletcs{blx@lbx@input@postprocess}{blx@lbx@input@postprocess@strings}% + \blx@lbxinput@i{#1}} + +\def\blx@lbxinput@extras#1{% + \csletcs{blx@lbx@input@handler}{blx@lbx@input@handler@simple}% + \csletcs{blx@lbx@input@process}{blx@lbx@input@process@extras}% + \csletcs{blx@lbx@input@postprocess}{blx@lbx@input@postprocess@extras}% + \blx@lbxinput@i{#1}} + +\def\blx@lbxinput@i#1{% + \ifcsundef{blx@nolbxrecurse@#1} + {\ifcsdef{blx@lng@explicit@#1} + {\global\csletcs{blx@lng@#1}{blx@lng@explicit@#1}} + {\ifdefempty\blx@lng@suff + {} + {\csgdef{blx@lng@#1}{#1\blx@lng@suff}}}} + {}% + \blx@lbxinput@ii{#1}} + +\def\blx@lbxinput@ii#1{% + \ifcsdef{blx@lng@#1} + {\expandafter\expandafter\expandafter\blx@lbxinput@iii + \expandafter\expandafter\expandafter{% + \csname blx@lng@#1\endcsname}{#1}} + {\blx@altfile{#1.lbx}% + \ifdefempty\blx@fnext + {\blx@lbxinput@iv{#1}{#1}{language '#1'}} + {\blx@lbxinput@iv{#1}{\blx@fnnoext}{language '#1'}}}} + +% {<mapping>}{<language>} +\def\blx@lbxinput@iii#1#2{% + \global\csundef{blx@lng@#2}% + \blx@altfile{#1.lbx}% + \ifdefempty\blx@fnext + {\ifcsdef{blx@suffmaptried@#2} + {} + {\blx@warning@noline{% + File '#1.lbx' not found!\MessageBreak + Ignoring mapping '#2' -> '#1'}% + \global\cslet{blx@suffmaptried@#2}\@empty}% + \blx@lbxinput@iv{#2}{#2}{language '#2'}} + {\blx@lbxinput@iv{#2}{\blx@fnnoext}{language '#2' -> '#1'}}} + +% {<language>}{<lbxfile>}{<message>} +\def\blx@lbxinput@iv#1#2#3{% + \begingroup + \blx@lbx@input@handler{#2.lbx}{#3} + {\let\InheritBibliographyStrings\@gobble + \let\DeclareBibliographyStrings\@gobble + \let\InheritBibliographyExtras\@gobble + \let\DeclareBibliographyExtras\@gobble + \let\UndeclareBibliographyExtras\@gobble + \blx@lbx@input@process{#1}% + \begingroup + \cslet{blx@nolbxrecurse@#1}\@empty + \blx@saneccodes + \makeatletter} + {\endgroup + \blx@lbx@input@postprocess{#1}} + {\aftergroup\@firstoftwo} + {\aftergroup\@secondoftwo}% + \endgroup} + +% .lbx files must be read with one of the two following commands, +% do not use \blx@inputonce. Only the commands here make sure that the file +% is read as many times as necessary. +% blx@file@lbx@simple@#1 only blocks the file being added to the file list +% blx@file@lbx@once@#1 blocks a file from being loaded again by the input-once +% routine +% {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>} +\protected\long\def\blx@lbx@input@handler@simple#1#2#3#4#5#6{% + \blx@info@noline{Trying to load #2..}% + \IfFileExists{#1} + {\blx@info@noline{... file '#1' found}% + \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}% + \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{% + \ifcsundef{blx@file@lbx@once@#1} + {\blx@info@noline{Trying to load #2..}% + \IfFileExists{#1} + {\blx@info@noline{... file '#1' found}% + \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}% + \csuse{blx@lbxfilehook@once@failure@#1}% + #6}% + \global\cslet{blx@file@lbx@once@#1}\@empty + \global\cslet{blx@file@lbx@simple@#1}\@empty} + {#5}} + +\def\blx@lbx@input@process@strings#1{% + \global\cslet{abx@strings@#1}\@empty + \def\InheritBibliographyStrings{% + \blx@letbibstrings{#1}}% + \def\DeclareBibliographyStrings##1{% + \begingroup + \let\blx@defstring\blx@lbx@defstring + \blx@defbibstrings{#1}{##1}% + \endgroup}} + +\def\blx@lbx@input@process@extras#1{% + \global\cslet{abx@extras@#1}\@empty + \global\cslet{abx@noextras@#1}\@empty + \def\InheritBibliographyExtras{\blx@letbibextras{#1}}% + \def\DeclareBibliographyExtras{\blx@defbibextras{#1}}% + \def\UndeclareBibliographyExtras{\blx@undefbibextras{#1}}} + +\def\blx@lbx@input@process@all#1{% + \blx@lbx@input@process@strings{#1}% + \blx@lbx@input@process@extras{#1}% + \def\DeclareHyphenationExceptions{\blx@hyphexcept{#1}}} + +\def\blx@lbx@input@postprocess@strings#1{% + \csuse{blx@hook@strings@#1}} + +\def\blx@lbx@input@postprocess@extras#1{% + \csuse{blx@hook@extras@#1}% + \csuse{blx@hook@noextras@#1}} + +\def\blx@lbx@input@postprocess@all#1{% + \blx@lbx@input@postprocess@strings{#1}% + \blx@lbx@input@postprocess@extras{#1}% + \csuse{blx@hook@hyph@#1}% + \blx@maplang{#1}{#1}} + +% {<language>} +\protected\def\blx@langsetup#1{% + \blx@lbxinput{#1} + {\edef\blx@languagename{#1}} + {\blx@warning + {Language '#1' not supported.\MessageBreak + Using dummy definitions}}} + +\protected\def\blx@langsetup@from@pkglist#1{% + \global\cslet{blx@lbx@loaded@from@pkglist@#1}\@empty + \blx@langsetup{#1}} + +\protected\def\blx@langsetup@from@auxlist#1{% + \global\cslet{blx@lbx@loaded@from@auxlist@#1}\@empty + \blx@langsetup{#1}} + +\newcommand*{\blx@lbx@loadlist}{} + +\protected\def\blx@langsetup@indoc#1{% + \ifcsundef{blx@lbx@loaded@from@pkglist@#1} + {\xifinlist{#1}\blx@lbx@loadlist + {} + {\listxadd\blx@lbx@loadlist{#1}}% + \ifcsundef{blx@lbx@loaded@from@auxlist@#1} + {\ifcsundef{blx@lbx@loaded@nolistload@#1} + {\blx@warning@noline{% + No localisation for language '#1' loaded.\MessageBreak + Please rerun LaTeX to ensure languages can\MessageBreak + be requested properly}% + \global\cslet{blx@lbx@loaded@nolistload@#1}\@empty} + {}} + {\edef\blx@languagename{#1}}} + {\edef\blx@languagename{#1}}% +} + +\newcommand*{\blx@lbx@auxloadlist}{} + +\def\abx@aux@lbx@loadrequest{% + \listgadd\blx@lbx@auxloadlist} + +\protected\def\blx@lbx@writeloaderequest#1{% + \blx@auxwrite\@mainaux{}{% + \string\abx@aux@lbx@loadrequest{#1}}} + +% auxiliary macros + +% {<field base name>} +\newrobustcmd*{\mkdaterangeshort}{% + \mkdaterangefull{short}} + +\newrobustcmd*{\mkdaterangelong}{% + \mkdaterangefull{long}} + +\newrobustcmd*{\mkdaterangeterse}{% + \mkdaterangetrunc{short}} + +\newrobustcmd*{\mkdaterangecomp}{% + \mkdaterangetrunc{long}} + +\newrobustcmd*{\mkdaterangeshortextra}{% + \mkdaterangefullextra{short}} + +\newrobustcmd*{\mkdaterangelongextra}{% + \mkdaterangefullextra{long}} + +\newrobustcmd*{\mkdaterangeterseextra}{% + \mkdaterangetruncextra{short}} + +\newrobustcmd*{\mkdaterangecompextra}{% + \mkdaterangetruncextra{long}} + +% calls to \blx@metadateinfo should be grouped to avoid name clashes +\def\blx@metadateinfo#1{% + \letcs\ifdateera{if#1dateera}% + \letcs\ifenddateera{if#1enddateera}% + \letcs\ifdatecirca{if#1datecirca}% + \letcs\ifenddatecirca{if#1enddatecirca}% + \letcs\ifdatejulian{if#1datejulian}% + \letcs\ifenddatejulian{if#1enddatejulian}% + \letcs\ifdateuncertain{if#1dateuncertain}% + \letcs\ifenddateuncertain{if#1enddateuncertain}% + \letcs\ifdateunknown{if#1dateunknown}% + \letcs\ifenddateunknown{if#1enddateunknown}} + +\expandafter\newrobustcmd\expandafter*\csname mktimerange24h\endcsname{% + \mktimerange{24h}} + +\expandafter\newrobustcmd\expandafter*\csname mktimerange12h\endcsname{% + \mktimerange{12h}} + +\expandafter\newrobustcmd\expandafter*\csname mktimerange24hcomp\endcsname[1]{% + \iffieldundef{#1hour} + {} + {\ifboolexpr{test {\iffieldundef{#1endhour}} + or + test {\iffieldequalstr{#1endhour}{}}} + {\mktimerange{24h}{#1}} + {\iffieldsequal{#1hour}{#1endhour} + % 14:xx:xx 14:xx:xx + {\iffieldsequal{#1minute}{#1endminute} + % 14:13:xx 14:13:xx + {\toggletrue{blx@seconds}% + \printtext[{#1time}]{% + \csuse{mkbibtime24h}{#1hour}{#1minute}{#1second}{}% + \bibtimerangesep + \csuse{mkbibtime24h}{}{}{#1endsecond}{}}} + % 14:13:xx 14:14:xx + {\toggletrue{blx@seconds}% + \printtext[{#1time}]{\csuse{mkbibtime24h}{#1hour}{#1minute}{}{}% + \bibtimerangesep + \csuse{mkbibtime24h}{}{#1endminute}{}{}}}} + % 14:xx:xx 15:xx:xx + {\mktimerange{24h}{#1}}}}} + +% {<24h|24hcomp|12h>}{<datetype>} +\newrobustcmd*{\mktimerange}[2]{% + \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]{% + \iftoggle{blx@timezones}{} + {\blx@imc@clearfield{#1#2timezone}}% + \iftoggle{blx@seconds}{} + {\blx@imc@clearfield{#1#2second}}} + +\newcommand*{\blx@if@printtime}[2]{% + \iftoggle{blx@#1dateusetime} + {\iffieldundef{#1#2hour} + {\@secondoftwo} + {\@firstoftwo}} + {\@secondoftwo}} + +\newcommand*{\blx@if@printanytimes}[1]{% + \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}% + \bibdatetimesep% + \printtext[{#1time}]{% + \csuse{mkbibtime\csuse{blx@timeformat@#1time}} + {#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}} + {}} + +% {<short|long>}{<datetype>} +\newrobustcmd*{\mkdaterangefull}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + % Optionally print the time after the date + \blx@printtime{#2}{}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\newrobustcmd*{\mkdaterangefullextra}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + % Optionally print the time after the date + \blx@printtime{#2}{}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% + \endgroup} + +\newrobustcmd*{\mkdaterangetrunc}[2]{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\mkdaterangetrunc@i{#1}{#2}}} + +\newrobustcmd*{\mkdaterangetrunc@i}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{}{}{#2day}} + {\csuse{mkbibdate#1}{}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\newrobustcmd*{\mkdaterangetruncextra}[2]{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\mkdaterangetruncextra@i{#1}{#2}}} + +\newrobustcmd*{\mkdaterangetruncextra@i}[2]{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{}{}{#2day}} + {\csuse{mkbibdate#1}{}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% + \endgroup} + +\newrobustcmd*{\mkdaterangeyear}[1]{% + \begingroup + \blx@imc@clearfield{#1yeardivision}% + \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{#1endyeardivision}% + \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]{% + \begingroup + \blx@metadateinfo{#1}% + \iffieldundef{#1year} + {\blx@nounit} + {\printtext[{#1date}]{% + \datecircaprint + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#1yeardivision} + {\blx@ymddate{#1}{}% + % Optionally print the time after the date + \blx@printtime{#1}{}} + {\csuse{mkbibyeardivisiondateshort}{#1year}{#1yeardivision}}% + \dateuncertainprint + \dateeraprint{#1year}% + \iffieldundef{#1endyear} + {} + {\iffieldequalstr{#1endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#1yeardivision} + {\blx@ymddate{#1}{end}% + % Optionally print the time after the date + \blx@printtime{#1}{end}} + {\csuse{mkbibyeardivisiondateshort}{#1endyear}{#1endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#1endyear}}}}}% + \endgroup} + +% {<datetype>} +\newrobustcmd*{\mkdaterangeymdextra}[1]{% + \begingroup + \blx@metadateinfo{#1}% + \iffieldundef{#1year} + {\blx@nounit} + {\printtext[{#1date}]{% + \datecircaprint + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#1yeardivision} + {\blx@ymddate[extradate]{#1}{}% + % Optionally print the time after the date + \blx@printtime{#1}{}} + {\csuse{mkbibyeardivisiondateshort}{#1year}{#1yeardivision}}% + \dateuncertainprint + \dateeraprint{#1year}% + \iffieldundef{#1endyear} + {} + {\iffieldequalstr{#1endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#1yeardivision} + {\blx@ymddate{#1}{end}% + % Optionally print the time after the date + \blx@printtime{#1}{end}} + {\csuse{mkbibyeardivisiondateshort}{#1endyear}{#1endyeardivision}}}% + \enddateuncertainprint + \dateeraprint{#1endyear}}}}% + \endgroup} + +% [extradate]{<datetype>}{''|end} +\newrobustcmd*{\blx@ymddate}[3][]{% + \dateeraprintpre{#2#3year}% + \mkyearzeros{\thefield{#2#3year}}\ifblank{#1}{}{\printfield{#1}}% + \iffieldundef{#2#3month}{}{\bibdatesep\mkmonthzeros{\thefield{#2#3month}}}% + \iffieldundef{#2#3day}{}{\bibdatesep\mkdayzeros{\thefield{#2#3day}}}} + +\newrobustcmd*{\mkdaterangeyearextra}[1]{% + \begingroup + \blx@imc@clearfield{#1yeardivision}% + \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{#1endyeardivision}% + \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 + \blx@metadateinfo{#1}% + \def\bibdatetimesep{T}% + \iffieldundef{#1year} + {\blx@nounit} + {\printtext[{#1date}]{% + \blx@isodate{#1}{}% + \ifboolexpr{% + togl {blx@#1dateusetime} + and + not test {\iffieldundef{#1hour}}} + {\bibdatetimesep% + \blx@isotime{#1}{}} + {}% + \dateuncertainprint + \datecircaprintiso + \iffieldundef{#1endyear} + {} + {\addslash + \blx@isodate{#1}{end}% + \ifboolexpr{% + togl {blx@#1dateusetime} + and + not test {\iffieldundef{#1endhour}}} + {\bibdatetimesep% + \blx@isotime{#1}{end}} + {}% + \enddateuncertainprint + \enddatecircaprintiso}}}% + \endgroup} + +\newrobustcmd*{\mkdaterangeisoextra}[1]{% + \begingroup + \blx@metadateinfo{#1}% + \def\bibdatetimesep{T}% + \iffieldundef{#1year} + {\blx@nounit} + {\printtext[{#1date}]{% + \blx@isodate[extradate]{#1}{}% + \ifboolexpr{% + togl {blx@#1dateusetime} + and + not test {\iffieldundef{#1hour}}} + {\bibdatetimesep% + \blx@isotime{#1}{}} + {}% + \dateuncertainprint + \datecircaprintiso + \iffieldundef{#1endyear} + {} + {\addslash + \blx@isodate{#1}{end}}% + \ifboolexpr{% + togl {blx@#1dateusetime} + and + not test {\iffieldundef{#1endhour}}} + {\bibdatetimesep% + \blx@isotime{#1}{end}} + {}% + \enddateuncertainprint + \enddatecircaprintiso}}% + \endgroup} + +% [extradate]{<datetype>}{''|end} +\newrobustcmd*{\blx@isodate}[3][]{% + \dateeraprintpre{#2#3year}% + \blx@imc@forcezerosy{\thefield{#2#3year}}\ifblank{#1}{}{\printfield{#1}}% + % Such a year division component can only come from an ISO8601 year division which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2#3yeardivision} + {\iffieldundef{#2#3month}{}{\hyphen\blx@imc@forcezerosmdt{\thefield{#2#3month}}}% + \iffieldundef{#2#3day}{}{\hyphen\blx@imc@forcezerosmdt{\thefield{#2#3day}}}} + {\hyphen\blx@yeardivisionmap{\thefield{#2#3yeardivision}}}} + +\def\blx@yeardivisionmap#1{% + \blx@xifstrequal{#1}{spring}{21} + {\blx@xifstrequal{#1}{summer}{22} + {\blx@xifstrequal{#1}{autumn}{23} + {\blx@xifstrequal{#1}{winter}{24}{}}}}} + +\newrobustcmd*{\blx@isotime}[2]{% + \blx@imc@forcezerosmdt{\thefield{#1#2hour}}% + :\blx@imc@forcezerosmdt{\thefield{#1#2minute}}% + :\blx@imc@forcezerosmdt{\thefield{#1#2second}}% + \iftoggle{blx@timezones} + {\mkbibtimezone{\thefield{#1#2timezone}}} + {}} + +% some sane defaults for bibliography extras +% many of these should be redefined in the .lbx files +% all .lbx files should have date and time handling, so the fallback values +% issue a warning to make people aware of the deficiency in their file +% \mkbibordinal should also only be used if it is defined, so it warns as well +% times +\newrobustcmd*{\bibtimesep}{:} +\newrobustcmd*{\bibtimerangesep}{\textendash} +\newrobustcmd*{\bibutctimezone}{Z} +\newrobustcmd*{\bibtimezonesep}{} +\newrobustcmd*{\bibtzminsep}{\bibtimesep} +% dates +\newrobustcmd*{\bibdateuncertain}{?} +% \textminus is only guaranteed for non-PDFTeX +\newrobustcmd*{\bibdateeraprefix}{\ifdef\textminus\textminus\textendash} +\newrobustcmd*{\bibdateeraendprefix}{\,\bibdateeraprefix} +\newrobustcmd*{\bibdatesep}{\hyphen} +\newrobustcmd*{\bibdaterangesep}{\bibrangedash} +% date+times +\newrobustcmd*{\bibdatetimesep}{\space} +% ranges +\newrobustcmd*{\bibrangedash}{\textendash} +\newrobustcmd*{\bibrangessep}{,\space} +% formatters +\newrobustcmd*{\mkbibtimezone}[1]{\blx@xifstrequal{#1}{Z}{\bibutctimezone}{#1}} +% you should never end up needing the next few definitions +% but it is safer to do something than just swallow the input +\newrobustcmd*{\mkbibdatelong}[3]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibdatelong.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibdatelong + }% + \iffieldundef{#3} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}} + +\newrobustcmd*{\mkbibdateshort}[3]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibdateshort.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibdateshort + }% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{/}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{/}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}} + +\expandafter\newrobustcmd\expandafter*\csname mkbibtime24h\endcsname[4]{% + \blx@warning@noline{% + Using fallback definition for + \expandafter\string\csname mkbibtime24h\endcsname.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \expandafter\string\csname mkbibtime24h\endcsname + }% + \iffieldundef{#1} + {} + {\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\newrobustcmd\expandafter*\csname mkbibtime12h\endcsname[4]{% + \blx@warning@noline{% + Using fallback definition for + \expandafter\string\csname mkbibtime12h\endcsname.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \expandafter\string\csname mkbibtime12h\endcsname + }% + \stripzeros{\mktimehh{\thefield{#1}}}% + \bibtimesep + \forcezerosmdt{\thefield{#2}}% + \iffieldundef{#3}{} + {\bibtimesep + \forcezeros{\thefield{#3}}}% + \space + \ifnumless{\thefield{#1}}{12} + {\bibstring{am}} + {\bibstring{pm}}% + \iffieldundef{#4}{} + {\space\bibtimezonesep + \mkbibparens{\mkbibtimezone{\thefield{#4}}}}} + +\newrobustcmd*{\mkbibyeardivisiondateshort}[2]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibyeardivisiondateshort.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibyeardivisiondateshort + }% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}} +\def\mkbibseasondateshort{% LEGACY + \blx@warning@noline{% + '\string\mkbibseasondateshort' is deprecated in favour of\MessageBreak + '\string\mkbibyeardivisiondateshort'}% + \mkbibyeardivisiondateshort} + +\newrobustcmd*{\mkbibyeardivisiondatelong}[2]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibyeardivisiondatelong.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibyeardivisiondatelong + }% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}} +\def\mkbibseasondatelong{% LEGACY + \blx@warning@noline{% + '\string\mkbibseasondatelong' is deprecated in favour of\MessageBreak + '\string\mkbibyeardivisiondatelong'}% + \mkbibyeardivisiondatelong} + +\newrobustcmd*{\bibdatedash}{\bibrangedash} +\newrobustcmd*{\finalandcomma}{} +\newrobustcmd*{\finalandsemicolon}{} +\newrobustcmd*{\mkbibordinal}[1]{% + \blx@warning@noline{% + Using fallback definition for \string\mkbibordinal.\MessageBreak + The command should be defined in the .lbx file.\MessageBreak + If you see this message, the .lbx file could not be\MessageBreak + loaded, is faulty or does not contain a definition\MessageBreak + for \string\mkbibordinal + }% + #1% +} +\newrobustcmd*{\mkbibmascord}{\mkbibordinal} +\newrobustcmd*{\mkbibfemord}{\mkbibordinal} +\newrobustcmd*{\mkbibneutord}{\mkbibordinal} +% the following is usually not redefined in an .lbx +\newrobustcmd*{\mkbibyeardivision}[1]{\abx@bibyeardivision{#1}} +\newrobustcmd*\mkbibseason{% LEGACY + \blx@warning@noline{% + '\string\mkbibseason' is deprecated in favour of\MessageBreak + '\string\mkbibyeardivision'}% + \mkbibyeardivision} +\newrobustcmd*{\mkbibmonth}[1]{% + \ifcase0#1\relax + \blx@warning@entry{Month out of range or not an integer}% + \or\abx@bibmonth{january}% + \or\abx@bibmonth{february}% + \or\abx@bibmonth{march}% + \or\abx@bibmonth{april}% + \or\abx@bibmonth{may}% + \or\abx@bibmonth{june}% + \or\abx@bibmonth{july}% + \or\abx@bibmonth{august}% + \or\abx@bibmonth{september}% + \or\abx@bibmonth{october}% + \or\abx@bibmonth{november}% + \or\abx@bibmonth{december}% + \else + \blx@warning@entry{Month out of range}#1% + \fi} + +% strip leading zeros and prepend zero for month/day/timeparts +% Allow for non numeric labelyear values +\protected\def\blx@imc@forcezerosmdt#1{% + \protected@edef\blx@tempa{#1}% + \expandafter\blx@imc@forcezerosmdt@i\expandafter{\blx@tempa}} + +\protected\def\blx@imc@forcezerosmdt@i#1{% + \notblank{#1} + {\blx@imc@ifinteger{#1} + {\ifnumless{#1}{10} + {0\the\numexpr(#1)\relax} + {#1}} + {#1}} + {#1}} + +% strip leading zeros and prepend zero(s) for year +% Allow for non numeric labelyear values +\protected\def\blx@imc@forcezerosy#1{% + \protected@edef\blx@tempa{#1}% + \expandafter\blx@imc@forcezerosy@i\expandafter{\blx@tempa}} + +\protected\def\blx@imc@forcezerosy@i#1{% + \notblank{#1} + {\blx@imc@ifinteger{#1} + {\ifnumless{#1}{10}% 1-digit year + {000\the\numexpr(#1)\relax} + {\ifnumless{#1}{100}% 2-digit year + {00\the\numexpr(#1)\relax} + {\ifnumless{#1}{1000}% 3-digit year + {0\the\numexpr(#1)\relax} + {#1}}}} + {#1}} + {#1}}% + +\let\blx@imc@mkyearzeros\blx@imc@forcezerosy +\let\blx@imc@mkmonthzeros\blx@imc@forcezerosmdt +\let\blx@imc@mkdayzeros\blx@imc@forcezerosmdt +\protected\def\blx@imc@stripzeros#1{% + \begingroup + \setbox\@tempboxa=\hbox\bgroup + \aftergroup\endgroup + \abx@hook@xsanitize + \if0#1\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\@tempcnta#1\relax + \expandafter\egroup + \number\@tempcnta + \@tempcnta#1\relax} + {\egroup#1}} + +\let\blx@imc@printlabeldate\@empty +\let\blx@imc@printlabeltime\@empty +\let\blx@imc@printlabeldateextra\@empty + +\blx@regimcs{\printlabeldate \printlabeltime \printlabeldateextra + \stripzeros \forcezerosy \forcezerosmdt + \mkyearzeros \mkmonthzeros \mkdayzeros \mktimezeros} + +% 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{% + \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{% + \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} +\def\blx@endlang{\endgroup} +\let\blx@beglangbib\blx@beglang +\let\blx@endlangbib\blx@endlang +\let\blx@beglangcite\blx@beglang +\let\blx@endlangcite\blx@endlang +\let\blx@hook@endlang\@empty +\let\blx@hook@initlang\@empty +\let\blx@imc@mainlang\@empty +\let\blx@imc@textmainlang\@firstofone +\let\blx@imc@textouterlang\@firstofone +\def\blx@hyphenreset{% + \blx@ifhyphenationundef{\blx@languagename} + {} + {\language\csname l@\blx@languagename\endcsname\relax}% + \ifcsundef{\blx@languagename hyphenmins} + {\blx@sethyphenmins\tw@\thr@@} + {\expandafter\expandafter\expandafter\blx@sethyphenmins + \csname\blx@languagename hyphenmins\endcsname}} +\def\blx@sethyphenmins#1#2{% + \lefthyphenmin#1\relax + \righthyphenmin#2\relax} + + + +\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}% + \let\blx@outer@language\blx@main@language + % 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@indoc\expandafter{\languagename}}% + \ifdef\blx@thelangenv + {\def\blx@beglang{% + \blx@clearlang + \begingroup + % track outer language (i.e. language not selected by biblatex) + \ifundef\blx@outer@language@set + {\let\blx@outer@language\blx@languagename + \let\blx@outer@language@set\@empty} + {}% + % 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{% + \ifundef\blx@warn@mainlang + {\blx@warning@noline{% + '\string\mainlang' is deprecated in favour of\MessageBreak + '\string\textmainlang'.% + \MessageBreak + Please consider using the new command,\MessageBreak + but note that the syntax is different.\MessageBreak + Using the old, problematic definition}% + \global\let\blx@warn@mainlang\@empty} + {}% + \expandafter\selectlanguage\expandafter{\blx@main@language}}% + \def\blx@imc@textmainlang##1{% + {{\expandafter\selectlanguage\expandafter{\blx@main@language}##1}}}% + \def\blx@imc@textouterlang##1{% + {{\expandafter\selectlanguage\expandafter{\blx@outer@language}##1}}}% + \expandafter\blx@langsetup@from@pkglist\expandafter{\blx@main@language}% +} + +\def\blx@beglang@spacefactors{\frenchspacing} + +\def\blx@mkautolangpoly{% + \ifundef\mainbabelname + {\ifundef\bbl@main@language + {\blx@error + {No default 'polyglossia' language defined} + {You must define a default language for 'polyglossia'}} + {\let\blx@main@language\bbl@main@language}} + {\let\blx@main@language\mainbabelname}% + \let\blx@outer@language\blx@main@language + \ifundef\polyglossia@language@switched + {\apptocmd\select@language + {\expandafter\blx@langsetup@indoc\expandafter{\babelname}} + {} + {\blx@err@patch{'polyglossia' package}% + \blx@mknoautolang}} + {\appto\polyglossia@language@switched{% + \expandafter\blx@langsetup@indoc\expandafter{\babelname}}}% + \ifdef\blx@thelangenv + {\def\blx@beglang{% + \blx@clearlang + \begingroup + % track outer language (i.e. language not selected by biblatex) + \ifundef\blx@outer@language@set + {\let\blx@outer@language\blx@languagename + \let\blx@outer@language@set\@empty} + {}% + % 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} + {}% + \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{% + \ifundef\blx@warn@mainlang + {\blx@warning@noline{% + '\string\mainlang' is deprecated in favour of\MessageBreak + '\string\textmainlang'.% + \MessageBreak + Please consider using the new command,\MessageBreak + but note that the syntax is different.\MessageBreak + Using the old, problematic definition}% + \global\let\blx@warn@mainlang\@empty} + {}% + \select@language{\blx@main@language}}% + \def\blx@imc@textmainlang##1{{{\select@language{\blx@main@language}##1}}}% + \def\blx@imc@textouterlang##1{{{\select@language{\blx@outer@language}##1}}}% + \expandafter\blx@langsetup@from@pkglist\expandafter{\blx@main@language}} + +\def\blx@mknoautolang{% + \blx@lbxinput{\blx@languagename} + {} + {\blx@err@nolang{\blx@languagename}}} + +\blx@regimcs{\mainlang \textmainlang \textouterlang} + +\newrobustcmd*{\DeclareRedundantLanguages}[2]{% + \begingroup + \ifblank{#2} + {\def\do##1{% + \global\csundef{blx@rlm@##1}% + \global\csundef{blx@rlm@lang##1}}} + {\def\do##1{% + \csxdef{blx@rlm@##1}{#2}% + \csxdef{blx@rlm@lang##1}{#2}}}% + \docsvlist{#1}% + \endgroup} + +\def\blx@clearlang{% + \iftoggle{blx@clearlang} + {\iflistundef{language} + {} + {\ifnumgreater{\value{language}}{1} + {} + {\expandafter\blx@clearlang@i\abx@list@@@language}}} + {}} + +\def\blx@clearlang@i#1{% + \ifcsdef{blx@rlm@#1} + {\expandafter\expandafter\expandafter\forcsvlist + \expandafter\expandafter\expandafter\blx@clearlang@ii + \expandafter\expandafter\expandafter{% + \csname blx@rlm@#1\endcsname}} + {}} + +\def\blx@clearlang@ii#1{% + \ifdefstring\languagename{#1} + {\clearlist{language}} + {}} + +%% Biber equivalents to bibtex data interface + +\def\abx@doentrytypes{\dolistloop\blx@datamodel@entrytypes} + +% 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}} + +\def\abx@dofields{\dolistloop\blx@datamodel@fields} + +\def\abx@dolists{% + \dolistloop\blx@datamodel@lists% + \do{pageref}} + +% Used to pass regexps to .bcf +\def\regexp#1{\expandafter\zap@space\detokenize{#1} \@empty} + +% Have to do this otherwise the '~'s in the .bcf strings are not expanded +% This is done for the .bcf later but since we have to do all the +% data model things much earlier, have to set this here and reset on finishing +\let\blx@tsave~ +\let~\space +% Data model and supporting macros must be loaded early +\blx@inputonce{blx-dm.def}{biblatex default data model}{}{}{}{} +\let~\blx@tsave + +% We need to now load any style data model +% Order of precedence is: +% <datamodel option>.dbx +% <style option>.dbx +% <citestyle option>.dbx and <bibstyle option>.dbx +% This has to be done before the real options processing so we need to +% pick out just these four options to look at. You can't do this with keyval, +% you have to use kvoptions. So, pick out these four, pass through all +% others and delete datamodel option as we don't care about it when we come +% to really set options below +\SetupKeyvalOptions{ + family=blx@opt@eldt, + prefix=blx@opt@eldt@} +\DeclareStringOption{datamodel} +\DeclareStringOption{style} +\DeclareStringOption{citestyle} +\DeclareStringOption{bibstyle} +\DeclareDefaultOption{} +\ProcessLocalKeyvalOptions{blx@opt@eldt} +\ifx\blx@opt@eldt@datamodel\@empty + \ifx\blx@opt@eldt@style\@empty + \ifx\blx@opt@eldt@citestyle\@empty + \else + \blx@inputonce{\blx@opt@eldt@citestyle.dbx}{biblatex citestyle data model}{}{}{}{} + \fi + \ifx\blx@opt@eldt@bibstyle\@empty + \else + \blx@inputonce{\blx@opt@eldt@bibstyle.dbx}{biblatex bibstyle data model}{}{}{}{} + \fi + \else + \blx@inputonce{\blx@opt@eldt@style.dbx}{biblatex style data model}{}{}{}{} + \fi +\else + \blx@inputonce{\blx@opt@eldt@datamodel.dbx}{biblatex style data model}{}{}{}{} +\fi +\DisableKeyvalOption[action=undef,local]{blx@opt@eldt}{datamodel} + +% Override with user-defined data model if there is one +\blx@inputonce{biblatex-dm.cfg}{biblatex custom data model}{}{}{}{} + +% Initialise option datatypes lists +\global\let\blx@bcf@options@scope@global\@empty +\global\let\blx@bcf@options@scope@type\@empty +\global\let\blx@bcf@options@scope@entry\@empty +\global\let\blx@bcf@options@scope@namelist\@empty +\global\let\blx@bcf@options@scope@name\@empty +\global\let\blx@globalopts@datatypes\@empty +\global\let\blx@typeopts@datatypes\@empty +\global\let\blx@entryopts@datatypes\@empty +\global\let\blx@namelistopts@datatypes\@empty +\global\let\blx@nameopts@datatypes\@empty +\def\do#1{% + \global\cslet{blx@globalopts@#1}\@empty + \global\cslet{blx@typeopts@#1}\@empty + \global\cslet{blx@entryopts@#1}\@empty + \global\cslet{blx@namelistopts@#1}\@empty + \global\cslet{blx@nameopts@#1}\@empty} +\expandafter\expandafter\expandafter +\docsvlist +\expandafter\expandafter\expandafter +{\csname blx@datamodel@constant@optiondatatypes\endcsname} + +% Helper for collecting options and datatypes +% {<datatype>}{<scope>}{<name>} +\def\blx@collectopts#1#2#3{% + \ifinlistcs{#1}{#2@datatypes} + {} + {\listcsgadd{#2@datatypes}{#1}}% + \ifinlistcs{#3}{#2@#1} + {} + {\listcsgadd{#2@#1}{#3}}} + + +% entry, namelist, name scopes are input/handled on the backend side +% if we want to see the info back on the biblatex side, we need the backend +% to pass the info through via the .bbl file +\def\blx@declareblxopt@extrahandler@entry#1{% + \csgdef{blx@bcf@backendout@entry@#1}{1}} +\def\blx@declareblxopt@extrahandler@namelist#1{% + \csgdef{blx@bcf@backendout@namelist@#1}{1}} +\def\blx@declareblxopt@extrahandler@name#1{% + \csgdef{blx@bcf@backendout@name@#1}{1}} + +% {<option scope>}[<datatype>]{<key>}[<value>]{<code>} +\protected\def\blx@declareblxopt#1{% + \@ifnextchar[%] + {\blx@declareblxopt@i#1} + {\blx@declareblxopt@i#1[]}} + +\def\blx@declareblxopt@i#1[#2]#3{% + \begingroup + \ifblank{#2} + {\def\blx@tempa{boolean}} + {\ifcsundef{blx@#1opts@#2} + {\blx@warn@badoptdt{#2}% + \def\blx@tempa{boolean}} + {\def\blx@tempa{#2}}}% + \expandafter\blx@collectopts\expandafter{\blx@tempa}{blx@#1opts}{#3}% + \ifcsundef{blx@declareblxopt@extrahandler@#1} + {} + {\csuse{blx@declareblxopt@extrahandler@#1}{#3}}% + \endgroup + \@ifnextchar[%] + {\csuse{blx@defblxopt@#1opt}{#3}} + {\csuse{blx@defblxopt@#1opt}{#3}[]}} + +\long\def\blx@defblxopt@globalopt#1[#2]#3{% + \blx@kv@ifkeyundef{blx@opt@ldt}{#1} + {\blx@kv@ifkeyundef{blx@opt@pre}{#1} + {\ifblank{#2} + {\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{% + \blx@kv@ifkeyundef{blx@opt@#1}{#2} + {\ifblank{#3} + {\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}} +\def\blx@defblxopt@entryopt{\blx@defblxopt@typeentryopt{ent}} +\def\blx@defblxopt@nameopt{\blx@defblxopt@typeentryopt{name}} +\def\blx@defblxopt@namelistopt{\blx@defblxopt@typeentryopt{namelist}} + +% The Declare*Option macros are for options which need to be visible +% to biblatex. For options which only biber needs to see, they can be +% passed to the .bcf directly using \blx@collectopts +% [<datatype>]{<key>}[<default value>]{<code>} +\newcommand*{\DeclareBibliographyOption}{\blx@declareblxopt{global}} +\newcommand*{\DeclareTypeOption}{\blx@declareblxopt{type}} +\newcommand*{\DeclareEntryOption}{\blx@declareblxopt{entry}} + +% we'll assume that \blx@optscopes is non-empty from now on +\newcommand*{\blx@optscopes}{} +\forcsvlist{\listadd\blx@optscopes}{global,type,entry} + +\long\def\blx@defblxopt@loopscopes@i#1[#2]#3#4{% + \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}} + +% {<option scopes>}[<datatype>]{<key>}[<default value>]{<code>} +\newrobustcmd*{\DeclareBiblatexOption}[1]{% + \let\blx@optscopes\@empty + \forcsvlist{\listadd\blx@optscopes}{#1}% + \blx@DeclareBiblatexOption@i} + +\newrobustcmd*{\blx@DeclareBiblatexOption@i}[2][]{% + \begingroup + \ifblank{#1} + {\def\blx@tempa{boolean}} + {\let\blx@tempb\@secondoftwo + \def\do##1{% + \ifcsundef{blx@##1opts@#1} + {\let\blx@tempb\@firstoftwo\listbreak} + {}}% + \dolistloop{\blx@optscopes}% + \blx@tempb + {\blx@warn@badoptdt{#1}% + \def\blx@tempa{boolean}} + {\def\blx@tempa{#1}}}% + \def\do##1{% + \expandafter\blx@collectopts\expandafter{\blx@tempa}{blx@##1opts}{#2}% + \ifcsundef{blx@declareblxopt@extrahandler@##1} + {} + {\csuse{blx@declareblxopt@extrahandler@##1}{#2}}}% + \dolistloop{\blx@optscopes}% + \endgroup + \@ifnextchar[%] + {\blx@defblxopt@loopscopes{#2}} + {\blx@defblxopt@loopscopes{#2}[]}} + +% this macro is internal for now because options declared with it need +% support on the backend side and are not useful for document or style authors +% {<option scopes>}[<datatype>]{<key>} +\newrobustcmd*{\blx@DeclareBackendOption}[1]{% + \let\blx@optscopes\@empty + \forcsvlist{\listadd\blx@optscopes}{#1}% + \blx@DeclareBackendOption@i} + +\newrobustcmd*{\blx@DeclareBackendOption@i}[2][]{% + \begingroup + \ifblank{#1} + {\def\blx@tempa{boolean}} + {\let\blx@tempb\@secondoftwo + \def\do##1{% + \ifcsundef{blx@##1opts@#1} + {\let\blx@tempb\@firstoftwo\listbreak} + {}}% + \dolistloop{\blx@optscopes}% + \blx@tempb + {\blx@warn@badoptdt{#1}% + \def\blx@tempa{boolean}} + {\def\blx@tempa{#1}}}% + \def\do##1{% + \expandafter\blx@collectopts\expandafter{\blx@tempa}{blx@##1opts}{#2}}% + \dolistloop{\blx@optscopes}% + \endgroup} + +% per-entry inheritance blocking option for biber +\blx@DeclareBackendOption{entry}[string]{noinherit} + + +% nametemplates meta-option entry/namelist/name scope +% this meta option is resolved by Biber +\blx@DeclareBackendOption{entry,namelist,name}[string]{nametemplates} +\gdef\blx@bcf@backendin@entry@nametemplates{sortingnamekeytemplatename,% + uniquenametemplatename,labelalphanametemplatename}% +\gdef\blx@bcf@backendin@namelist@nametemplates{sortingnamekeytemplatename,% + uniquenametemplatename,labelalphanametemplatename}% +\gdef\blx@bcf@backendin@name@nametemplates{sortingnamekeytemplatename,% + uniquenametemplatename,labelalphanametemplatename}% + + + +% Misc globalopts +\blx@DeclareBackendOption{global}[xml]{datamodel} +\blx@collectopts{string}{blx@globalopts}{controlversion} + +\newcommand*{\labelalphaothers}{+} +\newcommand*{\sortalphaothers}{\labelalphaothers} +\blx@DeclareBackendOption{global,type}[string]{alphaothers} +\blx@DeclareBackendOption{global,type}[string]{sortalphaothers} + +% date, eventdate, urldate etc. +\def\abx@dodates{\dolistloop\blx@datamodel@dates} +% year, endyear, month, endmonth etc. +\def\abx@dodateparts{\expandafter\docsvlist\expandafter{\blx@dateparts}} + +% '', event, url, orig etc. +\def\do#1{% + \blx@stripfromendinto{#1}{date}\blx@datetype + \listxadd\blx@datetypes{\blx@datetype}} +\abx@dodates +% main date field has an empty prefix (''date) which can't be added to a list +% and so do it explicity +% This is one of the few (only?) hard-coded datamodel assumptions but it is +% very unlikely that anyone would *remove* the main date field in a custom application ... +\def\abx@dodatetypes{\do{}\dolistloop\blx@datetypes} + +% Sanity check on date field names - they *must* end in 'date' to make things easier/possible later +\def\do#1{% + \blx@ifstrendswith{#1}{date} + {} + {\blx@error + {Invalid date field name '#1'} + {Date fields in the datamodel must end in the string 'date' but '#1' doesn't}}} +\abx@dodates + +% date meta-information option fallbacks +\def\do#1{% + \cslet{#1datecircaprint}\@empty + \cslet{#1enddatecircaprint}\@empty + \cslet{#1datecircaprintiso}\@empty + \cslet{#1enddatecircaprintiso}\@empty + \cslet{#1dateuncertainprint}\@empty + \cslet{#1enddateuncertainprint}\@empty + \cslet{#1dateeraprint}\@gobble + \cslet{#1dateeraprintpre}\@gobble + \csdef{if#1dateera}##1{\@secondoftwo}% + \csdef{if#1enddateera}##1{\@secondoftwo}% + \cslet{if#1datecirca}\@secondoftwo + \cslet{if#1enddatecirca}\@secondoftwo + \cslet{if#1datejulian}\@secondoftwo + \cslet{if#1enddatejulian}\@secondoftwo + \cslet{if#1dateuncertain}\@secondoftwo + \cslet{if#1enddateuncertain}\@secondoftwo + \cslet{if#1dateunknown}\@secondoftwo + \cslet{if#1enddateunknown}\@secondoftwo} +\abx@dodatetypes +\do{labeldate} + +% These are internal fields/booleans which are not part of the data model but +% which need to be dealt with along with data model fields in places +\def\do#1{% + \listxadd\blx@datemetafields{#1dateera}% + \listxadd\blx@datemetafields{#1enddateera}% + \listxadd\blx@datemetafields{#1dateunspecified}} +\abx@dodatetypes + + +\def\do#1{% + \listxadd\blx@datemetabooleans{#1datecirca}% + \listxadd\blx@datemetabooleans{#1enddatecirca}% + \listxadd\blx@datemetabooleans{#1datejulian}% + \listxadd\blx@datemetabooleans{#1enddatejulian}% + \listxadd\blx@datemetabooleans{#1dateuncertain}% + \listxadd\blx@datemetabooleans{#1enddateuncertain}% + \listxadd\blx@datemetabooleans{#1dateunknown}% + \listxadd\blx@datemetabooleans{#1enddateunknown}} +\abx@dodatetypes + +\def\do#1{% + \listxadd\blx@namepartmetafields{#1namehash}% + \listxadd\blx@namepartmetafields{#1fullhash}% + \listxadd\blx@namepartmetafields{#1bibnamehash}} +\abx@donameparts + +\def\do#1{% + \listxadd\blx@labeldatepartfields{label#1}} +\abx@dodateparts + +\def\abx@dointernalfields{% + \do{clonesourcekey}% + \do{labeldate}% + \do{labeldatesource}% + \do{labeldateera}% + \do{labelenddateera}% + \do{labelyear}% + \do{labelendyear}% + \do{labelmonth}% + \do{labelendmonth}% + \do{labelday}% + \do{labelendday}% + \do{labelhour}% + \do{labelendhour}% + \do{labelminute}% + \do{labelendminute}% + \do{labelsecond}% + \do{labelendsecond}% + \do{labeltimezone}% + \do{labelendtimezone}% + \do{labelyeardivision}% + \do{labelendyeardivision}% + \do{entrykey}% + \do{entryset}% + \do{entrysetcount}% + \do{entrytype}% + \do{extraalpha}% + \do{extraname}% + \do{extratitle}% + \do{extratitleyear}% + \do{extradate}% + \do{fullhash}% + \do{labelalpha}% + \do{labelnumber}% + \do{labelprefix}% + \do{labeltitleyear}% + \do{localnumber}% + \do{namehash}% + \do{bibnamehash}% + \do{options}% + \do{sortinit}% + \do{sortinithash}% + \dolistloop\blx@datemetafields + \dolistloop\blx@namepartmetafields + \dolistloop\blx@labeldatepartfields} + +\def\abx@dobooleans{% + \do{crossrefsource}% + \do{xrefsource}% + \do{singletitle}% + \do{uniquetitle}% + \do{uniquebaretitle}% + \do{uniquework}% + \do{uniqueprimaryauthor}% + \do{nocite}% + \dolistloop\blx@datemetabooleans} + +% Date datatype fields +\def\do#1{% + \protected\csdef{blx@imc@print#1date}{}% + \protected\csdef{blx@imc@print#1dateextra}{}% + \protected\csdef{blx@imc@print#1time}{}} +\abx@dodatetypes + +% \blx@regimcs doesn't work in do-lists nicely so use internal macro it calls +\def\do#1{% + \xappto\blx@blxinit{\csletcs{print#1date}{blx@imc@print#1date}}% + \xappto\blx@blxinit{\csletcs{print#1time}{blx@imc@print#1time}}% + \xappto\blx@blxinit{\csletcs{print#1dateextra}{blx@imc@print#1dateextra}}} +\abx@dodatetypes + +% Set up circa, julian and uncertain date internals +\def\blx@makeifdatemeta@bools@i#1#2{% + \appto\blx@blxinit{% + \blx@makeifdatemeta@bools{#1}{#2}}} + +\def\blx@makeifdatemeta@bools#1#2{% + \csdef{if#1date#2}{\iftoggle{abx@bool@#1date#2}}% + \csdef{if#1enddate#2}{\iftoggle{abx@bool@#1enddate#2}}% + \appto\blx@TE@hook{% + \csdef{if#1date#2}{\blx@TE{\iftoggle{abx@bool@#1date#2}}}% + \csdef{if#1enddate#2}{\blx@TE{\iftoggle{abx@bool@#1enddate#2}}}}} + +% Set up date era internals +\def\blx@makeifdatemeta@fields@i#1{% + \appto\blx@blxinit{% + \blx@makeifdatemeta@fields{#1}}} + +\def\blx@makeifdatemeta@fields#1{% + \csdef{if#1dateera}##1{\ifcsstring{abx@field@@@#1dateera}{##1}}% + \csdef{if#1enddateera}##1{\ifcsstring{abx@field@@@#1enddateera}{##1}}% + \appto\blx@TE@hook{% + \csdef{if#1dateera}##1{\blx@TE{\ifcsstring{abx@field@@@#1dateera}{##1}}}% + \csdef{if#1enddateera}##1{\blx@TE{\ifcsstring{abx@field@@@#1enddateera}{##1}}}}} + +% Create date meta information boolean tests +\def\do#1{% + \blx@makeifdatemeta@bools@i{#1}{circa}% + \blx@makeifdatemeta@bools@i{#1}{julian}% + \blx@makeifdatemeta@bools@i{#1}{uncertain}% + \blx@makeifdatemeta@bools@i{#1}{unknown}} +\abx@dodatetypes + +% Create date meta information field tests +\def\do#1{% + \blx@makeifdatemeta@fields@i{#1}} +\abx@dodatetypes + +% Resolve date meta information tests and print routines for labeldate +% We have to test here, in each \def, whether the labeldatesource +% is a real date field or not. If it's not, then we don't want to use +% any of the meta-information and so make the conditionals always return false +% This can't be neater by testing for the \abx@field@@@labeldatesource value +% earlier because its not available until the tests are in scope. +\appto\blx@blxinit{% + \ifdefstring\blx@dateera{astronomical} + {\protected\def\dateeraprintpre#1{% + \iffieldnum{#1} + {\begingroup + \let\blx@tempa\@empty + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype + \def\blx@tempa{end}} + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce} + {\ifnumless{0-\thefield{#1}}{0} + {\csuse{bibdateera\blx@tempa prefix}} + {}} + {}% + \endgroup} + {}}} + {\protected\def\dateeraprint#1{% + \iffieldnum{#1} + {\begingroup + \let\blx@tempa\@empty + \blx@ifstrendswith{#1}{endyear} + {\blx@stripfromendinto{#1}{endyear}\blx@datetype + \def\blx@tempa{end}} + {\blx@stripfromendinto{#1}{year}\blx@datetype}% + \csuse{if\blx@datetype\blx@tempa dateera}{bce} + {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto + % \midsentence is to suppress automatic capitalisation + \printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@bce}\relax + \fi} + {\ifnumless{\thefield{#1}}\blx@dateeraauto + {\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@ce}} + {}}% + \endgroup} + {}}}% + \iftoggle{blx@labeldateparts} + {\def\iflabeldateera#1{% start era + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\ifcsstring{abx@field@@@\abx@field@@@labeldatesource dateera}{#1}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabeldateera#1{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\ifcsstring{abx@field@@@\abx@field@@@labeldatesource dateera}{#1}}} + {\@secondoftwo}}}% + % end era + \def\iflabelenddateera#1{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\ifcsstring{abx@field@@@\abx@field@@@labeldatesource enddateera}{#1}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabelenddateera#1{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\ifcsstring{abx@field@@@\abx@field@@@labeldatesource enddateera}{#1}}} + {\@secondoftwo}}}% + % start circa + \def\iflabeldatecirca{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\iftoggle{abx@bool@\abx@field@@@labeldatesource datecirca}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabeldatecirca{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\iftoggle{abx@bool@\abx@field@@@labeldatesource datecirca}}} + {\@secondoftwo}}}% + % end circa + \def\iflabelenddatecirca{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\iftoggle{abx@bool@\abx@field@@@labeldatesource enddatecirca}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabelenddatecirca{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\iftoggle{abx@bool@\abx@field@@@labeldatesource enddatecirca}}} + {\@secondoftwo}}}% + % start julian + \def\iflabeldatejulian{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\iftoggle{abx@bool@\abx@field@@@labeldatesource datejulian}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabeldatejulian{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\iftoggle{abx@bool@\abx@field@@@labeldatesource datejulian}}} + {\@secondoftwo}}}% + % end julian + \def\iflabelenddatejulian{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\iftoggle{abx@bool@\abx@field@@@labeldatesource enddatejulian}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabelenddatejulian{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\iftoggle{abx@bool@\abx@field@@@labeldatesource enddatejulian}}} + {\@secondoftwo}}}% + % start uncertain + \def\iflabeldateuncertain{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\iftoggle{abx@bool@\abx@field@@@labeldatesource dateuncertain}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabeldateuncertain{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\iftoggle{abx@bool@\abx@field@@@labeldatesource dateuncertain}}} + {\@secondoftwo}}}% + % end uncertain + \def\iflabelenddateuncertain{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\iftoggle{abx@bool@\abx@field@@@labeldatesource enddateuncertain}} + {\@secondoftwo}}% + \appto\blx@TE@hook{\def\iflabelenddateuncertain{% + \xifinlist{\abx@field@@@labeldatesource date}\blx@datamodel@dates + {\blx@TE{\iftoggle{abx@bool@\abx@field@@@labeldatesource enddateuncertain}}} + {\@secondoftwo}}}}% + {}} + +% Name toggles like \ifauthor etc. need to be dynamically created for all +% name datatypes in the data model and we have to do this here after the +% datamodel is available. Need to be careful about expansions here as these +% go into hooks to be executed later + +% toggle to say if we have set any <name>inits to true. Used for conflict +% tests with uniquename settings (see \AtEndPreamble below) +\newtoggle{abx@bool@xinits} +% define <name>inits options and tests (terseinits is global for all initials) +\def\do#1{% + \newtoggle{abx@bool@#1inits}% + \appto\blx@blxinit{% + \csdef{if#1inits}{\iftoggle{abx@bool@#1inits}}% + \appto\blx@TE@hook{% + \csdef{if#1inits}{\blx@TE{\iftoggle{abx@bool@#1inits}}}}}% + \DeclareBiblatexOption{global,type,entry,namelist,name}[boolean]{#1inits}[true]{% + \settoggle{abx@bool@#1inits}{##1}}} +\abx@donameparts + +\def\do#1{% + % Define use<name> options scope for biber + \blx@DeclareBackendOption{global,type,entry}[boolean]{use#1}% + % Define name toggles + \newtoggle{blx@use#1}\toggletrue{blx@use#1}% + % Define tests + \appto\blx@blxinit{% + \csdef{ifuse#1}{\iftoggle{blx@use#1}}% + \appto\blx@TE@hook{% + \csdef{ifuse#1}{\blx@TE{\iftoggle{blx@use#1}}}}}} +\abx@donames + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Since these are bare counters which define \the<string>, save any current values +% (memoir, titling, koma etc. have a \theauthor macro, for example) and restore at +% end of package +\def\do#1{% + \csletcs{blx@compat@the#1}{the#1}% + \newcounter{#1}% + \newcounter{saved#1}% + \appto\abx@dobooleans{\do{more#1}}} + +\abx@donames +\abx@dornames +\abx@dolists +%\abx@dorlists + +\AtEndOfPackage{% + \def\do#1{\csletcs{the#1}{blx@compat@the#1}}% + \abx@donames + \abx@dornames + \abx@dolists} + +\def\do#1{\newtoggle{abx@bool@#1}} +\abx@dobooleans + +\def\do#1{\expandafter\newlength\expandafter{\csname #1width\endcsname}} +\abx@dolabelfields + +\def\do#1{\expandafter\newlength\expandafter{\csname local#1width\endcsname}} +\abx@dolabelwidths + +\protected\def\blx@resetdata{% + \let\blx@saved@do\do + \def\do##1{% + \csundef{abx@fieldmssource@field@##1}% + \csundef{abx@fieldmssource@msform@##1}% + \csundef{abx@fieldmssource@mslang@##1}}% + \abx@dorfields + \abx@dornames + \let\do\blx@imc@clearname + \abx@donames + \let\do\blx@imc@clearlist + \abx@dolists + \let\do\blx@imc@clearfield + \abx@dofields + \abx@dointernalfields + \ifundef\abx@nameparts@defined + {} + {\def\do##1{\csundef{abx@nameparts@##1}}% + \dolistloop\abx@nameparts@defined}% + \let\abx@nameparts@defined\@empty + \ifundef\abx@listitems@defined + {} + {\def\do##1{\csundef{abx@listitems@##1}}% + \dolistloop\abx@listitems@defined}% + \let\abx@listitems@defined\@empty + \ifundef\abx@annotation@defined + {} + {\def\do##1{\csundef{abx@annotation@##1}}% + \dolistloop\abx@annotation@defined}% + \let\abx@annotation@defined\@empty + \def\do##1{\togglefalse{abx@bool@##1}}% + \abx@dobooleans + \let\do\blx@saved@do + \c@citecounter\z@ + \iftoggle{blx@bibliography} + {\c@maxnames\blx@maxbibnames\relax + \c@minnames\blx@minbibnames\relax} + {\c@maxnames\blx@maxcitenames\relax + \c@minnames\blx@mincitenames\relax}% + \c@maxitems\blx@maxitems\relax + \c@minitems\blx@minitems\relax} + +\protected\def\blx@saveentry{% + \let\blx@saved@do\do + \let\do\blx@savefieldmssource + \abx@dorfields + \abx@dornames + \let\do\blx@savename + \abx@donames + \let\do\blx@saverelname + \dolistloop\abx@dorelnames + \let\do\blx@savelist + \abx@dolists + \let\do\blx@saverellist + \dolistloop\abx@dorellists + \let\do\blx@savefield + \abx@dofields + \abx@dointernalfields + \let\do\blx@saverelfield + \dolistloop\abx@dorelfields + \ifundef\abx@savedannotation@defined + {} + {\def\do##1{\csundef{abx@annotation@\blx@saveannotations@makesaved##1}}% + \dolistloop\abx@savedannotation@defined}% + \let\abx@savedannotation@defined\@empty + \ifundef\abx@annotation@defined + {} + {\let\do\blx@saveannotations + \dolistloop\abx@annotation@defined}% + \let\abx@savedannotation@defined\abx@annotation@defined + \ifundef\abx@savednameparts@defined + {} + {\def\do##1{\csundef{abx@nameparts@\blx@savenameparts@makesaved##1}}% + \dolistloop\abx@savednameparts@defined}% + \let\abx@savednameparts@defined\@empty + \ifundef\abx@nameparts@defined + {} + {\let\do\blx@savenameparts + \dolistloop\abx@nameparts@defined}% + \let\abx@savednameparts@defined\abx@nameparts@defined + \ifundef\abx@savedlistitems@defined + {} + {\def\do##1{\csundef{abx@listitems@\blx@savelistitems@makesaved##1}}% + \dolistloop\abx@savedlistitems@defined}% + \let\abx@savedlistitems@defined\@empty + \ifundef\abx@listitems@defined + {} + {\let\do\blx@savelistitems + \dolistloop\abx@listitems@defined}% + \let\abx@savedlistitems@defined\abx@listitems@defined + \let\do\blx@savebool + \abx@dobooleans + \let\do\blx@savedatetype + \abx@dodatetypes + \do{label}% + \c@savedcitecounter\c@citecounter + \let\do\blx@saved@do} + +\protected\def\blx@savefieldmssource#1{% + \csletcs{abx@fieldmssource@field@saved#1}{abx@fieldmssource@field@#1}% + \csletcs{abx@fieldmssource@msform@saved#1}{abx@fieldmssource@msform@#1}% + \csletcs{abx@fieldmssource@mslang@saved#1}{abx@fieldmssource@mslang@#1}} + +\def\blx@saveannotations@makesaved#1@#2{#1@saved#2} +\protected\def\blx@saveannotations#1{% + \csletcs{abx@annotation@\blx@saveannotations@makesaved#1}{abx@annotation@#1}} + +\def\blx@savenameparts@makesaved#1@#2{#1@saved#2} +\protected\def\blx@savenameparts#1{% + \csletcs{abx@nameparts@\blx@savenameparts@makesaved#1}{abx@nameparts@#1}} + +\def\blx@savelistitems@makesaved#1@#2{#1@saved#2} +\protected\def\blx@savelistitems#1{% + \csletcs{abx@listitems@\blx@savelistitems@makesaved#1}{abx@listitems@#1}} + +% saves all alternates of multiscript fields +\protected\def\blx@savefield#1{% + \blx@imc@iffieldundef{#1} + {} + {\blx@imc@ifmsentryfield{#1} + {\let\blx@tempi\@empty + \begingroup + \def\do##1{% + \begingroup + \def\do####1{% + \gappto\blx@tempi{\csletcs{abx@field@##1@####1@saved#1}{abx@field@##1@####1@#1}}}% + \dolistcsloop{abx@fieldmslangs@#1}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#1}% + \endgroup + \blx@tempi\global\undef\blx@tempi} + {\csletcs{abx@field@@@saved#1}{abx@field@@@#1}}}} + +% override with field saved from \clearfield for related processing +% argument is a triple which needs expanding +% {{<msform>}{<mslang>}{field}} +\protected\def\blx@saverelfield#1{% + \blx@saverelfield@i#1} +% {<msform>}{<mslang>}{field} +\protected\def\blx@saverelfield@i#1#2#3{% + \blx@imc@ifmsentryfield{#3} + {\csletcs{abx@field@#1@#2@saved#3}{abx@field@#1@#2@relsaved#3}} + {\csletcs{abx@field@@@saved#3}{abx@field@@@relsaved#3}}} + +% saves all alternates of multiscript lists +\protected\def\blx@savelist#1{% + \blx@imc@iflistundef{#1} + {} + {\blx@imc@ifmsentryfield{#1} + {\let\blx@tempi\@empty + \begingroup + \def\do##1{% + \begingroup + \def\do####1{% + \gappto\blx@tempi{\csletcs{abx@list@##1@####1@saved#1}{abx@list@##1@####1@#1}}}% + \dolistcsloop{abx@fieldmslangs@#1}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#1}% + \endgroup + \blx@tempi\global\undef\blx@tempi} + {\csletcs{abx@list@@@saved#1}{abx@list@@@#1}}% + \csletcs{etb@tgl@abx@bool@moresaved#1}{etb@tgl@abx@bool@more#1}% + \csname c@saved#1\endcsname\csname c@#1\endcsname}} + +% override with list saved from \clearlist for related processing +% argument is a triple which needs expanding +% {{<msform>}{<mslang>}{field}} +\protected\def\blx@saverellist#1{% + \blx@saverellist@i#1} +% {<msform>}{<mslang>}{field} +\protected\def\blx@saverellist@i#1#2#3{% + \blx@imc@ifmsentryfield{#3} + {\csletcs{abx@list@#1@#2@saved#3}{abx@list@#1@#2@relsaved#3}} + {\csletcs{abx@list@@@saved#3}{abx@list@@@relsaved#3}}% + \csletcs{etb@tgl@abx@bool@moresaved#3}{etb@tgl@abx@bool@morerelsaved#3}% + \csname c@saved#3\endcsname\csname c@relsaved#3\endcsname} + +% saves all alternates of multiscript names +\protected\def\blx@savename#1{% + \blx@imc@ifnameundef{#1} + {} + {\blx@imc@ifmsentryfield{#1} + {\let\blx@tempi\@empty + \begingroup + \def\do##1{% + \begingroup + \def\do####1{% + \gappto\blx@tempi{\csletcs{abx@name@##1@####1@saved#1}{abx@name@##1@####1@#1}}}% + \dolistcsloop{abx@fieldmslangs@#1}% + \endgroup}% + \dolistcsloop{abx@fieldmsforms@#1}% + \endgroup + \blx@tempi\global\undef\blx@tempi} + {\csletcs{abx@name@@@saved#1}{abx@name@@@#1}}% + \csletcs{etb@tgl@abx@bool@moresaved#1}{etb@tgl@abx@bool@more#1}% + \csname c@saved#1\endcsname\csname c@#1\endcsname}} + +% override with name saved from \clearname for related processing +% argument is a triple which needs expanding +% {{<msform>}{<mslang>}{field}} +\protected\def\blx@saverelname#1{% + \blx@saverelname@i#1} +% {<msform>}{<mslang>}{field} +\protected\def\blx@saverelname@i#1#2#3{% + \blx@imc@ifmsentryfield{#3} + {\csletcs{abx@name@#1@#2@saved#3}{abx@name@#1@#2@relsaved#3}} + {\csletcs{abx@name@@@saved#3}{abx@name@@@relsaved#3}}% + \csletcs{etb@tgl@abx@bool@moresaved#3}{etb@tgl@abx@bool@morerelsaved#3}% + \csname c@saved#3\endcsname\csname c@relsaved#3\endcsname} + +\protected\def\blx@savebool#1{% + \csletcs{etb@tgl@abx@bool@saved#1}{etb@tgl@abx@bool@#1}} + +\protected\def\blx@savedatetype#1{% + \csletcs{blx@dateformat@saved#1date}{blx@dateformat@#1date}% + \protected\csedef{blx@imc@printsaved#1date}{% + \noexpand\csuse{mkdaterange\csuse{blx@dateformat@saved#1date}} + {saved#1}}% + \protected\csedef{blx@imc@printsaved#1dateextra}{% + \begingroup + % extradate is hard-coded in date macros, so reset it temporarily + \csletcs{abx@field@@@extradate}{abx@field@@@savedextradate}% + \noexpand\csuse{mkdaterange\csuse{blx@dateformat@saved#1date}extra} + {saved#1}% + \endgroup}% + \csletcs{blx@timeformat@saved#1time}{blx@timeformat@#1time}% + \protected\csedef{blx@imc@printsaved#1time}{% + \noexpand\csuse{mktimerange\csuse{blx@timeformat@saved#1time}} + {saved#1}}% + \csletcs{etb@tgl@blx@saved#1dateusetime}{etb@tgl@blx@#1dateusetime}% + % the datemetabooleans are here again for labeldate + \blx@savebool{#1datecirca}% + \blx@savebool{#1enddatecirca}% + \blx@savebool{#1datejulian}% + \blx@savebool{#1enddatejulian}% + \blx@savebool{#1dateuncertain}% + \blx@savebool{#1enddateuncertain}% + \blx@savebool{#1dateunknown}% + \blx@savebool{#1enddateunknown}% + \blx@makeifdatemeta@bools{saved#1}{circa}% + \blx@makeifdatemeta@bools{saved#1}{julian}% + \blx@makeifdatemeta@bools{saved#1}{uncertain}% + \blx@makeifdatemeta@bools{saved#1}{unknown}% + \blx@makeifdatemeta@fields{saved#1}% + \csletcs{printsaved#1date}{blx@imc@printsaved#1date}% + \csletcs{printsaved#1time}{blx@imc@printsaved#1time}% + \csletcs{printsaved#1dateextra}{blx@imc@printsaved#1dateextra}} + +% {<code>} +\protected\long\def\blx@bbl@preamble#1{% + \gappto\abx@preamble{#1}} + +% {<message>} +\protected\def\blx@bbl@warn#1{% + \begingroup + \def\item{\MessageBreak-\space}% + \def\break{\MessageBreak\space\space}% + \blx@warning@noline{% + Biber reported the following issues% + \ifdef\abx@field@@@entrykey + {\MessageBreak with '\abx@field@@@entrykey'} + {}% + :#1}% + \endgroup} + +% {<field>}{<code>} +\newrobustcmd{\DeclareFieldInputHandler}[2]{% + \ifblank{#2} + {\csundef{blx@fih@#1}} + {\long\csdef{blx@fih@#1}##1{#2}}} +\@onlypreamble\DeclareFieldInputHandler + +% {<list>}{<code>} +\newrobustcmd*{\DeclareListInputHandler}[2]{% + \ifblank{#2} + {\csundef{blx@lih@#1}} + {\csdef{blx@lih@#1}##1{#2}}} +\@onlypreamble\DeclareListInputHandler + +% {<name>}{<code>} +\newrobustcmd*{\DeclareNameInputHandler}[2]{% + \ifblank{#2} + {\csundef{blx@nih@#1}} + {\csdef{blx@nih@#1}##1{#2}}} +\@onlypreamble\DeclareNameInputHandler + +% {<entrykey>}{<refsection>}{<field>}{<refcontext>}{<value>} +% No multiscript fields are set via this +\long\def\blx@bbl@addentryfield#1#2#3#4#5{% + \csxappto{blx@data@#2@#4@#1}{% + \def\expandafter\noexpand\csname abx@field@#3\endcsname{#5}% + \def\expandafter\noexpand\csname abx@field@@@#3\endcsname{#5}}} + +% {<rangefield>}{<value>} +% No range fields are multiscript +\protected\def\blx@bbl@rangedef#1#2{% + \csxappto\blx@bbl@data{% + \def\expandafter\noexpand\csname abx@range@#1\endcsname{#2}}} + +% {<field>}{<value>}{<msform>}{<mslang>} +\long\def\blx@bbl@addfield#1#2#3#4{% + \csxappto\blx@bbl@data{% + \def\expandafter\noexpand\csname abx@entryfield@#1\endcsname{1}% value doesn't matter + \def\expandafter\noexpand\csname abx@field@#1\endcsname{1}% value doesn't matter + \def\expandafter\noexpand\csname abx@field@#3@#4@#1\endcsname{#2}}} + +\blx@regimcs{\fieldmsforms \fieldmslangs} + +\def\blx@imc@fieldmsforms#1{\csuse{abx@fieldmsforms@#1}} +\def\blx@imc@fieldmslangs#1{\csuse{abx@fieldmslangs@#1}} + +% [<msform>][<mslang>]{field}{value} +\protected\long\def\blx@bbl@msfielddef{\blx@bbl@msdef{field}} +\protected\long\def\blx@bbl@mslistdef{\blx@bbl@msdef{list}} +\protected\long\def\blx@bbl@msnamedef{\blx@bbl@msdef{name}} + +\protected\long\def\blx@bbl@msdef#1{% + \@ifnextchar[%] + {\blx@bbl@msdef@i#1} + {\csuse{blx@bbl@#1def}{}{}}} + +% biber resolves all msform/mslang explicitly +% and so we can detect multiscript fields simply +% by the presence of a bracket here +\protected\long\def\blx@bbl@msdef@i#1[#2][#3]{% + \csuse{blx@bbl@#1def}{#2}{#3}} + +% Biber always makes the msform/mslang of \fieldmssource explicit +% These label*source fields are not normal fields as their *value* +% is a triple of fieldname/form/lang +% msform/mslang can be empty for non-multiscript sources in which case +% the expansions of \abx@fieldmssource@ms*@<field> will be empty and these +% are only used in places where empty expansion would therefore lead to a +% the correct non-multiscript \abx@{field|list|name}@@@... +% {<field>}{<value>}{<msform>}{<mslang>} +\protected\long\def\blx@bbl@fieldmssourcedef#1#2#3#4{% + \csxappto\blx@bbl@data{% + \def\expandafter\noexpand\csname abx@fieldmssource@field@#1\endcsname{#2}% + \def\expandafter\noexpand\csname abx@fieldmssource@msform@#1\endcsname{#3}% + \def\expandafter\noexpand\csname abx@fieldmssource@mslang@#1\endcsname{#4}}} + +% {<msform>}{<mslang>}{<field>}{<value>} +\protected\long\def\blx@bbl@fielddef#1#2#3#4{% + \def\NewValue{#4}% + \ifcsdef{blx@fih@#3} + {\csname blx@fih@#1\endcsname{#4}% + \ifdefvoid\NewValue} + {\@secondoftwo} + {} + {\csgappto\blx@bbl@data{% + \ifinlistcs{#1}{abx@fieldmsforms@#3}{}{\listcsadd{abx@fieldmsforms@#3}{#1}}% + \ifinlistcs{#2}{abx@fieldmslangs@#3}{}{\listcsadd{abx@fieldmslangs@#3}{#2}}}% + \blx@bbl@addfield{#3}{\expandonce\NewValue}{#1}{#2}}} + +% No multiscript fields are set via this +\protected\long\def\blx@bbl@fieldedef#1#2{% + \edef\NewValue{#2}% + \ifcsdef{blx@fih@#1} + {\csname blx@fih@#1\expandafter + \endcsname\expandafter{\NewValue}% + \ifdefvoid\NewValue} + {\@secondoftwo} + {} + {\blx@bbl@addfield{#1}{\NewValue}{}{}}} + +\protected\long\def\blx@bbl@stringdef#1#2{% + \begingroup + \edef\blx@tempa{\endgroup + \blx@bbl@fielddef{}{}{#1}{\detokenize{#2}}}% + \blx@tempa} + +% Verbatim lists +% {<list>}{<listcount>} +\protected\def\blx@bbl@verbldef#1#2{% + \begingroup + \let\lverb\blx@bbl@verbladd + \def\blx@tempa{#1}% + \def\blx@tempb{#2}% + \let\blx@tempc\@empty + \let\NewValue\@empty} + +\protected\def\blx@bbl@verblend{% + \expandafter\blx@bbl@listdef\expandafter{\expandafter}\expandafter{\expandafter}\expandafter{\expandafter\blx@tempa\expandafter}\expandafter{\expandafter\blx@tempb\expandafter}\expandafter{\blx@tempc}% + \endgroup} + +\protected\def\blx@bbl@verbladd{% + \begingroup + \let\do\@makeother + \dospecials + \catcode\endlinechar=12\relax + \blx@bbl@verbladd@i} + +% Verbatim fields +% {<field>} +\protected\def\blx@bbl@verbdef#1{% + \begingroup + \let\verb\blx@bbl@verbadd + \def\blx@tempa{#1}% + \let\NewValue\@empty} + +\protected\def\blx@bbl@verbend{% + \ifcsdef{blx@fih@\blx@tempa} + {\csname blx@fih@\blx@tempa\expandafter + \endcsname\expandafter{\NewValue}% + \ifdefvoid\NewValue} + {\@secondoftwo} + {} + {\blx@bbl@addfield{\blx@tempa}{\NewValue}{}{}}% + \endgroup} + +\protected\def\blx@bbl@verbadd{% + \begingroup + \let\do\@makeother + \dospecials + \catcode\endlinechar=12\relax + \blx@bbl@verbadd@i} + +% xparse argument processors +% because msform/mslang are optional and are followed in some cases by more +% more optional arguments, they need supplying as empty in some cases +% and this overrides the defaulting in xparse so we pre-process to force +% defaulting in case of supplied empty arguments +\def\blx@msformexpand#1{% + \ifblank{#1}{\let\ProcessedArgument\blx@msform}{\def\ProcessedArgument{#1}}} +\def\blx@mslangexpand#1{% + \ifblank{#1}{\let\ProcessedArgument\blx@lmslang}{\def\ProcessedArgument{#1}}} + +% [<msform>][<mslang>]{<scope>}{<field>}{<name>}{<itemcount>}{<part>}{<isliteral>}{<value>} +% No need to default form/lang as, if present, they are always defined by biber +\DeclareDocumentCommand{\blx@bbl@annotationdef} + {O{} O{} m m m m m m m} + {\ifstrequal{#3}{field} + {\ifstrequal{#8}{1} + {\csxappto\blx@bbl@data{% + \listadd\noexpand\abx@annotation@defined{literal@field@#1@#2@#4@#5}% + \csdef{abx@annotation@literal@field@#1@#2@#4@#5}{#9}}} + {\csxappto\blx@bbl@data{% + \listadd\noexpand\abx@annotation@defined{field@#1@#2@#4@#5}% + \def\do####1{\listcsadd{abx@annotation@field@#1@#2@#4@#5}{####1}}% + \docsvlist{#9}}}} + {}% + \ifstrequal{#3}{item} + {\ifstrequal{#8}{1} + {\csxappto\blx@bbl@data{% + \listadd\noexpand\abx@annotation@defined{literal@item@#1@#2@#4@#5@#6}% + \csdef{abx@annotation@literal@item@#1@#2@#4@#5@#6}{#9}}} + {\csxappto\blx@bbl@data{% + \listadd\noexpand\abx@annotation@defined{item@#1@#2@#4@#5@#6}% + \def\do####1{\listcsadd{abx@annotation@item@#1@#2@#4@#5@#6}{####1}}% + \docsvlist{#9}}}} + {}% + \ifstrequal{#3}{part} + {\ifstrequal{#8}{1} + {\csxappto\blx@bbl@data{% + \listadd\noexpand\abx@annotation@defined{literal@part@#1@#2@#4@#5@#6@#7}% + \csdef{abx@annotation@literal@part@#1@#2@#4@#5@#6@#7}{#9}}} + {\csxappto\blx@bbl@data{% + \listadd\noexpand\abx@annotation@defined{part@#1@#2@#4@#5@#6@#7}% + \def\do####1{\listcsadd{abx@annotation@part@#1@#2@#4@#5@#6@#7}{####1}}% + \docsvlist{#9}}}} + {}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>] +\DeclareDocumentCommand{\blx@imc@getfieldannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default}} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@literal@field@#1@#2@\blx@tempa @#4}} + {\edef\blx@tempc{abx@annotation@literal@field@@@\blx@tempa @#4}}% + \ifcsdef{\blx@tempc} + {\csuse{\blx@tempc}} + {}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>][<item>] +\DeclareDocumentCommand{\blx@imc@getitemannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + O{\thelistcount}} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@literal@item@#1@#2@\blx@tempa @#4@#5}} + {\edef\blx@tempc{abx@annotation@literal@item@@@\blx@tempa @#4@#5}}% + \ifcsdef{\blx@tempc} + {\csuse{\blx@tempc}} + {}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>][<item>]{<part>} +\DeclareDocumentCommand{\blx@imc@getpartannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + O{\thelistcount} + m} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@literal@part@#1@#2@\blx@tempa @#4@#5@#6}} + {\edef\blx@tempc{abx@annotation@literal@part@@@\blx@tempa @#4@#5@#6}}% + \ifcsdef{\blx@tempc} + {\csuse{\blx@tempc}} + {}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>]{<annotation>} +\DeclareDocumentCommand{\blx@imc@iffieldannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + m} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@field@#1@#2@\blx@tempa @#4}} + {\edef\blx@tempc{abx@annotation@field@@@\blx@tempa @#4}}% + \ifinlistcs{#5}{\blx@tempc}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>][<item>]{<annotation>} +\DeclareDocumentCommand{\blx@imc@ifitemannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + O{\thelistcount} + m} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@item@#1@#2@\blx@tempa @#4@#5}} + {\edef\blx@tempc{abx@annotation@item@@@\blx@tempa @#4@#5}}% + \ifinlistcs{#6}{\blx@tempc}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>][<item>]{<part>}{<annotation>} +\DeclareDocumentCommand{\blx@imc@ifpartannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + O{\thelistcount} + m + m} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@part@#1@#2@\blx@tempa @#4@#5@#6}} + {\edef\blx@tempc{abx@annotation@part@@@\blx@tempa @#4@#5@#6}}% + \ifinlistcs{#7}{\blx@tempc}} + + % [<msform>][<mslang>][<entryfield>][<annotationname>] +\DeclareDocumentCommand{\blx@imc@hasfieldannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default}} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@literal@field@#1@#2@\blx@tempa @#4}} + {\edef\blx@tempc{abx@annotation@literal@field@@@\blx@tempa @#4}}% + \ifcsdef{\blx@tempc}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>][<item>] +\DeclareDocumentCommand{\blx@imc@hasitemannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + O{\thelistcount}} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@literal@item@#1@#2@\blx@tempa @#4@#5}} + {\edef\blx@tempc{abx@annotation@literal@item@@@\blx@tempa @#4@#5}}% + \ifcsdef{\blx@tempc}} + +% [<msform>][<mslang>][<entryfield>][<annotationname>][<item>]{<part>} +\DeclareDocumentCommand{\blx@imc@haspartannotation} + {>{\blx@msformexpand}O{\blx@msform} + >{\blx@mslangexpand}O{\blx@lmslang} + O{} + O{default} + O{\thelistcount} + m} + {\let\blx@tempa\@empty + \ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}% + \ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}% + \ifdefvoid\currentname{}{\let\blx@tempa\currentname}% + \ifblank{#3} + {} + {\def\blx@tempa{#3}}% + \blx@resolve@annotation@label{\blx@tempa}% + \blx@imc@ifmsentryfield\blx@tempa + {\edef\blx@tempc{abx@annotation@literal@part@#1@#2@\blx@tempa @#4@#5@#6}} + {\edef\blx@tempc{abx@annotation@literal@part@@@\blx@tempa @#4@#5@#6}}% + \ifcsdef{\blx@tempc}} + +% labeldatesource has a slightly different format than other <field>sources +% that's one reason for a dedicated command, the other being that this command +% is probably only used in contexts where \currentfield is not defined, so +% the <datetype> argument is always required +% [<annotationname>]{<datetype>}{<annotation>} +\newcommand*{\blx@imc@ifdateannotation}[3][]{% + \ifblank{#1} + {\def\blx@tempa{default}} + {\def\blx@tempa{#1}}% + \def\blx@tempb{#2}% + \ifcsundef{abx@field@@@\blx@tempb source} + {}% + {\letcs\blx@tempa{abx@field@@@\blx@tempb source}% + \edef\blx@tempb{\blx@tempb date}}% + \ifinlistcs{#3}{abx@annotation@field@\blx@tempb @\blx@tempa}} + +% [<annotationname>]{<datetype>} +\newcommand*{\blx@imc@hasdateannotation}[2][]{% + \ifblank{#1} + {\def\blx@tempa{default}} + {\def\blx@tempa{#1}}% + \def\blx@tempb{#2}% + \ifcsundef{abx@field@@@\blx@tempb source} + {}% + {\letcs\blx@tempa{abx@field@@@\blx@tempb source}% + \edef\blx@tempb{\blx@tempb date}}% + \ifboolexpr { test {\ifcsdef{abx@annotation@field@\blx@tempb @\blx@tempa}} + or + test {\ifcsdef{abx@annotation@literal@field@\blx@tempb @\blx@tempa}} }} + +% [<annotationname>]{<datetype>} +\newcommand*{\blx@imc@getdateannotation}[2][]{% + \ifblank{#1} + {\def\blx@tempa{default}} + {\def\blx@tempa{#1}}% + \def\blx@tempb{#1}% + \ifcsundef{abx@field@@@\blx@tempb source} + {}% + {\letcs\blx@tempb{abx@field@@@\blx@tempb source}% + \edef\blx@tempb{\blx@tempb date}}% + \ifcsdef{abx@annotation@literal@field@\blx@tempb @\blx@tempa} + {\csuse{abx@annotation@literal@field@\blx@tempb @\blx@tempa}} + {}} + +\blx@regimcs{\iffieldannotation \ifitemannotation \ifpartannotation + \ifdateannotation \getfieldannotation \getitemannotation \getpartannotation + \getdateannotation \hasfieldannotation \hasitemannotation \haspartannotation + \hasdateannotation} + +% {<fieldname>} +\def\blx@resolve@annotation@label#1{% + \ifcsundef{abx@fieldmssource@field@#1} + {}% + {\letcs\blx@tempa{abx@field@\abx@fieldmssource@msform@#1 @\abx@fieldmssource@mslang@#1 @\abx@fieldmssource@field@#1}}} + +\begingroup +\catcode`\<=12 +\catcode`\>=12 +\uccode`\<=`\ % +\uccode`\>=\endlinechar +\uppercase{\gdef\blx@bbl@verbadd@i<#1>}{% + \endgroup + \edef\NewValue{\NewValue\detokenize{#1}}} +\uppercase{\gdef\blx@bbl@verbladd@i<#1>}{% + \endgroup + \eappto\blx@tempc{{\detokenize{#1}}}}% +\endgroup + +% {<counter>}{<value>} +\protected\long\def\blx@bbl@cntdef#1#2{% + \csxappto\blx@bbl@data{% + \csname c@#1\endcsname#2\relax}} + +% {<boolean>} +\protected\def\blx@bbl@booltrue#1{% + \csgappto\blx@bbl@data{% + \toggletrue{abx@bool@#1}}} + +\protected\def\blx@bbl@boolfalse#1{% + \csgappto\blx@bbl@data{% + \togglefalse{abx@bool@#1}}} + +% {<msform>}{<mslang>}{<list>}{<itemcount>}{<value>} +% msform and mslang can be empty for non-multiscript lists +\protected\def\blx@bbl@listdef#1#2#3#4#5{% + \def\NewCount{#4}% + \def\NewValue{#5}% + \ifcsdef{blx@lih@#3} + {\csname blx@lih@#1\endcsname{#5}% + \ifdefvoid\NewValue} + {\@secondoftwo} + {} + {\csxappto\blx@bbl@data{% + \ifinlistcs{#1}{abx@fieldmsforms@#3}{}{\listcsadd{abx@fieldmsforms@#3}{#1}}% + \ifinlistcs{#2}{abx@fieldmslangs@#3}{}{\listcsadd{abx@fieldmslangs@#3}{#2}}% + \csname c@#3\endcsname\NewCount\relax + \def\expandafter\noexpand\csname abx@entryfield@#3\endcsname{1}% value doesn't matter + \def\expandafter\noexpand\csname abx@list@#3\endcsname{1}% value doesn't matter + \def\expandafter\noexpand\csname abx@list@#1@#2@#3\endcsname{\expandonce\NewValue}}}} + +% {<msform>}{<mslang>}{<name>}{<itemcount>}{<nameoptions>}{<value>} +% msform and mslang can be empty for non-multiscript names +\protected\def\blx@bbl@namedef#1#2#3#4#5#6{% + \def\NewCount{#4}% + \def\NewOption{#5}% + \def\NewValue{#6}% + \ifcsdef{blx@nih@#1} + {\csname blx@nih@#1\endcsname{#6}% + \ifdefvoid\NewValue} + {\@secondoftwo} + {} + {\csxappto\blx@bbl@data{% + \ifinlistcs{#1}{abx@fieldmsforms@#3}{}{\listcsadd{abx@fieldmsforms@#3}{#1}}% + \ifinlistcs{#2}{abx@fieldmslangs@#3}{}{\listcsadd{abx@fieldmslangs@#3}{#2}}% + \csname c@#3\endcsname\NewCount\relax + \def\expandafter\noexpand\csname abx@entryfield@#3\endcsname{1}% value doesn't matter + \def\expandafter\noexpand\csname abx@name@#3\endcsname{1}% value doesn't matter + \def\expandafter\noexpand\csname abx@name@#1@#2@#3\endcsname{{\expandonce\NewOption}{\expandonce\NewValue}}}}} + +% blx@setp@<rs>@<sp> = map of set parent <sp> in a refsection <rs> to csv +% of set children +% blx@seti@<rs>@<sc> = position of set child <sc> in entry set in +% refsection <rs> +% blx@setc@<rs>@<sc> = map of set child <sc> in refsection <rs> to set parent + +% {<entrykey>,...} +\protected\def\blx@bbl@set#1{% + \blx@bbl@fieldedef{entryset}{\detokenize{#1}}% + \csxdef{blx@setp@\the\c@refsection @\abx@field@@@entrykey}{\detokenize{#1}}% + \begingroup + \blx@tempcnta\z@ + \expandafter\forcsvlist + \expandafter\blx@bbl@set@i + \expandafter{\detokenize{#1}}% + \endgroup} + +\def\blx@bbl@set@i#1{% + \advance\blx@tempcnta\@ne + \csxdef{blx@seti@\the\c@refsection @#1}{\the\blx@tempcnta}} + +% {<entrykey>} +\protected\def\blx@bbl@inset#1{% + \toggletrue{blx@setonly}% + \blx@bbl@fieldedef{entryset}{\detokenize{#1}}% + \csxdef{blx@setc@\the\c@refsection @\abx@field@@@entrykey}{\detokenize{#1}}} + +% {<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{% + \forcsvlist{\blx@addkeyword{\abx@field@@@entrykey}}{#1}% + \blx@bbl@fielddef{}{}{keywords}{#1}} + +\def\blx@addkeyword#1#2{% + \listcsxadd{blx@keyw@\the\c@refsection @\detokenize{#2}}{#1}} + +\newcommand*{\blx@ifcatcode@other}[1]{% + \ifnumequal{\catcode\number`#1}{12}} + +% {<options>} +\protected\long\def\blx@bbl@options#1{% + \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@checkopt{#1}% + \edef\blx@tempa{% + \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@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'}} + {\eappto\blx@tempa{% + \ifx\blx@tempa\@empty\else,\fi + \unexpanded{#1}\ifblank{#2}{}{=\unexpanded{#2}}}}} + +\def\blx@ifdata#1{% + \ifcsdef{blx@data@\the\c@refsection @\blx@refcontext@context @#1}} +\let\blx@imc@ifentryinbib\blx@ifdata + +\def\blx@getdata#1{% + \csuse{blx@data@\the\c@refsection @\blx@refcontext@context @#1}% + % Set lmslang with any entry-specific language + \blx@imc@iffieldundef{langid} + {\global\let\blx@lmslang\blx@mslang} + {\xdef\blx@lmslang{\csuse{blx@msmaplangr@\abx@field@@@langid}}}% + \blx@adjustyears + \blx@getlabeldata + \blx@aliasfields + \blx@setcitecounter} + +\def\blx@adjustyears{% + % All dates by default are output from biber in astronomical era with a year 0 + % So, if we are ouputting BCE/BC era, we need to adjust the years by +1 + \def\do##1{% + \ifdefstring\blx@dateera{astronomical} + {} + {\ifcsdef{abx@field@@@##1year} + {\csuse{if##1dateera}{bce} + {\csedef{abx@field@@@##1year}{\number\numexpr\csuse{abx@field@@@##1year}+1}} + {}} + {}% + \ifcsdef{abx@field@@@##1endyear} + {\csuse{if##1enddateera}{bce} + {\csedef{abx@field@@@##1endyear}{\number\numexpr\csuse{abx@field@@@##1endyear}+1}} + {}} + {}}% + {}}% + \abx@dodatetypes} + +\def\blx@getlabeldata{% + % Here we resolve label* bib fields to their real fields. In fact, currently biber resolves + % the label* fields too, as it needs to do this to generate various internal + % counters for tracking things like singletitle etc. internally. However, it does not output + % the resolved values to the .bbl. It is conceptually neater to have just the calculated label* + % source field in the .bbl and let biblatex resolve the label* field using the label*source + % fields. However, currently there is no way/need to vary the label* resolution to pick up a + % different target field in biblatex and so practically, this resolution is being done twice, + % once by biber, once by biblatex. It is possible in the future that it would be useful to + % to change the resolution of the label* fields dynamically in a style/document and so this + % biblatex-side resolution remains. + % + % An unanswered question is whether such dynamic resolution causes problems due to the fact + % that biber uses the label* field to generate counters internally and changing the + % label* field resolution in biblatex would occur after such counters have been used to + % generate the .bbl + % This could all be removed from biblatex if necessary and biber could output all resolved + % label* fields to the .bbl but then it potentially removes control of such things from + % macros + % + % fields + \def\do##1{% + \ifcsundef{abx@fieldmssource@field@##1} + {} + {\iftoggle{blx@dynamiclabel} + {\let\blx@tempa\blx@msform + \let\blx@tempb\blx@mslang} + {\edef\blx@tempa{\csuse{abx@fieldmssource@msform@##1}}% + \edef\blx@tempb{\csuse{abx@fieldmssource@mslang@##1}}}% + \csletcs{abx@field@@@##1}{abx@field@\blx@tempa @\blx@tempb @\csuse{abx@fieldmssource@field@##1}}}}% + \abx@dorfields% + % names + \def\do##1{% + \ifcsundef{abx@fieldmssource@field@##1} + {} + {\iftoggle{blx@dynamiclabel} + {\let\blx@tempa\blx@msform + \let\blx@tempb\blx@mslang} + {\edef\blx@tempa{\csuse{abx@fieldmssource@msform@##1}}% + \edef\blx@tempb{\csuse{abx@fieldmssource@mslang@##1}}}% + \csname c@##1\expandafter\endcsname\expandafter + \the\csname c@\csuse{abx@fieldmssource@field@##1}\endcsname + \csletcs{abx@name@@@##1}{abx@name@\blx@tempa @\blx@tempb @\csuse{abx@fieldmssource@field@##1}}% + \csletcs{etb@tgl@abx@bool@more##1}{% + etb@tgl@abx@bool@more\csuse{abx@fieldmssource@field@##1}}}}% + \abx@dornames% + % indextitle/indexsorttitle + \blx@indextitle + \ifundef\abx@field@@@indexsorttitle + {\let\abx@field@@@indexsorttitle\abx@field@@@indextitle} + {}% + % Resolve labeldate + % Note that here we can't refer to labelyear as this is where we create it, hence the + % complications in constructing test names etc. + % This also shows why biber shouldn't resolve labeldate fields as we have to add + % circa/uncertain/era etc. information to them and that has to be done here. + \ifundef\abx@field@@@labeldatesource + {} + {\ifcsundef{abx@field@@@\abx@field@@@labeldatesource year} + % \DeclareLabeldate resolved to a literal/localisation string or a non-date field + % in which case we only set labelyear. + {\ifcsundef{abx@field@@@\abx@field@@@labeldatesource} + % \DeclareLabeldate resolved to a literal/localisation string + {\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 ISO8601 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 + \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@@@labelyeardivision{abx@field@@@\abx@field@@@labeldatesource yeardivision}% + \letcs\abx@field@@@labelendyeardivision{abx@field@@@\abx@field@@@labeldatesource endyeardivision}% + \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{% + \blx@getdata{#1}% + % Inject the relevant set parent fields like labelnumber/labelprefix into child + \ifcsdef{blx@setc@\the\c@refsection @#1} + {\blx@ifdata{#1} + {\def\abx@field@@@childentrykey{#1}%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}% + \let\blx@tempa\@empty + % Inject labelnumber if it exists + \ifdef\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{% + \expandonce\abx@field@@@labelprefix}}} + {}% + % Inject labelalpha if it exists + \ifdef\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{% + \expandonce\abx@field@@@extraalpha}}} + {}% + % Perform the injection + \edef\blx@tempb{\endgroup\blx@tempa}% + \blx@tempb} + {}} + {}% + \ifcsdef{blx@seti@\the\c@refsection @#1} + {\letcs\abx@field@@@entrysetcount{blx@seti@\the\c@refsection @#1}} + {}} + +\def\blx@execute{% + \blx@imc@thefield{execute}} + +\def\blx@setoptions@entry{% + \blx@imc@iffieldundef{options} + {} + {\begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@kv@setkeys{blx@opt@ent}{\abx@field@@@options}}% + \blx@tempa + \blx@checkoptions@entry}} + +\def\blx@setoptions@type#1{% + \ifcsdef{blx@opts@type@#1} + {\begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@kv@setkeys{blx@opt@typ}{\csuse{blx@opts@type@#1}}}% + \blx@tempa} + {}} + +\def\blx@checkoptions@global{} +\def\blx@checkoptions@type{} +\def\blx@checkoptions@entry{} + +\def\blx@entrysetcount{% + \ifdef\abx@field@@@entrykey + {\ifcsdef{blx@seti@\the\c@refsection @\abx@field@@@entrykey} + {\letcs\abx@field@@@entrysetcount{% + blx@seti@\the\c@refsection @\abx@field@@@entrykey}} + {}} + {}} + +% {<section>} +\def\blx@bbl@refsection#1{% + \begingroup + \c@refsection#1\relax} + +\def\blx@bbl@endrefsection{% + \iftoggle{blx@addset} + {\blx@addset + \global\togglefalse{blx@addset}} + {}% + \endgroup} + +% {<entrykey>} +\protected\def\blx@bbl@missing#1{% + \listcsxadd{blx@miss@\the\c@refsection}{\detokenize{#1}}% + \blx@warning@noline{% + The following entry could not be found\MessageBreak + in the database% + \ifnumgreater\c@refsection\z@ + { (refsection \the\c@refsection)} + {}:\MessageBreak + \detokenize{#1}\MessageBreak + Please verify the spelling and rerun\MessageBreak + LaTeX afterwards}} + +% We create an alias resolving macro and also a list of aliases +% which we need to add to the .bcf. We need to resolve the aliases +% 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{% + \csxdef{blx@keyalias@\the\c@refsection @#1}{\detokenize{#2}}% + \listcsxadd{blx@keyaliases@\the\c@refsection}{\detokenize{#1}}} + +% blx@dlist@list@<section>@<refcontext> - a list of list items in a refcontext in a +% section (for tracking bibliography lists, +% obeys skipbiblist) +% blx@dlist@entry@<section>@<list> - a list of normal entries in a list in a +% section (for tracking bibliographies, +% obeys skipbib) +% blx@dlist@centry@<section>@<list> - a list of normal entries in a list in a +% section (for tracking citations, +% does not obey skipbib). +% Same as @entry@, but includes skipbib'd entries +% and set children +% +% {<entrykey>}{<entrytype>}{<options>} +\protected\def\blx@bbl@entry#1#2#3{% + \begingroup + \edef\abx@field@@@entrykey{\detokenize{#1}}% + \blx@setoptions@type{#2}% + \blx@bbl@options{#3}% + \blx@setoptions@entry + \edef\blx@bbl@data{blx@data@\the\c@refsection @\blx@dlist@name @\abx@field@@@entrykey}% + \blx@bbl@addfield{entrykey}{\abx@field@@@entrykey}{}{}% + \listcsxadd{blx@entries@\the\c@refsection}{\abx@field@@@entrykey}% + \blx@bbl@addfield{entrytype}{#2}{}{}% + \csuse\blx@bbl@data + \blx@imc@iffieldundef{options} + {} + {\blx@bbl@fieldedef{options}{\expandonce\abx@field@@@options}}} + +\protected\def\blx@bbl@endentry{% + % Useful for debugging + % \expandafter\show\csname\blx@bbl@data\endcsname + \csuse\blx@bbl@data + \ifcsundef{blx@pref@\the\c@refsection @\abx@field@@@entrykey} + {} + {\blx@addpageref{\abx@field@@@entrykey}}% + \nottoggle{blx@setonly} + {} + {\global\toggletrue{blx@addset}% + \toggletrue{blx@skipbib}% + \toggletrue{blx@skipbiblist}% + \toggletrue{blx@skiplab}}% + \expandafter\ifstrequal\expandafter{\blx@dlist@type}{entry} + {\listcsxadd{blx@type@\the\c@refsection @\abx@field@@@entrytype}{\abx@field@@@entrykey}% + \ifdef\abx@field@@@entrysubtype + {\listcsxadd{blx@subt@\the\c@refsection @\abx@field@@@entrysubtype}{\abx@field@@@entrykey}} + {}% + \nottoggle{blx@setonly} + {\listcsxadd{blx@dlist@centry@\the\c@refsection @\blx@dlist@name}{\abx@field@@@entrykey}} + {}% + \nottoggle{blx@skipbib} + {\listcsxadd{blx@dlist@entry@\the\c@refsection @\blx@dlist@name}{\abx@field@@@entrykey}} + {}}% + {}% + \nottoggle{blx@skipbiblist} + {\expandafter\ifstrequal\expandafter{\blx@dlist@type}{list} + {\blx@bbl@labelfields + \listcsxadd{blx@dlist@\blx@dlist@type @\the\c@refsection @\blx@dlist@name}{\abx@field@@@entrykey}} + {}}% + {}% + \nottoggle{blx@skiplab} + {\iftoggle{blx@labelnumber} + {\blx@bbl@labelnumber} + {}% + \iftoggle{blx@labelalpha} + {\blx@bbl@labelalpha} + {}% + \iftoggle{blx@labeltitle} + {\blx@bbl@labeltitle} + {}% + \iftoggle{blx@labeltitleyear} + {\blx@bbl@labeltitleyear} + {}% + \iftoggle{blx@labeldateparts} + {\blx@bbl@labeldate} + {}% + \blx@bbl@labelname} + {}% + \blx@bbl@hooks + \endgroup} + +% This, at the end of the .bbl, puts any set parent children into the +% current context sort list of citations (a separate list *@centry@* to the +% bibliography *@entry@* which doesn't want the children adding if they weren't +% cited) as this is needed for the subentry citing +% when sortcites is enabled as for sortcites, the current context sorting list +% is used and the parent set of a subentry is not necessarily +% available in the current context sortlist. +\def\blx@addset{% + \begingroup + \ifcsdef{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context} + {\letcs\blx@tempa{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}% + \global\cslet{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}\@empty + \forlistloop\blx@addset@i\blx@tempa} + {\blx@warning@noline{Sorting template has changed}}% + \endgroup} + +\def\blx@addset@i#1{% + \listcsgadd{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}{#1}% + \ifcsdef{blx@setp@\the\c@refsection @#1} + {\expandafter\expandafter\expandafter\forcsvlist + \expandafter\expandafter\expandafter\blx@addset@ii + \expandafter\expandafter\expandafter{% + \csname blx@setp@\the\c@refsection @#1\endcsname}} + {}} + +\def\blx@addset@ii#1{% + \listcsgadd{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}{#1}} + +% {<csname>}{<field>/<format>}{<field>} +\def\abx@flfw@getfieldformat#1#2#3{% + \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{% + \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{% + \def\do##1{% + \csname local##1width\endcsname\z@}% + \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{% + \let\do\blx@labelwidth@settolocal@length + \abx@dolabelwidths} + +\def\blx@locallabelwidth@setlengths{% + \global\advance\blx@biblioinstance\@ne + \blx@labelwidth@resetlocal + \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}{}% + \abx@flfw@getfieldformat{abx@flfw@labelprefix}{labelprefix}{}% + \abx@flfw@getfieldformat{abx@flfw@labelnumber}{labelnumber}{}% + \iftoggle{blx@defernumbers} + {\ifundef\abx@field@@@localnumber + {\numdef\abx@field@@@localnumber{0}}% + {}} + {\ifundef\abx@field@@@localnumber + {\edef\abx@field@@@localnumber{% + \csuse{blx@labelnumber@\the\c@refsection}}} + {}}% + \blx@setlabwidth{\csname #1labelnumberwidth\endcsname}{% + \csuse{abx@flfw@labelnumberwidth}{% + \ifdef\abx@field@@@labelprefix + {\csuse{abx@flfw@labelprefix}{\abx@field@@@labelprefix}} + {}% + \csuse{abx@flfw@labelnumber}{\abx@field@@@localnumber}}}} + +\def\blx@bbl@labelnumberwidth@shorthand#1{% + \abx@flfw@getfieldformat{abx@flfw@labelnumberwidth}{labelnumberwidth}{}% + \abx@flfw@getfieldformat{abx@flfw@labelnumber}{labelnumber}{}% + \blx@setlabwidth{\csname #1labelnumberwidth\endcsname}{% + \csuse{abx@flfw@labelnumberwidth}{% + \csuse{abx@flfw@labelnumber}{\abx@field@@@shorthand}}}} + +\def\blx@bbl@locallabelnumberwidth{% + \ifdefempty\abx@field@@@localnumber + {} + {\ifundef\abx@field@@@shorthand + {\blx@bbl@labelnumberwidth@numeric{local}} + {\blx@bbl@labelnumberwidth@shorthand{local}}}} + +% {<prefix for labelwidth fields>} +\def\blx@bbl@labelalphawidth#1{% + \abx@flfw@getfieldformat{abx@flfw@labelalphawidth}{labelalphawidth}{}% + \abx@flfw@getfieldformat{abx@flfw@labelprefix}{labelprefix}{}% + \abx@flfw@getfieldformat{abx@flfw@labelalpha}{labelalpha}{}% + \abx@flfw@getfieldformat{abx@flfw@extraalpha}{extraalpha}{}% + \blx@setlabwidth{\csname #1labelalphawidth\endcsname}{% + \csuse{abx@flfw@labelalphawidth}{% + \ifdef\abx@field@@@labelprefix + {\csuse{abx@flfw@labelprefix}{\abx@field@@@labelprefix}} + {}% + \csuse{abx@flfw@labelalpha}{\abx@field@@@labelalpha}% + \ifundef\abx@field@@@extraalpha + {} + {\csuse{abx@flfw@extraalpha}{\abx@field@@@extraalpha}}}}} + +\def\blx@bbl@locallabelalphawidth{% + \ifundef\abx@field@@@labelalpha + {} + {\blx@bbl@labelalphawidth{local}}} + +\def\blx@bbl@locallabelfields{\blx@bbl@labelfields@i{local}} + +\def\blx@bbl@labelfields{\blx@bbl@labelfields@i{}} + +\def\blx@indextitle{% + \ifundef\abx@field@@@indextitle + {\letcs\abx@field@@@indextitle{abx@field@\blx@msform @\blx@lmslang @title}} + {}} + +% {<prefix for labelwidth fields>} +% This relies on the short* fields not being multiscript fields +\def\blx@bbl@labelfields@i#1{% + \def\do##1{% + \ifcsundef{abx@field@@@##1} + {} + {\abx@flfw@getfieldformat{abx@flfw@##1width}{##1width}{##1}% + \blx@setlabwidth{\csname #1##1width\endcsname}{% + \csuse{abx@flfw@##1width}{\csname abx@field@@@##1\endcsname}}}}% + \abx@dolabelfields} + +\def\blx@bbl@labelnumber{% + % Used at endentry, when reading .bbl + % only do this for the global sorting list otherwise we increment + % the labelnumbers for each sortlist + \ifdefempty\abx@field@@@localnumber + {}% only if omitnumbers=true + {\ifundef\abx@field@@@shorthand + {\iftoggle{blx@defernumbers} + % only if defernumbers=true, we have to define localnumber to + % something to stop labelnumberwidth def complaining on first + % post-backend run since there will be nothing in the .aux yet + % for defernums localnumbers. On the second post-backend run, + % it will have a value correct for generating labelnumberwidth + % We also have to define a dummy value for labelnumber here for + % first post-backend runs otherwise references to labelnumber + % in cite styles like numeric-comp will die. + {\ifundef\abx@field@@@localnumber + {\numdef\abx@field@@@localnumber{0}% + \blx@bbl@fielddef{}{}{labelnumber}{0}}% + {}} + {\csnumgdef{blx@labelnumber@\the\c@refsection}{% + \csuse{blx@labelnumber@\the\c@refsection}+1}% + \edef\abx@field@@@localnumber{% + \csuse{blx@labelnumber@\the\c@refsection}}% + \blx@bbl@fieldedef{labelnumber}{\abx@field@@@localnumber}}% + \iftoggle{blx@skipbib} + {} + {\blx@bbl@labelnumberwidth@numeric{}}} + {\csgappto\blx@bbl@data{\let\abx@field@@@labelnumber\abx@field@@@shorthand}% + \iftoggle{blx@skipbib} + {} + {\blx@bbl@labelnumberwidth@shorthand{}}}}} + +\def\blx@bbl@labelalpha{% + \ifundef\abx@field@@@labelalpha + {} + {\ifundef\abx@field@@@extraalpha + {} + {\ifnum\abx@field@@@extraalpha>\c@maxextraalpha + \global\c@maxextraalpha\abx@field@@@extraalpha\relax + \fi}% + \iftoggle{blx@skipbib} + {} + {\blx@bbl@labelalphawidth{}}}} + +\def\blx@bbl@labeltitle{% + \ifundef\abx@field@@@extratitle + {} + {\ifnum\abx@field@@@extratitle>\c@maxextratitle + \global\c@maxextratitle\abx@field@@@extratitle\relax + \fi}} + +\def\blx@bbl@labeltitleyear{% + \ifundef\abx@field@@@extratitleyear + {} + {\ifnum\abx@field@@@extratitleyear>\c@maxextratitleyear + \global\c@maxextratitleyear\abx@field@@@extratitleyear\relax + \fi}} + +\def\blx@bbl@labelname{% + \ifundef\abx@field@@@extraname + {} + {\ifnum\abx@field@@@extraname>\c@maxextraname + \global\c@maxextraname\abx@field@@@extraname\relax + \fi}} + +\def\blx@bbl@labeldate{% + \ifundef\abx@field@@@extradate + {} + {\ifnum\abx@field@@@extradate>\c@maxextradate + \global\c@maxextradate\abx@field@@@extradate\relax + \fi}} + +\def\blx@bbl@hooks{% + \ifcsundef{blx@hook@bblitem@*} + {\ifcsundef{blx@hook@bblitem@\abx@field@@@entrytype} + {} + {\csuse\blx@bbl@data + \csuse{blx@hook@bblitem@\abx@field@@@entrytype}}} + {\csuse\blx@bbl@data + \csuse{blx@hook@bblitem@*}% + \csuse{blx@hook@bblitem@\abx@field@@@entrytype}}} + +\newrobustcmd*{\AtDataInput}[1][*]{\csgappto{blx@hook@bblitem@#1}} +\@onlypreamble\AtDataInput + +\def\blx@setlabwidth#1#2{% + \begingroup + \settowidth{\@tempdima}{\bibfont#2}% + \ifnum\@tempdima>#1% + \global#1\@tempdima + \fi + \endgroup} + +\def\blx@bblstart{% + \let\preamble\blx@bbl@preamble + \let\warn\blx@bbl@thewarn + \let\refsection\blx@bbl@refsection + \let\endrefsection\blx@bbl@endrefsection + \let\entry\blx@bbl@entry + \let\endentry\blx@bbl@endentry + \let\missing\blx@bbl@missing + \let\keyalias\blx@bbl@keyalias + \let\datalist\blx@bbl@dlist + \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@msnamedef + \let\namepartms\blx@bbl@msnamepartdef + \let\listitemms\blx@bbl@mslistitemdef + \let\list\blx@bbl@mslistdef + \let\field\blx@bbl@msfielddef + \let\fieldmssource\blx@bbl@fieldmssourcedef + \let\range\blx@bbl@rangedef + \let\strng\blx@bbl@stringdef + \let\cnt\blx@bbl@cntdef + \let\true\blx@bbl@booltrue + \let\false\blx@bbl@boolfalse + \let\verb\blx@bbl@verbdef + \let\endverb\blx@bbl@verbend + \let\lverb\blx@bbl@verbldef + \let\endlverb\blx@bbl@verblend + \let\annotation\blx@bbl@annotationdef + \let\msforms\blx@bbl@msformsdef + \let\mslangs\blx@bbl@mslangsdef + \let\msentrylangs\blx@bbl@msentrylangsdef} + +% namepart definitions for all alternates of a name +\protected\def\blx@bbl@msnamepartdef#1#2#3{% + \csxappto\blx@bbl@data{% + \listadd\noexpand\abx@nameparts@defined{#1@#2}% + \def\expandafter\noexpand\csname abx@nameparts@#1@#2\endcsname{\unexpanded{#3}}}} +% listitem definitions for all alternates of a list +\protected\def\blx@bbl@mslistitemdef#1#2#3{% + \csxappto\blx@bbl@data{% + \listadd\noexpand\abx@listitems@defined{#1@#2}% + \def\expandafter\noexpand\csname abx@listitems@#1@#2\endcsname{\unexpanded{#3}}}} + +% Record select list for a langid +\newrobustcmd*{\DeclareMsselect}[2]{% + \begingroup + \let\alternate\blx@msselect + \def\blx@tempa{#1}% + \ifcsdef{blx@msmaplangr@#1} + {\letcs\blx@tempa{blx@msmaplangr@#1}} + {}% + #2% + \endgroup} +\protected\def\blx@msselect#1#2{% + \listcsgadd{blx@msselect@\blx@tempa}{{#1}{#2}}} +\@onlypreamble\DeclareMsselect + +% List of all forms/langs in the documents, comes from biber via .bbl +\protected\def\blx@bbl@msformsdef#1{% + \gdef\blx@msforms{#1}} +\protected\def\blx@bbl@mslangsdef#1{% + \gdef\blx@mslangs{#1}} +\protected\def\blx@bbl@msentrylangsdef#1{} + +% Mapping of BCP47->babel ids until babel/polyglossia support BCP47 tags +% Must use \csuse on blx@msmaplang due to hyphens in tags +\protected\def\blx@imc@maplangtag#1#2{% + \csgdef{blx@msmaplang@#1}{#2}} +\let\maplangtag\blx@imc@maplangtag + +% Default BCP47->babel/polyglossia mappings +% Used to determine babel/polyglossia/biblatex language from BCP47 tag +% Needs to be replaced by some real package +\blx@imc@maplangtag{af}{afrikaans} +\blx@imc@maplangtag{af-za}{afrikaans} +\blx@imc@maplangtag{am}{ethiopia} +\blx@imc@maplangtag{am-et}{amharic} +\blx@imc@maplangtag{ar}{arabic} +\blx@imc@maplangtag{ar-001}{arabic} +\blx@imc@maplangtag{ast}{asturian} +\blx@imc@maplangtag{ast-es}{asturian} +\blx@imc@maplangtag{bg}{bulgarian} +\blx@imc@maplangtag{bg-bg}{bulgarian} +\blx@imc@maplangtag{bn}{bengali} +\blx@imc@maplangtag{bn-bd}{bengali} +\blx@imc@maplangtag{bo}{tibetan} +\blx@imc@maplangtag{bo-cn}{tibetan} +\blx@imc@maplangtag{br}{breton} +\blx@imc@maplangtag{br-fr}{breton} +\blx@imc@maplangtag{ca}{catalan} +\blx@imc@maplangtag{ca-ad}{catalan} +\blx@imc@maplangtag{ca-es}{catalan} +\blx@imc@maplangtag{cop}{coptic} +\blx@imc@maplangtag{cs}{czech} +\blx@imc@maplangtag{cs-cz}{czech} +\blx@imc@maplangtag{cy}{welsh} +\blx@imc@maplangtag{cy-gb}{welsh} +\blx@imc@maplangtag{da}{danish} +\blx@imc@maplangtag{da-dk}{danish} +\blx@imc@maplangtag{de-1996}{ngerman} +\blx@imc@maplangtag{de-at}{austrian} +\blx@imc@maplangtag{de-at-1996}{naustrian} +\blx@imc@maplangtag{de-ch}{swissgerman} +\blx@imc@maplangtag{de-ch-1996}{nswissgerman} +\blx@imc@maplangtag{de}{german} +\blx@imc@maplangtag{de-de}{german} +\blx@imc@maplangtag{de-de-1996}{ngerman} +\blx@imc@maplangtag{dsb}{lowersorbian} +\blx@imc@maplangtag{dsb-de}{lowersorbian} +\blx@imc@maplangtag{dv}{divehi} +\blx@imc@maplangtag{dv-mv}{divehi} +\blx@imc@maplangtag{el}{greek} +\blx@imc@maplangtag{el-cy}{ibygreek} +\blx@imc@maplangtag{el-gr}{greek} +\blx@imc@maplangtag{en}{english} +\blx@imc@maplangtag{en-au}{australian} +\blx@imc@maplangtag{en-ca}{canadian} +\blx@imc@maplangtag{en-uk}{ukenglish} +\blx@imc@maplangtag{en-gb}{british} +\blx@imc@maplangtag{en-nz}{newzealand} +\blx@imc@maplangtag{en-us}{usenglish} +\blx@imc@maplangtag{en-us}{american} +\blx@imc@maplangtag{en-us}{english} +\blx@imc@maplangtag{eo}{esperanto} +\blx@imc@maplangtag{eo-001}{esperanto} +\blx@imc@maplangtag{es}{spanish} +\blx@imc@maplangtag{es-es}{spanish} +\blx@imc@maplangtag{et}{estonian} +\blx@imc@maplangtag{et-ee}{estonian} +\blx@imc@maplangtag{eu}{basque} +\blx@imc@maplangtag{eu-es}{basque} +\blx@imc@maplangtag{fa}{farsi} +\blx@imc@maplangtag{fa-ir}{farsi} +\blx@imc@maplangtag{fi}{finnish} +\blx@imc@maplangtag{fi-fi}{finnish} +\blx@imc@maplangtag{fr}{french} +\blx@imc@maplangtag{fr-ca}{acadian} +\blx@imc@maplangtag{fr-ca}{canadien} +\blx@imc@maplangtag{fr-fr}{french} +\blx@imc@maplangtag{fur}{friulan} +\blx@imc@maplangtag{fur-it}{friulan} +\blx@imc@maplangtag{ga}{irish} +\blx@imc@maplangtag{ga-ie}{irish} +\blx@imc@maplangtag{gd}{scottish} +\blx@imc@maplangtag{gd-gb}{scottish} +\blx@imc@maplangtag{gl}{galician} +\blx@imc@maplangtag{gl-es}{galician} +\blx@imc@maplangtag{ha}{nko} +\blx@imc@maplangtag{ha-ng}{nko} +\blx@imc@maplangtag{he}{hebrew} +\blx@imc@maplangtag{he-il}{hebrew} +\blx@imc@maplangtag{hi}{hindi} +\blx@imc@maplangtag{hi-in}{hindi} +\blx@imc@maplangtag{hr}{croatian} +\blx@imc@maplangtag{hr-hr}{croatian} +\blx@imc@maplangtag{hsb}{uppersorbian} +\blx@imc@maplangtag{hsb-de}{uppersorbian} +\blx@imc@maplangtag{hu}{magyar} +\blx@imc@maplangtag{hu-hu}{magyar} +\blx@imc@maplangtag{hy}{armenian} +\blx@imc@maplangtag{hy-am}{armenian} +\blx@imc@maplangtag{ia}{interlingua} +\blx@imc@maplangtag{ia-fr}{interlingua} +\blx@imc@maplangtag{id}{indonesia} +\blx@imc@maplangtag{is}{icelandic} +\blx@imc@maplangtag{is-is}{icelandic} +\blx@imc@maplangtag{it}{italian} +\blx@imc@maplangtag{it-it}{italian} +\blx@imc@maplangtag{ja}{japanese} +\blx@imc@maplangtag{ja-jp}{japanese} +\blx@imc@maplangtag{kn}{kannada} +\blx@imc@maplangtag{kn-in}{kannada} +\blx@imc@maplangtag{lo}{lao} +\blx@imc@maplangtag{lo-la}{lao} +\blx@imc@maplangtag{lt}{lithuanian} +\blx@imc@maplangtag{lt-lt}{lithuanian} +\blx@imc@maplangtag{lv}{latvian} +\blx@imc@maplangtag{lv-lv}{latvian} +\blx@imc@maplangtag{ml}{malayalam} +\blx@imc@maplangtag{ml-in}{malayalam} +\blx@imc@maplangtag{mn}{mongolian} +\blx@imc@maplangtag{mn-cyrl}{mongolian} +\blx@imc@maplangtag{mr}{marathi} +\blx@imc@maplangtag{mr-in}{marathi} +\blx@imc@maplangtag{nb}{norsk} +\blx@imc@maplangtag{nb-no}{norsk} +\blx@imc@maplangtag{nl}{dutch} +\blx@imc@maplangtag{nl-nl}{dutch} +\blx@imc@maplangtag{nn}{nynorsk} +\blx@imc@maplangtag{nn-no}{nynorsk} +\blx@imc@maplangtag{oc}{occitan} +\blx@imc@maplangtag{oc-fr}{occitan} +\blx@imc@maplangtag{pl}{polish} +\blx@imc@maplangtag{pl-pl}{polish} +\blx@imc@maplangtag{pms}{piedmontese} +\blx@imc@maplangtag{pms-it}{piedmontese} +\blx@imc@maplangtag{pny}{pinyin} +\blx@imc@maplangtag{pt}{portuguese} +\blx@imc@maplangtag{pt-br}{brazilian} +\blx@imc@maplangtag{pt-pt}{portuguese} +\blx@imc@maplangtag{rm}{romansh} +\blx@imc@maplangtag{rm-ch}{romansh} +\blx@imc@maplangtag{ro}{romanian} +\blx@imc@maplangtag{ro-ro}{romanian} +\blx@imc@maplangtag{ru}{russian} +\blx@imc@maplangtag{ru-ru}{russian} +\blx@imc@maplangtag{ru-grek}{greek} +\blx@imc@maplangtag{ru-latn}{latin} +\blx@imc@maplangtag{sa}{sanskrit} +\blx@imc@maplangtag{sa-in}{sanskrit} +\blx@imc@maplangtag{se}{samin} +\blx@imc@maplangtag{se-no}{samin} +\blx@imc@maplangtag{sk}{slovak} +\blx@imc@maplangtag{sk-sk}{slovak} +\blx@imc@maplangtag{sl}{slovenian} +\blx@imc@maplangtag{sl-si}{slovenian} +\blx@imc@maplangtag{sq}{albanian} +\blx@imc@maplangtag{sq-al}{albanian} +\blx@imc@maplangtag{sr}{serbian} +\blx@imc@maplangtag{sr-cyrl}{serbian} +\blx@imc@maplangtag{sr-latn}{latin} +\blx@imc@maplangtag{sv}{swedish} +\blx@imc@maplangtag{sv-se}{swedish} +\blx@imc@maplangtag{syc}{syriac} +\blx@imc@maplangtag{ta}{tamil} +\blx@imc@maplangtag{ta-in}{tamil} +\blx@imc@maplangtag{te}{telugu} +\blx@imc@maplangtag{te-in}{telugu} +\blx@imc@maplangtag{th}{thai} +\blx@imc@maplangtag{th-th}{thai} +\blx@imc@maplangtag{tk}{turkmen} +\blx@imc@maplangtag{tk-tm}{turkmen} +\blx@imc@maplangtag{tr}{turkish} +\blx@imc@maplangtag{tr-tr}{turkish} +\blx@imc@maplangtag{uk}{ukrainian} +\blx@imc@maplangtag{uk-ua}{ukrainian} +\blx@imc@maplangtag{ur}{urdu} +\blx@imc@maplangtag{ur-in}{urdu} +\blx@imc@maplangtag{vi}{vietnamese} +\blx@imc@maplangtag{vi-vn}{vietnamese} + +% Mapping of babel->BCP47 ids until babel/polyglossia support BCP47 tags +% Must use \csuse on blx@msmaplangr due to hyphens in tags +% No user-facing macro needed +\protected\def\blx@maplangtagr#1#2{% + \csgdef{blx@msmaplangr@#1}{#2}} + +% Default mappings of babel/polyglossia language id to BCP47 +% Used to determine default mslang option +% Needs to be replaced by some real package +\blx@maplangtagr{acadian}{fr-ca} +\blx@maplangtagr{american}{en-us} +\blx@maplangtagr{australian}{en-au} +\blx@maplangtagr{afrikaans}{af-za} +\blx@maplangtagr{albanian}{sq-al} +\blx@maplangtagr{amharic}{am-et} +\blx@maplangtagr{arabic}{ar-001} +\blx@maplangtagr{armenian}{hy-am} +\blx@maplangtagr{asturian}{ast-es} +\blx@maplangtagr{austrian}{de-at} +\blx@maplangtagr{bahasa}{id-id} +\blx@maplangtagr{bahasai}{id-id} +\blx@maplangtagr{bahasam}{id-id} +\blx@maplangtagr{basque}{eu-es} +\blx@maplangtagr{bengali}{bn-bd} +\blx@maplangtagr{bgreek}{el-gr} +\blx@maplangtagr{brazil}{pt-br} +\blx@maplangtagr{brazilian}{pt-br} +\blx@maplangtagr{breton}{br-fr} +\blx@maplangtagr{british}{en-gb} +\blx@maplangtagr{bulgarian}{bg-bg} +\blx@maplangtagr{canadian}{en-ca} +\blx@maplangtagr{canadien}{fr-ca} +\blx@maplangtagr{catalan}{ca-ad} +\blx@maplangtagr{coptic}{cop} +\blx@maplangtagr{croatian}{hr-hr} +\blx@maplangtagr{czech}{cs-cz} +\blx@maplangtagr{danish}{da-dk} +\blx@maplangtagr{divehi}{dv-mv} +\blx@maplangtagr{dutch}{nl-nl} +\blx@maplangtagr{english}{en-us} +\blx@maplangtagr{esperanto}{eo-001} +\blx@maplangtagr{estonian}{et-ee} +\blx@maplangtagr{ethiopia}{am-et} +\blx@maplangtagr{farsi}{fa-ir} +\blx@maplangtagr{finnish}{fi-fi} +\blx@maplangtagr{francais}{fr-fr} +\blx@maplangtagr{french}{fr-fr} +\blx@maplangtagr{frenchle}{fr-fr} +\blx@maplangtagr{friulan}{fur-it} +\blx@maplangtagr{galician}{gl-es} +\blx@maplangtagr{german}{de} +\blx@maplangtagr{germanb}{de-de} +\blx@maplangtagr{greek}{el-gr} +\blx@maplangtagr{hebrew}{he-il} +\blx@maplangtagr{hindi}{hi-in} +\blx@maplangtagr{ibygreek}{el-cy} +\blx@maplangtagr{icelandic}{is-is} +\blx@maplangtagr{indon}{id-id} +\blx@maplangtagr{indonesia}{id-id} +\blx@maplangtagr{interlingua}{ia-fr} +\blx@maplangtagr{irish}{ga-ie} +\blx@maplangtagr{italian}{it-it} +\blx@maplangtagr{japanese}{ja-jp} +\blx@maplangtagr{kannada}{kn-in} +\blx@maplangtagr{lao}{lo-la} +\blx@maplangtagr{latin}{la-latn} +\blx@maplangtagr{latvian}{lv-lv} +\blx@maplangtagr{lithuanian}{lt-lt} +\blx@maplangtagr{lowersorbian}{dsb-de} +\blx@maplangtagr{lsorbian}{dsb-de} +\blx@maplangtagr{magyar}{hu-hu} +\blx@maplangtagr{malay}{id-id} +\blx@maplangtagr{malayalam}{ml-in} +\blx@maplangtagr{marathi}{mr-in} +\blx@maplangtagr{meyalu}{id-id} +\blx@maplangtagr{mongolian}{mn-cyrl} +\blx@maplangtagr{naustrian}{de-at} +\blx@maplangtagr{newzealand}{en-nz} +\blx@maplangtagr{ngerman}{de-de-1996} +\blx@maplangtagr{nko}{ha-ng} +\blx@maplangtagr{norsk}{nb-no} +\blx@maplangtagr{norwegian}{nn-no} +\blx@maplangtagr{nynorsk}{nn-no} +\blx@maplangtagr{occitan}{oc-fr} +\blx@maplangtagr{piedmontese}{pms-it} +\blx@maplangtagr{pinyin}{pny} +\blx@maplangtagr{polish}{pl-pl} +\blx@maplangtagr{polutonikogreek}{el-gr} +\blx@maplangtagr{portuges}{pt-pt} +\blx@maplangtagr{portuguese}{pt-pt} +\blx@maplangtagr{romanian}{ro-ro} +\blx@maplangtagr{romansh}{rm-ch} +\blx@maplangtagr{russian}{ru-ru} +\blx@maplangtagr{samin}{se-no} +\blx@maplangtagr{sanskrit}{sa-in} +\blx@maplangtagr{scottish}{gd-gb} +\blx@maplangtagr{serbian}{sr-latn} +\blx@maplangtagr{serbianc}{sr-cyrl} +\blx@maplangtagr{slovak}{sk-sk} +\blx@maplangtagr{slovene}{sl-si} +\blx@maplangtagr{slovenian}{sl-si} +\blx@maplangtagr{spanish}{es-es} +\blx@maplangtagr{swedish}{sv-se} +\blx@maplangtagr{swiss}{de-ch} +\blx@maplangtagr{swissgerman}{de-ch} +\blx@maplangtagr{nswissgerman}{de-ch} +\blx@maplangtagr{syriac}{syc} +\blx@maplangtagr{tamil}{ta-in} +\blx@maplangtagr{telugu}{te-in} +\blx@maplangtagr{thai}{th-th} +\blx@maplangtagr{thaicjk}{th-th} +\blx@maplangtagr{tibetan}{bo-cn} +\blx@maplangtagr{turkish}{tr-tr} +\blx@maplangtagr{turkmen}{tk-tm} +\blx@maplangtagr{ukrainian}{uk-ua} +\blx@maplangtagr{urdu}{ur-in} +\blx@maplangtagr{ukenglish}{en-uk} +\blx@maplangtagr{uppersorbian}{hsb-de} +\blx@maplangtagr{usenglish}{en-us} +\blx@maplangtagr{usorbian}{hsb-de} +\blx@maplangtagr{vietnamese}{vi-vn} +\blx@maplangtagr{welsh}{cy-gb} + +\def\blx@bblend{% + % Create all namepart macros now that we know the valid bbl forms/langs + \def\do##1{% + \begingroup + \def\do####1{% + \begingroup + \def\do########1{% + \blx@kv@gdefkey{blx@opt@nameparts}{##1####1########1}{% + \csdef{namepart##1####1########1}{% + % begin language for name list part alternate + \edef\blx@tempa{\csuse{blx@msmaplang@########1}}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + {}% + \blx@hook@initfieldlang + \begingroup + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}% + ################1% + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname + \endgroup} + {}}}% + \blx@kv@gdefkey{blx@opt@nameparts}{##1####1########1i}{% + \csdef{namepart##1####1########1i}{% + % begin language for name list part initials alternate + \edef\blx@tempa{\csuse{blx@msmaplang@########1}}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + {}% + \blx@hook@initfieldlang + \begingroup + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}% + ################1% + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname + \endgroup}}}}% + \expandafter\docsvlist\expandafter{\blx@mslangs}% + \endgroup}% + \expandafter\docsvlist\expandafter{\blx@msforms}% + \endgroup}% + \expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}% + % Create all listitem macros now that we know the valid bbl forms/langs + \def\do##1{% + \begingroup + \def\do####1{% + \blx@kv@gdefkey{blx@opt@listitems}{##1####1}{% + \csdef{listitem##1####1}{% + % begin language for list item alternate + \edef\blx@tempa{\csuse{blx@msmaplang@####1}}% + \ifdef\blx@thefieldlangenv + {\iftoggle{blx@autofieldlangstrings} + {\blx@langsetup{\blx@tempa}% must call this to load the .lbx + \csuse{abx@extras@\blx@tempa}% + \csuse{abx@strings@\blx@tempa}} + {}% + \blx@hook@initfieldlang + \begingroup + \csname\blx@thefieldlangenv\expandafter\endcsname\expandafter{\blx@tempa}} + {}% + ########1% + \ifdef\blx@thefieldlangenv + {\blx@hook@endfieldlang + \csname end\blx@thefieldlangenv\endcsname + \endgroup}}}}% + \expandafter\docsvlist\expandafter{\blx@mslangs}% + \endgroup}% + \expandafter\docsvlist\expandafter{\blx@msforms}% + \def\blx@do@outer##1{% + \ifcsundef{blx@prelim@lastcites@##1} + {} + {\def\blx@do@inner####1{% + \ifinlistcs{####1}{blx@keyaliases@##1} + {\listcsxadd{blx@lastcites@##1} + {\csuse{blx@keyalias@##1@####1}}} + {\listcsgadd{blx@lastcites@##1}{####1}}}% + \forlistcsloop\blx@do@inner{blx@prelim@lastcites@##1}}}% + \forlistloop\blx@do@outer\blx@alllastrefsections + % Special warning for defernumbers when a citation cannot be found + \iftoggle{blx@defernumbers} + {\def\blx@do@outer##1{% + \ifcsundef{blx@lastcites@##1} + {} + {\def\blx@do@inner####1{% + \ifinlistcs{####1}{blx@entries@##1} + {} + {\blx@warning@noline{% + citation '####1'\MessageBreak + was not found at all in the .bbl file,\MessageBreak + bibliography labels cannot be generated,\MessageBreak + please correct the citation}}}% + \forlistcsloop\blx@do@inner{blx@lastcites@##1}}}% + \forlistloop\blx@do@outer\blx@alllastrefsections} + {}} + +% {<entrykey>} +% Get the saved information on which citations were mentioned last run +\protected\def\abx@aux@cite#1#2{% + \xifinlistcs{\detokenize{#2}}{blx@prelim@lastcites@#1} + {} + {\listcsxadd{blx@prelim@lastcites@#1}{\detokenize{#2}}}} + +% {<refcontext>} +% Get the saved information on which refcontexts were mentioned last run +\protected\def\abx@aux@refcontext#1{% + \xifinlist{\detokenize{#1}}\blx@lastrefcontexts + {} + {\listxadd\blx@lastrefcontexts{\detokenize{#1}}}} + +% {<sortingtemplatename>} +% Get the saved information on which shorthand sorting templates were mentioned last run +\protected\def\abx@aux@biblist#1{% + \ifinlist{#1}\blx@lastbiblists + {} + {\listgadd\blx@lastbiblists{#1}}} + +% Here we mustn't change the checksum if we used localnumbers from the +% .aux file as this means that deferred numbering is +% complete. Otherwise we get in an endless rerun loop because the +% checksum due to number changes is always different. +\blx@AtEndDocument{% + \def\abx@aux@number#1#2#3#4#5{% + \ifblank{#5} + {} + {\nottoggle{blx@localnumber} + {\blx@addchecksum{#1}{#5}} + {}}}} + +\blx@AtEndDocument{% + % Here we run some tests to decide if we need to issue re-run + % messages in certain circumstances. In general, if we add/remove + % any citations or add/remove any sorting templates, we need to re-run + % biber. Also, if we have to re-run biber, we need to defer writing + % the defernumbers .aux information because it will not yet be correct. + \begingroup + % Test to see if there are any .aux entries with defernums (localnum) + % information which are no longer in the .bbl. This is to catch + % when .bib entries are removed when using \nocite{*}. In this case, + % We need another run to remove the .aux localnumber info + \def\blx@do@outer#1{% + \def\blx@do@inner##1{% + \xifinlistcs{##1}{blx@entries@#1} + {} + {\blx@rerun@latex + \listbreak}}% + \forlistloop\blx@do@inner\blx@localnumbers}% + \forlistloop\blx@do@outer\blx@allrefsections + % Test to see if we *removed* any citations since last run + % (adding citations is dealt with naturally in \blx@citation@entry) + % If so, give a rerun biber message. This also sets the + % rerun biber toggle so defernums doesn't consume the localnumbers + % in the .aux but instead, re-writes them, which is what we need. + \def\blx@do@outer#1{% + \ifcsundef{blx@lastcites@#1} + {} + {\def\blx@do@inner##1{% + \ifinlistcs{##1}{blx@cites@#1} + {} + {\blx@logreq@active{}% + \listbreak}}% + \forlistcsloop\blx@do@inner{blx@lastcites@#1}}}% + \forlistloop\blx@do@outer\blx@alllastrefsections + % 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 + \togglefalse{blx@tempa}% + \def\do#1{% + \ifcsundef{blx@sortingtemplate@citeorder@relevant@#1} + {} + {\toggletrue{blx@tempa}% + \listbreak}}% + \dolistloop\blx@sortingtemplatenames + \iftoggle{blx@tempa} + {\ifdefstrequal\blx@allrefsections\blx@alllastrefsections + {\def\do#1{% + \ifcsundef{blx@cites@#1} + {\cslet{blx@cites@#1}\@empty} + {}% + \ifcsundef{blx@lastcites@#1} + {\cslet{blx@lastcites@#1}\@empty} + {}% + \ifcsstrequal{blx@cites@#1}{blx@lastcites@#1} + {} + {\blx@logreq@active{}% + \listbreak}}% + \dolistloop\blx@allrefsections} + {\blx@logreq@active{}}} + {}% + % if citecount is enabled we pass the counter on to Biber via the bcf + % for sorting, we need to rerun if anything here changed + \ifundef\blx@citecounter + {} + {\def\blx@do@outer#1{% + \ifcsundef{blx@cites@#1} + {} + {\def\blx@do@inner##1{% + \ifnumequal{0\csuse{blx@currcount@#1@\detokenize{##1}}} + {0\csuse{blx@count@#1@\detokenize{##1}}} + {} + {\blx@logreq@active{}% + \listbreak}}% + \forlistcsloop\blx@do@inner{blx@cites@#1}}}% + \forlistloop\blx@do@outer\blx@allrefsections}% + % Test if we removed any mention of a reference context since last run + % If we did, we need to re-run biber + \def\do#1{\ifinlist{#1}\blx@refcontexts{}{\blx@logreq@active{}}\relax}% + \dolistloop\blx@lastrefcontexts + % Test if we added any mention of a reference context since last run + % If we did, we need to re-run biber + \def\do#1{\ifinlist{#1}\blx@lastrefcontexts{}{\blx@logreq@active{}}\relax}% + \dolistloop\blx@refcontexts + % Test if we removed any mention of a biblist since last run. + % If we did, we need to re-run biber + \def\do#1{\ifinlist{#1}\blx@biblists{}{\blx@logreq@active{}}\relax}% + \dolistloop\blx@lastbiblists + % Test to see if we added any mention of a biblist since last run. + % If we did, we need to re-run biber + \def\do#1{\ifinlist{#1}\blx@lastbiblists{}{\blx@logreq@active{}}\relax}% + \dolistloop\blx@biblists + % If we have to run biber or latex again and we are using defernumbers, + % don't write the localnumber information to the .aux file yet as we will + % potentially have to regenerate sorting order first in biber + \iftoggle{blx@defernumbers} + {\iftoggle{blx@runbiber} + {} + {\def\do#1{\blx@auxwrite\@mainaux{}{#1}} + \dolistloop\blx@localnumaux}} + {}% + % Write out missing languages we still need to load + \forlistloop{\blx@lbx@writeloaderequest}{\blx@lbx@loadlist}% + % Issue rerun warning if we need to load a language babel/polyglossia + % hasn't told us about and that we are not loading it already from previous + % runs. + \def\do#1{\xifinlist{#1}{\blx@lbx@auxloadlist}{}{\blx@rerun@latex\listbreak}}% + \dolistloop\blx@lbx@loadlist + % Write 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 \AfterEndDocument would be too + % late for .aux file writing. + \blx@aux@write@bbl@mdfivesum + \endgroup} + +% {<instcount>}{<entrykey>}{<refsection>}{<refcontext>}{<labelnumber>} +\protected\def\blx@aux@number#1#2#3#4#5{% + \blx@bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}{#5}% + \blx@bbl@addentryfield{\detokenize{#2}}{#3}{labelnumber}{#4}{#5}% + \csgdef{blx@localnumber@#3@\detokenize{#2}}{#5}% + \xifinlistcs{\detokenize{#2}}{blx@localnumbers@#3} + {} + {\listcsxadd{blx@localnumbers@#3}{\detokenize{#2}}}% + \global\toggletrue{blx@localnumber}% + \ifblank{#5} + {} + {\csgdef{blx@labelnumber@#3}{#5}}} + +% Called as part of bib output for an entry +% Only used when defernumbers=true +\def\blx@addlabelnumber{% + \begingroup + \nottoggle{blx@skiplab} + {\iftoggle{blx@labelnumber} + {\ifundef\abx@field@@@shorthand + % Need to know if we set any localnumber from .aux file, not + % just current item. Otherwise, we may just write new + % localnumbers but not existing ones + % Also, don't want to regenerate localnumber for any key in a + % refsection which we've already seen because this has the nasty + % side-effect of incrementing the localnum counter + % Also, have to create localnumber again if \nocite{*} as items + % could have been added to the .bib file without changing the cite + % information in the .tex + {\ifboolexpr { (not togl {blx@localnumber} + or + test {\ifinlist{*}\blx@nocites}) + and + not test {\ifcsdef{blx@defer@\the\c@refsection @\blx@refcontext@context @\abx@field@@@entrykey}} } + {\iftoggle{blx@omitnumbers} + {\let\abx@field@@@localnumber\@empty} + {\csnumgdef{blx@labelnumber@\the\c@refsection}{% + \csuse{blx@labelnumber@\the\c@refsection}+1}% + \edef\abx@field@@@localnumber{% + \csuse{blx@labelnumber@\the\c@refsection}}% + \blx@bbl@addentryfield{\abx@field@@@entrykey}{\the\c@refsection}% + {localnumber}{\blx@refcontext@context}{\abx@field@@@localnumber}}} + {}% + % Issue re-run message if there was no localnumber in the .aux and + % \nocite{*} was used because this means that an entry was added to the .bib + % and was not yet recorded in the .aux. We will have generated a localnumber + % for such a case above and now we need to re-run to make sure it's in the .aux + % for the next run + \ifboolexpr { test {\ifinlist{*}\blx@nocites} + and + not test {\ifcsdef{blx@localnumber@\the\c@refsection @\abx@field@@@entrykey}} } + {\blx@rerun@latex} + {}% + % If localnumbers were already in the .aux, add them + % again from the .aux. This prevents some cycling + % problems where pagebreaks change after localnumber + % settles down and then we need another run which then + % regenerates localnumber requiring another run but then + % the pagebreaks change back again ... etc. + \ifcsundef{blx@defer@\the\c@refsection @\blx@refcontext@context @\abx@field@@@entrykey} + {\ifundef\abx@field@@@localnumber + {} + {\listxadd\blx@localnumaux{% + \string\abx@aux@number% + {\the\c@instcount}% + {\abx@field@@@entrykey}% + {\the\c@refsection}% + {\blx@refcontext@context}% + {\abx@field@@@localnumber}}% + % record that we have already generated and output localnum + % for this key in this refsection/refcontext + \global\cslet{blx@defer@\the\c@refsection @\blx@refcontext@context @\abx@field@@@entrykey}\@empty}} + {}} + {}}% + {}} + {}% + \endgroup} + +% {<datalistname>} +\def\blx@bbl@dlist[#1]#2{% + \begingroup + \def\blx@dlist@type{#1}% + \def\blx@dlist@name{#2}} + +\def\blx@bbl@enddlist{% + \csnumgdef{blx@labelnumber@\the\c@refsection}{0}% + \endgroup} + +\def\blx@addpageref#1{% + \begingroup + \blx@tempcnta\z@ + \let\blx@tempa\@empty + \def\do##1{% + \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}}}% + \blx@tempa} + +%% Data input +\def\blx@bblinput{% + \begingroup + \blx@info@noline{Trying to load bibliographic data..}% + \blx@blxinit + \blx@bblfile + \endgroup} + +\def\blx@bblfile{% + \blx@secinit + \begingroup + \blx@bblstart + \blx@ifsigned{\jobname}{bbl} + {\InputIfFileExists{\jobname.bbl} + {\blx@info@noline{... file '\jobname.bbl' found}% + \global\toggletrue{blx@bbldone}% + \blx@generate@bbl@mdfivesum@found{\jobname.bbl}} + {\blx@info@noline{... file '\jobname.bbl' not found}% + \typeout{No file \jobname.bbl.}% + \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}} + +%% Bibliography + +% {<name>}{<start code>}[<end code>]{<item code>} +\newrobustcmd*{\defbibenvironment}[4]{% + \long\csdef{blx@env@#1}{#2}% + \long\csdef{blx@endenv@#1}{#3}% + \long\csdef{blx@item@#1}{#4}} + +\defbibenvironment{bibliography} + {\list{}{% + \leftmargin\bibhang + \itemindent-\leftmargin + \itemsep\bibitemsep + \parsep\bibparsep}} + {\endlist} + {\item} + +\def\do#1{% + \defbibenvironment{#1} + {\list{\thefield{#1}}{% + \labelwidth\csname #1width\endcsname + \labelsep\biblabelsep + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \itemsep\bibitemsep + \parsep\bibparsep + \def\makelabel####1{####1\hss}}} + {\endlist} + {\item}} +\abx@dolabelfields + +% {<name>}[<default>]{<code>} +\newrobustcmd*{\defbibheading}[1]{% + \@ifnextchar[%] + {\blx@defbibheading{blx@head@#1}} + {\blx@defbibheading{blx@head@#1}[\bibname]}} + +\def\blx@defbibheading#1[#2]{% + \csundef{#1}% + \expandafter\newcommand\csname#1\endcsname[1][{#2}]} + +% {<name>}{<text>} +\newrobustcmd*{\defbibnote}[1]{% + \blx@defbibnote{#1}} + +\long\def\blx@defbibnote#1#2{% + \long\csdef{blx@note@#1}{#2}} + +% {<name>}{<code>} +\newrobustcmd*{\defbibfilter}[2]{% + \begingroup + \def\blx@flt@error{\csname blx@flt@errortrue\endcsname}% + \let\not\blx@flt@not \let\NOT\not + \let\and\blx@flt@and \let\AND\and + \let\or\blx@flt@or \let\OR\or + \letcs\({blx@flt@(} \letcs\){blx@flt@)}% + \def\section##1{\blx@flt@error}% + \def\segment##1{segment=##1}% + \def\type##1{type=##1}% + \def\subtype##1{subtype=##1}% + \def\keyword##1{keyword={##1}}% + \def\category##1{category={##1}}% + \edef\blx@tempa{\noexpand\blx@defbibfilter{#2}}% + \ifdef\blx@flt@errortrue + {\blx@err@filter} + {\let\the\relax + \let\blx@flt@item\relax + \edef\blx@tempa{\blx@tempa}% + \ifdef\blx@flt@errortrue + {\blx@err@filter} + {\csxdef{blx@filter@#1}{\blx@tempa}}}% + \endgroup} + +\def\blx@defbibfilter#1{% + \blx@defbibfilter@i#1 &} +\def\blx@defbibfilter@i#1 #2&{% + \blx@defbibfilter@ii#1==&% + \ifblank{#2}{}{\blx@defbibfilter@i#2 &}} +\def\blx@defbibfilter@ii#1=#2=#3&{% + \ifblank{#2} + {\ifblank{#1} + {} + {\ifcsdef{blx@flt@#1} + {\csname blx@flt@#1\endcsname} + {\blx@flt@error}}} + {\ifcsdef{blx@flt@#1} + {\csname blx@flt@#1\endcsname{\detokenize{#2}}} + {\blx@flt@error}}} + +\def\blx@flt@and{ and } +\def\blx@flt@or{ or } +\def\blx@flt@not{ not } +\csdef{blx@flt@(}{ ( } +\csdef{blx@flt@)}{ ) } +\def\blx@flt@segment#1{% + test {\xifinlistcs\blx@flt@item{blx@segm@\the\c@refsection @#1}}} +\def\blx@flt@type#1{% + test {\xifinlistcs\blx@flt@item{blx@type@\the\c@refsection @#1}}} +\def\blx@flt@subtype#1{% + test {\xifinlistcs\blx@flt@item{blx@subt@\the\c@refsection @#1}}} +\def\blx@flt@keyword#1{% + test {\xifinlistcs\blx@flt@item{blx@keyw@\the\c@refsection @#1}}} +\def\blx@flt@category#1{% + test {\xifinlistcs\blx@flt@item{blx@catg@#1}}} + +% {<name>}{<code>} +\newrobustcmd*{\defbibcheck}[2]{% + \csdef{blx@bibcheck@#1}{% + \togglefalse{blx@skipentry}% + \def\skipentry{\toggletrue{blx@skipentry}}% + #2\undef\skipentry}} + +% options +% 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 +\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}{label}{} +\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" +\blx@kv@defkey{blx@bib1}{resetnumbers}[true]{% + \toggletrue{blx@resetnumsexplicit}} + +\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}{label}{} +\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}}} + +\blx@kv@defkey{blx@biblist1}{section}{% + \ifcsundef{blx@sections@#1} + {\blx@err@nosec{#1}} + {\c@refsection#1\relax + \def\blx@tempe{#1}}} + +\blx@kv@defkey{blx@bbg}{section}{% + \ifcsundef{blx@sections@#1} + {\blx@err@nosec{#1}} + {\c@refsection#1\relax}} + +\blx@kv@defkey{blx@bbc}{section}{% + \ifcsundef{blx@sections@#1} + {\blx@err@nosec{#1}} + {\c@refsection#1\relax}} + +\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} + {\blx@warning{Segment '#1' not found in section '\the\c@refsection'}} + {\c@refsegment#1\relax + \blx@printbibchecks + \blx@filter\blx@tempa{blx@segm@\the\c@refsection @#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} + {\blx@warning{Type '#1' not found}% + \let\blx@tempa\@empty} + {\blx@printbibchecks + \iftoggle{blx@tempb} + {\togglefalse{blx@tempb}% + \blx@filter\blx@tempa{blx@type@\the\c@refsection @#1}} + {\let\blx@tempa\@empty + \blx@error + {'type' used multiple times} + {When passing multiple filter options, each entry\MessageBreak + must satisfy all conditions (AND conjunction),\MessageBreak + hence some options may not be used twice.\MessageBreak + Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} + +\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} + {} + {\blx@printbibchecks + \blx@notfilter\blx@tempa{blx@type@\the\c@refsection @#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} + {\blx@warning{Subtype '#1' not found}% + \let\blx@tempa\@empty} + {\blx@printbibchecks + \iftoggle{blx@tempb} + {\togglefalse{blx@tempb}% + \blx@filter\blx@tempa{blx@subt@\the\c@refsection @#1}} + {\let\blx@tempa\@empty + \blx@error + {'subtype' used multiple times} + {When passing multiple filter options, each entry\MessageBreak + must satisfy all conditions (AND conjunction),\MessageBreak + hence some options may not be used twice.\MessageBreak + Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} + +\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} + {} + {\blx@printbibchecks + \blx@notfilter\blx@tempa{blx@subt@\the\c@refsection @#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}} + {\blx@warning{Keyword '\detokenize{#1}' not found}% + \let\blx@tempa\@empty} + {\blx@printbibchecks + \blx@filter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#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}} + {} + {\blx@printbibchecks + \blx@notfilter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#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}} + {\blx@warning{Category '\detokenize{#1}' not found}% + \let\blx@tempa\@empty} + {\blx@printbibchecks + \blx@filter\blx@tempa{blx@catg@\detokenize{#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} + {} + {\blx@printbibchecks + \blx@notfilter\blx@tempa{blx@catg@#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} + {\blx@printbibchecks + \blx@bibfilter\blx@tempa{blx@filter@#1}} + {\let\blx@tempa\@empty + \blx@error + {Filter '#1' not found} + {The filter '#1' could not be found.\MessageBreak + Use \string\defbibfilter\space to define it}}} + +\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 +\def\blx@key@bibcheck#1{% + \ifcsdef{blx@bibcheck@#1} + {\letcs\blx@bibcheck{blx@bibcheck@#1}} + {\let\blx@tempa\@empty + \blx@error + {Check '#1' not found} + {The check '#1' could not be found.\MessageBreak + Use \string\defbibcheck\space to define it}}} + +\def\blx@default@theheading{bibliography} +\blx@kv@defkey{blx@bibdefaults}{heading}{% + \blx@key@heading{\blx@default@theheading}{#1}} +\blx@kv@defkey{blx@bhd}{heading}{% + \blx@key@heading{\blx@theheading}{#1}} +\blx@kv@defkey{blx@bib2}{heading}{% + \blx@key@heading{\blx@theheading}{#1}} +\blx@kv@defkey{blx@biblist2}{heading}{% + \blx@key@heading{\blx@theheading}{#1}} +\blx@kv@defkey{blx@bbs}{heading}{% + \blx@key@heading{\blx@theheading}{#1}} +\blx@kv@defkey{blx@bbg}{heading}{% + \blx@key@heading{\blx@theheading}{#1}} + +\def\blx@key@heading#1#2{% + \ifcsundef{blx@head@#2} + {\blx@error + {Heading '#2' not found} + {The heading '#2' could not be found.\MessageBreak + Use \string\defbibheading\space to define it}} + {\def#1{#2}}} + +\def\blx@default@theenv{bibliography} +\blx@kv@defkey{blx@bibdefaults}{env}{% + \blx@key@env{\blx@default@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} + {\blx@error + {Environment '#2' not found} + {The environment '#2' could not be found.\MessageBreak + Use \string\defbibenvironment\space to define it}} + {\def#1{#2}}} + +\let\blx@default@thetitle\@empty +\blx@kv@defkey{blx@bibdefaults}{title}{% + \def\blx@default@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}} + +\blx@kv@defkey{blx@bhd}{label}{\def\blx@thelabel{#1}} +\blx@kv@defkey{blx@bib2}{label}{\def\blx@thelabel{#1}} +\blx@kv@defkey{blx@biblist2}{label}{\def\blx@thelabel{#1}} + +\cslet{blx@note@}\@empty +\def\blx@key@bibnote#1#2{% + \ifcsundef{blx@note@#2} + {\blx@error + {Note '#2' not found} + {The note '#2' could not be found.\MessageBreak + Use \string\defbibnote\space to define it}} + {\def#1{#2}}} + +\let\blx@default@theprenote\@empty +\blx@kv@defkey{blx@bibdefaults}{prenote}{% + \blx@key@bibnote{\blx@default@theprenote}{#1}} +\blx@kv@defkey{blx@bib2}{prenote}{% + \blx@key@bibnote{\blx@theprenote}{#1}} +\blx@kv@defkey{blx@biblist2}{prenote}{% + \blx@key@bibnote{\blx@theprenote}{#1}} +\blx@kv@defkey{blx@bbs}{prenote}{% + \blx@key@bibnote{\blx@theprenote}{#1}} +\blx@kv@defkey{blx@bbg}{prenote}{% + \blx@key@bibnote{\blx@theprenote}{#1}} +\blx@kv@defkey{blx@bbc}{prenote}{% + \blx@key@bibnote{\blx@theprenote}{#1}} + +\let\blx@default@thepostnote\@empty +\blx@kv@defkey{blx@bibdefaults}{postnote}{% + \blx@key@bibnote{\blx@default@thepostnote}{#1}} +\blx@kv@defkey{blx@bib2}{postnote}{% + \blx@key@bibnote{\blx@thepostnote}{#1}} +\blx@kv@defkey{blx@biblist2}{postnote}{% + \blx@key@bibnote{\blx@thepostnote}{#1}} +\blx@kv@defkey{blx@bbs}{postnote}{% + \blx@key@bibnote{\blx@thepostnote}{#1}} +\blx@kv@defkey{blx@bbg}{postnote}{% + \blx@key@bibnote{\blx@thepostnote}{#1}} +\blx@kv@defkey{blx@bbc}{postnote}{% + \blx@key@bibnote{\blx@thepostnote}{#1}} + + +\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}} + {\ifstrequal{#1}{false} + {} + {\csnumdef{blx@labelnumber@\the\c@refsection}{#1-1}}}} + {\blx@warning{% + Option 'resetnumbers' requires 'defernumbers=true'.\MessageBreak + Ignoring 'resetnumbers=true'}}} + +\blx@kv@defkey{blx@bib2}{omitnumbers}[true]{% + \ifstrequal{#1}{true} + {\iftoggle{blx@defernumbers} + {\toggletrue{blx@omitnumbers}} + {\blx@warning{% + Option 'omitnumbers' requires 'defernumbers=true'.\MessageBreak + Ignoring 'omitnumbers=true'}}} + {}} + + +\newrobustcmd*{\DeclarePrintbibliographyDefaults}{% + \blx@kv@setkeys{blx@bibdefaults}} + +% [<options>] +\newrobustcmd*{\printbibheading}{% + \begingroup + \edef\on@line{\on@line}% + \@ifnextchar[%] + {\blx@printbibheading} + {\blx@printbibheading[]}} + +\def\blx@printbibheading[#1]{% + \let\blx@theheading\blx@default@theheading + \let\blx@thetitle\blx@default@thetitle + \undef\blx@thelabel + \blx@safe@actives + \blx@kv@setkeys{blx@bhd}{#1}% + \blx@rest@actives + \blx@bibheading\blx@theheading\blx@thetitle + \blx@biblabel\blx@thelabel + \endgroup} + +% We use this to determine whether an explicit value for resetnumbers is passed to +% \printbibliography, if not, then we use the default behaviour where a labelprefix forces +% a reset. It is useful that we have a 2-pass structure for \printbibliography keys anyway. +\newtoggle{blx@resetnumsexplicit} + +% [<options>] +\newrobustcmd*{\printbibliography}{% + \begingroup + \delimcontext{bib}% + \edef\on@line{\on@line}% + \@ifnextchar[%] + {\blx@printbibliography} + {\blx@printbibliography[]}} + +\def\blx@printbibliography[#1]{% + \toggletrue{blx@tempa}% + \toggletrue{blx@tempb}% + \let\blx@theheading\blx@default@theheading + \let\blx@theenv\blx@default@theenv + \let\blx@theprenote\blx@default@theprenote + \let\blx@thepostnote\blx@default@thepostnote + \let\blx@thetitle\blx@default@thetitle + \undef\blx@thelabel + % defaults + \let\blx@tempa\@empty% before there is a .bbl, this must not be undef + \edef\blx@tempe{\the\c@refsection}% default refsection is current + \blx@safe@actives + \togglefalse{blx@resetnumsexplicit}% + \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} + {} + {\ifdefempty\blx@refcontext@labelprefix + {\ifdefempty\blx@refcontext@labelprefix@real} + {\@secondoftwo} + {} + {\blx@kv@setkeys{blx@bib2}{resetnumbers}}}% + \blx@rest@actives + \ifcsvoid{blx@dlist@entry@\blx@tempe @\blx@refcontext@context} + {} + {\letcs\blx@tempa{blx@dlist@entry@\blx@tempe @\blx@refcontext@context}}% + \blx@safe@actives + % Must reset omitnumbers as it's a global macro and if we don't, any + % \printbibliography following one with this set will inherit any + % previous "true" value + \togglefalse{blx@omitnumbers}% + \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 + {} + {\listxadd\blx@dlistnames{\blx@refcontext@context @\blx@tempe @entry}% + \xappto\blx@dlists{% + \blx@xml@dlist{\blx@refcontext@context}{entry}{\blx@tempe}{\blx@xml@dlist@refcontext{\blx@refcontext@sortingtemplatename}{\blx@refcontext@sortingnamekeytemplatename}{\blx@refcontext@labelprefix@real}{\blx@refcontext@uniquenametemplatename}{\blx@refcontext@labelalphanametemplatename}}{}}}% + \ifdefvoid\blx@tempa + {\blx@warn@bibempty\endgroup} + {\blx@bibliography\blx@tempa}} + +% [<options>] +\newrobustcmd*{\bibbysection}{% + \begingroup + \delimcontext{bib}% + \ifnum\c@blx@maxsection=\z@ + \blx@warning{No reference sections found}% + \fi + \edef\on@line{\on@line}% + \@ifnextchar[%] + {\blx@bibbysection} + {\blx@bibbysection[]}} + +\def\blx@bibbysection[#1]{% + \let\blx@theheading\blx@default@theheading + \let\blx@theenv\blx@default@theenv + \let\blx@theprenote\blx@default@theprenote + \let\blx@thepostnote\blx@default@thepostnote + \let\blx@thetitle\blx@default@thetitle + \undef\blx@thelabel + \c@refsection\z@ + \blx@safe@actives + \blx@kv@setkeys{blx@bbs}{#1}% + \blx@rest@actives + \togglefalse{blx@tempa}% + \blx@refsections} + +\def\blx@refsections{% + \ifcsvoid{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context} + {} + {\toggletrue{blx@tempa}% + \begingroup + \expandafter\blx@bibliography\csname blx@dlist@entry@\the\c@refsection @\blx@refcontext@context\endcsname}% + \ifnum\c@refsection<\c@blx@maxsection + \advance\c@refsection\@ne + \expandafter\blx@refsections + \else + \iftoggle{blx@tempa}{}{\blx@warn@bibempty}% + \endgroup + \fi} + +% [<options>] +\newrobustcmd*{\bibbysegment}{% + \begingroup + \delimcontext{bib}% + \edef\on@line{\on@line}% + \ifnum\csname blx@maxsegment@\the\c@refsection\endcsname=\z@ + \blx@warning{No reference segments found}% + \fi + \@ifnextchar[%] + {\blx@bibbysegment} + {\blx@bibbysegment[]}} + +\def\blx@bibbysegment[#1]{% + \let\blx@theheading\blx@default@theheading + \let\blx@theenv\blx@default@theenv + \let\blx@theprenote\blx@default@theprenote + \let\blx@thepostnote\blx@default@thepostnote + \let\blx@thetitle\blx@default@thetitle + \undef\blx@thelabel + \c@refsegment\@ne + \blx@safe@actives + \blx@kv@setkeys{blx@bbg}{#1}% + \blx@rest@actives + \togglefalse{blx@tempa}% + \blx@refsegments} + +\def\blx@refsegments{% + \ifcsvoid{blx@segm@\the\c@refsection @\the\c@refsegment} + {} + {\toggletrue{blx@tempa}% + \begingroup + \let\blx@tempa\@empty + \ifcsvoid{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context} + {} + {\letcs\blx@tempa{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context}}% + \blx@filter\blx@tempa{blx@segm@\the\c@refsection @\the\c@refsegment}% + \blx@bibliography\blx@tempa}% + \ifnum\c@refsegment<\csname blx@maxsegment@\the\c@refsection\endcsname + \advance\c@refsegment\@ne + \expandafter\blx@refsegments + \else + \iftoggle{blx@tempa}{}{\blx@warn@bibempty}% + \endgroup + \fi} + +% [<options>] +\newrobustcmd*{\bibbycategory}{% + \begingroup + \delimcontext{bib}% + \edef\on@line{\on@line}% + \ifx\blx@categories\@empty + \blx@warning{No categories found}% + \fi + \@ifnextchar[%] + {\blx@bibbycategory} + {\blx@bibbycategory[]}} + +\def\blx@bibbycategory[#1]{% + \let\blx@theheading\blx@default@theheading + \let\blx@theenv\blx@default@theenv + \let\blx@theprenote\blx@default@theprenote + \let\blx@thepostnote\blx@default@thepostnote + \let\blx@thetitle\blx@default@thetitle + \undef\blx@thelabel + \c@refsection\z@ + \blx@safe@actives + \blx@kv@setkeys{blx@bbc}{#1}% + \blx@rest@actives + \togglefalse{blx@tempa}% + \forlistloop\blx@bibcategory\blx@categories + \blx@endbibcategory} + +\def\blx@bibcategory#1{% + \ifcsvoid{blx@catg@#1} + {} + {\toggletrue{blx@tempa}% + \begingroup + \blx@key@heading{\blx@theheading}{#1}% + \let\blx@tempa\@empty + \ifcsvoid{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context} + {} + {\letcs\blx@tempa{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context}}% + \blx@filter\blx@tempa{blx@catg@#1}% + \blx@bibliography\blx@tempa}}% + +\def\blx@endbibcategory{% + \iftoggle{blx@tempa}{}{\blx@warn@bibempty}% + \endgroup} + +% {<entrykey>,...} +\def\blx@bibliography{% + \blx@bibheading\blx@theheading\blx@thetitle + \blx@biblabel\blx@thelabel + \blx@bibnote\blx@theprenote + \begingroup + \blx@bibinit + \let\@noitemerr\@empty + \let\blx@noitem\blx@warn@bibempty + \ifnum\bibinitsep=\z@ + \let\blx@initsep\relax + \fi + \ifnum\bibnamesep=\z@ + \let\blx@namesep\relax + \fi + \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} + +\def\blx@endbibliography{% + \csuse{blx@endenv@\blx@theenv}% + \blx@noitem + \blx@locallabelwidth@finish + \endgroup + \blx@bibnote\blx@thepostnote + \endgroup} + +\def\blx@bibheading#1#2{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@bibheading@i{\expandonce#1}{\expandonce#2}}% + \blx@tempa} + +\def\blx@bibheading@i#1#2{% + \let\newrefsection\relax + \let\newrefsegment\relax + \ifblank{#2} + {\csuse{blx@head@#1}} + {\csuse{blx@head@#1}[{#2}]}% + \let\newrefsection\blx@newrefsection + \let\newrefsegment\blx@newrefsegment} + +\def\blx@biblabel#1{% + \ifdefvoid#1 + {} + {\expandafter\label\expandafter{#1}}} + +\def\blx@bibnote#1{% + \ifdefempty#1 + {} + {\begingroup + \let\newrefsection\relax + \let\newrefsegment\relax + \noindent + \csuse{blx@note@#1}\par\nobreak + \endgroup}} + +\def\blx@bibinit{% + \iftoggle{blx@citation} + {} + {\toggletrue{blx@bibliography}}% + \blx@blxinit + \blx@resetdata + \csuse{blx@hook@bbxinit}% + \bibsetup\bibfont + \blx@setsfcodes + \csuse{blx@bibsetup}} + +% {<entrykey>} +% output a bib item, this is why \blx@thelabelnumber is here so that +% labelnumber is deferred if defernumbers=true +\def\blx@bibitem#1{% + \blx@ifdata{#1} + {\begingroup + \blx@getdata{#1}% + \blx@bibcheck + \iftoggle{blx@skipentry}{}{% + \blx@setdefaultrefcontext{#1}% + \global\let\blx@noitem\@empty + \blx@setoptions@type\abx@field@@@entrytype + \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 + \csuse{blx@hook@bibitem}% + \blx@execute + \blx@initunit + \blx@anchor + \blx@beglangbib + \bibsentence + \blx@pagetracker + \blx@driver\abx@field@@@entrytype + \blx@postpunct + \blx@endlangbib}% + \endgroup} + {}} + +\let\blx@bibcheck\relax + +\def\blx@edef@refcontext#1{% + \edef\blx@refcontext@context{#1}% + \expandafter\edef\expandafter\blx@refcontext@context\expandafter{% + \expandafter\detokenize\expandafter{\blx@refcontext@context}}} + +\def\blx@xdef@refcontext#1{% + \edef\blx@refcontext@context{#1}% + \expandafter\xdef\expandafter\blx@refcontext@context\expandafter{% + \expandafter\detokenize\expandafter{\blx@refcontext@context}}} + + +% This sets and saves to the .aux the default refcontext for an entry. The +% default refcontext for an entry is the refcontext of the last +% bibliography in the refsection in which it is actually printed. This +% allows citations to default to selecting data from the correct +% bibliography list in standard cases where entries are not listed in +% multiple bibliographies +\def\blx@setdefaultrefcontext#1{% + \ifinlistcs{#1}{blx@defaultrefcontexts@\the\c@refsection} + {} + {\listcsgadd{blx@defaultrefcontexts@\the\c@refsection}{#1}}% + \global\cslet{blx@assignedrefcontextbib@\the\c@refsection @#1}% + \blx@refcontext@context} +% <refsection><key><refcontext> +\def\abx@aux@defaultrefcontext#1#2#3{% + \csxdef{blx@assignedrefcontextbib@aux@#1@#2}{\detokenize{#3}}} +% \abx@aux@defaultlabelprefix is a dummy only used by BibTeX to implement a +% simple labelprefix not based on full refcontexts, which BibTeX does not +% support. +\let\abx@aux@defaultlabelprefix\@gobblethree + +\blx@AtEndDocument{% + % always add default refcontext declarations to .aux after biber run + \iftoggle{blx@bbldone} + {\def\do#1{% + \begingroup + \def\do##1{% + \blx@auxwrite\@mainaux{}{\string\abx@aux@defaultrefcontext{#1}{##1}{% + \csuse{blx@assignedrefcontextbib@#1@##1}}}% + \ifcsequal{blx@assignedrefcontextbib@#1@##1} + {blx@assignedrefcontextbib@aux@#1@##1} + {} + {\blx@rerun@latex}}% + \dolistcsloop{blx@defaultrefcontexts@#1}% + \endgroup} + \dolistloop\blx@allrefsections} + {}} + +\def\blx@initsep{% + \blx@imc@iffieldundef{sortinithash} + {} + {\ifnum\c@instcount>\@ne + \blx@imc@iffieldequals{sortinithash}\blx@previnithash + {} + {\addvspace{\bibinitsep}}% + \fi + \global\let\blx@previnithash\abx@field@@@sortinithash}} + +\def\blx@namesep{% + \ifnum\c@instcount>\@ne + \blx@imc@iffieldequals{fullhash}\blx@prevhash + {} + {\addvspace{\bibnamesep}}% + \fi + \global\let\blx@prevhash\abx@field@@@fullhash} + +\newrobustcmd*{\AtBeginBibliography}{\gappto\blx@hook@bibinit} +\newrobustcmd*{\AtEveryBibitem}{\gappto\blx@hook@bibitem} +\@onlypreamble\AtBeginBibliography +\@onlypreamble\AtEveryBibitem + +\def\blx@imc@UseBibitemHook{\csuse{blx@hook@bibitem}} + +\blx@regimcs{\UseBibitemHook} + +\newrobustcmd*{\AtNextBibliography}{% + \ifundef\blx@hook@bibinit@next + {\gdef\blx@hook@bibinit@next{\global\undef\blx@hook@bibinit@next}} + {}% + \gappto\blx@hook@bibinit@next} + +% page tracker +\def\blx@pagetracker@context{% + \blx@leavevmode + \ifbool{@filesw} + {\ifbool{pagetracker} + {\protected@write\@mainaux{}{% + \iftoggle{blx@footnote} + {\string\abx@aux@fnpage} + {\string\abx@aux@page}% + {\the\c@instcount}{\noexpand\the\c@page}}} + {}} + {}} + +% {<instcount>}{<page>} +\protected\def\blx@aux@page#1#2{% + \csgdef{blx@page@#1}{#2}% + \blx@addpagesum{#1}{#2}} +\protected\def\blx@aux@spread#1#2{% + \ifodd#2\relax + \csxdef{blx@page@#1}{\number\numexpr#2-1}% + \else + \csgdef{blx@page@#1}{#2}% + \fi + \blx@addpagesum{#1}{#2}} + +\protected\def\blx@aux@fnpage#1#2{% + \csgdef{blx@fnpage@#1}{#2}% + \blx@addpagesum{#1}{#2}} +\protected\def\blx@aux@fnspread#1#2{% + \ifodd#2\relax + \csxdef{blx@fnpage@#1}{\number\numexpr#2-1}% + \else + \csgdef{blx@fnpage@#1}{#2}% + \fi + \blx@addpagesum{#1}{#2}} + +\blx@AtEndDocument{% + \def\abx@aux@page#1#2{\blx@addpagesum{#1}{#2}}% + \def\abx@aux@fnpage#1#2{\blx@addpagesum{#1}{#2}}} + +% hyperref interface +\appto\blx@mkhyperref{% + \let\blx@anchors\@empty + \ifundef\hyper@natanchorstart + {\protected\def\blx@anchor{% + \xifinlist{\the\c@refsection @\abx@field@@@entrykey}{\blx@anchors} + {} + {\listxadd\blx@anchors{\the\c@refsection @\abx@field@@@entrykey}% + \hypertarget{cite.\the\c@refsection @\abx@field@@@entrykey}{}}}} + {\protected\def\blx@anchor{% + \xifinlist{\the\c@refsection @\abx@field@@@entrykey}{\blx@anchors} + {} + {\listxadd\blx@anchors{\the\c@refsection @\abx@field@@@entrykey}% + \hyper@natanchorstart{\the\c@refsection @\abx@field@@@entrykey}% + \hyper@natanchorend}}}} + +\appto\blx@mknohyperref{\let\blx@anchor\relax} + +\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 +% [<options>]{biblistname} +\newrobustcmd*{\printbiblist}[2][]{% + \begingroup + \delimcontext{biblist}% + \edef\on@line{\on@line}% + \toggletrue{blx@tempa}% + \toggletrue{blx@tempb}% + \def\blx@theheading{biblist}% default to biblist heading + \def\blx@theenv{#2}% default to list name + \def\blx@thebiblist{#2}% + \def\blx@thebiblistdriver{#2}% + \def\blx@thebiblistfilter{#2}% + \let\blx@theprenote\@empty + \let\blx@thepostnote\@empty + \let\blx@thetitle\@empty + \undef\blx@thelabel + % defaults + \let\blx@tempa\@empty% before there is a .bbl, this must not be undef + % default sorting template and template name for list is same name as list + % name, then current context if not found + \edef\blx@tempc{% + \ifcsdef{blx@sortingtemplate@#2} + {#2} + {\blx@refcontext@sortingtemplatename}}% + % 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/% + \blx@refcontext@labelalphanametemplatename}% + \xifinlist\blx@tempc\blx@sortingtemplatenames + {} + {\listxadd\blx@sortingtemplatenames\blx@tempc}% + \let\blx@printbibchecks\relax + \edef\blx@tempe{\the\c@refsection}% default refsection is current + \blx@safe@actives + \blx@printbibchecks + % Add the sortingtemplate to the list of sortingtemplates for this biblist + % so we can compare on next run + \xifinlist\blx@tempc\blx@biblists + {} + {\listxadd\blx@biblists\blx@tempc}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{\blx@tempc}}% + \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 + \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}} + {}} + {}% + \blx@rest@actives + % Add datalist to list of seen datalists to prevent duplicates + \xifinlist{\blx@refcontext@context @\blx@tempe @list}\blx@dlistnames + {} + {\listxadd\blx@dlistnames{\blx@refcontext@context @\blx@tempe @list}% + \xappto\blx@dlists{% + \blx@xml@dlist{\blx@refcontext@context}{list}{\blx@tempe}{\blx@xml@dlist@refcontext{\blx@tempc}{\blx@refcontext@sortingnamekeytemplatename}{\blx@refcontext@labelprefix@real}{\blx@refcontext@uniquenametemplatename}{\blx@refcontext@labelalphanametemplatename}}{\csuse{blx@biblistfilters@\blx@thebiblistfilter}}}}% + \ifdefvoid\blx@tempa + {\blx@warn@biblistempty{#2}\endgroup} + {\blx@biblist\blx@tempa}} + +\def\blx@printbibchecks{% + \togglefalse{blx@tempa}% + \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{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \blx@bibheading\blx@theheading\blx@thetitle + \blx@biblabel\blx@thelabel + \blx@bibnote\blx@theprenote + \begingroup + \blx@bibinit + \let\@noitemerr\@empty + \def\blx@noitem{\blx@warn@biblistempty{\blx@thebiblist}}% + \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} + +\def\blx@endbiblist{% + \csuse{blx@endenv@\blx@theenv}% + \blx@noitem + \blx@locallabelwidth@finish + \endgroup + \blx@bibnote\blx@thepostnote + \endgroup + \if@restonecol\twocolumn\fi} + +% {<biblistname>} +\newrobustcmd*{\AtBeginBiblist}[1]{\csgappto{blx@hook@biblistinit@#1}} +\newrobustcmd*{\AtEveryBiblistitem}[1]{\csgappto{blx@hook@biblistitem@#1}} +\@onlypreamble\AtBeginBiblist +\@onlypreamble\AtEveryBiblistitem + +% {<entrykey>} +\def\blx@biblistitem#1{% + \blx@ifdata{#1} + {\begingroup + \blx@getdata{#1}% + \blx@bibcheck + \iftoggle{blx@skipentry}{}{% + \blx@setdefaultrefcontext{#1}% + \global\let\blx@noitem\@empty + \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 + \blx@initunit + \blx@beglangbib + \bibsentence + \blx@pagetracker + \blx@driver{\blx@thebiblistdriver}% + \blx@postpunct + \blx@endlangbib}% + \endgroup} + {}} + +% Just a default in case .bbx doesn't define it. standard.bbx defines +% it to print a complete entry, like the bibliography. +\DeclareBibliographyDriver{shorthand}{% + \iffieldundef{shorttitle} + {\printfield{title}} + {\printfield{shorttitle}}} + +% Reference contexts +\newcommand*{\DeclareRefcontext}[2]{% + \csgdef{blx@refcontext@name@#1}{#2}} +\@onlypreamble\DeclareRefcontext + +\def\newrefcontext{% + \endrefcontext + \refcontext} + +% Backwards compat for older \refcontext[] format +\def\refcontext{% + \@ifnextchar[%] + {\refcontext@i} + {\refcontext@i[]}} + +\def\refcontext@i[#1]{% + \@ifnextchar\bgroup + {\refcontext@ii[{#1}]} + {\refcontext@ii[{#1}]{}}} + +\newcommand*{\refcontext@ii}[2][]{% + \iftoggle{blx@refcontext} + {\blx@err@nestenv{refcontext}% + \endrefcontext} + {\toggletrue{blx@refcontext}% + % Set refcontext from named refcontext, if given + \ifblank{#2} + {} + {\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 + \def\blx@gdef@or@def{\gdef}% + \def\blx@xdef@or@edef{\xdef}% + \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 + {} + {\listxadd\blx@sortingtemplatenames\blx@refcontext@sortingtemplatename}% + \blx@xdef@refcontext{% + \blx@refcontext@sortingtemplatename/% + \blx@refcontext@sortingnamekeytemplatename/% + \blx@refcontext@labelprefix/% + \blx@refcontext@uniquenametemplatename/% + \blx@refcontext@labelalphanametemplatename}% + % Add the refcontext to the list of refcontexts so we can compare on next run + \xifinlist\blx@refcontext@context\blx@refcontexts + {} + {\listxadd\blx@refcontexts\blx@refcontext@context}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@refcontext{\blx@refcontext@context}}% + \ifcsundef{blx@sortingtemplate@\blx@refcontext@sortingtemplatename} + {\blx@err@invopt{sorting=\blx@refcontext@sortingtemplatename}{}} + {}% + \ifcsundef{blx@sortingnamekeytemplate@\blx@refcontext@sortingnamekeytemplatename} + {\blx@err@invopt{sortingnamekeytemplate=\blx@refcontext@sortingnamekeytemplatename}{}} + {}% + \ifcsundef{blx@uniquenametemplate@\blx@refcontext@uniquenametemplatename} + {\blx@err@invopt{uniquenametemplate=\blx@refcontext@uniquenametemplatename}{}} + {}% + \ifcsundef{blx@labelalphanametemplate@\blx@refcontext@labelalphanametemplatename} + {\blx@err@invopt{labelalphanametemplate=\blx@refcontext@labelalphanametemplatename}{}} + {}}} + +% Reset to global sorting etc. when we leave a ref context (since they can't be nested) +\protected\def\endrefcontext{% + \togglefalse{blx@refcontext}% + \global\let\blx@refcontext@labelprefix\@empty + \global\let\blx@refcontext@labelprefix@real\@empty + \xdef\blx@refcontext@sortingtemplatename{\blx@sorting}% + \gdef\blx@refcontext@sortingnamekeytemplatename{global}% + \gdef\blx@refcontext@uniquenametemplatename{global}% + \gdef\blx@refcontext@labelalphanametemplatename{global}% + \blx@xdef@refcontext{% + \blx@refcontext@sortingtemplatename/% + \blx@refcontext@sortingnamekeytemplatename/% + /% + \blx@refcontext@uniquenametemplatename/% + \blx@refcontext@labelalphanametemplatename}} + +% local version of \newrefcontext +\def\localrefcontext{% + \@ifnextchar[%] + {\localrefcontext@i} + {\localrefcontext@i[]}} + +\def\localrefcontext@i[#1]{% + \@ifnextchar\bgroup + {\localrefcontext@ii[{#1}]} + {\localrefcontext@ii[{#1}]{}}} + +\newcommand*{\localrefcontext@ii}[2][]{% + \ifblank{#2} + {} + {\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 + \def\blx@gdef@or@def{\def}% + \def\blx@xdef@or@edef{\edef}% + \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 + {} + {\listxadd\blx@sortingtemplatenames\blx@refcontext@sortingtemplatename}% + \blx@edef@refcontext{% + \blx@refcontext@sortingtemplatename/% + \blx@refcontext@sortingnamekeytemplatename/% + \blx@refcontext@labelprefix/% + \blx@refcontext@uniquenametemplatename/% + \blx@refcontext@labelalphanametemplatename}% + % Add the refcontext to the list of refcontexts so we can compare on next run + \xifinlist\blx@refcontext@context\blx@refcontexts + {} + {\listxadd\blx@refcontexts\blx@refcontext@context}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@refcontext{\blx@refcontext@context}}% + \ifcsundef{blx@sortingtemplate@\blx@refcontext@sortingtemplatename} + {\blx@err@invopt{sorting=\blx@refcontext@sortingtemplatename}{}} + {}% + \ifcsundef{blx@sortingnamekeytemplate@\blx@refcontext@sortingnamekeytemplatename} + {\blx@err@invopt{sortingnamekeytemplate=\blx@refcontext@sortingnamekeytemplatename}{}} + {}% + \ifcsundef{blx@uniquenametemplate@\blx@refcontext@uniquenametemplatename} + {\blx@err@invopt{uniquenametemplate=\blx@refcontext@uniquenametemplatename}{}} + {}% + \ifcsundef{blx@labelalphanametemplate@\blx@refcontext@labelalphanametemplatename} + {\blx@err@invopt{labelalphanametemplate=\blx@refcontext@labelalphanametemplatename}{}} + {}} + +\def\blx@gdef@or@def{\gdef} +\def\blx@xdef@or@edef{\xdef} + +% Meta option to set all name template options +\blx@kv@defkey{blx@refcontext}{nametemplates}{% + \blx@gdef@or@def\blx@refcontext@sortingnamekeytemplatename{#1}% + \blx@gdef@or@def\blx@refcontext@uniquenametemplatename{#1}% + \blx@gdef@or@def\blx@refcontext@labelalphanametemplatename{#1}} + +\blx@kv@defkey{blx@refcontext}{msform}{\def\blx@msform{#1}} +\blx@kv@defkey{blx@refcontext}{mslang}{\def\blx@mslang{#1}} +\blx@kv@defkey{blx@refcontext}{sorting}{\blx@gdef@or@def\blx@refcontext@sortingtemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{sortingnamekeytemplatename}{\blx@gdef@or@def\blx@refcontext@sortingnamekeytemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{uniquenametemplatename}{\blx@gdef@or@def\blx@refcontext@uniquenametemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{labelalphanametemplatename}{\blx@gdef@or@def\blx@refcontext@labelalphanametemplatename{#1}} + +% labelprefix cannot be used as is because it is used to construct the internal +% refcontext name which is referenced/expanded a lot all over the place. So, +% we hash the given input and use the safe hash as internal name. +% But that is not enough since the MD5 hash function expands the argument all +% the way and so unexpandable content like \dag breaks. +% Unexpandable content should be protected with \detokenize. +\blx@kv@defkey{blx@refcontext}{labelprefix}{% + \blx@xdef@or@edef\blx@refcontext@labelprefix{\blx@mdfivesum{#1}}% + \blx@gdef@or@def\blx@refcontext@labelprefix@real{#1}% + \iftoggle{blx@defernumbers} + {}% + {\iftoggle{blx@labelnumber} + {\blx@warning{% + Option 'labelprefix' requires global\MessageBreak + 'defernumbers=true'}} + {}}} + + +% [refcontext keys]{<keyword1>,<keyword2>,...} +\newcommand*{\assignrefcontextkeyws}{% + \@ifstar + {\blx@assignrefcontextkeyws[*]} + {\blx@assignrefcontextkeyws[]}} + +\def\blx@assignrefcontextkeyws[#1][#2]#3{% + \edef\blx@tempa{\blx@sorting}% + \def\blx@tempb{global}% + \let\blx@tempc\@empty% + \def\blx@tempd{global}% + \def\blx@tempe{global}% + \blx@kv@setkeys{blx@assignrefcontextmeta}{#2}% + \blx@kv@setkeys{blx@assignrefcontext}{#2}% + \def\do##1{% + \listxadd\blx@assignedrefcontextkeywlist{##1}% + \csxdef{blx@assignedrefcontextkeyws#1@\the\c@refsection @##1}% + {\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% + \docsvlist{#3}} + +% [refcontext keys]{<category1>,<category2>,...} +\newcommand*{\assignrefcontextcats}{% + \@ifstar + {\blx@assignrefcontextcats[*]} + {\blx@assignrefcontextcats[]}} + +\def\blx@assignrefcontextcats[#1][#2]#3{% + \edef\blx@tempa{\blx@sorting}% + \def\blx@tempb{global}% + \let\blx@tempc\@empty% + \def\blx@tempd{global}% + \def\blx@tempe{global}% + \blx@kv@setkeys{blx@assignrefcontextmeta}{#2}% + \blx@kv@setkeys{blx@assignrefcontext}{#2}% + \def\do##1{% + \listxadd\blx@assignedrefcontextcatlist{##1}% + \csxdef{blx@assignedrefcontextcats#1@\the\c@refsection @##1}% + {\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% + \docsvlist{#3}} + +% [refcontext keys]{<entrykey1>,<entrykey2>,...} +\newcommand*{\assignrefcontextentries}{% + \@ifstar + {\blx@assignrefcontextentries[*]} + {\blx@assignrefcontextentries[]}} + +\def\blx@assignrefcontextentries[#1][#2]#3{% + \edef\blx@tempa{\blx@sorting}% + \def\blx@tempb{global}% + \let\blx@tempc\@empty% + \def\blx@tempd{global}% + \def\blx@tempe{global}% + \blx@kv@setkeys{blx@assignrefcontextmeta}{#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}} + +% This makes sure that named refcontexts set options first +% Note that the docs say that "name=default" selects the global default +% refcontext and this is because this won't set anything and the defaults +% in the above macros will take effect. +\blx@kv@defkey{blx@assignrefcontextmeta}{name}{% + \begingroup + \edef\blx@tempf{\endgroup% + \noexpand\blx@kv@setkeys{blx@assignrefcontext}{\csuse{blx@refcontext@name@#1}}}% + \blx@tempf} +\blx@kv@defkey{blx@assignrefcontextmeta}{nametemplates}{} +\blx@kv@defkey{blx@assignrefcontextmeta}{sorting}{} +\blx@kv@defkey{blx@assignrefcontextmeta}{sortingnamekeytemplatename}{} +\blx@kv@defkey{blx@assignrefcontextmeta}{labelprefix}{} +\blx@kv@defkey{blx@assignrefcontextmeta}{uniquenametemplatename}{} +\blx@kv@defkey{blx@assignrefcontextmeta}{labelalphanametemplatename}{} + +% Meta option to set all name template options +\blx@kv@defkey{blx@assignrefcontext}{name}{} +\blx@kv@defkey{blx@assignrefcontext}{nametemplates}{% + \def\blx@tempb{#1}% + \def\blx@tempd{#1}% + \def\blx@tempe{#1}} +\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}}} +\blx@kv@defkey{blx@assignrefcontext}{uniquenametemplatename}{\def\blx@tempd{#1}} +\blx@kv@defkey{blx@assignrefcontext}{labelalphanametemplatename}{\def\blx@tempe{#1}} + +% Manually force a refcontext datalist in the .bcf +\newcommand*{\GenRefcontextData}[1]{% + \begingroup + \edef\blx@tempb{\the\c@refsection}% + \def\blx@tempc{global}% + \def\blx@tempd{global}% + \def\blx@tempe{global}% + \let\blx@tempf\blx@sorting% + \let\blx@tempg\@empty% + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@refcontextmanual}{#1}}% + \def\blx@tempa{\blx@tempf/\blx@tempc/\blx@tempg/\blx@tempd/\blx@tempe}% + \xifinlist{\blx@tempa @\blx@tempb @entry}\blx@dlistnames + {} + {\listxadd\blx@dlistnames{\blx@tempa @\blx@tempb @entry}% + \xappto\blx@dlists{% + \blx@xml@dlist{\blx@tempa}{entry}{\blx@tempb}{\blx@xml@dlist@refcontext{\blx@tempf}{\blx@tempc}{\blx@tempg}{\blx@tempd}{\blx@tempe}}{}}}% + \endgroup} + +% Meta option to set all name template options +\blx@kv@defkey{blx@refcontextmanual}{nametemplates}{% + \def\blx@tempc@sortingnamekeytemplatename{#1}% + \def\blx@tempd@uniquenametemplatename{#1}% + \def\blx@tempe@labelalphanametemplatename{#1}} +\blx@kv@defkey{blx@refcontextmanual}{sorting}{\def\blx@tempf{#1}} +\blx@kv@defkey{blx@refcontextmanual}{sortingnamekeytemplatename}{\def\blx@tempc{#1}} +\blx@kv@defkey{blx@refcontextmanual}{uniquenametemplatename}{\def\blx@tempd{#1}} +\blx@kv@defkey{blx@refcontextmanual}{labelalphanametemplatename}{\def\blx@tempe{#1}} +\blx@kv@defkey{blx@refcontextmanual}{labelprefix}{% + \def\blx@tempg{#1}% + \iftoggle{blx@defernumbers} + {}% + {\iftoggle{blx@labelnumber} + {\blx@warning{% + Option 'labelprefix' requires global\MessageBreak + 'defernumbers=true'}} + {}}} + +% Reference sections +\newrobustcmd*{\AtBeginRefsection}{\gappto\blx@hook@refsectioninit} +\@onlypreamble\AtBeginRefsection + +\newrobustcmd*{\newrefsection}{% + \endrefcontext + \ifnum\c@refsection>\z@ + \endrefsection + \fi + \refsection} +\let\blx@newrefsection\newrefsection + +\newrobustcmd*{\refsection}{% + \begingroup + \edef\on@line{\on@line}% + \ifnum\c@refsection>\z@ + \blx@err@nestenv{refsection}% + \blx@endrefsection + \fi + \ifnum\c@refsegment>\z@ + \blx@err@nestenv{refsection}% + \blx@endrefsegment + \fi + \@ifnextchar[%] + {\blx@refsection} + {\blx@refsection[]}} + +\def\blx@refsection{% + \begingroup + \blx@hook@fileverb + \blx@refsection@i} + +\def\blx@refsection@i[#1]{% + \endgroup + \stepcounter{blx@maxsection}% + \setcounter{refsection}{\value{blx@maxsection}}% + \csuse{blx@hook@refsectioninit}% + \xifinlist{\the\c@refsection}\blx@allrefsections + {} + {\listxadd\blx@allrefsections{\the\c@refsection}}% + \ifcsdef{blx@defaultrefcontexts@\the\c@refsection} + {} + {\global\cslet{blx@defaultrefcontexts@\the\c@refsection}\@empty}% + \blx@providecount{blx@maxsegment@\the\c@refsection}% + \blx@providecount{blx@sectionciteorder@\the\c@refsection}% + \blx@inf@refsec + \blx@secinit + \if@filesw + \blx@auxwrite\@mainaux{}{% + \string\abx@aux@refsection{\the\c@refsection}{\the\c@page}}% + \ifblank{#1} + {} + {\let\blx@bibfiles\@empty + % globals should be first as it might contain macros needed for others + \forlistloop{\listadd\blx@bibfiles}\blx@bibfiles@global}% + \blx@xsanitizeafter{\forcsvlist\blx@refsection@addfile}{#1}% + \blx@refsection@ii + \fi + \blx@info{Setting label 'refsection:\the\c@refsection'}% + \label{refsection:\the\c@refsection}% + \endgroup} + +\def\blx@refsection@addfile#1{% + \ifcsdef{blx@res@labl@#1} + {\blx@refsection@addfile@i{\csuse{blx@res@labl@#1}}} + {\blx@refsection@addfile@i{#1}}} + +\def\blx@refsection@addfile@i#1{% + \ifcsdef{blx@res@loca@#1} + {\listeadd\blx@bibfiles{#1}} + {\listeadd\blx@bibfiles{\blx@stripbib{#1}\detokenize{.bib}}}} + +\def\blx@refsection@ii{% + \blx@regbibfiles\jobname\blx@bibfiles + \begingroup + \let\blx@tempa\@empty + \blx@bibdata\blx@tempa\blx@bibfiles + \blx@auxwrite\blx@bcfout + {\let\do\blx@datasource} + {\blx@xml@endsection\blx@nl + \blx@xml@comment{SECTION \the\c@refsection}% + \blx@xml@bibdata{\the\c@refsection}{\blx@tempa}% + \blx@xml@section{\the\c@refsection}}% + \endgroup} + +\protected\def\endrefsection{% + \endrefcontext + \blx@endrefsection + \blx@inf@refsec} + +\def\blx@endrefsection{% + \blx@endrefsegment + \blx@providecount{blx@sectionciteorder@\the\c@refsection}% + % make sure we always output aliases to the .bcf otherwise after their + % first resolution by biber, they will be invisible to subsequent biber + % runs since biblatex will resolve the \keyalias{} macro to the main + % entry key, biber won't put \keyalias{}in the .bbl on subsequent runs + % and biblatex will report a missing citekey + \ifcsempty{blx@keyaliases@\the\c@refsection} + {} + {\def\do##1{% + \blx@xmlsanitizeafter{\def\blx@tempa}{##1}% + % Make sure this counter exists. Sometimes it might not when using, e.g: + % refsection=chapter and \includeonly to put in the chapters or when + % inserting citations into table of contents + \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne + \blx@auxwrite\blx@bcfout{}{% + \blx@xml@citekey{\blx@tempa}{} + {\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}{1}}}% + \dolistcsloop{blx@keyaliases@\the\c@refsection}}% + % output key counts (for \citecount sorting) if citecounter option is not false + \ifcsundef{blx@cites@\the\c@refsection} + {} + {\ifundef\blx@citecounter + {} + {\def\do##1{% + \ifcsundef{blx@currcount@\the\c@refsection @##1} + {\csdef{blx@currcount@\the\c@refsection @##1}{0}} + {}% + \blx@auxwrite\blx@bcfout{} + {\blx@xml@citekeycount{##1}{\csuse{blx@currcount@\the\c@refsection @##1}}}}% + \dolistcsloop{blx@cites@\the\c@refsection}}}% + \ifnum\c@refsection>\z@ + \blx@auxwrite\blx@bcfout{}{% + \blx@xml@endsection\blx@nl + \blx@xml@comment{SECTION 0 (cont.)}% + \blx@xml@section{0}}% + \fi + \global\c@refsection\z@} + +\blx@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}}} + +\protected\def\abx@aux@refsection#1#2{% + \listgadd\blx@alllastrefsections{#1}% + \ifnum#1>\c@blx@maxsection + \setcounter{blx@maxsection}{#1}% + \fi + \blx@addchecksum{#1}{#2}} + +% Reference segments +\newrobustcmd*{\newrefsegment}{% + \ifnum\c@refsegment>\z@ + \blx@endrefsegment + \fi + \refsegment} +\let\blx@newrefsegment\newrefsegment + +\newrobustcmd*{\refsegment}{% + \ifnum\c@refsegment>\z@ + \blx@err@nestenv{refsegment}% + \blx@endrefsegment + \fi + \global\advance\csname blx@maxsegment@\the\c@refsection\endcsname\@ne + \setcounter{refsegment}{\csuse{blx@maxsegment@\the\c@refsection}}% + \blx@inf@refseg + \blx@info{Setting label 'refsegment:\the\c@refsection\the\c@refsegment'}% + \label{refsegment:\the\c@refsection\the\c@refsegment}% + \ifcsundef{blx@segm@\the\c@refsection @\the\c@refsegment} + {\global\cslet{blx@segm@\the\c@refsection @\the\c@refsegment}\@empty} + {}} + +\protected\def\endrefsegment{% + \blx@endrefsegment + \blx@inf@refseg} + +\def\blx@endrefsegment{% + \global\c@refsegment\z@} + +% Reference section/segment auto-reset +% we are prepending to the commands so that the resets happen before +% the part title is typeset otherwise \cites in there could be "ibid" +% which makes no sense + +% option switch +%{<option level counter>}{<patch>}{<pre>}{<post>} +\def\blx@patchsection@switch#1#2#3#4{% + \AtEndPreamble{% + #3% + \ifcase#1 + \or % 1: part + \blx@refpatch@part{#2}% + \or % 2: chapter + \blx@refpatch@chapter{#2}% + \or % 3: section + \blx@refpatch@sect{section}{#2}{1}% + \or % 4: subsection + \blx@refpatch@sect{subsection}{#2}{2}% + \or % 5: chapter+ = part, chapter + \blx@refpatch@part{#2}% + \blx@refpatch@chapter{#2}% + \or % 6: section+ = part, chapter, section + \blx@refpatch@part{#2}% + \ifundef\chapter + {} + {\blx@refpatch@chapter{#2}}% + \blx@refpatch@sect{section}{#2}{1}% + \or % 7: subsection+ = part, chapter, section, subsection + \blx@refpatch@part{#2}% + \ifundef\chapter + {} + {\blx@refpatch@chapter{#2}}% + \blx@refpatch@sect{section}{#2}{1}% + \blx@refpatch@sect{subsection}{#2}{2}% + \fi + #4% + }% +} + +%% Patching all the different document classes and their sectioning +%% commands is ... messy at best +%% For now we do the big three: (1) Standard classes, (2) KOMA-Script +%% and (3) memoir. +%% +%% Timing of the patch can be tricky. +%% Ideally we want the code to be executed when all counters have +%% been increased so the labels attach to the right thing, but +%% at the same time we want the code to be executed before the heading +%% is typeset so it already applies to the text in the heading. +%% Bonus points for actually executing the code on the correct page. + +%% memoir has hooks for section headings that we can use here +%% see 18.25 'Heading Hooks' of the manual (v3.7h, 2018/12/12) +%% they are in a good position, when the counters have been +%% increased but heading text not yet typeset. +%% The manual suggests this hooks have been around since 2005 or so, +%% so we take them for granted. + +%% Newer versions of KOMA-Script (>=3.27) (will) have a hook system +%% 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. +%% 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}{% + \ifcsundef{KOMAClassName} + {\@secondoftwo} + {\ifcsundef{AddtoDoHook} + {\@secondoftwo} + {\@firstoftwo}}} + +% KOMA 3.26 has \startsection@secnumdepth for some testing +\newcommand*{\blx@ifkoma@startsection}{% + \ifcsundef{KOMAClassName} + {\@secondoftwo} + {\ifcsundef{startsection@secnumdepth} + {\@secondoftwo} + {\@firstoftwo}}} + +\newcommand*{\blx@ifmemoir}{\@ifclassloaded{memoir}} + +% Note that \ExecuteDoHook always feeds an argument to the code, here that is +% going to be an empty group, which we explicitly gobble to avoid trouble. +\def\blx@refpatch@koma@AddtoDoHook#1#2{% + \AddtoDoHook{heading/begingroup/#1}{#2\@gobble}} + +% \part +\def\blx@refpatch@part@memoir#1{% + \apptocmd\mempartinfo{#1} + {}{\blx@err@patch{\string\mempartinfo}}% + \apptocmd\mempartstarinfo{#1} + {}{\blx@err@patch{\string\mempartstarinfo}}} + +\def\blx@refpatch@part@std#1{% + \toggletrue{blx@tempa}% + \def\do##1{% + \pretocmd##1{#1} + {\togglefalse{blx@tempa}\listbreak} + {}}% + \docsvlist{% + \H@old@part,% hyperref + \NR@part,% nameref + \@part}% latex/koma-script/memoir + \iftoggle{blx@tempa} + {\blx@err@patch{\string\@part}} + {}% + \let\do\noexpand} + +\def\blx@refpatch@part#1{% + \ifundef\part + {\blx@err@nodocdiv{part}} + {\blx@ifkoma@AddtoDoHook + {\blx@refpatch@koma@AddtoDoHook{part}{#1}} + {\blx@ifmemoir + {\blx@refpatch@part@memoir{#1}} + {\blx@refpatch@part@std{#1}}}}} + +% \chapter +\def\blx@refpatch@chapter@memoir#1{% + \apptocmd\memchapinfo{#1} + {}{\blx@err@patch{\string\memchapinfo}}% + \apptocmd\memchapstarinfo{#1} + {}{\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} + {} + {\blx@err@patch{\string\@makechapterhead}} + \pretocmd\@makeschapterhead{#1} + {} + {\blx@err@patch{\string\@makeschapterhead}}} + +\def\blx@refpatch@chapter#1{% + \ifundef\chapter + {\blx@err@nodocdiv{chapter}} + {\blx@ifkoma@AddtoDoHook + {\blx@refpatch@koma@AddtoDoHook{chapter}{#1}} + {\blx@ifmemoir + {\blx@refpatch@chapter@memoir{#1}} + {\blx@refpatch@chapter@std{#1}}}}} + +% \section, \subsection +% {<section csname>}{<patch code>}{<section level number>} +\def\blx@refpatch@sect#1#2#3{% + \ifcsundef{#1} + {\blx@err@nodocdiv{#1}\@gobbletwo} + {\blx@ifkoma@AddtoDoHook + {\blx@refpatch@koma@AddtoDoHook{#1}{#2}} + {\blx@ifkoma@startsection + {\blx@refpatch@sect@koma@startsection{#2}{#3}} + {\blx@ifmemoir + {\blx@refpatch@sect@memoir{#1}{#2}} + {\blx@refpatch@sect@std{#2}{#3}}}}}} + +% KOMA >= 3.26 defines \startsection@secnumdepth to check the sectioning level, +% so we can now use \At@startsection. +% Starting from 3.27 we use AddtoDoHook, so this is a short-lived +% intermezzo. +\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}} + {}{\noexpand\blx@err@patch{\string\memsecinfo}}% + \apptocmd\noexpand\memsecstarinfo + {\noexpand\blx@refpatch@sect@memoir@i{\string#1}{#1}{#2}} + {}{\noexpand\blx@err@patch{\string\memsecstarinfo}}} + +\def\blx@refpatch@sect@memoir@i#1#2#3{% + \ifstrequal{#1}{#2}{#3}{}} + +% 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 + {\csnumdef{blx@refpatch@current@sectlevel}{\string#2}} + {\togglefalse{blx@tempa}\noexpand\listbreak} + {}}} + +\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} + {}}} + +\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}} + % \@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 + +\let\blx@categories\@empty + +% {<category>} +\newrobustcmd*{\DeclareBibliographyCategory}[1]{% + \ifcsundef{blx@catg@#1} + {\global\cslet{blx@catg@#1}\@empty + \listgadd\blx@categories{#1}} + {\blx@error + {Category '#1' already declared} + {The bibliography category '#1'\MessageBreak + has already been declared}}} +\@onlypreamble\DeclareBibliographyCategory + +% {<category>}{<entrykey>,...} +\newrobustcmd*{\addtocategory}[2]{% + \ifcsundef{blx@catg@#1} + {\blx@error + {Category '#1' not declared} + {Use \string\DeclareBibliographyCategory\space to declare}} + {\blx@AfterPreamble{% + \blx@xsanitizeafter{\forcsvlist{\blx@addtocategory{#1}}}{#2}}}} + +% {<category>}{<entrykey>,...} +\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}}} + {}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{#2}}% + \abx@aux@category{#1}{#2}} + +% {<category>}{<entrykey>,...} +\protected\def\abx@aux@category#1#2{% + \xifinlistcs{\detokenize{#2}}{blx@catg@#1} + {} + {\listcsxadd{blx@catg@#1}{\detokenize{#2}}}} + +\blx@AtEndDocument{\let\abx@aux@category\@gobbletwo} + +% [<options>]{<resource>,...} +\renewrobustcmd*{\bibliography}[1]{% + \begingroup + \def\blx@tempa{file}% + \def\blx@tempb{bibtex}% + \def\blx@tempc{local}% + \undef\blx@tempd + \let\blx@tempe\@empty + \blx@xsanitizeafter{\forcsvlist\blx@addbib@legacy}{#1}% + \endgroup} +\@onlypreamble\bibliography + +\def\blx@addbib@legacy#1{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@addbib@resource{\blx@stripbib{#1}\detokenize{.bib}}}% + \blx@tempa} + +\def\blx@stripbib#1{% + \expandafter\blx@stripbib@i\detokenize{#1.bib}&} +\edef\blx@stripbib@i{% + \def\noexpand\blx@stripbib@i##1\detokenize{.bib}##2&} +\blx@stripbib@i{#1} + +% [<options>]{<resource>,...} +\newrobustcmd*{\addbibresource}{% + \blx@addbib\blx@addbib@resource} +\@onlypreamble\addbibresource + +\newrobustcmd*{\addglobalbib}{% + \blx@addbib\blx@addbib@global} +\@onlypreamble\addglobalbib + +\newrobustcmd*{\addsectionbib}{% + \blx@addbib\blx@addbib@register} +\@onlypreamble\addsectionbib + +\def\blx@addbib#1{% + \@ifnextchar[%] + {\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 + \@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 + \begingroup + \def\blx@tempa{file}% + \def\blx@tempb{bibtex}% + \def\blx@tempc{local}% + \undef\blx@tempd + \let\blx@tempe\@empty + \def\blx@tempf{false}% + \blx@kv@setkeys{blx@addbib}{#2}% + \blx@xsanitizeafter{#1}{#3}% + \endgroup} + +\def\blx@hook@fileverb{% + \let\do\@makeother + \dospecials + \catcode`\\=\z@ + \catcode`\{=\@ne + \catcode`\}=\tw@} + +\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}} + {}} + +\def\blx@addbib@resource#1{% + \blx@addbib@register{#1}% + \listgadd\blx@bibfiles{#1}% + \blx@regbibfile\jobname{#1}} + +\def\blx@addbib@global#1{% + \blx@addbib@resource{#1}% + \listgadd\blx@bibfiles@global{#1}} + +\let\blx@bibfiles\@empty +\let\blx@bibfiles@global\@empty + +\def\blx@bibdata#1#2{% + \forlistloop{\blx@bibdata@i{#1}}#2} +\def\blx@bibdata@i#1#2{% + \blx@xmlsanitizeafter{\blx@bibdata@ii{#1}{#2}}{#2}} +\def\blx@bibdata@ii#1#2#3{% + \eappto#1{% + \blx@xml@datasource + {\ifcsdef{blx@res@type@#2} + {\csuse{blx@res@type@#2}} + {file}} + {\ifcsdef{blx@res@data@#2} + {\csuse{blx@res@data@#2}} + {bibtex}} + {\ifcsvoid{blx@res@bibencoding@#2} + {} + { encoding="\csuse{blx@res@bibencoding@#2}"}} + {\ifcsvoid{blx@res@glob@#2} + {} + { glob="\csuse{blx@res@glob@#2}"}} + {#3}}} + +%% Citations + +\newrobustcmd*{\AtEveryCite}{\gappto\blx@hook@cite} +\newrobustcmd*{\AtEveryCitekey}{\gappto\blx@hook@citekey} +\newrobustcmd*{\AtEveryMultiCite}{\gappto\blx@hook@mcite} +\@onlypreamble\AtEveryCite +\@onlypreamble\AtEveryCitekey +\@onlypreamble\AtEveryMultiCite + +\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}} + +\newrobustcmd*{\AtNextCite}{% + \ifundef\blx@hook@cite@next + {\gdef\blx@hook@cite@next{\global\undef\blx@hook@cite@next}} + {}% + \gappto\blx@hook@cite@next} + +\newrobustcmd*{\AtNextCitekey}{% + \ifundef\blx@hook@citekey@next + {\gdef\blx@hook@citekey@next{\global\undef\blx@hook@citekey@next}} + {}% + \gappto\blx@hook@citekey@next} + +\newrobustcmd*{\AtNextMultiCite}{% + \ifundef\blx@hook@mcite@next + {\gdef\blx@hook@mcite@next{\global\undef\blx@hook@mcite@next}} + {}% + \gappto\blx@hook@mcite@next} + +\def\blx@imc@UseNextCiteHook{\csuse{blx@hook@cite@next}} +\def\blx@imc@UseNextCitekeyHook{\csuse{blx@hook@citekey@next}} +\def\blx@imc@UseNextMultiCiteHook{\csuse{blx@hook@mcite@next}} + +\def\blx@imc@DeferNextCitekeyHook{\undef\blx@hook@citekey@next} + +\blx@regimcs{% + \UseEveryCiteHook \UseEveryCitekeyHook \UseEveryMultiCiteHook + \UseNextCiteHook \UseNextCitekeyHook \UseNextMultiCiteHook + \DeferNextCitekeyHook} + +% {<style>} + +\newrobustcmd*{\RequireCitationStyle}[1]{% + \blx@inputonce{#1.cbx}{citation style '#1'}{}{}{} + {\blx@error + {Style '#1' not found} + {The citation style '#1' could not be found}}} +\@onlypreamble\RequireCitationStyle + +% {<code>} + +\newrobustcmd*{\InitializeCitationStyle}{\appto\blx@hook@cbxinit} +\@onlypreamble\InitializeCitationStyle + +% {<code>} + +\newrobustcmd*{\OnManualCitation}{\appto\blx@hook@mancite} +\@onlypreamble\OnManualCitation + +\newrobustcmd*{\mancite}{% + \csuse{blx@hook@mancite}% + \blx@ibidreset + \blx@idemreset + \blx@opcitreset + \blx@loccitreset} + +% {<entrykey>}{<message>} +% Wrapper to track cite keys which are \nocited +\def\blx@nocitation#1#2{% + \ifinlist{#1}\blx@nocites + {} + {\listgadd\blx@nocites{#1}}% + \blx@citation@i{#1}{#2}} + +% {<entrykey>}{<message>} +% Just a wrapper to suppress citation tracking in toc/lof etc. +\def\blx@citation#1#2{% + \ifinlist{#1}\blx@directcites + {} + {\listgadd\blx@directcites{#1}}% + \blx@citation@i{#1}{#2}} + +\def\blx@citation@i#1#2{% + \ifbool{citerequest} + {\blx@citation@entry{#1}{#2}} + {}} + +\def\blx@citation@entry#1#2{% + \blx@bibreq{#1}% + \ifinlistcs{#1}{blx@cites@\the\c@refsection} + {} + {\listcsgadd{blx@cites@\the\c@refsection}{#1}}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@cite{\the\c@refsection}{#1}}% + \ifinlistcs{#1}{blx@segm@\the\c@refsection @\the\c@refsegment} + {} + {\listcsgadd{blx@segm@\the\c@refsection @\the\c@refsegment}{#1}}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@segm{\the\c@refsection}% + {\the\c@refsegment}% + {\detokenize{#1}}}% + \blx@ifdata{#1} + {} + {\ifcsdef{blx@miss@\the\c@refsection} + {\ifinlistcs{#1}{blx@miss@\the\c@refsection} + {\@latex@warning{#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} + {} + {\listcsxadd{blx@segm@#1@#2}{\detokenize{#3}}}} + +\def\blx@nocitation@all{% + \ifinlist{*}\blx@nocites + {} + {\listgadd\blx@nocites{*}}% + \blx@citation@all} + +\def\blx@citation@all{% + \blx@auxwrite\@mainaux{}{\string\abx@aux@nociteall}% + \ifbool{citerequest} + {\global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne + \blx@bibreq{*}% + \global\csletcs + {blx@segm@\the\c@refsection @\the\c@refsegment} + {blx@dlist@entry@\the\c@refsection @\blx@refcontext@context}% + \ifcsvoid{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context} + {\blx@logreq@active{}} + {}} + {}} + +\def\abx@aux@nociteall{% + \listgadd\blx@nocites{*}} + +\protected\def\blx@bibreq#1{% + \advance\blx@tempcntc\@ne% holds internal \cite{} citation order + \begingroup + \blx@xmlsanitizeafter{\def\blx@tempa}{#1}% + \let\blx@tempb\@empty + % Only output as \nocited if a key wasn't also directly \cite'd + % Since citekey output is sequential as cites are read, the .bcf might contain + % duplicate keys with differring nocite attributes if \nocite{X} and \cite{X} both occur + % but biber deals with this and priorities \cites + \ifboolexpr{test {\ifinlist{#1}\blx@nocites} + and + not test {\ifinlist{#1}\blx@directcites}} + {\def\blx@tempb{ nocite="1"}} + {}% + \blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}% + {\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}% + {\expandafter\the\csname blx@tempcntc\endcsname}}% + % citeall is always order "0" - this makes no real difference as biber + % ignores all other citekeys in the section if citeall is present + % \ifstrequal{*}{#1} + % {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{0}}} + % {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{% + % \expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}% + \endgroup} + +% {<set>}{<key1,key2,key3>} +\newrobustcmd*{\defbibentryset}[2]{% + \@bsphack + \begingroup + \blx@xsanitizeafter{\def\blx@tempa}{#1}% + \let\blx@tempb\@empty + \let\blx@tempc\@empty + \blx@xsanitizeafter{\forcsvlist\blx@defentryset@add}{#2}% + \ifcsdef{blx@set@\the\c@refsection @\blx@tempa} + {\expandafter\ifdefequal + \csname blx@set@\the\c@refsection @\blx@tempa\endcsname + \blx@tempb + {} + {\blx@error + {Conflicting definitions of '\blx@tempa'} + {The entry set '\blx@tempa' has been defined before.% + \MessageBreak + old: \blx@tempa\space = % + \csuse{blx@set@\the\c@refsection @\blx@tempa}\MessageBreak + new: \blx@tempa\space = \blx@tempb\MessageBreak + I'm ignoring the new definition}}} + {\global\cslet{blx@set@\the\c@refsection @\blx@tempa}\blx@tempb + \edef\blx@tempa{% + \blx@AfterPreamble{\blx@setreq{\blx@tempa}{\blx@tempb}}}% + \blx@tempa}% + \endgroup + \@esphack} + +\def\blx@defentryset@add#1{% + \edef\blx@tempb{\blx@tempb\blx@tempc#1}% + \def\blx@tempc{,}} + +\protected\def\blx@setreq#1#2{% + \begingroup + \blx@xmlsanitizeafter{\def\blx@tempa}{#1}% + \blx@xmlsanitizeafter{\def\blx@tempb}{#2}% + \blx@auxwrite\blx@bcfout{}{\blx@xml@citeset{\blx@tempa}{\blx@tempb}}% + \endgroup} + + +\def\abx@warn@emptycite{% + \abx@warn@emptycite@print + \abx@warn@emptycite@log} + +\def\abx@warn@emptycite@print@text{% + \textless empty citation\textgreater} + +\def\abx@warn@emptycite@print{% + \abx@missing@entry{\abx@warn@emptycite@print@text}} + +\def\abx@warn@emptycite@log{% + \@latex@warning{\blx@msg@cundefon{}}} + + +% {<entrykey>,...} +% a crude way to check for a do-nothing argument: +% loop over it to see what happens +\protected\def\blx@citeloop#1{% + \togglefalse{blx@tempa}% + \def\do{\toggletrue{blx@tempa}\listbreak}% + \expandafter\docsvlist\expandafter{\detokenize{#1}}% + \iftoggle{blx@tempa} + {\expandafter\blx@citeloop@i\expandafter{\detokenize{#1}}} + {\abx@warn@emptycite}} +\protected\def\blx@citeloop@i#1{% + \begingroup + % This must be here and not after \blx@citeadd as this changes the refcontext + \letcs\blx@tempb{blx@dlist@centry@\the\c@refsection @\blx@refcontext@context}% + \ifundef\blx@tempb + {\let\blx@tempb\@empty} + {}% + % Make sure this counter exists. Sometimes it might not when using, e.g: + % refsection=chapter and \includeonly to put in the chapters or when + % inserting citations into table of contents + \blx@providecount{blx@sectionciteorder@\the\c@refsection}% + \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne + \blx@tempcnta\z@ + \blx@tempcntb\z@ + \blx@tempcntc\z@ + \let\blx@tempa\@empty + \forcsvlist\blx@citeadd{#1}% adds to \blx@tempa + \blx@thenotecheck + \ifnum\blx@tempcnta>\z@ + \ifnum\blx@tempcntb>\z@ + \multicitedelim + \fi + \else + \blx@postpunct@saved + \fi + % \blx@tempb is a sorted list of all cites, \blx@tempa is the list of cites to + % sort using this list + \blx@thecitesort + \edef\blx@tempa{\endgroup + \c@citecount\z@ + \c@citetotal\the\blx@tempcnta\relax + \unexpanded{\forlistloop\blx@citeprint}{\blx@tempb}}% + \blx@tempa} + +\def\blx@notecheck{% + \ifnum\blx@tempcnta>\@ne + \blx@warning{% + Package option 'sortcites' enabled.\MessageBreak + Verify postnote placement}% + \fi} + +\def\blx@citesort{% + \ifnum\blx@tempcnta>\@ne + \blx@filtercitesort\blx@tempb{blx@tempa}% + \else + \blx@citenosort + \fi} + +\def\blx@citenosort{% + \let\blx@tempb\blx@tempa} + +\def\abx@missing@entry#1{% + \abx@missing{#1}} + +% {<entrykey>} +\def\blx@citeadd#1{% + \ifcsdef{blx@keyalias@\the\c@refsection @#1} + {\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 + \expandafter\blx@ifdata\expandafter{\blx@realkey} + {\advance\blx@tempcnta\@ne + \listeadd\blx@tempa{\blx@realkey}} + {\ifnum\blx@tempcntb>\z@\multicitedelim\fi + \expandafter\abx@missing@entry\expandafter{\blx@realkey}% + \advance\blx@tempcntb\@ne}} + +% set default refcontext for one citation key +% and then override with data from auto-assign \assignrefcontext* macros, if any +% <entrykey> +\def\blx@getrefcontext#1{% + % Save refcontext for restoration at end of \citeprint + \let\blx@refcontext@context@saved\blx@refcontext@context + % Get the default refcontext + % If there was one due to appearance in a bib/biblist, use it + % otherwise fall back on global refcontext. This can happen for cites + % made (a bit strangely but some styles do this) inside a biblist + % which never appear in any printed bib/biblist and therefore have no default + % refcontext defined + \ifcsdef{blx@assignedrefcontextbib@aux@\the\c@refsection @#1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextbib@aux@\the\c@refsection @#1}} + {\blx@edef@refcontext{\blx@sorting/global//global/global}}% + % assignment via keyword list + \ifdef\blx@assignedrefcontextkeywlist + {\def\do##1{% + \blx@imc@ifentrykeyword{#1}{##1} + {% weak version + \ifboolexpr{test {\ifcsdef{blx@assignedrefcontextkeyws*@\the\c@refsection @##1}} + and + not togl {blx@refcontext}}% inside explicit non-global refcontext + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeyws*@\the\c@refsection @##1}} + {}% + % strong version + \ifcsdef{blx@assignedrefcontextkeyws@\the\c@refsection @##1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeyws@\the\c@refsection @##1}} + {}} + {}}% + \dolistloop\blx@assignedrefcontextkeywlist} + {}% + % assignment via category + \ifdef\blx@assignedrefcontextcatlist + {\def\do##1{% + \blx@imc@ifentrycategory{#1}{##1} + {% weak version + \ifboolexpr{test {\ifcsdef{blx@assignedrefcontextcats*@\the\c@refsection @##1}} + and + not togl {blx@refcontext}}% inside explicit non-global refcontext + {\letcs\blx@refcontext@context{blx@assignedrefcontextcats*@\the\c@refsection @##1}} + {}% + % strong version + \ifcsdef{blx@assignedrefcontextcats@\the\c@refsection @##1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextcats@\the\c@refsection @##1}} + {}} + {}}% + \dolistloop\blx@assignedrefcontextcatlist} + {}% + % assignment via entrykeys + % weak version + \nottoggle{blx@refcontext} + {\ifcsdef{blx@assignedrefcontextkeys*@\the\c@refsection @*} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys*@\the\c@refsection @*}} + {\ifcsdef{blx@assignedrefcontextkeys*@\the\c@refsection @#1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys*@\the\c@refsection @#1}} + {}}} + {}% + % strong version + \ifcsdef{blx@assignedrefcontextkeys@\the\c@refsection @*} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys@\the\c@refsection @*}} + {\ifcsdef{blx@assignedrefcontextkeys@\the\c@refsection @#1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys@\the\c@refsection @#1}} + {}}} + +% {<entrykey>} +\protected\def\blx@citeprint#1{% + \blx@getrefcontext{#1}% + \advance\c@citecount\@ne + \addtocounter{instcount}\@ne + \ifnum\c@citecount=\@ne + \blx@getdata@cite{#1}% + \blx@precode + \ifnum\c@citetotal>\@ne + \blx@resetdata + \fi + \else + \blx@dlimcode + \fi + \begingroup + \ifnum\c@citetotal>\@ne + \blx@getdata@cite{#1}% + \fi + \blx@entrysetcount + \blx@setoptions@type\abx@field@@@entrytype + \blx@setoptions@entry + \blx@backref{#1}% + \blx@pagetracker + \csuse{blx@hook@citekey}% + \csuse{blx@hook@citekey@next}% + \blx@beglangcite + \blx@execute + \blx@loopcode + \blx@citecounter + \blx@citetracker + \blx@ibidtracker + \blx@idemtracker + \blx@opcittracker + \blx@loccittracker + \ifnum\c@citecount=\c@citetotal + \def\blx@thecheckpunct{\blx@err@nestcite\@gobble}% + \blx@postcode + \blx@postpunct@saved + \fi + \blx@endlangcite + \endgroup + \let\blx@refcontext@context\blx@refcontext@context@saved} + +% cite counter +\def\blx@citecounter@global{% + \ifbool{@filesw} + {\ifbool{citetracker} + {\abx@curr@count{\the\c@refsection}{\abx@field@@@entrykey}% + \immediate\write\@mainaux{% + \string\abx@aux@count + {\the\c@refsection}{\abx@field@@@entrykey}}} + {}} + {}} + +\def\blx@citecounter@context{% + \ifbool{@filesw} + {\ifbool{citetracker} + {\iftoggle{blx@footnote} + {\abx@curr@fncount} + {\abx@curr@count} + {\the\c@refsection}{\abx@field@@@entrykey}% + \immediate\write\@mainaux{% + \iftoggle{blx@footnote} + {\string\abx@aux@fncount} + {\string\abx@aux@count}% + {\the\c@refsection}{\abx@field@@@entrykey}}} + {}} + {}} + +% {<refsection>}{<entrykey>} +% set maxcitecounter as well, note that we also define a maxcitecounter across +% all refsections, but that does not have a high-level interface +\protected\def\blx@aux@count#1#2{% + \csnumgdef{blx@count@#1@\detokenize{#2}}{% + \csuse{blx@count@#1@\detokenize{#2}}+1}% + \ifnumgreater{\csuse{blx@count@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxcitecounter@#1}} + {\csnumgdef{blx@maxcitecounter@#1}{% + \csuse{blx@count@#1@\detokenize{#2}}}} + {}% + \ifnumgreater{\csuse{blx@count@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxcitecounter}} + {\csnumgdef{blx@maxcitecounter}{% + \csuse{blx@count@#1@\detokenize{#2}}}} + {}} + +\protected\def\blx@aux@fncount#1#2{% + \csnumgdef{blx@fncount@#1@\detokenize{#2}}{% + \csuse{blx@fncount@#1@\detokenize{#2}}+1}% + \ifnumgreater{\csuse{blx@fncount@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxfncitecounter@#1}} + {\csnumgdef{blx@maxfncitecounter@#1}{% + \csuse{blx@fncount@#1@\detokenize{#2}}}} + {}% + \ifnumgreater{\csuse{blx@fncount@#1@\detokenize{#2}}}{% + 0\csuse{blx@maxfncitecounter}} + {\csnumgdef{blx@maxfncitecounter}{% + \csuse{blx@fncount@#1@\detokenize{#2}}}} + {}} + +\let\abx@aux@count\@gobbletwo +\let\abx@aux@fncount\@gobbletwo + +\protected\def\blx@curr@count#1#2{% + \csnumgdef{blx@currcount@#1@#2}{% + \csuse{blx@currcount@#1@#2}+1}} + +\protected\def\blx@curr@fncount#1#2{% + \csnumgdef{blx@currfncount@#1@#2}{% + \csuse{blx@currfncount@#1@#2}+1}} + +\let\abx@curr@count\@gobbletwo +\let\abx@curr@fncount\@gobbletwo + +\blx@AtEndDocument{% + \let\abx@aux@count\@gobbletwo + \let\abx@aux@fncount\@gobbletwo + \let\abx@curr@count\@gobbletwo + \let\abx@curr@fncount\@gobbletwo} + +\protected\def\blx@setcitecounter@global{% + \c@citecounter0% + \csuse{blx@count@\the\c@refsection @\abx@field@@@entrykey}% + \relax + \c@maxcitecounter0% + \csuse{blx@maxcitecounter@\the\c@refsection}% + \relax} + +\protected\def\blx@setcitecounter@context{% + \c@citecounter0% + \iftoggle{blx@footnote} + {\csuse{blx@fncount@\the\c@refsection @\abx@field@@@entrykey}} + {\csuse{blx@count@\the\c@refsection @\abx@field@@@entrykey}}% + \relax + \c@maxcitecounter0% + \iftoggle{blx@footnote} + {\csuse{blx@maxfncitecounter@\the\c@refsection}} + {\csuse{blx@maxcitecounter@\the\c@refsection}}% + \relax} + +% cite tracker +\def\blx@citetracker@global{% + \ifbool{citetracker} + {\xifinlistcs\abx@field@@@entrykey{blx@bsee@\the\c@refsection} + {} + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@@@entrykey}} + {}} + +\def\blx@citetracker@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\xifinlistcs\abx@field@@@entrykey{blx@fsee@\the\c@refsection} + {} + {\listcsxadd{blx@fsee@\the\c@refsection}\abx@field@@@entrykey}} + {\xifinlistcs\abx@field@@@entrykey{blx@bsee@\the\c@refsection} + {} + {\listcsxadd{blx@bsee@\the\c@refsection}\abx@field@@@entrykey}}} + {}} + +\protected\appto\abx@savetrackers{% + \global\csletcs{blx@saved@bsee@\the\c@refsection}{blx@bsee@\the\c@refsection}% + \global\csletcs{blx@saved@fsee@\the\c@refsection}{blx@fsee@\the\c@refsection}} + +\protected\appto\abx@resttrackers{% + \global\csletcs{blx@bsee@\the\c@refsection}{blx@saved@bsee@\the\c@refsection}% + \global\csletcs{blx@fsee@\the\c@refsection}{blx@saved@fsee@\the\c@refsection}} + +\protected\appto\abx@cleartrackers{% + \global\cslet{blx@saved@bsee@\the\c@refsection}\@empty + \global\cslet{blx@saved@fsee@\the\c@refsection}\@empty} + +% ibidem tracker +\def\blx@ibidtracker@global{% + \ifbool{citetracker} + {\global\let\blx@lastkey@text\abx@field@@@entrykey} + {}} + +\def\blx@ibidtracker@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\global\let\blx@lastkey@foot\abx@field@@@entrykey} + {\global\let\blx@lastkey@text\abx@field@@@entrykey}} + {}} + +\def\blx@ibidtracker@strict{% + \blx@ifcitesingle + {\blx@ibidtracker@global} + {\blx@ibidreset@global}}% + +\def\blx@ibidtracker@constrict{% + \blx@ifcitesingle + {\iftoggle{blx@footnote} + {\blx@mpfnsave} + {}% + \blx@ibidtracker@context} + {\blx@ibidreset@context}}% + +\def\blx@ibidreset@force{% + \global\undef\blx@lastkey@text + \global\undef\blx@lastkey@foot + \blx@mpfnreset} + +\def\blx@ibidreset@global{% + \global\undef\blx@lastkey@text} + +\def\blx@ibidreset@context{% + \iftoggle{blx@footnote} + {\blx@mpfnreset + \global\undef\blx@lastkey@foot} + {\global\undef\blx@lastkey@text}} + +\protected\appto\abx@savetrackers{% + \global\let\blx@saved@lastkey@text\blx@lastkey@text + \global\let\blx@saved@lastkey@foot\blx@lastkey@foot} + +\protected\appto\abx@resttrackers{% + \global\let\blx@lastkey@text\blx@saved@lastkey@text + \global\let\blx@lastkey@foot\blx@saved@lastkey@foot} + +\protected\appto\abx@cleartrackers{% + \global\undef\blx@saved@lastkey@text + \global\undef\blx@saved@lastkey@foot} + +% idem tracker +\def\blx@idemtracker@global{% + \ifbool{citetracker} + {\global\let\blx@lasthash@text\abx@field@@@fullhash} + {}} + +\def\blx@idemtracker@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\global\let\blx@lasthash@foot\abx@field@@@fullhash} + {\global\let\blx@lasthash@text\abx@field@@@fullhash}} + {}} + +\let\blx@idemtracker@strict\blx@idemtracker@global + +\def\blx@idemtracker@constrict{% + \iftoggle{blx@footnote} + {\blx@mpfnsave} + {}% + \blx@idemtracker@context} + +\def\blx@idemreset@force{% + \global\undef\blx@lasthash@text + \global\undef\blx@lasthash@foot + \blx@mpfnreset} + +\def\blx@idemreset@global{% + \global\undef\blx@lasthash@text} + +\def\blx@idemreset@context{% + \iftoggle{blx@footnote} + {\blx@mpfnreset + \global\undef\blx@lasthash@foot} + {\global\undef\blx@lasthash@text}} + +\protected\appto\abx@savetrackers{% + \global\let\blx@saved@lasthash@text\blx@lasthash@text + \global\let\blx@saved@lasthash@text\blx@lasthash@text} + +\protected\appto\abx@resttrackers{% + \global\let\blx@lasthash@text\blx@saved@lasthash@text + \global\let\blx@lasthash@text\blx@saved@lasthash@text} + +\protected\appto\abx@cleartrackers{% + \global\undef\blx@saved@lasthash@text + \global\undef\blx@saved@lasthash@foot} + +% opcit tracker +\def\blx@opcittracker@global{% + \ifbool{citetracker} + {\blx@opcit@tracker{text}} + {}} + +\def\blx@opcittracker@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@opcit@tracker{foot}} + {\blx@opcit@tracker{text}}} + {}} + +\def\blx@opcittracker@strict{% + \blx@ifcitesingle + {\blx@opcittracker@global} + {\blx@opcitreset@global}}% + +\def\blx@opcittracker@constrict{% + \blx@ifcitesingle + {\iftoggle{blx@footnote} + {\blx@mpfnsave} + {}% + \blx@opcittracker@context} + {\blx@opcitreset@context}}% + +\def\blx@opcit@tracker#1{% + \blx@imc@iffieldundef{namehash} + {} + {\global\cslet{blx@lastkey@#1@\abx@field@@@namehash}\abx@field@@@entrykey + \xifinlistcs\abx@field@@@namehash{blx@trackhash@#1} + {} + {\listcsxadd{blx@trackhash@#1}\abx@field@@@namehash}}} + +\def\blx@opcit@reset#1{% + \begingroup + \def\do##1{\global\csundef{blx@lastkey@#1@##1}}% + \dolistcsloop{blx@trackhash@#1}% + \global\cslet{blx@trackhash@#1}\@empty + \endgroup} + +\def\blx@opcitreset@force{% + \blx@opcit@reset{text}% + \blx@opcit@reset{foot}% + \blx@mpfnreset} + +\def\blx@opcitreset@global{% + \blx@opcit@reset{text}} + +\def\blx@opcitreset@context{% + \iftoggle{blx@footnote} + {\blx@opcit@reset{foot}% + \blx@mpfnreset} + {\blx@opcit@reset{text}}} + +\let\blx@trackhash@text\@empty +\let\blx@trackhash@foot\@empty + +\protected\appto\abx@savetrackers{% + \begingroup + \def\do#1{\global\csletcs{blx@saved@lastkey@text@#1}{blx@lastkey@text@#1}}% + \dolistloop\blx@trackhash@text + \global\let\blx@saved@trackhash@text\blx@trackhash@text + \def\do#1{\global\csletcs{blx@saved@lastkey@foot@#1}{blx@lastkey@foot@#1}}% + \dolistloop\blx@trackhash@foot + \global\let\blx@saved@trackhash@foot\blx@trackhash@foot + \endgroup} + +\protected\appto\abx@resttrackers{% + \begingroup + \blx@opcit@reset{text}% + \global\let\blx@trackhash@text\blx@saved@trackhash@text + \def\do#1{\global\csletcs{blx@lastkey@text@#1}{blx@saved@lastkey@text@#1}}% + \dolistloop\blx@trackhash@text + \blx@opcit@reset{foot}% + \global\let\blx@trackhash@foot\blx@saved@trackhash@foot + \def\do#1{\global\csletcs{blx@lastkey@foot@#1}{blx@saved@lastkey@foot@#1}}% + \dolistloop\blx@trackhash@foot + \endgroup} + +\protected\appto\abx@cleartrackers{% + \begingroup + \def\do#1{\global\csundef{blx@saved@lastkey@text@#1}}% + \dolistloop\blx@saved@trackhash@text + \global\undef\blx@saved@trackhash@text + \def\do#1{\global\csundef{blx@saved@lastkey@foot@#1}}% + \dolistloop\blx@saved@trackhash@foot + \global\undef\blx@saved@trackhash@foot + \endgroup} + +% loccit tracker +\def\blx@loccittracker@global{% + \ifbool{citetracker} + {\blx@loccit@tracker{text}} + {}} + +\def\blx@loccittracker@context{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@loccit@tracker{foot}} + {\blx@loccit@tracker{text}}} + {}} + +\def\blx@loccittracker@strict{% + \ifbool{citetracker} + {\blx@loccit@stricttracker{text}} + {}} + +\def\blx@loccittracker@constrict{% + \ifbool{citetracker} + {\iftoggle{blx@footnote} + {\blx@mpfnsave + \blx@loccit@stricttracker{foot}} + {\blx@loccit@stricttracker{text}}} + {}} + +\def\blx@loccit@tracker#1{% + \global\csundef{blx@lastnote@#1@\abx@field@@@entrykey}% + \blx@imc@iffieldundef{postnote} + {} + {\global\cslet{blx@lastnote@#1@\abx@field@@@entrykey}\abx@field@@@postnote + \xifinlistcs\abx@field@@@entrykey{blx@trackkeys@#1} + {} + {\listcsxadd{blx@trackkeys@#1}\abx@field@@@entrykey}}} + +\def\blx@loccit@stricttracker#1{% + \global\csundef{blx@lastnote@#1@\abx@field@@@entrykey}% + \blx@imc@iffieldundef{postnote} + {} + {\blx@ifcitesingle + {\expandafter\blx@imc@ifpages + \expandafter{\abx@field@@@postnote} + {\global\cslet{blx@lastnote@#1@\abx@field@@@entrykey}\abx@field@@@postnote + \xifinlistcs\abx@field@@@entrykey{blx@trackkeys@#1} + {} + {\listcsxadd{blx@trackkeys@#1}\abx@field@@@entrykey}} + {}} + {}}} + +\def\blx@loccit@reset#1{% + \begingroup + \def\do##1{\global\csundef{blx@lastnote@#1@##1}}% + \dolistcsloop{blx@trackkeys@#1}% + \global\cslet{blx@trackkeys@#1}\@empty + \endgroup} + +\def\blx@loccitreset@force{% + \blx@loccit@reset{text}% + \blx@loccit@reset{foot}% + \blx@mpfnreset} + +\def\blx@loccitreset@global{% + \blx@loccit@reset{text}} + +\def\blx@loccitreset@context{% + \iftoggle{blx@footnote} + {\blx@loccit@reset{foot}% + \blx@mpfnreset} + {\blx@loccit@reset{text}}} + +\let\blx@trackkeys@text\@empty +\let\blx@trackkeys@foot\@empty + +\protected\appto\abx@savetrackers{% + \begingroup + \def\do#1{\global\csletcs{blx@saved@lastnote@text@#1}{blx@lastnote@text@#1}}% + \dolistloop\blx@trackkeys@text + \global\let\blx@saved@trackkeys@text\blx@trackkeys@text + \def\do#1{\global\csletcs{blx@saved@lastnote@foot@#1}{blx@lastnote@foot@#1}}% + \dolistloop\blx@trackkeys@foot + \global\let\blx@saved@trackkeys@foot\blx@trackkeys@foot + \endgroup} + +\protected\appto\abx@resttrackers{% + \begingroup + \blx@loccit@reset{text}% + \global\let\blx@trackkeys@text\blx@saved@trackkeys@text + \def\do#1{\global\csletcs{blx@lastnote@text@#1}{blx@saved@lastnote@text@#1}}% + \dolistloop\blx@trackkeys@text + \blx@loccit@reset{foot}% + \global\let\blx@trackkeys@foot\blx@saved@trackkeys@foot + \def\do#1{\global\csletcs{blx@lastnote@foot@#1}{blx@saved@lastnote@foot@#1}}% + \dolistloop\blx@trackkeys@foot + \endgroup} + +\protected\appto\abx@cleartrackers{% + \begingroup + \def\do#1{\global\csundef{blx@saved@lastnote@text@#1}}% + \dolistloop\blx@saved@trackkeys@text + \global\undef\blx@saved@trackkeys@text + \def\do#1{\global\csundef{blx@saved@lastnote@foot@#1}}% + \dolistloop\blx@saved@trackkeys@foot + \global\undef\blx@saved@trackkeys@foot + \endgroup} + +\def\blx@addbackref#1{% + \ifcsdef{blx@setp@\the\c@refsection @#1} + {\ifcase\blx@backrefsetstyle + \blx@addbackref@i{#1}% + \or + \blx@addbackref@ii{setp}{#1}% + \or + \blx@addbackref@i{#1}% + \or + \blx@addbackref@i{#1}% + \or + \blx@addbackref@i{#1}% + \blx@addbackref@ii{setp}{#1}% + \or + \blx@addbackref@i{#1}% + \blx@addbackref@ii{setp}{#1}% + \fi} + {\ifcsdef{blx@setc@\the\c@refsection @#1} + {\ifcase\blx@backrefsetstyle + \blx@addbackref@ii{setc}{#1}% + \or + \blx@addbackref@i{#1}% + \or + \blx@addbackref@i{#1}% + \or + \blx@addbackref@i{#1}% + \blx@addbackref@ii{setc}{#1}% + \or + \blx@addbackref@i{#1}% + \or + \blx@addbackref@i{#1}% + \blx@addbackref@ii{setc}{#1}% + \fi} + {\blx@addbackref@i{#1}}}} + +\def\blx@addbackref@i#1{% + \ifbacktracker + \blx@leavevmode + \if@filesw + \protected@write\@mainaux{}{\string\abx@aux@backref + {\the\c@instcount}{#1}{\the\c@refsection}% + {\thepage}{\noexpand\the\c@page}}% + \fi + \fi} + +\def\blx@addbackref@ii#1#2{% + \expandafter\expandafter\expandafter\forcsvlist + \expandafter\expandafter\expandafter\blx@addbackref@i + \expandafter\expandafter\expandafter{% + \csname blx@#1@\the\c@refsection @#2\endcsname}} + +% {<instcount>}{<entrykey>}{<refsection>}{<page>}{<page int>} +\protected\def\blx@aux@backref#1#2#3#4#5{% + \ifcsundef{blx@pref@#3@\detokenize{#2}} + {\global\cslet{blx@pref@#3@\detokenize{#2}}\@empty + \expandafter\blx@onlypreamble\csname blx@pref@#3@\detokenize{#2}\endcsname} + {}% + \blx@ifprintableinlistcs{#4}{blx@pref@#3@\detokenize{#2}} + {} + {\listcsgadd{blx@pref@#3@\detokenize{#2}}{#4}}% + \blx@addpagesum{#1}{#5}} + +\blx@AtEndDocument{% + \def\abx@aux@backref#1#2#3#4#5{\blx@addpagesum{#1}{#5}}} + +% {<true>}{<false>} +\def\blx@ifcitesingle{% + \ifnum\c@citetotal=\@ne + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +% hyperref interface +\appto\blx@mkhyperref{% + \protected\def\blx@imc@bibhyperref{% + \@ifnextchar[%] + {\blx@bibhyperref} + {\blx@bibhyperref[\abx@field@@@entrykey]}}% + \ifundef\hyper@natanchorstart + {\long\def\blx@bibhyperref[#1]#2{% + \blx@sfsave\hyperlink{cite.\the\c@refsection @#1}{\blx@sfrest + #2% + \blx@sfsave}\blx@sfrest}% + \protected\long\def\blx@imc@bibhyperlink#1#2{% + \blx@sfsave\hyperlink{cite.\the\c@refsection:#1}{\blx@sfrest + #2% + \blx@sfsave}\blx@sfrest}% + \protected\long\def\blx@imc@bibhypertarget#1#2{% + \blx@sfsave\hypertarget{cite.\the\c@refsection:#1}{\blx@sfrest + #2% + \blx@sfsave}\blx@sfrest}}% + {\long\def\blx@bibhyperref[#1]#2{% + \blx@sfsave\hyper@natlinkstart{\the\c@refsection @#1}\blx@sfrest + #2% + \blx@sfsave\hyper@natlinkend\blx@sfrest}% + \protected\long\def\blx@imc@bibhyperlink#1#2{% + \blx@sfsave\hyper@natlinkstart{\the\c@refsection:#1}\blx@sfrest + #2% + \blx@sfsave\hyper@natlinkend\blx@sfrest}% + \protected\long\def\blx@imc@bibhypertarget#1#2{% + \blx@sfsave\hyper@natanchorstart{\the\c@refsection:#1}\blx@sfrest + #2% + \blx@sfsave\hyper@natanchorend\blx@sfrest}} + \let\blx@imc@ifhyperref\@firstoftwo + \def\blx@sf{\spacefactor}% + \def\blx@sfsave{% + \blx@leavevmode + \numgdef\blx@sf{\spacefactor}}% + \def\blx@sfrest{% + \ifhmode\spacefactor\blx@sf\relax\fi + \gdef\blx@sf{\spacefactor}}} + +\appto\blx@mknohyperref{% + \protected\def\blx@imc@bibhyperref{\@ifnextchar[\blx@nohyperref\@firstofone}% + \def\blx@nohyperref[#1]#2{#2}% + \let\blx@imc@bibhyperlink\@secondoftwo + \let\blx@imc@bibhypertarget\@secondoftwo + \let\blx@imc@ifhyperref\@secondoftwo} + +\blx@regimcs{% + \bibhyperref \bibhyperlink \bibhypertarget \ifhyperref} + +% {<entrykey>,...} +\protected\def\nocite#{\blx@nocite} + +\def\blx@nocite#1{% + \@bsphack + \blx@AfterPreamble{% + \ifstrequal{*}{#1} + {\blx@nocitation@all} + {\blx@xsanitizeafter{\forcsvlist\blx@nocite@do}{#1}}}% + \@esphack} + +\def\blx@nocite@do#1{% + % Make sure this counter exists. Sometimes it might not when using, e.g: + % refsection=chapter and \includeonly to put in the chapters or when + % inserting citations into table of contents + \blx@providecount{blx@sectionciteorder@\the\c@refsection}% + \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne + \blx@nocitation{#1}\blx@msg@cundef} + +% {<macro>}[<arg1>][<arg2>]{<arg3>} +% => <macro>{<arg1>}{<arg2>}{<arg3>} +\protected\def\blx@citeargs#1{% + \@ifnextchar[%] + {\blx@citeargs@i{#1}} + {\blx@citeargs@iii{#1{}{}}}} +\long\def\blx@citeargs@i#1[#2]{% + \@ifnextchar[%] + {\blx@citeargs@ii{#1{#2}}} + {\blx@citeargs@iii{#1{}{#2}}}} +\long\def\blx@citeargs@ii#1[#2]{% + \blx@citeargs@iii{#1{#2}}} +\long\def\blx@citeargs@iii#1#2{% + \blx@xsanitizeafter{#1}{#2}} + +% {<macro>}(<arg1>)(<arg2>) +% => <macro>{<arg1>}{<arg2>} +\protected\def\blx@multiargs#1{% + \@ifnextchar(%) + {\blx@multiargs@i{#1}} + {#1{}{}}} +\long\def\blx@multiargs@i#1(#2){% + \@ifnextchar(%) + {\blx@multiargs@ii{#1{#2}}} + {#1{}{#2}}} +\long\def\blx@multiargs@ii#1(#2){#1{#2}} + +% {<macro>}[<arg1>][<arg2>]{<arg3>}<punct> +% => <macro>{<arg1>}{<arg2>}{<arg3>}{<punctcmd>} +\protected\def\blx@citepunct#1{% + \blx@citeargs{\blx@citepunct@i{#1}}} +\long\def\blx@citepunct@i#1#2#3#4{% + \blx@thecheckpunct{#1{#2}{#3}{#4}}} + +% {<csname>}[<arg1>][<arg2>]{arg3}[arg4][arg5][arg6]{arg7}<punct> +% => <macro>{<arg1>}{<arg2>}{<arg3>}{<arg4>}{<arg5>}{<arg6>}{arg7}{<punctcmd>} +\protected\def\blx@citexpunct#1{% + \blx@citeargs{\blx@citexpunct@i{#1}}} +\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]}} +\long\def\blx@citexpunct@ii#1#2[#3]{% + \@ifnextchar[%] + {\blx@citexpunct@iii{#1}{#2{#3}}} + {\blx@citexpunct@iii{#1}{#2{#3}}[\blx@msform]}} + \long\def\blx@citexpunct@iii#1#2[#3]{% + \@ifnextchar[%] + {\blx@citexpunct@iv{#1}{#2{#3}}} + {\blx@citexpunct@iv{#1}{#2{#3}}[\blx@mslang]}} +\long\def\blx@citexpunct@iv#1#2[#3]#4{% + \blx@thecheckpunct{\blxcitecmd{#1}#2{#3}{#4}}} + +% {<code>}<punct> => <code>{<punctcmd>} +\long\def\blx@checkpunct#1{% + \begingroup + \def\blx@tempa{\endgroup#1}% + \futurelet\blx@tempb\blx@checkpunct@i} +\def\blx@checkpunct@i{% + \expandafter\blx@checkpunct@ii\blx@autopunct&} +\def\blx@checkpunct@ii#1{% + \ifx#1&% + \expandafter\blx@checkpunct@iii + \fi + \ifx#1\blx@tempb + \expandafter\blx@checkpunct@iv + \fi + \blx@checkpunct@ii} +\def\blx@checkpunct@iii#1\blx@checkpunct@ii{% + \global\undef\abx@field@@@postpunct + \blx@tempa{\blx@postpunct}} +\def\blx@checkpunct@iv#1\blx@checkpunct@ii#2{% + \gdef\abx@field@@@postpunct{#3}% + \edef\blx@tempa{% + \expandonce\blx@tempa{% + \ifcsdef{blx@pm@\detokenize{#3}} + {\csname blx@imc@add\csname blx@pm@\detokenize{#3}\endcsname + \endcsname} + {\noexpand#3}}}% + \blx@tempa} + +\long\def\blx@nocheckpunct#1{#1{}} + +\protected\def\blx@citeinit{% + \iftoggle{blx@bibliography} + {} + {\toggletrue{blx@citation}}% + \blx@blxinit + \citesetup + \blx@setsfcodes + \blx@postpunct@agroup + \blx@resetdata + \blx@leavevmode + \csuse{blx@hook@cite}% + \csuse{blx@hook@cite@next}% + \let\blx@citeinit\blx@resetdata} + +\protected\def\blx@citecmdinit{% + \blx@leavevmode@cite + \iftoggle{blx@bibliography} + {} + {\blx@initunit}} + +% *{<command>}[<wrapper>]{<precode>}{<loopcode>}{<delimcode>}{<postcode>} +\newrobustcmd*{\DeclareCiteCommand}{% + \@ifstar{\blx@defcitecmd*}{\blx@defcitecmd{}}} + +\def\blx@defcitecmd#1#2{% + \begingroup + \escapechar\m@ne + \edef\blx@tempa{\endgroup + \noexpand\blx@defcitecmd@i{#1}{\string#2}}% + \blx@tempa} + +\def\blx@defcitecmd@i#1#2{% + \listadd\blx@citecmds{#2}% + \blx@checkcitecmd{#2}{#1}% + \protected\csdef{#2}{% + \blx@citecmdinit + \@ifstar + {\blx@citepunct{\blxcitecmd{#2*}}} + {\blx@citepunct{\blxcitecmd{#2}}}}% + \@ifnextchar[%] + {\blx@defcitecmd@iii{#2#1}} + {\blx@defcitecmd@ii{#2#1}}} + +\long\def\blx@defcitecmd@ii#1{% + \csundef{blx@defcite@wrapper@#1}% + \blx@defcitecmd@iv{#1}% + \blx@defcitecmd@v{#1}} + +\long\def\blx@defcitecmd@iii#1[#2]{% + \csdef{blx@defcite@wrapper@#1}{#2}% + \blx@defcitecmd@iv{#1}% + \blx@defcitecmd@v{#1}} + +\long\def\blx@defcitecmd@iv#1{% + \protected\long\csedef{blx@cite@#1}##1##2##3##4{% + \ifboolexpe{test {\ifcsundef{blx@defcite@wrapper@#1}} + and + (test {\ifcsundef{blx@citepunct@#1}} + or + test {\ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}})} + {} + {\begingroup + \blx@citeinit}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@l} + {\noexpand\unspace##4} + {}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@f} + {\noexpand\iftoggle{blx@footnote}{}{\unspace##4}} + {}% + \ifcsundef{blx@defcite@wrapper@#1} + {\blxciteicmd{#1}{##1}{##2}{##3}{% + \ifcsundef{blx@citepunct@#1}{##4}{}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}{##4}{}}} + {\csexpandonce{blx@defcite@wrapper@#1}{% + \blxciteicmd{#1}{##1}{##2}{##3}{% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}{##4}{}}}% + \ifcsundef{blx@citepunct@#1}{##4}{}}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@r}{##4}{}% + \ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@f} + {\noexpand\iftoggle{blx@footnote}{##4}{}} + {}% + \ifboolexpe{test {\ifcsundef{blx@defcite@wrapper@#1}} + and + (test {\ifcsundef{blx@citepunct@#1}} + or + test {\ifcsequal{blx@citepunct@#1}{blx@citepunctid@pos@c}})} + {} + {\endgroup}}} + +\long\def\blx@defcitecmd@v#1#2#3#4#5{% + \protected\long\csdef{blx@citei@#1}##1##2##3##4{% + \ifblank{##1} + {} + {\def\abx@field@@@prenote{##1}}% + \ifblank{##2} + {\let\blx@thenotecheck\relax} + {\def\abx@field@@@postnote{##2}% + \iftoggle{blx@volcite} + {\blx@defvolcitepostnote##2} + {}}% + \def\blx@precode{\delimcontext{#1}#2}% + \def\blx@loopcode{#3}% + \def\blx@dlimcode{#4}% + \def\blx@postcode{#5}% + \def\blx@postpunct@saved{##4}% + \blx@citeloop{##3}% + \endgroup}} + +% {<type>}{<name>}{*} +\def\blx@checkcitecmd#1#2{% + \ifblank{#2} + {\ifcsdef{blx@cite@#1} + {\blx@info{Redefining '\@backslashchar#1'}} + {\ifcsundef{#1} + {} + {\blx@warning@noline{Redefining '\@backslashchar#1'}}}% + \ifcsdef{blx@cite@#1*} + {} + {\csedef{blx@cite@#1*}{% + \expandafter\noexpand\csname blx@cite@#1\endcsname}% + \csedef{blx@citei@#1*}{% + \expandafter\noexpand\csname blx@citei@#1\endcsname}}} + {\ifcsdef{blx@cite@#1} + {} + {\csdef{blx@cite@#1}{\blx@err@citecmd{#1}}% + \csdef{blx@citei@#1}{\blx@err@citecmd{#1}}}}} + +% {<name>}{prenote}{postnote}{citekey}{punct} +\newrobustcmd*{\blxcitecmd}[1]{% + \ifcsundef{blx@cite@#1} + {\blx@err@citecmd{#1}} + {\csuse{blx@cite@#1}}} + +\newrobustcmd*{\blxciteicmd}[1]{% + \begingroup + \blx@citeinit + \ifcsundef{blx@citei@#1} + {\blx@err@citecmd{#1}} + {\csuse{blx@citei@#1}}} + +% {<multicitecount>}{<name>}{prenote}{postnote}{citekey}{punct} +\protected\def\blxmciteicmd#1{% + \c@multicitecount#1\relax + \blxciteicmd} + +% {<multicitetotal>}{<multiprenote>}{<multipostnote>} +\protected\def\blxmcites#1#2#3{% + \begingroup + \blx@citeinit + \c@multicitecount\z@ + \c@multicitetotal#1\relax + \ifnum\c@multicitetotal>\@ne + \let\blx@ifcitesingle\@secondoftwo + \fi + \csuse{blx@hook@mcite}% + \csuse{blx@hook@mcite@next}% + \ifblank{#2}% + {} + {\def\abx@field@@@multiprenote{#2}}% + \ifblank{#3}% + {} + {\def\abx@field@@@multipostnote{#3}}% + \usebibmacro{multiprenote}} + +\protected\def\blxendmcites{% + \usebibmacro{multipostnote}% + \endgroup} + +% {<command>}[<wrapper>]{<cite>}{<delimiter>} +\newrobustcmd{\DeclareMultiCiteCommand}[1]{% + \ifundef#1% + {} + {\blx@info{Redefining '\string#1'}}% + \@ifnextchar[%] + {\blx@defmcitecmd{#1}} + {\blx@defmcitecmd{#1}[\@firstofone]}} + +\def\blx@defmcitecmd#1[#2]#3#4{% + \begingroup + \escapechar\m@ne + \edef\blx@tempa{\endgroup + \listadd\noexpand\blx@citecmds{\string#1}% + \protected\def\noexpand#1{% + \blx@citecmdinit + \noexpand\@ifstar + {\expandafter\noexpand + \csname blx@mcite@\string#1\endcsname*% + \expandafter\noexpand + \csname blx@mcitei@\string#1\endcsname} + {\expandafter\noexpand + \csname blx@mcite@\string#1\endcsname{}% + \expandafter\noexpand + \csname blx@mcitei@\string#1\endcsname}}% + \protected\csdef{blx@mcite@\string#1}####1####2{% + \begingroup + \blx@citeinit + \noexpand\blx@multicite + ####2% + {\unexpanded{#2}}% + {\string#3####1}% + {\unexpanded{#4}}}% + \protected\long\csdef{blx@mcitei@\string#1}% + }% + \blx@tempa##1##2##3{##1{##2}##3\endgroup}} + +% {<command>}{<wrapper>}{<citecmd>}{<delimiter>} => +% <init><command>{<wrapper>}{<cites>}{<punct>} +\def\blx@multicite#1#2#3#4{% + \begingroup + \csuse{blx@hook@mcite@before}% + \def\blx@tempa{#1}% + \def\blx@tempb{#2}% + \def\blx@tempc{#3}% + \def\blx@tempd{#4}% + \c@multicitetotal\z@ + \blx@multiargs\blx@multicite@i} + +\def\blx@multicite@i#1#2{% + \ifblank{#1}% + {\let\abx@field@@@multiprenote\@empty}% + {\def\abx@field@@@multiprenote{#1}}% + \ifblank{#2}% + {\let\abx@field@@@multipostnote\@empty}% + {\def\abx@field@@@multipostnote{#2}}% + \let\blx@tempe\@empty + \let\blx@tempf\@empty + \togglefalse{blx@tempa}% + \blx@multiparse} + +\def\blx@multicite@add#1#2#3{% + \togglefalse{blx@tempa}% + \advance\c@multicitetotal\@ne + \eappto\blx@tempe{% + \expandonce\blx@tempf + \blxmciteicmd{\the\c@multicitetotal}% + {\expandonce\blx@tempc}\unexpanded{{#1}{#2}{#3}}{}}% + \let\blx@tempf\blx@tempd + \blx@multiparse} + +\def\blx@multicite@end#1{% + \edef\blx@tempa{\endgroup + \expandonce\blx@tempa + {\expandonce\blx@tempb}% + {\blxmcites + {\the\c@multicitetotal}% + {\expandonce\abx@field@@@multiprenote}% + {\expandonce\abx@field@@@multipostnote}% + \expandonce\blx@tempe + \blxendmcites}% + {#1}% + \iftoggle{blx@tempa}{\relax\space}{}}% + \blx@tempa} + +\def\blx@multiparse{% + \futurelet\@let@token\blx@multiparse@i} + +\def\blx@multiparse@i{% + \ifx\@let@token\relax + \blx@multiparse@ii{\blx@multicite@end{}}% + \fi + \ifx\@let@token[%] + \blx@multiparse@ii{\blx@citeargs\blx@multicite@add}% + \fi + \ifx\@let@token\bgroup + \blx@multiparse@ii{\blx@citeargs\blx@multicite@add}% + \fi + \ifx\@let@token\@sptoken + \blx@multiparse@ii\blx@multiparse@iii + \fi + \iftrue + \iftoggle{blx@tempa} + {\blx@multiparse@ii{\blx@multicite@end{}}} + {\blx@multiparse@ii{\blx@thecheckpunct\blx@multicite@end}}% + \fi + &} + +\def\blx@multiparse@ii#1#2&{\fi#1} +\csdef{blx@multiparse@iii} {\toggletrue{blx@tempa}\blx@multiparse} + +% {<name>}[l|i|r]{<cite>}{<multicite>} +\newrobustcmd*{\DeclareAutoCiteCommand}[1]{% + \ifcsundef{blx@acite@#1} + {} + {\blx@info{Redefining autocite command '#1'}}% + \@ifnextchar[%] + {\blx@defautocmd@i{#1}} + {\blx@defautocmd@i{#1}[r]}} + +\def\blx@defautocmd@i#1[#2]#3#4{% + \begingroup + \escapechar\m@ne + \edef\blx@tempa{\endgroup + \noexpand\blx@defautocmd@ii{#1}{#2}% + {\string#3}{\string#4}}% + \blx@tempa} + +\def\blx@defautocmd@ii#1#2#3#4{% + \protected\csedef{blx@acite@#1}{% + \blx@citecmdinit + \noexpand\@ifstar + {\blx@citepunct{\expandafter\noexpand + \csname blx@acitei@#1\endcsname*}} + {\blx@citepunct{\expandafter\noexpand + \csname blx@acitei@#1\endcsname{}}}}% + \protected\csedef{blx@acitei@#1}##1##2##3##4##5{% + \begingroup + \blx@citeinit + \if l#2\noexpand\unspace##5\fi + \if f#2\noexpand\iftoggle{blx@footnote}{}{\unspace##5}\fi + \blxcitecmd{#3##1}{##2}{##3}{##4}{}% + \if r#2##5\fi + \if f#2\noexpand\iftoggle{blx@footnote}{##5}{}\fi + \endgroup}% + \protected\csedef{blx@macite@#1}{% + \blx@citecmdinit + \noexpand\@ifstar + {\expandafter\noexpand + \csname blx@macitei@#1\endcsname*% + \expandafter\noexpand + \csname blx@maciteii@#1\endcsname} + {\expandafter\noexpand + \csname blx@macitei@#1\endcsname{}% + \expandafter\noexpand + \csname blx@maciteii@#1\endcsname}}% + \csedef{blx@macitei@#1}{\csname blx@mcite@#4\endcsname}% + \protected\csedef{blx@maciteii@#1}##1##2##3{% + \if l#2\noexpand\unspace##3\fi + \if f#2\noexpand\iftoggle{blx@footnote}{}{\unspace##3}\fi + ##1{##2}% + \if r#2##3\fi + \if f#2\noexpand\iftoggle{blx@footnote}{##3}{}\fi + \endgroup}} + +% {<characters>} +\newrobustcmd*{\DeclareAutoPunctuation}[1]{% + \ifblank{#1} + {\let\blx@thecheckpunct\blx@nocheckpunct} + {\let\blx@thecheckpunct\blx@checkpunct + \def\blx@autopunct{#1}}} + +% {<command>}{<pos marker>} +% pos markers are: +% l: move punctuation before the command (i.e. left of it) +% r: leave punctuation after the command (i.e. to the right) +% f: like l in normal text, like r in footnotes +% c: pass on to the cite command, +% the punctuation will eventually end up as field 'postpunct' +% d: discard the punctuation +% o (or any other value): restores the old standard behaviour +% r for wrapped citation commands, +% c for unwrapped ones +\newrobustcmd*{\DeclareCitePunctuationPosition}[2]{% + \begingroup + \escapechar\m@ne + \edef\blx@tempa{\endgroup + \noexpand\blx@defcitepunctpos@i{\string#1}{#2}}% + \blx@tempa} + +\def\blx@citepunctid@pos@l{l} +\def\blx@citepunctid@pos@r{r} +\def\blx@citepunctid@pos@f{f} +\def\blx@citepunctid@pos@c{c} +\def\blx@citepunctid@pos@d{d} + +\def\blx@defcitepunctpos@i#1#2{% + \ifcsundef{blx@citepunctid@pos@#2} + {\csundef{blx@citepunct@#1}} + {\csletcs{blx@citepunct@#1}{blx@citepunctid@pos@#2}}% + \blx@defcitecmd@iv{#1}} + +\AfterEndPreamble{% babel + \begingroup + \makeatletter + \endlinechar\m@ne + \scantokens\expandafter{% + \expandafter\gdef + \expandafter\blx@autopunct + \expandafter{\blx@autopunct}}% + \endgroup} + +\listadd\blx@citecmds{citefield} +% [<prenote>][<postnote>]{<entrykey>,...}[<format>][msform][mslang]{<field>}<punct> +\newrobustcmd*{\citefield}{\blx@citexpunct{citefield}} +\long\csdef{blx@cite@citefield}#1#2#3#4#5#6#7#8{% + \begingroup + \blx@citecmdinit + \blx@citeinit + \ifblank{#1} + {} + {\def\abx@field@@@prenote{#1}}% + \ifblank{#2} + {\let\blx@thenotecheck\relax} + {\def\abx@field@@@postnote{#2}}% + \def\blx@precode{\usebibmacro{prenote}}% + \def\blx@loopcode{% + \iffieldundef[{#5}][{#6}]{#7} + {\blx@warning@entry{'#7' undefined or not a field}% + \abx@missing{#7}} + {\printfield[{#4}][{#5}][{#6}]{#7}}}% + \def\blx@dlimcode{\multicitedelim}% + \def\blx@postpunct@saved{#8}% + \ifblank{#2} + {\let\blx@postcode\@empty} + {\def\blx@postcode{\usebibmacro{postnote}}}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \blx@citeloop{#3}% + \endgroup} + +\listadd\blx@citecmds{citelist} +% [<prenote>][<postnote>]{<entrykey>,...}[<format>][<msform>][<mslang>]{<list>}<punct> +\newrobustcmd*{\citelist}{\blx@citexpunct{citelist}} +\long\csdef{blx@cite@citelist}#1#2#3#4#5#6#7#8{% + \begingroup + \blx@citecmdinit + \blx@citeinit + \ifblank{#1} + {} + {\def\abx@field@@@prenote{#1}}% + \ifblank{#2} + {\let\blx@thenotecheck\relax} + {\def\abx@field@@@postnote{#2}}% + \def\blx@precode{\usebibmacro{prenote}}% + \def\blx@loopcode{% + \iflistundef[{#5}][{#6}]{#7} + {\blx@warning@entry{'#7' undefined or not a literal list}% + \abx@missing{#7}} + {\printlist[{#4}][][{#5}][{#6}]{#7}}}% + \def\blx@dlimcode{\multicitedelim}% + \def\blx@postpunct@saved{#8}% + \ifblank{#2} + {\let\blx@postcode\@empty} + {\def\blx@postcode{\usebibmacro{postnote}}}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \blx@citeloop{#3}% + \endgroup} + +\listadd\blx@citecmds{citename} +% [<prenote>][<postnote>]{<entrykey>,...}[<format>][<msform>][<mslang>]{<namelist>}<punct> +\newrobustcmd*{\citename}{\blx@citexpunct{citename}} +\long\csdef{blx@cite@citename}#1#2#3#4#5#6#7#8{% + \begingroup + \blx@citecmdinit + \blx@citeinit + \ifblank{#1} + {} + {\def\abx@field@@@prenote{#1}}% + \ifblank{#2} + {\let\blx@thenotecheck\relax} + {\def\abx@field@@@postnote{#2}}% + \def\blx@precode{\usebibmacro{prenote}}% + \def\blx@loopcode{% + \ifnameundef[{#5}][{#6}]{#7} + {\blx@warning@entry{'#7' undefined or not a name list}% + \abx@missing{#7}} + {\printnames[{#4}][][{#5}][{#6}]{#7}}}% + \def\blx@dlimcode{\multicitedelim}% + \def\blx@postpunct@saved{#8}% + \ifblank{#2} + {\let\blx@postcode\@empty} + {\def\blx@postcode{\usebibmacro{postnote}}}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \blx@citeloop{#3}% + \endgroup} + +\renewrobustcmd*{\cite}{\blx@err@citecmd\cite} +\let\blx@cite@cite\relax +\newrobustcmd*{\parencite}{\blx@warn@citecmd\parencite\cite} +\let\blx@cite@parencite\relax +\newrobustcmd*{\footcite}{\blx@warn@citecmd\footcite\cite} +\let\blx@cite@footcite\relax +\newrobustcmd*{\footcitetext}{\blx@warn@citecmd\footcitetext\cite} +\let\blx@cite@footcitetext\relax +\newrobustcmd*{\smartcite}{\blx@warn@citecmd\smartcite\cite} +\let\blx@cite@smartcite\relax +\newrobustcmd*{\textcite}{\blx@warn@citecmd\textcite\cite} +\let\blx@cite@textcite\relax +\newrobustcmd*{\supercite}{\blx@warn@citecmd\supercite\cite} +\let\blx@cite@supercite\relax + +%% ifthen interface + +\def\blx@TE#1#2{% + \TE@throw + \unexpanded{% + \iftrue\@nameuse{fi}% + #1{\@nameuse{iftrue}}{\@nameuse{iffalse}}}#2} + +\def\blx@xTE#1#2{% + \TE@throw + \unexpanded{\iftrue\@nameuse{fi}}% + #1\unexpanded{{\@nameuse{iftrue}}{\@nameuse{iffalse}}}#2} + +\let\blx@TE@hook\@empty + +\appto\blx@blxinit{% + \appto\blx@TE@hook{% + \def\ifhyperref{\blx@TE\blx@imc@ifhyperref}% + \def\ifmorenames{\blx@TE\blx@imc@ifmorenames}% + \def\ifmoreitems{\blx@TE\blx@imc@ifmoreitems}% + \def\iffirstcitekey{\blx@TE\blx@imc@iffirstcitekey}% + \def\iflastcitekey{\blx@TE\blx@imc@iflastcitekey}% + \def\ifciteseen{\blx@TE\blx@imc@ifciteseen}% + \def\ifentryseen{\blx@TE\blx@imc@ifentryseen}% + \def\ifentryinbib{\blx@TE\blx@imc@ifentryinbib}% + \def\ifciteibid{\blx@TE\blx@imc@ifciteibid}% + \def\ifciteidem{\blx@TE\blx@imc@ifciteidem}% + \def\ifopcit{\blx@TE\blx@imc@ifopcit}% + \def\ifloccit{\blx@TE\blx@imc@ifloccit}% + \def\ifsamepage{\blx@TE\blx@imc@ifsamepage}% + \def\iffirstonpage{\blx@TE\blx@imc@iffirstonpage}% + \def\ifcurrentfield#1{\blx@TE{\blx@imc@ifcurrentfield{#1}}}% + \def\ifcurrentlist#1{\blx@TE{\blx@imc@ifcurrentlist{#1}}}% + \def\ifcurrentname#1{\blx@TE{\blx@imc@ifcurrentname{#1}}}% + \def\ifentrytype#1{\blx@TE{\blx@imc@ifentrytype{#1}}}% + \DeclareExpandableDocumentCommand{\iffieldxref}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldxref[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\iffieldequalcs}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@iffieldequalcs[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\iffieldequals}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@iffieldequals[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\iffieldequalstr}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@iffieldequalstr[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\iffieldsequal}{O{\blx@msform} O{\blx@lmslang} m O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldsequal[{#1}][{#2}]{#3}[{#4}][{#5}]{#6}}}% + \def\ifbibmacroundef#1{\blx@TE{\blx@imc@ifbibmacroundef{#1}}}% + \DeclareExpandableDocumentCommand{\ifentryfieldundef}{m}{\blx@TE{\blx@imc@ifentryfieldundef{#1}}}% + \DeclareExpandableDocumentCommand{\iffieldundef}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldundef[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\iflistxref}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iflistxref[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\iflistequalcs}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@iflistequalcs[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\iflistequals}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@iflistequals[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\iflistssequal}{O{\blx@msform} O{\blx@lmslang} m O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iflistsequal[{#1}][{#2}]{#3}[{#4}][{#5}]{#6}}}% + \DeclareExpandableDocumentCommand{\iflistundef}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iflistundef[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\ifnameequalcs}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@ifnameequalcs[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\ifnameequals}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@ifnameequals[{#1}][{#2}]{#3}{#4}}}% + \DeclareExpandableDocumentCommand{\ifnamesequal}{O{\blx@msform} O{\blx@lmslang} m O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@ifnamesequal[{#1}][{#2}]{#3}[{#4}][{#5}]{#6}}}% + \DeclareExpandableDocumentCommand{\ifnameundef}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@ifnameundef[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\ifnamexref}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@ifnamexref[{#1}][{#2}]{#3}}}% + \def\ifcategory#1{\blx@TE{\blx@imc@ifcategory{#1}}}% + \def\ifkeyword#1{\blx@TE{\blx@imc@ifkeyword{#1}}}% + \def\ifentrycategory#1#2{\blx@TE{\blx@imc@ifentrycategory{#1}{#2}}}% + \def\ifentrykeyword#1#2{\blx@TE{\blx@imc@ifentrykeyword{#1}{#2}}}% + \def\ifcapital{\blx@TE\blx@imc@ifcapital}% + \def\ifinteger#1{\blx@TE{\blx@imc@ifinteger{#1}}}% + \DeclareExpandableDocumentCommand{\iffieldint}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldint[{#1}][{#2}]{#3}}}% + \def\ifnumeral#1{\blx@TE{\blx@imc@ifnumeral{#1}}}% + \def\ifnumerals#1{\blx@TE{\blx@imc@ifnumerals{#1}}}% + \def\ifpages#1{\blx@TE{\blx@imc@ifpages{#1}}}% + \DeclareExpandableDocumentCommand{\iffieldnum}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldnum[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\iffieldnums}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldnums[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\iffieldpages}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldpages[{#1}][{#2}]{#3}}}% + \def\ifbibstring#1{\blx@TE{\blx@imc@ifbibstring{#1}}}% + \DeclareExpandableDocumentCommand{\iffieldbibstring}{O{\blx@msform} O{\blx@lmslang} m}{\blx@TE{\blx@imc@iffieldbibstring[{#1}][{#2}]{#3}}}% + \DeclareExpandableDocumentCommand{\iffieldplusstringbibstring}{O{\blx@msform} O{\blx@lmslang} m m}{\blx@TE{\blx@imc@iffieldplusstringbibstring[{#1}][{#2}]{#3}{#4}}}% + \def\ifnatbibmode{\blx@TE{\iftoggle{blx@natbib}}}% + \def\ifcitation{\blx@TE{\iftoggle{blx@citation}}}% + \def\ifvolcite{\blx@TE{\iftoggle{blx@volcite}}}% + \def\ifbibliography{\blx@TE{\iftoggle{blx@bibliography}}}% + \def\ifciteindex{\blx@TE{\iftoggle{blx@citeindex}}}% + \def\ifbibindex{\blx@TE{\iftoggle{blx@bibindex}}}% + \def\iffootnote{\blx@TE{\iftoggle{blx@footnote}}}% + \def\ifuseprefix{\blx@TE{\iftoggle{blx@useprefix}}}% + \def\ifterseinits{\blx@TE{\iftoggle{blx@terseinits}}}% + \def\ifsingletitle{\blx@TE{\iftoggle{abx@bool@singletitle}}}% + \def\ifnocite{\blx@TE{\iftoggle{abx@bool@nocite}}}% + \def\ifuniquetitle{\blx@TE{\iftoggle{abx@bool@uniquetitle}}}% + \def\ifuniquebaretitle{\blx@TE{\iftoggle{abx@bool@uniquebaretitle}}}% + \def\ifuniquework{\blx@TE{\iftoggle{abx@bool@uniquework}}}% + \def\ifuniqueprimaryauthor{\blx@TE{\iftoggle{abx@bool@uniqueprimaryauthor}}}% + \def\ifandothers#1{\blx@TE{\iftoggle{abx@bool@more#1}}}% + \def\iflabeldateisdate{\blx@TE\blx@imc@iflabeldateisdate}% + \def\ifdatehasyearonlyprecision#1{% + \blx@TE{\blx@imc@ifdatehasyearonlyprecision{#1}}}% + \def\ifdatehastime#1{\blx@TE{\blx@imc@ifdatehastime{#1}}}% + \def\ifdateshavedifferentprecision#1#2{% + \blx@TE{\blx@imc@ifdateshavedifferentprecision{#1}{#2}}}% + \def\ifdateyearsequal#1#2{% + \blx@TE{\blx@imc@ifdateyearsequal{#1}{#2}}}}} + +% {<listmacro>}{<filtercsname>} => matches in <listmacro> +\protected\def\blx@bibfilter#1#2{% + \begingroup + \edef\blx@do##1{% + \def\noexpand\blx@flt@item{##1}% + \ifboolexpr{\csexpandonce{#2}}% + {\listadd\noexpand\blx@tempa{##1}}% + {}}% + \let\blx@done\relax + \edef\blx@tempa{% + \let\noexpand\blx@tempa\noexpand\@empty + \blx@listloop{#1}}% + \blx@tempa + \edef\blx@tempa{\endgroup + \def\noexpand#1{\blx@tempa}}% + \blx@tempa} + +%% Auxiliary macros +\newrobustcmd*{\mkbibquote}{\blx@enquote} +\protected\def\blx@imc@mkbibquote{% + \blx@ifuspunct\blx@usquote\blx@enquote} + +\def\blx@usquote{% + \ifnum\@quotelevel>\z@ + \expandafter\blx@usiquote + \else + \expandafter\blx@usoquote + \fi} + +\long\def\blx@usoquote#1{% + \begingroup + \blx@initoquote + \blx@textooquote#1% + \futurelet\@let@token\blx@usoquote@i} + +\def\blx@usoquote@i{% + \blx@usqcheck + {\ifx\blx@postpunct\@empty\else\blx@dopostpunct\fi + \blx@textcoquote\endgroup} + {\blx@setpostpunct\blx@textcoquote\endgroup}} + +\long\def\blx@usiquote#1{% + \begingroup + \blx@initiquote + \blx@textoiquote#1% + \futurelet\@let@token\blx@usiquote@i} + +\def\blx@usiquote@i{% + \blx@usqcheck + {\blx@textciquote\endgroup} + {\blx@setpostpunct\blx@textciquote\endgroup}} + +\long\def\blx@usqcheck#1#2{% + \def\blx@tempa{#1}% + \def\blx@tempb{#2}% + \ifx\@let@token\space + \blx@usqcheck@i\blx@tempa + \fi + \ifx\@let@token\@sptoken + \blx@usqcheck@i\blx@tempa + \fi + \if\noexpand\@let@token\relax + \expandafter\blx@usqcheck@iv + \fi + \expandafter\blx@usqcheck@ii\blx@quotepunct\relax&} + +\long\def\blx@usqcheck@i#1#2&{\fi#1} + +\long\def\blx@usqcheck@ii#1{% + \if\noexpand#1\relax + \blx@usqcheck@i\blx@tempa + \fi + \if\noexpand#1\noexpand\@let@token + \blx@usqcheck@i{\blx@usqcheck@iii\blx@tempa}% + \fi + \blx@usqcheck@ii +} + +\long\def\blx@usqcheck@iii#1#2{#2#1} + +\long\def\blx@usqcheck@iv#1{% + \begingroup + \escapechar=-1 % + \edef\blx@tempa{\expandafter\@gobble\string#2}% + \expandafter\endgroup + \ifx\blx@tempa\@empty + \else + \blx@usqcheck@i\blx@tempb + \fi + #1% +} + +\newrobustcmd*{\mkbibemph}{\emph} +\protected\long\def\blx@imc@mkbibemph#1{% + \emph{#1}\blx@imc@setpunctfont\emph} + +\newrobustcmd*{\mkbibbold}{\textbf} +\protected\long\def\blx@imc@mkbibbold#1{% + \textbf{#1}\blx@imc@setpunctfont\textbf} + +\newrobustcmd*{\mkbibitalic}{\textit} +\protected\long\def\blx@imc@mkbibitalic#1{% + \textit{#1}\blx@imc@setpunctfont\textit} + +\blx@regimcs{\mkbibquote \mkbibemph \mkbibbold \mkbibitalic} + +\newcommand*{\bibleftparen}{\blx@postpunct(} +\newcommand*{\bibrightparen}{\blx@postpunct)\midsentence} +\newcommand*{\bibleftbracket}{\blx@postpunct[} +\newcommand*{\bibrightbracket}{\blx@postpunct]\midsentence} + +\def\blx@parenlevel{% + \iftoggle{blx@footnote} + {\blx@parenlevel@foot} + {\blx@parenlevel@text}} + +\newrobustcmd*{\blx@bibopenparen}{% + \blx@opencheck\bibopenparen + \blx@postpunct + \ifnum\blx@parenlevel=\z@ + \global\blx@parenlevel\@ne + \global\c@parenlevel\@ne + \expandafter\bibleftparen + \else + \expandafter\blx@openparen + \fi} + +\newrobustcmd*{\blx@bibopenbracket}{% + \blx@opencheck\bibopenbracket + \blx@postpunct + \ifnum\blx@parenlevel=\z@ + \global\blx@parenlevel1002 + \global\c@parenlevel\@ne + \expandafter\bibleftbracket + \else + \expandafter\blx@openparen + \fi} + +\newrobustcmd*{\blx@bibcloseparen}{% + \blx@closecheck\bibcloseparen + \blx@postpunct\blx@closeparen} + +\newrobustcmd*{\blx@bibclosebracket}{% + \blx@closecheck\bibclosebracket + \blx@postpunct\blx@closeparen} + +\def\blx@openparen{% + \ifodd\blx@parenlevel + \global\advance\blx@parenlevel\@ne + \global\advance\c@parenlevel\@ne + \expandafter\bibleftbracket + \else + \global\advance\blx@parenlevel\@ne + \global\advance\c@parenlevel\@ne + \expandafter\bibleftparen + \fi} + +\def\blx@closeparen{% + \ifodd\blx@parenlevel + \blx@closeparen@i + \expandafter\bibrightparen + \else + \blx@closeparen@i + \expandafter\bibrightbracket + \fi} + +\def\blx@closeparen@i{% + \ifnum\blx@parenlevel=1002 + \global\blx@parenlevel\z@ + \global\c@parenlevel\z@ + \else + \global\advance\blx@parenlevel\m@ne + \global\advance\c@parenlevel\m@ne + \fi} + +\def\blx@opencheck#1{% + \ifnum\numexpr\blx@parenlevel+\@ne + \ifnum\blx@parenlevel>\@m -1001\fi + >\c@maxparens + \blx@err@nestparen{\string#1}% + \blx@errormark + \fi} + +\def\blx@closecheck#1{% + \ifnum\numexpr\blx@parenlevel + \ifnum\blx@parenlevel>\@m -1001\fi + >\c@maxparens + \blx@err@nestparen{\string#1}% + \blx@errormark + \fi + \ifnum\blx@parenlevel<\@ne + \blx@err@matchparen{Unmatched \string#1}% + \blx@errormark + \fi} + +\protected\def\blx@errormark{% + \rule[0.25ex]{1.25ex}{1.25ex}} + +\blx@AtEndDocument{% + \unless\ifnum\blx@parenlevel@text=\z@ + \blx@err@matchparen{% + Unbalanced parentheses or brackets in the document body}% + \fi + \unless\ifnum\blx@parenlevel@foot=\z@ + \blx@err@matchparen{% + Unbalanced parentheses or brackets in a foot or endnote}% + \fi} + +\newrobustcmd{\mkbibparens}[1]{% + \begingroup + \blx@blxinit + \blx@setsfcodes + \bibopenparen#1\bibcloseparen + \endgroup} + +\newrobustcmd{\mkbibbrackets}[1]{% + \begingroup + \blx@blxinit + \blx@setsfcodes + \bibopenbracket#1\bibclosebracket + \endgroup} + +\newrobustcmd*{\parentext}{\mkbibparens} +\newrobustcmd*{\brackettext}{\mkbibbrackets} + +\newrobustcmd{\mkbibsuperscript}[1]{% + \unspace\allowhyphens\textsuperscript{% + \begingroup + \protected\long\def\mkbibsuperscript##1{% + \blx@warning{Nested superscript}% + \mkbibbrackets{##1}}% + #1\endgroup}} + +\newrobustcmd{\mkbibfootnote}{\blx@mkbibfootnote{}} +\newrobustcmd{\mkbibfootnotetext}{\blx@mkbibfootnote{text}} +\newrobustcmd{\blx@mkbibfootnote}[2]{% + \iftoggle{blx@footnote} + {\blx@warning{Nested notes}% + \addspace\mkbibparens{#2}} + {\unspace + \ifnum\blx@notetype=\tw@ + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\csuse{blx@theendnote#1}{\protecting{\blxmkbibnote{end}{#2}}}} + {\csuse{footnote#1}{\protecting{\blxmkbibnote{foot}{#2}}}}}} + +\newrobustcmd{\mkbibendnote}{\blx@mkbibendnote{}} +\newrobustcmd{\mkbibendnotetext}{\blx@mkbibendnote{text}} +\newrobustcmd{\blx@mkbibendnote}[2]{% + \iftoggle{blx@footnote} + {\blx@warning{Nested notes}% + \addspace\mkbibparens{#2}} + {\unspace + \ifnum\blx@notetype=\@ne + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {\csuse{footnote#1}{\protecting{\blxmkbibnote{foot}{#2}}}} + {\csuse{blx@theendnote#1}{\protecting{\blxmkbibnote{end}{#2}}}}}} + +\newrobustcmd{\blxmkbibnote}[2]{% + \begingroup + \blx@blxinit + \blx@setsfcodes + \blx@postpunct@agroup + \toggletrue{blx@footnote}% + \csuse{bib#1notewrapper}{#2}% + \endgroup} + +\newcommand{\bibfootnotewrapper}[1]{% + \bibsentence#1\addperiod} + +\newcommand{\bibendnotewrapper}[1]{% + \bibsentence#1\addperiod} + +\AtEndPreamble{% + \def\blx@theendnote{\blx@err@endnote\footnote}% + \def\blx@theendnotetext{\blx@err@endnote\footnotetext}% + \ifdef\endnote + {\def\blx@theendnote{\endnote}% + \ifdef\endnotetext + {\def\blx@theendnotetext{\endnotetext}} + {}} + {\ifdef\pagenote + {\def\blx@theendnote{\pagenote}% + \ifdef\pagenotetext + {\def\blx@theendnotetext{\pagenotetext}} + {}} + {}}} + +\newrobustcmd*{\mknumalph}[1]{% + \begingroup + \blx@tempcnta=#1\relax + \ifnum\blx@tempcnta>702 % + \else + \ifnum\blx@tempcnta>26 % + \advance\blx@tempcnta\m@ne + \divide\blx@tempcnta26\relax + \blx@numalph\blx@tempcnta + \multiply\blx@tempcnta26\relax + \blx@tempcnta=\numexpr#1-\blx@tempcnta\relax + \fi + \fi + \blx@numalph\blx@tempcnta + \endgroup} +\def\blx@numalph#1{% + \ifcase#1\relax\blx@warning@entry{Value out of range}\number#1\or + a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m\or + n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\else + \blx@warning@entry{Value out of range}\number#1\fi} + +% {<macro>}[<pre>]{<vol>}[<post>] => <macro>{<pre>}{{<vol>}{<post>}} + +\newrobustcmd*{\volcitecmd}{% + \AtNextCite{% + \toggletrue{blx@volcite}% + \csuse{blx@hook@volcite}}% + \begingroup\let\blx@citeargs\blx@volciteargs} + +\protected\def\blx@volciteargs#1{% + \endgroup + \@ifnextchar[%] + {\blx@volciteargs@i{#1}} + {\blx@volciteargs@i{#1}[]}} + +\long\def\blx@volciteargs@i#1[#2]#3{% + \@ifnextchar[%] + {\blx@volciteargs@ii{#1}{#2}{#3}} + {\blx@citeargs@iii{#1{#2}{{#3}{}}}}} + +\long\def\blx@volciteargs@ii#1#2#3[#4]{% + \blx@citeargs@iii{#1{#2}{{#3}{#4}}}} + +\newrobustcmd*{\multivolcitecmd}{% + \AtNextCite{% + \toggletrue{blx@volcite}% + \csuse{blx@hook@volcite}}% + \def\blx@hook@mcite@before{% + \global\undef\blx@hook@mcite@before + \let\blx@citeargs\blx@volmciteargs}} + +\protected\def\blx@volmciteargs#1{% + \@ifnextchar[%] + {\blx@volciteargs@i{#1}} + {\blx@volciteargs@i{#1}[]}} + +\long\def\blx@defvolcitepostnote#1#2{% + \def\abx@field@@@volcitevolume{#1}% + \ifblank{#2} + {} + {\def\abx@field@@@volcitepages{#2}}} + +\newrobustcmd*{\AtVolcite}{% + \@ifstar + {\global\undef\blx@hook@volcite + \gappto\blx@hook@volcite} + {\gappto\blx@hook@volcite}} +\@onlypreamble\AtVolcite +\def\blx@imc@UseVolciteHook{\csuse{blx@hook@volcite}} +\blx@regimcs{\UseVolciteHook} + +\AtVolcite{% + \DeclareFieldAlias{postnote}{volcitenote}} + +%% Control file + +\begingroup +\let~\space +\@makeother\< +\@makeother\> +\@makeother\. +\@makeother\: +\@makeother\? +\@makeother\" +\@makeother\- +\@makeother\= +\@makeother\/ +\xdef\blx@xml@file{% + \blx@sig@bcf\blx@nl + \blx@ver@bcf\blx@nl} +\xdef\blx@xml@endfile{% + </bcf:controlfile>} +\xdef\blx@xml@comment#1{% + ~~<!-- #1 -->\blx@nl} +\xdef\blx@xml@options#1#2#3{% + ~~<bcf:options% + \noexpand\ifblank{#1}{}{ component="#1"}% + \noexpand\ifblank{#2}{}{ type="#2"}% + >\blx@nl + #3% + ~~</bcf:options>\blx@nl} +\xdef\blx@xml@option#1#2{% + ~~~~<bcf:option type="#1">\blx@nl + #2% + ~~~~</bcf:option>\blx@nl} +\xdef\blx@xml@ordered#1#2#3{% + ~~~~~~<bcf:value order="#1"#2% + >#3</bcf:value>\blx@nl} + +\xdef\blx@xml@datafieldset#1#2{% + ~~<bcf:datafieldset name="#1">\blx@nl + #2% + ~~</bcf:datafieldset>\blx@nl} + +\xdef\blx@xml@datafieldsets@member#1{% + ~~~~<bcf:member#1/>\blx@nl} + +\xdef\blx@xml@transliteration#1#2{% + ~~<bcf:transliteration entrytype="#1">\blx@nl + #2% + ~~</bcf:transliteration>\blx@nl} +\xdef\blx@xml@translit#1#2#3#4{% + ~~~~<bcf:translit #1target="#2" from="#3" to="#4"/>\blx@nl} + +\xdef\blx@xml@sourcemap#1{% + ~~<bcf:sourcemap>\blx@nl + #1% + ~~</bcf:sourcemap>\blx@nl} +\xdef\blx@xml@sourcemap@maps#1#2{% + ~~~~<bcf:maps#1>\blx@nl + #2% + ~~~~</bcf:maps>\blx@nl} +\xdef\blx@xml@sourcemap@map#1#2{% + ~~~~~~<bcf:map#1>\blx@nl + #2% + ~~~~~~</bcf:map>\blx@nl} +\xdef\blx@xml@sourcemap@perdatasource#1{% + ~~~~~~~~<bcf:per\string_datasource>#1</bcf:per\string_datasource>\blx@nl} +\xdef\blx@xml@sourcemap@pertype#1{% + ~~~~~~~~<bcf:per\string_type>#1</bcf:per\string_type>\blx@nl} +\xdef\blx@xml@sourcemap@pernottype#1{% + ~~~~~~~~<bcf:per\string_nottype>#1</bcf:per\string_nottype>\blx@nl} +\xdef\blx@xml@sourcemap@step#1{% + ~~~~~~~~<bcf:map\string_step#1/>\blx@nl} + +\xdef\blx@xml@labelalphanametemplate#1#2{% + ~~<bcf:labelalphanametemplate name="#1">\blx@nl + #2% + ~~</bcf:labelalphanametemplate>\blx@nl} +\xdef\blx@xml@labelalphanametemplatenamepart#1#2#3{% + ~~~~<bcf:namepart #1#2>#3</bcf:namepart>\blx@nl} + +\xdef\blx@xml@labelalphatemplate#1#2{% + ~~<bcf:labelalphatemplate type="#1">\blx@nl + #2% + ~~</bcf:labelalphatemplate>\blx@nl} +\xdef\blx@xml@labelalpha@element#1#2{% + ~~~~<bcf:labelelement order="#1">\blx@nl + #2% + ~~~~</bcf:labelelement>\blx@nl} +\xdef\blx@xml@labelalpha@part#1#2{% + ~~~~~~<bcf:labelpart#1>#2</bcf:labelpart>\blx@nl} + +\xdef\blx@xml@extradate#1{% + ~~<bcf:extradatespec>\blx@nl + #1% + ~~</bcf:extradatespec>\blx@nl} +\xdef\blx@xml@extradatescope#1{% + ~~~~<bcf:scope>\blx@nl + #1% + ~~~~</bcf:scope>\blx@nl} +\xdef\blx@xml@edordered#1#2{% + ~~~~~~<bcf:field order="#1">#2</bcf:field>\blx@nl} + +\xdef\blx@xml@inheritance#1{% + ~~<bcf:inheritance>\blx@nl + #1% + ~~</bcf:inheritance>\blx@nl} +\xdef\blx@xml@inherit@defaults#1#2{% + ~~~~<bcf:defaults#1>\blx@nl + #2% + ~~~~</bcf:defaults>\blx@nl} +\xdef\blx@xml@inherit@data#1#2{% + ~~~~<bcf:inherit#1>\blx@nl + #2% + ~~~~</bcf:inherit>\blx@nl} +\xdef\blx@xml@inherit@type#1#2#3{% + ~~~~~~<bcf:type\string_pair source="#1" target="#2"#3/>\blx@nl} +\xdef\blx@xml@inherit@field#1#2#3{% + ~~~~~~<bcf:field source="#1" target="#2"#3/>\blx@nl} +\xdef\blx@xml@inherit@block#1{% + ~~~~~~<bcf:field source="#1" skip="true"/>\blx@nl} + +\xdef\blx@xml@nosorts#1{% + ~~<bcf:nosorts>\blx@nl + #1% + ~~</bcf:nosorts>\blx@nl} +\xdef\blx@xml@nosort#1#2{% + ~~~~<bcf:nosort field="#1" value="#2"/>\blx@nl} + +\xdef\blx@xml@nonamestrings#1{% + ~~<bcf:nonamestrings>\blx@nl + #1% + ~~</bcf:nonamestrings>\blx@nl} +\xdef\blx@xml@nonamestring#1#2{% + ~~~~<bcf:nonamestring field="#1" value="#2"/>\blx@nl} + +\xdef\blx@xml@noinits#1{% + ~~<bcf:noinits>\blx@nl + #1% + ~~</bcf:noinits>\blx@nl} +\xdef\blx@xml@noinit#1{% + ~~~~<bcf:noinit value="#1"/>\blx@nl} + +\xdef\blx@xml@nolabels#1{% + ~~<bcf:nolabels>\blx@nl + #1% + ~~</bcf:nolabels>\blx@nl} +\xdef\blx@xml@nolabel#1{% + ~~~~<bcf:nolabel value="#1"/>\blx@nl} + +\xdef\blx@xml@nolabelwidthcounts#1{% + ~~<bcf:nolabelwidthcounts>\blx@nl + #1% + ~~</bcf:nolabelwidthcounts>\blx@nl} +\xdef\blx@xml@nolabelwidthcount#1{% + ~~~~<bcf:nolabelwidthcount value="#1"/>\blx@nl} + +\xdef\blx@xml@uniquenametemplate#1#2{% + ~~<bcf:uniquenametemplate name="#1">\blx@nl% + #2% + ~~</bcf:uniquenametemplate>\blx@nl} + +\xdef\blx@xml@uniquenametemplatenamepart#1#2#3{% + ~~~~<bcf:namepart #1#2>#3</bcf:namepart>\blx@nl} + +\xdef\blx@xml@sortingnamekeytemplate#1#2#3{% + ~~<bcf:sortingnamekeytemplate name="#1" visibility="#2">\blx@nl% + #3% + ~~</bcf:sortingnamekeytemplate>\blx@nl} + +\xdef\blx@xml@sortingnamekeykeypart#1#2{% + ~~~~<bcf:keypart#1>\blx@nl + #2% + ~~~~</bcf:keypart>\blx@nl} + +\xdef\blx@xml@sortingnamekeynamepart#1#2#3{% + ~~~~~~<bcf:part type="namepart"#1#2>#3</bcf:part>\blx@nl} + +\xdef\blx@xml@sortingnamekeyliteral#1#2{% + ~~~~~~<bcf:part type="literal"#1>#2</bcf:part>\blx@nl} + +\xdef\blx@xml@sortingtemplate#1#2#3{% + ~~<bcf:sortingtemplate name="#1"#2>\blx@nl% + #3% + ~~</bcf:sortingtemplate>\blx@nl} +\xdef\blx@xml@presort#1#2{% + ~~<bcf:presort\noexpand\ifblank{#1}{}{ type="#1"}>% + #2</bcf:presort>\blx@nl} + +\xdef\blx@xml@sortexclude#1#2{% + ~~<bcf:sortexclusion\noexpand\ifblank{#1}{}{ type="#1"}>\blx@nl + #2% + ~~</bcf:sortexclusion>\blx@nl} +\xdef\blx@xml@exclude#1{% + ~~~~<bcf:exclusion>#1</bcf:exclusion>\blx@nl} +\xdef\blx@xml@sortinclude#1#2{% + ~~<bcf:sortinclusion\noexpand\ifblank{#1}{}{ type="#1"}>\blx@nl + #2% + ~~</bcf:sortinclusion>\blx@nl} +\xdef\blx@xml@include#1{% + ~~~~<bcf:inclusion>#1</bcf:inclusion>\blx@nl} +\xdef\blx@xml@sort#1#2{% + ~~~~<bcf:sort #1>\blx@nl + #2% + ~~~~</bcf:sort>\blx@nl} +\xdef\blx@xml@sortitem#1#2{% + ~~~~~~<bcf:sortitem #1>#2</bcf:sortitem>\blx@nl} +\xdef\blx@xml@section#1{% + ~~<bcf:section number="#1">} +\xdef\blx@xml@endsection{% + ~~</bcf:section>} + +\xdef\blx@xml@dlist@refcontext#1#2#3#4#5{% + ~~~~~~~~~~~~~~~~sortingtemplatename="#1"\blx@nl + ~~~~~~~~~~~~~~~~sortingnamekeytemplatename="#2"\blx@nl + ~~~~~~~~~~~~~~~~labelprefix="#3"\blx@nl + ~~~~~~~~~~~~~~~~uniquenametemplatename="#4"\blx@nl + ~~~~~~~~~~~~~~~~labelalphanametemplatename="#5"} +\xdef\blx@xml@dlist#1#2#3#4#5{% + ~~<bcf:datalist section="#3"\blx@nl + ~~~~~~~~~~~~~~~~name="#1"\blx@nl + ~~~~~~~~~~~~~~~~type="#2"\blx@nl + #4>\blx@nl + #5% + ~~</bcf:datalist>\blx@nl} +\xdef\blx@xml@dlistfilterorbegin{% + ~~~~<bcf:filteror>\blx@nl} +\xdef\blx@xml@dlistfilterorend{% + ~~~~</bcf:filteror>\blx@nl} +\xdef\blx@xml@dlistfilter#1#2{% + ~~~~<bcf:filter type="#1">#2</bcf:filter>\blx@nl} + +\xdef\blx@xml@bibdata#1#2{% + ~~<bcf:bibdata section="#1">\blx@nl + #2% + ~~</bcf:bibdata>\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#4{% + ~~~~<bcf:citekey order="#3" intorder="#4"#2>#1</bcf:citekey>} +\xdef\blx@xml@citeset#1#2{% + ~~~~<bcf:citekey type="set" members="#2">#1</bcf:citekey>} +\xdef\blx@xml@citekeycount#1#2{% + ~~~~<bcf:citekeycount count="#2">#1</bcf:citekeycount>} +\xdef\blx@xml@svalue#1#2{% + \blx@xml@option{singlevalued}{% + ~~~~~~<bcf:key>#1</bcf:key>\blx@nl + ~~~~~~<bcf:value>#2</bcf:value>\blx@nl}} +\xdef\blx@xml@mvalue#1#2{% + \blx@xml@option{multivalued}{% + ~~~~~~<bcf:key>#1</bcf:key>\blx@nl + #2}} +\xdef\blx@xml@toggle#1{% + \blx@xml@svalue{#1}{\noexpand\iftoggle{blx@#1}{1}{0}}} +\xdef\blx@xml@options@scope#1#2{% + ~~<bcf:optionscope type="#1">\blx@nl + #2% + ~~</bcf:optionscope>\blx@nl} +\xdef\blx@xml@option@scope#1#2{% GLOBAL/TYPE scope + ~~~~<bcf:option datatype="#1">#2</bcf:option>\blx@nl} +\xdef\blx@xml@option@entryscope#1#2{% ENTRY scope + ~~~~<bcf:option datatype="#1"\noexpand\ifcsdef{blx@bcf@backendout@entry@#2}{ backendout="1"}{}\noexpand\ifcsdef{blx@bcf@backendin@entry@#2}{ backendin="\noexpand\csuse{blx@bcf@backendin@entry@#2}"}{}>#2</bcf:option>\blx@nl} +\xdef\blx@xml@option@namelistscope#1#2{% NAMELIST scope + ~~~~<bcf:option datatype="#1"\noexpand\ifcsdef{blx@bcf@backendout@namelist@#2}{ backendout="1"}{}\noexpand\ifcsdef{blx@bcf@backendin@namelist@#2}{ backendin="\noexpand\csuse{blx@bcf@backendin@namelist@#2}"}{}>#2</bcf:option>\blx@nl} +\xdef\blx@xml@option@namescope#1#2{% NAME scope + ~~~~<bcf:option datatype="#1"\noexpand\ifcsdef{blx@bcf@backendout@name@#2}{ backendout="1"}{}\noexpand\ifcsdef{blx@bcf@backendin@name@#2}{ backendin="\noexpand\csuse{blx@bcf@backendin@name@#2}"}{}>#2</bcf:option>\blx@nl} +\endgroup + +\def\blx@bcf@options@global{% + \blx@xml@comment{GLOBAL}% + \blx@xml@options{biblatex}{global}{% + \blx@xml@svalue{alphaothers}{\labelalphaothers}% + \blx@xml@mvalue{extradatecontext}{\blx@bcf@extradatecontext}% + \blx@xml@toggle{labelalpha}% + \blx@xml@mvalue{labelnamespec}{\blx@bcf@labelnamespec}% + \blx@xml@toggle{labeltitle}% + \blx@xml@mvalue{labeltitlespec}{\blx@bcf@labeltitlespec}% + \blx@xml@toggle{labeltitleyear}% + \blx@xml@toggle{labeldateparts}% + \blx@xml@mvalue{labeldatespec}{\blx@bcf@labeldatespec}% + \blx@xml@toggle{julian}% + \blx@xml@svalue{gregorianstart}{\blx@gregorianstart}% + \blx@xml@svalue{maxalphanames}{\blx@maxalphanames}% + \blx@xml@svalue{maxbibnames}{\blx@maxbibnames}% + \blx@xml@svalue{maxcitenames}{\blx@maxcitenames}% + \blx@xml@svalue{maxsortnames}{\blx@maxsortnames}% + \blx@xml@svalue{maxitems}{\blx@maxitems}% + \blx@xml@svalue{minalphanames}{\blx@minalphanames}% + \blx@xml@svalue{minbibnames}{\blx@minbibnames}% + \blx@xml@svalue{mincitenames}{\blx@mincitenames}% + \blx@xml@svalue{minsortnames}{\blx@minsortnames}% + \blx@xml@svalue{minitems}{\blx@minitems}% + \blx@xml@toggle{nohashothers}% + \blx@xml@toggle{noroman}% + \blx@xml@toggle{nosortothers}% + \blx@xml@toggle{pluralothers}% + \blx@xml@toggle{singletitle}% + \blx@xml@toggle{skipbib}% + \blx@xml@toggle{skipbiblist}% + \blx@xml@toggle{skiplab}% + \blx@xml@svalue{sortalphaothers}{\sortalphaothers}% + \blx@xml@svalue{sortlocale}{\blx@sortlocale}% + \blx@xml@svalue{sortingtemplatename}{\blx@sorting}% + \blx@xml@toggle{sortsets}% + \blx@xml@svalue{uniquelist}{\blx@uniquelist}% + \blx@xml@svalue{uniquename}{\blx@uniquename}% + \blx@xml@toggle{uniqueprimaryauthor}% + \blx@xml@toggle{uniquetitle}% + \blx@xml@toggle{uniquebaretitle}% + \blx@xml@toggle{uniquework}% + \blx@xml@toggle{useprefix}% + \blx@xml@nametoggles + }% +} + +\def\blx@bcf@options@type#1{% + \blx@xml@comment{#1}% + \blx@xml@options{biblatex}{#1}{% + \blx@xml@mvalue{extradatecontext}{% + \ifcsdef{blx@bcf@extradatecontext@#1} + {\csuse{blx@bcf@extradatecontext@#1}} + {\blx@bcf@extradatecontext}}% + \blx@xml@toggle{labelalpha}% + \blx@xml@mvalue{labelnamespec}{% + \ifcsdef{blx@bcf@labelnamespec@#1} + {\csuse{blx@bcf@labelnamespec@#1}} + {\blx@bcf@labelnamespec}}% + \blx@xml@toggle{labeltitle}% + \blx@xml@mvalue{labeltitlespec}{% + \ifcsdef{blx@bcf@labeltitlespec@#1} + {\csuse{blx@bcf@labeltitlespec@#1}} + {\blx@bcf@labeltitlespec}}% + \blx@xml@toggle{labeltitleyear}% + \blx@xml@toggle{labeldateparts}% + \blx@xml@mvalue{labeldatespec}{% + \ifcsdef{blx@bcf@labeldatespec@#1} + {\csuse{blx@bcf@labeldatespec@#1}} + {\blx@bcf@labeldatespec}}% + \blx@xml@svalue{maxalphanames}{\blx@maxalphanames}% + \blx@xml@svalue{maxbibnames}{\blx@maxbibnames}% + \blx@xml@svalue{maxcitenames}{\blx@maxcitenames}% + \blx@xml@svalue{maxsortnames}{\blx@maxsortnames}% + \blx@xml@svalue{maxitems}{\blx@maxitems}% + \blx@xml@svalue{minalphanames}{\blx@minalphanames}% + \blx@xml@svalue{minbibnames}{\blx@minbibnames}% + \blx@xml@svalue{mincitenames}{\blx@mincitenames}% + \blx@xml@svalue{minsortnames}{\blx@minsortnames}% + \blx@xml@svalue{minitems}{\blx@minitems}% + \blx@xml@toggle{nohashothers}% + \blx@xml@toggle{noroman}% + \blx@xml@toggle{nosortothers}% + \blx@xml@toggle{singletitle}% + \blx@xml@toggle{skipbib}% + \blx@xml@toggle{skipbiblist}% + \blx@xml@toggle{skiplab}% + \blx@xml@svalue{uniquelist}{\blx@uniquelist}% + \blx@xml@svalue{uniquename}{\blx@uniquename}% + \blx@xml@toggle{uniqueprimaryauthor}% + \blx@xml@toggle{uniquetitle}% + \blx@xml@toggle{uniquebaretitle}% + \blx@xml@toggle{uniquework}% + \blx@xml@toggle{useprefix}% + \blx@xml@nametoggles + }% +} + +\def\blx@ctrlwrite{% + \begingroup + \blx@safe@actives + \let\protect\string + % options + \protected@edef\labelalphaothers{\labelalphaothers}% + \protected@edef\sortalphaothers{\sortalphaothers}% + \blx@xmlsanitizeafter{\def\labelalphaothers}{\labelalphaothers}% + \blx@xmlsanitizeafter{\def\sortalphaothers}{\sortalphaothers}% + % Expand the global use* name toggles + \let\blx@xml@nametoggles\@empty + \def\do##1{\eappto\blx@xml@nametoggles{\blx@xml@toggle{use##1}}}% + \abx@donames + \edef\blx@tempa{% + \blx@xml@file + \blx@xml@comment{BIBER OPTIONS}% + \blx@xml@options{biber}{global}{% + \blx@xml@svalue{output_encoding}{\blx@texencoding}% + \blx@xml@svalue{input_encoding}{\blx@bibencoding}% + \blx@xml@toggle{debug}% + \blx@xml@svalue{mincrossrefs}{\blx@mincrossrefs}% + \blx@xml@svalue{minxrefs}{\blx@minxrefs}% + \blx@xml@svalue{mslang}{\blx@gmslang}% + \blx@xml@toggle{sortcase}% + \blx@xml@toggle{sortupper}% + }% + \blx@xml@comment{BIBLATEX OPTIONS}% + \blx@bcf@options@global + }% + \ifdef\blx@opts@type + {\def\do##1{% + \begingroup + \let\protect\relax + \blx@setoptions@type{##1}% + % Expand the type use* name toggles + \let\blx@xml@nametoggles\@empty + \def\do####1{\eappto\blx@xml@nametoggles{\blx@xml@toggle{use####1}}}% + \abx@donames + \blx@checkoptions@type + \xappto\blx@tempa{\blx@bcf@options@type{##1}}% + \endgroup}% + \dolistloop\blx@opts@type} + {}% + % options scope + % GLOBAL + \def\do##1{% + \begingroup + \def\do####1{\xappto\blx@bcf@options@scope@global{\blx@xml@option@scope{##1}{####1}}}% + \dolistcsloop{blx@globalopts@##1}% + \endgroup}% + \dolistloop\blx@globalopts@datatypes + % ENTRYTYPE + \def\do##1{% + \begingroup + \def\do####1{\xappto\blx@bcf@options@scope@type{\blx@xml@option@scope{##1}{####1}}}% + \dolistcsloop{blx@typeopts@##1}% + \endgroup}% + \dolistloop\blx@typeopts@datatypes + % ENTRY + \def\do##1{% + \begingroup + \def\do####1{\xappto\blx@bcf@options@scope@entry{\blx@xml@option@entryscope{##1}{####1}}}% + \dolistcsloop{blx@entryopts@##1}% + \endgroup}% + \dolistloop\blx@entryopts@datatypes + % NAMELIST + \def\do##1{% + \begingroup + \def\do####1{\xappto\blx@bcf@options@scope@namelist{\blx@xml@option@namelistscope{##1}{####1}}}% + \dolistcsloop{blx@namelistopts@##1}% + \endgroup}% + \dolistloop\blx@entryopts@datatypes + % NAME + \def\do##1{% + \begingroup + \def\do####1{\xappto\blx@bcf@options@scope@name{\blx@xml@option@namescope{##1}{####1}}}% + \dolistcsloop{blx@nameopts@##1}% + \endgroup}% + \dolistloop\blx@entryopts@datatypes + + \eappto\blx@tempa{% + \blx@xml@comment{BIBLATEX OPTION SCOPE}% + \blx@xml@options@scope{GLOBAL}{\blx@bcf@options@scope@global}% + \blx@xml@options@scope{ENTRYTYPE}{\blx@bcf@options@scope@type}% + \blx@xml@options@scope{ENTRY}{\blx@bcf@options@scope@entry}% + \blx@xml@options@scope{NAMELIST}{\blx@bcf@options@scope@namelist}% + \blx@xml@options@scope{NAME}{\blx@bcf@options@scope@name}} + % datafieldsets + \def\do##1{% + \xappto\blx@bcf@datafieldsets{\blx@xml@datafieldset{##1}{\csuse{blx@datafieldsetmembers@##1}}}} + \dolistloop\blx@datafieldsets + + \eappto\blx@tempa{% + \blx@xml@comment{DATAFIELDSETS}% + \blx@bcf@datafieldsets}% + % sourcemap + \ifbool{sourcemap} + {\eappto\blx@tempa{% + \blx@xml@comment{SOURCEMAP}% + \blx@xml@sourcemap{% + \ifdef\blx@sourcemap@user + {\blx@sourcemap@user} + {}% + \ifdef\blx@sourcemap@style + {\blx@sourcemap@style} + {}% + \ifdef\blx@sourcemap@defaults@bibtex + {\blx@sourcemap@defaults@bibtex} + {}% + \ifdef\blx@sourcemap@defaults@biblatexml + {\blx@sourcemap@defaults@biblatexml} + {}}}} + {}% + % labelalpha name template + \eappto\blx@tempa{\blx@xml@comment{LABELALPHA NAME TEMPLATE}}% + \def\do##1{% + \eappto\blx@tempa{% + \blx@xml@labelalphanametemplate{##1}{\csuse{blx@labelalphanametemplate@##1}}}}% + \dolistloop\blx@lantemplatespecs + % labelalpha template + \eappto\blx@tempa{% + \blx@xml@comment{LABELALPHA TEMPLATE}}% + \def\do##1{% + \eappto\blx@tempa{% + \blx@xml@labelalphatemplate{##1}{% + \csuse{blx@labelalphatemplate@##1}}}}% + \dolistloop\blx@latem@type + % extradate specification + \eappto\blx@tempa{% + \blx@xml@comment{EXTRADATE}% + \blx@xml@extradate{\csuse{blx@bcf@extradatespec}}}% + % data inheritance + \eappto\blx@tempa{% + \blx@xml@comment{INHERITANCE}% + \blx@xml@inheritance{% + \csuse{blx@inherit@default}% + \csuse{blx@inherit@data}}}% + % noinit + \ifcsdef{blx@noinit} + {\eappto\blx@tempa{% + \blx@xml@comment{NOINIT}% + \blx@xml@noinits{% + \csuse{blx@noinit}}}}% + {}% + % nolabel + \ifcsdef{blx@nolabel} + {\eappto\blx@tempa{% + \blx@xml@comment{NOLABEL}% + \blx@xml@nolabels{% + \csuse{blx@nolabel}}}}% + {}% + % nolabel + \ifcsdef{blx@nolabelwidthcount} + {\eappto\blx@tempa{% + \blx@xml@comment{NOLABELWIDTHCOUNT}% + \blx@xml@nolabelwidthcounts{% + \csuse{blx@nolabelwidthcount}}}}% + {}% + % nosort + \ifcsdef{blx@nosort} + {\eappto\blx@tempa{% + \blx@xml@comment{NOSORT}% + \blx@xml@nosorts{% + \csuse{blx@nosort}}}}% + {}% + % nonamestrings + \ifcsdef{blx@nonamestring} + {\eappto\blx@tempa{% + \blx@xml@comment{NONAMESTRING}% + \blx@xml@nonamestrings{% + \csuse{blx@nonamestring}}}}% + {}% + % transliteration + \ifdefempty\blx@translits + {} + {\eappto\blx@tempa{\blx@xml@comment{TRANSLITERATION}}% + \def\do##1{% + \eappto\blx@tempa{\blx@xml@transliteration{##1}{\csuse{blx@translit@##1}}}}% + \dolistloop\blx@translits}% + % uniquenametemplate + \eappto\blx@tempa{\blx@xml@comment{UNIQUENAME TEMPLATES}}% + \def\do##1{% + \eappto\blx@tempa{% + \blx@xml@uniquenametemplate{##1}{\csuse{blx@uniquenametemplate@##1}}}}% + \dolistloop\blx@untemplatespecs + % sortingnamekeytemplate + \eappto\blx@tempa{\blx@xml@comment{SORTING NAME KEY TEMPLATES}}% + \def\do##1{% + \eappto\blx@tempa{% + \blx@xml@sortingnamekeytemplate{##1}{\csuse{blx@sortingnamekeytemplatesvisibility@##1}}{\csuse{blx@sortingnamekeytemplate@##1}}}}% + \dolistloop\blx@sortingnamekeytemplates + % presort/sorting excludes/sorting includes + \def\do##1{% + \eappto\blx@bcf@presort{\csuse{blx@bcf@presort@##1}}% + \eappto\blx@bcf@exclude{\csuse{blx@bcf@exclude@##1}}% + \eappto\blx@bcf@include{\csuse{blx@bcf@include@##1}}}% + \abx@doentrytypes + \do{*}% entrytype wildcard + \eappto\blx@tempa{% + \blx@bcf@presort + \blx@bcf@exclude + \blx@bcf@include}% + % datamodel + \eappto\blx@tempa{% + \blx@xml@comment{DATA MODEL}% + \blx@xml@datamodel{% + \blx@xml@datamodel@constants{% + \blx@bcf@datamodel@constants + }% + \blx@xml@datamodel@entrytypes{% + \blx@bcf@datamodel@entrytypes + }% + \blx@xml@datamodel@fields{% + \blx@bcf@datamodel@fields + }% + \blx@bcf@datamodel@entryfields + \blx@bcf@datamodel@multiscript@entryfields + \blx@bcf@datamodel@constraints + }% + }% + % files + \let\blx@tempb\@empty + \blx@bibdata\blx@tempb\blx@bibfiles + \eappto\blx@tempa{% + \blx@xml@comment{CITATION DATA}% + \blx@xml@comment{SECTION 0}% + \blx@xml@bibdata{0}{\blx@tempb}% + \blx@xml@section{0}% + }% + \immediate\openout\blx@bcfout\jobname.bcf\relax + \blx@auxwrite\blx@bcfout{}{\blx@tempa}% + \global\undef\blx@tempa + \endgroup + \AfterEndDocument{% + \def\do##1{% + \csxappto{blx@sortingtemplates}{% + \blx@xml@sortingtemplate{##1} + {\ifcsdef{blx@sortdef@locale@##1}{ locale="\csuse{blx@sortdef@locale@##1}"}{}} + {\csuse{blx@sortingtemplate@##1}}}}% + \dolistloop\blx@sortingtemplatenames + \blx@auxwrite\blx@bcfout{}{% + \blx@xml@endsection\blx@nl + \blx@xml@comment{SORTING TEMPLATES}% + \csuse{blx@sortingtemplates}% + \blx@xml@comment{DATALISTS}% + \csuse{blx@dlists}% + \blx@xml@endfile}% + \immediate\closeout\blx@bcfout}} + +%% Customisation + +% nolabel +\newrobustcmd*{\DeclareNolabel}[1]{% + \begingroup + \let\nolabel\blx@nolabel@setup + \let\blx@tempa\@empty + #1% + \global\let\blx@nolabel\blx@tempa + \endgroup} +\@onlypreamble\DeclareNolabel + +\newcommand*{\blx@nolabel@setup}[1]{% + \eappto\blx@tempa{% + \blx@xml@nolabel{#1}}} + +% nolabelwidthcount +\newrobustcmd*{\DeclareNolabelwidthcount}[1]{% + \begingroup + \let\nolabel\blx@nolabelwidthcount@setup + \let\blx@tempa\@empty + #1% + \global\let\blx@nolabelwidthcount\blx@tempa + \endgroup} +\@onlypreamble\DeclareNolabelwidthcount + +\newcommand*{\blx@nolabelwidthcount@setup}[1]{% + \eappto\blx@tempa{% + \blx@xml@nolabelwidthcount{#1}}} + +% nosort +\newrobustcmd*{\DeclareNosort}[1]{% + \begingroup + \let\nosort\blx@nosort@setup + \let\blx@tempa\@empty + #1% + \global\let\blx@nosort\blx@tempa + \endgroup} +\@onlypreamble\DeclareNosort + +\newcommand*{\blx@nosort@setup}[2]{% + \eappto\blx@tempa{% + \blx@xml@nosort{#1}{#2}}} + +% nonamestring +\newrobustcmd*{\DeclareNonamestring}[1]{% + \begingroup + \let\nonamestring\blx@nonamestring@setup + \let\blx@tempa\@empty + #1% + \global\let\blx@nonamestring\blx@tempa + \endgroup} +\@onlypreamble\DeclareNonamestring + +\newcommand*{\blx@nonamestring@setup}[2]{% + \eappto\blx@tempa{% + \blx@xml@nonamestring{#1}{#2}}} + +% noinit +\newrobustcmd*{\DeclareNoinit}[1]{% + \begingroup + \let\noinit\blx@noinit@setup + \let\blx@tempa\@empty + #1% + \global\let\blx@noinit\blx@tempa + \endgroup} +\@onlypreamble\DeclareNoinit + +\newcommand*{\blx@noinit@setup}[1]{% + \eappto\blx@tempa{% + \blx@xml@noinit{#1}}} + +% datafieldsets +\newrobustcmd*{\DeclareDatafieldSet}[2]{% + \begingroup + \let\member\blx@datafieldset@member + \let\blx@tempa\@empty + \def\blx@setname{#1} + \cslet{blx@datafieldset@#1}\@empty + #2% + \csxdef{blx@datafieldsetmembers@#1}{\blx@tempa}% + \listgadd\blx@datafieldsets{#1}% + \global\csletcs{datafieldset#1}{blx@datafieldset@#1}% expose user-facing macro + \endgroup} +\@onlypreamble\DeclareDatafieldSet + +\newcommand*{\blx@datafieldset@member}[1][2]{% + \let\blx@dm@fieldtype\@empty + \let\blx@dm@datatype\@empty + \let\blx@member@field\@empty + \let\blx@tempb\@empty + \blx@kv@setkeys{blx@datafieldsets@member}{#1}% + \eappto\blx@tempa{% + \blx@xml@datafieldsets@member{\blx@tempb}}% + \ifdefempty\blx@member@field + {} + {\listcsxadd{blx@datafieldset@\blx@setname}{\blx@member@field}}% + % Set some internal macros in case biblatex needs to use the set + \ifboolexpr{% + not test {\ifdefempty{\blx@dm@fieldtype}} + and + not test {\ifdefempty{\blx@dm@datatype}}} + {\def\do##1{% + \listcsxadd{blx@datafieldset@\blx@setname}{##1}} + \dolistcsloop{blx@datamodelfields@types@\blx@dm@fieldtype @\blx@dm@datatype}} + {\ifdefempty{\blx@dm@fieldtype} + {} + {\def\do##1{% + \listcsxadd{blx@datafieldset@\blx@setname}{##1}} + \dolistcsloop{blx@datamodelfields@fieldtypes@\blx@dm@fieldtype}}% + \ifdefempty{\blx@dm@datatype} + {} + {\def\do##1{% + \listcsxadd{blx@datafieldset@\blx@setname}{##1}} + \dolistcsloop{blx@datamodelfields@datatypes@\blx@dm@datatype}}}} + +\blx@kv@defkey{blx@datafieldsets@member}{datatype}{% characters + \appto\blx@tempb{ datatype="#1"}% + \def\blx@dm@datatype{#1}} +\blx@kv@defkey{blx@datafieldsets@member}{fieldtype}{% characters + \appto\blx@tempb{ fieldtype="#1"}% + \def\blx@dm@fieldtype{#1}} +\blx@kv@defkey{blx@datafieldsets@member}{field}{% characters + \appto\blx@tempb{ field="#1"}% + \def\blx@member@field{#1}} + +% sourcemap +\newrobustcmd*{\DeclareSourcemap}[1]{% + \booltrue{sourcemap}% + \begingroup + \let\maps\blx@usersourcemap@maps + \let\blx@tempa\@empty + #1% + \xappto\blx@sourcemap@user\blx@tempa% + \endgroup} +\@onlypreamble\DeclareSourcemap + +\newrobustcmd*{\DeclareStyleSourcemap}[1]{% + \booltrue{sourcemap}% + \begingroup + \let\maps\blx@stylesourcemap@maps + \let\blx@tempa\@empty + #1% + \xappto\blx@sourcemap@style\blx@tempa% + \endgroup} + +\@onlypreamble\DeclareStyleSourcemap + +\newrobustcmd*{\DeclareDriverSourcemap}[2][]{% + \booltrue{sourcemap}% + \begingroup + \let\blx@tempa\@empty + \let\blx@tempb\@empty + \let\blx@tempc\@empty + \let\blx@tempd\@empty + \let\map\blx@sourcemap@map + #2% + \ifblank{#1} + {\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}% + \endgroup} +\@onlypreamble\DeclareDriverSourcemap + +\newcommand*{\blx@usersourcemap@maps}[2][]{% + \let\blx@tempb\@empty + \let\blx@tempc\@empty + \let\map\blx@sourcemap@map + \ifblank{#1} + {\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}}} + +\newcommand*{\blx@stylesourcemap@maps}[2][]{% + \let\blx@tempb\@empty + \let\blx@tempc\@empty + \let\map\blx@sourcemap@map + \ifblank{#1} + {\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}}} + +\blx@kv@defkey{blx@sourcemap@maps}{datatype}{% characters + \eappto\blx@tempb{ datatype="#1"}% + \eappto\blx@tempd{#1}} +\blx@kv@defkey{blx@sourcemap@maps}{overwrite}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempb{ map\string_overwrite="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@maps}{level}{% user|style|driver + \appto\blx@tempb{ level="#1"}} + +\newcommand*{\blx@sourcemap@map}[2][]{% + \let\blx@tempm\@empty + \let\blx@tempe\@empty + \let\perdatasource\blx@sourcemap@perdatasource + \let\pertype\blx@sourcemap@pertype + \let\pernottype\blx@sourcemap@pernottype + \let\step\blx@sourcemap@step + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@sourcemap@map}{#1}}% + #2% + \eappto\blx@tempc{% + \blx@xml@sourcemap@map{\blx@tempm}{\blx@tempe}}} + +\blx@kv@defkey{blx@sourcemap@map}{overwrite}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempm{ map\string_overwrite="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@map}{foreach}{% characters + \eappto\blx@tempm{ map\string_foreach="#1"}} +\blx@kv@defkey{blx@sourcemap@map}{refsection}{% integer + \eappto\blx@tempm{ refsection="#1"}} + +\newcommand*{\blx@sourcemap@perdatasource}[1]{% + \eappto\blx@tempe{% + \blx@xml@sourcemap@perdatasource{#1}}} + +\newcommand*{\blx@sourcemap@pertype}[1]{% + \eappto\blx@tempe{% + \blx@xml@sourcemap@pertype{#1}}} + +\newcommand*{\blx@sourcemap@pernottype}[1]{% + \eappto\blx@tempe{% + \blx@xml@sourcemap@pernottype{#1}}} + +\newcommand*{\blx@sourcemap@step}[1][2]{% + \let\blx@tempf\@empty + \blx@kv@setkeys{blx@sourcemap@step}{#1}% + \eappto\blx@tempe{% + \blx@xml@sourcemap@step{\blx@tempf}}} + +\blx@kv@defkey{blx@sourcemap@step}{typesource}{% characters + \eappto\blx@tempf{ map\string_type\string_source="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{typetarget}{% characters + \eappto\blx@tempf{ map\string_type\string_target="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{final}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_final="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{cited}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entrykey\string_cited="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{nocited}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entrykey\string_nocited="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{citedornocited}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entrykey\string_citedornocited="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{allnocited}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entrykey\string_allnocited="1"}} + {}} +\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"}} +\blx@kv@defkey{blx@sourcemap@step}{fieldsourcemsform}{% characters + \eappto\blx@tempf{ map\string_field\string_source\string_form="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{fieldsourcemslang}{% characters + \eappto\blx@tempf{ map\string_field\string_source\string_lang="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{notfield}{% characters + \eappto\blx@tempf{ map\string_notfield="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{fieldtarget}{% characters + \eappto\blx@tempf{ map\string_field\string_target="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{fieldtargetmsform}{% characters + \eappto\blx@tempf{ map\string_field\string_target\string_form="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{fieldtargetmslang}{% characters + \eappto\blx@tempf{ map\string_field\string_target\string_lang="#1"}} +\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) +\blx@kv@defkey{blx@sourcemap@step}{fieldvalue}{% characters + \blx@xmlsanitizeafter{\def\blx@temps}{#1}% + \eappto\blx@tempf{ map\string_field\string_value="\blx@temps"}} +\blx@kv@defkey{blx@sourcemap@step}{append}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_append="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{appendstrict}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_appendstrict="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{null}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_null="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{entrynull}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entry\string_null="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{entrynocite}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entry\string_nocite="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{entrynew}{% characters + \appto\blx@tempf{ map\string_entry\string_new="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{entrynewtype}{% characters + \appto\blx@tempf{ map\string_entry\string_newtype="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{entrytarget}{% characters + \appto\blx@tempf{ map\string_entrytarget="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{entryclone}{% characters + \appto\blx@tempf{ map\string_entry\string_clone="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{origfield}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_origfield="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{origfieldval}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_origfieldval="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{origentrytype}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_origentrytype="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{match}{% characters + \appto\blx@tempf{ map\string_match="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{matchi}{% characters + \appto\blx@tempf{ map\string_matchi="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{matches}{% characters + \appto\blx@tempf{ map\string_matches="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{matchesi}{% characters + \appto\blx@tempf{ map\string_matchesi="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{notmatch}{% characters + \appto\blx@tempf{ map\string_notmatch="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{notmatchi}{% characters + \appto\blx@tempf{ map\string_notmatchi="#1"}} +\blx@kv@defkey{blx@sourcemap@step}{replace}{% characters + \eappto\blx@tempf{ map\string_replace="#1"}} + +% [<specname>]{<spec>} +\newrobustcmd*{\DeclareLabelalphaNameTemplate}[2][]{% + \begingroup + \ifblank{#1} + {\def\blx@lantname{global}}% default + {\def\blx@lantname{#1}}% + \let\namepart\blx@lantem@namepart + \let\blx@tempa\@empty + \blx@tempcnta\z@ + #2% + \global\cslet{blx@labelalphanametemplate@\blx@lantname}\blx@tempa + \xifinlist\blx@lantname\blx@lantemplatespecs + {} + {\listxadd\blx@lantemplatespecs\blx@lantname}% + \endgroup} +\@onlypreamble\DeclareLabelalphaNameTemplate +\blx@DeclareBackendOption{global}[xml]{labelalphanametemplate} +\DeclareBiblatexOption{entry,namelist,name}[string]{labelalphanametemplatename}{% + \def\blx@refcontext@labelalphanametemplatename{#1}} + +\newcommand*{\blx@lantem@namepart}[2][]{% + \advance\blx@tempcntb\@ne + \edef\blx@tempe{order="\the\blx@tempcntb"}% + \let\blx@tempc\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@lantem@namepart}{#1}}% + \eappto\blx@tempa{% + \blx@xml@labelalphanametemplatenamepart{\blx@tempe}{\blx@tempc}{#2}}} + +\blx@kv@defkey{blx@lantem@namepart}{use}[true]{% use* option for namepart true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ use="1"}} + {}} + +\blx@kv@defkey{blx@lantem@namepart}{pre}[true]{% pre option for namepart true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ pre="1"}} + {}} + +\blx@kv@defkey{blx@lantem@namepart}{compound}[true]{% base option for namepart true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ substring\string_compound="1"}} + {}} + +\blx@kv@defkey{blx@lantem@namepart}{strwidth}{% integer + \eappto\blx@tempc{ substring\string_width="#1"}} + +\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"}}} + +% [<entrytype>]{<spec>} +\newrobustcmd*{\DeclareLabelalphaTemplate}[2][]{% + \ifblank{#1} + {\blx@latem{#2}{global}} + {\forcsvlist{\blx@latem{#2}}{#1}}} +\@onlypreamble\DeclareLabelalphaTemplate +\blx@DeclareBackendOption{global,type}[xml]{labelalphatemplate} + +\def\blx@latem#1#2{% + \begingroup + \let\labelelement\blx@latem@element + \let\field\blx@latem@field + \let\literal\blx@latem@literal + \blx@tempcnta\z@ + \let\blx@tempa\@empty + #1% + \ifdef\blx@latem@type + {\ifinlist{#2}\blx@latem@type + {\global\cslet{blx@labelalphatemplate@#2}\blx@tempa} + {\listgadd\blx@latem@type{#2}% + \global\cslet{blx@labelalphatemplate@#2}\blx@tempa}} + {\listgadd\blx@latem@type{#2}% + \global\cslet{blx@labelalphatemplate@#2}\blx@tempa}% + \endgroup} + +\newcommand*{\blx@latem@element}[1]{% + \advance\blx@tempcnta\@ne + \let\blx@tempb\@empty + #1% + \eappto\blx@tempa{% + \blx@xml@labelalpha@element{\the\blx@tempcnta}{\blx@tempb}}} + +\newcommand*{\blx@latem@literal}[1]{% + \blx@xmlsanitizeafter{\def\blx@temps}{#1}% + \eappto\blx@tempb{% + \blx@xml@labelalpha@part{}{\expandafter\regexp\expandafter{\blx@temps}}}} + +\newcommand*{\blx@latem@field}[2][]{% + \let\blx@tempc\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@latem@field}{#1}}% + \eappto\blx@tempb{% + \blx@xml@labelalpha@part{\blx@tempc}{#2}}} + +\blx@kv@defkey{blx@latem@field}{form}{% string + \appto\blx@tempc{ form="#1"}} +\blx@kv@defkey{blx@latem@field}{lang}{% string + \appto\blx@tempc{ lang="#1"}} +\blx@kv@defkey{blx@latem@field}{uppercase}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ uppercase="1"}} + {}} +\blx@kv@defkey{blx@latem@field}{lowercase}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ lowercase="1"}} + {}} +\blx@kv@defkey{blx@latem@field}{final}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ final="1"}} + {}} +\blx@kv@defkey{blx@latem@field}{strwidth}{% integer + \eappto\blx@tempc{ substring\string_width="#1"}} +\blx@kv@defkey{blx@latem@field}{varwidth}[true]{% "v" + \ifstrequal{#1}{true} + {\appto\blx@tempc{ substring\string_width="v"}} + {}} +\blx@kv@defkey{blx@latem@field}{varwidthnorm}[true]{% "vf" + \ifstrequal{#1}{true} + {\appto\blx@tempc{ substring\string_width="vf"}} + {}} +\blx@kv@defkey{blx@latem@field}{varwidthlist}[true]{% "l" + \ifstrequal{#1}{true} + {\appto\blx@tempc{ substring\string_width="l"}} + {}} +\blx@kv@defkey{blx@latem@field}{strfixedcount}{% + \eappto\blx@tempc{ substring\string_fixed\string_threshold="#1"}} +\blx@kv@defkey{blx@latem@field}{strwidthmax}{% + \eappto\blx@tempc{ substring\string_width\string_max="#1"}} +\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"}}} +\blx@kv@defkey{blx@latem@field}{namessep}{% + \eappto\blx@tempc{ namessep="#1"}} +\blx@kv@defkey{blx@latem@field}{ifnames}{% + \eappto\blx@tempc{ ifnames="#1"}} +\blx@kv@defkey{blx@latem@field}{names}{% + \eappto\blx@tempc{ names="#1"}} +\blx@kv@defkey{blx@latem@field}{noalphaothers}[true]{% + \eappto\blx@tempc{ noalphaothers="1"}} +\blx@kv@defkey{blx@latem@field}{padchar}{% + \blx@xmlsanitizeafter{\def\blx@temps}{#1}% + \eappto\blx@tempc{ pad\string_char="\expandafter\regexp\expandafter{\blx@temps}"}} +\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"}}} + +% [<exceptions>]{<options>} +\newrobustcmd*{\DefaultInheritance}[2][]{% + \begingroup + \let\blx@tempf\@empty + \ifblank{#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}"% + \blx@tempf}% + \let\blx@tempb\@empty + \let\except\blx@inherit@except + #1% + \xdef\blx@inherit@default{% + \blx@xml@inherit@defaults{\blx@tempa}{\blx@tempb}}% + \endgroup} +\@onlypreamble\DefaultInheritance + +\newtoggle{blx@inherit@all} +\newtoggle{blx@inherit@override} + +\blx@kv@defkey{blx@inherit@default}{all}[true]{% true|false + \settoggle{blx@inherit@all}{#1}} +\blx@kv@defkey{blx@inherit@default}{override}[true]{% true|false + \settoggle{blx@inherit@override}{#1}} +\blx@kv@defkey{blx@inherit@default}{ignore}{% csv list + \edef\blx@tempf{ ignore="#1"}} + +% {<source>}{<target>}{<options>} +\newcommand*{\blx@inherit@except}[3]{% + \let\blx@tempc\@empty + \ifblank{#3} + {} + {\blx@kv@setkeys{blx@inherit@except}{#3}}% + \eappto\blx@tempb{% + \blx@xml@inherit@type{#1}{#2}{\blx@tempc}}} + +\blx@kv@defkey{blx@inherit@except}{all}[true]{% true|false + \eappto\blx@tempc{ inherit\string_all="#1"}} +\blx@kv@defkey{blx@inherit@except}{override}[true]{% true|false + \eappto\blx@tempc{ override\string_target="#1"}} +\blx@kv@defkey{blx@inherit@except}{ignore}{% csv list + \eappto\blx@tempc{ ignore="#1"}} + +% {<type,type,...>}{<type,type,...>}{<spec>} +\newrobustcmd*{\DeclareDataInheritance}[4][]{% + \begingroup + \let\blx@tempa\@empty + \let\blx@tempf\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@inherit}{#1}}% + \forcsvlist{\blx@inherit@i{#3}}{#2}% + \let\blx@tempb\@empty + \let\inherit\blx@inherit@field + \let\noinherit\blx@inherit@block + #4% + \xappto\blx@inherit@data{% + \blx@xml@inherit@data{\blx@tempf}{% + \blx@tempa + \blx@tempb}}% + \endgroup} +\@onlypreamble\DeclareDataInheritance + +\def\blx@inherit@i#1#2{% + \forcsvlist{\blx@inherit@ii{#2}}{#1}} + +\def\blx@inherit@ii#1#2{% + \eappto\blx@tempa{\blx@xml@inherit@type{#1}{#2}{}}} + +\blx@DeclareBackendOption{global}[xml]{inheritance} + +% [<options>]{<source>}{<target>} +\newcommand*{\blx@inherit@field}[3][]{% + \let\blx@tempc\@empty + \ifblank{#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}}} + +\blx@kv@defkey{blx@inherit}{ignore}{% csv list + \edef\blx@tempf{ ignore="#1"}} + +\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"}}} + +\newrobustcmd*{\ResetDataInheritance}{% + \global\csundef{blx@inherit@data}} +\@onlypreamble\ResetDataInheritance + +% {<name>}{<spec>} +\newrobustcmd*{\DeclareBiblistFilter}[2]{% + \begingroup + \let\filteror\blx@biblistfilteror + \let\filter\blx@biblistfilter + \let\blx@tempa\@empty + #2% + \global\cslet{blx@biblistfilters@#1}\blx@tempa + \endgroup} +\@onlypreamble\DeclareBiblistFilter + +\newcommand*{\blx@biblistfilteror}[1]{% + \eappto\blx@tempa{\blx@xml@dlistfilterorbegin}% + #1% + \eappto\blx@tempa{\blx@xml@dlistfilterorend}} + +\newcommand*{\blx@biblistfilter}[1][2]{% + \let\blx@tempc\@empty + \let\blx@tempd\@empty + \blx@kv@setkeys{blx@biblistfilter@filter}{#1}% + \eappto\blx@tempa{% + \blx@xml@dlistfilter{\blx@tempc}{\blx@tempd}}} + +\blx@kv@defkey{blx@biblistfilter@filter}{type}{% + \def\blx@tempc{#1}} +\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 + +\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} + {\blx@error + {BiblistFilter '#1' not found} + {The BiblistFilter '#1' could not be found.\MessageBreak + Use '\string\DeclareBiblistFilter' to define it}} + {\def\blx@thebiblistfilter{#1}}} + +% [<entrytype>]{specification} +\newrobustcmd*{\DeclareSortTranslit}[2][]{% + \begingroup + \ifblank{#1} + {\def\blx@tempa{*}} + {\def\blx@tempa{#1}}% + \let\translit\blx@translit@setup + \let\blx@tempb\@empty + #2% + \global\cslet{blx@translit@\blx@tempa}\blx@tempb + \xifinlist\blx@tempa\blx@translits + {} + {\listxadd\blx@translits\blx@tempa}% + \endgroup} +\@onlypreamble\DeclareSortTranslit +\blx@DeclareBackendOption{global,type}[xml]{translit} + +% [<langids>]{<field or set>}{translitsource}{translittarget} +\newcommand*{\blx@translit@setup}[4][]{% + \eappto\blx@tempb{% + \ifblank{#1} + {\blx@xml@translit{}{#2}{#3}{#4}} + {\blx@xml@translit{langids="#1" }{#2}{#3}{#4}}}} + +% [<specname>]{<spec>} +\newrobustcmd*{\DeclareUniquenameTemplate}[2][]{% + \begingroup + \ifblank{#1} + {\def\blx@untname{global}}% default + {\def\blx@untname{#1}}% + \let\namepart\blx@untemp@namepart + \let\blx@tempa\@empty + \blx@tempcnta\z@ + #2% + \global\cslet{blx@uniquenametemplate@\blx@untname}\blx@tempa + \xifinlist\blx@untname\blx@untemplatespecs + {} + {\listxadd\blx@untemplatespecs\blx@untname}% + \endgroup} +\@onlypreamble\DeclareUniquenameTemplate +\blx@DeclareBackendOption{global}[xml]{uniquenametemplate} +\DeclareBiblatexOption{entry,namelist,name}[string]{uniquenametemplatename}{% + \def\blx@refcontext@uniquenametemplatename{#1}} + +\newcommand*{\blx@untemp@namepart}[2][]{% + \advance\blx@tempcntb\@ne + \edef\blx@tempe{order="\the\blx@tempcntb"}% + \let\blx@tempc\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@untemp@namepart}{#1}}% + \eappto\blx@tempa{% + \blx@xml@uniquenametemplatenamepart{\blx@tempe}{\blx@tempc}{#2}}} + +\blx@kv@defkey{blx@untemp@namepart}{use}[true]{% use* option for namepart true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ use="1"}} + {}} + +\blx@kv@defkey{blx@untemp@namepart}{base}[true]{% base option for namepart true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ base="1"}} + {}} + +\blx@kv@defkey{blx@untemp@namepart}{disambiguation}{% disambiguation option for namepart none|inits|full|fullonly + \appto\blx@tempc{ disambiguation="#1"}} + +% [<templatename>]{<template>} +\newrobustcmd*{\DeclareSortingNamekeyTemplate}[2][]{% + \begingroup + \ifblank{#1} + {\def\blx@snkname{global}}% default + {\def\blx@snkname{#1}}% + \let\namepart\blx@sortnk@namepart + \let\keypart\blx@sortnk@keypart + \let\literal\blx@sortnk@literal + \let\visibility\blx@sortnk@visibility + \csgdef{blx@sortingnamekeytemplatesvisibility@\blx@snkname}{sort}% default + \let\blx@tempa\@empty + \blx@tempcnta\z@ + #2% + \global\cslet{blx@sortingnamekeytemplate@\blx@snkname}\blx@tempa + \xifinlist\blx@snkname\blx@sortingnamekeytemplates + {} + {\listxadd\blx@sortingnamekeytemplates\blx@snkname}% + \endgroup} +\@onlypreamble\DeclareSortingNamekeyTemplate +\blx@DeclareBackendOption{global}[xml]{sortingnamekeytemplate} +\DeclareBiblatexOption{entry,namelist,name}[string]{sortingnamekeytemplatename}{% + \def\blx@refcontext@sortingnamekeytemplatename{#1}} + +% User-mode macro for checking sorting name template options +\def\ifuniquenametemplatename#1{% + \expandafter\ifstrequal\expandafter{\blx@refcontext@uniquenametemplatename}{#1}} +\def\iflabelalphanametemplatename#1{% + \expandafter\ifstrequal\expandafter{\blx@refcontext@labelalphanametemplatename}{#1}} +\def\ifsortingnamekeytemplatename#1{% + \expandafter\ifstrequal\expandafter{\blx@refcontext@sortingnamekeytemplatename}{#1}} + +\newcommand*{\blx@sortnk@keypart}[1]{% + \advance\blx@tempcnta\@ne + \blx@tempcntb\z@ + \edef\blx@tempd{ order="\the\blx@tempcnta"}% + \let\blx@tempb\@empty + #1% + \eappto\blx@tempa{% + \blx@xml@sortingnamekeykeypart{\blx@tempd}{\blx@tempb}}} + +\newcommand*{\blx@sortnk@literal}[1]{% + \advance\blx@tempcntb\@ne + \edef\blx@tempe{ order="\the\blx@tempcntb"}% + \let\blx@tempc\@empty + \eappto\blx@tempb{% + \blx@xml@sortingnamekeyliteral{\blx@tempe}{#1}}} + +\newcommand*{\blx@sortnk@visibility}[1]{% + \csgdef{blx@sortingnamekeytemplatesvisibility@\blx@snkname}{#1}} + +\newcommand*{\blx@sortnk@namepart}[2][]{% + \advance\blx@tempcntb\@ne + \edef\blx@tempe{ order="\the\blx@tempcntb"}% + \let\blx@tempc\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@sortnk@namepart}{#1}}% + \eappto\blx@tempb{% + \blx@xml@sortingnamekeynamepart{\blx@tempe}{\blx@tempc}{#2}}} + +\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"}}} + +\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"}}} + +% [options]{<templatename>}{<template>} +\newrobustcmd*{\DeclareSortingTemplate}[3][]{% + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@sortdef@sorting}{#1}% + \csxdef{blx@sortdef@locale@#2}{\blx@templ}}% + \begingroup + \def\name{%LEGACY(<2.0) + \blx@warning@noline{% + '\string\name' is deprecated in sorting specifications, please use '\string\field'}% + \blx@sortdef@field}% + \def\list{%LEGACY(<2.0) + \blx@warning@noline{% + '\string\list' is deprecated in sorting specifications, please use '\string\field'}% + \blx@sortdef@field}% + \let\sort\blx@sortdef@sort + \let\field\blx@sortdef@field + \let\literal\blx@sortdef@literal + \global\csundef{blx@sortingtemplate@citeorder@relevant@#2}% + \def\citeorder{% + \global\cslet{blx@sortingtemplate@citeorder@relevant@#2}\@empty + \blx@sortdef@field{citeorder}}% + \def\intciteorder{% + \blx@sortdef@field{intciteorder}}% + \def\citecount{% + \blx@sortdef@field{citecount}}% + \blx@tempcnta\z@ + \let\blx@tempa\@empty + #3% + \global\cslet{blx@sortingtemplate@#2}\blx@tempa + \endgroup} +\@onlypreamble\DeclareSortingTemplate +\blx@DeclareBackendOption{global}[xml]{sortingtemplate} + +\blx@kv@defkey{blx@sortdef@sorting}{locale}{% locale name + \def\blx@templ{#1}} + +\newcommand*{\blx@sortdef@sort}[2][]{% + \advance\blx@tempcnta\@ne + \blx@tempcntb\z@ + \let\blx@tempb\@empty + \edef\blx@tempc{order="\the\blx@tempcnta"}% + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@sortdef@sort}{#1}}% + \let\do\@firstofone + #2% + \eappto\blx@tempa{% + \blx@xml@sort{\blx@tempc}{\blx@tempb}}} + +\blx@kv@defkey{blx@sortdef@sort}{locale}{% locale name + \eappto\blx@tempc{ locale="#1"}} +\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"}}} +\blx@kv@defkey{blx@sortdef@sort}{final}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ final="1"}} + {}} +\blx@kv@defkey{blx@sortdef@sort}{sortcase}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ sortcase="1"}} + {\appto\blx@tempc{ sortcase="0"}}} +\blx@kv@defkey{blx@sortdef@sort}{sortupper}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ sortupper="1"}} + {\appto\blx@tempc{ sortupper="0"}}} + +\newcommand*{\blx@sortdef@field}[2][]{% + \advance\blx@tempcntb\@ne + \edef\blx@tempd{order="\the\blx@tempcntb"}% + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@sortdef@field}{#1}}% + \eappto\blx@tempb{% + \blx@xml@sortitem{\blx@tempd}{#2}}} + +\blx@kv@defkey{blx@sortdef@field}{form}{% string + \eappto\blx@tempd{ form="#1"}} +\blx@kv@defkey{blx@sortdef@field}{lang}{% string + \eappto\blx@tempd{ lang="#1"}} +\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"}}} +\blx@kv@defkey{blx@sortdef@field}{padwidth}{% integer + \eappto\blx@tempd{ pad\string_width="#1"}} +\blx@kv@defkey{blx@sortdef@field}{padchar}{% character + \blx@xmlsanitizeafter{\def\blx@tempe}{#1}% + \eappto\blx@tempd{ pad\string_char="\blx@tempe"}} +\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"}}} +\blx@kv@defkey{blx@sortdef@field}{strwidth}{% integer + \eappto\blx@tempd{ substring\string_width="#1"}} + +\def\blx@sortdef@literal#1{% + \advance\blx@tempcntb\@ne + \blx@xmlsanitizeafter{\def\blx@tempe}{#1}% + \eappto\blx@tempb{% + \blx@xml@sortitem{literal="1" order="\the\blx@tempcntb"}{\blx@tempe}}} + +% [<type,type,...>]{<string>} +\newrobustcmd*{\DeclarePresort}[2][]{% + \begingroup + \blx@xmlsanitizeafter{\def\blx@tempa}{#2}% + \ifblank{#1} + {\xdef\blx@bcf@presort{\blx@xml@presort{}{\blx@tempa}}} + {\notblank{#2} + {\forcsvlist{\blx@defpresort\blx@tempa}{#1}} + {\forcsvlist\blx@undefpresort{#1}}}% + \endgroup} +\@onlypreamble\DeclarePresort +\blx@DeclareBackendOption{global,type,entry}[string]{presort} + +\def\blx@defpresort#1#2{% + \csxdef{blx@bcf@presort@#2}{\blx@xml@presort{#2}{#1}}} +\def\blx@undefpresort#1{% + \global\csundef{blx@bcf@presort@#1}} + +% {<entrytype,...>}{<field,...>} +\newrobustcmd*{\DeclareSortExclusion}[2]{% + \forcsvlist{\blx@sortexclude{#2}}{#1}} +\blx@DeclareBackendOption{type}[xml]{sortexclusion} + +% {<field>}{<entrytype>} +\def\blx@sortexclude#1#2{% + \begingroup + \ifblank{#1} + {\global\csundef{blx@bcf@exclude@#2}} + {\let\blx@tempa\@empty + \forcsvlist\blx@sortexclude@i{#1}% + \csxdef{blx@bcf@exclude@#2}{% + \blx@xml@sortexclude{#2}{\blx@tempa}}} + \endgroup} + +\def\blx@sortexclude@i#1{% + \appto\blx@tempa{\blx@xml@exclude{#1}}} + +% {<entrytype,...>}{<field,...>} +\newrobustcmd*{\DeclareSortInclusion}[2]{% + \forcsvlist{\blx@sortinclude{#2}}{#1}} +\blx@DeclareBackendOption{type}[xml]{sortinclusion} + +% {<field>}{<entrytype>} +\def\blx@sortinclude#1#2{% + \begingroup + \ifblank{#1} + {\global\csundef{blx@bcf@include@#2}} + {\let\blx@tempa\@empty + \forcsvlist\blx@sortinclude@i{#1}% + \csxdef{blx@bcf@include@#2}{% + \blx@xml@sortinclude{#2}{\blx@tempa}}} + \endgroup} + +\def\blx@sortinclude@i#1{% + \appto\blx@tempa{\blx@xml@include{#1}}} + +% {<field,field,...>} +\newrobustcmd*{\DeclareExtradate}[1]{% + \begingroup + \let\blx@tempa\@empty + \let\scope\blx@extradate@scope + #1% + \global\let\blx@bcf@extradatespec\blx@tempa + \endgroup} +\@onlypreamble\DeclareExtradate +\blx@DeclareBackendOption{global}[xml]{extradatespec} + +\newrobustcmd*{\blx@extradate@scope}[1]{% + \let\blx@tempb\@empty + \let\field\blx@ordereded@field + #1% + \csxappto{blx@tempa}{% + \noexpand\blx@xml@extradatescope{\blx@tempb}}} + +\newcommand*{\blx@ordereded@field}[1]{% + \advance\blx@tempcnta\@ne + \csxappto{blx@tempb}{% + \noexpand\blx@xml@edordered{\the\blx@tempcnta}{#1}}} + +% [<type,type,...>]{<field,field,...>} +\newrobustcmd*{\DeclareExtradateContext}[2][]{% + \begingroup + \let\blx@tempa\@empty + \def\blx@tempb{extradatecontext}% + \let\field\blx@ordered@field + \ifblank{#1} + {\global\cslet{blx@bcf@extradatecontext}\@empty} + {\def\blx@tempa{#1}% + \def\do##1{\global\cslet{blx@bcf@extradatecontext@##1}\@empty}% + \expandafter\docsvlist\expandafter{#1}}% + #2% + \endgroup} +\@onlypreamble\DeclareExtradateContext +\blx@DeclareBackendOption{global,type}[xml]{extradatecontext} + +\newrobustcmd*{\DeclareLabelname}[2][]{% + \begingroup + \let\blx@tempa\@empty + \def\blx@tempb{labelnamespec}% + \let\field\blx@ordered@field + \ifblank{#1} + {\global\cslet{blx@bcf@labelnamespec}\@empty} + {\def\blx@tempa{#1}% + \def\do##1{\global\cslet{blx@bcf@labelnamespec@##1}\@empty}% + \expandafter\docsvlist\expandafter{#1}}% + #2% + \endgroup} +\@onlypreamble\DeclareLabelname +\blx@DeclareBackendOption{global,type}[xml]{labelnamespec} + +\newrobustcmd*{\DeclareLabeltitle}[2][]{% + \begingroup + \let\blx@tempa\@empty + \def\blx@tempb{labeltitlespec}% + \let\field\blx@ordered@field + \ifblank{#1} + {\global\cslet{blx@bcf@labeltitlespec}\@empty} + {\def\blx@tempa{#1}% + \def\do##1{\global\cslet{blx@bcf@labeltitlespec@##1}\@empty}% + \expandafter\docsvlist\expandafter{#1}}% + #2% + \endgroup} +\@onlypreamble\DeclareLabeltitle +\blx@DeclareBackendOption{global,type}[xml]{labeltitlespec} + +\newrobustcmd*{\DeclareLabeldate}[2][]{% + \begingroup + \let\blx@tempa\@empty + \def\blx@tempb{labeldatespec}% + \let\field\blx@orderedld@field + \let\literal\blx@orderedld@literal + \ifblank{#1} + {\global\cslet{blx@bcf@labeldatespec}\@empty} + {\def\blx@tempa{#1}% + \def\do##1{\global\cslet{blx@bcf@labeldatespec@##1}\@empty}% + \expandafter\docsvlist\expandafter{#1}}% + #2% + \endgroup} +\@onlypreamble\DeclareLabeldate +\blx@DeclareBackendOption{global,type}[xml]{labeldatespec} + +\blx@kv@defkey{blx@ordered@field}{form}{% string + \appto\blx@tempc{ form="#1"}} +\blx@kv@defkey{blx@ordered@field}{lang}{% string + \appto\blx@tempc{ lang="#1"}} + +\newcommand*{\blx@ordered@field}[2][]{% + \let\blx@tempc\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@ordered@field}{#1}}% + \advance\blx@tempcnta\@ne + \ifdefempty{\blx@tempa} + {\csxappto{blx@bcf@\blx@tempb}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}} + {\def\do##1{% + \blx@addtypeopt{##1}% + \csxappto{blx@bcf@\blx@tempb @##1}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}}% + \expandafter\docsvlist\expandafter{\blx@tempa}}} + +\newcommand*{\blx@orderedld@field}[2][]{% + \let\blx@tempc\@empty + \ifblank{#1} + {} + {\blx@kv@setkeys{blx@ordered@field}{#1}}% + \advance\blx@tempcnta\@ne + \ifdefempty{\blx@tempa} + {\csxappto{blx@bcf@\blx@tempb}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="field"\blx@tempc}{#2}}} + {\def\do##1{% + \blx@addtypeopt{##1}% + \csxappto{blx@bcf@\blx@tempb @##1}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="field"\blx@tempc}{#2}}}% + \expandafter\docsvlist\expandafter{\blx@tempa}}} + +\newcommand*{\blx@orderedld@literal}[1]{% + \advance\blx@tempcnta\@ne + \ifdefempty{\blx@tempa} + {\csxappto{blx@bcf@\blx@tempb}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="string"}{#1}}} + {\def\do##1{% + \blx@addtypeopt{##1}% + \csxappto{blx@bcf@\blx@tempb @##1}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="string"}{#1}}}% + \expandafter\docsvlist\expandafter{\blx@tempa}}} + +%% Package options + +% [<entrytype,entrytype,...>]{<options>} + +\newrobustcmd*{\ExecuteBibliographyOptions}[2][]{% + \ifblank{#1} + {\blx@kv@setkeys{blx@opt@pre}{#2}} + {\forcsvlist{\blx@typeoptions{#2}}{#1}}} +\@onlypreamble\ExecuteBibliographyOptions + +\def\blx@typeoptions#1#2{% + \blx@addtypeopt{#2}% + \csappto{blx@opts@type@#2}{#1,}} + +\def\blx@addtypeopt#1{% + \notblank{#1} + {\ifdef\blx@opts@type + {\ifinlist{#1}\blx@opts@type + {} + {\listgadd\blx@opts@type{#1}}} + {\listgadd\blx@opts@type{#1}}} + {}} + +% load-time only + +% Have to have a dummy for this as it's set much earlier but is passed +% through to here where we just ignore it +\blx@kv@defkey{blx@opt@ldt}{datamodel}{} + +\blx@kv@defkey{blx@opt@ldt}{backend}{% + \ifstrequal{#1}{biber} + {} + {\ifboolexpr{ + test {\ifstrequal{#1}{bibtex}} + or + test {\ifstrequal{#1}{bibtex8}}} + {\settoggle{blx@bibtex}{true}% + \newtoggle{blx@bibtex8}% + \ifstrequal{#1}{bibtex8} + {\settoggle{blx@bibtex8}{true}} + {}}% + {\blx@err@invopt{backend=#1}{}}}} + +\blx@kv@defkey{blx@opt@ldt}{style}{% + \def\blx@cbxfile{#1}% + \def\blx@bbxfile{#1}} + +\blx@kv@defkey{blx@opt@ldt}{bibstyle}{% + \def\blx@bbxfile{#1}} + +\blx@kv@defkey{blx@opt@ldt}{citestyle}{% + \def\blx@cbxfile{#1}} + +\blx@kv@defkey{blx@opt@ldt}{natbib}[true]{% + \settoggle{blx@natbib}{#1}} + +\blx@kv@defkey{blx@opt@ldt}{mcite}[true]{% + \settoggle{blx@mcite}{#1}} + +\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} + {\global\csundef{blx@noerroretextools}}} + +% load-time and preamble + +\DeclareBibliographyOption[boolean]{debug}[true]{% + \settoggle{blx@debug}{#1}} + +\DeclareBibliographyOption[boolean]{loadfiles}[true]{% + \settoggle{blx@loadfiles}{#1}} + +\DeclareBibliographyOption[integer]{mincrossrefs}{% + \ifnum#1<\z@ + \def\blx@mincrossrefs{1}% + \else + \def\blx@mincrossrefs{#1}% + \fi} + +\DeclareBibliographyOption[integer]{minxrefs}{% + \ifnum#1<\z@ + \def\blx@minxrefs{1}% + \else + \def\blx@minxrefs{#1}% + \fi} +\def\blx@minxrefs{2} + +\DeclareBibliographyOption[string]{texencoding}{% + \ifstrequal{#1}{auto} + {\undef\blx@texencoding@fromoption} + {\def\blx@texencoding@fromoption{#1}}} + +\DeclareBibliographyOption[string]{bibencoding}{% + \ifcsdef{blx@bibenc@#1} + {\letcs\blx@bibencoding{blx@bibenc@#1}} + {\def\blx@bibencoding{#1}}} + +\def\abx@mapbibenc#1#2{\csdef{blx@bibenc@#1}{#2}} +\abx@mapbibenc{inputenc}{auto} +\abx@mapbibenc{x-ascii}{ascii} + +\def\abx@mapinpenc#1#2{\csdef{blx@inpenc@#1}{#2}} +\abx@mapinpenc{utf8x}{utf8} +\abx@mapinpenc{lutf8}{utf8} +\abx@mapinpenc{x-ascii}{ascii} + +\DeclareBibliographyOption[boolean]{safeinputenc}[true]{% + \settoggle{blx@safeinputenc}{#1}} +\newtoggle{blx@safeinputenc} + +% global "sorting" option becomes "sortingtemplatename" in the .bcf and so +% don't use \DeclareBibliographyOption. This is a legacy naming issue +% 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 +\blx@kv@defkey{blx@opt@pre}{sorting}{% + \def\blx@sorting{#1}% + \def\blx@refcontext@sortingtemplatename{#1}} +\blx@DeclareBackendOption{global}[string]{sortingtemplatename} + +\AtEndPreamble{% + \ifcsdef{blx@sortingtemplate@\blx@sorting} + {} + {\blx@err@invopt{sorting=\blx@sorting}{}% + \def\blx@sorting{nty}% + \def\blx@refcontext@sortingtemplatename{nty}}% + \listxadd\blx@sortingtemplatenames\blx@sorting + \def\blx@refcontext@sortingnamekeytemplatename{global}% + \let\blx@refcontext@labelprefix\@empty + \let\blx@refcontext@labelprefix@real\@empty + \def\blx@refcontext@uniquenametemplatename{global}% + \def\blx@refcontext@labelalphanametemplatename{global}% + \blx@xdef@refcontext{% + \blx@refcontext@sortingtemplatename/% + \blx@refcontext@sortingnamekeytemplatename/% + \blx@refcontext@labelprefix/% + \blx@refcontext@uniquenametemplatename/% + \blx@refcontext@labelalphanametemplatename}% + \listxadd\blx@refcontexts\blx@refcontext@context} + +\DeclareBibliographyOption[boolean]{sortcase}[true]{% + \settoggle{blx@sortcase}{#1}} + +\DeclareBibliographyOption[boolean]{sortupper}[true]{% + \settoggle{blx@sortupper}{#1}} + +\DeclareBiblatexOption{global,type}[integer]{maxnames}{% + \numdef\blx@maxcitenames{#1}% + \numdef\blx@maxbibnames{#1}% + \numdef\blx@maxsortnames{#1}% + \c@maxnames#1\relax} +\DeclareBiblatexOption{global,type}[integer]{minnames}{% + \numdef\blx@mincitenames{#1}% + \numdef\blx@minbibnames{#1}% + \numdef\blx@minsortnames{#1}% + \c@minnames#1\relax} +% the per-entry option is resolved by Biber directly +\blx@DeclareBackendOption{entry}[integer]{maxnames} +\blx@DeclareBackendOption{entry}[integer]{minnames} +\gdef\blx@bcf@backendin@entry@maxnames{maxcitenames,maxbibnames,maxsortnames}% +\gdef\blx@bcf@backendin@entry@minnames{mincitenames,minbibnames,minsortnames}% + + +\DeclareBiblatexOption{global,type,entry}[integer]{maxbibnames}{% + \numdef\blx@maxbibnames{#1}% + \numdef\blx@maxsortnames{#1}% + \iftoggle{blx@bibliography} + {\c@maxnames#1\relax} + {}} +\DeclareBiblatexOption{global,type,entry}[integer]{minbibnames}{% + \numdef\blx@minbibnames{#1}% + \numdef\blx@minsortnames{#1}% + \iftoggle{blx@bibliography} + {\c@minnames#1\relax} + {}} + +\DeclareBiblatexOption{global,type,entry}[integer]{maxcitenames}{% + \numdef\blx@maxcitenames{#1}% + \iftoggle{blx@bibliography} + {} + {\c@maxnames#1\relax}} +\DeclareBiblatexOption{global,type,entry}[integer]{mincitenames}{% + \numdef\blx@mincitenames{#1}% + \iftoggle{blx@bibliography} + {} + {\c@minnames#1\relax}} + +\DeclareBiblatexOption{global,type,entry}[integer]{maxsortnames}{% + \numdef\blx@maxsortnames{#1}} +\DeclareBiblatexOption{global,type,entry}[integer]{minsortnames}{% + \numdef\blx@minsortnames{#1}} + +\appto\blx@checkoptions@global{% + \blx@maxmin@num{maxbibnames}{minbibnames}\blx@maxbibnames\blx@minbibnames + \blx@maxmin@num{maxcitenames}{mincitenames}\blx@maxcitenames\blx@mincitenames + \blx@maxmin@num{maxsortnames}{minsortnames}\blx@maxsortnames\blx@minsortnames} +\appto\blx@checkoptions@type{% + \blx@maxmin@num{maxbibnames}{minbibnames}\blx@maxbibnames\blx@minbibnames + \blx@maxmin@num{maxcitenames}{mincitenames}\blx@maxcitenames\blx@mincitenames + \blx@maxmin@num{maxsortnames}{minsortnames}\blx@maxsortnames\blx@minsortnames} +\appto\blx@checkoptions@entry{% + \blx@maxmin@cnt{maxnames}{minnames}\c@maxnames\c@minnames} + +\DeclareBiblatexOption{global,type,entry}[integer]{maxitems}{% + \numdef\blx@maxitems{#1}% + \c@maxitems#1\relax} +\DeclareBiblatexOption{global,type,entry}[integer]{minitems}{% + \numdef\blx@minitems{#1}% + \c@minitems#1\relax} + +\appto\blx@checkoptions@global{% + \blx@maxmin@num{maxitems}{minitems}\blx@maxitems\blx@minitems} +\appto\blx@checkoptions@type{% + \blx@maxmin@num{maxitems}{minitems}\blx@maxitems\blx@minitems} +\appto\blx@checkoptions@entry{% + \blx@maxmin@cnt{maxitems}{minitems}\c@maxitems\blx@minitems} + +\DeclareBiblatexOption{global,type,entry}[integer]{maxalphanames}{% + \numdef\blx@maxalphanames{#1}} +\DeclareBiblatexOption{global,type,entry}[integer]{minalphanames}{% + \numdef\blx@minalphanames{#1}} + +\appto\blx@checkoptions@global{% + \blx@maxmin@num{maxalphanames}{minalphanames}\blx@maxalphanames\blx@minalphanames} +\appto\blx@checkoptions@type{% + \blx@maxmin@num{maxalphanames}{minalphanames}\blx@maxalphanames\blx@minalphanames} + +\def\blx@maxmin@num#1#2#3#4{% + \ifnumless#3\@ne + {\blx@err@invopt{#1=#3}{'#1' must be greater than zero}% + \let#3\@ne} + {}% + \ifnumless#4\@ne + {\blx@err@invopt{#2=#4}{'#2' must be greater than zero}% + \let#4\@ne} + {}% + \ifnumless#3#4 + {\blx@err@confopt{#1/#2}{'#1' must be greater than or equal to '#2'}% + \let#3#4} + {}} + +\def\blx@maxmin@cnt#1#2#3#4{% + \ifnumless#3\@ne + {\blx@err@invopt{#1=\number#3}{'#1' must be greater than zero}% + #3\@ne} + {}% + \ifnumless#4\@ne + {\blx@err@invopt{#2=\number#4}{'#2' must be greater than zero}% + #4\@ne} + {}% + \ifnumless#3#4 + {\blx@err@confopt{#1/#2}{'#1' must be greater than or equal to '#2'}% + #3=#4} + {}} + +\DeclareBiblatexOption{global,type,entry,namelist,name}[boolean]{terseinits}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@terseinits} + \renewrobustcmd*{\bibinitperiod}{} + \renewrobustcmd*{\bibinitdelim}{} + \renewrobustcmd*{\bibinithyphendelim}{}} + {\togglefalse{blx@terseinits} + \renewrobustcmd*{\bibinitperiod}{\adddot} + \renewrobustcmd*{\bibinitdelim}{\addnbspace} + \renewrobustcmd*{\bibinithyphendelim}{\adddot\mbox{-}}}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{abbreviate}[true]{% + \ifstrequal{#1}{true} + {\def\abx@str{abx@sstr}} + {\def\abx@str{abx@lstr}}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{dateabbrev}[true]{% + \ifstrequal{#1}{true} + {\let\abx@bibmonth\blx@imc@bibsstring + \let\abx@bibyeardivision\blx@imc@bibsstring} + {\let\abx@bibmonth\blx@imc@biblstring + \let\abx@bibyeardivision\blx@imc@biblstring}} + +\DeclareBibliographyOption[string]{sortlocale}{% + \edef\blx@sortlocale{\detokenize{#1}}} + +\DeclareBibliographyOption[string]{language}{% + \togglefalse{blx@autolangbib}% + \togglefalse{blx@autolangcite}% + \undef\blx@languagename + \undef\blx@forcelanguagename + \ifboolexpr{ + test {\ifstrequal{#1}{auto}} + or + test {\ifstrequal{#1}{autobib}} + or + test {\ifstrequal{#1}{autocite}} + } + {\def\blx@languagename{english}% + \ifstrequal{#1}{auto} + {\toggletrue{blx@autolangbib}% + \toggletrue{blx@autolangcite}} + {}% + \ifstrequal{#1}{autobib} + {\toggletrue{blx@autolangbib}} + {}% + \ifstrequal{#1}{autocite} + {\toggletrue{blx@autolangcite}} + {}} + % If language is explicit, we do want to auto-switch but only to the + % selected language + {\blx@altfile{#1.lbx}% + \ifdefempty\blx@fnext + {\blx@error + {Language '#1' not supported} + {Failed to find a matching '#1.lbx' file}}} + {\toggletrue{blx@autolangbib}% + \toggletrue{blx@autolangcite}% + \edef\blx@languagename{#1}% + \edef\blx@forcelanguagename{#1}}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{clearlang}[true]{% + \settoggle{blx@clearlang}{#1}} + +\DeclareBibliographyOption[string]{autolang}{% + \blx@autolang@i{#1}} + +\def\blx@autolang@i#1{% + \ifcsdef{blx@opt@autolang@#1} + {\csuse{blx@opt@autolang@#1}} + {\blx@err@invopt{autolang=#1}{}}} + +\def\blx@opt@autolang@none{% + \undef\blx@thelangenv + \let\blx@hook@initlang\@empty + \let\blx@hook@endlang\@empty} +\def\blx@opt@autolang@hyphen{% + \def\blx@thelangenv{hyphenrules}% + \let\blx@hook@initlang\@empty + \let\blx@hook@endlang\@empty} +\csdef{blx@opt@autolang@other*}{% + \def\blx@thelangenv{otherlanguage*}% + \def\blx@hook@initlang{\@quotereset\@ne}% + \def\blx@hook@endlang{\blx@postpunct}} +\def\blx@opt@autolang@other{% + \def\blx@thelangenv{otherlanguage}% + \def\blx@hook@initlang{\@quotereset\@ne}% + \def\blx@hook@endlang{\blx@postpunct}} +\def\blx@opt@autolang@langname{% + \@ifpackageloaded{polyglossia} + {\def\blx@thelangenv{langname}} + {\def\blx@thelangenv{otherlanguage}}% + \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}{}}} + + +\DeclareBibliographyOption[string]{autofieldlang}{% + \blx@autofieldlang@i{#1}} + +\def\blx@autofieldlang@i#1{% + \ifcsdef{blx@opt@autofieldlang@#1} + {\csuse{blx@opt@autofieldlang@#1}} + {\blx@err@invopt{autofieldlang=#1}{}}} + +\def\blx@opt@autofieldlang@none{% + \undef\blx@thefieldlangenv + \let\blx@hook@initfieldlang\@empty + \let\blx@hook@endfieldlang\@empty} +\def\blx@opt@autofieldlang@hyphen{% + \def\blx@thefieldlangenv{hyphenrules}% + \let\blx@hook@initfieldlang\@empty + \let\blx@hook@endfieldlang\@empty} +\def\blx@opt@autofieldlang@other{% + \def\blx@thefieldlangenv{otherlanguage}% + \def\blx@hook@initfieldlang{\@quotereset\@ne}% + \def\blx@hook@endfieldlang{\blx@postpunct}} +\csdef{blx@opt@autofieldlang@other*}{% + \def\blx@thefieldlangenv{otherlanguage*}% + \def\blx@hook@initfieldlang{\@quotereset\@ne}% + \def\blx@hook@endfieldlang{\blx@postpunct}} +\def\blx@opt@autofieldlang@langname{% + \@ifpackageloaded{polyglossia} + {\def\blx@thefieldlangenv{langname}} + {\def\blx@thefieldlangenv{otherlanguage}}% + \def\blx@hook@initfieldlang{\@quotereset\@ne}% + \def\blx@hook@endfieldlang{\blx@postpunct}} + +\DeclareBibliographyOption{autofieldlangstrings}[true]{% + \settoggle{blx@autofieldlangstrings}{#1}} + +\DeclareBibliographyOption{dynamiclabel}[true]{% + \settoggle{blx@dynamiclabel}{#1}} + +\DeclareBiblatexOption{global,type,entry}[string]{indexing}[true]{% + \blx@opt@index{#1}} +\def\blx@opt@index#1{% + \ifcsdef{blx@opt@index@#1} + {\csuse{blx@opt@index@#1}} + {\blx@err@invopt{indexing=#1}{}}} +\def\blx@opt@index@true{% + \toggletrue{blx@citeindex}% + \toggletrue{blx@bibindex}} +\def\blx@opt@index@false{% + \togglefalse{blx@citeindex}% + \togglefalse{blx@bibindex}} +\def\blx@opt@index@cite{% + \toggletrue{blx@citeindex}% + \togglefalse{blx@bibindex}} +\def\blx@opt@index@bib{% + \togglefalse{blx@citeindex}% + \toggletrue{blx@bibindex}} + +\DeclareBibliographyOption[boolean]{sortcites}[true]{% + \ifstrequal{#1}{true} + {\let\blx@thecitesort\blx@citesort + \let\blx@thenotecheck\blx@notecheck + \booltrue{sortcites}} + {\let\blx@thecitesort\blx@citenosort + \let\blx@thenotecheck\relax}} + +\DeclareBibliographyOption[boolean]{sortsets}[true]{% + \settoggle{blx@sortsets}{#1}} + +\DeclareBibliographyOption[string]{hyperref}[true]{% + \ifcsdef{blx@opt@hyperref@#1} + {\letcs\blx@hyperref{blx@opt@hyperref@#1}} + {\blx@err@invopt{hyperref=#1}{}}} +\def\blx@opt@hyperref@false{0} +\def\blx@opt@hyperref@true{1} +\def\blx@opt@hyperref@auto{2} +\def\blx@opt@hyperref@manual{3} + +\def\blx@warn@usedmanualhyperrefs#1{% + \blx@warning@noline{The command '\string#1' can\MessageBreak + only be used with 'hyperref=manual'}} +\def\blx@warn@multiplemanualhyperrefs{% + \blx@warning@noline{You must call either '\string\BiblatexManualHyperrefOn'\MessageBreak + or '\string\BiblatexManualHyperrefOff' exactly once.\MessageBreak + Subsequent calls to either command will be ignored}} +\def\BiblatexManualHyperrefOn{% + \ifnum\blx@hyperref=\thr@@ + \blx@mkhyperref + \global\undef\blx@mkhyperref + \global\undef\blx@mknohyperref + \global\let\BiblatexManualHyperrefOn\blx@warn@multiplemanualhyperrefs + \global\let\BiblatexManualHyperrefOff\blx@warn@multiplemanualhyperrefs + \else + \blx@warn@usedmanualhyperrefs{\BiblatexManualHyperrefOn}% + \fi} +\def\BiblatexManualHyperrefOff{% + \ifnum\blx@hyperref=\thr@@ + \blx@mknohyperref + \global\undef\blx@mkhyperref + \global\undef\blx@mknohyperref + \global\let\BiblatexManualHyperrefOn\blx@warn@multiplemanualhyperrefs + \global\let\BiblatexManualHyperrefOff\blx@warn@multiplemanualhyperrefs + \else + \blx@warn@usedmanualhyperrefs{\BiblatexManualHyperrefOff}% + \fi} + +\DeclareBibliographyOption[boolean]{backref}[true]{% + \ifstrequal{#1}{true} + {\let\blx@backref\blx@addbackref + \let\abx@aux@backref\blx@aux@backref + \booltrue{backtracker}} + {\let\blx@backref\@gobble + \let\abx@aux@backref\@gobblefive + \boolfalse{backtracker}}} + +\DeclareBibliographyOption[string]{backrefsetstyle}{% + \ifcsdef{blx@opt@backrefsetstyle@#1} + {\letcs\blx@backrefsetstyle{blx@opt@backrefsetstyle@#1}} + {\blx@err@invopt{backrefsetstyle=#1}{}}} +\def\blx@opt@backrefsetstyle@setonly{0} +\def\blx@opt@backrefsetstyle@memonly{1} +\def\blx@opt@backrefsetstyle@setormem{2} +\def\blx@opt@backrefsetstyle@setandmem{3} +\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{% + hyperref package option 'plainpages' enabled.\MessageBreak + This may cause problems with hyperlinked back\MessageBreak + references. 'plainpages=false' is recommended}% + \fi + \ifHy@pageanchor\else + \blx@warning@noline{% + hyperref package option 'pageanchor' disabled.\MessageBreak + This will cause problems with hyperlinked back\MessageBreak + references. 'pageanchor=true' is required}% + \fi} + +\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} +\def\blx@opt@block@par{% + \let\blx@bibsetup\@empty + \def\newblockpunct{\par}} +\def\blx@opt@block@nbpar{% + \def\blx@bibsetup{\interlinepenalty\@M}% + \def\newblockpunct{\par\nobreak}} +\def\blx@opt@block@space{% + \let\blx@bibsetup\@empty + \def\newblockpunct{% + \unspace\space + \hskip 0.11em + \@plus 0.33em + \@minus 0.07em}} +\def\blx@opt@block@ragged{% + \let\blx@bibsetup\raggedright + \def\newblockpunct{% + \unspace\penalty-9\relax\space}} + +\DeclareBibliographyOption[string]{pagetracker}[true]{% + \ifcsdef{blx@opt@pagetracker@#1} + {\csuse{blx@opt@pagetracker@#1}} + {\blx@err@invopt{pagetracker=#1}{}}} +\def\blx@opt@pagetracker@true{% + \if@twoside + \blx@opt@pagetracker@spread + \else + \blx@opt@pagetracker@page + \fi} +\def\blx@opt@pagetracker@false{% + \let\blx@pagetracker\relax + \let\abx@aux@page\@gobbletwo + \let\abx@aux@fnpage\@gobbletwo + \boolfalse{pagetracker}} +\def\blx@opt@pagetracker@page{% + \let\blx@pagetracker\blx@pagetracker@context + \let\abx@aux@page\blx@aux@page + \let\abx@aux@fnpage\blx@aux@fnpage + \booltrue{pagetracker}} +\def\blx@opt@pagetracker@spread{% + \if@twoside + \let\blx@pagetracker\blx@pagetracker@context + \let\abx@aux@page\blx@aux@spread + \let\abx@aux@fnpage\blx@aux@fnspread + \booltrue{pagetracker}% + \else + \blx@warning@noline{% + LaTeX not in twoside mode\MessageBreak + Falling back to 'pagetracker=page'}% + \blx@opt@pagetracker@page + \fi} + +\DeclareBibliographyOption[string]{citecounter}[true]{% + \ifcsdef{blx@opt@citecounter@#1} + {\csuse{blx@opt@citecounter@#1}} + {\blx@err@invopt{citecounter=#1}{}}} +\def\blx@opt@citecounter@true{% + \let\blx@setcitecounter\blx@setcitecounter@global + \let\blx@citecounter\blx@citecounter@global + \let\abx@aux@count\blx@aux@count + \let\abx@aux@fncount\blx@aux@fncount + \let\abx@curr@count\blx@curr@count + \let\abx@curr@fncount\blx@curr@fncount + \booltrue{citetracker}} +\def\blx@opt@citecounter@context{% + \let\blx@setcitecounter\blx@setcitecounter@context + \let\blx@citecounter\blx@citecounter@context + \let\abx@aux@count\blx@aux@count + \let\abx@aux@fncount\blx@aux@fncount + \let\abx@curr@count\blx@curr@count + \let\abx@curr@fncount\blx@curr@fncount + \booltrue{citetracker}} +\def\blx@opt@citecounter@false{% + \let\blx@setcitecounter\relax + \let\blx@citecounter\relax + \let\abx@aux@count\@gobbletwo + \let\abx@aux@fncount\@gobbletwo + \let\abx@curr@count\@gobbletwo + \let\abx@curr@fncount\@gobbletwo + \boolfalse{citetracker}} + +\DeclareBiblatexOption{global,type,entry}[string]{citetracker}[true]{% + \ifcsdef{blx@opt@citetracker@#1} + {\csuse{blx@opt@citetracker@#1}} + {\blx@err@invopt{citetracker=#1}{}}} +\def\blx@opt@citetracker@true{% + \let\blx@imc@ifciteseen\blx@ifciteseen@global + \let\blx@imc@ifentryseen\blx@ifentryseen@global + \let\blx@citetracker\blx@citetracker@global + \booltrue{citetracker}} +\def\blx@opt@citetracker@false{% + \let\blx@imc@ifciteseen\@secondoftwo + \protected\long\def\blx@imc@ifentryseen##1##2##3{##3}% + \let\blx@citetracker\relax} +\def\blx@opt@citetracker@context{% + \let\blx@imc@ifciteseen\blx@ifciteseen@context + \let\blx@imc@ifentryseen\blx@ifentryseen@context + \let\blx@citetracker\blx@citetracker@context + \booltrue{citetracker}} +\def\blx@opt@citetracker@strict{% + \let\blx@imc@ifciteseen\blx@ifciteseen@global + \let\blx@imc@ifentryseen\blx@ifentryseen@global + \def\blx@citetracker{% + \blx@ifcitesingle{\blx@citetracker@global}{}}% + \booltrue{citetracker}} +\def\blx@opt@citetracker@constrict{% + \let\blx@imc@ifciteseen\blx@ifciteseen@context + \let\blx@imc@ifentryseen\blx@ifentryseen@context + \def\blx@citetracker{% + \blx@ifcitesingle{\blx@citetracker@context}{}}% + \booltrue{citetracker}} + +\DeclareBiblatexOption{global,type,entry}[string]{ibidtracker}[true]{% + \ifcsdef{blx@opt@ibidtracker@#1} + {\csuse{blx@opt@ibidtracker@#1}} + {\blx@err@invopt{ibidtracker=#1}{}}} +\def\blx@opt@ibidtracker@true{% + \let\blx@imc@ifciteibid\blx@ifciteibid@global + \let\blx@ibidtracker\blx@ibidtracker@global + \let\blx@ibidreset\blx@ibidreset@global + \booltrue{citetracker}} +\def\blx@opt@ibidtracker@false{% + \let\blx@imc@ifciteibid\@secondoftwo + \let\blx@ibidtracker\relax + \let\blx@ibidreset\relax} +\def\blx@opt@ibidtracker@context{% + \let\blx@imc@ifciteibid\blx@ifciteibid@context + \let\blx@ibidtracker\blx@ibidtracker@context + \let\blx@ibidreset\blx@ibidreset@context + \booltrue{citetracker}} +\def\blx@opt@ibidtracker@strict{% + \let\blx@imc@ifciteibid\blx@ifciteibid@strict + \let\blx@ibidtracker\blx@ibidtracker@strict + \let\blx@ibidreset\blx@ibidreset@global + \booltrue{citetracker}} +\def\blx@opt@ibidtracker@constrict{% + \let\blx@imc@ifciteibid\blx@ifciteibid@constrict + \let\blx@ibidtracker\blx@ibidtracker@constrict + \let\blx@ibidreset\blx@ibidreset@context + \booltrue{citetracker}} + +\DeclareBiblatexOption{global,type,entry}[string]{idemtracker}[true]{% + \ifcsdef{blx@opt@idemtracker@#1} + {\csuse{blx@opt@idemtracker@#1}} + {\blx@err@invopt{idemtracker=#1}{}}} +\def\blx@opt@idemtracker@true{% + \let\blx@imc@ifciteidem\blx@ifciteidem@global + \let\blx@idemtracker\blx@idemtracker@global + \let\blx@idemreset\blx@idemreset@global + \booltrue{citetracker}} +\def\blx@opt@idemtracker@false{% + \let\blx@imc@ifciteidem\@secondoftwo + \let\blx@idemtracker\relax + \let\blx@idemreset\relax} +\def\blx@opt@idemtracker@context{% + \let\blx@imc@ifciteidem\blx@ifciteidem@context + \let\blx@idemtracker\blx@idemtracker@context + \let\blx@idemreset\blx@idemreset@context + \booltrue{citetracker}} +\def\blx@opt@idemtracker@strict{% + \let\blx@imc@ifciteidem\blx@ifciteidem@strict + \let\blx@idemtracker\blx@idemtracker@strict + \let\blx@idemreset\blx@idemreset@global + \booltrue{citetracker}} +\def\blx@opt@idemtracker@constrict{% + \let\blx@imc@ifciteidem\blx@ifciteidem@constrict + \let\blx@idemtracker\blx@idemtracker@constrict + \let\blx@idemreset\blx@idemreset@context + \booltrue{citetracker}} + +\DeclareBiblatexOption{global,type,entry}[string]{opcittracker}[true]{% + \ifcsdef{blx@opt@opcittracker@#1} + {\csuse{blx@opt@opcittracker@#1}} + {\blx@err@invopt{opcittracker=#1}{}}} +\def\blx@opt@opcittracker@true{% + \let\blx@imc@ifopcit\blx@ifopcit@global + \let\blx@opcittracker\blx@opcittracker@global + \let\blx@opcitreset\blx@opcitreset@global + \booltrue{citetracker}} +\def\blx@opt@opcittracker@false{% + \let\blx@imc@ifopcit\@secondoftwo + \let\blx@opcittracker\relax + \let\blx@opcitreset\relax} +\def\blx@opt@opcittracker@context{% + \let\blx@imc@ifopcit\blx@ifopcit@context + \let\blx@opcittracker\blx@opcittracker@context + \let\blx@opcitreset\blx@opcitreset@context + \booltrue{citetracker}} +\def\blx@opt@opcittracker@strict{% + \let\blx@imc@ifopcit\blx@ifopcit@strict + \let\blx@opcittracker\blx@opcittracker@strict + \let\blx@opcitreset\blx@opcitreset@global + \booltrue{citetracker}} +\def\blx@opt@opcittracker@constrict{% + \let\blx@imc@ifopcit\blx@ifopcit@constrict + \let\blx@opcittracker\blx@opcittracker@constrict + \let\blx@opcitreset\blx@opcitreset@context + \booltrue{citetracker}} + +\DeclareBiblatexOption{global,type,entry}[string]{loccittracker}[true]{% + \ifcsdef{blx@opt@loccittracker@#1} + {\csuse{blx@opt@loccittracker@#1}} + {\blx@err@invopt{loccittracker=#1}{}}} +\def\blx@opt@loccittracker@true{% + \let\blx@imc@ifloccit\blx@ifloccit@global + \let\blx@loccittracker\blx@loccittracker@global + \let\blx@loccitreset\blx@loccitreset@global + \booltrue{citetracker}} +\def\blx@opt@loccittracker@false{% + \let\blx@imc@ifloccit\@secondoftwo + \let\blx@loccittracker\relax + \let\blx@loccitreset\relax} +\def\blx@opt@loccittracker@context{% + \let\blx@imc@ifloccit\blx@ifloccit@context + \let\blx@loccittracker\blx@loccittracker@context + \let\blx@loccitreset\blx@loccitreset@context + \booltrue{citetracker}} +\def\blx@opt@loccittracker@strict{% + \let\blx@imc@ifloccit\blx@ifloccit@strict + \let\blx@loccittracker\blx@loccittracker@strict + \let\blx@loccitreset\blx@loccitreset@global + \booltrue{citetracker}} +\def\blx@opt@loccittracker@constrict{% + \let\blx@imc@ifloccit\blx@ifloccit@constrict + \let\blx@loccittracker\blx@loccittracker@constrict + \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 + \let\bibcloseparen\blx@bibcloseparen + \let\bibopenbracket\blx@bibopenbracket + \let\bibclosebracket\blx@bibclosebracket} + {\protected\def\bibopenparen{\bibleftparen}% + \protected\def\bibcloseparen{\bibrightparen}% + \protected\def\bibopenbracket{\bibleftbracket}% + \protected\def\bibclosebracket{\bibrightbracket}}} + +\DeclareBibliographyOption[integer]{maxparens}{% + \ifnumless{#1}{1} + {\blx@err@invopt{maxparens=#1}{}} + {\setcounter{maxparens}{#1}}} + +\newtoggle{blx@labeldateusetime} +\DeclareBibliographyOption[boolean]{labeldateusetime}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@labeldateusetime}} + {\togglefalse{blx@labeldateusetime}}} + +\DeclareBibliographyOption[string]{labeldate}{% + % 'true' or 'false' means that the user thinks that this is the old 'labeldate' + % option which is now 'labeldateparts' (which is a boolean). + \ifboolexpr{% + test {\ifstrequal{#1}{true}} + or + test {\ifstrequal{#1}{false}}} + {\blx@warning@noline{% + 'labeldate' option used to determine whether to provide label date fields and\MessageBreak + extradate field is renamed to 'labeldateparts', setting this instead. This option is + now used to set the format of the labeldate}% + \settoggle{blx@labeldateparts}{#1}} + {\ifstrequal{#1}{iso8601} + {\blx@warning@noline{% + 'iso8601' date format specifier is deprecated.\MessageBreak + Use 'iso' instead}% + \def\blx@dateformat@labeldate{iso}% + \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}} + {\ifstrequal{#1}{edtf} + {\blx@warning@noline{% + 'edtf' date format specifier is deprecated.\MessageBreak + Use 'iso' instead}% + \def\blx@dateformat@labeldate{iso}% + \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}} + {\def\blx@dateformat@labeldate{#1}}}% + \ifstrequal{#1}{ymd} + {\renewrobustcmd*{\bibdaterangesep}{\slash}% + \renewrobustcmd*{\bibtimerangesep}{\slash}% + \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}} + {}% + \ifstrequal{#1}{iso}% bibdaterangesep hard-coded to slash, no extra space before prefices + {\renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}} + {}% + \ifcsdef{mkdaterange#1} + {\protected\def\blx@imc@printlabeldate{\csuse{mkdaterange#1}{label}} + \protected\def\blx@imc@printlabeldateextra{\csuse{mkdaterange#1extra}{label}}} + {\ifcsdef{mkbibrange#1}%LEGACY(<3.5) + {\protected\def\blx@imc@printlabeldate{\csuse{mkbibrange#1}{label}} + \protected\def\blx@imc@printlabeldateextra{\csuse{mkbibrange#1extra}{label}}} + {\blx@err@invopt{labeldate=#1}{}}}}} + +\DeclareBibliographyOption[string]{labeltime}{% + \ifcsdef{mktimerange#1} + {\def\blx@timeformat@labeltime{#1}% + \protected\def\blx@imc@printlabeltime{\csuse{mktimerange#1}{label}}} + {\blx@err@invopt{labeltime=#1}{}}} + +% Date meta-information +\DeclareBibliographyOption[string]{dateera}{% + \ifboolexpr{% + test {\ifstrequal{#1}{astronomical}} + or + test {\ifstrequal{#1}{secular}} + or + test {\ifstrequal{#1}{christian}}} + {\def\blx@dateera{#1}% + \ifstrequal{#1}{secular} + {\def\blx@dateera@bce{beforecommonera}% + \def\blx@dateera@ce{commonera}} + {}% + \ifstrequal{#1}{christian} + {\def\blx@dateera@bce{beforechrist}% + \def\blx@dateera@ce{annodomini}} + {}} + {\blx@err@invopt{dateera=#1}{}}} + +% Effectively turns off dateeraauto since it's only used on ce dates which +% are never less than zero (as that would be a bce date) +\numdef\blx@dateeraauto{0} +\DeclareBibliographyOption[integer]{dateeraauto}{% + \numdef\blx@dateeraauto{#1}} + +\newtoggle{blx@datecirca} +\DeclareBibliographyOption[boolean]{datecirca}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@datecirca}% + \protected\def\datecircaprint{% + \ifdatecirca{\bibstring{circa}\printdelim{datecircadelim}}{}}% + \protected\def\enddatecircaprint{% + \ifenddatecirca{\bibstring{circa}\printdelim{datecircadelim}}{}}% + \protected\def\datecircaprintedtf{%LEGACY(<3.9) + \blx@warning@noline{% + '\string\datecircaprintedtf' is deprecated. + Please use '\string\datecircaprintiso'}% + \datecircaprintiso}% + \protected\def\enddatecircaprintedtf{%LEGACY(<3.9) + \blx@warning@noline{% + '\string\enddatecircaprintedtf' is deprecated. + Please use '\string\enddatecircaprintiso'}% + \enddatecircaprintiso}% + \protected\def\datecircaprintiso{% + \ifdatecirca{\textasciitilde}{}}% + \protected\def\enddatecircaprintiso{% + \ifenddatecirca{\textasciitilde}{}}} + {\togglefalse{blx@datecirca}}} + +\newtoggle{blx@dateuncertain} +\DeclareBibliographyOption[boolean]{dateuncertain}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@dateuncertain}% + \protected\def\dateuncertainprint{% + \ifdateuncertain{\bibdateuncertain}{}}% + \protected\def\enddateuncertainprint{% + \ifenddateuncertain{\bibdateuncertain}{}}} + {\togglefalse{blx@dateuncertain}}} + +% *time format options - auto-created for all datamodel date fields +% *date format options - auto-created for all datamodel date fields +% *dateusetime options - auto-created for all datamodel date fields +% Date metadata toggles are defined in one of the \abx@dobooleans calls +\def\do#1{% + \DeclareBibliographyOption[string]{#1date}{% + \ifstrequal{##1}{iso8601} + {\blx@warning@noline{'iso8601' date format specifier is deprecated.\MessageBreak + Use 'iso' instead}% + \csdef{blx@dateformat@#1date}{iso}} + {\ifstrequal{##1}{edtf} + {\blx@warning@noline{'edtf' date format specifier is deprecated.\MessageBreak + Use 'iso' instead}% + \csdef{blx@dateformat@#1date}{iso}} + {\csdef{blx@dateformat@#1date}{##1}}}% + \ifstrequal{##1}{ymd} + {\renewrobustcmd*{\bibdaterangesep}{\slash}% + \renewrobustcmd*{\bibtimerangesep}{\slash}% + \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}} + {}% + \ifcsdef{mkdaterange##1} + {\protected\csedef{blx@imc@print#1date}{\noexpand\csuse{mkdaterange##1}{#1}}% + \protected\csedef{blx@imc@print#1dateextra}{\noexpand\csuse{mkdaterange##1extra}{#1}}} + {\ifcsdef{mkbibrange##1}%LEGACY(<3.5) + {\blx@warning@noline{% + '\string\mkbibrange##1(extra)' date range macro in style is deprecated,\MessageBreak + please define '\string\mkdaterange##1(extra)' instead}% + \protected\csedef{blx@imc@print#1date}{\noexpand\csuse{mkbibrange##1}{#1}}% + \protected\csedef{blx@imc@print#1dateextra}{\noexpand\csuse{mkbibrange##1extra}{#1}}} + {\blx@err@invopt{#1date=##1}{}}}}% + % Default for new date fields is "comp" but this is overridden below by + % biblatex defaults + \blx@kv@setkeys{blx@opt@pre}{#1date=comp}% + % Time format options + \DeclareBibliographyOption[string]{#1time}{% + \csdef{blx@timeformat@#1time}{##1}% + \ifcsdef{mktimerange##1} + {\protected\csedef{blx@imc@print#1time}{\csuse{mktimerange##1}{#1}}} + {\blx@err@invopt{#1time=##1}{}}}% + % Default for new time fields is "24h" + \blx@kv@setkeys{blx@opt@pre}{#1time=24h}% + % Boolean to determine if times are printed with dates + \newtoggle{blx@#1dateusetime}% + \DeclareBibliographyOption[boolean]{#1dateusetime}[true]{% + \settoggle{blx@#1dateusetime}{##1}}} +\abx@dodatetypes + +\DeclareBibliographyOption[string]{alldatesusetime}{% + \def\do##1{\ExecuteBibliographyOptions{##1usetime=#1}}% + \abx@dodates + \do{labeldate}} + +\DeclareBibliographyOption[string]{alldates}{% + \def\do##1{\ExecuteBibliographyOptions{##1=#1}}% + \abx@dodates + \do{labeldate}} + +\DeclareBibliographyOption[string]{alltimes}{% + \def\do##1{% + \ExecuteBibliographyOptions{##1time=#1}}% + \abx@dodatetypes + \do{label}} + +\newtoggle{blx@julian} +\def\blx@gregorianstart{1582-10-15} +\DeclareBibliographyOption[boolean]{julian}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@julian}} + {\togglefalse{blx@julian}}} + +\DeclareBibliographyOption[string]{gregorianstart}{% + \def\blx@gregorianstart{#1}} + +\DeclareBibliographyOption[string]{msform}{% + \def\blx@msform{#1}} + +\newtoggle{blx@datezeros}\toggletrue{blx@datezeros} +\DeclareBibliographyOption[boolean]{datezeros}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@datezeros}% + \let\blx@imc@mkyearzeros\blx@imc@forcezerosy + \let\blx@imc@mkmonthzeros\blx@imc@forcezerosmdt + \let\blx@imc@mkdayzeros\blx@imc@forcezerosmdt} + {\togglefalse{blx@datezeros}% + \let\blx@imc@mkyearzeros\blx@imc@stripzeros + \let\blx@imc@mkmonthzeros\blx@imc@stripzeros + \let\blx@imc@mkdayzeros\blx@imc@stripzeros}} + +\newtoggle{blx@timezeros}\toggletrue{blx@timezeros} +\DeclareBibliographyOption[boolean]{timezeros}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@timezeros}% + \let\blx@imc@mktimezeros\blx@imc@forcezerosmdt} + {\togglefalse{blx@timezeros}% + \let\blx@imc@mktimezeros\blx@imc@stripzeros}} + +\newtoggle{blx@timezones} +\DeclareBibliographyOption[boolean]{timezones}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@timezones}} + {\togglefalse{blx@timezones}}} + +\newtoggle{blx@seconds} +\DeclareBibliographyOption[boolean]{seconds}[true]{% + \ifstrequal{#1}{true} + {\toggletrue{blx@seconds}} + {\togglefalse{blx@seconds}}} + +\DeclareBibliographyOption[string]{autocite}{% + \ifcsundef{blx@acite@#1} + {\blx@error + {Autocite command '#1' undefined} + {The autocite command '#1' has not been defined by + the\MessageBreak selected citation style}} + {\letcs\autocite{blx@acite@#1}% + \letcs\autocites{blx@macite@#1}}} + +\DeclareBibliographyOption[string]{notetype}{% + \ifcsdef{blx@opt@notetype@#1} + {\blx@notetype\csuse{blx@opt@notetype@#1}} + {\blx@err@invopt{notetype=#1}{}}} +\cslet{blx@opt@notetype@foot+end}\z@ +\let\blx@opt@notetype@footonly\@ne +\let\blx@opt@notetype@endonly\tw@ + +\DeclareBibliographyOption[boolean]{autopunct}[true]{% + \ifstrequal{#1}{true} + {\DeclareAutoPunctuation{.,;:!?}} + {\DeclareAutoPunctuation{}}} + +\DeclareBibliographyOption[boolean]{punctfont}[true]{% + \ifstrequal{#1}{true} + {\let\blx@ifpuncthook\@firstoftwo} + {\let\blx@ifpuncthook\@secondoftwo}} + +\DeclareBibliographyOption[boolean]{labelnumber}[true]{% + \settoggle{blx@labelnumber}{#1}% + \iftoggle{blx@labelnumber} + {} + {\blx@kv@setkeys{blx@opt@pre}{defernumbers=false}}} +\DeclareBiblatexOption{type,entry}[boolean]{labelnumber}[true]{% + \settoggle{blx@labelnumber}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{labelalpha}[true]{% + \settoggle{blx@labelalpha}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{labeltitle}[true]{% + \settoggle{blx@labeltitle}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{labeltitleyear}[true]{% + \settoggle{blx@labeltitleyear}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{labeldateparts}[true]{% + \settoggle{blx@labeldateparts}{#1}} + +\DeclareBiblatexOption{global,type}[string]{uniquelist}[true]{% + \ifcsdef{blx@opt@uniquelist@#1} + {\letcs\blx@uniquelist{blx@opt@uniquelist@#1}} + {\blx@err@invopt{uniquelist=#1}{}}} +\def\blx@opt@uniquelist@false{false} +\def\blx@opt@uniquelist@true{true} +\def\blx@opt@uniquelist@minyear{minyear} + +\DeclareBiblatexOption{global}[boolean]{pluralothers}[true]{% + \settoggle{blx@pluralothers}{#1}} + +\blx@DeclareBackendOption{entry,namelist}[string]{uniquelist} + +\DeclareBiblatexOption{global,type}[boolean]{nohashothers}[true]{% + \settoggle{blx@nohashothers}{#1}} +\blx@DeclareBackendOption{entry,namelist}[boolean]{nohashothers} + +\DeclareBiblatexOption{global,type}[boolean]{nosortothers}[true]{% + \settoggle{blx@nosortothers}{#1}} +\blx@DeclareBackendOption{entry,namelist}[boolean]{nosortothers} + +\DeclareBiblatexOption{global,type}[string]{uniquename}[true]{% + \ifcsdef{blx@opt@uniquename@#1} + {\letcs\blx@uniquename{blx@opt@uniquename@#1}} + {\blx@err@invopt{uniquename=#1}{}}} +\def\blx@opt@uniquename@false{false} +\def\blx@opt@uniquename@init{init} +\def\blx@opt@uniquename@true{full} +\def\blx@opt@uniquename@full{full} +\def\blx@opt@uniquename@allinit{allinit} +\def\blx@opt@uniquename@allfull{allfull} +\def\blx@opt@uniquename@mininit{mininit} +\def\blx@opt@uniquename@minfull{minfull} + +\blx@DeclareBackendOption{entry,namelist,name}[string]{uniquename} + +\DeclareBiblatexOption{global,type}[boolean]{noroman}[true]{% + \settoggle{blx@noroman}{#1}} +\blx@DeclareBackendOption{entry}[boolean]{noroman} + +\DeclareBiblatexOption{global,type}[boolean]{singletitle}[true]{% + \settoggle{blx@singletitle}{#1}} +\blx@DeclareBackendOption{entry}[boolean]{singletitle} + +\DeclareBiblatexOption{global,type}[boolean]{uniquetitle}[true]{% + \settoggle{blx@uniquetitle}{#1}} +\blx@DeclareBackendOption{entry}[boolean]{uniquetitle} + +\DeclareBiblatexOption{global,type}[boolean]{uniquebaretitle}[true]{% + \settoggle{blx@uniquebaretitle}{#1}} +\blx@DeclareBackendOption{entry}[boolean]{uniquebaretitle} + +\DeclareBiblatexOption{global,type}[boolean]{uniquework}[true]{% + \settoggle{blx@uniquework}{#1}} +\blx@DeclareBackendOption{entry}[boolean]{uniquework} + +\DeclareBiblatexOption{global,type}[boolean]{uniqueprimaryauthor}[true]{% + \settoggle{blx@uniqueprimaryauthor}{#1}} +\blx@DeclareBackendOption{entry}[boolean]{uniqueprimaryauthor} + + +\DeclareBibliographyOption[boolean]{defernumbers}[true]{% + \settoggle{blx@defernumbers}{#1}% + \iftoggle{blx@defernumbers} + {\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{#1}} + + +\DeclareBibliographyOption[string]{refsection}{% + \ifcsdef{blx@opt@refsection@#1} + {\letcs\blx@refsecreset@level{blx@opt@refsection@#1}} + {\blx@err@invopt{refsection=#1}{}}} +\csdef{blx@opt@refsection@none}{0} +\csdef{blx@opt@refsection@part}{1} +\csdef{blx@opt@refsection@chapter}{2} +\csdef{blx@opt@refsection@section}{3} +\csdef{blx@opt@refsection@subsection}{4} +\csdef{blx@opt@refsection@chapter+}{5} +\csdef{blx@opt@refsection@section+}{6} +\csdef{blx@opt@refsection@subsection+}{7} + +\blx@patchsection@switch{\blx@refsecreset@level}{\newrefsection}{}{} + +\DeclareBibliographyOption[string]{refsegment}{% + \ifcsdef{blx@opt@refsegment@#1} + {\letcs\blx@refsegreset@level{blx@opt@refsegment@#1}} + {\blx@err@invopt{refsegment=#1}{}}} +\csdef{blx@opt@refsegment@none}{0} +\csdef{blx@opt@refsegment@part}{1} +\csdef{blx@opt@refsegment@chapter}{2} +\csdef{blx@opt@refsegment@section}{3} +\csdef{blx@opt@refsegment@subsection}{4} +\csdef{blx@opt@refsegment@chapter+}{5} +\csdef{blx@opt@refsegment@section+}{6} +\csdef{blx@opt@refsegment@subsection+}{7} + +\blx@patchsection@switch{\blx@refsegreset@level} + {\newrefsegment} + {\ifnumgreater\blx@refsegreset@level\z@ + {\ifnumgreater\blx@refsegreset@level\blx@refsecreset@level + {} + {\blx@err@confopt + {refsegment/refsection} + {The 'refsegment' option must point to a + lower-level\MessageBreak document division + than 'refsection'}% + \def\blx@refsegreset@level{0}}} + {}} + {} + +\DeclareBibliographyOption[string]{citereset}{% + \ifcsdef{blx@opt@citereset@#1} + {\letcs\blx@citereset@level{blx@opt@citereset@#1}} + {\blx@err@invopt{citereset=#1}{}}} +\csdef{blx@opt@citereset@none}{0} +\csdef{blx@opt@citereset@part}{1} +\csdef{blx@opt@citereset@chapter}{2} +\csdef{blx@opt@citereset@section}{3} +\csdef{blx@opt@citereset@subsection}{4} +\csdef{blx@opt@citereset@chapter+}{5} +\csdef{blx@opt@citereset@section+}{6} +\csdef{blx@opt@citereset@subsection+}{7} + +\blx@patchsection@switch{\blx@citereset@level}{\citereset\blx@inf@creset}{}{} + +\DeclareBibliographyOption[boolean]{bibwarn}[true]{% + \ifstrequal{#1}{true} + {\def\blx@bbl@thewarn{\blx@bbl@warn}} + {\let\blx@bbl@thewarn\@gobble}} + +% Name field options +\def\do#1{% + \DeclareBiblatexOption{global,type,entry}[boolean]{use#1}[true]{% + \settoggle{blx@use#1}{##1}}} +\abx@donames + +% Entry options +\DeclareBiblatexOption{global,type,entry,namelist,name}[boolean]{useprefix}[true]{% + \settoggle{blx@useprefix}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{skipbib}[true]{% + \settoggle{blx@skipbib}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{skipbiblist}[true]{% + \settoggle{blx@skipbiblist}{#1}} + +\DeclareBiblatexOption{global,type,entry}[boolean]{skiplab}[true]{% + \settoggle{blx@skiplab}{#1}} + +\DeclareBiblatexOption{global,type}[boolean]{dataonly}[true]{% + \settoggle{blx@skipbib}{#1}% + \settoggle{blx@skipbiblist}{#1}% + \settoggle{blx@skiplab}{#1}} +% the entry option is resolved by Biber +\blx@DeclareBackendOption{entry}[boolean]{dataonly} +% This is handled in a special way by by biber. It indicates what to set for various options +% if the dataonly option is "true". If biber finds dataonly=false +% in an entry, the booleans here will be reversed (skip*) and the unique* options (which are not +% booleans) will be ignored, defaulting to higher scope values. biber assumes +% that \blx@bcf@backendin@entry@* options are boolean options as otherwise, negating them +% per-entry makes little sense and it is not clear what to do with such lower-scope overrides. +\gdef\blx@bcf@backendin@entry@dataonly{uniquename=false,uniquelist=false,% + skipbib=true,skipbiblist=true,skiplab=true} + +% Option processor/scheduler +\DeclareOption*{% + \begingroup + \def\blx@tempa#1=#2&{#1}% + \edef\blx@tempa{% + \expandafter\blx@tempa\CurrentOption=&}% + \blx@kv@ifkeyundef{blx@opt@ldt}{\blx@tempa} + {% now it becomes messy, + % we need to intercept the bibtexcaseprotection option + % because it is only defined by the case changing code + % which is loaded after load-time options are processed + \ifdefstring\blx@tempa{bibtexcaseprotection} + {\endgroup + \edef\blx@deferoption@bibtexcaseprotection{\CurrentOption}} + {\endgroup + \eappto\blx@theoptions{\CurrentOption,}}} + {\edef\blx@tempa{\endgroup + \noexpand\blx@kv@setkeys{blx@opt@ldt}{\CurrentOption}}% + \blx@tempa}} + +\def\blx@processoptions{% + \ifundef\blx@theoptions + {} + {\begingroup + \edef\blx@tempa{\endgroup + \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}{% + \ifdefstring{\blx@texencoding}{utf8} + {\blx@info@noline{Document encoding is UTF8 ...}% + \RequirePackage{expl3}[2020/04/06]% + \@ifpackagelater{expl3}{2020/04/06} + {\blx@info@noline{... and 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@noline{... but expl3\MessageBreak\csuse{ver@expl3.sty}\MessageBreak + is too old (older than 2020/04/06),\MessageBreak + setting 'casechanger=latex2e'}% + \csuse{blx@opt@casechanger@latex2e}}} + {\blx@info@noline{% + Document encoding not detected as UTF8.\MessageBreak + Setting 'casechanger=latex2e'}% + \csuse{blx@opt@casechanger@latex2e}}} + +\csdef{blx@opt@casechanger@latex2e}{% + \RequirePackage{blx-case-latex2e\abx@filespf}} +\csletcs{blx@opt@casechanger@2e}{blx@opt@casechanger@latex2e} + +\csdef{blx@opt@casechanger@expl3}{% + \ifdefstring{\blx@texencoding}{utf8} + {} + {\blx@warning@noline{% + The expl3 case changer code should only be used\MessageBreak + with UTF-8 encoding.\MessageBreak + But the document encoding was detected as + '\blx@texencoding'.\MessageBreak + Case changing macros may break\MessageBreak + if used with non-ASCII characters}}% + \RequirePackage{blx-case-expl3\abx@filespf}} +\csletcs{blx@opt@casechanger@3}{blx@opt@casechanger@expl3} + +% default to auto +\csletcs{blx@deferoption@casechanger}{blx@opt@casechanger@auto} + +% This is a bit unfortunate, but we need some more definitions after +% loading the case changing code. +\def\blx@casechange@postload{% + % 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} + {}% + % we also need to defer the bibtexcaseprotection option until after we load + % the case changing code + \ifundef\blx@deferoption@bibtexcaseprotection + {} + {\begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@kv@setkeys{blx@opt@pre}{% + \blx@deferoption@bibtexcaseprotection}}% + \blx@tempa}} +% That's it for the case change code + +% Set defaults +\blx@kv@setkeys{blx@opt@ldt}{style=numeric} +\blx@kv@setkeys{blx@opt@pre}{% + sorting=nty,sortlocale=auto,sortcase,sortupper,sortcites=false,pluralothers=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,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, + autofieldlang=none,autofieldlangstrings=false,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, + parentracker,maxparens=3,bibencoding=auto,bibwarn,timezones=false, + seconds=false,julian=false,labeltime=24h,locallabelwidth=false,msform=default, + dynamiclabel=false,langhook=captions} + +% Load Unicode enhancements (only for LuaTeX and XeTeX) +\ifboolexpr{ + not test {\ifundef\XeTeXrevision} + or + not test {\ifundef\luatexversion}} + {\blx@inputonce{blx-unicode.def}{enhanced support for Unicode engines}{}{}{}{}} + {} + +% Load compatibility code +\blx@inputonce{blx-compat.def}{compatibility code}{}{}{}{} + + +% Restore catcodes +\blx@catcodes +\undef\blx@catcodes + +% Process load-time options +\ProcessOptions* + +% Switch to BibTeX support if requested +\iftoggle{blx@bibtex} + {\blx@inputonce{blx-bibtex.def}{BibTeX backend compatibility}{}{}{}{}} + {} + +% Load citation and bibliography styles, configuration file +\blx@inputonce{biblatex.def}{generic definitions}{}{}{}{} +\iftoggle{blx@natbib} + {\blx@inputonce{blx-natbib.def}{natbib compatibility}{}{}{}{}} + {} +\iftoggle{blx@mcite} + {\blx@inputonce{blx-mcite.def}{mcite-like commands}{}{}{}{}} + {} +\RequireBibliographyStyle{\blx@bbxfile} +\RequireCitationStyle{\blx@cbxfile} +\blx@secinit +\citereset +\blx@inputonce{biblatex.cfg}{configuration file}{}{}{}{} + +% Process preamble options +\blx@processoptions + +% first stab at guessing the file encoding +\def\blx@guesstexencoding{% + \ifdef\blx@texencoding@fromoption + {\let\blx@texencoding\blx@texencoding@fromoption + \blx@info@noline{% + Input encoding '\blx@texencoding' specified}} + {\ifundef\inputencodingname + {\ifundef\XeTeXrevision + {\ifundef\luatexversion + {\def\blx@texencoding{ascii}% + \blx@info@noline{% + No input encoding detected.\MessageBreak + Assuming '\blx@texencoding'}} + {\def\blx@texencoding{utf8}% + \blx@info@noline{% + LuaTeX detected.\MessageBreak + Assuming input encoding '\blx@texencoding'}}} + {\def\blx@texencoding{utf8}% + \blx@info@noline{% + XeTeX detected.\MessageBreak + Assuming input encoding '\blx@texencoding'}}} + {\ifcsdef{blx@inpenc@\inputencodingname} + {\letcs\blx@texencoding{blx@inpenc@\inputencodingname}} + {\let\blx@texencoding\inputencodingname}% + \blx@info@noline{% + Input encoding '\blx@texencoding' detected}}}} + +\blx@guesstexencoding +\let\blx@texencoding@firstguess\blx@texencoding + +% this ultimately loads either +% blx-case-expl3.def or blx-case-latex2e.def +\blx@deferoption@casechanger +\blx@casechange@postload + + +% Deferred setup at end of preamble +\AtEndPreamble{% + \blx@checkoptions@global + \c@maxnames\blx@maxcitenames\relax + \c@minnames\blx@mincitenames\relax + \c@maxitems\blx@maxitems\relax + \c@minitems\blx@minitems\relax + \togglefalse{abx@bool@xinits} + \def\do#1{\iftoggle{abx@bool@#1inits}{\toggletrue{abx@bool@xinits}}{}} + \abx@donameparts + \iftoggle{abx@bool@xinits} + {\ifdefstrequal\blx@uniquename\blx@opt@uniquename@full + {\blx@warn@conflopt{% + '<namepart>inits' conflicts with 'uniquename=full'.\MessageBreak + Setting '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}% + \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}% + \blx@kv@setkeys{blx@opt@pre}{uniquename=mininit}} + {}} + {}% + \nottoggle{blx@labeldateparts} + {\ifdefstrequal\blx@uniquelist\blx@opt@uniquelist@minyear + {\blx@warn@conflopt{% + 'uniquelist=minyear' requires 'labeldateparts'.\MessageBreak + Setting 'uniquelist=true'}% + \blx@kv@setkeys{blx@opt@pre}{uniquelist}} + {}} + {}% + \def\do#1{% + \ifcsstring{blx@dateformat@#1}{iso} + {\blx@stripfromendinto{#1}{date}\blx@datetype + \ifdefstring\blx@dateera{astronomical}{} + {\blx@warn@conflopt{% + '#1=iso' requires 'dateera=astronomical'.\MessageBreak + 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'}% + \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'}% + \blx@kv@setkeys{blx@opt@pre}{julian=false}} + {}% + \nottoggle{blx@datezeros} + {\blx@warn@conflopt{% + '#1=iso' requires 'datezeros=true'.\MessageBreak + Setting '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'}% + \blx@kv@setkeys{blx@opt@pre}{timezeros=true}} + {}% + \nottoggle{blx@seconds} + {\blx@warn@conflopt{% + '#1=iso' requires 'seconds=true'.\MessageBreak + Setting 'seconds=true'}% + \blx@kv@setkeys{blx@opt@pre}{seconds=true}} + {}} + {}}% + \abx@dodates + \do{labeldate}} + + + +\def\blx@checkencoding{% + \blx@guesstexencoding + \ifdefstrequal\blx@texencoding@firstguess\blx@texencoding + {} + {\blx@warning@noline{% + Initial guess for file encoding (\blx@texencoding@firstguess)\MessageBreak + and new guess (\blx@texencoding) do not match.\MessageBreak + Please set up your document encoding *before*\MessageBreak + loading biblatex.\MessageBreak + The case changing code might not work as expected}}% + \ifdef\blx@bibencoding + {\ifdefstring\blx@bibencoding{ascii} + {\blx@info@noline{% + Data encoding '\blx@bibencoding' specified.\MessageBreak + No need to reencode data}} + {\ifdefstring\blx@bibencoding{auto} + {\let\blx@bibencoding\blx@texencoding + \blx@info@noline{% + Automatic encoding selection.\MessageBreak + Assuming data encoding '\blx@bibencoding'}} + {\ifdefstrequal\blx@bibencoding\blx@texencoding + {\blx@info@noline{% + Data encoding '\blx@bibencoding' specified.\MessageBreak + No need to reencode data}} + {\blx@info@noline{% + Data encoding '\blx@bibencoding' specified.\MessageBreak + Backend will reencode on the fly}}}}} + {\def\blx@bibencoding{ascii}% + \blx@info@noline{% + Data encoding not specified.\MessageBreak + Assuming '\blx@bibencoding'}}% + \ifboolexpr{% + togl {blx@safeinputenc} + and ( test {\@ifpackageloaded{inputenc}} + or + test {\@ifpackageloaded{inputenx}} ) + } + {\def\blx@texencoding{ascii}% + \blx@info@noline{% + Input encoding '\blx@texencoding' forced by\MessageBreak + 'safeinputenc' option}} + {}% +} + +% Deferred last minute setup +\AtBeginDocument{% + \blx@auxwrite\@mainaux{}{\string\abx@aux@refcontext{\blx@refcontext@context}} + \blx@checkencoding + \if@filesw + \blx@ctrlwrite + \fi + \blx@bblinput + \setcounter{blx@maxsection}{0}% + \csuse{blx@hook@refsectioninit}% + \csuse{abx@preamble}% + \blx@inf@refsec + \blx@inf@refseg} + +\AtEndOfPackage{% + % Data model macros are forbidden after package load is finished + \def\blx@warn@dm#1{\blx@warning@noline{Data model macro '#1' cannot be used in preamble}} + \def\ResetDatamodelEntrytypes{\blx@warn@dm{ResetDatamodelEntrytypes}} + \def\ResetDatamodelFields{\blx@warn@dm{ResetDatamodelFields}} + \def\ResetDatamodelEntryfields{\blx@warn@dm{ResetDatamodelEntryfields}} + \def\ResetDatamodelConstraints{\blx@warn@dm{ResetDatamodelConstraints}} + \renewcommand*{\DeclareDatamodelMultiscriptEntryfields}[1]{\blx@warn@dm{DeclareDatamodelMultiscriptEntryfields}} + \renewcommand*{\DeclareDatamodelEntrytypes}[2][]{\blx@warn@dm{DeclareDatamodelEntrytypes}} + \renewcommand*{\DeclareDatamodelFields}[2][]{\blx@warn@dm{DeclareDatamodelFields}} + \renewcommand*{\DeclareDatamodelEntryfields}[2][]{\blx@warn@dm{DeclareDatamodelEntryfields}} + \renewcommand*{\DeclareDatamodelConstraints}[2][]{\blx@warn@dm{DeclareDatamodelConstraints}} + \renewcommand*{\DeclareDatamodelConstant}[3][]{\blx@warn@dm{DeclareDatamodelConstant}} + \AtBeginDocument{% + \let\do\undef + \blx@dopreamblecmds + \let\do\noexpand}} + +\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-ms/blx-bibtex-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/blx-bibtex-ms.def new file mode 100644 index 00000000000..1b8509a5802 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-bibtex-ms.def @@ -0,0 +1,835 @@ +\ProvidesFile{blx-bibtex-ms.def} +[\abx@cptid] + +\blx@warning@noline{% + Using fall-back bibtex backend:\MessageBreak + functionality may be reduced/unavailable% +} + +% Initialisation of backend-related switches, variables, etc. +\newtoggle{blx@runbtx} + +% No interface provided for this but can be set 'in emergency' by user +\def\blx@maxline{79} + +% Rename write stream so use is clear +\let\blx@write\blx@bcfout + +% Data file initialisation +\edef\blx@auxfile{\jobname} +\let\blx@aux\@mainaux +\newcommand*{\blxauxsuffix}{-blx} + +\begingroup +\def\blx@tempa#1"#2{% + #1\ifx#2\@empty\else + \expandafter\blx@tempa + \fi#2} +\edef\blx@ctrlfile{% + \noexpand\blx@tempa + \expandafter\blx@tempa\jobname"\@empty + \space\noexpand\@empty} +\def\blx@tempa#1 #2{% + #1\ifx#2\@empty\else + \string_\expandafter\blx@tempa + \fi#2} +\xdef\blx@ctrlfile{\blx@ctrlfile} +\endgroup + +\def\blx@auxinit#1{% + \blx@auxwrite\blx@aux + {\def\do##1{,\blx@stripbib{##1}}} + {\ifx\blx@aux\@mainaux + \else + \blx@msg@aux + \fi + \string\bibstyle{biblatex\abx@filespf}\blx@nl + \string\bibdata{% + \blx@ctrlfile\blxauxsuffix + \ifx#1\@empty + \else + \dolistloop#1% + \fi}\blx@nl + \string\citation{biblatex-control}}} + +\def\blx@sig@bib{@Comment{$ biblatex control file $}} +\edef\blx@ver@bib{% + @Comment{$ biblatex bcf format version \blx@bcfversion\space $}} + +\let\blx@sig@aux\blx@sig@bbl +\let\blx@ver@aux\blx@ver@bbl + +\edef\blx@msg@text{% + \@percentchar\space Do not modify this file!\blx@nl + \@percentchar\blx@nl + \@percentchar\space This is an auxiliary file + used by the 'biblatex' package.\blx@nl + \@percentchar\space This file may safely be deleted. + It will be recreated as\blx@nl + \@percentchar\space required.\blx@nl} + +\edef\blx@msg@aux{% + \blx@sig@aux\blx@nl + \blx@ver@aux\blx@nl + \blx@msg@text + \@percentchar\blx@nl\string\relax\blx@nl} +\edef\blx@msg@bib{% + \blx@sig@bib\blx@nl + \blx@ver@bib\blx@nl + \blx@msg@text\blx@nl} + +% User feedback + +\renewrobustcmd*{\RequireBiber}[1][2]{% + \ifnumgreater{#1}\blx@reqbiber + {\numgdef\blx@reqbiber{#1}} + {}% + \blx@checkbackend{style}} +\@onlypreamble\RequireBiber +\let\blx@reqbiber\z@ + +\def\blx@checkbackend#1{% + \ifnum\blx@reqbiber>2 % + \blx@error + {Biber backend is required by #1} + {The selected style or one of the .bib files + requires Biber.\MessageBreak It will + not work at all with BibTeX.}% + \fi} + +\def\blx@check@logreq{% + \begingroup + \ltxrequest{biblatex}{{\iftoggle{blx@runltx}{1}{0}}}{% + \provides[type=dynamic]{ + \def\do##1{\file{##1.aux}} + \dolistloop\blx@list@inactive + \file{\blx@ctrlfile\blxauxsuffix.bib} + } + \requires[type=dynamic]{ + \def\do##1{\file{##1.bbl}} + \dolistloop\blx@list@inactive + } + \ifdef\blx@list@req@edit + {\requires[type=editable]{ + \forlistloop\file\blx@list@req@edit + }} + {} + \ifdef\blx@list@req@stat + {\requires[type=static]{ + \forlistloop\file\blx@list@req@stat + }} + {} + }% + \def\do##1{% + \ifinlist{##1}{\blx@list@active} + {\blx@logreq@bibtex{1}{##1}} + {\blx@logreq@bibtex{0}{##1}}}% + \dolistloop\blx@list@inactive + \endgroup} + +\def\blx@logreq@bibtex#1#2{% + \logrequest[package=biblatex,priority=5,active=#1]{% + \generic{bibtex} + \cmdline{% + \iftoggle{blx@bibtex8} + {\binary{bibtex8} + \option{--wolfgang} + \option{--min\string_crossrefs \blx@mincrossrefs}} + {\binary{bibtex} + \option{-min-crossrefs \blx@mincrossrefs}}% + \infile{#2} + } + \input{ + \file{#2.aux} + } + \output{ + \file{#2.bbl} + } + \provides[type=dynamic]{ + \file{#2.bbl} + } + \requires[type=dynamic]{ + \file{#2.aux} + \file{\blx@ctrlfile\blxauxsuffix.bib} + } + \requires[type=editable]{ + \ifcsdef{blx@list@bibfiles@#2} + {\def\do{\file} + \dolistcsloop{blx@list@bibfiles@#2}} + {} + } + \requires[type=static]{ + \file{biblatex.bst}} + }% +} + +\def\blx@logreq@active#1{% + \xifinlist{\blx@auxfile}{\blx@list@active} + {} + {\listxadd\blx@list@active{\blx@auxfile}}% + \ifblank{#1} + {} + {\@latex@warning{#1}}% + \blx@rerun@latex + \blx@rerun@bibtex} + +\def\blx@logreq@inactive{% + \xifinlist{\blx@auxfile}{\blx@list@inactive} + {} + {\listxadd\blx@list@inactive{\blx@auxfile}}} + +\def\blx@rerun@bibtex{% + \global\toggletrue{blx@runbtx}% + \global\let\blx@rerun@bibtex\relax} + +\def\blx@indextitle{% + \ifundef\abx@field@@@indextitle + {\letcs\abx@field@@@indextitle{abx@field@@@title}} + {}} + +% Only the toggle name changes here +\patchcmd{\blx@check@rerun}{blx@runbiber}{blx@runbtx}{}{} + +\def\blx@warn@auxlist{% + \begingroup + \edef\blx@tempa{Please (re)run BibTeX on the file(s):}% + \def\do##1{\appto\blx@tempa{\MessageBreak##1}}% + \dolistloop\blx@list@active + \blx@warning@noline{% + \blx@tempa\MessageBreak + and rerun LaTeX afterwards}% + \endgroup} + +\protected\def\blx@bibreq#1{% + \blx@auxwrite\blx@aux{}{\string\citation{#1}}} + +% bibtex doesn't parse ISO8601 dates so these overrides do nothing +\appto\blx@blxinit{% + \def\iflabeldateera#1{\@secondoftwo}% + \def\iflabelenddateera#1{\@secondoftwo}% + \let\iflabeldatecirca\@secondoftwo + \let\iflabelenddatecirca\@secondoftwo + \let\iflabeldateuncertain\@secondoftwo + \let\iflabelenddateuncertain\@secondoftwo} + + +% Alter message text +\patchcmd{\blx@bbl@warn}{Biber}{BibTeX}{}{} + +%% Data input + +\patchcmd{\blx@bblinput}{\blx@bblfile}{\blx@bblfile\blx@bblsecs}{}{} + + +\def\blx@bblfile{% + \blx@secinit + \begingroup + \blx@bblstart + \ifnum\c@refsection>\z@ + \edef\blx@auxfile{\jobname\the\c@refsection\blxauxsuffix}% + \else + \edef\blx@auxfile{\jobname}% + \fi + \blx@ifsigned{\blx@auxfile}{bbl} + {\InputIfFileExists{\blx@auxfile.bbl} + {\blx@info@noline{... file '\blx@auxfile.bbl' found}% + \global\toggletrue{blx@bbldone}% + \blx@generate@bbl@mdfivesum@found{\blx@auxfile.bbl}} + {\blx@info@noline{... file '\blx@auxfile.bbl' not found}% + \typeout{No file \blx@auxfile.bbl.}% + \global\togglefalse{blx@bbldone}% + \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 + \csnumgdef{blx@labelnumber@\the\c@refsection}{0}} + +\def\blx@bblsecs{% + \advance\c@refsection\@ne + \ifnum\c@refsection>\c@blx@maxsection + \else + \blx@bblfile + \expandafter\blx@bblsecs + \fi} + +\def\blx@refsection@ii{% + \xdef\blx@auxfile{\jobname\the\c@refsection\blxauxsuffix}% + \blx@regbibfiles\blx@auxfile\blx@bibfiles + \blx@logreq@inactive + \blx@ifsigned{\blx@auxfile}{aux} + {\immediate\openout\blx@write\blx@auxfile.aux\relax + \global\let\blx@aux\blx@write + \blx@auxinit\blx@bibfiles} + {}} + +\def\blx@endrefsection{% + \blx@endrefsegment + \ifx\blx@aux\blx@write + \immediate\closeout\blx@write + \global\let\blx@aux\@mainaux + \xdef\blx@auxfile{\jobname}% + \fi + \global\c@refsection\z@} + + + +% xref support + +% {<entrykey>} +\protected\def\blx@bbl@xref#1{% + \ifcsdef{blx@refp@\the\c@refsection @\detokenize{#1}} + {} + {\listcsxadd{blx@refs@\the\c@refsection}{\detokenize{#1}}}% + \listcsxadd{blx@refp@\the\c@refsection @\detokenize{#1}}{\abx@field@@@entrykey}% + \csxdef{blx@refc@\the\c@refsection @\abx@field@@@entrykey}{\detokenize{#1}}} + +\def\blx@addxref#1{% + \blx@ifdata{#1} + {\begingroup + \def\do##1{% + \csgappto{blx@data@\the\c@refsection @##1}{% + \def\abx@field@@@xref{#1}}}% + \dolistcsloop{blx@refp@\the\c@refsection @#1}% + \endgroup} + {}% + \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 + \let\do\blx@addxref + \dolistcsloop{blx@refs@\the\c@refsection}% + \endgroup + \global\csundef{blx@refs@\the\c@refsection}} + {}% + \iftoggle{blx@addset} + {\blx@addset + \global\togglefalse{blx@addset}} + {}} + + +% 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 + \expandafter\expandafter\expandafter{% + \csname blx@setp@\the\c@refsection @#1\endcsname}% + \endgroup} + +\def\blx@citation@inset#1#2{% + \blx@citation@entry{#1}{#2}% + \expandafter\expandafter\expandafter\blx@citation@inset@i + \expandafter\expandafter\expandafter{% + \csname blx@setc@\the\c@refsection @#1\endcsname}\blx@msg@cundef} + +\def\blx@citation@inset@i#1{% + \ifcsdef{blx@setp@\the\c@refsection @#1} + {\blx@citation@set{#1}} + {\blx@citation@entry{#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 + \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 + +% Luckily all refcontext names use \blx@refcontext@labelprefix, so if we +% don't modify that macro, we don't actually change the refcontext. +% Remember that \blx@refcontext@labelprefix contains a hash of the labelprefix +% and that \blx@refcontext@labelprefix@real contains the value. +% Effectively we always stay in \blx@sorting/global/global//global/global, +% and additionally carry around the labelprefix value +% 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. +\blx@kv@defkey{blx@refcontext}{labelprefix}{% + \xdef\blx@refcontext@labelprefix@real{#1}% + \iftoggle{blx@defernumbers} + {}% + {\iftoggle{blx@labelnumber} + {\blx@warning{% + Option 'labelprefix' requires global\MessageBreak + 'defernumbers=true'}} + {}}% + \ifundef{\blx@bibtexwarn@labelprefix@used} + {\blx@warning@noline{% + The option 'labelprefix' is limited\MessageBreak + when used with BibTeX.\MessageBreak + Consider using Biber instead}% + \global\let\blx@bibtexwarn@labelprefix@used\@empty} + {}} + +\def\blx@warn@bibtexrefcontext#1{% + \blx@warning{% + The refcontext option\MessageBreak + '#1'\MessageBreak + is not supported by the BibTeX backend.\MessageBreak + Consider switching to Biber instead.\MessageBreak + The option will be ignored}} + +\def\blx@bibtexrefcontext@disable#1{% + \blx@kv@defkey{blx@refcontext}{#1}{% + \blx@warn@bibtexrefcontext{#1}}} + +\forcsvlist{\blx@bibtexrefcontext@disable}{% + nametemplates,sorting,sortingnamekeytemplatename,uniquenametemplatename, + labelalphanametemplatename} + +\def\blx@assignrefcontext@disable#1{% + \blx@warning{% + BibTeX does not support refcontext assignments with\MessageBreak + '\string\assignrefcontext#1'.\MessageBreak + Consider using Biber instead.\MessageBreak + Ignoring the refconext assignment}} + +\def\blx@assignrefcontextkeyws[#1][#2]#3{% + \blx@assignrefcontext@disable{keyws}} +\def\blx@assignrefcontextcats[#1][#2]#3{% + \blx@assignrefcontext@disable{cats}} +\def\blx@assignrefcontextentries[#1][#2]#3{% + \blx@assignrefcontext@disable{entries}} + +\apptocmd{\blx@setdefaultrefcontext} + {\csxdef{blx@assignedlabelprefix@\the\c@refsection @#1}{% + \blx@refcontext@labelprefix@real}} + {} + {\blx@error + {Failed to patch '\string\blx@setdefaultrefcontext'} + {Patching '\string\blx@setdefaultrefcontext' failed for some reason. + \MessageBreak + Please report this bug}} + +\def\abx@aux@defaultlabelprefix#1#2#3{% + \csgdef{blx@assignedlabelprefix@#1@#2}{#3}} + +\apptocmd{\blx@bbl@entry} + {\ifcsundef{blx@assignedlabelprefix@\the\c@refsection @\thefield{entrykey}} + {} + {\blx@bbl@addfield{labelprefix}{% + \csuse{blx@assignedlabelprefix@\the\c@refsection + @\thefield{entrykey}}}{}{}}} + {} + {\blx@error + {Failed to patch '\string\blx@bbl@entry'} + {Patching '\string\blx@bbl@entry' failed for some reason. + \MessageBreak + Please report this bug}} + +\blx@AtEndDocument{% + % always add default labelprefix declarations to .aux + \iftoggle{blx@bbldone} + {\def\do#1{% + \begingroup + \def\do##1{% + \blx@auxwrite\@mainaux{}{\string\abx@aux@defaultlabelprefix{#1}{##1}{% + \csuse{blx@assignedlabelprefix@#1@##1}}}}% + \dolistcsloop{blx@defaultrefcontexts@#1}% + \endgroup} + \dolistloop\blx@allrefsections} + {}} + +% bibtex does not support multiscript +\ResetDatamodelMultiscriptEntryfields + +\def\blx@bbl@titles{% + \ifundef\abx@field@@@indextitle + {\csgappto\blx@bbl@data{% + \let\abx@field@@@indextitle\abx@field@@@title}} + {}% + \ifundef\abx@field@@@indexsorttitle + {\csgappto\blx@bbl@data{% + \let\abx@field@@@indexsorttitle\abx@field@@@indextitle}} + {}} + +% Translate sorting schemes to BibTeX form +\def\blx@sorting@none{0} +\def\blx@sorting@nty{1} +\def\blx@sorting@nyt{2} +\def\blx@sorting@nyvt{3} +\def\blx@sorting@anyt{12} +\def\blx@sorting@anyvt{13} +\def\blx@sorting@ynt{21} +\def\blx@sorting@ydnt{22} +\def\blx@sorting@debug{99} + +% Control file + +\edef\blx@ctrl{% + \blx@msg@bib + @Control\string{biblatex-control,\blx@nl + \space\space options = \string{% + \blx@bcfversion:% + \noexpand\iftoggle{blx@debug}{1}{0}:% + \noexpand\iftoggle{blx@bibtex8}{1}{0}:% + \noexpand\iftoggle{blx@sortcase}{1}{0}:% + \noexpand\iftoggle{blx@useprefix}{1}{0}:% + \noexpand\iftoggle{blx@useauthor}{1}{0}:% + \noexpand\iftoggle{blx@useeditor}{1}{0}:% + \noexpand\iftoggle{blx@usetranslator}{1}{0}:% + \noexpand\iftoggle{blx@labelalpha}{1}{0}:% + \noexpand\iftoggle{blx@labeldateparts}{1}{0}:% + \noexpand\iftoggle{blx@singletitle}{1}{0}:% + \noexpand\csuse{blx@sorting@\noexpand\blx@sorting}:% + \noexpand\blx@maxcitenames:% + \noexpand\blx@mincitenames:% + \noexpand\blx@maxsortnames:% + \noexpand\blx@minsortnames:% + \noexpand\iftoggle{blx@nohashothers}{1}{0}:% + \noexpand\iftoggle{blx@nosortothers}{1}{0}:% + \noexpand\blx@maxalphanames:% + \noexpand\blx@minalphanames:% + \noexpand\blx@maxline:% + \noexpand\detokenize\noexpand\expandafter{\noexpand\labelalphaothers}:% + \noexpand\detokenize\noexpand\expandafter{\noexpand\blx@sortalphaothers}:% + \noexpand\detokenize\noexpand\expandafter{\noexpand\blx@sorting}% + \string},\blx@nl + \string}% +} + +\def\blx@ctrlwrite{% + \ifcsundef{blx@sorting@\blx@sorting} + {\blx@warning@noline{Sorting template '\blx@sorting'\MessageBreak + not available with BibTeX backend.\MessageBreak + Switch to Biber or select one of the default templates}} + {}% + \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}% + \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\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 + +\renewrobustcmd*{\DeclareSortingScheme}[3][]{} +\renewrobustcmd*{\DeclareExtradate}[1]{} + +\def\blx@checkencoding{} + +\AtBeginDocument{% + \blx@checkencoding + \if@filesw + \blx@auxinit\blx@bibfiles + \fi} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/blx-case-expl3-ms.sty b/Master/texmf-dist/tex/latex/biblatex-ms/blx-case-expl3-ms.sty new file mode 100644 index 00000000000..b49cd29dfbe --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-case-expl3-ms.sty @@ -0,0 +1,289 @@ +\RequirePackage{expl3}[2020/04/06] +\RequirePackage{xparse} +\ProvidesExplPackage{blx-case-expl3-ms} {\abx@date} {\abx@version} + {expl3 case changing code for biblatex} + + +% helper macros to work around babel \languagename catcode weirdness +\cs_new:Npn \__biblatex_clist_put_detokenized_left:Nn #1 #2 + { + \clist_put_left:No #1 { \detokenize{#2} } + } + +\cs_generate_variant:Nn \__biblatex_clist_put_detokenized_left:Nn { Ne } + + +\prg_new_conditional:Npnn \__biblatex_clist_if_detokenized_in:Nn #1#2 { TF } + { + \clist_if_in:NoTF #1 { \detokenize{#2} } + {\prg_return_true:} + {\prg_return_false:} + } + +\prg_generate_conditional_variant:Nnn \__biblatex_clist_if_detokenized_in:Nn {Ne} {TF} + + + +% 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 \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} + { + \__biblatex_clist_if_detokenized_in:NeTF + \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 } + \__biblatex_clist_put_detokenized_left:Ne + \l__biblatex_caselangs_clist {#2} + } + +% \DeclareCaseLangs invocation is in biblatex.sty + +\NewDocumentCommand \ifcaselang {O{\blx@languagename}} + { + \__biblatex_clist_if_detokenized_in:NeTF \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-ms/blx-case-latex2e-ms.sty b/Master/texmf-dist/tex/latex/biblatex-ms/blx-case-latex2e-ms.sty new file mode 100644 index 00000000000..c53b2aa7362 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-case-latex2e-ms.sty @@ -0,0 +1,326 @@ +\ProvidesPackage{blx-case-latex2e-ms} +[\abx@cptid] + +% auxiliary macros +% babel's \languagename has weird catcodes, +% so we \detokenize our language names + +\def\blx@listgadd@switched#1#2{\listgadd{#2}{#1}} + +\ifundef\expanded + {\protected\def\blx@deifinlist#1{% + \begingroup + \edef\blx@tempa{\endgroup + \blx@deifinlist@i{#1}}% + \blx@tempa}% + \protected\def\blx@deifinlist@i#1{% + \expandafter\ifinlist\expandafter{\detokenize{#1}}}% + % + \protected\def\blx@listdxadd@switched#1{% + \begingroup + \edef\blx@tempa{\endgroup + \blx@listdxadd@switched@i{#1}}% + \blx@tempa}% + \protected\def\blx@listdxadd@switched@i#1{% + \expandafter\blx@listgadd@switched\expandafter{\detokenize{#1}}}} + {\def\blx@deifinlist#1{% + \expandafter\expandafter\expandafter\ifinlist + \expandafter\expandafter\expandafter{% + \expandafter\detokenize\expandafter{\expanded{#1}}}}% + % + \def\blx@listdxadd@switched#1{% + \expandafter\expandafter\expandafter\blx@listgadd@switched + \expandafter\expandafter\expandafter{% + \expandafter\detokenize\expandafter{\expanded{#1}}}}} + +\def\blx@listdxadd#1#2{\blx@listdxadd@switched{#2}{#1}} + + +% 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{% + \blx@deifinlist\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{% + \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{\blx@listdxadd\blx@cmksc@lang}{#1}}} + +% \DeclareCaseLangs invocation is in biblatex.sty + +\newrobustcmd*{\ifcaselang}[1][\blx@languagename]{% + \blx@deifinlist{#1}\blx@cmksc@lang} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/blx-compat-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/blx-compat-ms.def new file mode 100644 index 00000000000..387782a546a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-compat-ms.def @@ -0,0 +1,373 @@ +\ProvidesFile{blx-compat-ms.def} +[\abx@cptid] + +% LaTeX + +\AtBeginDocument{% + \renewrobustcmd*{\bibliography}[1]{% + \blx@error + {'\string\bibliography' invalid in 'document' env} + {Use '\string\addbibresource' instead.\MessageBreak + I'm ignoring this command}}} + +\renewrobustcmd*{\bibliographystyle}[1]{% + \blx@error + {'\string\bibliographystyle' invalid for 'biblatex'} + {Use the package option 'style' instead.\MessageBreak + I'm ignoring this command}} + +% standard classes + +\DeclareOption{openbib}{\ExecuteBibliographyOptions{block=par}} + +% biblatex <0.9b + +\DeclareBibliographyOption[boolean]{defernums}[true]{% + \ExecuteBibliographyOptions{defernumbers=#1}} + +\providecommand*{\lbx@fromlang}{% + \iffieldundef{origlanguage} + {\unspace} + {\bibstring{from\thefield{origlanguage}}}} + +% memoir + +\ifdef\ifnobibintoc + {\newcommand*{\ifmemoirbibintoc}{\notbool{nobibintoc}}} + {\newcommand{\ifmemoirbibintoc}[2]{#2}} + +% KOMA-Script + +\newcommand{\ifkomabibtotoc}[2]{#2} +\newcommand{\ifkomabibtotocnumbered}[2]{#2} + +\ifdef\ds@bibtotoc + {% xkeyval breaks inheritance of key=value class options + \ifdef\XKV@classoptionslist + {\let\blx@classoptionslist\@classoptionslist + \let\@classoptionslist\XKV@classoptionslist + \AtEndOfPackage{\let\@classoptionslist\blx@classoptionslist}} + {}% + \DeclareOption{bibtotoc}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibtotocnumbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{bibliography=notoc}{% + \let\ifkomabibtotoc=\@secondoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibliography=nottotoc}{% + \let\ifkomabibtotoc=\@secondoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibliography=plainheading}{% + \let\ifkomabibtotoc=\@secondoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibliography=totoc}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibliography=toc}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibliography=notnumbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{bibliography=numbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{bibliography=totocnumbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{bibliography=tocnumbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{bibliography=numberedtotoc}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{bibliography=numberedtoc}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{bibliography=oldstyle}{% + \ExecuteBibliographyOptions{block=space}}% + \DeclareOption{bibliography=openstyle}{% + \ExecuteBibliographyOptions{block=par}}% + \DeclareOption{toc=bib}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{toc=bibliography}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{toc=nobib}{% + \let\ifkomabibtotoc=\@secondoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{toc=nobibliography}{% + \let\ifkomabibtotoc=\@secondoftwo + \let\ifkomabibtotocnumbered=\@secondoftwo}% + \DeclareOption{toc=bibnumbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{toc=numberedbib}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{toc=bibliographynumbered}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}% + \DeclareOption{toc=numberedbibliography}{% + \let\ifkomabibtotoc=\@firstoftwo + \let\ifkomabibtotocnumbered=\@firstoftwo}} + {} + +% biblatex <1.6 + +\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{% + \@ifnextchar[%] + {\blx@printshorthands} + {\blx@printshorthands[]}} + +\def\blx@printshorthands[#1]{\printbiblist[{#1}]{shorthand}} + +% Legacy aliases +\def\AtBeginShorthands{\AtBeginBiblist{shorthand}} +\def\AtEveryLositem{\AtEveryBiblistitem{shorthand}} +\@onlypreamble\AtBeginShorthands +\@onlypreamble\AtEveryLositem + +\let\frangelen\rangelen % Legacy name for \rangelen + +\DeclareBibliographyOption[string]{sortlos}{% + \blx@warning@noline{% + 'sortlos' option is deprecated.\MessageBreak + Please use 'sorting' option to '\string\printbiblist'}} + +\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'}} + +\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'}} + +\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'}} + + +\DeclareBibliographyOption[string]{babel}{% + \blx@warning@noline{% + 'babel' option is deprecated.\MessageBreak + Please use 'autolang' instead}% + \blx@autolang@i{#1}} + +\DeclareTypeOption[boolean]{skiplos}{% + \blx@warning@noline{% + skiplos option is deprecated.\MessageBreak + Please use 'skipbiblist' instead}% + \settoggle{blx@skipbiblist}{#1}} +\DeclareEntryOption[boolean]{skiplos}{% + \blx@warning@noline{% + skiplos option is deprecated.\MessageBreak + Please use 'skipbiblist' instead}% + \settoggle{blx@skipbiblist}{#1}} + +% Legacy options moved to \namepart in \DeclareLabelalphaNameTemplate +\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'}} +\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'}} +\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 + '\string\DeclareLabelalphaNameTemplate'}} + +%LEGACY(<3.3) legacy name for \ifgiveninits which is autogenerated now +\def\iffirstinits{ + \blx@warning@noline{% + '\string\iffirstinits' is deprecated.\MessageBreak + Please use '\string\ifgiveninits'}% + \iftoggle{abx@bool@giveninits}} + +% Legacy for giveninits +\DeclareBibliographyOption[boolean]{firstinits}[true]{% + \blx@warning@noline{% + 'firstinits' option is deprecated.\MessageBreak + Please use 'giveninits' instead}% + \settoggle{abx@bool@giveninits}{#1}} + +% Legacy for sortfirstinits/sortgiveninits +\DeclareBibliographyOption[boolean]{sortfirstinits}[true]{% + \blx@warning@noline{% + 'sortfirstinits' option is deprecated.\MessageBreak + Please use 'inits' option to '\string\namepart\space'\MessageBreak + in '\string\DeclareSortingNamekeyTemplate'}} +\DeclareBibliographyOption[boolean]{sortgiveninits}{% + \blx@warning@noline{% + 'sortgiveninits' option is deprecated.\MessageBreak + Please use 'inits' option to '\string\namepart'\MessageBreak + in '\string\DeclareSortingNamekeyTemplate' instead}} + +\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}% + \blx@kv@setkeys{blx@refcontext}{labelprefix=#1}} + +% biblatex < 3.4 +\blx@kv@defkey{blx@bib1}{prefixnumbers}{}%LEGACY(<3.4) legacy name for labelprefix +\DeprecateFieldWithReplacement{prefixnumber}{labelprefix} +\DeclareFieldAlias{prefixnumber}{labelprefix} + +% biblatex < 3.5 +\DeclareBibliographyOption[string]{datelabel}{% + \blx@warning@noline{% + 'datelabel' option is deprecated.\MessageBreak + Please use 'labeldate' instead}% + \blx@kv@setkeys{blx@opt@pre}{labeldate=#1}} + +\DeclareBibliographyOption[boolean]{labelyear}[true]{% + \blx@warning@noline{% + 'labelyear' option is deprecated.\MessageBreak + Please use 'labeldateparts' instead}% + \settoggle{blx@labeldateparts}{#1}} +\DeclareTypeOption[boolean]{labelyear}[true]{% + \blx@warning@noline{% + 'labelyear' option is deprecated.\MessageBreak + Please use 'labeldateparts' instead}% + \settoggle{blx@labeldateparts}{#1}} + +\protected\def\mkdatezeros{% + \blx@warning@noline{% + '\string\mkdatezeros' is deprecated.\MessageBreak + Please use '\string\mkyearzeros', '\string\mkmonthzeros' or\MessageBreak + '\string\mkdayzeros' as appropriate. \MessageBreak + Falling back to '\string\mkmonthzeros'}% + \mkmonthzeros} + +\protected\def\printdatelabel{% + \blx@warning@noline{% + '\string\printdatelabel' is deprecated.\MessageBreak + Please use '\string\printlabeldate'}% + \blx@imc@printlabeldate} + +\protected\def\printdatelabelextra{% + \blx@warning@noline{% + '\string\printdatelabelextra' is deprecated.\MessageBreak + Please use '\string\printlabeldateextra'}% + \blx@imc@printlabeldateextra} + +\newrobustcmd*{\DeclareLabelyear}[2][]{% + \blx@warning@noline{% + 'DeclareLabelyear' is deprecated.\MessageBreak + Please use 'DeclareLabeldate'}} + +\csdef{mkdaterangeiso8601}{% + \blx@warning@noline{% + '\string\mkdaterangeiso8601' is deprecated.\MessageBreak + Please use '\string\mkdaterangeiso'}% + \mkdaterangeiso} + +\csdef{mkdaterangeiso8601extra}{% + \blx@warning@noline{% + '\string\mkdaterangeiso8601extra' is deprecated.\MessageBreak + Please use '\string\mkdaterangeisoextra'}% + \mkdaterangeisoextra} + +% biblatex < 3.8 +\blx@kv@defkey{blx@refcontext}{sortingnamekeyscheme}{% + \blx@warning@noline{'sortingnamekeyscheme' is deprecated.\MessageBreak + Please use 'sortingnamekeytemplatename' instead}% + \gdef\blx@refcontext@sortingnamekeytemplatename{#1}} + +\blx@kv@defkey{blx@assignrefcontext}{sortingnamekeyscheme}{% + \blx@warning@noline{'sortingnamekeyscheme' is deprecated.\MessageBreak + Please use 'sortingnamekeytemplatename' instead}% + \def\blx@tempb{#1}} + +\def\DeclareSortingScheme{% + \blx@warning@noline{% + '\string\DeclareSortingScheme' is deprecated.\MessageBreak + Please use '\string\DeclareSortingTemplate'}% + \DeclareSortingTemplate} + +\def\DeclareSortingNamekeyScheme{% + \blx@warning@noline{% + '\string\DeclareSortingNamekeyScheme' is deprecated.\MessageBreak + Please use '\string\DeclareSortingNamekeyTemplate'}% + \DeclareSortingNamekeyTemplate} + +\def\ifsortnamekeyscheme#1{% + \blx@warning@noline{% + '\string\ifsortnamekeyscheme' is deprecated in sorting specifications.\MessageBreak + Please use '\string\ifsortingnamekeytemplate'}% + \expandafter\ifstrequal\expandafter{\blx@refcontext@sortingnamekeytemplatename}{#1}} + +\DeprecateFieldWithReplacement{extrayear}{extradate} +\DeclareFieldAlias{extrayear}{extradate} + +% EDTF -> ISO +\def\mkdaterangeedtf{% + \blx@warning@noline{% + '\string\mkdaterangeedtf' is deprecated.\MessageBreak + Please use '\string\mkdaterangeiso'}% + \mkdaterangeiso} + +\def\mkdaterangeedtfextra{% + \blx@warning@noline{% + '\string\mkdaterangeedtfextra' is deprecated.\MessageBreak + Please use '\string\mkdaterangeisoextra'}% + \mkdaterangeisoextra} + +% 3.16 +% deprecate \mainlang for \textmainlang +% and \mkrelatedstring for \mkrelatedstringtext +\newcommand{\mkrelatedstring}{\mainlang} + +% 3.17 +% ------------------------------------------------------------------ +% Deprecations for ISO8601 year divisions +% ------------------------------------------------------------------ + +% can't use \DeprecateFieldWithReplacement here because we do some +% testing on the field values, so injecting warnings breaks things +\def\do#1{% + \appto\blx@aliasfields{% + \csletcs{abx@field@#1season}{abx@field@#1yeardivision}% + \csletcs{abx@field@#1endseason}{abx@field@#1endyeardivision}}} +\abx@dodatetypes + + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/blx-dm-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/blx-dm-ms.def new file mode 100644 index 00000000000..3fa25c45776 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-dm-ms.def @@ -0,0 +1,1612 @@ +\ProvidesFile{blx-dm-ms.def} +[\abx@lbxid] + +% -*- mode: LaTeX -*- +\newbool{dmskipout}% +\newbool{dmlabelfield}% + +% Data model .bcf output macros +\xdef\blx@xml@datamodel#1{% + ~~<bcf:datamodel>\blx@nl + #1% + ~~</bcf:datamodel>\blx@nl} +\xdef\blx@xml@datamodel@constants#1{% + ~~~~<bcf:constants>\blx@nl + #1% + ~~~~</bcf:constants>\blx@nl} +\xdef\blx@xml@datamodel@constant#1#2#3{% + ~~~~~~<bcf:constant type="#1" name="#2">#3</bcf:constant>\blx@nl} +\xdef\blx@xml@datamodel@entrytypes#1{% + ~~~~<bcf:entrytypes>\blx@nl + #1% + ~~~~</bcf:entrytypes>\blx@nl} +\xdef\blx@xml@datamodel@entrytype#1#2{% + ~~~~~~<bcf:entrytype#1>#2</bcf:entrytype>\blx@nl} +\xdef\blx@xml@datamodel@fields#1{% + ~~~~<bcf:fields>\blx@nl + #1% + ~~~~</bcf:fields>\blx@nl} +\xdef\blx@xml@datamodel@multiscript@entryfields#1{% + ~~~~<bcf:multiscriptfields>\blx@nl + #1% + ~~~~</bcf:multiscriptfields>\blx@nl} +\xdef\blx@xml@datamodel@multiscript@entryfields@field#1{% + ~~~~~~<bcf:field>#1</bcf:field>\blx@nl} +\xdef\blx@xml@datamodel@field#1#2{% + ~~~~~~<bcf:field#1>#2</bcf:field>\blx@nl} +\xdef\blx@xml@datamodel@entryfields#1{% + ~~~~<bcf:entryfields>\blx@nl + #1% + ~~~~</bcf:entryfields>\blx@nl} +\xdef\blx@xml@datamodel@entryfield@type#1{% + ~~~~~~<bcf:entrytype>#1</bcf:entrytype>\blx@nl} +\xdef\blx@xml@datamodel@entryfield@field#1{% + ~~~~~~<bcf:field>#1</bcf:field>\blx@nl} +\xdef\blx@xml@datamodel@constraints#1{% + ~~~~<bcf:constraints>\blx@nl + #1% + ~~~~</bcf:constraints>\blx@nl} +\xdef\blx@xml@datamodel@constraints@type#1{% + ~~~~~~<bcf:entrytype>#1</bcf:entrytype>\blx@nl} +\xdef\blx@xml@datamodel@constraint#1#2{% + ~~~~~~<bcf:constraint#1>\blx@nl + #2% + ~~~~~~</bcf:constraint>\blx@nl} +\xdef\blx@xml@datamodel@constraintfieldsxor#1{% + ~~~~~~~~<bcf:fieldxor>\blx@nl + #1% + ~~~~~~~~</bcf:fieldxor>\blx@nl} +\xdef\blx@xml@datamodel@constraintfieldsor#1{% + ~~~~~~~~<bcf:fieldor>\blx@nl + #1% + ~~~~~~~~</bcf:fieldor>\blx@nl} +\xdef\blx@xml@datamodel@constraint@antecedent#1#2{% + ~~~~~~~~<bcf:antecedent#1>\blx@nl + #2% + ~~~~~~~~</bcf:antecedent>\blx@nl} +\xdef\blx@xml@datamodel@constraint@consequent#1#2{% + ~~~~~~~~<bcf:consequent#1>\blx@nl + #2% + ~~~~~~~~</bcf:consequent>\blx@nl} +\xdef\blx@xml@datamodel@constraintfield#1{% + ~~~~~~~~<bcf:field>#1</bcf:field>\blx@nl} +\xdef\blx@xml@datamodel@constraintfieldsub#1{% + ~~~~~~~~~~<bcf:field>#1</bcf:field>\blx@nl} + +% Data model specification macros +\newrobustcmd*{\ResetDatamodelEntrytypes}{% + \global\let\blx@bcf@datamodel@entrytypes\@empty + \global\let\blx@datamodel@entrytypes\@empty} + +\newrobustcmd*{\ResetDatamodelFields}{% + \global\let\blx@datamodel@labelfields\@empty + \global\let\blx@bcf@datamodel@fields\@empty + \global\let\blx@datamodel@fields\@empty + \global\let\blx@datamodel@names\@empty + \global\let\blx@datamodel@dates\@empty + \global\let\blx@datamodel@lists\@empty} + +\newrobustcmd*{\ResetDatamodelEntryfields}{% + \global\let\blx@bcf@datamodel@entryfields\@empty} + +\newrobustcmd*{\ResetDatamodelMultiscriptEntryfields}{% + \def\do##1{% + \global\csundef{blx@datamodel@multiscript@entryfield@##1}% + \global\csundef{blx@datamodel@multiscript@entryfield@saved##1}}% + \dolistloop\blx@datamodel@multiscript@entryfields + \global\let\blx@datamodel@multiscript@entryfields\@empty + \global\let\blx@bcf@datamodel@multiscript@entryfields\@empty} + +\newrobustcmd*{\ResetDatamodelConstraints}{% + \global\let\blx@bcf@datamodel@constraints\@empty} + +\newrobustcmd*{\DeclareDatamodelEntrytypes}[2][]{% + \begingroup + \let\blx@tempa\@empty + \def\do##1{% + \ifinlistcs{##1}{blx@datamodel@entrytypes} + {} + {\listcsgadd{blx@datamodel@entrytypes}{##1}}% + \xappto\blx@bcf@datamodel@entrytypes{% + \blx@xml@datamodel@entrytype{\blx@tempa}{##1}}}% + \ifblank{#1} + {\docsvlist{#2}} + {\blx@kv@setkeys{blx@datamodel@entrytypes}{#1} + \docsvlist{#2}}% + \endgroup} + +\blx@kv@defkey{blx@datamodel@entrytypes}{skipout}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempa{ skip\string_output="true"}} + {}} + +% Valid dateparts +\def\blx@notnulldateparts{month,day,hour,minute,second,timezone,yeardivision,endmonth,endday,endhour,endminute,endsecond,endtimezone,endyeardivision} +\def\blx@nullokdateparts{endyear,year} +\edef\blx@dateparts{\blx@notnulldateparts,\blx@nullokdateparts} + +\newrobustcmd*{\DeclareDatamodelFields}[2][]{% + \begingroup + \let\blx@dm@fieldtype\@empty + \let\blx@dm@datatype\@empty + \let\blx@dm@format\@empty + \boolfalse{dmskipout}% + \boolfalse{dmlabelfield}% + \let\blx@tempa\@empty + \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} + {} + {\listcsgadd{blx@datamodelfields@fieldtypes@\blx@dm@fieldtype}{##1}}% + \ifinlistcs{##1}{blx@datamodelfields@datatypes@\blx@dm@datatype} + {} + {\listcsgadd{blx@datamodelfields@datatypes@\blx@dm@datatype}{##1}}% + \ifinlistcs{##1}{blx@datamodelfields@types@\blx@dm@fieldtype @\blx@dm@datatype} + {} + {\listcsgadd{blx@datamodelfields@types@\blx@dm@fieldtype @\blx@dm@datatype}{##1}}% + + % Processed convenience lists of various datamodel fields + + % add to list of dates. These are skipout in the default datamodel but + % we want to auto-create some internals/options for all date fields in + % biblatex + \ifboolexpr{% + test {\ifcsstring{blx@dm@datatype}{date}} + and + not test {\ifinlistcs{##1}{blx@datamodel@dates}}} + {\listcsgadd{blx@datamodel@dates}{##1}} + {}% + \ifboolexpr{% add to list of label fields + not bool {dmskipout} + and + bool {dmlabelfield} + and + not test {\ifinlistcs{##1}{blx@datamodel@labelfields}}} + {\listcsgadd{blx@datamodel@labelfields}{##1}} + {}% + \ifboolexpr{% add to list of names if it is a name which appears in .bbl + not bool {dmskipout} + and + test {\ifcsstring{blx@dm@datatype}{name}} + and + not test {\ifinlistcs{##1}{blx@datamodel@names}}} + {\listcsgadd{blx@datamodel@names}{##1}} + {}% + \ifboolexpr{% add to list of lists if it is a list which appears in .bbl + not bool {dmskipout} + test {\ifcsstring{blx@dm@fieldtype}{list}} + and + ( test {\ifcsstring{blx@dm@datatype}{literal}} + or + test {\ifcsstring{blx@dm@datatype}{key}} + or + test {\ifcsstring{blx@dm@datatype}{uri}} + or + test {\ifcsstring{blx@dm@datatype}{verbatim}} + ) + and + not test {\ifinlistcs{##1}{blx@datamodel@lists}}} + {\listcsgadd{blx@datamodel@lists}{##1}} + {}% + \ifboolexpr{% add to list of fields unless certain type/datatype etc. + bool {dmskipout} + or + test {\ifcsstring{blx@dm@datatype}{name}} + or + ( test {\ifcsstring{blx@dm@fieldtype}{list}} + and + test {\ifcsstring{blx@dm@datatype}{literal}} + ) + or + ( test {\ifcsstring{blx@dm@fieldtype}{list}} + and + test {\ifcsstring{blx@dm@datatype}{key}} + ) + or + ( test {\ifcsstring{blx@dm@fieldtype}{list}} + and + test {\ifcsstring{blx@dm@datatype}{uri}} + ) + or + ( test {\ifcsstring{blx@dm@fieldtype}{list}} + and + test {\ifcsstring{blx@dm@datatype}{verbatim}} + ) + or + ( test {\ifcsstring{blx@dm@fieldtype}{field}} + and + test {\ifcsstring{blx@dm@datatype}{code}} + ) + or + test {\ifinlistcs{##1}{blx@datamodel@fields}}} + {} + {\listcsgadd{blx@datamodel@fields}{##1}}% + \xappto\blx@bcf@datamodel@fields{% + \blx@xml@datamodel@field{\blx@tempa}{##1}}% + + % Dateparts are special - auto-create for all date fields + \ifcsstring{blx@dm@datatype}{date} + {\begingroup + \let\blx@tempa\@empty% reset setkeys buffer due to manual calls below + % add to list of dates. These are skipout in the default datamodel but + % we want to auto-create some internals/options for all date fields in + % biblatex + \ifinlistcs{##1}{blx@datamodel@dates} + {} + {\listcsgadd{blx@datamodel@dates}{##1}}% + \ifinlistcs{##1}{blx@datamodel@fields} + {} + {\listcsgadd{blx@datamodel@fields}{##1}}% + \blx@stripfromendinto{##1}{date}\blx@datetype + % dateparts which are ok to be null (by default *endyear) + \def\do####1{% + \let\blx@tempa\@empty% reset setkeys buffer due to loop calls + \xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields} + {} + {\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}% + \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}% + % dateparts which are not ok to be null by default: + % *year, *(end)month, *(end)day, *(end)hour, *(end)minute, *(end)second, *(end)timezone + % *(end)yeardivision + \def\do####1{% + \let\blx@tempa\@empty% reset setkeys buffer due to loop calls + \xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields} + {} + {\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}% + \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}% + \endgroup} + {}}% + \docsvlist{#2} + \endgroup} + +\blx@kv@defkey{blx@datamodel@field}{type}{% characters + \eappto\blx@tempa{ fieldtype="#1"}% + \def\blx@dm@fieldtype{#1}} +\blx@kv@defkey{blx@datamodel@field}{datatype}{% characters + \eappto\blx@tempa{ datatype="#1"}% + \def\blx@dm@datatype{#1}} +\blx@kv@defkey{blx@datamodel@field}{format}{% characters + \eappto\blx@tempa{ format="#1"}% + \def\blx@dm@format{#1}} +\blx@kv@defkey{blx@datamodel@field}{nullok}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempa{ nullok="true"}} + {}} +\blx@kv@defkey{blx@datamodel@field}{skipout}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempa{ skip\string_output="true"}% + \booltrue{dmskipout}} + {}} +\blx@kv@defkey{blx@datamodel@field}{label}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempa{ label="true"}% + \booltrue{dmlabelfield}} + {}} + +\newrobustcmd*{\DeclareDatamodelConstant}[3][]{% + \begingroup + \let\blx@tempa\@empty + \ifblank{#1} + {\def\blx@tempa{string}} + {\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} + +\blx@kv@defkey{blx@datamodel@constant}{type}{% + \def\blx@tempa{#1}} + +\newrobustcmd*{\DeclareDatamodelMultiscriptEntryfields}[1]{% + \begingroup + \let\blx@tempa\@empty + \def\do##1{% + \eappto\blx@tempa{\blx@xml@datamodel@multiscript@entryfields@field{##1}}% + \listgadd\blx@datamodel@multiscript@entryfields{##1}% + \csgdef{blx@datamodel@multiscript@entryfield@##1}{1}% + \csgdef{blx@datamodel@multiscript@entryfield@saved##1}{1}}% \entrydata tests + \docsvlist{#1}% + \xappto\blx@bcf@datamodel@multiscript@entryfields{\blx@xml@datamodel@multiscript@entryfields{\blx@tempa}}% + \endgroup} + +\newrobustcmd*{\DeclareDatamodelEntryfields}[2][]{% + \begingroup + \let\blx@tempa\@empty + \let\blx@tempb\@empty + \ifblank{#1} + {} + {\def\do##1{% + \eappto\blx@tempa{\blx@xml@datamodel@entryfield@type{##1}}}% + \docsvlist{#1}}% + \def\do##1{% + \eappto\blx@tempb{\blx@xml@datamodel@entryfield@field{##1}}}% + \docsvlist{#2}% + \xappto\blx@bcf@datamodel@entryfields{\blx@xml@datamodel@entryfields{\blx@tempa\blx@tempb}}% + \endgroup} + +\newrobustcmd*{\DeclareDatamodelConstraints}[2][]{% + \begingroup + \let\blx@tempa\@empty + \let\blx@tempb\@empty + \let\constraint\blx@datamodel@constraint + \ifblank{#1} + {} + {\def\do##1{% + \eappto\blx@tempa{\blx@xml@datamodel@constraints@type{##1}}}% + \docsvlist{#1}}% + #2% + \xappto\blx@bcf@datamodel@constraints{\blx@xml@datamodel@constraints{\blx@tempa\blx@tempb}}% + \endgroup} + +\newcommand*{\blx@datamodel@constraint}[2][]{% + \let\blx@tempc\@empty + \let\blx@tempd\@empty + \blx@kv@setkeys{blx@datamodel@constraint}{#1}% + \let\constraintfieldsxor\blx@datamodel@constraintfieldsxor + \let\constraintfieldsor\blx@datamodel@constraintfieldsor + \let\constraintfield\blx@datamodel@constraintfield + \let\antecedent\blx@datamodel@constraint@antecedent + \let\consequent\blx@datamodel@constraint@consequent + #2% + \eappto\blx@tempb{\blx@xml@datamodel@constraint{\blx@tempc}{\blx@tempd}}} + +\blx@kv@defkey{blx@datamodel@constraint}{type}{% characters + \eappto\blx@tempc{ type="#1"}} +\blx@kv@defkey{blx@datamodel@constraint}{datatype}{% characters + \eappto\blx@tempc{ datatype="#1"}} +\blx@kv@defkey{blx@datamodel@constraint}{rangemin}{% integer + \eappto\blx@tempc{ rangemin="#1"}} +\blx@kv@defkey{blx@datamodel@constraint}{rangemax}{% integer + \eappto\blx@tempc{ rangemax="#1"}} +\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 + \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}}} + +\newcommand*{\blx@datamodel@constraint@consequent}[2][]{% + \let\blx@tempe\@empty + \let\blx@temph\@empty + \let\constraintfield\blx@datamodel@constraintfieldsub + \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}}} + +\blx@kv@defkey{blx@datamodel@constraint@quant}{quantifier}{% characters + \eappto\blx@tempe{ quant="#1"}} + +\newcommand*{\blx@datamodel@constraintfieldsxor}[1]{% + \let\blx@temph\@empty + \let\constraintfield\blx@datamodel@constraintfieldsub + #1% + \let\constraintfield\blx@datamodel@constraintfield% back to default + \eappto\blx@tempd{\blx@xml@datamodel@constraintfieldsxor{\blx@temph}}} + +\newcommand*{\blx@datamodel@constraintfieldsor}[1]{% + \let\blx@temph\@empty + \let\constraintfield\blx@datamodel@constraintfieldsub + #1% + \let\constraintfield\blx@datamodel@constraintfield% back to default + \eappto\blx@tempd{\blx@xml@datamodel@constraintfieldsor{\blx@temph}}} + +\newcommand*{\blx@datamodel@constraintfield}[1]{% + \eappto\blx@tempd{\blx@xml@datamodel@constraintfield{#1}}} + +\newcommand*{\blx@datamodel@constraintfieldsub}[1]{% + \eappto\blx@temph{\blx@xml@datamodel@constraintfieldsub{#1}}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Data model specification + +\DeclareDatamodelConstant[type=list]{gender}{sf,sm,sn,pf,pm,pn,pp} +\DeclareDatamodelConstant[type=list]{nameparts}{family,given,prefix,suffix} +\DeclareDatamodelConstant[type=list]{optiondatatypes}{boolean,integer,string,xml} +\DeclareDatamodelConstant[type=list]{multiscriptforms}{default,transliteration,transcription,translation} + +\DeclareDatamodelEntrytypes{ + article, + artwork, + audio, + bibnote, + book, + bookinbook, + booklet, + collection, + commentary, + customa, + customb, + customc, + customd, + custome, + customf, + dataset, + inbook, + incollection, + inproceedings, + inreference, + image, + jurisdiction, + legal, + legislation, + letter, + manual, + misc, + movie, + music, + mvcollection, + mvreference, + mvproceedings, + mvbook, + online, + patent, + performance, + periodical, + proceedings, + reference, + report, + review, + set, + software, + standard, + suppbook, + suppcollection, + suppperiodical, + thesis, + unpublished, + video} + +\DeclareDatamodelEntrytypes[skipout]{xdata} + +\DeclareDatamodelFields[type=field, datatype=integer]{ + sortyear, + volume, + volumes} + +\DeclareDatamodelFields[type=field, datatype=literal]{ + abstract, + addendum, + annotation, + booksubtitle, + booktitle, + booktitleaddon, + chapter, + edition, + eid, + entrysubtype, + eprintclass, + eprinttype, + eventtitle, + eventtitleaddon, + gender, + howpublished, + indexsorttitle, + indextitle, + isan, + isbn, + ismn, + isrn, + issn, + issue, + issuesubtitle, + issuetitle, + issuetitleaddon, + iswc, + journalsubtitle, + journaltitle, + journaltitleaddon, + label, + langid, + langidopts, + library, + mainsubtitle, + maintitle, + maintitleaddon, + nameaddon, + note, + number, + origtitle, + pagetotal, + part, + relatedstring, + relatedtype, + reprinttitle, + series, + shorthandintro, + subtitle, + title, + titleaddon, + usera, + userb, + userc, + userd, + usere, + userf, + venue, + version} + +\DeclareDatamodelFields[type=field, datatype=literal, label=true]{ + shorthand, + shortjournal, + shortseries, + shorttitle} + +\DeclareDatamodelFields[type=field, datatype=literal, skipout]{ + sorttitle, + sortshorthand, + sortkey, + presort} + +\DeclareDatamodelFields[type=list, datatype=literal]{ + institution, + lista, + listb, + listc, + listd, + liste, + listf, + location, + organization, + origlocation, + origpublisher, + publisher} + +\DeclareDatamodelFields[type=list, datatype=name]{ + afterword, + annotator, + author, + bookauthor, + commentator, + editor, + editora, + editorb, + editorc, + foreword, + holder, + introduction, + namea, + nameb, + namec, + translator} + +\DeclareDatamodelFields[type=list, datatype=name, label=true]{ + shortauthor, + shorteditor} + +\DeclareDatamodelFields[type=list, datatype=name, skipout]{sortname} + +\DeclareDatamodelFields[type=field, datatype=key]{ + authortype, + editoratype, + editorbtype, + editorctype, + editortype, + bookpagination, + nameatype, + namebtype, + namectype, + pagination, + pubstate, + type} + +\DeclareDatamodelFields[type=list, datatype=key]{language,origlanguage} + +\DeclareDatamodelFields[type=field, datatype=entrykey]{ + crossref, + xref} + +\DeclareDatamodelFields[type=field, datatype=date, skipout]{ + date, + eventdate, + origdate, + urldate} + +\DeclareDatamodelFields[type=field, datatype=verbatim]{ + doi, + eprint, + file, + verba, + verbb, + verbc} + +\DeclareDatamodelFields[type=field, datatype=uri]{url} + +\DeclareDatamodelFields[type=field, format=xsv, datatype=entrykey, skipout]{xdata, ids, entryset} +\DeclareDatamodelFields[type=field, format=xsv, datatype=entrykey]{related} + +\DeclareDatamodelFields[type=field, format=xsv, datatype=keyword]{keywords} + +\DeclareDatamodelFields[type=field, format=xsv, datatype=option, skipout]{options, relatedoptions} +\DeclareDatamodelFields[type=field, datatype=range]{pages} + +\DeclareDatamodelFields[type=field, datatype=code]{execute} + +% fields for all entry types +\DeclareDatamodelEntryfields{ + abstract, + annotation, + authortype, + bookpagination, + crossref, + day, + doi, + eprint, + eprintclass, + eprinttype, + endday, + endhour, + endminute, + endmonth, + endsecond, + endtimezone, + endyear, + endyeardivision, + entryset, + entrysubtype, + execute, + file, + gender, + hour, + ids, + indextitle, + indexsorttitle, + isan, + ismn, + iswc, + keywords, + label, + langid, + langidopts, + library, + lista, + listb, + listc, + listd, + liste, + listf, + minute, + month, + namea, + nameb, + namec, + nameatype, + namebtype, + namectype, + nameaddon, + options, + origday, + origendday, + origendhour, + origendminute, + origendmonth, + origendsecond, + origendtimezone, + origendyear, + origendyeardivision, + orighour, + origminute, + origmonth, + origsecond, + origtimezone, + origyear, + origyeardivision, + origlocation, + origpublisher, + origtitle, + pagination, + presort, + related, + relatedoptions, + relatedstring, + relatedtype, + second, + shortauthor, + shorteditor, + shorthand, + shorthandintro, + shortjournal, + shortseries, + shorttitle, + sortkey, + sortname, + sortshorthand, + sorttitle, + sortyear, + timezone, + url, + urlday, + urlendday, + urlendhour, + urlendminute, + urlendmonth, + urlendsecond, + urlendtimezone, + urlendyear, + urlhour, + urlminute, + urlmonth, + urlsecond, + urltimezone, + urlyear, + usera, + userb, + userc, + userd, + usere, + userf, + verba, + verbb, + verbc, + xdata, + xref, + year, + yeardivision} + +\DeclareDatamodelEntryfields[set]{ + entryset} + +\DeclareDatamodelEntryfields[article]{ + addendum, + annotator, + author, + commentator, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + eid, + issn, + issue, + issuetitle, + issuesubtitle, + issuetitleaddon, + journalsubtitle, + journaltitle, + journaltitleaddon, + language, + note, + number, + origlanguage, + pages, + pubstate, + series, + subtitle, + title, + titleaddon, + translator, + version, + volume} + +\DeclareDatamodelEntryfields[bibnote]{note} + +\DeclareDatamodelEntryfields[book]{ + author, + addendum, + afterword, + annotator, + chapter, + commentator, + edition, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + eid, + foreword, + introduction, + isbn, + language, + location, + maintitle, + maintitleaddon, + mainsubtitle, + note, + number, + origlanguage, + pages, + pagetotal, + part, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + translator, + volume, + volumes} + +\DeclareDatamodelEntryfields[mvbook]{ + addendum, + afterword, + annotator, + author, + commentator, + edition, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + foreword, + introduction, + isbn, + language, + location, + note, + number, + origlanguage, + pagetotal, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + translator, + volume, + volumes} + +\DeclareDatamodelEntryfields[inbook,bookinbook,suppbook]{ + addendum, + afterword, + annotator, + author, + booktitle, + bookauthor, + booksubtitle, + booktitleaddon, + chapter, + commentator, + edition, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + eid, + foreword, + introduction, + isbn, + language, + location, + mainsubtitle, + maintitle, + maintitleaddon, + note, + number, + origlanguage, + part, + publisher, + pages, + pubstate, + series, + subtitle, + title, + titleaddon, + translator, + volume, + volumes} + +\DeclareDatamodelEntryfields[booklet]{ + addendum, + author, + chapter, + editor, + editortype, + eid, + howpublished, + language, + location, + note, + pages, + pagetotal, + pubstate, + subtitle, + title, + titleaddon, + type} + +\DeclareDatamodelEntryfields[collection,reference]{ + addendum, + afterword, + annotator, + chapter, + commentator, + edition, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + eid, + foreword, + introduction, + isbn, + language, + location, + mainsubtitle, + maintitle, + maintitleaddon, + note, + number, + origlanguage, + pages, + pagetotal, + part, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + translator, + volume, + volumes} + +\DeclareDatamodelEntryfields[mvcollection,mvreference]{ + addendum, + afterword, + annotator, + author, + commentator, + edition, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + foreword, + introduction, + isbn, + language, + location, + note, + number, + origlanguage, + publisher, + pubstate, + subtitle, + title, + titleaddon, + translator, + volume, + volumes} + +\DeclareDatamodelEntryfields[incollection,suppcollection,inreference]{ + addendum, + afterword, + annotator, + author, + booksubtitle, + booktitle, + booktitleaddon, + chapter, + commentator, + edition, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + eid, + foreword, + introduction, + isbn, + language, + location, + mainsubtitle, + maintitle, + maintitleaddon, + note, + number, + origlanguage, + pages, + part, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + translator, + volume, + volumes} + +\DeclareDatamodelEntryfields[dataset]{ + addendum, + author, + edition, + editor, + editortype, + language, + location, + note, + number, + organization, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + type, + version} + +\DeclareDatamodelEntryfields[manual]{ + addendum, + author, + chapter, + edition, + editor, + editortype, + eid, + isbn, + language, + location, + note, + number, + organization, + pages, + pagetotal, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + type, + version} + +\DeclareDatamodelEntryfields[misc,software]{ + addendum, + author, + editor, + editortype, + howpublished, + language, + location, + note, + organization, + pubstate, + subtitle, + title, + titleaddon, + type, + version} + +\DeclareDatamodelEntryfields[online]{ + addendum, + author, + editor, + editortype, + language, + note, + organization, + pubstate, + subtitle, + title, + titleaddon, + version} + +\DeclareDatamodelEntryfields[patent]{ + addendum, + author, + holder, + location, + note, + number, + pubstate, + subtitle, + title, + titleaddon, + type, + version} + +\DeclareDatamodelEntryfields[periodical]{ + addendum, + editor, + editora, + editorb, + editorc, + editortype, + editoratype, + editorbtype, + editorctype, + issn, + issue, + issuesubtitle, + issuetitle, + issuetitleaddon, + language, + note, + number, + pubstate, + series, + subtitle, + title, + titleaddon, + volume, + yeardivision} + +\DeclareDatamodelEntryfields[mvproceedings]{ + addendum, + editor, + editortype, + eventday, + eventendday, + eventendhour, + eventendminute, + eventendmonth, + eventendsecond, + eventendtimezone, + eventendyear, + eventendyeardivision, + eventhour, + eventminute, + eventmonth, + eventsecond, + eventtimezone, + eventyear, + eventyeardivision, + eventtitle, + eventtitleaddon, + isbn, + language, + location, + note, + number, + organization, + pagetotal, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + venue, + volumes} + +\DeclareDatamodelEntryfields[proceedings]{ + addendum, + chapter, + editor, + editortype, + eid, + eventday, + eventendday, + eventendhour, + eventendminute, + eventendmonth, + eventendsecond, + eventendtimezone, + eventendyear, + eventendyeardivision, + eventhour, + eventminute, + eventmonth, + eventsecond, + eventtimezone, + eventyear, + eventyeardivision, + eventtitle, + eventtitleaddon, + isbn, + language, + location, + mainsubtitle, + maintitle, + maintitleaddon, + note, + number, + organization, + pages, + pagetotal, + part, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + venue, + volume, + volumes} + +\DeclareDatamodelEntryfields[inproceedings]{ + addendum, + author, + booksubtitle, + booktitle, + booktitleaddon, + chapter, + editor, + editortype, + eid, + eventday, + eventendday, + eventendhour, + eventendminute, + eventendmonth, + eventendsecond, + eventendtimezone, + eventendyear, + eventendyeardivision, + eventhour, + eventminute, + eventmonth, + eventsecond, + eventtimezone, + eventyear, + eventyeardivision, + eventtitle, + eventtitleaddon, + isbn, + language, + location, + mainsubtitle, + maintitle, + maintitleaddon, + note, + number, + organization, + pages, + part, + publisher, + pubstate, + series, + subtitle, + title, + titleaddon, + venue, + volume, + volumes} + +\DeclareDatamodelEntryfields[report]{ + addendum, + author, + chapter, + eid, + institution, + isrn, + language, + location, + note, + number, + pages, + pagetotal, + pubstate, + subtitle, + title, + titleaddon, + type, + version} + +\DeclareDatamodelEntryfields[thesis]{ + addendum, + author, + chapter, + eid, + institution, + language, + location, + note, + pages, + pagetotal, + pubstate, + subtitle, + title, + titleaddon, + type} + +\DeclareDatamodelEntryfields[unpublished]{ + addendum, + author, + eventday, + eventendday, + eventendhour, + eventendminute, + eventendmonth, + eventendsecond, + eventendtimezone, + eventendyear, + eventendyeardivision, + eventhour, + eventminute, + eventmonth, + eventsecond, + eventtimezone, + eventyear, + eventyeardivision, + eventtitle, + eventtitleaddon, + howpublished, + language, + location, + note, + pubstate, + subtitle, + title, + titleaddon, + type, + venue} + +\DeclareDatamodelMultiscriptEntryfields{ + abstract, + addendum, + afterword, + annotator, + author, + bookauthor, + booksubtitle, + booktitle, + booktitleaddon, + chapter, + commentator, + editor, + editora, + editorb, + editorc, + foreword, + holder, + institution, + introduction, + issuesubtitle, + issuetitle, + issuetitleaddon, + journalsubtitle, + journaltitle, + journaltitleaddon, + lista, + listb, + listc, + location, + mainsubtitle, + maintitle, + maintitleaddon, + nameaddon, + namea, + nameb, + namec, + note, + organization, + origlocation, + origpublisher, + origtitle, + part, + publisher, + relatedstring, + series, + sortname, + sortshorthand, + sorttitle, + subtitle, + title, + titleaddon, + translator, + venue} + +\DeclareDatamodelConstraints[ + article, + book, + inbook, + bookinbook, + suppbook, + booklet, + collection, + incollection, + suppcollection, + manual, + misc, + mvbook, + mvcollection, + online, + patent, + periodical, + suppperiodical, + proceedings, + inproceedings, + reference, + inreference, + report, + set, + thesis, + unpublished]{ + \constraint[type=mandatory]{ + \constraintfieldsxor{ + \constraintfield{date} + \constraintfield{year} + } + } + } + +\DeclareDatamodelConstraints[set]{ + \constraint[type=mandatory]{ + \constraintfield{entryset} + } +} + +\DeclareDatamodelConstraints[article]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{journaltitle} + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[book,mvbook]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[inbook,bookinbook,suppbook]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + \constraintfield{booktitle} + } +} + +\DeclareDatamodelConstraints[booklet]{ + \constraint[type=mandatory]{ + \constraintfieldsor{ + \constraintfield{author} + \constraintfield{editor} + } + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[collection,reference,mvcollection,mvreference]{ + \constraint[type=mandatory]{ + \constraintfield{editor} + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[incollection,suppcollection,inreference]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{editor} + \constraintfield{title} + \constraintfield{booktitle} + } +} + +\DeclareDatamodelConstraints[dataset]{ + \constraint[type=mandatory]{ + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[manual]{ + \constraint[type=mandatory]{ + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[misc,software]{ + \constraint[type=mandatory]{ + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[online]{ + \constraint[type=mandatory]{ + \constraintfield{title} + \constraintfieldsor{ + \constraintfield{url} + \constraintfield{doi} + \constraintfield{eprint} + } + } +} + +\DeclareDatamodelConstraints[patent]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + \constraintfield{number} + } +} + +\DeclareDatamodelConstraints[periodical]{ + \constraint[type=mandatory]{ + \constraintfield{editor} + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[proceedings,mvproceedings]{ + \constraint[type=mandatory]{ + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints[inproceedings]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + \constraintfield{booktitle} + } +} + +\DeclareDatamodelConstraints[report]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + \constraintfield{type} + \constraintfield{institution} + } +} + +\DeclareDatamodelConstraints[thesis]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + \constraintfield{type} + \constraintfield{institution} + } +} + +\DeclareDatamodelConstraints[unpublished]{ + \constraint[type=mandatory]{ + \constraintfield{author} + \constraintfield{title} + } +} + +\DeclareDatamodelConstraints{ + \constraint[type=data, datatype=isbn]{ + \constraintfield{isbn} + } + \constraint[type=data, datatype=issn]{ + \constraintfield{issn} + } + \constraint[type=data, datatype=ismn]{ + \constraintfield{ismn} + } + \constraint[type=data, datatype=pattern, pattern=\regexp{(?:sf|sm|sn|pf|pm|pn|pp)}]{ + \constraintfield{gender} + } +} + diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/blx-mcite-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/blx-mcite-ms.def new file mode 100644 index 00000000000..2b59d1296c2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-mcite-ms.def @@ -0,0 +1,78 @@ +\ProvidesFile{blx-mcite-ms.def} +[\abx@cptid] + +\newrobustcmd*{\mcite}{\mcitelike\cite} +\newrobustcmd*{\Mcite}{\mcitelike\Cite} +\newrobustcmd*{\mparencite}{\mcitelike\parencite} +\newrobustcmd*{\Mparencite}{\mcitelike\Parencite} +\newrobustcmd*{\mfootcite}{\mcitelike\footcite} +\newrobustcmd*{\mfootcitetext}{\mcitelike\footcitetext} +\newrobustcmd*{\mtextcite}{\mcitelike\textcite} +\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} +% \defbibentryset{setB}{keyB1,keyB2,keyB3} +% \cite{key1,setA,key2,setB} + +\newrobustcmd*{\mcitelike}[1]{% + \@ifstar + {\blx@citeargs{\blx@mclike{#1*}}} + {\blx@citeargs{\blx@mclike{#1}}}} + +\long\def\blx@mclike#1#2#3#4{% + \begingroup + \let\blx@mclike@tempa\@empty + \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}}% + \blx@mclike@tempa} + +\def\blx@mclike@i#1{% + \forcsvlist\blx@mclike@ii{#1}% + \blx@mclike@iv} + +\def\blx@mclike@ii#1{\blx@mclike@iii#1&} + +\def\blx@mclike@iii#1#2&{% + \if*#1% + \blx@mclike@tail{#2}% + \else + \blx@mclike@head{#1#2}% + \fi} + +\def\blx@mclike@iv{% + \ifx\blx@mclike@tempb\@empty + \else + \ifx\blx@mclike@tempc\@empty + \else + \defbibentryset{\blx@mclike@tempb}{\blx@mclike@tempc}% + \let\blx@mclike@tempc\@empty + \fi + \nocite{\blx@mclike@tempb}% preserve citation order for sorting=none + \let\blx@mclike@tempb\@empty + \fi} + +\def\blx@mclike@head#1{% + \blx@mclike@iv + \edef\blx@mclike@tempa{% + \ifx\blx@mclike@tempa\@empty + \else + \blx@mclike@tempa,% + \fi#1}% + \def\blx@mclike@tempb{#1}} + +\def\blx@mclike@tail#1{% + \edef\blx@mclike@tempc{% + \ifx\blx@mclike@tempc\@empty + \else + \blx@mclike@tempc,% + \fi#1}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/blx-natbib-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/blx-natbib-ms.def new file mode 100644 index 00000000000..fc3c40664d4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-natbib-ms.def @@ -0,0 +1,84 @@ +\ProvidesFile{blx-natbib-ms.def} +[\abx@cptid] + +\DeclareDelimFormat{nameyeardelim}{\addcomma\space} + +\newrobustcmd*{\citet}{% + \@ifstar + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% + \textcite} + {\textcite}} + +\newrobustcmd*{\citep}{% + \@ifstar + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% + \parencite} + {\parencite}} + +\newrobustcmd*{\citealt}{% + \AtNextCite{\DeclareDelimFormat{nameyeardelim}{\addspace}}% + \@ifstar + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% + \cite} + {\cite}} + +\newrobustcmd*{\citealp}{% + \@ifstar + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% + \cite} + {\cite}} + +\DeclareCiteCommand*{\citeauthor} + {\defcounter{maxnames}{999}% + \boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \printnames{labelname}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeyearpar}[\mkbibparens] + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\printfield{year}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\newrobustcmd*{\Citet}{\bibsentence\citet} +\newrobustcmd*{\Citep}{\bibsentence\citep} +\newrobustcmd*{\Citealt}{\bibsentence\citealt} +\newrobustcmd*{\Citealp}{\bibsentence\citealp} +\newrobustcmd*{\citefullauthor}{\citeauthor*} +\newrobustcmd*{\Citefullauthor}{\bibsentence\citeauthor*} +\newrobustcmd*{\citetext}{\parentext} + +\newrobustcmd*{\defcitealias}[2]{% + \ifcsdef{abx@alias@\detokenize{#1}} + {\PackageWarning{biblatex}{% + Overwriting alias for entry '\detokenize{#1}'}} + {}% + \csgdef{abx@alias@\detokenize{#1}}{#2}} + +\newcommand*{\@citealias}[1]{% + \ifcsdef{abx@alias@#1} + {\csuse{abx@alias@#1}} + {\PackageWarning{biblatex}{No alias for entry '#1'}% + \textbf{#1}}} + +\DeclareCiteCommand{\citetalias} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \@citealias{\thefield{entrykey}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citepalias}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \@citealias{\thefield{entrykey}}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/blx-unicode-ms.def b/Master/texmf-dist/tex/latex/biblatex-ms/blx-unicode-ms.def new file mode 100644 index 00000000000..12eabfe98b5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/blx-unicode-ms.def @@ -0,0 +1,129 @@ +% This test should not be needed since biblatex.sty already checks +% if LuaTeX or XeTeX is used. +% Currently Unicode-aware engines are only XeTeX and LuaTeX, +% both of which define \Umathcode. +\ifx\Umathcode\undefined + \expandafter\endinput +\fi + +\begingroup +\openin\blx@bcfin=UnicodeData.txt % +\ifeof\blx@bcfin +\else + \let\blx@setazcodes\@empty + \def\Lu{Lu} + \def\storedpar{\par} + \def\blx@tempa#1;#2;#3;#4\relax{% + \def\temp{#3}% + \ifx\temp\Lu + \xdef\blx@setazcodes{% + \blx@setazcodes + \sfcode"#1=\@m + } + \fi + } + \loop\unless\ifeof\blx@bcfin + \read\blx@bcfin to \blx@tempb + \unless\ifx\blx@tempb\storedpar + \expandafter\blx@tempa\blx@tempb\relax + \fi + \repeat +\fi +\closein\blx@bcfin +\endgroup + +% Second part of workaround for odd XeTeX/babel-french behaviour +% https://github.com/plk/biblatex/issues/979 +% fix by Ulrike Fischer +% https://tex.stackexchange.com/a/544914/. +% The first bit lives in biblatex.sty. +% At some point we may want to consider providing a +% blx-unicode-xetex and a blx-unicode-lualatex +% both loading a blx-unicode-generic. +% For now this test is enough. +\ifundef\XeTeXrevision + {} + {\providerobustcmd*{\textnohyphenation}[1]{% + \bgroup\nohyphenation#1\egroup^^^^200b}} + +\appto\blx@setfrcodes{% + % … should probably have dot spacefactor, but pdfLaTeX + % makes it a period, so we have this here for consistency + \sfcode`\…=\blx@sf@period +} + +\DeclarePrefChars*{’} +\DeclareRangeChars*{–—} + +\def\blx@normrange@range#1\bibrangedash#2\bibrangedash#3&{% + \ifblank{#3} + {\blx@normrange@endash#1––&} + {\ifblank{#2} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash}}% + \blx@tempc} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{% + \unexpanded{#2}}}}% + \blx@tempc} + {\blx@range@process{#1}{#2}}}}} + +\def\blx@normrange@endash#1–#2–#3&{% + \ifblank{#3} + {\blx@normrange@hyphen#1--&} + {\ifblank{#2} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash}}% + \blx@tempc} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} + {\blx@range@process{#1}{#2}}}}} + +\def\blx@firstpage@range#1\bibrangedash#2\bibrangedash#3&{% + \ifblank{#3} + {\blx@firstpage@endash#1––&} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@tempc}}} + +\def\blx@firstpage@endash#1–#2–#3&{% + \ifblank{#3} + {\blx@firstpage@hyphen#1--&} + {\ifblank{#1} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@tempc}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/alphabetic-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/alphabetic-ms.cbx new file mode 100644 index 00000000000..e1a6424156e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/alphabetic-ms.cbx @@ -0,0 +1,148 @@ +\ProvidesFile{alphabetic-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labelalpha,autocite=inline} + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\providebool{bbx:subentry} +\newbool{cbx:parens} + +\DeclareFieldFormat{entrysetcount}{\mkbibparens{\mknumalph{#1}}} + +\newbibmacro*{cite}{% + \printtext[bibhyperref]{% + \printfield{labelprefix}% + \printfield{labelalpha}% + \printfield{extraalpha}% + \ifbool{bbx:subentry} + {\printfield{entrysetcount}} + {}}} + +\newbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\multicitedelim}} + {\ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{namelabeldelim}\bibopenbracket}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite}% + \setunit{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\newbibmacro*{textcite:init}{% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash} + {\global\undef\cbx@lasthash}} + +\newbibmacro*{textcite:postnote}{% + \usebibmacro{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\DeclareCiteCommand{\cite}[\mkbibbrackets] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{textcite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}[\mkbibbrackets]{\cite}{\multicitedelim} +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\smartcite}{\multicitedelim} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/alphabetic-verb-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/alphabetic-verb-ms.cbx new file mode 100644 index 00000000000..da506fa4742 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/alphabetic-verb-ms.cbx @@ -0,0 +1,88 @@ +\ProvidesFile{alphabetic-verb-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labelalpha,autocite=inline} + +\renewcommand*{\iffinalcitedelim}{\iflastcitekey} + +\providebool{bbx:subentry} + +\DeclareFieldFormat{entrysetcount}{\mkbibparens{\mknumalph{#1}}} + +\newbibmacro*{cite}{% + \printtext[bibhyperref]{% + \printfield{labelprefix}% + \printfield{labelalpha}% + \printfield{extraalpha}% + \ifbool{bbx:subentry} + {\printfield{entrysetcount}} + {}}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \printdelim{namelabeldelim}\bibopenbracket + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite}} + +\DeclareCiteCommand{\cite} + {\bibopenbracket + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \ifnumgreater{\value{citecount}}{1} + {\bibopenbracket} + {}% + \usebibmacro{cite}} + {\bibclosebracket\multicitedelim} + {\usebibmacro{postnote}% + \bibclosebracket} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {} + {\usebibmacro{citeindex}% + \iffirstcitekey + {\setcounter{textcitetotal}{1}} + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}} + {\bibclosebracket} + {\usebibmacro{postnote}% + \bibclosebracket} + +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\smartcite}{\multicitedelim} +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-comp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-comp-ms.cbx new file mode 100644 index 00000000000..6c4e411fc80 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-comp-ms.cbx @@ -0,0 +1,198 @@ +\ProvidesFile{authortitle-comp-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{uniquename,uniquelist,sortcites,autocite=footnote} + +\renewcommand*{\iffinalcitedelim}{% + \ifnameundef{labelname} + {\ifnumequal{\value{textcitecount}}{\value{textcitetotal}}} + {\ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}}} + +\newbool{cbx:parens} + +\newbibmacro*{cite:init}{% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash} + {\iffieldundef{prenote} + {} + {\global\undef\cbx@lasthash}}} + +\newbibmacro*{cite:reinit}{% + \global\undef\cbx@lasthash} + +\newbibmacro*{cite}{% + \iffieldundef{shorthand} + {\iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}} + {\printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \savefield{namehash}{\cbx@lasthash}}% + \usebibmacro{cite:title}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\newbibmacro*{citetitle}{% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}} + {\usebibmacro{cite:shorthand}}% + \setunit{\multicitedelim}} + +\newbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}} + {\printnames{labelname}% + \setunit*{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\newbibmacro*{cite:title}{% + \printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{textcite:postnote}{% + \ifnameundef{labelname} + {\setunit{% + \global\booltrue{cbx:parens}% + \printdelim{extpostnotedelim}\bibopenparen}} + {\setunit{\printdelim{postnotedelim}}}% + \printfield{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\parencites}[\mkbibparens] + {\parencite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote] + {\footcite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext] + {\footcitetext}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote] + {\smartcite}{\setunit{\multicitedelim}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ibid-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ibid-ms.cbx new file mode 100644 index 00000000000..1e91a28fd2d --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ibid-ms.cbx @@ -0,0 +1,143 @@ +\ProvidesFile{authortitle-ibid-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{uniquename,uniquelist,ibidtracker=constrict, + pagetracker,autocite=footnote} + +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{\iflastcitekey} + +\newbool{cbx:parens} +\newbool{cbx:loccit} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\newbibmacro*{cite}{% + \global\boolfalse{cbx:loccit}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{citetitle}{% + \global\boolfalse{cbx:loccit}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{textcite}{% + \global\boolfalse{cbx:loccit}% + \printnames{labelname}% + \setunit*{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{cite:title}{% + \printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\booltrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:postnote}{% + \ifbool{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\newbibmacro*{textcite:postnote}{% + \ifthenelse{\iffieldundef{postnote}\OR\boolean{cbx:loccit}} + {\ifbool{cbx:parens} + {\bibcloseparen} + {}} + {\ifbool{cbx:parens} + {\printdelim{postnotedelim}} + {\printdelim{extpostnotedelim}\bibopenparen}% + \printfield{postnote}\bibcloseparen}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\textcite} + {\boolfalse{cbx:parens}} + {\usebibmacro{citeindex}% + \iffirstcitekey + {\setcounter{textcitetotal}{1}} + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}} + {\ifbool{cbx:parens} + {\bibcloseparen\boolfalse{cbx:parens}} + {}} + {\usebibmacro{textcite:postnote}} + +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-icomp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-icomp-ms.cbx new file mode 100644 index 00000000000..27ea56c8dba --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-icomp-ms.cbx @@ -0,0 +1,227 @@ +\ProvidesFile{authortitle-icomp-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{uniquename,uniquelist,ibidtracker=constrict, + pagetracker,sortcites,autocite=footnote} + +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnameundef{labelname} + {\ifnumequal{\value{textcitecount}}{\value{textcitetotal}}} + {\ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}}} + +\newbool{cbx:parens} +\newbool{cbx:loccit} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\newbibmacro*{cite:init}{% + \global\boolfalse{cbx:loccit}% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash} + {\iffieldundef{prenote} + {} + {\global\undef\cbx@lasthash}}} + +\newbibmacro*{cite:reinit}{% + \global\undef\cbx@lasthash} + +\newbibmacro*{cite}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}} + {\printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \savefield{namehash}{\cbx@lasthash}}% + \usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\newbibmacro*{citetitle}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}% + \setunit{\multicitedelim}} + +\newbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}} + {\printnames{labelname}% + \setunit*{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\newbibmacro*{cite:title}{% + \printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\booltrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:postnote}{% + \ifbool{cbx:loccit} + {} + {\setunit{\printdelim{postnotedelim}}% + \printfield{postnote}}} + +\newbibmacro*{textcite:postnote}{% + \ifbool{cbx:loccit} + {} + {\ifnameundef{labelname} + {\setunit{% + \global\booltrue{cbx:parens}% + \printdelim{extpostnotedelim}\bibopenparen}} + {\setunit{\printdelim{postnotedelim}}}% + \printfield{postnote}}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\parencites}[\mkbibparens] + {\parencite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote] + {\footcite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext] + {\footcitetext}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote] + {\smartcite}{\setunit{\multicitedelim}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ms.cbx new file mode 100644 index 00000000000..9eec2b6036e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ms.cbx @@ -0,0 +1,115 @@ +\ProvidesFile{authortitle-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{uniquename,uniquelist,autocite=footnote} + +\renewcommand*{\iffinalcitedelim}{\iflastcitekey} + +\newbool{cbx:parens} + +\newbibmacro*{cite}{% + \iffieldundef{shorthand} + {\printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{citetitle}{% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{textcite}{% + \printnames{labelname}% + \setunit*{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{cite:title}{% + \printtext[bibhyperref]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{textcite:postnote}{% + \iffieldundef{postnote} + {\ifbool{cbx:parens} + {\bibcloseparen} + {}} + {\ifbool{cbx:parens} + {\printdelim{postnotedelim}} + {\printdelim{extpostnotedelim}\bibopenparen}% + \printfield{postnote}\bibcloseparen}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citetitle}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {\boolfalse{cbx:parens}} + {\usebibmacro{citeindex}% + \iffirstcitekey + {\setcounter{textcitetotal}{1}} + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}} + {\ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}} + {\usebibmacro{textcite:postnote}} + +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-tcomp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-tcomp-ms.cbx new file mode 100644 index 00000000000..3facccb5d03 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-tcomp-ms.cbx @@ -0,0 +1,90 @@ +\ProvidesFile{authortitle-tcomp-ms.cbx} +[\abx@cbxid] + +\RequireCitationStyle{authortitle-comp} +\ExecuteBibliographyOptions{singletitle,uniquename,uniquelist,autocite=inline} + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\renewbibmacro*{cite}{% + \iffieldundef{shorthand} + {\iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}% + \usebibmacro{cite:title}} + {\ifnameundef{labelname} + {\usebibmacro{cite:title}} + {\ifsingletitle + {\printtext[bibhyperref]{\printnames{labelname}}} + {\printnames{labelname}% + \setunit{\printdelim{nametitledelim}}% + \usebibmacro{cite:title}}}% + \savefield{namehash}{\cbx@lasthash}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\renewbibmacro*{citetitle}{% + \iffieldundef{shorthand} + {\iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}} + {\savefield{namehash}{\cbx@lasthash}}% + \usebibmacro{cite:title}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\renewbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}} + {\ifnameundef{labelname} + {\ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}} + {\ifthenelse{\ifsingletitle\AND + \(\iffieldundef{prenote}\OR\value{citecount}>1\)} + {\printtext[bibhyperref]{\printnames{labelname}}} + {\printnames{labelname} + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}}}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\renewbibmacro*{textcite:postnote}{% + \ifbool{cbx:parens} + {\setunit{\printdelim{postnotedelim}}} + {\setunit{% + \global\booltrue{cbx:parens}% + \printdelim{extpostnotedelim}\bibopenparen}}% + \printfield{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-terse-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-terse-ms.cbx new file mode 100644 index 00000000000..b3bc2948821 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-terse-ms.cbx @@ -0,0 +1,40 @@ +\ProvidesFile{authortitle-terse-ms.cbx} +[\abx@cbxid] + +\RequireCitationStyle{authortitle} +\ExecuteBibliographyOptions{singletitle,uniquename,uniquelist,autocite=inline} + +\renewbibmacro*{cite}{% + \iffieldundef{shorthand} + {\ifnameundef{labelname} + {\usebibmacro{cite:title}} + {\ifsingletitle + {\printtext[bibhyperref]{\printnames{labelname}}} + {\printnames{labelname}% + \setunit{\printdelim{nametitledelim}}% + \usebibmacro{cite:title}}}}% + {\usebibmacro{cite:shorthand}}} + +\renewbibmacro*{textcite}{% + \ifnameundef{labelname} + {\ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}} + {\ifthenelse{\ifsingletitle\AND + \(\iffieldundef{prenote}\OR\value{citecount}>1\)} + {\printtext[bibhyperref]{\printnames{labelname}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\usebibmacro{cite:title}}% + {\usebibmacro{cite:shorthand}}}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ticomp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ticomp-ms.cbx new file mode 100644 index 00000000000..ab883c5a23f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authortitle-ticomp-ms.cbx @@ -0,0 +1,100 @@ +\ProvidesFile{authortitle-ticomp-ms.cbx} +[\abx@cbxid] + +\RequireCitationStyle{authortitle-icomp} +\ExecuteBibliographyOptions{singletitle,uniquename,uniquelist,autocite=inline} + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\renewbibmacro*{cite}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}% + \usebibmacro{cite:title}} + {\ifnameundef{labelname} + {\usebibmacro{cite:title}} + {\ifsingletitle + {\printtext[bibhyperref]{\printnames{labelname}}} + {\printnames{labelname}% + \setunit{\printdelim{nametitledelim}}% + \usebibmacro{cite:title}}}% + \savefield{namehash}{\cbx@lasthash}}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\renewbibmacro*{citetitle}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}} + {\savefield{namehash}{\cbx@lasthash}}% + \usebibmacro{cite:title}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\renewbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\compcitedelim}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}} + {\ifnameundef{labelname} + {\ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}} + {\ifthenelse{\ifsingletitle\AND + \(\iffieldundef{prenote}\OR\value{citecount}>1\)} + {\printtext[bibhyperref]{\printnames{labelname}}} + {\printnames{labelname} + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nametitledelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:title}}}% + {\usebibmacro{cite:shorthand}}}}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\renewbibmacro*{textcite:postnote}{% + \ifbool{cbx:parens} + {\setunit{\printdelim{postnotedelim}}} + {\setunit{% + \global\booltrue{cbx:parens}% + \printdelim{extpostnotedelim}\bibopenparen}}% + \printfield{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-comp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-comp-ms.cbx new file mode 100644 index 00000000000..c0bc248f4b0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-comp-ms.cbx @@ -0,0 +1,270 @@ +\ProvidesFile{authoryear-comp-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,sortcites, + autocite=inline} + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newbool{cbx:parens} + +\newbibmacro*{cite:init}{% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash + \global\undef\cbx@lastyear} + {\iffieldundef{prenote} + {} + {\global\undef\cbx@lasthash + \global\undef\cbx@lastyear}}} + +\newbibmacro*{cite:reinit}{% + \global\undef\cbx@lasthash + \global\undef\cbx@lastyear} + +\newbibmacro*{cite}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} + {\usebibmacro{cite:label}% + \setunit{\printdelim{nonameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}% + \usebibmacro{cite:reinit}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\printnames{labelname}% + \setunit{\printdelim{nameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{namehash}{\cbx@lasthash}% + \savefield{labelyear}{\cbx@lastyear}}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\newbibmacro*{citeyear}{% + \iffieldundef{shorthand} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}% + \usebibmacro{cite:reinit}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\usebibmacro{cite:labeldate+extradate}% + \savefield{namehash}{\cbx@lasthash}% + \savefield{labelyear}{\cbx@lastyear}}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\newbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\iffieldundef{shorthand} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:shorthand}% + \global\undef\cbx@lastyear}} + {\ifnameundef{labelname} + {\iffieldundef{shorthand} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nonameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:labeldate+extradate}} + {\usebibmacro{cite:shorthand}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}} + {\usebibmacro{cite:labeldate+extradate}}% + \savefield{labelyear}{\cbx@lastyear}} + {\usebibmacro{cite:shorthand}% + \global\undef\cbx@lastyear}}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:label}{% + \iffieldundef{label} + {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}} + {\printtext[bibhyperref]{\printfield{label}}}} + +\newbibmacro*{cite:labeldate+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[bibhyperref]{\printlabeldateextra}}} + +\newbibmacro{cite:labelyear+extrayear}{% + \blx@warning{bibmacro 'cite:labelyear+extrayear' is deprecated.\MessageBreak + Please use 'cite:labeldate+extradate'.\MessageBreak + Using 'cite:labeldate+extradate' instead}% + \usebibmacro{cite:labeldate+extradate}} + +\newbibmacro*{cite:extradate}{% + \iffieldundef{extradate} + {} + {\printtext[bibhyperref]{\printfield{extradate}}}} + +\newbibmacro{cite:extrayear}{% + \blx@warning{bibmacro 'cite:extrayear' is deprecated.\MessageBreak + Please use 'cite:extradate'.\MessageBreak + Using 'cite:extradate' instead}% + \usebibmacro{cite:extradate}} + +\newbibmacro*{textcite:postnote}{% + \usebibmacro{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite} + {\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite} + {\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext] + {\footcitetext}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote] + {\smartcite}{\setunit{\multicitedelim}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-ibid-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-ibid-ms.cbx new file mode 100644 index 00000000000..319fcf2aaaf --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-ibid-ms.cbx @@ -0,0 +1,173 @@ +\ProvidesFile{authoryear-ibid-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,pagetracker, + ibidtracker=constrict,autocite=inline} + +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{\iflastcitekey} + +\newbool{cbx:parens} +\newbool{cbx:loccit} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\newbibmacro*{cite}{% + \global\boolfalse{cbx:loccit}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} + {\usebibmacro{cite:label}% + \setunit{\printdelim{nonameyeardelim}}} + {\printnames{labelname}% + \setunit{\printdelim{nameyeardelim}}}% + \usebibmacro{cite:labeldate+extradate}}} + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{citeyear}{% + \global\boolfalse{cbx:loccit}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}} + {\usebibmacro{cite:labeldate+extradate}}}} + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{textcite}{% + \global\boolfalse{cbx:loccit}% + \ifnameundef{labelname} + {\iffieldundef{shorthand} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nonameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:labeldate+extradate}} + {\usebibmacro{cite:shorthand}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}} + {\usebibmacro{cite:labeldate+extradate}}}} + {\usebibmacro{cite:shorthand}}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\booltrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:label}{% + \iffieldundef{label} + {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}} + {\printtext[bibhyperref]{\printfield{label}}}} + +\newbibmacro*{cite:labeldate+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[bibhyperref]{\printlabeldateextra}}} + +\newbibmacro{cite:labelyear+extrayear}{% + \blx@warning{bibmacro 'cite:labelyear+extrayear' is deprecated.\MessageBreak + Please use 'cite:labeldate+extradate'.\MessageBreak + Using 'cite:labeldate+extradate' instead}% + \usebibmacro{cite:labeldate+extradate}} + +\newbibmacro*{cite:postnote}{% + \ifbool{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\newbibmacro*{textcite:postnote}{% + \ifthenelse{\iffieldundef{postnote}\OR\boolean{cbx:loccit}} + {\ifbool{cbx:parens} + {\bibcloseparen} + {}} + {\ifbool{cbx:parens} + {\printdelim{postnotedelim}} + {\printdelim{extpostnotedelim}\bibopenparen}% + \printfield{postnote}\bibcloseparen}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\textcite} + {\boolfalse{cbx:parens}} + {\usebibmacro{citeindex}% + \iffirstcitekey + {\setcounter{textcitetotal}{1}} + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}} + {\ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}} + {\usebibmacro{textcite:postnote}} + +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-icomp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-icomp-ms.cbx new file mode 100644 index 00000000000..11da4c51774 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-icomp-ms.cbx @@ -0,0 +1,299 @@ +\ProvidesFile{authoryear-icomp-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,ibidtracker=constrict, + pagetracker,sortcites,autocite=inline} + +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newbool{cbx:parens} +\newbool{cbx:loccit} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\newbibmacro*{cite:init}{% + \global\boolfalse{cbx:loccit}% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash + \global\undef\cbx@lastyear} + {\iffieldundef{prenote} + {} + {\global\undef\cbx@lasthash + \global\undef\cbx@lastyear}}} + +\newbibmacro*{cite:reinit}{% + \global\undef\cbx@lasthash + \global\undef\cbx@lastyear} + +\newbibmacro*{cite}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} + {\usebibmacro{cite:label}% + \setunit{\printdelim{nonameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}% + \usebibmacro{cite:reinit}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\printnames{labelname}% + \setunit{\printdelim{nameyeardelim}}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{namehash}{\cbx@lasthash}% + \savefield{labelyear}{\cbx@lastyear}}}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\newbibmacro*{citeyear}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}% + \usebibmacro{cite:reinit}} + {\iffieldequals{namehash}{\cbx@lasthash} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\usebibmacro{cite:labeldate+extradate}% + \savefield{namehash}{\cbx@lasthash}% + \savefield{labelyear}{\cbx@lastyear}}}}} + {\usebibmacro{cite:shorthand}% + \usebibmacro{cite:reinit}}% + \setunit{\multicitedelim}} + +\newbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\iffieldundef{shorthand} + {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND + \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} + {\setunit{\addcomma}% + \usebibmacro{cite:extradate}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:labeldate+extradate}% + \savefield{labelyear}{\cbx@lastyear}}} + {\setunit{\compcitedelim}% + \usebibmacro{cite:shorthand}% + \global\undef\cbx@lastyear}} + {\ifnameundef{labelname} + {\iffieldundef{shorthand} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nonameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:labeldate+extradate}}} + {\usebibmacro{cite:shorthand}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \iffieldundef{shorthand} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:labeldate+extradate}}}% + \savefield{labelyear}{\cbx@lastyear}} + {\usebibmacro{cite:shorthand}% + \global\undef\cbx@lastyear}}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:label}{% + \iffieldundef{label} + {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}} + {\printtext[bibhyperref]{\printfield{label}}}} + +\newbibmacro*{cite:labeldate+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[bibhyperref]{\printlabeldateextra}}} + +\newbibmacro{cite:labelyear+extrayear}{% + \blx@warning{bibmacro 'cite:labelyear+extrayear' is deprecated.\MessageBreak + Please use 'cite:labeldate+extradate'.\MessageBreak + Using 'cite:labeldate+extradate' instead}% + \usebibmacro{cite:labeldate+extradate}} + +\newbibmacro*{cite:extradate}{% + \iffieldundef{extradate} + {} + {\printtext[bibhyperref]{\printfield{extradate}}}} + +\newbibmacro{cite:extrayear}{% + \blx@warning{bibmacro 'cite:extrayear' is deprecated.\MessageBreak + Please use 'cite:extradate'.\MessageBreak + Using 'cite:extradate' instead}% + \usebibmacro{cite:extradate}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\booltrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:postnote}{% + \ifbool{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\newbibmacro*{textcite:postnote}{% + \ifbool{cbx:loccit} + {} + {\usebibmacro{postnote}}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}{\cite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\parencites}[\mkbibparens] + {\parencite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote] + {\footcite}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext] + {\footcitetext}{\setunit{\multicitedelim}} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote] + {\smartcite}{\setunit{\multicitedelim}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-ms.cbx new file mode 100644 index 00000000000..42d47e169bc --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/authoryear-ms.cbx @@ -0,0 +1,141 @@ +\ProvidesFile{authoryear-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,autocite=inline} + +\renewcommand*{\iffinalcitedelim}{\iflastcitekey} + +\newbool{cbx:parens} + +\newbibmacro*{cite}{% + \iffieldundef{shorthand} + {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} + {\usebibmacro{cite:label}% + \setunit{\printdelim{nonameyeardelim}}} + {\printnames{labelname}% + \setunit{\printdelim{nameyeardelim}}}% + \usebibmacro{cite:labeldate+extradate}} + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{citeyear}{% + \iffieldundef{shorthand} + {\iffieldundef{labelyear} + {\usebibmacro{cite:label}} + {\usebibmacro{cite:labeldate+extradate}}} + {\usebibmacro{cite:shorthand}}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\iffieldundef{shorthand} + {\usebibmacro{cite:label}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nonameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:labeldate+extradate}} + {\usebibmacro{cite:shorthand}}} + {\printnames{labelname}% + \setunit{% + \global\booltrue{cbx:parens}% + \printdelim{nameyeardelim}\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{citeyear}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:label}{% + \iffieldundef{label} + {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}} + {\printtext[bibhyperref]{\printfield{label}}}} + +\newbibmacro*{cite:labeldate+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[bibhyperref]{\printlabeldateextra}}} + +\newbibmacro{cite:labelyear+extrayear}{% + \blx@warning{bibmacro 'cite:labelyear+extrayear' is deprecated.\MessageBreak + Please use 'cite:labeldate+extradate'.\MessageBreak + Using 'cite:labeldate+extradate' instead}% + \usebibmacro{cite:labeldate+extradate}} + +\newbibmacro*{textcite:postnote}{% + \iffieldundef{postnote} + {\ifbool{cbx:parens} + {\bibcloseparen} + {}} + {\ifbool{cbx:parens} + {\setunit{\printdelim{postnotedelim}}} + {\setunit{\printdelim{extpostnotedelim}\bibopenparen}}% + \printfield{postnote}\bibcloseparen}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite} + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{citeyear}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {\boolfalse{cbx:parens}} + {\usebibmacro{citeindex}% + \iffirstcitekey + {\setcounter{textcitetotal}{1}} + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}} + {\ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}} + {\usebibmacro{textcite:postnote}} + +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/debug-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/debug-ms.cbx new file mode 100644 index 00000000000..0b4e1955da6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/debug-ms.cbx @@ -0,0 +1,93 @@ +\ProvidesFile{debug-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{autocite=plain} + +\DeclareUrlCommand{\cbx@citekey}{\urlstyle{citekey}} +\def\url@citekeystyle{\def\UrlFont{\ttfamily}} + +\DeclareFieldFormat{key}{\cbx@citekey{#1}} +\DeclareFieldFormat{pre}{\texttt{pre=\detokenize{#1}}} +\DeclareFieldFormat{post}{\texttt{post=\detokenize{#1}}} +\DeclareFieldFormat{meta}{\texttt{#1}} + +\renewbibmacro*{multiprenote}{% + \printtext[meta]{[multi}% + \setunit{\addspace}% + \printfield[pre]{multiprenote}% + \setunit{\addspace}% + \printfield[post]{multipostnote}% + \setunit{\addspace}} + +\renewbibmacro*{multipostnote}{% + \printtext[meta]{]}} + +\newbibmacro*{begin}[1]{% + \printtext[meta]{[#1}% + \setunit{\addspace}% + \printfield[pre]{prenote}% + \setunit{\addspace}% + \printfield[post]{postnote}% + \setunit{\addspace}% + \printtext[meta]{key=}} + +\newbibmacro*{end}{% + \printtext[meta]{]}} + +\newbibmacro*{key}{% + \printtext[bibhyperref]{\printfield[key]{entrykey}}} + +\newbibmacro*{next}{% + \printtext[meta]{\addcomma}% + \setunit{\addspace}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{begin}{cite}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareCiteCommand{\parencite} + {\usebibmacro{begin}{parencite}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareCiteCommand{\footcite} + {\usebibmacro{begin}{footcite}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareCiteCommand{\footcitetext} + {\usebibmacro{begin}{footcitetext}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{begin}{smartcite}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareCiteCommand{\textcite} + {\usebibmacro{begin}{textcite}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareCiteCommand{\supercite} + {\usebibmacro{begin}{supercite}} + {\usebibmacro{key}} + {\usebibmacro{next}} + {\usebibmacro{end}} + +\DeclareMultiCiteCommand{\cites}{\cite}{\addspace} +\DeclareMultiCiteCommand{\parencites}{\parencite}{\addspace} +\DeclareMultiCiteCommand{\footcites}{\footcite}{\addspace} +\DeclareMultiCiteCommand{\footcitetexts}{\footcitetext}{\addspace} +\DeclareMultiCiteCommand{\supercites}{\supercite}{\addspace} +\DeclareMultiCiteCommand{\textcites}{\textcite}{\addspace} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/draft-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/draft-ms.cbx new file mode 100644 index 00000000000..38b48985e9e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/draft-ms.cbx @@ -0,0 +1,73 @@ +\ProvidesFile{draft-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{autocite=plain} + +\DeclareFieldFormat{citekey}{\cbx@mkcitekey{#1}} +\DeclareUrlCommand{\cbx@mkcitekey}{\urlstyle{citekey}} +\def\url@citekeystyle{\def\UrlFont{\bfseries}} +\newbool{cbx:parens} + +\newbibmacro*{cite}{% + \printtext[bibhyperref]{\printfield[citekey]{entrykey}}} + +\newbibmacro*{textcite}{% + \printnames{labelname}% + \setunit*{% + \global\booltrue{cbx:parens}% + \addspace\bibopenparen}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite}} + +\newbibmacro*{textcite:postnote}{% + \iffieldundef{postnote} + {\ifbool{cbx:parens} + {\bibcloseparen} + {}} + {\ifbool{cbx:parens} + {\setunit{\printdelim{postnotedelim}}} + {\setunit{\addspace\bibopenparen}}% + \printfield{postnote}\bibcloseparen}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {\boolfalse{cbx:parens}} + {\usebibmacro{textcite}} + {\ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \multicitedelim} + {\usebibmacro{textcite:postnote}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-comp-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-comp-ms.cbx new file mode 100644 index 00000000000..779377f7c19 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-comp-ms.cbx @@ -0,0 +1,324 @@ +\ProvidesFile{numeric-comp-ms.cbx} +[\abx@cbxid] + +\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}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\providebool{bbx:subentry} +\newbool{cbx:parens} + +\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@tempcntc}{0}% + \setcounter{cbx@tempcntd}{-1}} + +\newbibmacro*{cite:comp}{% + \stepcounter{cbx@tempcntb}% + \iffieldundef{shorthand} + {\ifbool{bbx:subentry} + {\iffieldundef{entrysetcount} + {\usebibmacro{cite:comp:comp}} + {\usebibmacro{cite:comp:inset}}} + {\usebibmacro{cite:comp:comp}}} + {\usebibmacro{cite:comp:shand}}} + +% we externalise printing the citations to +% cite:print:... macros for easier customisation + +\newbibmacro*{cite:comp:comp}{% + \cbx@iflabelprefixequalslast + {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}} + {\savefield{entrykey}{\cbx@lastkey}% + \savefield{labelnumber}{\cbx@lastnumber}% + \stepcounter{cbx@tempcnta}} + {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-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:comp:end}}}} + {\usebibmacro{cite:comp:end}}% + \setcounter{cbx@tempcntb}{\thefield{labelnumber}}% + \savefield{labelprefix}{\cbx@lastprefix}} + +\newbibmacro*{cite:comp:end}{% + \usebibmacro{cite:dump}% + \ifnumgreater{\value{cbx@tempcntb}}{-1} + {\setunit{\multicitedelim}} + {}% + \usebibmacro{cite:print:labelnumber}} + +\newbibmacro*{cite:comp:inset}{% + \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} + {\setunit{\multicitedelim}} + {}% + \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} + {\setunit{\multiciterangedelim}} + {\setunit{\multicitedelim}}% + \usebibmacro{cite:print:last:labelnumber}% + \global\undef\cbx@lastprefix} + {}% + \setcounter{cbx@tempcnta}{0}% +} + +% 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} + {\usebibmacro{cite:comp}} + {\usebibmacro{cite:dump}% + \ifbool{cbx:parens} + {\printtext{\bibclosebracket}\global\boolfalse{cbx:parens}} + {}% + \iffirstcitekey + {} + {\setunit{\textcitedelim}}% + \usebibmacro{cite:init}% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \setunit*{\printdelim{namelabeldelim}}% + \printtext{\bibopenbracket}\global\booltrue{cbx:parens}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite:comp}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}} + +\DeclareCiteCommand{\cite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\supercite}[\mkbibsuperscript] + {\usebibmacro{cite:init}% + \let\multicitedelim=\supercitedelim + \let\multicitesubentrydelim=\supercitesubentrydelim + \let\multiciterangedelim=\superciterangedelim + \let\multicitesubentryrangedelim=\supercitesubentryrangedelim + \iffieldundef{prenote} + {} + {\BibliographyWarning{Ignoring prenote argument}}% + \iffieldundef{postnote} + {} + {\BibliographyWarning{Ignoring postnote argument}}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}[\mkbibbrackets]{\cite}{\multicitedelim} +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\smartcite}{\multicitedelim} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-ms.cbx new file mode 100644 index 00000000000..5bdc3648dac --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-ms.cbx @@ -0,0 +1,159 @@ +\ProvidesFile{numeric-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labelnumber,autocite=inline} + +\renewcommand*{\multicitedelim}{\addcomma\space} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\providebool{bbx:subentry} +\newbool{cbx:parens} + +\DeclareFieldFormat{entrysetcount}{\mknumalph{#1}} + +\newbibmacro*{cite}{% + \printtext[bibhyperref]{% + \printfield{labelprefix}% + \printfield{labelnumber}% + \ifbool{bbx:subentry} + {\printfield{entrysetcount}} + {}}} + +\newbibmacro*{textcite}{% + \iffieldequals{namehash}{\cbx@lasthash} + {\setunit{\multicitedelim}} + {\ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \setunit*{\printdelim{namelabeldelim}}% + \printtext{\bibopenbracket}\global\booltrue{cbx:parens}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite}% + \setunit{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}} + +\newbibmacro*{textcite:init}{% + \ifnumless{\value{multicitecount}}{2} + {\global\boolfalse{cbx:parens}% + \global\undef\cbx@lasthash} + {\global\undef\cbx@lasthash}} + +\newbibmacro*{textcite:postnote}{% + \usebibmacro{postnote}% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibclosebracket\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}} + +\DeclareCiteCommand{\cite}[\mkbibbrackets] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\supercite}[\mkbibsuperscript] + {\iffieldundef{prenote} + {} + {\BibliographyWarning{Ignoring prenote argument}}% + \iffieldundef{postnote} + {} + {\BibliographyWarning{Ignoring postnote argument}}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\supercitedelim} + {} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\usebibmacro{citeindex}% + \usebibmacro{textcite}} + {} + {\usebibmacro{textcite:postnote}} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{textcite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[2]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2% + \ifnumgreater{\value{textcitetotal}}{0} + {\cbx@savedcites} + {}} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites}[\cbx@textcites@init\cbx@textcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{\UseNextMultiCiteHook}{}{} + +\DeclareMultiCiteCommand{\cites}[\mkbibbrackets]{\cite}{\multicitedelim} +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\smartcite}{\multicitedelim} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-verb-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-verb-ms.cbx new file mode 100644 index 00000000000..64f81415b95 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/numeric-verb-ms.cbx @@ -0,0 +1,100 @@ +\ProvidesFile{numeric-verb-ms.cbx} +[\abx@cbxid] + +\ExecuteBibliographyOptions{labelnumber,autocite=inline} + +\renewcommand*{\multicitedelim}{\addcomma\space} +\renewcommand*{\iffinalcitedelim}{\iflastcitekey} + +\providebool{bbx:subentry} + +\DeclareFieldFormat{entrysetcount}{\mknumalph{#1}} + +\newbibmacro*{cite}{% + \printtext[bibhyperref]{% + \printfield{labelprefix}% + \printfield{labelnumber}% + \ifbool{bbx:subentry} + {\printfield{entrysetcount}} + {}}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \printdelim{namelabeldelim}\bibopenbracket + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}} + {}% + \usebibmacro{cite}} + +\DeclareCiteCommand{\cite} + {\bibopenbracket + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \ifnumgreater{\value{citecount}}{1} + {\bibopenbracket} + {}% + \usebibmacro{cite}} + {\bibclosebracket\multicitedelim} + {\usebibmacro{postnote}% + \bibclosebracket} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {} + {\usebibmacro{citeindex}% + \iffirstcitekey + {\setcounter{textcitetotal}{1}} + {\stepcounter{textcitetotal}% + \textcitedelim}% + \usebibmacro{textcite}} + {\bibclosebracket} + {\usebibmacro{postnote}% + \bibclosebracket} + +\DeclareCiteCommand{\supercite}[\mkbibsuperscript] + {\iffieldundef{prenote} + {} + {\BibliographyWarning{Ignoring prenote argument}}% + \iffieldundef{postnote} + {} + {\BibliographyWarning{Ignoring postnote argument}}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\supercitedelim} + {} + +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibbrackets\mkbibfootnote] + {\smartcite}{\multicitedelim} +\DeclareMultiCiteCommand{\textcites}{\textcite}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/reading-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/reading-ms.cbx new file mode 100644 index 00000000000..3ff6ff68070 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/reading-ms.cbx @@ -0,0 +1,6 @@ +\ProvidesFile{reading-ms.cbx} +[\abx@cbxid] + +\RequireCitationStyle{authortitle} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-ibid-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-ibid-ms.cbx new file mode 100644 index 00000000000..3c7b7ae468f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-ibid-ms.cbx @@ -0,0 +1,262 @@ +\ProvidesFile{verbose-ibid-ms.cbx} +[\abx@cbxid] + +\InitializeCitationStyle{\numgdef{\cbx@resetcount}{\cbx@resetcount+1}} + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} + +\newcommand*{\cbx@resetcount}{0} +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newtoggle{cbx:loccit} + +\newbibmacro*{cite:citepages}{} +\newbibmacro*{cite:full:citepages}{} +\newbibmacro*{cite:postnote}{} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{cite:postnote:ibidpage}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, + pagetracker,autocite=footnote,citepages=permit} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \ifciteseen + {\iffieldundef{shorthand} + {\ifboolexpr{ + test {\ifciteibid} + and + not test {\iffirstonpage} + } + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:short}}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:short}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\toggletrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{% + \printfield{shorthand}}} + +\newbibmacro*{cite:postnote:ibidpage}{% + \iftoggle{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\@empty\cbx@footcite@args\@empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-inote-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-inote-ms.cbx new file mode 100644 index 00000000000..58ecbba45d5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-inote-ms.cbx @@ -0,0 +1,321 @@ +\ProvidesFile{verbose-inote-ms.cbx} +[\abx@cbxid] + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{% + \thefield{entrykey}:\csuse{cbx@\iffootnote{f}{t}@\thefield{entrykey}}}{#1}} +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\thefield{entrykey}:\the\value{instcount}}{#1}} + +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newtoggle{cbx:loccit} +\newtoggle{cbx:pageref} + +\newbibmacro*{cite:citepages}{} +\newbibmacro*{cite:full:citepages}{} +\newbibmacro*{cite:postnote}{} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} +\DeclareBibliographyOption[boolean]{pageref}[true]{% + \settoggle{cbx:pageref}{#1}} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{cite:postnote:ibidpage}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, + singletitle,pagetracker,autocite=footnote,citepages=permit} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \ifciteseen + {\iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{cite:ibid}} + {\usebibmacro{cite:short}}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}% + \usebibmacro{cite:save}}} + +\newbibmacro*{cite:save}{% + \csxdef{cbx@t@\thefield{entrykey}}{\the\value{instcount}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:short}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\toggletrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:postnote:ibidpage}{% + \iftoggle{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\newbibmacro*{footcite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \ifciteseen + {\iffieldundef{shorthand} + {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage} + {\usebibmacro{footcite:ibid}} + {\usebibmacro{footcite:note}}} + {\usebibmacro{footcite:shorthand}}} + {\usebibmacro{footcite:full}% + \usebibmacro{footcite:save}}} + +\newbibmacro*{footcite:save}{% + \csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}% + \label{cbx@\the\value{instcount}}} + +\newbibmacro*{footcite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{footcite:note}{% + \ifnameundef{labelname} + {\printfield{label}} + {\printnames{labelname}}% + \ifsingletitle + {} + {\setunit*{\printdelim{nametitledelim}}% + \printfield[title]{labeltitle}}% + \setunit*{\addcomma\space}% + \printtext{% + \bibstring{seenote}\addnbspace + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \iftoggle{cbx:pageref} + {\ifsamepage{\the\value{instcount}} + {\csuse{cbx@f@\thefield{entrykey}}} + {} + {\addcomma\space\bibstring{page}\addnbspace + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}} + {}}} + +\newbibmacro*{footcite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}} + +\newbibmacro*{footcite:ibid}{% + \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}% + \ifloccit + {\global\toggletrue{cbx:loccit}} + {}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{footcite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{footcite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-ms.cbx new file mode 100644 index 00000000000..9ea88824c3f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-ms.cbx @@ -0,0 +1,231 @@ +\ProvidesFile{verbose-ms.cbx} +[\abx@cbxid] + +\InitializeCitationStyle{\numgdef{\cbx@resetcount}{\cbx@resetcount+1}} + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} + +\newcommand*{\cbx@resetcount}{0} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newbibmacro*{cite:citepages}{} +\newbibmacro*{cite:full:citepages}{} +\newbibmacro*{cite:postnote}{} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{postnote}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,autocite=footnote,citepages=permit} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \ifciteseen + {\iffieldundef{shorthand} + {\usebibmacro{cite:short}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:short}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-note-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-note-ms.cbx new file mode 100644 index 00000000000..797715f94f9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-note-ms.cbx @@ -0,0 +1,292 @@ +\ProvidesFile{verbose-note-ms.cbx} +[\abx@cbxid] + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{% + \thefield{entrykey}:\csuse{cbx@\iffootnote{f}{t}@\thefield{entrykey}}}{#1}} +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\thefield{entrykey}:\the\value{instcount}}{#1}} + +\newtoggle{cbx:pageref} + +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newbibmacro*{cite:citepages}{} +\newbibmacro*{cite:full:citepages}{} +\newbibmacro*{cite:postnote}{} + +\DeclareBibliographyOption[boolean]{pageref}[true]{% + \settoggle{cbx:pageref}{#1}% + \iftoggle{cbx:pageref} + {\ExecuteBibliographyOptions{pagetracker}} + {}} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{postnote}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,singletitle,autocite=footnote, + citepages=permit} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \ifciteseen + {\iffieldundef{shorthand} + {\usebibmacro{cite:short}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}% + \usebibmacro{cite:save}}} + +\newbibmacro*{cite:save}{% + \csxdef{cbx@t@\thefield{entrykey}}{\the\value{instcount}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:short}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}} + +\newbibmacro*{footcite}{% + \usebibmacro{cite:citepages}% + \ifciteseen + {\iffieldundef{shorthand} + {\usebibmacro{footcite:note}} + {\usebibmacro{footcite:shorthand}}} + {\usebibmacro{footcite:full}% + \usebibmacro{footcite:save}}} + +\newbibmacro*{footcite:save}{% + \csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}% + \label{cbx@\the\value{instcount}}} + +\newbibmacro*{footcite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{footcite:note}{% + \ifnameundef{labelname} + {\printfield{label}} + {\printnames{labelname}}% + \ifsingletitle + {} + {\setunit*{\printdelim{nametitledelim}}% + \printfield[title]{labeltitle}}% + \setunit*{\addcomma\space}% + \printtext{% + \bibstring{seenote}\addnbspace + \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}% + \iftoggle{cbx:pageref} + {\ifsamepage{\the\value{instcount}} + {\csuse{cbx@f@\thefield{entrykey}}} + {} + {\addcomma\space\bibstring{page}\addnbspace + \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}} + {}}} + +\newbibmacro*{footcite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{footcite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{footcite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffootnote + {\usebibmacro{footcite}} + {\usebibmacro{cite}}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad1-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad1-ms.cbx new file mode 100644 index 00000000000..018e8c228f5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad1-ms.cbx @@ -0,0 +1,294 @@ +\ProvidesFile{verbose-trad1-ms.cbx} +[\abx@cbxid] + +\InitializeCitationStyle{\numgdef{\cbx@resetcount}{\cbx@resetcount+1}} + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} + +\newcommand*{\cbx@resetcount}{0} +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newtoggle{cbx:ibidpage} +\newtoggle{cbx:loccit} +\newbool{cbx:noidem} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \settoggle{cbx:ibidpage}{#1}} + +\DeclareBibliographyOption[boolean]{strict}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{ibidtracker=constrict,idemtracker=constrict}} + {\ExecuteBibliographyOptions{ibidtracker=context,idemtracker=context}}} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{cite:postnote:ibidpage}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, + idemtracker=constrict,opcittracker=context,loccittracker=context, + autocite=footnote,citepages=permit} + +\newbibmacro*{cite:save}{% + \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}% + \global\boolfalse{cbx:noidem}} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \bibhypertarget{cite\the\value{instcount}}{% + \ifciteseen + {\iffieldundef{shorthand} + {\ifciteibid + {\usebibmacro{cite:ibid}} + {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}} + {\usebibmacro{cite:idem}% + \usebibmacro{cite:title}} + {\ifnameundef{labelname} + {\usebibmacro{cite:title}} + {\usebibmacro{cite:name}% + \ifopcit + {\ifloccit + {\usebibmacro{cite:loccit}} + {\usebibmacro{cite:opcit}}} + {\usebibmacro{cite:title}}}}}% + \usebibmacro{cite:save}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}% + \usebibmacro{cite:save}}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:name}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}} + +\newbibmacro*{cite:idem}{% + \bibstring[\mkibid]{idem\thefield{gender}}% + \setunit{\printdelim{nametitledelim}}} + +\newbibmacro*{cite:title}{% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:opcit}{% + \printtext[bibhyperlink]{\bibstring[\mkibid]{opcit}}} + +\newbibmacro*{cite:loccit}{% + \printtext{% + \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{% + \bibstring[\mkibid]{loccit}}}% + \global\toggletrue{cbx:loccit}} + +\newbibmacro*{cite:ibid}{% + \printtext{% + \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{% + \bibstring[\mkibid]{ibidem}}}% + \ifboolexpr{ test {\ifloccit} and togl {cbx:ibidpage} } + {\global\toggletrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}% + \global\booltrue{cbx:noidem}} + +\newbibmacro*{cite:postnote:ibidpage}{% + \iftoggle{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad2-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad2-ms.cbx new file mode 100644 index 00000000000..81ecbf25569 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad2-ms.cbx @@ -0,0 +1,288 @@ +\ProvidesFile{verbose-trad2-ms.cbx} +[\abx@cbxid] + +\InitializeCitationStyle{\numgdef{\cbx@resetcount}{\cbx@resetcount+1}} + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} + +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} + +\newcommand*{\cbx@resetcount}{0} +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newtoggle{cbx:fullcite} +\newtoggle{cbx:loccit} +\newbool{cbx:noidem} + +\newbibmacro*{cite:citepages}{} +\newbibmacro*{cite:full:citepages}{} +\newbibmacro*{cite:postnote}{} + +\DeclareBibliographyOption[boolean]{ibidpage}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{loccittracker=constrict}} + {\ExecuteBibliographyOptions{loccittracker=false}}} + +\DeclareBibliographyOption[boolean]{strict}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{ibidtracker=constrict,idemtracker=constrict}} + {\ExecuteBibliographyOptions{ibidtracker=context,idemtracker=context}}} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{cite:postnote:ibidpage}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, + idemtracker=constrict,autocite=footnote,citepages=permit} + +\newbibmacro*{cite:save}{% + \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}% + \global\boolfalse{cbx:noidem}} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:fullcite}% + \global\togglefalse{cbx:loccit}% + \bibhypertarget{cite\the\value{instcount}}{% + \ifciteseen + {\iffieldundef{shorthand} + {\ifciteibid + {\usebibmacro{cite:ibid}} + {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}} + {\usebibmacro{cite:idem}} + {\usebibmacro{cite:name}}% + \usebibmacro{cite:title}}% + \usebibmacro{cite:save}} + {\usebibmacro{cite:shorthand}}} + {\usebibmacro{cite:full}% + \usebibmacro{cite:save}}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \global\toggletrue{cbx:fullcite}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:name}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}} + +\newbibmacro*{cite:idem}{% + \bibstring[\mkibid]{idem\thefield{gender}}% + \setunit{\printdelim{nametitledelim}}} + +\newbibmacro*{cite:title}{% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}% + \setunit{\printdelim{nametitledelim}}% + \bibstring[\mkibid]{opcit}}} + +\newbibmacro*{cite:ibid}{% + \printtext{% + \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{% + \bibstring[\mkibid]{ibidem}}}% + \ifloccit + {\global\toggletrue{cbx:loccit}} + {}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}% + \global\booltrue{cbx:noidem}} + +\newbibmacro*{cite:postnote:ibidpage}{% + \iftoggle{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad3-ms.cbx b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad3-ms.cbx new file mode 100644 index 00000000000..b81cf54f94a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/cbx/verbose-trad3-ms.cbx @@ -0,0 +1,261 @@ +\ProvidesFile{verbose-trad3-ms.cbx} +[\abx@cbxid] + +\InitializeCitationStyle{\numgdef{\cbx@resetcount}{\cbx@resetcount+1}} + +\DeclareFieldFormat{bibhyperlink}{% + \bibhyperlink{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} +\DeclareFieldFormat{bibhypertarget}{% + \bibhypertarget{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}} + +\newcommand*{\cbx@resetcount}{0} +\providecommand*{\mkibid}[1]{#1} +\renewcommand*{\iffinalcitedelim}{% + \ifnumequal{\value{textcitecount}}{\value{textcitetotal}-1}} + +\newtoggle{cbx:loccit} + +\DeclareBibliographyOption[boolean]{strict}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{ibidtracker=constrict,loccittracker=constrict}} + {\ExecuteBibliographyOptions{ibidtracker=context,loccittracker=context}}} + +\DeclareBibliographyOption[string]{citepages}[permit]{% + \ifcsdef{cbx@opt@citepages@#1} + {\csuse{cbx@opt@citepages@#1}} + {\PackageError{biblatex} + {Invalid option 'citepages=#1'} + {Valid values are 'permit', 'suppress', 'omit', 'separate'.}}} + +\providebibmacro*{cite:citepages}{} +\providebibmacro*{cite:full:citepages}{} +\providebibmacro*{cite:postnote}{} + +\def\cbx@opt@citepages@permit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@suppress{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \clearfield{pages}% + \clearfield{pagetotal}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@omit{% + \renewbibmacro*{cite:citepages}{}% + \renewbibmacro*{cite:full:citepages}{% + \ifboolexpr{ + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + test {\iffieldpages{postnote}} + } + {\clearfield{pages}% + \clearfield{pagetotal}} + {}}% + \renewbibmacro*{cite:postnote}{% + \usebibmacro{cite:postnote:ibidpage}}} + +\def\cbx@opt@citepages@separate{% + \providetoggle{cbx:fullcite}% + \renewbibmacro*{cite:citepages}{% + \global\togglefalse{cbx:fullcite}}% + \renewbibmacro*{cite:full:citepages}{% + \global\toggletrue{cbx:fullcite}}% + \renewbibmacro*{cite:postnote}{% + \ifboolexpr{ + togl {cbx:fullcite} + and + test {\iffieldpages{postnote}} + and + test {\ifnumequal{\value{citecount}}{\value{citetotal}}} + and + ( + not test {\iffieldundef{pages}} + or + not test {\iffieldundef{pagetotal}} + ) + } + {\usebibmacro{cite:postnote:pages}} + {\usebibmacro{cite:postnote:ibidpage}}} + \providebibmacro*{cite:postnote:pages}{% + \setunit{\printdelim{postnotedelim}}% + \bibstring{thiscite}% + \setunit{\addspace}% + \printfield{postnote}}} + +\ExecuteBibliographyOptions{citetracker=context,ibidtracker=constrict, + loccittracker=constrict,autocite=footnote,citepages=permit} + +\newbibmacro*{cite}{% + \usebibmacro{cite:citepages}% + \global\togglefalse{cbx:loccit}% + \ifciteseen + {\ifciteibid + {\ifloccit + {\usebibmacro{cite:ibid}} + {\iffieldundef{shorthand} + {\usebibmacro{cite:opcit}} + {\usebibmacro{cite:shorthand}}}} + {\iffieldundef{shorthand} + {\usebibmacro{cite:short}} + {\usebibmacro{cite:shorthand}}}} + {\usebibmacro{cite:full}}} + +\newbibmacro*{cite:full}{% + \usebibmacro{cite:full:citepages}% + \printtext[bibhypertarget]{% + \usedriver + {\DeclareNameAlias{sortname}{default}} + {\thefield{entrytype}}}% + \usebibmacro{shorthandintro}} + +\newbibmacro*{cite:short}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \printtext[bibhyperlink]{% + \printfield[citetitle]{labeltitle}}} + +\newbibmacro*{cite:opcit}{% + \printnames{labelname}% + \setunit*{\printdelim{nametitledelim}}% + \printtext[bibhyperlink]{% + \bibstring[\mkibid]{opcit}}} + +\newbibmacro*{cite:ibid}{% + \printtext[bibhyperlink]{\bibstring[\mkibid]{ibidem}}% + \global\toggletrue{cbx:loccit}} + +\newbibmacro*{cite:shorthand}{% + \printtext[bibhyperlink]{\printfield{shorthand}}} + +\newbibmacro*{cite:postnote:ibidpage}{% + \iftoggle{cbx:loccit} + {} + {\usebibmacro{postnote}}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\parencite}[\mkbibparens] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite}} + {\multicitedelim} + {\usebibmacro{cite:postnote}} + +\newbibmacro*{textcite}{% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}} + +\newbibmacro*{textcite:init}{% + \citetrackerfalse% + \pagetrackerfalse% + \iffirstcitekey + {\global\undef\cbx@lasthash} + {}} + +\newbibmacro*{textcite:count}{% + \stepcounter{textcitetotal}% + \ifnumgreater{\value{uniquelist}}{\value{maxnames}} + {\ifnumgreater{\value{uniquelist}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{uniquelist}}} + {}} + {\ifnumless{\value{labelname}}{\value{maxnames}} + {\ifnumgreater{\value{labelname}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{labelname}}} + {}} + {\ifnumgreater{\value{maxnames}}{\value{textcitemaxnames}} + {\setcounter{textcitemaxnames}{\value{maxnames}}} + {}}}} + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{textcite:init}} + {\iffieldequals{namehash}{\cbx@lasthash} + {} + {\iffirstcitekey + {} + {\textcitedelim}% + \stepcounter{textcitecount}% + \usebibmacro{textcite}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {} + +\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite\footcite] + {\usebibmacro{textcite:init}% + \gdef\cbx@savedkeys{}% + \DeferNextCitekeyHook} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@footcite@args{% + (\thefield{multiprenote})(\thefield{multipostnote})}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\usebibmacro{textcite:count}% + \savefield{namehash}{\cbx@lasthash}}% + \ifnumequal{\value{citecount}}{\value{citetotal}} + {\protected@xappto\cbx@textcite@args{{\cbx@savedkeys}}% + \protected@xappto\cbx@footcite@args{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}% + \iflastcitekey + {\protected@xappto\cbx@textcite@args{\thefield{postpunct}}% + \protected@xappto\cbx@footcite@args{\nopunct}} + {}} + {}} + {} + {} + +% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use +% the normal textcite context +\DeclareDelimcontextAlias{cbx@textcite}{textcite} + +\newrobustcmd{\cbx@textcite@init}[3]{% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \setcounter{textcitemaxnames}{0}% + \def\cbx@textcite@args{#1}\def\cbx@footcite@args{#2}#3% + \cbx@textcite@args\empty\cbx@footcite@args\empty} + +\DeclareMultiCiteCommand{\cbx@textcites}{\cbx@textcite}{} +\DeclareMultiCiteCommand{\textcites} + [\cbx@textcites@init\cbx@textcites\footcites]{\textcite}{} + +\let\cbx@textcites@init\cbx@textcite@init +\pretocmd{\cbx@textcites@init}{% + \UseNextMultiCiteHook% + \AtNextMultiCite{% + \renewbibmacro{multiprenote}{}% + \renewbibmacro{multipostnote}{}}}{}{} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/UKenglish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/UKenglish-ms.lbx new file mode 100644 index 00000000000..020a2d8f2ee --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/UKenglish-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{UKenglish-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{british} +\InheritBibliographyStrings{british} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/USenglish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/USenglish-ms.lbx new file mode 100644 index 00000000000..c7d47245656 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/USenglish-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{USenglish-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{american} +\InheritBibliographyStrings{american} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/american-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/american-ms.lbx new file mode 100644 index 00000000000..1d5699e5c95 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/american-ms.lbx @@ -0,0 +1,8 @@ +\ProvidesFile{american-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{english} +\DeclareBibliographyExtras{\uspunctuation} +\InheritBibliographyStrings{english} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/australian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/australian-ms.lbx new file mode 100644 index 00000000000..a80ddd1a307 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/australian-ms.lbx @@ -0,0 +1,28 @@ +\ProvidesFile{australian-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{british} +\DeclareBibliographyExtras{% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \mkyearzeros{\thefield{#1}}}% +} + +\InheritBibliographyStrings{english} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/austrian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/austrian-ms.lbx new file mode 100644 index 00000000000..1d760201417 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/austrian-ms.lbx @@ -0,0 +1,16 @@ +\ProvidesFile{austrian-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{german} + +\DeclareBibliographyStrings{% + inherit = {german}, + january = {{J\"anner}{J\"an\adddot}}, +} + +\DeclareHyphenationExceptions{% + Pa-tent-an-mel-dung + Pa-tent-an-meld +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/basque-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/basque-ms.lbx new file mode 100644 index 00000000000..99af521eae3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/basque-ms.lbx @@ -0,0 +1,497 @@ +\ProvidesFile{basque-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{basque}{basque} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\mbox{-}}% non-breaking hyphen + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \providecommand*{\sptext}{\textsuperscript}% \sptext -> spanish.ldf (babel) + %\protected\def\mkbibmascord#1{\stripzeros{#1}\sptext{o}}% + \protected\def\mkbibmascord#1{\stripzeros{#1}\adddot}% + %\protected\def\mkbibfemord#1{\stripzeros{#1}\sptext{a}}% + \protected\def\mkbibfemord#1{\stripzeros{#1}\adddot}% + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace de\space}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\nobreakspace de\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#1} + {} + {\mkdayzeros{\thefield{#1}}% + \iffieldundef{#2}{}{\mbox{-}}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\mbox{-}}}% + \iffieldbibstring{#3} + {\bibstring{\thefield{#3}}} + \stripzeros{\thefield{#3}}}% + \savecommand\mkdaterangeterse + \protected\def\mkdaterangeterse{% + \BibliographyWarning{% + Date format 'terse' not applicable to\MessageBreak + Spanish dates. Using format 'short' instead}% + \mkdaterangefull{short}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \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{#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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkdaterangeterse + \restorecommand\lbx@finalnamedelim + \restorecommand\lbx@finallistdelim + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografia}{Bibliografia}},% + references = {{Erreferentziak}{Erreferentziak}},% + shorthands = {{Laburduren zerrenda}{Laburdurak}},% + editor = {{editorea}{ed\adddot}},% + editors = {{editoreak}{edk\adddot}},% + compiler = {{biltzailea}{biltz\adddot}},% + compilers = {{biltzaileak}{biltzk\adddot}},% + redactor = {{erredaktorea}{err\adddot}},% + redactors = {{erredakotreak}{errk\adddot}},% + reviser = {{orraztailea}{orr\adddot}},% + revisers = {{orraztaileak}{orrk\adddot}},% + founder = {{sortzailea}{sor\adddot}},% + founders = {{sortzaileak}{sork\adddot}},% + continuator = {{jarraitzailea}{jarr\adddot}},% + continuators = {{jarraitzaileak}{jarrk\adddot}},% + collaborator = {{kolaboratzailea}{kolab\adddot}},% + collaborators = {{kolaboratzaileak}{kolabk\adddot}},% + translator = {{itzulpena}{itz\adddot}},% + translators = {{itzulpena}{itz\adddot}},% + commentator = {{iruzkingilea}{irzgl\adddot}},% + commentators = {{iruzkingileak}{irzglk\adddot}},% + annotator = {{ohargilea}{ohr\adddot}},% + annotators = {{ohargileak}{ohrk\adddot}},% + commentary = {{iruzkina}{ir\adddot}},% + annotations = {{oharrak}{ohk\adddot}},% + introduction = {{sarrera}{sar\adddot}},% + foreword = {{hitzaurrea}{hitzaur\adddot}},% + afterword = {{hitzatzea}{hitzatz\adddot}},% + editortr = {{edizioa eta \lbx@sfromlang\ itzulpena}{ed\adddotspace eta \lbx@sfromlang\ itz\adddot}},% + editorstr = {{edizioa eta \lbx@sfromlang\ itzulpena}{ed\adddotspace eta \lbx@sfromlang\ itz\adddot}},% + editorco = {{edizioa eta iruzkinak}{ed\adddotspace eta irk\adddot}},% + editorsco = {{edizioa eta iruzkinak}{ed\adddotspace eta irk\adddot}},% + editoran = {{edizioa eta oharrak}{ed\adddotspace eta ohk\adddot}},% + editorsan = {{edizioa eta oharrak}{ed\adddotspace eta ohk\adddot}},% + editorin = {{edizioa eta sarrera}{ed\adddotspace eta sar\adddot}},% + editorsin = {{edizioa eta sarrera}{ed\adddotspace eta sar\adddot}},% + editorfo = {{edizioa eta hitzaurrea}{ed\adddotspace eta hitzaur\adddot}},% + editorsfo = {{edizioa eta hitzaurrea}{ed\adddotspace eta hitzaur\adddot}},% + editoraf = {{edizioa eta hitzatzea}{ed\adddotspace eta hitzatz\adddot}},% + editorsaf = {{edizioa eta hitzatzea}{ed\adddotspace eta hitzatz\adddot}},% + editortrco = {{edizioa, \lbx@sfromlang\ itzulpena eta iruzkinak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta irzk\adddot}},% + editorstrco = {{edizioa, \lbx@sfromlang\ itzulpena eta iruzkinak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta irzk\adddot}},% + editortran = {{edizioa, \lbx@sfromlang\ itzulpena eta oharrak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta ohk\adddot}},% + editorstran = {{edizioa, \lbx@sfromlang\ itzulpena eta oharrak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta ohk\adddot}},% + editortrin = {{edizioa, \lbx@sfromlang\ itzulpena eta sarrera}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta sar\adddot}},% + editorstrin = {{edizioa, \lbx@sfromlang\ itzulpena eta sarrera}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta sar\adddot}},% + editortrfo = {{edizioa, \lbx@sfromlang\ itzulpena eta hitzaurrea}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta hitzaur\adddot}},% + editorstrfo = {{edizioak, \lbx@sfromlang\ itzulpenak eta hitzaurrea}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddotspace eta hitzaur\adddot}},% + editortraf = {{edizioa, \lbx@sfromlang\ itzulpena eta hitzatzea}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddotspace eta hitzatz\adddot}},% + editorstraf = {{edizioak, \lbx@sfromlang\ itzulpenak eta hitzatzea}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddotspace eta hitzatz\adddot}},% + editorcoin = {{edizioa, iruzkinak eta sarrera}{ed.,\addabbrvspace irzk\adddotspace eta sar\adddot}},% + editorscoin = {{edizioak, iruzkinak eta sarrera}{edk.,\addabbrvspace irzk\adddotspace eta sar\adddot}},% + editorcofo = {{edizioa, iruzkinak eta hitzaurrea}{ed.,\addabbrvspace irzk\adddotspace eta hitzaur\adddot}},% + editorscofo = {{edizioak, iruzkinak eta hitzaurrea}{edk.,\addabbrvspace irzk\adddotspace eta hitzaur\adddot}},% + editorcoaf = {{edizioa, iruzkinak eta hitzatzea}{ed.,\addabbrvspace irzk\adddotspace eta hitzatz\adddot}},% + editorscoaf = {{edizioak, iruzkinak eta hitzatzea}{edk.,\addabbrvspace irzk\adddotspace eta hitzatz\adddot}},% + editoranin = {{edizioa, oharrak eta sarrera}{ed.,\addabbrvspace ohk\adddotspace eta sar\adddot}},% + editorsanin = {{edizioak, oharrak eta sarrera}{edk.,\addabbrvspace ohk\adddotspace eta sar\adddot}},% + editoranfo = {{edizioa, oharrak eta hitzaurrea}{ed.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},% + editorsanfo = {{edizioak, oharrak eta hitzaurrea}{edk.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},% + editoranaf = {{edizioa, oharrak eta hitzatzea}{ed.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},% + editorsanaf = {{edizioak, oharrak eta hitzatzea}{edk.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},% + editortrcoin = {{edizioa, \lbx@sfromlang\ itzulpena, iruzkinak eta sarrera}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot,\addabbrvspace irzk\adddotspace eta sar\adddot}},% + editorstrcoin = {{edizioak, \lbx@sfromlang\ itzulpenak, iruzkinak eta sarrera}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddot,\addabbrvspace irzk\adddotspace eta sar\adddot}},% + editortrcofo = {{edizioa, \lbx@sfromlang\ itzulpena, iruzkinak eta hitzaurrea}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot,\addabbrvspace irzk\adddotspace eta hitzaur\adddot}},% + editorstrcofo = {{edizioak, \lbx@sfromlang\ itzulpenak, iruzkinak eta hitzaurrea}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddot,\addabbrvspace irzk\adddotspace eta hitzaur\adddot}},% + editortrcoaf = {{edizioa, \lbx@sfromlang\ itzulpena, iruzkinak eta hitzatzea}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot,\addabbrvspace irzk\adddotspace eta hitzatz\adddot}},% + editorstrcoaf = {{edizioak, \lbx@sfromlang\ itzulpenak, iruzkinak eta hitzatzea}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddot,\addabbrvspace irzk\adddotspace eta hitzatz\adddot}},% + editortranin = {{edizioa, \lbx@sfromlang\ itzulpena, sarrera eta oharrak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot,\addabbrvspace sar\adddotspace eta ohk\adddot}},% + editorstranin = {{edizioak, \lbx@sfromlang\ itzulpenak, sarrera eta oharrak}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddot,\addabbrvspace sar\adddotspace eta ohk\adddot}},% + editortranfo = {{edizioa, \lbx@sfromlang\ itzulpena, hitzaurrea eta oharrak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot,\addabbrvspace hitzaur\adddotspace eta ohk\adddot}},% + editorstranfo = {{edizioak, \lbx@sfromlang\ itzulpenak, hitzaurrea eta oharrak}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddot,\addabbrvspace hitzaur\adddotspace eta ohk\adddot}},% + editortranaf = {{edizioa, \lbx@sfromlang\ itzulpena, hitzatzea eta oharrak}{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot,\addabbrvspace hitzatz\adddotspace eta ohk\adddot}},% + editorstranaf = {{edizioak, \lbx@sfromlang\ itzulpenak, hitzatzea eta oharrak}{edk.,\addabbrvspace \lbx@sfromlang\ itzk\adddot,\addabbrvspace hitzatz\adddotspace eta ohk\adddot}},% + translatorco = {{\lbx@sfromlang\ itzulpena eta iruzkinak}{\lbx@sfromlang\ itz\adddot\ eta irzk\adddot}},% + translatorsco = {{\lbx@sfromlang\ itzulpenak eta iruzkinak}{\lbx@sfromlang\ itzk\adddot\ eta irzk\adddot}},% + translatoran = {{\lbx@sfromlang\ itzulpena eta oharrak}{\lbx@sfromlang\ itz\adddot\ eta ohk\adddot}},% + translatorsan = {{\lbx@sfromlang\ itzulpenak eta oharrak}{\lbx@sfromlang\ itzk\adddot\ eta ohks\adddot}},% + translatorin = {{\lbx@sfromlang\ itzulpena eta sarrera}{\lbx@sfromlang\ itz\adddot\ eta sar\adddot}},% + translatorsin = {{\lbx@sfromlang\ itzulpenak eta sarrera}{\lbx@sfromlang\ itzk\adddot\ eta sar\adddot}},% + translatorfo = {{\lbx@sfromlang\ itzulpena eta hitzaurrea}{\lbx@sfromlang\ itz\adddot\ eta hitzaur\adddot}},% + translatorsfo = {{\lbx@sfromlang\ itzulpenak eta hitzaurrea}{\lbx@sfromlang\ itzk\adddot\ eta hitzaur\adddot}},% + translatoraf = {{\lbx@sfromlang\ itzulpena eta hitzatzea}{\lbx@sfromlang\ itz\adddot\ eta hitzatz\adddot}},% + translatorsaf = {{\lbx@sfromlang\ itzulpenak eta hitzatzea}{\lbx@sfromlang\ itzk\adddot\ eta hitzatz\adddot}},% + translatorcoin = {{\lbx@sfromlang\ itzulpena, sarrera eta iruzkinak}{\lbx@sfromlang\ itz\adddot, sar\adddotspace eta irzk\adddot}},% + translatorscoin = {{\lbx@sfromlang\ itzulpenak, sarrera eta iruzkinak}{\lbx@sfromlang\ itzk\adddot, sar\adddotspace eta irzk\adddot}},% + translatorcofo = {{\lbx@sfromlang\ itzulpena, hitzaurrea eta iruzkinak}{\lbx@sfromlang\ itz\adddot, hitzaur\adddotspace eta irzk\adddot}},% + translatorscofo = {{\lbx@sfromlang\ itzulpenak, hitzaurrea eta iruzkinak}{\lbx@sfromlang\ itzk\adddot, hitzaur\adddotspace eta irzk\adddot}},% + translatorcoaf = {{\lbx@sfromlang\ itzulpena, hitzatzea eta iruzkinak}{\lbx@sfromlang\ itz\adddot, hitzatz\adddotspace eta irzk\adddot}},% + translatorscoaf = {{\lbx@sfromlang\ itzulpenak, hitzatzea eta iruzkinak}{\lbx@sfromlang\ itzk\adddot, hitzatz\adddotspace eta irzk\adddot}},% + translatoranin = {{\lbx@sfromlang\ itzulpena, sarrera eta oharrak}{\lbx@sfromlang\ itz\adddot, sar\adddotspace eta ohk\adddot}},% + translatorsanin = {{\lbx@sfromlang\ itzulpenak, sarrera eta oharrak}{\lbx@sfromlang\ itzk\adddot, sar\adddotspace eta ohk\adddot}},% + translatoranfo = {{\lbx@sfromlang\ itzulpena, hitzaurrea eta oharrak}{\lbx@sfromlang\ itz\adddot, hitzaur\adddotspace eta ohk\adddot}},% + translatorsanfo = {{\lbx@sfromlang\ itzulpenak, hitzaurrea eta oharrak}{\lbx@sfromlang\ itzk\adddot, hitzaur\adddotspace eta ohk\adddot}},% + translatoranaf = {{\lbx@sfromlang\ itzulpena, hitzatzea eta oharrak}{\lbx@sfromlang\ itz\adddot, hitzatz\adddotspace eta ohk\adddot}},% + translatorsanaf = {{\lbx@sfromlang\ itzulpenak, hitzatzea eta oharrak}{\lbx@sfromlang\ itzk\adddot, hitzatz\adddotspace eta ohk\adddot}},% + organizer = {{antolatzailea(k)}{antltz(k)\adddot}},% + organizers = {{antolatzailea(k)}{antltz(k)\adddot}},% + byorganizer = {{antolatzailea(k)}{antltz(k)\adddot}},% + byauthor = {{egilea(k)}{eg(k)}},% + byeditor = {{editorea(k)}{ed(k)}},% + bycompiler = {{biltzailea(k)}{biltz(k)}},% + byredactor = {{erredaktorea(k)}{err(k)}},% + byreviser = {{orraztailea(k)}{orrz(k)}},% + byreviewer = {{berrikustzailea(k)}{berr(k)}},% + byfounder = {{sortzailea(k)}{sortz(k)}},% + bycontinuator = {{jarraitzailea(k)}{jarr(k)}},% + bycollaborator = {{kolaboratzailea(k)}{kolab(k)}},% + bytranslator = {{\lbx@lfromlang\ itzulpena}{\lbx@sfromlang\ itz\adddot}},% + bycommentator = {{iruzkinak}{irzk\adddotspace}},% + byannotator = {{oharrak}{ohk\adddot}},% + withcommentator = {{iruzkinak}{irzk\adddot}},% + withannotator = {{oharrak}{ohk\adddot}},% + withintroduction = {{sarrera}{sar\adddot}},% + withforeword = {{hitzaurrea}{hitzaur\adddot}},% + withafterword = {{hitzatzea}{hitzatz\adddot}},% + byeditortr = {{edizioa eta \lbx@lfromlang\ itzulpena}% + {ed\adddotspace eta \lbx@sfromlang\ itz\adddot}},% + byeditorco = {{edizioa eta iruzkinak}% + {ed\adddotspace eta irzk\adddot}},% + byeditoran = {{edizioa eta oharrak}% + {ed\adddotspace eta ohk\adddot}},% + byeditorin = {{edizioa eta sarrera}% + {ed\adddotspace eta sar\adddot}},% + byeditorfo = {{edizioa eta hitzaurrea}% + {ed\adddotspace eta hitzaur\adddot}},% + byeditoraf = {{edizioa eta hitzatzea}% + {ed\adddotspace eta hitzatz\adddot}},% + byeditortrco = {{edizioa, \lbx@lfromlang\ itzulpena eta iruzkinak}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot\ eta irzk\adddot}},% + byeditortran = {{edizioa, \lbx@lfromlang\ itzulpena eta oharrak}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot\ eta ohk\adddot}},% + byeditortrin = {{edizioa, \lbx@lfromlang\ itzulpena eta sarrera}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot\ eta sar\adddot}},% + byeditortrfo = {{edizioa, \lbx@lfromlang\ itzulpena eta hitzaurrea}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot\ eta hitzaur\adddot}},% + byeditortraf = {{edizioa, \lbx@lfromlang\ itzulpena eta hitzatzea}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot\ eta hitzatz\adddot}},% + byeditorcoin = {{edizioa, iruzkinak eta sarrera}% + {ed.,\addabbrvspace irzk\adddotspace eta sar\adddot}},% + byeditorcofo = {{edizioa, iruzkinak eta hitzaurrea}% + {ed.,\addabbrvspace irzk\adddotspace eta hitzaur\adddot}},% + byeditorcoaf = {{edizioa, iruzkinak eta hitzatzea}% + {ed.,\addabbrvspace irzk\adddotspace eta hitzatz\adddot}},% + byeditoranin = {{edizioa, oharrak eta sarrera}% + {ed.,\addabbrvspace ohk\adddotspace eta sar\adddot}},% + byeditoranfo = {{edizioa, oharrak eta hitzaurrea}% + {ed.,\addabbrvspace ohk\adddotspace eta hitzaur\adddot}},% + byeditoranaf = {{edizioa, oharrak eta hitzatzea}% + {ed.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},% + byeditortrcoin = {{edizioa, \lbx@lfromlang\ itzulpena, iruzkinak eta sarrera}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, irzk\adddotspace eta sar\adddot}},% + byeditortrcofo = {{edizioa, \lbx@lfromlang\ itzulpena, iruzkinak eta hitzaurrea}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, irzk\adddotspace eta hitzaur\adddot}},% + byeditortrcoaf = {{edizioa, \lbx@lfromlang\ itzulpena, iruzkinak eta hitzatzea}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, irzk\adddotspace eta hitzatz\adddot}},% + byeditortranin = {{edizioa, \lbx@lfromlang\ itzulpena, oharrak eta sarrera}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, ohk\adddotspace eta sar\adddot}},% + byeditortranfo = {{edizioa, \lbx@lfromlang\ itzulpena, oharrak eta hitzaurrea}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, ohk\adddotspace eta hitzaur\adddot}},% + byeditortranaf = {{edizioa, \lbx@lfromlang\ itzulpena, oharrak eta hitzatzea}% + {ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, ohk\adddotspace eta hitzatz\adddot}},% + bytranslatorco = {{\lbx@lfromlang\ itzulpena eta iruzkinak}% + {\lbx@sfromlang\ itz\adddot\ eta irzk\adddot}},% + bytranslatoran = {{\lbx@lfromlang\ itzulpena eta oharrak}% + {\lbx@sfromlang\ itz\adddot\ eta ohk\adddot}},% + bytranslatorin = {{\lbx@lfromlang\ itzulpena eta sarrera}% + {\lbx@sfromlang\ itz\adddot\ eta sarod\adddot}},% + bytranslatorfo = {{\lbx@lfromlang\ itzulpena eta hitzaurrea}% + {\lbx@sfromlang\ itz\adddot\ eta hitzaur\adddot}},% + bytranslatoraf = {{\lbx@lfromlang\ itzulpena eta hitzatzea}% + {\lbx@sfromlang\ itz\adddot\ eta hitzatz\adddot}},% + bytranslatorcoin = {{\lbx@lfromlang\ itzulpena, iruzkinak eta sarrera}% + {\lbx@sfromlang\ itz\adddot, irzk\adddotspace eta sar\adddot}},% + bytranslatorcofo = {{\lbx@lfromlang\ itzulpena, iruzkinak eta hitzaurrea}% + {\lbx@sfromlang\ itz\adddot, irzk\adddotspace eta pr\'ol\adddot}},% + bytranslatorcoaf = {{\lbx@lfromlang\ itzulpena, iruzkinak eta hitzatzea}% + {\lbx@sfromlang\ itz\adddot, irzk\adddotspace eta hitzatz\adddot}},% + bytranslatoranin = {{\lbx@lfromlang\ itzulpena, oharrak eta sarrera}% + {\lbx@sfromlang\ itz\adddot, ohk\adddotspace eta sar\adddot}},% + bytranslatoranfo = {{\lbx@lfromlang\ itzulpena, oharrak eta hitzaurrea}% + {\lbx@sfromlang\ itz\adddot, ohk\adddotspace eta pr\'ol\adddot}},% + bytranslatoranaf = {{\lbx@lfromlang\ itzulpena, oharrak eta hitzatzea}% + {\lbx@sfromlang\ itz\adddot, ohk\adddotspace eta hitzatz\adddot}},% + and = {{eta}{eta}},% + andothers = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},% + andmore = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},% + volume = {{bolumena}{bol\adddot}},% + volumes = {{bolumeank}{bolk\adddot}},% + involumes = {{non}{non}},% + jourvol = {{bolumena}{bol\adddot}},% + jourser = {{serie-zenbaki}{ser-zb\adddot}},% + book = {{liburua}{liburua}},% + part = {{atala}{atala}},% + issue = {{zenbakia}{zk\adddot}},% + newseries = {{serie-zenbaki berria}{ser-zb ber\adddot}},% + oldseries = {{serie-zenbaki zaharra}{ser-zb zah\adddot}},% + edition = {{edizioa}{ed\adddot}},% + reprint = {{berrinprimatzea}{berrinp\adddot}},% + reprintof = {{berrinprimatzea}{berrinp\adddot}},% + reprintas = {{berrinprimitua}{berrinp\adddot}},% + reprintfrom = {{berrinprimitua}{berrinp\adddot}},% + reviewof = {{erreseina}{erres\adddot}},% + translationof = {{itzulpena}{itz\adddot}},% + translationas = {{zein hizkuntzara itzulia}{zein hizk\adddot -ra itz\adddot}},% + translationfrom = {{zein hizkuntzatik itzulia}{zein hizk\adddotspace itz\adddot}},% + origpubas = {{originalki argitaratua}{orig\adddotspace argit\adddotspace}},% + origpubin = {{originalki argitaratua}{orig\adddot argit\adddot}},% + astitle = {{izenburua}{izenb\adddot}},% + bypublisher = {{argitaletxea}{argit\adddot}},% + nodate = {{datarik gabe}{dat\adddot gabe}},% + page = {{orria}{orr\adddot}},% + pages = {{orriak}{orrk\adddot}},% + column = {{zutabea}{ztb\adddot}},% + columns = {{zutabeak}{ztbk\adddot}},% + line = {{lerroa}{lerr\adddot}},% + lines = {{lerroak}{lerrk\adddot}},% + verse = {{lerroa}{lerr\adddot}},% + verses = {{lerroak}{lerrk\adddot}},% + section = {{atala}{at\adddot}},% + sections = {{atalak}{atk\adddot}},% + paragraph = {{parrafoa}{parr\adddot}},% + paragraphs = {{parrafoak}{parrk\adddot}},% + pagetotal = {{orria}{orr\adddot}},% + pagetotals = {{orriak}{orrk\adddot}},% + columntotal = {{zutabea}{ztb\adddot}},% + columntotals = {{zutabeak}{ztbk\adddot}},% + linetotal = {{lerroa}{lerr\adddot}},% + linetotals = {{lerroak}{lerrk\adddot}},% + versetotal = {{verso}{v\adddot}}, + versetotals = {{versos}{vv\adddot}}, + sectiontotal = {{atala}{at\adddot}},% + sectiontotals = {{atalak}{atk\adddot}},% + paragraphtotal = {{parrafoa}{parr\adddot}},% + paragraphtotals = {{parrafoak}{parrk\adddot}},% + in = {{non}{non}},% + inseries = {{non}{non}},% + ofseries = {{nongo}{nongo}},% + number = {{zenbakia}{zb\adddot}},% + chapter = {{kapitulua}{kap\adddot}},% + bathesis = {{Lizentziatura tesia}{Liz\adddotspace tesia}},% + mathesis = {{Maisutza tesia}{Mais\adddotspace tesia}},% + phdthesis = {{Tesi doktorala}{Tesi dokt\adddot}},% + candthesis = {{Doktoretzarako hautagaitza tesia}{Dokt\adddotspace haut\adddotspace tesia}},% + resreport = {{ikerketa txostena}{ik\adddotspace txos\adddot}},% + techreport = {{txosten teknikoa}{txos\adddotspace tek\adddot}},% + software = {{programa}{prog\adddot}},% + datacd = {{datu CD-a}{datu CD-a}},% + audiocd = {{audio CD-a}{audio CD-a}},% + version = {{bertsioa}{ber\adddot}},% + url = {{esteka}{esteka}},% + urlfrom = {{noiztik erabilgarri}{erabilg\adddot}},% + urlseen = {{azkenekoz ikusia}{azkenekoz ikusia}},% + inpreparation = {{prestaketa prozesuan}{prest\adddot proz\adddot}},% + submitted = {{bidalia}{bidalia}},% + forthcoming = {{laster}{laster}},% + inpress = {{inprentan}{inprentan}},% + prepublished = {{aurrez argitaratua}{aur\adddot argit\adddot}},% + citedas = {{aurrerantzean aipatua}{aur\adddot aip\adddot}},% + thiscite = {{bereziki}{berez\adddot}},% + seenote = {{ikus oharra}{ik\adddot oh\adddot}},% + quotedin = {{aipatua}{aip\adddot}},% + idem = {{idem}{id\adddot}},% + idemsf = {{idem}{id\adddot}},% + idemsm = {{idem}{id\adddot}},% + idemsn = {{idem}{id\adddot}},% + idempf = {{idem}{id\adddot}},% + idempm = {{idem}{id\adddot}},% + idempn = {{idem}{id\adddot}},% + idempp = {{idem}{id\adddot}},% + ibidem = {{ibidem}{ibid\adddot}},% + opcit = {{op\adddotspace cit\adddot}{o\adddot cit\adddot}},% + loccit = {{loc\adddotspace cit\adddot}{loc\adddot cit\adddot}},% + confer = {{cf\adddot}{cf\adddot}},% + sequens = {{hurr\adddot}{hurr\adddot}},% + sequentes = {{hurrk\adddot}{hurrk\adddot}},% + passim = {{passim}{passim}},% + see = {{ikus}{ik\adddot}},% + seealso = {{ikus ere}{ik\adddotspace ere}},% + backrefpage = {{ikus orria}{ik\adddotspace orr\adddot}},% + backrefpages = {{ikus orriak}{ik\adddotspace orrk\adddot}},% + january = {{urtarrila}{urt\adddot}},% + february = {{otsaila}{ots\adddot}},% + march = {{martxoa}{mar\adddot}},% + april = {{apirila}{ap\adddot}},% + may = {{maiatza}{mai\adddot}},% + june = {{ekaina}{ek\adddot}},% + july = {{uztaila}{uz\adddot}},% + august = {{abuztua}{abu\adddot}},% + september = {{iraila}{ir\adddot}},% + october = {{urria}{urr\adddot}},% + november = {{azaroa}{az\adddot}},% + december = {{abendua}{abe\adddot}},% + langamerican = {{ingleles amerikarra}{ingeles amerikarra}},% + langbrazilian = {{portugesa}{portugesa}},% + langbulgarian = {{bulgariera}{bulgariera}},% + langcatalan = {{katalana}{katalana}},% + langcroatian = {{kroaziera}{kroaziera}},% + langczech = {{txekiera}{txekiera}},% + langdanish = {{daniera}{daniera}},% + langdutch = {{nederlandera}{nederlandera}},% + langenglish = {{ingelesa}{ingelesa}},% + langestonian = {{estoniera}{estoniera}},% + langfinnish = {{finlandiera}{finlandiera}},% + langfrench = {{frantsesa}{frantsesa}},% + langgalician = {{galiziera}{galiziera}},% + langgerman = {{alemana}{alemana}},% + langgreek = {{greziera}{greziera}},% + langhungarian = {{hungariera}{hungariera}},% + langitalian = {{italiera}{italiera}},% + langjapanese = {{japoniera}{japoniera}},% + langlatin = {{latina}{latina}},% + langlatvian = {{lituaniera}{lituaniera}},% + langnorwegian = {{norvegiera}{norvegiera}},% + langpolish = {{poloniera}{poloniera}},% + langportuguese = {{portugesa}{portugesa}},% + langrussian = {{errusiera}{errusiera}},% + langslovak = {{eslovakiera}{eslovakiera}},% + langslovene = {{esloveniera}{esloveniera}},% + langspanish = {{gaztelera}{gaztelera}},% + langswedish = {{suediera}{suediera}},% + langukrainian = {{ukrainera}{ukrainera}},% + fromamerican = {{ingeles amerikarretik}{ingeles amerikarretik}},% + frombrazilian = {{portugesetik}{portugesetik}},% + frombulgarian = {{bulgarieratik}{bulgarieratik}},% + fromcatalan = {{katalanetik}{katalanetik}},% + fromcroatian = {{kroazieratik}{kroazieratik}},% + fromczech = {{txekieratik}{txekieratik}},% + fromdanish = {{danieratik}{danieratik}},% + fromdutch = {{nederlanderatik}{nederlanderatik}},% + fromenglish = {{ingelesetik}{ingelesetik}},% + fromestonian = {{estonieratik}{estonieratik}},% + fromfinnish = {{finlandieratik}{finlandieratik}},% + fromfrench = {{frantsesetik}{frantsesetik}},% + fromgalician = {{galizieratik}{galizieratik}},% + fromgerman = {{alemanetik}{alemanetik}},% + fromgreek = {{grezieratik}{grezieratik}},% + fromhungarian = {{hungarieratik}{hungarieratik}},% + fromitalian = {{italieratik}{italieratik}},% + fromjapanese = {{japonieratik}{japonieratik}},% + fromlatin = {{latinetik}{latinetik}},% + fromlatvian = {{lituanieratik}{lituanieratik}},% + fromnorwegian = {{norvegieratik}{norvegieratik}},% + frompolish = {{polonieratik}{polonieratik}},% + fromportuguese = {{portugesetik}{portugesetik}},% + fromrussian = {{errusieratik}{errusieratik}},% + fromslovak = {{eslovakieratik}{eslovakieratik}},% + fromslovene = {{eslovenieratik}{eslovenieratik}},% + fromspanish = {{gazteleratik}{gazteleratik}},% + fromswedish = {{suedieratik}{suedieratik}},% + fromukrainian = {{ukraineratik}{ukraineratik}},% + countryde = {{Alemania}{DE}},% + countryeu = {{Europar Batasuna}{EU}},% + countryep = {{Europar Batasuna}{EP}},% + countryfr = {{Frantzia}{FR}},% + countryuk = {{Britainia Handia}{GB}},% + countryus = {{Ameriketako Estatu Batuak}{US}},% + patent = {{patentea}{pat\adddot}},% + patentde = {{patente alemana}{pat\adddotspace alemana}},% + patenteu = {{patente europarra}{pat\adddotspace europarra}},% + patentfr = {{patente frantsesa}{pat\adddotspace frantsesa}},% + patentuk = {{patente britainiarra}{pat\adddotspace britainiarra}},% + patentus = {{patente estatubatuarra}{pat\adddotspace estatubatuarra}},% + patreq = {{patente eskakizuna}{pat\adddotspace esk\adddot}},% + patreqde = {{patente alemanaaren eskakizuna}{pat\adddotspace alem\adddotspace esk\adddot}},% + patreqeu = {{patente europarraren eskakizuna}{pat\adddotspace europ\adddotspace esk\adddot}},% + patreqfr = {{patente frantsesaren eskakizuna}{pat\adddotspace frants\adddotspace esk\adddot}},% + patrequk = {{patente britainiarraren eskakizuna}{pat\adddotspace brit\adddotspace esk\adddot}},% + patrequs = {{patente estatubatuarraren eskakizuna}{pat\adddotspace estat\adddotspace esk\adddot}},% + file = {{fitxategia}{fitxategia}},% + library = {{biblioteka}{bibl\adddot}},% + abstract = {{laburpena}{laburpena}},% + annotation = {{oharra}{oh\adddot}},% + commonera = {{oraingo aroa}{o\adddotspace a\adddot}},% + beforecommonera = {{oraingo aroaren aurretik}{o\adddotspace a\adddotspace a\adddot}},% + annodomini = {{Kristo ondoren}{K\adddotspace o\adddot}},% + beforechrist = {{Kristo aurretik}{K\adddotspace a\adddot}},% + circa = {{circa}{ca\adddot}},% + spring = {{udaberria}{udab\adddot}},% + summer = {{uda}{uda}},% + autumn = {{udazkena}{udaz\adddot}},% + winter = {{negua}{neg\adddot}},% +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{a\adddotspace m\adddot}{a\adddot m\adddot}},% + pm = {{p\adddotspace m\adddot}{p\adddot m\adddot}},% +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/brazil-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/brazil-ms.lbx new file mode 100644 index 00000000000..0987a6b8433 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/brazil-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{brazil-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{brazilian} +\InheritBibliographyStrings{brazilian} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/brazilian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/brazilian-ms.lbx new file mode 100644 index 00000000000..a923eba259e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/brazilian-ms.lbx @@ -0,0 +1,566 @@ +\ProvidesFile{brazilian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{brazilian}{brazil,portuges} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord#1{% + \stripzeros{#1}\textordmasculine}% \textordmasculine -> textcomp.sty + \protected\def\mkbibfemord#1{% + \stripzeros{#1}\textordfeminine}% \textordfeminine -> textcomp.sty + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace de\space}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\nobreakspace de\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}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografia}{Bibliografia}}, + references = {{Refer\^encias}{Refer\^encias}}, + shorthands = {{Lista de abreviaturas}{Abreviaturas}}, + editor = {{editor}{ed\adddot}}, + editors = {{editores}{ed\adddot}}, + compiler = {{compilador}{comp\adddot}}, + compilers = {{compiladores}{comp\adddot}}, + redactor = {{redator}{red\adddot}}, + redactors = {{redatores}{red\adddot}}, + reviser = {{revisor}{rev\adddot}}, + revisers = {{revisores}{rev\adddot}}, + founder = {{fundador}{fund\adddot}}, + founders = {{fundadores}{fund\adddot}}, + continuator = {{continuador}{cont\adddot}}, + continuators = {{continuadores}{cont\adddot}}, + collaborator = {{colaborador}{colab\adddot}}, + collaborators = {{colaboradores}{colab\adddot}}, + translator = {{tradutor}{trad\adddot}}, + translators = {{tradutores}{trad\adddot}}, + commentator = {{coment\'ario}{coment\adddot}}, + commentators = {{coment\'ario}{coment\adddot}}, + annotator = {{notas}{notas}}, + annotators = {{notas}{notas}}, + commentary = {{coment\'ario}{coment\adddot}}, + annotations = {{notas}{notas}}, + introduction = {{introdu\c{c}\~ao}{introd\adddot}}, + foreword = {{pref\'acio}{pref\adddot}}, + afterword = {{posf\'acio}{posf\adddot}}, + editortr = {{editor e tradutor}% + {ed\adddotspace e trad\adddot}}, + editorstr = {{editores e tradutores}% + {ed\adddotspace e trad\adddot}}, + editorco = {{editor e coment\'ario}% + {ed\adddotspace e coment\adddot}}, + editorsco = {{editores e coment\'ario}% + {ed\adddotspace e coment\adddot}}, + editoran = {{editor e notas}% + {ed\adddotspace e notas}}, + editorsan = {{editores e notas}% + {ed\adddotspace e notas}}, + editorin = {{editor e introdu\c{c}\~ao}% + {ed\adddotspace e introd\adddot}}, + editorsin = {{editores e introdu\c{c}\~ao}% + {ed\adddotspace e introd\adddot}}, + editorfo = {{editor e pref\'acio}% + {ed\adddotspace e pref\adddot}}, + editorsfo = {{editores e pref\'acio}% + {ed\adddotspace e pref\adddot}}, + editoraf = {{editor e posf\'acio}% + {ed\adddotspace e posf\adddot}}, + editorsaf = {{editores e posf\'acio}% + {ed\adddotspace e posf\adddot}}, + editortrco = {{editor, tradutor e coment\'ario}% + {ed., trad\adddot\ e coment\adddot}}, + editorstrco = {{editores, tradutores e coment\'ario}% + {ed., trad\adddot\ e coment\adddot}}, + editortran = {{editor, tradutor e notas}% + {ed., trad\adddot\ e notas}}, + editorstran = {{editores, tradutores e notas}% + {ed., trad\adddot\ e notas}}, + editortrin = {{editor, tradutor e introdu\c{c}\~ao}% + {ed., trad\adddot\ e introd\adddot}}, + editorstrin = {{editores, tradutores e introdu\c{c}\~ao}% + {ed., trad\adddot\ e introd\adddot}}, + editortrfo = {{editor, tradutor e pref\'acio}% + {ed., trad\adddot\ e pref\adddot}}, + editorstrfo = {{editores, tradutores e pref\'acio}% + {ed., trad\adddot\ e pref\adddot}}, + editortraf = {{editor, tradutor e posf\'acio}% + {ed., trad\adddot\ e posf\adddot}}, + editorstraf = {{editores, tradutores e posf\'acio}% + {ed., trad\adddot\ e posf\adddot}}, + editorcoin = {{editor, coment\'ario e introdu\c{c}\~ao}% + {ed., coment\adddot\ e introd\adddot}}, + editorscoin = {{editores, coment\'ario e introdu\c{c}\~ao}% + {ed., coment\adddot\ e introd\adddot}}, + editorcofo = {{editor, coment\'ario e pref\'acio}% + {ed., coment\adddot\ e pref\adddot}}, + editorscofo = {{editores, coment\'ario e pref\'acio}% + {ed., coment\adddot\ e pref\adddot}}, + editorcoaf = {{editor, coment\'ario e posf\'acio}% + {ed., coment\adddot\ e posf\adddot}}, + editorscoaf = {{editores, coment\'ario e posf\'acio}% + {ed., coment\adddot\ e posf\adddot}}, + editoranin = {{editor, notas e introdu\c{c}\~ao}% + {ed., notas e introd\adddot}}, + editorsanin = {{editores, notas e introdu\c{c}\~ao}% + {ed., notas e introd\adddot}}, + editoranfo = {{editor, notas e pref\'acio}% + {ed., notas e pref\adddot}}, + editorsanfo = {{editores, notas e pref\'acio}% + {ed., notas e pref\adddot}}, + editoranaf = {{editor, notas e posf\'acio}% + {ed., notas e posf\adddot}}, + editorsanaf = {{editores, notas e posf\'acio}% + {ed., notas e posf\adddot}}, + editortrcoin = {{editor, tradutor, coment\'ario e introdu\c{c}\~ao}% + {ed., trad., coment\adddot\ e introd\adddot}}, + editorstrcoin = {{editores, tradutores, coment\'ario e introdu\c{c}\~ao}% + {ed., trad., coment\adddot\ e introd\adddot}}, + editortrcofo = {{editor, tradutor, coment\'ario e pref\'acio}% + {ed., trad., coment\adddot\ e pref\adddot}}, + editorstrcofo = {{editores, tradutores, coment\'ario e pref\'acio}% + {ed., trad., coment\adddot\ e pref\adddot}}, + editortrcoaf = {{editor, tradutor, coment\'ario e posf\'acio}% + {ed., trad., coment\adddot\ e posf\adddot}}, + editorstrcoaf = {{editores, tradutores, coment\'ario e posf\'acio}% + {ed., trad., coment\adddot\ e posf\adddot}}, + editortranin = {{editor, tradutor, notas e introdu\c{c}\~ao}% + {ed., trad., notas e introd\adddot}}, + editorstranin = {{editores, tradutores, notas e introdu\c{c}\~ao}% + {ed., trad., notas e introd\adddot}}, + editortranfo = {{editor, tradutor, notas e pref\'acio}% + {ed., trad., notas e pref\adddot}}, + editorstranfo = {{editores, tradutores, notas e pref\'acio}% + {ed., trad., notas e pref\adddot}}, + editortranaf = {{editor, tradutor, notas e posf\'acio}% + {ed., trad., notas e posf\adddot}}, + editorstranaf = {{editores, tradutores, notas e posf\'acio}% + {ed., trad., notas e posf\adddot}}, + translatorco = {{tradu\c{c}\~ao e coment\'ario}% + {trad\adddot\ e coment\adddot}}, + translatorsco = {{tradu\c{c}\~ao e coment\'ario}% + {trad\adddot\ e coment\adddot}}, + translatoran = {{tradu\c{c}\~ao e notas}% + {trad\adddot\ e notas}}, + translatorsan = {{tradu\c{c}\~ao e notas}% + {trad\adddot\ e notas}}, + translatorin = {{tradu\c{c}\~ao e introdu\c{c}\~ao}% + {trad\adddot\ e introd\adddot}}, + translatorsin = {{tradu\c{c}\~ao e introdu\c{c}\~ao}% + {trad\adddot\ e introd\adddot}}, + translatorfo = {{tradu\c{c}\~ao e pref\'acio}% + {trad\adddot\ e pref\adddot}}, + translatorsfo = {{tradu\c{c}\~ao e pref\'acio}% + {trad\adddot\ e pref\adddot}}, + translatoraf = {{tradu\c{c}\~ao e posf\'acio}% + {trad\adddot\ e posf\adddot}}, + translatorsaf = {{tradu\c{c}\~ao e posf\'acio}% + {trad\adddot\ e posf\adddot}}, + translatorcoin = {{tradu\c{c}\~ao, coment\'ario e introdu\c{c}\~ao}% + {trad., coment\adddot\ e introd\adddot}}, + translatorscoin = {{tradu\c{c}\~ao, coment\'ario e introdu\c{c}\~ao}% + {trad., coment\adddot\ e introd\adddot}}, + translatorcofo = {{tradu\c{c}\~ao, coment\'ario e pref\'acio}% + {trad., coment\adddot\ e pref\adddot}}, + translatorscofo = {{tradu\c{c}\~ao, coment\'ario e pref\'acio}% + {trad., coment\adddot\ e pref\adddot}}, + translatorcoaf = {{tradu\c{c}\~ao, coment\'ario e posf\'acio}% + {trad., coment\adddot\ e posf\adddot}}, + translatorscoaf = {{tradu\c{c}\~ao, coment\'ario e posf\'acio}% + {trad., coment\adddot\ e posf\adddot}}, + translatoranin = {{tradu\c{c}\~ao, notas e introdu\c{c}\~ao}% + {trad., notas e introd\adddot}}, + translatorsanin = {{tradu\c{c}\~ao, notas e introdu\c{c}\~ao}% + {trad., notas e introd\adddot}}, + translatoranfo = {{tradu\c{c}\~ao, notas e pref\'acio}% + {trad., notas e pref\adddot}}, + translatorsanfo = {{tradu\c{c}\~ao, notas e pref\'acio}% + {trad., notas e pref\adddot}}, + translatoranaf = {{tradu\c{c}\~ao, notas e posf\'acio}% + {trad., notas e posf\adddot}}, + translatorsanaf = {{tradu\c{c}\~ao, notas e posf\'acio}% + {trad., notas e posf\adddot}}, + organizer = {{organizador}{org\adddot}}, + organizers = {{organizadores}{org\adddot}}, + byauthor = {{por}{por}}, + byeditor = {{editado por}{ed\adddotspace por}}, + bycompiler = {{compilado por}{comp\adddotspace por}}, + byredactor = {{redigido por}{red\adddotspace por}}, + byreviser = {{revisado por}{rev\adddotspace por}}, + byreviewer = {{resenhado por}{res\adddotspace por}}, + byfounder = {{fundado por}{fund\adddotspace por}}, + bycontinuator = {{continuado por}{cont\adddotspace por}}, + bycollaborator = {{em colabora\c{c}\~ao com}{em colab\adddotspace com}}, + bytranslator = {{traduzido \lbx@lfromlang\ por}{trad\adddot\ \lbx@sfromlang\ por}}, + bycommentator = {{comentado por}{coment\adddot\ por}}, + byannotator = {{anotado por}{anot\adddot\ por}}, + byorganizer = {{organizado por}{org\adddotspace por}}, + withcommentator = {{com coment\'ario de}{com coment\adddot\ de}}, + withannotator = {{com notas de}{com notas de}}, + withintroduction = {{com introdu\c{c}\~ao de}{com introd\adddot\ de}}, + withforeword = {{com pref\'acio de}{com pref\adddot\ de}}, + withafterword = {{com posf\'acio de}{com posf\adddot\ de}}, + byeditortr = {{editado e traduzido \lbx@lfromlang\ por}% + {ed\adddotspace e trad\adddot\ \lbx@sfromlang\ por}}, + byeditorco = {{editado e comentado por}% + {ed\adddotspace e coment\adddot\ por}}, + byeditoran = {{editado e anotado por}% + {ed\adddotspace e anot\adddot\ por}}, + byeditorin = {{editado e introduzido por}% + {ed\adddotspace e introd\adddot\ por}}, + byeditorfo = {{editado e prefaciado por}% + {ed\adddotspace e pref\adddot\ por}}, + byeditoraf = {{editado e posfaciado por}% + {ed\adddotspace e posf\adddot\ por}}, + byeditortrco = {{editado, traduzido \lbx@lfromlang\ e comentado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e coment\adddot\ por}}, + byeditortran = {{editado, traduzido \lbx@lfromlang\ e anotado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}}, + byeditortrin = {{editado, traduzido \lbx@lfromlang\ e introduzido por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e introd\adddot\ por}}, + byeditortrfo = {{editado, traduzido \lbx@lfromlang\ e prefaciado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e pref\adddot\ por}}, + byeditortraf = {{editado, traduzido \lbx@lfromlang\ e posfaciado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e posf\adddot\ por}}, + byeditorcoin = {{editado, comentado e introduzido por}% + {ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}}, + byeditorcofo = {{editado, comentado e prefaciado por}% + {ed.,\addabbrvspace coment\adddot\ e pref\adddot\ por}}, + byeditorcoaf = {{editado, comentado e posfaciado por}% + {ed.,\addabbrvspace coment\adddot\ e posf\adddot\ por}}, + byeditoranin = {{editado, anotado e introduzido por}% + {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}}, + byeditoranfo = {{editado, anotado e prefaciado por}% + {ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}}, + byeditoranaf = {{editado, anotado e posfaciado por}% + {ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}}, + byeditortrcoin = {{editado, traduzido \lbx@lfromlang, comentado e introduzido por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, coment\adddot\ e introd\adddot\ por}}, + byeditortrcofo = {{editado, traduzido \lbx@lfromlang, comentado e prefaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, coment\adddot\ e pref\adddot\ por}}, + byeditortrcoaf = {{editado, traduzido \lbx@lfromlang, comentado e posfaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, coment\adddot\ e posf\adddot\ por}}, + byeditortranin = {{editado, traduzido \lbx@lfromlang, anotado e introduzido por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + byeditortranfo = {{editado, traduzido \lbx@lfromlang, anotado e prefaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e pref\adddot\ por}}, + byeditortranaf = {{editado, traduzido \lbx@lfromlang, anotado e posfaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e posf\adddot\ por}}, + bytranslatorco = {{traduzido \lbx@lfromlang\ e comentado por}% + {trad\adddot\ \lbx@sfromlang\ e coment\adddot\ por}}, + bytranslatoran = {{traduzido \lbx@lfromlang\ e anotado por}% + {trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}}, + bytranslatorin = {{traduzido \lbx@lfromlang\ e introduzido por}% + {trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}}, + bytranslatorfo = {{traduzido \lbx@lfromlang\ e prefaciado por}% + {trad\adddot\ \lbx@sfromlang\ e pref\adddot\ por}}, + bytranslatoraf = {{traduzido \lbx@lfromlang\ e posfaciado por}% + {trad\adddot\ \lbx@sfromlang\ e posf\adddot\ por}}, + bytranslatorcoin = {{traduzido \lbx@lfromlang, comentado e introduzido por}% + {trad\adddot\ \lbx@sfromlang, coment\adddot\ e introd\adddot\ por}}, + bytranslatorcofo = {{traduzido \lbx@lfromlang, comentado e prefaciado por}% + {trad\adddot\ \lbx@sfromlang, coment\adddot\ e pref\adddot\ por}}, + bytranslatorcoaf = {{traduzido \lbx@lfromlang, comentado e posfaciado por}% + {trad\adddot\ \lbx@sfromlang, coment\adddot\ e posf\adddot\ por}}, + bytranslatoranin = {{traduzido \lbx@lfromlang, anotado e introduzido por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + bytranslatoranfo = {{traduzido \lbx@lfromlang, anotado e prefaciado por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e pref\adddot\ por}}, + bytranslatoranaf = {{traduzido \lbx@lfromlang, anotado e posfaciado por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e posf\adddot\ por}}, + and = {{e}{e}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{volume}{vol\adddot}}, + volumes = {{volumes}{vol\adddot}}, + involumes = {{em}{em}}, + jourvol = {{volume}{v\adddot}}, + jourser = {{s\'erie}{s\'er\adddot}}, + book = {{livro}{livro}}, + part = {{parte}{parte}}, + issue = {{n\'umero}{n\'um\adddot}}, + newseries = {{nova s\'erie}{nova s\'er\adddot}}, + oldseries = {{s\'erie antiga}{s\'er\adddot\ antiga}}, + edition = {{edi\c{c}\~ao}{ed\adddot}}, + reprint = {{reimpress\~ao}{reimpr\adddot}}, + reprintof = {{reimpress\~ao de}{reimpr\adddotspace de}}, + reprintas = {{reimpresso como}{reimpr\adddotspace como}}, + reprintfrom = {{reimpresso de}{reimpr\adddotspace de}}, + translationof = {{tradu\c{c}\~ao de}{trad\adddotspace de}}, + translationas = {{traduzido como}{trad\adddotspace como}}, + translationfrom = {{traduzido do}{trad\adddotspace do}}, + reviewof = {{resenha de}{res\adddotspace de}}, + origpubas = {{originalmente publicado como}{orig\adddotspace pub\adddotspace como}}, + origpubin = {{originalmente publicado em}{orig\adddotspace pub\adddotspace em}}, + astitle = {{como}{como}}, + bypublisher = {{por}{por}}, + nodate = {{sem\space data}{s\adddot d\adddot}}, + page = {{p\'agina}{p\adddot}}, + pages = {{p\'aginas}{pp\adddot}}, + column = {{coluna}{col\adddot}}, + columns = {{colunas}{col\adddot}}, + line = {{linha}{l\adddot}}, + lines = {{linhas}{ll\adddot}}, + verse = {{verso}{v\adddot}}, + verses = {{versos}{vv\adddot}}, + section = {{se\c{c}\~ao}{\S}}, + sections = {{se\c{c}\~oes}{\S\S}}, + paragraph = {{par\'agrafo}{par\adddot}}, + paragraphs = {{par\'agrafos}{par\adddot}}, + pagetotal = {{p\'agina}{p\adddot}}, + pagetotals = {{p\'aginas}{pp\adddot}}, + columntotal = {{coluna}{col\adddot}}, + columntotals = {{colunas}{col\adddot}}, + linetotal = {{linha}{l\adddot}}, + linetotals = {{linhas}{ll\adddot}}, + versetotal = {{verso}{v\adddot}}, + versetotals = {{versos}{vv\adddot}}, + sectiontotal = {{se\c{c}\~ao}{\S}}, + sectiontotals = {{se\c{c}\~oes}{\S\S}}, + paragraphtotal = {{par\'agrafo}{par\adddot}}, + paragraphtotals = {{par\'agrafos}{par\adddot}}, + in = {{em}{em}}, + inseries = {{em}{em}}, + ofseries = {{de}{de}}, + number = {{n\'umero}{n\adddot}}, + chapter = {{cap\'\i tulo}{cap\adddot}}, + bathesis = {{trabalho de conclus\~ao}{trab\adddotspace de conc\adddot}}, + mathesis = {{disserta\c{c}\~ao de mestrado}{diss\adddot\ de mestr\adddot}}, + phdthesis = {{tese de doutorado}{tese de dout\adddot}}, + candthesis = {{}{}},% FIXME: missing + resreport = {{relat\'orio de pesquisa}{rel\adddotspace de pesq\adddot}}, + techreport = {{relat\'orio t\'ecnico}{rel\adddotspace t\'ecn\adddot}}, + software = {{software}{software}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{CD de \'audio}{CD de \'audio}}, + version = {{vers\~ao}{vers\~ao}}, + url = {{endere\c{c}o}{endere\c{c}o}}, + urlfrom = {{dispon\'ivel em}{disp\adddotspace em}}, + urlseen = {{acesso em}{acesso em}}, + inpreparation = {{em prepara\c{c}\~ao}{em prepara\c{c}\~ao}}, + submitted = {{submetido}{submetido}}, + forthcoming = {{aceito para publica\c{c}\~ao}{aceito para publica\c{c}\~ao}}, + inpress = {{no prelo}{no prelo}}, + prepublished = {{pr\'e-publicado}{pr\'e-publicado}}, + citedas = {{doravante citado como}{doravante citado como}}, + thiscite = {{especialmente}{esp\adddot}}, + seenote = {{ver nota}{ver nota}}, + quotedin = {{apud}{apud}}, + 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}{passim}}, + see = {{ver}{ver}}, + seealso = {{ver tamb\'em}{ver tamb\'em}}, + backrefpage = {{ver p\'agina}{ver p\adddot}}, + backrefpages = {{ver p\'aginas}{ver pp\adddot}}, + january = {{janeiro}{jan\adddot}}, + february = {{fevereiro}{fev\adddot}}, + march = {{mar\c{c}o}{mar\adddot}}, + april = {{abril}{abr\adddot}}, + may = {{maio}{mai\adddot}}, + june = {{junho}{jun\adddot}}, + july = {{julho}{jul\adddot}}, + august = {{agosto}{ago\adddot}}, + september = {{setembro}{set\adddot}}, + october = {{outubro}{out\adddot}}, + november = {{novembro}{nov\adddot}}, + december = {{dezembro}{dez\adddot}}, + langamerican = {{ingl\^es}{ingl\^es}}, + langbrazilian = {{portugu{\^e}s}{portugu{\^e}s}}, + langbulgarian = {{b\'ulgaro}{b\'ulgaro}}, + langcatalan = {{catal\~ao}{catal\~ao}}, + langcroatian = {{croata}{croata}}, + langczech = {{tcheco}{tcheco}}, + langdanish = {{dinamarqu\^es}{dinamarqu\^es}}, + langdutch = {{holand{\^e}s}{holand{\^e}s}}, + langenglish = {{ingl\^es}{ingl\^es}}, + langfinnish = {{finland\^es}{finland\^es}}, + langestonian = {{estoniano}{estoniano}}, + langfrench = {{franc\^es}{franc\^es}}, + langgalician = {{galego}{galego}}, + langgerman = {{alem\~ao}{alem\~ao}}, + langgreek = {{grego}{grego}}, + langhungarian = {{h\'ungaro}{h\'ungaro}}, + langitalian = {{italiano}{italiano}}, + langjapanese = {{japon\^es}{japon\^es}}, + langlatin = {{latim}{latim}}, + 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}}, + frombulgarian = {{do b\'ulgaro}{do b\'ulgaro}}, + fromcatalan = {{do catal\~ao}{do catal\~ao}}, + fromcroatian = {{do croata}{do croata}}, + fromczech = {{do tcheco}{do tcheco}}, + fromdanish = {{do dinamarqu\^es}{do dinamarqu\^es}}, + fromdutch = {{do holand{\^e}s}{do holand{\^e}s}}, + fromenglish = {{do ingl\^es}{do ingl\^es}}, + fromestonian = {{do estoniano}{do estoniano}}, + fromfinnish = {{do finland\^es}{do finland\^es}}, + fromfrench = {{do franc\^es}{do franc\^es}}, + fromgalician = {{do galego}{do galego}}, + fromgerman = {{do alem\~ao}{do alem\~ao}}, + fromgreek = {{do grego}{do grego}}, + fromhungarian = {{do h\'ungaro}{do h\'ungaro}}, + fromitalian = {{do italiano}{do italiano}}, + fromjapanese = {{do japon\^es}{do japon\^es}}, + fromlatin = {{do latim}{do latim}}, + 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}}, + countryep = {{Uni\~ao Europeia}{EP}}, + countryfr = {{Fran\c{c}a}{FR}}, + countryuk = {{Reino Unido}{GB}}, + countryus = {{Estados Unidos}{US}}, + patent = {{patente}{pat\adddot}}, + patentde = {{patente alem\~a}{pat\adddot\ alem\~a}}, + patenteu = {{patente europeia}{pat\adddot\ europeia}}, + patentfr = {{patente francesa}{pat\adddot\ francesa}}, + patentuk = {{patente brit\^anica}{pat\adddot\ brit\^anica}}, + patentus = {{patente americana}{pat\adddot\ americana}}, + patreq = {{pedido de patente}{ped\adddot\ de pat\adddot}}, + patreqde = {{pedido de patente alem\~a}{ped\adddot\ de pat\adddot\ alem\~a}}, + patreqeu = {{pedido de patente europeia}{ped\adddot\ de pat\adddot\ europeia}}, + patreqfr = {{pedido de patente francesa}{ped\adddot\ de pat\adddot\ francesa}}, + patrequk = {{pedido de patente brit\^anica}{ped\adddot\ de pat\adddot\ brit\^anica}}, + patrequs = {{pedido de patente americana}{ped\adddot\ de pat\adddot\ americana}}, + file = {{arquivo}{arquivo}}, + library = {{biblioteca}{biblioteca}}, + abstract = {{resumo}{resumo}}, + annotation = {{notas}{notas}}, + commonera = {{Era Comum}{EC}}, + beforecommonera = {{antes da Era Comum}{AEC}}, + annodomini = {{depois de Cristo}{d\adddot C\adddot}}, + beforechrist = {{antes de Cristo}{a\adddot C\adddot}}, + circa = {{circa}{ca\adddot}}, + spring = {{primavera}{primavera}}, + summer = {{ver\~ao}{ver\~ao}}, + autumn = {{outono}{outono}}, + winter = {{inverno}{inverno}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/british-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/british-ms.lbx new file mode 100644 index 00000000000..a47c2cb055f --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/british-ms.lbx @@ -0,0 +1,90 @@ +\ProvidesFile{british-ms.lbx} +[\abx@lbxid] + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \protected\def\mkbibordinal#1{% + \begingroup + \@tempcnta0#1\relax\number\@tempcnta + \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}% + \ifnum\@tempcnta>20 + \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10\relax}% + \fi + \ifcase\@tempcnta th\or st\or nd\or rd\else th\fi + \endgroup}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\DeclareBibliographyStrings{% + inherit = {english}, + organizer = {{organiser}{org\adddot}}, + organizers = {{organisers}{orgs\adddot}}, + byorganizer = {{organised by}{org\adddotspace by}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/bulgarian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/bulgarian-ms.lbx new file mode 100644 index 00000000000..28af3171c31 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/bulgarian-ms.lbx @@ -0,0 +1,621 @@ +\ProvidesFile{bulgarian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{bulgarian}{bulgarian} + +% This file requires UTF-8 support! + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Bulgarian requires UTF-8 support} + {The 'bulgarian.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 + bulgarian.lbx now.}% + \endinput} + +\NewBibliographyString{% Used only Bulgarian for month checks + datejanuary, + datefebruary, + datemarch, + dateapril, + datemay, + datejune, + datejuly, + dateaugust, + dateseptember, + dateoctober, + datenovember, + datedecember% +} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textemdash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\mkbibmascord}% + \protected\def\mkbibmascord#1{#1-й}% + \protected\def\mkbibfemord#1{#1-я}% + \protected\def\mkbibneutord#1{#1-е}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iffieldundef{#3} + {\mkbibmonth{\thefield{#2}}} + {\lbx@bg@mkbibdatemonth{\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}{}{\adddot}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\adddot}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibneutord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Библиография}{Библиография}},%book-like (chapter) + references = {{Литература}{Литература}},%article-like (section) + shorthands = {{Списък на съкращенията}{Съкращения}}, + editor = {{редактор}{ред\adddot}}, + editors = {{редактори}{ред\adddot}}, + compiler = {{съставител}{съст\adddot}}, + compilers = {{съставители}{съст\adddot}}, + redactor = {{редактор}{ред\adddot}},% FIXME: unsure + redactors = {{редактори}{ред\adddot}},% FIXME: unsure + reviser = {{коректор}{кор\adddotspace кор\adddot}}, + revisers = {{коректор}{кор\adddotspace кор\adddot}}, + founder = {{основател}{осн\adddot}}, + founders = {{основатели}{осн\adddot}}, + continuator = {{продължител}{прод\adddot}},% FIXME: unsure + continuators = {{продължител}{прод\adddot}},% FIXME: unsure + collaborator = {{участник}{участ\adddot}},% FIXME: unsure + collaborators = {{участници}{участ\adddot}},% FIXME: unsure + translator = {{преводач}{прев\adddot}}, + translators = {{преводачи}{прев\adddot}}, + commentator = {{коментатор}{комент\adddot}}, + commentators = {{коментатори}{комент\adddot}}, + annotator = {{бележки}{бел\adddot}}, + annotators = {{бележки}{бел\adddot}}, + commentary = {{комментар}{комент\adddot}}, + annotations = {{бележки}{бел\adddot}}, + introduction = {{уводна статия}{ув\adddotspace ст\adddot}}, + foreword = {{предговор}{предг\adddot}}, + afterword = {{послеслов}{послесл\adddot}}, + editortr = {{редактор и преводач}% + {ред\adddotspace и прев\adddot}}, + editorstr = {{редактори и преводачи}% + {ред\adddotspace и прев\adddot}}, + editorco = {{редактор и коментатор}% + {ред\adddotspace и комент\adddot}}, + editorsco = {{редактори и коментатори}% + {ред\adddotspace и комент\adddot}}, + editoran = {{редактор и съставител на бележките}% + {ред\adddotspace и съст\adddotspace на бел\adddot}}, + editorsan = {{редактори и съставители на бележките}% + {ред\adddotspace и съст\adddotspace на бел\adddot}}, + editorin = {{редактор и автор на уводната статия}% + {ред\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + editorsin = {{редактори и автори на уводната статия}% + {ред\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + editorfo = {{редактор и автор на предговора}% + {ред\adddotspace и авт\adddotspace на предг\adddot}}, + editorsfo = {{редактори и автори на предговора}% + {ред\adddotspace и авт\adddotspace на предговора\adddot}}, + editoraf = {{редактор и автор на послеслова}% + {ред\adddotspace и авт\adddotspace на послесл\adddot}}, + editorsaf = {{редактори и автори на послеслова}% + {ред\adddotspace и авт\adddotspace на послесл\adddot}}, + editortrco = {{редактор, преводач и автор на коментарите}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на комент\adddot}}, + editorstrco = {{редактори, преводачи и автори коментарите}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на комент\adddot}}, + editortran = {{редактор, преводач и съставител на бележките}% + {ред.,\addabbrvspace прев.\adddotspace и съст\adddotspace на бел\adddot}}, + editorstran = {{редактори, преводачи и съставители на бележките}% + {ред.,\addabbrvspace прев.\adddotspace и съст\adddotspace на бел\adddot}}, + editortrin = {{редактор, преводач и автор на уводната статия}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + editorstrin = {{редактори, преводачи и автори на уводната статия}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + editortrfo = {{редактор, преводач и автор на предговора}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на предг\adddot}}, + editorstrfo = {{редактори, преводачи и автори на предговора}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на предг\adddot}}, + editortraf = {{редактор, преводач и автор на послеслова}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на послеслова\adddot}}, + editorstraf = {{редактори, преводачи и автори на послеслова}% + {ред.,\addabbrvspace прев\adddotspace и авт\adddotspace на послеслова\adddot}}, + editorcoin = {{редактор, автор на коментарите и уводната статия}% + {ред.,\addabbrvspace авт\adddotspace на комент\adddotspace и ун\adddotspace ст\adddot}}, + editorscoin = {{редактори, автори на коментарите и уводната статия}% + {ред.,\addabbrvspace авт\adddotspace на комент\adddotspace и ун\adddotspace ст\adddot}}, + editorcofo = {{редактор, автор на комментарите и предговора}% + {ред.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + editorscofo = {{редактори, автори на комментарите и предговора}% + {ред.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + editorcoaf = {{редактор, автор на комментарите и послеслова}% + {ред.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + editorscoaf = {{редактори, автори на комментарите и послеслова}% + {ред.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + editoranin = {{редактор, съставител на бележките и автор на уводната статия}% + {ред.,\addabbrvspace съст\adddotspace на бел.\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + editorsanin = {{редактори, съставители на бележките и автори на уводната статия}% + {ред.,\addabbrvspace съст\adddotspace на бел.\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + editoranfo = {{редактор, съставител на бележките и автор на предговора}% + {ред.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на предг\adddot}}, + editorsanfo = {{редактори, съставители на бележките и автори на предговора}% + {ред.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на предг\adddot}}, + editoranaf = {{редактор, съставител на бележките и автор на послеслова}% + {ред.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на послесл\adddot}}, + editorsanaf = {{редактори, съставители на бележките и автори на послеслова}% + {ред.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на послесл\adddot}}, + editortrcoin = {{редактор, преводач, автор на коментарите и уводната статия}% + {ред.,\addabbrvspace прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и ув\adddotspace ст\adddot}}, + editorstrcoin = {{редактори, преводачи, автори на коментарите и уводната статия}% + {ред.,\addabbrvspace прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и ув\adddotspace ст\adddot}}, + editortrcofo = {{редактор, преводач, автор на коментарите и предговора}% + {ред.,\addabbrvspace прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + editorstrcofo = {{редактори, преводачи, автори на коментарите и предговора}% + {ред.,\addabbrvspace прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + editortrcoaf = {{редактор, преводач, автор на комментарите и послеслова}% + {ред.,\addabbrvspace прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + editorstrcoaf = {{редактори, преводачи, автори на комментарите и послеслова}% + {ред.,\addabbrvspace прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + editortranin = {{редактор, переводач, съставител на бележките и автор на уводната статия}% + {ред.,\addabbrvspace прев.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на ув.\adddotspace ст\adddot}}, + editorstranin = {{редактори, переводачи, съставители на бележките и автори на уводната статия}% + {ред.,\addabbrvspace прев.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на ув.\adddotspace ст\adddot}}, + editortranfo = {{редактор, преводач, съставител на бележките и автор на предговора}% + {ред.,\addabbrvspace прев.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на предг\adddot}}, + editorstranfo = {{редактор, преводач, съставител на бележките и автор на предговора}% + {ред.,\addabbrvspace прев.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на предг\adddot}}, + editortranaf = {{редактор, преводач, съставител на бележките и автор на послеслова}% + {ред.,\addabbrvspace прев.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на послесл\adddot}}, + editorstranaf = {{редактори, преводачи, съставители на бележките и автори на послеслова}% + {ред.,\addabbrvspace прев.,\addabbrvspace съст\adddotspace на бел\adddotspace и авт\adddotspace на послесл\adddot}}, + translatorco = {{преводач и автор на коментарите}% + {прев\adddotspace и авт\adddotspace на комент\adddot}}, + translatorsco = {{преводачи и автори на коментарите}% + {прев\adddotspace и авт\adddotspace на комент\adddot}}, + translatoran = {{преводач и съставител на бележките}% + {прев\adddotspace и съст\adddotspace на бел\adddot}}, + translatorsan = {{преводачи и съставители на бележките}% + {прев\adddotspace и съст\adddotspace на бел\adddot}}, + translatorin = {{преводач и автор на уводната статия}% + {прев\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + translatorsin = {{преводач и автор на уводната статия}% + {прев\adddotspace и авт\adddotspace на ув\adddotspace ст\adddot}}, + translatorfo = {{преводач и автор на предговора}% + {прев\adddotspace и авт\adddotspace на предг\adddot}}, + translatorsfo = {{преводачи и автори на предговора}% + {прев\adddotspace и авт\adddotspace на предг\adddot}}, + translatoraf = {{преводач и автор на послеслова}% + {прев\adddotspace и авт\adddotspace на послесл\adddot}}, + translatorsaf = {{преводачи и автори на послеслова}% + {прев\adddotspace и авт\adddotspace на послесл\adddot}}, + translatorcoin = {{преводач, автор ва коментарите и уводната статия}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и ув\adddotspace ст\adddot}}, + translatorscoin = {{преводач, автор ва коментарите и уводната статия}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и ув\adddotspace ст\adddot}}, + translatorcofo = {{преводач, автор на коментарите и предговора}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + translatorscofo = {{преводачи, автори на коментарите и предговора}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + translatorcoaf = {{преводач, автор на комментарите и послеслова}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + translatorscoaf = {{преводачи, автори на комментарите и послеслова}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + translatoranin = {{преводач, автор на комментарите и уводната статия}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и ув\adddotspace ст\adddot}}, + translatorsanin = {{преводачи, автори на комментарите и уводната статия}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и ув\adddotspace ст\adddot}}, + translatoranfo = {{преводач, автор на коментарите и предговора}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + translatorsanfo = {{преводачи, автори на коментарите и предговора}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и предг\adddot}}, + translatoranaf = {{преводач, автор на коментарите и послеслова}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, + translatorsanaf = {{преводачи, автори на коментарите и послеслова}% + {прев.,\addabbrvspace авт\adddotspace на комент\adddotspace и послесл\adddot}}, +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing +% byauthor = {{}{}},% FIXME: missing + byeditor = {{под редакцията на}{под\addabbrvspace ред\adddotspace на}}, + bycompiler = {{съставител}{съст\adddot}}, + byredactor = {{под редакцията на }{под\addabbrvspace ред\adddotspace на}}, + byreviser = {{коригирано от}{кор\adddotspace от}}, + byreviewer = {{рецензия от}{рец\adddotspace от}}, + byfounder = {{основател}{осн\adddot}}, + bycontinuator = {{продължител}{продълж\adddot}}, + bycollaborator = {{сътрудник}{сътр\adddot}}, + bytranslator = {{превод \lbx@lfromlang}{прев\adddot\ \lbx@sfromlang}}, + bycommentator = {{коментари}{комент\adddot}}, + byannotator = {{бележки}{бел\adddot}}, + withcommentator = {{коментари}{комент\adddot}}, + withannotator = {{бележки}{бел\adddot}}, + withintroduction = {{уводна статия}{ув\adddotspace ст\adddot}}, + withforeword = {{предговор}{предг\adddot}}, + withafterword = {{послеслов}{послесл\adddot}}, + byeditortr = {{превод \lbx@lfromlang, под редакцията на}% + {прев\adddot\ \lbx@sfromlang, под\addabbrvspace ред\adddot}}, + byeditorco = {{под редакцията на, коментари}% + {под ред.,\addabbrvspace коммент\adddot}}, + byeditoran = {{под редакцията на, бележки}% + {под ред.,\addabbrvspace бел\adddot}}, + byeditorin = {{под редакцията на, уводна статия}% + {под ред.,\addabbrvspace ув\adddotspace ст\adddot}}, + byeditorfo = {{под редакцията на, предговор}% + {под ред.,\addabbrvspace предг\adddot}}, + byeditoraf = {{под редакцията на, послеслов}% + {под ред.,\addabbrvspace послесл\adddot}}, + byeditortrco = {{под редакцията на, превод \lbx@lfromlang\ и комментари}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang\ и коммент\adddot}}, + byeditortran = {{под редакцията на, превод \lbx@lfromlang\ и бележки}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang\ и бел\adddot}}, + byeditortrin = {{под редакцията на, превод \lbx@lfromlang, уводна статия}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, ув\adddotspace ст\adddot}}, + byeditortrfo = {{под редакцията на, превод \lbx@lfromlang, предговор}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, предг\adddot}}, + byeditortraf = {{под редакцията на, превод \lbx@lfromlang, послеслов}% + {под ред\adddotspace и прев\adddot\ \lbx@sfromlang, послесл\adddot}}, + byeditorcoin = {{под редакцията на, коментари и уводна статия}% + {под ред.,\addabbrvspace комент\adddotspace и ув\adddotspace ст\adddot}}, + byeditorcofo = {{под редакцията на, коментари и предговор}% + {под ред.,\addabbrvspace комент\adddotspace и предг\adddot}}, + byeditorcoaf = {{под редакцията на, коментари и послеслов}% + {под ред.,\addabbrvspace комент\adddotspace и послесл\adddot}}, + byeditoranin = {{под редакцията на, бележки и уводна статия}% + {под ред.,\addabbrvspace бел\adddotspace и ув\adddotspace ст\adddot}}, + byeditoranfo = {{под редакцията на, бележки и предговор}% + {под ред.,\addabbrvspace бел\adddotspace и предг\adddot}}, + byeditoranaf = {{под редакцията на, бележки и послеслов}% + {под ред.,\addabbrvspace бел\adddotspace и послесл\adddot}}, + byeditortrcoin = {{под редакцията на, превод \lbx@lfromlang, коментари и уводна статия}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, комент\adddotspace и ув\adddotspace ст\adddot}}, + byeditortrcofo = {{под редакцията на, превод \lbx@lfromlang, коментари и предгово}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, комент\adddotspace и предг\adddot}}, + byeditortrcoaf = {{под редакцията на, превод \lbx@lfromlang, коментари и послеслов}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, комент\adddotspace и послесл\adddot}}, + byeditortranin = {{под редакцията на, превод \lbx@lfromlang, бележки и уводна статия}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, бел\adddotspace и ув\adddotspace ст\adddot}}, + byeditortranfo = {{под редакцията на, превод \lbx@lfromlang, бележки и предговор}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, бел\adddotspace и предг\adddot}}, + byeditortranaf = {{под редакцията на, превод \lbx@lfromlang, бележки и послеслов}% + {под ред.,\addabbrvspace прев\adddot\ \lbx@sfromlang, бел\adddotspace и послесл\adddot}}, + bytranslatorco = {{превод \lbx@lfromlang\ и коментари}% + {прев\adddot\ \lbx@sfromlang\ и коммент\adddot}}, + bytranslatoran = {{превод \lbx@lfromlang\ и бележки}% + {прев\adddot\ \lbx@sfromlang\ и бел\adddot}}, + bytranslatorin = {{превод \lbx@lfromlang\ и уводна статия}% + {прев\adddot\ \lbx@sfromlang\ и ув\adddotspace ст\adddot}}, + bytranslatorfo = {{превод \lbx@lfromlang\ и предговор}% + {прев\adddot\ \lbx@sfromlang\ и предг\adddot}}, + bytranslatoraf = {{превод \lbx@lfromlang\ и послеслов}% + {прев\adddot\ \lbx@sfromlang\ и и послесл\adddot}}, + bytranslatorcoin = {{превод \lbx@lfromlang, коментари и уводна статия}% + {прев\adddot\ \lbx@sfromlang, комент\adddotspace и ув\adddotspace ст\adddot}}, + bytranslatorcofo = {{превод \lbx@lfromlang, коментари и предговор}% + {прев\adddot\ \lbx@sfromlang, комент\adddotspace и предг\adddot}}, + bytranslatorcoaf = {{превод \lbx@lfromlang, коментари и послеслов}% + {прев\adddot\ \lbx@sfromlang, комент\adddotspace и послесл\adddot}}, + bytranslatoranin = {{превод \lbx@lfromlang, бележки и уводна статия}% + {прев\adddot\ \lbx@sfromlang, бел\adddotspace и ув\adddotspace ст\adddot}}, + bytranslatoranfo = {{превод \lbx@lfromlang, бележки и предговор}% + {прев\adddot\ \lbx@sfromlang, бел\adddotspace и предг\adddot}}, + bytranslatoranaf = {{превод \lbx@lfromlang, бележки и послеслов}% + {прев\adddot\ \lbx@sfromlang, бел\adddotspace и послесл\adddot}}, + and = {{и}{и}}, + andothers = {{и\addabbrvspace др\adddot}{и\addabbrvspace др\adddot}}, + andmore = {{и\addabbrvspace др\adddot}{и\addabbrvspace др\adddot}}, + volume = {{том}{т\adddot}}, + volumes = {{тома}{т\adddot}}, + involumes = {{в}{в}}, + jourvol = {{том}{т\adddot}}, + jourser = {{поредица}{пор\adddot}}, + book = {{книга}{кн\adddot}}, + part = {{част}{ч\adddot}}, + issue = {{брой}{бр\adddot}}, + newseries = {{нова поредица}{нова пор\adddot}}, + oldseries = {{стара поредица}{стара пор\adddot}}, + edition = {{издание}{изд\adddot}}, + reprint = {{преиздание}{преизд\adddot}}, + reprintof = {{преиздание на}{преизд\adddotspace на}}, + reprintas = {{переиздадено като}{преизд\adddotspace като}}, + reprintfrom = {{преиздадено с}{преизд\adddotspace с}}, + translationof = {{превод по изданието\addcolon}{прев\adddotspace по изд\adddot\addcolon}}, + translationas = {{превод\addcolon}{прев\adddot\addcolon}}, + translationfrom = {{превод от}{прев\adddotspace от}}, + reviewof = {{рецензия на\addcolon}{рец\adddotspace на\addcolon}}, + origpubas = {{първо публикуване\addcolon}% + {първо публ\adddot\addcolon}}, + origpubin = {{първо публикувано в}% + {първо публ\adddotspace в}}, + astitle = {{под заглавие\addcolon}{под загл\adddot\addcolon}}, + bypublisher = {{издател\addcomma}{изд\addcomma}},% FIXME: unsure + nodate = {{б\adddot г\adddot}{б\adddot г\adddot}}, + page = {{страница}{с\adddot}}, + pages = {{страници}{с\adddot}}, + column = {{колона}{кол\adddot}}, + columns = {{колони}{кол\adddot}}, + line = {{ред}{ред}}, + lines = {{редове}{редове}}, + verse = {{стих}{стих}}, + verses = {{стихове}{стихове}}, + section = {{параграф}{\S}}, + sections = {{параграфи}{\S\S}}, + paragraph = {{абзац}{абз\adddot}}, + paragraphs = {{абзаци}{абз\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 = {{в}{в}}, + inseries = {{в}{в}}, + ofseries = {{от}{от}}, + number = {{номер}{№}}, + chapter = {{глава}{гл\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{маг\adddotspace\textellipsis\ дис\adddot} + {маг\adddotspace\textellipsis\ дис\adddot}}, + phdthesis = {{докт\adddotspace\textellipsis\ дис\adddot} + {докт\adddotspace\textellipsis\ дис\adddot}}, + candthesis = {{канд\adddotspace\textellipsis\ дис\adddot} + {канд\adddotspace\textellipsis\ дис\adddot}}, + resreport = {{научен доклад}{научен докл\adddot}}, + techreport = {{технически доклад}{техн\adddotspace докл\adddot}}, + software = {{програмно обезпечение}{прогр\adddotspace обезп\adddot}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{версия}{вер\adddot}}, + url = {{url}{url}}, + urlfrom = {{режим на достъп}{режим на достъп}}, + urlseen = {{дата на посещение}{дата\addabbrvspace на посещ\adddot}}, + inpreparation = {{в\addabbrvspace подготовка на}{в подг\adddotspace на}}, + submitted = {{изпратено}{изпр\adddot}}, + forthcoming = {{предстоящо публикуване}{предст\adddotspace публ\adddot}}, + inpress = {{под\addabbrvspace печат}{под печ\adddot}}, + prepublished = {{предварителна публикация}{предв\adddotspace публ\adddot}},% FIXME: unsure + citedas = {{по-нататък цитирано като}{по-нататък цит\addabbrvspace като}}, + thiscite = {{тук}{тук}}, + seenote = {{виж бележката под линия}{вж\adddotspace бел\adddotspace под линия}}, + quotedin = {{цитирано в}{цит\adddotspace в}}, + idem = {{същия\addabbrvspace автор}{същ\adddotspace авт\adddot}}, + idemsm = {{същия\addabbrvspace автор}{същ\adddotspace авт\adddot}}, + idemsf = {{същия\addabbrvspace автор}{същ\adddotspace авт\adddot}}, + idemsn = {{същия\addabbrvspace автор}{същ\adddotspace авт\adddot}}, + idempm = {{същите\addabbrvspace автори}{същ\adddotspace авт\adddot}}, + idempf = {{същите\addabbrvspace автори}{същ\adddotspace авт\adddot}}, + idempn = {{същите\addabbrvspace автори}{същ\adddotspace авт\adddot}}, + idempp = {{същите\addabbrvspace автори}{същ\adddotspace авт\adddot}}, + ibidem = {{пак\addabbrvspace там}{пак\addabbrvspace там}}, + opcit = {{цит\adddotspace съч\adddot}{цит\adddotspace съч\adddot}}, + loccit = {{цит\adddotspace място}{цит\adddotspace място}}, + confer = {{сравни}{срв\adddot}}, + sequens = {{и следващата}{и\addabbrvspace следв\adddot}}, + sequentes = {{и следващите}{и\addabbrvspace следв\adddot}}, + passim = {{навсякъде}{навс\adddot}}, + see = {{виж}{вж\adddot}}, + seealso = {{виж също}{вж\adddotspace също}}, + backrefpage = {{цитирано на страница}{цит\adddotspace на\addabbrvspace с\adddot}}, + backrefpages = {{цитирано на страници}{цит\adddotspace на\addabbrvspace с\adddot}}, + january = {{януари}{ян\adddot}}, + february = {{февруари}{февр\adddot}}, + march = {{март}{март}}, + april = {{април}{апр\adddot}}, + may = {{май}{май}}, + june = {{юни}{юни}}, + july = {{юли}{юли}}, + august = {{август}{авг\adddot}}, + september = {{септември}{септ\adddot}}, + october = {{октомври}{окт\adddot}}, + november = {{ноември}{ноем\adddot}}, + december = {{декември}{дек\adddot}}, + datejanuary = {{януари}{ян\adddot}}, + datefebruary = {{февруари}{февр\adddot}}, + datemarch = {{март}{март}}, + dateapril = {{април}{апр\adddot}}, + datemay = {{май}{май}}, + datejune = {{юни}{юни}}, + datejuly = {{юли}{юли}}, + dateaugust = {{август}{авг\adddot}}, + dateseptember = {{септември}{септ\adddot}}, + dateoctober = {{октомври}{окт\adddot}}, + datenovember = {{ноември}{ноем\adddot}}, + datedecember = {{декември}{дек\adddot}}, + langamerican = {{американски}{амер\adddot}}, + langbrazilian = {{бразилски}{браз\adddot}}, + langbulgarian = {{български}{бълг\adddot}}, + langcatalan = {{каталунски}{катал\adddot}}, + langcroatian = {{хърватски}{хърв\adddot}}, + langczech = {{чешки}{чеш\adddot}}, + langdanish = {{датски}{дат\adddot}}, + langdutch = {{нидерландски}{нидерл\adddot}}, + langenglish = {{английски}{англ\adddot}}, + langestonian = {{естонски}{ест\adddot}}, + langfinnish = {{фински}{фин\adddot}}, + langfrench = {{френски}{фр\adddot}}, + langgalician = {{галисийски}{гал\adddot}}, + langgerman = {{немски}{нем\adddot}}, + langgreek = {{гръцки}{гр\adddot}}, + langhungarian = {{унгарски}{унг\adddot}}, + langitalian = {{италиански}{итал\adddot}}, + langjapanese = {{японски}{яп\adddot}}, + langlatin = {{латински}{лат\adddot}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{норвежки}{норв\adddot}}, + langpolish = {{полски}{пол\adddot}}, + langportuguese = {{португалски}{порт\adddot}}, + langrussian = {{русски}{рус\adddot}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{словенски}{слов\adddot}}, + langspanish = {{испански}{исп\adddot}}, + langswedish = {{шведски}{швед\adddot}}, + fromamerican = {{от американски}{от\addabbrvspace амер\adddot}}, + frombrazilian = {{от бразилски}{от\addabbrvspace браз\adddot}}, + frombulgarian = {{от български}{от\addabbrvspace бълг\adddot}}, + fromcatalan = {{от каталунски}{от\addabbrvspace катал\adddot}}, + fromcroatian = {{от хърватски}{от\addabbrvspace хърв\adddot}}, + fromczech = {{от чешки}{от\addabbrvspace чеш\adddot}}, + fromdanish = {{от датски}{от\addabbrvspace дат\adddot}}, + fromdutch = {{от нидерландски}{от\addabbrvspace нидерл\adddot}}, + fromenglish = {{от английски}{от\addabbrvspace англ\adddot}}, + fromestonian = {{от естонски}{от\addabbrvspace эст\adddot}}, + fromfinnish = {{от фински}{от\addabbrvspace фин\adddot}}, + fromfrench = {{от френски}{от\addabbrvspace фр\adddot}}, + fromgalician = {{от галисийски}{от\addabbrvspace гал\adddot}}, + fromgerman = {{от немски}{от\addabbrvspace нем\adddot}}, + fromgreek = {{от гръцки}{от\addabbrvspace гр\adddot}}, + fromhungarian = {{от унгарски}{от\addabbrvspace унг\adddot}}, + fromitalian = {{от италиански}{от\addabbrvspace итал\adddot}}, + fromjapanese = {{от японски}{от\addabbrvspace яп\adddot}}, + fromlatin = {{от латински}{от\addabbrvspace лат\adddot}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{от норвежки}{от\addabbrvspace норв\adddot}}, + frompolish = {{от полски}{от пол\adddot}}, + fromportuguese = {{от португалски}{от\addabbrvspace порт\adddot}}, + fromrussian = {{от руски}{от\addabbrvspace рус\adddot}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{от словенски}{от\addabbrvspace слов\adddot}}, + fromspanish = {{от испански}{от\addabbrvspace исп\adddot}}, + fromswedish = {{от шведски}{от\addabbrvspace швед\adddot}}, + countryde = {{Германия}{Германия}}, + countryeu = {{Европейски съюз}{ЕС}}, + countryep = {{Европейски съюз}{ЕС}}, + countryfr = {{Франция}{Франция}}, + countryuk = {{Великобритания}{Великобритания}}, + countryus = {{Съединени американски щати}{САЩ}}, + patent = {{патент}{пат\adddot}}, + patentde = {{патент на Германия}{пат\adddotspace на Германия}}, + patenteu = {{патент на Европа}{пат\adddotspace на Европа}}, + patentfr = {{патент на Франция}{пат\adddotspace на Франции}}, + patentuk = {{патент на Великобритания}{пат\adddotspace на Великобритания}}, + patentus = {{патент на САЩ}{пат\adddotspace на САЩ}}, + patreq = {{заявка}{заявка}}, + patreqde = {{заявка за патент на Германии}{заявка за пат\adddotspace на Германия}}, + patreqeu = {{заявка за патент на Европа}{заявка за пат\adddotspace на Европа}}, + patreqfr = {{заявка за патент на Франция}{заявка за пат\adddotspace на Франция}}, + patrequk = {{заявка за патент на Великобритания}{заявка за пат\adddotspace на Великобритания}}, + patrequs = {{заявка за патент на САЩ}{заявка за пат\adddotspace на САЩ}}, + file = {{файл}{файл}}, + library = {{библиотека}{б-ка}}, + abstract = {{резюме}{рез\adddot}}, + annotation = {{анотация}{анот\adddot}}, + commonera = {{новата ера}{н\adddotspace е\adddot}}, + beforecommonera = {{до новата ера}{до н\adddotspace е\adddot}}, + annodomini = {{след Христа}{сл\adddotspace Хр\adddot}}, + beforechrist = {{до Христа}{до Хр\adddot}}, + circa = {{около}{ок\adddot}}, + spring = {{пролет}{пролет}}, + summer = {{лято}{лято}}, + autumn = {{есен}{есен}}, + winter = {{зима}{зима}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{преди обяд}{преди обяд}}, + pm = {{след обяд}{сдед обяд}}, +} + +\protected\gdef\lbx@bg@mkbibdatemonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{datejanuary}% + \or\abx@bibmonth{datefebruary}% + \or\abx@bibmonth{datemarch}% + \or\abx@bibmonth{dateapril}% + \or\abx@bibmonth{datemay}% + \or\abx@bibmonth{datejune}% + \or\abx@bibmonth{datejuly}% + \or\abx@bibmonth{dateaugust}% + \or\abx@bibmonth{dateseptember}% + \or\abx@bibmonth{dateoctober}% + \or\abx@bibmonth{datenovember}% + \or\abx@bibmonth{datedecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/canadian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/canadian-ms.lbx new file mode 100644 index 00000000000..66dcd46be6e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/canadian-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{canadian-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{english}% correct? these are the US standards +\InheritBibliographyStrings{english} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/catalan-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/catalan-ms.lbx new file mode 100644 index 00000000000..66eb3b47894 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/catalan-ms.lbx @@ -0,0 +1,663 @@ +\ProvidesFile{catalan-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{catalan}{catalan} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\addnbthinspace -\addnbthinspace}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord#1{% + \begingroup + \@tempcnta0#1\relax\number\@tempcnta + \ifcase\@tempcnta\or r\or n\or r\or t\else\`e\fi + \endgroup}% + \protected\def\mkbibfemord#1{\stripzeros{#1}a}% + \protected\def\mkbibdatelong#1#2#3{% maintainers: check me + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2} + {} + {\space% + \ifthenelse{\thefield{#2}=4} + {d'} + {\ifthenelse{\thefield{#2}=8} + {d'} + {\ifthenelse{\thefield{#2}=10} + {d'} + {de\nobreakspace}}}}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1} + {} + {\space de\nobreakspace}}% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% maintainers: check me + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\mbox{-}}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\mbox{-}}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\thefield{#1}}}% + \savecommand\lbx@initnamehook + \savecommand\lbx@inittitlehook + \savecommand\mkdaterangeterse + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \let\lbx@initnamehook=\lbx@ca@smartof + \let\lbx@inittitlehook=\lbx@ca@smartof + \protected\def\mkdaterangeterse{% + \BibliographyWarning{% + Date format 'terse' not applicable to\MessageBreak + Catalan dates. Using format 'short' instead}% + \mkdaterangefull{short}}% + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@initnamehook + \restorecommand\lbx@inittitlehook + \restorecommand\mkdaterangeterse + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografia}{Bibliografia}}, + references = {{Refer\`encies}{Refer\`encies}}, + shorthands = {{Llista d'abreviatures}{Abreviatures}}, + editor = {{editor}{ed\adddot}}, + editors = {{editors}{ed\adddot}}, + compiler = {{compilador}{comp\adddot}},% Revisar + compilers = {{compiladors}{comp\adddot}},% Revisar + redactor = {{redactor}{red\adddot}}, + redactors = {{redactors}{red\adddot}}, + reviser = {{revisor}{rev\adddot}}, + revisers = {{revisors}{rev\adddot}}, + founder = {{fundador}{fund\adddot}}, + founders = {{fundadors}{fund\adddot}}, + continuator = {{continuador}{cont\adddot}}, + continuators = {{continuadors}{cont\adddot}}, + collaborator = {{co\l.laborador}{co\l.l\adddot}},% \l* -> catalan.ldf (babel) + collaborators = {{co\l.laboradors}{co\l.l\adddot}}, + translator = {{traductor}{trad\adddot}}, + translators = {{traductors}{trad\adddot}}, + commentator = {{comentarista}{com\adddot}}, + commentators = {{comentaristes}{com\adddot}}, + annotator = {{anotador}{anot\adddot}}, + annotators = {{anotadors}{anot\adddot}}, + commentary = {{comentari}{com\adddot}}, + annotations = {{notes}{n\adddot}}, + introduction = {{introducci\'o}{intr\adddot}}, + foreword = {{pr\`oleg}{pr\`ol\adddot}}, + afterword = {{ep\'{\i}leg}{ep\adddot}}, + editortr = {{editor i traductor}{ed\adddotspace i trad\adddot}}, + editorstr = {{editors i traductors}{ed\adddotspace i trad\adddot}}, + editorco = {{editor i comentarista}{ed\adddotspace i com\adddot}}, + editorsco = {{editors i comentaristes}{ed\adddotspace i com\adddot}}, + editoran = {{editor i anotador}{ed\adddotspace i anot\adddot}}, + editorsan = {{editors i anotadors}{ed\adddotspace i anot\adddot}}, + editorin = {{editor i autor de la introducci\'o} + {ed\adddotspace i aut\adddotspace de la intr\adddot}}, + editorsin = {{editors i autors de la introducci\'o} + {ed\adddotspace i aut\adddotspace de la intr\adddot}}, + editorfo = {{editor i autor del pr\`oleg} + {ed\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editorsfo = {{editors i autors del pr\`oleg} + {ed\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editoraf = {{editor i autor de l'ep\'{\i}leg} + {ed\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorsaf = {{editors i autors de l'ep\'{\i}leg} + {ed\adddotspace i aut\adddotspace de l'ep\adddot}}, + editortrco = {{editor, traductor i comentarista} + {ed.,\addabbrvspace trad\adddotspace i com\adddot}}, + editorstrco = {{editors, traductors i comentaristes} + {ed.,\addabbrvspace trad\adddotspace i com\adddot}}, + editortran = {{editor, traductor i anotador} + {ed.,\addabbrvspace trad\adddotspace i anot\adddot}}, + editorstran = {{editors, traductors i anotadors} + {ed.,\addabbrvspace trad\adddotspace i anot\adddot}}, + editortrin = {{editor, traductor i autor de la introducci\'o} + {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace de la intr\adddot}}, + editorstrin = {{editors, traductors i autors de la introducci\'o} + {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace de la intr\adddot}}, + editortrfo = {{editor, traductor i autor del pr\`oleg} + {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editorstrfo = {{editors, traductors i autors del pr\`oleg} + {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editortraf = {{editor, traductor i autor de l'ep\'{\i}leg} + {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorstraf = {{editors, traductors i autors de l'ep\'{\i}leg} + {ed.,\addabbrvspace trad\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorcoin = {{editor, comentarista i autor de la introducci\'o} + {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, + editorscoin = {{editors, comentaristes i autors de la introducci\'o} + {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, + editorcofo = {{editor, comentarista i autor del pr\`oleg} + {ed.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editorscofo = {{editors, comentaristes i autors del pr\`oleg} + {ed.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editorcoaf = {{editor, comentarista i autor de l'ep\'{\i}leg} + {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorscoaf = {{editors, comentaristes i autors de l'ep\'{\i}leg} + {ed.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, + editoranin = {{editor, anotador i autor de la introducci\'o} + {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, + editorsanin = {{editors, anotadors i autors de la introducci\'o} + {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, + editoranfo = {{editor, anotador i autor del pr\`oleg} + {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editorsanfo = {{editors, anotadors i autors del pr\`oleg} + {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + editoranaf = {{editor, anotador i autor de l'ep\'{\i}leg} + {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorsanaf = {{editors, anotadors i autors de l'ep\'{\i}leg} + {ed.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, + editortrcoin = {{editor, traductor, comentarista i autor de la introducci\'o} + {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, + editorstrcoin = {{editors, traductors, comentaristes i autors de la introducci\'o} + {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, + editortrcofo = {{editor, traductor, comentarista i autor del pr\`oleg} + {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot }}, + editorstrcofo = {{editors, traductors, comentaristes i autors del pr\`oleg} + {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot }}, + editortrcoaf = {{editor, traductor, comentarista i autor de l'ep\'{\i}leg} + {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorstrcoaf = {{editors, traductors, comentaristes i autors de l'ep\'{\i}leg} + {ed.,\addabbrvspace trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, + editortranin = {{editor, traductor, anotador i autor de la introducci\'o} + {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, + editorstranin = {{editors, traductors, anotadors i autors de la introducci\'o} + {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, + editortranfo = {{editor, traductor, anotador i autor del pr\`oleg} + {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de pr\`ol\adddot}}, + editorstranfo = {{editors, traductors, anotadors i autors del pr\`oleg} + {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de pr\`ol\adddot}}, + editortranaf = {{editor, traductor, anotador i autor de l'ep\'{\i}leg} + {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, + editorstranaf = {{editors, traductors, anotadors i autors de l'ep\'{\i}leg} + {ed.,\addabbrvspace trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, + translatorco = {{traductor i comentarista} + {trad\adddotspace i com\adddot}}, + translatorsco = {{traductors i comentaristes} + {trad\adddotspace i com\adddot}}, + translatoran = {{traductor i anotador} + {trad\adddotspace i anot\adddot}}, + translatorsan = {{traductors i anotadors} + {trad\adddotspace i anot\adddot}}, + translatorin = {{traductor i autor de la introducci\'o} + {trad\adddotspace i aut\adddotspace de la intr\adddot}}, + translatorsin = {{traductors i autors de la introducci\'o} + {trad\adddotspace i aut\adddotspace de la intr\adddot}}, + translatorfo = {{traductor i autor del pr\`oleg} + {trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + translatorsfo = {{traductors i autors del pr\`oleg} + {trad\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + translatoraf = {{traductor i autor de l'ep\'{\i}leg} + {trad\adddotspace i aut\adddotspace de l'ep\adddot}}, + 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\adddot}}, + translatorscoin = {{traductors, comentaristes i autors de la introducci\'o} + {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} + {trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + translatorcoaf = {{traductor, comentarista i autor de l'ep\'{\i}leg} + {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, + translatorscoaf = {{traductors, comentaristes i autors de l'ep\'{\i}leg} + {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de l'ep\adddot}}, + translatoranin = {{traductor, anotador i autor de la introducci\'o} + {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, + translatorsanin = {{traductors, anotadors i autors de la introducci\'o} + {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de la intr\adddot}}, + translatoranfo = {{traductor, anotador i autor del pr\`oleg} + {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + translatorsanfo = {{traductors, anotadors i autors del pr\`oleg} + {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace del pr\`ol\adddot}}, + translatoranaf = {{traductor, anotador i autor de l'ep\'{\i}leg} + {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, + translatorsanaf = {{traductors, anotadors i autors de l'ep\'{\i}leg} + {trad.,\addabbrvspace anot\adddotspace i aut\adddotspace de l'ep\adddot}}, + organizer = {{organitzador}{org\adddot}}, + organizers = {{organitzadors}{org\adddot}}, + byorganizer = {{organitzat per}{org\adddotspace per}}, + byauthor = {{per}{per}}, + byeditor = {{edici\'o a cura\smartof}{ed\adddot\smartof}}, + bycompiler = {{compilaci\'o a cura\smartof}{comp\adddot\smartof}}, + byredactor = {{redacci\'o a cura\smartof}{red\adddot\smartof}}, + byreviser = {{revisi\'o a cura\smartof}{rev\adddot\smartof}}, + byreviewer = {{ressenya a cura\smartof}{ress\adddot\smartof}}, + byfounder = {{fundat per}{fund\adddotspace per}}, + bycontinuator = {{continuat per}{cont\adddotspace per}}, + bycollaborator = {{amb la co\l.laboraci\'o\smartof}{amb la co\l.l\adddot\smartof}}, + bytranslator = {{tradu\"{\i}t \lbx@lfromlang\ per}{trad\adddotspace\lbx@sfromlang\ per}}, + bycommentator = {{comentari a cura\smartof}{com\adddot\smartof}}, + byannotator = {{notes a cura\smartof}{n\adddot\smartof}}, + withcommentator = {{amb un comentari a cura\smartof}{amb un com\adddot\smartof}}, + withannotator = {{amb notes a cura\smartof}{amb n\adddot\smartof}}, + withintroduction = {{amb una introducci\'o a cura\smartof}{amb una intr\adddot\smartof}}, + withforeword = {{amb un pr\`oleg a cura\smartof}{amb un pr\`ol\adddot\smartof}}, + withafterword = {{amb un ep\'{\i}leg a cura\smartof}{amb un ep\adddot\smartof}}, + byeditortr = {{edici\'o i traducci\'o \lbx@lfromlang\ a cura\smartof}% + {ed\adddotspace i trad\adddotspace\lbx@sfromlang\smartof}}, + byeditorco = {{edici\'o i comentari a cura\smartof}% + {ed\adddotspace i com\adddot\smartof}}, + byeditoran = {{edici\'o i notes a cura\smartof}% + {ed\adddotspace i n\adddot\smartof}}, + byeditorin = {{edici\'o i introducci\'o a cura\smartof}% + {ed\adddotspace i intr\adddot\smartof}}, + byeditorfo = {{edici\'o i pr\`oleg a cura\smartof}% + {ed\adddotspace i pr\`ol\adddot\smartof}}, + byeditoraf = {{edici\'o i ep\'{\i}leg a cura\smartof}% + {ed\adddotspace i ep\adddot\smartof}}, + byeditortrco = {{edici\'o, traducci\'o \lbx@lfromlang\ i comentari a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i com\adddot\smartof}}, + byeditortran = {{edici\'o, traducci\'o \lbx@lfromlang\ i notes a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i n\adddot\smartof}}, + byeditortrin = {{edici\'o, traducci\'o \lbx@lfromlang\ i introducci\'o a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i intr\adddot\smartof}}, + byeditortrfo = {{edici\'o, traducci\'o \lbx@lfromlang\ i pr\`oleg a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i pr\`ol\adddot\smartof}}, + byeditortraf = {{edici\'o, traducci\'o \lbx@lfromlang\ i ep\'{\i}leg a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i ep\adddot\smartof}}, + byeditorcoin = {{edici\'o, comentari i introducci\'o a cura\smartof} + {ed.,\addabbrvspace com\adddotspace i intr\adddot\smartof}}, + byeditorcofo = {{edici\'o, comentari i pr\`oleg a cura\smartof} + {ed.,\addabbrvspace com\adddotspace i pr\`ol\adddot\smartof}}, + byeditorcoaf = {{edici\'o, comentari i ep\'{\i}leg a cura\smartof}% + {ed.,\addabbrvspace com\adddotspace i ep\adddot\smartof}}, + byeditoranin = {{edici\'o, notes i introducci\'o a cura\smartof}% + {ed.,\addabbrvspace n\adddotspace i intr\adddot\smartof}}, + byeditoranfo = {{edici\'o, notes i pr\`oleg a cura\smartof}% + {ed.,\addabbrvspace n\adddotspace i pr\`ol\adddot\smartof}}, + byeditoranaf = {{edici\'o, notes i ep\'{\i}leg a cura\smartof}% + {ed.,\addabbrvspace n\adddotspace i ep\adddot\smartof}}, + byeditortrcoin = {{edici\'o, traducci\'o \lbx@lfromlang, comentari i introducci\'o a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace i intr\adddot\smartof}}, + byeditortrcofo = {{edici\'o, traducci\'o \lbx@lfromlang, comentari i pr\`oleg a cura\smartof}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace i pr\`ol\adddot\smartof}}, + byeditortrcoaf = {{edici\'o, traducci\'o \lbx@lfromlang, comentari i ep\'{\i}leg a cura\smartof}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ i ep\adddot\smartof}}, + byeditortranin = {{edici\'o, traducci\'o \lbx@lfromlang, notes i introducci\'o a cura\smartof}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, n\adddot\ i intr\adddot\smartof}}, + byeditortranfo = {{edici\'o, traducci\'o \lbx@lfromlang, notes i pr\`oleg a cura\smartof}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, n\adddot\ i pr\`ol\adddot\smartof}}, + byeditortranaf = {{edici\'o, traducci\'o \lbx@lfromlang, notes i ep\'{\i}leg a cura\smartof}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, n\adddot\ i ep\adddot\smartof}}, + bytranslatorco = {{traducci\'o \lbx@lfromlang\ i comentari a cura\smartof}% + {trad\adddot\ \lbx@sfromlang\ i com\adddot\smartof}}, + bytranslatoran = {{traducci\'o \lbx@lfromlang\ i notes a cura\smartof}% + {trad\adddot\ \lbx@sfromlang\ i n\adddot\smartof}}, + bytranslatorin = {{traducci\'o \lbx@lfromlang\ i introducci\'o a cura\smartof}% + {trad\adddot\ \lbx@sfromlang\ i intr\adddot\smartof}}, + bytranslatorfo = {{traducci\'o \lbx@lfromlang\ i pr\`oleg a cura\smartof}% + {trad\adddot\ \lbx@sfromlang\ i pr\`ol\adddot\smartof}}, + bytranslatoraf = {{traducci\'o \lbx@lfromlang\ i ep\'{\i}leg a cura\smartof}% + {trad\adddot\ \lbx@sfromlang\ i ep\adddot\smartof}}, + bytranslatorcoin = {{traducci\'o \lbx@lfromlang, comentari i introducci\'o a cura\smartof}% + {trad\adddot\ \lbx@sfromlang, com\adddot\ i intr\adddot\smartof}}, + bytranslatorcofo = {{traducci\'o \lbx@lfromlang, comentari i pr\`oleg a cura\smartof}% + {trad\adddot\ \lbx@sfromlang, com\adddot\ i pr\`ol\adddot\smartof}}, + bytranslatorcoaf = {{traducci\'o \lbx@lfromlang, comentari i ep\'{\i}leg a cura\smartof}% + {trad\adddot\ \lbx@sfromlang, com\adddot\ i ep\adddot\smartof}}, + bytranslatoranin = {{traducci\'o \lbx@lfromlang, notes i introducci\'o a cura\smartof}% + {trad\adddot\ \lbx@sfromlang, n\adddot\ i intr\adddot\smartof}}, + bytranslatoranfo = {{traducci\'o \lbx@lfromlang, notes i pr\`oleg a cura\smartof}% + {trad\adddot\ \lbx@sfromlang, n\adddot\ i pr\`ol\adddot\smartof}}, + bytranslatoranaf = {{traducci\'o \lbx@lfromlang, notes i ep\'{\i}leg a cura\smartof}% + {trad\adddot\ \lbx@sfromlang, n\adddot\ i ep\adddot\smartof}}, + and = {{i}{i}}, + andothers = {{et al\adddot}{et al\adddot}}, + andmore = {{i m\'es}{i m\'es}}, + volume = {{volum}{vol\adddot}}, + volumes = {{volums}{vol\adddot}}, + involumes = {{en}{en}}, + jourvol = {{volum}{vol\adddot}}, + jourser = {{s\`erie}{s\`er\adddot}}, + book = {{llibre}{llib\adddot}}, + part = {{part}{part}}, + issue = {{n\'umero}{n\'um\adddot}}, + newseries = {{s\`erie nova}{s\`erie nova}}, + oldseries = {{s\`erie antiga}{s\`erie ant\adddot}}, + edition = {{edici\'o}{ed\adddot}}, + reprint = {{reimpressi\'o}{reimpr\adddot}}, + reprintof = {{reimpressi\'o\smartof}{reimpr\adddot\smartof}}, + reprintas = {{reimpr\`es com}{reimpr\adddotspace com}}, + reprintfrom = {{reimpr\`es\smartof}{reimpr\adddot\smartof}}, + reviewof = {{ressenya\smartof}{ress\adddot\smartof}}, + translationof = {{traducci\'o\smartof}{trad\adddot\smartof}}, + translationas = {{tradu\"{\i}t com}{trad\adddotspace com}}, + translationfrom = {{tradu\"{\i}t del}{trad\adddotspace del}}, % Unsure of 'del' + origpubas = {{publicat origin\`ariament com}{pub\adddotspace orig\adddotspace com}}, + origpubin = {{publicat origin\`ariament el}{pub\adddotspace orig\adddotspace el}}, + astitle = {{com}{com}}, + bypublisher = {{per}{per}}, + page = {{p\`agina}{p\`ag\adddot}}, + pages = {{p\`agines}{p\`ag\adddot}}, + column = {{columna}{col\adddot}}, + columns = {{columnes}{cols\adddot}}, + line = {{l\'{\i}nia}{l\'{\i}n\adddot}}, + lines = {{l\'{\i}nies}{l\'{\i}n\adddot}}, + nodate = {{sine data}{s\adddotspace d\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{versos}{v\adddot}}, + section = {{apartat}{\S}}, + sections = {{apartats}{\S}}, + paragraph = {{par\`agraf}{\P}}, + paragraphs = {{par\`agrafs}{\P}}, + pagetotal = {{p\`agina}{p\`ag\adddot}}, + pagetotals = {{p\`agines}{p\`ag\adddot}}, + columntotal = {{columna}{col\adddot}}, + columntotals = {{columnes}{col\adddot}}, + linetotal = {{l\'{\i}nia}{l\'{\i}n\adddot}}, + linetotals = {{l\'{\i}nies}{l\'{\i}n\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{versos}{v\adddot}}, + sectiontotal = {{secci\'o}{\S}}, + sectiontotals = {{seccions}{\S}}, + paragraphtotal = {{par\`agrafs}{\P}}, + paragraphtotals = {{par\`agrafs}{\P}}, + in = {{a}{a}}, + inseries = {{a}{a}}, + ofseries = {{\smartof}{\smartof}}, + number = {{n\'umero}{n\'um\adddot}}, + chapter = {{cap\'{\i}tol}{cap\adddot}}, + bathesis = {{treball final de grau}{treb\adddotspace fin\adddotspace de gr\adddot}}, + mathesis = {{treball final de m\`aster}{treb\adddotspace fin\adddotspace de m\`ast\adddot}}, + phdthesis = {{tesi doctoral}{tesi doct\adddot}}, + candthesis = {{tesi de candidatura}{tesi de cand\adddot}}, + resreport = {{informe de recerca}{inf\adddotspace de rec\adddot}}, + techreport = {{informe t\`ecnic}{inf\adddotspace t\`ec\adddot}}, + software = {{programari}{prog\adddot}}, + datacd = {{CD de dades}{CD de dades}}, + audiocd = {{CD d'\`audio}{CD d'\`audio}}, + version = {{versi\'o}{vers\adddot}}, + url = {{adre\c{c}a}{adr\adddot}}, + urlfrom = {{disponible a}{disp\adddotspace a}}, + 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}}, + submitted = {{enviat a publicar}{env\adddotspace a pub\adddot}}, + forthcoming = {{properament}{prop\adddot}}, + citedas = {{d'ara endavant citat com}{d'ara end\adddotspace cit\adddotspace com}}, + thiscite = {{concretament}{concr\adddot}},% Check + seenote = {{vegeu la nota}{v\adddotspace la n\adddot}}, + quotedin = {{citat a}{cit\adddotspace a}}, + idem = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsf = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsm = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsn = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempf = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempm = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempn = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempp = {{\'{\i}dem}{\'{\i}d\adddot}}, + ibidem = {{ib\'{\i}dem}{ib\adddot}}, + opcit = {{\`op\adddotspace cit\adddot}{\`op\adddotspace cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + confer = {{cf\adddot}{cf\adddot}}, + sequens = {{seq\adddot}{seq\adddot}}, + sequentes = {{et seq\adddot}{et seq\adddot}}, + passim = {{p\`assim}{p\`assim}}, + see = {{vegeu}{v\adddot}}, + seealso = {{vegeu tamb\'e}{v\adddotspace tamb\'e}}, + backrefpage = {{vegeu la p\`agina}{v\adddotspace la p\`ag\adddot}}, + backrefpages = {{vegeu les p\`agines}{v\adddotspace les p\`ag\adddot}}, + january = {{gener}{gen\adddot}}, + february = {{febrer}{febr\adddot}}, + march = {{mar\c{c}}{mar\c{c}}}, + april = {{abril}{abr\adddot}}, + may = {{maig}{maig}}, + june = {{juny}{juny}}, + july = {{juliol}{jul\adddot}}, + august = {{agost}{ag\adddot}}, + september = {{setembre}{set\adddot}}, + october = {{octubre}{oct\adddot}}, + november = {{novembre}{nov\adddot}}, + december = {{desembre}{des\adddot}}, + langamerican = {{angl\`es americ\`a}{angl\adddotspace am\adddot}}, + langbasque = {{\`euscar}{\`eusc\adddot}}, + langbrazilian = {{portugu\`es brasiler}{port\adddotspace bras\adddot}}, + langbulgarian = {{b\'ulgar}{b\'ulg\adddot}}, + langcatalan = {{catal\`a}{cat\adddot}}, + langczech = {{txec}{txec}}, + langcroatian = {{croat}{croat}}, + langdanish = {{dan\`es}{dan\adddot}}, + langdutch = {{neerland\`es}{neerl\adddot}}, + langenglish = {{angl\`es}{angl\adddot}}, + langestonian = {{estoni\`a}{est\adddot}}, + langfinnish = {{fin\`es}{fin\adddot}}, + langfrench = {{franc\`es}{fr\adddot}}, + langgalician = {{gallec}{gall\adddot}}, + langgerman = {{alemany}{al\adddot}}, + langgreek = {{grec}{grec}}, + langhungarian = {{hongar\`es}{hong\adddot}}, + langitalian = {{itali\`a}{it\adddot}}, + langjapanese = {{japon\`es}{jap\adddot}}, + langlatin = {{llat\'{\i}}{ll\adddot}}, + langlatvian = {{let\'o}{let\'o}}, + langlithuanian = {{litu\`a}{lit\adddot}}, + langmarathi = {{marathi}{mar\adddot}}, + langnorwegian = {{noruec}{nor\adddot}}, + langpolish = {{polon\`es}{pol\adddot}}, + langportuguese = {{portugu\`es}{port\adddot}}, + langromanian = {{roman\`es}{rom\adddot}}, + langrussian = {{rus}{rus}}, + langserbian = {{serbi}{serbi}}, + langslovak = {{eslovac}{eslovac}}, + langslovene = {{eslov\`e}{eslov\`e}}, + langspanish = {{castell\`a}{cast\adddot}}, + langswedish = {{suec}{suec}}, + langturkish = {{turc}{turc}}, + langukrainian = {{ucra\"{\i}n\`es}{ucr\adddot}}, + fromamerican = {{de l'angl\`es americ\`a}{de l'angl\adddotspace am\adddot}}, + frombasque = {{de l'\`euscar}{de l'\`eusc\adddot}}, + frombrazilian = {{del portugu\`es brasiler}{del port\adddotspace bras\adddot}}, + frombulgarian = {{del b\'ulgar}{del bulg\adddot}}, + fromcatalan = {{del catal\`a}{del cat\adddot}}, + fromcroatian = {{del croat}{del croat}}, + fromczech = {{del txec}{del txec}}, + fromdanish = {{del dan\`es}{del dan\adddot}}, + fromdutch = {{del neerland\`es}{del neerl\adddot}}, + fromenglish = {{de l'angl\`es}{de l'angl\adddot}}, + fromestonian = {{de l'estoni\`a}{de l'est\adddot}}, + fromfinnish = {{del fin\`es}{del fin\adddot}}, + fromfrench = {{del franc\`es}{del fr\adddot}}, + fromgalician = {{del gallec}{del gall\adddot}}, + fromgerman = {{de l'alemany}{de l'al\adddot}}, + fromgreek = {{del grec}{del grec}}, + fromhungarian = {{de l'hongar\`es}{de l'hong\adddot}}, + fromitalian = {{de l'itali\`a}{de l'it\adddot}}, + fromjapanese = {{del japon\`es}{del jap\adddot}}, + fromlatin = {{del llat\'{\i}}{del ll\adddot}}, + fromlatvian = {{del let\'o}{del let\'o}}, + fromlithuanian = {{del litu\`a}{del lit\adddot}}, + frommarathi = {{del marathi}{del mar\adddot}}, + fromnorwegian = {{del noruec}{del nor\adddot}}, + frompolish = {{del polon\`es}{del pol\adddot}}, + fromportuguese = {{del portugu\`es}{del port\adddot}}, + fromromanian = {{del roman\`es}{del rom\adddot}}, + fromrussian = {{del rus}{del rus}}, + fromserbian = {{del serbi}{del serbi}}, + fromslovak = {{de l'eslovac}{de l'eslovac}}, + fromslovene = {{de l'eslov\`e}{de l'eslov\`e}}, + fromspanish = {{del castell\`a}{del cast\adddot}}, + fromswedish = {{del suec}{del suec}}, + fromturkish = {{del turc}{del turc}}, + fromukrainian = {{de l'ucra\"{\i}n\`es}{de l'ucr\adddot}}, + countryde = {{Alemanya}{DE}}, + countryeu = {{Uni\'o Europea}{UE}}, + countryep = {{Uni\'o Europea}{UE}}, + countryfr = {{Fran\c{c}a}{FR}}, + countryuk = {{Regne Unit}{GB}}, + countryus = {{Estats Units d'Am\`erica}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{patent alemana}{pat\adddot\ al\adddot}}, + patenteu = {{patent europea}{pat\adddot\ eur\adddot}}, + patentfr = {{patent francesa}{pat\adddot\ fr\adddot}}, + patentuk = {{patent brit\`anica}{pat\adddot\ brit\adddot\adddot}}, + patentus = {{patent estatunidenca}{pat\adddot\ EUA}}, + patreq = {{so\l.licitud de patent}{so\l.l\adddotspace de pat\adddot}}, + patreqde = {{so\l.licitud de patent alemana}{so\l.l\adddotspace de pat\adddot\ al\adddot}}, + patreqeu = {{so\l.licitud de patent europea}{so\l.l\adddotspace de pat\adddot\ eur\adddot}}, + patreqfr = {{so\l.licitud de patent francesa}{so\l.l\adddotspace de pat\adddot\ fr\adddot}}, + patrequk = {{so\l.licitud de patent brit\`anica}{so\l.l\adddotspace de pat\adddot\ brit\adddot}}, + patrequs = {{so\l.licitud de patent estatunidenca}{so\l.l\adddotspace de pat\adddot\ EUA}}, + file = {{fitxer}{fitx\adddot}}, + library = {{biblioteca}{bibl\adddot}}, + abstract = {{resum}{res\adddot}}, + annotation = {{nota}{n\adddot}}, + commonera = {{Era Comuna}{EC}}, + beforecommonera = {{abans de l'Era Comuna}{AEC}}, + annodomini = {{despr\'es de Crist}{dC}}, + beforechrist = {{abans de Crist}{aC}}, + circa = {{circa}{c\adddot}}, + spring = {{primavera}{prim\adddot}}, + summer = {{estiu}{est\adddot}}, + autumn = {{tardor}{tard\adddot}}, + winter = {{hivern}{hiv\adddot}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{a\adddotspace m\adddot}{a\adddotspace m\adddot}}, + pm = {{p\adddotspace m\adddot}{p\adddotspace m\adddot}}, +} + +\begingroup +\catcode`\&=3 + +\gdef\lbx@ca@smartof{% + \iftoggle{smartof}{\lbx@ca@smartof@i}{\@gobble}} + +\protected\long\gdef\lbx@ca@smartof@i#1{% + \global\togglefalse{smartof}% + \begingroup + \def\forceD##1{a\relax}% + \def\forceDE##1{x\relax}% + \def\do##1{\let##1\@firstofone}% + \abx@dosingleaccents + \abx@dodoubleaccents + \def\i{i}\def\j{j}% + \def\AE{a}\def\ae{a}% + \def\OE{o}\def\oe{o}% + \def\O{o}\def\o{o}% + \let\IeC\@firstofone + \let\@tabacckludge\@gobble + \ifnum\catcode`\"=\active + \uccode`\~=`\" + \uppercase{\let~\@empty}% + \fi + \ifnum\catcode`\~=\active + \let~\@empty + \fi + \let\protect\noexpand + \edef\lbx@tempa{#1}% + \expandafter\futurelet + \expandafter\lbx@tempa + \expandafter\lbx@ca@smartof@ii + \lbx@tempa&} + +\gdef\lbx@ca@smartof@ii{% + \ifcat\bgroup\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@ca@smartof@ii##1}% + \else\ifcat\noexpand~\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@ca@smartof@ii}% + \else + \ifnum 0% + \if a\noexpand\lbx@tempa 1\fi + \if e\noexpand\lbx@tempa 1\fi + \if i\noexpand\lbx@tempa 1\fi + \if o\noexpand\lbx@tempa 1\fi + \if u\noexpand\lbx@tempa 1\fi +% \if y\noexpand\lbx@tempa 1\fi + \if A\noexpand\lbx@tempa 1\fi + \if E\noexpand\lbx@tempa 1\fi + \if I\noexpand\lbx@tempa 1\fi + \if O\noexpand\lbx@tempa 1\fi + \if U\noexpand\lbx@tempa 1\fi +% \if Y\noexpand\lbx@tempa 1\fi + >0 % + \let\lbx@tempa\lbx@ca@smartof@d + \else + \ifnum 0% + \if h\noexpand\lbx@tempa 1\fi + \if H\noexpand\lbx@tempa 1\fi + >0 % + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@ca@smartof@ii}% + \else + \let\lbx@tempa\lbx@ca@smartof@de + \fi\fi\fi\fi + \lbx@tempa} + +\gdef\lbx@ca@smartof@d#1&{\endgroup d'} +\gdef\lbx@ca@smartof@de#1&{\endgroup de\space} + +\endgroup + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/croatian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/croatian-ms.lbx new file mode 100644 index 00000000000..41ed9f7c590 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/croatian-ms.lbx @@ -0,0 +1,610 @@ +\ProvidesFile{croatian-ms.lbx} +[\abx@lbxid] + +% Translator's note: +% Many translations have been made gender neutral as there's no intrinsic +% biblatex support for the opposite. Thus "prijevod i obrada" instead of "prevoditelj/ica i urednik/ca" + + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}% + \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} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iffieldundef{#3} + {\mkbibmonth{\thefield{#2}}} + {\lbx@cr@mkbibmonth{\thefield{#2}}}% "srpanj 2019." or "31. srpnja 2019." + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkbibordinal{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\addnbthinspace}}% + \iffieldundef{#2} + {} + {\mkbibordinal{\thefield{#2}}% + \iffieldundef{#1}{}{\addnbthinspace}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkbibordinal{\thefield{#1}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibordinal}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\NewBibliographyString{% Month name variants used after day: "23. studenog 2019." but "studeni 2019." + datejanuary, + datefebruary, + datemarch, + dateapril, + datemay, + datejune, + datejuly, + dateaugust, + dateseptember, + dateoctober, + datenovember, + datedecember% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografija}{Bibliografija}}, + references = {{Literatura}{Literatura}}, + shorthands = {{Popis kratica}{Kratice}}, + editor = {{urednik}{ur\adddot}},% gender biased + editors = {{urednici}{ur\adddot}}, + compiler = {{sastavlja\v{c}}{sastavlja\v{c}}},% gender biased + compilers = {{sastavlja\v{c}i}{sastavlja\v{c}i}}, + redactor = {{redaktor}{redaktor}},% gender biased + redactors = {{redaktori}{redaktori}}, + reviser = {{korektor}{korektor}},% gender biased + revisers = {{korektori}{korektori}}, + founder = {{zasniva\v{c}}{zasniva\v{c}}},% gender biased + founders = {{zasniva\v{c}i}{zasniva\v{c}i}}, + continuator = {{nastavlja\v{c}}{nastavlja\v{c}i}},% gender biased + continuators = {{nastavlja\v{c}i}{nastavlja\v{c}i}}, + collaborator = {{suradnik}{sur\adddot}},% gender biased + collaborators = {{suradnici}{sur\adddot}}, + translator = {{prijevod}{prev\adddot}}, + translators = {{prijevod}{prev\adddot}}, + commentator = {{komentator}{komentator}},% gender biased + commentators = {{komentatori}{komentatori}}, + annotator = {{autor bilje\v{z}aka}{autor bilje\v{z}aka}},% gender biased + annotators = {{autori bilje\v{z}aka}{autori bilje\v{z}aka}}, + commentary = {{komentar}{komentar}}, + annotations = {{bilje\v{s}ke}{bilje\v{s}ke}}, + introduction = {{uvod}{uvod}}, + foreword = {{predgovor}{predgovor}}, + afterword = {{pogovor}{pogovor}}, + editortr = {{prijevod i obrada}{ur\adddotspace i prev\adddot}}, + editorstr = {{prijevod i obrada}{ur\adddotspace i prev\adddot}}, + editorco = {{obrada i komentari}% gender neutral + {obrada i komentari}}, + editorsco = {{obrada i komentari}% + {obrada i komentari}}, + editoran = {{obrada i bilje\v{s}ke}% + {obrada i bilje\v{s}ke}}, + editorsan = {{obrada i bilje\v{s}ke}% + {obrada i bilje\v{s}ke}}, + editorin = {{obrada i uvod}% + {obrada i uvod}}, + editorsin = {{obrada i uvod}% + {obrada i uvod}}, + editorfo = {{obrada i predgovor}% + {obrada i predgovor}}, + editorsfo = {{obrada i predgovor}% + {obrada i predgovor}}, + editoraf = {{obrada i pogovor}% + {obrada i pogovor}}, + editorsaf = {{obrada i pogovor}% + {obrada i pogovor}}, + editortrco = {{prijevod, obrada i komentari}% + {prijevod, obrada i komentari}}, + editorstrco = {{prijevod, obrada i komentari}% + {prijevod, obrada i komentari}}, + editortran = {{prijevod, obrada i bilje\v{s}ke}% + {prijevod, obrada i bilje\v{s}ke}}, + editorstran = {{prijevod, obrada i bilje\v{s}ke}% + {prijevod, obrada i bilje\v{s}ke}}, + editortrin = {{prijevod, obrada i uvod}% + {prijevod, obrada i uvod}}, + editorstrin = {{prijevod, obrada i uvod}% + {prijevod, obrada i uvod}}, + editortrfo = {{prijevod, obrada i predgovor}% + {prijevod, obrada i predgovor}}, + editorstrfo = {{prijevod, obrada i predgovor}% + {prijevod, obrada i predgovor}}, + editortraf = {{prijevod, obrada i pogovor}% + {prijevod, obrada i pogovor}}, + editorstraf = {{prijevod, obrada i pogovor}% + {prijevod, obrada i pogovor}}, + editorcoin = {{obrada, uvod i komentari}% + {obrada, uvod i komentari}}, + editorscoin = {{obrada, uvod i komentari}% + {obrada, uvod i komentari}}, + editorcofo = {{obrada, predgovor i komentari}% + {obrada, predgovor i komentari}}, + editorscofo = {{obrada, predgovor i komentari}% + {obrada, predgovor i komentari}}, + editorcoaf = {{obrada, komentari i pogovor}% + {obrada, komentari i pogovor}}, + editorscoaf = {{obrada, komentari i pogovor}% + {obrada, komentari i pogovor}}, + editoranin = {{obrada, uvod i bilje\v{s}ke}% + {obrada, uvod i bilje\v{s}ke}}, + editorsanin = {{obrada, uvod i bilje\v{s}ke}% + {obrada, uvod i bilje\v{s}ke}}, + editoranfo = {{obrada, predgovor i bilje\v{s}ke}% + {obrada, predgovor i bilje\v{s}ke}}, + editorsanfo = {{obrada, predgovor i bilje\v{s}ke}% + {obrada, predgovor i bilje\v{s}ke}}, + editoranaf = {{obrada, bilje\v{s}ke i pogovor}% + {obrada, bilje\v{s}ke i pogovor}}, + editorsanaf = {{obrada, bilje\v{s}ke i pogovor}% + {obrada, bilje\v{s}ke i pogovor}}, + editortrcoin = {{prijevod, obrada, uvod i komentari}% + {prijevod, obrada, uvod i komentari}}, + editorstrcoin = {{prijevod, obrada, uvod i komentari}% + {prijevod, obrada, uvod i komentari}}, + editortrcofo = {{prijevod, obrada, predgovor i komentari}% + {prijevod, obrada, predgovor i komentari}}, + editorstrcofo = {{prijevod, obrada, predgovor i komentari}% + {prijevod, obrada, predgovor i komentari}}, + editortrcoaf = {{prijevod, obrada, komentari i pogovor}% + {prijevod, obrada, komentari i pogovor}}, + editorstrcoaf = {{prijevod, obrada, komentari i pogovor}% + {prijevod, obrada, komentari i pogovor}}, + editortranin = {{prijevod, obrada, uvod i bilje\v{s}ke}% + {prijevod, obrada, uvod i bilje\v{s}ke}}, + editorstranin = {{prijevod, obrada, uvod i bilje\v{s}ke}% + {prijevod, obrada, uvod i bilje\v{s}ke}}, + editortranfo = {{prijevod, obrada, predgovor i bilje\v{s}ke}% + {prijevod, obrada, predgovor i bilje\v{s}ke}}, + editorstranfo = {{prijevod, obrada, predgovor i bilje\v{s}ke}% + {prijevod, obrada, predgovor i bilje\v{s}ke}}, + editortranaf = {{prijevod, obrada, bilje\v{s}ke i pogovor}% + {prijevod, obrada, bilje\v{s}ke i pogovor}}, + editorstranaf = {{prijevod, obrada, bilje\v{s}ke i pogovor}% + {prijevod, obrada, bilje\v{s}ke i pogovor}}, + translatorco = {{prijevod i komentari}% + {prijevod i komentari}}, + translatorsco = {{prijevod i komentari}% + {prijevod i komentari}}, + translatoran = {{prijevod i bilje\v{s}ke}% + {prijevod i bilje\v{s}ke}}, + translatorsan = {{prijevod i bilje\v{s}ke}% + {prijevod i bilje\v{s}ke}}, + translatorin = {{prijevod i uvod}% + {prijevod i uvod}}, + translatorsin = {{prijevod i uvod}% + {prijevod i uvod}}, + translatorfo = {{prijevod i predgovor}% + {prijevod i predgovor}}, + translatorsfo = {{prijevod i predgovor}% + {prijevod i predgovor}}, + translatoraf = {{prijevod i pogovor}% + {prijevod i pogovor}}, + translatorsaf = {{prijevod i pogovor}% + {prijevod i pogovor}}, + translatorcoin = {{prijevod, uvod i komentari}% + {prijevod, uvod i komentari}}, + translatorscoin = {{prijevod, uvod i komentari}% + {prijevod, uvod i komentari}}, + translatorcofo = {{prijevod, predgovor i komentari}% + {prijevod, predgovor i komentari}}, + translatorscofo = {{prijevod, predgovor i komentari}% + {prijevod, predgovor i komentari}}, + translatorcoaf = {{prijevod, komentari i pogovor}% + {prijevod, komentari i pogovor}}, + translatorscoaf = {{prijevod, komentari i pogovor}% + {prijevod, komentari i pogovor}}, + translatoranin = {{prijevod, uvod i bilje\v{s}ke}% + {prijevod, uvod i bilje\v{s}ke}}, + translatorsanin = {{prijevod, uvod i bilje\v{s}ke}% + {prijevod, uvod i bilje\v{s}ke}}, + translatoranfo = {{prijevod, predgovor i bilje\v{s}ke}% + {prijevod, predgovor i bilje\v{s}ke}}, + translatorsanfo = {{prijevod, predgovor i bilje\v{s}ke}% + {prijevod, predgovor i bilje\v{s}ke}}, + translatoranaf = {{prijevod, bilje\v{s}ke i pogovor}% + {prijevod, bilje\v{s}ke i pogovor}}, + translatorsanaf = {{prijevod, bilje\v{s}ke i pogovor}% + {prijevod, bilje\v{s}ke i pogovor}}, + organizer = {{organizacija}{organizacija}}, + organizers = {{organizacija}{organizacija}}, + byorganizer = {{organizacija}{organizacija}}, + byauthor = {{autor}{autor}},% gender biased + byeditor = {{obrada}{ur\adddot}},% + bycompiler = {{sastavlja\v{c}}{sast\adddot}},% gender biased + byredactor = {{redaktura}{red\adddot}}, + byreviser = {{korektura}{kor\adddot}}, + byreviewer = {{recenzija}{recenzija}}, + byfounder = {{zapo\v{c}eo}{zapo\v{c}eo}},% gender biased + bycontinuator = {{nastavio}{nastavio}},% gender biased + bycollaborator = {{u suradnji s}{u sur\adddotspace s}}, + bytranslator = {{prijevod \lbx@lfromlang}% + {prijevod \lbx@sfromlang}}, + bycommentator = {{komentari}{komentari}}, + byannotator = {{bilje\v{s}ke}{bilje\v{s}ke}}, + withcommentator = {{komentari}{komentari}}, + withannotator = {{bilje\v{s}ke}{bilje\v{s}ke}}, + withintroduction = {{uvod}{uvod}}, + withforeword = {{predgovor}{predgovor}}, + withafterword = {{pogovor}{pogovor}}, + byeditortr = {{prijevod \lbx@lfromlang\ i obrada}% + {prijevod \lbx@lfromlang\ i obrada}}, + byeditorco = {{obrada i komentari}% + {obrada i komentari}}, + byeditoran = {{obrada i bilje\v{s}ke}% + {obrada i bilje\v{s}ke}}, + byeditorin = {{obrada i uvod}% + {obrada i uvod}}, + byeditorfo = {{obrada i predgovor}% + {obrada i predgovor}}, + byeditoraf = {{obrada i pogovor}% + {obrada i pogovor}}, + byeditortrco = {{prijevod \lbx@lfromlang, obrada i komentari}% + {prijevod \lbx@lfromlang, obrada i komentari}}, + byeditortran = {{prijevod \lbx@lfromlang, obrada i bilje\v{s}ke}% + {prijevod \lbx@lfromlang, obrada i bilje\v{s}ke}}, + byeditortrin = {{prijevod \lbx@lfromlang, obrada i uvod}% + {prijevod \lbx@lfromlang, obrada i uvod}}, + byeditortrfo = {{prijevod \lbx@lfromlang, obrada i predgovor}% + {prijevod \lbx@lfromlang, obrada i predgovor}}, + byeditortraf = {{prijevod \lbx@lfromlang, obrada i pogovor}% + {prijevod \lbx@lfromlang, obrada i pogovor}}, + byeditorcoin = {{obrada, uvod i komentari}% + {obrada, uvod i komentari}}, + byeditorcofo = {{obrada, predgovor i komentari}% + {obrada, predgovor i komentari}}, + byeditorcoaf = {{obrada, komentari i pogovor}% + {obrada, komentari i pogovor}}, + byeditoranin = {{obrada, uvod i bilje\v{s}ke}% + {obrada, uvod i bilje\v{s}ke}}, + byeditoranfo = {{obrada, predgovor i bilje\v{s}ke}% + {obrada, predgovor i bilje\v{s}ke}}, + byeditoranaf = {{obrada, bilje\v{s}ke i pogovor}% + {obrada, bilje\v{s}ke i pogovor}}, + byeditortrcoin = {{prijevod \lbx@lfromlang, obrada, uvod i komentari}% + {prijevod \lbx@lfromlang, obrada, uvod i komentari}}, + byeditortrcofo = {{prijevod \lbx@lfromlang, obrada, predgovor i komentari}% + {prijevod \lbx@lfromlang, obrada, predgovor i komentari}}, + byeditortrcoaf = {{prijevod \lbx@lfromlang, obrada, komentari i pogovor}% + {prijevod \lbx@lfromlang, obrada, komentari i pogovor}}, + byeditortranin = {{prijevod \lbx@lfromlang, obrada, uvod i bilje\v{s}ke}% + {prijevod \lbx@lfromlang, obrada, uvod i bilje\v{s}ke}}, + byeditortranfo = {{prijevod \lbx@lfromlang, obrada, predgovor i bilje\v{s}ke}% + {prijevod \lbx@lfromlang, obrada, predgovor i bilje\v{s}ke}}, + byeditortranaf = {{prijevod \lbx@lfromlang, obrada, bilje\v{s}ke i pogovor}% + {prijevod \lbx@lfromlang, obrada, bilje\v{s}ke i pogovor}}, + bytranslatorco = {{prijevod \lbx@lfromlang\ i komentari}% + {prijevod \lbx@lfromlang\ i komentari}}, + bytranslatoran = {{prijevod \lbx@lfromlang\ i bilje\v{s}ke}% + {prijevod \lbx@lfromlang\ i bilje\v{s}ke}}, + bytranslatorin = {{prijevod \lbx@lfromlang\ i uvod}% + {prijevod \lbx@lfromlang\ i uvod}}, + bytranslatorfo = {{prijevod \lbx@lfromlang\ i predgovor}% + {prijevod \lbx@lfromlang\ i predgovor}}, + bytranslatoraf = {{prijevod \lbx@lfromlang\ i pogovor}% + {prijevod \lbx@lfromlang\ i pogovor}}, + bytranslatorcoin = {{prijevod \lbx@lfromlang, uvod i komentari}% + {prijevod \lbx@lfromlang, uvod i komentari}}, + bytranslatorcofo = {{prijevod \lbx@lfromlang, predgovor i komentari}% + {prijevod \lbx@lfromlang, predgovor i komentari}}, + bytranslatorcoaf = {{prijevod \lbx@lfromlang, komentari i pogovor}% + {prijevod \lbx@lfromlang, komentari i pogovor}}, + bytranslatoranin = {{prijevod \lbx@lfromlang, uvod i bilje\v{s}ke}% + {prijevod \lbx@lfromlang, uvod i bilje\v{s}ke}}, + bytranslatoranfo = {{prijevod \lbx@lfromlang, predgovor i bilje\v{s}ke}% + {prijevod \lbx@lfromlang, predgovor i bilje\v{s}ke}}, + bytranslatoranaf = {{prijevod \lbx@lfromlang, bilje\v{s}ke i pogovor}% + {prijevod \lbx@lfromlang, bilje\v{s}ke i pogovor}}, + and = {{i}{i}}, + andothers = {{i drugi}{i dr\adddot}}, + andmore = {{i drugi}{i dr\adddot}}, + volume = {{sv\adddot}{sv\adddot}}, + volumes = {{sv\adddot}{sv\adddot}},% translator: 1 svezak, 2 sveska, 5 svezaka, 21 svezak + involumes = {{u}{u}}, + jourvol = {{sv\adddot}{sv\adddot}}, + jourser = {{serija}{serija}}, + book = {{knjiga}{knj\adddot}}, + part = {{dio}{dio}}, + issue = {{izd\adddot}{izd\adddot}}, + newseries = {{nova serija}{nova serija}}, + oldseries = {{stara serija}{stara serija}}, + edition = {{izdanje}{izdanje}}, + reprint = {{pretisak}{pretisak}}, + reprintof = {{pretisak}{pretisak}}, + reprintas = {{iznova otisnuto kao}{iznova otisnuto kao}}, + reprintfrom = {{iznova otisnut}{iznova otisnut}}, + translationof = {{prijevod}{prijevod}}, + translationas = {{prev\adddotspace kao}{prev\adddotspace kao}}, + translationfrom = {{prijevod}{prijevod}}, + reviewof = {{osvrt na}{osvrt na}}, + origpubas = {{izvorno obj\adddotspace kao}{izv\adddotspace obj\adddotspace kao}},% gender neutral + origpubin = {{izvorno obj\adddot}{izv\adddotspace obj\adddot}},% gender neutral + astitle = {{kao}{kao}}, + bypublisher = {{}{}},% translator: leave empty + nodate = {{bez datuma}{bez datuma}}, + page = {{stranica}{str\adddot}}, + pages = {{stranice}{str\adddot}}, + column = {{stupac}{stupac}}, + columns = {{stupci}{stupci}}, + line = {{linija}{l\adddot}}, + lines = {{linije}{ll\adddot}}, + verse = {{stih}{stih}}, + verses = {{stihovi}{stihovi}}, + section = {{odjeljak}{\S}}, + sections = {{odjeljci}{\S\S}}, + paragraph = {{stavak}{st\adddot}}, + paragraphs = {{stavci}{st\adddot}}, + pagetotal = {{str\adddot}{str\adddot}}, + pagetotals = {{str\adddot}{str\adddot}}, + columntotal = {{stupac}{stupac}}, + columntotals = {{stupaca}{stupaca}},% translator: 1 stupac, 2 stupca, 5 stupaca (?!) + linetotal = {{linija}{lin\adddot}}, + linetotals = {{linija}{lin\adddot}}, + versetotal = {{stih}{st\adddot}}, + versetotals = {{stihova}{st\adddot}}, + sectiontotal = {{odjeljak}{odj\adddot}}, + sectiontotals = {{odjeljaka}{odj\adddot}}, + paragraphtotal = {{stavak}{st\adddot}}, + paragraphtotals = {{stavaka}{st\adddot}}, + in = {{}{}},% translator: leave empty, do not begin sentences with "U:" + inseries = {{u seriji}{u seriji}}, + ofseries = {{iz serije}{iz serije}}, + number = {{broj}{br\adddot}}, + chapter = {{poglavlje}{pogl\adddot}}, + bathesis = {{diplomski rad}{dipl\adddotspace rad}}, + mathesis = {{magistarski rad}{mag\adddotspace rad}}, + phdthesis = {{doktorska disertacija}{disertacija}}, + candthesis = {{zavr\v{s}ni rad}{zavr\adddotspace rad}}, + resreport = {{znanstveno izvje\v{s}\'{c}e}{zn\adddotspace izv\adddot}}, + techreport = {{tehni\v{c}ko izvje\v{s}\'{c}e}{teh\adddotspace izv\adddot}}, + software = {{softver}{softver}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{verzija}{verzija}}, + url = {{adresa}{adresa}}, + urlfrom = {{dostupno na}{dost\adddotspace na}}, + urlseen = {{pogledano}{pogledano}}, + inpreparation = {{u pripremi}{u pripremi}}, + submitted = {{predan}{predan}}, + forthcoming = {{prihva\'{c}en}{prihv\adddot}}, + inpress = {{u tisku}{u tisku}}, + prepublished = {{pred objavom}{pred obj\adddot}}, + citedas = {{dalje citirano kao}{dalje citirano kao}}, + thiscite = {{napose}{napose}}, + seenote = {{vidi bilje\v{s}ku}{v\adddotspace bilj\adddot}}, + quotedin = {{citirano u}{citirano u}}, + 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 = {{usporedi}{usp\adddot}}, + sequens = {{sq\adddot}{sq\adddot}}, + sequentes = {{sqq\adddot}{sqq\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{vidi}{v\adddot}}, + seealso = {{pogledaj i}{pogl\adddotspace i}}, + backrefpage = {{citirano na stranci}{cit\adddotspace na str\adddot}}, + backrefpages = {{cited on pages}{cit\adddotspace na str\adddot}}, + january = {{sije\v{c}anj}{sije\v{c}anj}}, + february = {{velja\v{c}a}{velja\v{c}a}}, + march = {{o\v{z}ujak}{o\v{z}ujak}}, + april = {{travanj}{travanj}}, + may = {{svibanj}{svibanj}}, + june = {{lipanj}{lipanj}}, + july = {{srpanj}{srpanj}}, + august = {{kolovoz}{kolovoz}}, + september = {{rujan}{rujan}}, + october = {{listopad}{listopad}}, + november = {{studeni}{studeni}}, + december = {{prosinac}{prosinac}}, + datejanuary = {{sije\v{c}nja}{sije\v{c}nja}}, + datefebruary = {{velja\v{c}e}{velja\v{c}e}}, + datemarch = {{o\v{z}ujka}{o\v{z}ujka}}, + dateapril = {{travnja}{travnja}}, + datemay = {{svibnja}{svibnja}}, + datejune = {{lipnja}{lipnja}}, + datejuly = {{srpnja}{srpnja}}, + dateaugust = {{kolovoza}{kolovoza}}, + dateseptember = {{rujna}{rujna}}, + dateoctober = {{listopada}{listopada}}, + datenovember = {{studenoga}{studenoga}}, + datedecember = {{prosinca}{prosinca}}, + langamerican = {{engleski}{engleski}}, + langbrazilian = {{portugalski}{portugalski}}, + langbulgarian = {{bugarski}{bugarski}}, + langcatalan = {{katalonski}{katalonski}}, + langcroatian = {{hrvatski}{hrvatski}}, + langczech = {{\v{c}e\v{s}ki}{\v{c}e\v{s}ki}}, + langdanish = {{danski}{danski}}, + langdutch = {{nizozemski}{nizozemski}}, + langenglish = {{engleski}{engleski}}, + langestonian = {{estonski}{estonski}}, + langfinnish = {{finski}{finski}}, + langfrench = {{francuski}{francuski}}, + langgalician = {{galicijski}{galicijski}}, + langgerman = {{njema\v{c}ki}{njema\v{c}ki}}, + langgreek = {{gr\v{c}ki}{gr\v{c}ki}}, + langhungarian = {{ma\dj arski}{ma\dj arski}}, + langitalian = {{talijanski}{talijanski}}, + langjapanese = {{japanski}{japanski}}, + langlatin = {{latinski}{latinski}}, + langlatvian = {{letonski}{letonski}}, + langnorwegian = {{norve\v{s}ki}{norve\v{s}ki}}, + langpolish = {{poljski}{poljski}}, + langportuguese = {{portugalski}{portugalski}}, + langrussian = {{ruski}{ruski}}, + langslovak = {{slova\v{c}ki}{slova\v{c}ki}}, + langslovene = {{slovenski}{slovenski}}, + langspanish = {{\v{s}panjolski}{\v{s}panjolski}}, + langswedish = {{\v{s}vedski}{\v{s}vedski}}, + langukrainian = {{ukrajinski}{ukrajinski}}, + fromamerican = {{s engleskog}{s engleskog}}, + frombrazilian = {{s portugalskog}{s portugalskog}}, + frombulgarian = {{s bugarskog}{s bugarskog}}, + fromcatalan = {{s katalonskog}{s katalonskog}}, + fromcroatian = {{s hrvatskog}{s hrvatskog}}, + fromczech = {{s \v{c}e\v{s}kog}{s \v{c}e\v{s}kog}}, + fromdanish = {{s danskog}{s danskog}}, + fromdutch = {{s nizozemskog}{s nizozemskog}}, + fromenglish = {{s engleskog}{s engleskog}}, + fromestonian = {{s estonskog}{s estonskog}}, + fromfinnish = {{s finskog}{s finskog}}, + fromfrench = {{s francuskog}{s francuskog}}, + fromgalician = {{s galicijskog}{s galicijskog}}, + fromgerman = {{s njema\v{c}kog}{s njema\v{c}kog}}, + fromgreek = {{s gr\v{c}kog}{s gr\v{c}kog}}, + fromhungarian = {{s ma\dj arskog}{s ma\dj arskog}}, + fromitalian = {{s talijanskog}{s talijanskog}}, + fromjapanese = {{s japanskog}{s japanskog}}, + fromlatin = {{s latinskog}{s latinskog}}, + fromlatvian = {{s letonskog}{s letonskog}}, + fromnorwegian = {{s norve\v{s}kog}{s norve\v{s}kog}}, + frompolish = {{s poljskog}{s poljskog}}, + fromportuguese = {{s portugalskog}{s portugalskog}}, + fromrussian = {{s ruskog}{s ruskog}}, + fromslovak = {{sa slova\v{c}kog}{sa slova\v{c}kog}}, + fromslovene = {{sa slovenskog}{sa slovenskog}}, + fromspanish = {{sa \v{s}panjolskog}{sa \v{s}panjolskog}}, + fromswedish = {{sa \v{s}vedskog}{sa \v{s}vedskog}}, + fromukrainian = {{s ukrajinskog}{s ukrajinskog}}, + countryde = {{Njema\v{c}ka}{DE}}, + countryeu = {{Europska unija}{EU}}, + countryep = {{Europska unija}{EP}}, + countryfr = {{Francuska}{FR}}, + countryuk = {{Velika Britanija}{GB}}, + countryus = {{Sjedinjene Ameri\v{c}ke Dr\v{z}ave}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{njema\v{c}ki patent}{njema\v{c}ki pat\adddot}}, + patenteu = {{europski patent}{europski pat\adddot}}, + patentfr = {{francuski patent}{francuski pat\adddot}}, + patentuk = {{britanski patent}{britanski pat\adddot}}, + patentus = {{US patent}{US pat\adddot}}, + patreq = {{patentni zahtjev}{pat\adddot\ zahtjev}}, + patreqde = {{njema\v{c}ki patentni zahtjev}% + {njem\adddotspace pat\adddotspace zahtjev}}, + patreqeu = {{europski patentni zahtjev}{EU pat\adddotspace zahtjev}}, + patreqfr = {{francuski patentni zahtjev}% + {franc\adddotspace pat\adddotspace zahtjev}}, + patrequk = {{britanskipatentni zahtjev}% + {britanski pat\adddotspace zahtjev}}, + patrequs = {{US patentni zahtjev}{US pat\adddot\ zahtjev}}, + file = {{datoteka}{datoteka}}, + library = {{biblioteka}{biblioteka}}, + abstract = {{sa\v{z}etak}{sa\v{z}etak}}, + annotation = {{bilje\v{s}ka}{bilje\v{s}ka}}, + commonera = {{n\adddotspace e\adddot}{n\adddotspace e\adddot}}, + beforecommonera = {{pr\adddotspace n\adddotspace e\adddot}{pr\adddotspace n\adddotspace e\adddot}}, + annodomini = {{poslije Krista}{p\adddotspace Kr\adddot}}, + beforechrist = {{prije Krista}{pr\adddotspace Kr\adddot}}, + circa = {{oko}{cca\adddot}}, + spring = {{prolje\'{c}e}{prolje\'{c}e}}, + summer = {{ljeto}{ljeto}}, + autumn = {{jesen}{jesen}}, + winter = {{zima}{zima}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{prije podne}{AM}}, + pm = {{poslije podne}{PM}}, +} + +\protected\gdef\lbx@cr@mkbibmonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{datejanuary}% + \or\abx@bibmonth{datefebruary}% + \or\abx@bibmonth{datemarch}% + \or\abx@bibmonth{dateapril}% + \or\abx@bibmonth{datemay}% + \or\abx@bibmonth{datejune}% + \or\abx@bibmonth{datejuly}% + \or\abx@bibmonth{dateaugust}% + \or\abx@bibmonth{dateseptember}% + \or\abx@bibmonth{dateoctober}% + \or\abx@bibmonth{datenovember}% + \or\abx@bibmonth{datedecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/czech-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/czech-ms.lbx new file mode 100644 index 00000000000..f91ae664786 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/czech-ms.lbx @@ -0,0 +1,553 @@ +\ProvidesFile{czech-ms.lbx} +[\abx@lbxid] + +\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} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\thinspace}}% + \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}}\adddot + \iffieldundef{#2}{}{\thinspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1} + {} + {\iffieldundef{#3}{/}{\adddot\thinspace}}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografie}{Bibliografie}}, + references = {{Odkazy}{Odkazy}}, + shorthands = {{Seznam zkratek}{Zkratky}}, + editor = {{editor}{ed\adddot}}, + editors = {{edito\v{r}i}{ed\adddot}}, + compiler = {{sestavil}{sest\adddot}}, + 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 + 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}\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 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}% + {ed.,\addabbrvspace p\v{r}ekl\adddot\ a kom\adddot}}, + editortran = {{editor, p\v{r}ekladatel\ a anot\'{a}tor}% + {ed.,\addabbrvspace p\v{r}ekl\adddot\ a anot\adddot}}, + 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}v\adddot}}, + editorstrin = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a \'{u}vod}% + {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 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}v\adddot}}, + editorscoin = {{edito\v{r}i, koment\'{a}to\v{r}i\ a \'{u}vod}% + {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}% + {ed.,\addabbrvspace kom\adddot\ a dosl\adddot}}, + 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}v\adddot}}, + editorsanin = {{edito\v{r}i, anot\'{a}to\v{r}i\ a \'{u}vod}% + {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}% + {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}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}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}% + {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}% + {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}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}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}% + {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}% + {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}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\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}}, + 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\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}}, + 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\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\'{\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\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\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\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 = {{sloupec}{sl\adddot}}, + columns = {{sloupce}{sl\adddot}}, + line = {{\v{r}\'{a}dek}{\v{r}\adddot}}, + lines = {{\v{r}\'{a}dky}{\v{r}\adddot}}, + verse = {{ver\v{s}}{v\adddot}}, + verses = {{ver\v{s}e}{v\adddot}}, + section = {{sekce}{\S}}, + sections = {{sekce}{\S\S}}, + paragraph = {{odstavec}{ods\adddot}}, + paragraphs = {{odstavce}{ods\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 = {{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}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + 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 pozn\adddot}}, + quotedin = {{citov\'{a}no 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 = {{viz}{viz}}, + seealso = {{viz t\'{e}\v{z}}{viz t\'{e}\v{z}}}, + 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 = {{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 = {{\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}}, + langenglish = {{angli\v{c}tina}{angl\adddot}}, + 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 = {{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 = {{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}}, + 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}}, + 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}{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}{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 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 = {{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}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\endinput + diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/danish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/danish-ms.lbx new file mode 100644 index 00000000000..4ab4fb385ec --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/danish-ms.lbx @@ -0,0 +1,554 @@ +\ProvidesFile{danish-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{danish}{danish} + +\DeclareBibliographyExtras{% + \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} + {} + {\mkbibordinal{\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}}\adddot}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\adddot}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografi}{Bibliografi}}, + references = {{Litteratur}{Litteratur}}, + shorthands = {{Forkortelser}{Forkortelser}}, + editor = {{redakt{\o}r}{red\adddot}}, + editors = {{redakt{\o}rer}{red\adddot}}, + compiler = {{kompilator}{kompilator}}, + compilers = {{kompilatorer}{kompilatorer}}, + redactor = {{medredakt{\o}r}{medred\adddot}}, + redactors = {{medredakt{\o}rer}{medred\adddot}}, + reviser = {{korrekturl{\ae}ser}{korrek\adddot}}, + revisers = {{korrekturl{\ae}sere}{korrek\adddot}}, + founder = {{stifter}{stifter}}, + founders = {{stiftere}{stiftere}}, + continuator = {{videref{\o}rer}{videref\adddot}}, + continuators = {{videref{\o}rere}{videref\adddot}}, + collaborator = {{samarbejdspartner}{samarb\adddot}}, + collaborators = {{samarbejdspartnere}{samarb\adddot}}, + translator = {{overs{\ae}tter}{overs\adddot}}, + translators = {{overs{\ae}ttere}{overs\adddot}}, + commentator = {{kommentator}{komment\adddot}}, + commentators = {{kommentatorer}{komment\adddot}}, + annotator = {{kommentator}{komment\adddot}}, + annotators = {{kommentatorer}{komment\adddot}}, + commentary = {{kommentering}{komment\adddot}}, + annotations = {{annotering}{annot\adddot}}, + introduction = {{indledning}{indl\adddot}}, + foreword = {{forord}{forord}},%or prolog + afterword = {{epilog}{epilog}},%or efterskrift + editortr = {{redakt{\o}r og overs{\ae}tter}% + {red\adddotspace og overs\adddot}}, + editorstr = {{redakt{\o}rer og overs{\ae}ttere}% + {red\adddotspace og overs\adddot}}, + editorco = {{redakt{\o}r og kommentator} + {red\adddotspace og komment\adddot}}, + editorsco = {{redakt{\o}rer og kommentatorer} + {red\adddotspace og komment\adddot}}, + editoran = {{redakt{\o}r og kommentator}% + {red\adddotspace og komment\adddot}}, + editorsan = {{redakt{\o}rer og kommentatorer}% + {red\adddotspace og komment\adddot}}, + editorin = {{redaktion og indledning}% + {red\adddotspace og indl\adddot}}, + editorsin = {{redaktion og indledning}% + {red\adddotspace og indl\adddot}}, + editorfo = {{redaktion og forord}% + {red\adddotspace og forord}}, + editorsfo = {{redaktion og forord}% + {red\adddotspace og forord}}, + editoraf = {{redaktion og epilog}% + {red\adddotspace og epilog}}, + editorsaf = {{redaktion og epilog}% + {red\adddotspace og epilog}}, + editortrco = {{redakt{\o}r, overs{\ae}tter og kommentator}% + {red\adddot,\addabbrvspace overs\adddotspace og komment\adddot}}, + editorstrco = {{redakt{\o}rer, overs{\ae}ttere og kommentatorer}% + {red\adddot,\addabbrvspace overs\adddotspace og komment\adddot}}, + editortran = {{redakt{\o}r, overs{\ae}tter og kommentator}% + {red\adddot,\addabbrvspace overs\adddotspace og komment\adddot}}, + editorstran = {{redakt{\o}rer, overs{\ae}ttere og kommentatorer}% + {red\adddot,\addabbrvspace overs\adddotspace og komment\adddot}}, + editortrin = {{redaktion, overs{\ae}ttelse og indledning}% + {red\adddot,\addabbrvspace overs\adddotspace og indl\adddot}}, + editorstrin = {{redaktion, overs{\ae}ttelse og indledning}% + {red\addot,\addabbrvspace overs\adddotspace og indl\adddot}}, + editortrfo = {{redaktion, overs{\ae}ttelse og forord}% + {red\adddot,\addabbrvspace overs\adddotspace og forord}}, + editorstrfo = {{redaktion, overs{\ae}ttelse og forord}% + {red\adddot,\addabbrvspace overs\adddotspace og forord}}, + editortraf = {{redaktion, overs{\ae}ttelse og epilog}% + {red\adddot,\addabbrvspace overs\adddotspace og epilog}}, + editorstraf = {{redaktion, overs{\ae}ttelse og epilog}% + {red\adddot,\addabbrvspace overs\adddotspace og epilog}}, + editorcoin = {{redaktion, kommentarer og indledning}% + {red\adddot,\addabbrvspace komment\adddotspace og indl\adddot}}, + editorscoin = {{redaktion, kommentarer og indledning}% + {red\adddot,\addabbrvspace komment\adddotspace og indl\adddot}}, + editorcofo = {{redaktion, kommentarer og forord}% + {red\adddot,\addabbrvspace komment\adddotspace og forord}}, + editorscofo = {{redaktion, kommentarer og forord}% + {red\adddot,\addabbrvspace komment\adddotspace og forord}}, + editorcoaf = {{redaktion, kommentarer og epilog}% + {red\adddot,\addabbrvspace komment\adddotspace og epilog}}, + editorscoaf = {{redaktion, kommentarer og epilog}% + {red\adddot,\addabbrvspace komment\adddotspace og epilog}}, + editoranin = {{redaktion, annotering og indledning}% + {red\adddot,\addabbrvspace annot\adddotspace og indl\adddot}}, + editorsanin = {{redaktion, annotering og indledning}% + {red\adddot,\addabbrvspace annot\adddotspace og indl\adddot}}, + editoranfo = {{redaktion, annotering og forord}% + {red\adddot,\addabbrvspace annot\adddotspace og forord}}, + editorsanfo = {{redaktion, annotering og forord}% + {red\adddot,\addabbrvspace annot\adddotspace og forord}}, + editoranaf = {{redaktion, annotering og epilog}% + {red\adddot,\addabbrvspace annot\adddotspace og epilog}}, + editorsanaf = {{redaktion, annotering og epilog}% + {red\adddot,\addabbrvspace annot\adddotspace og epilog}}, + editortrcoin = {{redaktion, overs{\ae}ttelse, kommentarer og indledning}% + {red\adddot,\addabbrvspace overs\adddot, komment\adddotspace og indl\adddot}}, + editorstrcoin = {{redaktion, overs{\ae}ttelse, kommentarer og indledning}% + {red\adddot,\addabbrvspace overs\adddot, komment\adddotspace og indl\adddot}}, + editortrcofo = {{redaktion, overs{\ae}ttelse, kommentarer og forord}% + {red\adddot,\addabbrvspace overs\adddot, komment\adddotspace og forord}}, + editorstrcofo = {{redaktion, overs{\ae}ttelse, kommentarer og forord}% + {red\adddot,\addabbrvspace overs\adddot, komment\adddotspace og forord}}, + editortrcoaf = {{redaktion, overs{\ae}ttelse, kommentarer og epilog}% + {red\adddot,\addabbrvspace overs\adddot, komment\adddotspace og epilog}}, + editorstrcoaf = {{redaktion, overs{\ae}ttelse, kommentarer og epilog}% + {red\adddot,\addabbrvspace overs\adddot, komment\adddotspace og epilog}}, + editortranin = {{redaktion, overs{\ae}ttelse, annotering og indledning}% + {red\adddot,\addabbrvspace overs\adddot, annot\adddotspace og indl\adddot}}, + editorstranin = {{redaktion, overs{\ae}ttelse, annotering og indledning}% + {red\adddot,\addabbrvspace overs\adddot, annot\adddotspace og indl\adddot}}, + editortranfo = {{redaktion, overs{\ae}ttelse, annotering og forord}% + {red\adddot,\addabbrvspace overs\adddot, annot\adddotspace og forord}}, + editorstranfo = {{redaktion, overs{\ae}ttelse, annotering og forord}% + {red\adddot,\addabbrvspace overs\adddot, annot\adddotspace og forord}}, + editortranaf = {{redaktion, overs{\ae}ttelse, annotering og epilog}% + {red\adddot,\addabbrvspace overs\adddot, annot\adddotspace og epilog}}, + editorstranaf = {{redaktion, overs{\ae}ttelse, annotering og epilog}% + {red\adddot,\addabbrvspace overs\adddot, annot\adddotspace og epilog}}, + translatorco = {{overs{\ae}ttelse og kommentarer}% + {overs\adddotspace og komment\adddot}}, + translatorsco = {{overs{\ae}ttelse og kommentarer}% + {overs\adddotspace og komment\adddot}}, + translatoran = {{overs{\ae}ttelse og annotering}% + {overs\adddotspace og annot\adddot}}, + translatorsan = {{overs{\ae}ttelse og annotering}% + {overs\adddotspace og annot\adddot}}, + translatorin = {{overs{\ae}ttelse og indledning}% + {overs\adddotspace og indl\adddot}}, + translatorsin = {{overs{\ae}ttelse og indledning}% + {overs\adddotspace og indl\adddot}}, + translatorfo = {{overs{\ae}ttelse og forord}% + {overs\adddotspace og forord}}, + translatorsfo = {{overs{\ae}ttelse og forord}% + {overs\adddotspace og forord}}, + translatoraf = {{overs{\ae}ttelse og epilog}% + {overs\adddotspace og epilog}}, + translatorsaf = {{overs{\ae}ttelse og epilog}% + {overs\adddotspace og epilog}}, + translatorcoin = {{overs{\ae}ttelse, kommentarer og indledning}% + {overs\adddot, komment\adddotspace og indl\adddot}}, + translatorscoin = {{overs{\ae}ttelse, kommentarer og indledning}% + {overs\adddot, komment\adddotspace og indl\adddot}}, + translatorcofo = {{overs{\ae}ttelse, kommentarer og forord}% + {overs\adddot, komment\adddotspace og forord}}, + translatorscofo = {{overs{\ae}ttelse, kommentarer og forord}% + {overs\adddot, komment\adddotspace og forord}}, + translatorcoaf = {{overs{\ae}ttelse, kommentarer og epilog}% + {overs\adddot, komment\adddotspace og epilog}}, + translatorscoaf = {{overs{\ae}ttelse, kommentarer og epilog}% + {overs\adddot, komment\adddotspace og epilog}}, + translatoranin = {{overs{\ae}ttelse, annotering og indledning}% + {overs\adddot, annot\adddotspace og indl\adddot}}, + translatorsanin = {{overs{\ae}ttelse, annotering og indledning}% + {overs\adddot, annot\adddotspace og indl\adddot}}, + translatoranfo = {{overs{\ae}ttelse, annotering og forord}% + {overs\adddot, annot\adddotspace og forord}}, + translatorsanfo = {{overs{\ae}ttelse, annotering og forord}% + {overs\adddot, annot\adddotspace og forord}}, + translatoranaf = {{overs{\ae}ttelse, annotering og epilog}% + {overs\adddot, annot\adddotspace og epilog}}, + translatorsanaf = {{overs{\ae}ttelse, annotering og epilog}% + {overs\adddot, annot\adddotspace og epilog}}, + organizer = {{organisator}{org\adddot}}, + organizers = {{organisatorer}{org\adddot}}, + byorganizer = {{organiseret af}{org\adddotspace av}}, + byauthor = {{af}{af}}, + byeditor = {{redigeret af}{red\adddotspace af}}, + bycompiler = {{kompileret af}{komp\adddotspace af}}, + byredactor = {{bearbejdet af}{bearb\adddotspace af}}, + byreviser = {{revideret af}{rev\adddotspace af}}, + byreviewer = {{bed\o mt af}{bed\adddotspace af}}, + byfounder = {{stiftet af}{stiftet af}}, + bycontinuator = {{videref\o rt af}{videref\adddotspace af}}, + bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddot}}, + bytranslator = {{oversat \lbx@lfromlang\ af}% + {overs\adddot\ \lbx@sfromlang\ af}}, + bycommentator = {{kommenteret af}{komment\adddot\ af}}, + byannotator = {{annoteret af}{annot\adddot\ af}}, + withcommentator = {{med kommentarer af}{m\adddotspace komment\adddot\ af}}, + withannotator = {{med annotering af}{m\adddotspace annot\adddot\ af}}, + withintroduction = {{med indledning af}{m\adddotspace indl\adddot\ af}}, + withforeword = {{med forord af}{m\adddotspace forord af}}, + withafterword = {{med epilog af}{m\adddotspace epilog af}}, + byeditortr = {{redigeret og oversat \lbx@lfromlang\ af}% + {red\adddotspace og overs\adddot\ \lbx@sfromlang\ af}}, + byeditorco = {{redigeret og kommenteret af}% + {red\adddotspace og komment\adddot\ af}}, + byeditoran = {{redigeret med annotering af}% + {red\adddotspace m\adddotspace annot\adddotspace af}}, + byeditorin = {{redigeret med indledning af}% + {red\adddotspace med indl\adddot\ af}}, + byeditorfo = {{redigeret med forord af}% + {red\adddotspace med forord af}}, + byeditoraf = {{redigeret med epilog af}% + {red\adddotspace med epilog af}}, + byeditortrco = {{redigeret, oversat \lbx@lfromlang\ og kommenteret af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og komment\adddot\ af}}, + byeditortran = {{redigeret, oversat \lbx@lfromlang\ og annoteret af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og annot\adddot\ af}}, + byeditortrin = {{redigeret, oversat \lbx@lfromlang\ og med indledning af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og indl\adddot\ af}}, + byeditortrfo = {{redigeret, oversat \lbx@lfromlang\ og med forord af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og forord af}}, + byeditortraf = {{redigeret, oversat \lbx@lfromlang\ og med epilog af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og epilog af}}, + byeditorcoin = {{redigeret, kommenteret og med indledning af}% + {red\adddot,\addabbrvspace komment\adddot\ og indl\adddotspace af}}, + byeditorcofo = {{redigeret, kommenteret og med forord af}% + {red\adddot,\addabbrvspace komment\adddot\ og forord af}}, + byeditorcoaf = {{redigeret, kommenteret og med epilog af}% + {red\adddot,\addabbrvspace komment\adddot\ og epilog af}}, + byeditoranin = {{redigeret, annoteret og med indledning af}% + {red\adddot,\addabbrvspace annot\adddot\ og indl\adddot\ af}}, + byeditoranfo = {{redigeret, annoteret og med forord af}% + {red\adddot,\addabbrvspace annot\adddot\ og forord af}}, + byeditoranaf = {{redigeret, annoteret og med epilog af}% + {red\adddot,\addabbrvspace annot\adddot\ og epilog af}}, + byeditortrcoin = {{redigeret, oversat \lbx@lfromlang, kommenteret og med indledning af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang, komment\adddot\ og indl\adddot\ af}}, + byeditortrcofo = {{redigeret, oversat \lbx@lfromlang, kommenteret og med forord af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang, komment\adddot\ og forord af}}, + byeditortrcoaf = {{redigeret, oversat \lbx@lfromlang, kommenteret og med epilog af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang, komment\adddot\ og epilog af}}, + byeditortranin = {{redigeret, oversat \lbx@lfromlang, med annotering og indledning af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang, annot\adddot\ og indl\adddot\ af}}, + byeditortranfo = {{redigeret, oversat \lbx@lfromlang, med annotering og forord af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang, annot\adddot\ og forord af}}, + byeditortranaf = {{redigeret, oversat \lbx@lfromlang, med annotering og epilog af}% + {red\adddot,\addabbrvspace overs\adddot\ \lbx@sfromlang, annot\adddot\ og epilog af}}, + bytranslatorco = {{oversat \lbx@lfromlang\ med kommentarer af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace komment\adddot\ af}}, + bytranslatoran = {{oversat \lbx@lfromlang\ og annoteret af}% + {overs\adddot\ \lbx@sfromlang\ og annot\adddot\ af}}, + bytranslatorin = {{oversat \lbx@lfromlang\ med indledning af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace indl\adddot\ af}}, + bytranslatorfo = {{oversat \lbx@lfromlang\ med forord af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace forord af}}, + bytranslatoraf = {{oversat \lbx@lfromlang\ med epilog af}% + {overs\adddot\ \lbx@sfromlang\ m\adddotspace epilog af}}, + bytranslatorcoin = {{oversat \lbx@lfromlang\addspace med kommentarer og indledning af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace komment\adddotspace og indl\adddotspace af}}, + bytranslatorcofo = {{oversat \lbx@lfromlang\addspace med kommentarer og forord af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace komment\adddot\ og forord af}}, + bytranslatorcoaf = {{oversat \lbx@lfromlang\addspace med kommentarer og epilog af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace komment\adddot\ og epilog af}}, + bytranslatoranin = {{oversat \lbx@lfromlang\addspace med annotering og indledning af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace annot\adddot\ og indl\adddot\ af}}, + bytranslatoranfo = {{oversat \lbx@lfromlang\addspace med annotering og forord af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace annot\adddot\ og forord af}}, + bytranslatoranaf = {{oversat \lbx@lfromlang\addspace med annotering og epilog af}% + {overs\adddot\ \lbx@sfromlang\addspace m\adddotspace annot\adddot\ og epilog af}}, + and = {{og}{og}}, + andothers = {{med flere}{m\adddot fl\adddot}}, + andmore = {{med mere}{m\adddot m\adddot}}, + volume = {{bind}{bd\adddot}}, + volumes = {{bind}{bd\adddot}}, + involumes = {{i}{i}}, + jourvol = {{{\aa}rgang}{{\aa}rg\adddot}}, + jourser = {{r{\ae}kke}{rk\adddot}}, + book = {{bog}{bog}}, + part = {{del}{del}}, + issue = {{nummer}{nr\adddot}}, + newseries = {{ny r{\ae}kke}{ny rk\adddot}}, + oldseries = {{gammel r{\ae}kke}{gl. rk\adddot}}, + edition = {{udgave}{udg\adddot}}, + reprint = {{genoptryk}{genoptr\adddot}}, + reprintof = {{genoptryk af}{genoptr\adddot\ af}}, + reprintas = {{genoptryk under titlen}{genoptr\adddotspace under titlen}}, + reprintfrom = {{genoptryk fra}{genoptr\adddotspace fra}}, + translationof = {{overs{\ae}ttelse af}{overs\adddot\ af}}, + translationas = {{oversat under titlen}{overs\adddotspace under titlen}}, + translationfrom = {{oversat fra}{overs\adddotspace fra}}, + reviewof = {{bed\o mmelse af}{bed\adddotspace af}}, + origpubas = {{oprindeligt udgivet som}{opr\adddot\ udg\adddot\ som}}, + origpubin = {{oprindeligt udgivet i}{opr\adddot\ udg\adddot\ i}}, + astitle = {{under titlen}{under titlen}}, + bypublisher = {{af}{af}}, + nodate = {{uden dato}{u\adddot d\adddot}},%CORRECT: uden dato, NOT: uden år. + page = {{side}{s\adddot}}, + pages = {{side}{s\adddot}},%not pluralized in Danish. In the context: side 1–16. NOT: sider 1–16. + column = {{spalte}{sp\adddot}}, + columns = {{spalte}{sp\adddot}}, + line = {{linje}{l\adddot}}, + lines = {{linje}{l\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{vers}{v\adddot}}, + section = {{paragraf}{par\adddot}}, + sections = {{paragraf}{par\adddot}}, + paragraph = {{afsnit}{afsn\adddot}}, + paragraphs = {{afsnit}{afsn\adddot}}, + pagetotal = {{side}{s\adddot}}, + pagetotals = {{sider}{s\adddot}}, + columntotal = {{spalte}{sp\adddot}}, + columntotals = {{spalter}{sp\adddot}}, + line = {{linje}{l\adddot}}, + lines = {{linje}{l\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{vers}{v\adddot}}, + linetotal = {{linje}{l\adddot}}, + linetotals = {{linjer}{l\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{vers}{v\adddot}}, + sectiontotal = {{sektion}{sekt\adddot}}, + sectiontotals = {{sektioner}{sekt\adddot}}, + paragraphtotal = {{afsnit}{afsn\adddot}}, + paragraphtotals = {{afsnit}{afsn\adddot}},% + in = {{i}{i}}, + inseries = {{i r{\ae}kken}{i rk\adddot}}, + ofseries = {{fra r{\ae}kken}{fra rk\adddot}}, + number = {{nummer}{nr\adddot}}, + % numbers = {{numre}{nr\adddot}},%It is unclear where it comes from and what it is for. undefined variable and thus gives an xkeyval error. + chapter = {{kapitel}{kap\adddot}}, + bathesis = {{Bachelorafhandling}{Bachelorafh\adddot}}, + mathesis = {{Masterafhandling}{Masterafh\adddot}}, + phdthesis = {{PhD-afhandling}{PhD-afh\adddot}}, + candthesis = {{Kandidatspeciale}{Kand\adddotspace spec\adddot}}, + resreport = {{forskningsrapport}{forskningsrap\adddot}}, + techreport = {{teknisk rapport}{tekn.\adddot\ rapp\adddot}}, + software = {{software}{software}}, + datacd = {{data-cd}{data-cd}}, + audiocd = {{lyd-cd}{lyd-cd}}, + version = {{version}{vers\adddot}}, + url = {{webadresse}{webadr\adddot}}, + urlfrom = {{tilg{\ae}ngelig fra}{tilg\adddotspace fra}}, + urlseen = {{hentet}{hentet}},%retrieved date + inpreparation = {{under udarbejdelse}{under udarb\adddot}}, + submitted = {{indleveret}{indlev\adddot}}, + forthcoming = {{under udgivelse}{under udgiv\adddot}}, + inpress = {{i trykken}{i trykken}}, + prepublished = {{pr{\ae}publiceret}{pr{\ae}publ\adddot}}, + citedas = {{herefter citeret som}{herefter cit\adddot\ som}}, + thiscite = {{her}{her}}, + seenote = {{se note}{se note}}, + quotedin = {{citeret efter}{cit\adddot\ efter}}, + idem = {{den samme}{d\adddot s\adddot}}, + idemsf = {{den samme}{d\adddot s\adddot}}, + idemsm = {{den samme}{d\adddot s\adddot}}, + idemsn = {{det samme}{d\adddot s\adddot}}, + idempf = {{de samme}{d\adddot s\adddot}}, + idempm = {{de samme}{d\adddot s\adddot}}, + idempn = {{de samme}{d\adddot s\adddot}}, + idempp = {{de samme}{d\adddot s\adddot}}, + ibidem = {{ibidem}{ibid\adddot}}, + opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + confer = {{j{\ae}vnf{\o}r}{jf\adddot}}, + sequens = {{f\adddot}{f\adddot}}, + sequentes = {{ff\adddot}{ff\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{se}{s\adddot}}, + seealso = {{se ogs{\aa}}{se ogs{\aa}}}, + backrefpage = {{se side}{se s\adddot}}, + backrefpages = {{se siderne}{se s\adddot}}, + january = {{januar}{jan\adddot}}, + february = {{februar}{feb\adddot}}, + march = {{marts}{mar\adddot}}, + april = {{april}{apr\adddot}}, + may = {{maj}{maj}}, + june = {{juni}{jun\adddot}}, + july = {{juli}{jul\adddot}}, + august = {{august}{aug\adddot}}, + september = {{september}{sep\adddot}}, + october = {{oktober}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{december}{dec\adddot}}, + langamerican = {{amerikansk-engelsk}{amerikansk-engelsk}}, + langbrazilian = {{brasiliansk-portugisisk}{brasiliansk-portugisisk}}, + langbulgarian = {{bulgarsk}{bulgarsk}}, + langcatalan = {{katalansk}{katalansk}}, + langcroatian = {{kroatisk}{kroatisk}}, + langczech = {{tjekkisk}{tjekkisk}}, + langdanish = {{dansk}{dansk}}, + langdutch = {{nederlandsk}{nederlandsk}}, + langenglish = {{engelsk}{engelsk}}, + langestonian = {{estisk}{estisk}}, + langfinnish = {{finsk}{finsk}}, + langfrench = {{fransk}{fransk}}, + langgalician = {{galicisk}{galicisk}}, + langgerman = {{tysk}{tysk}}, + langgreek = {{gr{\ae}sk}{gr{\ae}sk}}, + langhungarian = {{ungarsk}{ungarsk}}, + langitalian = {{italiensk}{italiensk}}, + langjapanese = {{japansk}{japansk}}, + langlatin = {{latin}{latin}}, + langlatvian = {{lettisk}{lettisk}}, + langnorwegian = {{norsk}{norsk}}, + langpolish = {{polsk}{polsk}}, + langportuguese = {{portugisisk}{portugisisk}}, + langrussian = {{russisk}{russisk}}, + langslovak = {{slovakisk}{slovakisk}}, + langslovene = {{slovensk}{slovensk}}, + langspanish = {{spansk}{spansk}}, + langswedish = {{svensk}{svensk}}, + langukrainian = {{ukrainsk}{ukrainsk}}, + fromamerican = {{fra amerikansk-engelsk}{fra amerikansk-engelsk}}, + frombrazilian = {{fra brasiliansk-portugisisk}{fra brasiliansk-portugisisk}}, + frombulgarian = {{fra bulgarsk}{fra bulgarsk}}, + fromcatalan = {{fra katalansk}{fra katalansk}}, + fromcroatian = {{fra kroatisk}{fra kroatisk}}, + fromczech = {{fra tjekkisk}{fra tjekkisk}}, + fromdanish = {{fra dansk}{fra dansk}}, + fromdutch = {{fra nederlandsk}{fra nederlandsk}}, + fromenglish = {{fra engelsk}{fra engelsk}}, + fromestonian = {{fra estisk}{fra estisk}}, + fromfinnish = {{fra finsk}{fra finsk}}, + fromfrench = {{fra fransk}{fra fransk}}, + fromgalician = {{fra galicisk}{fra galicisk}}, + fromgerman = {{fra tysk}{fra tysk}}, + fromgreek = {{fra gr{\ae}sk}{fra gr{\ae}sk}}, + fromhungarian = {{fra ungarsk}{fra ungarsk}}, + fromitalian = {{fra italiensk}{fra italiensk}}, + fromjapanese = {{fra japansk}{fra japansk}}, + fromlatin = {{fra latin}{fra latin}}, + fromlatvian = {{fra lettisk}{fra lettisk}}, + fromnorwegian = {{fra norsk}{fra norsk}}, + frompolish = {{fra polsk}{fra polsk}}, + fromportuguese = {{fra portugisisk}{fra portugisisk}}, + fromrussian = {{fra russisk}{fra russisk}}, + fromslovak = {{fra slovakisk}{fra slovakisk}}, + fromslovene = {{fra slovensk}{fra slovensk}}, + fromspanish = {{fra spansk}{fra spansk}}, + fromswedish = {{fra svensk}{fra svensk}}, + fromukrainian = {{fra ukrainsk}{fra ukrainsk}}, + countryde = {{Tyskland}{DE}}, + countryeu = {{Europ{\ae}iske Union}{EU}}, + countryep = {{Europ{\ae}iske Union}{EP}},%must be wrong. Does this refer to European Parliament or European Patent? + countryfr = {{Frankrig}{FR}}, + countryuk = {{Storbritannien}{GB}}, + countryus = {{USA}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{DE-patent}{DE-pat\adddot}}, + patenteu = {{EU-patent}{EU-pat\adddot}}, + patentfr = {{FR-patent}{FR-pat\adddot}}, + patentuk = {{UK-patent}{UK-pat\adddot}}, + patentus = {{US-patent}{US-pat\adddot}}, + patreq = {{patentans{\o}gning}{pat\adddot\ ans{\o}gn\adddot}}, + patreqde = {{tysk patentans{\o}gning}{tysk pat\adddot\ ans{\o}gn\adddot}}, + patreqeu = {{europ{\ae}isk patentans{\o}gning}{EU-pat\adddot\ ans{\o}gn\adddot}}, + patreqfr = {{fransk patentans{\o}gning}{fransk pat\adddot\ ans{\o}gn\adddot}}, + patrequk = {{britisk patentans{\o}gning}{brit\adddot\ pat\adddot\ ans{\o}gn\adddot}}, + patrequs = {{amerikansk patentans{\o}gning}{am\adddot\ pat\adddot\ ans{\o}gn\adddot}}, + file = {{fil}{fil}}, + library = {{bibliotek}{bibl\adddot}}, + abstract = {{Abstract}{Abstract}},%akademically it is an abstract and not a "resumé". They are not the same thing. + annotation = {{kommentarer}{komment\adddot}}, + commonera = {{efter vor tidsregning}{e\adddot v\adddot t\adddot}}, + beforecommonera = {{f{\o}r vor tidsregning}{f\adddot v\adddot t\adddot}}, + annodomini = {{efter Kristi f{\o}dsel}{e\adddot Kr\adddot}}, + beforechrist = {{f{\o}r Kristi f{\o}dsel}{f\adddot Kr\adddot}}, + circa = {{cirka}{ca\adddot}}, + spring = {{for{\aa}r}{for{\aa}r}}, + summer = {{sommer}{sommer}}, + autumn = {{efter{\aa}r}{efter{\aa}r}}, + winter = {{vinter}{vinter}}, + springN = {{for{\aa}r, nordlige halvkugle}{for{\aa}r, nordlige halvkugle}}, + summerN = {{sommer, nordlige halvkugle}{sommer, nordlige halvkugle}}, + autumnN = {{efter{\aa}r, nordlige halvkugle}{efter{\aa}r, nordlige halvkugle}}, + winterN = {{vinter, nordlige halvkugle}{vinter, nordlige halvkugle}}, + springS = {{for{\aa}r, sydlige halvkugle}{for{\aa}r, sydlige halvkugle}}, + summerS = {{sommer, sydlige halvkugle}{sommer, sydlige halvkugle}}, + autumnS = {{efter{\aa}r, sydlige halvkugle}{efter{\aa}r, sydlige halvkugle}}, + winterS = {{vinter, sydlige halvkugle}{vinter, sydlige halvkugle}}, + Q1 = {{1\adddot~kvartal}{Q1}}, + Q2 = {{2\adddot~kvartal}{Q2}}, + Q3 = {{3\adddot~kvartal}{Q3}}, + Q4 = {{4\adddot~kvartal}{Q4}}, + QD1 = {{1\adddot~kvarter}{Q1}},%reference to academic quadrimesters, in Danish: kvarter, akademisk kvarter. + QD2 = {{2\adddot~kvarter}{Q2}}, + QD3 = {{3\adddot~kvarter}{Q3}}, + S1 = {{1\adddot~halv{\aa}r}{H1}},%or 1.~semester + S2 = {{2\adddot~halv{\aa}r}{H2}},%or 2.~semester + am = {{formiddag}{formiddag}}, + pm = {{eftermiddag}{eftermiddag}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/dutch-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/dutch-ms.lbx new file mode 100644 index 00000000000..58c1f981d4e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/dutch-ms.lbx @@ -0,0 +1,573 @@ +\ProvidesFile{dutch-ms.lbx} +[\abx@lbxid] + +% Changes: +% 2010-10-31 Update by Alexander van Loon +% 2011-08-27 Update by Pieter Belmans + +\DeclareRedundantLanguages{dutch}{dutch} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + % both ordinal numbers are valid, the first is the most basic: 1e, 2e, 19e + % whereas the second is capable of typesetting 1ste, 2de, 21ste, 102de + % \protected\def\mkbibordinal#1{\stripzeros{#1}e}% + \protected\def\mkbibordinal#1{% + \begingroup + \@tempcnta0#1\relax\number\@tempcnta + \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}% + \ifnum\@tempcnta>19 + ste% + \else + \ifnum\@tempcnta=1 + ste% + \else + \ifnum\@tempcnta=8 ste\else de\fi + \fi + \fi + \endgroup}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\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}{}{\mbox{-}}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\mbox{-}}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografie}{Bibliografie}}, + references = {{Referenties}{Referenties}}, + shorthands = {{Lijst van afkortingen}{Afkortingen}}, + editor = {{redacteur}{red\adddot}}, + editors = {{redacteurs}{red\adddot}}, + compiler = {{samensteller}{samenst\adddot}}, + compilers = {{samenstellers}{samenst\adddot}}, + founder = {{oprichter}{opr\adddot}}, + founders = {{oprichters}{opr\adddot}}, + continuator = {{opvolger}{opv\adddot}}, + continuators = {{opvolgers}{opv\adddot}}, + redactor = {{redacteur}{red\adddot}}, + redactors = {{redacteuren}{red\adddot}}, + reviser = {{revisor}{rev\adddot}}, + revisers = {{revisors}{rev\adddot}}, + collaborator = {{medewerker}{med\adddot}}, + collaborators = {{medewerkers}{med\adddot}}, + translator = {{vertaler}{vert\adddot}}, + translators = {{vertalers}{vert\adddot}}, + commentator = {{commentator}{comm\adddot}}, + commentators = {{commentatoren}{comm\adddot}}, + annotator = {{annotator}{annot\adddot}}, + annotators = {{annotatoren}{annot\adddot}}, + editortr = {{redacteur en vertaler}% + {red\adddotspace en vert\adddot}}, + editorstr = {{redacteuren en vertalers}% + {red\adddotspace en vert\adddot}}, + editorco = {{redacteur en commentator}% + {red\adddotspace en comm\adddot}}, + editorsco = {{redacteuren en commentatoren}% + {red\adddotspace en comm\adddot}}, + editoran = {{redacteur en annotator}% + {red\adddotspace en annot\adddot}}, + editorsan = {{redacteuren en annotatoren}% + {red\adddotspace en annot\adddot}}, + editorin = {{redactie en inleiding}% + {red\adddotspace en inl\adddot}}, + editorsin = {{redacteuren en inleiding}% + {red\adddotspace en inl\adddot}}, + editorfo = {{redacteur en voorwoord}% + {red\adddotspace en voorw\adddot}}, + editorsfo = {{redacteuren en voorwoord}% + {red\adddotspace en voorw\adddot}}, + editoraf = {{redacteur en nawoord}% + {red\adddotspace en naw\adddot}}, + editorsaf = {{redacteuren en nawoord}% + {red\adddotspace en naw\adddot}}, + editortrco = {{redacteur, vertaler en commentator}% + {red.,\addabbrvspace vert\adddotspace en comm\adddot}}, + editorstrco = {{redacteuren, vertalers en commentatoren}% + {red.,\addabbrvspace vert\adddotspace en comm\adddot}}, + editortran = {{redacteur, vertaler en annotator}% + {red.,\addabbrvspace vert\adddotspace en annot\adddot}}, + editorstran = {{redacteur, vertalers en annotatoren}% + {red.,\addabbrvspace vert\adddotspace en annot\adddot}}, + editortrin = {{redacteur, vertaler en inleiding}% + {red.,\addabbrvspace vert\adddotspace en inl\adddot}}, + editorstrin = {{redacteuren, vertalers en inleiding}% + {red.,\addabbrvspace vert\adddotspace en inl\adddot}}, + editortrfo = {{redacteur, vertaler en voorwoord}% + {red.,\addabbrvspace vert\adddotspace en voorw\adddot}}, + editorstrfo = {{redacteuren, vertalers en voorwoord}% + {red.,\addabbrvspace vert\adddotspace en voorw\adddot}}, + editortraf = {{redacteur, vertaler en nawoord}% + {red.,\addabbrvspace vert\adddotspace en naw\adddot}}, + editorstraf = {{redacteuren, vertalers en nawoord}% + {red.,\addabbrvspace vert\adddotspace en naw\adddot}}, + editorcoin = {{redacteur, commentator en inleiding}% + {red.,\addabbrvspace comm\adddotspace en inl\adddot}}, + editorscoin = {{redacteuren, commentatoren en inleiding}% + {red.,\addabbrvspace comm\adddotspace en inl\adddot}}, + editorcofo = {{redacteur, commentator en voorwoord}% + {red.,\addabbrvspace comm\adddotspace en voorw\adddot}}, + editorscofo = {{redacteuren, commentatoren en voorwoord}% + {red.,\addabbrvspace comm\adddotspace en voorw\adddot}}, + editorcoaf = {{redacteur, commentator en nawoord}% + {red.,\addabbrvspace comm\adddotspace en naw\adddot}}, + editorscoaf = {{redacteuren, commentatoren en nawoord}% + {red.,\addabbrvspace comm\adddotspace en naw\adddot}}, + editoranin = {{redacteur, annotator en inleiding}% + {red.,\addabbrvspace annot\adddotspace en inl\adddot}}, + editorsanin = {{redacteuren, annotatoren en inleiding}% + {red.,\addabbrvspace annot\adddotspace en inl\adddot}}, + editoranfo = {{redacteur, annotator en voorwoord}% + {red.,\addabbrvspace annot\adddotspace en voorw\adddot}}, + editorsanfo = {{redacteuren, annotatoren en voorwoord}% + {red.,\addabbrvspace annot\adddotspace en voorw\adddot}}, + editoranaf = {{redacteur, annotator en nawoord}% + {red.,\addabbrvspace annot\adddotspace en nawoord\adddot}}, + editorsanaf = {{redacteuren, annotatoren en nawoord}% + {red.,\addabbrvspace annot\adddotspace en naw\adddot}}, + editortrcoin = {{redacteur, vertaler, commentator en inleiding}% + {red.,\addabbrvspace vert., comm\adddotspace en inl\adddot}}, + editorstrcoin = {{redacteuren, vertalers, commentatoren en inleiding}% + {red.,\addabbrvspace vert., comm\adddotspace en inl\adddot}}, + editortrcofo = {{redacteur, vertaling, commentator en voorwoord}% + {red.,\addabbrvspace vert., comm\adddotspace en voorw\adddot}}, + editorstrcofo = {{redacteuren, vertalers, commentatoren en voorwoord}% + {red.,\addabbrvspace vert., comm\adddotspace en voorw\adddot}}, + editortrcoaf = {{redacteur, vertaler, commentator en nawoord}% + {red.,\addabbrvspace vert., comm\adddotspace en naw\adddot}}, + editorstrcoaf = {{redacteuren, vertalers, commentators en nawoord}% + {red.,\addabbrvspace vert., comm\adddotspace en naw\adddot}}, + editortranin = {{redacteur, vertaler, annotator en inleiding}% + {red.,\addabbrvspace vert., annot\adddotspace en inl\adddot}}, + editorstranin = {{redacteuren, vertalers, annotatoren en inleiding}% + {red.,\addabbrvspace vert., annot\adddotspace en inl\adddot}}, + editortranfo = {{redacteur, vertaler, annotator en voorwoord}% + {red.,\addabbrvspace vert., annot\adddotspace en voorw\adddot}}, + editorstranfo = {{redacteuren, vertalers, annotatoren en voorwoord}% + {red.,\addabbrvspace vert., annot\adddotspace en voorw\adddot}}, + editortranaf = {{redacteur, vertaler, annotator en nawoord}% + {red.,\addabbrvspace vert., annot\adddotspace en naw\adddot}}, + editorstranaf = {{redacteuren, vertalers, annotatoren en nawoord}% + {red.,\addabbrvspace vert., annot\adddotspace en naw\adddot}}, + translatorco = {{vertaler en commentator}% + {vert\adddotspace en comm\adddot}}, + translatorsco = {{vertalers en commentatoren}% + {vert\adddotspace en comm\adddot}}, + translatoran = {{vertaler en annotator}% + {vert\adddotspace en annot\adddot}}, + translatorsan = {{vertalers en annotatoren}% + {vert\adddotspace en annot\adddot}}, + translatorin = {{vertaling en inleiding}% + {vert\adddotspace en inl\adddot}}, + translatorsin = {{vertaling en inleiding}% + {vert\adddotspace en inl\adddot}}, + translatorfo = {{vertaling en voorwoord}% + {vert\adddotspace en voorw\adddot}}, + translatorsfo = {{vertaling en voorwoord}% + {vert\adddotspace en voorw\adddot}}, + translatoraf = {{vertaling en nawoord}% + {vert\adddotspace en naw\adddot}}, + translatorsaf = {{vertaling en nawoord}% + {vert\adddotspace en naw\adddot}}, + translatorcoin = {{vertaling, commentaar en inleiding}% + {vert., comm\adddotspace en inl\adddot}}, + translatorscoin = {{vertaling, commentaar en inleiding}% + {vert., comm\adddotspace en inl\adddot}}, + translatorcofo = {{vertaling, commentaar en voorwoord}% + {vert., comm\adddotspace en voorwoord\adddot}}, + translatorscofo = {{vertaling, commentaar en voorwoord}% + {vert., comm\adddotspace en voorw\adddot}}, + translatorcoaf = {{vertaling, commentaar en nawoord}% + {vert., comm\adddotspace en naw\adddot}}, + translatorscoaf = {{vertaling, commentaar en nawoord}% + {vert., comm\adddotspace en naw\adddot}}, + translatoranin = {{vertaling, annotaties en inleiding}% + {vert., annot\adddotspace en inl\adddot}}, + translatorsanin = {{vertaling, annotaties en inleiding}% + {vert., annot\adddotspace en inl\adddot}}, + translatoranfo = {{vertaling, annotaties en voorwoord}% + {vert., annot\adddotspace en voorw\adddot}}, + translatorsanfo = {{vertaling, annotaties en voorwoord}% + {vert., annot\adddotspace en voorw\adddot}}, + translatoranaf = {{vertaling, annotaties en nawoord}% + {vert., annot\adddotspace en naw\adddot}}, + translatorsanaf = {{vertaling, annotaties en nawoord}% + {vert., annot\adddotspace en naw\adddot}}, +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{door}{door}}, + byeditor = {{geredigeerd door}{red\adddot\addabbrvspace door}}, + bycompiler = {{samengesteld door}{sam\adddot\addabbrvspace door}}, + byfounder = {{opgericht door}{opger\adddot\addabbrvspace door}}, + bycontinuator = {{opgevolgd door}{opgev\adddot\addabbrvspace door}}, + byredactor = {{geredigeerd door}{red\adddotspace door}}, + byreviser = {{gereviseerd door}{gerevis\adddot\addabbrvspace door}}, + byreviewer = {{nagekeken door}{nagek\adddot\addabbrvspace door}}, + bycollaborator = {{met medewerking van}{m\adddot m\adddot v}}, + bytranslator = {{vertaald \lbx@lfromlang\ door}{vert\adddotspace \lbx@lfromlang\ door}}, + bycommentator = {{becommentarieerd door}{comm\adddotspace door}}, + byannotator = {{geannoteerd door}{annot\adddotspace door}}, + byeditortr = {{geredigeerd en vertaald \lbx@lfromlang\ door}% + {red\adddotspace en vert\adddotspace \lbx@sfromlang\ door}}, + byeditorco = {{geredigeerd en becommentarieerd door}% + {red\adddotspace en comm\adddotspace door}}, + byeditoran = {{geredigeerd en geannoteerd door}% + {red\adddotspace en annot\adddotspace door}}, + byeditorin = {{geredigeerd, met een inleiding, van}% + {red., met een inl., van}}, + byeditorfo = {{geredigeerd, met een voorwoord, van}% + {red., met een voorw., van}}, + byeditoraf = {{geredigeerd, met een nawoord, van}% + {red., met een naw., van}}, + byeditortrco = {{geredigeerd, vertaald \lbx@lfromlang\ en becommentarieerd door}% + {red., vert\adddotspace \lbx@sfromlang\ en comm\adddotspace door}}, + byeditortran = {{geredigeerd, vertaald \lbx@lfromlang\ en geannoteerd door}% + {red., vert\adddotspace \lbx@sfromlang\ en annot\adddotspace door}}, + byeditortrin = {{geredigeerd en vertaald \lbx@lfromlang, met een inleiding, door}% + {red\adddotspace en vert\adddotspace \lbx@sfromlang, met een inl., door}}, + byeditortrfo = {{geredigeerd en vertaald \lbx@lfromlang, met een voorwoord, door}% + {red\adddotspace en vert\adddotspace \lbx@sfromlang, met een voorw., door}}, + byeditortraf = {{geredigeerd en vertaald \lbx@lfromlang, met een nawoord, door}% + {red\adddotspace en vert\adddotspace \lbx@sfromlang, met een naw., door}}, + byeditorcoin = {{geredigeerd en becommentarieerd, met een inleiding, door}% + {red\adddotspace en comm., met een inl., door}}, + byeditorcofo = {{geredigeerd en becommentarieerd, met een voorwoord, door}% + {red\adddotspace en comm., met een voorw., door}}, + byeditorcoaf = {{geredigeerd en becommentarieerd, met een nawoord, door}% + {red\adddotspace en comm., met een naw., door}}, + byeditoranin = {{geredigeerd en geannoteerd, met een inleiding, door}% + {red\adddotspace en annot., met een inl., door}}, + byeditoranfo = {{geredigeerd en geannoteerd, met een voorwoord, door}% + {red\adddotspace en annot., met een voorw., door}}, + byeditoranaf = {{geredigeerd en geannoteerd, met een nawoord, door}% + {red\adddotspace en annot., met een naw., door}}, + byeditortrcoin = {{geredigeerd, vertaald \lbx@lfromlang\ en becommentarieerd, met een inleiding, door}% + {red., vert\adddotspace \lbx@sfromlang\ en comm., met een inl., door}}, + byeditortrcofo = {{geredigeerd, vertaald \lbx@lfromlang\ en becommentarieerd, met een voorwoord, door}% + {red., vert\adddotspace \lbx@sfromlang\ en comm., met een voorw., door}}, + byeditortrcoaf = {{geredigeerd, vertaald \lbx@lfromlang\ en becommentarieerd, met een nawoord, door}% + {red., vert\adddotspace \lbx@sfromlang\ en comm., met een naw., door}}, + byeditortranin = {{geredigeerd, vertaald \lbx@lfromlang\ en geannoteerd, met een inleiding, door}% + {red., vert\adddotspace \lbx@sfromlang\ en annot., met een inl., door}}, + byeditortranfo = {{geredigeerd, vertaald \lbx@lfromlang\ en geannoteerd, met een voorwoord, door}% + {red., vert\adddotspace \lbx@sfromlang\ en annot., met een voorw., door}}, + byeditortranaf = {{geredigeerd, vertaald \lbx@lfromlang\ en geannoteerd, met een nawoord, door}% + {red., vert\adddotspace \lbx@sfromlang\ en annot., met een naw., door}}, + bytranslatorco = {{vertaald \lbx@lfromlang\ en becommentarieerd door}% + {vert\adddotspace \lbx@sfromlang\ en comm\adddotspace door}}, + bytranslatoran = {{vertaald \lbx@lfromlang\ en geannoteerd door}% + {vert\adddotspace \lbx@sfromlang\ en annot.\adddotspace door}}, + bytranslatorin = {{vertaald \lbx@lfromlang, met een inleiding, door}% + {vert\adddotspace \lbx@sfromlang, met een inl., door}}, + bytranslatorfo = {{vertaald \lbx@lfromlang, met een voorwoord, door}% + {vert\adddotspace \lbx@sfromlang, met een voorw., door}}, + bytranslatoraf = {{vertaald \lbx@lfromlang, met een nawoord, door}% + {vert\adddotspace \lbx@sfromlang, met een naw., door}}, + bytranslatorcoin = {{vertaald \lbx@lfromlang\ en becommentarieerd, met een inleiding, door}% + {vert\adddotspace \lbx@sfromlang\ en comm., met een inl., door}}, + bytranslatorcofo = {{vertaald \lbx@lfromlang\ en becommentarieerd, met een voorwoord, door}% + {vert\adddotspace \lbx@sfromlang\ en comm., met een voorw., door}}, + bytranslatorcoaf = {{vertaald \lbx@lfromlang\ en becommentarieerd, met een nawoord, door}% + {vert\adddotspace \lbx@sfromlang\ en comm., met een naw., door}}, + bytranslatoranin = {{vertaald \lbx@lfromlang\ en geannoteerd, met een inleiding, door}% + {vert\adddotspace \lbx@sfromlang\ en annot., met een inl., door}}, + bytranslatoranfo = {{vertaald \lbx@lfromlang\ en geannoteerd, met een voorwoord, door}% + {vert\adddotspace \lbx@sfromlang\ en annot., met een voorw., door}}, + bytranslatoranaf = {{vertaald \lbx@lfromlang\ en geannoteerd, met een nawoord, door}% + {vert\adddotspace \lbx@sfromlang\ en annot., met een naw., door}}, + withcommentator = {{met een commentaar van}{met een comm\adddotspace van}}, + withannotator = {{met annotaties door}{met annot\adddotspace door}}, + withintroduction = {{met een inleiding van}{met een inl\adddotspace van}}, + withforeword = {{met een voorwoord van}{met een voorw\adddotspace van}}, + withafterword = {{met een nawoord van}{met een naw\adddotspace van}}, + commentary = {{commentaar}{comm\adddot}}, + annotations = {{annotaties}{annot\adddot}}, + introduction = {{inleiding}{inl\adddot}}, + foreword = {{voorwoord}{voorw\adddot}}, + afterword = {{nawoord}{naw\adddot}}, + volume = {{deel}{deel}}, + volumes = {{delen}{delen}}, + jourvol = {{jaargang}{jrg\adddot}}, + jourser = {{reeks}{reeks}}, + book = {{boek}{boek}}, + part = {{deel}{deel}}, + issue = {{nummer}{nr\adddot}}, + newseries = {{nieuwe reeks}{nieuwe reeks}}, + oldseries = {{oude reeks}{oude reeks}}, + edition = {{editie}{ed\adddot}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{van}{van}}, + number = {{nummer}{nr\adddot}}, + chapter = {{hoofdstuk}{hfdstk\adddot}}, + version = {{versie}{versie}}, + reprint = {{herdruk}{herdr\adddot}}, + reprintof = {{herdruk van}{herdr\adddotspace van}}, + reprintas = {{herdrukt als}{herdr\adddotspace als}}, + reprintfrom = {{herdrukt uit}{herdr\adddotspace uit}}, + translationof = {{vertaling van}{vert\adddotspace van}}, + translationas = {{vertaald als}{vert\adddotspace als}}, + translationfrom = {{vertaald van}{vert\adddotspace van}}, + reviewof = {{bespreking van}{bespr\adddotspace van}}, + origpubas = {{oorspronkelijk gepubliceerd als}{oorspr\adddotspace gep\adddotspace als}}, + origpubin = {{oorspronkelijk gepubliceerd in}{oorspr\adddotspace gep\adddotspace in}}, + astitle = {{als}{als}},% FIXME: check + bypublisher = {{door}{door}},% FIXME: check + inpreparation = {{in voorbereiding}{in voorbereiding}}, + submitted = {{ingediend}{ingedied}}, +% forthcoming = {{onderweg}{onderweg}},% FIXME: check + inpress = {{in druk}{in druk}}, + prepublished = {{voorpublicatie}{voorpublicatie}}, + nodate = {{geen\space datum}{{}g\adddot d\adddot}}, + page = {{pagina}{p\adddot}}, + pages = {{pagina's}{p\adddot}}, + column = {{kolom}{kol\adddot}}, + columns = {{kolommen}{kol\adddot}}, + section = {{sectie}{\S}}, + sections = {{secties}{\S}}, + paragraph = {{paragraaf}{par\adddot}}, + paragraphs = {{paragrafen}{par\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{verzen}{v\adddot}}, + line = {{regel}{r\adddot}}, + lines = {{regels}{r\adddot}}, + pagetotal = {{pagina}{p\adddot}}, + pagetotals = {{pagina's}{p\adddot}}, + columntotal = {{kolom}{kol\adddot}}, + columntotals = {{kolommen}{kol\adddot}}, + linetotal = {{regel}{r\adddot}}, + linetotals = {{regels}{r\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{verzen}{v\adddot}}, + sectiontotal = {{sectie}{\S}}, + sectiontotals = {{secties}{\S}}, + paragraphtotal = {{paragraaf}{par\adddot}}, + paragraphtotals = {{paragrafen}{par\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{masterscriptie}{masterscriptie}}, + phdthesis = {{proefschrift}{proefschrift}}, + resreport = {{onderzoeksrapport}{onderzoeksrap\adddot}}, + techreport = {{technisch rapport}{tech\adddotspace rap\adddot}}, + software = {{computersoftware}{computersoft\adddot}}, + datacd = {{cd-rom}{cd-rom}}, + audiocd = {{audio-cd}{audio-cd}}, + and = {{en}{en}}, + andothers = {{en andere}{e\adddot a\adddot}}, + andmore = {{en andere}{e\adddot a\adddot}}, + url = {{adres}{adres}}, + urlfrom = {{beschikbaar op}{beschikbaar op}}, + urlseen = {{bezocht op}{bezocht op}}, + file = {{bestand}{bestand}}, + library = {{bibliotheek}{bibliotheek}}, + abstract = {{samenvatting}{samenvatting}}, + annotation = {{annotaties}{annotaties}}, + 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 = {{zie}{zie}}, + seealso = {{zie ook}{zie ook}}, + seenote = {{zie voetnoot}{zie v\adddot}}, + backrefpage = {{zie pagina}{zie pag\adddot}}, + backrefpages = {{zie pagina's}{zie pag\adddot}}, + quotedin = {{geciteerd in}{cit\adddotspace in}}, + citedas = {{verder geciteerd als}{verder geciteerd als}}, + thiscite = {{met name}{m.n\adddot}}, + january = {{januari}{jan}}, + february = {{februari}{feb}}, + march = {{maart}{mrt}}, + april = {{april}{apr}}, + may = {{mei}{mei}}, + june = {{juni}{jun}}, + july = {{juli}{jul}}, + august = {{augustus}{aug}}, + september = {{september}{sep}}, + october = {{oktober}{okt}}, + november = {{november}{nov}}, + december = {{december}{dec}}, + langamerican = {{Amerikaans Engels}{Amerikaans Engels}}, + langbrazilian = {{Braziliaans Portugeens}{Braziliaans Portugees}}, + langbulgarian = {{Bulgaars}{Bulgaars}}, + langcatalan = {{Catalaans}{Catalaans}}, + langcroatian = {{Kroatisch}{Kroatisch}}, + langczech = {{Tsjechisch}{Tsjechisch}}, + langdanish = {{Deens}{Deens}}, + langdutch = {{Nederlands}{Nederlands}}, + langenglish = {{Engels}{Engels}}, + langestonian = {{Estisch}{Estisch}}, + langfinnish = {{Fins}{Fins}}, + langfrench = {{Frans}{Frans}}, + langgalician = {{Galicisch}{Galicisch}}, + langgerman = {{Duits}{Duits}}, + langgreek = {{Grieks}{Grieks}}, + langhungarian = {{Hongaars}{Hongaars}}, + langitalian = {{Italiaans}{Italiaans}}, + 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}}, + frombulgarian = {{uit het Bulgaars}{uit het Bulgaars}}, + fromcatalan = {{uit het Catalaans}{uit het Catalaans}}, + fromcroatian = {{uit het Kroatisch}{uit het Kroatisch}}, + fromczech = {{uit het Tsjechisch}{uit het Tsjechisch}}, + fromdanish = {{uit het Deens}{uit het Deens}}, + fromdutch = {{uit het Nederlands}{uit het Nederlands}}, + fromenglish = {{uit het Engels}{uit het Engels}}, + fromestonian = {{uit het Estisch}{uit het Estisch}}, + fromfinnish = {{uit het Fins}{uit het Fins}}, + fromfrench = {{uit het Frans}{uit het Frans}}, + fromgalician = {{uit het Galicisch}{uit het Galicisch}}, + fromgerman = {{uit het Duits}{uit het Duits}}, + fromgreek = {{uit het Grieks}{uit het Grieks}}, + fromhungarian = {{uit het Hongaars}{uit het Hongaars}}, + fromitalian = {{uit het Italiaans}{uit het Italiaans}}, + fromjapanese = {{uit het Japaans}{uit het Japaans}}, + fromlatin = {{uit het Latijn}{uit het Latijn}}, + 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}}, + countryep = {{Europese Unie}{EP}}, + countryfr = {{Frankrijk}{FR}}, + countryuk = {{Verenigd Koninkrijk}{VK}}, + countryus = {{Verenigde Staten van Amerika}{VS}}, + patent = {{patent}{pat\adddot}}, + patentde = {{Duits patent}{Duits pat\adddot}}, + patenteu = {{Europees patent}{Eur\adddot pat\adddot}}, + patentfr = {{Frans patent}{Frans pat\adddot}}, + patentuk = {{Brits patent}{Brits pat\adddot}}, + patentus = {{Amerikaans patent}{Amer\adddot pat\adddot}}, + patreq = {{patentaanvraag}{patentaanvr\adddot}}, + patreqde = {{Duitse patentaanvraag}{Duitse patentaanvr\adddot}}, + patreqeu = {{Europese patentaanvraag}{Eur\adddot patentaanvr\adddot}}, + patreqfr = {{Franse patentaanvraag}{Franse patentaanvr\adddot}}, + patrequk = {{Britse patentaanvraag}{Britse patentaanvr\adddot}}, + patrequs = {{Amerikaanse patentaanvraag}{Amer\adddot patentaanvr\adddot}}, + commonera = {{gewone jaartelling}{g\adddot j\adddot}}, + beforecommonera = {{v\'o\'or gewone jaartelling}{v\adddot g\adddot j\adddot}}, + annodomini = {{na Christus}{n\adddot Chr\adddot}}, + beforechrist = {{voor Christus}{v\adddot Chr\adddot}}, +% circa = {{}{}},% FIXME: missing +% spring = {{}{}},% FIXME: missing +% summer = {{}{}},% FIXME: missing +% autumn = {{}{}},% FIXME: missing +% winter = {{}{}},% FIXME: missing +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{a\adddot m\adddot}{a\adddot m\adddot}}, + pm = {{p\adddot m\adddot}{p\adddot m\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/english-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/english-ms.lbx new file mode 100644 index 00000000000..ee59ce3cbd0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/english-ms.lbx @@ -0,0 +1,746 @@ +\ProvidesFile{english-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{english,american}{english,american,british, +canadian,australian,newzealand,USenglish,UKenglish} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \def\finalandcomma{\addcomma}% + \def\finalandsemicolon{\addsemicolon}% + \protected\def\mkbibordinal#1{% + \begingroup + \@tempcnta0#1\relax\number\@tempcnta + \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}% + \ifnum\@tempcnta>20 + \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10\relax}% + \fi + \ifcase\@tempcnta th\or st\or nd\or rd\else th\fi + \endgroup}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#3} + {\iffieldundef{#1}{}{\space}} + {\nobreakspace}}% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#1}{}{,\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#3} + {\iffieldundef{#1}{}{/}} + {/}}% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \savecommand\mkdaterangecomp + \savecommand\mkdaterangecompextra + \savecommand\mkdaterangeterse + \savecommand\mkdaterangeterseextra + \protected\def\mkdaterangecomp{% + \lbx@us@mkdaterangetrunc@long{long}}% + \protected\def\mkdaterangeterse{% + \lbx@us@mkdaterangetrunc@short{short}}% + \protected\def\mkdaterangecompextra{% + \lbx@us@mkdaterangetruncextra@long{long}}% + \protected\def\mkdaterangeterseextra{% + \lbx@us@mkdaterangetruncextra@short{short}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkdaterangecomp + \restorecommand\mkdaterangecompextra + \restorecommand\mkdaterangeterse + \restorecommand\mkdaterangeterseextra +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliography}{Bibliography}}, + references = {{References}{References}}, + shorthands = {{List of Abbreviations}{Abbreviations}}, + editor = {{editor}{ed\adddot}}, + editors = {{editors}{eds\adddot}}, + compiler = {{compiler}{comp\adddot}}, + compilers = {{compilers}{comp\adddot}}, + redactor = {{redactor}{red\adddot}}, + redactors = {{redactors}{red\adddot}}, + reviser = {{reviser}{rev\adddot}}, + revisers = {{revisers}{rev\adddot}}, + founder = {{founder}{found\adddot}}, + founders = {{founders}{found\adddot}}, + continuator = {{continued}{cont\adddot}},% FIXME: unsure + continuators = {{continued}{cont\adddot}},% FIXME: unsure + collaborator = {{collaborator}{collab\adddot}},% FIXME: unsure + collaborators = {{collaborators}{collab\adddot}},% FIXME: unsure + translator = {{translator}{trans\adddot}}, + translators = {{translators}{trans\adddot}}, + commentator = {{commentator}{comm\adddot}}, + commentators = {{commentators}{comm\adddot}}, + annotator = {{annotator}{annot\adddot}}, + annotators = {{annotators}{annot\adddot}}, + commentary = {{commentary}{comm\adddot}}, + annotations = {{annotations}{annot\adddot}}, + introduction = {{introduction}{intro\adddot}}, + foreword = {{foreword}{forew\adddot}}, + afterword = {{afterword}{afterw\adddot}}, + editortr = {{editor and translator}% + {ed\adddotspace and trans\adddot}}, + editorstr = {{editors and translators}% + {eds\adddotspace and trans\adddot}}, + editorco = {{editor and commentator}% + {ed\adddotspace and comm\adddot}}, + editorsco = {{editors and commentators}% + {eds\adddotspace and comm\adddot}}, + editoran = {{editor and annotator}% + {ed\adddotspace and annot\adddot}}, + editorsan = {{editors and annotators}% + {eds\adddotspace and annot\adddot}}, + editorin = {{editor and introduction}% + {ed\adddotspace and introd\adddot}}, + editorsin = {{editors and introduction}% + {eds\adddotspace and introd\adddot}}, + editorfo = {{editor and foreword}% + {ed\adddotspace and forew\adddot}}, + editorsfo = {{editors and foreword}% + {eds\adddotspace and forew\adddot}}, + editoraf = {{editor and afterword}% + {ed\adddotspace and afterw\adddot}}, + editorsaf = {{editors and afterword}% + {eds\adddotspace and afterw\adddot}}, + editortrco = {{editor, translator\finalandcomma\ and commentator}% + {ed.,\addabbrvspace trans\adddot\finalandcomma\ and comm\adddot}}, + editorstrco = {{editors, translators\finalandcomma\ and commentators}% + {eds.,\addabbrvspace trans\adddot\finalandcomma\ and comm\adddot}}, + editortran = {{editor, translator\finalandcomma\ and annotator}% + {ed.,\addabbrvspace trans\adddot\finalandcomma\ and annot\adddot}}, + editorstran = {{editors, translators\finalandcomma\ and annotators}% + {eds.,\addabbrvspace trans\adddot\finalandcomma\ and annot\adddot}}, + editortrin = {{editor, translator\finalandcomma\ and introduction}% + {ed.,\addabbrvspace trans\adddot\finalandcomma\ and introd\adddot}}, + editorstrin = {{editors, translators\finalandcomma\ and introduction}% + {eds.,\addabbrvspace trans\adddot\finalandcomma\ and introd\adddot}}, + editortrfo = {{editor, translator\finalandcomma\ and foreword}% + {ed.,\addabbrvspace trans\adddot\finalandcomma\ and forew\adddot}}, + editorstrfo = {{editors, translators\finalandcomma\ and foreword}% + {eds.,\addabbrvspace trans\adddot\finalandcomma\ and forew\adddot}}, + editortraf = {{editor, translator\finalandcomma\ and afterword}% + {ed.,\addabbrvspace trans\adddot\finalandcomma\ and afterw\adddot}}, + editorstraf = {{editors, translators\finalandcomma\ and afterword}% + {eds.,\addabbrvspace trans\adddot\finalandcomma\ and afterw\adddot}}, + editorcoin = {{editor, commentator\finalandcomma\ and introduction}% + {ed.,\addabbrvspace comm\adddot\finalandcomma\ and introd\adddot}}, + editorscoin = {{editors, commentators\finalandcomma\ and introduction}% + {eds.,\addabbrvspace comm\adddot\finalandcomma\ and introd\adddot}}, + editorcofo = {{editor, commentator\finalandcomma\ and foreword}% + {ed.,\addabbrvspace comm\adddot\finalandcomma\ and forew\adddot}}, + editorscofo = {{editors, commentators\finalandcomma\ and foreword}% + {eds.,\addabbrvspace comm\adddot\finalandcomma\ and forew\adddot}}, + editorcoaf = {{editor, commentator\finalandcomma\ and afterword}% + {ed.,\addabbrvspace comm\adddot\finalandcomma\ and afterw\adddot}}, + editorscoaf = {{editors, commentators\finalandcomma\ and afterword}% + {eds.,\addabbrvspace comm\adddot\finalandcomma\ and afterw\adddot}}, + editoranin = {{editor, annotator\finalandcomma\ and introduction}% + {ed.,\addabbrvspace annot\adddot\finalandcomma\ and introd\adddot}}, + editorsanin = {{editors, annotators\finalandcomma\ and introduction}% + {eds.,\addabbrvspace annot\adddot\finalandcomma\ and introd\adddot}}, + editoranfo = {{editor, annotator\finalandcomma\ and foreword}% + {ed.,\addabbrvspace annot\adddot\finalandcomma\ and forew\adddot}}, + editorsanfo = {{editors, annotators\finalandcomma\ and foreword}% + {eds.,\addabbrvspace annot\adddot\finalandcomma\ and forew\adddot}}, + editoranaf = {{editor, annotator\finalandcomma\ and afterword}% + {ed.,\addabbrvspace annot\adddot\finalandcomma\ and afterw\adddot}}, + editorsanaf = {{editors, annotators\finalandcomma\ and afterword}% + {eds.,\addabbrvspace annot\adddot\finalandcomma\ and afterw\adddot}}, + editortrcoin = {{editor, translator, commentator\finalandcomma\ and introduction}% + {ed.,\addabbrvspace trans., comm\adddot\finalandcomma\ and introd\adddot}}, + editorstrcoin = {{editors, translators, commentators\finalandcomma\ and introduction}% + {eds.,\addabbrvspace trans., comm\adddot\finalandcomma\ and introd\adddot}}, + editortrcofo = {{editor, translator, commentator\finalandcomma\ and foreword}% + {ed.,\addabbrvspace trans., comm\adddot\finalandcomma\ and forew\adddot}}, + editorstrcofo = {{editors, translators, commentators\finalandcomma\ and foreword}% + {eds.,\addabbrvspace trans., comm\adddot\finalandcomma\ and forew\adddot}}, + editortrcoaf = {{editor, translator, commentator\finalandcomma\ and afterword}% + {ed.,\addabbrvspace trans., comm\adddot\finalandcomma\ and afterw\adddot}}, + editorstrcoaf = {{editors, translators, commentators\finalandcomma\ and afterword}% + {eds.,\addabbrvspace trans., comm\adddot\finalandcomma\ and afterw\adddot}}, + editortranin = {{editor, translator, annotator\finalandcomma\ and introduction}% + {ed.,\addabbrvspace trans., annot\adddot\finalandcomma\ and introd\adddot}}, + editorstranin = {{editors, translators, annotators\finalandcomma\ and introduction}% + {eds.,\addabbrvspace trans., annot\adddot\finalandcomma\ and introd\adddot}}, + editortranfo = {{editor, translator, annotator\finalandcomma\ and foreword}% + {ed.,\addabbrvspace trans., annot\adddot\finalandcomma\ and forew\adddot}}, + editorstranfo = {{editors, translators, annotators\finalandcomma\ and foreword}% + {eds.,\addabbrvspace trans., annot\adddot\finalandcomma\ and forew\adddot}}, + editortranaf = {{editor, translator, annotator\finalandcomma\ and afterword}% + {ed.,\addabbrvspace trans., annot\adddot\finalandcomma\ and afterw\adddot}}, + editorstranaf = {{editors, translators, annotators\finalandcomma\ and afterword}% + {eds.,\addabbrvspace trans., annot\adddot\finalandcomma\ and afterw\adddot}}, + translatorco = {{translator and commentator}% + {trans\adddot\ and comm\adddot}}, + translatorsco = {{translators and commentators}% + {trans\adddot\ and comm\adddot}}, + translatoran = {{translator and annotator}% + {trans\adddot\ and annot\adddot}}, + translatorsan = {{translators and annotators}% + {trans\adddot\ and annot\adddot}}, + translatorin = {{translation and introduction}% + {trans\adddot\ and introd\adddot}}, + translatorsin = {{translation and introduction}% + {trans\adddot\ and introd\adddot}}, + translatorfo = {{translation and foreword}% + {trans\adddot\ and forew\adddot}}, + translatorsfo = {{translation and foreword}% + {trans\adddot\ and forew\adddot}}, + translatoraf = {{translation and afterword}% + {trans\adddot\ and afterw\adddot}}, + translatorsaf = {{translation and afterword}% + {trans\adddot\ and afterw\adddot}}, + translatorcoin = {{translation, commentary\finalandcomma\ and introduction}% + {trans., comm\adddot\finalandcomma\ and introd\adddot}}, + translatorscoin = {{translation, commentary\finalandcomma\ and introduction}% + {trans., comm\adddot\finalandcomma\ and introd\adddot}}, + translatorcofo = {{translation, commentary\finalandcomma\ and foreword}% + {trans., comm\adddot\finalandcomma\ and forew\adddot}}, + translatorscofo = {{translation, commentary\finalandcomma\ and foreword}% + {trans., comm\adddot\finalandcomma\ and forew\adddot}}, + translatorcoaf = {{translation, commentary\finalandcomma\ and afterword}% + {trans., comm\adddot\finalandcomma\ and afterw\adddot}}, + translatorscoaf = {{translation, commentary\finalandcomma\ and afterword}% + {trans., comm\adddot\finalandcomma\ and afterw\adddot}}, + translatoranin = {{translation, annotations\finalandcomma\ and introduction}% + {trans., annot\adddot\finalandcomma\ and introd\adddot}}, + translatorsanin = {{translation, annotations\finalandcomma\ and introduction}% + {trans., annot\adddot\finalandcomma\ and introd\adddot}}, + translatoranfo = {{translation, annotations\finalandcomma\ and foreword}% + {trans., annot\adddot\finalandcomma\ and forew\adddot}}, + translatorsanfo = {{translation, annotations\finalandcomma\ and foreword}% + {trans., annot\adddot\finalandcomma\ and forew\adddot}}, + translatoranaf = {{translation, annotations\finalandcomma\ and afterword}% + {trans., annot\adddot\finalandcomma\ and afterw\adddot}}, + translatorsanaf = {{translation, annotations\finalandcomma\ and afterword}% + {trans., annot\adddot\finalandcomma\ and afterw\adddot}}, + organizer = {{organizer}{org\adddot}}, + organizers = {{organizers}{orgs\adddot}}, + byorganizer = {{organized by}{org\adddotspace by}}, + byauthor = {{by}{by}}, + byeditor = {{edited by}{ed\adddotspace by}}, + bycompiler = {{compiled by}{comp\adddotspace by}}, + byredactor = {{redacted by}{red\adddotspace by}}, + byreviser = {{revised by}{rev\adddotspace by}}, + byreviewer = {{reviewed by}{rev\adddotspace by}}, + byfounder = {{founded by}{found\adddotspace by}}, + bycontinuator = {{continued by}{cont\adddotspace by}}, + bycollaborator = {{in collaboration with}{in collab\adddotspace with}},% FIXME: unsure + bytranslator = {{translated \lbx@lfromlang\ by}{trans\adddot\ \lbx@sfromlang\ by}}, + bycommentator = {{commented by}{comm\adddot\ by}}, + byannotator = {{annotated by}{annot\adddot\ by}}, + withcommentator = {{with a commentary by}{with a comment\adddot\ by}}, + withannotator = {{with annotations by}{with annots\adddot\ by}}, + withintroduction = {{with an introduction by}{with an intro\adddot\ by}}, + withforeword = {{with a foreword by}{with a forew\adddot\ by}}, + withafterword = {{with an afterword by}{with an afterw\adddot\ by}}, + byeditortr = {{edited and translated \lbx@lfromlang\ by}% + {ed\adddotspace and trans\adddot\ \lbx@sfromlang\ by}}, + byeditorco = {{edited and commented by}% + {ed\adddotspace and comm\adddot\ by}}, + byeditoran = {{edited and annotated by}% + {ed\adddotspace and annot\adddot\ by}}, + byeditorin = {{edited, with an introduction, by}% + {ed.,\addabbrvspace with an introd., by}}, + byeditorfo = {{edited, with a foreword, by}% + {ed.,\addabbrvspace with a forew., by}}, + byeditoraf = {{edited, with an afterword, by}% + {ed.,\addabbrvspace with an afterw., by}}, + byeditortrco = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented by}% + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm\adddot\ by}}, + byeditortran = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated by}% + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot\adddot\ by}}, + byeditortrin = {{edited and translated \lbx@lfromlang, with an introduction, by}% + {ed\adddotspace and trans\adddot\ \lbx@sfromlang, with an introd., by}}, + byeditortrfo = {{edited and translated \lbx@lfromlang, with a foreword, by}% + {ed\adddotspace and trans\adddot\ \lbx@sfromlang, with a forew., by}}, + byeditortraf = {{edited and translated \lbx@lfromlang, with an afterword, by}% + {ed\adddotspace and trans\adddot\ \lbx@sfromlang, with an afterw., by}}, + byeditorcoin = {{edited and commented, with an introduction, by}% + {ed\adddotspace and comm., with an introd., by}}, + byeditorcofo = {{edited and commented, with a foreword, by}% + {ed\adddotspace and comm., with a forew., by}}, + byeditorcoaf = {{edited and commented, with an afterword, by}% + {ed\adddotspace and comm., with an afterw., by}}, + byeditoranin = {{edited and annotated, with an introduction, by}% + {ed\adddotspace and annot., with an introd., by}}, + byeditoranfo = {{edited and annotated, with a foreword, by}% + {ed\adddotspace and annot., with a forew., by}}, + byeditoranaf = {{edited and annotated, with an afterword, by}% + {ed\adddotspace and annot., with an afterw., by}}, + byeditortrcoin = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an introduction, by}% + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm., with an introd., by}}, + byeditortrcofo = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with a foreword, by}% + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm., with a forew., by}}, + 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}}, + 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}}, + 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}}, + bytranslatorco = {{translated \lbx@lfromlang\ and commented by}% + {trans\adddot\ \lbx@sfromlang\ and comm\adddot\ by}}, + bytranslatoran = {{translated \lbx@lfromlang\ and annotated by}% + {trans\adddot\ \lbx@sfromlang\ and annot\adddot\ by}}, + bytranslatorin = {{translated \lbx@lfromlang, with an introduction, by}% + {trans\adddot\ \lbx@sfromlang, with an introd., by}}, + bytranslatorfo = {{translated \lbx@lfromlang, with a foreword, by}% + {trans\adddot\ \lbx@sfromlang, with a forew., by}}, + bytranslatoraf = {{translated \lbx@lfromlang, with an afterword, by}% + {trans\adddot\ \lbx@sfromlang, with an afterw., by}}, + bytranslatorcoin = {{translated \lbx@lfromlang\ and commented, with an introduction, by}% + {trans\adddot\ \lbx@sfromlang\ and comm., with an introd., by}}, + bytranslatorcofo = {{translated \lbx@lfromlang\ and commented, with a foreword, by}% + {trans\adddot\ \lbx@sfromlang\ and comm., with a forew., by}}, + bytranslatorcoaf = {{translated \lbx@lfromlang\ and commented, with an afterword, by}% + {trans\adddot\ \lbx@sfromlang\ and comm., with an afterw., by}}, + bytranslatoranin = {{translated \lbx@lfromlang\ and annotated, with an introduction, by}% + {trans\adddot\ \lbx@sfromlang\ and annot., with an introd., by}}, + bytranslatoranfo = {{translated \lbx@lfromlang\ and annotated, with a foreword, by}% + {trans\adddot\ \lbx@sfromlang\ and annot., with a forew., by}}, + bytranslatoranaf = {{translated \lbx@lfromlang\ and annotated, with an afterword, by}% + {trans\adddot\ \lbx@sfromlang\ and annot., with an afterw., by}}, + and = {{and}{and}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{volume}{vol\adddot}}, + volumes = {{volumes}{vols\adddot}}, + involumes = {{in}{in}}, + jourvol = {{volume}{vol\adddot}}, + jourser = {{series}{ser\adddot}}, + book = {{book}{book}}, + part = {{part}{part}}, + issue = {{issue}{issue}}, + newseries = {{new series}{new ser\adddot}}, + oldseries = {{old series}{old ser\adddot}}, + edition = {{edition}{ed\adddot}}, + reprint = {{reprint}{repr\adddot}}, + reprintof = {{reprint of}{repr\adddotspace of}}, + reprintas = {{reprinted as}{rpt\adddotspace as}}, + reprintfrom = {{reprinted from}{repr\adddotspace from}}, + reviewof = {{review of}{rev\adddotspace of}}, + translationof = {{translation of}{trans\adddotspace of}}, + translationas = {{translated as}{trans\adddotspace as}}, + translationfrom = {{translated from}{trans\adddotspace from}}, + origpubas = {{originally published as}{orig\adddotspace pub\adddotspace as}}, + origpubin = {{originally published in}{orig\adddotspace pub\adddotspace in}}, + astitle = {{as}{as}}, + bypublisher = {{by}{by}}, + nodate = {{no date}{n\adddot d\adddot}}, + page = {{page}{p\adddot}}, + pages = {{pages}{pp\adddot}}, + column = {{column}{col\adddot}}, + columns = {{columns}{cols\adddot}}, + line = {{line}{l\adddot}}, + lines = {{lines}{ll\adddot}}, + verse = {{verse}{v\adddot}}, + verses = {{verses}{vv\adddot}}, + section = {{section}{\S}}, + sections = {{sections}{\S\S}}, + paragraph = {{paragraph}{par\adddot}}, + paragraphs = {{paragraphs}{par\adddot}}, + pagetotal = {{page}{p\adddot}}, + pagetotals = {{pages}{pp\adddot}}, + columntotal = {{column}{col\adddot}}, + columntotals = {{columns}{cols\adddot}}, + linetotal = {{line}{l\adddot}}, + linetotals = {{lines}{ll\adddot}}, + versetotal = {{verse}{v\adddot}}, + versetotals = {{verses}{vv\adddot}}, + sectiontotal = {{section}{\S}}, + sectiontotals = {{sections}{\S\S}}, + paragraphtotal = {{paragraph}{par\adddot}}, + paragraphtotals = {{paragraphs}{par\adddot}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{of}{of}}, + number = {{number}{no\adddot}}, + chapter = {{chapter}{chap\adddot}}, + bathesis = {{Bachelor's thesis}{BA\addabbrvspace thesis}}, + mathesis = {{Master's thesis}{MA\addabbrvspace thesis}}, + phdthesis = {{PhD\addabbrvspace thesis}{PhD\addabbrvspace thesis}}, + candthesis = {{Candidate thesis}{Cand\adddotspace thesis}}, + resreport = {{research report}{research rep\adddot}}, + techreport = {{technical report}{tech\adddotspace rep\adddot}}, + software = {{computer software}{comp\adddotspace software}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{version}{version}}, + url = {{address}{address}}, + urlfrom = {{available from}{available from}}, + urlseen = {{visited on}{visited on}}, + inpreparation = {{in preparation}{in preparation}}, + submitted = {{submitted}{submitted}}, + forthcoming = {{forthcoming}{forthcoming}}, + inpress = {{in press}{in press}}, + prepublished = {{pre-published}{pre-published}}, + citedas = {{henceforth cited as}{henceforth cited as}}, + thiscite = {{especially}{esp\adddot}}, + seenote = {{see note}{see n\adddot}}, + quotedin = {{quoted in}{qtd\adddotspace in}}, + 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 = {{see}{see}}, + seealso = {{see also}{see also}}, + backrefpage = {{cited on page}{cit\adddotspace on p\adddot}}, + backrefpages = {{cited on pages}{cit\adddotspace on pp\adddot}}, + january = {{January}{Jan\adddot}}, + february = {{February}{Feb\adddot}}, + march = {{March}{Mar\adddot}}, + april = {{April}{Apr\adddot}}, + may = {{May}{May}}, + june = {{June}{June}}, + july = {{July}{July}}, + august = {{August}{Aug\adddot}}, + september = {{September}{Sept\adddot}}, + october = {{October}{Oct\adddot}}, + november = {{November}{Nov\adddot}}, + december = {{December}{Dec\adddot}}, + langamerican = {{American}{American}}, + langbasque = {{Basque}{Basque}}, + langbrazilian = {{Brazilian}{Brazilian}}, + langbulgarian = {{Bulgarian}{Bulgarian}}, + langcatalan = {{Catalan}{Catalan}}, + langcroatian = {{Croatian}{Croatian}}, + langczech = {{Czech}{Czech}}, + langdanish = {{Danish}{Danish}}, + langdutch = {{Dutch}{Dutch}}, + langenglish = {{English}{English}}, + langestonian = {{Estonian}{Estonian}}, + langfinnish = {{Finnish}{Finnish}}, + langfrench = {{French}{French}}, + langgalician = {{Galician}{Galician}}, + langgerman = {{German}{German}}, + langgreek = {{Greek}{Greek}}, + langhungarian = {{Hungarian}{Hungarian}}, + langitalian = {{Italian}{Italian}}, + langjapanese = {{Japanese}{Japanese}}, + langlatin = {{Latin}{Latin}}, + langlatvian = {{Latvian}{Latvian}}, + langlithuanian = {{Lithuanian}{Lithuanian}}, + langmarathi = {{Marathi}{Marathi}}, + langnorwegian = {{Norwegian}{Norwegian}}, + langpolish = {{Polish}{Polish}}, + langportuguese = {{Portuguese}{Portuguese}}, + langromanian = {{Romanian}{Romanian}}, + 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}}, + frombasque = {{from the Basque}{from the Basque}}, + frombrazilian = {{from the Brazilian}{from the Brazilian}}, + frombulgarian = {{from the Bulgarian}{from the Bulgarian}}, + fromcatalan = {{from the Catalan}{from the Catalan}}, + fromcroatian = {{from the Croatian}{from the Croatian}}, + fromczech = {{from the Czech}{from the Czech}}, + fromdanish = {{from the Danish}{from the Danish}}, + fromdutch = {{from the Dutch}{from the Dutch}}, + fromenglish = {{from the English}{from the English}}, + fromestonian = {{from the Estonian}{from the Estonian}}, + fromfinnish = {{from the Finnish}{from the Finnish}}, + fromfrench = {{from the French}{from the French}}, + fromgalician = {{from the Galician}{from the Galician}}, + fromgerman = {{from the German}{from the German}}, + fromgreek = {{from the Greek}{from the Greek}}, + fromhungarian = {{from the Hungarian}{from the Hungarian}}, + fromitalian = {{from the Italian}{from the Italian}}, + fromjapanese = {{from the Japanese}{from the Japanese}}, + fromlatin = {{from the Latin}{from the Latin}}, + fromlatvian = {{from the Latvian}{from the Latvian}}, + fromlithuanian = {{from the Lithuanian}{from the Lithuanian}}, + frommarathi = {{from the Marathi}{from the Marathi}}, + fromnorwegian = {{from the Norwegian}{from the Norwegian}}, + frompolish = {{from the Polish}{from the Polish}}, + fromportuguese = {{from the Portuguese}{from the Portuguese}}, + fromromanian = {{from the Romanian}{from the Romanian}}, + 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}}, + countryep = {{European Union}{EP}}, + countryfr = {{France}{FR}}, + countryuk = {{United Kingdom}{GB}}, + countryus = {{United States of America}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{German patent}{German pat\adddot}}, + patenteu = {{European patent}{European pat\adddot}}, + patentfr = {{French patent}{French pat\adddot}}, + patentuk = {{British patent}{British pat\adddot}}, + patentus = {{U.S\adddotspace patent}{U.S\adddotspace pat\adddot}}, + patreq = {{patent request}{pat\adddot\ req\adddot}}, + patreqde = {{German patent request}{German pat\adddot\ req\adddot}}, + patreqeu = {{European patent request}{European pat\adddot\ req\adddot}}, + patreqfr = {{French patent request}{French pat\adddot\ req\adddot}}, + patrequk = {{British patent request}{British pat\adddot\ req\adddot}}, + patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}}, + file = {{file}{file}}, + library = {{library}{library}}, + abstract = {{abstract}{abstract}}, + annotation = {{annotations}{annotations}}, + commonera = {{Common Era}{CE}}, + beforecommonera = {{Before Common Era}{BCE}}, + annodomini = {{Anno Domini}{AD}}, + beforechrist = {{Before Christ}{BC}}, + circa = {{circa}{ca\adddot}}, + spring = {{Spring}{Spr\adddot}}, + summer = {{Summer}{Sum\adddot}}, + autumn = {{Autumn}{Aut\adddot}}, + winter = {{Winter}{Win\adddot}}, + springN = {{Spring (Northern Hemisphere)}{Spr\adddotspace NH}}, + summerN = {{Summer (Northern Hemisphere)}{Sum\adddotspace NH}}, + autumnN = {{Autumn (Northern Hemisphere)}{Aut\adddotspace NH}}, + winterN = {{Winter (Northern Hemisphere)}{Win\adddotspace NH}}, + springS = {{Spring (Southern Hemisphere)}{Spr\adddotspace SH}}, + summerS = {{Summer (Southern Hemisphere)}{Sum\adddotspace SH}}, + autumnS = {{Autumn (Southern Hemisphere)}{Aut\adddotspace SH}}, + winterS = {{Winter (Southern Hemisphere)}{Win\adddotspace SH}}, + Q1 = {{Quarter~1}{Q1}}, + Q2 = {{Quarter~2}{Q2}}, + Q3 = {{Quarter~3}{Q3}}, + Q4 = {{Quarter~4}{Q4}}, + QD1 = {{Quadrimester~1}{Q1}}, + QD2 = {{Quadrimester~2}{Q2}}, + QD3 = {{Quadrimester~3}{Q3}}, + S1 = {{Semestral~1}{S1}}, + S2 = {{Semestral~2}{S2}}, + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\protected\gdef\lbx@us@mkdaterangetrunc@long#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\lbx@us@mkdaterangetrunc@long@i{#1}{#2}}} + +\protected\gdef\lbx@us@mkdaterangetrunc@long@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \dateeraprint{#2year}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@us@mkdaterangetrunc@short#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\lbx@us@mkdaterangetrunc@short@i{#1}{#2}}} + +\protected\gdef\lbx@us@mkdaterangetrunc@short@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \dateeraprint{#2year}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@us@mkdaterangetruncextra@long#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\lbx@us@mkdaterangetruncextra@long@i{#1}{#2}}} + +\protected\gdef\lbx@us@mkdaterangetruncextra@long@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \dateeraprint{#2year}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@us@mkdaterangetruncextra@short#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\lbx@us@mkdaterangetruncextra@short@i{#1}{#2}}} + +\protected\gdef\lbx@us@mkdaterangetruncextra@short@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibdate#1}{}{#2month}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \dateeraprint{#2year}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \dateeraprint{#2year}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/estonian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/estonian-ms.lbx new file mode 100644 index 00000000000..040b19ecb8e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/estonian-ms.lbx @@ -0,0 +1,582 @@ +\ProvidesFile{estonian-ms.lbx} +[\abx@lbxid] + +% First attempt at Estonian using Finnish.lbx, Bing translator and a dictionary +% Translator's notes: +% Some translations look akward but they are made in such a way +% that they look as good as possible in running text. +% Source for some items in translations: Kielikello 3/1998. +% and Liisa Junno: Kirjastosanasto 1. BTJ Kirjastopalvelu 2006. + +\DeclareRedundantLanguages{estonian}{estonian} + + +\DeclareBibliographyExtras{% + % dashes: may be either \textendash or \textemdash + \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} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\protected\def\bibdaterangesep{\addnbspace\textendash\space}% + \mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}\adddot}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}\adddot}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\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}}% + \savebibmacro{in:}% + \renewbibmacro{in:}{% + \ifentrytype{article} + {} + {\bibstring{in}% + \printunit{\intitlepunct}}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang + \restorebibmacro{in:}% +} + +\DeclareBibliographyStrings{% + bibliography = {{bibliograafia}{bibliograafia}}, + references = {{viited}{viited}}, + shorthands = {{l\"{u}hendid}{l\"{u}hendid}}, + editor = {{toimetaja}{toim\adddot}}, + editors = {{toimetajad}{toim\adddot}}, + compiler = {{koostaja}{koost\adddot}}, + compilers = {{koostajad}{koost\adddot}}, + redactor = {{toimetaja}{toim\adddot}}, + redactors = {{toimetajad}{toim\adddot}}, + reviser = {{toimetaja}{toim\adddot}}, + revisers = {{toimetajad}{toim\adddot}}, + founder = {{asutaja}{asutaja}}, + founders = {{asutajad}{asutajad}}, + continuator = {{j\"{a}tkaja}{j\"{a}tkaja}}, + continuators = {{j\"{a}tkajad}{j\"{a}tkajad}}, + collaborator = {{kaast\"{o}\"{o}line}{kaast\adddot}}, + collaborators = {{kaast\"{o}\"{o}lised}{kaast\adddot}}, + translator = {{t\~{o}lkija}{t\~{o}lk\adddot}}, + translators = {{t\~{o}lkijad}{t\~{o}lk\adddot}}, + commentator = {{kommenteerija}{kommenteerija}}, + commentators = {{kommenteerijad}{kommenteerijad}}, + annotator = {{kommenteerija}{kommenteerija}}, + annotators = {{kommenteerijad}{kommenteerijad}}, + commentary = {{kommentaarid}{kommentaarid}}, + annotations = {{kommentaarid}{kommentaarid}}, + introduction = {{sissejuhatus}{sissejuhatus}}, + foreword = {{eess\~{o}na autor}{eess\~{o}na}}, + afterword = {{j\"{a}rels\~{o}na autor}{j\"{a}rels\~{o}na}}, + editortr = {{toimetaja ja t\~{o}lkija}% + {toim\adddotspace ja t\~{o}lk\adddot}}, + editorstr = {{toimetajad ja t\~{o}lkijad}% + {toim\adddotspace ja t\~{o}lk\adddot}}, + editorco = {{toimetaja ja kommenteerija}% + {toimetaja ja kommenteerija}}, + editorsco = {{toimetajad ja kommenteerijad}% + {toimetajad ja kommenteerijad}}, + editoran = {{toimetaja ja kommenteerija}% + {toimetaja ja kommenteerija}}, + editorsan = {{toimetajad ja kommenteerijad}% + {toimetajad ja kommenteerijad}}, + editorin = {{toimetaja ja sissejuhatus}% + {toimetaja ja sissejuhatus}}, + editorsin = {{toimetajad ja sissejuhatus}% + {toimetajad ja sissejuhatus}}, + editorfo = {{toimetaja ja eess\~{o}na}% + {toimetaja ja eess\~{o}na}}, + editorsfo = {{toimetajad ja eess\~{o}na}% + {toimetajad ja eess\~{o}na}}, + editoraf = {{toimetaja ja j\"{a}rels\~{o}na}% + {toimetaja ja j\"{a}rels\~{o}na}}, + editorsaf = {{toimetajad ja j\"{a}rels\~{o}na}% + {toimetajad ja j\"{a}rels\~{o}na}}, + editortrco = {{toimetaja, t\~{o}lkija ja kommenteerija} % + {toim., t\~{o}lk\adddotspace ja komm\adddot}}, + editorstrco = {{toimetajad, t\~{o}lkijad ja kommenteerijad} % + {toim., t\~{o}lk\adddotspace ja komm\adddot}}, + editortran = {{toimetaja, t\~{o}lkija ja kommenteerija} % + {toim., t\~{o}lk\adddotspace ja annot\adddot}}, + editorstran = {{toimetajad, t\~{o}lkijad ja kommenteerijad} % + {toim., t\~{o}lk\adddotspace ja annot\adddot}}, + editortrin = {{toimetaja, t\~{o}lkija ja sissejuhatus} % + {toim., t\~{o}lk\adddotspace ja sissej\adddot}}, + editorstrin = {{toimetajad, t\~{o}lkijad ja sissejuhatus} % + {toim., t\~{o}lk\adddotspace ja sissej\adddot}}, + editortrfo = {{toimetaja, t\~{o}lkija ja eess\~{o}na} % + {toim., t\~{o}lk\adddotspace ja eess\adddot}}, + editorstrfo = {{toimetajad, t\~{o}lkijad ja eess\~{o}na} % + {toim., t\~{o}lk\adddotspace ja forew\adddot}}, + editortraf = {{toimetaja, t\~{o}lkija ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + editorstraf = {{toimetajad, t\~{o}lkijad ja j\"{a}rels} % + {toim., t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + editorcoin = {{toimetaja, kommenteerija ja sissejuhatus} % + {toim., komm\adddotspace ja sissej\adddot}}, + editorscoin = {{toimetajad, kommenteerijad ja sissejuhatus} % + {toim., komm\adddotspace ja sissej\adddot}}, + editorcofo = {{toimetaja, kommenteerija ja eess\~{o}na} % + {toim., komm\adddotspace ja forew\adddot}}, + editorscofo = {{toimetajad, kommenteerija ja eess\~{o}na} % + {toim., komm\adddotspace ja eess\adddot}}, + editorcoaf = {{toimetaja, kommenteerija ja j\"{a}rels\~{o}na} % + {toim., komm\adddotspace ja j\"{a}rels\adddot}}, + editorscoaf = {{toimetajad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., komm\adddotspace ja j\"{a}rels\adddot}}, + editoranin = {{toimetaja, kommenteerija ja sissejuhatus} % + {toim., annot\adddotspace ja sissej\adddot}}, + editorsanin = {{toimetajad, kommenteerijad ja sissejuhatus} % + {toim., annot\adddotspace ja sissej\adddot}}, + editoranfo = {{toimetaja, annoteerja ja eess\~{o}na} % + {toim., annot\adddotspace ja eess\adddot}}, + editorsanfo = {{toimetajad, kommenteerijad ja eess\~{o}na} % + {toim., annot\adddotspace ja eess\adddot}}, + editoranaf = {{toimetaja, kommenteerija ja j\"{a}rels\~{o}na} % + {toim., annot\adddotspace ja j\"{a}rels\adddot}}, + editorsanaf = {{toimetajad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., annot\adddotspace ja j\"{a}rels\adddot}}, + editortrcoin = {{toimetaja, t\~{o}lkija, kommenteerija ja sissejuhatus} % + {toim., t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + editorstrcoin = {{toimetajad, t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {toim., t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + editortrcofo = {{toimetaja, t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja eess\adddot}}, + editorstrcofo = {{toimetajad, t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja eess\adddot}}, + editortrcoaf = {{toimetaja, t\~{o}lkija, kommentator ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + editorstrcoaf = {{toimetajad, t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + editortranin = {{toimetaja, t\~{o}lkija, kommenteerija ja sissejuhatus} % + {toim., t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + editorstranin = {{toimetajad, t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {toim., t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + editortranfo = {{toimetaja, t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja eess\adddot}}, + editorstranfo = {{toimetajad, t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja eess\adddot}}, + editortranaf = {{toimetaja, t\~{o}lkija, kommenteerija ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + editorstranaf = {{toimetajad, t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {toim., t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + translatorco = {{t\~{o}lkija ja kommenteerija} % + {t\~{o}lk\adddotspace ja komm\adddot}}, + translatorsco = {{t\~{o}lkijad ja kommenteerijad} % + {t\~{o}lk\adddotspace ja komm\adddot}}, + translatoran = {{t\~{o}lkija ja kommenteerija} % + {t\~{o}lk\adddotspace ja annot\adddot}}, + translatorsan = {{t\~{o}lkijad ja kommenteerijad} % + {t\~{o}lk\adddotspace ja annot\adddot}}, + translatorin = {{t\~{o}lkija ja sissejuhatus} % + {t\~{o}lk\adddotspace ja sissej\adddot}}, + translatorsin = {{t\~{o}lkijad ja sissejuhatus} % + {t\~{o}lk\adddotspace ja sissej\adddot}}, + translatorfo = {{t\~{o}lkija ja eess\~{o}na} % + {t\~{o}lk\adddotspace ja eess\adddot}}, + translatorsfo = {{t\~{o}lkijad ja eess\~{o}na} % + {t\~{o}lk\adddotspace ja eess\adddot}}, + translatoraf = {{t\~{o}lkija ja j\"{a}rels\~{o}na} % + {t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + translatorsaf = {{t\~{o}lkijad ja j\"{a}rels\~{o}na} % + {t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + translatorcoin = {{t\~{o}lkija, kommenteerija ja sissejuhatus} % + {t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + translatorscoin = {{t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + translatorcofo = {{t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {t\~{o}lk., komm\adddotspace ja eess\adddot}}, + translatorscofo = {{t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {t\~{o}lk., komm\adddotspace ja eess\adddot}}, + translatorcoaf = {{t\~{o}lkija, kommenteerija ja j\"{a}rels\~{o}na} % + {t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + translatorscoaf = {{t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + translatoranin = {{t\~{o}lkija, kommenteerija ja sissejuhatus} % + {t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + translatorsanin = {{t\~{o}lkijad, kommenteerijad ja sissejuhatus} % + {t\~{o}lk., annot\adddotspace ja sissej\adddot}}, + translatoranfo = {{t\~{o}lkija, kommenteerija ja eess\~{o}na} % + {t\~{o}lk., annot\adddotspace ja eess\adddot}}, + translatorsanfo = {{t\~{o}lkijad, kommenteerijad ja eess\~{o}na} % + {t\~{o}lk., annot\adddotspace ja eess\adddot}}, + translatoranaf = {{t\~{o}lkija, kommenteerija ja j\"{a}rels\~{o}na} % + {t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + translatorsanaf = {{t\~{o}lkijad, kommenteerijad ja j\"{a}rels\~{o}na} % + {t\~{o}lk., annot\adddotspace ja j\"{a}rels\adddot}}, + organizer = {{korraldaja}{korraldaja}}, + organizers = {{korraldajad}{korraldajad}}, + byorganizer = {{korraldanud}{korraldanud}}, + byauthor = {{kirjutanud}{kirj\adddot}}, + byeditor = {{toimetanud}{toim\adddot}}, + bycompiler = {{koostanud}{koost\adddot}}, + byredactor = {{toimetanud}{toim\adddot}}, + byreviser = {{l\"{a}bivaadanud}{l\"{a}bivaadanud}}, + byreviewer = {{vaadanud}{vaadanud}}, + byfounder = {{asutanud}{asutanud}}, + bycontinuator = {{j\"{a}tkanud}{j\"{a}tkanud}}, + bycollaborator = {{koost\"{o}\"{o}s}{koost\"{o}\"{o}s}}, + bytranslator = {{\lbx@lfromlang t\~{o}lkinud}{\lbx@sfromlang t\~{o}lk\adddot}}, + bycommentator = {{kommenteerinud}{kommenteerinud}}, + byannotator = {{kommenteerinud}{kommenteerinud}},% FIXME: unsure + withcommentator = {{koos kommentaaridega}{koos kommentaaridega}},% FIXME: commentator name should be in the middle + withannotator = {{koos kommentaaridega}{koos kommentaaridega}}, + withintroduction = {{koos tutvustusega}{koos tutvustusega}},% FIXME: unsure + withforeword = {{koos eess\~{o}naga}{koos eess\adddot}}, + withafterword = {{koos j\"{a}rels\~{o}naga}{koos j\"{a}rels\adddot}}, + byeditortr = {{toimetanud ja \lbx@lfromlang t\~{o}lkinud} % + {toim\adddotspace ja \lbx@sfromlang t\~{o}lk\adddot}}, + byeditorco = {{toimetanud ja kommenteerinud} % + {toim\adddotspace ja komment\adddot}}, + byeditoran = {{toimetanud ja kommenteerinud} % + {toim\adddotspace ja komment\adddot}}, + byeditorin = {{toimetanud ja sissejuhatuse kirjutanud} % + {toim\adddotspace ja sissej\adddot}}, + byeditorfo = {{toimetanud ja eess\~{o}na kirjutanud} % + {toim\adddotspace ja eess\adddot}}, + byeditoraf = {{toimetanud ja j\"{a}rels\~{o}na kirjutanud} % + {toim\adddotspace ja j\"{a}rels\adddot}}, + byeditortrco = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja komm\adddot}}, + byeditortran = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja komment\adddot}}, + byeditortrin = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja sissejuhatuse kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja sissej\adddot}}, + byeditortrfo = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja eess\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja eess\adddot}}, + byeditortraf = {{toimetanud, \lbx@lfromlang t\~{o}lkinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + byeditorcoin = {{toimetanud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., komm\adddotspace ja sissej\adddot}}, + byeditorcofo = {{toimetanud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., komm\adddotspace ja eess\adddot}}, + byeditorcoaf = {{toimetanud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., komm\adddotspace ja j\"{a}rels\adddot}}, + byeditoranin = {{toimetanud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., komment\adddotspace ja sissej\adddot}}, + byeditoranfo = {{toimetanud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., komment\adddotspace ja eess\adddot}}, + byeditoranaf = {{toimetanud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., komment\adddotspace ja j\"{a}rels\adddot}}, + byeditortrcoin = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + byeditortrcofo = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komm\adddotspace ja eess\adddot}}, + byeditortrcoaf = {{toimetatud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + byeditortranin = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komment\adddotspace ja sissej\adddot}}, + byeditortranfo = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komment\adddotspace ja eess\adddot}}, + byeditortranaf = {{toimetanud, \lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {toim., \lbx@sfromlang t\~{o}lk., komment\adddotspace ja j\"{a}rels\adddot}}, + bytranslatorco = {{\lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja komm\adddot}}, + bytranslatoran = {{\lbx@lfromlang t\~{o}lkinud ja kommenteerinud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja komment\adddot}}, + bytranslatorin = {{\lbx@lfromlang t\~{o}lkinud ja sissejuhatuse kirjutanud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja sissej\adddot}}, + bytranslatorfo = {{\lbx@lfromlang t\~{o}lkinud ja eess\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja eess\adddot}}, + bytranslatoraf = {{\lbx@lfromlang t\~{o}lkinud ja j\"{a}rels\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk\adddotspace ja j\"{a}rels\adddot}}, + bytranslatorcoin = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komm\adddotspace ja sissej\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komm\adddotspace ja eess\adddot}}, + bytranslatorcoaf = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komm\adddotspace ja j\"{a}rels\adddot}}, + bytranslatoranin = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja sissejuhatuse kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komment\adddotspace ja sissej\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja eess\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komment\adddotspace ja eess\adddot}}, + bytranslatoranaf = {{\lbx@lfromlang t\~{o}lkinud, kommenteerinud ja j\"{a}rels\~{o}na kirjutanud} % + {\lbx@sfromlang t\~{o}lk., komment\adddotspace ja j\"{a}rels\adddot}}, + and = {{ja}{ja}}, + andothers = {{\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}} % + {\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}}}, + andmore = {{\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}} % + {\mkbibemph{\autocap{e}t\addabbrvspace al\adddot}}}, + volume = {{k\"{o}ide}{k\"{o}ide}}, + volumes = {{k\"{o}ited}{k\"{o}ited}}, + involumes = {{osas}{osas}}, + jourvol = {{k\"{o}ide}{k\"{o}ide}}, + jourser = {{seeria}{seeria}}, + book = {{raamat}{raamat}}, + part = {{osa}{osa}}, + issue = {{number}{nr\adddot}}, + newseries = {{uus seerias}{uus seer\adddot}}, + oldseries = {{vana seeria}{vana seer\adddot}}, + edition = {{v\"{a}ljaanne}{v\"{a}ljaanne}}, + reprint = {{kordustr\"{u}kk}{kordustr\"{u}kk}}, + reprintof = {{kordustr\"{u}kk teosest}{kordustr\"{u}kk teosest}}, + reprintas = {{kordustr\"{u}kitud kui}{kordustr\"{u}kitud kui}}, + reprintfrom = {{kordustr\"{u}kitud teosest}{kordustr\"{u}kitud teosest}}, + reviewof = {{arvustus teosest}{arvustus teosest}}, + translationof = {{t\~{o}lge}{t\~{o}lge}}, + translationas = {{t\~{o}lgitud kui}{t\~{o}lgitud kui}}, + translationfrom = {{t\~{o}lgitud}{t\~{o}lgitud}}, + origpubas = {{algselt avaldatud kui}{algselt avaldatud kui}}, % FIXME: unsure, could also be 'esmatrükitud kui' + origpubin = {{algselt avaldatud aastal}{algselt avaldatud aastal}}, % FIXME: unsure, could also be 'esmatrükitud aastal' + astitle = {{pealkirjaga}{pealkirjaga}}, + bypublisher = {{v\"{a}lja andnud}{v\"{a}lja andnud}}, + page = {{lehek\"{u}lg}{lk\adddot}}, + pages = {{lehek\"{u}ljed}{lk\adddot}}, + column = {{veerg}{veerg}}, + columns = {{veerud}{veerud}}, + line = {{rida}{rida}}, + lines = {{read}{read}}, + nodate = {{kuup\"{a}ev puudub}{kuup\"{a}ev puudub}}, + verse = {{salm}{salm}}, + verses = {{salmid}{salmid}}, + section = {{jagu}{jagu}}, + sections = {{jaod}{jaod}}, + paragraph = {{l\~{o}ik}{l\~{o}ik}}, + paragraphs = {{l\~{o}igud}{l\~{o}igud}}, + pagetotal = {{lehek\"{u}lgi kokku}{lk\adddotspace kokku}},% FIXME: unsure + pagetotals = {{lehek\"{u}lgesid kokku}{lk\adddotspace kokku}},% FIXME: unsure + columntotal = {{veerge kokku}{veerge kokku}},% FIXME: unsure + columntotals = {{veergusid kokku}{veergusid kokku}},% FIXME: unsure + linetotal = {{ridu kokku}{ridu kokku}},% FIXME: unsure + linetotals = {{ridasid kokku}{ridasid kokku}},% FIXME: unsure + versetotal = {{salmi kokku}{salmi kokku}},% FIXME: unsure + versetotals = {{salmesid kokku}{salmesid kokku}},% FIXME: unsure + sectiontotal = {{jagusid kokku}{jagusid kokku}},% FIXME: unsure + sectiontotals = {{jagusid kokku}{jagusid kokku}},% FIXME: unsure + paragraphtotal = {{l\~{o}ike kokku}{l\~{o}ike kokku}},% FIXME: unsure + paragraphtotals = {{l\~{o}ikusid kokku}{l\~{o}ikusid kokku}},% FIXME: unsure + in = {{teoses}{teoses}}, + inseries = {{sarjas}{sarjas}}, + ofseries = {{sarjast}{sarjast}}, + number = {{number}{nr}}, + chapter = {{peat\"{u}kk}{ptk}}, + bathesis = {{bakalaureuse t\"{o}\"{o}}{bakalaureuse t\"{o}\"{o}}}, + mathesis = {{magistrit\"{o}\"{o}}{magistrit\"{o}\"{o}}}, + phdthesis = {{doktorit\"{o}\"{o}}{doktorit\"{o}\"{o}}}, + candthesis = {{kandidaadi v\"{a}itekiri}{kandidaadi v\"{a}itekiri}},% Literal translation of "Candidate thesis". + resreport = {{uuringuraport}{uuringuraport}}, + techreport = {{tehniline raport}{tehniline raport}}, + software = {{tarkvara}{tarkvara}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audioplaat}{audioplaat}}, + version = {{versioon}{versioon}}, + url = {{aadress}{aadress}}, + urlfrom = {{saadaval}{saadaval}}, + urlseen = {{vaadatud}{vaadatud}}, + inpreparation = {{koostamisel}{koostamisel}}, + submitted = {{esitatud}{esitatud}}, + forthcoming = {{tulevases}{tulevases}}, + inpress = {{tr\"{u}kis}{tr\"{u}kis}}, + prepublished = {{eelnevalt avaldatud} {eelnevalt avaldatud}}, + citedas = {{edaspidi viidatud kui}{edaspidi viidatud kui}}, + thiscite = {{eriti}{eriti}}, + seenote = {{vaata m\"{a}rkus}{vt m\"{a}rkus}}, + quotedin = {{noteeritud}{noteeritud}}, % FIXME: unsure + idem = {{\mkbibemph{\autocap{i}dem}}{\mkbibemph{\autocap{i}dem}}}, % It its not necessary to translate Latin phrases. + idemsm = {{\mkbibemph{\autocap{i}dem}}{\mkbibemph{\autocap{i}dem}}}, + idemsf = {{\mkbibemph{\autocap{e}adem}}{\mkbibemph{\autocap{e}adem}}}, + idemsn = {{\mkbibemph{\autocap{i}dem}}{\mkbibemph{\autocap{i}dem}}}, + idempm = {{\mkbibemph{\autocap{e}idem}}{\mkbibemph{\autocap{e}idem}}}, + idempf = {{\mkbibemph{\autocap{e}aedem}}{\mkbibemph{\autocap{e}aedem}}}, + idempn = {{\mkbibemph{\autocap{e}adem}}{\mkbibemph{\autocap{e}adem}}}, + idempp = {{\mkbibemph{\autocap{e}idem}}{\mkbibemph{\autocap{e}idem}}}, + ibidem = {{\mkbibemph{\autocap{i}bidem}}{\mkbibemph{\autocap{i}bid\adddot}}}, + opcit = {{\mkbibemph{\autocap{o}p\adddotspace cit\adddot}}{\mkbibemph{\autocap{o}p\adddotspace cit\adddot}}}, + loccit = {{\mkbibemph{\autocap{l}oc\adddotspace cit\adddot}}{\mkbibemph{\autocap{l}oc\adddotspace cit\adddot}}}, + confer = {{\mkbibemph{\autocap{c}f\adddot}}{\mkbibemph{\autocap{c}f\adddot}}}, + sequens = {{\mkbibemph{\autocap{s}q\adddot}}{\mkbibemph{\autocap{s}q\adddot}}}, + sequentes = {{\mkbibemph{\autocap{s}qq\adddot}}{\mkbibemph{\autocap{s}qq\adddot}}}, + passim = {{\mkbibemph{\autocap{p}assim}}{\mkbibemph{\autocap{p}ass\adddot}}}, + see = {{vaata}{vt}}, + seealso = {{vaata ka}{vt ka}}, + backrefpage = {{viidatud lehel}{viidatud lehel}}, + backrefpages = {{viidatud lehek\"{u}ljed}{viidatud lehek\"{u}ljed}}, + january = {{jaanuar}{jaanuar}}, + february = {{veebruar}{veebruar}}, + march = {{m\"{a}rts}{m\"{a}rts}}, + april = {{aprill}{aprill}}, + may = {{mai}{mai}}, + june = {{juuni}{juuni}}, + july = {{juuli}{juuli}}, + august = {{august}{august}}, + september = {{september}{september}}, + october = {{oktoober}{oktoober}}, + november = {{november}{november}}, + december = {{detsember}{detsember}}, + langamerican = {{Ameerika inglise keel}{Ameerika inglise keel}}, + langbrazilian = {{brasiilia keel}{brasiilia keel}}, + langbulgarian = {{bulgaaria keel}{bulgaaria keel}}, + langcatalan = {{katalaani keel}{katalaani keel}}, + langcroatian = {{horvaadi keel}{horvaadi keel}}, + langczech = {{t\v{s}ehhi keel}{t\v{s}ehhi keel}}, + langdanish = {{taani keel}{taani keel}}, + langdutch = {{hollandi keel}{hollandi keel}}, + langenglish = {{inglise keel}{inglise keel}}, + langestonian = {{eesti keel}{eesti keel}}, + langfinnish = {{soome keel}{soome keel}}, + langfrench = {{prantsuse keel}{prantsuse keel}}, + langgalician = {{galeegi keel}{galeegi keel}}, + langgerman = {{saksa keel}{saksa keel}}, + langgreek = {{kreeka keel}{kreeka keel}}, + langhungarian = {{ungari keel}{ungari keel}}, + langitalian = {{itaalia keel}{itaalia keel}}, + langjapanese = {{jaapani keel}{jaapani keel}}, + langlatin = {{ladina keel}{ladina keel}}, + langlatvian = {{l\"{a}ti keel}{l\"{a}ti keel}}, + langnorwegian = {{norra keel}{norra keel}}, + langpolish = {{poola keel}{poola keel}}, + langportuguese = {{portugali keel}{portugali keel}}, + langrussian = {{vene keel}{vene keel}}, + langslovak = {{slovakia keel}{slovakia keel}}, + langslovene = {{sloveeni keel}{sloveeni keel}}, + langspanish = {{hispaania keel}{hispaania keel}}, + langswedish = {{rootsi keel}{rootsi keel}}, + langukrainian = {{ukraina keel}{ukraina keel}}, + fromamerican = {{Ameerika inglise keelest}{Ameerika inglise keelest}}, + frombrazilian = {{brasiilia keelest}{brasiilia keelest}}, + frombulgarian = {{bulgaaria keelest}{bulgaaria keelest}}, + fromcatalan = {{katalani keelest}{kalatalani keelest}}, + fromcroatian = {{horvaadi keelest}{horvaadi keelest}}, + fromczech = {{t\v{s}ehhi keelest}{t\v{s}ehhi keelest}}, + fromdanish = {{taani keelest}{taani keelest}}, + fromdutch = {{hollandi keelest}{hollandi keelest}}, + fromenglish = {{inglise keelest}{inglise keelest}}, + fromestonian = {{eesti keelest}{eesti keelest}}, + fromfinnish = {{soome keelest}{soome keelest}}, + fromfrench = {{prantsuse keelest}{prantsuse keelest}}, + fromgalician = {{galeegi keelest}{galeegi keelest}}, + fromgerman = {{saksa keelest}{saksa keelest}}, + fromgreek = {{kreeka keelest}{kreeka keelest}}, + fromhungarian = {{ungari keelest}{ungari keelest}}, + fromitalian = {{itaalia keelest}{itaalia keelest}}, + fromjapanese = {{jaapani keelest}{jaapani keelest}}, + fromlatin = {{ladina keelest}{ladina keelest}}, + fromlatvian = {{l\"{a}ti keelest}{l\"{a}ti keelest}}, + fromnorwegian = {{norra keelest}{norra keelest}}, + frompolish = {{poola keelest} {poola keelest}}, + fromportuguese = {{portugali keelest}{portugali keelest}}, + fromrussian = {{vene keelest}{vene keelest}}, + fromslovak = {{slovakia keelest}{slovakia keelest}}, + fromslovene = {{sloveenia keelest}{sloveenia keelest}}, + fromspanish = {{hispaania keelest}{hispaania keelest}}, + fromswedish = {{rootsi keelest}{rootsi keelest}}, + fromukrainian = {{ukraina keelest}{ukraina keelest}}, + countryde = {{Saksamaa}{DE}}, + countryeu = {{Euroopa Liit}{EL}}, + countryep = {{Euroopa Parlament}{EP}}, + countryfr = {{Prantsusmaa}{FR}}, + countryuk = {{Suurbritannia}{GB}}, + countryus = {{Ameerika}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{Saksa patent}{Saksa pat\adddot}}, + patenteu = {{Euroopa patent}{Euroopa pat\adddot}}, + patentfr = {{Prantsuse patent}{Prantsuse pat\adddot}}, + patentuk = {{Briti patent}{Briti pat\adddot}}, + patentus = {{U.S\adddotspace patent}{U.S\adddotspace pat\adddot}}, + patreq = {{patendi taotlus}{pat\adddotspace taotl\adddot}}, + patreqde = {{Saksa patendi taotlus}{Saksa pat\adddotspace taotl\adddot}}, + patreqeu = {{Euroopa patendi taotlus}{Euroopa pat\adddotspace taotl\adddot}}, + patreqfr = {{Prantsuse patendi taotlus}{Prantsuse pat\adddotspace taotl\adddot}}, + patrequk = {{Briti patendi taotlus}{Briti pat\adddotspace taotl\adddot}}, + patrequs = {{U.S\adddotspace patendi taotlus.}{U.S\adddotspace pat\adddotspace taotl\adddot}}, + file = {{fail}{fail}}, + library = {{raamatukogu}{raamatukogu}}, + abstract = {{teesid}{teesid}}, + annotation = {{kommentaarid}{kommentaarid}}, + commonera = {{meie ajaarvamise j\"argi}{m\adddot a\adddot j}}, + beforecommonera = {{enne meie ajaarvamist}{e\adddot m\adddot a}}, + annodomini = {{p\"arast Kristust}{pKr}}, + beforechrist = {{enne Kristust}{eKr}}, + circa = {{\mkbibemph{\autocap{c}a}}{\mkbibemph{\autocap{c}a}}}, + spring = {{kevadel}{kevadel}}, + summer = {{suvel}{suvel}}, + autumn = {{s\"{u}gisel}{s\"{u}gisel}}, + winter = {{talvel}{talvel}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/finnish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/finnish-ms.lbx new file mode 100644 index 00000000000..5ed7056bd19 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/finnish-ms.lbx @@ -0,0 +1,625 @@ +\ProvidesFile{finnish-ms.lbx} +[\abx@lbxid] + +% Translator's notes: +% Some translations look akward but they are made in such a way +% that they look as good as possible in running text. +% Source for some items in translations: Kielikello 3/1998. +% and Liisa Junno: Kirjastosanasto 1. BTJ Kirjastopalvelu 2006. + +\DeclareRedundantLanguages{finnish}{finnish} + +\NewBibliographyString{% + basicjanuary, + basicfebruary, + basicmarch, + basicapril, + basicmay, + basicjune, + basicjuly, + basicaugust, + basicseptember, + basicoctober, + basicnovember, + basicdecember% +} + +\DeclareBibliographyExtras{% + % dashes: may be either \textendash or \textemdash + \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} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iffieldundef{#3} + {\lbx@fi@mkbibmonthbasic{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}\adddot + \iffieldundef{#2}{}{\thinspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1} + {} + {\iffieldundef{#3}{/}{\adddot\thinspace}}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\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}}% + \savebibmacro{in:}% + \renewbibmacro{in:}{% + \ifentrytype{article} + {} + {\bibstring{in}% + \printunit{\intitlepunct}}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang + \restorebibmacro{in:}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Kirjallisuusluettelo}{Kirjallisuus}}, + references = {{Viitteet}{Viitteet}}, + shorthands = {{Lyhenteet}{Lyhenteet}}, + editor = {{toimittanut}{toim\adddot}}, + editors = {{toimittaneet}{toim\adddot}},% Abbreviation is the same in singular and plural. + compiler = {{koontanut}{koontanut}},% FIXME: unsure + compilers = {{koontaneet}{koontaneet}},% FIXME: unsure + redactor = {{toimittanut}{toim\adddot}},% FIXME: unsure + redactors = {{toimittaneet}{toim\adddot}},% FIXME: unsure + reviser = {{toimittanut}{toim\adddot}},% FIXME: unsure + revisers = {{toimittaneet}{toim\adddot}},% FIXME: unsure + founder = {{perustaja}{perustaja}}, + founders = {{perustajat}{perustajat}}, + continuator = {{jatkaja}{jatkaja}},% FIXME: unsure + continuators = {{jatkajat}{jatkajat}},% FIXME: unsure + collaborator = {{avustaja}{avustaja}},% FIXME: unsure + collaborators = {{avustajat}{avustajat}},% FIXME: unsure + translator = {{k\"a\"ant\"anyt}{k\"a\"ant\adddot}}, + translators = {{k\"a\"ant\"anyt}{k\"a\"ant\adddot}}, + commentator = {{kommentaarin kirjoittanut}{kommentaarin kirjoittanut}}, + commentators = {{kommentaarin kirjoittaneet}{kommentaarin kirjoittaneet}}, + annotator = {{selityksin varustanut}{selityksin varustanut}},% FIXME: unsure + annotators = {{selityksin varustaneet}{selityksin varustaneet}},% FIXME: unsure + commentary = {{kommentaari}{kommentaari}}, + annotations = {{selitykset}{selitykset}},% FIXME: unsure + introduction = {{johdanto}{johdanto}}, + foreword = {{esipuhe}{esipuhe}},% Is "alkusanat" better? + afterword = {{j\"alkisanat}{j\"alkisanat}}, + editortr = {{toimittanut ja k\"a\"ant\"anyt}% + {toim\adddotspace ja k\"a\"ant\adddot}}, + editorstr = {{toimittaneet ja k\"a\"ant\"aneet}% + {toim\adddotspace ja k\"a\"ant\adddot}}, + editorco = {{toimittanut ja kommentaarin kirjoittanut}% + {toimittanut ja kommentaarin kirjottanut}}, + editorsco = {{toimittaneet ja kommentaarin kirjoittaneet}% + {toimittaneet ja kommentaarin kirjoittaneet}}, + editoran = {{toimittanut ja selityksin varustanut}% FIXME: unsure + {toimittanut ja selityksin varustanut}}, + editorsan = {{toimittaneet ja selityksin varustaneet}% FIXME: unsure + {toimittaneet ja selityksin varustaneet}}, + editorin = {{toimittanut ja johdannon kirjoittanut}% + {toimittanut ja johdannon kirjoittanut}}, + editorsin = {{toimittaneet ja johdannon kirjoittaneet}% + {toimittaneet ja johdannon kirjoittaneet}}, + editorfo = {{toimittanut ja esipuheen kirjoittanut}% + {toimittanut ja esipuheen kirjoittanut}}, + editorsfo = {{toimittaneet ja esipuheen kirjoittaneet}% + {toimittaneet ja esipuheen kirjoittaneet}}, + editoraf = {{toimittanut ja j\"alkisanat kirjoittanut}% + {toimittanut ja j\"alkisanat kirjoittanut}}, + editorsaf = {{toimittaneet ja j\"alkisanat kirjoittaneet}% + {toimittaneet ja j\"alkisanat kirjoittaneet}}, + editortrco = {{toimittanut, k\"a\"ant\"anyt ja kommentaarin kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt ja kommentaarin kirjoittanut}}, + editorstrco = {{toimittaneet, k\"a\"ant\"aneet ja kommentaarin kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet ja kommentaarin kirjoittaneet}}, + editortran = {{toimittanut, k\"a\"ant\"anyt ja selityksin varustanut}% FIXME: unsure + {toimittanut, k\"a\"ant\"anyt ja selityksin varustanut}}, + editorstran = {{toimittaneet, k\"a\"ant\"aneet ja selityksin varustaneet}% FIXME: unsure + {toimittaneet, k\"a\"ant\"aneet ja selityksin varustaneet}}, + editortrin = {{toimittanut, k\"a\"ant\"anyt ja johdannon kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt ja johdannon kirjoittanut}}, + editorstrin = {{toimittaneet, k\"a\"ant\"aneet ja johdannon kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet ja johdannon kirjoittaneet}}, + editortrfo = {{toimittanut, k\"a\"ant\"anyt ja esipuheen kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt ja esipuheen kirjoittanut}}, + editorstrfo = {{toimittaneet, k\"a\"ant\"aneet ja esipuheen kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet ja esipuheen kirjoittaneet}}, + editortraf = {{toimittanut, k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}}, + editorstraf = {{toimittaneet, k\"a\"ant\"aneet ja j\"alkisanat kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet ja j\"alkisanat kirjoittaneet}}, + editorcoin = {{toimittanut, kommentaarin ja johdannon kirjoittanut}% + {toimittanut, kommentaarin ja johdannon kirjoittanut}}, + editorscoin = {{toimittaneet, kommentaarin ja johdannon kirjoittaneet}% + {toimittaneet, kommentaarin ja johdannon kirjoittaneet}}, + editorcofo = {{toimittanut, kommentaarin ja esipuheen kirjoittanut}% + {toimittanut, kommentaarin ja esipuheen kirjoittanut}}, + editorscofo = {{toimittaneet, kommentaarin ja esipuheen kirjoittaneet}% + {toimittaneet, kommentaarin ja esipuheen kirjoittaneet}}, + editorcoaf = {{toimittanut, kommentaarin ja j\"alkisanat kirjoittanut}% + {toimittanut, kommentaarin ja j\"alkisanat kirjoittanut}}, + editorscoaf = {{toimittaneet, kommentaarin ja j\"alkisanat kirjoittaneet}% + {toimittaneet, kommentaarin ja j\"alkisanat kirjoittaneet}}, + editoranin = {{toimittanut, selitykset ja johdannon kirjoittanut}% + {toimittanut, selitykset ja johdannon kirjoittanut}}, + editorsanin = {{toimittaneet, selitykset ja johdannon kirjoittaneet}% + {toimittaneet, selitykset ja johdannon kirjoittaneet}}, + editoranfo = {{toimittanut, selitykset ja esipuheen kirjoittanut}% + {toimittanut, selitykset ja esipuheen kirjoittanut}}, + editorsanfo = {{toimittaneet, selitykset ja esipuheen kirjoittaneet}% + {toimittaneet, selitykset ja esipuheen kirjoittaneet}}, + editoranaf = {{toimittanut, selitykset ja j\"alkisanat kirjoittanut}% + {toimittanut, selitykset ja j\"alkisanat kirjoittanut}}, + editorsanaf = {{toimittaneet, selitykset ja j\"alkisanat kirjoittaneet}% + {toimittaneet, selitykset ja j\"alkisanat kirjoittaneet}}, + editortrcoin = {{toimittanut, k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}}, + editorstrcoin = {{toimittaneet, k\"a\"ant\"aneet, kommentaarin ja johdannon kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet, kommentaarin ja johdannon kirjoittaneet}}, + editortrcofo = {{toimittanut, k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}}, + editorstrcofo = {{toimittaneet, k\"a\"ant\"aneet, kommentaarin ja esipuheen kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet, kommentaarin ja esipuheen kirjoittaneet}}, + editortrcoaf = {{toimittanut, k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}}, + editorstrcoaf = {{toimittaneet, k\"a\"ant\"aneet, kommentaarin ja j\"alkisanat kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet, kommentaarin ja j\"alkisanat kirjoittaneet}}, + editortranin = {{toimittanut, k\"a\"ant\"anyt, selitykset ja johdannon kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt, selitykset ja johdannon kirjoittanut}}, + editorstranin = {{toimittaneet, k\"a\"ant\"aneet, selitykset ja johdannon kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet, selitykset ja johdannon kirjoittaneet}}, + editortranfo = {{toimittanut, k\"a\"ant\"anyt, selitykset ja esipuheen kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt, selitykset ja esipuheen kirjoittanut}}, + editorstranfo = {{toimittaneet, k\"a\"ant\"aneet, selitykset ja esipuheen kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet, selitykset ja esipuheen kirjoittaneet}}, + editortranaf = {{toimittanut, k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}% + {toimittanut, k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}}, + editorstranaf = {{toimittaneet, k\"a\"ant\"aneet, selitykset ja j\"alkisanat kirjoittaneet}% + {toimittaneet, k\"a\"ant\"aneet, selitykset ja j\"alkisanat kirjoittaneet}}, + translatorco = {{k\"a\"ant\"anyt ja kommentaarin kirjoittanut}% + {k\"a\"ant\"anyt ja kommentaarin kirjoittanut}}, + translatorsco = {{k\"a\"ant\"aneet ja kommentaarin kirjoittaneet}% + {k\"a\"ant\"aneet ja kommentaarin kirjoittaneet}}, + translatoran = {{k\"a\"ant\"anyt ja selityksin varustanut}% + {k\"a\"ant\"anyt ja selityksin varustanut}}, + translatorsan = {{k\"a\"ant\"aneet ja selityksin varustaneet}% + {k\"a\"ant\"aneet ja selityksin varustaneet}}, + translatorin = {{k\"a\"ant\"anyt ja johdannon kirjoittanut}% + {k\"a\"ant\"anyt ja johdannon kirjoittanut}}, + translatorsin = {{k\"a\"ant\"aneet ja johdannon kirjoittaneet}% + {k\"a\"ant\"aneet ja johdannon kirjoittaneet}}, + translatorfo = {{k\"a\"ant\"anyt ja esipuheen kirjoittanut}% + {k\"a\"ant\"anyt ja esipuheen kirjoittanut}}, + translatorsfo = {{k\"a\"ant\"aneet ja esipuheen kirjoittaneet}% + {k\"a\"ant\"aneet ja esipuheen kirjoittaneet}}, + translatoraf = {{k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}% + {k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}}, + translatorsaf = {{k\"a\"ant\"aneet ja j\"alkisanat kirjoittaneet}% + {k\"a\"ant\"aneet ja j\"alkisanat kirjoittaneet}}, + translatorcoin = {{k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}% + {k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}}, + translatorscoin = {{k\"a\"ant\"aneet, kommentaarin ja johdannon kirjoittaneet}% + {k\"a\"ant\"aneet, kommentaarin ja johdannon kirjoittaneet}}, + translatorcofo = {{k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}% + {k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}}, + translatorscofo = {{k\"a\"ant\"aneet, kommentaarin ja esipuheen kirjoittaneet}% + {k\"a\"ant\"aneet, kommentaarin ja esipuheen kirjoittaneet}}, + translatorcoaf = {{k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}% + {k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}}, + translatorscoaf = {{k\"a\"ant\"aneet, kommentaarin ja j\"alkisanat kirjoittaneet}% + {k\"a\"ant\"aneet, kommentaarin ja j\"alkisanat kirjoittaneet}}, + translatoranin = {{k\"a\"ant\"anyt, selitykset ja johdannon kirjoittanut}% + {k\"a\"ant\"anyt, selitykset ja johdannon kirjoittanut}}, + translatorsanin = {{k\"a\"ant\"aneet, selitykset ja johdannon kirjoittaneet}% + {k\"a\"ant\"aneet, selitykset ja johdannon kirjoittaneet}}, + translatoranfo = {{k\"a\"ant\"anyt, selitykset ja esipuheen kirjoittanut}% + {k\"a\"ant\"anyt, selitykset ja esipuheen kirjoittanut}}, + translatorsanfo = {{k\"a\"ant\"aneet, selitykset ja esipuheen kirjoittaneet}% + {k\"a\"ant\"aneet, selitykset ja esipuheen kirjoittaneet}}, + translatoranaf = {{k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}% + {k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}}, + translatorsanaf = {{k\"a\"ant\"aneet, selitykset ja j\"alkisanat kirjoittaneet}% + {k\"a\"ant\"aneet, selitykset ja j\"alkisanat kirjoittaneet}}, + organizer = {{toimittanut}{toim\adddot}},% FIXME: unsure + organizers = {{toimittaneet}{toim\adddot}},% FIXME: unsure + byorganizer = {{toimittanut}{toim\adddot}},% FIXME: unsure + byauthor = {{kirjoittanut}{kirj\adddot}}, + byeditor = {{toimittanut}{toim\adddot}}, + bycompiler = {{koontanut}{koontanut}}, + byredactor = {{toimittanut}{toim\adddot}},% FIXME: unsure + byreviser = {{toimittanut}{toim\adddot}},% FIXME: unsure + byreviewer = {{toimittanut}{toim\adddot}},% FIXME: unsure + byfounder = {{perustanut}{perustanut}},% FIXME: unsure + bycontinuator = {{jatkanut}{jatkanut}},% FIXME: unsure + bycollaborator = {{yhteisty\"oss\"a}{yhteisty\"oss\"a}},% FIXME: Bad translation. Impossible to translate with one word. + bytranslator = {{\lbx@lfromlang k\"a\"ant\"anyt}{\lbx@sfromlang k\"a\"ant\adddot}}, + bycommentator = {{kommentaarin kirjoittanut}{kommentaarin kirjoittanut}},% FIXME: unsure + byannotator = {{selityksin varustanut}{selityksin varustanut}},% FIXME: unsure + withcommentator = {{kommentaarin kirjoittanut}{kommentaarin kirjoittanut}},% FIXME: unsure + withannotator = {{selityksin varustanut}{selityksin varustanut}},% FIXME: unsure + withintroduction = {{johdannon kirjottanut}{johdannon kirjottanut}}, + withforeword = {{esipuheen kirjoittanut}{esipuheen kirjoittanut}}, + withafterword = {{j\"alkisanat kirjoittanut}{j\"alkisanat kirjoittanut}}, + byeditortr = {{toimittanut ja \lbx@lfromlang k\"a\"ant\"anyt}% + {toim\adddotspace ja \lbx@sfromlang k\"a\"ant\adddot}}, + byeditorco = {{toimittanut ja kommentaarin kirjoittanut}% + {toimittanut ja kommentaarin kirjoittanut}}, + byeditoran = {{toimittanut ja selityksin varustanut}% + {toimittanut ja selityksin varustanut}}, + byeditorin = {{toimittanut ja johdannon kirjoittanut}% + {toimittanut ja johdannon kirjoittanut}}, + byeditorfo = {{toimittanut ja esipuheen kirjoittanut}% + {toimittanut ja esipuheen kirjoittanut}}, + byeditoraf = {{toimittanut ja j\"alkisanat kirjoittanut}% + {toimittanut ja j\"alkisanat kirjoittanut}}, + byeditortrco = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt ja kommentaarin kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt ja kommentaarin kirjoittanut}}, + byeditortran = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt ja selityksin varustanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt ja selityksin varustanut}}, + byeditortrin = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt ja johdannon kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt ja johdannon kirjoittanut}}, + byeditortrfo = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt ja esipuheen kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt ja esipuheen kirjoittanut}}, + byeditortraf = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}}, + byeditorcoin = {{toimittanut, kommentaarin ja johdannon kirjoittanut}% + {toimittanut, kommentaarin ja johdannon kirjoittanut}}, + byeditorcofo = {{toimittanut, kommentaarin ja esipuheen kirjoittanut}% + {toimittanut, kommentaarin ja esipuheen kirjoittanut}}, + byeditorcoaf = {{toimittanut, kommentaarin ja j\"alkisanat kirjoittanut}% + {toimittanut, kommentaarin ja j\"alkisanat kirjoittanut}}, + byeditoranin = {{toimittanut, selitykset ja johdannon kirjoittanut}% + {toimittanut, selitykset ja johdannon kirjoittanut}}, + byeditoranfo = {{toimittanut, selitykset ja esipuheen kirjoittanut}% + {toimittanut, selitykset ja esipuheen kirjoittanut}}, + byeditoranaf = {{toimittanut, selitykset ja j\"alkisanat kirjoittanut}% + {toimittanut, selitykset ja j\"alkisanat kirjoittanut}}, + byeditortrcoin = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}}, + byeditortrcofo = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}}, + byeditortrcoaf = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}}, + byeditortranin = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt, selitykset ja johdannon kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt, selitykset ja johdannon kirjoittanut}}, + byeditortranfo = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt, selitykset ja esipuheen kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt, selitykset ja esipuheen kirjoittanut}}, + byeditortranaf = {{toimittanut, \lbx@lfromlang k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}% + {toimittanut, \lbx@sfromlang k\"a\"ant\"anyt, selitykset ja j\"alkisanat kirjoittanut}}, + bytranslatorco = {{\lbx@lfromlang k\"a\"ant\"anyt ja kommentaarin kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt ja kommentaarin kirjoittanut}}, + bytranslatoran = {{\lbx@lfromlang k\"a\"ant\"anyt ja selityksin varustanut}% + {\lbx@sfromlang k\"a\"ant\"anyt ja selityksin varustanut}}, + bytranslatorin = {{\lbx@lfromlang k\"a\"ant\"anyt ja johdannon kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt ja johdannon kirjoittanut}}, + bytranslatorfo = {{\lbx@lfromlang k\"a\"ant\"anyt ja esipuheen kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt ja esipuheen kirjoittanut}}, + bytranslatoraf = {{\lbx@lfromlang k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt ja j\"alkisanat kirjoittanut}}, + bytranslatorcoin = {{\lbx@lfromlang k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt, kommentaarin ja johdannon kirjoittanut}}, + bytranslatorcofo = {{\lbx@lfromlang k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt, kommentaarin ja esipuheen kirjoittanut}}, + bytranslatorcoaf = {{\lbx@lfromlang k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt, kommentaarin ja j\"alkisanat kirjoittanut}}, + bytranslatoranin = {{\lbx@lfromlang k\"a\"ant\"anyt, selityksin varustanut ja johdannon kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt, selityksin varustanut ja johdannon kirjoittanut}}, + bytranslatoranfo = {{\lbx@lfromlang k\"a\"ant\"anyt, selityksin varustanut ja esipuheen kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt, selityksin varustanut ja esipuheen kirjoittanut}}, + bytranslatoranaf = {{\lbx@lfromlang k\"a\"ant\"anyt, selityksin varustanut ja j\"alkisanat kirjoittanut}% + {\lbx@sfromlang k\"a\"ant\"anyt, selityksin varustanut ja j\"alkisanat kirjoittanut}}, + and = {{ja}{ja}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{jne\adddot}{jne\adddot}}, + volume = {{volyymi}{vol\adddot}},% FIXME: Is {{osa}{osa}} a better translation? + volumes = {{volyymit}{vol\adddot}},% Incorrect. Correct translation of "volumes" depends on context. + involumes = {{}{}},% Finnish translation of "in 5 volumes" is "5 osassa", so translation of "in" is an empty string. + jourvol = {{volyymi}{vol\adddot}}, + jourser = {{sarja}{sarja}}, + book = {{kirja}{kirja}},% FIXME: Literal translation of "book". Correct translation depends on context. + part = {{osa}{osa}}, + issue = {{numero}{numero}}, + newseries = {{uusi sarja}{uusi sarja}}, + oldseries = {{vanha sarja}{vanha sarja}}, + edition = {{painos}{painos}}, + reprint = {{j\"alkipainos}{j\"alkipainos}}, + reprintof = {{julkaistu aiemmin nimell\"a}{julkaistu aiemmin nimell\"a}}, + reprintas = {{julkaistu uudelleen nimell\"a}{julkaistu uudelleen nimell\"a}}, + reprintfrom = {{julkaistu aiemmin nimell\"a}{julkaistu aiemmin nimell\"a}},% FIXME: unsure + translationof = {{k\"a\"ann\"os teoksesta}{k\"a\"ann\"os teoksesta}},% FIXME: unsure + translationas = {{k\"a\"annetty nimell\"a}{k\"a\"annetty nimell\"a}},% FIXME: unsure + translationfrom = {{k\"a\"annetty kielest\"a}{k\"a\"annetty kielest\"a}},% Result is very bad Finnish. + reviewof = {{arvostelu teoksesta}{arvostelu teoksesta}},% FIXME: unsure. Bad Finnish. + origpubas = {{julkaistu ensi kerran nimell\"a}{julkaistu ensi kerran nimell\"a}}, + origpubin = {{julkaistu ensi kerran vuonna}{julkaistu ensi kerran vuonna}}, + astitle = {{nimell\"a}{nimell\"a}},% FIXME: unsure + bypublisher = {{julkaissut}{julkaissut}},% FIXME: unsure + page = {{sivu}{s\adddot}}, + pages = {{sivut}{s\adddot}}, + column = {{palsta}{palsta}},% Here "sarake" is wrong! + columns = {{palstat}{palstat}},% Here "sarakkeet" is wrong! + line = {{rivi}{rivi}}, + lines = {{rivit}{rivit}}, + nodate = {{ei julkaisup\"aiv\"a\"a}{ei julkaisup\"aiv\"a\"a}},% FIXME: unsure + verse = {{s\"ae}{s\"ae}}, + verses = {{s\"akeet}{s\"akeet}}, + section = {{kohta}{kohta}},% Bad translation, but "pyk\"al\"a" is no better. + sections = {{kohdat}{kohdat}},% Bad translation, but "pyk\"al\"at" is no better. + paragraph = {{kappale}{kappale}}, + paragraphs = {{kappaleet}{kappaleet}}, + pagetotal = {{sivu}{s\adddot}}, + pagetotals = {{sivut}{s\adddot}}, + columntotal = {{palsta}{palsta}},% Here "sarake" is wrong! + columntotals = {{palstat}{palstat}},% Here "sarakkeet" is wrong! + linetotal = {{rivi}{rivi}}, + linetotals = {{rivit}{rivit}}, + versetotal = {{s\"ae}{s\"ae}}, + versetotals = {{s\"akeet}{s\"akeet}}, + sectiontotal = {{kohta}{kohta}},% Bad translation, but "pyk\"al\"a" is no better. + sectiontotals = {{kohdat}{kohdat}},% Bad translation, but "pyk\"al\"at" is no better. + paragraphtotal = {{kappale}{kappale}}, + paragraphtotals = {{kappaleet}{kappaleet}}, + in = {{teoksessa}{teoksessa}}, + inseries = {{sarjassa}{sarjassa}}, + ofseries = {{sarjassa}{sarjassa}}, + number = {{numero}{nro}}, + chapter = {{luku}{luku}}, + bathesis = {{tutkielma}{tutkielma}},% FIXME: unsure + mathesis = {{tutkielma}{tutkielma}},% FIXME: unsure + phdthesis = {{tohtorinv\"ait\"oskirja}{tohtorinv\"ait\"oskirja}}, + candthesis = {{kanditaatintutkielma}{kanditaatintutkielma}},% Literal translation of "Candidate thesis". + resreport = {{tutkimusraportti}{tutkimusraportti}}, + techreport = {{tekninen raportti}{tekninen raportti}},% Literal translation of "technical report". + software = {{ohjelmisto}{ohjelmisto}}, + datacd = {{data-CD}{data-CD}},% Is {{CD-ROM}{CD-ROM}} better? + audiocd = {{\"a\"ani-CD}{\"a\"ani-CD}}, + version = {{versio}{versio}}, + url = {{url}{url}}, + urlfrom = {{saatavilla osoitteesta}{saatavilla osoitteesta}},% FIXME: unsure + urlseen = {{viitattu}{viitattu}}, + inpreparation = {{valmisteilla}{valmisteilla}},% FIXME: unsure + submitted = {{l\"ahetetty}{l\"ahetetty}},% FIXME: unsure + forthcoming = {{hyv\"aksytty julkaistavaksi}{hyv\"aksytty julkaistavaksi}},% FIXME: unsure + inpress = {{painossa}{painossa}},% FIXME: unsure + prepublished = {{esijulkaistu}{esijulkaistu}},% FIXME: unsure + citedas = {{jatkossa}{jatkossa}}, + thiscite = {{sama}{sama}},% FIXME: unsure + seenote = {{katso viite}{katso viite}}, + quotedin = {{lainattu teoksessa}{lainattu teoksessa}}, + idem = {{idem}{id\adddot}},% It its not necessary to translate Latin phrases. + idemsf = {{idem}{id\adddot}}, + idemsm = {{idem}{id\adddot}}, + idemsn = {{idem}{id\adddot}}, + idempf = {{idem}{id\adddot}}, + idempm = {{idem}{id\adddot}}, + idempn = {{idem}{id\adddot}}, + idempp = {{idem}{id\adddot}}, + 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 = {{katso}{ks\adddot}}, + seealso = {{katso my\"os}{katso my\"os}}, + backrefpage = {{katso sivu}{ks\adddotspace s\adddot}}, + backrefpages = {{katso sivut}{ks\adddotspace s\adddot}}, + january = {{tammikuuta}{tammikuuta}}, + february = {{helmikuuta}{helmikuuta}}, + march = {{maaliskuuta}{maaliskuuta}}, + april = {{huhtikuuta}{huhtikuuta}}, + may = {{toukokuuta}{toukokuuta}}, + june = {{kes\"akuuta}{kes\"akuuta}}, + july = {{hein\"akuuta}{hein\"akuuta}}, + august = {{elokuuta}{elokuuta}}, + september = {{syyskuuta}{syyskuuta}}, + october = {{lokakuuta}{lokakuuta}}, + november = {{marraskuuta}{marraskuuta}}, + december = {{joulukuuta}{joulukuuta}}, + basicjanuary = {{tammikuu}{tammikuu}}, + basicfebruary = {{helmikuu}{helmikuu}}, + basicmarch = {{maaliskuu}{maaliskuu}}, + basicapril = {{huhtikuu}{huhtikuu}}, + basicmay = {{toukokuu}{toukokuu}}, + basicjune = {{kes\"akuu}{kes\"akuu}}, + basicjuly = {{hein\"akuu}{hein\"akuu}}, + basicaugust = {{elokuu}{elokuu}}, + basicseptember = {{syyskuu}{syyskuu}}, + basicoctober = {{lokakuu}{lokakuu}}, + basicnovember = {{marraskuu}{marraskuu}}, + basicdecember = {{joulukuu}{joulukuu}}, + langamerican = {{amerikanenglanti}{amerikanenglanti}}, + langbrazilian = {{brasilianportugali}{brasilianportugali}}, + langbulgarian = {{bulgaria}{bulgaria}}, + langcatalan = {{katalonia}{katalonia}}, + langcroatian = {{kroatia}{kroatia}}, + langczech = {{t\v{s}ekki}{t\v{s}ekki}}, + langdanish = {{tanska}{tanska}}, + langdutch = {{hollanti}{hollanti}}, + langenglish = {{englanti}{englanti}}, + langestonian = {{viro}{viro}}, + langfinnish = {{suomi}{suomi}}, + langfrench = {{ranska}{ranska}}, + langgalician = {{galicia}{galicia}}, + langgerman = {{saksa}{saksa}}, + langgreek = {{kreikka}{kreikka}}, + langhungarian = {{unkari}{unkari}}, + langitalian = {{italia}{italia}}, + langlatin = {{latina}{latina}}, + langlatvian = {{latvia}{latvia}}, + langnorwegian = {{norja}{norja}}, + langpolish = {{puola}{puola}}, + langportuguese = {{portugali}{portugali}}, + langrussian = {{ven\"aj\"a}{ven\"aj\"a}}, + langslovak = {{slovakia}{slovakia}}, + langslovene = {{slovenia}{slovenia}}, + langspanish = {{espanja}{espanja}}, + langswedish = {{ruotsi}{ruotsi}}, + fromamerican = {{englannin kielest\"a}{englannin kielest\"a}}, + frombrazilian = {{portugalin kielest\"a}{portugalin kielest\"a}}, + frombulgarian = {{bulgarian kielest\"a}{bulgarian kielest\"a}}, + fromcatalan = {{katalonian kielest\"a}{katalonian kielest\"a}}, + fromcroatian = {{kroatian kielest\"a}{kroatian kielest\"a}}, + fromczech = {{t\v{s}ekin kielest\"a}{t\v{s}ekin kielest\"a}}, + fromdanish = {{tanskan kielest\"a}{tanskan kielest\"a}}, + fromdutch = {{hollannin kielest\"a}{hollannin kielest\"a}}, + fromenglish = {{englannin kielest\"a}{englannin kielest\"a}}, + fromestonian = {{viron kielest\"a}{viron kielest\"a}}, + fromfinnish = {{suomen kielest\"a}{suomen kielest\"a}}, + fromfrench = {{ranskan kielest\"a}{ranskan kielest\"a}}, + fromgalician = {{galician kielest\"a}{galician kielest\"a}}, + fromgerman = {{saksan kielest\"a}{saksan kielest\"a}}, + fromgreek = {{kreikan kielest\"a}{kreikan kielest\"a}}, + fromhungarian = {{unkarin kielest\"a}{unkarin kielest\"a}}, + fromitalian = {{italian kielest\"a}{italian kielest\"a}}, + fromlatin = {{latinan kielest\"a}{latinan kielest\"a}}, + fromlatvian = {{latvian kielest\"a}{latvian kielest\"a}}, + fromnorwegian = {{norjan kielest\"a}{norjan kielest\"a}}, + frompolish = {{puolan kielest\"a}{puolan kielest\"a}}, + fromportuguese = {{portugalin kielest\"a}{portugalin kielest\"a}}, + fromrussian = {{ven\"aj\"an kielest\"a}{ven\"aj\"an kielest\"a}}, + fromslovak = {{slovakian kielest\"a}{slovakian kielest\"a}}, + fromslovene = {{slovenian kielest\"a}{slovenian kielest\"a}}, + fromspanish = {{espanjan kielest\"a}{espanjan kielest\"a}}, + fromswedish = {{ruotsin kielest\"a}{ruotsin kielest\"a}}, + countryde = {{Saksa}{DE}}, + countryeu = {{Euroopan Unioni}{EU}}, + countryep = {{Euroopan Unioni}{EP}}, + countryfr = {{Ranska}{FR}}, + countryuk = {{Iso-Britannia}{GB}}, + countryus = {{Yhdysvallat}{US}}, + patent = {{patentti}{pat\adddot}}, + patentde = {{saksalainen patentti}{saksalainen pat\adddot}}, + patenteu = {{Euroopan Unionin patentti}{Euroopan Unionin pat\adddot}}, + patentfr = {{ranskalainen patentti}{ranskalainen pat\adddot}}, + patentuk = {{isobritannialainen patentti}{isobritannialainen pat\adddot}}, + patentus = {{yhdysvaltalainen patentti}{yhdysvaltalainen pat\adddot}}, + patreq = {{patenttihakemus}{pat\adddot\ hak\adddot}}, + patreqde = {{saksalainen patenttihakemus}{saksalainen pat\adddot\ hak\adddot}}, + patreqeu = {{Euroopan Unionin patenttihakemus}{Euroopan Unionin pat\adddot\ hak\adddot}}, + patreqfr = {{ranskalainen patenttihakemus}{ranskalainen pat\adddot\ hak\adddot}}, + patrequk = {{isobritannialainen patenttihakemus}{isobritannialainen pat\adddot\ hak\adddot}}, + patrequs = {{yhdysvaltalainen patenttihakemus}{yhdysvaltalainen pat\adddot\ hak\adddot}}, + file = {{tiedosto}{tiedosto}}, + library = {{kirjasto}{kirjasto}}, + abstract = {{tiivistelm\"a}{tiivistelm\"a}}, + annotation = {{selitykset}{selitykset}},% FIXME: unsure + commonera = {{j\"alkeen ajanlaskun alun}{jaa\adddot}}, + beforecommonera = {{ennen ajanlaskun alkua}{eaa\adddot}}, + annodomini = {{j\"alkeen Kristuksen syntym\"an}{jKr\adddot}}, + beforechrist = {{ennen Kristuksen syntym\"a\"a}{eKr\adddot}}, + circa = {{noin}{n\adddot}}, + spring = {{kev\"at}{kev\"at}},% Or kev\"a\"all\"a ? + summer = {{kes\"a}{kes\"a}},% Or kes\"all\"a ? + autumn = {{syksy}{syksy}},% Or syksyll\"a ? + winter = {{talvi}{talvi}},% Or talvella ? +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{ap\adddot}{ip\adddot}}, + pm = {{ip\adddot}{ip\adddot}}, +} + +\protected\gdef\lbx@fi@mkbibmonthbasic#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{basicjanuary}% + \or\abx@bibmonth{basicfebruary}% + \or\abx@bibmonth{basicmarch}% + \or\abx@bibmonth{basicapril}% + \or\abx@bibmonth{basicmay}% + \or\abx@bibmonth{basicjune}% + \or\abx@bibmonth{basicjuly}% + \or\abx@bibmonth{basicaugust}% + \or\abx@bibmonth{basicseptember}% + \or\abx@bibmonth{basicoctober}% + \or\abx@bibmonth{basicnovember}% + \or\abx@bibmonth{basicdecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/french-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/french-ms.lbx new file mode 100644 index 00000000000..12921c7d1d0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/french-ms.lbx @@ -0,0 +1,670 @@ +\ProvidesFile{french-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{french}{french} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{-}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord{\lbx@fr@ordinal{er}}% + \protected\def\mkbibfemord{\lbx@fr@ordinal{re}}% + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \ifnumequal{\thefield{#3}}{1} + {\textsuperscript{er}} + {}% + \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}}}}% + \providecommand*{\FDP@thinspace}{\addnbthinspace}% FDP@* -> frenchb.ldf (babel) + \providecommand*{\FDP@colonspace}{\addnbspace}% + \def\abx@semicolon{% + \ifdim\lastkern>\z@\unkern\fi + \FDP@thinspace\abx@puncthook{;}}% + \def\abx@colon{% + \ifdim\lastkern>\z@\unkern\fi + \FDP@colonspace\abx@puncthook{:}}% + \def\abx@exclam{% + \ifdim\lastkern>\z@\unkern\fi + \FDP@thinspace\abx@puncthook{!}}% + \def\abx@question{% + \ifdim\lastkern>\z@\unkern\fi + \FDP@thinspace\abx@puncthook{?}}% + \savecommand\lbx@initnamehook + \savecommand\lbx@inittitlehook + \savecommand\mkbibnamefamily + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \let\lbx@initnamehook=\lbx@fr@smartof + \let\lbx@inittitlehook=\lbx@fr@smartof + \protected\def\mkbibnamefamily#1{% + \textsc{\textnohyphenation{#1}}}% + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@initnamehook + \restorecommand\lbx@inittitlehook + \restorecommand\mkbibnamefamily + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliographie}{Bibliographie}}, + references = {{R\'ef\'erences}{R\'ef\'erences}}, + shorthands = {{Liste des abr\'eviations}{Abr\'eviations}}, + editor = {{\'editeur}{\'ed\adddot}}, + editors = {{\'editeurs}{\'ed\adddot}}, + compiler = {{compilateur}{comp\adddot}}, + compilers = {{compilateurs}{comp\adddot}}, + redactor = {{r\'edacteur}{r\'ed\adddot}}, + redactors = {{r\'edacteurs}{r\'ed\adddot}}, + reviser = {{r\'eviseur}{r\'ev\adddot}}, + revisers = {{r\'eviseurs}{r\'ev\adddot}}, + founder = {{fondateur}{fond\adddot}}, + founders = {{fondateurs}{fond\adddot}}, + continuator = {{continuateur}{cont\adddot}}, + continuators = {{continuateurs}{cont\adddot}}, + collaborator = {{collaborateur}{coll\adddot}}, + collaborators = {{collaborateurs}{coll\adddot}}, + translator = {{traducteur}{trad\adddot}}, + translators = {{traducteurs}{trad\adddot}}, + commentator = {{commentateur}{comm\adddot}}, + commentators = {{commentateurs}{comm\adddot}}, + annotator = {{annotateur}{annot\adddot}}, + annotators = {{annotateurs}{annot\adddot}}, + commentary = {{commentaires}{comment\adddot}}, + annotations = {{annotations}{annot\adddot}}, + introduction = {{introduction}{introd\adddot}}, + foreword = {{pr\'eface}{pr\'ef\adddot}}, + afterword = {{postface}{postf\adddot}}, + editortr = {{\'editeur et traducteur}{\'ed\adddotspace et trad\adddot}}, + editorstr = {{\'editeurs et traducteurs}{\'ed\adddotspace et trad\adddot}}, + editorco = {{\'editeur et commentateur}% + {\'ed\adddotspace et comm\adddot}}, + editorsco = {{\'editeurs et commentateurs}% + {\'ed\adddotspace et comm\adddot}}, + editoran = {{\'editeur et annotateur}% + {\'ed\adddotspace et annot\adddot}}, + editorsan = {{\'editeurs et annotateurs}% + {\'ed\adddotspace et annot\adddot}}, + editorin = {{\'editeur et introduction}% + {\'ed\adddotspace et introd\adddot}}, + editorsin = {{\'editeurs et introduction}% + {\'ed\adddotspace et introd\adddot}}, + editorfo = {{\'editeur et pr\'eface}% + {\'ed\adddotspace et pr\'ef\adddot}}, + editorsfo = {{\'editeurs et pr\'eface}% + {\'ed\adddotspace et pr\'ef\adddot}}, + editoraf = {{\'editeur et postface}% + {\'ed\adddotspace et postf\adddot}}, + editorsaf = {{\'editeurs et postface}% + {\'ed\adddotspace et postf\adddot}}, + editortrco = {{\'editeur, traducteur et commentateur}% + {\'ed.,\addabbrvspace trad\adddotspace et comm\adddot}}, + editorstrco = {{\'editeurs, traducteurs et commentateurs}% + {\'ed.,\addabbrvspace trad\adddotspace et comm\adddot}}, + editortran = {{\'editeur, traducteur et annotateur}% + {\'ed.,\addabbrvspace trad\adddotspace et annot\adddot}}, + editorstran = {{\'editeurs, traducteurs et annotateurs}% + {\'ed.,\addabbrvspace trad\adddotspace et annot\adddot}}, + editortrin = {{\'editeur, traducteur et introduction}% + {\'ed.,\addabbrvspace trad\adddotspace et introd\adddot}}, + editorstrin = {{\'editeurs, traducteurs et introduction}% + {\'ed.,\addabbrvspace trad\adddotspace et introd\adddot}}, + editortrfo = {{\'editeur, traducteur et pr\'eface}% + {\'ed.,\addabbrvspace trad\adddotspace et pr\'ef\adddot}}, + editorstrfo = {{\'editeurs, traducteurs et pr\'eface}% + {\'ed.,\addabbrvspace trad\adddotspace et pr\'ef\adddot}}, + editortraf = {{\'editeur, traducteur et postface}% + {\'ed.,\addabbrvspace trad\adddotspace et postf\adddot}}, + 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\'eface}% + {\'ed.,\addabbrvspace comm\adddotspace et pr\'ef\adddot}}, + editorscofo = {{\'editeurs, commentateurs et pr\'eface}% + {\'ed.,\addabbrvspace comm\adddotspace et pr\'ef\adddot}}, + editorcoaf = {{\'editeur, commentateur et postface}% + {\'ed.,\addabbrvspace comm\adddotspace et postf\adddot}}, + 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\'eface}% + {\'ed.,\addabbrvspace annot\adddotspace et pr\'ef\adddot}}, + editorsanfo = {{\'editeurs, annotateurs et pr\'eface}% + {\'ed.,\addabbrvspace annot\adddotspace et pr\'ef\adddot}}, + editoranaf = {{\'editeur, annotateur et postface}% + {\'ed.,\addabbrvspace annot\adddotspace et postf\adddot}}, + 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\'eface}% + {\'ed.,\addabbrvspace trad., comm\adddotspace et pr\'ef\adddot}}, + editorstrcofo = {{\'editeurs, traducteurs, commentateurs et pr\'eface}% + {\'ed.,\addabbrvspace trad., comm\adddotspace et pr\'ef\adddot}}, + editortrcoaf = {{\'editeur, traducteur, commentateur et postface}% + {\'ed.,\addabbrvspace trad., comm\adddotspace et postf\adddot}}, + 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\'eface}% + {\'ed.,\addabbrvspace trad., annot\adddotspace et pr\'ef\adddot}}, + editorstranfo = {{\'editeurs, traducteurs, annotateurs et pr\'eface}% + {\'ed.,\addabbrvspace trad., annot\adddotspace et pr\'ef\adddot}}, + editortranaf = {{\'editeur, traducteur, annotateur et postface}% + {\'ed.,\addabbrvspace trad., annot\adddotspace et postf\adddot}}, + editorstranaf = {{\'editeurs, traducteurs, annotateurs et postface}% + {\'ed.,\addabbrvspace trad., annot\adddotspace et postf\adddot}}, + translatorco = {{traducteur et commentateur}% + {trad\adddotspace et comm\adddot}}, + translatorsco = {{traducteurs et commentateurs}% + {trad\adddotspace et comm\adddot}}, + translatoran = {{traducteur et annotateur}% + {trad\adddotspace et annot\adddot}}, + translatorsan = {{traducteurs et annotateurs}% + {trad\adddotspace et annot\adddot}}, + translatorin = {{traduction et introduction}% + {trad\adddotspace et introd\adddot}}, + translatorsin = {{traduction et introduction}% + {trad\adddotspace et introd\adddot}}, + translatorfo = {{traduction et pr\'eface}% + {trad\adddotspace et pr\'ef\adddot}}, + translatorsfo = {{traduction et pr\'eface}% + {trad\adddotspace et pr\'ef\adddot}}, + translatoraf = {{traduction et postface}% + {trad\adddotspace et postf\adddot}}, + translatorsaf = {{traduction et postface}% + {trad\adddotspace et postf\adddot}}, + translatorcoin = {{traduction, commentaire et introduction}% + {trad., comm\adddotspace et introd\adddot}}, + translatorscoin = {{traduction, commentaire et introduction}% + {trad., comm\adddotspace et introd\adddot}}, + translatorcofo = {{traduction, commentaire et pr\'eface}% + {trad., comm\adddotspace et pr\'ef\adddot}}, + translatorscofo = {{traduction, commentaire et pr\'eface}% + {trad., comm\adddotspace et pr\'ef\adddot}}, + translatorcoaf = {{traduction, commentaire et postface}% + {trad., comm\adddotspace et postf\adddot}}, + translatorscoaf = {{traduction, commentaire et postface}% + {trad., comm\adddotspace et postf\adddot}}, + translatoranin = {{traduction, annotations et introduction}% + {trad., annot\adddotspace et introd\adddot}}, + translatorsanin = {{traduction, annotations et introduction}% + {trad., annot\adddotspace et introd\adddot}}, + translatoranfo = {{traduction, annotations et pr\'eface}% + {trad., annot\adddotspace et pr\'ef\adddot}}, + translatorsanfo = {{traduction, annotations et pr\'eface}% + {trad., annot\adddotspace et pr\'ef\adddot}}, + translatoranaf = {{traduction, annotations et postface}% + {trad., annot\adddotspace et postf\adddot}}, + translatorsanaf = {{traduction, annotations et postface}% + {trad., annot\adddotspace et postf\adddot}}, + organizer = {{organisateur}{org\adddot}},% + organizers = {{organisateurs}{org\adddot}},% + byorganizer = {{organis\'e par}{org\adddotspace par}},% + byauthor = {{par}{par}}, + byeditor = {{sous la direction\smartof}{sous la dir\adddot\smartof}}, + bycompiler = {{compil\'e par}{comp\adddotspace par}}, + byredactor = {{r\'edig\'e par}{r\'ed\adddotspace par}}, + byreviser = {{r\'evis\'e par}{r\'ev\adddotspace par}}, + byreviewer = {{examin\'e par}{ex\adddotspace par}}, + byfounder = {{d\'ecouvert par}{d\'ecouv\adddotspace par}}, + bycontinuator = {{continu\'e par}{cont\adddotspace par}}, + bycollaborator = {{avec la collaboration\smartof}{avec la + coll\adddot\smartof}}, + bytranslator = {{traduit \lbx@lfromlang\ par}{trad\adddotspace \lbx@sfromlang\ par}}, + bycommentator = {{comment\'e par}{comm\adddotspace par}}, + byannotator = {{annot\'e par}{annot\adddotspace par}}, + withcommentator = {{avec des commentaires\smartof}{avec des comment\adddot\smartof}}, + withannotator = {{avec des annotations\smartof}{avec des annot\adddot\smartof}}, + withintroduction = {{avec une introduction\smartof}{avec une introd\adddot\smartof}}, + withforeword = {{avec une pr\'eface\smartof}{avec une pr\'ef\adddot\smartof}}, + withafterword = {{avec une postface\smartof}{avec une postf\adddot\smartof}}, + byeditortr = {{\'edition \'etablie et traduite \lbx@lfromlang\ par}% + {\'ed\adddotspace \'etablie et trad\adddotspace \lbx@sfromlang\ par}}, + byeditorco = {{\'edition \'etablie et comment\'ee par}% + {\'ed\adddotspace \'etablie et comm\adddotspace par}}, + byeditoran = {{\'edition \'etablie et annot\'ee par}% + {\'ed\adddotspace \'etablie et annot\adddotspace par}}, + byeditorin = {{\'edition \'etablie et introduite par}% + {\'ed\adddotspace \'etablie et introd\adddotspace par}}, + byeditorfo = {{\'edition \'etablie et pr\'efac\'ee par}% + {\'ed\adddotspace \'etablie et pr\'ef\adddotspace par}}, + byeditoraf = {{\'edition \'etablie et postfac\'ee par}% + {\'ed\adddotspace \'etablie et postf\adddotspace par}}, + byeditortrco = {{\'edition \'etablie, traduite \lbx@lfromlang\ et comment\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang\ et comm\adddotspace par}}, + byeditortran = {{\'edition \'etablie, traduite \lbx@lfromlang\ et annot\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang\ et annot\adddotspace par}}, + byeditortrin = {{\'edition \'etablie, traduite \lbx@lfromlang\ et introduite par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang\ et introd\adddotspace par}}, + byeditortrfo = {{\'edition \'etablie, traduite \lbx@lfromlang\ et pr\'efac\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang\ et pr\'ef\adddotspace par}}, + byeditortraf = {{\'edition \'etablie, traduite \lbx@lfromlang\ et postfac\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang\ et postf\adddotspace par}}, + byeditorcoin = {{\'edition \'etablie, comment\'ee et introduite par}% + {\'ed\adddotspace \'etablie, comm\adddotspace et introd\adddotspace par}}, + byeditorcofo = {{\'edition \'etablie, comment\'ee et pr\'efac\'ee par}% + {\'ed\adddotspace \'etablie, comm\adddotspace et pr\'ef\adddotspace par}}, + byeditorcoaf = {{\'edition \'etablie, comment\'ee et postfac\'ee par}% + {\'ed\adddotspace \'etablie, comm\adddotspace et postf\adddotspace par}}, + byeditoranin = {{\'edition \'etablie, annot\'ee et introduite par}% + {\'ed\adddotspace \'etablie, annot\adddotspace et introd\adddotspace par}}, + byeditoranfo = {{\'edition \'etablie, annot\'ee et pr\'efac\'ee par}% + {\'ed\adddotspace \'etablie, annot\adddotspace et pr\'ef\adddotspace par}}, + byeditoranaf = {{\'edition \'etablie, annot\'ee et postfac\'ee par}% + {\'ed\adddotspace \'etablie, annot\adddotspace et postf\adddotspace par}}, + byeditortrcoin = {{\'edition \'etablie, traduite \lbx@lfromlang, comment\'ee et introduite par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang, comm\adddotspace et introd\adddotspace par}}, + byeditortrcofo = {{\'edition \'etablie, traduite \lbx@lfromlang, comment\'ee et pr\'efac\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang, comm\adddotspace et pr\'ef\adddotspace par}}, + byeditortrcoaf = {{\'edition \'etablie, traduite \lbx@lfromlang, comment\'ee et postfac\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang, comm\adddotspace et postf\adddotspace par}}, + byeditortranin = {{\'edition \'etablie, traduite \lbx@lfromlang, annot\'ee et introduite par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang, annot\adddotspace et introd\adddotspace par}}, + byeditortranfo = {{\'edition \'etablie, traduite \lbx@lfromlang, annot\'ee et pr\'efac\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang, annot\adddotspace et pr\'ef\adddotspace par}}, + byeditortranaf = {{\'edition \'etablie, traduite \lbx@lfromlang, annot\'ee et postfac\'ee par}% + {\'ed\adddotspace \'etablie, trad\adddotspace \lbx@sfromlang, annot\adddotspace et postf\adddotspace par}}, + bytranslatorco = {{traduit \lbx@lfromlang\ et comment\'e par}% + {trad\adddotspace \lbx@sfromlang\ et comm\adddotspace par}}, + bytranslatoran = {{traduit \lbx@lfromlang\ et annot\'e par}% + {trad\adddotspace \lbx@sfromlang\ et annot\adddotspace par}}, + bytranslatorin = {{traduit \lbx@lfromlang\ et introduit par}% + {trad\adddotspace \lbx@sfromlang\ et introd\adddotspace par}}, + bytranslatorfo = {{traduit \lbx@lfromlang\ et pr\'efac\'e par}% + {trad\adddotspace \lbx@sfromlang\ et pr\'ef\adddotspace par}}, + bytranslatoraf = {{traduit \lbx@lfromlang\ et postfac\'e par}% + {trad\adddotspace \lbx@sfromlang\ et postf\adddotspace par}}, + bytranslatorcoin = {{traduit \lbx@lfromlang, comment\'e et introduit par}% + {trad\adddotspace \lbx@sfromlang, comm\adddotspace et introd\adddotspace par}}, + bytranslatorcofo = {{traduit \lbx@lfromlang, comment\'e et pr\'efac\'e par}% + {trad\adddotspace \lbx@sfromlang, comm\adddotspace et pr\'ef\adddotspace par}}, + bytranslatorcoaf = {{traduit \lbx@lfromlang, comment\'e et postfac\'e par}% + {trad\adddotspace \lbx@sfromlang, comm\adddotspace et postf\adddotspace par}}, + bytranslatoranin = {{traduit \lbx@lfromlang, annot\'e et introduit par}% + {trad\adddotspace \lbx@sfromlang, annot\adddotspace et introd\adddotspace par}}, + bytranslatoranfo = {{traduit \lbx@lfromlang, annot\'e et pr\'efac\'e par}% + {trad\adddotspace \lbx@sfromlang, annot\adddotspace et pr\'ef\adddotspace par}}, + bytranslatoranaf = {{traduit \lbx@lfromlang, annot\'e et postfac\'e par}% + {trad\adddotspace \lbx@sfromlang, annot\adddotspace et postf\adddotspace par}}, + and = {{et}{et}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{tome}{t\adddot}}, + volumes = {{tomes}{t\adddot}}, + involumes = {{en}{en}}, + jourvol = {{tome}{t\adddot}}, + jourser = {{s\'erie}{s\'er\adddot}}, + book = {{livre}{livre}}, + part = {{partie}{partie}}, + issue = {{\'edition}{\'ed\adddot}}, + newseries = {{nouvelle s\'erie}{nouv\adddotspace s\'er\adddot}}, + oldseries = {{ancienne s\'erie}{anc\adddotspace s\'er\adddot}}, + edition = {{\'edition}{\'ed\adddot}}, + reprint = {{r\'eimpression}{r\'eimpr\adddot}}, + reprintof = {{r\'eimpression de}{r\'eimpr\adddotspace de}}, + reprintas = {{r\'eimpression sous le titre}{r\'eimpr\adddotspace sous le titre}}, + reprintfrom = {{r\'eimpression \`a partir\smartof}{r\'eimpr\adddotspace \`a part\adddot\smartof}}, + translationof = {{traduction de}{trad\adddotspace de}}, + translationas = {{traduit sous le titre}{trad\adddotspace sous le titre}}, + translationfrom = {{traduit de}{trad\adddotspace de}}, + reviewof = {{critique de}{crit.\adddotspace de}}, + origpubas = {{publi\'e \`a l'origine sous le titre}{pub\adddotspace \`a l'orig\adddotspace sous le titre}}, + 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 = {{sans\space date}{{}s\adddotspace d\adddot}}, + page = {{page}{p\adddot}}, + pages = {{pages}{p\adddot}}, + column = {{colonne}{col\adddot}}, + columns = {{colonnes}{col\adddot}}, + line = {{ligne}{l\adddot}}, + lines = {{lignes}{l\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{vers}{v\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}}, + columntotals = {{colonnes}{col\adddot}}, + linetotal = {{ligne}{l\adddot}}, + linetotals = {{lignes}{l\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{vers}{v\adddot}}, + sectiontotal = {{section}{sect\adddot}}, + sectiontotals = {{sections}{sect\adddot}}, + paragraphtotal = {{paragraphe}{\S}}, + paragraphtotals = {{paragraphes}{\S}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{de}{de}}, + number = {{num\'ero}{n\textsuperscript{o}}}, + chapter = {{chapitre}{chap\adddot}}, + bathesis = {{m\'emoire de bachelor}{m\'em\adddotspace de bach\adddot}}, + mathesis = {{m\'emoire de master}{m\'em\adddotspace de mast\adddot}}, + phdthesis = {{th\`ese de doctorat}{th\`ese de doct\adddot}}, + candthesis = {{th\`ese de candidature}{th\`ese de cand\adddot}}, + resreport = {{rapport scientifique}{rapp\adddotspace scient\adddot}}, + techreport = {{rapport technique}{rapp\adddotspace tech\adddot}}, + software = {{logiciel}{logiciel}}, + datacd = {{c\'ed\'erom}{c\'ed\'erom}}, + audiocd = {{disque compact audio}{CD}}, + version = {{version}{version}}, + url = {{adresse}{adresse}}, + urlfrom = {{disponible \`a l'adresse}{disp\adddotspace \`a l'adr\adddot}}, + urlseen = {{visit\'e le}{visit\'e le}}, + inpreparation = {{en pr\'eparation}{en pr\'ep\adddot}}, + submitted = {{soumis}{soumis}}, + forthcoming = {{\`a para\^{\i}tre}{\`a para\adddot}}, + inpress = {{sous presse}{sous presse}}, + prepublished = {{pr\'epubli\'e}{pr\'epubl\adddot}}, + citedas = {{d\'esign\'e ci-apr\`es par}{ci-apr\`es}}, + thiscite = {{sp\'ecialement}{sp\'ec\adddot}}, + seenote = {{voir note}{cf\adddotspace note}}, + quotedin = {{cit\'e dans}{cit\'e dans}}, + 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 = {{cf\adddot}{cf\adddot}}, + seealso = {{cf\adddotspace aussi}{cf\adddotspace aussi}}, + backrefpage = {{cf\adddotspace page}{cf\adddotspace p\adddot}}, + backrefpages = {{cf\adddotspace pages}{cf\adddotspace p\adddot}}, + january = {{janvier}{jan\adddot}}, + february = {{f\'evrier}{f\'ev\adddot}}, + march = {{mars}{mars}}, + april = {{avril}{avr\adddot}}, + may = {{mai}{mai}}, + june = {{juin}{juin}}, + july = {{juillet}{juill\adddot}}, + august = {{ao\^ut}{ao\^ut}}, + september = {{septembre}{sept\adddot}}, + october = {{octobre}{oct\adddot}}, + november = {{novembre}{nov\adddot}}, + december = {{d\'ecembre}{d\'ec\adddot}}, + langamerican = {{am\'ericain}{am\'ericain}}, + langbrazilian = {{br\'esilien}{br\'esilien}}, + langbulgarian = {{bulgare}{bulgare}}, + langcatalan = {{catalan}{catalan}}, + langcroatian = {{croate}{croate}}, + langczech = {{tch\`eque}{tch\`eque}}, + langdanish = {{danois}{danois}}, + langdutch = {{n\'eerlandais}{n\'eerlandais}}, + langenglish = {{anglais}{anglais}}, + langestonian = {{estonien}{estonien}}, + langfinnish = {{finnois}{finnois}}, + langfrench = {{fran\c{c}ais}{fran\c{c}ais}}, + langgalician = {{galicien}{galicien}}, + langgerman = {{allemand}{allemand}}, + langgreek = {{grec}{grec}}, + langhungarian = {{hongrois}{hongrois}}, + langitalian = {{italien}{italien}}, + langjapanese = {{japonais}{japonais}}, + langlatin = {{latin}{latin}}, + langlatvian = {{letton}{letton}}, + langnorwegian = {{norv\'egien}{norv\'egien}}, + langpolish = {{polonais}{polonais}}, + langportuguese = {{portugais}{portugais}}, + langrussian = {{russe}{russe}}, + langserbian = {{serbe}{serbe}}, + langslovak = {{slovaque}{slovaque}}, + langslovene = {{slov\`ene}{slov\`ene}}, + langspanish = {{espagnol}{espagnol}}, + langswedish = {{su\'edois}{su\'edois}}, + langukrainian = {{ukrainien}{ukrainien}}, + fromamerican = {{de l'am\'ericain}{de l'am\'ericain}}, + frombrazilian = {{du br\'esilien}{du br\'esilien}}, + frombulgarian = {{du bulgare}{du bulgare}}, + fromcatalan = {{du catalan}{du catalan}}, + fromcroatian = {{du croate}{du croate}}, + fromczech = {{du tch\`eque}{du tch\`eque}}, + fromdanish = {{du danois}{du danois}}, + fromdutch = {{du n\'eerlandais}{du n\'eerlandais}}, + fromenglish = {{de l'anglais}{de l'anglais}}, + fromestonian = {{de l'estonien}{de l'estonien}}, + fromfinnish = {{du finnois}{du finnois}}, + fromfrench = {{du fran\c{c}ais}{du fran\c{c}ais}}, + fromgalician = {{du galicien}{du galicien}}, + fromgerman = {{de l'allemand}{de l'allemand}}, + fromgreek = {{du grec}{du grec}}, + fromhungarian = {{du hongrois}{du hongrois}}, + fromitalian = {{de l'italien}{de l'italien}}, + fromjapanese = {{du japonais}{du japonais}}, + fromlatin = {{du latin}{du latin}}, + fromlatvian = {{du letton}{du letton}}, + fromnorwegian = {{du norv\'egien}{du norv\'egien}}, + 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}}, + fromswedish = {{du su\'edois}{du su\'edois}}, + fromukrainian = {{de l'ukrainien}{de l'ukrainien}}, + countryde = {{Allemagne}{DE}}, + countryeu = {{Union europ\'eenne}{EU}}, + countryep = {{Union europ\'eenne}{EP}}, + countryfr = {{France}{FR}}, + countryuk = {{Royaume-Uni}{GB}}, + countryus = {{\'Etats-Unis}{US}}, + patent = {{brevet}{brev\adddot}}, + patentde = {{brevet allemand}{brev\adddotspace allem\adddot}}, + patenteu = {{brevet europ\'een}{brev\adddotspace europ\adddot}}, + patentfr = {{brevet fran\c{c}ais}{brev\adddotspace fran\c{c}\adddot}}, + patentuk = {{brevet britannique}{brev\adddotspace brit\adddot}}, + patentus = {{brevet am\'ericain}{brev\adddotspace am\'er\adddot}}, + patreq = {{demande de brevet}{demande de brev\adddot}}, + patreqde = {{demande de brevet allemand}{demande de brev\adddotspace allem\adddot}}, + patreqeu = {{demande de brevet europ\'een}{demande de brev\adddotspace europ\adddot}}, + patreqfr = {{demande de brevet fran\c{c}ais}{demande de brev\adddotspace fran\c{c}\adddot}}, + patrequk = {{demande de brevet britannique}{demande de brev\adddotspace brit\adddot}}, + patrequs = {{demande de brevet am\'ericain}{demande de brev\adddotspace am\'er\adddot}}, + file = {{fichier}{fichier}}, + library = {{biblioth\`eque}{biblioth\adddot}}, + abstract = {{r\'esum\'e}{r\'es\adddot}}, + annotation = {{annotations}{annotations}}, + commonera = {{de l'\`ere commune}{EC}}, + beforecommonera = {{avant l'\`ere commune}{AEC}}, + annodomini = {{apr\`es J\'esus-Christ}{apr\adddotspace J\adddot-C\adddot}}, + beforechrist = {{avant J\'esus-Christ}{av\adddotspace J\adddot-C\adddot}}, + circa = {{vers}{vers}}, + spring = {{printemps}{printemps}}, + summer = {{\'et\'e}{\'et\'e}}, + autumn = {{automne}{automne}}, + winter = {{hiver}{hiver}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\gdef\lbx@fr@ordinal#1#2{% + \begingroup + \@tempcnta0#2\relax\number\@tempcnta + \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100}% + \ifnum\@tempcnta>20 + \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10}% + \fi + \ifnum\@tempcnta=\@ne + \textsuperscript{#1}% + \else + \textsuperscript{e}% + \fi + \endgroup} + +\begingroup +\catcode`\&=3 + +\gdef\lbx@fr@smartof{% + \iftoggle{smartof}{\lbx@fr@smartof@i}{\@gobble}} + +\protected\long\gdef\lbx@fr@smartof@i#1{% + \global\togglefalse{smartof}% + \begingroup + \def\forceD##1{a\relax}% + \def\forceDE##1{x\relax}% + \def\do##1{\let##1\@firstofone}% + \abx@dosingleaccents + \abx@dodoubleaccents + \def\i{i}\def\j{j}% + \def\AE{a}\def\ae{a}% + \def\OE{o}\def\oe{o}% + \def\O{o}\def\o{o}% + \let\IeC\@firstofone + \let\@tabacckludge\@gobble + \ifnum\catcode`\"=\active + \uccode`\~=`\" + \uppercase{\let~\@empty}% + \fi + \ifnum\catcode`\~=\active + \let~\@empty + \fi + \let\protect\noexpand + \edef\lbx@tempa{#1}% + \expandafter\futurelet + \expandafter\lbx@tempa + \expandafter\lbx@fr@smartof@ii + \lbx@tempa&} + +\gdef\lbx@fr@smartof@ii{% + \ifcat\bgroup\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii##1}% + \else\ifcat\noexpand~\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii}% + \else + \ifnum 0% + \if a\noexpand\lbx@tempa 1\fi + \if e\noexpand\lbx@tempa 1\fi + \if i\noexpand\lbx@tempa 1\fi + \if o\noexpand\lbx@tempa 1\fi + \if u\noexpand\lbx@tempa 1\fi + \if y\noexpand\lbx@tempa 1\fi + \if A\noexpand\lbx@tempa 1\fi + \if E\noexpand\lbx@tempa 1\fi + \if I\noexpand\lbx@tempa 1\fi + \if O\noexpand\lbx@tempa 1\fi + \if U\noexpand\lbx@tempa 1\fi + \if Y\noexpand\lbx@tempa 1\fi + >0 % + \let\lbx@tempa\lbx@fr@smartof@d + \else + \ifnum 0% + \if h\noexpand\lbx@tempa 1\fi + \if H\noexpand\lbx@tempa 1\fi + >0 % + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii}% + \else + \let\lbx@tempa\lbx@fr@smartof@de + \fi\fi\fi\fi + \lbx@tempa} + +\gdef\lbx@fr@smartof@d#1&{\endgroup d'} +\gdef\lbx@fr@smartof@de#1&{\endgroup de\space} + +\endgroup + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/galician-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/galician-ms.lbx new file mode 100644 index 00000000000..e007726b601 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/galician-ms.lbx @@ -0,0 +1,555 @@ +\ProvidesFile{galician-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{galician}{galician} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord#1{% + \stripzeros{#1}\textordmasculine}% \textordmasculine -> textcomp.sty + \protected\def\mkbibfemord#1{% + \stripzeros{#1}\textordfeminine}% \textordfeminine -> textcomp.sty + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace de\space}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\nobreakspace de\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}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliograf\'ia}{Bibliograf\'ia}}, + references = {{Referencias}{Referencias}}, + shorthands = {{Lista de abreviaturas}{Abreviaturas}}, + editor = {{editor}{ed\adddot}}, + editors = {{editores}{eds\adddot}}, + compiler = {{compilador}{comp\adddot}}, + compilers = {{compiladores}{comp\adddot}}, + redactor = {{redactor}{red\adddot}}, + redactors = {{redactores}{red\adddot}}, + reviser = {{revisor}{rev\adddot}}, + revisers = {{revisores}{revs\adddot}}, + founder = {{fundador}{fund\adddot}}, + founders = {{fundadores}{fund\adddot}}, + continuator = {{continuador}{cont\adddot}}, + continuators = {{continuadores}{cont\adddot}}, + collaborator = {{colaborador}{col\adddot}}, + collaborators = {{colaboradores}{cols\adddot}}, + translator = {{tradutor}{trad\adddot}}, + translators = {{tradutores}{trads\adddot}}, + commentator = {{comentador}{coment\adddot}}, + commentators = {{comentadores}{coments\adddot}}, + annotator = {{anotador}{anot\adddot}}, + annotators = {{anotadores}{anots\adddot}}, + commentary = {{comentario}{coment\adddot}}, + annotations = {{notas}{notas}}, + introduction = {{introduci\'on}{introd\adddot}}, + foreword = {{prefacio}{pref\adddot}}, + afterword = {{posfacio}{posf\adddot}}, + editortr = {{editor e tradutor}% + {ed\adddotspace e trad\adddot}}, + editorstr = {{editores e tradutores}% + {eds\adddotspace e trads\adddot}}, + editorco = {{editor e comentador}% + {ed\adddotspace e coment\adddot}}, + editorsco = {{editores e comentadores}% + {eds\adddotspace e coments\adddot}}, + editoran = {{editor e anotador}% + {ed\adddotspace e anot\adddot}}, + editorsan = {{editores e anotadores}% + {eds\adddotspace e anots\adddot}}, + editorin = {{editor e introduci\'on}% + {ed\adddotspace e introd\adddot}}, + editorsin = {{editores e introduci\'on}% + {eds\adddotspace e introd\adddot}}, + editorfo = {{editor e prefacio}% + {ed\adddotspace e pref\adddot}}, + editorsfo = {{editores e prefacio}% + {eds\adddotspace e pref\adddot}}, + editoraf = {{editor e posfacio}% + {ed\adddotspace e posf\adddot}}, + editorsaf = {{editores e posfacio}% + {eds\adddotspace e posf\adddot}}, + editortrco = {{editor, tradutor e comentador}% + {ed., trad\adddot\ e coment\adddot}}, + editorstrco = {{editores, tradutores e comentadores}% + {eds., trads\adddot\ e coments\adddot}}, + editortran = {{editor, tradutor e anotador}% + {ed., trad\adddot\ e anot\adddot}}, + editorstran = {{editores, tradutores e anotadores}% + {eds., trads\adddot\ e anots\adddot}}, + editortrin = {{editor, tradutor e introduci\'on}% + {ed., trad\adddot\ e introd\adddot}}, + editorstrin = {{editores, tradutores e introduci\'on}% + {eds., trads\adddot\ e introd\adddot}}, + editortrfo = {{editor, tradutor e prefacio}% + {ed., trad\adddot\ e pref\adddot}}, + editorstrfo = {{editores, tradutores e prefacio}% + {eds., trads\adddot\ e pref\adddot}}, + editortraf = {{editor, tradutor e posfacio}% + {ed., trad\adddot\ e posf\adddot}}, + editorstraf = {{editores, tradutores e posfacio}% + {eds., trads\adddot\ e posf\adddot}}, + editorcoin = {{editor, comentador e introduci\'on}% + {ed., coment\adddot\ e introd\adddot}}, + editorscoin = {{editores, comentadores e introduci\'on}% + {eds., coments\adddot\ e introd\adddot}}, + editorcofo = {{editor, comentador e prefacio}% + {ed., coment\adddot\ e pref\adddot}}, + editorscofo = {{editores, comentadores e prefacio}% + {eds., coments\adddot\ e pref\adddot}}, + editorcoaf = {{editor, comentador e posfacio}% + {ed., coment\adddot\ e posf\adddot}}, + editorscoaf = {{editores, comentadores e posfacio}% + {eds., coments\adddot\ e posf\adddot}}, + editoranin = {{editor, anotador e introduci\'on}% + {ed., anot\adddot\ e introd\adddot}}, + editorsanin = {{editores, anotadores e introduci\'on}% + {eds., anots\adddot\ e introd\adddot}}, + editoranfo = {{editor, anotador e prefacio}% + {ed., anot\adddot\ e pref\adddot}}, + editorsanfo = {{editores, anotadores e prefacio}% + {eds., anots\adddot\ e pref\adddot}}, + editoranaf = {{editor, anotador e posfacio}% + {ed., anot\adddot\ e posf\adddot}}, + editorsanaf = {{editores, anotadores e posfacio}% + {eds., anots\adddot\ e posf\adddot}}, + editortrcoin = {{editor, tradutor, comentador e introduci\'on}% + {ed., trad., coment\adddot\ e introd\adddot}}, + editorstrcoin = {{editores, tradutores, comentadores e introduci\'on}% + {eds., trads., coments\adddot\ e introd\adddot}}, + editortrcofo = {{editor, tradutor, comentador e prefacio}% + {ed., trad., coment\adddot\ e pref\adddot}}, + editorstrcofo = {{editores, tradutores, comentadores e prefacio}% + {eds., trads., coments\adddot\ e pref\adddot}}, + editortrcoaf = {{editor, tradutor, comentador e posfacio}% + {ed., trad., coment\adddot\ e posf\adddot}}, + editorstrcoaf = {{editores, tradutores, comentadores e posfacio}% + {eds., trads., coments\adddot\ e posf\adddot}}, + editortranin = {{editor, tradutor, anotador e introduci\'on}% + {ed., trad., anot\adddot\ e introd\adddot}}, + editorstranin = {{editores, tradutores, anotadores e introduci\'on}% + {eds., trads., anots\adddot\ e introd\adddot}}, + editortranfo = {{editor, tradutor, anotador e prefacio}% + {ed., trad., anot\adddot\ e pref\adddot}}, + editorstranfo = {{editores, tradutores, anotadores e prefacio}% + {eds., trads., anots\adddot\ e pref\adddot}}, + editortranaf = {{editor, tradutor, anotador e posfacio}% + {ed., trad., anot\adddot\ e posf\adddot}}, + editorstranaf = {{editores, tradutores, anotadores e posfacio}% + {eds., trads., anots\adddot\ e posf\adddot}}, + translatorco = {{tradutor e comentador}% + {trad\adddot\ e coment\adddot}}, + translatorsco = {{tradutores e comentadores}% + {trads\adddot\ e coments\adddot}}, + translatoran = {{tradutor e anotador}% + {trad\adddot\ e anot\adddot}}, + translatorsan = {{tradutores e anotadores}% + {trads\adddot\ e anots\adddot}}, + translatorin = {{traduci\'on e introduci\'on}% + {trad\adddot\ e introd\adddot}}, + translatorsin = {{traduci\'on e introduci\'on}% + {trad\adddot\ e introd\adddot}}, + translatorfo = {{traduci\'on e prefacio}% + {trad\adddot\ e pref\adddot}}, + translatorsfo = {{traduci\'on e prefacio}% + {trad\adddot\ e pref\adddot}}, + translatoraf = {{traduci\'on e posfacio}% + {trad\adddot\ e posf\adddot}}, + translatorsaf = {{traduci\'on e posfacio}% + {trad\adddot\ e posf\adddot}}, + translatorcoin = {{traduci\'on, comentario e introduci\'on}% + {trad., coment\adddot\ e introd\adddot}}, + translatorscoin = {{traduci\'on, comentario e introduci\'on}% + {trad., coment\adddot\ e introd\adddot}}, + translatorcofo = {{traduci\'on, comentario e prefacio}% + {trad., coment\adddot\ e pref\adddot}}, + translatorscofo = {{traduci\'on, comentario e prefacio}% + {trad., coment\adddot\ e pref\adddot}}, + translatorcoaf = {{traduci\'on, comentario e posfacio}% + {trad., coment\adddot\ e posf\adddot}}, + translatorscoaf = {{traduci\'on, comentario e posfacio}% + {trad., coment\adddot\ e posf\adddot}}, + translatoranin = {{traduci\'on, notas e introduci\'on}% + {trad., notas e introd\adddot}}, + translatorsanin = {{traduci\'on, notas e introduci\'on}% + {trad., notas e introd\adddot}}, + translatoranfo = {{traduci\'on, notas e prefacio}% + {trad., notas e pref\adddot}}, + translatorsanfo = {{traduci\'on, notas e prefacio}% + {trad., notas e pref\adddot}}, + translatoranaf = {{traduci\'on, notas e posfacio}% + {trad., notas e posf\adddot}}, + translatorsanaf = {{traduci\'on, notas e posfacio}% + {trad., notas e posf\adddot}}, +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{por}{por}}, + byeditor = {{editado por}{ed\adddotspace por}}, + bycompiler = {{compilado por}{comp\adddotspace por}}, + byredactor = {{redactado por}{red\adddotspace por}}, + byreviser = {{revisto por}{rev\adddotspace por}}, + byreviewer = {{avaliado por}{aval\adddotspace por}}, + byfounder = {{fundado por}{fund\adddotspace por}}, + bycontinuator = {{continuado por}{cont\adddotspace por}}, + bycollaborator = {{en colaboraci\'on con}{en col\adddotspace con}}, + bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot\ \lbx@sfromlang\ por}}, + bycommentator = {{comentado por}{com\adddot\ por}}, + byannotator = {{notas de}{notas de}}, + withcommentator = {{con comentarios de}{con coment\adddot\ de}}, + withannotator = {{con notas de}{con notas de}}, + withintroduction = {{con introduci\'on de}{con introd\adddot\ de}}, + withforeword = {{con prefacio de}{con pref\adddot\ de}}, + withafterword = {{con posfacio de}{con posf\adddot\ de}}, + byeditortr = {{editado e traducido \lbx@lfromlang\ por}% + {ed\adddotspace e trad\adddot\ \lbx@sfromlang\ por}}, + byeditorco = {{editado e comentado por}% + {ed\adddotspace e com\adddot\ por}}, + byeditoran = {{editado e anotado por}% + {ed\adddotspace e anot\adddot\ por}}, + byeditorin = {{editado e introducido por}% + {ed\adddotspace e introd\adddot\ por}}, + byeditorfo = {{editado e prefaciado por}% + {ed\adddotspace e pref\adddot\ por}}, + byeditoraf = {{editado e posfaciado por}% + {ed\adddotspace e posf\adddot\ por}}, + byeditortrco = {{editado, traducido \lbx@lfromlang\ e comentado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e com\adddot\ por}}, + byeditortran = {{editado, traducido \lbx@lfromlang\ e anotado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}}, + byeditortrin = {{editado, traducido \lbx@lfromlang\ e introducido por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e introd\adddot\ por}}, + byeditortrfo = {{editado, traducido \lbx@lfromlang\ e prefaciado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e pref\adddot\ por}}, + byeditortraf = {{editado, traducido \lbx@lfromlang\ e posfaciado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e posf\adddot\ por}}, + byeditorcoin = {{editado, comentado e introducido por}% + {ed.,\addabbrvspace com\adddot\ e introd\adddot\ por}}, + byeditorcofo = {{editado, comentado e prefaciado por}% + {ed.,\addabbrvspace com\adddot\ e pref\adddot\ por}}, + byeditorcoaf = {{editado, comentado e posfaciado por}% + {ed.,\addabbrvspace com\adddot\ e posf\adddot\ por}}, + byeditoranin = {{editado, anotado e introducido por}% + {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}}, + byeditoranfo = {{editado, anotado e prefaciado por}% + {ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}}, + byeditoranaf = {{editado, anotado e posfaciado por}% + {ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}}, + byeditortrcoin = {{editado, traducido \lbx@lfromlang, comentado e introducido por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ e introd\adddot\ por}}, + byeditortrcofo = {{editado, traducido \lbx@lfromlang, comentado e prefaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ e pref\adddot\ por}}, + byeditortrcoaf = {{editado, traducido \lbx@lfromlang, comentado e posfaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ e posf\adddot\ por}}, + byeditortranin = {{editado, traducido \lbx@lfromlang, anotado e introducido por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + byeditortranfo = {{editado, traducido \lbx@lfromlang, anotado e prefaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e pref\adddot\ por}}, + byeditortranaf = {{editado, traducido \lbx@lfromlang, anotado e posfaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e posf\adddot\ por}}, + bytranslatorco = {{traducido \lbx@lfromlang\ e comentado por}% + {trad\adddot\ \lbx@sfromlang\ e com\adddot\ por}}, + bytranslatoran = {{traducido \lbx@lfromlang\ e anotado por}% + {trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}}, + bytranslatorin = {{traducido \lbx@lfromlang\ e introducido por}% + {trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}}, + bytranslatorfo = {{traducido \lbx@lfromlang\ e prefaciado por}% + {trad\adddot\ \lbx@sfromlang\ e pref\adddot\ por}}, + bytranslatoraf = {{traducido \lbx@lfromlang\ e posfaciado por}% + {trad\adddot\ \lbx@sfromlang\ e posf\adddot\ por}}, + bytranslatorcoin = {{traducido \lbx@lfromlang, comentado e introducido por}% + {trad\adddot\ \lbx@sfromlang, com\adddot\ e introd\adddot\ por}}, + bytranslatorcofo = {{traducido \lbx@lfromlang, comentado e prefaciado por}% + {trad\adddot\ \lbx@sfromlang, com\adddot\ e pref\adddot\ por}}, + bytranslatorcoaf = {{traducido \lbx@lfromlang, comentado e posfaciado por}% + {trad\adddot\ \lbx@sfromlang, com\adddot\ e posf\adddot\ por}}, + bytranslatoranin = {{traducido \lbx@lfromlang, anotado e introducido por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + bytranslatoranfo = {{traducido \lbx@lfromlang, anotado e prefaciado por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e pref\adddot\ por}}, + bytranslatoranaf = {{traducido \lbx@lfromlang, anotado e posfaciado por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e posf\adddot\ por}}, + and = {{e}{e}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{volume}{vol\adddot}}, + volumes = {{volumes}{vols\adddot}}, + involumes = {{en}{en}}, + jourvol = {{volume}{vol\adddot}}, + jourser = {{serie}{ser\adddot}}, + book = {{libro}{libro}}, + part = {{parte}{parte}}, + issue = {{n\'umero}{n\'umero}}, + newseries = {{nova serie}{nova ser\adddot}}, + oldseries = {{serie antiga}{ser\adddot\ antiga}}, + edition = {{edici\'on}{ed\adddot}}, + reprint = {{reimpresi\'on}{reimpr\adddot}}, + reprintof = {{reimpresi\'on' de}{reimpr\adddotspace de}}, + reprintas = {{reimpreso como}{reimpr\adddotspace como}}, + reprintfrom = {{reimpreso de}{reimpr\adddotspace de}}, + translationof = {{traduci\'on de}{trad\adddotspace de}}, + translationas = {{traducido como}{trad\adddotspace como}}, + translationfrom = {{traducido de}{trad\adddotspace de}}, + reviewof = {{recensi\'on de}{rec.\adddotspace de}}, + origpubas = {{orixinalmente publicado como}{orix\adddotspace pub\adddotspace como}}, + origpubin = {{orixinalmente publicado en}{orix\adddotspace pub\adddotspace en}}, + astitle = {{como}{como}}, + bypublisher = {{por}{por}}, +nodate = {{sen data}{s\adddot d\adddot}}, + page = {{p\'axina}{p\adddot}}, + pages = {{p\'axinas}{pp\adddot}}, + column = {{coluna}{col\adddot}}, + columns = {{colunas}{cols\adddot}}, + line = {{li\~{n}a}{l\adddot}}, + lines = {{li\~{n}as}{ll\adddot}}, + verse = {{verso}{v\adddot}}, + verses = {{versos}{vv\adddot}}, + section = {{secci\'on}{\S}}, + sections = {{secci\'ons'}{\S\S}}, + paragraph = {{par\'agrafo}{par\adddot}}, + paragraphs = {{par\'agrafo}{pars\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 = {{en}{en}}, + inseries = {{en}{en}}, + ofseries = {{de}{de}}, + number = {{n\'umero}{n\adddot\textordmasculine}}, + chapter = {{cap\'itulo}{cap\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{tese de mestrado}{tese de mestrado}}, + phdthesis = {{tese de doutoramento}{tese de doutoramento}}, + candthesis = {{proposta de tese}{proposta de tese}}, + resreport = {{memoria de investigaci\'on'}{mem\adddotspace de inv\adddot}}, + techreport = {{informe t\'ecnico}{inf\adddotspace t\'ec\adddot}}, + software = {{software}{software}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{CD audio}{CD audio}}, + version = {{versi\'on'}{versi\'on}}, + url = {{URL}{URL}}, + urlfrom = {{URL}{URL}}, + urlseen = {{accedido en}{accedido en}}, + inpreparation = {{en preparaci\'on'}{en prep\adddot}}, + submitted = {{enviado}{env\adddot}}, + forthcoming = {{no prelo}{no prelo}}, + inpress = {{no prelo}{no prelo}}, + prepublished = {{prepublicado}{prepub\adddot}}, + citedas = {{de agora en diante}{de agora en diante}}, + seenote = {{ver nota}{ver nota}}, + quotedin = {{citado en}{citado en}}, + idem = {{\'idem}{\'idem}}, + idemsm = {{\'idem}{\'idem}}, + idemsf = {{\'idem}{\'idem}}, + idemsn = {{\'idem}{\'idem}}, + idempm = {{\'idem}{\'idem}}, + idempf = {{\'idem}{\'idem}}, + idempn = {{\'idem}{\'idem}}, + idempp = {{\'idem}{\'idem}}, + ibidem = {{ib\'idem}{ib\'id\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 = {{p\'assim}{p\'ass\adddot}}, + 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}}, + january = {{xaneiro}{xan\adddot}}, + february = {{febreiro}{feb\adddot}}, + march = {{marzo}{mar\adddot}}, + april = {{abril}{abr\adddot}}, + may = {{maio}{maio}}, + june = {{xu\~{n}o}{xu\~{n}\adddot}}, + july = {{xullo}{xul\adddot}}, + august = {{agosto}{ago\adddot}}, + september = {{setembro}{set\adddot}}, + october = {{outubro}{out\adddot}}, + november = {{novembro}{nov\adddot}}, + december = {{decembro}{dec\adddot}}, + langamerican = {{ingl\'es americano}{ing\adddotspace am\adddot}}, + langbulgarian = {{b\'ulgaro}{b\'ulg\adddot}}, + langbrazilian = {{portugu\'es brasileiro}{port\adddotspace br\adddot}}, + langcatalan = {{catal\'an}{cat\adddot}}, + langcroatian = {{croata}{croata}}, + langczech = {{checo}{checo}}, + langdanish = {{dinamarqu\'es}{dan\'es}}, + langdutch = {{neerland\'es}{neerl\adddot}}, + langenglish = {{ingl\'es}{ing\adddot}}, + langestonian = {{estoniano}{eston\adddot}}, + langfinnish = {{fin\'es}{fin\'es}}, + langfrench = {{franc\'es}{fr\adddot}}, + langgalician = {{galego}{gal\adddot}}, + langgerman = {{alem\'an}{al\adddot}}, + langgreek = {{grego}{grego}}, + langhungarian = {{h\'ungaro}{h\'ungaro}}, + langitalian = {{italiano}{ital\adddot}}, + langlatin = {{lat\'in}{lat\adddot}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{noruegu\'es}{nor\adddot}}, + langpolish = {{polaco}{pol\adddot}}, + langportuguese = {{portugu\'es}{port\adddot}}, + langrussian = {{ruso}{ruso}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{esloveno}{eslov\adddot}}, + langspanish = {{castel\'an}{cast\adddot}}, + langswedish = {{sueco}{sueco}}, + fromamerican = {{do ingl\'es americano}{do ingl\adddotspace am\adddot}}, + frombulgarian = {{do b\'ulgaro}{do b\'ulg\adddot}}, + frombrazilian = {{do portugu\'es brasileiro}{do port\adddotspace br\adddot}}, + fromcatalan = {{do catal\~ao}{do cat\adddot}}, + fromcroatian = {{do croata}{do croata}}, + fromczech = {{do checo}{do checo}}, + fromdanish = {{do dinamarqu\'es}{do dan\'es}}, + fromdutch = {{do neerland\'es}{do neerl\adddot}}, + fromenglish = {{do ingl\'es}{do ing\adddot}}, + fromestonian = {{do estoniano}{do eston\adddot}}, + fromfinnish = {{do fin\'es}{do fin\'es}}, + fromfrench = {{do franc\'es}{do fr\adddot}}, + fromgalician = {{do galego}{do gal\adddot}}, + fromgerman = {{do alem\'an}{do al\adddot}}, + fromgreek = {{do grego}{do grego}}, + fromhungarian = {{do h\'ungaro}{do h\'ungaro}}, + fromitalian = {{do italiano}{do ital\adddot}}, + fromlatin = {{do lat\'in'}{do lat\adddot}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{do noruegu\'es}{do nor\adddot}}, + frompolish = {{do polaco}{do pol\adddot}}, + fromportuguese = {{do portugu\'es}{do port\adddot}}, + fromrussian = {{do ruso}{do ruso}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{do esloveno}{do eslov\adddot}}, + fromspanish = {{do castel\'an}{do cast\adddot}}, + fromswedish = {{do sueco}{do sueco}}, + countryde = {{Aleman\{{n}a}{DE}}, + countryeu = {{Uni\'on Europea}{EU}}, + countryep = {{Uni\'on Europea}{EU}}, + countryfr = {{Francia}{FR}}, + countryuk = {{Reino Unido}{GB}}, + countryus = {{Estados Unidos de Am\'erica}{EUA}}, + patent = {{patente}{pat\adddot}}, + patentde = {{patente alem\'a}{pat\adddot\ al\adddot}}, + patenteu = {{patente europea}{pat\adddot\ eur\adddot}}, + patentfr = {{patente francesa}{pat\adddot fr\adddot}}, + patentuk = {{patente brit\'anica}{pat\adddot\ brit\adddot}}, + patentus = {{patente americana}{pat\adddot\ am\adddot}}, + patreq = {{solicitude de patente}{sol\adddot\ de pat\adddot}}, + patreqde = {{solicitude de patente alem\'a}{sol\adddot\ de pat\adddot\ al\adddot}}, + patreqeu = {{solicitude de patente europea}{sol\adddot\ de pat\adddot\ eur\adddot}}, + patreqfr = {{solicitude de patente francesa}{sol\adddot\ de pat\adddot\ fr\adddot}}, + patrequk = {{solicitude de patente brit\'anica}{sol\adddot\ de pat\adddot\ brit\adddot}}, + patrequs = {{solicitude de patente americana}{sol\adddot\ de pat\adddot\ EUA}}, + file = {{arquivo}{arq\adddot}}, + library = {{biblioteca}{bibl\adddot}}, + abstract = {{resumo}{res\adddot}}, + annotation = {{anotaci\'on}{anot\adddot}}, + commonera = {{Era Com\'un'}{EC}}, + beforecommonera = {{antes da Era Com\'un'}{AEC}}, + annodomini = {{despois de Cristo}{d\adddot C\adddot}}, + beforechrist = {{antes de Cristo}{a\adddot C\adddot}}, + circa = {{circa}{ca\adddot}}, + spring = {{primavera}{primavera}}, + summer = {{ver\'an}{ver\'an}}, + autumn = {{outono}{outono}}, + winter = {{inverno}{inverno}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/german-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/german-ms.lbx new file mode 100644 index 00000000000..412dbf64410 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/german-ms.lbx @@ -0,0 +1,582 @@ +\ProvidesFile{german-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{german}{german,ngerman,austrian,naustrian,nswissgerman,swissgerman} + +\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} + {} + {\mkbibordinal{\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}}\adddot + \iffieldundef{#2}{}{\thinspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1} + {} + {\iffieldundef{#3}{/}{\adddot\thinspace}}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\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}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang +} + +\DeclareBibliographyStrings{% + bibliography = {{Literaturverzeichnis}{Literatur}}, + references = {{Literaturverzeichnis}{Literatur}}, + shorthands = {{Sigelverzeichnis}{Sigel}}, + editor = {{Herausgeber}{Hrsg\adddot}}, + editors = {{Herausgeber}{Hrsg\adddot}}, + compiler = {{Kompilator}{Komp\adddot}}, + compilers = {{Kompilatoren}{Komp\adddot}}, + redactor = {{Bearbeiter}{Bearb\adddot}}, + redactors = {{Bearbeiter}{Bearb\adddot}}, + reviser = {{\"Uberarbeiter}{\"Uberarb\adddot}}, + revisers = {{\"Uberarbeiter}{\"Uberarb\adddot}}, + founder = {{Begr\"under}{Begr\adddot}}, + founders = {{Begr\"under}{Begr\adddot}}, + continuator = {{Fortf\"uhrer}{Fortf\adddot}}, + continuators = {{Fortf\"uhrer}{Fortf\adddot}}, + collaborator = {{Mitarbeiter}{Mitarb\adddot}}, + collaborators = {{Mitarbeiter}{Mitarb\adddot}}, + translator = {{\"Ubersetzer}{\"Ubers\adddot}}, + translators = {{\"Ubersetzer}{\"Ubers\adddot}}, + commentator = {{Kommentator}{Komm\adddot}}, + commentators = {{Kommentatoren}{Komm\adddot}}, + annotator = {{Kommentator}{Komm\adddot}}, + annotators = {{Kommentatoren}{Komm\adddot}}, + commentary = {{Kommentar}{Komm\adddot}}, + annotations = {{Erl\"auterungen}{Erl\"aut\adddot}}, + introduction = {{Einleitung}{Einl\adddot}}, + foreword = {{Vorwort}{Vorw\adddot}}, + afterword = {{Nachwort}{Nachw\adddot}}, + editortr = {{Herausgeber und \"Ubersetzer}% + {Hrsg\adddotspace und \"Ubers\adddot}}, + editorstr = {{Herausgeber und \"Ubersetzer}% + {Hrsg\adddotspace und \"Ubers\adddot}}, + editorco = {{Herausgeber und Kommentator}% + {Hrsg\adddotspace und Komm\adddot}}, + editorsco = {{Herausgeber und Kommentatoren}% + {Hrsg\adddotspace und Komm\adddot}}, + editoran = {{Herausgeber und Kommentator}% + {Hrsg\adddotspace und Komm\adddot}}, + editorsan = {{Herausgeber und Kommentatoren}% + {Hrsg\adddotspace und Komm\adddot}}, + editorin = {{Herausgabe und Einleitung}% + {Hrsg\adddotspace und Einl\adddot}}, + editorsin = {{Herausgeber und Einleitung}% + {Hrsg\adddotspace und Einl\adddot}}, + editorfo = {{Herausgeber und Vorwort}% + {Hrsg\adddotspace und Vorw\adddot}}, + editorsfo = {{Herausgabe und Vorwort}% + {Hrsg\adddotspace und Vorw\adddot}}, + editoraf = {{Herausgabe und Nachwort}% + {Hrsg\adddotspace und Nachw\adddot}}, + editorsaf = {{Herausgabe und Nachwort}% + {Hrsg\adddotspace und Nachw\adddot}}, + editortrco = {{Herausgeber, \"Ubersetzer und Kommentator}% + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, + editorstrco = {{Herausgeber, \"Ubersetzer und Kommentatoren}% + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, + editortran = {{Herausgeber, \"Ubersetzer und Kommentator}% + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, + editorstran = {{Herausgeber, \"Ubersetzer und Kommentatoren}% + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, + editortrin = {{Herausgabe, \"Ubersetzung und Einleitung}% + {Hrsg., \"Ubers\adddotspace und Einl\adddot}}, + editorstrin = {{Herausgabe, \"Ubersetzung und Einleitung}% + {Hrsg., \"Ubers\adddotspace und Einl\adddot}}, + editortrfo = {{Herausgabe, \"Ubersetzung und Vorwort}% + {Hrsg., \"Ubers\adddotspace und Vorw\adddot}}, + editorstrfo = {{Herausgabe, \"Ubersetzung und Vorwort}% + {Hrsg., \"Ubers\adddotspace und Vorw\adddot}}, + editortraf = {{Herausgabe, \"Ubersetzung und Nachwort}% + {Hrsg., \"Ubers\adddotspace und Nachw\adddot}}, + editorstraf = {{Herausgabe, \"Ubersetzung und Nachwort}% + {Hrsg., \"Ubers\adddotspace und Nachw\adddot}}, + editorcoin = {{Herausgabe, Kommentar und Einleitung}% + {Hrsg., Komm\adddotspace und Einl\adddot}}, + editorscoin = {{Herausgabe, Kommentar und Einleitung}% + {Hrsg., Komm\adddotspace und Einl\adddot}}, + editorcofo = {{Herausgabe, Kommentar und Vorwort}% + {Hrsg., Komm\adddotspace und Vorw\adddot}}, + editorscofo = {{Herausgabe, Kommentar und Vorwort}% + {Hrsg., Komm\adddotspace und Vorw\adddot}}, + editorcoaf = {{Herausgabe, Kommentar und Nachwort}% + {Hrsg., Komm\adddotspace und Nachw\adddot}}, + editorscoaf = {{Herausgabe, Kommentar und Nachwort}% + {Hrsg., Komm\adddotspace und Nachw\adddot}}, + editoranin = {{Herausgabe, Erl\"auterungen und Einleitung}% + {Hrsg., Erl\"aut\adddotspace und Einl\adddot}}, + editorsanin = {{Herausgabe, Erl\"auterungen und Einleitung}% + {Hrsg., Erl\"aut\adddotspace und Einl\adddot}}, + editoranfo = {{Herausgabe, Erl\"auterungen und Vorwort}% + {Hrsg., Erl\"aut\adddotspace und Vorw\adddot}}, + editorsanfo = {{Herausgabe, Erl\"auterungen und Vorwort}% + {Hrsg., Erl\"aut\adddotspace und Vorw\adddot}}, + editoranaf = {{Herausgabe, Erl\"auterungen und Nachwort}% + {Hrsg., Erl\"aut\adddotspace und Nachw\adddot}}, + editorsanaf = {{Herausgabe, Erl\"auterungen und Nachwort}% + {Hrsg., Erl\"aut\adddotspace und Nachw\adddot}}, + editortrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}% + {Hrsg., \"Ubers., Komm\adddotspace und Einl\adddot}}, + editorstrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}% + {Hrsg., \"Ubers., Komm\adddotspace und Einl\adddot}}, + editortrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}% + {Hrsg., \"Ubers., Komm\adddotspace und Vorw\adddot}}, + editorstrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}% + {Hrsg., \"Ubers., Komm\adddotspace und Vorw\adddot}}, + editortrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}% + {Hrsg., \"Ubers., Komm\adddotspace und Nachw\adddot}}, + editorstrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}% + {Hrsg., \"Ubers., Komm\adddotspace und Nachw\adddot}}, + editortranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}% + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, + editorstranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}% + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, + editortranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}% + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, + editorstranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}% + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, + editortranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}% + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, + editorstranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}% + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, + translatorco = {{\"Ubersetzung und Kommentar}% + {\"Ubers\adddotspace und Komm\adddot}}, + translatorsco = {{\"Ubersetzung und Kommentar}% + {\"Ubers\adddotspace und Komm\adddot}}, + translatoran = {{\"Ubersetzung und Erl\"auterungen}% + {\"Ubers\adddotspace und Erl\"aut\adddot}}, + translatorsan = {{\"Ubersetzung und Erl\"auterungen}% + {\"Ubers\adddotspace und Erl\"aut\adddot}}, + translatorin = {{\"Ubersetzung und Einleitung}% + {\"Ubers\adddotspace und Einl\adddot}}, + translatorsin = {{\"Ubersetzung und Einleitung}% + {\"Ubers\adddotspace und Einl\adddot}}, + translatorfo = {{\"Ubersetzung und Vorwort}% + {\"Ubers\adddotspace und Vorw\adddot}}, + translatorsfo = {{\"Ubersetzung und Vorwort}% + {\"Ubers\adddotspace und Vorw\adddot}}, + translatoraf = {{\"Ubersetzung und Nachwort}% + {\"Ubers\adddotspace und Nachw\adddot}}, + translatorsaf = {{\"Ubersetzung und Nachwort}% + {\"Ubers\adddotspace und Nachw\adddot}}, + translatorcoin = {{\"Ubersetzung, Kommentar und Einleitung}% + {\"Ubers., Komm\adddotspace und Einl\adddot}}, + translatorscoin = {{\"Ubersetzung, Kommentar und Einleitung}% + {\"Ubers., Komm\adddotspace und Einl\adddot}}, + translatorcofo = {{\"Ubersetzung, Kommentar und Vorwort}% + {\"Ubers., Komm\adddotspace und Vorw\adddot}}, + translatorscofo = {{\"Ubersetzung, Kommentar und Vorwort}% + {\"Ubers., Komm\adddotspace und Vorw\adddot}}, + translatorcoaf = {{\"Ubersetzung, Kommentar und Nachwort}% + {\"Ubers., Komm\adddotspace und Nachw\adddot}}, + translatorscoaf = {{\"Ubersetzung, Kommentar und Nachwort}% + {\"Ubers., Komm\adddotspace und Nachw\adddot}}, + translatoranin = {{\"Ubersetzung, Erl\"auterungen und Einleitung}% + {\"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, + translatorsanin = {{\"Ubersetzung, Erl\"auterungen und Einleitung}% + {\"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, + translatoranfo = {{\"Ubersetzung, Erl\"auterungen und Vorwort}% + {\"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, + translatorsanfo = {{\"Ubersetzung, Erl\"auterungen und Vorwort}% + {\"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, + translatoranaf = {{\"Ubersetzung, Erl\"auterungen und Nachwort}% + {\"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, + translatorsanaf = {{\"Ubersetzung, Erl\"auterungen und Nachwort}% + {\"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{von}{von}}, + byeditor = {{herausgegeben von}{hrsg\adddotspace von}}, + bycompiler = {{kompiliert von}{komp\adddotspace von}}, + byredactor = {{bearbeitet von}{bearb\adddotspace von}}, + byreviser = {{\"uberarbeitet von}{\"uberarb\adddotspace von}}, + byreviewer = {{rezensiert von}{rez\adddotspace von}}, + byfounder = {{begr\"undet von}{begr\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\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\adddotspace von}}, + byeditorco = {{herausgegeben und kommentiert von}% + {hrsg\adddotspace und komm\adddotspace von}}, + byeditoran = {{herausgegeben und erl\"autert von}% + {hrsg\adddotspace und erl\"aut\adddotspace von}}, + byeditorin = {{herausgegeben und mit einer Einleitung versehen 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\adddotspace vers\adddotspace von}}, + byeditoraf = {{herausgegeben und mit einem Nachwort versehen von}% + {hrsg\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, + byeditortrco = {{herausgegeben, \lbx@lfromlang \"ubersetzt und kommentiert von}% + {hrsg., \lbx@sfromlang \"ubers\adddotspace und komm\adddotspace von}}, + byeditortran = {{herausgegeben, \lbx@lfromlang \"ubersetzt und erl\"autert 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\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, + byeditortrfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen 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\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, + byeditorcoin = {{herausgegeben, kommentiert und mit einer Einleitung versehen von}% + {hrsg., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, + byeditorcofo = {{herausgegeben, kommentiert und mit einem Vorwort versehen von}% + {hrsg., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, + byeditorcoaf = {{herausgegeben, kommentiert und mit einem Nachwort versehen 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\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, + byeditoranfo = {{herausgegeben, erl\"autert und mit einem Vorwort versehen 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\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\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\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\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\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\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\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, + bytranslatorco = {{\lbx@lfromlang \"ubersetzt und kommentiert von}% + {\lbx@sfromlang \"ubers\adddotspace und komm\adddotspace von}}, + bytranslatoran = {{\lbx@lfromlang \"ubersetzt und erl\"autert von}% + {\lbx@sfromlang \"ubers\adddotspace und erl\"aut\adddotspace von}}, + bytranslatorin = {{\lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen 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\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, + bytranslatoraf = {{\lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen 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\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, + bytranslatorcofo = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen 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\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\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\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\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}}, + volume = {{Band}{Bd\adddot}}, + volumes = {{B\"ande}{Bde\adddot}}, + involumes = {{in}{in}}, + jourvol = {{Jahrgang}{Jg\adddot}}, + jourser = {{Serie}{Ser\adddot}}, + book = {{Buch}{Buch}}, + part = {{Teil}{T.\adddot}}, + issue = {{Ausgabe}{Ausg\adddot}}, + newseries = {{neue Folge}{n.\,F\adddot}}, + oldseries = {{alte Folge}{a.\,F\adddot}}, + edition = {{Auf\noligature lage}{Aufl\adddot}}, + reprint = {{Nachdruck}{Nachdr\adddot}}, + reprintof = {{Nachdruck von}{Nachdr\adddotspace von}}, + reprintas = {{Nachdruck unter dem Titel}{Nachdr\adddotspace unter dem Titel}}, + reprintfrom = {{Nachdruck aus}{Nachdr\adddotspace aus}}, + translationof = {{\"Ubersetzung von}{\"Ubers\adddotspace von}}, + translationas = {{\"ubersetzt unter dem Titel}{\"ubers\adddotspace unter dem Titel}}, +% translationfrom = {{}{}},% FIXME: missing + reviewof = {{Rezension von}{Rez\adddotspace von}}, + origpubas = {{zuerst publiziert als}{zuerst publ\adddotspace als}}, + origpubin = {{zuerst publiziert in}{zuerst publ\adddotspace in}}, + astitle = {{unter dem Titel}{unter dem Titel}}, + bypublisher = {{von}{von}}, + nodate = {{ohne\space Datum}{{}o.\,D\adddot}}, + page = {{Seite}{S\adddot}}, + pages = {{Seiten}{S\adddot}}, + column = {{Spalte}{Sp\adddot}}, + columns = {{Spalten}{Sp\adddot}}, + line = {{Zeile}{Z\adddot}}, + lines = {{Zeilen}{Z\adddot}}, + verse = {{Vers}{V\adddot}}, + verses = {{Verse}{V\adddot}}, + section = {{Paragraph}{\S}}, + sections = {{Paragraphen}{\S\S}}, + paragraph = {{Absatz}{Abs\adddot}}, + paragraphs = {{Abs\"atze}{Abs\adddot}}, + pagetotal = {{Seite}{S\adddot}}, + pagetotals = {{Seiten}{S\adddot}}, + columntotal = {{Spalte}{Sp\adddot}}, + columntotals = {{Spalten}{Sp\adddot}}, + linetotal = {{Zeile}{Z\adddot}}, + linetotals = {{Zeilen}{Z\adddot}}, + versetotal = {{Vers}{V\adddot}}, + versetotals = {{Verse}{V\adddot}}, + sectiontotal = {{Paragraph}{\S}}, + sectiontotals = {{Paragraphen}{\S\S}}, + paragraphtotal = {{Absatz}{Abs\adddot}}, + paragraphtotals = {{Abs\"atze}{Abs\adddot}}, + in = {{in}{in}}, + inseries = {{der Reihe}{der Reihe}}, + ofseries = {{der Reihe}{der Reihe}}, + number = {{Nummer}{Nr\adddot}}, + chapter = {{Kapitel}{Kap\adddot}}, + bathesis = {{Bachelorarbeit}{Bachelorarb\adddot}}, + mathesis = {{Magisterarbeit}{Magisterarb\adddot}}, + phdthesis = {{Dissertation}{Diss\adddot}}, + candthesis = {{Qualifikationsschrift}{Qualifikationsschr\adddot}}, + resreport = {{Forschungsbericht}{Forschungsber\adddot}}, + techreport = {{Technischer Bericht}{Techn\adddotspace Ber\adddot}}, + software = {{Com\-pu\-ter-Soft\-ware}{Soft\-ware}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{Audio-CD}{Audio-CD}}, + version = {{Version}{Version}}, + url = {{Adresse}{Adresse}}, + urlfrom = {{abgerufen unter}{abger\adddotspace unter}}, + urlseen = {{besucht am}{besucht am}}, + inpreparation = {{in Vorbereitung}{in Vorbereitung}}, + submitted = {{eingereicht}{eingereicht}}, + forthcoming = {{im Erscheinen}{im Erscheinen}}, + inpress = {{im Druck}{im Druck}}, + prepublished = {{Vorver\"offentlichung}{Vorver\"offentlichung}}, + citedas = {{im folgenden zitiert als}{im folgenden zit\adddotspace als}}, + thiscite = {{hier}{hier}}, + seenote = {{siehe Anmerkung}{s.~Anm\adddot}}, + quotedin = {{zitiert nach}{zit\adddotspace nach}}, + idem = {{derselbe}{ders\adddot}}, + idemsf = {{dieselbe}{dies\adddot}}, + idemsm = {{derselbe}{ders\adddot}}, + idemsn = {{dasselbe}{dass\adddot}}, + idempf = {{dieselben}{dies\adddot}}, + idempm = {{dieselben}{dies\adddot}}, + idempn = {{dieselben}{dies\adddot}}, + idempp = {{dieselben}{dies\adddot}}, + ibidem = {{ebenda}{ebd\adddot}}, + opcit = {{a.\,a.\,O\adddot}{a.\,a.\,O\adddot}}, + loccit = {{a.\,a.\,O\adddot}{a.\,a.\,O\adddot}}, + confer = {{vgl\adddot}{vgl\adddot}}, + sequens = {{f\adddot}{f\adddot}}, + sequentes = {{ff\adddot}{ff\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{siehe}{siehe}}, + seealso = {{siehe auch}{s.~auch}}, + backrefpage = {{siehe Seite}{siehe S\adddot}}, + backrefpages = {{siehe Seiten}{siehe S\adddot}}, + january = {{Januar}{Jan\adddot}}, + february = {{Februar}{Feb\adddot}}, + march = {{M\"arz}{M\"arz}}, + april = {{April}{Apr\adddot}}, + may = {{Mai}{Mai}}, + june = {{Juni}{Juni}}, + july = {{Juli}{Juli}}, + august = {{August}{Aug\adddot}}, + september = {{September}{Sep\adddot}}, + october = {{Oktober}{Okt\adddot}}, + november = {{November}{Nov\adddot}}, + december = {{Dezember}{Dez\adddot}}, + langamerican = {{Amerikanisch}{Amerikanisch}}, + langbasque = {{Baskisch}{Baskisch}}, + langbrazilian = {{Brasilianisch}{Brasilianisch}}, + langbulgarian = {{Bulgarisch}{Bulgarisch}}, + langcatalan = {{Katalanisch}{Katalanisch}}, + langcroatian = {{Kroatisch}{Kroatisch}}, + langczech = {{Tschechisch}{Tschechisch}}, + langdanish = {{D\"anisch}{D\"anisch}}, + langdutch = {{Niederl\"andisch}{Niederl\"andisch}}, + langenglish = {{Englisch}{Englisch}}, + langestonian = {{Estnisch}{Estnisch}}, + langfinnish = {{Finnisch}{Finnisch}}, + langfrench = {{Franz\"osisch}{Franz\"osisch}}, + langgalician = {{Galicisch}{Galicisch}}, + langgerman = {{Deutsch}{Deutsch}}, + langgreek = {{Griechisch}{Griechisch}}, + langhungarian = {{Ungarisch}{Ungarisch}}, + langitalian = {{Italienisch}{Italienisch}}, + langjapanese = {{Japanisch}{Japanisch}}, + langlatin = {{Lateinisch}{Lateinisch}}, + langlatvian = {{Lettisch}{Lettisch}}, + langlithuanian = {{Litauisch}{Litauisch}}, + langnorwegian = {{Norwegisch}{Norwegisch}}, + langpolish = {{Polnisch}{Polnisch}}, + langportuguese = {{Portugiesisch}{Portugiesisch}}, + langromanian = {{Rum\"anisch}{Rum\"anisch}}, + 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}}, + frombasque = {{aus dem Baskischen}{aus dem Baskischen}}, + frombrazilian = {{aus dem Brasilianischen}{aus dem Brasilianischen}}, + frombulgarian = {{aus dem Bulgarischen}{aus dem Bulgarischen}}, + fromcatalan = {{aus dem Katalanischen}{aus dem Katalanischen}}, + fromcroatian = {{aus dem Kroatischen}{aus dem Kroatischen}}, + fromczech = {{aus dem Tschechischen}{aus dem Tschechischen}}, + fromdanish = {{aus dem D\"anischen}{aus dem D\"anischen}}, + fromdutch = {{aus dem Niederl\"andischen}{aus dem Niederl\"andischen}}, + fromenglish = {{aus dem Englischen}{aus dem Englischen}}, + fromestonian = {{aus dem Estnischen}{aus dem Estnischen}}, + fromfinnish = {{aus dem Finnischen}{aus dem Finnischen}}, + fromfrench = {{aus dem Franz\"osischen}{aus dem Franz\"osischen}}, + fromgalician = {{aus dem Galicischen}{aus dem Galicischen}}, + fromgerman = {{aus dem Deutschen}{aus dem Deutschen}}, + fromgreek = {{aus dem Griechischen}{aus dem Griechischen}}, + fromhungarian = {{aus dem Ungarischen}{aus dem Ungarischen}}, + fromitalian = {{aus dem Italienischen}{aus dem Italienischen}}, + fromjapanese = {{aus dem Japanischen}{aus dem Japanischen}}, + fromlatin = {{aus dem Lateinischen}{aus dem Lateinischen}}, + 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}}, + fromromanian = {{aus dem Rum\"anischen}{aus dem Rum\"anischen}}, + 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}}, + countryeu = {{Europ\"aische Union}{EU}}, + countryfr = {{Frankreich}{FR}}, + countryuk = {{Gro\ss britannien}{GB}}, + countryus = {{USA}{US}}, + patent = {{Patent}{Pat\adddot}}, + patentde = {{deutsches Patent}{dt\adddotspace 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\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 = {{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ühling}}, + summer = {{Sommer}{Sommer}}, + autumn = {{Herbst}{Herbst}}, + winter = {{Winter}{Winter}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{vorm\adddot}{vorm\adddot}}, + pm = {{nachm\adddot}{nachm\adddot}}, +} + +\DeclareHyphenationExceptions{% + Pa-tent-an-mel-dung + Pa-tent-an-meld +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/greek-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/greek-ms.lbx new file mode 100644 index 00000000000..5f614c0d8ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/greek-ms.lbx @@ -0,0 +1,613 @@ +\ProvidesFile{greek-ms.lbx} +[\abx@lbxid] + +% Translator's notes: +% +% The translations should be OK but should also be tested against +% enough real data. Especially: +% +% a) Abbreviations should be checked +% b) Issues concerning grammatical gender have not been studied +% +% This file requires UTF-8 support! + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Greek requires UTF-8 support} + {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.}% + \endinput} + +\NewBibliographyString{% Used only Greek for month checks + datejanuary, + datefebruary, + datemarch, + dateapril, + datemay, + datejune, + datejuly, + dateaugust, + dateseptember, + dateoctober, + datenovember, + datedecember% +} + +\DeclareRedundantLanguages{greek}{greek} + +\DeclareBibliographyExtras{% + \DeclareCapitalPunctuation{.!;?}% + \let\finalandcomma=\empty + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord#1{\stripzeros{#1}ος}% + \protected\def\mkbibfemord#1{\stripzeros{#1}η}% + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\lbx@gr@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}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Βιβλιογραφία}{Βιβλιογραφία}}, + references = {{Αναφορές}{Αναφορές}}, + shorthands = {{Κατάλογος συντμήσεων}{Συντμήσεις}}, + editor = {{επιμελητής}{επιμελητής}}, + editors = {{επιμελητές}{επιμελητές}}, + compiler = {{συντάκτης}{συντάκτης}}, + compilers = {{συντάκτες}{συντάκτες}}, + redactor = {{συντάκτης}{συντάκτης}}, + redactors = {{συντάκτες}{συντάκτες}}, +% reviser = {{}{}},% FIXME: missing +% revisers = {{}{}},% FIXME: missing + founder = {{αρχικός δημιουργός}{αρχικός δημιουργός}}, + founders = {{αρχικοί δημιουργοί}{αρχικοί δημιουργοί}}, + continuator = {{συνεχιστής}{συνεχιστής}}, + continuators = {{συνεχιστές}{συνεχιστές}}, + collaborator = {{συνεργάτης}{συνεργάτης}}, + collaborators = {{συνεργάτες}{συνεργάτες}}, + translator = {{μεταφραστής}{μεταφραστής}}, + translators = {{μεταφραστές}{μεταφραστές}}, + commentator = {{υπομνηματιστής}{υπομνηματιστής}},% FIXME: unsure + commentators = {{υπομνηματιστές}{υπομνηματιστές}},% FIXME: unsure + annotator = {{υπομνηματιστής}{υπομνηματιστής}}, + annotators = {{υπομνηματιστές}{υπομνηματιστές}}, + commentary = {{ερμηνευτικές σημειώσεις}{ερμηνευτικές σημειώσεις}}, + annotations = {{επισημείωση}{επισημείωση}}, + introduction = {{εισαγωγή}{εισαγωγή}}, + foreword = {{πρόλογος}{πρόλ\adddot}}, + afterword = {{επίλογος}{επίλ\adddot}}, + editortr = {{επιμελητή και μεταφραστής} + {επιμελητή και μτφρ\adddot}}, + editorstr = {{επιμελητέ και μεταφραστές} + {επιμελητέ και μτφρ\adddot}}, + editorco = {{επιμελητή και υπομνηματιστής} + {επιμελητή και υπομν\adddot}}, + editorsco = {{επιμελητέ και υπομνηματιστής} + {επιμελητέ και υπομν\adddot}}, + editoran = {{επιμελητή και υπομνηματιστής} + {επιμελητή και υπομν\adddot}}, + editorsan = {{επιμελητέ και υπομνηματιστές} + {επιμελητέ και υπομν\adddot}}, + editorin = {{επιμελητή και εισαγωγή} + {επιμελητή και εισαγ\adddot}}, + editorsin = {{επιμελητέ και εισαγωγή} + {επιμελητέ και εισαγ\adddot}}, + editorfo = {{επιμελητή και πρόλογος} + {επιμελητή και πρόλ\adddot}}, + editorsfo = {{επιμελητέ και πρόλογος} + {επιμελητέ και πρόλ\adddot}}, + editoraf = {{επιμελητή και επίλογος} + {επιμελητή και επίλ\adddot}}, + editorsaf = {{επιμελητέ και επίλογος} + {επιμελητέ και επίλ\adddot}}, + editortrco = {{επιμελητή, μεταφραστή και υπομνηματιστής} + {επιμελητή μτφρ\adddot\ και υπομν\adddot}}, + editorstrco = {{επιμελητέ, μεταφραστέ και υπομνηματιστές} + {επιμελητέ, μτφρ\adddot\ και υπομν\adddot}}, + editortran = {{επιμελητή, μεταφραστή και επισημειωτής} + {επιμελητή μτφρ\adddot\ και επισημ\adddot}}, + editorstran = {{επιμελητέ, μεταφραστέ και επισημειωτές} + {επιμελητέ, μτφρ\adddot\ και επισημ\adddot}}, + editortrin = {{επιμελητή, μεταφραστή και εισαγωγή} + {επιμελητή μτφρ\adddot\ και εισαγ\adddot}}, + editorstrin = {{επιμελητέ, μεταφραστέ και εισαγωγή} + {επιμελητέ, μτφρ\adddot\ και εισαγ\adddot}}, + editortrfo = {{επιμελητή, μεταφραστή και πρόλογος} + {επιμελητή μτφρ\adddot\ και πρόλ\adddot}}, + editorstrfo = {{επιμελητέ, μεταφραστέ και πρόλογος} + {επιμελητέ, μτφρ\adddot\ και πρόλ\adddot}}, + editortraf = {{επιμελητή, μεταφραστή και επίλογος} + {επιμελητή μτφρ\adddot\ και επίλ\adddot}}, + editorstraf = {{επιμελητέ, μεταφραστέ και επίλογος} + {επιμελητέ, μτφρ\adddot\ και επίλ\adddot}}, + editorcoin = {{επιμελητή, υπομνηματιστή και εισαγωγή} + {επιμελητή υπομν\adddot\ και εισαγ\adddot}}, + editorscoin = {{επιμελητέ, υπομνηματιστέ και εισαγωγή} + {επιμελητέ, υπομν\adddot\ και εισαγ\adddot}}, + editorcofo = {{επιμελητή, υπομνηματιστή και πρόλογος} + {επιμελητή υπομν\adddot\ και πρόλ\adddot}}, + editorscofo = {{επιμελητέ, υπομνηματιστέ και πρόλογος} + {επιμελητέ, υπομν\adddot\ και πρόλ\adddot}}, + editorcoaf = {{επιμελητή, υπομνηματιστή και επίλογος} + {επιμελητή υπομν\adddot\ και επίλ\adddot}}, + editorscoaf = {{επιμελητέ, υπομνηματιστέ και επίλογος} + {επιμελητέ, υπομν\adddot\ και επίλ\adddot}}, + editoranin = {{επιμελητή, επισημειωτή και εισαγωγή} + {επιμελητή επισημ\adddot\ και εισαγ\adddot}}, + editorsanin = {{επιμελητέ, επισημειωτέ και εισαγωγή} + {επιμελητέ, επισημ\adddot\ και εισαγ\adddot}}, + editoranfo = {{επιμελητή, επισημειωτή και πρόλογος} + {επιμελητή επισημ\adddot\ και πρόλ\adddot}}, + editorsanfo = {{επιμελητέ, επισημειωτέ και πρόλογος} + {επιμελητέ, επισημ\adddot\ και πρόλ\adddot}}, + editoranaf = {{επιμελητή, επισημειωτή και επίλογος} + {επιμελητή επισημ\adddot\ και επίλ\adddot}}, + editorsanaf = {{επιμελητέ, επισημειωτέ και επίλογος} + {επιμελητέ, επισημ\adddot\ και επίλ\adddot}}, + editortrcoin = {{επιμελητή, μεταφραστής, υπομνηματιστή και εισαγωγή} + {επιμελητή μτφρ., υπομν\adddot\ και εισαγ\adddot}}, + editorstrcoin = {{επιμελητέ, μεταφραστές, υπομνηματιστέ και εισαγωγή} + {επιμελητέ, μτφρ., υπομν\adddot\ και εισαγ\adddot}}, + editortrcofo = {{επιμελητή, μεταφραστής, υπομνηματιστή και πρόλογος} + {επιμελητή μτφρ., υπομν\adddot\ και πρόλ\adddot}}, + editorstrcofo = {{επιμελητέ, μεταφραστές, υπομνηματιστέ και πρόλογος} + {επιμελητέ, μτφρ., υπομν\adddot\ και πρόλ\adddot}}, + editortrcoaf = {{επιμελητή, μεταφραστής, υπομνηματιστή και επίλογος} + {επιμελητή μτφρ., υπομν\adddot\ και επίλ\adddot}}, + editorstrcoaf = {{επιμελητέ, μεταφραστές, υπομνηματιστέ και επίλογος} + {επιμελητέ, μτφρ., υπομν\adddot\ και επίλ\adddot}}, + editortranin = {{επιμελητή, μεταφραστής, επισημειωτή και εισαγωγή} + {επιμελητή μτφρ., επισημ\adddot\ και εισαγ\adddot}}, + editorstranin = {{επιμελητέ, μεταφραστές, επισημειωτέ και εισαγωγή} + {επιμελητέ, μτφρ., επισημ\adddot\ και εισαγ\adddot}}, + editortranfo = {{επιμελητή, μεταφραστής, επισημειωτή και πρόλογος} + {επιμελητή μτφρ., επισημ\adddot\ και πρόλ\adddot}}, + editorstranfo = {{επιμελητέ, μεταφραστές, επισημειωτέ και πρόλογος} + {επιμελητέ, μτφρ., επισημ\adddot\ και πρόλ\adddot}}, + editortranaf = {{επιμελητή, μεταφραστής, επισημειωτή και επίλογος} + {επιμελητή μτφρ., επισημ\adddot\ και επίλ\adddot}}, + editorstranaf = {{επιμελητέ, μεταφραστές, επισημειωτέ και επίλογος} + {επιμελητέ, μτφρ., επισημ\adddot\ και επίλ\adddot}}, + translatorco = {{μεταφραστής και υπομνηματιστής} + {μτφρ\adddot\ και υπομν\adddot}}, + translatorsco = {{μεταφραστές και υπομνηματιστές} + {μτφρ\adddot\ και υπομν\adddot}}, + translatoran = {{μεταφραστής και επισημειωτής} + {μτφρ\adddot\ και επισημ\adddot}}, + translatorsan = {{μεταφραστές και επισημειωτές} + {μτφρ\adddot\ και επισημ\adddot}}, + translatorin = {{μετάφραση και εισαγωγή} + {μτφρ\adddot\ και εισαγ\adddot}}, + translatorsin = {{μετάφραση και εισαγωγή} + {μτφρ\adddot\ και εισαγ\adddot}}, + translatorfo = {{μετάφραση και πρόλογος} + {μτφρ\adddot\ και πρόλ\adddot}}, + translatorsfo = {{μετάφραση και πρόλογος} + {μτφρ\adddot\ και πρόλ\adddot}}, + translatoraf = {{μετάφραση και επίλογος} + {μτφρ\adddot\ και επίλ\adddot}}, + translatorsaf = {{μετάφραση και επίλογος} + {μτφρ\adddot\ και επίλ\adddot}}, + translatorcoin = {{μετάφραση, υπομνηματισμό και εισαγωγή} + {μτφρ., υπομν\adddot\ και εισαγ\adddot}}, + translatorscoin = {{μετάφραση, υπομνηματισμό και εισαγωγή} + {μτφρ., υπομν\adddot\ και εισαγ\adddot}}, + translatorcofo = {{μετάφραση, υπομνηματισμό και πρόλογος} + {μτφρ., υπομν\adddot\ και πρόλ\adddot}}, + translatorscofo = {{μετάφραση, υπομνηματισμό και πρόλογος} + {μτφρ., υπομν\adddot\ και πρόλ\adddot}}, + translatorcoaf = {{μετάφραση, υπομνηματισμό και επίλογος} + {μτφρ., υπομν\adddot\ και επίλ\adddot}}, + translatorscoaf = {{μετάφραση, υπομνηματισμό και επίλογος} + {μτφρ., υπομν\adddot\ και επίλ\adddot}}, + translatoranin = {{μετάφραση, επισημείωση και εισαγωγή} + {μτφρ., επισημ\adddot\ και εισαγ\adddot}}, + translatorsanin = {{μετάφραση, επισημείωση και εισαγωγή} + {μτφρ., επισημ\adddot\ και εισαγ\adddot}}, + translatoranfo = {{μετάφραση, επισημείωση και πρόλογος} + {μτφρ., επισημ\adddot\ και πρόλ\adddot}}, + translatorsanfo = {{μετάφραση, επισημείωση και πρόλογος} + {μτφρ., επισημ\adddot\ και πρόλ\adddot}}, + translatoranaf = {{μετάφραση, επισημείωση και επίλογος} + {μτφρ., επισημ\adddot\ και επίλ\adddot}}, + translatorsanaf = {{μετάφραση, επισημείωση και επίλογος} + {μτφρ., επισημ\adddot\ και επίλ\adddot}}, +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{υπό}{υπό}}, + byeditor = {{επιμέλεια υπό}{επιμέλεια υπό}}, + bycompiler = {{σύνταξη υπό}{σύνταξη υπό}}, + byredactor = {{σύνταξη υπό}{σύναταξη υπό}}, +% byreviser = {{}{}},% FIXME: missing +% byreviewer = {{}{}},% FIXME: missing + byfounder = {{αρχική δημιουργία από}{αρχική δημιουργία από}}, + bycontinuator = {{συνέχεια από}{συνέχεια από}}, + bycollaborator = {{συνεργασία από}{συνεργασία από}}, + bytranslator = {{μετάφραση \lbx@lfromlang\ υπό}{μετάφραση \lbx@sfromlang\ υπό}}, + bycommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, + byannotator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, + withcommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, + withannotator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, + withintroduction = {{εισαγωγή υπό}{εισαγωγή υπό}}, + withforeword = {{πρόλογος υπό}{πρόλογος υπό}}, + withafterword = {{επίλογος υπό}{επίλογος υπό}}, +% byeditortr = {{}{}},% FIXME: missing +% byeditorco = {{}{}},% FIXME: missing +% byeditoran = {{}{}},% FIXME: missing +% byeditorin = {{}{}},% FIXME: missing +% byeditorfo = {{}{}},% FIXME: missing +% byeditoraf = {{}{}},% FIXME: missing +% byeditortrco = {{}{}},% FIXME: missing +% byeditortran = {{}{}},% FIXME: missing +% byeditortrin = {{}{}},% FIXME: missing +% byeditortrfo = {{}{}},% FIXME: missing +% byeditortraf = {{}{}},% FIXME: missing +% byeditorcoin = {{}{}},% FIXME: missing +% byeditorcofo = {{}{}},% FIXME: missing +% byeditorcoaf = {{}{}},% FIXME: missing +% byeditoranin = {{}{}},% FIXME: missing +% byeditoranfo = {{}{}},% FIXME: missing +% byeditoranaf = {{}{}},% FIXME: missing +% byeditortrcoin = {{}{}},% FIXME: missing +% byeditortrcofo = {{}{}},% FIXME: missing +% byeditortrcoaf = {{}{}},% FIXME: missing +% byeditortranin = {{}{}},% FIXME: missing +% byeditortranfo = {{}{}},% FIXME: missing +% byeditortranaf = {{}{}},% FIXME: missing +% bytranslatorco = {{}{}},% FIXME: missing +% bytranslatoran = {{}{}},% FIXME: missing +% bytranslatorin = {{}{}},% FIXME: missing +% bytranslatorfo = {{}{}},% FIXME: missing +% bytranslatoraf = {{}{}},% FIXME: missing +% bytranslatorcoin = {{}{}},% FIXME: missing +% bytranslatorcofo = {{}{}},% FIXME: missing +% bytranslatorcoaf = {{}{}},% FIXME: missing +% bytranslatoranin = {{}{}},% FIXME: missing +% bytranslatoranfo = {{}{}},% FIXME: missing +% bytranslatoranaf = {{}{}},% FIXME: missing + and = {{και}{και}}, + andothers = {{κ.ά\adddot}{κ.ά\adddot}}, + andmore = {{κ.ά\adddot}{κ.ά\adddot}}, + volume = {{τόμος}{τόμ\adddot}}, + volumes = {{τόμοι}{τόμοι}}, + involumes = {{σε}{σε}},% FIXME: check + jourvol = {{τόμος}{τόμ\adddot}}, + jourser = {{σειρά}{σειρά}}, +% book = {{}{}},% FIXME: missing +% part = {{}{}},% FIXME: missing +% issue = {{}{}},% FIXME: missing + newseries = {{νέα σειρά}{νέα σειρά}}, + oldseries = {{παλαιά σειρά}{παλαιά σειρά}}, + edition = {{έκδοση}{έκδοση}}, + reprint = {{ανατύπωση}{ανατύπωση}}, + reprintof = {{ανατύπωση του}{ανατύπωση του}}, + reprintas = {{ανατύπωση ως}{ανατύπωση ως}}, +% reprintfrom = {{}{}},% FIXME: missing +% translationof = {{}{}},% FIXME: missing +% translationas = {{}{}},% FIXME: missing +% translationfrom = {{}{}},% FIXME: missing +% reviewof = {{}{}},% FIXME: missing +% origpubas = {{}{}},% FIXME: missing +% origpubin = {{}{}},% FIXME: missing +% astitle = {{}{}},% FIXME: missing + bypublisher = {{υπό}{υπό}},% FIXME: check + page = {{σελίδα}{σ\adddot}}, + pages = {{σελίδες}{σσ\adddot}}, + column = {{στήλη}{στ\adddot}}, + columns = {{στήλες}{στήλες}}, + line = {{γραμμή}{γραμ\adddot}}, + lines = {{γραμμές}{γραμμές}}, + nodate = {{χωρίς\space ημερομηνία}{{}χ\adddot η\adddot}}, + verse = {{στίχος}{στίχ\adddot}}, + verses = {{στίχοι}{στίχοι}}, + section = {{ενότητα}{εντότητα}}, + sections = {{ενότητες}{ενότητες}}, + paragraph = {{παράγραφος}{§}}, + paragraphs = {{παράγραφοι}{§§}}, +% 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 = {{στο}{στο}}, + inseries = {{στη}{στη}}, + ofseries = {{της}{της}}, + number = {{αριθμός}{αρθμ\adddot}}, + chapter = {{κεφάλαιο}{κεφ\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{Μεταπτυχιακή διπλωματική εργασία} + {Μεταπτ/κή διπλ\adddot\ εργασ\adddot}}, + phdthesis = {{Διδακτορική διατριβή} + {Διδακτορική διατρ\adddot}}, +% candthesis = {{}{}},% FIXME: missing + resreport = {{αδημοσίευτη ερευνητική εργασία} + {αδημοσίευτη ερευνητική εργασία}}, + techreport = {{αδημοσίευτη ερευνητική εργασία} + {αδημοσίευτη ερευνητική εργασία}}, + software = {{λογισμικό Η/Υ}{λογισμικό Η/Υ}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{ακουστικό CD}{ακουστικό CD}}, + version = {{έκδοση}{έκδ\adddot}}, + url = {{διεύθυνση}{διεύθν\adddot}}, +% urlfrom = {{}{}},% FIXME: missing + urlseen = {{επίσκεψη}{επίσκεψη}}, +% inpreparation = {{}{}},% FIXME: missing + submitted = {{υποβληθέν}{υποβληθέν}},% FIXME: gender? +% forthcoming = {{}{}},% FIXME: missing + inpress = {{υπό έκδοση}{υπό έκδ.}}, +% prepublished = {{}{}},% FIXME: missing + citedas = {{εφεξής θα αναφέρεται ως}{εφεξής θα αναφέρεται ως}}, + thiscite = {{αυτή η αναφορά}{αυτή η αναφορά}}, + seenote = {{βλέπε σημείωση}{βλ\adddot\ σημ\adddot}}, + quotedin = {{αναφέρεται στο}{αναφέρεται στο}}, + idem = {{του ίδιου}{του ίδιου}}, + % FIXME: adapt gender + % + % sf=singular feminine + % sm=singular masculine + % sn=singular neuter + % pf=plural feminine + % pm=plural masculine + % pn=plural neuter + % pp=plural (group of mixed gender) + idemsf = {{του ίδιου}{του ίδιου}},% FIXME: gender? + idemsm = {{του ίδιου}{του ίδιου}},% FIXME: gender? + idemsn = {{του ίδιου}{του ίδιου}},% FIXME: gender? + idempf = {{του ίδιου}{του ίδιου}},% FIXME: gender? + idempm = {{του ίδιου}{του ίδιου}},% FIXME: gender? + idempn = {{του ίδιου}{του ίδιου}},% FIXME: gender? + idempp = {{του ίδιου}{του ίδιου}},% FIXME: gender? + ibidem = {{στο ίδιο}{στο ίδιο}}, + opcit = {{όπου παραπάνω}{ό.π\adddot}}, + loccit = {{όπου παραπάνω}{ό.π\adddot}}, + confer = {{πρβλ\adddot}{πρβλ\adddot}}, + sequens = {{κ.ε}{κ.ε\adddot}}, + sequentes = {{κ.εξ\adddot}{κ.εξ\adddot}}, + passim = {{σποράδην}{σποράδην}}, + see = {{βλέπε}{βλ\adddot}}, + seealso = {{βλέπε επίσης}{βλ\adddot\ επίσης}}, +% backrefpage = {{}{}},% FIXME: missing +% backrefpages = {{}{}},% FIXME: missing + january = {{Ιανουάριος}{Ιαν\adddot}}, + february = {{Φεβρουάριος}{Φεβ\adddot}}, + march = {{Μάρτιος}{Μαρ\adddot}}, + april = {{Αρίλιος}{Απρ\adddot}}, + may = {{Μάιος}{Μάι\adddot}}, + june = {{Ιούνιος}{Ιούν\adddot}}, + july = {{Ιούλιος}{Ιούλ\adddot}}, + august = {{Αύγουστος}{Αύγ\adddot}}, + september = {{Σεπτέμβριος}{Σεπτ\adddot}}, + october = {{Οκτώβριος}{Οκτ\adddot}}, + november = {{Νοέμβριος}{Νοέ\adddot}}, + december = {{Δεκέμβριος}{Δεκ\adddot}}, + datejanuary = {{Ιανουαρίου}{Ιαν\adddot}}, + datefebruary = {{Φεβρουαρίου}{Φεβ\adddot}}, + datemarch = {{Μαρτίου}{Μαρ\adddot}}, + dateapril = {{Απριλίου}{Απρ\adddot}}, + datemay = {{Μαΐου}{Μάι\adddot}}, + datejune = {{Ιουνίου}{Ιούν\adddot}}, + datejuly = {{Ιουλίου}{Ιούλ\adddot}}, + dateaugust = {{Αυγούστου}{Αύγ\adddot}}, + dateseptember = {{Σεπτεμβρίου}{Σεπτ\adddot}}, + dateoctober = {{Οκτωβρίου}{Οκτ\adddot}}, + datenovember = {{Νοεμβρίου}{Νοέ\adddot}}, + datedecember = {{Δεκεμβρίου}{Δεκ\adddot}}, + langamerican = {{Αγγλικά}{Αγγλικά}}, + langbrazilian = {{Βραζιλιάνικα}{Βραζιλιάνικα}}, +% langbulgarian = {{}{}},% FIXME: missing +% langcatalan = {{}{}},% FIXME: missing +% langcroatian = {{}{}},% FIXME: missing +% langczech = {{}{}},% FIXME: missing + langdanish = {{Δανέζικα}{Δανέζικα}}, + langdutch = {{Ολλανδικά}{Ολλανδικά}}, + langenglish = {{Αγγλικά}{Αγγλικά}}, +% langestonian = {{}{}},% FIXME: missing +% langfinnish = {{}{}},% FIXME: missing + langfrench = {{Γαλλικά}{Γαλλικά}}, + langgalician = {{Γαλικιανή}{Γαλικιανή}}, + langgerman = {{Γερμανικά}{Γερμανικά}}, + langgreek = {{Ελληνικά}{Ελληνικά}}, +% langhungarian = {{}{}}, % FIXME: missing + langitalian = {{Ιταλικά}{Ιταλικά}}, + langlatin = {{Λατινικά}{Λατινικά}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{Νορβηγικά}{Νορβηγικά}}, +% langpolish = {{}{}},% FIXME: missing + langportuguese = {{Πορτογαλικά}{Πορτογαλικά}}, +% langrussian = {{}{}},% FIXME: missing +% langslovak = {{}{}},% FIXME: missing +% langslovene = {{}{}},% FIXME: missing + langspanish = {{Ισπανικά}{Ισπανικά}}, + langswedish = {{Σουηδικά}{Σουηδικά}}, + fromamerican = {{από τα Αγγλικά}{από τα Αγγλικά}}, + frombrazilian = {{από τα Βραζιλιάνικα}{από τα Βραζιλιάνικα}}, +% frombulgarian = {{}{}},% FIXME: missing +% fromcatalan = {{}{}},% FIXME: missing +% fromcroatian = {{}{}},% FIXME: missing +% fromczech = {{}{}},% FIXME: missing + fromdanish = {{από τα Δανέζικα}{από τα Δανέζικα}}, + fromdutch = {{από τα Ολλανδικά}{από τα Ολλανδικά}}, + fromenglish = {{από τα Αγγλικά}{από τα Αγγλικά}}, +% fromestonian = {{}{}},% FIXME: missing +% fromfinnish = {{}{}},% FIXME: missing + fromfrench = {{από τα Γαλλικά}{από τα Γαλλικά}}, + fromgalician = {{από τα Γαλικιανή}{από τα Γαλικιανή}}, + fromgerman = {{από τα Γερμανικά}{από τα Γερμανικά}}, + fromgreek = {{από τα Ελληνικά}{από τα Ελληνικά}}, +% fromhungarian = {{}{}}, % FIXME: missing + fromitalian = {{από τα Ιταλικά}{από τα Ιταλικά}}, + fromlatin = {{από τα Λατινικά}{από τα Λατινικά}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{από τα Νορβηγικά}{από τα Νορβηγικά}}, +% frompolish = {{}{}},% FIXME: missing + fromportuguese = {{από τα Πορτογαλικά}{από τα Πορτογαλικά}}, +% fromrussian = {{}{}},% FIXME: missing +% fromslovak = {{}{}},% FIXME: missing +% fromslovene = {{}{}},% FIXME: missing + fromspanish = {{από τα Ισπανικά}{από τα Ισπανικά}}, + fromswedish = {{από τα Σουηδικά}{από τα Σουηδικά}}, + countryde = {{Γερμανία}{DE}}, + countryeu = {{Ευρωπαϊκή Ένωση}{ΕΕ}}, + countryep = {{Ευρωπαϊκή Ένωση}{ΕΕ}}, + countryfr = {{Γαλλία}{FR}}, + countryuk = {{Μεγάλη Βρετανία}{GB}}, + countryus = {{Ηνωμένες Πολιτείες της Αμερικής}{ΗΠΑ}}, + patent = {{δίπλωμα ευρεσιτεχνίας} + {διπλ\adddot\ ευρεσ\adddot}}, + patentde = {{γερμανικό δίπλωμα ευρεσιτεχνίας} + {γερμ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patenteu = {{ευρωπαϊκό δίπλωμα ευρεσιτεχνίας} + {ευρωπ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patentfr = {{γαλλικό δίπλωμα ευρεσιτεχνίας} + {γαλλ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patentuk = {{βρετανικό δίπλωμα ευρεσιτεχνίας} + {βρετ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patentus = {{αμερικανικό δίπλωμα ευρεσιτεχνίας} + {αμερ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patreq = {{αίτηση διπλώματος ευρεσιτεχνίας} + {αιτ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patreqde = {{αίτηση γερμανικού διπλώματος ευρεσιτεχνίας} + {αιτ\adddot\ γερμ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patreqeu = {{αίτηση ευρωπαϊκού διπλώματος ευρεσιτεχνίας} + {αιτ\adddot\ ευρωπ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patreqfr = {{αίτηση γαλλικού διπλώματος ευρεσιτεχνίας} + {αιτ\adddot\ γαλλ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patrequk = {{αίτηση βρετανικού διπλώματος ευρεσιτεχνίας} + {αιτ\adddot\ βρετ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + patrequs = {{αίτηση αμερικανικού διπλώματος ευρεσιτεχνίας} + {αιτ\adddot\ αμερ\adddot\ διπλ\adddot\ ευρεσ\adddot}}, + file = {{αρχείο}{αρχείο}}, + library = {{βιβλιοθήκη}{βιβλιοθήκη}}, + abstract = {{περίληψη}{περίληψη}}, + annotation = {{σχολιασμοί}{σχολιασμοί}}, + commonera = {{Κοινή Χρονολογία}{KX}}, + beforecommonera = {{πριν από την Κοινή Χρονολογία}{π\adddot Κ\adddot Χ\adddot}}, + annodomini = {{μετά Χριστόν}{μ\adddot Χ\adddot}}, + beforechrist = {{προ Χριστού}{π\adddot Χ\adddot}}, +% circa = {{}{}},% FIXME: missing +% spring = {{}{}},% FIXME: missing +% summer = {{}{}},% FIXME: missing +% autumn = {{}{}},% FIXME: missing +% winter = {{}{}},% FIXME: missing +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{π\adddot μ\adddot}{π\adddot μ\adddot}}, + pm = {{μ\adddot μ\adddot}{μ\adddot μ\adddot}}, +} + +\protected\gdef\lbx@gr@mkbibmonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{datejanuary}% + \or\abx@bibmonth{datefebruary}% + \or\abx@bibmonth{datemarch}% + \or\abx@bibmonth{dateapril}% + \or\abx@bibmonth{datemay}% + \or\abx@bibmonth{datejune}% + \or\abx@bibmonth{datejuly}% + \or\abx@bibmonth{dateaugust}% + \or\abx@bibmonth{dateseptember}% + \or\abx@bibmonth{dateoctober}% + \or\abx@bibmonth{datenovember}% + \or\abx@bibmonth{datedecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/hungarian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/hungarian-ms.lbx new file mode 100644 index 00000000000..8e2dbd86412 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/hungarian-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{hungarian-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{magyar} +\InheritBibliographyStrings{magyar} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/icelandic-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/icelandic-ms.lbx new file mode 100644 index 00000000000..c6fb180a5c5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/icelandic-ms.lbx @@ -0,0 +1,505 @@ +\ProvidesFile{icelandic-ms.lbx} +[\abx@lbxid] + +% Translator's notes: +% - Translated by a native speaker (Baldur Kristinsson). +% - Many bibstrings remain untranslated. +% - Needs fine tuning, since grammatical peculiarities of Icelandic +% make straight translations difficult. + +\DeclareRedundantLanguages{icelandic}{icelandic} + +% The beginning of this is the same as for Danish, since conventions are similar +\DeclareBibliographyExtras{% + \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} + {} + {\mkbibordinal{\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}}\adddot}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\adddot}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + % Later, it would be more elegant to reverse the order of the name and the localized + % bibstrings, in order to avoid problems with regard to declension. This has to be done + % in a coordinated manner, however, and a lot of macros would have to be redefined + % at the same time. The below, inactive code shows the general idea. + % + % \savebibmacro{bytranslator}% + %\renewbibmacro{bytranslator}{% + % \ifnameundef{translator} + % {} + % {\printnames[bytranslator]{translator}% + % \setunit{\addspace}% + % \bibstring{bytranslator}% + % }}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +%\UndeclareBibliographyExtras{% +% \restorebibmacro{bytranslator} +%} + +\DeclareBibliographyStrings{% + bibliography = {{Heimildaskr\'a}{Heimildaskr\'a}}, + references = {{Heimildir}{Heimildir}}, + shorthands = {{Listi yfir skammstafanir}{Skammstafanir}}, + editor = {{ristj\'ori}{ritstj\adddot}}, + editors = {{ritstj\'orar}{ritstj\adddot}}, + compiler = {{samantekt}{samantekt}}, + compilers = {{samantekt}{samantekt}}, +% FIXME: redactor and editor are the same string; +% is that acceptable? + redactor = {{ritstj\'ori}{ritstj\adddot}}, + redactors = {{ritstj\'orar}{ritstj\adddot}}, + reviser = {{\'utg\'afuendursko\dh{}andi}{endursk\adddot}}, + revisers = {{\'utg\'afuendursko\dh{}endur}{endursk\adddot}}, +% founder = {{}{}},% FIXME: missing +% founders = {{}{}},% FIXME: missing +% continuator = {{}{}},% FIXME: missing +% continuators = {{}{}},% FIXME: missing +% collaborator = {{}{}},% FIXME: missing +% collaborators = {{}{}},% FIXME: missing +% FIXME: A great deal of conflation here, as well as simplifications in order +% to avoid problems associated with declension: + translator = {{\th\'y\dh{}andi}{\th\'y\dh\adddot}}, + translators = {{\th\'y\dh{}endur}{\th\'y\dh\adddot}}, + commentator = {{sk\'yrandi}{sk\'yr\adddot}}, + commentators = {{sk\'yrendur}{sk\'yr\adddot}}, + annotator = {{\'utsk\'yrandi}{\'utsk\'yr\adddot}}, + annotators = {{\'utsk\'yrendur}{\'utsk\'yr\adddot}}, + commentary = {{sk\'yringar}{sk\'yr\adddot}}, + annotations = {{\'utsk\'yringar}{\'utsk\'yr\adddot}}, + introduction = {{inngangur}{inng\adddot}}, + foreword = {{form\'ali}{form\'ali}}, + afterword = {{eftirm\'ali}{eftirm\'ali}}, +% editortr = {{}{}},% FIXME: missing +% editorstr = {{}{}},% FIXME: missing +% editorco = {{}{}},% FIXME: missing +% editorsco = {{}{}},% FIXME: missing +% editoran = {{}{}},% FIXME: missing +% editorsan = {{}{}},% FIXME: missing +% editorin = {{}{}},% FIXME: missing +% editorsin = {{}{}},% FIXME: missing +% editorfo = {{}{}},% FIXME: missing +% editorsfo = {{}{}},% FIXME: missing +% editoraf = {{}{}},% FIXME: missing +% editorsaf = {{}{}},% FIXME: missing +% editortrco = {{}{}},% FIXME: missing +% editorstrco = {{}{}},% FIXME: missing +% editortran = {{}{}},% FIXME: missing +% editorstran = {{}{}},% FIXME: missing +% editortrin = {{}{}},% FIXME: missing +% editorstrin = {{}{}},% FIXME: missing +% editortrfo = {{}{}},% FIXME: missing +% editorstrfo = {{}{}},% FIXME: missing +% editortraf = {{}{}},% FIXME: missing +% editorstraf = {{}{}},% FIXME: missing +% editorcoin = {{}{}},% FIXME: missing +% editorscoin = {{}{}},% FIXME: missing +% editorcofo = {{}{}},% FIXME: missing +% editorscofo = {{}{}},% FIXME: missing +% editorcoaf = {{}{}},% FIXME: missing +% editorscoaf = {{}{}},% FIXME: missing +% editoranin = {{}{}},% FIXME: missing +% editorsanin = {{}{}},% FIXME: missing +% editoranfo = {{}{}},% FIXME: missing +% editorsanfo = {{}{}},% FIXME: missing +% editoranaf = {{}{}},% FIXME: missing +% editorsanaf = {{}{}},% FIXME: missing +% editortrcoin = {{}{}},% FIXME: missing +% editorstrcoin = {{}{}},% FIXME: missing +% editortrcofo = {{}{}},% FIXME: missing +% editorstrcofo = {{}{}},% FIXME: missing +% editortrcoaf = {{}{}},% FIXME: missing +% editorstrcoaf = {{}{}},% FIXME: missing +% editortranin = {{}{}},% FIXME: missing +% editorstranin = {{}{}},% FIXME: missing +% editortranfo = {{}{}},% FIXME: missing +% editorstranfo = {{}{}},% FIXME: missing +% editortranaf = {{}{}},% FIXME: missing +% editorstranaf = {{}{}},% FIXME: missing +% translatorco = {{}{}},% FIXME: missing +% translatorsco = {{}{}},% FIXME: missing +% translatoran = {{}{}},% FIXME: missing +% translatorsan = {{}{}},% FIXME: missing +% translatorin = {{}{}},% FIXME: missing +% translatorsin = {{}{}},% FIXME: missing +% translatorfo = {{}{}},% FIXME: missing +% translatorsfo = {{}{}},% FIXME: missing +% translatoraf = {{}{}},% FIXME: missing +% translatorsaf = {{}{}},% FIXME: missing +% translatorcoin = {{}{}},% FIXME: missing +% translatorscoin = {{}{}},% FIXME: missing +% translatorcofo = {{}{}},% FIXME: missing +% translatorscofo = {{}{}},% FIXME: missing +% translatorcoaf = {{}{}},% FIXME: missing +% translatorscoaf = {{}{}},% FIXME: missing +% translatoranin = {{}{}},% FIXME: missing +% translatorsanin = {{}{}},% FIXME: missing +% translatoranfo = {{}{}},% FIXME: missing +% translatorsanfo = {{}{}},% FIXME: missing +% translatoranaf = {{}{}},% FIXME: missing +% translatorsanaf = {{}{}},% FIXME: missing +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{h\"ofundur}{h\"of\adddot}}, + byeditor = {{gefi\dh{} \'ut af}{gefi\dh{} \'ut af}}, + bycompiler = {{teki\dh{} saman af}{teki\dh{} saman af}}, + byredactor = {{endursko\dh{}a\dh{} af}{endursk\adddot}}, +% byreviser = {{}{}},% FIXME: missing +% byreviewer = {{}{}},% FIXME: missing +% byfounder = {{}{}},% FIXME: missing +% bycontinuator = {{}{}},% FIXME: missing +% bycollaborator = {{}{}},% FIXME: missing +% FIXME: For some of the keys below, the better way would be to postpend +% rather than prepend the localized bibstrings. That would however require a +% redefinition of many macros. Later, perhaps... + bytranslator = {{\th\'y\dh{}ing \lbx@lfromlang}{\th\'y\dh\adddot{} \lbx@sfromlang}}, + bycommentator = {{sk\'yringar eftir}{sk\'yr\adddot}}, + byannotator = {{\'utsk\'yringar eftir}{\'utsk\'yr\adddot}}, + withcommentator = {{me\dh{} sk\'yringum eftir}{m\adddot sk\'yr\adddot e\adddot}}, + withannotator = {{me\dh{} \'utsk\'yringum eftir}{m\adddot \'utsk\'yr\adddot e\adddot}}, + withintroduction = {{me\dh{} inngangi eftir}{inng\adddot}}, + withforeword = {{me\dh{} form\'ala eftir}{m\adddot form\adddot e\adddot}}, + withafterword = {{me\dh{} eftirm\'ala eftir}{m\adddot eftirm\adddot e\adddot}}, + byeditortr = {{\'utg\'afa og \th\'y\dh{}ing \lbx@lfromlang}% + {\'utg\adddot{} og \th\'y\dh\adddot}}, + byeditorco = {{\'utg\'a fa og sk\'yringar eftir}% + {\'utg\adddot{} og sk\'yr\adddot}}, + byeditoran = {{\'utg\'a fa og \'utsk\'yringar eftir}% + {\'utg\adddot{} og \'utsk\'yr\adddot}}, + byeditorin = {{\'utg\'afa og inngangur eftir}% + {\'utg\adddot{} og inng\adddot}}, + byeditorfo = {{\'utg\'afa og form\'ali eftir}% + {\'utg\adddot{} og form\adddot e\adddot}}, + byeditoraf = {{\'utg\'afa og eftirm\'ali eftir}% + {\'utg\adddot{} og eftirm\adddot e\adddot}}, + byeditortrco = {{\'utg\'afa \th\'y\dh{}ing \lbx@sfromlang\ og sk\'yringar eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang\ og sk\'yr\adddot}}, + byeditortran = {{\'utg\'afa \th\'y\dh{}ing \lbx@sfromlang\ og \'utsk\'yringar eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang\ og \'utsk\'yr\adddot}}, + byeditortrin = {{\'utg\'afa \th\'y\dh{}ing \lbx@sfromlang\ og inngangur eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang\ og inng\adddot}}, + byeditortrfo = {{\'utg\'afa \th\'y\dh{}ing \lbx@sfromlang\ og form\'ali eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang\ og form\adddot}}, + byeditortraf = {{\'utg\'afa \th\'y\dh{}ing \lbx@sfromlang\ og eftirm\'ali eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang\ og eftirm\adddot}}, + byeditorcoin = {{\'utg\'afa, sk\'yringar og inngangur eftir}% + {\'utg\adddot, sk\'yr\adddot{} og inng\adddot}}, + byeditorcofo = {{\'utg\'afa, sk\'yringar og form\'ali eftir}% + {\'utg\adddot, sk\'yr\adddot{} og form\adddot}}, + byeditorcoaf = {{\'utg\'afa, sk\'yringar og eftirm\'ali eftir}% + {\'utg\adddot, sk\'yr\adddot{} og eftirm\adddot}}, + byeditoranin = {{\'utg\'afa, \'utsk\'yringar og inngangur eftir}% + {\'utg\adddot, \'utsk\'yr\adddot{} og inng\adddot}}, + byeditoranfo = {{\'utg\'afa, \'utsk\'yringar og form\'ali eftir}% + {\'utg\adddot, \'utsk\'yr\adddot{} og form\adddot}}, + byeditoranaf = {{\'utg\'afa, sk\'yringar og eftirm\'ali eftir}% + {\'utg\adddot, sk\'yr\adddot{} og eftirm\adddot}}, + byeditortrcoin = {{\'utg\'afa, \th\'y\dh{}ing \lbx@sfromlang, sk\'yringar og inngangur eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang, sk\'yr\adddot{} og inng\adddot}}, + byeditortrcofo = {{\'utg\'afa, \th\'y\dh{}ing \lbx@sfromlang, sk\'yringar og form\'ali eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang, sk\'yr\adddot{} og form\adddot}}, + byeditortrcoaf = {{\'utg\'afa, \th\'y\dh{}ing \lbx@sfromlang, sk\'yringar og eftirm\'ali eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang, sk\'yr\adddot{} og eftirm\adddot}}, + byeditortranin = {{\'utg\'afa, \th\'y\dh{}ing \lbx@sfromlang, \'utsk\'yringar og inngangur eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang, \'utsk\'yr\adddot{} og inng\adddot}}, + byeditortranfo = {{\'utg\'afa, \th\'y\dh{}ing \lbx@sfromlang, \'utsk\'yringar og form\'ali eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang, \'utsk\'yr\adddot{} og form\adddot}}, + byeditortranaf = {{\'utg\'afa, \th\'y\dh{}ing \lbx@sfromlang, \'utsk\'yringar og eftirm\'ali eftir}% + {\'utg\adddot, \th\'y\dh\adddot{} \lbx@sfromlang, \'utsk\'yr\adddot{} og eftirm\adddot}}, + bytranslatorco = {{\th\'y\dh{}ing \lbx@lfromlang\ og sk\'yringar eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang\ og sk\'yr\adddot}}, + bytranslatoran = {{\th\'y\dh{}ing \lbx@lfromlang\ og \'utsk\'yringar eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang\ og \'utsk\'yr\adddot}}, + bytranslatorin = {{\th\'y\dh{}ing \lbx@lfromlang\ og inngangur eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang\ og inng\adddot}}, + bytranslatorfo = {{\th\'y\dh{}ing \lbx@lfromlang\ og form\'ali eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang\ og form\adddot}}, + bytranslatoraf = {{\th\'y\dh{}ing \lbx@lfromlang\ og eftirm\'ali eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang\ og eftirm\adddot}}, + bytranslatorcoin = {{\th\'y\dh{}ing \lbx@lfromlang, sk\'yringar og inngangur eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang, sk\'yr\adddot{} og inng\adddot}}, + bytranslatorcofo = {{\th\'y\dh{}ing \lbx@lfromlang, sk\'yringar og form\'ali eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang, sk\'yr\adddot{} og form\adddot}}, + bytranslatorcoaf = {{\th\'y\dh{}ing \lbx@lfromlang, sk\'yringar og eftirm\'ali eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang, sk\'yr\adddot{} og eftirm\adddot}}, + bytranslatoranin = {{\th\'y\dh{}ing \lbx@lfromlang, \'utsk\'yringar og inngangur eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang, \'utsk\'yr\adddot{} og inng\adddot}}, + bytranslatoranfo = {{\th\'y\dh{}ing \lbx@lfromlang, \'utsk\'yringar og form\'ali eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang, \'utsk\'yringar og form\adddot}}, + bytranslatoranaf = {{\th\'y\dh{}ing \lbx@lfromlang, \'utsk\'yringar og eftirm\'ali eftir}% + {\th\'y\dh\adddot{} \lbx@lfromlang, \'utsk\'yr\adddot{} og eftirm\adddot}}, + and = {{og}{og}}, + andothers = {{\'asamt fleirum}{o\adddot fl\adddot}}, + andmore = {{og fleiri}{o\adddot fl\adddot}}, + volume = {{bindi}{bd\adddot}}, + volumes = {{bindi}{bd\adddot}}, + involumes = {{\'{\i}}{\'{\i}}}, + jourvol = {{\'argangur}{\'arg\adddot}}, + jourser = {{r\"o\dh}{r\"o\dh}}, + book = {{b\'ok}{b\'ok}}, + part = {{hluti}{hluti}}, + issue = {{hefti}{hefti}}, + newseries = {{n\'y ritr\"o\dh}{n\'y ritr\"o\dh}}, + oldseries = {{g\"omul ritr\"o\dh}{g\"omul ritr\"o\dh}}, + edition = {{\'utg\'afa}{\'utg\adddot}}, + reprint = {{endurprentun}{endurpr\adddot}}, + reprintof = {{endurprentun \'a}{endurpr\adddot{} \'a}}, + reprintas = {{endurprenta\dh{} sem}{endurpr\adddot{} sem}}, + reprintfrom = {{endurprentun \'ur}{endurpr\adddot{} \'ur}}, + translationof = {{\th'yth ing \'a}{\th\'y\dh\adddot{} \'a}}, + translationas = {{\th'ytt sem}{\th\'ytt sem}}, + translationfrom = {{\th'yth ing \'ur}{\th\'y\dh\adddot{} \'ur}}, + reviewof = {{ums\"ogn um}{ums\"ogn um}}, +% origpubas = {{}{}},% FIXME: missing +% origpubin = {{}{}},% FIXME: missing +% astitle = {{}{}},% FIXME: missing + nodate = {{\'an \'ars}{\'an \'ars}}, + page = {{bla\dh{}s\'{\i}\dh{}a}{bls\adddot}}, + pages = {{bla\dh{}s\'{\i}\dh{}ur}{bls\adddot}}, + column = {{d\'alkur}{dlk\adddot}}, + columns = {{d\'alkar}{dlk\adddot}}, + line = {{l\'{\i}na}{l\adddot}}, + lines = {{l\'{\i}nur}{l\adddot}}, + verse = {{erindi}{er\adddot}}, + verses = {{erindi}{er\adddot}}, + section = {{grein}{\S}}, + sections = {{grein}{\S\S}}, + paragraph = {{m\'alsgrein}{mgr\adddot}}, + paragraphs = {{m\'alsgreinar}{mgr\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 = {{\'{\i}}{\'{\i}}}, + inseries = {{ritr\"o\dh{}in}{ritr\"o\dh{}in}}, + ofseries = {{\'ur ritr\"o\dh{}inni}{\'ur ritr\adddot}}, + number = {{n\'umer}{nr\adddot}}, + chapter = {{kafli}{k\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{meistarapr\'ofsritger\dh}{meistararitg\adddot}}, + phdthesis = {{doktorsritger\dh}{doktorsritg\adddot}}, + candthesis = {{kand\'{\i}datsritger\dh}{kand\'{\i}datsritg\adddot}}, + resreport = {{ranns\'oknarsk\'yrsla}{ranns\'oknarsk\'yrsla}}, + techreport = {{t\ae{}knileg sk\'yrsla}{t\ae{}knileg sk\'yrsla}}, + software = {{hugb\'una\dh{}ur}{hugb\'una\dh{}ur}}, + datacd = {{gagnadiskur}{gagnadiskur}}, + audiocd = {{hlj\'o\dh{}diskur}{hlj\'o\dh{}diskur}}, + version = {{\'utg\'afa}{\'utg\adddot}}, + url = {{vefsl\'o\dh{}}{vefsl\'o\dh{}}}, +% urlfrom = {{}{}},% FIXME: missing + urlseen = {{sko\dh{}a\dh}{sko\dh{}a\dh}}, + inpreparation = {{\'{\i} vinnslu}{\'{\i} vinnslu}}, + submitted = {{afhent til birtingar}{afhent til birtingar}}, + forthcoming = {{mun birtast}{mun birtast}}, + inpress = {{\'{\i} prentun}{\'{\i} prentun}}, + prepublished = {{forbirt}{forbirt}}, + citedas = {{h\'er eftir skammstafa\dh}{h\'er eftir skst\adddot}}, + seenote = {{sj\'a athugasemd}{sj\'a aths\adddot}}, + quotedin = {{tilvitnun samkv\ae{}mt}{tilvitnun skv\adddot}}, + idem = {{sama heimild}{s\adddot h\adddot}}, + idemsf = {{sama heimild}{s\adddot h\adddot}}, + idemsm = {{sama heimild}{s\adddot h\adddot}}, + idemsn = {{sama heimild}{s\adddot h\adddot}}, + idempf = {{sama heimild}{s\adddot h\adddot}}, + idempm = {{sama heimild}{s\adddot h\adddot}}, + idempn = {{sama heimild}{s\adddot h\adddot}}, + idempp = {{sama heimild}{s\adddot h\adddot}}, + ibidem = {{sama heimild}{s\adddot h\adddot}}, + opcit = {{sama rit}{sama rit}}, + loccit = {{sami sta\dh{}ur}{s\adddot st\adddot}}, + confer = {{sbr\adddot}{sbr\adddot}}, + sequens = {{o\adddot \'afr\adddot}{o\adddot \'afr\adddot}}, + sequentes = {{o\adddot \'afr\adddot}{o\adddot \'afr\adddot}}, + passim = {{v\'{\i}\dh{}a}{v\'{\i}\dh{}a}}, + see = {{sj\'a}{sj\'a}}, + seealso = {{sj\'a einnig}{sj\'a einnig}}, + backrefpage = {{sj\'a bla\dh{}s\'{\i}u}{sj\'a bls\adddot}}, + backrefpages = {{sj\'a bla\dh{}s\'{\i}ur}{sj\'a bls\adddot}}, + january = {{jan\'uar}{jan\adddot}}, + february = {{febr\'uar}{feb\adddot}}, + march = {{mars}{mar\adddot}}, + april = {{apr\'{\i}l}{apr\adddot}}, + may = {{ma\'{\i}}{ma\'{\i}}}, + june = {{j\'un\'{\i}}{j\'un\adddot}}, + july = {{j\'ul\'{\i}}{j\'ul\adddot}}, + august = {{\'ag\'ust}{\'ag\'u\adddot}}, + september = {{september}{sep\adddot}}, + october = {{okt\'ober}{okt\adddot}}, + november = {{n\'ovember}{n\'ov\adddot}}, + december = {{desember}{des\adddot}}, + langamerican = {{bandar\'{\i}ska}{bandar\'{\i}ska}}, +% langbrazilian = {{}{}},% FIXME: missing +% langbulgarian = {{}{}},% FIXME: missing +% langcatalan = {{}{}},% FIXME: missing +% langcroatian = {{}{}},% FIXME: missing +% langczech = {{}{}},% FIXME: missing + langdanish = {{danska}{danska}}, + langdutch = {{hollenska}{hollenska}}, + langenglish = {{enska}{enska}}, +% langestonian = {{}{}},% FIXME: missing + langfinnish = {{finnska}{finnska}}, + langfrench = {{franska}{franska}}, + langgalician = {{galis\'iska}{galis\'iska}}, + langgerman = {{\th\'yska}{\th\'yska}}, + langgreek = {{gr\'{\i}ska}{gr\'{\i}ska}}, + langhungarian = {{ungverska}{ungverska}}, + langitalian = {{\'{\i}talska}{\'{\i}talska}}, + langlatin = {{lat\'{\i}na}{lat\'{\i}na}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{norska}{norska}}, + langpolish = {{p\'olska}{p\'olska}}, + langportuguese = {{port\'ugalska}{port\'ugalska}}, + langrussian = {{r\'ussneska}{r\'ussneska}}, +% langslovak = {{}{}},% FIXME: missing +% langslovene = {{}{}},% FIXME: missing + langspanish = {{sp\ae{}nska}{sp\ae{}nska}}, + langswedish = {{s\ae{}nska}{s\ae{}nska}}, + fromamerican = {{\'ur bandar\'{\i}sku}{\'ur bandar\'{\i}sku}}, +% frombrazilian = {{}{}},% FIXME: missing +% frombulgarian = {{}{}},% FIXME: missing +% fromcatalan = {{}{}},% FIXME: missing +% fromcroatian = {{}{}},% FIXME: missing +% fromczech = {{}{}},% FIXME: missing + fromdanish = {{\'ur d\"onsku}{\'ur d\"onsku}}, + fromdutch = {{\'ur hollensku}{\'ur hollensku}}, + fromenglish = {{\'ur ensku}{\'ur ensku}}, +% fromestonian = {{}{}},% FIXME: missing + fromfinnish = {{\'ur finnsku}{\'ur finnsku}}, + fromfrench = {{\'ur fr\"onsku}{\'ur fr\"onsku}}, + fromgalician = {{\'ur galis\'isku}{\'ur galis\'isku}}, + fromgerman = {{\'ur \th\'ysku}{\'ur \th\'ysku}}, + fromgreek = {{\'ur gr\'{\i}sku}{\'ur gr\'{\i}sku}}, + fromhungarian = {{\'ur ungversku}{\'ur ungversku}}, + fromitalian = {{\'ur \'{\i}t\"olsku}{\'ur \'{\i}t\"olsku}}, + fromlatin = {{\'ur lat\'{\i}nu}{\'ur lat\'{\i}nu}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{\'ur norsku}{\'ur norsku}}, + frompolish = {{\'ur p\'olsku}{\'ur p\'olsku}}, + fromportuguese = {{\'ur port\'ug\"olsku}{\'ur port\'ug\"olsku}}, + fromrussian = {{\'ur r\'ussnesku}{\'ur r\'ussnesku}}, +% fromslovak = {{}{}},% FIXME: missing +% fromslovene = {{}{}},% FIXME: missing + fromspanish = {{\'ur sp\ae{}nsku}{\'ur sp\ae{}nsku}}, + fromswedish = {{\'ur s\ae{}nsku}{\'ur s\ae{}nsku}}, + countryde = {{\TH\'yskaland}{DE}}, + countryeu = {{Evr\'opusambandi\dh}{EU}}, + countryep = {{Evr\'opusambandi\dh}{EP}}, + countryfr = {{Frakkland}{FR}}, + countryuk = {{Bretland}{GB}}, + countryus = {{Bandar\'{\i}kin}{US}}, + patent = {{einkaleyfi}{einkaleyfi}}, + patentde = {{\th\'yskt einkaleyfi}{\th\'yskt einkaleyfi}}, + patenteu = {{evr\'opskt einkaleyfi}{evr\'opskt einkaleyfi}}, + patentfr = {{franskt einkaleyfi}{franskt einkaleyfi}}, + patentuk = {{breskt einkaleyfi}{breskt einkaleyfi}}, + patentus = {{bandar\'{\i}skt einkaleyfi}{bandar\'{\i}skt einkaleyfi}}, + patreq = {{ums\'okn um einkaleyfi}{ums\'okn um einkaleyfi}}, + patreqde = {{ums\'okn um \th\'yskt einkaleyfi}{ums\'okn um \th\'yskt einkaleyfi}}, + patreqeu = {{ums\'okn um evr\'opskt einkaleyfi}{ums\'okn um evr\'opskt einkaleyfi}}, + patreqfr = {{ums\'okn um franskt einkaleyfi}{ums\'okn um franskt einkaleyfi}}, + patrequk = {{ums\'okn um breskt einkaleyfi}{ums\'okn um breskt einkaleyfi}}, + patrequs = {{ums\'okn um bandar\'{\i}skt einkaleyfi}{ums\'okn um bandar\'{\i}skt einkaleyfi}}, + file = {{skr\'a}{skr\'a}}, + library = {{safn}{safn}}, + abstract = {{\'utdr\'attur}{\'utdr\'attur}}, + annotation = {{athugagrein}{athugagrein}}, + commonera = {{kristi\th t\'{\i}matal}{l\adddot t\adddot}}, + beforecommonera = {{fyrir kristi\th t\'{\i}matal}{f\adddot l\adddot t\adddot}}, + annodomini = {{eftir Krist}{e\adddot Kr\adddot}}, + beforechrist = {{fyrir Krist}{f\adddot Kr\adddot}}, +% circa = {{}{}},% FIXME: missing +% spring = {{}{}},% FIXME: missing +% summer = {{}{}},% FIXME: missing +% autumn = {{}{}},% FIXME: missing +% winter = {{}{}},% FIXME: missing +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{f\adddot h\adddot}{f\adddot h\adddot}}, + pm = {{e\adddot h\adddot}{e\adddot h\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/italian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/italian-ms.lbx new file mode 100644 index 00000000000..6c95265ccce --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/italian-ms.lbx @@ -0,0 +1,486 @@ +\ProvidesFile{italian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{italian}{italian} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord#1{\stripzeros{#1}\textsuperscript{o}}% + \protected\def\mkbibfemord#1{\stripzeros{#1}\textsuperscript{a}}% + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\@bsphack % ignore day when auto-capitalizing month name + \stripzeros{\thefield{#3}}% + \@esphack % ignore day when auto-capitalizing month name + \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}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografia}{Bibliografia}}, + references = {{Riferimenti bibliografici}{Riferimenti bibliografici}}, + shorthands = {{Elenco delle sigle}{Sigle}}, + editor = {{curatore}{cur\adddot}}, + editors = {{curatori}{cur\adddot}}, + compiler = {{compilatore}{comp\adddot}}, + compilers = {{compilatori}{comp\adddot}}, + redactor = {{redattore}{red\adddot}}, + redactors = {{redattori}{red\adddot}}, +% reviser = {{}{}},% FIXME: missing +% revisers = {{}{}},% FIXME: missing +% founder = {{}{}},% FIXME: missing +% founders = {{}{}},% FIXME: missing +% continuator = {{}{}},% FIXME: missing +% continuators = {{}{}},% FIXME: missing + collaborator = {{collaboratore}{con la collab\adddotspace di}}, + collaborators = {{collaboratore}{con la collab\adddotspace di}}, + translator = {{traduttore}{trad\adddot}}, + translators = {{traduttori}{trad\adddot}}, + commentator = {{commentatore}{comment\adddot}}, + commentators = {{commentatori}{comment\adddot}}, + annotator = {{annotatore}{annot\adddot}}, + annotators = {{annotatore}{annot\adddot}}, + commentary = {{commenti}{comm\adddot}}, + annotations = {{annotazioni}{annot\adddot}}, + introduction = {{introduzione}{introd\adddot}}, + foreword = {{prefazione}{pref\adddot}}, + afterword = {{postfazione}{postf\adddot}}, +% editortr = {{}{}},% FIXME: missing +% editorstr = {{}{}},% FIXME: missing +% editorco = {{}{}},% FIXME: missing +% editorsco = {{}{}},% FIXME: missing +% editoran = {{}{}},% FIXME: missing +% editorsan = {{}{}},% FIXME: missing +% editorin = {{}{}},% FIXME: missing +% editorsin = {{}{}},% FIXME: missing +% editorfo = {{}{}},% FIXME: missing +% editorsfo = {{}{}},% FIXME: missing +% editoraf = {{}{}},% FIXME: missing +% editorsaf = {{}{}},% FIXME: missing +% editortrco = {{}{}},% FIXME: missing +% editorstrco = {{}{}},% FIXME: missing +% editortran = {{}{}},% FIXME: missing +% editorstran = {{}{}},% FIXME: missing +% editortrin = {{}{}},% FIXME: missing +% editorstrin = {{}{}},% FIXME: missing +% editortrfo = {{}{}},% FIXME: missing +% editorstrfo = {{}{}},% FIXME: missing +% editortraf = {{}{}},% FIXME: missing +% editorstraf = {{}{}},% FIXME: missing +% editorcoin = {{}{}},% FIXME: missing +% editorscoin = {{}{}},% FIXME: missing +% editorcofo = {{}{}},% FIXME: missing +% editorscofo = {{}{}},% FIXME: missing +% editorcoaf = {{}{}},% FIXME: missing +% editorscoaf = {{}{}},% FIXME: missing +% editoranin = {{}{}},% FIXME: missing +% editorsanin = {{}{}},% FIXME: missing +% editoranfo = {{}{}},% FIXME: missing +% editorsanfo = {{}{}},% FIXME: missing +% editoranaf = {{}{}},% FIXME: missing +% editorsanaf = {{}{}},% FIXME: missing +% editortrcoin = {{}{}},% FIXME: missing +% editorstrcoin = {{}{}},% FIXME: missing +% editortrcofo = {{}{}},% FIXME: missing +% editorstrcofo = {{}{}},% FIXME: missing +% editortrcoaf = {{}{}},% FIXME: missing +% editorstrcoaf = {{}{}},% FIXME: missing +% editortranin = {{}{}},% FIXME: missing +% editorstranin = {{}{}},% FIXME: missing +% editortranfo = {{}{}},% FIXME: missing +% editorstranfo = {{}{}},% FIXME: missing +% editortranaf = {{}{}},% FIXME: missing +% editorstranaf = {{}{}},% FIXME: missing +% translatorco = {{}{}},% FIXME: missing +% translatorsco = {{}{}},% FIXME: missing +% translatoran = {{}{}},% FIXME: missing +% translatorsan = {{}{}},% FIXME: missing +% translatorin = {{}{}},% FIXME: missing +% translatorsin = {{}{}},% FIXME: missing +% translatorfo = {{}{}},% FIXME: missing +% translatorsfo = {{}{}},% FIXME: missing +% translatoraf = {{}{}},% FIXME: missing +% translatorsaf = {{}{}},% FIXME: missing +% translatorcoin = {{}{}},% FIXME: missing +% translatorscoin = {{}{}},% FIXME: missing +% translatorcofo = {{}{}},% FIXME: missing +% translatorscofo = {{}{}},% FIXME: missing +% translatorcoaf = {{}{}},% FIXME: missing +% translatorscoaf = {{}{}},% FIXME: missing +% translatoranin = {{}{}},% FIXME: missing +% translatorsanin = {{}{}},% FIXME: missing +% translatoranfo = {{}{}},% FIXME: missing +% translatorsanfo = {{}{}},% FIXME: missing +% translatoranaf = {{}{}},% FIXME: missing +% translatorsanaf = {{}{}},% FIXME: missing +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{di}{di}}, + byeditor = {{a cura di}{a cura di}}, + bycompiler = {{compilato da}{comp\adddotspace da}}, + byredactor = {{redatto da}{red\adddotspace da}}, +% byreviser = {{}{}},% FIXME: missing +% byreviewer = {{}{}},% FIXME: missing +% byfounder = {{}{}},% FIXME: missing +% bycontinuator = {{}{}},% FIXME: missing +% bycollaborator = {{}{}},% FIXME: missing + bytranslator = {{tradotto \lbx@lfromlang\ da}{trad\adddot\ \lbx@sfromlang\ da}}, + bycommentator = {{commentato da}{comm\adddot\ da}}, + byannotator = {{annotato da}{annot\adddot\ da}}, + withcommentator = {{con commenti di}{con comm\adddot\ di}}, + withannotator = {{con annotazioni di}{con annot\adddot\ di}}, + withintroduction = {{con introduzione di}{con introd\adddot\ di}}, + withforeword = {{con prefazione di}{con pref\adddot\ di}}, + withafterword = {{con postfazione di}{con postf\adddot\ di}}, + byeditortr = {{curato e tradotto \lbx@lfromlang\ da}% + {cur\adddotspace e trad\adddot\ \lbx@sfromlang\ da}}, + byeditorco = {{curato e commentato da}% + {cur\adddotspace e comm\adddot\ da}}, + byeditoran = {{curato e annotato da}% + {cur\adddotspace e annot\adddot\ da}}, + byeditorin = {{a cura e con introduzione di}% + {a cura e con introd\adddot\ di}}, + byeditorfo = {{a cura e con prefazione di}% + {a cura e con pref\adddot\ di}}, + byeditoraf = {{a cura e con postfazione di}% + {a cura e con postf\adddot\ di}}, + byeditortrco = {{curato, tradotto \lbx@lfromlang\ e commentato da}% + {cur.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e comm\adddot\ da}}, + byeditortran = {{curato, tradotto \lbx@lfromlang\ e annotato da}% + {cur.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e annot\adddot\ da}}, + byeditortrin = {{edizione, traduzione \lbx@lfromlang\ e introduzione di}% + {ed., trad\adddot\ \lbx@sfromlang\ e introd\adddot\ di}}, + byeditortrfo = {{edizione, traduzione \lbx@lfromlang\ e prefazione di}% + {ed., trad\adddot\ \lbx@sfromlang\ e pref\adddot\ di}}, + byeditortraf = {{edizione, traduzione \lbx@lfromlang\ e postfazione di}% + {ed., trad\adddot\ \lbx@sfromlang\ e postf\adddot\ di}}, + byeditorcoin = {{edizione, commenti e introduzione di}% + {ed., comm\adddot\ e introduzione di}}, + byeditorcofo = {{edizione, commenti e prefazione di}% + {ed., comm\adddot\ e prefazione di}}, + byeditorcoaf = {{edizione, commenti e postfazione di}% + {ed., comm\adddot\ e postfazione di}}, + byeditoranin = {{edizione, annotazioni e introduzione di}% + {ed., annot\adddot\ e introduzione di}}, + byeditoranfo = {{edizione, annotazioni e prefazione di}% + {ed., annot\adddot\ e prefazione di}}, + byeditoranaf = {{edizione, annotazioni e postfazione di}% + {ed., annot\adddot\ e postfazione di}}, + byeditortrcoin = {{edizione, traduzione \lbx@lfromlang, commenti e introduzione di}% + {ed., trad\adddot\ \lbx@sfromlang, comm\adddot\ e introd\adddot\ di}}, + byeditortrcofo = {{edizione, traduzione \lbx@lfromlang, commenti e prefazione di}% + {ed., trad\adddot\ \lbx@sfromlang, comm\adddot\ e pref\adddot\ di}}, + byeditortrcoaf = {{edizione, traduzione \lbx@lfromlang, commenti e postfazione di}% + {ed., trad\adddot\ \lbx@sfromlang, comm\adddot\ e postf\adddot\ di}}, + byeditortranin = {{edizione, traduzione \lbx@lfromlang, annotazioni e introduzione di}% + {ed., trad\adddot\ \lbx@sfromlang, annot\adddot\ e introd\adddot\ di}}, + byeditortranfo = {{edizione, traduzione \lbx@lfromlang, annotazioni e prefazione di}% + {ed., trad\adddot\ \lbx@sfromlang, annot\adddot\ e pref\adddot\ di}}, + byeditortranaf = {{edizione, traduzione \lbx@lfromlang, annotazioni e postfazione di}% + {ed., trad\adddot\ \lbx@sfromlang, annot\adddot\ e postf\adddot\ di}}, + bytranslatorco = {{tradotto \lbx@lfromlang\ e commentato da}% + {trad\adddot\ \lbx@sfromlang\ e comm\adddot\ da}}, + bytranslatoran = {{tradotto \lbx@lfromlang\ e annotato da}% + {trad\adddot\ \lbx@sfromlang\ e annot\adddot\ da}}, + bytranslatorin = {{traduzione \lbx@lfromlang\ e introduzione di}% + {trad\adddot\ \lbx@sfromlang\ e introd\adddot\ di}}, + bytranslatorfo = {{traduzione \lbx@lfromlang\ e prefazione di}% + {trad\adddot\ \lbx@sfromlang\ e pref\adddot\ di}}, + bytranslatoraf = {{traduzione \lbx@lfromlang\ e postfazione di}% + {trad\adddot\ \lbx@sfromlang\ e postf\adddot\ di}}, + bytranslatorcoin = {{traduzione \lbx@lfromlang, commenti e introduzione di}% + {trad\adddot\ \lbx@sfromlang, comm\adddot\ e introd\adddot\ di}}, + bytranslatorcofo = {{traduzione \lbx@lfromlang, commenti e prefazione di}% + {trad\adddot\ \lbx@sfromlang, comm\adddot\ e pref\adddot\ di}}, + bytranslatorcoaf = {{traduzione \lbx@lfromlang, commenti e postfazione di}% + {trad\adddot\ \lbx@sfromlang, comm\adddot\ e postf\adddot\ di}}, + bytranslatoranin = {{traduzione \lbx@lfromlang, annotazioni e introduzione di}% + {trad\adddot\ \lbx@sfromlang, annot\adddot\ e introd\adddot\ di}}, + bytranslatoranfo = {{traduzione \lbx@lfromlang, annotazioni e prefazione di}% + {trad\adddot\ \lbx@sfromlang, annot\adddot\ e pref\adddot\ di}}, + bytranslatoranaf = {{traduzione \lbx@lfromlang, annotazioni e postfazione di}% + {trad\adddot\ \lbx@sfromlang, annot\adddot\ e postf\adddot\ di}}, + and = {{e}{e}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{volume}{vol\adddot}}, + volumes = {{volumi}{voll\adddot}}, + involumes = {{in}{in}},% FIXME: unsure + jourvol = {{volume}{vol\adddot}}, + jourser = {{serie}{ser\adddot}}, +% book = {{}{}},% FIXME: missing +% part = {{}{}},% FIXME: missing +% issue = {{}{}},% FIXME: missing + newseries = {{nuova serie}{nuova ser\adddot}}, + oldseries = {{vecchia serie}{vecchia ser\adddot}}, + edition = {{edizione}{ed\adddot}}, + reprint = {{ristampa}{rist\adddot}}, + reprintof = {{ristampa di}{rist\adddotspace di}}, +% reprintas = {{}{}},% FIXME: missing +% reprintfrom = {{}{}},% FIXME: missing +% translationof = {{}{}},% FIXME: missing +% translationas = {{}{}},% FIXME: missing +% translationfrom = {{}{}},% FIXME: missing +% reviewof = {{}{}},% FIXME: missing +% origpubas = {{}{}},% FIXME: missing +% origpubin = {{}{}},% FIXME: missing +% astitle = {{}{}},% FIXME: missing +% bypublisher = {{}{}},% FIXME: missing + nodate = {{senza\space data}{{}n\adddot d\adddot}}, + page = {{pagina}{p\adddot}}, + pages = {{pagine}{pp\adddot}}, + column = {{colonna}{col\adddot}}, + columns = {{colonne}{coll\adddot}}, + line = {{riga}{r\adddot}}, + lines = {{righe}{rr\adddot}}, + verse = {{verso}{v\adddot}}, + verses = {{versi}{vv\adddot}}, +% section = {{}{\S}},% FIXME: missing +% sections = {{}{\S\S}},% FIXME: missing + paragraph = {{paragrafo}{par\adddot}}, + paragraphs = {{paragrafi}{par\adddot}}, + pagetotal = {{pagina}{p\adddot}}, + pagetotals = {{pagine}{pp\adddot}}, + columntotal = {{colonna}{col\adddot}}, + columntotals = {{colonne}{coll\adddot}}, + linetotal = {{riga}{r\adddot}}, + linetotals = {{righe}{rr\adddot}}, + versetotal = {{verso}{v\adddot}}, + versetotals = {{versi}{vv\adddot}}, +% sectiontotal = {{}{}},% FIXME: missing +% sectiontotals = {{}{}},% FIXME: missing + paragraphtotal = {{paragrafo}{par\adddot}}, + paragraphtotals = {{paragrafi}{par\adddot}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{di}{di}}, + number = {{numero}{n\adddot}}, + chapter = {{capitolo}{cap\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{tesi di laurea magistrale}{tesi di laurea mag\adddot}}, + phdthesis = {{tesi di dottorato}{tesi di dott\adddot}}, +% candthesis = {{}{}},% FIXME: missing + resreport = {{rapporto di ricerca}{rapporto di ricerca}}, + techreport = {{rapporto tecnico}{rapp\adddotspace tecn\adddot}}, +% software = {{}{}},% FIXME: missing +% datacd = {{}{}},% FIXME: missing +% audiocd = {{}{}},% FIXME: missing + version = {{versione}{ver\adddot}}, + url = {{indirizzo}{indirizzo}}, +% urlfrom = {{}{}},% FIXME: missing + urlseen = {{visitato il}{visitato il}}, +% inpreparation = {{}{}},% FIXME: missing +% submitted = {{}{}},% FIXME: missing +% forthcoming = {{}{}},% FIXME: missing + inpress = {{in stampa}{in stampa}}, +% prepublished = {{}{}},% FIXME: missing + citedas = {{citato come}{cit\adddotspace come}}, +% thiscite = {{}{}},% FIXME: missing + seenote = {{vedi nota}{v\adddotspace nota}}, + quotedin = {{citato da}{cit\adddotspace da}}, + 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 = {{cit\adddot}{cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + confer = {{cf\adddot}{cf\adddot}}, + sequens = {{s\adddot}{s\adddot}}, + sequentes = {{ss\adddot}{ss\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{vedi\adddot}{v\adddot}}, + seealso = {{vedi anche}{v\adddot~anche}}, + backrefpage = {{citato a pagina}{cit\adddotspace a p\adddot}}, + backrefpages = {{citato alle pagine}{cit\adddotspace alle pp\adddot}}, + january = {{gennaio}{gen\adddot}}, + february = {{febbraio}{feb\adddot}}, + march = {{marzo}{mar\adddot}}, + april = {{aprile}{apr\adddot}}, + may = {{maggio}{mag\adddot}}, + june = {{giugno}{giu\adddot}}, + july = {{luglio}{lug\adddot}}, + august = {{agosto}{ago\adddot}}, + september = {{settembre}{set\adddot}}, + october = {{ottobre}{ott\adddot}}, + november = {{novembre}{nov\adddot}}, + december = {{dicembre}{dic\adddot}}, + langamerican = {{americano}{americano}}, + langbrazilian = {{brasiliano}{brasiliano}}, + langbulgarian = {{bulgaro}{bulgaro}}, + langcatalan = {{catalano}{catalano}}, + langcroatian = {{croato}{croato}}, + langczech = {{ceco}{ceco}}, + langdanish = {{danese}{danese}}, + langdutch = {{olandese}{olandese}}, + langenglish = {{inglese}{inglese}}, + langestonian = {{estone}{estone}}, + langfinnish = {{finlandese}{finlandese}}, + langfrench = {{francese}{francese}}, + langgalician = {{galiziano}{galiziano}}, + langgerman = {{tedesco}{tedesco}}, + langgreek = {{greco}{greco}}, + langhungarian = {{ungherese}{ungherese}}, + langitalian = {{italiano}{italiano}}, + langlatin = {{latino}{latino}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{norvegese}{norvegese}}, + langpolish = {{polacco}{polacco}}, + langportuguese = {{portoghese}{portoghese}}, + langrussian = {{russo}{russo}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{sloveno}{sloveno}}, + langspanish = {{spagnolo}{spagnolo}}, + langswedish = {{svedese}{svedese}}, + fromamerican = {{dall'americano}{dall'americano}}, + frombrazilian = {{dall brasiliano}{dall brasiliano}}, + frombulgarian = {{dal bulgaro}{dal bulgaro}}, + fromcatalan = {{dal catalano}{dal catalano}}, + fromcroatian = {{dal croato}{dal croato}}, + fromczech = {{dal ceco}{dal ceco}}, + fromdanish = {{dal danese}{dal danese}}, + fromdutch = {{dall'olandese}{dall'olandese}}, + fromenglish = {{dall'inglese}{dall'inglese}}, + fromestonian = {{dall'estone}{dall'estone}}, + fromfinnish = {{dal finlandese}{dal finlandese}}, + fromfrench = {{dal francese}{dal francese}}, + fromgalician = {{dal galiziano}{dal galiziano}}, + fromgerman = {{dal tedesco}{dal tedesco}}, + fromgreek = {{dal greco}{dal greco}}, + fromhungarian = {{dall'ungherese}{dall'ungherese}}, + fromitalian = {{dall'italiano}{dall'italiano}}, + fromlatin = {{dal latino}{dal latino}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{dal norvegese}{dal norvegese}}, + frompolish = {{dal polacco}{dal polacco}}, + fromportuguese = {{dall portoghese}{dall portoghese}}, + fromrussian = {{dal russo}{dal russo}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{dallo sloveno}{dallo sloveno}}, + fromspanish = {{dallo spagnolo}{dallo spagnolo}}, + fromswedish = {{dal svedese}{dal svedese}}, + countryde = {{Germania}{DE}}, + countryep = {{Unione Europea}{EP}}, + countryeu = {{Unione Europea}{EU}}, + countryfr = {{Francia}{FR}}, + countryuk = {{Regno Unito}{GB}}, + countryus = {{Stati Uniti d'America}{US}}, + patent = {{brevetto}{brev\adddot}}, + patentde = {{brevetto tedesco}{brev\adddot\ tedesco}}, + patenteu = {{brevetto europeo}{brev\adddot\ europeo}}, + patentfr = {{brevetto francese}{brev\adddot\ francese}}, + patentuk = {{brevetto britannico}{brev\adddot\ britannico}}, + patentus = {{brevetto americano}{brev\adddot\ americano}}, + patreq = {{brevetto richiesto}{brev\adddot\ rich\adddot}}, + patreqde = {{brevetto tedesco richiesto}{brev\adddot\ tedesco rich\adddot}}, + patreqeu = {{brevetto europeo richiesto}{brev\adddot\ europeo rich\adddot}}, + patreqfr = {{brevetto francese richiesto}{brev\adddot\ francese rich\adddot}}, + patrequk = {{brevetto britannico richiesto}{brev\adddot\ britannico rich\adddot}}, + patrequs = {{brevetto U.S.A\adddot\ richiesto}{brev\adddot\ U.S.A\adddot\ rich\adddot}}, + file = {{file}{file}}, + library = {{biblioteca}{biblioteca}}, + abstract = {{abstract}{abstract}}, + annotation = {{annotazione}{annotazione}}, + commonera = {{Era Volgare}{E\adddot V\adddot}}, + beforecommonera = {{avanti Era Volgare}{a\adddot E\adddot V\adddot}}, + annodomini = {{d\adddot C\adddot}{d\adddot C\adddot}}, + beforechrist = {{a\adddot C\adddot}{a\adddot C\adddot}}, +% circa = {{}{}},% FIXME: missing +% spring = {{}{}},% FIXME: missing +% summer = {{}{}},% FIXME: missing +% autumn = {{}{}},% FIXME: missing +% winter = {{}{}},% FIXME: missing +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/latvian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/latvian-ms.lbx new file mode 100644 index 00000000000..3c0f1cccffc --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/latvian-ms.lbx @@ -0,0 +1,794 @@ +\ProvidesFile{latvian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{latvian}{latvian} + +\NewBibliographyString{% + locjanuary, + locfebruary, + locmarch, + locapril, + locmay, + locjune, + locjuly, + locaugust, + locseptember, + lococtober, + locnovember, + locdecember, + locspring, + locsummer, + locautumn, + locwinter, + locdateyear, + dateyear} + +\DeclareBibliographyExtras{% + \providetoggle{lbx@lv@datewhen}% + \providecommand*{\lbx@lv@requestwhendate}{\toggletrue{lbx@lv@datewhen}}% + \DeclareCapitalPunctuation{.!?}% + \protected\def\bibrangedash{% + \textemdash\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{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \ifboolexpr{test {\iffieldundef{#2}} and test {\iffieldundef{#3}}} + {\iftoggle{lbx@lv@datewhen} + {\mkbibordinal{\thefield{#1}}\addspace\bibstring{locdateyear}} + {\stripzeros{\thefield{#1}}}} + {\mkbibordinal{\thefield{#1}}\addspace\bibstring{dateyear}\space}}}% + \iffieldundef{#3} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iftoggle{lbx@lv@datewhen} + {\lbx@lv@mkbibdatemonthwhen{\thefield{#2}}} + {\mkbibmonth{\thefield{#2}}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}\adddot}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}\adddot}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}% + \ifboolexpr{test {\iffieldundef{#2}} and test {\iffieldundef{#3}}} + {} + {\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\mkbibyeardivisiondateshort#1#2{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \iffieldundef{#2} + {\iftoggle{lbx@lv@datewhen} + {\mkbibordinal{\thefield{#1}}\addspace\bibstring{locdateyear}} + {\stripzeros{\thefield{#1}}}} + {\mkbibordinal{\thefield{#1}}\addspace\bibstring{dateyear}\space}}}% + \iftoggle{lbx@lv@datewhen} + {\mkbibyeardivision{date\thefield{#2}}} + {\mkbibyeardivision{\thefield{#2}}}}% + \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort + \savecommand\mkdaterangecomp + \savecommand\mkdaterangecompextra + \protected\def\mkdaterangecomp{% + \lbx@lv@mkdaterangetrunc@long{long}}% + \protected\def\mkdaterangecompextra{% + \lbx@lv@mkdaterangetruncextra@long{long}}% + \def\lbx@lv@makewhendate@i#1{% + \expandafter\savecommand\csname abx@ffd@#1@\lbx@lv@whendate@date\endcsname + \cspreto{abx@ffd@#1@\lbx@lv@whendate@date}{\lbx@lv@requestwhendate}}% + \providecommand*{\lbx@lv@makewhendate}[2][*]{% + \def\lbx@lv@whendate@date{#2}% + \def\lbx@lv@whendate@formats{#1}% + \expandafter\forcsvlist + \expandafter\lbx@lv@makewhendate@i + \expandafter{\lbx@lv@whendate@formats}}% + %\lbx@lv@makewhendate{eventdate}% + \def\lbx@lv@mkdottednormrange@i#1{% + \ifinteger{#1} + {\mkbibordinal{#1}} + {#1}} + \protected\def\lbx@lv@mkdottednormrange#1{% + \mknormrange*[\@firstofone][\lbx@lv@mkdottednormrange@i]{#1}}% + % this redefines \mkpageprefix to put the page number as suffix + \savecommand\blx@mkpageprefix + \protected\long\def\blx@mkpageprefix#1[#2]#3{% + \blx@mkpageprefix@i[{#2}]{#3}% + \ifnumeral{#3} + {\ppspace\bibstring{#1}} + {\ifnumerals{#3} + {\ppspace\bibstring{#1s}} + {\def\pno{\bibstring{#1}}% + \def\ppno{\bibstring{#1s}}}}}% + % NOTE: a few field formats are redefined here, this overrides + % corresponding style and preamble definitions. + % If you want to overwrite the changes made here, use + % \DefineBibliographyExtras{magyar}{...} + % Do not forget to make these changes undone with + % \UndefineBibliographyExtras{magyar}{...} + % to avoid them spilling out later. + \savefieldformat{pages}% + \DeclareFieldFormat{pages}{% + \mkpageprefix[bookpagination][\lbx@lv@mkdottednormrange]{#1}}% + \savefieldformat{postnote}% + \DeclareFieldFormat{postnote}{% + \mkpageprefix[bookpagination][\lbx@lv@mkdottednormrange]{#1}}% + \savefieldformat{volcitepages}% + \DeclareFieldFormat{volcitepages}{% + \mkpageprefix[pagination][\lbx@lv@mkdottednormrange]{#1}}% + \savefieldformat{multipostnote}% + \DeclareFieldFormat{multipostnote}{% + \mkpageprefix[pagination][\lbx@lv@mkdottednormrange]{#1}}% + \savefieldformat{chapter}% + \DeclareFieldFormat{chapter}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \addnbspace + \bibstring{chapter}}% + \savefieldformat{volume}% + \DeclareFieldFormat{volume}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \addnbspace + \bibstring{volume}}% + \savefieldformat{part}% + \DeclareFieldFormat{part}{% + \addcomma\space% <- this is *really* bad, don't try this at home + % In general leading or trailing punctuation in field formats should be + % avoided and should instead be dealt with in the appropriate bibmacros. + % The part field is special because its standard definition is '.#1'. + % Additionally, \printfield{part} is called all over the place, so we + % can't simply redefine a macro here. + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% + \addnbspace + \bibstring{part}}% + \savefieldformat{version}% + \DeclareFieldFormat{version}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \addnbspace + \bibstring{version}}% +} + +\UndeclareBibliographyExtras{% + \def\lbx@lv@restorewhendate@i#1{% + \expandafter\restorecommand + \csname abx@ffd@#1@\lbx@lv@whendate@date\endcsname}% + \providecommand*{\lbx@lv@restorewhendate}[2][*]{% + \def\lbx@lv@whendate@date{#2}% + \def\lbx@lv@whendate@formats{#1}% + \expandafter\forcsvlist + \expandafter\lbx@lv@restorewhendate@i + \expandafter{\lbx@lv@whendate@formats}}% + %\lbx@lv@restorewhendate{eventdate}% + \restorecommand\mkdaterangecomp + \restorecommand\mkdaterangecompextra + \restorecommand\mknormrange + \restorecommand\blx@mkpageprefix + \restorefieldformat{pages}% + \restorefieldformat{postnote}% + \restorefieldformat{volcitepages}% + \restorefieldformat{multipostnote}% + \restorefieldformat{chapter}% + \restorefieldformat{volume}% + \restorefieldformat{part}% + \restorefieldformat{version}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliogr\={a}fija}{Bibliogr\={a}fija}}, + references = {{Literat\={u}ras saraksts}{Literat\={u}ras saraksts}}, + shorthands = {{Sa\={\i}sin\={a}jumu saraksts}{Sa\={\i}sin\={a}jumi}}, + % FIXME: not sure if correct, the standard editor translation seems to be the same as redactor + editor = {{izdev\={e}js}{izdev\adddot}}, + editors = {{izdev\={e}ji}{izdev\adddot}}, + compiler = {{sast\={a}d\={\i}t\={a}js}{sast\={a}d\adddot}}, + compilers = {{sast\={a}d\={\i}t\={a}ji}{sast\={a}d\adddot}}, + redactor = {{redaktors}{redakt\adddot}}, + redactors = {{redaktori}{radakt\adddot}}, + reviser = {{revidents}{revid\adddot}}, + revisers = {{revidenti}{revid\adddot}}, + founder = {{dibin\={a}t\={a}js}{dib\adddot}}, + founders = {{dibin\={a}t\={a}ji}{dib\adddot}}, + continuator = {{turpin\={a}t\={a}js}{turp\adddot}}, + continuators = {{turpin\={a}t\={a}ji}{turp\adddot}}, + collaborator = {{l\={\i}dzstr\={a}dnieks}{l\={\i}dzstr\adddot}}, + collaborators = {{l\={\i}dzstr\={a}dnieki}{l\={\i}dzstr\adddot}}, + translator = {{tulkot\={a}js}{tulk\adddot}}, + translators = {{tulkot\={a}ji}{tulk\adddot}}, + commentator = {{koment\={e}t\={a}js}{koment\adddot}}, + commentators = {{koment\={e}t\={a}ji}{koment\adddot}}, + annotator = {{anot\={a}cijas autors}{anot\adddotspace autors}}, + annotators = {{anot\={a}cijas autori}{anot\adddotspace autori}}, + commentary = {{koment\={a}rs}{koment\adddot}}, + annotations = {{anot\={a}cijas}{anot\={a}c\adddot}}, + introduction = {{ievads}{ievads}}, + foreword = {{priek\v{s}v\={a}rds}{priek\v{s}v\adddot}}, + afterword = {{p\={e}cv\={a}rds}{p\={e}cv\adddot}}, + editortr = {{izdev\={e}js un tulkot\={a}js}{izdev\adddotspace un tulk\adddot}}, + editorstr = {{izdev\={e}ji un tulkot\={a}ji}{izdev\adddotspace un tulk\adddot}}, + editorco = {{izdev\={e}js un koment\={e}t\={a}js}{izdev\adddotspace un koment\adddot}}, + editorsco = {{izdev\={e}ji un koment\={e}t\={a}ji}{izdev\adddotspace un koment\adddot}}, + editoran = {{izdev\={e}js un anot\={a}cijas autors}% + {izdev\adddotspace un anot\adddotspace autors}}, + editorsan = {{izdev\={e}ji un anot\={a}cijas autori}% + {izdev\adddotspace un anot\adddotspace autori}}, + editorin = {{izdev\={e}js un ievada autors}{izdev\adddotspace un ievada autors}}, + editorsin = {{izdev\={e}ji un ievada autori}{izdev\adddotspace un ievada autori}}, + editorfo = {{izdev\={e}js un priek\v{s}v\={a}rda autors}% + {izdev\adddotspace un priek\v{s}v\adddotspace autors}}, + editoraf = {{izdev\={e}js un p\={e}cv\={a}rda autors}% + {izdev\adddotspace un p\={e}cv\adddotspace autors}}, + editorsaf = {{izdev\={e}ji un p\={e}cv\={a}rda autori}% + {izdev\adddotspace un p\={e}cv\adddotspace autori}}, + editortrco = {{izdev\={e}js, tulkot\={a}js un koment\={e}t\={a}js}% + {izdev\adddot, tulk\adddotspace un koment\adddot}}, + editorstrco = {{izdev\={e}ji, tulkot\={a}ji un koment\={e}t\={a}ji}% + {izdev\adddot, tulk\adddotspace un koment\adddot}}, + editortran = {{izdev\={e}js, tulkot\={a}js un anot\={a}cijas autors}% + {izdev\adddot, tulk\adddotspace un anot\adddotspace autors}}, + editorstran = {{izdev\={e}ji, tulkot\={a}ji un anot\={a}cijas autori}% + {izdev\adddot, tulk\adddotspace un anot\adddotspace autori}}, + editortrin = {{izdev\={e}js, tulkot\={a}js un ievada autors}% + {izdev\adddot, tulk\adddotspace un ievada autors}}, + editorstrin = {{izdev\={e}ji, tulkot\={a}ji un ievada autori}% + {izdev\adddot, tulk\adddotspace un ievada autori}}, + editortrfo = {{izdev\={e}js, tulkot\={a}js un priek\v{s}v\={a}rds autors}% + {izdev\adddot, tulk\adddotspace un priek\v{s}v\adddotspace autors}}, + editorstrfo = {{izdev\={e}ji, tulkot\={a}ji un priek\v{s}v\={a}rds autori}% + {izdev\adddot, tulk\adddotspace un priek\v{s}v\adddotspace autori}}, + editortraf = {{izdev\={e}js, tulkot\={a}js un p\={e}cv\={a}rda autors}% + {izdev\adddot, tulk\adddotspace un p\={e}cv\adddotspace autors}}, + editorstraf = {{izdev\={e}ji, tulkot\={a}ji un p\={e}cv\={a}rda autori}% + {izdev\adddot, tulk\adddotspace un p\={e}cv\adddotspace autori}}, + editorcoin = {{izdev\={e}js, koment\={e}t\={a}js un ievada autors}% + {izdev\adddot, koment\adddotspace un ievada autors}}, + editorscoin = {{izdev\={e}ji, koment\={e}t\={a}ji un ievada autori}% + {izdev\adddot, koment\adddotspace un ievada autori}}, + editorcofo = {{izdev\={e}js, koment\={e}t\={a}js un priek\v{s}v\={a}rds autors}% + {izdev\adddot, koment\adddotspace un priek\v{s}v\adddotspace autors}}, + editorscofo = {{izdev\={e}ji, koment\={e}t\={a}ji un priek\v{s}v\={a}rds autori}% + {izdev\adddot, koment\adddotspace un priek\v{s}v\adddotspace autori}}, + editorcoaf = {{izdev\={e}js, koment\={e}t\={a}js un p\={e}cv\={a}rda autors}% + {izdev\adddot, koment\adddotspace un p\={e}cv\adddotspace autors}}, + editorscoaf = {{izdev\={e}ji, koment\={e}t\={a}ji un p\={e}cv\={a}rda autori}% + {izdev\adddot, koment\adddotspace un p\={e}cv\adddotspace autori}}, + editoranin = {{izdev\={e}js, anot\={a}cijas un ievada autors}% + {izdev\adddot, anot\adddotspace un ievada autors}}, + editorsanin = {{izdev\={e}ji, anot\={a}cijas un ievada autori}% + {izdev\adddot, anot\adddotspace un ievada autori}}, + editoranfo = {{izdev\={e}js, anot\={a}cijas un priek\v{s}v\={a}rda autors}% + {izdev\adddot, anot\adddotspace un priek\v{s}v\adddotspace autors}}, + editorsanfo = {{izdev\={e}ji, anot\={a}cijas un priek\v{s}v\={a}rda autori}% + {izdev\adddot, anot\adddotspace un priek\v{s}v\adddotspace autori}}, + editoranaf = {{izdev\={e}js, anot\={a}cijas un p\={e}cv\={a}rda autors}% + {izdev\adddot, anot\adddotspace un p\={e}cv\adddotspace autors}}, + editorsanaf = {{izdev\={e}ji, anot\={a}cijas un p\={e}cv\={a}rda autori}% + {izdev\adddot, anot\adddotspace un p\={e}cv\adddotspace autori}}, + editortrcoin = {{izdev\={e}js, tulkot\={a}js, koment\={e}t\={a}js un ievada autors}% + {izdev\adddot, tulk\adddot, koment\adddotspace un ievada autors}}, + editorstrcoin = {{izdev\={e}ji, tulkot\={a}ji, koment\={e}t\={a}ji un ievada autori}% + {izdev\adddot, tulk\adddot, koment\adddotspace un ievada autori}}, + editortrcofo = {{izdev\={e}js, tulkot\={a}js, koment\={e}t\={a}js un priek\v{s}v\={a}rda autors}% + {izdev\adddot, tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autors}}, + editorstrcofo = {{izdev\={e}ji, tulkot\={a}ji, koment\={e}t\={a}ji un priek\v{s}v\={a}rda autori}% + {izdev\adddot, tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autori}}, + editortrcoaf = {{izdev\={e}js, tulkot\={a}js, koment\={e}t\={a}js un p\={e}cv\={a}rda autors}% + {izdev\adddot, tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autors}}, + editorstrcoaf = {{izdev\={e}ji, tulkot\={a}ji, koment\={e}t\={a}ji un p\={e}cv\={a}rda autori}% + {izdev\adddot, tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autori}}, + editortranin = {{izdev\={e}js, koment\={e}t\={a}js, anot\={a}cijas un ievada autors}% + {izdev\adddot, koment\adddot, anot\adddotspace un ievada autors}}, + editorstranin = {{izdev\={e}ji, koment\={e}t\={a}ji, anot\={a}cijas un ievada autori}% + {izdev\adddot, koment\adddot, anot\adddotspace un ievada autori}}, + editortranfo = {{izdev\={e}js, koment\={e}t\={a}js, anot\={a}cijas un priek\v{s}v\={a}rda autors}% + {izdev\adddot, koment\adddot, anot\adddotspace un priek\v{s}v\adddotspace autors}}, + editorstranfo = {{izdev\={e}ji, koment\={e}t\={a}ji, anot\={a}cijas un priek\v{s}v\={a}rda autori}% + {izdev\adddot, koment\adddot, anot\adddotspace un priek\v{s}v\adddotspace autori}}, + editortranaf = {{izdev\={e}js, koment\={e}t\={a}js, anot\={a}cijas un p\={e}cv\={a}rda autors}% + {izdev\adddot, koment\adddot, anot\adddotspace un p\={e}cv\adddotspace autors}}, + editorstranaf = {{izdev\={e}ji, koment\={e}t\={a}ji, anot\={a}cijas un p\={e}cv\={a}rda autori}% + {izdev\adddot, koment\adddot, anot\adddotspace un p\={e}cv\adddotspace autori}}, + translatorco = {{tulkot\={a}js un koment\={e}t\={a}js}{tulk\adddotspace un koment\adddot}}, + translatorsco = {{tulkot\={a}ji un koment\={e}t\={a}ji}{tulk\adddotspace un koment\adddot}}, + translatoran = {{tulkot\={a}js un anot\={a}cijas autors}% + {tulk\adddotspace un anot\adddotspace autors}}, + translatorsan = {{tulkot\={a}ji un anot\={a}cijas autori}% + {tulk\adddotspace un anot\adddotspace autori}}, + translatorin = {{tulkot\={a}js un ievada autors}{tulk\adddotspace un ievada autors}}, + translatorsin = {{tulkot\={a}ji un ievada autori}{tulk\adddotspace un ievada autori}}, + translatorfo = {{tulkot\={a}js un priek\v{s}v\={a}rda autors}% + {tulk\adddotspace un priek\v{s}v\adddotspace autors}}, + translatorsfo = {{tulkot\={a}ji un priek\v{s}v\={a}rda autori}% + {tulk\adddotspace un priek\v{s}v\adddotspace autori}}, + translatoraf = {{tulkot\={a}js un p\={e}cv\={a}rda autors}% + {tulk\adddotspace un p\={e}cv\adddotspace autors}}, + translatorsaf = {{tulkot\={a}ji un p\={e}cv\={a}rda autori}% + {tulk\adddotspace un p\={e}cv\adddotspace autori}}, + translatorcoin = {{tulkot\={a}js, koment\={e}t\={a}js un ievada autors}% + {tulk\adddot, koment\adddotspace un ievada autors}}, + translatorscoin = {{tulkot\={a}ji, koment\={e}t\={a}ji un ievada autori}% + {tulk\adddot, koment\adddotspace un ievada autori}}, + translatorcofo = {{tulkot\={a}js, koment\={e}t\={a}js un priek\v{s}v\={a}rda autors}% + {tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autors}}, + translatorscofo = {{tulkot\={a}ji, koment\={e}t\={a}ji un priek\v{s}v\={a}rda autori}% + {tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autori}}, + translatorcoaf = {{tulkot\={a}js, koment\={e}t\={a}js un p\={e}cv\={a}rda autors}% + {tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autors}}, + translatorscoaf = {{tulkot\={a}ji, koment\={e}t\={a}ji un p\={e}cv\={a}rda autori}% + {tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autori}}, + translatoranin = {{tulkot\={a}js, anot\={a}cijas un ievada autors}% + {tulk\adddot, anot\adddotspace un ievada autors}}, + translatorsanin = {{tulkot\={a}ji, anot\={a}cijas un ievada autori}% + {tulk\adddot, anot\adddotspace un ievada autori}}, + translatoranfo = {{tulkot\={a}js, anot\={a}cijas un priek\v{s}v\={a}rda autors}% + {tulk\adddot, anot\adddotspace un priek\v{s}v\adddotspace autors}}, + translatorsanfo = {{tulkot\={a}ji, anot\={a}cijas un priek\v{s}v\={a}rda autori}% + {tulk\adddot, anot\adddotspace un priek\v{s}v\adddotspace autori}}, + translatoranaf = {{tulkot\={a}js, anot\={a}cijas un p\={e}cv\={a}rda autors}% + {tulk\adddot, anot\adddotspace un p\={e}cv\adddotspace autors}}, + translatorsanaf = {{tulkot\={a}ji, anot\={a}cijas un p\={e}cv\={a}rda autori}% + {tulk\adddot, anot\adddotspace un p\={e}cv\adddotspace autori}}, + organizer = {{organiz\={e}t\={a}js}{organiz\adddot}}, + organizers = {{organiz\={e}t\={a}ji}{organiz\adddot}}, + % FIXME: currently by* strings can appear akward if they're followed by multiple + % words connected by "and" or feminine nouns and abbreviate=false is used + byorganizer = {{organiz\={e}jis}{organiz\adddot}}, + byauthor = {{sarakst\={\i}jis}{sarakst\adddot}}, + byeditor = {{izdevis}{izdevis}}, + bycompiler = {{sast\={a}d\={\i}jis}{sast\={a}d\adddot}}, + byredactor = {{redi\v{g}\={e}jis}{redi\v{g}\adddot}}, + byreviser = {{revid\={e}jis}{revid\adddot}}, + byreviewer = {{recenz\={e}jis}{recenz\adddot}}, + byfounder = {{dibin\={a}jis}{dib\adddot}}, + bycontinuator = {{turpin\={a}jis}{turpin\adddot}}, + bycollaborator = {{ar sadarb\={\i}bu no}{ar sadarb\={\i}bu no}}, + bytranslator = {{tulkojis}{tulk\adddot}}, + bycommentator = {{koment\={e}jis}{koment\adddot}}, + byannotator = {{anot\={a}ciju sast\={a}d\={\i}jis}{anot\adddotspace sast\={a}d\adddot}}, + withcommentator = {{ar koment\={a}riem no}{ar koment\adddotspace no}}, + withannotator = {{ar anot\={a}ciju no}{ar anot\adddotspace no}}, + withintroduction = {{ar ievadu no}{ar ievadu no}}, + withforeword = {{ar priek\v{s}v\={a}rdu no}{ar priek\v{s}v\adddotspace no}}, + withafterword = {{ar p\={e}cv\={a}rdu no}{ar p\={e}cv\adddotspace no}}, + byeditortr = {{izdevis un tulkojis}{izdev\adddotspace un tulk\adddot}}, + byeditorco = {{izdevis un koment\={e}jis}{izdev\adddotspace un koment\adddot}}, + byeditoran = {{izdevis un anot\={a}ciju sast\={a}d\={\i}jis}% + {izdev\adddotspace un anot\adddotspace sast\={a}d\adddot}}, + byeditorin = {{izdevis un ievadu sast\={a}d\={\i}jis}% + {izdev\adddotspace un ievadu sast\={a}d\adddot}}, + byeditorfo = {{izdevis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + byeditoraf = {{izdevis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + byeditortrco = {{izdevis, tulkojis un koment\={e}jis}% + {izdev\adddot, tulk\adddotspace un koment\adddot}}, + byeditortran = {{izdevis, tulkojis un anot\={a}ciju sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddotspace un anot\adddotspace sast\={a}d\adddot}}, + byeditortrin = {{izdevis, tulkojis un ievadu sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddotspace un ievadu sast\={a}d\adddot}}, + byeditortrfo = {{izdevis, tulkojis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + byeditortraf = {{izdevis, tulkojis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + byeditorcoin = {{izdevis, koment\={e}jis un ievadu sast\={a}d\={\i}jis}% + {izdev\adddot, koment\adddotspace un ievadu sast\={a}d\adddot}}, + byeditorcofo = {{izdevis, koment\={e}jis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, koment\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + byeditorcoaf = {{izdevis, koment\={e}jis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, koment\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + byeditoranin = {{izdevis, anot\={a}ciju un ievadu sast\={a}d\={\i}jis}% + {izdev\adddot, anot\adddotspace un ievadu sast\={a}d\adddot}}, + byeditoranfo = {{izdevis, anot\={a}ciju un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, anot\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + byeditoranaf = {{izdevis, anot\={a}ciju un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, anot\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + byeditortrcoin = {{izdevis, tulkojis, koment\={e}jis un ievadu sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddot, koment\adddotspace un ievadu sast\={a}d\adddot}}, + byeditortrcoin = {{izdevis, tulkojis, koment\={e}jis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + byeditortrcoaf = {{izdevis, tulkojis, koment\={e}jis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + byeditortranin = {{izdevis, koment\={e}jis, anot\={a}ciju un ievadu sast\={a}d\={\i}jis}% + {izdev\adddot, koment\adddot, anot\adddotspace un ievadu sast\={a}d\adddot}}, + byeditortranfo = {{izdevis, koment\={e}jis, anot\={a}ciju priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, koment\adddot, anot\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + byeditortranaf = {{izdevis, koment\={e}jis, anot\={a}ciju un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {izdev\adddot, koment\adddot, anot\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + bytranslatorco = {{tulkojis un koment\={e}jis}{tulk\adddotspace un koment\adddot}}, + bytranslatoran = {{tulkojis un anot\={a}ciju sast\={a}d\={\i}jis}% + {tulk\adddotspace un anot\adddotspace sast\={a}d\adddot}}, + bytranslatorin = {{tulkojis un ievadu sast\={a}d\={\i}jis}% + {tulk\adddotspace un ievadu sast\={a}d\adddot}}, + bytranslatorfo = {{tulkojis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {tulk\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + bytranslatoraf = {{tulkojis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {tulk\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + bytranslatorcoin = {{tulkojis, koment\={e}jis un ievadu sast\={a}d\={\i}jis}% + {tulk\adddot, koment\adddotspace un ievadu sast\={a}d\adddot}}, + bytranslatorcofo = {{tulkojis, koment\={e}jis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + bytranslatorcoaf = {{tulkojis, koment\={e}jis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + bytranslatoranin = {{tulkojis, anot\={a}ciju un ievadu sast\={a}d\={\i}jis}% + {tulk\adddot, anot\adddotspace un ievadu sast\={a}d\adddot}}, + bytranslatoranfo = {{tulkojis, anot\={a}ciju un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}% + {tulk\adddot, anot\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}}, + bytranslatoranaf = {{tulkojis, anot\={a}ciju un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}% + {tulk\adddot, anot\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}}, + and = {{un}{un}}, + andothers = {{un citi}{u\adddotspace c\adddot}}, + andmore = {{un t\={a} t\={a}l\={a}k}{utt\adddot}}, + volume = {{s\={e}jums}{s\={e}jums}}, + volumes = {{s\={e}jumi}{s\={e}jumi}}, + % FIXME: should be after the volume count not before, e.g. "10 s\={e}jumos" + % involumes = {{s\={e}jumos}{s\={e}jumos}}, + jourvol = {{izdevums}{izdev\adddot}}, + jourser = {{s\={e}rija}{s\={e}rija}}, + book = {{gr\={a}mata}{gr\={a}m\adddot}}, + part = {{da\c{l}a}{da\c{l}a}}, + issue = {{izdevums}{izdev\adddot}}, + newseries = {{jaun\={a}s s\={e}rijas}{jaun\={a}s s\={e}r\adddot}}, + oldseries = {{vec\={a}s s\={e}rijas}{vec\={a}s s\={e}rijas}}, + edition = {{izdevums}{izdev\adddot}}, + reprint = {{atk\={a}rtots izdevums}{atk\={a}rt\adddotspace izdev\adddot}}, + reprintof = {{atk\={a}rtots izdevums no}{atk\={a}rt\adddotspace izdev\adddotspace no}}, + reprintas = {{atk\={a}rtoti izdots k\={a}}{atk\={a}rt\adddotspace izdots k\={a}}}, + reprintfrom = {{atk\={a}rtots izdevums no}{atk\={a}rt\adddotspace izdev\adddotspace no}}, + translationof = {{tulkojums no}{tulk\adddotspace no}}, + translationas = {{tulkots k\={a}}{tulk\adddotspace k\={a}}}, + translationfrom = {{tulkots no}{tulk\adddotspace no}}, + reviewof = {{recenzija}{recenz\adddot}}, + origpubas = {{ori\v{g}in\={a}li public\={e}ts k\={a}}{ori\v{g}\adddotspace public\adddotspace k\={a}}}, + origpubin = {{ori\v{g}in\={a}li public\={e}ts}{ori\v{g}\adddotspace public\adddot}}, + astitle = {{k\={a}}{k\={a}}}, + bypublisher = {{no}{no}}, + nodate = {{bez datuma}{bez dat\adddot}}, + page = {{lappuse}{lpp\adddot}}, + pages = {{lappuses}{lpp\adddot}}, + column = {{sleja}{sleja}}, + columns = {{slejas}{slejas}}, + line = {{rinda}{rinda}}, + lines = {{rindas}{rindas}}, + verse = {{pants}{pants}}, + verses = {{panti}{panti}}, + section = {{noda\c{l}a}{nod\adddot}}, + sections = {{noda\c{l}as}{nod\adddot}}, + paragraph = {{rindkopa}{rindk\adddot}}, + paragraphs = {{rindkopas}{rindk\adddot}}, + pagetotal = {{lappuse}{lpp\adddot}}, + pagetotals = {{lappuses}{lpp\adddot}}, + columntotal = {{sleja}{sleja}}, + columntotals = {{slejas}{slejas}}, + linetotal = {{rinda}{rinda}}, + linetotals = {{rindas}{rindas}}, + versetotal = {{pants}{pants}}, + versetotals = {{panti}{panti}}, + sectiontotal = {{noda\c{l}a}{nod\adddot}}, + sectiontotals = {{noda\c{l}as}{nod\adddot}}, + paragraphtotal = {{rindkopa}{rindk\adddot}}, + paragraphtotals = {{rindkopas}{rindk\adddot}}, + in = {{}{}}, % Works well as an empty string + inseries = {{s\={e}rij\={a}s}{s\={e}rij\={a}s}}, + ofseries = {{s\={e}rijas}{s\={e}rijas}}, + number = {{numurs}{nr\adddot}}, + chapter = {{noda\c{l}a}{nod\adddot}}, + % bathesis = {{bakalaura darbs}{bak\adddotspace darbs}}, + mathesis = {{ma\v{g}istra darbs}{ma\v{g}\adddotspace darbs}}, + phdthesis = {{doktora gr\={a}da disert\={a}cija}{dokt\adddotspace gr\={a}da disert\adddot}}, + candthesis = {{kandid\={a}ta disert\={a}cija}{kand\adddotspace disert\adddot}}, + resreport = {{p\={e}tniec\={\i}bas darba p\={a}rskats}{p\={e}tn\adddotspace darba p\={a}rsk\adddot}}, + techreport = {{tehniskais zi\c{n}ojums}{tehn\adddotspace zi\c{n}\adddot}}, + software = {{programmat\={u}ra}{progr\adddot}}, + datacd = {{datu CD}{datu CD}}, + audiocd = {{audio CD}{audio CD}}, + version = {{versija}{versija}}, + url = {{pieejams}{pieejams}}, + urlfrom = {{pieejams no}{pieejams no}}, + urlseen = {{apl\={u}kots\aftergroup\lbx@lv@requestwhendate}{apl\={u}kots\aftergroup\lbx@lv@requestwhendate}}, + inpreparation = {{tiek gatavots}{tiek gatavots}}, + submitted = {{iesniegts}{iesniegts}}, + forthcoming = {{gaid\={a}mais}{gaid\={a}mais}}, + inpress = {{pres\={e}}{pres\={e}}}, + prepublished = {{agr\={a}k public\={e}ts}{agr\={a}k public\adddot}},% FIXME: not sure if correct + citedas = {{turpm\={a}k cit\={e}ts k\={a}}{turpm\={a}k cit\={e}ts k\={a}}}, + % thiscite = {{}{}},% FIXME: missing + seenote = {{skat\={\i}t piez\={\i}mi}{skat\adddotspace piez\adddot}}, + quotedin = {{cit\={e}ts}{cit\={e}ts}}, + % idem = {{}{}},% FIXME: missing + % idemsf = {{}{}},% FIXME: missing + % idemsm = {{}{}},% FIXME: missing + % idemsn = {{}{}},% FIXME: missing + % idempf = {{}{}},% FIXME: missing + % idempm = {{}{}},% FIXME: missing + % idempn = {{}{}},% FIXME: missing + % idempp = {{}{}},% FIXME: missing + % ibidem = {{}{}},% FIXME: missing + % opcit = {{}{}},% FIXME: missing + % loccit = {{}{}},% FIXME: missing + % confer = {{}{}},% FIXME: missing + % sequens = {{}{}},% FIXME: missing + % sequentes = {{}{}},% FIXME: missing + % passim = {{}{}},% FIXME: missing + see = {{skat\={\i}t}{skat\adddot}}, + seealso = {{skat\={\i}t ar\={\i}}{skat\adddotspace ar\={\i}}}, + backrefpage = {{cit\={e}ts lappus\={e}}{cit\={e}ts lpp\adddot}}, + backrefpages = {{cit\={e}ts lappus\={e}s}{cit\={e}ts lpp\adddot}}, + january = {{janv\={a}ris}{janv\adddot}}, + february = {{febru\={a}ris}{febr\adddot}}, + march = {{marts}{marts}}, + april = {{apr\={\i}lis}{apr\adddot}}, + may = {{maijs}{maijs}}, + june = {{j\={u}nijs}{j\={u}n\adddot}}, + july = {{j\={u}lijs}{j\={u}l\adddot}}, + august = {{augusts}{aug\adddot}}, + september = {{septembris}{sept\adddot}}, + october = {{oktobris}{okt\adddot}}, + november = {{novembris}{nov\adddot}}, + december = {{decembris}{dec\adddot}}, + locjanuary = {{janv\={a}r\={\i}}{janv\adddot}}, + locfebruary = {{febru\={a}r\={\i}}{febr\adddot}}, + locmarch = {{mart\={a}}{mart\={a}}}, + locapril = {{apr\={\i}l\={\i}}{apr\adddot}}, + locmay = {{maij\={a}}{maij\={a}}}, + locjune = {{j\={u}nij\={a}}{j\={u}n\adddot}}, + locjuly = {{j\={u}lij\={a}}{j\={u}l\adddot}}, + locaugust = {{august\={a}}{aug\adddot}}, + locseptember = {{septembr\={\i}}{sept\adddot}}, + lococtober = {{oktobr\={\i}}{okt\adddot}}, + locnovember = {{novembr\={\i}}{nov\adddot}}, + locdecember = {{decembr\={\i}}{dec\adddot}}, + langamerican = {{amerik\={a}\c{n}u}{amerik\={a}\c{n}u}}, + langbrazilian = {{braz\={\i}lie\v{s}u}{braz\={\i}lie\v{s}u}}, + langbulgarian = {{bulg\={a}ru}{bulg\={a}ru}}, + langcatalan = {{katal\={a}\c{n}u}{katal\={a}\c{n}u}}, + langcroatian = {{horv\={a}tu}{horv\={a}tu}}, + langczech = {{\v{c}ehu}{\v{c}ehu}}, + langdanish = {{d\={a}\c{n}u}{d\={a}\c{n}u}}, + langdutch = {{n\={\i}derlandie\v{s}u}{n\={\i}derlandie\v{s}u}}, + langenglish = {{ang\c{l}u}{ang\c{l}u}}, + langestonian = {{igau\c{n}u}{igau\c{n}u}}, + langfinnish = {{somu}{somu}}, + langfrench = {{fran\v{c}u}{fran\v{c}u}}, + langgalician = {{galsie\v{s}u}{galsie\v{s}u}}, + langgerman = {{v\={a}cu}{v\={a}cu}}, + langgreek = {{grie\c{k}u}{grie\c{k}u}}, + langhungarian = {{ung\={a}ru}{ung\={a}ru}}, + langitalian = {{it\={a}\c{l}u}{it\={a}\c{l}u}}, + langjapanese = {{jap\={a}\c{n}u}{jap\={a}\c{n}u}}, + langlatin = {{lat\={\i}\c{n}u}{lat\={\i}\c{n}u}}, + langlatvian = {{latvie\v{s}u}{latvie\v{s}u}}, + langnorwegian = {{norv\={e}\v{g}u}{norv\={e}\v{g}u}}, + langpolish = {{po\c{l}u}{po\c{l}u}}, + langportuguese = {{portug\={a}\c{l}u}{portug\={a}\c{l}u}}, + langrussian = {{krievu}{krievu}}, + langslovak = {{slov\={a}ku}{slov\={a}ku}}, + langslovene = {{slov\={e}\c{n}u}{slov\={e}\c{n}u}}, + langspanish = {{sp\={a}\c{n}u}{sp\={a}\c{n}u}}, + langswedish = {{zviedru}{zviedru}}, + langukrainian = {{ukrai\c{n}u}{ukrai\c{n}u}}, + fromamerican = {{no amerik\={a}\c{n}u}{no amerik\={a}\c{n}u}}, + frombrazilian = {{no braz\={\i}lie\v{s}u}{no braz\={\i}lie\v{s}u}}, + frombulgarian = {{no bulg\={a}ru}{no bulg\={a}ru}}, + fromcatalan = {{no katal\={a}\c{n}u}{no katal\={a}\c{n}u}}, + fromcroatian = {{no horv\={a}tu}{no horv\={a}tu}}, + fromczech = {{no \v{c}ehu}{no \v{c}ehu}}, + fromdanish = {{no d\={a}\c{n}u}{no d\={a}\c{n}u}}, + fromdutch = {{no n\={\i}derlandie\v{s}u}{no n\={\i}derlandie\v{s}u}}, + fromenglish = {{no ang\c{l}u}{no ang\c{l}u}}, + fromestonian = {{no igau\c{n}u}{no igau\c{n}u}}, + fromfinnish = {{no somu}{no somu}}, + fromfrench = {{no fran\v{c}u}{no fran\v{c}u}}, + fromgalician = {{no galsie\v{s}u}{no galsie\v{s}u}}, + fromgerman = {{no v\={a}cu}{no v\={a}cu}}, + fromgreek = {{no grie\c{k}u}{no grie\c{k}u}}, + fromhungarian = {{no ung\={a}ru}{no ung\={a}ru}}, + fromitalian = {{no it\={a}\c{l}u}{no it\={a}\c{l}u}}, + fromjapanese = {{no jap\={a}\c{n}u}{no jap\={a}\c{n}u}}, + fromlatin = {{no lat\={\i}\c{n}u}{no lat\={\i}\c{n}u}}, + fromlatvian = {{no latvie\v{s}u}{no latvie\v{s}u}}, + fromnorwegian = {{no norv\={e}\v{g}u}{no norv\={e}\v{g}u}}, + frompolish = {{no po\c{l}u}{no po\c{l}u}}, + fromportuguese = {{no portug\={a}\c{l}u}{no portug\={a}\c{l}u}}, + fromrussian = {{no krievu}{no krievu}}, + fromslovak = {{no slov\={a}ku}{no slov\={a}ku}}, + fromslovene = {{no slov\={e}\c{n}u}{no slov\={e}\c{n}u}}, + fromspanish = {{no sp\={a}\c{n}u}{no sp\={a}\c{n}u}}, + fromswedish = {{no zviedru}{no zviedru}}, + fromukrainian = {{no ukrai\c{n}u}{no ukrai\c{n}u}}, + countryde = {{V\={a}cija}{DE}}, + countryeu = {{Eiropas Savien\={\i}ba}{ES}}, + countryep = {{Eiropas Parlaments}{EP}}, + countryfr = {{Francija}{FR}}, + countryuk = {{Lielbrit\={a}nija}{GB}}, + countryus = {{Amerikas Savienot\={a}s Valstis}{ASV}}, + patent = {{patents}{patents}}, + patentde = {{v\={a}cu patents}{v\={a}cu pat\adddot}}, + patenteu = {{Eiropas patents}{Eiropas pat\adddot}}, + patentfr = {{fran\v{c}u patents}{fran\v{c}u pat\adddot}}, + patentuk = {{ang\c{l}u patents}{ang\c{l}u pat\adddot}}, + patentus = {{ASV patents}{ASV pat\adddot}}, + patreq = {{patenta piepras\={\i}jums}{pat\adddotspace piepras\adddot}}, + patreqde = {{v\={a}cu patenta piepras\={\i}jums}{V\={a}cu pat\adddotspace piepras\adddot}}, + patreqeu = {{Eiropas patenta piepras\={\i}jums}{Eiropas pat\adddotspace piepras\adddot}}, + patreqfr = {{fran\v{c}u patenta piepras\={\i}jums}{fran\v{c}u pat\adddotspace piepras\adddot}}, + patrequk = {{ang\c{l}u patenta piepras\={\i}jums}{ang\c{l}u pat\adddotspace piepras\adddot}}, + patrequs = {{ASV patenta piepras\={\i}jums}{ASV pat\adddotspace piepras\adddot}}, + file = {{fails}{fails}}, + library = {{bibliot\={e}ka}{bibliot\={e}ka}}, + abstract = {{atrefer\={e}jums}{atref\adddot}}, + annotation = {{anot\={a}cija}{anot\={a}cija}}, + commonera = {{m\={u}su \={e}ra}{m\adddotspace \={e}\adddot}}, + beforecommonera = {{pirms m\={u}su \={e}ras}{p\adddotspace m\adddotspace \={e}\adddot}}, + annodomini = {{p\={e}c Kristus dzim\v{s}anas}{AD}}, + beforechrist = {{pirms Kristus dzim\v{s}anas}{BC}}, + circa = {{ap}{ap}}, + spring = {{pavasaris}{pav\adddot}}, + summer = {{vasara}{vas\adddot}}, + autumn = {{rudens}{rud\adddot}}, + winter = {{ziema}{ziema}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + locspring = {{pavasar\={\i}}{pav\adddot}}, + locsummer = {{vasar\={a}}{vas\adddot}}, + locautumn = {{ruden\={\i}}{rud\adddot}}, + locwinter = {{ziem\={a}}{ziem\={a}}}, + am = {{AM}{AM}}, + pm = {{PM}{PM}}, + dateyear = {{gada}{g\adddot}}, + locdateyear = {{gad\={a}}{g\adddot}}, +} + +\protected\gdef\lbx@lv@mkbibdatemonthwhen#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{locjanuary}% + \or\abx@bibmonth{locfebruary}% + \or\abx@bibmonth{locmarch}% + \or\abx@bibmonth{locapril}% + \or\abx@bibmonth{locmay}% + \or\abx@bibmonth{locjune}% + \or\abx@bibmonth{locjuly}% + \or\abx@bibmonth{locaugust}% + \or\abx@bibmonth{locseptember}% + \or\abx@bibmonth{lococtober}% + \or\abx@bibmonth{locnovember}% + \or\abx@bibmonth{locdecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\protected\gdef\lbx@lv@mkdaterangetrunc@long#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\lbx@lv@mkdaterangetrunc@long@i{#1}{#2}}} + +\protected\gdef\lbx@lv@mkdaterangetrunc@long@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{#2year}{}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@lv@mkdaterangetruncextra@long#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\lbx@lv@mkdaterangetruncextra@long@i{#1}{#2}}} + +\protected\gdef\lbx@lv@mkdaterangetruncextra@long@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{#2year}{}{#2day}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/lithuanian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/lithuanian-ms.lbx new file mode 100644 index 00000000000..454da7f55f8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/lithuanian-ms.lbx @@ -0,0 +1,855 @@ +\ProvidesFile{lithuanian-ms.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\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort + \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\mkbibyeardivisiondateshort#1#2{% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}% + \iffieldundef{#1}{}{\addspace}% + \mkbibyeardivision{\thefield{#2}}% + }% + \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort +}% + +\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}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing +% 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{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \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{#2yeardivision} + {\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{mkbibyeardivisiondate#1}{}{#2endyeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \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{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \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{#2yeardivision} + {\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{mkbibyeardivisiondate#1}{}{#2endyeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \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 yeardivision component can only come from an ISO8601 yeardivision which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + % Optionally print the time after the date + \blx@printtime{#2}{}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\csuse{lbx@lt@bibdaterangesep#1}}} + {\csuse{lbx@lt@bibdaterangesep#1}% + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@lt@mkdaterangefullextra#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + % Optionally print the time after the date + \blx@printtime{#2}{}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateuncertainprint + \dateeraprint{#2year}% + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\csuse{lbx@lt@bibdaterangesep#1}}} + {\csuse{lbx@lt@bibdaterangesep#1}% + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/magyar-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/magyar-ms.lbx new file mode 100644 index 00000000000..c30b0c6ff13 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/magyar-ms.lbx @@ -0,0 +1,741 @@ +\ProvidesFile{magyar-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{magyar}{magyar,hungarian} + +\DeclareBibliographyExtras{% + \DeclareCapitalPunctuation{.!?}% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \savecommand\bibdaterangesep + \protected\def\bibdaterangesep{\space\textendash\space}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \let\lbx@hu@ifdayrange\@secondoftwo + \def\lbx@hu@ifplainday{\lbx@hu@ifdayrange}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \iffieldundef{#2}{\thefield{#1}} + {\mkbibordinal{\thefield{#1}}}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#3}{}{\nobreakspace}}% + \iffieldundef{#3} + {} + {\lbx@hu@ifplainday{\thefield{#3}}{\mkbibordinal{\thefield{#3}}}}% + }% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \iffieldundef{#2}{\thefield{#1}} + {\mkbibordinal{\thefield{#1}}}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}\adddot + \iffieldundef{#3}{}{\nobreakspace}}% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}\lbx@hu@ifdayrange{}{\adddot}}% + }% + \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort + \savecommand\mkdaterangecomp + \savecommand\mkdaterangecompextra + \savecommand\mkdaterangeterse + \savecommand\mkdaterangeterseextra + \protected\def\mkdaterangecomp{% + \lbx@hu@mkdaterangetrunc{long}}% + \protected\def\mkdaterangeterse{% + \lbx@hu@mkdaterangetrunc{short}}% + \protected\def\mkdaterangecompextra{% + \lbx@hu@mkdaterangetruncextra{long}}% + \protected\def\mkdaterangeterseextra{% + \lbx@hu@mkdaterangetruncextra{short}}% + \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1} + {} + {\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\mkbibyeardivisiondateshort#1#2{% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}% + \iffieldundef{#1}{}{\adddot\space}% + \mkbibyeardivision{\thefield{#2}}% + }% + \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort + \savecommand\lbx@lfromlang + \savecommand\lbx@sfromlang + \def\lbx@lfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[lfromoriglanguage]{origlanguage}\space}}% + \def\lbx@sfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[sfromoriglanguage]{origlanguage}\space}}% + % Page numbers and ranges + % convenient shorthand for page range normalisation + \protected\def\lbx@hu@mkdottednormrange{\mknormrange*[\mkbibordinal]}% + % this redefines \mkpageprefix to put the page number as suffix + \savecommand\blx@mkpageprefix + \protected\long\def\blx@mkpageprefix#1[#2]#3{% + \blx@mkpageprefix@i[{#2}]{#3}% + \ifnumeral{#3} + {\ppspace\bibstring{#1}} + {\ifnumerals{#3} + {\ppspace\bibstring{#1s}} + {\def\pno{\bibstring{#1}}% + \def\ppno{\bibstring{#1s}}}}}% + % NOTE: a few field formats are redefined here, this overrides + % corresponding style and preamble definitions. + % If you want to overwrite the changes made here, use + % \DefineBibliographyExtras{magyar}{...} + % Do not forget to make these changes undone with + % \UndefineBibliographyExtras{magyar}{...} + % to avoid them spilling out later. + \savefieldformat{pages}% + \DeclareFieldFormat{pages}{% + \mkpageprefix[bookpagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{postnote}% + \DeclareFieldFormat{postnote}{% + \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{volcitepages}% + \DeclareFieldFormat{volcitepages}{% + \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{multipostnote}% + \DeclareFieldFormat{multipostnote}{% + \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% + \savefieldformat{chapter}% + \DeclareFieldFormat{chapter}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% + \addnbspace + \bibstring{chapter}}% + \savefieldformat{volume}% + \DeclareFieldFormat{volume}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% + \addnbspace + \bibstring{volume}}% + \savefieldformat{part}% + \DeclareFieldFormat{part}{% + \addcomma\space% <- this is *really* bad, don't try this at home + % In general leading or trailing punctuation in field formats should be + % avoided and should instead be dealt with in the appropriate bibmacros. + % The part field is special because its standard definition is '.#1'. + % Additionally, \printfield{part} is called all over the place, so we + % can't simply redefine a macro here. + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% + \addnbspace + \bibstring{part}}% + \savefieldformat{version}% + \DeclareFieldFormat{version}{% + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% + \addnbspace + \bibstring{version}}% +} + + +\UndeclareBibliographyExtras{% + \restorecommand\bibdaterangesep + \restorecommand\mkdaterangecomp + \restorecommand\mkdaterangecompextra + \restorecommand\mkdaterangeterse + \restorecommand\mkdaterangeterseextra + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang + \restorecommand\mknormrange + \restorecommand\blx@mkpageprefix + \restorefieldformat{pages}% + \restorefieldformat{postnote}% + \restorefieldformat{volcitepages}% + \restorefieldformat{multipostnote}% + \restorefieldformat{chapter}% + \restorefieldformat{volume}% + \restorefieldformat{part}% + \restorefieldformat{version}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Irodalomjegyz\'ek}{Irodalom}}, + references = {{Hivatkoz\'asok}{Hivatkoz\'asok}}, + shorthands = {{R\"ovid\'it\'esek jegyz\'eke}{R\"ovid\'it\'esek}}, + editor = {{szerkeszt\H{o}}{szerk\adddot}}, + editors = {{szerkeszt\H{o}k}{szerk\adddot}}, + compiler = {{\"ossze\'all\'it\'o}{\"ossze\'all\adddot}}, + compilers = {{\"ossze\'all\'it\'ok}{\"ossze\'all\adddot}}, + redactor = {{sajt\'o al\'a rendez\H{o}}{kiad\adddot}}, + redactors = {{sajt\'o al\'a rendez\H{o}k}{kiad\adddot}}, + reviser = {{korrektor}{korr\adddot}}, + revisers = {{korrektorok}{korr\adddot}}, + founder = {{alap\'it\'o}{alap\adddot}}, + founders = {{alap\'it\'ok}{alap\adddot}}, + %continuator = {{}{}},% FIXME missing + %continuators = {{}{}},% FIXME missing + collaborator = {{k\"ozrem\H{u}k\"od\H{o}}{km\adddot}}, + collaborators = {{k\"ozrem\H{u}k\"od\H{o}k}{km\adddot}}, + translator = {{ford\'it\'o}{ford\adddot}}, + translators = {{ford\'it\'ok}{ford\adddot}}, + commentator = {{komment\'ator}{komm\adddot}}, + commentators = {{komment\'atorok}{komm\adddot}}, + annotator = {{jegyzetek \'ir\'oja}{jegyz\adddot}}, + annotators = {{jegyzetek \'ir\'oi}{jegyz\adddot}}, + commentary = {{komment\'ar}{komm\adddot}}, + annotations = {{jegyzetek}{jegyz\adddot}}, + introduction = {{bevezet\'es}{bev\adddot}}, + foreword = {{el\H{o}sz\'o}{el\H{o}sz\'o}}, + afterword = {{ut\'osz\'o}{ut\'osz\'o}}, + editortr = {{szerkeszt\H{o} \'es ford\'it\'o}% + {szerk\adddotspace \'es ford\adddot}}, + editorstr = {{szerkeszt\H{o}k \'es ford\'it\'ok}% + {szerk\adddotspace \'es ford\adddot}},, + editorco = {{szerkeszt\H{o} \'es komment\'ar}% + {szerk\adddotspace \'es komm\adddot}}, + editorsco = {{szerkeszt\H{o} \'es komment\'ar}% + {szerk\adddotspace \'es komm\adddot}}, + editoran = {{szerkeszt\H{o} \'es jegyzet}% + {szerk\adddotspace \'es jegyz\adddot}}, + editorsan = {{szerkeszt\H{o} \'es jegyzet}% + {szerk\adddotspace \'es jegyz\adddot}}, + editorin = {{szerkeszt\H{o} \'es bevezet\H{o}}% + {szerk\adddotspace \'es bev\adddot}}, + editorsin = {{szerkeszt\H{o}k \'es bevezet\H{o}}% + {szerk\adddotspace \'es bev\adddot}}, + editorfo = {{szerkeszt\H{o} \'es el\H{o}sz\'o}% + {szerk\adddotspace \'es el\H{o}sz\'o}}, + editorsfo = {{szerkeszt\H{o}k \'es el\H{o}sz\'o}% + {szerk\adddotspace \'es el\H{o}sz\'o}}, + editoraf = {{szerkeszt\H{o} \'es ut\'osz\'o} + {szerk\adddotspace \'es ut\'osz\'o}}, + editorsaf = {{szerkeszt\H{o}k \'es ut\'osz\'o}% + {szerk\adddotspace \'es ut\'osz\'o}}, + editortrco = {{szerkeszt\H{o}, ford\'it\'o \'es komment\'ar}% + {szerk\adddot, ford\adddotspace \'es komm\adddot}}, + editorstrco = {{szerkeszt\H{o}, ford\'it\'o \'es komment\'ar}% + {szerk\adddot, ford\adddotspace \'es komm\adddot}}, + editortran = {{szerkeszt\H{o}, ford\'it\'o \'es jegyzet}% + {szerk\adddot, ford\adddotspace \'es jegyz\adddot}}, + editorstran = {{szerkeszt\H{o}, ford\'it\'o \'es jegyzet}% + {szerk\adddot, ford\adddotspace \'es jegyz\adddot}}, + editortrin = {{szerkeszt\H{o}, ford\'it\'o \'es bevezet\H{o}}% + {szerk\adddot, ford\adddotspace \'es bev\adddot}}, + editorstrin = {{szerkeszt\H{o}, ford\'it\'o \'es bevezet\H{o}}% + {szerk\adddot, ford\adddotspace \'es bev\adddot}}, + editortrfo = {{szerkeszt\H{o}, ford\'it\'o \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddotspace \'es el\H{o}sz\'o}}, + editorstrfo = {{szerkeszt\H{o}, ford\'it\'o \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddotspace \'es el\H{o}sz\'o}}, + editortraf = {{szerkeszt\H{o}, ford\'it\'o \'es ut\'osz\'o}% + {szerk\adddot, ford\adddotspace \'es ut\'osz\'o}}, + editorstraf = {{szerkeszt\H{o}, ford\'it\'o \'es ut\'osz\'o}% + {szerk\adddot, ford\adddotspace \'es ut\'osz\'o}}, + editorcoin = {{szerkeszt\H{o}, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, komm\adddotspace \'es bev\adddot}}, + editorscoin = {{szerkeszt\H{o}, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, komm\adddotspace \'es bev\adddot}}, + editorcofo = {{szerkeszt\H{o}, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editorscofo = {{szerkeszt\H{o}, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editorcoaf = {{szerkeszt\H{o}, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editorscoaf = {{szerkeszt\H{o}, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editoranin = {{szerkeszt\H{o}, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, jegyz\adddotspace \'es bev\adddot}}, + editorsanin = {{szerkeszt\H{o}, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, jegyz\adddotspace \'es bev\adddot}}, + editoranfo = {{szerkeszt\H{o}, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editorsanfo = {{szerkeszt\H{o}, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editoranaf = {{szerkeszt\H{o}, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + editorsanaf = {{szerkeszt\H{o}, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + editortrcoin = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es bev\adddot}}, + editorstrcoin = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es bev\adddot}}, + editortrcofo = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editorstrcofo = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + editortrcoaf = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editorstrcoaf = {{szerkeszt\H{o}, ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + editortranin = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + editorstranin = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + editortranfo = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editorstranfo = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + editortranaf = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + editorstranaf = {{szerkeszt\H{o}, ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {szerk\adddot, ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + translatorco = {{ford\'it\'o \'es komment\'ar}% + {ford\adddotspace \'es komm\adddot}}, + translatorsco = {{ford\'it\'o \'es komment\'ar}% + {ford\adddotspace \'es komm\adddot}}, + translatoran = {{ford\'it\'o \'es jegyzetek}% + {ford\adddotspace \'es jegyz\adddot}}, + translatorsan = {{ford\'it\'o \'es jegyzetek}% + {ford\adddotspace \'es jegyz\adddot}}, + translatorin = {{ford\'it\'o \'es bevezet\H{o}}% + {ford\adddotspace \'es bev\adddot}}, + translatorsin = {{ford\'it\'o \'es bevezet\H{o}}% + {ford\adddotspace \'es bev\adddot}}, + translatorfo = {{ford\'it\'o \'es el\H{o}sz\'o}% + {ford\adddotspace \'es el\H{o}sz\'o}}, + translatorsfo = {{ford\'it\'o \'es el\H{o}sz\'o}% + {ford\adddotspace \'es el\H{o}sz\'o}}, + translatoraf = {{ford\'it\'o \'es ut\'osz\'o}% + {ford\adddotspace \'es ut\'osz\'o}}, + translatorsaf = {{ford\'it\'o \'es ut\'osz\'o}% + {ford\adddotspace \'es ut\'osz\'o}}, + translatorcoin = {{ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {ford\adddot, komm\adddotspace \'es bev\adddot}}, + translatorscoin = {{ford\'it\'o, komment\'ar \'es bevezet\H{o}}% + {ford\adddot, komm\adddotspace \'es bev\adddot}}, + translatorcofo = {{ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + translatorscofo = {{ford\'it\'o, komment\'ar \'es el\H{o}sz\'o}% + {ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + translatorcoaf = {{ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + translatorscoaf = {{ford\'it\'o, komment\'ar \'es ut\'osz\'o}% + {ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + translatoranin = {{ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + translatorsanin = {{ford\'it\'o, jegyzetek \'es bevezet\H{o}}% + {ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + translatoranfo = {{ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + translatorsanfo = {{ford\'it\'o, jegyzetek \'es el\H{o}sz\'o}% + {ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + translatoranaf = {{ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + translatorsanaf = {{ford\'it\'o, jegyzetek \'es ut\'osz\'o}% + {ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + organizer = {{szervez\H{o}}{szerv\adddot}}, + organizers = {{szervez\H{o}k}{szerv\adddot}}, + byorganizer = {{szervezte}{szerv\adddot}}, + byauthor = {{\'irta}{\'irta}}, + byeditor = {{szerkesztette}{szerk\adddot}}, + bycompiler = {{\"ossze\'all\'itotta}{\"ossze\'all\adddot}}, + byredactor = {{sajt\'o al\'a rendezte}{kiad\adddot}}, + byreviser = {{jav\'itotta}{jav\adddot}}, + byreviewer = {{b\'ir\'alta}{b\'ir\adddot}}, + byfounder = {{alap\'itotta}{alap\adddot}}, +% bycontinuator = {{}{}},% FIXME missing + bycollaborator = {{k\"ozrem\H{u}k\"od\"ott}{km\adddot}}, + bytranslator = {{\lbx@lfromlang ford\'itotta}{\lbx@sfromlang ford\adddot}}, + bycommentator = {{komment\'alta}{komm\adddot}}, + byannotator = {{jegyzetekkel ell\'atta}{jegyz\adddot}}, + withcommentator = {{komment\'arral ell\'atta}{komm\adddot}}, + withannotator = {{jegyzetekkel ell\'atta}{jegyz\adddot}}, + withintroduction = {{bevezet\H{o}vel ell\'atta}{bev\adddot}}, + withforeword = {{el\H{o}sz\'oval ell\'atta}{el\H{o}sz\'o:}}, + withafterword = {{ut\'osz\'oval ell\'atta}{ut\'osz\'o:}}, + byeditortr = {{szerkesztette \'es \lbx@lfromlang ford\'itotta}% + {szerk\adddotspace \'es \lbx@sfromlang ford\adddot}}, + byeditorco = {{szerkesztette \'es komment\'alta}% + {szerk\adddotspace \'es komm\adddot}}, + byeditoran = {{szerkesztette \'es jegyzetekkel ell\'atta}% + {szerk\adddotspace \'es jegyz\adddot}}, + byeditorin = {{szerkesztette \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddotspace \'es jegyz\adddot}}, + byeditorfo = {{szerkesztette \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddotspace \'es el\H{o}sz\'o}}, + byeditoraf = {{szerkesztette \'es ut\'osz\'oval ell\'atta}% + {szerk\adddotspace \'es ut\'osz\'o}}, + byeditortrco = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es komment\'alta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es komm\adddot}}, + byeditortran = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es jegyzetekkel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es jegyz\adddot}}, + byeditortrin = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es bev\adddot}}, + byeditortrfo = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es el\H{o}sz\'o}}, + byeditortraf = {{szerkesztette, \lbx@lfromlang ford\'itotta \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddotspace \'es ut\'osz\'o}}, + byeditorcoin = {{szerkesztette, komment\'alta \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, komm\adddotspace \'es bev\adddot}}, + byeditorcofo = {{szerkesztette, komment\'alta \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + byeditorcoaf = {{szerkesztette, komment\'alta \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, komm\adddotspace \'es ut\'osz\'o}}, + byeditoranin = {{szerkesztette, jegyzetekkel \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, jegyz\adddotspace \'es bev\adddot}}, + byeditoranfo = {{szerkesztette, jegyzetekkel \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + byeditoranaf = {{szerkesztette, jegyzetekkel \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + byeditortrcoin = {{szerkesztette, \lbx@lfromlang ford\'itotta, komment\'alta \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, komm\adddotspace \'es bev\adddot}}, + byeditortrcofo = {{szerkesztette, \lbx@lfromlang ford\'itotta, komment\'alta \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + byeditortrcoaf = {{szerkesztette, \lbx@lfromlang ford\'itotta, komment\'alta \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + byeditortranin = {{szerkesztette, \lbx@lfromlang ford\'itotta, jegyzetekkel \'es bevezet\H{o}vel ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + byeditortranfo = {{szerkesztette, \lbx@lfromlang ford\'itotta, jegyzetekkel \'es el\H{o}sz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + byeditortranaf = {{szerkesztette, \lbx@lfromlang ford\'itotta, jegyzetekkel \'es ut\'osz\'oval ell\'atta}% + {szerk\adddot, \lbx@sfromlang ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + bytranslatorco = {{\lbx@lfromlang ford\'itotta \'es komment\'alta}% + {\lbx@sfromlang ford\adddotspace \'es komm\adddot}}, + bytranslatoran = {{\lbx@lfromlang ford\'itotta \'es jegyzetekkel ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es jegyz\adddot}}, + bytranslatorin = {{\lbx@lfromlang ford\'itotta \'es bevezet\H{o}vel ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es bev\adddot}}, + bytranslatorfo = {{\lbx@lfromlang ford\'itotta \'es el\H{o}sz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es el\H{o}sz\'o}}, + bytranslatoraf = {{\lbx@lfromlang ford\'itotta \'es ut\'osz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddotspace \'es ut\'osz\'o}}, + bytranslatorcoin = {{\lbx@lfromlang ford\'itotta, komment\'alta \'es bevezet\H{o}vel ell\'atta}% + {\lbx@sfromlang ford\adddot, komm\adddotspace \'es bev\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang ford\'itotta, komment\'alta \'es el\H{o}sz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, komm\adddotspace \'es el\H{o}sz\'o}}, + bytranslatorcoaf = {{\lbx@lfromlang ford\'itotta, komment\'alta \'es ut\'osz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, komm\adddotspace \'es ut\'osz\'o}}, + bytranslatoranin = {{\lbx@lfromlang ford\'itotta, jegyzetekkel \'es bevezet\H{o}vel ell\'atta}% + {\lbx@sfromlang ford\adddot, jegyz\adddotspace \'es bev\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang ford\'itotta, jegyzetekkel \'es el\H{o}sz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, jegyz\adddotspace \'es el\H{o}sz\'o}}, + bytranslatoranaf = {{\lbx@lfromlang ford\'itotta, jegyzetekkel \'es ut\'osz\'oval ell\'atta}% + {\lbx@sfromlang ford\adddot, jegyz\adddotspace \'es ut\'osz\'o}}, + and = {{\'es}{\'es}}, + andothers = {{\'es m\'asok}{\'es tsai\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{k\"otet}{k\"ot\adddot}}, + volumes = {{k\"otetek}{k\"ot\adddot}}, + involumes = {{}{}}, + jourvol = {{\'evfolyam}{\'evf\adddot}}, + jourser = {{sorozat}{sor\adddot}}, + book = {{k\"onyv}{k\"onyv}}, + part = {{r\'esz}{r\'esz}}, + issue = {{sz\'am}{sz\adddot}}, + newseries = {{\'uj sorozat}{\'uj sor\adddot}}, + oldseries = {{r\'egi sorozat}{r\'egi sor\adddot}}, + edition = {{kiad\'as}{kiad\adddot}}, + reprint = {{ut\'annyom\'as}{ut\'anny\adddot}}, + reprintof = {{ut\'annyom\'asa}{ut\'anny\adddot}},% FIXME swap word order + reprintas = {{ut\'annyom\'as c\'ime}{ut\'anny\adddotspace c\'ime}}, +% reprintfrom = {{}{}},% FIXME need example + translationof = {{ford\'it\'asa}{ford\adddot}},% FIXME swap word order + translationas = {{ford\'it\'as c\'ime}{ford\adddotspace c\'ime}}, +% translationfrom = {{}{}},% FIXME need example + reviewof = {{recenzi\'oja}{rec\adddot}},% FIXME swap word order + origpubas = {{eredeti c\'ime}{ered\adddotspace c\'im}}, + origpubin = {{eredeti kiad\'as}{ered\adddotspace kiad\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}}, + page = {{oldal}{old\adddot}}, + pages = {{oldal}{old\adddot}}, + column = {{has\'ab}{has\adddot}}, + columns = {{has\'ab}{has\adddot}}, + line = {{sor}{sor}}, + lines = {{sor}{sor}}, + verse = {{versszak}{vsz\adddot}}, + verses = {{versszak}{vsz\adddot}}, + section = {{paragrafus}{\S}}, + sections = {{paragrafus}{\S\S}}, + paragraph = {{bekezd\'es}{bek\adddot}}, + paragraphs = {{bekezd\'es}{bek\adddot}}, + pagetotal = {{oldal}{old\adddot}}, + pagetotals = {{oldal}{old\adddot}}, + columntotal = {{has\'ab}{has\adddot}}, + columntotals = {{has\'ab}{has\adddot}}, + linetotal = {{sor}{sor}}, + linetotals = {{sor}{sor}}, + versetotal = {{versszak}{vsz\adddot}}, + versetotals = {{versszak}{vsz\adddot}}, + sectiontotal = {{paragrafus}{\S}}, + sectiontotals = {{paragrafus}{\S}}, + paragraphtotal = {{bekezd\'es}{bek\adddot}}, + paragraphtotals = {{bekezd\'es}{bek\adddot}}, + in = {{}{}}, +% inseries = {{}{}},% FIXME need example +% ofseries = {{}{}},% FIXME need example + number = {{sz\'am}{sz\adddot}}, + chapter = {{fejezet}{fej\adddot}}, + bathesis = {{szakdolgozat}{szakd\adddot}}, + mathesis = {{diplomaterv}{dipl\adddot}}, + phdthesis = {{disszert\'aci\'o}{dissz\adddot}}, + candthesis = {{disszert\'aci\'o}{dissz\adddot}}, + resreport = {{kutat\'asi jelent\'es}{kut\adddotspace jel\adddot}}, + techreport = {{technikai jelent\'es}{techn\adddotspace jel\adddot}}, + software = {{szoftver}{szoftver}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{CD}}, + version = {{verzi\'o}{verzi\'o}}, + url = {{c\'im}{c\'im}}, + urlfrom = {{el\'erhet\H{o}}{el\'erh\adddot}}, + urlseen = {{el\'er\'es d\'atuma}{el\'er\'es d\'atuma}}, + inpreparation = {{el\H{o}k\'esz\'it\'es alatt}{el\H{o}k\adddotspace alatt}}, + submitted = {{bek\"uld\"ott}{bek\"uld\"ott}}, + forthcoming = {{elfogadott}{elfogadott}}, + inpress = {{nyomd\'aban}{nyomd\adddot}}, + prepublished = {{preprint}{preprint}}, + citedas = {{tov\'abbiakban}{tov\'abbiakban}}, + thiscite = {{itt}{itt}}, + seenote = {{l\'asd}{ld\adddot}}, + quotedin = {{id\'ezte}{id\'ezte}}, + idem = {{ugyan\H{o}}{u\H{o}}}, + idemsf = {{ugyan\H{o}}{u\H{o}}}, + idemsm = {{ugyan\H{o}}{u\H{o}}}, + idemsn = {{ugyan\H{o}}{u\H{o}}}, + idempf = {{ugyan\H{o}k}{u\H{o}k}}, + idempm = {{ugyan\H{o}k}{u\H{o}k}}, + idempn = {{ugyan\H{o}k}{u\H{o}k}}, + idempp = {{ugyan\H{o}k}{u\H{o}k}}, + ibidem = {{ugyanitt}{uitt}}, + opcit = {{id\'ezett m\H{u}}{i\adddotspace m\adddot}}, + loccit = {{id\'ezett hely}{i\adddotspace h\adddot}}, + confer = {{v\"o\adddot}{v\"o\adddot}}, + sequens = {{sk\adddot}{sk\adddot}}, + sequentes = {{skk\adddot}{skk\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{l\'asd}{ld\adddot}}, + seealso = {{l\'asd m\'eg}{ld\adddotspace m\'eg}}, + backrefpage = {{hivatkoz\'asi oldal}{hiv\adddotspace old\adddot}}, + backrefpages = {{hivatkoz\'asi oldalak}{hiv\adddotspace old\adddot}}, + january = {{janu\'ar}{jan\adddot}}, + february = {{febru\'ar}{febr\adddot}}, + march = {{m\'arcius}{m\'arc\adddot}}, + april = {{\'aprilis}{\'apr\adddot}}, + may = {{m\'ajus}{m\'aj\adddot}}, + june = {{j\'unius}{j\'un\adddot}}, + july = {{j\'ulius}{j\'ul\adddot}}, + august = {{augusztus}{aug\adddot}}, + september = {{szeptember}{szept\adddot}}, + october = {{okt\'ober}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{december}{dec\adddot}}, + langamerican = {{angol}{angol}}, + langbrazilian = {{brazil}{brazil}}, + langbulgarian = {{bolg\'ar}{bolg\'ar}}, + langcatalan = {{katal\'an}{katal\'an}}, + langcroatian = {{horv\'at}{horv\'at}}, + langczech = {{cseh}{cseh}}, + langdanish = {{d\'an}{d\'an}}, + langdutch = {{holland}{holland}}, + langenglish = {{angol}{angol}}, + langestonian = {{\'eszt}{\'eszt}}, + langfinnish = {{finn}{finn}}, + langfrench = {{francia}{francia}}, + langgalician = {{gal\'iciai}{gal\'iciai}}, + langgerman = {{n\'emet}{n\'emet}}, + langgreek = {{g\"or\"og}{g\"or\"og}}, + langhungarian = {{magyar}{magyar}}, + langitalian = {{olasz}{olasz}}, + langjapanese = {{jap\'an}{jap\'an}}, + langlatin = {{latin}{latin}}, + langlatvian = {{lett}{lett}}, + langnorwegian = {{norv\'eg}{norv\'eg}}, + langpolish = {{lengyel}{lengyel}}, + langportuguese = {{portug\'al}{portug\'al}}, + langrussian = {{orosz}{orosz}}, + langslovak = {{szlov\'ak}{szlov\'ak}}, + langslovene = {{szlov\'en}{szlov\'en}}, + langspanish = {{spanyol}{spanyol}}, + langswedish = {{sv\'ed}{sv\'ed}}, + langukrainian = {{ukr\'an}{ukr\'an}}, + fromamerican = {{angolb\'ol}{angolb\'ol}}, + frombrazilian = {{brazilb\'ol}{brazilb\'ol}}, + frombulgarian = {{brazilb\'ol}{brazilb\'ol}}, + fromcatalan = {{katal\'anb\'ol}{katal\'anb\'ol}}, + fromcroatian = {{horv\'atb\'ol}{horv\'atb\'ol}}, + fromczech = {{csehb\H{o}l}{csehb\H{o}l}}, + fromdanish = {{d\'anb\'ol}{d\'anb\'ol}}, + fromdutch = {{hollandb\'ol}{hollandb\'ol}}, + fromenglish = {{angolb\'ol}{angolb\'ol}}, + fromestonian = {{\'esztb\H{o}l}{\'esztb\H{o}l}}, + fromfinnish = {{finnb\H{o}l}{finnb\H{o}l}}, + fromfrench = {{franci\'ab\'ol}{franci\'ab\'ol}}, + fromgalician = {{gal\'iciaib\'ol}{gal\'iciaib\'ol}}, + fromgerman = {{n\'emetb\H{o}l}{n\'emetb\H{o}l}}, + fromgreek = {{g\"or\"ogb\H{o}l}{g\"or\"ogb\H{o}l}}, + fromhungarian = {{magyarb\'ol}{magyarb\'ol}}, + fromitalian = {{olaszb\'ol}{olaszb\'ol}}, + fromjapanese = {{jap\'anb\'ol}{jap\'anb\'ol}}, + fromlatin = {{latinb\'ol}{latinb\'ol}}, + fromlatvian = {{lettb\H{o}l}{lettb\H{o}l}}, + fromnorwegian = {{norv\'egb\'ol}{norv\'egb\'ol}}, + frompolish = {{lengyelb\H{o}l}{lengyelb\H{o}l}}, + fromportuguese = {{portug\'alb\'ol}{portug\'alb\'ol}}, + fromrussian = {{oroszb\'ol}{oroszb\'ol}}, + fromslovak = {{szlov\'akb\'ol}{szlov\'akb\'ol}}, + fromslovene = {{szlov\'enb\'ol}{szlov\'enb\'ol}}, + fromspanish = {{spanyolb\'ol}{spanyolb\'ol}}, + fromswedish = {{sv\'edb\H{o}l}{sv\'edb\H{o}l}}, + fromukrainian = {{ukr\'anb\'ol}{ukr\'anb\'ol}}, + countryde = {{N\'emetorsz\'ag}{DE}}, + countryep = {{Eur\'opai Uni\'o}{EP}}, + countryeu = {{Eur\'opai Uni\'o}{EU}}, + countryfr = {{Franciaorsz\'ag}{FR}}, + countryuk = {{Egyes\"ult Kir\'alys\'ag}{GB}}, + countryus = {{Amerikai Egyes\"ult \'Allamok}{US}}, + patent = {{szabadalom}{szabadalom}}, + patentde = {{n\'emet szabadalom}{n\'em\adddotspace szabadalom}}, + patenteu = {{eur\'opai szabadalom}{eur\adddotspace szabadalom}}, + patentfr = {{francia szabadalom}{fr\adddotspace szabadalom}}, + patentuk = {{brit szabadalom}{brit szabadalom}}, + patentus = {{amerikai szabadalom}{USA szabadalom}}, + patreq = {{szabadalmi k\'erelem}{szabad\adddotspace k\'erelem}}, + patreqde = {{n\'emet szabadalmi k\'erelem}{n\'em\adddotspace szabad\adddotspace k\'erelem}}, + patreqeu = {{eur\'opai szabadalmi k\'erelem}{eur\adddotspace szabad\adddotspace k\'erelem}}, + patreqfr = {{francia szabadalmi k\'erelem}{fr\adddotspace szabad\adddotspace k\'erelem}}, + patrequk = {{brit szabadalmi k\'erelem}{brit szabad\adddotspace k\'erelem}}, + patrequs = {{amerikai szabadalmi k\'erelem}{amerikai szabad\adddotspace k\'erelem}}, + file = {{f\'ajl}{f\'ajl}}, + library = {{k\"onyvt\'ar}{k\"onyvt\'ar}}, + abstract = {{kivonat}{kivonat}}, + annotation = {{jegyzet}{jegyzet}}, + commonera = {{id\H{o}sz\'am\'it\'asunk szerint}{i\adddotspace sz\adddot}}, + beforecommonera = {{id\H{o}sz\'am\'it\'asunk el\H{o}tt}{i\adddotspace e\adddot}}, + annodomini = {{Krisztus ut\'an}{Kr\adddotspace u\adddot}}, + beforechrist = {{Krisztus el\H{o}tt}{Kr\adddotspace e\adddot}}, + circa = {{k\"or\"ulbel\"ul}{kb\adddot}}, + spring = {{tavasz}{tavasz}}, + summer = {{ny\'ar}{ny\'ar}}, + autumn = {{\H{o}sz}{\H{o}sz}}, + winter = {{t\'el}{t\'el}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{d\'elel\H{o}tt}{de\adddot}}, + pm = {{d\'elut\'an}{du\adddot}}, +} + +\protected\gdef\lbx@hu@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@hu@mkdaterangetrunc#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\lbx@hu@mkdaterangetrunc@i{#1}{#2}}} + +\protected\gdef\lbx@hu@mkdaterangetrunc@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \edef\lbx@hu@ifdayrange{\lbx@hu@ifdayrange@i{#2}}% + \iffieldundef{#2year} + {} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}% + \let\lbx@hu@ifplainday\@secondoftwo + \enddatecircaprint + \iffieldundef{#2yeardivision} + {\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{mkbibyeardivisiondate#1}{}{#2endyeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@hu@mkdaterangetruncextra#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\lbx@hu@mkdaterangetruncextra@i{#1}{#2}}} + +\protected\gdef\lbx@hu@mkdaterangetruncextra@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \edef\lbx@hu@ifdayrange{\lbx@hu@ifdayrange@i{#2}}% + \iffieldundef{#2year} + {} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2yeardivision} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}% + \let\lbx@hu@ifplainday\@secondoftwo + \enddatecircaprint + \iffieldundef{#2yeardivision} + {\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{mkbibyeardivisiondate#1}{}{#2endyeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/marathi-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/marathi-ms.lbx new file mode 100644 index 00000000000..c7af5ae9045 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/marathi-ms.lbx @@ -0,0 +1,557 @@ +% हे काम ११ ऑक्टोबर, २०२० रोजी निरंजन ह्यांनी सादर केले. +% ह्यातील बहुतांश शब्दांकरिता भाषा संचालनालयाच्या भाषाविज्ञान +% व वाङ्मयविद्या परिभाषा कोश तसेच ग्रंथालयशास्त्र परिभाषा कोश +% ह्या दोन परिभाषा कोशांचा संदर्भ घेतला आहे. +% ह्यात सुधारणा सुचवण्याकरिता ह्या कोशांचा आधार जरूर +% घेण्यात यावा. भाषा संचालनालयाच्या कोशांतील शब्दांचे +% शोधसुकर अर्थ पुढील संकेतस्थळावरून शोधता येऊ शकतात. +% https://shabdakosh.marathi.gov.in/ + +\ProvidesFile{marathi-ms.lbx} +[\abx@lbxid] + + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Marathi requires UTF-8 support} + {The file 'marathi.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 + marathi.lbx now.}% + \endinput} + + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{-}% + \let\finalandcomma=\empty + % there is some housekeeping to do if we want to use non-ASCII digits + % first we declare Devanagari numerals as valid numerals + % this will let us pass \ifnumeral tests etc. + % \lbx@dononasciinumerals is a core hook to allo .lbx files to inject + % valid numerals + \savecommand\lbx@dononasciinumerals + \def\lbx@dononasciinumerals{\do\०\do\१\do\२\do\३\do\४\do\५\do\६\do\७\do\८\do\९}% + % since we want to calculate with Devanagari numbers, + % we need to convert them to US-ASCII numbers + % \blx@dononasciicomputablenumerals and \blx@initcomputableequivs + % are both used by \def\blx@defcomputableequivalent + \savecommand\blx@dononasciicomputablenumerals + \savecommand\blx@initcomputableequivs + \let\blx@dononasciicomputablenumerals\@empty + \let\blx@initcomputableequivs\@empty + % map Devanagari digit to US-ASCII digit + \blx@defcomputableequivalent{\०}{\0}% + \blx@defcomputableequivalent{\१}{\1}% + \blx@defcomputableequivalent{\२}{\2}% + \blx@defcomputableequivalent{\३}{\3}% + \blx@defcomputableequivalent{\४}{\4}% + \blx@defcomputableequivalent{\५}{\5}% + \blx@defcomputableequivalent{\६}{\6}% + \blx@defcomputableequivalent{\७}{\7}% + \blx@defcomputableequivalent{\८}{\8}% + \blx@defcomputableequivalent{\९}{\9}% + % we will use getcomputableequivalent to obtain the ASCII-number + % whenever we actually need a number for computations + \protected\def\mkbibordinal#1{% + \begingroup + \blx@imc@getcomputableequivalent{#1}{\blx@tempa}% + \@tempcnta0\blx@tempa\relax + #1% + \ifcase\@tempcnta व\or ल\or र\or र\or थ\else व\fi + \endgroup}% + \protected\def\mkbibmascord#1{\mkbibordinal{#1}ा}% + \protected\def\mkbibfemord#1{\mkbibordinal{#1}ी}% + \protected\def\mkbibneutord#1{\mkbibordinal{#1}े}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibmascord}% + \savecommand\blx@comprange@check + \def\blx@comprange@check#1#2{% + \blx@imc@ifinteger{#1} + {\blx@imc@ifinteger{#2}} + {\@secondoftwo} + {\blx@comprange@comp{#1}{#2}} + {\blx@imc@hascomputableequivalent{#1} + {\blx@imc@hascomputableequivalent{#2}} + {\@secondoftwo} + {\begingroup + \blx@imc@getcomputableequivalent{#1}{\blx@tempa}% + \blx@imc@getcomputableequivalent{#2}{\blx@tempb}% + \edef\blx@tempc{\endgroup + \noexpand\blx@comprange@comp{\blx@tempa}{\blx@tempb}}% + \blx@tempc} + {\begingroup + \protected@edef\blx@tempc{\endgroup + \blx@range@out@value{% + \blx@range@out@item@process{\unexpanded{#1}}% + \noexpand\bibrangedash + \blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@tempc}}}% + \savefieldformat[article]{series}% + \savefieldformat[periodical]{series}% + \DeclareFieldFormat[article,periodical]{series}{% series of a journal + \blx@imc@ifiscomputable{#1} + {\mkbibordseries{#1}~\bibstring{jourser}} + {\ifbibstring{#1}{\bibstring{#1}}{#1}}}% + \savefieldformat{edition}% + \DeclareFieldFormat{edition}{% + \blx@imc@ifiscomputable{#1} + {\mkbibordedition{#1}~\bibstring{edition}} + {#1\isdot}}% + \savecommand\mknumalph + \protected\def\mknumalph#1{% + \begingroup + \blx@imc@getcomputableequivalent{#1}{\blx@tempa}% + \blx@tempcnta=\blx@tempa\relax + \blx@numalph\blx@tempcnta + \endgroup}% + \savecommand\blx@numalph + \def\blx@numalph#1{% + \ifcase#1\relax\blx@warning@entry{Value \number#1 out of range}\number#1\or + अ\or आ\or इ\or ई\or उ\or ऊ\or ए\or ऐ\or ओ\or औ\or अं\or अः\or क\or + ख\or ग\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or ट\or ठ\or ड\or ढ\or + ण\or त\or थ\or द\or ध\or न\or प\or फ\or ब\or भ\or म\or य\or र\or + ल\or व\or श\or ष\or स\or ह\or ळ\or क्ष\or ज्ञ\else + \blx@warning@entry{Value \number#1 out of range}\number#1\fi}% + \savecommand\mkbibmonth + \protected\def\mkbibmonth#1{% + \begingroup + \begingroup + \edef\blx@tempb{\endgroup + \noexpand\blx@imc@getcomputableequivalent + {#1} + {\noexpand\blx@tempa}}% + \blx@tempb + \ifcase0\blx@tempa\relax + \blx@warning@entry{Month out of range or not an integer}% + \or\abx@bibmonth{january}% + \or\abx@bibmonth{february}% + \or\abx@bibmonth{march}% + \or\abx@bibmonth{april}% + \or\abx@bibmonth{may}% + \or\abx@bibmonth{june}% + \or\abx@bibmonth{july}% + \or\abx@bibmonth{august}% + \or\abx@bibmonth{september}% + \or\abx@bibmonth{october}% + \or\abx@bibmonth{november}% + \or\abx@bibmonth{december}% + \else + \blx@warning@entry{Month out of range}#1% + \fi + \endgroup}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\iffieldundef{#3}{}{\addcomma}\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{% + \ifnumless{\thefield{#1}}{12} + {\bibstring{am}} + {\bibstring{pm}}% + \space + \stripzeros{\mktimehh{\thefield{#1}}}% + \bibtimesep + \mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{} + {\bibtimesep + \mktimezeros{\thefield{#3}}}% + \iffieldundef{#4}{} + {\space\bibtimezonesep + \parentext{\mkbibtimezone{\thefield{#4}}}}}% + \protected\def\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \savefieldformat{url}% + \DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}% + \savefieldformat{urldate}% + \DeclareFieldFormat{urldate}{\mkbibparens{#1\addspace\bibstring{urlseen}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@dononasciinumerals + \restorecommand\blx@dononasciicomputablenumerals + \restorecommand\blx@initcomputableequivs + \restorecommand\blx@comprange@check + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries + \restorecommand\mknumalph + \restorecommand\blx@numalph + \restorecommand\mkbibmonth + \restorefieldformat{url}% + \restorefieldformat{urldate}% + \restorefieldformat[article]{series}% + \restorefieldformat[periodical]{series}% + \restorefieldformat{edition}% +} + +\DeclareBibliographyStrings{% + bibliography = {{संदर्भसूची}{संदर्भसूची}}, + references = {{संदर्भ}{संदर्भ}}, + shorthands = {{संक्षेपसूची}{संक्षेप}}, + editor = {{संपादक}{संपा\adddot}}, + editors = {{संपादक}{संपा\adddot}}, + compiler = {{संग्राहक}{संग्रा\adddot}}, + compilers = {{संग्राहक}{संग्रा\adddot}}, + redactor = {{पाठशोधक}{पाठ\adddot}}, + redactors = {{पाठशोधक}{पाठ\adddot}}, + reviser = {{पुनरीक्षक}{पुन\adddot}}, + revisers = {{पुनरीक्षक}{पुन\adddot}}, + founder = {{संस्थापक}{संस्था\adddot}}, + founders = {{संस्थापक}{संस्था\adddot}}, + collaborator = {{सहलेखक}{सह\adddot}},% FIXME: unsure + collaborators = {{सहलेखक}{सहलेखक\adddot}},% FIXME: unsure + translator = {{अनुवादक}{अनु\adddot}}, + translators = {{अनुवादक}{अनु\adddot}}, + commentator = {{समालोचक}{समा\adddot}}, + commentators = {{समालोचक}{समा\adddot}}, + annotator = {{टीपालेखक}{टीपा\adddot}}, + annotators = {{टीपालेखक}{टीपा\adddot}}, + commentary = {{समालोचन}{समा\adddot}}, + annotations = {{टीपा}{टीपा}}, + introduction = {{प्रस्तावना}{प्रस्ता\adddot}}, + foreword = {{प्रास्ताविक}{प्रास्ता\adddot}}, + editortr = {{संपादक आणि अनुवादक}% + {संपा\adddotspace व अनु\adddot}}, + editorstr = {{संपादक आणि अनुवादक}% + {संपा\adddotspace व अनु\adddot}}, + editorco = {{संपादक आणि भाष्यकार}% + {संपा\adddotspace व भाष्य}}, + editorsco = {{संपादक आणि भाष्यकार}% + {संपा\adddotspace व भाष्य}}, + editoran = {{संपादक आणि टीपालेखक}% + {संपा\adddotspace व टीपा\adddot}}, + editorsan = {{संपादक आणि टीपालेखक}% + {संपा\adddotspace व टीपा\adddot}}, + editorin = {{संपादक आणि प्रस्तावना}% + {संपा\adddotspace व प्रस्ता\adddot}}, + editorsin = {{संपादक व प्रस्तावना}% + {संपा\adddotspace व प्रस्ता\adddot}}, + editorfo = {{संपादक व प्रास्ताविक}% + {संपा\adddotspace व प्रास्ता\adddot}}, + editorsfo = {{संपादक व प्रास्ताविक}% + {संपा\adddotspace व प्रास्ता\adddot}}, + editortrco = {{संपादक, अनुवादक व भाष्यकार}% + {संपा.\addabbrvspace अनु\adddot व भाष्य}}, + editorstrco = {{संपादक, अनुवादक व भाष्यकार}% + {संपा.\addabbrvspace अनु\adddot व भाष्य}}, + editortran = {{संपादक, अनुवादक व टीपालेखक}% + {संपा.\addabbrvspace अनु\adddot व टीपा\adddot}}, + editorstran = {{संपादक, अनुवादक व टीपालेखक}% + {संपा.\addabbrvspace अनु\adddot व टीपा\adddot}}, + editortrin = {{संपादक, अनुवादक व प्रस्तावना}% + {संपा.\addabbrvspace अनु\adddot व प्रस्ता\adddot}}, + editorstrin = {{संपादक, अनुवादक व प्रस्तावना}% + {संपा.\addabbrvspace अनु\adddot व प्रस्ता\adddot}}, + editortrfo = {{संपादक, अनुवादक व प्रास्ताविक}% + {संपा.\addabbrvspace अनु\adddot व प्रास्ता\adddot}}, + editorstrfo = {{संपादक, अनुवादक व प्रास्ताविक}% + {संपा.\addabbrvspace अनु\adddot व प्रास्ता\adddot}}, + editorcoin = {{संपादक, भाष्यकार व प्रस्तावना}% + {संपा.\addabbrvspace भाष्य व प्रस्ता\adddot}}, + editorscoin = {{संपादक, भाष्यकार व प्रस्तावना}% + {संपा.\addabbrvspace भाष्य व प्रस्ता\adddot}}, + editorcofo = {{संपादक, भाष्यकार व प्रास्ताविक}% + {संपा.\addabbrvspace भाष्य व प्रास्ता\adddot}}, + editorscofo = {{संपादक, भाष्यकार व प्रास्ताविक}% + {संपा.\addabbrvspace भाष्य व प्रास्ता\adddot}}, + editoranin = {{संपादक, टीपालेखक व प्रस्तावना}% + {संपा.\addabbrvspace टीपा\adddot व प्रस्ता\adddot}}, + editorsanin = {{संपादक, टीपालेखक व प्रस्तावना}% + {संपा.\addabbrvspace टीपा\adddot व प्रस्ता\adddot}}, + editoranfo = {{संपादक, टीपालेखक व प्रास्ताविक}% + {संपा.\addabbrvspace टीपा\adddot व प्रास्ता\adddot}}, + editorsanfo = {{संपादक, टीपालेखक व प्रास्ताविक}% + {संपा.\addabbrvspace टीपा\adddot व प्रास्ता\adddot}}, + editortrcoin = {{संपादक, अनुवादक, भाष्यकार व प्रस्तावना}% + {संपा.\addabbrvspace अनु., भाष्य व प्रस्ता\adddot}}, + editorstrcoin = {{संपादक, अनुवादक, भाष्यकार व प्रस्तावना}% + {संपा.\addabbrvspace अनु., भाष्य व प्रस्ता\adddot}}, + editortrcofo = {{संपादक, अनुवादक, भाष्यकार व प्रास्ताविक}% + {संपा.\addabbrvspace अनु., भाष्य व प्रास्ता\adddot}}, + editorstrcofo = {{संपादक, अनुवादक, भाष्यकार व प्रास्ताविक}% + {संपा.\addabbrvspace अनु., भाष्य व प्रास्ता\adddot}}, + editortranin = {{संपादक, अनुवादक, टीपालेखक व प्रस्तावना}% + {संपा.\addabbrvspace अनु., टीपा\adddot व प्रस्ता\adddot}}, + editorstranin = {{संपादक, अनुवादक, टीपालेखक व प्रस्तावना}% + {संपा.\addabbrvspace अनु., टीपा\adddot व प्रस्ता\adddot}}, + editortranfo = {{संपादक, अनुवादक, टीपालेखक व प्रास्ताविक}% + {संपा.\addabbrvspace अनु., टीपा\adddot व प्रास्ता\adddot}}, + editorstranfo = {{संपादक, अनुवादक, टीपालेखक व प्रास्ताविक}% + {संपा.\addabbrvspace अनु., टीपा\adddot व प्रास्ता\adddot}}, + translatorco = {{अनुवादक व भाष्य}% + {अनु\adddot\ व भाष्य}}, + translatorsco = {{अनुवादक व भाष्यकार}% + {अनु\adddot\ व भाष्य}}, + translatoran = {{अनुवादक व टीपालेखक}% + {अनु\adddot\ व टीपा\adddot}}, + translatorsan = {{अनुवादक व टीपालेखक}% + {अनु\adddot\ व टीपा\adddot}}, + translatorin = {{अनुवाद व प्रस्तावना}% + {अनु\adddot\ व प्रस्ता\adddot}}, + translatorsin = {{अनुवाद व प्रस्तावना}% + {अनु\adddot\ व प्रस्ता\adddot}}, + translatorfo = {{अनुवाद व प्रास्ताविक}% + {अनु\adddot\ व प्रास्ता\adddot}}, + translatorsfo = {{अनुवाद व प्रास्ताविक}% + {अनु\adddot\ व प्रास्ता\adddot}}, + translatorcoin = {{अनुवाद, समालोचन व प्रस्तावना}% + {अनु., भाष्य व प्रस्ता\adddot}}, + translatorscoin = {{अनुवाद, समालोचन व प्रस्तावना}% + {अनु., भाष्य व प्रस्ता\adddot}}, + translatorcofo = {{अनुवाद, समालोचन व प्रास्ताविक}% + {अनु., भाष्य व प्रास्ता\adddot}}, + translatorscofo = {{अनुवाद, समालोचन व प्रास्ताविक}% + {अनु., भाष्य व प्रास्ता\adddot}}, + translatoranin = {{अनुवाद, टीपा व प्रस्तावना}% + {अनु., टीपा\adddot व प्रस्ता\adddot}}, + translatorsanin = {{अनुवाद, टीपा व प्रस्तावना}% + {अनु., टीपा\adddot व प्रस्ता\adddot}}, + translatoranfo = {{अनुवाद, टीपा व प्रास्ताविक}% + {अनु., टीपा\adddot व प्रास्ता\adddot}}, + translatorsanfo = {{अनुवाद, टीपालेखन व प्रास्ताविक}% + {अनु., टीपा\adddot व प्रास्ता\adddot}}, + organizer = {{आयोजक}{आयो\adddot}}, + organizers = {{आयोजक}{आयो\adddot}}, + byorganizer = {{आयोजित}{आयो\adddot}}, + byauthor = {{लेखन}{लेखन}}, + byeditor = {{संपादित}{संपा\adddot}}, + bycompiler = {{संग्रहण}{संग्र\adddot}}, + byredactor = {{पाठशोधित}{पाठ\adddot}}, + byreviser = {{पुनरीक्षक}{पुन.\adddot}}, + byreviewer = {{परीक्षण}{परी\adddot}}, + byfounder = {{संस्थापना}{संस्था\adddot}}, + bycontinuator = {{क्रमशः}{क्रम\adddot}}, + bytranslator = {{\lbx@lfromlang\ तून अनुवादित}{\lbx@sfromlang\ अनु\adddot}}, + bycommentator = {{भाष्य}{भाष्य}}, + byannotator = {{टीपांसहित}{टीपा\adddot}}, + withcommentator = {{समालोचन}{समा\adddot}}, + withannotator = {{टीपांसह}{टीपा}}, + withintroduction = {{प्रस्तावनेसह}{प्रस्तावनेसह}}, + withforeword = {{प्रास्ताविकासह}{प्रास्ता\adddot}}, + byeditortr = {{संपादित व \lbx@lfromlang\ अनुवादित}% + {संपा\adddotspace व \lbx@sfromlang\ अनु\adddot}}, + byeditorco = {{संपादित व समालोचित}% + {संपा\adddotspace व भाष्य}}, + byeditoran = {{संपादित व टीपांसहित}% + {संपा\adddotspace व टीपा\adddot}}, + byeditorin = {{संपादित, प्रस्तावना}% + {संपा.\addabbrvspace प्रस्ता\adddot}}, + byeditorfo = {{संपादित, प्रास्ताविकासह}% + {संपा.\addabbrvspace प्रास्ता\adddot}}, + byeditortrco = {{संपादित, \lbx@lfromlang\ अनुवादित व समालोचित}% + {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व भाष्य}}, + byeditortran = {{संपादित, \lbx@lfromlang\ अनुवादित व टीपांसहित}% + {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व टीपा\adddot}}, + byeditortrin = {{संपादित व \lbx@lfromlang\ अनुवादित, प्रस्तावना}% + {संपा\adddotspace व \lbx@sfromlang\ अनु\adddot\, प्रस्ता\adddot}}, + byeditortrfo = {{संपादित व \lbx@lfromlang\ अनुवादित, प्रास्ताविकासह}% + {संपा\adddotspace व \lbx@sfromlang\ अनु\adddot\, प्रास्ताविकासह\adddot}}, + byeditorcoin = {{संपादित व समालोचित, प्रस्तावना}% + {संपा\adddotspace व समा., प्रस्ता\adddot}}, + byeditorcofo = {{संपादित व समालोचित, प्रास्ताविकासह}% + {संपा\adddotspace व समा., प्रास्ताविकासह\adddot}}, + byeditoranin = {{संपादित व टीपांसहित, प्रस्तावना}% + {संपा\adddotspace व टीपा., प्रस्ता\adddot}}, + byeditoranfo = {{संपादित व टीपांसहित, प्रास्ताविकासह}% + {संपा\adddotspace व टीपा., प्रास्ताविकासह\adddot}}, + byeditortrcoin = {{संपादित, \lbx@lfromlang\ अनुवादित व समालोचित, प्रस्तावना}% + {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot व समा., प्रस्ता\adddot}}, + byeditortrcofo = {{संपादित, \lbx@lfromlang\ अनुवादित व समालोचित, प्रास्ताविकासह}% + {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व समा., प्रास्ताविकासह}}, + byeditortranin = {{संपादित, \lbx@lfromlang\ अनुवादित व टीपांसहित, प्रस्तावना}% + {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व टीपा, प्रस्ता\adddot}}, + byeditortranfo = {{संपादित, \lbx@lfromlang\ अनुवादित व टीपांसहित, प्रास्ताविकासह}% + {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व टीपा, प्रास्ताविकासह}}, + bytranslatorco = {{\lbx@lfromlang\ अनुवादित व समालोचित}% + {\lbx@sfromlang\ अनु\adddot\ व भाष्य}}, + bytranslatoran = {{\lbx@lfromlang\ अनुवादित व टीपांसहित}% + {\lbx@sfromlang\ अनु\adddot\ व टीपा}}, + bytranslatorin = {{\lbx@lfromlang\ अनुवादित, प्रस्तावना}% + {\lbx@sfromlang\ अनु\adddot\, प्रस्ता\adddot}}, + bytranslatorfo = {{\lbx@lfromlang\ अनुवादित, प्रास्ताविकासह}% + {\lbx@sfromlang\ अनु\adddot\, प्रास्ताविकासह\adddot}}, + bytranslatorcoin = {{\lbx@lfromlang\ अनुवादित व समालोचित, प्रस्तावना}% + {\lbx@sfromlang\ अनु\adddot\ व समा., प्रस्ता\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang\ अनुवादित व समालोचित, प्रास्ताविकासह}% + {\lbx@sfromlang\ अनु\adddot\ व समा., प्रास्ताविकासह\adddot}}, + bytranslatoranin = {{\lbx@lfromlang\ अनुवादित व टीपांसहित, प्रस्तावना}% + {\lbx@sfromlang\ अनु\adddot\ व टीपा, प्रस्ता\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang\ अनुवादित व टीपांसहित, प्रास्ताविकासह}% + {\lbx@sfromlang\ अनु\adddot\ व टीपा, प्रास्ताविकासह\adddot}}, + and = {{आणि}{व}}, + andothers = {{व इतर}{व इतर}}, + andmore = {{व इतर}{व इतर}}, + volume = {{खंड}{खंड}}, + volumes = {{खंड}{खंड}}, + jourvol = {{खंड}{खंड}}, + jourser = {{अंक}{अंक}}, + book = {{पुस्तक}{पुस्तक}}, + part = {{खंड}{खंड}}, + edition = {{आवृत्ती}{आ\adddot}}, + reprintfrom = {{पुनर्प्रकाशित}{पुन\adddot}}, + translationof = {{अनुवाद}{अनु\adddot}}, + translationas = {{अनुवादित}{अनु\adddot}}, + translationfrom = {{अनुवादित}{अनु\adddot}}, + origpubas = {{मूळ आवृत्ती}{मूळ\adddotspace आ\adddot}}, + origpubin = {{मूळ आवृत्ती}{मूळ\adddotspace आ\adddot}}, + bypublisher = {{प्रकाशन}{प्रका\adddot}}, + nodate = {{दिनांक अनिर्दिष्ट}{दिनांक अनिर्दिष्ट}}, + page = {{पृष्ठ}{पृ\adddot}}, + pages = {{पृष्ठे}{पृ\adddot}}, + column = {{स्तंभ}{स्तंभ}}, + columns = {{स्तंभ}{स्तंभ}}, + line = {{ओळ}{ओळ}}, + lines = {{ओळी}{ओळी}}, + verse = {{कडवे}{कडवे}}, + verses = {{कडवी}{कडवी}}, + section = {{विभाग}{विभाग}}, + sections = {{विभाग}{विभाग}}, + paragraph = {{परिच्छेद}{परि\adddot}}, + paragraphs = {{परिच्छेद}{परि\adddot}}, + pagetotal = {{पृष्ठ}{पृ\adddot}}, + pagetotals = {{पृष्ठे}{पृ\adddot}}, + columntotal = {{स्तंभ}{स्तंभ}}, + columntotals = {{स्तंभ}{स्तंभ}}, + linetotal = {{ओळ}{ओळ}}, + linetotals = {{ओळी}{ओळी}}, + versetotal = {{कडवे}{कडवे}}, + versetotals = {{कडवी}{कडवी}}, + sectiontotal = {{विभाग}{विभाग}}, + sectiontotals = {{विभाग}{विभाग}}, + paragraphtotal = {{परिच्छेद}{परि\adddot}}, + paragraphtotals = {{परिच्छेद}{परि\adddot}}, + in = {{समाविष्ट}{समाविष्ट}}, + inseries = {{समाविष्ट}{समाविष्ट}}, + number = {{क्रमांक}{क्र\adddot}}, + chapter = {{प्रकरण}{प्रकरण}}, + bathesis = {{पदवी प्रबंध}{पदवी प्रबंध}}, + mathesis = {{पदव्युत्तर प्रबंध}{पदव्युत्तर प्रबंध}}, + phdthesis = {{पीएचडी प्रबंध}{पीएचडी प्रबंध}}, + candthesis = {{उमेदवार निबंध}{उमे\adddotspace निबंध}}, + resreport = {{शोधअहवाल}{शोधअहवाल}}, + techreport = {{तांत्रिक अहवाल}{तां\adddotspace अह\adddot}}, + software = {{संगणकीय कार्यप्रणाली}{संग\adddotspace कार्यप्रणाली}}, + audiocd = {{ध्वनिफीत}{ध्वनिफीत}}, + version = {{आवृत्ती}{आवृत्ती}}, + url = {{दुवा}{दुवा}}, + urlfrom = {{उपलब्ध}{उपलब्ध}}, + urlseen = {{भेट दिली}{भेट दिली}}, + inpreparation = {{प्रगतिपथावर}{प्रगतिपथावर}}, + submitted = {{सादर केलेले}{सादर केलेले}}, + forthcoming = {{आगामी}{आगामी}}, + prepublished = {{पूर्वप्रकाशित}{पूर्वप्रकाशित}}, + thiscite = {{खासकरून}{खासकरून}}, + seenote = {{टीप पाहा}{टीप पाहा}}, + quotedin = {{उद्धृत}{उद्धृत}}, + see = {{पाहा}{पाहा}}, + seealso = {{हेदेखील पाहा}{हेदेखील पाहा}}, + january = {{जानेवारी}{जाने\adddot}}, + february = {{फेब्रुवारी}{फेब्रु\adddot}}, + march = {{मार्च}{मार्च\adddot}}, + april = {{एप्रिल}{एप्रि\adddot}}, + may = {{मे}{मे}}, + june = {{जून}{जून}}, + july = {{जुलै}{जुलै}}, + august = {{ऑगस्ट}{ऑग\adddot}}, + september = {{सप्टेंबर}{सप्टें\adddot}}, + october = {{ऑक्टोबर}{ऑक्टो\adddot}}, + november = {{नोव्हेंबर}{नोव्हें\adddot}}, + december = {{डिसेंबर}{डिसें\adddot}}, + langenglish = {{इंग्रजी}{इंग्रजी}}, + langfrench = {{फ्रेंच}{फ्रेंच}}, + langgerman = {{जर्मन}{जर्मन}}, + langgreek = {{ग्रीक}{ग्रीक}}, + langjapanese = {{जपानी}{जपानी}}, + langportuguese = {{पोर्तुगीज}{पोर्तुगीज}}, + langrussian = {{रशियन}{रशियन}}, + langspanish = {{स्पॅनिश}{स्पॅनिश}}, + langswedish = {{स्वीडी}{स्वीडी}}, + fromdutch = {{डचमधून}{डचमधून}}, + fromenglish = {{इंग्रजीतून}{इंग्रजीतून}}, + fromfrench = {{फ्रेंचमधून}{फ्रेंचमधून}}, + fromgerman = {{जर्मनमधून}{जर्मनमधून}}, + fromgreek = {{ग्रीकमधून}{ग्रीकमधून}}, + fromjapanese = {{जपानीतून}{जपानीतून}}, + fromlatin = {{लॅटिनमधून}{लॅटिनमधून}}, + fromportuguese = {{पोर्तुगीजमधून}{पोर्तुगीजमधून}}, + fromrussian = {{रशियनमधून}{रशियनमधून}}, + fromspanish = {{स्पॅनिशमधून}{स्पॅनिशमधून}}, + fromswedish = {{स्वीडीतून}{स्वीडीतून}}, + patent = {{पेटंट}{पे\adddot}}, + file = {{धारिका}{धारिका}}, + library = {{ग्रंथालय}{ग्रंथालय}}, + abstract = {{सारांश}{सारांश}}, + annotation = {{टीपा}{टीपा}}, + commonera = {{सामान्य युग}{सा.यु\adddot}}, + beforecommonera = {{सामान्य युग पूर्व}{सा.यु.पू\adddot}}, + annodomini = {{इसवी सन}{इ.स\adddot}}, + beforechrist = {{इ.स.पू\adddot}{इ.स.पू\adddot}}, + circa = {{सुमारे}{सुमारे}}, + spring = {{वसंत}{वसंत}}, + summer = {{उन्हाळा}{उन्हाळा}}, + autumn = {{शरद}{शरद}}, + winter = {{हिवाळा}{हिवाळा}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{मध्यान्हपूर्व}{म.पू\adddot}}, + pm = {{मध्यान्होत्तर}{म.उ\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/naustrian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/naustrian-ms.lbx new file mode 100644 index 00000000000..c11f3a4904e --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/naustrian-ms.lbx @@ -0,0 +1,22 @@ +\ProvidesFile{naustrian-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{german} + +\DeclareBibliographyStrings{% + inherit = {german}, + citedas = {{im Folgenden zitiert als}{im Folgenden zit\adddotspace als}}, + january = {{J\"anner}{J\"an\adddot}}, +% alternative spelling, uncomment to enable: +% section = {{Paragraf}{\S}}, +% sections = {{Paragrafen}{\S\S}}, +% sectiontotal = {{Paragraf}{\S}}, +% sectiontotals = {{Paragrafen}{\S\S}}, +} + +\DeclareHyphenationExceptions{% + Pa-tent-an-mel-dung + Pa-tent-an-meld +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/newzealand-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/newzealand-ms.lbx new file mode 100644 index 00000000000..73f272df343 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/newzealand-ms.lbx @@ -0,0 +1,30 @@ +\ProvidesFile{newzealand-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{british} +\DeclareBibliographyExtras{% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\InheritBibliographyStrings{english} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/ngerman-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/ngerman-ms.lbx new file mode 100644 index 00000000000..8088f08e42c --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/ngerman-ms.lbx @@ -0,0 +1,21 @@ +\ProvidesFile{ngerman-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{german} + +\DeclareBibliographyStrings{% + inherit = {german}, + citedas = {{im Folgenden zitiert als}{im Folgenden zit\adddotspace als}}, +% alternative spelling, uncomment to enable: +% section = {{Paragraf}{\S}}, +% sections = {{Paragrafen}{\S\S}}, +% sectiontotal = {{Paragraf}{\S}}, +% sectiontotals = {{Paragrafen}{\S\S}}, +} + +\DeclareHyphenationExceptions{% + Pa-tent-an-mel-dung + Pa-tent-an-meld +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/norsk-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/norsk-ms.lbx new file mode 100644 index 00000000000..090848f7079 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/norsk-ms.lbx @@ -0,0 +1,553 @@ +\ProvidesFile{norsk-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{norsk}{norwegian,nynorsk} + +\DeclareBibliographyExtras{% + \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} + {} + {\mkbibordinal{\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}}\adddot}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\adddot}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografi}{Bibliografi}}, + references = {{Referanser}{Referanser}}, + shorthands = {{Forkortelser}{Forkortelser}}, + editor = {{redakt{\o}r}{red\adddot}}, + editors = {{redakt{\o}rer}{red\adddot}}, + compiler = {{kompilator}{komp\adddot}}, + compilers = {{kompilatorer}{komp\adddot}}, + redactor = {{bearbeidelse}{bearb\adddot}}, + redactors = {{bearbeidelse}{bearb\adddot}}, + reviser = {{revisjon}{rev\adddot}}, + revisers = {{revisjon}{rev\adddot}}, + founder = {{grunnlegger}{grunnl\adddot}}, + founders = {{grunnleggere}{grunnl\adddot}}, + continuator = {{videref{\o}ring}{videref\adddot}}, + continuators = {{videref{\o}ring}{videref\adddot}}, + collaborator = {{samarbeid}{samarb\adddot}}, + collaborators = {{samarbeid}{samarb\adddot}}, + translator = {{oversetter}{overs\adddot}}, + translators = {{oversettere}{overs\adddot}}, + commentator = {{kommentarer}{komm\adddot}}, + commentators = {{kommentarer}{komm\adddot}}, + annotator = {{forklaringer}{forkl\adddot}}, + annotators = {{forklaringer}{forkl\adddot}}, + commentary = {{kommentarer}{komm\adddot}}, + annotations = {{forklaringer}{forkl\adddot}}, + introduction = {{innledning}{innl\adddot}}, + foreword = {{forord}{forord}}, + afterword = {{etterord}{etterord}}, + editortr = {{redakt{\o}r og oversetter}% + {red\adddotspace og overs\adddot}}, + editorstr = {{redakt{\o}rer og oversettere}% + {red\adddotspace og overs\adddot}}, + editorco = {{redakt{\o}r og kommentarer} + {red\adddotspace og komm\adddot}}, + editorsco = {{redakt{\o}rer og kommentarer} + {red\adddotspace og komm\adddot}}, + editoran = {{redakt{\o}r og forklaringer}% + {red\adddotspace og forkl\adddot}}, + editorsan = {{redakt{\o}rer og forklaringer}% + {red\adddotspace og forkl\adddot}}, + editorin = {{redakt{\o}r og innledning}% + {red\adddotspace og innl\adddot}}, + editorsin = {{redakt{\o}rer og innledning}% + {red\adddotspace og innl\adddot}}, + editorfo = {{redakt{\o}r og forord}% + {red\adddotspace og forord}}, + editorsfo = {{redakt{\o}rer og forord}% + {red\adddotspace og forord}}, + editoraf = {{redakt{\o}r og etterord}% + {red\adddotspace og etterord}}, + editorsaf = {{redakt{\o}rer og etterord}% + {red\adddotspace og etterord}}, + editortrco = {{redakt{\o}r, oversetter og kommentarer}% + {red.,\addabbrvspace overs\adddotspace og komm\adddot}}, + editorstrco = {{redakt{\o}rer, oversettere og kommentarer}% + {red.,\addabbrvspace overs\adddotspace og komm\adddot}}, + editortran = {{redakt{\o}r, oversetter og forklaringer}% + {red.,\addabbrvspace overs\adddotspace og forkl\adddot}}, + editorstran = {{redakt{\o}rer, oversettere og forklaringer}% + {red.,\addabbrvspace overs\adddotspace og forkl\adddot}}, + editortrin = {{redakt{\o}r, oversetter og innledning}% + {red.,\addabbrvspace overs\adddotspace og innl\adddot}}, + editorstrin = {{redakt{\o}rer, oversettere og innledning}% + {red.,\addabbrvspace overs\adddotspace og innl\adddot}}, + editortrfo = {{redakt{\o}r, oversetter og forord}% + {red.,\addabbrvspace overs\adddotspace og forord}}, + editorstrfo = {{redakt{\o}rer, oversettere og forord}% + {red.,\addabbrvspace overs\adddotspace og forord}}, + editortraf = {{redakt{\o}r, oversetter og etterord}% + {red.,\addabbrvspace overs\adddotspace og etterord}}, + editorstraf = {{redakt{\o}rer, oversettere og etterord}% + {red.,\addabbrvspace overs\adddotspace og etterord}}, + editorcoin = {{redakt{\o}r, kommentarer og innledning}% + {red.,\addabbrvspace komm\adddotspace og innl\adddot}}, + editorscoin = {{redakt{\o}rer, kommentarer og innledning}% + {red.,\addabbrvspace komm\adddotspace og innl\adddot}}, + editorcofo = {{redakt{\o}r, kommentarer og forord}% + {red.,\addabbrvspace komm\adddotspace og forord}}, + editorscofo = {{redakt{\o}rer, kommentarer og forord}% + {red.,\addabbrvspace komm\adddotspace og forord}}, + editorcoaf = {{redakt{\o}r, kommentarer og etterord}% + {red.,\addabbrvspace komm\adddotspace og etterord}}, + editorscoaf = {{redakt{\o}rer, kommentarer og etterord}% + {red.,\addabbrvspace komm\adddotspace og etterord}}, + editoranin = {{redakt{\o}r, forklaringer og innledning}% + {red.,\addabbrvspace forkl\adddotspace og innl\adddot}}, + editorsanin = {{redakt{\o}rer, forklaringer og innledning}% + {red.,\addabbrvspace forkl\adddotspace og innl\adddot}}, + editoranfo = {{redakt{\o}r, forklaringer og forord}% + {red.,\addabbrvspace forkl\adddotspace og forord}}, + editorsanfo = {{redakt{\o}rer, forklaringer og forord}% + {red.,\addabbrvspace forkl\adddotspace og forord}}, + editoranaf = {{redakt{\o}r, forklaringer og etterord}% + {red.,\addabbrvspace forkl\adddotspace og etterord}}, + editorsanaf = {{redakt{\o}rer, forklaringer og etterord}% + {red.,\addabbrvspace forkl\adddotspace og etterord}}, + editortrcoin = {{redakt{\o}r, oversetter, kommentarer og innledning}% + {red.,\addabbrvspace overs., komm\adddotspace og innl\adddot}}, + editorstrcoin = {{redakt{\o}rer, oversettere, kommentarer og innledning}% + {red.,\addabbrvspace overs., komm\adddotspace og innl\adddot}}, + editortrcofo = {{redakt{\o}r, oversetter, kommentarer og forord}% + {red.,\addabbrvspace overs., komm\adddotspace og forord}}, + editorstrcofo = {{redakt{\o}rer, oversettere, kommentarer og forord}% + {red.,\addabbrvspace overs., komm\adddotspace og forord}}, + editortrcoaf = {{redakt{\o}r, oversetter, kommentarer og etterord}% + {red.,\addabbrvspace overs., komm\adddotspace og etterord}}, + editorstrcoaf = {{redakt{\o}rer, oversettere, kommentarer og etterord}% + {red.,\addabbrvspace overs., komm\adddotspace og etterord}}, + editortranin = {{redakt{\o}r, oversetter, forklaringer og innledning}% + {red.,\addabbrvspace overs., forkl\adddotspace og innl\adddot}}, + editorstranin = {{redakt{\o}rer, oversettere, forklaringer og innledning}% + {red.,\addabbrvspace overs., forkl\adddotspace og innl\adddot}}, + editortranfo = {{redakt{\o}r, oversetter, forklaringer og forord}% + {red.,\addabbrvspace overs., forkl\adddotspace og forord}}, + editorstranfo = {{redakt{\o}rer, oversettere, forklaringer og forord}% + {red.,\addabbrvspace overs., forkl\adddotspace og forord}}, + editortranaf = {{redakt{\o}r, oversetter, forklaringer og etterord}% + {red.,\addabbrvspace overs., forkl\adddotspace og etterord}}, + editorstranaf = {{redakt{\o}rer, oversettere, forklaringer og etterord}% + {red.,\addabbrvspace overs., forkl\adddotspace og etterord}}, + translatorco = {{oversetter og kommentarer}% + {overs\adddotspace og komm\adddot}}, + translatorsco = {{oversettere og kommentarer}% + {overs\adddotspace og komm\adddot}}, + translatoran = {{oversetter og forklaringer}% + {overs\adddotspace og forkl\adddot}}, + translatorsan = {{oversettere og forklaringer}% + {overs\adddotspace og forkl\adddot}}, + translatorin = {{oversetter og innledning}% + {overs\adddotspace og innl\adddot}}, + translatorsin = {{oversettere og innledning}% + {overs\adddotspace og innl\adddot}}, + translatorfo = {{oversetter og forord}% + {overs\adddotspace og forord}}, + translatorsfo = {{oversettere og forord}% + {overs\adddotspace og forord}}, + translatoraf = {{oversetter og etterord}% + {overs\adddotspace og etterord}}, + translatorsaf = {{oversettere og etterord}% + {overs\adddotspace og etterord}}, + translatorcoin = {{oversetter, kommentarer og innledning}% + {overs., komm\adddotspace og innl\adddot}}, + translatorscoin = {{oversettere, kommentarer og innledning}% + {overs., komm\adddotspace og innl\adddot}}, + translatorcofo = {{oversetter, kommentarer og forord}% + {overs., komm\adddotspace og forord}}, + translatorscofo = {{oversettere, kommentarer og forord}% + {overs., komm\adddotspace og forord}}, + translatorcoaf = {{oversetter, kommentarer og etterord}% + {overs., komm\adddotspace og etterord}}, + translatorscoaf = {{oversettere, kommentarer og etterord}% + {overs., komm\adddotspace og etterord}}, + translatoranin = {{oversetter, forklaringer og innledning}% + {overs., forkl\adddotspace og innl\adddot}}, + translatorsanin = {{oversettere, forklaringer og innledning}% + {overs., forkl\adddotspace og innl\adddot}}, + translatoranfo = {{oversetter, forklaringer og forord}% + {overs., forkl\adddotspace og forord}}, + translatorsanfo = {{oversettere, forklaringer og forord}% + {overs., forkl\adddotspace og forord}}, + translatoranaf = {{oversetter, forklaringer og etterord}% + {overs., forkl\adddotspace og etterord}}, + translatorsanaf = {{oversettere, forklaringer og etterord}% + {overs., forkl\adddotspace og etterord}}, + organizer = {{organisator}{org\adddot}}, + organizers = {{organisatorer}{org\adddot}}, + byorganizer = {{organisert av}{org\adddotspace av}}, + byauthor = {{av}{av}}, + byeditor = {{redigert av}{red\adddotspace av}}, + bycompiler = {{kompilert av}{komp\adddotspace av}}, + byredactor = {{bearbeidet av}{bearb\adddotspace av}}, + byreviser = {{revidert av}{rev\adddotspace av}}, + byreviewer = {{kritikk ved}{krit\adddotspace ved}}, + byfounder = {{grunnlagt av}{grunnl\adddotspace av}}, + bycontinuator = {{videref{\o}rt av}{videref\adddotspace av}}, + bycollaborator = {{i samarbeid med}{i samarb\adddotspace med}}, + bytranslator = {{oversatt \lbx@lfromlang\ av}{overs\adddot\ \lbx@sfromlang\ av}}, + bycommentator = {{kommentert av}{komm\adddot\ av}}, + byannotator = {{forklart av}{forkl\adddot\ av}}, + withcommentator = {{med kommentarer av}{med komm\adddot\ av}}, + withannotator = {{med forklaringer av}{med forkl\adddot\ av}}, + withintroduction = {{med innledning av}{med innl\adddot\ av}}, + withforeword = {{med forord av}{med forord av}}, + withafterword = {{med etterord av}{med etterord av}}, + byeditortr = {{redigert og oversatt \lbx@lfromlang\ av}% + {red\adddotspace og overs\adddot\ \lbx@sfromlang\ av}}, + byeditorco = {{redigert og kommentert av}% + {red\adddotspace og komm\adddot\ av}}, + byeditoran = {{redigert og forklart av}% + {red\adddotspace og forkl\adddot\ av}}, + byeditorin = {{redigert, med innledning, av}% + {red.,\addabbrvspace med innl., av}}, + byeditorfo = {{redigert, med forord, av}% + {red.,\addabbrvspace med forord, av}}, + byeditoraf = {{redigert, med etterord, av}% + {red.,\addabbrvspace med etterord, av}}, + byeditortrco = {{redigert, oversatt \lbx@lfromlang\ og kommentert av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og komm\adddot\ av}}, + byeditortran = {{redigert, oversatt \lbx@lfromlang\ og forklart av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og forkl\adddot\ av}}, + byeditortrin = {{redigert og oversatt \lbx@lfromlang, med innledning, av}% + {red\adddotspace og overs\adddot\ \lbx@sfromlang, med innl., av}}, + byeditortrfo = {{redigert og oversatt \lbx@lfromlang, med forord, av}% + {red\adddotspace og overs\adddot\ \lbx@sfromlang, med forord, av}}, + byeditortraf = {{redigert og oversatt \lbx@lfromlang, med etterord, av}% + {red\adddotspace og overs\adddot\ \lbx@sfromlang, med etterord, av}}, + byeditorcoin = {{redigert og kommentert, med innledning, av}% + {red\adddotspace og komm., med innl., av}}, + byeditorcofo = {{redigert og kommentert, med forord, av}% + {red\adddotspace og komm., med forord, av}}, + byeditorcoaf = {{redigert og kommentert, med etterord, av}% + {red\adddotspace og komm., med etterord, av}}, + byeditoranin = {{redigert og forklart, med innledning, av}% + {red\adddotspace og forkl., med innl., av}}, + byeditoranfo = {{redigert og forklart, med forord, av}% + {red\adddotspace og forkl., med forord, av}}, + byeditoranaf = {{redigert og forklart, med etterord, av}% + {red\adddotspace og forkl., med etterord, av}}, + byeditortrcoin = {{redigert, oversatt \lbx@lfromlang\ og kommentert, med innledning, av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og komm., med innl., av}}, + byeditortrcofo = {{redigert, oversatt \lbx@lfromlang\ og kommentert, med forord, av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og komm., med forord, av}}, + byeditortrcoaf = {{redigert, oversatt \lbx@lfromlang\ og kommentert, med etterord, av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og komm., med etterord, av}}, + byeditortranin = {{redigert, oversatt \lbx@lfromlang\ og forklart, med innledning, av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og forkl., med innl., av}}, + byeditortranfo = {{redigert, oversatt \lbx@lfromlang\ og forklart, med forord, av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og forkl., med forord, av}}, + byeditortranaf = {{redigert, oversatt \lbx@lfromlang\ og forklart, med etterord, av}% + {red.,\addabbrvspace overs\adddot\ \lbx@sfromlang\ og forkl., med etterord, av}}, + bytranslatorco = {{oversatt \lbx@lfromlang\ og kommentert av}% + {overs\adddot\ \lbx@sfromlang\ og komm\adddot\ av}}, + bytranslatoran = {{oversatt \lbx@lfromlang\ og forklart av}% + {overs\adddot\ \lbx@sfromlang\ og forkl\adddot\ av}}, + bytranslatorin = {{oversatt \lbx@lfromlang, med innledning, av}% + {overs\adddot\ \lbx@sfromlang, med innl., av}}, + bytranslatorfo = {{oversatt \lbx@lfromlang, med forord, av}% + {overs\adddot\ \lbx@sfromlang, med forord, av}}, + bytranslatoraf = {{oversatt \lbx@lfromlang, med etterord, av}% + {overs\adddot\ \lbx@sfromlang, med etterord, av}}, + bytranslatorcoin = {{oversatt \lbx@lfromlang\ og kommentert, med innledning, av}% + {overs\adddot\ \lbx@sfromlang\ og komm., med innl., av}}, + bytranslatorcofo = {{oversatt \lbx@lfromlang\ og kommentert, med forord, av}% + {overs\adddot\ \lbx@sfromlang\ og komm., med forord, av}}, + bytranslatorcoaf = {{oversatt \lbx@lfromlang\ og kommentert, med etterord, av}% + {overs\adddot\ \lbx@sfromlang\ og komm., med etterord, av}}, + bytranslatoranin = {{oversatt \lbx@lfromlang\ og forklart, med innledning, av}% + {overs\adddot\ \lbx@sfromlang\ og forkl., med innl., av}}, + bytranslatoranfo = {{oversatt \lbx@lfromlang\ og forklart, med forord, av}% + {overs\adddot\ \lbx@sfromlang\ og forkl., med forord, av}}, + bytranslatoranaf = {{oversatt \lbx@lfromlang\ og forklart, med etterord, av}% + {overs\adddot\ \lbx@sfromlang\ og forkl., med etterord, av}}, + and = {{og}{og}}, + andothers = {{med flere}{mfl\adddot}}, + andmore = {{med mer}{m.m\adddot}}, + volume = {{bind}{bd\adddot}}, + volumes = {{bind}{bd\adddot}}, + involumes = {{i}{i}}, + jourvol = {{{\aa}rgang}{{\aa}rg\adddot}}, + jourser = {{serie}{ser\adddot}}, + book = {{bok}{bok}}, + part = {{del}{del}}, + issue = {{nummer}{nr\adddot}}, + newseries = {{ny serie}{ny ser\adddot}}, + oldseries = {{gammel serie}{gl\adddotspace ser\adddot}}, + edition = {{utgave}{utg\adddot}}, + reprint = {{opptrykk}{opptr\adddot}}, + reprintof = {{opptrykk av}{opptr\adddotspace av}}, + reprintas = {{trykt om som}{tr\adddotspace om som}}, + reprintfrom = {{opptrykk fra}{opptr\adddotspace fra}}, + translationof = {{oversettelse av}{overs\adddotspace av}}, + translationas = {{oversatt som}{overs\adddotspace som}}, + translationfrom = {{oversatt fra}{overs\adddotspace fra}}, + reviewof = {{kritikk av}{krit\adddotspace av}}, + origpubas = {{opprinnelig utgitt som}{oppr\adddot\ utg\adddot\ som}}, + origpubin = {{opprinnelig utgitt i}{oppr\adddot\ utg\adddot\ i}}, + astitle = {{som}{som}}, + bypublisher = {{av}{av}}, + nodate = {{udatert}{udatert}}, + page = {{side}{s\adddot}}, + pages = {{sider}{s\adddot}}, + column = {{spalte}{sp\adddot}}, + columns = {{spalter}{sp\adddot}}, + line = {{linje}{l\adddot}}, + lines = {{linjer}{l\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{vers}{v\adddot}}, + section = {{avsnitt}{avsn\adddot}}, + sections = {{avsnitt}{avsn\adddot}}, + paragraph = {{avsnitt}{avsn\adddot}}, + paragraphs = {{avsnitt}{avsn\adddot}}, + pagetotal = {{side}{s\adddot}}, + pagetotals = {{sider}{s\adddot}}, + columntotal = {{spalte}{sp\adddot}}, + columntotals = {{spalter}{sp\adddot}}, + linetotal = {{linje}{l\adddot}}, + linetotals = {{linjer}{l\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{vers}{v\adddot}}, + sectiontotal = {{avsnitt}{avsn\adddot}}, + sectiontotals = {{avsnitt}{avsn\adddot}}, + paragraphtotal = {{avsnitt}{avsn\adddot}}, + paragraphtotals = {{avsnitt}{avsn\adddot}}, + in = {{i}{i}}, + inseries = {{i}{i}}, + ofseries = {{av}{av}}, + number = {{nummer}{nr\adddot}}, + chapter = {{kapittel}{kap\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{masteroppgave}{masteroppg\adddot}}, + phdthesis = {{ph.d.-avhandling}{ph.d.-avh\adddot}}, + candthesis = {{hovedoppgave}{hovedoppg\adddot}}, + resreport = {{forskningsrapport}{forskn.rapp\adddot}}, + techreport = {{teknisk rapport}{tekn\adddotspace rapp\adddot}}, + software = {{programvare}{programvare}}, + datacd = {{data-cd}{data-cd}}, + audiocd = {{lyd-cd}{lyd-cd}}, + version = {{versjon}{versjon}}, + url = {{adresse}{adresse}}, + urlfrom = {{tilgjengelig fra}{tilgj\adddotspace fra}}, + urlseen = {{sjekket}{sjekket}}, + inpreparation = {{under utarbeidelse}{under utarb\adddot}}, + submitted = {{innsendt}{innsendt}}, + forthcoming = {{under utgivelse}{under utgiv\adddot}}, + inpress = {{i trykken}{i trykken}}, + prepublished = {{prepublisert}{prepubl\adddot}}, + citedas = {{heretter sitert som}{heretter sit\adddotspace som}}, + thiscite = {{her}{her}}, + seenote = {{se note}{se n\adddot}}, + quotedin = {{sitert i}{sit\adddotspace i}}, + idem = {{den samme}{d.s\adddot}}, + idemsf = {{den samme}{d.s\adddot}}, + idemsm = {{den samme}{d.s\adddot}}, + idemsn = {{det samme}{d.s\adddot}}, + idempf = {{de samme}{d.s\adddot}}, + idempm = {{de samme}{d.s\adddot}}, + idempn = {{de samme}{d.s\adddot}}, + idempp = {{de samme}{d.s\adddot}}, + ibidem = {{samme sted}{sst\adddot}}, + opcit = {{samme sted}{sst\adddot}}, + loccit = {{samme sted}{sst\adddot}}, + confer = {{jamf{\o}r}{jf\adddot}}, + sequens = {{f\adddot}{f\adddot}}, + sequentes = {{ff\adddot}{ff\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{se}{se}}, + seealso = {{se ogs{\aa}}{se ogs{\aa}}}, + backrefpage = {{se side}{se s\adddot}}, + backrefpages = {{se sidene}{se s\adddot}}, + january = {{januar}{jan\adddot}}, + february = {{februar}{feb\adddot}}, + march = {{mars}{mar\adddot}}, + april = {{april}{apr\adddot}}, + may = {{mai}{mai}}, + june = {{juni}{jun\adddot}}, + july = {{juli}{jul\adddot}}, + august = {{august}{aug\adddot}}, + september = {{september}{sep\adddot}}, + october = {{oktober}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{desember}{des\adddot}}, + langamerican = {{amerikansk-engelsk}{amerikansk-engelsk}}, + langbrazilian = {{brasiliansk-portugisisk}{brasiliansk-portugisisk}}, + langbulgarian = {{bulgarsk}{bulgarsk}}, + langcatalan = {{katalansk}{katalansk}}, + langcroatian = {{kroatisk}{kroatisk}}, + langczech = {{tsjekkisk}{tsjekkisk}}, + langdanish = {{dansk}{dansk}}, + langdutch = {{nederlandsk}{nederlandsk}}, + langenglish = {{engelsk}{engelsk}}, + langestonian = {{estisk}{estisk}}, + langfinnish = {{finsk}{finsk}}, + langfrench = {{fransk}{fransk}}, + langgalician = {{galisisk}{galisisk}}, + langgerman = {{tysk}{tysk}}, + langgreek = {{gresk}{gresk}}, +% langhungarian = {{}{}}, % FIXME: missing + langitalian = {{italiensk}{italiensk}}, + langjapanese = {{japansk}{japansk}}, + langlatin = {{latin}{latin}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{norsk}{norsk}}, + langpolish = {{polsk}{polsk}}, + langportuguese = {{portugisisk}{portugisisk}}, + langrussian = {{russisk}{russisk}}, + langslovak = {{slovakisk}{slovakisk}}, + langslovene = {{slovensk}{slovensk}}, + langspanish = {{spansk}{spansk}}, + langswedish = {{svensk}{svensk}}, + langukrainian = {{ukrainsk}{ukrainsk}}, + fromamerican = {{fra amerikansk-engelsk}{fra amerikansk-engelsk}}, + frombrazilian = {{fra brasiliansk-portugisisk}{fra brasiliansk-portugisisk}}, + frombulgarian = {{fra bulgarsk}{fra bulgarsk}}, + fromcatalan = {{fra katalansk}{fra katalansk}}, + fromcroatian = {{fra kroatisk}{fra kroatisk}}, + fromczech = {{fra tsjekkisk}{fra tsjekkisk}}, + fromdanish = {{fra dansk}{fra dansk}}, + fromdutch = {{fra nederlandsk}{fra nederlandsk}}, + fromenglish = {{fra engelsk}{fra engelsk}}, + fromestonian = {{fra estisk}{fra estisk}}, + fromfinnish = {{fra finsk}{fra finsk}}, + fromfrench = {{fra fransk}{fra fransk}}, + fromgalician = {{fra galisisk}{fra galisisk}}, + fromgerman = {{fra tysk}{fra tysk}}, + fromgreek = {{fra gresk}{fra gresk}}, +% fromhungarian = {{}{}}, % FIXME: missing + fromitalian = {{fra italiensk}{fra italiensk}}, + fromjapanese = {{fra japansk}{fra japansk}}, + fromlatin = {{fra latin}{fra latin}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{fra norsk}{fra norsk}}, + frompolish = {{fra polsk}{fra polsk}}, + fromportuguese = {{fra portugisisk}{fra portugisisk}}, + fromrussian = {{fra russisk}{fra russisk}}, + fromslovak = {{fra slovakisk}{fra slovakisk}}, + fromslovene = {{fra slovensk}{fra slovensk}}, + fromspanish = {{fra spansk}{fra spansk}}, + fromswedish = {{fra svensk}{fra svensk}}, + fromukrainian = {{fra ukrainsk}{fra ukrainsk}}, + countryde = {{Tyskland}{DE}}, + countryeu = {{Den europeiske union}{EU}}, + countryep = {{Den europeiske union}{EP}}, + countryfr = {{Frankrike}{FR}}, + countryuk = {{Storbritannia}{GB}}, + countryus = {{USA}{US}}, + patent = {{patent}{patent}}, + patentde = {{tysk patent}{ty\adddotspace pat\adddot}}, + patenteu = {{europeisk patent}{eur\adddotspace pat\adddot}}, + patentfr = {{fransk patent}{fr\adddotspace pat\adddot}}, + patentuk = {{britisk patent}{br\adddotspace pat\adddot}}, + patentus = {{amerikansk patent}{am\adddotspace pat\adddot}}, + patreq = {{patents{\o}knad}{pat.s{\o}kn\adddot}}, + patreqde = {{tysk patents{\o}knad}% + {ty\adddotspace pat.s{\o}kn\adddot}}, + patreqeu = {{europeisk patents{\o}knad}% + {eur\adddotspace pat.s{\o}kn\adddot}}, + patreqfr = {{fransk patents{\o}knad}% + {fr\adddotspace pat.s{\o}kn\adddot}}, + patrequk = {{britisk patents{\o}knad}% + {br\adddotspace pat.s{\o}kn\adddot}}, + patrequs = {{amerikansk patents{\o}knad}% + {am\adddotspace pat.s{\o}kn\adddot}}, + file = {{fil}{fil}}, + library = {{bibliotek}{bibliotek}}, + abstract = {{sammendrag}{sammendrag}}, + annotation = {{merknad}{merknad}}, + commonera = {{etter v{\aa}r tidsregning}{evt\adddot}}, + beforecommonera = {{f{\o}r v{\aa}r tidsregning}{fvt\adddot}}, + annodomini = {{etter Kristus}{e\adddot Kr\adddot}}, + beforechrist = {{f{\o}r Kristus}{f\adddot Kr\adddot}}, + circa = {{cirka}{ca\adddot}}, + spring = {{v{\aa}r}{v{\aa}r}}, + summer = {{sommer}{sommer}}, + autumn = {{h{\o}st}{h{\o}st}}, + winter = {{vinter}{vinter}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{a\adddot m\adddot}{a\adddot m\adddot}}, + pm = {{p\adddot m\adddot}{p\adddot m\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/nswissgerman-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/nswissgerman-ms.lbx new file mode 100644 index 00000000000..ca6890511e4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/nswissgerman-ms.lbx @@ -0,0 +1,30 @@ +\ProvidesFile{nswissgerman-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{german} + +% Swiss time sep is a dot +\DeclareBibliographyExtras{% + \protected\def\bibtimesep{.}% +} + +% One point where Swiss German spelling +% differs from Austrian and German German +% is the (non-)use of \ss +\DeclareBibliographyStrings{% + inherit = {german}, + citedas = {{im Folgenden zitiert als}{im Folgenden zit\adddotspace als}}, + countryuk = {{Grossbritannien}{GB}}, +% alternative spelling, uncomment to enable: +% section = {{Paragraf}{\S}}, +% sections = {{Paragrafen}{\S\S}}, +% sectiontotal = {{Paragraf}{\S}}, +% sectiontotals = {{Paragrafen}{\S\S}}, +} + +\DeclareHyphenationExceptions{% + Pa-tent-an-mel-dung + Pa-tent-an-meld +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/nynorsk-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/nynorsk-ms.lbx new file mode 100644 index 00000000000..823b3fcf0a1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/nynorsk-ms.lbx @@ -0,0 +1,334 @@ +\ProvidesFile{nynorsk-ms.lbx} +[\abx@lbxid] + +% Remarks by translators: +% +% Since "nynorsk" inherits "norsk" (bokm\aa l) only strings that are +% different in the two languages are included. In particular, this +% means that no language or month name strings are listed below. +% + +\InheritBibliographyExtras{norsk} + +\DeclareBibliographyStrings{% + inherit = {norsk}, + references = {{Referansar}{Referansar}}, + shorthands = {{Forkortingar}{Forkortingar}}, + editors = {{redakt{\o}rar}{red\adddot}}, + compilers = {{kompilatorar}{komp\adddot}}, + redactor = {{omarbeiding}{omarb\adddot}}, + redactors = {{omarbeiding}{omarb\adddot}}, + founder = {{grunnleggjar}{grunnl\adddot}}, + founders = {{grunnleggjarar}{grunnl\adddot}}, + continuator = {{vidaref{\o}ring}{vidaref\adddot}}, + continuators = {{vidaref{\o}ring}{vidaref\adddot}}, + translator = {{omsetjar}{oms\adddot}}, + translators = {{omsetjarar}{oms\adddot}}, + commentator = {{kommentarar}{komm\adddot}}, + commentators = {{kommentarar}{komm\adddot}}, + annotator = {{forklaringar}{forkl\adddot}}, + annotators = {{forklaringar}{forkl\adddot}}, + commentary = {{kommentarar}{komm\adddot}}, + annotations = {{forklaringar}{forkl\adddot}}, + introduction = {{innleiing}{innl\adddot}}, + foreword = {{f{\o}reord}{f{\o}reord}}, + editortr = {{redakt{\o}r og omsetjar}% + {red\adddotspace og oms\adddot}}, + editorstr = {{redakt{\o}rar og omsetjarar}% + {red\adddotspace og oms\adddot}}, + editorco = {{redakt{\o}r og kommentarar}% + {red\adddotspace og komm\adddot}}, + editorsco = {{redakt{\o}rar og kommentarar}% + {red\adddotspace og komm\adddot}}, + editoran = {{redakt{\o}r og forklaringar}% + {red\adddotspace og forkl\adddot}}, + editorsan = {{redakt{\o}rar og forklaringar}% + {red\adddotspace og forkl\adddot}}, + editorin = {{redakt{\o}r og innleiing}% + {red\adddotspace og innl\adddot}}, + editorsin = {{redakt{\o}rar og innleiing}% + {red\adddotspace og innl\adddot}}, + editorfo = {{redakt{\o}r og f{\o}reord}% + {red\adddotspace og f{\o}reord}}, + editorsfo = {{redakt{\o}rar og f{\o}reord}% + {red\adddotspace og f{\o}reord}}, + editorsaf = {{redakt{\o}rar og etterord}% + {red\adddotspace og etterord}}, + editortrco = {{redakt{\o}r, omsetjar og kommentarar}% + {red.,\addabbrvspace oms\adddotspace og komm\adddot}}, + editorstrco = {{redakt{\o}rar, omsetjarar og kommentarar}% + {red.,\addabbrvspace oms\adddotspace og komm\adddot}}, + editortran = {{redakt{\o}r, omsetjar og forklaringar}% + {red.,\addabbrvspace oms\adddotspace og forkl\adddot}}, + editorstran = {{redakt{\o}rar, omsetjarar og forklaringar}% + {red.,\addabbrvspace oms\adddotspace og forkl\adddot}}, + editortrin = {{redakt{\o}r, omsetjar og innleiing}% + {red.,\addabbrvspace oms\adddotspace og innl\adddot}}, + editorstrin = {{redakt{\o}rar, omsetjarar og innleiing}% + {red.,\addabbrvspace oms\adddotspace og innl\adddot}}, + editortrfo = {{redakt{\o}r, omsetjar og f{\o}reord}% + {red.,\addabbrvspace oms\adddotspace og f{\o}reord}}, + editorstrfo = {{redakt{\o}rar, omsetjarar og f{\o}reord}% + {red.,\addabbrvspace oms\adddotspace og f{\o}reord}}, + editortraf = {{redakt{\o}r, omsetjar og etterord}% + {red.,\addabbrvspace oms\adddotspace og etterord}}, + editorstraf = {{redakt{\o}rar, omsetjarar og etterord}% + {red.,\addabbrvspace oms\adddotspace og etterord}}, + editorcoin = {{redakt{\o}r, kommentarar og innleiing}% + {red.,\addabbrvspace komm\adddotspace og innl\adddot}}, + editorscoin = {{redakt{\o}rar, kommentarar og innleiing}% + {red.,\addabbrvspace komm\adddotspace og innl\adddot}}, + editorcofo = {{redakt{\o}r, kommentarar og f{\o}reord}% + {red.,\addabbrvspace komm\adddotspace og f{\o}reord}}, + editorscofo = {{redakt{\o}rar, kommentarar og f{\o}reord}% + {red.,\addabbrvspace komm\adddotspace og f{\o}reord}}, + editorcoaf = {{redakt{\o}r, kommentarar og etterord}% + {red.,\addabbrvspace komm\adddotspace og etterord}}, + editorscoaf = {{redakt{\o}rar, kommentarar og etterord}% + {red.,\addabbrvspace komm\adddotspace og etterord}}, + editoranin = {{redakt{\o}r, forklaringar og innleiing}% + {red.,\addabbrvspace forkl\adddotspace og innl\adddot}}, + editorsanin = {{redakt{\o}rar, forklaringar og innleiing}% + {red.,\addabbrvspace forkl\adddotspace og innl\adddot}}, + editoranfo = {{redakt{\o}r, forklaringar og f{\o}reord}% + {red.,\addabbrvspace forkl\adddotspace og f{\o}reord}}, + editorsanfo = {{redakt{\o}rar, forklaringar og f{\o}reord}% + {red.,\addabbrvspace forkl\adddotspace og f{\o}reord}}, + editoranaf = {{redakt{\o}r, forklaringar og etterord}% + {red.,\addabbrvspace forkl\adddotspace og etterord}}, + editorsanaf = {{redakt{\o}rar, forklaringar og etterord}% + {red.,\addabbrvspace forkl\adddotspace og etterord}}, + editortrcoin = {{redakt{\o}r, omsetjar, kommentarar og innleiing}% + {red.,\addabbrvspace oms., komm\adddotspace og innl\adddot}}, + editorstrcoin = {{redakt{\o}rar, omsetjarar, kommentarar og innleiing}% + {red.,\addabbrvspace oms., komm\adddotspace og innl\adddot}}, + editortrcofo = {{redakt{\o}r, omsetjar, kommentarar og f{\o}reord}% + {red.,\addabbrvspace oms., komm\adddotspace og f{\o}reord}}, + editorstrcofo = {{redakt{\o}rar, omsetjarar, kommentarar og f{\o}reord}% + {red.,\addabbrvspace oms., komm\adddotspace og f{\o}reord}}, + editortrcoaf = {{redakt{\o}r, omsetjar, kommentarar og etterord}% + {red.,\addabbrvspace oms., komm\adddotspace og etterord}}, + editorstrcoaf = {{redakt{\o}rar, omsetjarar, kommentarar og etterord}% + {red.,\addabbrvspace oms., komm\adddotspace og etterord}}, + editortranin = {{redakt{\o}r, omsetjar, forklaringar og innleiing}% + {red.,\addabbrvspace oms., forkl\adddotspace og innl\adddot}}, + editorstranin = {{redakt{\o}rar, omsetjarar, forklaringar og innleiing}% + {red.,\addabbrvspace oms., forkl\adddotspace og innl\adddot}}, + editortranfo = {{redakt{\o}r, omsetjar, forklaringar og f{\o}reord}% + {red.,\addabbrvspace oms., forkl\adddotspace og f{\o}reord}}, + editorstranfo = {{redakt{\o}rar, omsetjarar, forklaringar og f{\o}reord}% + {red.,\addabbrvspace oms., forkl\adddotspace og f{\o}reord}}, + editortranaf = {{redakt{\o}r, omsetjar, forklaringar og etterord}% + {red.,\addabbrvspace oms., forkl\adddotspace og etterord}}, + editorstranaf = {{redakt{\o}rar, omsetjarar, forklaringar og etterord}% + {red.,\addabbrvspace oms., forkl\adddotspace og etterord}}, + translatorco = {{omsetjar og kommentarar}% + {oms\adddotspace og komm\adddot}}, + translatorsco = {{omsetjarar og kommentarar}% + {oms\adddotspace og komm\adddot}}, + translatoran = {{omsetjar og forklaringar}% + {oms\adddotspace og forkl\adddot}}, + translatorsan = {{omsetjarar og forklaringar}% + {oms\adddotspace og forkl\adddot}}, + translatorin = {{omsetjar og innleiing}% + {oms\adddotspace og innl\adddot}}, + translatorsin = {{omsetjarar og innleiing}% + {oms\adddotspace og innl\adddot}}, + translatorfo = {{omsetjar og f{\o}reord}% + {oms\adddotspace og f{\o}reord}}, + translatorsfo = {{omsetjarar og f{\o}reord}% + {oms\adddotspace og f{\o}reord}}, + translatoraf = {{omsetjar og etterord}% + {oms\adddotspace og etterord}}, + translatorsaf = {{omsetjarar og etterord}% + {oms\adddotspace og etterord}}, + translatorcoin = {{omsetjar, kommentarar og innleiing}% + {oms., komm\adddotspace og innl\adddot}}, + translatorscoin = {{omsetjarar, kommentarar og innleiing}% + {oms., komm\adddotspace og innl\adddot}}, + translatorcofo = {{omsetjar, kommentarar og f{\o}reord}% + {oms., komm\adddotspace og f{\o}reord}}, + translatorscofo = {{omsetjarar, kommentarar og f{\o}reord}% + {oms., komm\adddotspace og f{\o}reord}}, + translatorcoaf = {{omsetjar, kommentarar og etterord}% + {oms., komm\adddotspace og etterord}}, + translatorscoaf = {{omsetjarar, kommentarar og etterord}% + {oms., komm\adddotspace og etterord}}, + translatoranin = {{omsetjar, forklaringar og innleiing}% + {oms., forkl\adddotspace og innl\adddot}}, + translatorsanin = {{omsetjarar, forklaringar og innleiing}% + {oms., forkl\adddotspace og innl\adddot}}, + translatoranfo = {{omsetjar, forklaringar og f{\o}reord}% + {oms., forkl\adddotspace og f{\o}reord}}, + translatorsanfo = {{omsetjarar, forklaringar og f{\o}reord}% + {oms., forkl\adddotspace og f{\o}reord}}, + translatoranaf = {{omsetjar, forklaringar og etterord}% + {oms., forkl\adddotspace og etterord}}, + translatorsanaf = {{omsetjarar, forklaringar og etterord}% + {oms., forkl\adddotspace og etterord}}, + organizers = {{organisatorar}{org\adddot}}, + byredactor = {{omarbeidd av}{omarb\adddotspace av}}, + bycontinuator = {{vidaref{\o}rt av}{vidaref\adddotspace av}}, + bytranslator = {{omsett \lbx@lfromlang\ av}% + {oms\adddot\ \lbx@sfromlang\ av}}, + withcommentator = {{med kommentarar av}{med komm\adddot\ av}}, + withannotator = {{med forklaringar av}{med forkl\adddot\ av}}, + withintroduction = {{med innleiing av}{med innl\adddot\ av}}, + withforeword = {{med f{\o}reord av}{med f{\o}reord av}}, + byeditortr = {{redigert og omsett \lbx@lfromlang\ av}% + {red\adddotspace og oms\adddot\ \lbx@sfromlang\ av}}, + byeditorin = {{redigert, med innleiing, av}% + {red.,\addabbrvspace med innl., av}}, + byeditorfo = {{redigert, med f{\o}reord, av}% + {red.,\addabbrvspace med f{\o}reord, av}}, + byeditortrco = {{redigert, omsett \lbx@lfromlang\ og kommentert av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og komm\adddot\ av}}, + byeditortran = {{redigert, omsett \lbx@lfromlang\ og forklart av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og forkl\adddot\ av}}, + byeditortrin = {{redigert og omsett \lbx@lfromlang, med innleiing, av}% + {red\adddotspace og oms\adddot\ \lbx@sfromlang, med innl., av}}, + byeditortrfo = {{redigert og omsett \lbx@lfromlang, med f{\o}reord, av}% + {red\adddotspace og oms\adddot\ \lbx@sfromlang, med f{\o}reord, av}}, + byeditortraf = {{redigert og omsett \lbx@lfromlang, med etterord, av}% + {red\adddotspace og oms\adddot\ \lbx@sfromlang, med etterord, av}}, + byeditorcoin = {{redigert og kommentert, med innleiing, av}% + {red\adddotspace og komm., med innl., av}}, + byeditorcofo = {{redigert og kommentert, med f{\o}reord, av}% + {red\adddotspace og komm., med f{\o}reord, av}}, + byeditoranin = {{redigert og forklart, med innleiing, av}% + {red\adddotspace og forkl., med innl., av}}, + byeditoranfo = {{redigert og forklart, med f{\o}reord, av}% + {red\adddotspace og forkl., med f{\o}reord, av}}, + byeditortrcoin = {{redigert, omsett \lbx@lfromlang\ og kommentert, med innleiing, av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og komm., med innl., av}}, + byeditortrcofo = {{redigert, omsett \lbx@lfromlang\ og kommentert, med f{\o}reord, av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og komm., med f{\o}reord, av}}, + byeditortrcoaf = {{redigert, omsett \lbx@lfromlang\ og kommentert, med etterord, av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og komm., med etterord, av}}, + byeditortranin = {{redigert, omsett \lbx@lfromlang\ og forklart, med innleiing, av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og forkl., med innl., av}}, + byeditortranfo = {{redigert, omsett \lbx@lfromlang\ og forklart, med f{\o}reord, av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og forkl., med f{\o}reord, av}}, + byeditortranaf = {{redigert, omsett \lbx@lfromlang\ og forklart, med etterord, av}% + {red.,\addabbrvspace oms\adddot\ \lbx@sfromlang\ og forkl., med etterord, av}}, + bytranslatorco = {{omsett \lbx@lfromlang\ og kommentert av}% + {oms\adddot\ \lbx@sfromlang\ og komm\adddot\ av}}, + bytranslatoran = {{omsett \lbx@lfromlang\ og forklart av}% + {oms\adddot\ \lbx@sfromlang\ og forkl\adddot\ av}}, + bytranslatorin = {{omsett \lbx@lfromlang, med innleiing, av}% + {oms\adddot\ \lbx@sfromlang, med innl., av}}, + bytranslatorfo = {{omsett \lbx@lfromlang, med f{\o}reord, av}% + {oms\adddot\ \lbx@sfromlang, med f{\o}reord, av}}, + bytranslatoraf = {{omsett \lbx@lfromlang, med etterord, av}% + {oms\adddot\ \lbx@sfromlang, med etterord, av}}, + bytranslatorcoin = {{omsett \lbx@lfromlang\ og kommentert, med innleiing, av}% + {oms\adddot\ \lbx@sfromlang\ og komm., med innl., av}}, + bytranslatorcofo = {{omsett \lbx@lfromlang\ og kommentert, med f{\o}reord, av}% + {oms\adddot\ \lbx@sfromlang\ og komm., med f{\o}reord, av}}, + bytranslatorcoaf = {{omsett \lbx@lfromlang\ og kommentert, med etterord, av}% + {oms\adddot\ \lbx@sfromlang\ og komm., med etterord, av}}, + bytranslatoranin = {{omsett \lbx@lfromlang\ og forklart, med innleiing, av}% + {oms\adddot\ \lbx@sfromlang\ og forkl., med innl., av}}, + bytranslatoranfo = {{omsett \lbx@lfromlang\ og forklart, med f{\o}reord, av}% + {oms\adddot\ \lbx@sfromlang\ og forkl., med f{\o}reord, av}}, + bytranslatoranaf = {{omsett \lbx@lfromlang\ og forklart, med etterord, av}% + {oms\adddot\ \lbx@sfromlang\ og forkl., med etterord, av}}, + andothers = {{med fleire}{mfl\adddot}}, + andmore = {{med meir}{m.m\adddot}}, + oldseries = {{gamal serie}{gl\adddotspace ser\adddot}}, + edition = {{utg{\aa}ve}{utg\adddot}}, + reprintfrom = {{opptrykk fr{\aa}}{opptr\adddotspace fr{\aa}}}, + translationof = {{omsetjing av}{oms\adddotspace av}}, + translationas = {{omsett som}{oms\adddotspace som}}, + translationfrom = {{omsett fr{\aa}}{oms\adddotspace fr{\aa}}}, + origpubas = {{opphavleg utgitt som}{opph\adddot\ utg\adddot\ som}}, + origpubin = {{opphavleg utgitt i}{opph\adddot\ utg\adddot\ i}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{masteroppg{\aa}ve}{masteroppg\adddot}}, + candthesis = {{hovudoppg{\aa}ve}{hovudoppg\adddot}}, + resreport = {{forskingsrapport}{forsk.rapp\adddot}}, + url = {{adresse}{adresse}}, + urlfrom = {{tilgjengeleg fr{\aa}}{tilgj\adddotspace fr{\aa}}}, + urlseen = {{sjekka}{sjekka}}, + inpreparation = {{under utarbeiding}{under utarb\adddot}}, + forthcoming = {{under utgiving}{under utgiv\adddot}}, + citedas = {{heretter sitert som}{heretter sit\adddotspace som}}, + seenote = {{sj{\aa} note}{sj{\aa} n\adddot}}, + idem = {{den same}{d.s\adddot}}, + idemsf = {{den same}{d.s\adddot}}, + idemsm = {{den same}{d.s\adddot}}, + idemsn = {{det same}{d.s\adddot}}, + idempf = {{dei same}{d.s\adddot}}, + idempm = {{dei same}{d.s\adddot}}, + idempn = {{dei same}{d.s\adddot}}, + idempp = {{dei same}{d.s\adddot}}, + ibidem = {{same staden}{sst\adddot}}, + opcit = {{same staden}{sst\adddot}}, + loccit = {{same staden}{sst\adddot}}, + see = {{sj{\aa}}{sj{\aa}}}, + seealso = {{sj{\aa} \`{o}g}{sj{\aa} \`{o}g}}, + backrefpage = {{sj{\aa} side}{sj{\aa} s\adddot}}, + backrefpages = {{sj{\aa} sidene}{sj{\aa} s\adddot}}, + fromamerican = {{fr{\aa} amerikansk-engelsk}{fr{\aa} amerikansk-engelsk}}, + frombrazilian = {{fr{\aa} brasiliansk-portugisisk}{fr{\aa} brasiliansk-portugisisk}}, + frombulgarian = {{fr{\aa} bulgarsk}{fr{\aa} bulgarsk}}, + fromcatalan = {{fr{\aa} katalansk}{fr{\aa} katalansk}}, + fromcroatian = {{fr{\aa} kroatisk}{fr{\aa} kroatisk}}, + fromczech = {{fr{\aa} tsjekkisk}{fr{\aa} tsjekkisk}}, + fromdanish = {{fr{\aa} dansk}{fr{\aa} dansk}}, + fromdutch = {{fr{\aa} nederlandsk}{fr{\aa} nederlandsk}}, + fromenglish = {{fr{\aa} engelsk}{fr{\aa} engelsk}}, + fromestonian = {{fr{\aa} estisk}{fr{\aa} estisk}}, + fromfinnish = {{fr{\aa} finsk}{fr{\aa} finsk}}, + fromfrench = {{fr{\aa} fransk}{fr{\aa} fransk}}, + fromgalician = {{fr{\aa} galisisk}{fr{\aa} galisisk}}, + fromgerman = {{fr{\aa} tysk}{fr{\aa} tysk}}, + fromgreek = {{fr{\aa} gresk}{fr{\aa} gresk}}, +% fromhungarian = {{}{}}, % FIXME: missing + fromitalian = {{fr{\aa} italiensk}{fr{\aa} italiensk}}, + fromjapanese = {{fr{\aa} japansk}{fr{\aa} japansk}}, + fromlatin = {{fr{\aa} latin}{fr{\aa} latin}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{fr{\aa} norsk}{fr{\aa} norsk}}, + frompolish = {{fr{\aa} polsk}{fr{\aa} polsk}}, + fromportuguese = {{fr{\aa} portugisisk}{fr{\aa} portugisisk}}, + fromrussian = {{fr{\aa} russisk}{fr{\aa} russisk}}, + fromslovene = {{fr{\aa} slovakisk}{fr{\aa} slovakisk}}, + fromslovak = {{fr{\aa} slovensk}{fr{\aa} slovensk}}, + fromspanish = {{fr{\aa} spansk}{fr{\aa} spansk}}, + fromswedish = {{fr{\aa} svensk}{fr{\aa} svensk}}, + fromukrainian = {{fr{\aa} ukrainsk}{fr{\aa} ukrainsk}}, + countryeu = {{Den europeiske unionen}{EU}}, + countryep = {{Den europeiske unionen}{EP}}, + abstract = {{samandrag}{samandrag}}, + commonera = {{vesterlandsk tidsrekning}{v\adddot t\adddot}}, + beforecommonera = {{f{\o}r vesterlandsk tidsrekning}{f\adddot v\adddot t\adddot}}, + annodomini = {{e\adddot Kr\adddot}{e\adddot Kr\adddot}}, + beforechrist = {{f\adddot Kr\adddot}{f\adddot Kr\adddot}}, + circa = {{cirka}{ca\adddot}}, + spring = {{v{\aa}r}{v{\aa}r}}, + summer = {{sommar}{sommar}}, + autumn = {{haust}{haust}}, + winter = {{vinter}{vinter}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{a\adddot m\adddot}{a\adddot m\adddot}}, + pm = {{p\adddot m\adddot}{p\adddot m\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/polish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/polish-ms.lbx new file mode 100644 index 00000000000..3dd67840158 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/polish-ms.lbx @@ -0,0 +1,593 @@ +\ProvidesFile{polish-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{polish}{polish} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\stripzeros{#1}}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iffieldundef{#3} + {\mkbibmonth{\thefield{#2}}} + {\lbx@pl@mkbibmonth{\thefield{#2}}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}\adddot + \iffieldundef{#2}{}{\thinspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1} + {} + {\iffieldundef{#3}{/}{\adddot\thinspace}}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibneutord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\NewBibliographyString{% Month name variants used after day + datejanuary, + datefebruary, + datemarch, + dateapril, + datemay, + datejune, + datejuly, + dateaugust, + dateseptember, + dateoctober, + datenovember, + datedecember% +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografia}{Bibliografia}}, + references = {{Bibliografia}{Bibliografia}}, + shorthands = {{lista skr\'{o}t\'{o}w}{skr\'{o}ty}}, + editor = {{redaktor}{red\adddot}}, + editors = {{redaktorzy}{red\adddot}}, + compiler = {{redaktor}{red\adddot}}, + compilers = {{redaktorzy}{red\adddot}}, + redactor = {{redaktor}{red\adddot}}, + redactors = {{redaktorzy}{red\adddot}}, + reviser = {{korektor}{kor\adddot}}, + revisers = {{korektorzy}{kor\adddot}}, + founder = {{za\l o\.{z}yciel}{za\l \adddot}}, + founders = {{za\l o\.{z}yciele}{za\l \adddot}}, + continuator = {{nast\c{e}pca}{nast\adddot}}, + continuators = {{nast\c{e}pcy}{nast\adddot}}, + collaborator = {{uczestnik}{ucz\adddot}}, + collaborators = {{uczestnicy}{ucz\adddot}}, + translator = {{t\l umacz}{t\l um\adddot}}, + translators = {{t\l umacze}{t\l um\adddot}}, + commentator = {{komentator}{kom\adddot}}, + commentators = {{komentatorzy}{kom\adddot}}, + annotator = {{uwaga}{uw\adddot}}, + annotators = {{uwagi}{uw\adddot}}, + commentary = {{komentarz}{kom\adddot}}, + annotations = {{komentarze}{kom\adddot}}, + introduction = {{wst\c{e}p}{wst\adddot}}, + foreword = {{przedmowa}{przedm\adddot}}, + afterword = {{pos\l owie}{pos\l \adddot}}, + editortr = {{redaktor i t\l umacz}{red\adddotspace i per\adddot}}, + editorstr = {{redaktorzy i t\l umacze}{red\adddotspace i per\adddot}}, + editorco = {{redaktor i komentator}{red\adddotspace i kom\adddot}}, + editorsco = {{redaktorzy i komentatorzy}% + {red\adddotspace i kom\adddot}},% FIXME: check + editoran = {{redaktor i autor uwag}% + {red\adddotspace i aut\adddotspace uw\adddot}}, + editorsan = {{redaktorzy i autorzy uwag}% + {red\adddotspace i aut\adddotspace uw\adddot}}, + editorin = {{redaktor i autor wst\c{e}pu}% + {red\adddotspace i aut\adddotspace wst\adddot}}, + editorsin = {{redaktorzy i autorzy wst\c{e}pu}% + {red\adddotspace i aut\adddotspace wst\adddot}}, + editorfo = {{redaktor i autor przedmowy}% + {red\adddotspace i aut\adddotspace przedm\adddot}}, + editorsfo = {{redaktorzy i autorzy przedmowy}% + {red\adddotspace i aut\adddotspace przedm\adddot}}, + editoraf = {{redaktor i autor pos\l owia}% + {red\adddotspace i aut\adddotspace pos\l \adddot}}, + editorsaf = {{redaktorzy i autorzy pos\l owia}% + {red\adddotspace i aut\adddotspace pos\l \adddot}}, + editortrco = {{redaktor, t\l umacz i komentator}% + {red., t\l um\adddotspace i kom\adddot}}, + editorstrco = {{redaktorzy, t\l umacze i komentatory}% + {red., t\l um\adddotspace i kom\adddot}}, + editortran = {{redaktor, t\l umacz i autor uwag}% + {red., t\l um\adddotspace i aut\adddotspace uw\adddot}}, + editorstran = {{redaktorzy, t\l umacze i autorzy uwag}% + {red., t\l um\adddotspace i aut\adddotspace uw\adddot}}, + editortrin = {{redaktor, t\l umacz i autor wst\c{e}pu}% + {red., t\l um\adddotspace i aut\adddotspace wst\adddot}}, + editorstrin = {{redaktorzy, t\l umacze i autorzy wst\c{e}pu}% + {red., t\l um\adddotspace i aut\adddotspace wst\adddot}}, + editortrfo = {{redaktor, t\l umacz i autor przedmowy}% + {red., t\l um\adddotspace i aut\adddotspace przedm\adddot}}, + editorstrfo = {{redaktorzy, t\l umacze i autorzy przedmowy}% + {red., t\l um\adddotspace i aut\adddotspace przedm\adddot}}, + editortraf = {{redaktor, t\l umacz i autor pos\l owia}% + {red., t\l um\adddotspace i aut\adddotspace pos\l \adddot}}, + editorstraf = {{redaktorzy, t\l umacze i autorzy pos\l owia}% + {red., t\l um\adddotspace i aut\adddotspace pos\l \adddot}}, + editorcoin = {{redaktor, komentator i autor wst\c{e}pu}% + {red., kom\adddotspace i aut\adddotspace wst\adddot}}, + editorscoin = {{redaktorzy, komentatorzy i autorzy wst\c{e}pu}% + {red., kom\adddotspace i aut\adddotspace wst\adddot}}, + editorcofo = {{redaktor, komentator i autor przedmowy}% + {red., kom\adddotspace i aut\adddotspace przedm\adddot}}, + editorscofo = {{redaktorzy, komentatorzy i autorzy przedmowy}% + {red., kom\adddotspace i aut\adddotspace przedm\adddot}}, + editorcoaf = {{redaktor, komentator i autor pos\l owia}% + {red., kom\adddotspace i aut\adddotspace pos\l \adddot}}, + editorscoaf = {{redaktorzy, komentatorzy i autorzy pos\l owia}% + {red., kom\adddotspace i aut\adddotspace pos\l \adddot}}, + editoranin = {{redaktor, autor uwag i autor wst\c{e}pu}% + {red., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + editorsanin = {{redaktorzy, autorzy uwag i autorzy wst\c{e}pu}% + {red., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + editoranfo = {{redaktor, autor uwag i autor przedmowy}% + {red., aut\adddotspace uw\adddotspace i aut\adddotspace przedm\adddot}}, + editorsanfo = {{redaktorzy, autorzy uwag i autorzy przedmowy}% + {red., aut\adddotspace uw\adddotspace i aut\adddotspace przedm\adddot}}, + editoranaf = {{redaktor, autor uwag i autor pos\l owia}% + {red., aut\adddotspace uw\adddotspace i aut\adddotspace pos\l \adddot}}, + editorsanaf = {{redaktorzy, autorzy uwag i autorzy pos\l owia}% + {red., aut\adddotspace uw\adddotspace i aut\adddotspace pos\l \adddot}}, + editortrcoin = {{redaktor, t\l umacz, komentator i autor wst\c{e}pu}% + {red., t\l um., kom\adddotspace i aut\adddotspace wst\adddot}}, + editorstrcoin = {{redaktorzy, t\l umacze, komentatorzy i autorzy wst\c{e}pu}% + {red., t\l um., kom\adddotspace i aut\adddotspace wst\adddot}}, + editortrcofo = {{redaktor, t\l umacz, komentator i autor przedmowy}% + {red., t\l um., kom\adddotspace i aut\adddotspace przedm\adddot}}, + editorstrcofo = {{redaktorzy, t\l umacze, komentatorzy i autorzy przedmowy}% + {red., t\l um., kom\adddotspace i aut\adddotspace przedm\adddot}}, + editortrcoaf = {{redaktor, t\l umacz, komentator i autor pos\l owia}% + {red., t\l um., kom\adddotspace i aut\adddotspace pos\l \adddot}}, + editorstrcoaf = {{redaktorzy, t\l umacze, komentatorzy i autorzy pos\l owia}% + {red., t\l um., kom\adddotspace i aut\adddotspace pos\l \adddot}}, + editortranin = {{redaktor, t\l umacz, autor uwag i autor wst\c{e}pu}% + {red., t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + editorstranin = {{redaktorzy, t\l umacze, autorzy uwag i autorzy wst\c{e}pu}% + {red., t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + editortranfo = {{redaktor, t\l umacz, autor uwag i autor przedmowy}% + {red., t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace przedm\adddot}}, + editorstranfo = {{redaktorzy, t\l umacze, autorzy uwag i autorzy przedmowy}% + {red., t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace przedm\adddot}}, + editortranaf = {{redaktor, t\l umacz, autor uwag i autor pos\l owia}% + {red., t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace pos\l \adddot}}, + editorstranaf = {{redaktorzy, t\l umacze, autorzy uwag i autorzy pos\l owia}% + {red., t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace pos\l \adddot}}, + translatorco = {{t\l umacz i komentator}{t\l um\adddotspace i kom\adddot}}, + translatorsco = {{t\l umacze i komentatorzy}{t\l um\adddotspace i kom\adddot}}, + translatoran = {{t\l umacz i autor uwag}% + {t\l um\adddotspace i aut\adddotspace uw\adddot}}, + translatorsan = {{t\l umacze i autorzy uwag}% + {t\l um\adddotspace i aut\adddotspace uw\adddot}}, + translatorin = {{t\l umacz i autor wst\c{e}pu}% + {t\l um\adddotspace i aut\adddotspace wst\adddot}}, + translatorsin = {{t\l umacze i autorzy wst\c{e}pu}% + {t\l um\adddotspace i aut\adddotspace wst\adddot}}, + translatorfo = {{t\l umacz i autor przedmowy}% + {t\l um\adddotspace i aut\adddotspace przedm\adddot}}, + translatorsfo = {{t\l umacze i autorzy przedmowy}% + {t\l um\adddotspace i aut\adddotspace przedm\adddot}}, + translatoraf = {{t\l umacz i autor pos\l owia}% + {t\l um\adddotspace i aut\adddotspace pos\l \adddot}}, + translatorsaf = {{t\l umacze i autorzy pos\l owia}% + {t\l um\adddotspace i aut\adddotspace pos\l \adddot}}, + translatorcoin = {{t\l umacz, autor uwag i autor wst\c{e}pu}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + translatorscoin = {{t\l umacze, autorzy uwag i autorzy wst\c{e}pu}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + translatorcofo = {{t\l umacz, autor uwag i autor przedmowy}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace przedm\adddot}}, + translatorscofo = {{t\l umacze, autorzy uwag i autorzy przedmowy}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace przedm\adddot}}, + translatorcoaf = {{t\l umacz, autor uwag i autor pos\l owia}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace pos\l \adddot}}, + translatorscoaf = {{t\l umacze, autorzy uwag i autorzy posowia}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace pos\l \adddot}}, + translatoranin = {{t\l umacz, autor uwag i autor wst\c{e}pu}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + translatorsanin = {{t\l umacze, autorzy uwag i autorzy wst\c{e}pu}% + {t\l um., aut\adddotspace uw\adddotspace i aut\adddotspace wst\adddot}}, + translatoranfo = {{t\l umacz, autor komentarzy i autor wst\c{e}pu}% + {t\l um., aut\adddotspace kom\adddotspace i aut\adddotspace wst\adddot}}, + translatorsanfo = {{t\l umacze, autorzy komentarzy i autorzy przedmowy}% + {t\l um., aut\adddotspace kom\adddotspace i aut\adddotspace przedm\adddot}}, + translatoranaf = {{t\l umacz, autor komentarzy i autor pos\l owia}% + {t\l um., aut\adddotspace kom\adddotspace i aut\adddotspace pos\l \adddot}}, + translatorsanaf = {{t\l umacze, autorzy komentarzy i autorzy pos\l owia}% + {t\l um., aut\adddotspace kom\adddotspace i aut\adddotspace pos\l \adddot}}, + organizer = {{organizator}{org\adddot}}, + organizers = {{organizatorzy}{org\adddot}}, + byorganizer = {{organizowane}{org\adddot}}, + byauthor = {{autorstwo}{aut\adddot}}, + byeditor = {{redagowa\l}{red\adddot}}, + bycompiler = {{u\l o\.{z}y\l }{u\l \adddot}}, + byredactor = {{zredagowano}{zred\adddot}}, + byreviser = {{poprawione}{popr\adddot}}, + byreviewer = {{recenzja}{rec\adddot}}, + byfounder = {{za\l o\.{z}one}{za\l \adddot}}, + bycontinuator = {{przej\c{e}te}{przej\adddot}}, + bycollaborator = {{przy wsp\'{o}\l pracy}{przy wsp\adddot}}, + bytranslator = {{t\l umaczenie \lbx@lfromlang}{t\l um\adddotspace \lbx@sfromlang}}, + bycommentator = {{skomentowane przez}{skom\adddot}}, + byannotator = {{uwagi od}{uw\adddot}}, + withcommentator = {{komentarze}{kom\adddot}}, + withannotator = {{uwagi}{uw\adddot}}, + withintroduction = {{wst\c{e}p}{wst\adddot}}, + withforeword = {{przedmowa}{przedm\adddot}}, + withafterword = {{pos\l owie}{pos\l \adddot}}, + byeditortr = {{t\l umaczenie \lbx@lfromlang, zredagowany przez}% + {t\l um\adddotspace \lbx@sfromlang, zred\adddotspace przez}}, + byeditorco = {{zredagowany i skomentowany przez}% + {zred\adddotspace i skom\adddotspace przez}}, + byeditoran = {{zredagowany i z uwagami}{zredag\adddotspace i z uw\adddot}}, + byeditorin = {{zredagowany, z wst\c{e}pem}{zred., z wst\adddot}}, + byeditorfo = {{zredagowany, z przedmow\c{a}}{zred., z przedm\adddot}}, + byeditoraf = {{zredagowany, z pos\l owiem}{zred., z pos\l \adddot}}, + byeditortrco = {{zredagowany, t\l umaczenie \lbx@lfromlang\ i komentarze}% + {zred., t\l um\adddotspace \lbx@sfromlang\ i kom\adddot}}, + byeditortran = {{zredagowany, t\l umaczenie \lbx@lfromlang\ i uwagi}% + {zred., t\l um\adddotspace \lbx@sfromlang\ i uw\adddot}}, + byeditortrin = {{zredagowany, t\l umaczenie \lbx@lfromlang, wst\c{e}p}% + {zred., t\l um\adddotspace \lbx@sfromlang, wst\adddot}}, + byeditortrfo = {{zredagowany, t\l umaczenie \lbx@lfromlang, przedmowa}% + {zred., t\l um\adddotspace \lbx@sfromlang, przedm\adddot}}, + byeditortraf = {{zredagowany, t\l umaczenie \lbx@lfromlang, pos\l owie}% + {zred\adddotspace t\l um\adddotspace \lbx@sfromlang, pos\l \adddot}}, + byeditorcoin = {{zredagowany, komentarze i wst\c{e}p}{zred., kom\adddotspace i wst\adddot}}, + byeditorcofo = {{zredagowany, komentarze i przedmowa}{zred., kom\adddotspace i przedm\adddot}}, + byeditorcoaf = {{zredagowany, komentarze i pos\l owie}{zred., kom\adddotspace i pos\l \adddot}}, + byeditoranin = {{zredagowany, uwagi i wst\c{e}p}{zred., uw\adddotspace i wst\adddot}}, + byeditoranfo = {{zredagowany, uwagi i przedmowa}{zred., uw\adddotspace i przedm\adddot}}, + byeditoranaf = {{zredagowany, uwagi i pos\l owie}{zred., uw\adddotspace i pos\l \adddot}}, + byeditortrcoin = {{zredagowany, t\l umaczenie \lbx@lfromlang, komentarze i wst\c{e}p}% + {zred., t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i wst\c{e}p\adddot}}, + byeditortrcofo = {{zredagowany, t\l umaczenie \lbx@lfromlang, komentarze i przedmowa}% + {zred., t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i przedm\adddot}}, + byeditortrcoaf = {{zredagowany, t\l umaczenie \lbx@lfromlang, komentarze i pos\l owie}% + {zred., t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i pos\l \adddot}}, + byeditortranin = {{zredagowany, t\l umaczenie \lbx@lfromlang, uwagi i wst\c{e}p}% + {zred., t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i wst\adddot}}, + byeditortranfo = {{zredagowany, t\l umaczenie \lbx@lfromlang, uwagi i przedmowa}% + {zred., t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i przedm\adddot}}, + byeditortranaf = {{zredagowany, t\l umaczenie \lbx@lfromlang, uwagi i pos\l owie}% + {zred., t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i pos\l \adddot}}, + bytranslatorco = {{t\l umaczenie \lbx@lfromlang\ i komentarze}% + {t\l um\adddotspace \lbx@sfromlang\ i kom\adddot}}, + bytranslatoran = {{t\l umaczenie \lbx@lfromlang\ i uwagi}% + {t\l um\adddotspace \lbx@sfromlang\ i uw\adddot}}, + bytranslatorin = {{t\l umaczenie \lbx@lfromlang\ i wst\c{e}p}% + {t\l um\adddotspace \lbx@sfromlang\ i wst\adddot}}, + bytranslatorfo = {{t\l umaczenie \lbx@lfromlang\ i przedmowa}% + {t\l um\adddotspace \lbx@sfromlang\ i przedm\adddot}}, + bytranslatoraf = {{t\l umaczenie \lbx@lfromlang\ i pos\l owie}% + {t\l um\adddotspace \lbx@sfromlang\ i pos\l \adddot}}, + bytranslatorcoin = {{t\l umaczenie \lbx@lfromlang, komentarze i wst\c{e}p}% + {t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i wst\adddot}}, + bytranslatorcofo = {{t\l umaczenie \lbx@lfromlang, komentarze i przedmowa}% + {t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i przedm\adddot}}, + bytranslatorcoaf = {{t\l umaczenie \lbx@lfromlang, komentarze i pos\l owie}% + {t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i pos\l \adddot}}, + bytranslatoranin = {{t\l umaczenie \lbx@lfromlang, uwagi i wst\c{e}p}% + {t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i wst\adddot}}, + bytranslatoranfo = {{t\l umaczenie \lbx@lfromlang, uwagi i przedmowa}% + {t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i przedm\adddot}}, + bytranslatoranaf = {{t\l umaczenie \lbx@lfromlang, uwagi i pos\l owie}% + {t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i pos\l \adddot}}, + and = {{i}{i}}, + andothers = {{i inni}{i in\adddot}}, + andmore = {{i inni}{i in\adddot}}, + volume = {{tom}{t\adddot}}, + volumes = {{tomy}{t\adddot}}, + involumes = {{w}{w}}, + jourvol = {{tom}{t\adddot}}, + jourser = {{seria}{ser\adddot}}, + book = {{ksi\c{a}\.{z}ka}{ks\adddot}}, + part = {{cz\c{e}\'{s}\'{c}}{cz\adddot}}, + issue = {{wydanie}{wyd\adddot}}, + newseries = {{nowa seria}{now\adddotspace ser\adddot}}, + oldseries = {{stara seria}{star\adddotspace ser\adddot}}, + edition = {{wydruk}{wyd\adddot}}, + reprint = {{przedruk}{przedr\adddot}}, + reprintof = {{przedruk}{przedr\adddot}}, + reprintas = {{przedrukowano jako}{przedr\adddotspace jako}}, + reprintfrom = {{przedrukowano z}{przedr\adddotspace z}}, + translationof = {{t\l umaczenie}{t\l um\adddot}}, + translationas = {{t\l umaczenie jako}{t\l um\adddotspace jako}}, + translationfrom = {{t\l umaczenie z}{t\l um\adddotspace z}}, + reviewof = {{recenzja na\addcolon}{rec\adddotspace na\addcolon}}, + origpubas = {{pierwodruk wydano jako}% + {pierw\adddotspace wyd\adddotspace jako}}, + origpubin = {{pierwodruk wydano w}{pierw\adddotspace wyd\adddotspace w}}, + astitle = {{pod tytu\l em}{pod tyt\adddot}}, + bypublisher = {{przez wydawc\c{e}}{prz\adddotspace wyd\adddot}}, + page = {{strona}{s\adddot}}, + pages = {{strony}{s\adddot}}, + column = {{kolumna}{kol\adddot}}, + columns = {{kolumny}{kol\adddot}}, + line = {{linijka}{l\adddot}}, + lines = {{linijki}{l\adddot}}, + nodate = {{bez daty}{b\adddot d\adddot}}, + verse = {{werset}{wer\adddot}}, + verses = {{wersety}{wer\adddot}}, + section = {{paragraf}{par\adddot}}, + sections = {{paragrafy}{par\adddot}}, + paragraph = {{akapit}{akap\adddot}}, + paragraphs = {{akapity}{akap\adddot}}, + pagetotal = {{strona}{s\adddot}}, + pagetotals = {{strony}{s\adddot}}, + columntotal = {{kolumna}{kol\adddot}}, + columntotals = {{kolumny}{kol\adddot}}, + linetotal = {{wers}{wer\adddot}}, + linetotals = {{wersy}{wer\adddot}}, + versetotal = {{wiersz}{wier\adddot}}, + versetotals = {{wiersze}{wier\adddot}}, + sectiontotal = {{paragraf}{par\adddot}}, + sectiontotals = {{paragrafy}{par\adddot}}, + paragraphtotal = {{akapit}{akap\adddot}}, + paragraphtotals = {{akapit}{akap\adddot}}, + in = {{w}{w}}, + inseries = {{w}{w}}, + ofseries = {{z}{z}}, + number = {{numer}{nr\adddot}},% FIXME: check + chapter = {{rozdzia\l }{rozd\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{praca magisterska}{prac\adddotspace mag\adddot}}, + phdthesis = {{praca doktorska}{prac\adddotspace dokt\adddot}}, + candthesis = {{praca kandydacka}% + {prac\adddotspace kand\adddot}},% FIXME: unsure + resreport = {{sprawozdanie naukowe}{spraw\adddotspace nau\adddot}}, + techreport = {{sprawozdanie techniczne}{spraw\adddotspace tech\adddot}}, + software = {{oprogramowanie}{opr\adddot}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{wersja}{wer\adddot}}, + url = {{adres}{adr\adddot}}, + urlfrom = {{dost\c{e}pne z}{dost\adddotspace z}}, + urlseen = {{termin wizyty}{term\adddotspace wiz\adddot}}, + inpreparation = {{przygotowanie}{przyg\adddot}}, + submitted = {{prezentacja}{prez\adddot}}, + forthcoming = {{przygotowanie}{przyg\adddot}},% FIXME: unsure + inpress = {{wydrukowane}{wydruk\adddot}}, + prepublished = {{przedwydanie}{przedw\adddot}}, + citedas = {{cytowane dalej jako}{cyt\adddotspace dal\adddotspace jako}}, + thiscite = {{tutaj}{tut\adddot}}, + seenote = {{patrz uwag\c{e}}{patrz uw\adddot}}, + quotedin = {{cytat wed\l ug}{cyt\adddotspace wg\adddot}}, + idem = {{ten\.{z}e}{ten\.{z}e}}, + idemsm = {{ten\.{z}e}{ten\.{z}e}}, + idemsf = {{ta\.{z} sama}{ta\.{z} sama}}, + idemsn = {{ten sam}{ten sam}}, + idempm = {{ci sami}{ci sami}}, + idempf = {{ci sami}{ci sami}}, + idempn = {{ci sami}{ci sami}}, + idempp = {{ci sami}{ci sami}}, + ibidem = {{tam\.{z}e}{tam\.{z}e}}, + opcit = {{praca cytowana}{prac\adddotspace cyt\adddot}}, + loccit = {{miejsce cytowane}{miej\adddotspace cyt\adddot}}, + confer = {{por\'{o}wnaj}{por\adddot}}, + sequens = {{i nast\c{e}pna}{i nast\adddot}}, + sequentes = {{i nast\c{e}pni}{i nast\adddot}}, + passim = {{wsz\c{e}dzie}{wsz\c{e}dzie}}, + see = {{patrz}{p\adddot}}, + seealso = {{ratrz r\'{o}wnie\.{z}}{p\adddotspace r\'{o}wn\adddot}}, + backrefpage = {{cytowane na stronie}{cyt\adddotspace na s\adddot}}, + backrefpages = {{cytowane na stronach}{cyt\adddotspace na s\adddot}}, + january = {{stycze\'{n}}{sty\adddot}}, + february = {{luty}{lut\adddot}}, + march = {{marzec}{mar\adddot}}, + april = {{kwiecie\'{n}}{kw\adddot}}, + may = {{maj}{maj}}, + june = {{czerwiec}{czer\adddot}}, + july = {{lipiec}{lip\adddot}}, + august = {{sierpie\'{n}}{sierp\adddot}}, + september = {{wrzesie\'{n}}{wrz\adddot}}, + october = {{pa\'{z}dziernik}{pa\'{z}\adddot}}, + november = {{listopad}{list\adddot}}, + december = {{grudzie\'{n}}{grud\adddot}}, + datejanuary = {{stycznia}{sty\adddot}}, + datefebruary = {{lutego}{lut\adddot}}, + datemarch = {{marca}{mar\adddot}}, + dateapril = {{kwietnia}{kw\adddot}}, + datemay = {{maja}{maj\adddot}}, + datejune = {{czerwca}{czer\adddot}}, + datejuly = {{lipca}{lip\adddot}}, + dateaugust = {{sierpnia}{sierp\adddot}}, + dateseptember = {{wrze\'{s}nia}{wrz\adddot}}, + dateoctober = {{pa\'{z}dziernika}{pa\'{z}\adddot}}, + datenovember = {{listopada}{list\adddot}}, + datedecember = {{grudnia}{grud\adddot}}, + langamerican = {{ameryka\'{n}ski}{ameryka\'{n}ski}}, + langbrazilian = {{brazylijski}{brazylijski}}, + langbulgarian = {{bu\l garski}{bu\l garski}}, + langcatalan = {{katalo\'{n}ski}{katalo\'{n}ski}}, + langcroatian = {{chorwacki}{chorwacki}}, + langczech = {{czeski}{czeski}}, + langdanish = {{du\'{n}ski}{du\'{n}ski}}, + langdutch = {{holenderski}{holenderski}}, + langenglish = {{angielski}{angielski}}, + langestonian = {{esto\'{n}ski}{esto\'{n}ski}}, + langfinnish = {{fi\'{n}ski}{fi\'{n}ski}}, + langfrench = {{francuski}{francuski}}, + langgalician = {{galicyjski}{galicyjski}}, + langgerman = {{niemiecki}{niemiecki}}, + langgreek = {{grecki}{grecki}}, + langhungarian = {{w\c{e}gierski}{w\c{e}gierski}}, + langitalian = {{w\l oski}{w\l oski}}, + langlatin = {{\l acina}{\l acina}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{norweski}{norweski}}, + langpolish = {{polski}{polski}}, + langportuguese = {{portugalski}{portugalski}}, + langrussian = {{rosyjski}{rosyjski}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{s\l owe\'{n}ski}{s\l owe\'{n}ski}}, + langspanish = {{hiszpa\'{n}ski}{hiszpa\'{n}ski}}, + langswedish = {{szwedzki}{szwedzki}}, + fromamerican = {{z ameryka\'{n}skiego}{z amer\adddot}}, + frombrazilian = {{z brazylijskiego}{z braz\adddot}}, + frombulgarian = {{z bu\l garskiego}{z bu\l g\adddot}}, + fromcatalan = {{z katalo\'{n}skiego}{z katal\adddot}}, + fromcroatian = {{z chorwackiego}{z chorw\adddot}}, + fromczech = {{z czeskiego}{z czesk.}}, + fromdanish = {{z du\'{n}skiego}{z du\'{n}\adddot}}, + fromdutch = {{z niderla\'{n}skiego}{z nid\adddot}}, + fromenglish = {{z angielskiego}{z ang\adddot}}, + fromestonian = {{z esto\'{n}skiego}{z est\adddot}}, + fromfinnish = {{z fi\'{n}skiego}{z fi\'{n}\adddot}}, + fromfrench = {{z francuzkiego}{z fran\adddot}}, + fromgalician = {{z galicyjzkiego}{z gal\adddot}}, + fromgerman = {{z niemieckiego}{z niem\adddot}}, + fromgreek = {{z greckiego}{z grec\adddot}}, + fromhungarian = {{z w\c{e}gierskiego}{z w\c{e}gierskiego}}, + fromitalian = {{z w\l oskiego}{z w\l os\adddot}}, + fromlatin = {{z \l aciny}{z \l at\adddot}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{z norweskiego}{z norw\adddot}}, + frompolish = {{z polskiego}{z pol\adddot}}, + fromportuguese = {{z portugalskiego}{z port\adddot}}, + fromrussian = {{z rosyjskiego}{z ros\adddot}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{z s\l owe\'{n}skiego}{z s\l owe\'{n}\adddot}}, + fromspanish = {{z hiszpa\'{n}skiego}{z hiszp\adddot}}, + fromswedish = {{ze szwedskiego}{ze szw\adddot}}, + countryde = {{Niemcy}{DE}}, + countryeu = {{Unia Europejska}{EU}}, + countryep = {{Unia Europejska}{EP}}, + countryfr = {{Francja}{FR}}, + countryuk = {{Wielka Brytania}{GB}}, + countryus = {{Stany Zjednoczone Ameryki}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{patent Niemiec}{pat\adddotspace Niemiec}}, + patenteu = {{patent Europy}{pat\adddotspace Europy}}, + patentfr = {{patent Francji}{pat\adddotspace Francji}}, + patentuk = {{patent Wielkiej Brytanji}{pat\adddotspace Wielkiej Brytanji}}, + patentus = {{patent USA}{pat\adddotspace USA}}, + patreq = {{podanie na patent}{podanie na pat\adddot}}, + patreqde = {{podanie na patent Niemiec}% + {podanie na pat\adddotspace Niemiec}}, + patreqeu = {{podanie na patent Europy}{podanie na pat\adddotspace Europy}}, + patreqfr = {{podanie na patent Francji}% + {podanie na pat\adddotspace Francji}}, + patrequk = {{podanie na patent Wielkiej Brytanji}% + {podanie na pat\adddotspace Wielkiej Brytanji}}, + patrequs = {{podanie na patent USA}{podanie na pat\adddotspace USA}}, + file = {{plik}{plik}}, + library = {{bibloteka}{bibl\adddot}}, + abstract = {{podsumowanie}{pod\adddot}}, + annotation = {{adnotacja}{adn\adddot}}, + commonera = {{CE}{CE}}, + beforecommonera = {{BCE}{BCE}}, + annodomini = {{n\adddot e\adddot}{n\adddot e\adddot}}, + beforechrist = {{p\adddot n\adddot e\adddot}{p\adddot n\adddot e\adddot}}, + circa = {{oko\l o}{ok\adddot}}, + spring = {{wiosna}{wiosna}}, + summer = {{lato}{lato}}, + autumn = {{jesie\'{n}}{jesie\'{n}}}, + winter = {{zima}{zima}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\protected\gdef\lbx@pl@mkbibmonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{datejanuary}% + \or\abx@bibmonth{datefebruary}% + \or\abx@bibmonth{datemarch}% + \or\abx@bibmonth{dateapril}% + \or\abx@bibmonth{datemay}% + \or\abx@bibmonth{datejune}% + \or\abx@bibmonth{datejuly}% + \or\abx@bibmonth{dateaugust}% + \or\abx@bibmonth{dateseptember}% + \or\abx@bibmonth{dateoctober}% + \or\abx@bibmonth{datenovember}% + \or\abx@bibmonth{datedecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/portuges-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/portuges-ms.lbx new file mode 100644 index 00000000000..60063b7d8b2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/portuges-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{portuges-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{portuguese} +\InheritBibliographyStrings{portuguese} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/portuguese-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/portuguese-ms.lbx new file mode 100644 index 00000000000..33dfec2b23d --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/portuguese-ms.lbx @@ -0,0 +1,558 @@ +\ProvidesFile{portuguese-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{portuguese}{portuges,brazil} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \protected\def\mkbibmascord#1{% + \stripzeros{#1}\textordmasculine}% \textordmasculine -> textcomp.sty + \protected\def\mkbibfemord#1{% + \stripzeros{#1}\textordfeminine}% \textordfeminine -> textcomp.sty + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace de\space}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\nobreakspace de\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}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografia}{Bibliografia}}, + references = {{Refer\^encias}{Refer\^encias}}, + shorthands = {{Lista de Abreviaturas}{Abreviaturas}}, + editor = {{editor}{ed\adddot}}, + editors = {{editores}{eds\adddot}}, + compiler = {{compilador}{comp\adddot}}, + compilers = {{compiladores}{comp\adddot}}, + redactor = {{redator}{red\adddot}}, + redactors = {{redatores}{red\adddot}}, + reviser = {{revisor}{rev\adddot}}, + revisers = {{revisores}{rev\adddot}}, + founder = {{fundador}{fund\adddot}}, + founders = {{fundadores}{fund\adddot}}, + continuator = {{continuador}{cont\adddot}}, + continuators = {{continuadores}{cont\adddot}}, + collaborator = {{colaborador}{col\adddot}}, + collaborators = {{colaboradores}{col\adddot}}, + translator = {{tradutor}{trad\adddot}}, + translators = {{tradutores}{trad\adddot}}, + commentator = {{comentador}{coment\adddot}}, + commentators = {{comentadores}{coment\adddot}}, + annotator = {{anotador}{anot\adddot}}, + annotators = {{anotadores}{anot\adddot}}, + commentary = {{coment\'ario}{coment\adddot}}, + annotations = {{notas}{notas}}, + introduction = {{introdu\c{c}\~ao}{introd\adddot}}, + foreword = {{pref\'acio}{pref\adddot}}, + afterword = {{posf\'acio}{posf\adddot}}, + editortr = {{editor e tradutor}% + {ed\adddotspace e trad\adddot}}, + editorstr = {{editores e tradutores}% + {eds\adddotspace e trad\adddot}}, + editorco = {{editor e comentador}% + {ed\adddotspace e coment\adddot}}, + editorsco = {{editores e comentadores}% + {eds\adddotspace e coment\adddot}}, + editoran = {{editor e anotador}% + {ed\adddotspace e anot\adddot}}, + editorsan = {{editores e anotadores}% + {eds\adddotspace e anot\adddot}}, + editorin = {{editor e introdu\c{c}\~ao}% + {ed\adddotspace e introd\adddot}}, + editorsin = {{editores e introdu\c{c}\~ao}% + {eds\adddotspace e introd\adddot}}, + editorfo = {{editor e pref\'acio}% + {ed\adddotspace e pref\adddot}}, + editorsfo = {{editores e pref\'acio}% + {eds\adddotspace e pref\adddot}}, + editoraf = {{editor e posf\'acio}% + {ed\adddotspace e posf\adddot}}, + editorsaf = {{editores e posf\'acio}% + {eds\adddotspace e posf\adddot}}, + editortrco = {{editor, tradutor e comentador}% + {ed., trad\adddot\ e coment\adddot}}, + editorstrco = {{editores, tradutores e comentadores}% + {eds., trad\adddot\ e coment\adddot}}, + editortran = {{editor, tradutor e anotador}% + {ed., trad\adddot\ e anot\adddot}}, + editorstran = {{editores, tradutores e anotadores}% + {eds., trad\adddot\ e anot\adddot}}, + editortrin = {{editor, tradutor e introdu\c{c}\~ao}% + {ed., trad\adddot\ e introd\adddot}}, + editorstrin = {{editores, tradutores e introdu\c{c}\~ao}% + {eds., trad\adddot\ e introd\adddot}}, + editortrfo = {{editor, tradutor e pref\'acio}% + {ed., trad\adddot\ e pref\adddot}}, + editorstrfo = {{editores, tradutores e pref\'acio}% + {eds., trad\adddot\ e pref\adddot}}, + editortraf = {{editor, tradutor e posf\'acio}% + {ed., trad\adddot\ e posf\adddot}}, + editorstraf = {{editores, tradutores e posf\'acio}% + {eds., trad\adddot\ e posf\adddot}}, + editorcoin = {{editor, comentador e introdu\c{c}\~ao}% + {ed., coment\adddot\ e introd\adddot}}, + editorscoin = {{editores, comentadores e introdu\c{c}\~ao}% + {eds., coment\adddot\ e introd\adddot}}, + editorcofo = {{editor, comentador e pref\'acio}% + {ed., coment\adddot\ e pref\adddot}}, + editorscofo = {{editores, comentadores e pref\'acio}% + {eds., coment\adddot\ e pref\adddot}}, + editorcoaf = {{editor, comentador e posf\'acio}% + {ed., coment\adddot\ e posf\adddot}}, + editorscoaf = {{editores, comentadores e posf\'acio}% + {eds., coment\adddot\ e posf\adddot}}, + editoranin = {{editor, anotador e introdu\c{c}\~ao}% + {ed., anot\adddot\ e introd\adddot}}, + editorsanin = {{editores, anotadores e introdu\c{c}\~ao}% + {eds., anot\adddot\ e introd\adddot}}, + editoranfo = {{editor, anotador e pref\'acio}% + {ed., anot\adddot\ e pref\adddot}}, + editorsanfo = {{editores, anotadores e pref\'acio}% + {eds., anot\adddot\ e pref\adddot}}, + editoranaf = {{editor, anotador e posf\'acio}% + {ed., anot\adddot\ e posf\adddot}}, + editorsanaf = {{editores, anotadores e posf\'acio}% + {eds., anot\adddot\ e posf\adddot}}, + editortrcoin = {{editor, tradutor, comentador e introdu\c{c}\~ao}% + {ed., trad., coment\adddot\ e introd\adddot}}, + editorstrcoin = {{editores, tradutores, comentadores e introdu\c{c}\~ao}% + {eds., trad., coment\adddot\ e introd\adddot}}, + editortrcofo = {{editor, tradutor, comentador e pref\'acio}% + {ed., trad., coment\adddot\ e pref\adddot}}, + editorstrcofo = {{editores, tradutores, comentadores e pref\'acio}% + {eds., trad., coment\adddot\ e pref\adddot}}, + editortrcoaf = {{editor, tradutor, comentador e posf\'acio}% + {ed., trad., coment\adddot\ e posf\adddot}}, + editorstrcoaf = {{editores, tradutores, comentadores e posf\'acio}% + {eds., trad., coment\adddot\ e posf\adddot}}, + editortranin = {{editor, tradutor, anotador e introdu\c{c}\~ao}% + {ed., trad., anot\adddot\ e introd\adddot}}, + editorstranin = {{editores, tradutores, anotadores e introdu\c{c}\~ao}% + {eds., trad., anot\adddot\ e introd\adddot}}, + editortranfo = {{editor, tradutor, anotador e pref\'acio}% + {ed., trad., anot\adddot\ e pref\adddot}}, + editorstranfo = {{editores, tradutores, anotadores e pref\'acio}% + {eds., trad., anot\adddot\ e pref\adddot}}, + editortranaf = {{editor, tradutor, anotador e posf\'acio}% + {ed., trad., anot\adddot\ e posf\adddot}}, + editorstranaf = {{editores, tradutores, anotadores e posf\'acio}% + {eds., trad., anot\adddot\ e posf\adddot}}, + translatorco = {{tradutor e comentador}% + {trad\adddot\ e coment\adddot}}, + translatorsco = {{tradutores e comentadores}% + {trad\adddot\ e coment\adddot}}, + translatoran = {{tradutor e anotador}% + {trad\adddot\ e anot\adddot}}, + translatorsan = {{tradutores e anotadores}% + {trad\adddot\ e anot\adddot}}, + translatorin = {{tradu\c{c}\~ao e introdu\c{c}\~ao}% + {trad\adddot\ e introd\adddot}}, + translatorsin = {{tradu\c{c}\~ao e introdu\c{c}\~ao}% + {trad\adddot\ e introd\adddot}}, + translatorfo = {{tradu\c{c}\~ao e pref\'acio}% + {trad\adddot\ e pref\adddot}}, + translatorsfo = {{tradu\c{c}\~ao e pref\'acio}% + {trad\adddot\ e pref\adddot}}, + translatoraf = {{tradu\c{c}\~ao e posf\'acio}% + {trad\adddot\ e posf\adddot}}, + translatorsaf = {{tradu\c{c}\~ao e posf\'acio}% + {trad\adddot\ e posf\adddot}}, + translatorcoin = {{tradu\c{c}\~ao, coment\'ario e introdu\c{c}\~ao}% + {trad., coment\adddot\ e introd\adddot}}, + translatorscoin = {{tradu\c{c}\~ao, coment\'ario e introdu\c{c}\~ao}% + {trad., coment\adddot\ e introd\adddot}}, + translatorcofo = {{tradu\c{c}\~ao, coment\'ario e pref\'acio}% + {trad., coment\adddot\ e pref\adddot}}, + translatorscofo = {{tradu\c{c}\~ao, coment\'ario e pref\'acio}% + {trad., coment\adddot\ e pref\adddot}}, + translatorcoaf = {{tradu\c{c}\~ao, coment\'ario e posf\'acio}% + {trad., coment\adddot\ e posf\adddot}}, + translatorscoaf = {{tradu\c{c}\~ao, coment\'ario e posf\'acio}% + {trad., coment\adddot\ e posf\adddot}}, + translatoranin = {{tradu\c{c}\~ao, notas e introdu\c{c}\~ao}% + {trad., notas e introd\adddot}}, + translatorsanin = {{tradu\c{c}\~ao, notas e introdu\c{c}\~ao}% + {trad., notas e introd\adddot}}, + translatoranfo = {{tradu\c{c}\~ao, notas e pref\'acio}% + {trad., notas e pref\adddot}}, + translatorsanfo = {{tradu\c{c}\~ao, notas e pref\'acio}% + {trad., notas e pref\adddot}}, + translatoranaf = {{tradu\c{c}\~ao, notas e posf\'acio}% + {trad., notas e posf\adddot}}, + translatorsanaf = {{tradu\c{c}\~ao, notas e posf\'acio}% + {trad., notas e posf\adddot}}, + organizer = {{organizador}{org\adddot}}, + organizers = {{organizadores}{orgs\adddot}}, + byorganizer = {{organizado por}{org\adddotspace por}}, + byauthor = {{por}{por}}, + byeditor = {{editado por}{ed\adddotspace por}}, + bycompiler = {{compilado por}{comp\adddotspace por}}, + byredactor = {{redigido por}{red\adddotspace por}}, + byreviser = {{revisto por}{rev\adddotspace por}}, + byreviewer = {{resenhado por}{res\adddotspace por}},% FIXME: check + byfounder = {{fundado por}{fund\adddotspace por}}, + bycontinuator = {{continuado por}{cont\adddotspace por}}, + bycollaborator = {{em colabora\c{c}\~ao com}{em col\adddotspace com}}, + bytranslator = {{traduzido \lbx@lfromlang\ por}{trad\adddot\ \lbx@sfromlang\ por}}, + bycommentator = {{comentado por}{coment\adddot\ por}}, + byannotator = {{notas de}{notas de}}, + withcommentator = {{com coment\'arios de}{com coment\adddot\ de}}, + withannotator = {{com notas de}{com notas de}}, + withintroduction = {{com introdu\c{c}\~ao de}{com introd\adddot\ de}}, + withforeword = {{com pref\'acio de}{com pref\adddot\ de}}, + withafterword = {{com posf\'acio de}{com posf\adddot\ de}}, + byeditortr = {{editado e traduzido \lbx@lfromlang\ por}% + {ed\adddotspace e trad\adddot\ \lbx@sfromlang\ por}}, + byeditorco = {{editado e comentado por}% + {ed\adddotspace e coment\adddot\ por}}, + byeditoran = {{editado e anotado por}% + {ed\adddotspace e anot\adddot\ por}}, + byeditorin = {{editado e introduzido por}% + {ed\adddotspace e introd\adddot\ por}}, + byeditorfo = {{editado e prefaciado por}% + {ed\adddotspace e pref\adddot\ por}}, + byeditoraf = {{editado e posfaciado por}% + {ed\adddotspace e posf\adddot\ por}}, + byeditortrco = {{editado, traduzido \lbx@lfromlang\ e comentado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e coment\adddot\ por}}, + byeditortran = {{editado, traduzido \lbx@lfromlang\ e anotado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}}, + byeditortrin = {{editado, traduzido \lbx@lfromlang\ e introduzido por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e introd\adddot\ por}}, + byeditortrfo = {{editado, traduzido \lbx@lfromlang\ e prefaciado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e pref\adddot\ por}}, + byeditortraf = {{editado, traduzido \lbx@lfromlang\ e posfaciado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e posf\adddot\ por}}, + byeditorcoin = {{editado, comentado e introduzido por}% + {ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}}, + byeditorcofo = {{editado, comentado e prefaciado por}% + {ed.,\addabbrvspace coment\adddot\ e pref\adddot\ por}}, + byeditorcoaf = {{editado, comentado e posfaciado por}% + {ed.,\addabbrvspace coment\adddot\ e posf\adddot\ por}}, + byeditoranin = {{editado, anotado e introduzido por}% + {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}}, + byeditoranfo = {{editado, anotado e prefaciado por}% + {ed.,\addabbrvspace anot\adddot\ e pref\adddot\ por}}, + byeditoranaf = {{editado, anotado e posfaciado por}% + {ed.,\addabbrvspace anot\adddot\ e posf\adddot\ por}}, + byeditortrcoin = {{editado, traduzido \lbx@lfromlang, comentado e introduzido por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, coment\adddot\ e introd\adddot\ por}}, + byeditortrcofo = {{editado, traduzido \lbx@lfromlang, comentado e prefaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, coment\adddot\ e pref\adddot\ por}}, + byeditortrcoaf = {{editado, traduzido \lbx@lfromlang, comentado e posfaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, coment\adddot\ e posf\adddot\ por}}, + byeditortranin = {{editado, traduzido \lbx@lfromlang, anotado e introduzido por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + byeditortranfo = {{editado, traduzido \lbx@lfromlang, anotado e prefaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e pref\adddot\ por}}, + byeditortranaf = {{editado, traduzido \lbx@lfromlang, anotado e posfaciado por}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e posf\adddot\ por}}, + bytranslatorco = {{traduzido \lbx@lfromlang\ e comentado por}% + {trad\adddot\ \lbx@sfromlang\ e coment\adddot\ por}}, + bytranslatoran = {{traduzido \lbx@lfromlang\ e anotado por}% + {trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}}, + bytranslatorin = {{traduzido \lbx@lfromlang\ e introduzido por}% + {trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}}, + bytranslatorfo = {{traduzido \lbx@lfromlang\ e prefaciado por}% + {trad\adddot\ \lbx@sfromlang\ e pref\adddot\ por}}, + bytranslatoraf = {{traduzido \lbx@lfromlang\ e posfaciado por}% + {trad\adddot\ \lbx@sfromlang\ e posf\adddot\ por}}, + bytranslatorcoin = {{traduzido \lbx@lfromlang, comentado e introduzido por}% + {trad\adddot\ \lbx@sfromlang, coment\adddot\ e introd\adddot\ por}}, + bytranslatorcofo = {{traduzido \lbx@lfromlang, comentado e prefaciado por}% + {trad\adddot\ \lbx@sfromlang, coment\adddot\ e pref\adddot\ por}}, + bytranslatorcoaf = {{traduzido \lbx@lfromlang, comentado e posfaciado por}% + {trad\adddot\ \lbx@sfromlang, coment\adddot\ e posf\adddot\ por}}, + bytranslatoranin = {{traduzido \lbx@lfromlang, anotado e introduzido por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + bytranslatoranfo = {{traduzido \lbx@lfromlang, anotado e prefaciado por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e pref\adddot\ por}}, + bytranslatoranaf = {{traduzido \lbx@lfromlang, anotado e posfaciado por}% + {trad\adddot\ \lbx@sfromlang, anot\adddot\ e posf\adddot\ por}}, + and = {{e}{e}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{volume}{vol\adddot}}, + volumes = {{volumes}{vols\adddot}}, + involumes = {{em}{em}}, + jourvol = {{volume}{vol\adddot}}, + jourser = {{s\'erie}{s\'er\adddot}}, + book = {{livro}{livro}}, + part = {{parte}{parte}}, + issue = {{n\'umero}{n\'umero}}, + newseries = {{nova s\'erie}{nova s\'er\adddot}}, + oldseries = {{s\'erie antiga}{s\'er\adddot\ antiga}}, + edition = {{edi\c{c}\~ao}{ed\adddot}}, + reprint = {{reimpress\~ao}{reimpr\adddot}}, + reprintof = {{reimpress\~ao de}{reimpr\adddotspace de}}, + reprintas = {{reimpresso como}{reimpr\adddotspace como}}, + reprintfrom = {{reimpresso}{reimpr\adddot}},% FIXME: check + translationof = {{tradu\c{c}\~ao de}{trad\adddotspace de}},% FIXME: check + translationas = {{traduzido como}{trad\adddotspace como}},% FIXME: check + translationfrom = {{traduzido do}{trad\adddotspace do}},% FIXME: check + reviewof = {{resenha de}{res\adddotspace de}},% FIXME: check + origpubas = {{originalmente publicado como}{orig\adddotspace pub\adddotspace como}},% FIXME: check + origpubin = {{originalmente publicado em}{orig\adddotspace pub\adddotspace em}},% FIXME: check + astitle = {{como}{como}},% FIXME: check + bypublisher = {{por}{por}},% FIXME: check + nodate = {{sem data}{s\adddot d\adddot}},% FIXME: latin: sine die + page = {{p\'agina}{p\adddot}}, + pages = {{p\'aginas}{pp\adddot}}, + column = {{coluna}{col\adddot}}, + columns = {{colunas}{cols\adddot}}, + line = {{linha}{l\adddot}}, + lines = {{linhas}{ll\adddot}},% FIXME: check + verse = {{verso}{v\adddot}}, + verses = {{versos}{vv\adddot}},% FIXME: check + section = {{se\c{c}\~ao}{\S}}, + sections = {{se\c{c}\~oes}{\S\S}}, + paragraph = {{par\'agrafo}{par\adddot}}, + paragraphs = {{par\'agrafo}{par\adddot}}, + pagetotal = {{p\'agina}{p\adddot}}, + pagetotals = {{p\'aginas}{pp\adddot}}, + columntotal = {{coluna}{col\adddot}}, + columntotals = {{colunas}{cols\adddot}}, + linetotal = {{linha}{l\adddot}}, + linetotals = {{linhas}{ll\adddot}},% FIXME: check + versetotal = {{verso}{v\adddot}}, + versetotals = {{versos}{vv\adddot}},% FIXME: check + sectiontotal = {{se\c{c}\~ao}{\S}}, + sectiontotals = {{se\c{c}\~oes}{\S\S}}, + paragraphtotal = {{par\'agrafo}{par\adddot}}, + paragraphtotals = {{par\'agrafo}{par\adddot}}, + in = {{em}{em}}, + inseries = {{em}{em}}, + ofseries = {{de}{de}}, + number = {{n\'umero}{n\adddot\textordmasculine}}, + chapter = {{cap\'\i tulo}{cap\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{tese de mestrado}{tese de mestrado}}, + phdthesis = {{tese de doutoramento}{tese de doutoramento}}, + candthesis = {{proposta de tese}{proposta de tese}}, + resreport = {{relat\'orio de pesquisa}{rel\adddotspace de pesquisa}}, + techreport = {{relat\'orio t\'ecnico}{rel\adddotspace t\'ec\adddot}}, + software = {{software}{software}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{CD \'audio}{CD \'audio}}, + version = {{vers\~ao}{vers\~ao}}, + url = {{URL}{URL}}, + urlfrom = {{URL}{URL}}, + urlseen = {{acedido em}{acedido em}}, + inpreparation = {{em prepara\c{c}\~ao}{em prep\adddot}}, + submitted = {{submetido}{subm\adddot}}, + forthcoming = {{no prelo}{no prelo}}, + inpress = {{no prelo}{no prelo}}, + prepublished = {{pr\'e publicado}{pr\'e pub\adddot}},% FIXME: check + citedas = {{doravante citado como}{doravante citado como}}, + thiscite = {{especialmente}{esp\adddot}},% FIXME: check + seenote = {{ver nota}{ver nota}}, + quotedin = {{apud}{apud}}, + 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 = {{ver}{ver}}, + seealso = {{ver tamb\'em}{ver tamb\'em}}, + backrefpage = {{ver p\'agina}{ver p\adddot}}, + backrefpages = {{ver p\'aginas}{ver pp\adddot}}, + january = {{janeiro}{jan\adddot}}, + february = {{fevereiro}{fev\adddot}}, + march = {{mar\c{c}o}{mar\adddot}}, + april = {{abril}{abr\adddot}}, + may = {{maio}{mai\adddot}}, + june = {{junho}{jun\adddot}}, + july = {{julho}{jul\adddot}}, + august = {{agosto}{ago\adddot}}, + september = {{setembro}{set\adddot}}, + october = {{outubro}{out\adddot}}, + november = {{novembro}{nov\adddot}}, + december = {{dezembro}{dez\adddot}}, + langamerican = {{ingl\^es}{ingl\^es}}, + langbrazilian = {{portugu{\^e}s}{portugu{\^e}s}}, + langbulgarian = {{b\'ulgaro}{b\'ulgaro}}, + langcatalan = {{catal\~ao}{catal\~ao}}, + langcroatian = {{croata}{croata}}, + langczech = {{checo}{checo}}, + langdanish = {{dinamarqu\^es}{dinamarqu\^es}}, + langdutch = {{holand{\^e}s}{holand{\^e}s}}, + langenglish = {{ingl\^es}{ingl\^es}}, + langestonian = {{est\'onio}{est\'onio}},% FIXME: check + langfinnish = {{finland\^es}{finland\^es}}, + langfrench = {{franc\^es}{franc\^es}}, + langgalician = {{galego}{galego}}, + langgerman = {{alem\~ao}{alem\~ao}}, + langgreek = {{grego}{grego}}, +% langhungarian = {{}{}}, % FIXME: missing + langitalian = {{italiano}{italiano}}, + langjapanese = {{japon\^es}{japon\^es}}, + langlatin = {{latim}{latim}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{noruegu\^es}{noruegu\^es}}, + langpolish = {{polaco}{polaco}}, + langportuguese = {{portugu{\^e}s}{portugu{\^e}s}}, + langrussian = {{russo}{russo}}, + langslovak = {{eslovaco}{eslovaco}}, + langslovene = {{esloveno}{esloveno}}, + langspanish = {{espanhol}{espanhol}}, + langswedish = {{sueco}{sueco}}, + fromamerican = {{do ingl\^es}{do ingl\^es}}, + frombrazilian = {{do portugu{\^e}s}{do portugu{\^e}s}}, + frombulgarian = {{do b\'ulgaro}{do b\'ulgaro}}, + fromcatalan = {{do catal\~ao}{do catal\~ao}}, + fromcroatian = {{do croata}{do croata}}, + fromczech = {{do checo}{do checo}}, + fromdanish = {{do dinamarqu\^es}{do dinamarqu\^es}}, + fromdutch = {{do holand{\^e}s}{do holand{\^e}s}}, + fromenglish = {{do ingl\^es}{do ingl\^es}}, + fromestonian = {{do est\'onio}{do est\'onio}},% FIXME: check + fromfinnish = {{do finland\^es}{do finland\^es}}, + fromfrench = {{do franc\^es}{do franc\^es}}, + fromgalician = {{do galego}{do galego}}, + fromgerman = {{do alem\~ao}{do alem\~ao}}, + fromgreek = {{do grego}{do grego}}, +% fromhungarian = {{}{}}, % FIXME: missing + fromitalian = {{do italiano}{do italiano}}, + fromjapanese = {{do japon\^es}{do japon\^es}}, + fromlatin = {{do latim}{do latim}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{do noruegu\^es}{do noruegu\^es}}, + frompolish = {{do polaco}{do polaco}}, + fromportuguese = {{do portugu{\^e}s}{do portugu{\^e}s}}, + fromrussian = {{do russo}{do russo}}, + fromslovak = {{do eslovaco}{do eslovaco}}, + fromslovene = {{do esloveno}{do esloveno}}, + fromspanish = {{do espanhol}{do espanhol}}, + fromswedish = {{do sueco}{do sueco}}, + countryde = {{Alemanha}{DE}},% FIXME: abbrev.: ISO 3166 or translated? + countryeu = {{Uni\~ao Europeia}{EU}},% FIXME: abbrev.: ISO 3166 or translated? + countryep = {{Uni\~ao Europeia}{EP}},% FIXME: check + countryfr = {{Fran\c{c}a}{FR}},% FIXME: abbrev.: ISO 3166 or translated? + countryuk = {{Reino Unido}{GB}},% FIXME: abbrev.: ISO 3166 or translated? + countryus = {{Estados Unidos da Am\'erica}{US}},% FIXME: abbrev.: ISO 3166 or translated? + patent = {{patente}{pat\adddot}}, + patentde = {{patente alem\~a}{pat\adddot\ alem\~a}}, + patenteu = {{patente europeia}{pat\adddot\ europeia}}, + patentfr = {{patente francesa}{pat\adddot\ francesa}}, + patentuk = {{patente brit\^anica}{pat\adddot\ brit\^anica}}, + patentus = {{patente americana}{pat\adddot\ americana}}, + patreq = {{pedido de patente}{ped\adddot\ de pat\adddot}}, + patreqde = {{pedido de patente alem\~a}{ped\adddot\ de pat\adddot\ alem\~a}}, + patreqeu = {{pedido de patente europeia}{ped\adddot\ de pat\adddot\ europeia}}, + patreqfr = {{pedido de patente francesa}{ped\adddot\ de pat\adddot\ francesa}}, + patrequk = {{pedido de patente brit\^anica}{ped\adddot\ de pat\adddot\ brit\^anica}}, + patrequs = {{pedido de patente americana}{ped\adddot\ de pat\adddot\ americana}}, + file = {{arquivo}{arq\adddot}}, + library = {{biblioteca}{bibl\adddot}}, + abstract = {{resumo}{res\adddot}}, + annotation = {{anota\c{c}\~ao}{anot\adddot}}, + commonera = {{Era Comum}{EC}}, + beforecommonera = {{antes da Era Comum}{AEC}}, + annodomini = {{depois de Cristo}{d\adddot C\adddot}}, + beforechrist = {{antes de Cristo}{a\adddot C\adddot}}, + circa = {{circa}{ca}},% FIXME: latin: circa. pt: cerca de ...(data) + spring = {{primavera}{primavera}}, + summer = {{ver\~ao}{ver\~ao}}, + autumn = {{outono}{outono}}, + winter = {{inverno}{inverno}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/romanian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/romanian-ms.lbx new file mode 100644 index 00000000000..29d25964a5a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/romanian-ms.lbx @@ -0,0 +1,683 @@ +\ProvidesFile{romanian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{romanian}{romanian} + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Romanian requires UTF-8 support} + {The file 'romanian.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 + romanian.lbx now.}% + \endinput} + +\DeclareBibliographyExtras{% + \savecommand\newunitpunct + \renewcommand*{\newunitpunct}{\addcomma\space}% + \savecommand\intitlepunct + \renewcommand*{\intitlepunct}{\addspace}% + \savecommand\subtitlepunct + \renewcommand*{\subtitlepunct}{\addperiod\space}% + \DeclareCapitalPunctuation{.:!?}% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \savecommand\bibdaterangesep + \protected\def\bibdaterangesep{% + \iftoggle{lbx@ro@dayrange} + {\textendash} + {\addnbspace\textendash\addnbspace}}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibmascord#1{% + \ifnumgreater{#1}{1} + {\autocap{a}~} + {}% + #1-lea}% + \protected\def\mkbibfemord#1{% + \ifnumgreater{#1}{1} + {\autocap{a}~} + {}% + #1-a}% + \protected\def\mkbibneutord{\mkbibmascord}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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} + {} + {\thefield{#3}\adddot}% + \iffieldundef{#2} + {} + {\thefield{#2}\adddot}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \savecommand\mkdaterangetrunc@i + \savecommand\mkdaterangetruncextra@i + \def\mkdaterangetrunc@i{\lbx@ro@mkdaterangetrunc@i}% + \def\mkdaterangetruncextra@i{\lbx@ro@mkdaterangetruncextra@i}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\bibdaterangesep + \restorecommand\newunitpunct + \restorecommand\intitlepunct + \restorecommand\subtitlepunct + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries + \restorecommand\mkdaterangetrunc@i + \restorecommand\mkdaterangetruncextra@i +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografie}{Bibliografie}}, + references = {{Referințe}{Referințe}}, + shorthands = {{Lista Abrevierilor}{Abrevieri}}, + editor = {{editor}{ed\adddot}}, + editors = {{editori}{ed\adddot}}, + compiler = {{redactor}{red\adddot}}, + compilers = {{redactori}{red\adddot}}, + redactor = {{redactor}{red\adddot}}, + redactors = {{redactori}{red\adddot}}, + reviser = {{revizor}{rev\adddot}}, + revisers = {{revizori}{rev\adddot}}, + founder = {{fondator}{fond\adddot}}, + founders = {{fondatori}{fond\adddot}}, + continuator = {{continuator}{cont\adddot}},% FIXME: unsure + continuators = {{continuatori}{cont\adddot}},% FIXME: unsure + collaborator = {{colaborator}{colab\adddot}},% FIXME: unsure + collaborators = {{colaboratori}{colab\adddot}},% FIXME: unsure + translator = {{traducător}{trad\adddot}}, + translators = {{traducători}{trad\adddot}}, + commentator = {{comentator}{coment\adddot}}, + commentators = {{comentatori}{coment\adddot}}, + annotator = {{adnotator}{adnot\adddot}}, + annotators = {{adnotatori}{adnot\adddot}}, + commentary = {{comentariu}{com\adddot}}, + annotations = {{note}{note}}, + introduction = {{introducere}{introd\adddot}}, + foreword = {{prefață}{pref\adddot}}, + afterword = {{postfață}{postf\adddot}}, + editortr = {{editor și traducător}% + {ed\adddotspace și trad\adddot}}, + editorstr = {{editori și traducători}% + {ed\adddotspace și trad\adddot}}, + editorco = {{editor și comentator}% + {ed\adddotspace și coment\adddot}}, + editorsco = {{editori și comentatori}% + {ed\adddotspace și coment\adddot}}, + editoran = {{editor și adnotator}% + {ed\adddotspace și adnot\adddot}}, + editorsan = {{editori și adnotatori}% + {ed\adddotspace și adnot\adddot}}, + editorin = {{editor și introducere}% + {ed\adddotspace și introd\adddot}}, + editorsin = {{editori și introducere}% + {ed\adddotspace și introd\adddot}}, + editorfo = {{editor și prefață}% + {ed\adddotspace și pref\adddot}}, + editorsfo = {{editori și prefață}% + {ed\adddotspace și pref\adddot}}, + editoraf = {{editor și postfață}% + {ed\adddotspace și postf\adddot}}, + editorsaf = {{editori și postfață}% + {ed\adddotspace și postf\adddot}}, + editortrco = {{editor, traducător\ și comentator}% + {ed.,\addabbrvspace trad\adddot\ și coment\adddot}}, + editorstrco = {{editori, traducători\ și comentatori}% + {ed.,\addabbrvspace trad\adddot\ și coment\adddot}}, + editortran = {{editor, traducător\ și adnotator}% + {ed.,\addabbrvspace trad\adddot\ și adnot\adddot}}, + editorstran = {{editori, traducători\ și adnotatori}% + {ed.,\addabbrvspace trad\adddot\ și adnot\adddot}}, + editortrin = {{editor, traducător\ și introducere}% + {ed.,\addabbrvspace trad\adddot\ și introd\adddot}}, + editorstrin = {{editori, traducători\ și introducere}% + {ed.,\addabbrvspace trad\adddot\ și introd\adddot}}, + editortrfo = {{editor, traducător\ și prefață}% + {ed.,\addabbrvspace trad\adddot\ și pref\adddot}}, + editorstrfo = {{editori, traducători\ și prefață}% + {ed.,\addabbrvspace trad\adddot\ și pref\adddot}}, + editortraf = {{editor, traducător\ și postfață}% + {ed.,\addabbrvspace trad\adddot\ și postf\adddot}}, + editorstraf = {{editori, traducători\ și postfață}% + {ed.,\addabbrvspace trad\adddot\ și postf\adddot}}, + editorcoin = {{editor, comentator\ și introducere}% + {ed.,\addabbrvspace coment\adddot\ și introd\adddot}}, + editorscoin = {{editori, comentatori\ și introducere}% + {ed.,\addabbrvspace coment\adddot\ și introd\adddot}}, + editorcofo = {{editor, comentator\ și prefață}% + {ed.,\addabbrvspace coment\adddot\ și pref\adddot}}, + editorscofo = {{editori, comentatori\ și prefață}% + {ed.,\addabbrvspace coment\adddot\ și pref\adddot}}, + editorcoaf = {{editor, comentator\ și postfață}% + {ed.,\addabbrvspace coment\adddot\ și postf\adddot}}, + editorscoaf = {{editori, comentatori\ și prefață}% + {ed.,\addabbrvspace coment\adddot\ și pref\adddot}}, + editoranin = {{editor, adnotator\ și introducere}% + {ed.,\addabbrvspace adnot\adddot\ și introd\adddot}}, + editorsanin = {{editori, adnotatori\ și introducere}% + {ed.,\addabbrvspace adnot\adddot\ și introd\adddot}}, + editoranfo = {{editor, adnotator\ și prefață}% + {ed.,\addabbrvspace adnot\adddot\ și pref\adddot}}, + editorsanfo = {{editori, adnotatori\ și prefață}% + {ed.,\addabbrvspace adnot\adddot\ și pref\adddot}}, + editoranaf = {{editor, adnotator\ și postfață}% + {ed.,\addabbrvspace adnot\adddot\ și postf\adddot}}, + editorsanaf = {{editori, adnotatori\ și postfață}% + {ed.,\addabbrvspace adnot\adddot\ și postf\adddot}}, + editortrcoin = {{editor, traducător, comentator\ și introducere}% + {ed.,\addabbrvspace trad., coment\adddot\ și introd\adddot}}, + editorstrcoin = {{editori, traducători, comentatori\ și introducere}% + {ed.,\addabbrvspace trad., coment\adddot\ și introd\adddot}}, + editortrcofo = {{editor, traducător, comentator\ și prefață}% + {ed.,\addabbrvspace trad., coment\adddot\ și pref\adddot}}, + editorstrcofo = {{editori, traducători, comentatori\ și prefață}% + {ed.,\addabbrvspace trad., coment\adddot\ și pref\adddot}}, + editortrcoaf = {{editor, traducător, comentator\ și postfață}% + {ed.,\addabbrvspace trad., coment\adddot\ și postf\adddot}}, + editorstrcoaf = {{editori, traducători, comentatori\ și postfață}% + {ed.,\addabbrvspace trad., coment\adddot\ și postf\adddot}}, + editortranin = {{editor, traducător, adnotator\ și introducere}% + {ed.,\addabbrvspace trad., adnot\adddot\ și introd\adddot}}, + editorstranin = {{editori, traducători, adnotatori\ și introducere}% + {ed.,\addabbrvspace trad., adnot\adddot\ și introd\adddot}}, + editortranfo = {{editor, traducător, adnotator\ și prefață}% + {ed.,\addabbrvspace trad., adnot\adddot\ și pref\adddot}}, + editorstranfo = {{editori, traducători, adnotatori\ și prefață}% + {ed.,\addabbrvspace trad., adnot\adddot\ și pref\adddot}}, + editortranaf = {{editor, traducător, adnotator\ și postfață}% + {ed.,\addabbrvspace trad., adnot\adddot\ și postf\adddot}}, + editorstranaf = {{editori, traducători, adnotatori\ și postfață}% + {ed.,\addabbrvspace trad., adnot\adddot\ și postf\adddot}}, + translatorco = {{traducător și comentator}% + {trad\adddot\ și coment\adddot}}, + translatorsco = {{traducători și comentatori}% + {trad\adddot\ și coment\adddot}}, + translatoran = {{traducător și adnotator}% + {trad\adddot\ și adnot\adddot}}, + translatorsan = {{traducători și adnotatori}% + {trad\adddot\ și adnot\adddot}}, + translatorin = {{traducere și introducere}% + {trad\adddot\ și introd\adddot}}, + translatorsin = {{traducere și introducere}% + {trad\adddot\ și introd\adddot}}, + translatorfo = {{traducere și prefață}% + {trad\adddot\ și pref\adddot}}, + translatorsfo = {{traducere și prefață}% + {trad\adddot\ și pref\adddot}}, + translatoraf = {{traducere și postfață}% + {trad\adddot\ și postf\adddot}}, + translatorsaf = {{traducere și postfață}% + {trad\adddot\ și postf\adddot}}, + translatorcoin = {{traducere, comentarii\ și introducere}% + {trad., coment\adddot\ și introd\adddot}}, + translatorscoin = {{traducere, comentarii\ și introducere}% + {trad., coment\adddot\ și introd\adddot}}, + translatorcofo = {{traducere, comentarii\ și prefață}% + {trad., coment\adddot\ și pref\adddot}}, + translatorscofo = {{traducere, comentarii\ și prefață}% + {trad., coment\adddot\ și pref\adddot}}, + translatorcoaf = {{traducere, comentarii\ și postfață}% + {trad., coment\adddot\ și postf\adddot}}, + translatorscoaf = {{traducere, comentarii\ și postfață}% + {trad., coment\adddot\ și postf\adddot}}, + translatoranin = {{traducere, note\ și introducere}% + {trad., note\ și introd\adddot}}, + translatorsanin = {{traducere, note\ și introducere}% + {trad., note\ și introd\adddot}}, + translatoranfo = {{traducere, note\ și prefață}% + {trad., note\ și pref\adddot}}, + translatorsanfo = {{traducere, note\ și prefață}% + {trad., note\ și pref\adddot}}, + translatoranaf = {{traducere, note\ și postfață}% + {trad., note\ și postf\adddot}}, + translatorsanaf = {{traducere, note\ și postfață}% + {trad., note\ și postf\adddot}}, + organizer = {{organizator}{org\adddot}}, + organizers = {{organizatori}{org\adddot}}, + byorganizer = {{organizat de}{org\adddotspace de}}, + byauthor = {{de}{de}}, + byeditor = {{editat de}{ed\adddotspace de}}, + bycompiler = {{redactat de}{red\adddotspace de}}, + byredactor = {{redactat de}{red\adddotspace de}}, + byreviser = {{revizuit de}{rev\adddotspace de}}, + byreviewer = {{revizuit de}{rev\adddotspace de}}, + byfounder = {{fondat de}{fond\adddotspace de}}, + bycontinuator = {{continuat de}{cont\adddotspace de}}, + bycollaborator = {{în colaborare cu}{în colab\adddotspace cu}},% FIXME: unsure + bytranslator = {{traducere \lbx@lfromlang\ de}{trad\adddot\ \lbx@sfromlang\ de}}, + bycommentator = {{comentarii de}{coment\adddot\ de}}, + byannotator = {{note de}{note de}}, + withcommentator = {{cu comentarii de}{cu coment\adddot\ de}}, + withannotator = {{cu note de}{cu note de}}, + withintroduction = {{cu o introducere de}{cu o introd\adddot\ de}}, + withforeword = {{cu o prefață de}{cu o pref\adddot\ de}}, + withafterword = {{cu o postfață de}{cu o postf\adddot\ de}}, + byeditortr = {{editare și traducere \lbx@lfromlang\ de}% + {ed\adddotspace și trad\adddot\ \lbx@sfromlang\ de}}, + byeditorco = {{editare și comentarii de}% + {ed\adddotspace și coment\adddot\ de}}, + byeditoran = {{editare și note de}% + {ed\adddotspace și note de}}, + byeditorin = {{editare, cu o introducere, de}% + {ed.,\addabbrvspace cu o introd., de}}, + byeditorfo = {{editare, cu o prefață, de}% + {ed.,\addabbrvspace cu o pref., de}}, + byeditoraf = {{editare, cu o postfață, de}% + {ed.,\addabbrvspace cu o postf., de}}, + byeditortrco = {{editare, traducere \lbx@lfromlang\ și comentarii de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment\adddot\ de}}, + byeditortran = {{editare, traducere \lbx@lfromlang\ și note de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note de}}, + byeditortrin = {{editare și traducere \lbx@lfromlang, cu o introducere, de}% + {ed\adddotspace și trad\adddot\ \lbx@sfromlang, cu o introd., de}}, + byeditortrfo = {{editare și traducere \lbx@lfromlang, cu o prefață, de}% + {ed\adddotspace și trad\adddot\ \lbx@sfromlang, cu o pref., de}}, + byeditortraf = {{editare și traducere \lbx@lfromlang, cu o postfață, de}% + {ed\adddotspace și trans\adddot\ \lbx@sfromlang, cu o postf., de}}, + byeditorcoin = {{editare și comentarii, cu o introducere, de}% + {ed\adddotspace și coment., cu o introd., de}}, + byeditorcofo = {{editare și comentarii, cu o prefață, de}% + {ed\adddotspace și coment., cu o pref., de}}, + byeditorcoaf = {{editare și comentarii, cu o postfață, de}% + {ed\adddotspace și coment., cu o postf., de}}, + byeditoranin = {{editare și note, cu o introducere, de}% + {ed\adddotspace și note, cu o introd., de}}, + byeditoranfo = {{editare și note, cu o prefață, de}% + {ed\adddotspace și note, cu o pref., de}}, + byeditoranaf = {{editare și note, cu o postfață, de}% + {ed\adddotspace și note, cu o postf., de}}, + byeditortrcoin = {{editare, traducere \lbx@lfromlang\ și comentarii, cu o introducere, de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment., cu o introd., de}}, + byeditortrcofo = {{editare, traducere \lbx@lfromlang\ și comentarii, cu o prefață, de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment., cu o pref., de}}, + byeditortrcoaf = {{editare, traducere \lbx@lfromlang\ și comentarii, cu o postfață, de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment., cu o postf., de}}, + byeditortranin = {{editare, traducere \lbx@lfromlang\ și note, cu o introducere, de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note, cu o introd., de}}, + byeditortranfo = {{editare, traducere \lbx@lfromlang\ și note, cu o prefață, de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note, cu o pref., de}}, + byeditortranaf = {{editare, traducere \lbx@lfromlang\ și note, cu o postfață, de}% + {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note, cu o postf., de}}, + bytranslatorco = {{traducere \lbx@lfromlang\ și comentarii de}% + {trad\adddot\ \lbx@sfromlang\ și coment\adddot\ de}}, + bytranslatoran = {{traducere \lbx@lfromlang\ și note de}% + {trad\adddot\ \lbx@sfromlang\ și note de}}, + bytranslatorin = {{traducere \lbx@lfromlang, cu o introducere, de}% + {trad\adddot\ \lbx@sfromlang, cu o introd., de}}, + bytranslatorfo = {{traducere \lbx@lfromlang, cu o prefață, de}% + {trad\adddot\ \lbx@sfromlang, cu o pref., de}}, + bytranslatoraf = {{traducere \lbx@lfromlang, cu o postfață, de}% + {trad\adddot\ \lbx@sfromlang, cu o postf., de}}, + bytranslatorcoin = {{traducere \lbx@lfromlang\ și comentarii, cu o introducere, de}% + {trad\adddot\ \lbx@sfromlang\ și coment., cu o introd., de}}, + bytranslatorcofo = {{traducere \lbx@lfromlang\ și comentarii, cu o prefață, de}% + {trad\adddot\ \lbx@sfromlang\ și coment., cu o pref., de}}, + bytranslatorcoaf = {{traducere \lbx@lfromlang\ și comentarii, cu o postfață, de}% + {trad\adddot\ \lbx@sfromlang\ și coment., cu o postf., de}}, + bytranslatoranin = {{traducere \lbx@lfromlang\ și note, cu o introducere, de}% + {trad\adddot\ \lbx@sfromlang\ și note, cu o introd., de}}, + bytranslatoranfo = {{traducere \lbx@lfromlang\ și note, cu o prefață, de}% + {trad\adddot\ \lbx@sfromlang\ și note, cu o pref., de}}, + bytranslatoranaf = {{traducere \lbx@lfromlang\ și note, cu o postfață, de}% + {trad\adddot\ \lbx@sfromlang\ și note, cu o postf., de}}, + and = {{și}{și}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{volum}{vol\adddot}}, + volumes = {{volume}{vol\adddot}}, + involumes = {{în}{în}}, + jourvol = {{volumul}{vol\adddot}}, + jourser = {{serii}{ser\adddot}}, + book = {{carte}{carte}}, + part = {{partea}{partea}}, + issue = {{număr}{nr\adddot}}, + newseries = {{serie nouă}{ser\adddotspace nouă}}, + oldseries = {{serie anterioară}{ser\adddotspace anterioară}}, + edition = {{ediție}{ed\adddot}}, + reprint = {{republicat}{repub\adddot}}, + reprintof = {{republicat în}{repub\adddotspace în}}, + reprintas = {{republicat ca}{repub\adddotspace ca}}, + reprintfrom = {{republicat din}{repub\adddotspace din}}, + reviewof = {{revizuit în}{rev\adddotspace în}}, + translationof = {{traducere în}{trad\adddotspace în}}, + translationas = {{traducere ca}{trad\adddotspace ca}}, + translationfrom = {{traducere din}{trad\adddotspace din}}, + origpubas = {{publicat original ca}{publ\adddotspace orig\adddotspace ca}}, + origpubin = {{publicat original în}{pub\adddotspace orig\adddotspace în}}, + astitle = {{ca}{ca}}, + bypublisher = {{de}{de}}, + nodate = {{fără dată}{f\adddot d\adddot}}, + page = {{pagina}{p\adddot}}, + pages = {{paginile}{pp\adddot}}, + column = {{coloana}{col\adddot}}, + columns = {{coloanele}{col\adddot}}, + line = {{linia}{l\adddot}}, + lines = {{liniile}{ll\adddot}}, + verse = {{versul}{v\adddot}}, + verses = {{versuri}{vv\adddot}}, + section = {{secțiunea}{\S}}, + sections = {{secțiuni}{\S\S}}, + paragraph = {{paragraf}{par\adddot}}, + paragraphs = {{paragrafe}{par\adddot}}, + pagetotal = {{pagină}{p\adddot}}, + pagetotals = {{pagini}{pp\adddot}}, + columntotal = {{coloană}{col\adddot}}, + columntotals = {{coloane}{col\adddot}}, + linetotal = {{linia}{l\adddot}}, + linetotals = {{linii}{ll\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{versuri}{vv\adddot}}, + sectiontotal = {{secțiune}{\S}}, + sectiontotals = {{secțiuni}{\S\S}}, + paragraphtotal = {{paragrafe}{par\adddot}}, + paragraphtotals = {{paragrafe}{par\adddot}}, + in = {{în}{în}}, + inseries = {{în}{în}}, + ofseries = {{din}{din}}, + number = {{număr}{nr\adddot}}, + chapter = {{capitol}{cap\adddot}}, + bathesis = {{Teză de licență}{Teză de lic\adddot}}, + mathesis = {{Teză de dizertație}{Teză de dizert\adddot}}, + phdthesis = {{Teză de doctorat}{Teză de doct\adddot}}, + candthesis = {{Teză de abilitare}{Teză de abilit\adddot}}, % not sure + resreport = {{raport de cercetare}{rap\adddotspace de cercet\adddot}}, + techreport = {{raport tehnic}{rap\adddotspace teh\adddot}}, + software = {{computer software}{comp\adddotspace software}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{CD audio}{CD audio}}, + version = {{versiunea}{versiunea}}, + url = {{adresa}{adresa}}, + urlfrom = {{disponibil la}{disponibil la}}, + urlseen = {{accesat în}{accesat în}}, + inpreparation = {{în pregătire}{în pregătire}}, + submitted = {{depus}{depus}}, + forthcoming = {{în curs de apariție}{în curs de apariție}}, + inpress = {{bun de tipar}{bun de tipar}}, + prepublished = {{prepublicat}{prepublicat}}, + citedas = {{în continuare citat ca}{în cont\adddotspace cit\adddotspace ca}}, + thiscite = {{în special}{în spec\adddot}}, + seenote = {{vezi nota}{vezi n\adddot}}, + quotedin = {{citat în}{cit\adddotspace în}}, + 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 = {{vezi}{vezi}}, + seealso = {{vezi de asemenea}{vezi de asemenea}}, + backrefpage = {{citat în pagina}{cit\adddotspace în p\adddot}}, + backrefpages = {{citat în paginile}{cit\adddotspace în pp\adddot}}, + january = {{Ianuarie}{Ian\adddot}}, + february = {{Februarie}{Feb\adddot}}, + march = {{Martie}{Mar\adddot}}, + april = {{Aprilie}{Apr\adddot}}, + may = {{Mai}{Mai}}, + june = {{Iunie}{Iun\adddot}}, + july = {{Iulie}{Iul\adddot}}, + august = {{August}{Aug\adddot}}, + september = {{Septembrie}{Sept\adddot}}, + october = {{Octombrie}{Oct\adddot}}, + november = {{Noiembrie}{Nov\adddot}}, + december = {{Decembrie}{Dec\adddot}}, + langamerican = {{Engleză}{Engleză}}, + langbasque = {{Bască}{Bască}}, + langbrazilian = {{Braziliană}{Braziliană}}, + langbulgarian = {{Bulgară}{Bulgară}}, + langcatalan = {{Catalană}{Catalană}}, + langcroatian = {{Croată}{Croată}}, + langczech = {{Cehă}{Cehă}}, + langdanish = {{Daneză}{Daneză}}, + langdutch = {{Olandeză}{Olandeză}}, + langenglish = {{Engleză}{Engleză}}, + langestonian = {{Estonă}{Estonă}}, + langfinnish = {{Finlandeză}{Finlandeză}}, + langfrench = {{Franceză}{Franceză}}, + langgalician = {{Galeză}{Galeză}}, + langgerman = {{Germană}{Germană}}, + langgreek = {{Greacă}{Greacă}}, + langhungarian = {{Maghiară}{Maghiară}}, + langitalian = {{Italiană}{Italiană}}, + langjapanese = {{Japoneză}{Japoneză}}, + langlatin = {{Latină}{Latină}}, + langlatvian = {{Letonă}{Letonă}}, + langlithuanian = {{Lituaniană}{Lituaniană}}, + langnorwegian = {{Norvegiană}{Norvegiană}}, + langpolish = {{Polonă}{Polonă}}, + langportuguese = {{Portugheză}{Portugheză}}, + langamerican = {{Engleză}{Engleză}}, + langromanian = {{Română}{Română}}, + langrussian = {{Rusă}{Rusă}}, + langserbian = {{Sârbă}{Sârbă}}, + langslovak = {{Slovacă}{Slovacă}}, + langslovene = {{Slovenă}{Slovenă}}, + langspanish = {{Spaniolă}{Spaniolă}}, + langswedish = {{Suedeză}{Suedeză}}, + langturkish = {{Turcă}{Turcă}}, + langukrainian = {{Ucraineană}{Ucraineană}}, + fromamerican = {{din engleză}{din engleză}}, + frombasque = {{din bască}{din bască}}, + frombrazilian = {{din braziliană}{din braziliană}}, + frombulgarian = {{din bulgară}{din bulgară}}, + fromcatalan = {{din catalană}{din catalană}}, + fromcroatian = {{din Croatian}{din Croatian}}, + fromczech = {{din cehă}{din cehă}}, + fromdanish = {{din daneză}{din daneză}}, + fromdutch = {{din olandeză}{din olandeză}}, + fromenglish = {{din engleză}{din engleză}}, + fromestonian = {{din estonă}{din estonă}}, + fromfinnish = {{din finlandeză}{din finlandeză}}, + fromfrench = {{din franceză}{din franceză}}, + fromgalician = {{din galiciană}{din galiciană}}, + fromgerman = {{din germană}{din germană}}, + fromgreek = {{din greacă}{din greacă}}, + fromhungarian = {{din maghiară}{din maghiară}}, + fromitalian = {{din italiană}{din italiană}}, + fromjapanese = {{din japoneză}{din japoneză}}, + fromlatin = {{din latină}{din latină}}, + fromlatvian = {{din letonă}{din letonă}}, + fromlithuanian = {{din lituaniană}{din lituaniană}}, + fromnorwegian = {{din norvegiană}{din norvegiană}}, + frompolish = {{din poloneză}{din poloneză}}, + fromportuguese = {{din portugheză}{din portugheză}}, + fromrussian = {{din rusă}{din rusă}}, + fromserbian = {{din sârbă}{din sârbă}}, + fromslovak = {{din slovacă}{din slovacă}}, + fromslovene = {{din slovenă}{din slovenă}}, + fromspanish = {{din spaniolă}{din slovenă}}, + fromswedish = {{din suedeză}{fdin suedeză}}, + fromturkish = {{din turcă}{din turcă}}, + fromukrainian = {{din ucraineană}{din ucraineană}}, + countryde = {{Germania}{DE}}, + countryeu = {{Uniunea Europeană}{UE}}, + countryep = {{Uniunea Europeană}{EP}}, + countryfr = {{Franța}{FR}}, + countryuk = {{Marea Britanie}{GB}}, + countryus = {{Statele Unite ale Americii}{SUA}}, + patent = {{brevet}{brev\adddot}}, + patentde = {{brevet german}{brev\adddotspace german}}, + patenteu = {{brevet european}{brev\adddotspace european}}, + patentfr = {{brevet francez}{brev\adddotspace francez}}, + patentuk = {{brevet englezesc}{brev\adddotspace englezesc}}, + patentus = {{brevet american}{brev\adddotspace american}}, + patreq = {{cerere brevet}{cerere brev\adddot}}, + patreqde = {{cerere brevet german}{cerere brev\adddot\ germ\adddot}}, + patreqeu = {{cerere brevet european}{cerere brev\adddot\ europ\adddot}}, + patreqfr = {{cerere brevet francez}{cerere brev\adddot\ franc\adddot}}, + patrequk = {{cerere brevet englezesc}{cerere brev\adddot\ engl\adddot}}, + patrequs = {{cerere brevet american}{cerere brev\adddot\ americ\adddot}}, + file = {{filă}{filă}}, + library = {{bibliotecă}{bibliotecă}}, + abstract = {{rezumat}{rezumat}}, + annotation = {{note}{note}}, + commonera = {{era noastră}{e\adddot n\adddot}}, + beforecommonera = {{înaintea erei noastre}{î\adddot e\adddot n\adddot}}, + annodomini = {{Anul Domnului}{AD}}, + beforechrist = {{înainte de Hristos}{î\adddot Hr\adddot}}, + circa = {{circa}{cca\adddot}}, + spring = {{Primăvara}{Primăvara}}, + summer = {{Vara}{Vara}}, + autumn = {{Toamna}{Toamna}}, + winter = {{Iarna}{Iarna}}, + springN = {{Primăvara (Emisfera Nordică)}{Primăvara (Emisf\adddotspace Nordică)}}, + summerN = {{Vara (Emisfera Nordică)}{Vara (Emisf\adddotspace Nordică)}}, + autumnN = {{Toamna (Emisfera Nordică)}{Toamna (Emisf\adddotspace Nordică)}}, + winterN = {{Iarna (Emisfera Nordică)}{Iarna (Emisf\adddotspace Nordică)}}, + springS = {{Primăvara (Emisfera Sudică)}{Primăvara (Emisf\adddotspace Sudică)}}, + summerS = {{Vara (Emisfera Sudică)}{Vara (Emisf\adddotspace Sudică)}}, + autumnS = {{Toamna (Emisfera Sudică)}{Toamna (Emisf\adddotspace Sudică)}}, + winterS = {{Iarna (Emisfera Sudică)}{Iarna (Emisf\adddotspace Sudică)}}, + Q1 = {{Trimestrul~1}{Trim\adddot~1}}, + Q2 = {{Trimestrul~2}{Trim\adddot~2}}, + Q3 = {{Trimestrul~3}{Trim\adddot~3}}, + Q4 = {{Trimestrul~4}{Trim\adddot~4}}, +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing + S1 = {{Semestrul~1}{Sem\adddot~1}}, + S2 = {{Semestrul~2}{Sem\adddot~2}}, + am = {{am}{a\adddot m\adddot}}, + pm = {{pm}{p\adddot m\adddot}}, +} + +\global\blx@etb@inittoggle{lbx@ro@dayrange} + +\protected\gdef\lbx@ro@mkdaterangetrunc@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\toggletrue{lbx@ro@dayrange}% + \csuse{mkbibdate#1}{}{}{#2day}} + {\csuse{mkbibdate#1}{}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@ro@mkdaterangetruncextra@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces + % a normal month so if it exists, we know that a normal date print is ruled out + \iffieldundef{#2yeardivision} + {\ifdateyearsequal{#2}{#2end} + {\iffieldsequal{#2month}{#2endmonth} + {\toggletrue{lbx@ro@dayrange}% + \csuse{mkbibdate#1}{}{}{#2day}} + {\csuse{mkbibdate#1}{}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}} + {\ifdateyearsequal{#2}{#2end} + {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}} + {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}% + \iffieldsequal{#2dateera}{#2enddateera}{} + {\dateeraprint{#2year}}}}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endyeardivision} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/russian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/russian-ms.lbx new file mode 100644 index 00000000000..d02da3d4c11 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/russian-ms.lbx @@ -0,0 +1,623 @@ +\ProvidesFile{russian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{russian}{russian} + +% This file requires UTF-8 support! + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Russian requires UTF-8 support} + {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.}% + \endinput} + +\NewBibliographyString{% Used only Russian for month checks + datejanuary, + datefebruary, + datemarch, + dateapril, + datemay, + datejune, + datejuly, + dateaugust, + dateseptember, + dateoctober, + datenovember, + datedecember% +} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textemdash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\mkbibmascord}% + \protected\def\mkbibmascord#1{#1-й}% + \protected\def\mkbibfemord#1{#1-я}% + \protected\def\mkbibneutord#1{#1-е}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iffieldundef{#3} + {\mkbibmonth{\thefield{#2}}} + {\lbx@ru@mkbibdatemonth{\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}{}{\adddot}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\adddot}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibneutord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Список литературы}{Список литературы}},%book-like (chapter) + references = {{Список литературы}{Список литературы}},%article-like (section) + shorthands = {{Список сокращений}{Сокращения}}, + editor = {{редактор}{ред\adddot}}, + editors = {{редакторы}{ред\adddot}}, + compiler = {{составитель}{сост\adddot}}, + compilers = {{составители}{сост\adddot}}, + redactor = {{редактор}{ред\adddot}},% FIXME: unsure + redactors = {{редакторы}{ред\adddot}},% FIXME: unsure + reviser = {{ревизионный корректор}{ревиз\adddotspace кор\adddot}}, + revisers = {{ревизионные корректоры}{ревиз\adddotspace кор\adddot}}, + founder = {{основатель}{осн\adddot}}, + founders = {{основатели}{осн\adddot}}, + continuator = {{продолжатель}{прод\adddot}},% FIXME: unsure + continuators = {{продолжатели}{прод\adddot}},% FIXME: unsure + collaborator = {{участник}{участ\adddot}},% FIXME: unsure + collaborators = {{участники}{участ\adddot}},% FIXME: unsure + translator = {{переводчик}{пер\adddot}}, + translators = {{переводчики}{пер\adddot}}, + commentator = {{комментатор}{коммент\adddot}}, + commentators = {{комментаторы}{коммент\adddot}}, + annotator = {{примечания}{примеч\adddot}}, + annotators = {{примечания}{примеч\adddot}}, + commentary = {{комментарий}{коммент\adddot}}, + annotations = {{примечания}{примеч\adddot}}, + introduction = {{вступительная статья}{вступ\adddotspace ст\adddot}}, + foreword = {{предисловие}{предисл\adddot}}, + afterword = {{послесловие}{послесл\adddot}}, + editortr = {{редактор и переводчик}% + {ред\adddotspace и пер\adddot}}, + editorstr = {{редакторы и переводчики}% + {ред\adddotspace и пер\adddot}}, + editorco = {{редактор и комментатор}% + {ред\adddotspace и коммент\adddot}}, + editorsco = {{редакторы и комментаторы}% + {ред\adddotspace и коммент\adddot}}, + editoran = {{редактор и составитель примечаний}% + {ред\adddotspace и сост\adddotspace примеч\adddot}}, + editorsan = {{редакторы и составители примечаний}% + {ред\adddotspace и сост\adddotspace примеч\adddot}}, + editorin = {{редактор и автор вступительной статьи}% + {ред\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editorsin = {{редакторы и авторы вступительной статьи}% + {ред\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editorfo = {{редактор и автор предисловия}% + {ред\adddotspace и авт\adddotspace предисл\adddot}}, + editorsfo = {{редакторы и авторы предисловия}% + {ред\adddotspace и авт\adddotspace предисл\adddot}}, + editoraf = {{редактор и автор послесловия}% + {ред\adddotspace и авт\adddotspace послесл\adddot}}, + editorsaf = {{редакторы и авторы послесловия}% + {ред\adddotspace и авт\adddotspace послесл\adddot}}, + editortrco = {{редактор, переводчик и автор комментариев}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace коммент\adddot}}, + editorstrco = {{редакторы, переводчики и авторы комментариев}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace коммент\adddot}}, + editortran = {{редактор, переводчик и составитель примечаний}% + {ред.,\addabbrvspace пер\adddotspace и сост\adddotspace примеч\adddot}}, + editorstran = {{редакторы, переводчики и составители примечаний}% + {ред.,\addabbrvspace пер\adddotspace и сост\adddotspace примеч\adddot}}, + editortrin = {{редактор, переводчик и автор вступительной статьи}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editorstrin = {{редакторы, переводчики и авторы вступительной статьи}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editortrfo = {{редактор, переводчик и автор предисловия}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace предисл\adddot}}, + editorstrfo = {{редакторы, переводчики и авторы предисловия}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace предисл\adddot}}, + editortraf = {{редактор, переводчик и автор послесловия}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace послесловия\adddot}}, + editorstraf = {{редакторы, переводчики и авторы послесловия}% + {ред.,\addabbrvspace пер\adddotspace и авт\adddotspace послесл\adddot}}, + editorcoin = {{редактор, автор комментариев и вступительной статьи}% + {ред.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + editorscoin = {{редакторы, авторы комментариев и вступительной статьи}% + {ред.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + editorcofo = {{редактор, автор комментариев и предисловия}% + {ред.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + editorscofo = {{редакторы, авторы комментариев и предисловия}% + {ред.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + editorcoaf = {{редактор, автор комментариев и послесловия}% + {ред.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + editorscoaf = {{редакторы, авторы комментариев и послесловия}% + {ред.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + editoranin = {{редактор, составитель примечаний и автор вступительной статьи}% + {ред.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editorsanin = {{редакторы, составители примечаний и авторы вступительной статьи}% + {ред.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editoranfo = {{редактор, составитель примечаний и автор предисловия}% + {ред.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace предисл\adddot}}, + editorsanfo = {{редакторы, составители примечаний и авторы предисловия}% + {ред.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace предисл\adddot}}, + editoranaf = {{редактор, составитель примечаний и автор послесловия}% + {ред.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace послесл\adddot}}, + editorsanaf = {{редакторы, составители примечаний и авторы послесловия}% + {ред.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace послесл\adddot}}, + editortrcoin = {{редактор, переводчик, автор комментариев и вступительной статьи}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + editorstrcoin = {{редакторы, переводчики, авторы комментариев и вступительной статьи}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + editortrcofo = {{редактор, переводчик, автор комментариев и предисловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + editorstrcofo = {{редакторы, переводчики, авторы комментариев и предисловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + editortrcoaf = {{редактор, переводчик, автор комментариев и послесловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + editorstrcoaf = {{редакторы, переводчики, авторы комментариев и послесловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + editortranin = {{редактор, переводчик, составитель примечаний и автор вступительной статьи}% + {ред.,\addabbrvspace пер.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editorstranin = {{редакторы, переводчики, составители примечаний и авторы вступительной статьи}% + {ред.,\addabbrvspace пер.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + editortranfo = {{редактор, переводчик, составитель примечаний и автор предисловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace предисл\adddot}}, + editorstranfo = {{редакторы, переводчики, составители примечаний и авторы предисловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace предисл\adddot}}, + editortranaf = {{редактор, переводчик, составитель примечаний и автор послесловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace послесл\adddot}}, + editorstranaf = {{редакторы, переводчики, составители примечаний и авторы послесловия}% + {ред.,\addabbrvspace пер.,\addabbrvspace сост\adddotspace примеч\adddotspace и авт\adddotspace послесл\adddot}}, + translatorco = {{переводчик и автор комментариев}% + {пер\adddotspace и авт\adddotspace коммент\adddot}}, + translatorsco = {{переводчики и авторы комментариев}% + {пер\adddotspace и авт\adddotspace коммент\adddot}}, + translatoran = {{переводчик и автор примечаний}% + {пер\adddotspace и сост\adddotspace примеч\adddot}}, + translatorsan = {{переводчики и составители примечаний}% + {пер\adddotspace и сост\adddotspace примеч\adddot}}, + translatorin = {{переводчик и автор вступительной статьи}% + {пер\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + translatorsin = {{переводчики и авторы вступительной статьи}% + {пер\adddotspace и авт\adddotspace вступ\adddotspace ст\adddot}}, + translatorfo = {{переводчик и автор предисловия}% + {пер\adddotspace и авт\adddotspace предисл\adddot}}, + translatorsfo = {{переводчики и авторы предисловия}% + {пер\adddotspace и авт\adddotspace предисл\adddot}}, + translatoraf = {{переводчик и автор послесловия}% + {пер\adddotspace и авт\adddotspace послесл\adddot}}, + translatorsaf = {{переводчики и авторы послесловия}% + {пер\adddotspace и авт\adddotspace послесл\adddot}}, + translatorcoin = {{переводчик, автор комментариев и вступительной статьи}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + translatorscoin = {{переводчики, авторы комментариев и вступительной статьи}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + translatorcofo = {{переводчик, автор комментариев и предисловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + translatorscofo = {{переводчики, авторы комментариев и предисловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + translatorcoaf = {{переводчик, автор комментариев и послесловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + translatorscoaf = {{переводчики, авторы комментариев и послесловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + translatoranin = {{переводчик, автор комментариев и вступительной статьим}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + translatorsanin = {{переводчики, авторы комментариев и вступительной статьи}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + translatoranfo = {{переводчик, автор комментариев и предисловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + translatorsanfo = {{переводчики, авторы комментариев и предисловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и предисл\adddot}}, + translatoranaf = {{переводчик, автор комментариев и послесловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + translatorsanaf = {{переводчики, авторы комментариев и послесловия}% + {пер.,\addabbrvspace авт\adddotspace коммент\adddotspace и послесл\adddot}}, + organizer = {{организатор}{орг\adddot}}, + organizers = {{организаторы}{орг\adddot}}, + byorganizer = {{организатор}{орг\adddot}},% FIXME: unsure + byauthor = {{}{}}, + byeditor = {{под редакцией}{под\addabbrvspace ред\adddot}}, + bycompiler = {{составитель}{сост\adddot}}, + byredactor = {{под редакцией}{под\addabbrvspace ред\adddot}}, + byreviser = {{исправлено}{испр\adddot}}, + byreviewer = {{рецензия}{рец\adddot}}, + byfounder = {{учредитель}{учр\adddot}},% FIXME: unsure + bycontinuator = {{продолжение}{продолж\adddot}},% FIXME: unsure + bycollaborator = {{при участии}{при\addabbrvspace уч\adddot}}, + bytranslator = {{перевод \lbx@lfromlang}{пер\adddot\ \lbx@sfromlang}}, + bycommentator = {{комментарии}{коммент\adddot}}, + byannotator = {{примечания}{примеч\adddot}}, + withcommentator = {{комментарии}{коммент\adddot}}, + withannotator = {{примечания}{примеч\adddot}}, + withintroduction = {{вступительная статья}{вступ\adddotspace ст\adddot}}, + withforeword = {{предисловие}{предисл\adddot}}, + withafterword = {{послесловие}{послесл\adddot}}, + byeditortr = {{перевод \lbx@lfromlang, под редакцией}% + {пер\adddot\ \lbx@sfromlang, под\addabbrvspace ред\adddot}}, + byeditorco = {{под редакцией, комментарии}% + {под ред.,\addabbrvspace коммент\adddot}}, + byeditoran = {{под редакцией, примечания}% + {под ред.,\addabbrvspace примеч\adddot}}, + byeditorin = {{под редакцией, вступительная статья}% + {под ред.,\addabbrvspace вступ\adddotspace ст\adddot}}, + byeditorfo = {{под редакцией, предисловие}% + {под ред.,\addabbrvspace предисл\adddot}}, + byeditoraf = {{под редакцией, послесловие}% + {под ред.,\addabbrvspace послесл\adddot}}, + byeditortrco = {{под редакцией, перевод \lbx@lfromlang\ и комментарии}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang\ и коммент\adddot}}, + byeditortran = {{под редакцией, перевод \lbx@lfromlang\ и примечания}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang\ и примеч\adddot}}, + byeditortrin = {{под редакцией, перевод \lbx@lfromlang, вступительная статья}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, вступ\adddotspace ст\adddot}}, + byeditortrfo = {{под редакцией, перевод \lbx@lfromlang, предисловие}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, предисл\adddot}}, + byeditortraf = {{под редакцией, перевод \lbx@lfromlang, послесловие}% + {под ред\adddotspace и пер\adddot\ \lbx@sfromlang, послесл\adddot}}, + byeditorcoin = {{под редакцией, комментарии и вступительная статья}% + {под ред.,\addabbrvspace коммент\adddotspace и вступ\adddotspace ст\adddot}}, + byeditorcofo = {{под редакцией, комментарии и предисловие}% + {под ред.,\addabbrvspace коммент\adddotspace и предисл\adddot}}, + byeditorcoaf = {{под редакцией, комментарии и послесловие}% + {под ред.,\addabbrvspace коммент\adddotspace и послесл\adddot}}, + byeditoranin = {{под редакцией, примечания и вступительная статья}% + {под ред.,\addabbrvspace примеч\adddotspace и вступ\adddotspace ст\adddot}}, + byeditoranfo = {{под редакцией, примечания и предисловие}% + {под ред.,\addabbrvspace примеч\adddotspace и предисл\adddot}}, + byeditoranaf = {{под редакцией, примечания и послесловие}% + {под ред.,\addabbrvspace примеч\adddotspace и послесл\adddot}}, + byeditortrcoin = {{под редакцией, перевод \lbx@lfromlang, комментарии и вступительная статья}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, коммент\adddotspace и вступ\adddotspace ст\adddot}}, + byeditortrcofo = {{под редакцией, перевод \lbx@lfromlang, комментарии и предисловие}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, коммент\adddotspace и предисл\adddot}}, + byeditortrcoaf = {{под редакцией, перевод \lbx@lfromlang, комментарии и послесловие}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, коммент\adddotspace и послесл\adddot}}, + byeditortranin = {{под редакцией, перевод \lbx@lfromlang, примечания и вступительная статья}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, примеч\adddotspace и вступ\adddotspace ст\adddot}}, + byeditortranfo = {{под редакцией, перевод \lbx@lfromlang, примечания и предисловие}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, примеч\adddotspace и предисл\adddot}}, + byeditortranaf = {{под редакцией, перевод \lbx@lfromlang, примечания и послесловие}% + {под ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, примеч\adddotspace и послесл\adddot}}, + bytranslatorco = {{перевод \lbx@lfromlang\ и комментарии}% + {пер\adddot\ \lbx@sfromlang\ и коммент\adddot}}, + bytranslatoran = {{перевод \lbx@lfromlang\ и примечания}% + {пер\adddot\ \lbx@sfromlang\ и примеч\adddot}}, + bytranslatorin = {{перевод \lbx@lfromlang\ и вступительная статья}% + {пер\adddot\ \lbx@sfromlang\ и вступ\adddotspace ст\adddot}}, + bytranslatorfo = {{перевод \lbx@lfromlang\ и предисловие}% + {пер\adddot\ \lbx@sfromlang\ и предисл\adddot}}, + bytranslatoraf = {{перевод \lbx@lfromlang\ и послесловие}% + {пер\adddot\ \lbx@sfromlang\ и и послесл\adddot}}, + bytranslatorcoin = {{перевод \lbx@lfromlang, комментарии и вступительная статья}% + {пер\adddot\ \lbx@sfromlang, коммент\adddotspace и вступ\adddotspace ст\adddot}}, + bytranslatorcofo = {{перевод \lbx@lfromlang, комментарии и предисловие}% + {пер\adddot\ \lbx@sfromlang, коммент\adddotspace и предисл\adddot}}, + bytranslatorcoaf = {{перевод \lbx@lfromlang, комментарии и послесловие}% + {пер\adddot\ \lbx@sfromlang, коммент\adddotspace и послесл\adddot}}, + bytranslatoranin = {{перевод \lbx@lfromlang, примечания и вступительная статья}% + {пер\adddot\ \lbx@sfromlang, примеч\adddotspace и вступ\adddotspace ст\adddot}}, + bytranslatoranfo = {{перевод \lbx@lfromlang, примечания и предисловие}% + {пер\adddot\ \lbx@sfromlang, примеч\adddotspace и предисл\adddot}}, + bytranslatoranaf = {{перевод \lbx@lfromlang, примечания и послесловие}% + {пер\adddot\ \lbx@sfromlang, примеч\adddotspace и послесл\adddot}}, + and = {{и}{и}}, + andothers = {{и\addabbrvspace др\adddot}{и\addabbrvspace др\adddot}}, + andmore = {{и\addabbrvspace др\adddot}{и\addabbrvspace др\adddot}}, + volume = {{том}{т\adddot}}, + volumes = {{томах}{т\adddot}}, + involumes = {{в}{в}}, + jourvol = {{том}{т\adddot}}, + jourser = {{серия}{сер\adddot}}, + book = {{книга}{кн\adddot}}, + part = {{часть}{ч\adddot}}, + issue = {{выпуск}{вып\adddot}}, + newseries = {{новая серия}{нов\adddotspace сер\adddot}}, + oldseries = {{старая серия}{стар\adddotspace сер\adddot}}, + edition = {{издание}{изд\adddot}}, + reprint = {{переиздание}{переизд\adddot}}, + reprintof = {{переиздание}{переизд\adddot}}, + reprintas = {{переиздано как}{переизд\adddotspace как}}, + reprintfrom = {{переиздано с}{переизд\adddotspace с}}, + translationof = {{перевод по изданию\addcolon}{пер\adddotspace по изд\adddot\addcolon}}, + translationas = {{перевод\addcolon}{пер\adddot\addcolon}}, + translationfrom = {{перевод с}{пер\adddotspace с}}, + reviewof = {{рецензия на\addcolon}{рец\adddotspace на\addcolon}},% FIXME: unsure + origpubas = {{первая публикация\addcolon}% + {перв\adddotspace публ\adddot\addcolon}}, + origpubin = {{первая публикация в}% + {перв\adddotspace публ\adddotspace в}}, + astitle = {{\addcolon}{\addcolon}},% FIXME: unsure + bypublisher = {{\addcomma}{\addcomma}},% FIXME: unsure + nodate = {{б\adddot г\adddot}{б\adddot г\adddot}}, + page = {{страница}{с\adddot}}, + pages = {{страницы}{с\adddot}}, + column = {{колонка}{кол\adddot}}, + columns = {{колонки}{кол\adddot}}, + line = {{строка}{строка}}, + lines = {{строки}{строка}}, + verse = {{стих}{стих}}, + verses = {{стихи}{стихи}}, + section = {{параграф}{\S}}, + sections = {{параграфы}{\S\S}}, + paragraph = {{абзац}{абз\adddot}}, + paragraphs = {{абзацы}{абз\adddot}}, + pagetotal = {{страница}{с\adddot}}, + pagetotals = {{страницы}{с\adddot}}, + columntotal = {{колонка}{кол\adddot}}, + columntotals = {{колонки}{кол\adddot}}, + linetotal = {{строка}{строка}}, + linetotals = {{строки}{строка}}, + versetotal = {{стих}{стих}}, + versetotals = {{стихи}{стихи}}, + sectiontotal = {{параграф}{\S}}, + sectiontotals = {{параграфы}{\S\S}}, + paragraphtotal = {{абзац}{абз\adddot}}, + paragraphtotals = {{абзацы}{абз\adddot}}, + in = {{в}{в}}, + inseries = {{в}{в}}, + ofseries = {{из}{из}}, + number = {{номер}{№}}, + chapter = {{глава}{гл\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{дис\adddotspace\textellipsis\ маг\adddot} + {дис\adddotspace\textellipsis\ маг\adddot}}, + phdthesis = {{дис\adddotspace\textellipsis\ док\adddot} + {дис\adddotspace\textellipsis\ док\adddot}}, + candthesis = {{дис\adddotspace\textellipsis\ канд\adddot} + {дис\adddotspace\textellipsis\ канд\adddot}}, + resreport = {{научный отчёт}{науч\adddotspace отч\adddot}}, + techreport = {{технический отчёт}{тех\adddotspace отч\adddot}}, + software = {{программное обеспечение}{прогр\adddotspace обесп\adddot}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{версия}{вер\adddot}}, + url = {{url}{url}}, + urlfrom = {{режим доступа}{режим доступа}}, + urlseen = {{дата обращения}{дата\addabbrvspace обр\adddot}}, + inpreparation = {{в\addabbrvspace подготовке}{в подг\adddot}}, + submitted = {{представлено}{предст\adddot}}, + forthcoming = {{в печати}{в печ\adddot}}, + inpress = {{в\addabbrvspace печати}{в печ\adddot}}, + prepublished = {{предварительная публикация}{пред\adddotspace пуб\adddot}},% FIXME: unsure + citedas = {{далее цитируется как}{далее цит\addabbrvspace как}}, + thiscite = {{здесь}{здесь}}, + seenote = {{смотри сноску}{см\adddotspace сн\adddot}}, + quotedin = {{цитируется по}{цит\adddotspace по}}, + idem = {{он\addabbrvspace же}{он\addabbrvspace же}}, + idemsm = {{он\addabbrvspace же}{он\addabbrvspace же}}, + idemsf = {{она\addabbrvspace же}{она\addabbrvspace же}}, + idemsn = {{он\addabbrvspace же}{он\addabbrvspace же}}, + idempm = {{они\addabbrvspace же}{они\addabbrvspace же}}, + idempf = {{они\addabbrvspace же}{они\addabbrvspace же}}, + idempn = {{они\addabbrvspace же}{они\addabbrvspace же}}, + idempp = {{они\addabbrvspace же}{они\addabbrvspace же}}, + ibidem = {{там\addabbrvspace же}{там\addabbrvspace же}}, + opcit = {{указ\adddotspace соч\adddot}{указ\adddotspace соч\adddot}}, + loccit = {{указ\adddotspace место}{указ\adddotspace место}}, + confer = {{сравни}{ср\adddot}}, + sequens = {{и следующая}{и\addabbrvspace сл\adddot}}, + sequentes = {{и следующие}{и\addabbrvspace сл\adddot}}, + passim = {{всюду}{всюду}}, + see = {{смотри}{см\adddot}}, + seealso = {{смотри также}{см\adddotspace также}}, + backrefpage = {{цитируется на странице}{цит\adddotspace на\addabbrvspace с\adddot}}, + backrefpages = {{цитируется на страницах}{цит\adddotspace на\addabbrvspace с\adddot}}, + january = {{январь}{янв\adddot}}, + february = {{февраль}{февр\adddot}}, + march = {{март}{март}}, + april = {{апрель}{апр\adddot}}, + may = {{май}{май}}, + june = {{июнь}{июнь}}, + july = {{июль}{июль}}, + august = {{август}{авг\adddot}}, + september = {{сентябрь}{сент\adddot}}, + october = {{октябрь}{окт\adddot}}, + november = {{ноябрь}{нояб\adddot}}, + december = {{декабрь}{дек\adddot}}, + datejanuary = {{января}{янв\adddot}}, + datefebruary = {{февраля}{февр\adddot}}, + datemarch = {{марта}{марта}}, + dateapril = {{апреля}{апр\adddot}}, + datemay = {{мая}{мая}}, + datejune = {{июня}{июня}}, + datejuly = {{июля}{июля}}, + dateaugust = {{августа}{авг\adddot}}, + dateseptember = {{сентября}{сент\adddot}}, + dateoctober = {{октября}{окт\adddot}}, + datenovember = {{ноября}{нояб\adddot}}, + datedecember = {{декабря}{дек\adddot}}, + langamerican = {{американский}{амер\adddot}}, + langbrazilian = {{бразильский}{браз\adddot}}, + langbulgarian = {{болгарский}{болг\adddot}}, + langcatalan = {{каталонский}{катал\adddot}}, + langcroatian = {{хорватский}{хорв\adddot}}, + langczech = {{чешский}{чеш\adddot}}, + langdanish = {{датский}{дат\adddot}}, + langdutch = {{нидерландский}{нидерл\adddot}}, + langenglish = {{английский}{англ\adddot}}, + langestonian = {{эстонский}{эст\adddot}}, + langfinnish = {{финский}{фин\adddot}}, + langfrench = {{французский}{фр\adddot}}, + langgalician = {{галисийский}{гал\adddot}}, + langgerman = {{немецкий}{нем\adddot}}, + langgreek = {{греческий}{греч\adddot}}, + langhungarian = {{венгерский}{венг\adddot}}, + langitalian = {{итальянский}{итал\adddot}}, + langjapanese = {{японский}{яп\adddot}}, + langlatin = {{латинский}{лат\adddot}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{норвежский}{норв\adddot}}, + langpolish = {{польский}{пол\adddot}}, + langportuguese = {{португальский}{порт\adddot}}, + langrussian = {{русский}{рус\adddot}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{словенский}{слов\adddot}}, + langspanish = {{испанский}{исп\adddot}}, + langswedish = {{шведский}{швед\adddot}}, + langukrainian = {{украинский}{укр\adddot}}, + fromamerican = {{с американского}{с\addabbrvspace амер\adddot}}, + frombrazilian = {{с бразильского}{с\addabbrvspace браз\adddot}}, + frombulgarian = {{с болгарского}{с\addabbrvspace болг\adddot}}, + fromcatalan = {{с каталонского}{с\addabbrvspace катал\adddot}}, + fromcroatian = {{с хорватского}{с\addabbrvspace хорв\adddot}}, + fromczech = {{с чешского}{с\addabbrvspace чеш\adddot}}, + fromdanish = {{с датского}{с\addabbrvspace дат\adddot}}, + fromdutch = {{с нидерландского}{с\addabbrvspace нидерл\adddot}}, + fromenglish = {{с английского}{с\addabbrvspace англ\adddot}}, + fromestonian = {{с эстонского}{с\addabbrvspace эст\adddot}}, + fromfinnish = {{с финского}{с\addabbrvspace фин\adddot}}, + fromfrench = {{с французского}{с\addabbrvspace фр\adddot}}, + fromgalician = {{c галисийского}{c\addabbrvspace гал\adddot}}, + fromgerman = {{с немецкого}{с\addabbrvspace нем\adddot}}, + fromgreek = {{с греческого}{с\addabbrvspace греч\adddot}}, + fromhungarian = {{с венгерского}{с\addabbrvspace венг\adddot}}, + fromitalian = {{с итальянского}{с\addabbrvspace итал\adddot}}, + fromjapanese = {{с японского}{с\addabbrvspace яп\adddot}}, + fromlatin = {{с латинского}{с\addabbrvspace лат\adddot}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{с норвежского}{с\addabbrvspace норв\adddot}}, + frompolish = {{с польского}{с пол\adddot}}, + fromportuguese = {{с португальского}{с\addabbrvspace порт\adddot}}, + fromrussian = {{с русского}{с\addabbrvspace рус\adddot}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{со словенского}{со\addabbrvspace слов\adddot}}, + fromspanish = {{с испанского}{с\addabbrvspace исп\adddot}}, + fromswedish = {{со шведского}{со\addabbrvspace швед\adddot}}, + fromukrainian = {{с украинского}{с\addabbrvspace укр\adddot}}, + countryde = {{Германия}{Германия}}, + countryeu = {{Европейский Союз}{ЕС}}, + countryep = {{Европейский Союз}{ЕС}}, + countryfr = {{Франция}{Франция}}, + countryuk = {{Великобритания}{Великобритания}}, + countryus = {{Соединённые Штаты Америки}{США}}, + patent = {{патент}{пат\adddot}}, + patentde = {{патент Германии}{пат\adddotspace Германии}}, + patenteu = {{патент Европы}{пат\adddotspace Европы}}, + patentfr = {{патент Франции}{пат\adddotspace Франции}}, + patentuk = {{патент Великобритании}{пат\adddotspace Великобритании}}, + patentus = {{патент США}{пат\adddotspace США}}, + patreq = {{заявка}{заявка}}, + patreqde = {{заявка на патент Германии}{заявка на пат\adddotspace Германии}}, + patreqeu = {{заявка на патент Европы}{заявка на пат\adddotspace Европы}}, + patreqfr = {{заявка на патент Франции}{заявка на пат\adddotspace Франции}}, + patrequk = {{заявка на патент Великобритании}{заявка на пат\adddotspace Великобритании}}, + patrequs = {{заявка на патент США}{заявка на пат\adddotspace США}}, + file = {{файл}{файл}}, + library = {{библиотека}{б-ка}}, + abstract = {{резюме}{рез\adddot}}, + annotation = {{аннотация}{аннот\adddot}}, + commonera = {{нашей эры}{н\adddotspace э\adddot}}, + beforecommonera = {{до нашей эры}{до н\adddotspace э\adddot}}, + annodomini = {{от Рождества Христова}{от Р\adddotspace Х\adddot}}, + beforechrist = {{до Рождества Христова}{до Р\adddotspace Х\adddot}}, + circa = {{около}{ок\adddot}}, + spring = {{весна}{весна}}, + summer = {{лето}{лето}}, + autumn = {{осень}{осень}}, + winter = {{зима}{зима}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{ДП}{ДП}}, + pm = {{ПП}{ПП}}, +} + +\protected\gdef\lbx@ru@mkbibdatemonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{datejanuary}% + \or\abx@bibmonth{datefebruary}% + \or\abx@bibmonth{datemarch}% + \or\abx@bibmonth{dateapril}% + \or\abx@bibmonth{datemay}% + \or\abx@bibmonth{datejune}% + \or\abx@bibmonth{datejuly}% + \or\abx@bibmonth{dateaugust}% + \or\abx@bibmonth{dateseptember}% + \or\abx@bibmonth{dateoctober}% + \or\abx@bibmonth{datenovember}% + \or\abx@bibmonth{datedecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/serbian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/serbian-ms.lbx new file mode 100644 index 00000000000..95d34865430 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/serbian-ms.lbx @@ -0,0 +1,457 @@ +\ProvidesFile{serbian-ms.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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\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}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + 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-ms/lbx/serbianc-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/serbianc-ms.lbx new file mode 100644 index 00000000000..699d8033cf0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/serbianc-ms.lbx @@ -0,0 +1,466 @@ +\ProvidesFile{serbianc-ms.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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\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 = {{јесен}{јесен}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + 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-ms/lbx/slovak-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovak-ms.lbx new file mode 100644 index 00000000000..6c711db87df --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovak-ms.lbx @@ -0,0 +1,554 @@ +\ProvidesFile{slovak-ms.lbx} +[\abx@lbxid] + +\DeclareBibliographyExtras{% + \DeclareCapitalPunctuation{.!?}% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \protected\def\bibdatedash{% + \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} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\thinspace}}% + \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}}\adddot + \iffieldundef{#2}{}{\thinspace}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1} + {} + {\iffieldundef{#3}{/}{\adddot\thinspace}}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\DeclareBibliographyStrings{% + 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}% + {ed\adddotspace a prekl\adddot}}, + editorco = {{editor a koment\'{a}tor}% + {ed\adddotspace a kom\adddot}}, + editorsco = {{editori a koment\'{a}tori}% + {ed\adddotspace a kom\adddot}}, + editoran = {{editor a anot\'{a}tor}% + {ed\adddotspace a anot\adddot}}, + editorsan = {{editori a anot\'{a}tori}% + {ed\adddotspace a anot\adddot}}, + editorin = {{editor a \'{u}vod}% + {ed\adddotspace a \'{u}v\adddot}}, + editorsin = {{editori a \'{u}vod}% + {ed\adddotspace a \'{u}v\adddot}}, + editorfo = {{editor a predhovor}% + {ed\adddotspace a predh\adddot}}, + editorsfo = {{editori a predhovor}% + {ed\adddotspace a predh\adddot}}, + editoraf = {{editor a doslov}% + {ed\adddotspace a dosl\adddot}}, + editorsaf = {{editori a doslov}% + {ed\adddotspace a dosl\adddot}}, + editortrco = {{editor, prekladate\v{l}\ a koment\'{a}tor}% + {ed.,\addabbrvspace prekl\adddot\ a kom\adddot}}, + editorstrco = {{editori, prekladatelia\ a koment\'{a}tori}% + {ed.,\addabbrvspace prekl\adddot\ a kom\adddot}}, + editortran = {{editor, prekladate\v{l}\ a anot\'{a}tor}% + {ed.,\addabbrvspace prekl\adddot\ a anot\adddot}}, + editorstran = {{editori, prekladatelia\ a anot\'{a}tori}% + {ed.,\addabbrvspace prekl\adddot\ a anot\adddot}}, + editortrin = {{editor, prekladate\v{l}\ a \'{u}vod}% + {ed.,\addabbrvspace prekl\adddot\ a \'{u}v\adddot}}, + editorstrin = {{editori, prekladatelia\ a \'{u}vod}% + {ed.,\addabbrvspace prekl\adddot\ a \'{u}v\adddot}}, + editortrfo = {{editor, prekladate\v{l}\ a predhovor}% + {ed.,\addabbrvspace prekl\adddot\ a predh\adddot}}, + editorstrfo = {{editori, prekladatelia\ a predhovor}% + {ed.,\addabbrvspace prekl\adddot\ a predh\adddot}}, + editortraf = {{editor, prekladate\v{l}\ a doslov}% + {ed.,\addabbrvspace prekl\adddot\ a dosl\adddot}}, + editorstraf = {{editori, prekladatelia\ a doslov}% + {ed.,\addabbrvspace prekl\adddot\ a dosl\adddot}}, + editorcoin = {{editor, koment\'{a}tor\ a \'{u}vod}% + {ed.,\addabbrvspace kom\adddot\ a \'{u}v\adddot}}, + editorscoin = {{editori, koment\'{a}tori\ a \'{u}vod}% + {ed.,\addabbrvspace kom\adddot\ a \'{u}v\adddot}}, + editorcofo = {{editor, koment\'{a}tor\ a predhovor}% + {ed.,\addabbrvspace kom\adddot\ a predh\adddot}}, + editorscofo = {{editori, koment\'{a}tori\ a predhovor}% + {ed.,\addabbrvspace kom\adddot\ a predh\adddot}}, + editorcoaf = {{editor, koment\'{a}tor\ a doslov}% + {ed.,\addabbrvspace kom\adddot\ a dosl\adddot}}, + editorscoaf = {{editori, koment\'{a}tori\ a doslov}% + {ed.,\addabbrvspace kom\adddot\ a dosl\adddot}}, + editoranin = {{editor, anot\'{a}tor\ a \'{u}vod}% + {ed.,\addabbrvspace anot\adddot\ a \'{u}v\adddot}}, + editorsanin = {{editori, anot\'{a}tori\ a \'{u}vod}% + {ed.,\addabbrvspace anot\adddot\ a \'{u}v\adddot}}, + editoranfo = {{editor, anot\'{a}tor\ a predhovor}% + {ed.,\addabbrvspace anot\adddot\ a predh\adddot}}, + editorsanfo = {{editori, anot\'{a}tori\ a predhovor}% + {ed.,\addabbrvspace anot\adddot\ a predh\adddot}}, + editoranaf = {{editor, anot\'{a}tor\ a doslov}% + {ed.,\addabbrvspace anot\adddot\ a dosl\adddot}}, + editorsanaf = {{editori, anot\'{a}tori\ a doslov}% + {ed.,\addabbrvspace anot\adddot\ a dosl\adddot}}, + editortrcoin = {{editor, prekladate\v{l}, koment\'{a}tor\ a \'{u}vod}% + {ed.,\addabbrvspace prekl., kom\adddot\ a \'{u}v\adddot}}, + editorstrcoin = {{editori, prekladatelia, koment\'{a}tori\ a \'{u}vod}% + {ed.,\addabbrvspace prekl., kom\adddot\ a \'{u}v\adddot}}, + editortrcofo = {{editor, prekladate\v{l}, koment\'{a}tor\ a predhovor}% + {ed.,\addabbrvspace prekl., kom\adddot\ a predh\adddot}}, + editorstrcofo = {{editori, prekladatelia, koment\'{a}tori\ a predhovor}% + {ed.,\addabbrvspace prekl., kom\adddot\ a predh\adddot}}, + editortrcoaf = {{editor, prekladate\v{l}, koment\'{a}tor\ a doslov}% + {ed.,\addabbrvspace prekl., kom\adddot\ a dosl\adddot}}, + editorstrcoaf = {{editori, prekladatelia, koment\'{a}tori\ a doslov}% + {ed.,\addabbrvspace prekl., kom\adddot\ a dosl\adddot}}, + editortranin = {{editor, prekladate\v{l}, anot\'{a}tor\ a \'{u}vod}% + {ed.,\addabbrvspace prekl., anot\adddot\ a \'{u}v\adddot}}, + editorstranin = {{editori, prekladatelia, anot\'{a}tori\ a \'{u}vod}% + {ed.,\addabbrvspace prekl., anot\adddot\ a \'{u}v\adddot}}, + editortranfo = {{editor, prekladate\v{l}, anot\'{a}tor\ a predhovor}% + {ed.,\addabbrvspace prekl., anot\adddot\ a predh\adddot}}, + editorstranfo = {{editori, prekladatelia, anot\'{a}tori\ a predhovor}% + {ed.,\addabbrvspace prekl., anot\adddot\ a predh\adddot}}, + editortranaf = {{editor, prekladate\v{l}, anot\'{a}tor\ a doslov}% + {ed.,\addabbrvspace prekl., anot\adddot\ a dosl\adddot}}, + editorstranaf = {{editori, prekladatelia, anot\'{a}tori\ a doslov}% + {ed.,\addabbrvspace prekl., anot\adddot\ a dosl\adddot}}, + translatorco = {{prekladate\v{l} a koment\'{a}tor}% + {prekl\adddot\ a kom\adddot}}, + translatorsco = {{prekladatelia a koment\'{a}tori}% + {prekl\adddot\ a kom\adddot}}, + translatoran = {{prekladate\v{l} a anot\'{a}tor}% + {prekl\adddot\ a anot\adddot}}, + translatorsan = {{prekladatelia a anot\'{a}tori}% + {prekl\adddot\ a anot\adddot}}, + translatorin = {{preklad a \'{u}vod}% + {prekl\adddot\ a \'{u}v\adddot}}, + translatorsin = {{preklad a \'{u}vod}% + {prekl\adddot\ a \'{u}v\adddot}}, + translatorfo = {{preklad a predhovor}% + {prekl\adddot\ a predh\adddot}}, + translatorsfo = {{preklad a predhovor}% + {prekl\adddot\ a predh\adddot}}, + translatoraf = {{preklad a doslov}% + {prekl\adddot\ a dosl\adddot}}, + translatorsaf = {{preklad a doslov}% + {prekl\adddot\ a dosl\adddot}}, + translatorcoin = {{preklad, koment\'{a}r\ a \'{u}vod}% + {prekl., kom\adddot\ a \'{u}v\adddot}}, + translatorscoin = {{preklad, koment\'{a}r\ a \'{u}vod}% + {prekl., kom\adddot\ a \'{u}v\adddot}}, + translatorcofo = {{preklad, koment\'{a}r\ a predhovor}% + {prekl., kom\adddot\ a predh\adddot}}, + translatorscofo = {{preklad, koment\'{a}r\ a predhovor}% + {prekl., kom\adddot\ a predh\adddot}}, + translatorcoaf = {{preklad, koment\'{a}r\ a doslov}% + {prekl., kom\adddot\ a dosl\adddot}}, + translatorscoaf = {{preklad, koment\'{a}r\ a doslov}% + {prekl., kom\adddot\ a dosl\adddot}}, + translatoranin = {{preklad, anot\'{a}cia\ a \'{u}vod}% + {prekl., anot\adddot\ a \'{u}v\adddot}}, + translatorsanin = {{preklad, anot\'{a}cie\ a \'{u}vod}% + {prekl., anot\adddot\ a \'{u}v\adddot}}, + translatoranfo = {{preklad, anot\'{a}cia\ a predhovor}% + {prekl., anot\adddot\ a predh\adddot}}, + translatorsanfo = {{preklad, anot\'{a}cie\ a predhovor}% + {prekl., anot\adddot\ a predh\adddot}}, + translatoranaf = {{preklad, anot\'{a}cia\ a doslov}% + {prekl., anot\adddot\ a dosl\adddot}}, + translatorsanaf = {{preklad, anot\'{a}cie\ a doslov}% + {prekl., anot\adddot\ a dosl\adddot}}, + 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}}, + byeditoran = {{editovan\'{e} a anotovan\'{e}}% + {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\adddot}}, + byeditoraf = {{editovan\'{e}, s\addnbspace doslovom}% + {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}}, + byeditortran = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}}% + {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 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}% + {ed\adddotspace a kom., s\addnbspace predh\adddot}}, + byeditorcoaf = {{editovan\'{e} a komentovan\'{e}, s\addnbspace doslovom}% + {ed\adddotspace a kom., s\addnbspace dosl\adddot}}, + byeditoranin = {{editovan\'{e} a anotovan\'{e}, s\addnbspace \'{u}vodom}% + {ed\adddotspace a anot., s\addnbspace \'{u}v\adddot}}, + byeditoranfo = {{editovan\'{e} a anotovan\'{e}, s\addnbspace predhovorom}% + {ed\adddotspace a anot., s\addnbspace predh\adddot}}, + byeditoranaf = {{editovan\'{e} a anotovan\'{e}, s\addnbspace doslovom}% + {ed\adddotspace a anot., s\addnbspace dosl\adddot}}, + byeditortrcoin = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}, s\addnbspace \'{u}vodom}% + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom., s\addnbspace \'{u}v\adddot}}, + byeditortrcofo = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}, s\addnbspace predhovorom}% + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom., s\addnbspace predh\adddot}}, + byeditortrcoaf = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}, s\addnbspace doslovom}% + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom., s\addnbspace dosl\adddot}}, + byeditortranin = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace \'{u}vodom}% + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot, s\addnbspace \'{u}v\adddot}}, + byeditortranfo = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace predhovorom}% + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot, s\addnbspace predh\adddot}}, + byeditortranaf = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace doslovom}% + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot, s\addnbspace dosl\adddot}}, + bytranslatorco = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}}% + {prel\adddot\ \lbx@sfromlang\ a kom\adddot}}, + bytranslatoran = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}}% + {prel\adddot\ \lbx@sfromlang\ a anot\adddot}}, + bytranslatorin = {{prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace \'{u}vodom}% + {prel\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}}, + bytranslatorfo = {{prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace predhovorom}% + {prel\adddot\ \lbx@sfromlang, s\addnbspace predh\adddot}}, + bytranslatoraf = {{prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace doslovom}% + {prel\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}}, + bytranslatorcoin = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}, s\addnbspace \'{u}vodom}% + {prel\adddot\ \lbx@sfromlang\ a kom., s\addnbspace \'{u}v\adddot}}, + bytranslatorcofo = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}, s\addnbspace predhovorom}% + {prel\adddot\ \lbx@sfromlang\ a kom., s\addnbspace predh\adddot}}, + bytranslatorcoaf = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}, s\addnbspace doslovom}% + {prel\adddot\ \lbx@sfromlang\ a kom., s\addnbspace dosl\adddot}}, + bytranslatoranin = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace \'{u}vodom}% + {prel\adddot\ \lbx@sfromlang\ a anot., s\addnbspace \'{u}v\adddot}}, + bytranslatoranfo = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace predhovorom}% + {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 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}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{AM}{AM}}, + pm = {{PM}{PM}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovene-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovene-ms.lbx new file mode 100644 index 00000000000..916f20dcd37 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovene-ms.lbx @@ -0,0 +1,553 @@ +\ProvidesFile{slovene-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{slovene}{slovene,slovenian} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}% + \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} + {} + {\mkbibordinal{\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} + {} + {\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\addnbthinspace}}% + \iffieldundef{#2} + {} + {\mkbibordinal{\thefield{#2}}% + \iffieldundef{#1}{}{\addnbthinspace}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibordinal}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Literatura}{Literatura}}, + references = {{Literatura}{Literatura}}, + shorthands = {{Kratice}{Kratice}}, + editor = {{urednik}{ur\adddot}}, + editors = {{uredniki}{ur\adddot}}, + compiler = {{sestavljalec}{sest\adddot}}, + compilers = {{sestavljalci}{sest\adddot}}, + redactor = {{redaktor}{redaktor}}, + redactors = {{redaktorji}{redaktorji}}, + reviser = {{korektor}{korektor}}, + revisers = {{korektorji}{korektorji}}, + founder = {{snovalec}{snovalec}}, + founders = {{snovalci}{snovalci}}, + continuator = {{nadaljevalec}{nadaljevalec}}, + continuators = {{nadaljevalci}{nadaljevalci}}, + collaborator = {{sodelavec}{sod\adddot}}, + collaborators = {{sodelavci}{sod\adddot}}, + translator = {{prevajalec}{prev\adddot}}, + translators = {{prevajalci}{prev\adddot}}, + commentator = {{komentator}{komentator}}, + commentators = {{komentatorji}{komentatorji}}, + annotator = {{anotator}{anotator}}, + annotators = {{anotatorji}{anotatorji}}, + commentary = {{komentar}{komentar}}, + annotations = {{opombe}{op\adddot}}, + introduction = {{uvod}{uvod}}, + foreword = {{predgovor}{predg\adddot}}, + afterword = {{spremna beseda}{spr\adddotspace b\adddot}}, + editortr = {{urednik in prevajalec}% + {ur\adddotspace in prev\adddot}}, + editorstr = {{uredniki in prevajalci}% + {ur\adddotspace and prev\adddot}}, + editorco = {{urednik in komentator}% + {ur\adddotspace in komentator}}, + editorsco = {{uredniki in komentatorji}% + {ur\adddotspace in komentatorji}}, + editoran = {{urednik in anotator}% + {ur\adddotspace in anotator}}, + editorsan = {{uredniki in anotatorji}% + {ur\adddotspace in anotatorji}}, + editorin = {{urednik in avtor uvoda}% + {ur\adddotspace in avt\adddotspace uvoda}}, + editorsin = {{uredniki in avtorji uvoda}% + {ur\adddotspace in avt\adddotspace uvoda}}, + editorfo = {{urednik in avtor predgovora}% + {ur\adddotspace in avt\adddotspace predg\adddot}}, + editorsfo = {{uredniki in avtorji predgovora}% + {ur\adddotspace in avt\adddotspace predg\adddot}}, + editoraf = {{urednik in avtor spremne besede}% + {ur\adddotspace in avt\adddotspace spr\adddotspace b\adddot}}, + editorsaf = {{uredniki in avtorji spremne besede}% + {ur\adddotspace in avt\adddotspace spr\adddotspace b\adddot}}, + editortrco = {{urednik, prevajalec in komentator}% + {ur\adddotspace, prev\adddotspace in komentator}}, + editorstrco = {{uredniki, prevajalci in komentatorji}% + {ur\adddotspace, prev\adddotspace in komentatorji}}, + editortran = {{urednik, prevajalec in anotator}% + {ur\adddotspace, prev\adddotspace in anotator}}, + editorstran = {{uredniki, prevajalci in anotatorji}% + {ur\adddotspace, prev\adddotspace in anotatorji}}, + editortrin = {{urednik, prevajalec in avtor uvoda}% + {ur\adddotspace, prev\adddotspace in avt\adddotspace uvoda}}, + editorstrin = {{uredniki, prevajalci in avtorji uvoda}% + {ur\adddotspace, prev\adddotspace in avt\adddotspace uvoda}}, + editortrfo = {{urednik, prevajalec in avtor predgovora}% + {ur\adddotspace, prev\adddotspace in avt\adddotspace predg\adddot}}, + editorstrfo = {{uredniki, prevajalci in avtorji predgovora}% + {ur\adddotspace, prev\adddotspace in avt\adddotspace predg\adddot}}, + editortraf = {{urednik, prevajalec in avtor spremne besede}% + {ur\adddotspace, prev\adddotspace in avt\adddotspace spr\adddotspace b\adddot}}, + editorstraf = {{uredniki, prevajalci in avtorji spremne besede}% + {ur\adddotspace, prev\adddotspace in avt\adddotspace spr\adddotspace b\adddot}}, + editorcoin = {{urednik, komentator in avtor uvoda}% + {ur\adddotspace, komentator in avt\adddotspace uvoda}}, + editorscoin = {{uredniki, komentatorji in avtorji uvoda}% + {ur\adddotspace, komentatorji in avt\adddotspace uvoda}}, + editorcofo = {{urednik, komentator in avtor predgovora}% + {ur\adddotspace, komentator in avt\adddotspace predg\adddot}}, + editorscofo = {{uredniki, komentatorji in avtorji predgovora}% + {ur\adddotspace, komentatorji in avt\adddotspace predg\adddot}}, + editorcoaf = {{urednik, komentator in avtor spremne besede}% + {ur\adddotspace, komentator in avt\adddotspace spr\adddotspace b\adddot}}, + editorscoaf = {{uredniki, komentatorji in avtorji spremne besede}% + {ur\adddotspace, komentatorji in avt\adddotspace spr\adddotspace b\adddot}}, + editoranin = {{urednik, anotator in avtor uvoda}% + {ur\adddotspace, anotator in avt\adddotspace uvoda}}, + editorsanin = {{uredniki, anotatorji in avtorji uvoda}% + {ur\adddotspace, anotatorji in avt\adddotspace uvoda}}, + editoranfo = {{urednik, anotator in avtor predgovora}% + {ur\adddotspace, anotator in avt\adddotspace predg\adddot}}, + editorsanfo = {{uredniki, anotatorji in avtorji predgovora}% + {ur\adddotspace, anotatorji in avt\adddotspace predg\adddot}}, + editoranaf = {{urednik, anotator in avtor spremne besede}% + {ur\adddotspace, anotator in avt\adddotspace spr\adddotspace b\adddot}}, + editorsanaf = {{uredniki, anotatorji in avtorji spremne besede}% + {ur\adddotspace, anotatorji in avt\adddotspace spr\adddotspace b\adddot}}, + editortrcoin = {{urednik, prevajalec, komentator in avtor uvoda}% + {ur\adddotspace, prev\adddotspace, komentator in avt\adddotspace uvoda}}, + editorstrcoin = {{uredniki, prevajalci, komentatorji in avtorji uvoda}% + {ur\adddotspace, prev\adddotspace, komentatorji in avt\adddotspace uvoda}}, + editortrcofo = {{urednik, prevajalec, komentator in avtor predgovora}% + {ur\adddotspace, prev\adddotspace, komentator in avt\adddotspace predg\adddot}}, + editorstrcofo = {{uredniki, prevajalci, komentatorji in avtorji predgovora}% + {ur\adddotspace, prev\adddotspace, komentatorji in avt\adddotspace predg\adddot}}, + editortrcoaf = {{urednik, prevajalec, komentator in avtor spremne besede}% + {ur\adddotspace, prev\adddotspace, komentator in avt\adddotspace spr\adddotspace b\adddot}}, + editorstrcoaf = {{uredniki, prevajalci, komentatorji in avtorji spremne besede}% + {ur\adddotspace, prev\adddotspace, komentatorji in avt\adddotspace spr\adddotspace b\adddot}}, + editortranin = {{urednik, prevajalec, anotator in avtor uvoda}% + {ur\adddotspace, prev\adddotspace, anotator in avt\adddotspace uvoda}}, + editorstranin = {{uredniki, prevajalci, anotatorji in avtorji uvoda}% + {ur\adddotspace, prev\adddotspace, anotatorji in avt\adddotspace uvoda}}, + editortranfo = {{urednik, prevajalec, anotator in avtor predgovora}% + {ur\adddotspace, prev\adddotspace, anotator in avt\adddotspace predg\adddot}}, + editorstranfo = {{uredniki, prevajalci, anotatorji in avtorji predgovora}% + {ur\adddotspace, prev\adddotspace, anotatorji in avt\adddotspace predg\adddot}}, + editortranaf = {{urednik, prevajalec, anotator in avtor spremne besede}% + {ur\adddotspace, prev\adddotspace, anotator in avt\adddotspace spr\adddotspace b\adddot}}, + editorstranaf = {{uredniki, prevajalci, anotatorji in avtorji spremne besede}% + {ur\adddotspace, prev\adddotspace, anotatorji in avt\adddotspace spr\adddotspace b\adddot}}, + translatorco = {{prevajalec in komentator}% + {prev\adddotspace in komentator}}, + translatorsco = {{prevajalci in komentatorji}% + {prev\adddotspace in komentatorji}}, + translatoran = {{prevajalec in anotator}% + {prev\adddotspace in anotator}}, + translatorsan = {{prevajalci in anotatorji}% + {prev\adddotspace in anotatorji}}, + translatorin = {{avtor prevoda in uvoda}% + {avt\adddotspace prev\adddotspace in uvoda}}, + translatorsin = {{avtorji prevoda in uvoda}% + {avt\adddotspace prev\adddotspace in uvoda}}, + translatorfo = {{avtor prevoda in predgovora}% + {avt\adddotspace prev\adddotspace in predg\adddot}}, + translatorsfo = {{avtorji prevoda in predgovora}% + {avt\adddotspace prev\adddotspace in predg\adddot}}, + translatoraf = {{avtor prevoda in spremne besede}% + {avt\adddotspace prev\adddotspace in spr\adddotspace b\adddot}}, + translatorsaf = {{avtorji prevoda in spremne besede}% + {avt\adddotspace prev\adddotspace in spr\adddotspace b\adddot}}, + translatorcoin = {{avtor prevoda, komentarja in uvoda}% + {avt\adddotspace prev\adddotspace, komentarja in uvoda}}, + translatorscoin = {{avtorji prevoda, komentarja in uvoda}% + {avt\adddotspace prev\adddotspace, komentarja in uvoda}}, + translatorcofo = {{avtor prevoda, komentarja in predgovora}% + {avt\adddotspace prev\adddotspace, komentarja in predg\adddot}}, + translatorscofo = {{avtorji prevoda, komentarja in predgovora}% + {avt\adddotspace prev\adddotspace, komentarja in predg\adddot}}, + translatorcoaf = {{avtor prevoda, komentarja in spremne besede}% + {avt\adddotspace prev\adddotspace, komentarja in spr\adddotspace b\adddot}}, + translatorscoaf = {{avtorji prevoda, komentarja in spremne besede}% + {avt\adddotspace prev\adddotspace, komentarja in spr\adddotspace b\adddot}}, + translatoranin = {{avtor prevoda, opomb in uvoda}% + {avt\adddotspace prev\adddotspace, opomb in uvoda}}, + translatorsanin = {{avtorji prevoda, opomb in uvoda}% + {avt\adddotspace prev\adddotspace, opomb in uvoda}}, + translatoranfo = {{avtor prevoda, opomb in predgovora}% + {avt\adddotspace prev\adddotspace, opomb in predg\adddot}}, + translatorsanfo = {{avtorji prevoda, opomb in predgovora}% + {avt\adddotspace prev\adddotspace, opomb in predg\adddot}}, + translatoranaf = {{avtor prevoda, opomb in spremne besede}% + {avt\adddotspace prev\adddotspace, opomb in spr\adddotspace b\adddot}}, + translatorsanaf = {{avtorji prevoda, opomb in spremne besede}% + {avt\adddotspace prev\adddotspace, opomb in spr\adddotspace b\adddot}}, +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{}{}}, + byeditor = {{uredil}{ur\adddot}},% FIXME: unsure + bycompiler = {{sestavil}{sest\adddot}},% FIXME: unsure + byredactor = {{oblikoval}{oblik\adddot}},% FIXME: unsure + byreviser = {{koregiral}{koregiral}},% FIXME: unsure + byreviewer = {{recenziral}{recenziral}},% FIXME: unsure + byfounder = {{snoval}{snoval}},% FIXME: unsure + bycontinuator = {{nadaljeval}{nadaljeval}},% FIXME: unsure + bycollaborator = {{v sodelovanju z}{v sod\adddotspace z}}, + bytranslator = {{prevedel}{prev\adddot}},% FIXME: unsure + bycommentator = {{komentiral}{komentiral}},% FIXME: unsure + byannotator = {{anotiral}{anotiral}},% FIXME: unsure + withcommentator = {{s komentarjem}{s komentarjem}}, + withannotator = {{z opombami}{z opombami}}, + withintroduction = {{z uvodom}{z uvodom}}, + withforeword = {{s predgovorom}{s predg\adddot}}, + withafterword = {{s spremno besedo}{s spr\adddotspace b\adddot}}, + byeditortr = {{uredil in prevedel}% + {uredil in prevedel}},% FIXME: unsure + byeditorco = {{uredil in komentiral}% + {ur\adddotspace in komentiral}},% FIXME: unsure + byeditoran = {{uredil in anotiral}% + {ur\adddotspace in anotiral}},% FIXME: unsure + byeditorin = {{uredil, z uvodom}% + {ur\adddotspace z uvodom}},% FIXME: unsure + byeditorfo = {{uredil, s predgovorom}% + {ur\adddotspace s predg\adddot}},% FIXME: unsure + byeditoraf = {{uredil, s spremno besedo}% + {ur\adddotspace s sprem\adddotspace b\adddot}},% FIXME: unsure + byeditortrco = {{uredil, prevedel \lbx@lfromlang\ in komentiral}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in komentiral}},% FIXME: unsure + byeditortran = {{uredil, prevedel \lbx@lfromlang\ in anotiral}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in anotiral}},% FIXME: unsure + byeditortrin = {{uredil in prevedel \lbx@lfromlang, z uvodom}% + {ur\adddotspace in prev\adddot\ \lbx@sfromlang, z uvodom}},% FIXME: unsure + byeditortrfo = {{uredil in prevedel \lbx@lfromlang, s predgovorom}% + {ur\adddotspace in prev\adddot\ \lbx@sfromlang, s predg\adddot}},% FIXME: unsure + byeditortraf = {{uredil in prevedel \lbx@lfromlang, s spremno besedo}% + {ur\adddotspace in prev\adddot\ \lbx@sfromlang, s sprem\adddotspace b\adddot}},% FIXME: unsure + byeditorcoin = {{uredil in komentiral, z uvodom}% + {ur\adddotspace in komentiral, z uvodom}},% FIXME: unsure + byeditorcofo = {{uredil in komentiral, s predgovorom}% + {ur\adddotspace in komentiral, s predg\adddot}},% FIXME: unsure + byeditorcoaf = {{uredil in komentiral, s spremno besedo}% + {ur\adddotspace in komentiral, s sprem\adddotspace b\adddot}},% FIXME: unsure + byeditoranin = {{uredil in anotiral, z uvodom}% + {ur\adddotspace in anotiral, z uvodom}},% FIXME: unsure + byeditoranfo = {{uredil in anotiral, s predgovorom}% + {ur\adddotspace in anotiral, s predg\adddot}},% FIXME: unsure + byeditoranaf = {{uredil in anotiral, s spremno besedo}% + {ur\adddotspace in anotiral, s sprem\adddotspace b\adddot}},% FIXME: unsure + byeditortrcoin = {{uredil, prevedel \lbx@lfromlang\ in komentiral, z uvodom}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in komentiral, z uvodom}},% FIXME: unsure + byeditortrcofo = {{uredil, prevedel \lbx@lfromlang\ in komentiral, s predgovorom}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in komentiral, s predg\adddot}},% FIXME: unsure + byeditortrcoaf = {{uredil, prevedel \lbx@lfromlang\ in komentiral, s spremno besedo}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in komentiral, s sprem\adddotspace b\adddot}},% FIXME: unsure + byeditortranin = {{uredil, prevedel \lbx@lfromlang\ in anotiral, z uvodom}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in anotiral, z uvodom}},% FIXME: unsure + byeditortranfo = {{uredil, prevedel \lbx@lfromlang\ in anotiral, s predgovorom}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in anotiral, s predg\adddot}},% FIXME: unsure + byeditortranaf = {{uredil, prevedel \lbx@lfromlang\ in anotiral, s spremno besedo}% + {ur\adddotspace prev\adddot\ \lbx@sfromlang\ in anotiral, s sprem\adddotspace b\adddot}},% FIXME: unsure + bytranslatorco = {{prevedel \lbx@lfromlang\ in komentiral}% + {prev\adddot\ \lbx@sfromlang\ in komentiral}},% FIXME: unsure + bytranslatoran = {{prevedel \lbx@lfromlang\ in anotiral}% + {prev\adddot\ \lbx@sfromlang\ in anotiral}},% FIXME: unsure + bytranslatorin = {{prevedel \lbx@lfromlang, z uvodom}% + {prev\adddot\ \lbx@sfromlang, z uvodom}},% FIXME: unsure + bytranslatorfo = {{prevedel \lbx@lfromlang, s predgovorom}% + {prev\adddot\ \lbx@sfromlang, s predg\adddot}},% FIXME: unsure + bytranslatoraf = {{prevedel \lbx@lfromlang, s spremno besedo}% + {prev\adddot\ \lbx@sfromlang, s sprem\adddotspace b\adddot}},% FIXME: unsure + bytranslatorcoin = {{prevedel \lbx@lfromlang\ in komentiral, z uvodom}% + {prev\adddot\ \lbx@sfromlang\ in komentiral, z uvodom}},% FIXME: unsure + bytranslatorcofo = {{prevedel \lbx@lfromlang\ in komentiral, s predgovorom}% + {prev\adddot\ \lbx@sfromlang\ in komentiral, s predg\adddot}},% FIXME: unsure + bytranslatorcoaf = {{prevedel \lbx@lfromlang\ in komentiral, s spremno besedo}% + {prev\adddot\ \lbx@sfromlang\ in komentiral, s sprem\adddotspace b\adddot}},% FIXME: unsure + bytranslatoranin = {{prevedel \lbx@lfromlang\ in anotiral, z uvodom}% + {prev\adddot\ \lbx@sfromlang\ in anotiral, z uvodom}},% FIXME: unsure + bytranslatoranfo = {{prevedel \lbx@lfromlang\ in anotiral, s predgovorom}% + {prev\adddot\ \lbx@sfromlang\ in anotiral, s predg\adddot}},% FIXME: unsure + bytranslatoranaf = {{prevedel \lbx@lfromlang\ in anotiral, s spremno besedo}% + {prev\adddot\ \lbx@sfromlang\ in anotiral, s sprem\adddotspace b\adddot}},% FIXME: unsure + and = {{in}{in}}, + andothers = {{in sodelavci}{in sod\adddot}}, + andmore = {{idr\adddot}{idr\adddot}}, + volume = {{zvezek}{zv\adddot}}, + volumes = {{zvezki}{zv\adddot}}, + involumes = {{v}{v}}, + jourvol = {{letnik}{let\adddot}}, + jourser = {{zbirka}{zbirka}}, + book = {{knjiga}{knj\adddot}}, + part = {{del}{del}}, + issue = {{\v{s}tevilka}{\v{s}t\adddot}}, + newseries = {{nova zbirka}{nova zbirka}}, + oldseries = {{stara zbirka}{stara zbirka}}, + edition = {{izdaja}{izd\adddot}}, + reprint = {{ponatis}{ponatis}}, + reprintof = {{ponatis}{ponatis}}, + reprintas = {{ponatisnjeno kot}{ponatisnjeno kot}}, + reprintfrom = {{ponatisnjeno iz}{ponatisnjeno iz}}, + %reviewof = {{recenzija}{recenzija}},% FIXME: unsure + translationof = {{prevod}{prev\adddot}}, + translationas = {{prevedeno kot}{prev\adddotspace kot}}, + translationfrom = {{prevedeno iz}{prev\adddotspace iz}}, + origpubas = {{izvirna izdaja}{izvirna izd\adddot}}, + origpubin = {{izvirno izdano v}{izvirno izdano v}}, + astitle = {{}{}}, + bypublisher = {{}{}}, + nodate = {{brez datuma}{b\adddot d\adddot}}, + page = {{stran}{str\adddot}}, + pages = {{strani}{str\adddot}}, + column = {{stolpec}{st\adddot}}, + columns = {{stolpci}{st\adddot}}, + line = {{vrstica}{v\adddot}}, + lines = {{vrstice}{v\adddot}}, + verse = {{verz}{v\adddot}}, + verses = {{verzi}{v\adddot}}, + section = {{razdelek}{\S}}, + sections = {{razdelek}{\S\S}}, + paragraph = {{odstavek}{odstavek}}, + paragraphs = {{odstavki}{odstavki}}, +% 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 = {{v}{v}}, + inseries = {{v zbirki}{v zbirki}}, + ofseries = {{iz zbirke}{iz zbirke}}, + number = {{\v{s}tevilka}{\v{s}t\adddot}}, + chapter = {{poglavje}{pogl\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{Magistrsko delo}{Magistrsko delo}}, + phdthesis = {{Doktorska disertacija}{Doktorska disertacija}}, +% candthesis = {{Candidate thesis}{Cand\adddotspace thesis}},% FIXME: don't know + resreport = {{Raziskovalno poro\v{c}ilo}{Razisk\adddotspace poro\v{c}ilo}}, + techreport = {{Tehni\v{c}no poro\v{c}ilo}{Teh\adddotspace poro\v{c}ilo}}, + software = {{Ra\v{c}unalni\v{s}ki program}{Ra\v{c}\adddotspace prog\adddot}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{avdio CD}{avdio CD}}, + version = {{verzija}{ver\adddot}}, + url = {{spletni naslov}{spletni naslov}}, + urlfrom = {{dostopno na}{dostopno na}}, + urlseen = {{pridobljeno}{pridobljeno}}, + inpreparation = {{v pripravi}{v pripravi}}, + submitted = {{poslano v objavo}{poslano v objavo}}, + %forthcoming = {{forthcoming}{forthcoming}},% FIXME: don't know + inpress = {{v tisku}{v tisku}}, + %prepublished = {{pre-published}{pre-published}},% FIXME: don't know + citedas = {{v nadaljevanju citirano kot}{v nadalj\adddotspace cit\adddotspace kot}}, + thiscite = {{posebno}{posebno}}, + seenote = {{glej opombo}{gl\adddotspace op\adddot}}, + quotedin = {{citirano v}{cit\adddotspace v}}, + idem = {{isti}{id\adddot}}, + idemsm = {{isti}{id\adddot}}, + idemsf = {{ista}{id\adddot}}, + idemsn = {{isto}{id\adddot}}, + idempm = {{isti}{id\adddot}}, + idempf = {{iste}{id\adddot}}, + idempn = {{ista}{id\adddot}}, + idempp = {{isti}{id\adddot}}, + ibidem = {{prav tam}{ibid\adddot}}, +% opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}},% FIXME: don't know +% loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}},% FIXME: don't know + confer = {{primerjaj}{prim\adddot}}, +% sequens = {{sq\adddot}{sq\adddot}},% FIXME: don't know +% sequentes = {{sqq\adddot}{sqq\adddot}},% FIXME: don't know +% passim = {{passim}{pass\adddot}},% FIXME: don't know + see = {{glej}{gl\adddot}}, + seealso = {{glej tudi}{gl\adddotspace tudi}}, + backrefpage = {{citirano na strani}{cit\adddotspace na str\adddot}}, + backrefpages = {{citirano na straneh}{cit\adddotspace na str\adddot}}, + january = {{januar}{jan\adddot}}, + february = {{februar}{feb\adddot}}, + march = {{marec}{mar\adddot}}, + april = {{april}{apr\adddot}}, + may = {{maj}{maj}}, + june = {{junij}{jun\adddot}}, + july = {{julij}{jul\adddot}}, + august = {{avgust}{avg\adddot}}, + september = {{september}{sep\adddot}}, + october = {{oktober}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{december}{dec\adddot}}, + langamerican = {{angle\v{s}\v{c}ina}{angl\adddot}}, + langbrazilian = {{brazil\v{s}\v{c}ina}{braz\adddot}}, +% langbulgarian = {{}{}},% FIXME: missing + langcatalan = {{katalon\v{s}\v{c}ina}{kat\adddot}}, + langcroatian = {{hrva\v{s}\v{c}ina}{hrv\adddot}}, + langczech = {{\v{c}e\v{s}\v{c}ina}{\v{c}e\v{s}\adddot}}, + langdanish = {{dan\v{s}\v{c}ina}{dan\adddot}}, + langdutch = {{nizozem\v{s}\v{c}ina}{niz\adddot}}, + langenglish = {{angle\v{s}\v{c}ina}{angl\adddot}}, +% langestonian = {{}{}},% FIXME: missing + langfinnish = {{fin\v{s}\v{c}ina}{fin\adddot}}, + langfrench = {{franco\v{s}\v{c}ina}{fr\adddot}}, + langgalician = {{galicij\v{s}\v{c}ina}{gal\adddot}}, + langgerman = {{nem\v{s}\v{c}ina}{nem\adddot}}, + langgreek = {{gr\v{s}\v{c}ina}{gr\adddot}}, +% langhungarian = {{}{}}, % FIXME: missing + langitalian = {{italijan\v{s}\v{c}ina}{it\adddot}}, + langlatin = {{latin\v{s}\v{c}ina}{lat\adddot}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{norve\v{s}\v{c}ina}{nor\adddot}}, + langpolish = {{polj\v{s}\v{c}ina}{polj\adddot}}, + langportuguese = {{portugal\v{s}\v{c}ina}{por\adddot}}, + langrussian = {{ru\v{s}\v{c}ina}{ru\adddot}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{sloven\v{s}\v{c}ina}{sl\adddot}}, + langspanish = {{\v{s}pan\v{s}\v{c}ina}{\v{s}p\adddot}}, + langswedish = {{\v{s}ved\v{s}\v{c}ina}{\v{s}ved\adddot}}, + fromamerican = {{iz angle\v{s}\v{c}ine}{iz angl\adddot}}, + frombrazilian = {{iz brazil\v{s}\v{c}ine}{iz braz\adddot}}, +% frombulgarian = {{}{}},% FIXME: missing + fromcatalan = {{iz katalon\v{s}\v{c}ine}{iz kat\adddot}}, + fromcroatian = {{iz hrva\v{s}\v{c}ine}{iz hrv\adddot}}, + fromczech = {{iz \v{c}e\v{s}\v{c}ine}{iz \v{c}e\v{s}\adddot}}, + fromdanish = {{iz dan\v{s}\v{c}ine}{iz dan\adddot}}, + fromdutch = {{iz nizozem\v{s}\v{c}ine}{iz niz\adddot}}, + fromenglish = {{iz angle\v{s}\v{c}ine}{iz angl\adddot}}, +% fromestonian = {{}{}},% FIXME: missing + fromfinnish = {{iz fin\v{s}\v{c}ine}{iz fin\adddot}}, + fromfrench = {{iz franco\v{s}\v{c}ine}{iz fr\adddot}}, + fromgalician = {{iz galicij\v{s}\v{c}ine}{iz gal\adddot}}, + fromgerman = {{iz nem\v{s}\v{c}ine}{iz nem\adddot}}, + fromgreek = {{iz gr\v{s}\v{c}ine}{iz gr\adddot}}, +% fromhungarian = {{}{}}, % FIXME: missing + fromitalian = {{iz italijan\v{s}\v{c}ine}{iz it\adddot}}, + fromlatin = {{iz latin\v{s}\v{c}ine}{iz lat\adddot}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{iz norve\v{s}\v{c}ine}{iz nor\adddot}}, + frompolish = {{iz polj\v{s}\v{c}ine}{iz polj\adddot}}, + fromportuguese = {{iz portugal\v{s}\v{c}ine}{iz por\adddot}}, + fromrussian = {{iz ru\v{s}\v{c}ine}{iz ru\adddot}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{iz sloven\v{s}\v{c}ine}{iz sl\adddot}}, + fromspanish = {{iz \v{s}pan\v{s}\v{c}ine}{iz \v{s}p\adddot}}, + fromswedish = {{iz \v{s}ved\v{s}\v{c}ine}{iz \v{s}ved\adddot}}, + countryde = {{Nem\v{c}ija}{Nem\v{c}ija}}, + countryeu = {{Evropska unija}{EU}}, + countryep = {{Evropska unija}{EP}}, + countryfr = {{Francija}{Francija}}, + countryuk = {{Velika Britanija}{VB}}, + countryus = {{Zdru\v{z}ene dr\v{z}ave Amerike}{ZDA}}, + patent = {{patent}{patent}}, + patentde = {{nem\v{s}ki patent}{nem\v{s}ki patent}}, + patenteu = {{evropski patent}{evropski patent}}, + patentfr = {{francoski patent}{francoski patent}}, + patentuk = {{britanski patent}{britanski patent}}, + patentus = {{patent v ZDA}{patent v ZDA}}, + patreq = {{patentna prijava}{patentna prijava}}, + patreqde = {{prijava nem\v{s}kega patenta}{prijava nem\v{s}kega patenta}}, + patreqeu = {{prijava evropskega patenta}{prijava evropskega patenta}}, + patreqfr = {{prijava francoskega patenta}{prijava francoskega patenta}}, + patrequk = {{prijava britanskega patenta}{prijava britanskega patenta}}, + patrequs = {{prijava patenta v ZDA}{prijava patenta v ZDA}}, + file = {{datoteka}{datoteka}}, + library = {{knji\v{z}nica}{knji\v{z}nica}}, + abstract = {{povzetek}{povzetek}}, + annotation = {{opomba}{op\adddot}}, + commonera = {{po n\adddotspace\v{s}t\adddot}{n\adddotspace\v{s}t\adddot}}, + beforecommonera = {{pred na\v{s}im \v{s}tetjem}{pr\adddotspace n\adddotspace\v{s}t\adddot}}, + annodomini = {{na\v{s}e \v{s}tetje}{po\ n\adddotspace\v{s}t\adddot}}, + beforechrist = {{pred Kristusom}{pr\adddotspace Kr\adddot}}, +% circa = {{}{}},% FIXME: missing +% spring = {{}{}},% FIXME: missing +% summer = {{}{}},% FIXME: missing +% autumn = {{}{}},% FIXME: missing +% winter = {{}{}},% FIXME: missing +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{dop\adddot}{dop\adddot}}, + pm = {{pop\adddot}{pop\adddot}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovenian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovenian-ms.lbx new file mode 100644 index 00000000000..ceac7345d09 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/slovenian-ms.lbx @@ -0,0 +1,7 @@ +\ProvidesFile{slovenian-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{slovene} +\InheritBibliographyStrings{slovene} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/spanish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/spanish-ms.lbx new file mode 100644 index 00000000000..7c0ea3c7be7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/spanish-ms.lbx @@ -0,0 +1,613 @@ +\ProvidesFile{spanish-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{spanish}{spanish} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\mbox{-}}% non-breaking hyphen + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \def\mkbibordinal{\mkbibmascord}% + \providecommand*{\sptext}{\textsuperscript}% \sptext -> spanish.ldf (babel) + \protected\def\mkbibmascord#1{\stripzeros{#1}\sptext{o}}% + \protected\def\mkbibfemord#1{\stripzeros{#1}\sptext{a}}% + \protected\def\mkbibneutord{\mkbibmascord}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace de\space}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\nobreakspace de\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\mbox{-}}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\mbox{-}}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \savecommand\mkdaterangeterse + \protected\def\mkdaterangeterse{% + \BibliographyWarning{% + Date format 'terse' not applicable to\MessageBreak + Spanish dates. Using format 'short' instead}% + \mkdaterangefull{short}}% + \savecommand\lbx@finalnamedelim + \savecommand\lbx@finallistdelim + \ifnumgreater{\value{smartand}}{0} + {\let\lbx@finalnamedelim=\lbx@es@smartand + \let\lbx@finallistdelim=\lbx@es@smartand} + {}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibfemord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkdaterangeterse + \restorecommand\lbx@finalnamedelim + \restorecommand\lbx@finallistdelim + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliograf\'{\i}a}{Bibliograf\'{\i}a}}, + references = {{Referencias}{Referencias}}, + shorthands = {{Lista de abreviaturas}{Abreviaturas}}, + editor = {{edici\'on}{ed\adddot}}, %% {edic'{\i}on} instead of {editor} or {editora} + editors = {{edici\'on}{eds\adddot}}, %% {edic'{\i}on} instead of {editores} or {editoras} + compiler = {{compilaci\'{o}n}{comp\adddot}}, %% {compilac\'{\i}on} instead of {compilador} or {compiladora} + compilers = {{compilaci\'{o}n}{comps\adddot}}, %% {compilac\'{\i}on} instead of {compiladores} or {compiladoras} + redactor = {{redacci\'{o}n}{red\adddot}}, %% {redacc\'{\i}on} instead of {redactor} or {redactora} + redactors = {{redacci\'{o}n}{reds\adddot}}, %% {redacc\'{\i}on} instead of {redactores} or {redactoras} + reviser = {{revisi\'{o}n}{rev\adddot}}, %% {revisi\'{\i}on} instead of {revisor} or {revisora} + revisers = {{revisi\'{o}n}{revs\adddot}}, %% {revisi\'{\i}on} instead of {revisores} or {revisoras} + founder = {{fundaci\'{o}n}{fund\adddot}}, %% {fundaci\'{o}n} instead of {fundador} or {fundadora} + founders = {{fundaci\'{o}n}{funds\adddot}}, %% {fundaci\'{o}n} instead of {fundadores} or {fundadoras} + continuator = {{continuaci\'{o}n}{cont\adddot}}, %% {continuaci\'{o}n} instead of {continuador} or {continuadora} + continuators = {{continuaci\'{o}n}{conts\adddot}}, %% {continuaci\'{o}n} instead of {continuadores} or {continuadoras} + collaborator = {{colaboraci\'{o}n}{colab\adddot}}, %% {colaboraci\'{o}n} instead of {colaborador} or {colaboradora} + collaborators = {{colaboraci\'{o}n}{colabs\adddot}}, %% {colaboraci\'{o}n} instead of {colaboradores} or {colaboradoras} + translator = {{traducci\'{o}n \lbx@sfromlang}{trad\adddotspace \lbx@sfromlang}}, %% {traducci\'{o}n} instead of {traductor} or {traductora} + translators = {{traducci\'{o}n \lbx@sfromlang}{trads\adddotspace \lbx@sfromlang}}, %% {traducci\'{o}n} instead of {traductores} or {traductoras} + commentator = {{comentario}{com\adddot}}, %% {comentario} instead of {comentador} or {comentadora} + commentators = {{comentarios}{coms\adddot}}, %% {comentarios} instead of {comentadores} or {comentadoras} + annotator = {{anotaciones}{anot\adddot}}, %% {anotaciones instead of {anotador} or {anotadora} + annotators = {{anotaciones}{anots\adddot}}, %% {anotaciones} instead of {anotadores} or {anotadoras} + commentary = {{comentario}{com\adddot}}, + annotations = {{notas}{notas}}, + introduction = {{introducci\'on}{intr\adddot}}, + foreword = {{pr\'ologo}{pr\'ol\adddot}}, + afterword = {{ep\'{i}logo}{ep\'{\i}l\adddot}}, + editortr = {{edici\'{o}n y traducci\'{o}n \lbx@sfromlang}{ed\adddotspace y trad\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducci\'{o}n} instead of {editor y traductor} or {editora y traductora} + editorstr = {{edici\'{o}n y traducci\'{o}n \lbx@sfromlang}{eds\adddotspace y trads\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducci\'{o}n} instead of {editores y traductores} or {editoras y traductoras} + editorco = {{edici\'{o}n y comentario}{ed\adddotspace y com\adddot}}, %% {edici\'{o}n y comentario} instead of {editor y comentador} or {editora y comentadora} + editorsco = {{edici\'{o}n y comentarios}{eds\adddotspace y coms\adddot}}, %% {edici\'{o}n y comentarios} instead of {editores y comentadores} or {editoras y comentadoras} + editoran = {{edici\'{o}n y notas}{ed\adddotspace y anot\adddot}}, %% {edici\'{o}n y notas} instead of {editor y notas} or {editora y notas} + editorsan = {{edici\'{o}n y notas}{eds\adddotspace y anot\adddot}}, %% {edici\'{o}n y notas} instead of {editores y notas} or {editoras y notas} + editorin = {{edici\'{o}n e introducci\'{o}n}{ed\adddotspace e intr\adddot}}, %% {edici\'{o}n e introducci\'{o}n} instead of {editor e introducci\'{o}n} or {editora e introducci\'{o}n} + editorsin = {{edici\'{o}n e introducci\'{o}n}{eds\adddotspace e intr\adddot}}, %% {edici\'{o}n e introducci\'{o}n} instead of {editores e introducci\'{o}n} or {editoras e introducci\'{o}n} + editorfo = {{edici\'{o}n y pr\'{o}logo}{ed\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n y pr\'{o}logo} instead of {editor y pr\'{o}logo} or {editora y pr\'{o}logo} + editorsfo = {{edici\'{o}n y pr\'{o}logo}{eds\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n y pr\'{o}logo} instead of {editores y pr\'{o}logo} or {editoras y pr\'{o}logo} + editoraf = {{edici\'{o}n y ep\'{i}logo}{ed\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editor y ep\'{\i}l\ogo} or {editora y ep\'{\i}l\ogo} + editorsaf = {{edici\'{o}n y ep\'{i}logo}{eds\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editores y ep\'{\i}l\ogo} or {editoras y ep\'{\i}l\ogo} + editortrco = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y comentario}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y comentarios} instead of {editor, traductor y comentarios} or {editora, traductora y comentarios} + editorstrco = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y comentarios}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y comentarios} instead of {editores, traductores y comentarios} or {editoras, traductoras y comentarios} + editortran = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y notas} instead of {editor, traductor y notas} or {editora, traductora y notas} + editorstran = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y notas} instead of {editores, traductores y notas} or {editoras, traductoras y notas} + editortrin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {editor, traductor e introducci\'{o}n} or {editora, traductora e introducci\'{o}n} + editorstrin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {editores, traductores e introducci\'{o}n} or {editoras, traductoras e introducci\'{o}n} + editortrfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {editor, traductor y prologuista} or {editora, traductora y prologuista} + editorstrfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {editores, traductores y prologuista} or {editoras, traductoras y prologuistas} + editortraf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {editor, traductor y ep\'{i}logo} or {editora, traductora y ep\'{i}logo} + editorstraf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {editores, traductores y ep\'{i}logo} or {editoras, traductoras y ep\'{i}logo} + editorcoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{ed.,\addabbrvspace com\adddotspace e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editor, comentador e introducci\'{o}n} or {editora, comentadora e introducci\'{o}n} + editorscoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{eds.,\addabbrvspace coms\adddotspace e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editores, comentadores e introducci\'{o}n} or {editoras, comentadoras e introducci\'{o}n} + editorcofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{ed.,\addabbrvspace com\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editor, comentador y pr\'{o}logo} or {editora, comentadora y pr\'{o}logo} + editorscofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{eds.,\addabbrvspace coms\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editores, comentadores y pr\'{o}logo} or {editoras, comentadoras y pr\'{o}logo} + editorcoaf = {{edici\'{o}n, comentarios y ep\'{i}logo}{eds.,\addabbrvspace com\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{i}logo} instead of {editor, comentador y ep\'{i}logo} or {editora, comentadora y ep\'{i}logo} + editorscoaf = {{edici\'{o}n, comentarios y ep\'{i}logo}{eds.,\addabbrvspace coms\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{i}logo} instead of {editores, comentadores y ep\'{i}logo} or {editoras, comentadoras y ep\'{i}logo} + editoranin = {{edici\'{o}n, notas e introducci\'{o}n}{ed.,\addabbrvspace anot\adddotspace e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} + editorsanin = {{edici\'{o}n, notas e introducci\'{o}n}{eds.,\addabbrvspace anot\adddotspace e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} + editoranfo = {{edici\'{o}n, notas y pr\'{o}logo}{ed.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editor, notas y pr\'{o}logo} or {editora, notas y pr\'{o}logo} + editorsanfo = {{edici\'{o}n, notas y pr\'{o}logo}{eds.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editores, notas y pr\'{o}logo} or {editoras, notas y pr\'{o}logo} + editoranaf = {{edici\'{o}n, notas y ep\'{i}logo}{ed.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{i}logo} instead of {editor, notas y ep\'{i}logo} or {editora, notas y ep\'{i}logo} + editorsanaf = {{edici\'{o}n, notas y ep\'{i}logo}{eds.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{i}logo} instead of {editores, notas y ep\'{i}logo} or {editoras, notas y ep\'{i}logo} + editortrcoin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace com\adddotspace e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} + editorstrcoin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace coms\adddotspace e intr\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editores, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} or {editoras, traducci\'{o}n \lbx@sfromlang, comentarios e introducci\'{o}n} + editortrcofo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace com\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} + editorstrcofo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace coms\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editores, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} or {editoras, traducci\'{o}n \lbx@sfromlang, comentarios y pr\'{o}logo} + editortrcoaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace com\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} + editorstrcoaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace coms\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} instead of {editor, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} or {editora, traducci\'{o}n \lbx@sfromlang, comentarios y ep\'{i}logo} + editortranin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace intr\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editor, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} or {{editora, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} + editorstranin = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace intr\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editores, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} or {{editoras, traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} + editortranfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace pr\'{o}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {editor, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} or {editora, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} + editorstranfo = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace pr\'{o}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {editores, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} or {editoras, traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} + editortranaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang,\addabbrvspace ep\'{\i}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {editor, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} or {editora, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} + editorstranaf = {{edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang,\addabbrvspace ep\'{\i}l\adddotspace y anot\adddot}}, %% {edici\'{o}n, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {editores, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} or {editoras, traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} + translatorco = {{traducci\'{o}n \lbx@sfromlang\ y comentario}{trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y comentario} instead of {traductor y comentador} or {traductora y comentadora} + translatorsco = {{traducci\'{o}n \lbx@sfromlang\ y comentario}{trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y comentario} instead of {traductores y comentadores} or {traductoras y comentadoras} + translatoran = {{traducci\'{o}n \lbx@sfromlang\ y notas}{trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y notas} instead of {traductor y anotador} or {traductora y anotadora} + translatorsan = {{traducci\'{o}n \lbx@sfromlang\ y notas}{trads\adddotspace \lbx@sfromlang\ y anots\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y notas} instead of {traductores y anotadores} or {traductoras y anotadoras} + translatorin = {{traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {traductor \lbx@sfromlang e introducci\'{o}n} {traductora \lbx@sfromlang e introducci\'{o}n} + translatorsin = {{traducci\'{o}n \lbx@sfromlang\ e introducci\'{o}n}{trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducci\'{o}n \lbx@sfromlang e introducci\'{o}n} instead of {traductores \lbx@sfromlang e introducci\'{o}n} {traductoras \lbx@sfromlang e introducci\'{o}n} + translatorfo = {{traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {traductor \lbx@sfromlang y prologuista} or {traductora \lbx@sfromlang y prologuista} + translatorsfo = {{traducci\'{o}n \lbx@sfromlang\ y pr\'{o}logo}{trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y pr\'{o}logo} instead of {traductores \lbx@sfromlang y prologuistas} or {traductoras \lbx@sfromlang y prologuistas} + translatoraf = {{traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {traductor \lbx@sfromlang y epiloguista} or {traductora \lbx@sfromlang y epiloguista} + translatorsaf = {{traducci\'{o}n \lbx@sfromlang\ y ep\'{i}logo}{trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducci\'{o}n \lbx@sfromlang y ep\'{i}logo} instead of {traductores \lbx@sfromlang y epiloguistas} or {traductoras \lbx@sfromlang y epiloguistas} + translatorcoin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentario}{trad\adddotspace \lbx@sfromlang, intr\adddotspace y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, introducci\'{o}n y comentario} or {traductora \lbx@sfromlang, introducci\'{o}n y comentario} + translatorscoin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios}{trads\adddotspace \lbx@sfromlang, intr\adddotspace y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, introducci\'{o}n y comentarios} or {traductoras \lbx@sfromlang, introducci\'{o}n y comentarios} + translatorcofo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y comentario}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, pr\'{o}logo y comentario} or {traductora \lbx@sfromlang, pr\'{o}logo y comentario} + translatorscofo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y comentarios}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, pr\'{o}logo y comentarios} or {traductoras \lbx@sfromlang, pr\'{o}logo y comentarios} + translatorcoaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y comentario}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y com\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductor \lbx@sfromlang, ep\'{i}logo y comentario} or {traductora \lbx@sfromlang, ep\'{i}logo y comentario} + translatorscoaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y comentarios}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y coms\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, ep\'{i}logo y comentarios} or {traductoras \lbx@sfromlang, ep\'{i}logo y comentarios} + translatoranin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{trad\adddotspace \lbx@sfromlang, intr\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductor \lbx@sfromlang, introducci\'{o}n y notas} or {traductora \lbx@sfromlang, introducci\'{o}n y notas} + translatorsanin = {{traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas}{trads\adddotspace \lbx@sfromlang, intr\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductores \lbx@sfromlang, introducci\'{o}n y notas} or {traductoras \lbx@sfromlang, introducci\'{o}n y notas} + translatoranfo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductor \lbx@sfromlang, pr\'{o}logo y notas} or {traductora \lbx@sfromlang, pr\'{o}logo y notas} + translatorsanfo = {{traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductores \lbx@sfromlang, pr\'{o}logo y notas} or {traductoras \lbx@sfromlang, pr\'{o}logo y notas} + translatoranaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {traductor \lbx@sfromlang, ep\'{i}logo y notas} or {traductora \lbx@sfromlang, ep\'{i}logo y notas} + translatorsanaf = {{traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddotspace y anot\adddot}}, %% {traducci\'{o}n \lbx@sfromlang, ep\'{i}logo y notas} instead of {traductores \lbx@sfromlang, ep\'{i}logo y notas} or {traductora \lbx@sfromlang, ep\'{i}logo y notas} + organizer = {{organizaci\'on}{org\adddot}}, %% {organizaci\'on} instead of {organizador} or {organizadora} + organizers = {{organizaci\'on}{orgs\adddot}}, %% {organizaci\'on} instead of {organizadores} or {organizadoras} + byorganizer = {{organizado por}{org\adddotspace por}}, + byauthor = {{de}{de}}, + byeditor = {{editado por}{ed\adddotspace por}}, + bycompiler = {{compilado por}{comp\adddotspace por}}, + byredactor = {{redacci\'on de}{red\adddotspace de}}, + byreviser = {{revisado por}{rev\adddotspace por}},% FIXME: unsure + byreviewer = {{rese\~{n}ado por}{res\adddotspace por}},% FIXME: unsure + byfounder = {{fundado por}{fund\adddotspace por}}, + bycontinuator = {{continuado por}{cont\adddotspace por}}, + bycollaborator = {{colaboraci\'{o}n de}{col\adddotspace de}},% FIXME: unsure + bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddotspace \lbx@sfromlang\ por}}, + bycommentator = {{comentado por}{com\adddotspace por}}, + byannotator = {{anotado por}{anot\adddotspace por}}, + withcommentator = {{con comentario de}{con com\adddotspace de}}, + withannotator = {{con notas de}{con notas de}}, + withintroduction = {{con introduci\'on de}{con intr\adddotspace de}}, + withforeword = {{con pr\'ologo de}{con pr\'ol\adddotspace de}}, + withafterword = {{con ep\'{i}logo de}{con ep\'{\i}l\adddotspace de}}, + byeditortr = {{editado y traducido \lbx@lfromlang\ por}% + {ed\adddotspace y trad\adddotspace \lbx@sfromlang\ por}}, + byeditorco = {{editado y comentado por}% + {ed\adddotspace y com\adddotspace por}}, + byeditoran = {{editado y anotado por}% + {ed\adddotspace y anot\adddotspace por}}, + byeditorin = {{editado e introducido por}% + {ed\adddotspace e intr\adddotspace por}}, + byeditorfo = {{editado y prologado por}% + {ed\adddotspace y pr\'ol\adddotspace por}}, + byeditoraf = {{editado y epilogado por}% + {ed\adddotspace y ep\'{\i}l\adddotspace por}}, + byeditortrco = {{editado, traducido \lbx@lfromlang\ y comentado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y com\adddotspace por}}, + byeditortran = {{editado, traducido \lbx@lfromlang\ y anotado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y anot\adddotspace por}}, + byeditortrin = {{editado, traducido \lbx@lfromlang\ e introducido por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e intr\adddotspace por}}, + byeditortrfo = {{editado, traducido \lbx@lfromlang\ y prologado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y pr\'ol\adddotspace por}}, + byeditortraf = {{editado, traducido \lbx@lfromlang\ y epilogado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddotspace por}}, + byeditorcoin = {{editado, comentado e introducido por}% + {ed.,\addabbrvspace com\adddotspace e intr\adddotspace por}}, + byeditorcofo = {{editado, comentado y prologado por}% + {ed.,\addabbrvspace com\adddotspace y pr\'ol\adddotspace por}}, + byeditorcoaf = {{editado, comentado y epilogado por}% + {ed.,\addabbrvspace com\adddotspace y ep\'{\i}l\adddotspace por}}, + byeditoranin = {{editado, anotado e introducido por}% + {ed.,\addabbrvspace anot\adddotspace e intr\adddotspace por}}, + byeditoranfo = {{editado, anotado y prologado por}% + {ed.,\addabbrvspace anot\adddotspace y pr\'ol\adddotspace por}}, + byeditoranaf = {{editado, anotado y epilogado por}% + {ed.,\addabbrvspace anot\adddotspace y ep\'{\i}l\adddotspace por}}, + byeditortrcoin = {{editado, traducido \lbx@lfromlang, comentado e introducido por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace e intr\adddotspace por}}, + byeditortrcofo = {{editado, traducido \lbx@lfromlang, comentado y prologado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace y pr\'ol\adddotspace por}}, + byeditortrcoaf = {{editado, traducido \lbx@lfromlang, comentado y epilogado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}}, + byeditortranin = {{editado, traducido \lbx@lfromlang, anotado e introducido por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, anot\adddotspace e intr\adddotspace por}}, + byeditortranfo = {{editado, traducido \lbx@lfromlang, anotado y prologado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, anot\adddotspace y pr\'ol\adddotspace por}}, + byeditortranaf = {{editado, traducido \lbx@lfromlang, anotado y epilogado por}% + {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}}, + bytranslatorco = {{traducido \lbx@lfromlang\ y comentado por}% + {trad\adddotspace \lbx@sfromlang\ y com\adddotspace por}}, + bytranslatoran = {{traducido \lbx@lfromlang\ y anotado por}% + {trad\adddotspace \lbx@sfromlang\ y anot\adddotspace por}}, + bytranslatorin = {{traducido \lbx@lfromlang\ e introducido por}% + {trad\adddotspace \lbx@sfromlang\ e introd\adddotspace por}}, + bytranslatorfo = {{traducido \lbx@lfromlang\ y prologado por}% + {trad\adddotspace \lbx@sfromlang\ y pr\'ol\adddotspace por}}, + bytranslatoraf = {{traducido \lbx@lfromlang\ y epilogado por}% + {trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddotspace por}}, + bytranslatorcoin = {{traducido \lbx@lfromlang, comentado e introducido por}% + {trad\adddotspace \lbx@sfromlang, com\adddotspace e intr\adddotspace por}}, + bytranslatorcofo = {{traducido \lbx@lfromlang, comentado y prologado por}% + {trad\adddotspace \lbx@sfromlang, com\adddotspace y pr\'ol\adddotspace por}}, + bytranslatorcoaf = {{traducido \lbx@lfromlang, comentado y epilogado por}% + {trad\adddotspace \lbx@sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}}, + bytranslatoranin = {{traducido \lbx@lfromlang, anotado e introducido por}% + {trad\adddotspace \lbx@sfromlang, anot\adddotspace e intr\adddotspace por}}, + bytranslatoranfo = {{traducido \lbx@lfromlang, anotado y prologado por}% + {trad\adddotspace \lbx@sfromlang, anot\adddotspace y pr\'ol\adddotspace por}}, + bytranslatoranaf = {{traducido \lbx@lfromlang, anotado y epilogado por}% + {trad\adddotspace \lbx@sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}}, + and = {{y}{y}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}}, + volume = {{volumen}{vol\adddot}}, + volumes = {{vol\'umenes}{vols\adddot}}, + involumes = {{en}{en}}, + jourvol = {{volumen}{vol\adddot}}, + jourser = {{\'epoca}{\'ep\adddot}}, + book = {{libro}{libro}}, + part = {{parte}{parte}}, + issue = {{n\'umero}{n\'um\adddot}},% FIXME: unsure + newseries = {{nueva \'epoca}{n\adddotspace \'ep\adddot}}, + oldseries = {{antigua \'epoca}{ant\adddotspace \'ep\adddot}}, + edition = {{edici\'on}{ed\adddot}}, + reprint = {{reimpresi\'{o}n}{reimp\adddot}}, + reprintof = {{reimpresi\'{o}n de}{reimp\adddotspace de}}, + reprintas = {{reimpreso como}{reimp\adddotspace como}}, + reprintfrom = {{reimpresi\'{o} de}{reimp\adddotspace de}},% FIXME: unsure. What's the difference between reprintof and reprintfrom? + reviewof = {{rese\~{n}a de}{rese\~{n}a de}}, + translationof = {{traducci\'{o}n de}{trad\adddotspace de}}, + translationas = {{traducido como}{trad\adddotspace como}}, + translationfrom = {{traducido del}{trad\adddotspace del}},% FIXME: unsure. + origpubas = {{publicado originalmente como}{pub\adddotspace orig\adddotspace como}},% FIXME: check + origpubin = {{publicado originalmente en}{pub\adddot orig\adddot en}},% FIXME: check + astitle = {{con el t\'{\i}tulo}{con el t\'{\i}t\adddot}},% FIXME: check + bypublisher = {{por la editorial}{por la ed\adddot}}, + nodate = {{sin fecha}{{}s\adddot f\adddot}}, + page = {{p\'agina}{p\'ag\adddot}}, + pages = {{p\'aginas}{p\'ags\adddot}}, + column = {{columna}{col\adddot}}, + columns = {{columnas}{cols\adddot}}, + line = {{l\'{\i}nea}{l\adddot}},% FIXME: abbrev. unsure. There is no standard + lines = {{l\'{\i}neas}{ll\adddot}},% FIXME: abbrev. unsure. There is no standard + verse = {{verso}{v\adddot}}, + verses = {{versos}{vv\adddot}}, + section = {{secci\'{o}n}{sec\adddot}}, + sections = {{secciones}{secs\adddot}}, + paragraph = {{p\'{a}rrafo}{p\'{a}rr\adddot}}, + paragraphs = {{p\'{a}rrafos}{p\'{a}rrs\adddot}}, + pagetotal = {{p\'agina}{p\'ag\adddot}}, + pagetotals = {{p\'aginas}{p\'ags\adddot}}, + columntotal = {{columna}{col\adddot}}, + columntotals = {{columnas}{cols\adddot}}, + linetotal = {{l\'{\i}nea}{l\adddot}},% FIXME: abbrev. unsure. There is no standard + linetotals = {{l\'{\i}neas}{ll\adddot}},% FIXME: abbrev. unsure. There is no standard + versetotal = {{verso}{v\adddot}}, + versetotals = {{versos}{vv\adddot}}, + sectiontotal = {{secci\'{o}n}{sec\adddot}}, + sectiontotals = {{secciones}{secs\adddot}}, + paragraphtotal = {{p\'{a}rrafo}{p\'{a}rr\adddot}}, + paragraphtotals = {{p\'{a}rrafos}{p\'{a}rrs\adddot}}, + in = {{en}{en}}, + inseries = {{en}{en}}, + ofseries = {{de}{de}}, + number = {{n\'umero}{n\sptext{o}}}, + chapter = {{cap\'itulo}{cap\adddot}}, + bathesis = {{Tesis de licenciatura}{Tesis de lic\adddot}},% FIXME: unsure. + mathesis = {{Tesis de maestr\'{\i}a}{Tesis de mtr\'{\i}a\adddot}}, + phdthesis = {{Tesis doctoral}{Tesis doct\adddot}}, + candthesis = {{Tesis de candidatura doctoral}{Tesis de cand\adddotspace doct\adddot}},% FIXME: unsure + resreport = {{reporte de investigaci\'{o}n}{rep\adddotspace de inv\adddot}},% FIXME: unsure + techreport = {{informe t\'ecnico}{inf\adddotspace t\'ec\adddot}}, + software = {{programa}{prog\adddot}}, + datacd = {{disco de datos}{CD de datos}},% FIXME: abbrev. unsure + audiocd = {{disco de audio}{CD de audio}},% FIXME: abbrev. unsure + version = {{versi\'on}{ver\adddot}}, + url = {{direcci\'on}{direcci\'on}}, + urlfrom = {{disponible desde}{disp\adddotspace desde}},% FIXME: unsure + urlseen = {{visitado}{visitado}}, + inpreparation = {{en preparaci\'{o}n}{en prep\adddot}}, + submitted = {{enviado}{enviado}}, + forthcoming = {{pr\'oximamente}{prox\adddot}}, + inpress = {{en prensa}{en prensa}}, + prepublished = {{previamente publicado}{prepublicado}}, + citedas = {{citado en adelante como}{cit\adddotspace en adelante como}}, + thiscite = {{especialmente}{esp\adddot}}, + seenote = {{ver nota}{ver n\adddot}}, + quotedin = {{citado en}{cit\adddotspace en}}, + idem = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsf = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsm = {{\'{\i}dem}{\'{\i}d\adddot}}, + idemsn = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempf = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempm = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempn = {{\'{\i}dem}{\'{\i}d\adddot}}, + idempp = {{\'{\i}dem}{\'{\i}d\adddot}}, + ibidem = {{ib\'{\i}dem}{ib\'{\i}d\adddot}}, + opcit = {{\'{o}p\adddotspace cit\adddot}{\'{o}p\adddot cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddot cit\adddot}}, + confer = {{cf\adddot}{cf\adddot}}, + sequens = {{s\adddot}{s\adddot}}, + sequentes = {{ss\adddot}{ss\adddot}}, + passim = {{p\'assim}{p\'assim}}, + see = {{v\'ease}{vid\adddot}}, + seealso = {{v\'ease tambi\'en}{vid\adddotspace tambi\'en}}, + backrefpage = {{v\'ease p\'agina}{vid\adddotspace p\'ag\adddot}}, + backrefpages = {{v\'eanse p\'aginas}{vid\adddotspace p\'ags\adddot}}, + january = {{enero}{ene\adddot}}, + february = {{febrero}{feb\adddot}}, + march = {{marzo}{mar\adddot}}, + april = {{abril}{abr\adddot}}, + may = {{mayo}{mayo}}, + june = {{junio}{jun\adddot}}, + july = {{julio}{jul\adddot}}, + august = {{agosto}{ago\adddot}}, + september = {{septiembre}{sep\adddot}}, + october = {{octubre}{oct\adddot}}, + november = {{noviembre}{nov\adddot}}, + december = {{diciembre}{dic\adddot}}, + langamerican = {{ingl\'{e}s americano}{ingl\'{e}s americano}}, + langbrazilian = {{brasile\~no}{brasile\~no}}, + langbulgarian = {{b\'ulgaro}{b\'ulgaro}}, + langcatalan = {{catal\'{a}n}{catal\'{a}n}}, + langcroatian = {{croata}{croata}}, + langczech = {{checo}{checo}}, + langdanish = {{dan\'es}{dan\'es}}, + langdutch = {{neerland\'es}{neerland\'es}}, + langenglish = {{ingl\'es}{ingl\'es}}, + langestonian = {{estonio}{estonio}}, + langfinnish = {{fin\'{e}s}{fin\'{e}s}}, + langfrench = {{franc\'es}{franc\'es}}, + langgalician = {{gallego}{gallego}}, + langgerman = {{alem\'an}{alem\'an}}, + langgreek = {{griego}{griego}}, + langhungarian = {{h\'ungaro}{h\'ungaro}}, + langitalian = {{italiano}{italiano}}, + langjapanese = {{japon\'es}{japon\'es}}, + langlatin = {{lat\'{\i}n}{lat\'{\i}n}}, + langlatvian = {{lituano}{lituano}}, + langnorwegian = {{noruego}{noruego}}, + langpolish = {{polaco}{polaco}}, + langportuguese = {{portugu\'es}{portugu\'es}}, + langrussian = {{ruso}{ruso}}, + langslovak = {{eslovaco}{eslovaco}}, + langslovene = {{esloveno}{esloveno}}, + langspanish = {{espa\~nol}{espa\~nol}}, + langswedish = {{sueco}{sueco}}, + langukrainian = {{ucraniano}{ucraniano}}, + fromamerican = {{del ingl\'{e}s americano}{del ingl\'{e}s americano}}, + frombrazilian = {{del brasile\~no}{del brasile\~no}}, + frombulgarian = {{del b\'ulgaro}{del b\'ulgaro}}, + fromcatalan = {{del catal\'{a}n}{del catal\'{a}n}}, + fromcroatian = {{del croata}{del croata}}, + fromczech = {{del checo}{del checo}}, + fromdanish = {{del dan\'es}{del dan\'es}}, + fromdutch = {{del neerland\'es}{del neerland\'es}}, + fromenglish = {{del ingl\'es}{del ingl\'es}}, + fromestonian = {{del estonio}{del estonio}}, + fromfinnish = {{del fin\'{e}s}{del fin\'{e}s}}, + fromfrench = {{del franc\'es}{del franc\'es}}, + fromgalician = {{del gallego}{del gallego}}, + fromgerman = {{del alem\'an}{del alem\'an}}, + fromgreek = {{del griego}{del griego}}, + fromhungarian = {{del h\'ungaro}{del h\'ungaro}}, + fromitalian = {{del italiano}{del italiano}}, + fromjapanese = {{del japon\'es}{del japon\'es}}, + fromlatin = {{del lat\'{\i}n}{del lat\'{\i}n}}, + fromlatvian = {{del lituano}{del lituano}}, + fromnorwegian = {{del noruego}{del noruego}}, + frompolish = {{del polaco}{del polaco}}, + fromportuguese = {{del portugu\'es}{del portugu\'es}}, + fromrussian = {{del ruso}{del ruso}}, + fromslovak = {{del eslovaco}{del eslovaco}}, + fromslovene = {{del esloveno}{del esloveno}}, + fromspanish = {{del espa\~nol}{del espa\~nol}}, + fromswedish = {{del sueco}{del sueco}}, + fromukrainian = {{del ucraniano}{del ucraniano}}, + countryde = {{Alemania}{DE}}, + countryeu = {{Uni\'on Europea}{EU}}, + countryep = {{Uni\'on Europea}{EP}}, + countryfr = {{Francia}{FR}}, + countryuk = {{Reino Unido}{GB}},% FIXME: "Reino Unido" or "Gran Breta\~na"? + countryus = {{Estados Unidos}{US}},% FIXME: "Estados Unidos de Am\'erica"? + patent = {{patente}{pat\adddot}}, + patentde = {{patente alemana}{pat\adddotspace alemana}}, + patenteu = {{patente europea}{pat\adddotspace europea}}, + patentfr = {{patente francesa}{pat\adddotspace francesa}}, + patentuk = {{patente brit\'anica}{pat\adddotspace brit\'anica}}, + patentus = {{patente estadounidense}{pat\adddotspace estadounidense}}, + patreq = {{solicitud de patente}{sol\adddotspace de pat\adddot}}, + patreqde = {{solicitud de patente alemana}{sol\adddotspace de pat\adddot alemana}}, + patreqeu = {{solicitud de patente europea}{sol\adddotspace de pat\adddot europea}}, + patreqfr = {{solicitud de patente francesa}{sol\adddotspace de pat\adddot francesa}}, + patrequk = {{solicitud de patente brit\'anica}{sol\adddotspace de pat\adddot brit\'anica}}, + patrequs = {{solicitud de patente estadounidense}{sol\adddotspace de pat\adddot estadounidense}}, + file = {{archivo}{archivo}}, + library = {{biblioteca}{bibl\adddot}}, + abstract = {{resumen}{resumen}}, + annotation = {{anotaci\'{o}n}{anot\adddot}}, + commonera = {{era com\'un}{e\adddotspace c\adddot}}, + beforecommonera = {{antes de la era com\'un}{a\adddotspace e\adddotspace c\adddot}}, + annodomini = {{despu\'es de Cristo}{d\adddotspace C\adddot}}, + beforechrist = {{antes de Cristo}{a\adddotspace C\adddot}}, + circa = {{circa}{ca\adddot}}, + spring = {{primavera}{prim\adddot}}, + summer = {{verano}{ver\adddot}}, + autumn = {{oto\~no}{ot\adddot}}, + winter = {{invierno}{inv\adddot}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{a\adddotspace m\adddot}{a\adddot m\adddot}}, + pm = {{p\adddotspace m\adddot}{p\adddot m\adddot}}, +} + +\protected\gdef\lbx@es@smartand{% + \ifcase\value{smartand}% + \or + \addspace + \expandafter\lbx@es@smartand@i + \or + \addspace y\nobreakspace + \expandafter\@gobble + \or + \addspace e\nobreakspace + \expandafter\@gobble + \else + \addspace\bibstring{and}\space + \expandafter\@gobble + \fi} + +\begingroup +\catcode`\&=3 + +\gdef\lbx@es@smartand@i#1{% + \begingroup + \def\forceY##1{\relax}% + \def\forceE##1{i\relax}% + \def\do##1{\let##1\@firstofone}% + \abx@dosingleaccents + \abx@dodoubleaccents + \def\'{'}\def\i{i}\def\j{j}% + \let\IeC\@firstofone + \def\@tabacckludge##1{\if\noexpand##1''\fi}% + \ifnum\catcode`\'=\active + \uccode`\~=`\' + \uppercase{\def~{'}}% + \fi + \ifnum\catcode`\"=\active + \uccode`\~=`\" + \uppercase{\let~\@empty}% + \fi + \ifnum\catcode`\~=\active + \let~\@empty + \fi + \let\protect\noexpand + \edef\lbx@tempa{#1}% + \expandafter\futurelet + \expandafter\lbx@tempa + \expandafter\lbx@es@smartand@ii + \lbx@tempa&} + +\gdef\lbx@es@smartand@ii{% + \ifcat\bgroup\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@ii##1}% + \else\ifcat\noexpand~\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@ii}% + \else\ifnum 0% + \if h\noexpand\lbx@tempa 1\fi + \if H\noexpand\lbx@tempa 1\fi + >0 % + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@ii}% + \else\ifnum 0% + \if i\noexpand\lbx@tempa 1\fi + \if y\noexpand\lbx@tempa 1\fi + \if I\noexpand\lbx@tempa 1\fi + \if Y\noexpand\lbx@tempa 1\fi + >0 % + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@iii}% + \else\if '\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@iv}% + \else + \let\lbx@tempa\lbx@es@smartand@y + \fi\fi\fi\fi\fi + \lbx@tempa} + +\gdef\lbx@es@smartand@iii{% + \ifcat\bgroup\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@iii##1}% + \else\ifcat\noexpand~\noexpand\lbx@tempa + \let\lbx@tempa\lbx@es@smartand@e + \else\if '\noexpand\lbx@tempa + \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@es@smartand@iii}% + \else\ifnum 0% + \if a\noexpand\lbx@tempa 1\fi + \if e\noexpand\lbx@tempa 1\fi + \if i\noexpand\lbx@tempa 1\fi + \if o\noexpand\lbx@tempa 1\fi + \if u\noexpand\lbx@tempa 1\fi + \if A\noexpand\lbx@tempa 1\fi + \if E\noexpand\lbx@tempa 1\fi + \if I\noexpand\lbx@tempa 1\fi + \if O\noexpand\lbx@tempa 1\fi + \if U\noexpand\lbx@tempa 1\fi + >0 % + \let\lbx@tempa\lbx@es@smartand@y + \else + \let\lbx@tempa\lbx@es@smartand@e + \fi\fi\fi\fi + \lbx@tempa} + +\gdef\lbx@es@smartand@iv{% + \if i\lbx@tempa + \expandafter\lbx@es@smartand@e + \else + \expandafter\lbx@es@smartand@y + \fi} + +\gdef\lbx@es@smartand@e#1&{\endgroup e\nobreakspace} +\gdef\lbx@es@smartand@y#1&{\endgroup y\nobreakspace} + +\endgroup + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/swedish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/swedish-ms.lbx new file mode 100644 index 00000000000..9f451dbfed7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/swedish-ms.lbx @@ -0,0 +1,531 @@ +\ProvidesFile{swedish-ms.lbx} +[\abx@lbxid] + +% Translator's notes (Per Starb\"ack) +% +% One of the sources used is: +% +% Hedberg, Sten. Bibliografiska referenser. SIS-STG Handbok 165. +% Stockholm: Standardiseringskommissionen i Sverige (SIS), 1991. ISBN +% 91-7162-323-X. +% +% which incorporates Swedish standard SS 03 82 07 which is a +% translation of ISO 690, Documentation -- Bibliographic references -- +% Content, form and structure, 2. ed., 1987. +% +% In that standard lots of things aren't translated, but left as in +% the original works. So in the same bibliography will be a work that +% is "2. ed." and another that is "2. Aufl.". +% +% I've almost only used abbrevations found in the appendix +% "Bibliografiska f\"orkortningar" there (though not a part of the +% standard). + +\DeclareRedundantLanguages{swedish}{swedish} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}% + % The following is for ordinals like "2:a" and "12:e". + % (Hedberg uses just "2." and "12." as above; + % others use "2" and "12".) + %\protected\def\mkbibordinal#1{% + % \begingroup + % \@tempcnta0#1\relax\number\@tempcnta\addcolon + % \@whilenum\@tempcnta>100\do{\advance\@tempcnta-100\relax}% + % \ifnum\@tempcnta>20 + % \@whilenum\@tempcnta>9\do{\advance\@tempcnta-10\relax}% + % \fi + % \ifcase\@tempcnta e\or a\or a\else e\fi + % \endgroup}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\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{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \iffieldundef{#2}{}{\mbox{-}}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#3}{}{\mbox{-}}}% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}}}% + \savecommand\mkdaterangeterse + \protected\def\mkdaterangeterse{% + \BibliographyWarning{% + Date format 'terse' not applicable to\MessageBreak + Swedish dates. Using format 'short' instead}% + \mkdaterangefull{short}}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkdaterangeterse +} + +\DeclareBibliographyStrings{% + bibliography = {{Litteraturf\"orteckning}{Litteratur}}, + references = {{Referenser}{Referenser}}, + shorthands = {{F\"orkortningar}{F\"orkortningar}}, + % editor may be "utgivare (utg.)" or "redakt\"or (red.)" + editor = {{utgivare}{utg\adddot}}, + editors = {{utgivare}{utg\adddot}}, + compiler = {{sammanst\"allare}{sammanst\adddot}}, + compilers = {{sammanst\"allare}{sammanst\adddot}}, + redactor = {{redakt\"or}{red\adddot}}, + redactors = {{redakt\"orer}{red\adddot}}, +% reviser = {{}{}},% FIXME: missing +% revisers = {{}{}},% FIXME: missing +% founder = {{}{}},% FIXME: missing +% founders = {{}{}},% FIXME: missing +% continuator = {{}{}},% FIXME: missing +% continuators = {{}{}},% FIXME: missing +% collaborator = {{}{}},% FIXME: missing +% collaborators = {{}{}},% FIXME: missing + translator = {{\"overs\"attare}{\"overs\adddot}}, + translators = {{\"overs\"attare}{\"overs\adddot}}, + commentator = {{kommentar}{komm\adddot}},% "commentator" awkward, we use "commentary" + commentators = {{kommentar}{komm\adddot}},% "commentator" awkward, we use "commentary" + annotator = {{f\"orklaringar}{f\"orkl\adddot}},% "annotator" awkward, we use "annotations" + annotators = {{f\"orklaringar}{f\"orkl\adddot}},% "annotator" awkward, we use "annotations" + commentary = {{kommentar}{komm\adddot}}, + annotations = {{f\"orklaringar}{f\"orkl\adddot}}, + introduction = {{inledning}{inl\adddot}}, + foreword = {{f\"orord}{f\"orord}}, + afterword = {{efterord}{efterord}}, + editortr = {{utgivare och \"overs\"attare}{utg\adddot\ och \"overs\adddot}}, + editorstr = {{utgivare och \"overs\"attare}{utg\adddot\ och \"overs\adddot}}, +% editorco = {{}{}},% FIXME: missing +% editorsco = {{}{}},% FIXME: missing +% editoran = {{}{}},% FIXME: missing +% editorsan = {{}{}},% FIXME: missing +% editorin = {{}{}},% FIXME: missing +% editorsin = {{}{}},% FIXME: missing +% editorfo = {{}{}},% FIXME: missing +% editorsfo = {{}{}},% FIXME: missing +% editoraf = {{}{}},% FIXME: missing +% editorsaf = {{}{}},% FIXME: missing +% editortrco = {{}{}},% FIXME: missing +% editorstrco = {{}{}},% FIXME: missing +% editortran = {{}{}},% FIXME: missing +% editorstran = {{}{}},% FIXME: missing +% editortrin = {{}{}},% FIXME: missing +% editorstrin = {{}{}},% FIXME: missing +% editortrfo = {{}{}},% FIXME: missing +% editorstrfo = {{}{}},% FIXME: missing +% editortraf = {{}{}},% FIXME: missing +% editorstraf = {{}{}},% FIXME: missing +% editorcoin = {{}{}},% FIXME: missing +% editorscoin = {{}{}},% FIXME: missing +% editorcofo = {{}{}},% FIXME: missing +% editorscofo = {{}{}},% FIXME: missing +% editorcoaf = {{}{}},% FIXME: missing +% editorscoaf = {{}{}},% FIXME: missing +% editoranin = {{}{}},% FIXME: missing +% editorsanin = {{}{}},% FIXME: missing +% editoranfo = {{}{}},% FIXME: missing +% editorsanfo = {{}{}},% FIXME: missing +% editoranaf = {{}{}},% FIXME: missing +% editorsanaf = {{}{}},% FIXME: missing +% editortrcoin = {{}{}},% FIXME: missing +% editorstrcoin = {{}{}},% FIXME: missing +% editortrcofo = {{}{}},% FIXME: missing +% editorstrcofo = {{}{}},% FIXME: missing +% editortrcoaf = {{}{}},% FIXME: missing +% editorstrcoaf = {{}{}},% FIXME: missing +% editortranin = {{}{}},% FIXME: missing +% editorstranin = {{}{}},% FIXME: missing +% editortranfo = {{}{}},% FIXME: missing +% editorstranfo = {{}{}},% FIXME: missing +% editortranaf = {{}{}},% FIXME: missing +% editorstranaf = {{}{}},% FIXME: missing +% translatorco = {{}{}},% FIXME: missing +% translatorsco = {{}{}},% FIXME: missing +% translatoran = {{}{}},% FIXME: missing +% translatorsan = {{}{}},% FIXME: missing +% translatorin = {{}{}},% FIXME: missing +% translatorsin = {{}{}},% FIXME: missing +% translatorfo = {{}{}},% FIXME: missing +% translatorsfo = {{}{}},% FIXME: missing +% translatoraf = {{}{}},% FIXME: missing +% translatorsaf = {{}{}},% FIXME: missing +% translatorcoin = {{}{}},% FIXME: missing +% translatorscoin = {{}{}},% FIXME: missing +% translatorcofo = {{}{}},% FIXME: missing +% translatorscofo = {{}{}},% FIXME: missing +% translatorcoaf = {{}{}},% FIXME: missing +% translatorscoaf = {{}{}},% FIXME: missing +% translatoranin = {{}{}},% FIXME: missing +% translatorsanin = {{}{}},% FIXME: missing +% translatoranfo = {{}{}},% FIXME: missing +% translatorsanfo = {{}{}},% FIXME: missing +% translatoranaf = {{}{}},% FIXME: missing +% translatorsanaf = {{}{}},% FIXME: missing +% organizer = {{}{}},% FIXME: missing +% organizers = {{}{}},% FIXME: missing +% byorganizer = {{}{}},% FIXME: missing + byauthor = {{av}{av}}, + byeditor = {{utgiven av}{utg\adddotspace av}}, + bycompiler = {{sammanst\"alld av}{sammanst\adddotspace av}}, + byredactor = {{bearbetad av}{bearb\adddotspace av}}, + byreviser = {{reviderad av}{rev\adddotspace av}}, +% byreviewer = {{}{}},% FIXME: missing +% byfounder = {{}{}},% FIXME: missing +% bycontinuator = {{}{}},% FIXME: missing +% bycollaborator = {{}{}},% FIXME: missing + bytranslator = {{\"oversatt \lbx@lfromlang\ av}{\"overs\adddot\ \lbx@sfromlang\ av}}, + bycommentator = {{kommenterad av}{kommenterad av}}, + byannotator = {{f\"orklarad av}{f\"orklarad av}}, + withcommentator = {{med kommentarer av}{med kommentarer av}}, + withannotator = {{med f\"orklaringar av}{med f\"orklaringar av}}, + withintroduction = {{med inledning av}{med inl\adddot\ av}}, + withforeword = {{med f\"orord av}{med f\"orord av}}, + withafterword = {{med efterord av}{med efterord av}}, + byeditortr = {{utgiven och \"oversatt \lbx@lfromlang\ av}% + {utg\adddotspace och \"overs\adddot\ \lbx@sfromlang\ av}}, + byeditorco = {{utgiven och kommenterad av}% + {utg\adddotspace och kommenterad av}}, + byeditoran = {{utgiven och f\"orklarad av}% + {utg\adddotspace och f\"orklarad av}}, + byeditorin = {{utgiven och f\"orsedd med inledning av}% + {utg\adddotspace och med inl\adddot\ av}}, + byeditorfo = {{utgiven och f\"orsedd med f\"orord av}% + {utg\adddotspace och med f\"orord av}}, + byeditoraf = {{utgiven och f\"orsedd med efterord av}% + {utg\adddotspace och med efterord av}}, + byeditortrco = {{utgiven, \"oversatt \lbx@lfromlang\ och kommenterad av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang\ och kommenterad av}}, + byeditortran = {{utgiven, \"oversatt \lbx@lfromlang\ och f\"orklarad av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang\ och f\"orklarad av}}, + byeditortrin = {{utgiven, \"oversatt \lbx@lfromlang\ och f\"orsedd med inledning av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang\ och med inl\adddot\ av}}, + byeditortrfo = {{utgiven, \"oversatt \lbx@lfromlang\ och f\"orsedd med f\"orord av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang\ och med f\"orord av}}, + byeditortraf = {{utgiven, \"oversatt \lbx@lfromlang\ och f\"orsedd med efterord av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang\ och med efterord av}}, + byeditorcoin = {{utgiven, kommenterad och f\"orsedd med inledning av}% + {utg.,\addabbrvspace kommenterad och med inl\adddot\ av}}, + byeditorcofo = {{utgiven, kommenterad och f\"orsedd med f\"orord av}% + {utg.,\addabbrvspace kommenterad och med f\"orord av}}, + byeditorcoaf = {{utgiven, kommenterad och f\"orsedd med efterord av}% + {utg.,\addabbrvspace kommenterad och med efterord av}}, + byeditoranin = {{utgiven, f\"orklarad och f\"orsedd med inledning av}% + {utg.,\addabbrvspace f\"orklarad och med inl\adddot\ av}}, + byeditoranfo = {{utgiven, f\"orklarad och f\"orsedd med f\"orord av}% + {utg.,\addabbrvspace f\"orklarad och med f\"orord av}}, + byeditoranaf = {{utgiven, f\"orklarad och f\"orsedd med efterord av}% + {utg.,\addabbrvspace f\"orklarad och med efterord av}}, + byeditortrcoin = {{utgiven, \"oversatt \lbx@lfromlang, kommenterad och f\"orsedd med inledning av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang, kommenterad och med inl\adddot\ av}}, + byeditortrcofo = {{utgiven, \"oversatt \lbx@lfromlang, kommenterad och f\"orsedd med f\"orord av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang, kommenterad och med f\"orord av}}, + byeditortrcoaf = {{utgiven, \"oversatt \lbx@lfromlang, kommenterad och f\"orsedd med efterord av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang, kommenterad och med efterord av}}, + byeditortranin = {{utgiven, \"oversatt \lbx@lfromlang, f\"orklarad och f\"orsedd med inledning av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang, f\"orklarad och med inl\adddot\ av}}, + byeditortranfo = {{utgiven, \"oversatt \lbx@lfromlang, f\"orklarad och f\"orsedd med f\"orord av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang, f\"orklarad och med f\"orord av}}, + byeditortranaf = {{utgiven, \"oversatt \lbx@lfromlang, f\"orklarad och f\"orsedd med efterord av}% + {utg.,\addabbrvspace \"overs\adddot\ \lbx@sfromlang, f\"orklarad och med efterord av}}, + bytranslatorco = {{\"oversatt \lbx@lfromlang\ och kommenterad av}% + {\"overs\adddot\ \lbx@sfromlang\ och kommenterad av}}, + bytranslatoran = {{\"oversatt \lbx@lfromlang\ och f\"orklarad av}% + {\"overs\adddot\ \lbx@sfromlang\ och f\"orklarad av}}, + bytranslatorin = {{\"oversatt \lbx@lfromlang\ och f\"orsedd med inledning av}% + {\"overs\adddot\ \lbx@sfromlang\ och med inl\adddot\ av}}, + bytranslatorfo = {{\"oversatt \lbx@lfromlang\ och f\"orsedd med f\"orord av}% + {\"overs\adddot\ \lbx@sfromlang\ och med f\"orord av}}, + bytranslatoraf = {{\"oversatt \lbx@lfromlang\ och f\"orsedd med efterord av}% + {\"overs\adddot\ \lbx@sfromlang\ och med efterord av}}, + bytranslatorcoin = {{\"oversatt \lbx@lfromlang, kommenterad och f\"orsedd med inledning av}% + {\"overs\adddot\ \lbx@sfromlang, kommenterad och med inl\adddot\ av}}, + bytranslatorcofo = {{\"oversatt \lbx@lfromlang, kommenterad och f\"orsedd med f\"ordord av}% + {\"overs\adddot\ \lbx@sfromlang, kommenterad och med f\"ordord av}}, + bytranslatorcoaf = {{\"oversatt \lbx@lfromlang, kommenterad och f\"orsedd med efterord av}% + {\"overs\adddot\ \lbx@sfromlang, kommenterad och med efterord av}}, + bytranslatoranin = {{\"oversatt \lbx@lfromlang, f\"orklarad och f\"orsedd med inledning av}% + {\"overs\adddot\ \lbx@sfromlang, f\"orklarad med inledning\ av}}, + bytranslatoranfo = {{\"oversatt \lbx@lfromlang, f\"orklarad och f\"orsedd med f\"orord av}% + {\"overs\adddot\ \lbx@sfromlang, f\"orklarad med f\"orord av}}, + bytranslatoranaf = {{\"oversatt \lbx@lfromlang, f\"orklarad och f\"orsedd med efterord av}% + {\"overs\adddot\ \lbx@sfromlang, f\"orklarad med efterord av}}, + and = {{och}{och}}, + % Hedberg uses "et al.", but in an all-Swedish lists "m.fl." may be used + andothers = {{m.\,fl\adddot}{m.\,fl\adddot}}, + andmore = {{m.\,fl\adddot}{m.\,fl\adddot}}, + volume = {{volym}{vol\adddot}}, + volumes = {{volymer}{vol\adddot}}, + involumes = {{i}{i}}, + jourvol = {{\aa rg\aa ng}{\aa rg\adddot}}, + jourser = {{serie}{ser\adddot}}, + book = {{bok}{bok}}, + part = {{del}{del}}, +% issue = {{}{}},% FIXME: missing + % Both "ny serie (N.S.)" and "ny f\"oljd (N.F.)" are common + newseries = {{ny f\"oljd}{N.\,F\adddot}}, + oldseries = {{gammal f\"oljd}{gammal f\"oljd}}, + % In Swedish books both "upplaga" and "utg\aa va" are common. + % Hedberg (p. 82f.) uses the later in the terminology section + % (but uses whatever is given in a particular book otherwise). +% edition = {{upplaga}{uppl\adddot}}, + edition = {{utg\aa van}{utg\adddot}}, + reprint = {{nytryck}{nytr\adddot}}, + reprintof = {{nytryck av}{nytr\adddotspace av}}, + reprintas = {{nytryckt som}{nytr\adddotspace som}}, + reprintfrom = {{nytryckt fr\aa n}{nytryckt fr\aa n}},% FIXME: check + translationof = {{\"overs\"attning av}{\"overs\adddot\ av}}, + translationas = {{\"overs\"attning som}{\"overs\adddot\ som}}, + translationfrom = {{\"overs\"attning fr\aa n}{\"overs\adddotspace fr\aa n}}, + reviewof = {{recension av}{recension av}}, + origpubas = {{ursprungligen publicerad som}{ursprunglingen publ\adddot\ som}}, + origpubin = {{ursprungligen publicerad}{ursprungligen publ\adddot}}, + astitle = {{som}{som}}, + bypublisher = {{av}{av}}, + nodate = {{u\adddot\,\aa \adddot}{u\adddot\,\aa \adddot}}, + page = {{sidan}{s\adddot}}, + pages = {{sidorna}{s\adddot}}, + column = {{spalt}{sp\adddot}}, + columns = {{spalterna}{sp\adddot}}, + line = {{rad}{r\adddot}}, + lines = {{raderna}{r\adddot}}, + verse = {{vers}{v\adddot}}, + verses = {{verserna}{v\adddot}}, + section = {{paragraf}{\S}}, + sections = {{paragraferna}{\S}}, + % "paragraph" is "stycke" in Swedish, but this is probably + % more suitable for works referenced by paragraphs + paragraph = {{paragraf}{\S}}, + paragraphs = {{paragraferna}{\S}}, + pagetotal = {{sida}{s\adddot}}, + pagetotals = {{sidor}{s\adddot}}, + columntotal = {{spalt}{sp\adddot}}, + columntotals = {{spalter}{sp\adddot}}, + linetotal = {{rad}{r\adddot}}, + linetotals = {{rader}{r\adddot}}, + versetotal = {{vers}{v\adddot}}, + versetotals = {{verser}{v\adddot}}, + sectiontotal = {{paragraf}{\S}}, + sectiontotals = {{paragrafer}{\S}}, + paragraphtotal = {{paragraf}{\S}}, + paragraphtotals = {{paragrafer}{\S}}, + in = {{i}{i}}, + inseries = {{i}{i}}, + ofseries = {{i}{i}}, + number = {{nummer}{nr}}, + chapter = {{kapitel}{kap\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{examensarbete}{examensarb\adddot}}, + phdthesis = {{doktorsavhandling}{diss\adddot}}, + candthesis = {{kandidatavhandling}{kand.avh}},% FIXME: unsure + resreport = {{forskningsrapport}{forskn.rapport}}, + techreport = {{teknisk rapport}{tekn\adddotspace rapport}}, + % Hedberg (p. 57) uses "Datafil" and adds that it's possible to + % render more precisely "[Programfil] resp [Textfil] e. dyl." + software = {{datorprogram}{datorprogram}}, + datacd = {{data-cd}{data-cd}}, + audiocd = {{ljud-cd}{ljud-cd}}, + version = {{version}{version}}, + url = {{webbadress}{URL}}, + urlfrom = {{tillg\"anglig fr\aa n}{tillg\"anglig fr\aa n}}, + urlseen = {{senast h\"amtad}{h\"amtad}}, +% inpreparation = {{}{}},% FIXME: missing +% submitted = {{}{}},% FIXME: missing +% forthcoming = {{}{}},% FIXME: missing +% inpress = {{}{}},% FIXME: missing +% prepublished = {{}{}},% FIXME: missing + citedas = {{h\"adanefter citerad som}{h\"adanefter cit\adddotspace som}}, +% thiscite = {{}{}},% FIXME: missing + seenote = {{se not}{se not}}, + quotedin = {{citerad i}{cit\adddotspace i}}, + idem = {{densamma}{dens\adddot}},% or Latin: idem + idemsf = {{densamma}{dens\adddot}}, + idemsm = {{densamme}{dens\adddot}}, + idemsn = {{densamma}{dens\adddot}}, + idempf = {{desamma}{desamma}}, + idempm = {{desamma}{desamma}}, + idempn = {{desamma}{desamma}}, + idempp = {{desamma}{desamma}}, + ibidem = {{ibidem}{ibid\adddot}}, + opcit = {{a.\,a\adddot}{a.\,a\adddot}},% or Latin: op. cit. + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + confer = {{j\"amf\"or}{jfr}}, + sequens = {{f\adddot}{f\adddot}}, + sequentes = {{ff\adddot}{ff\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{se}{se}}, + seealso = {{se \"aven}{se \"aven}}, + backrefpage = {{se sidan}{se s\adddot}}, + backrefpages = {{se sidorna}{se s\adddot}}, + january = {{januari}{jan\adddot}}, + february = {{februari}{febr\adddot}}, + march = {{mars}{mars}}, + april = {{april}{april}}, + may = {{maj}{maj}}, + june = {{juni}{juni}}, + july = {{juli}{juli}}, + august = {{augusti}{aug\adddot}}, + september = {{september}{sept\adddot}}, + october = {{oktober}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{december}{dec\adddot}}, + langamerican = {{amerikanska}{amerikanska}}, +% langbrazilian = {{}{}},% FIXME: missing +% langbulgarian = {{}{}},% FIXME: missing + langcatalan = {{katalanska}{katalanska}}, + langcroatian = {{kroatiska}{kroatiska}}, + langczech = {{tjeckiska}{tjeckiska}}, + langdanish = {{danska}{danska}}, + langdutch = {{nederl\"andska}{nederl\"andska}}, + langenglish = {{engelska}{engelska}}, +% langestonian = {{}{}},% FIXME: missing + langfinnish = {{finska}{finska}}, + langfrench = {{franska}{franska}}, + langgalician = {{galiciska}{galiciska}}, + langgerman = {{tyska}{tyska}}, + langgreek = {{grekiska}{grekiska}}, +% langhungarian = {{}{}}, % FIXME: missing + langitalian = {{italienska}{italienska}}, + langlatin = {{latin}{latin}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{norska}{norska}}, + langpolish = {{polska}{polska}}, + langportuguese = {{portugisiska}{portugisiska}}, + langrussian = {{ryska}{ryska}}, +% langslovene = {{}{}},% FIXME: missing + langspanish = {{spanska}{spanska}}, + langswedish = {{svenska}{svenska}}, + fromamerican = {{fr\aa n amerikanska}{fr\aa n amerikanska}}, +% frombrazilian = {{}{}},% FIXME: missing +% frombulgarian = {{}{}},% FIXME: missing + fromcatalan = {{fr\aa n katalanska}{fr\aa n katalanska}}, + fromcroatian = {{fr\aa n kroatiska}{fr\aa n kroatiska}}, + fromczech = {{fr\aa n tjeckiska}{fr\aa n tjeckiska}}, + fromdanish = {{fr\aa n danska}{fr\aa n danska}}, + fromdutch = {{fr\aa n nederl\"andska}{fr\aa n nederl\"andska}}, + fromenglish = {{fr\aa n engelska}{fr\aa n engelska}}, +% fromestonian = {{}{}},% FIXME: missing + fromfinnish = {{fr\aa n finska}{fr\aa n finska}}, + fromfrench = {{fr\aa n franska}{fr\aa n franska}}, + fromgalician = {{fr\aa n galiciska}{fr\aa n galiciska}}, + fromgerman = {{fr\aa n tyska}{fr\aa n tyska}}, + fromgreek = {{fr\aa n grekiska}{fr\aa n grekiska}}, +% fromhungarian = {{}{}}, % FIXME: missing + fromitalian = {{fr\aa n italienska}{fr\aa n italienska}}, + fromlatin = {{fr\aa n latin}{fr\aa n latin}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{fr\aa n norska}{fr\aa n norska}}, + frompolish = {{fr\aa n polska}{fr\aa n polska}}, + fromportuguese = {{fr\aa n portugisiska}{fr\aa n portugisiska}}, + fromrussian = {{fr\aa n ryska}{fr\aa n ryska}}, +% fromslovak = {{}{}},% FIXME: missing +% fromslovene = {{}{}},% FIXME: missing + fromspanish = {{fr\aa n spanska}{fr\aa n spanska}}, + fromswedish = {{fr\aa n svenska}{fr\aa n svenska}}, + countryde = {{Tyskland}{DE}}, + countryep = {{Europeiska unionen}{EP}}, + countryeu = {{Europeiska unionen}{EU}}, + countryfr = {{Frankrike}{FR}}, + countryuk = {{Storbritannien}{GB}}, + countryus = {{USA}{US}}, + patent = {{patent}{patent}}, + patentde = {{tyskt patent}{tyskt patent}}, + patenteu = {{europeiskt patent}{europeiskt patent}}, + patentfr = {{franskt patent}{franskt patent}}, + patentuk = {{brittiskt patent}{brittiskt patent}}, + patentus = {{amerikanskt patent}{amerikanskt patent}}, + patreq = {{patentans\"okan}{patentans\"okan}}, + patreqde = {{ans\"okan om tyskt patent}{ans\"okan om tyskt patent}}, + patreqeu = {{ans\"okan om europeiskt patent}{ans\"okan om europeiskt patent}}, + patreqfr = {{ans\"okan om franskt patent}{ans\"okan om franskt patent}}, + patrequk = {{ans\"okan om brittiskt patent}{ans\"okan om brittiskt patent}}, + patrequs = {{ans\"okan om amerikanskt patent}{ans\"okan om amerikanskt patent}}, + file = {{fil}{fil}}, + library = {{bibliotek}{bibliotek}}, + abstract = {{sammandrag}{sammandrag}}, + annotation = {{anm\"arkning}{anm\adddot}}, + commonera = {{v\"asterl\"andsk tider\"akning}{v\adddot t\adddot}}, + beforecommonera = {{f\"ore v\"asterl\"andsk tider\"akning}{f\adddot v\adddot t\adddot}}, + annodomini = {{efter Kristus}{e\adddot Kr\adddot}}, + beforechrist = {{f\"ore Kristus}{f\adddot Kr\adddot}}, +% circa = {{}{}},% FIXME: missing +% spring = {{}{}},% FIXME: missing +% summer = {{}{}},% FIXME: missing +% autumn = {{}{}},% FIXME: missing +% winter = {{}{}},% FIXME: missing +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{fm}{fm}}, + pm = {{em}{em}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/swissgerman-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/swissgerman-ms.lbx new file mode 100644 index 00000000000..4c09e916d84 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/swissgerman-ms.lbx @@ -0,0 +1,24 @@ +\ProvidesFile{swissgerman-ms.lbx} +[\abx@lbxid] + +\InheritBibliographyExtras{german} + +% Swiss time sep is a dot +\DeclareBibliographyExtras{% + \protected\def\bibtimesep{.}% +} + +% One point where Swiss German spelling +% differs from Austrian and German German +% is the (non-)use of \ss +\DeclareBibliographyStrings{% + inherit = {german}, + countryuk = {{Grossbritannien}{GB}}, +} + +\DeclareHyphenationExceptions{% + Pa-tent-an-mel-dung + Pa-tent-an-meld +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-ms/lbx/turkish-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/turkish-ms.lbx new file mode 100644 index 00000000000..d350d38da38 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/turkish-ms.lbx @@ -0,0 +1,577 @@ +\ProvidesFile{turkish-ms.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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\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}}, + langbasque = {{Bask\c{c}a}{Bask\c{c}a}}, + 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}}, + langmarathi = {{Marathice}{Marathice}}, + langnorwegian = {{Norve\c{c}\c{c}e}{Norve\c{c}\c{c}e}}, + langpolish = {{Polonyaca}{Polonyaca}}, + langportuguese = {{Portekizce}{Portekizce}}, + langromanian = {{Rumence}{Rumence}}, + 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}}, + langturkish = {{T\"{u}rk\c{c}e}{T\"{u}rk\c{c}e}}, + langukrainian = {{Ukraynaca}{Ukraynaca}}, + fromamerican = {{Amerikanca'dan}{Amerikanca'dan}}, + frombasque = {{Bask\c{c}a'dan}{Bask\c{c}a'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}}, + frommarathi = {{Marathice'den}{Marathice'den}}, + 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}}, + fromromanian = {{Rumence'den}{Rumence'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}}, + fromturkish = {{T\"{u}rk\c{c}e'den}{T\"{u}rk\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}}}, + springN = {{\.{I}lkbahar (Kuzey Yar\i mk\"{u}re)}{\.{I}lkbahar KY}}, + summerN = {{Yaz (Kuzey Yar\i mk\"{u}re)}{Yaz KY}}, + autumnN = {{Sonbahar (Kuzey Yar\i mk\"{u}re)}{Sonbahar KY}}, + winterN = {{K\i \c{s} (Kuzey Yar\i mk\"{u}re)}{K\i \c{s} KY}}, + springS = {{\.{I}lkbahar (G\"{u}ney Yar\i mk\"{u}re)}{\.{I}lkbahar GY}}, + summerS = {{Yaz (G\"{u}ney Yar\i mk\"{u}re)}{Yaz GY}}, + autumnS = {{Sonbahar (G\"{u}ney Yar\i mk\"{u}re)}{Sonbahar GY}}, + winterS = {{K\i \c{s} (G\"{u}ney Yar\i mk\"{u}re)}{K\i \c{s} GY}}, + Q1 = {{birinci \c{c}eyrek}{1\adddot \c{C}}}, + Q2 = {{ikinci \c{c}eyrek}{2\adddot \c{C}}}, + Q3 = {{\"{u}\c{c}\"{u}nc\"{u} \c{c}eyrek}{3\adddot \c{C}}}, + Q4 = {{d\"{o}rd\"{u}nc\"{u} \c{c}eyrek}{4\adddot \c{C}}}, + QD1 = {{birinci d\"{o}rt\"{u}k}{1\adddot D}}, + QD2 = {{ikinci d\"{o}rt\"{u}k}{2\adddot D}}, + QD3 = {{\"{u}\c{c}\"{u}nc\"{u} d\"{o}rt\"{u}k}{3\adddot D}}, + S1 = {{birinci yar\i y\i l}{1\adddot YY}}, + S2 = {{ikinci yar\i y\i l}{1\adddot YY}}, + 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-ms/lbx/ukrainian-ms.lbx b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/ukrainian-ms.lbx new file mode 100644 index 00000000000..be23b0959f9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-ms/lbx/ukrainian-ms.lbx @@ -0,0 +1,623 @@ +\ProvidesFile{ukrainian-ms.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{ukrainian}{ukrainian} + +% This file requires UTF-8 support! + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Ukrainian requires UTF-8 support} + {The 'ukrainian.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 + ukrainian.lbx now.}% + \endinput} + +\NewBibliographyString{% Used only Ukrainian for month checks + datejanuary, + datefebruary, + datemarch, + dateapril, + datemay, + datejune, + datejuly, + dateaugust, + dateseptember, + dateoctober, + datenovember, + datedecember% +} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{% + \textemdash\penalty\hyphenpenalty}% breakable dash + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \protected\def\mkbibordinal#1{\mkbibmascord}% + \protected\def\mkbibmascord#1{#1-й}% + \protected\def\mkbibfemord#1{#1-я}% + \protected\def\mkbibneutord#1{#1-е}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\iffieldundef{#3} + {\mkbibmonth{\thefield{#2}}} + {\lbx@ru@mkbibdatemonth{\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}{}{\adddot}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{\adddot}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibneutord}% + \def\mkbibordseries{\mkbibfemord}% + \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\mkbibyeardivisiondateshort#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% + \protected\def\mkbibyeardivisiondatelong#1#2{% + \mkbibyeardivision{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries +} + +\DeclareBibliographyStrings{% + bibliography = {{Перелік літератури}{Література}},%book-like (chapter) + references = {{Перелік літератури}{Література}},%article-like (section) + shorthands = {{Перелік скорочень}{Скорочення}}, + editor = {{редактор}{ред\adddot}}, + editors = {{редактори}{ред\adddot}}, + compiler = {{укладач}{уклад\adddot}}, + compilers = {{укладачі}{уклад\adddot}}, + redactor = {{редактор}{ред\adddot}},% FIXME: unsure + redactors = {{редактори}{ред\adddot}},% FIXME: unsure + reviser = {{ревізійний коректор}{ревіз\adddotspace кор\adddot}}, + revisers = {{ревізійні коректори}{ревіз\adddotspace кор\adddot}}, + founder = {{засновник}{засн\adddot}}, + founders = {{засновник}{засн\adddot}}, + continuator = {{продовжувач}{прод\adddot}},% FIXME: unsure + continuators = {{продовжувачі}{прод\adddot}},% FIXME: unsure + collaborator = {{учасник}{учас\adddot}},% FIXME: unsure + collaborators = {{учасники}{учас\adddot}},% FIXME: unsure + translator = {{перекладач}{пер\adddot}}, + translators = {{перекладачі}{пер\adddot}}, + commentator = {{коментатор}{комент\adddot}}, + commentators = {{коментатори}{комент\adddot}}, + annotator = {{примітки}{прим\adddot}}, + annotators = {{примітки}{прим\adddot}}, + commentary = {{коментар}{комент\adddot}}, + annotations = {{примітки}{прим\adddot}}, + introduction = {{вступна стаття}{вступ\adddotspace ст\adddot}}, + foreword = {{передмова}{передм\adddot}}, + afterword = {{післямова}{післям\adddot}}, + editortr = {{редактор та перекладач}% + {ред\adddotspace та пер\adddot}}, + editorstr = {{редактори та перекладачі}% + {ред\adddotspace та пер\adddot}}, + editorco = {{редактор та коментатор}% + {ред\adddotspace та комент\adddot}}, + editorsco = {{редактори та коментатори}% + {ред\adddotspace та комент\adddot}}, + editoran = {{редактор та укладач приміток}% + {ред\adddotspace та укл\adddotspace прим\adddot}}, + editorsan = {{редактори та укладачі приміток}% + {ред\adddotspace та укл\adddotspace прим\adddot}}, + editorin = {{редактор та автор вступної статті}% + {ред\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editorsin = {{редактори та автори вступної статті}% + {ред\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editorfo = {{редактор та автор передмови}% + {ред\adddotspace та авт\adddotspace передм\adddot}}, + editorsfo = {{редактори та автори передмови}% + {ред\adddotspace та авт\adddotspace передм\adddot}}, + editoraf = {{редактор та автор післямови}% + {ред\adddotspace та авт\adddotspace післям\adddot}}, + editorsaf = {{редактори та автори післямови}% + {ред\adddotspace та авт\adddotspace післям\adddot}}, + editortrco = {{редактор, перекладач та автор коментарів}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace комент\adddot}}, + editorstrco = {{редактори, перекладачі та автори коментарів}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace комент\adddot}}, + editortran = {{редактор, перекладач та укладач приміток}% + {ред.,\addabbrvspace пер\adddotspace та укл\adddotspace прим\adddot}}, + editorstran = {{редактори, перекладачі та укладачі приміток}% + {ред.,\addabbrvspace пер\adddotspace та укл\adddotspace прим\adddot}}, + editortrin = {{редактор, перекладач та автор вступної статті}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editorstrin = {{редактори, перекладачі та автори вступної статті}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editortrfo = {{редактор, перекладач та автор передмови}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace передм\adddot}}, + editorstrfo = {{редактори, перекладачі та автори передмови}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace передм\adddot}}, + editortraf = {{редактор, перекладач та автор післямови}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace післямови\adddot}}, + editorstraf = {{редактори, перекладачі та автори післямови}% + {ред.,\addabbrvspace пер\adddotspace та авт\adddotspace післям\adddot}}, + editorcoin = {{редактор, автор коментарів та вступної статті}% + {ред.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + editorscoin = {{редактори, автори коментарів та вступної статті}% + {ред.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + editorcofo = {{редактор, автор коментарів та передмови}% + {ред.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + editorscofo = {{редактори, автори коментарів та передмови}% + {ред.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + editorcoaf = {{редактор, автор коментарів та післямови}% + {ред.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + editorscoaf = {{редактори, автори коментарів та післямови}% + {ред.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + editoranin = {{редактор, укладач приміток та автор вступної статті}% + {ред.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editorsanin = {{редактори, укладачі приміток та автори вступної статті}% + {ред.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editoranfo = {{редактор, укладач приміток та автор передмови}% + {ред.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace передм\adddot}}, + editorsanfo = {{редактори, укладачі приміток та автори передмови}% + {ред.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace передм\adddot}}, + editoranaf = {{редактор, укладач приміток та автор післямови}% + {ред.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace післям\adddot}}, + editorsanaf = {{редактори, укладачі приміток та автори післямови}% + {ред.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace післям\adddot}}, + editortrcoin = {{редактор, перекладач, автор коментарів та вступної статті}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + editorstrcoin = {{редактори, перекладачі, автори коментарів та вступної статті}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + editortrcofo = {{редактор, перекладач, автор коментарів та передмови}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + editorstrcofo = {{редактори, перекладачі, автори коментарів та передмови}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + editortrcoaf = {{редактор, перекладач, автор коментарів та післямови}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + editorstrcoaf = {{редактори, перекладачі, автори коментарів та післямови}% + {ред.,\addabbrvspace пер.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + editortranin = {{редактор, перекладач, укладач приміток та автор вступної статті}% + {ред.,\addabbrvspace пер.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editorstranin = {{редактори, перекладачі, укладачі приміток та автори вступної статті}% + {ред.,\addabbrvspace пер.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + editortranfo = {{редактор, перекладач, укладач приміток та автор передмови}% + {ред.,\addabbrvspace пер.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace передм\adddot}}, + editorstranfo = {{редактори, перекладачі, укладачі приміток та автори передмови}% + {ред.,\addabbrvspace пер.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace передм\adddot}}, + editortranaf = {{редактор, перекладач, укладач приміток та автор післямови}% + {ред.,\addabbrvspace пер.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace післям\adddot}}, + editorstranaf = {{редактори, перекладачі, укладачі приміток та автори післямови}% + {ред.,\addabbrvspace пер.,\addabbrvspace укл\adddotspace прим\adddotspace та авт\adddotspace післям\adddot}}, + translatorco = {{перекладач та автор коментарів}% + {пер\adddotspace та авт\adddotspace комент\adddot}}, + translatorsco = {{перекладачі та автор коментарів}% + {пер\adddotspace та авт\adddotspace комент\adddot}}, + translatoran = {{перекладач та автор приміток}% + {пер\adddotspace та укл\adddotspace прим\adddot}}, + translatorsan = {{перекладачі та укладачі приміток}% + {пер\adddotspace та уклад\adddotspace прим\adddot}}, + translatorin = {{перекладач та автор вступної статті}% + {пер\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + translatorsin = {{перекладачі та автори вступної статті}% + {пер\adddotspace та авт\adddotspace вступ\adddotspace ст\adddot}}, + translatorfo = {{перекладач та автор передмови}% + {пер\adddotspace та авт\adddotspace передм\adddot}}, + translatorsfo = {{перекладачі та автори передмови}% + {пер\adddotspace та авт\adddotspace передм\adddot}}, + translatoraf = {{перекладач та автор післямови}% + {пер\adddotspace та авт\adddotspace післям\adddot}}, + translatorsaf = {{перекладачі та автори післямови}% + {пер\adddotspace та авт\adddotspace післям\adddot}}, + translatorcoin = {{перекладач, автор коментарів та вступної статті}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + translatorscoin = {{перекладачі, автори коментарів та вступної статті}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + translatorcofo = {{перекладач, автор коментарів та передмови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + translatorscofo = {{перекладачі, автори коментарів та передмови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + translatorcoaf = {{перекладач, автор коментарів та післямови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + translatorscoaf = {{перекладачі, автори коментарів та післямови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + translatoranin = {{перекладач, автор коментарів та вступної статті}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + translatorsanin = {{перекладачі, автори коментарів та вступної статті}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + translatoranfo = {{перекладач, автор коментарів та передмови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + translatorsanfo = {{перекладачі, автори коментарів та передмови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та передм\adddot}}, + translatoranaf = {{перекладач, автор коментарів та післямови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + translatorsanaf = {{перекладачі, автори коментарів та післямови}% + {пер.,\addabbrvspace авт\adddotspace комент\adddotspace та післям\adddot}}, + organizer = {{організатор}{орг\adddot}}, + organizers = {{організатори}{орг\adddot}}, + byorganizer = {{організатор}{орг\adddot}},% FIXME: unsure + byauthor = {{згідно автора}{згідн\adddot авт\adddot}}, + byeditor = {{за редакцією}{за\addabbrvspace ред\adddot}}, + bycompiler = {{укладач}{уклад\adddot}}, + byredactor = {{за редакцією}{за\addabbrvspace ред\adddot}}, + byreviser = {{виправлено}{випр\adddot}}, + byreviewer = {{рецензія}{рец\adddot}}, + byfounder = {{засновник}{засн\adddot}},% FIXME: unsure + bycontinuator = {{продовження}{продовж\adddot}},% FIXME: unsure + bycollaborator = {{за участю}{за\addabbrvspace уч\adddot}}, + bytranslator = {{переклад \lbx@lfromlang}{пер\adddot\ \lbx@sfromlang}}, + bycommentator = {{коментарі}{комент\adddot}}, + byannotator = {{примітки}{прим\adddot}}, + withcommentator = {{коментарі}{комент\adddot}}, + withannotator = {{примітки}{прим\adddot}}, + withintroduction = {{вступна стаття}{вступ\adddotspace ст\adddot}}, + withforeword = {{передмовие}{передм\adddot}}, + withafterword = {{післямовие}{післям\adddot}}, + byeditortr = {{переклад \lbx@lfromlang, за редакцією}% + {пер\adddot\ \lbx@sfromlang, за\addabbrvspace ред\adddot}}, + byeditorco = {{за редакцією, коментарі}% + {за ред.,\addabbrvspace комент\adddot}}, + byeditoran = {{за редакцією, примітки}% + {за ред.,\addabbrvspace прим\adddot}}, + byeditorin = {{за редакцією, вступна стаття}% + {за ред.,\addabbrvspace вступ\adddotspace ст\adddot}}, + byeditorfo = {{за редакцією, передмова}% + {за ред.,\addabbrvspace передм\adddot}}, + byeditoraf = {{за редакцією, післямова}% + {за ред.,\addabbrvspace післям\adddot}}, + byeditortrco = {{за редакцією, переклад \lbx@lfromlang\ та коментарі}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang\ та комент\adddot}}, + byeditortran = {{за редакцією, переклад \lbx@lfromlang\ та примітки}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang\ та прим\adddot}}, + byeditortrin = {{за редакцією, переклад \lbx@lfromlang, вступна стаття}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, вступ\adddotspace ст\adddot}}, + byeditortrfo = {{за редакцією, переклад \lbx@lfromlang, передмовие}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, передм\adddot}}, + byeditortraf = {{за редакцією, переклад \lbx@lfromlang, післямова}% + {за ред\adddotspace та пер\adddot\ \lbx@sfromlang, післям\adddot}}, + byeditorcoin = {{за редакцією, коментарі та вступна стаття}% + {за ред.,\addabbrvspace комент\adddotspace та вступ\adddotspace ст\adddot}}, + byeditorcofo = {{за редакцією, коментарі та передмова}% + {за ред.,\addabbrvspace комент\adddotspace та передм\adddot}}, + byeditorcoaf = {{за редакцією, коментарі та післямова}% + {за ред.,\addabbrvspace комент\adddotspace та післям\adddot}}, + byeditoranin = {{за редакцією, примітки та вступна стаття}% + {за ред.,\addabbrvspace приміт\adddotspace та вступ\adddotspace ст\adddot}}, + byeditoranfo = {{за редакцією, примітки та передмова}% + {за ред.,\addabbrvspace приміт\adddotspace та передм\adddot}}, + byeditoranaf = {{за редакцією, примітки та післямова}% + {за ред.,\addabbrvspace приміт\adddotspace та післям\adddot}}, + byeditortrcoin = {{за редакцією, переклад \lbx@lfromlang, коментарі та вступна стаття}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, комент\adddotspace та вступ\adddotspace ст\adddot}}, + byeditortrcofo = {{за редакцією, переклад \lbx@lfromlang, коментарі та передмова}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, комент\adddotspace та передм\adddot}}, + byeditortrcoaf = {{за редакцією, переклад \lbx@lfromlang, коментарі та післямова}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, комент\adddotspace та післям\adddot}}, + byeditortranin = {{за редакцією, переклад \lbx@lfromlang, примітки та вступна стаття}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, прим\adddotspace та вступ\adddotspace ст\adddot}}, + byeditortranfo = {{за редакцією, переклад \lbx@lfromlang, примітки та передмова}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, прим\adddotspace та передм\adddot}}, + byeditortranaf = {{за редакцією, переклад \lbx@lfromlang, примітки та післямова}% + {за ред.,\addabbrvspace пер\adddot\ \lbx@sfromlang, прим\adddotspace та післям\adddot}}, + bytranslatorco = {{переклад \lbx@lfromlang\ та коментарі}% + {пер\adddot\ \lbx@sfromlang\ та комент\adddot}}, + bytranslatoran = {{переклад \lbx@lfromlang\ та примітки}% + {пер\adddot\ \lbx@sfromlang\ та прим\adddot}}, + bytranslatorin = {{переклад \lbx@lfromlang\ та вступна стаття}% + {пер\adddot\ \lbx@sfromlang\ та вступ\adddotspace ст\adddot}}, + bytranslatorfo = {{переклад \lbx@lfromlang\ та передмова}% + {пер\adddot\ \lbx@sfromlang\ та передм\adddot}}, + bytranslatoraf = {{переклад \lbx@lfromlang\ та післямова}% + {пер\adddot\ \lbx@sfromlang\ та післям\adddot}}, + bytranslatorcoin = {{переклад \lbx@lfromlang, коментарі та вступна стаття}% + {пер\adddot\ \lbx@sfromlang, комент\adddotspace та вступ\adddotspace ст\adddot}}, + bytranslatorcofo = {{переклад \lbx@lfromlang, коментарі та передмова}% + {пер\adddot\ \lbx@sfromlang, комент\adddotspace та передм\adddot}}, + bytranslatorcoaf = {{переклад \lbx@lfromlang, коментарі та післямова}% + {пер\adddot\ \lbx@sfromlang, комент\adddotspace та післям\adddot}}, + bytranslatoranin = {{переклад \lbx@lfromlang, примітки та вступна стаття}% + {пер\adddot\ \lbx@sfromlang, прим\adddotspace та вступ\adddotspace ст\adddot}}, + bytranslatoranfo = {{переклад \lbx@lfromlang, примітки та передмова}% + {пер\adddot\ \lbx@sfromlang, прим\adddotspace та передм\adddot}}, + bytranslatoranaf = {{переклад \lbx@lfromlang, примітки та післямова}% + {пер\adddot\ \lbx@sfromlang, прим\adddotspace та післям\adddot}}, + and = {{та}{та}}, + andothers = {{та\addabbrvspace ін\adddot}{та\addabbrvspace ін\adddot}}, + andmore = {{та\addabbrvspace ін\adddot}{та\addabbrvspace ін\adddot}}, + volume = {{том}{т\adddot}}, + volumes = {{томах}{т\adddot}}, + involumes = {{в}{в}}, + jourvol = {{том}{т\adddot}}, + jourser = {{серія}{сер\adddot}}, + book = {{книга}{кн\adddot}}, + part = {{частина}{ч\adddot}}, + issue = {{випуск}{вип\adddot}}, + newseries = {{нова серія}{нов\adddotspace сер\adddot}}, + oldseries = {{стара серія}{стар\adddotspace сер\adddot}}, + edition = {{видання}{вид\adddot}}, + reprint = {{перевидання}{перевид\adddot}}, + reprintof = {{перевидання}{перевид\adddot}}, + reprintas = {{перевидано як}{перевид\adddotspace як}}, + reprintfrom = {{перевидано з}{перевид\adddotspace з}}, + translationof = {{переклад по виданню\addcolon}{пер\adddotspace по вид\adddot\addcolon}}, + translationas = {{переклад\addcolon}{пер\adddot\addcolon}}, + translationfrom = {{переклад з}{пер\adddotspace з}}, + reviewof = {{рецензія на\addcolon}{рец\adddotspace на\addcolon}},% FIXME: unsure + origpubas = {{перша публикація\addcolon}% + {перш\adddotspace публ\adddot\addcolon}}, + origpubin = {{перша публікация в}% + {перш\adddotspace публ\adddotspace в}}, + astitle = {{\addcolon}{\addcolon}},% FIXME: unsure + bypublisher = {{\addcomma}{\addcomma}},% FIXME: unsure + nodate = {{б\adddot р\adddot}{б\adddot р\adddot}}, + page = {{сторінка}{с\adddot}}, + pages = {{сторінки}{с\adddot}}, + column = {{колонка}{кол\adddot}}, + columns = {{колонки}{кол\adddot}}, + line = {{рядок}{рядок}}, + lines = {{рядки}{рядки}}, + verse = {{вірш}{вірш}}, + verses = {{вірші}{вірші}}, + section = {{параграф}{\S}}, + sections = {{параграфи}{\S\S}}, + paragraph = {{абзац}{абз\adddot}}, + paragraphs = {{абзаци}{абз\adddot}}, + pagetotal = {{сторінка}{с\adddot}}, + pagetotals = {{сторінки}{с\adddot}}, + columntotal = {{колонка}{кол\adddot}}, + columntotals = {{колонки}{кол\adddot}}, + linetotal = {{рядок}{рядок}}, + linetotals = {{рядки}{рядки}}, + versetotal = {{вірш}{вірш}}, + versetotals = {{вірші}{вірші}}, + sectiontotal = {{параграф}{\S}}, + sectiontotals = {{параграфи}{\S\S}}, + paragraphtotal = {{абзац}{абз\adddot}}, + paragraphtotals = {{абзаци}{абз\adddot}}, + in = {{в}{в}}, + inseries = {{в}{в}}, + ofseries = {{із}{із}}, + number = {{номер}{№}}, + chapter = {{глава}{гл\adddot}}, +% bathesis = {{}{}},% FIXME: missing + mathesis = {{дис\adddotspace\textellipsis\ маг\adddot} + {дис\adddotspace\textellipsis\ маг\adddot}}, + phdthesis = {{дис\adddotspace\textellipsis\ док\adddot} + {дис\adddotspace\textellipsis\ док\adddot}}, + candthesis = {{дис\adddotspace\textellipsis\ канд\adddot} + {дис\adddotspace\textellipsis\ канд\adddot}}, + resreport = {{науковий звіт}{наук\adddotspace звіт\adddot}}, + techreport = {{технічний звіт}{тех\adddotspace звіт\adddot}}, + software = {{програмне забезпечення}{прогр\adddotspace забезп\adddot}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{версія}{вер\adddot}}, + url = {{url}{url}}, + urlfrom = {{режим доступу}{режим доступу}}, + urlseen = {{дата звернення}{дата\addabbrvspace зверн\adddot}}, + inpreparation = {{в\addabbrvspace підготовці}{в підг\adddot}}, + submitted = {{представлено}{предст\adddot}}, + forthcoming = {{в друці}{в друц\adddot}}, + inpress = {{в\addabbrvspace друці}{в друці\adddot}}, + prepublished = {{попередня публікация}{попер\adddotspace пуб\adddot}},% FIXME: unsure + citedas = {{далі цитується як}{далі цит\addabbrvspace як}}, + thiscite = {{тут}{тут}}, + seenote = {{дивись зноску}{див\adddotspace зн\adddot}}, + quotedin = {{цитується за}{цит\adddotspace за}}, + idem = {{він\addabbrvspace же}{він\addabbrvspace же}}, + idemsm = {{він\addabbrvspace же}{він\addabbrvspace же}}, + idemsf = {{вона\addabbrvspace же}{вона\addabbrvspace же}}, + idemsn = {{він\addabbrvspace же}{він\addabbrvspace же}}, + idempm = {{вони\addabbrvspace ж}{вони\addabbrvspace ж}}, + idempf = {{вони\addabbrvspace ж}{вони\addabbrvspace ж}}, + idempn = {{вони\addabbrvspace ж}{вони\addabbrvspace ж}}, + idempp = {{вони\addabbrvspace ж}{вони\addabbrvspace ж}}, + ibidem = {{там\addabbrvspace же}{там\addabbrvspace же}}, + opcit = {{вказ\adddotspace твор\adddot}{вказ\adddotspace твор\adddot}}, + loccit = {{вказ\adddotspace місце}{вказ\adddotspace місце}}, + confer = {{порівняй}{порівн\adddot}}, + sequens = {{та наступна}{та\addabbrvspace наст\adddot}}, + sequentes = {{та наступні}{и\addabbrvspace наст\adddot}}, + passim = {{всюди}{всюди}}, + see = {{дивись}{див\adddot}}, + seealso = {{дивись також}{див\adddotspace також}}, + backrefpage = {{цитується на сторінці}{цит\adddotspace на\addabbrvspace с\adddot}}, + backrefpages = {{цитується на сторінках}{цит\adddotspace на\addabbrvspace с\adddot}}, + january = {{січень}{січ\adddot}}, + february = {{лютий}{лют\adddot}}, + march = {{березень}{бер\adddot}}, + april = {{квітень}{квіт\adddot}}, + may = {{травень}{трав\adddot}}, + june = {{червень}{черв\adddot}}, + july = {{липень}{лип\adddot}}, + august = {{серпень}{серп\adddot}}, + september = {{вересень}{вер\adddot}}, + october = {{жовтень}{жовт\adddot}}, + november = {{листопад}{листоп\adddot}}, + december = {{грудень}{груд\adddot}}, + datejanuary = {{січня}{січ\adddot}}, + datefebruary = {{лютого}{лют\adddot}}, + datemarch = {{березня}{бер\adddot}}, + dateapril = {{квітня}{квіт\adddot}}, + datemay = {{травня}{трав\adddot}}, + datejune = {{червня}{черв\adddot}}, + datejuly = {{липня}{лип\adddot}}, + dateaugust = {{серпня}{серп\adddot}}, + dateseptember = {{вересня}{вер\adddot}}, + dateoctober = {{жовтня}{жовт\adddot}}, + datenovember = {{листопда}{листоп\adddot}}, + datedecember = {{грудня}{груд\adddot}}, + langamerican = {{американський}{амер\adddot}}, + langbrazilian = {{бразильський}{браз\adddot}}, + langbulgarian = {{болгарська}{болг\adddot}}, + langcatalan = {{каталонська}{катал\adddot}}, + langcroatian = {{хорватська}{хорв\adddot}}, + langczech = {{чеська}{чеськ\adddot}}, + langdanish = {{датська}{дат\adddot}}, + langdutch = {{нідерландська}{нід\adddot}}, + langenglish = {{англійська}{англ\adddot}}, + langestonian = {{естонська}{ест\adddot}}, + langfinnish = {{фінська}{фін\adddot}}, + langfrench = {{французька}{фр\adddot}}, + langgalician = {{галісійський}{гал\adddot}}, + langgerman = {{німецька}{нім\adddot}}, + langgreek = {{грецька}{грець\adddot}}, + langhungarian = {{угорська}{угор\adddot}}, + langitalian = {{італійська}{італ\adddot}}, + langjapanese = {{японська}{яп\adddot}}, + langlatin = {{латинська}{лат\adddot}}, +% langlatvian = {{}{}},% FIXME: missing + langnorwegian = {{норвезька}{норв\adddot}}, + langpolish = {{польська}{пол\adddot}}, + langportuguese = {{португальська}{порт\adddot}}, + langrussian = {{російська}{рос\adddot}}, +% langslovak = {{}{}},% FIXME: missing + langslovene = {{словенська}{слов\adddot}}, + langspanish = {{іспанська}{ісп\adddot}}, + langswedish = {{шведська}{швед\adddot}}, + langukrainian = {{українська}{укр\adddot}}, + fromamerican = {{з американської}{з\addabbrvspace амер\adddot}}, + frombrazilian = {{з бразильської}{з\addabbrvspace браз\adddot}}, + frombulgarian = {{з болгарскої}{з\addabbrvspace болг\adddot}}, + fromcatalan = {{з каталонської}{з\addabbrvspace катал\adddot}}, + fromcroatian = {{з хорватської}{з\addabbrvspace хорв\adddot}}, + fromczech = {{з чеської}{з\addabbrvspace чеськ\adddot}}, + fromdanish = {{з датської}{з\addabbrvspace дат\adddot}}, + fromdutch = {{з нідерландської}{з\addabbrvspace нід\adddot}}, + fromenglish = {{з англійскої}{з\addabbrvspace англ\adddot}}, + fromestonian = {{з естонської}{з\addabbrvspace ест\adddot}}, + fromfinnish = {{з фінської}{з\addabbrvspace фін\adddot}}, + fromfrench = {{з французької}{з\addabbrvspace фр\adddot}}, + fromgalician = {{з галісійської}{з\addabbrvspace гал\adddot}}, + fromgerman = {{з німецької}{з\addabbrvspace нім\adddot}}, + fromgreek = {{з грецької}{з\addabbrvspace грец\adddot}}, + fromhungarian = {{з угорської}{з\addabbrvspace угор\adddot}}, + fromitalian = {{з італійської}{з\addabbrvspace італ\adddot}}, + fromjapanese = {{з японської}{з\addabbrvspace яп\adddot}}, + fromlatin = {{з латинської}{з\addabbrvspace лат\adddot}}, +% fromlatvian = {{}{}},% FIXME: missing + fromnorwegian = {{з норвезької}{з\addabbrvspace норв\adddot}}, + frompolish = {{з польської}{з\addabbrvspace пол\adddot}}, + fromportuguese = {{з португальської}{з\addabbrvspace порт\adddot}}, + fromrussian = {{з російської}{з\addabbrvspace рос\adddot}}, +% fromslovak = {{}{}},% FIXME: missing + fromslovene = {{зі словенської}{зі\addabbrvspace слов\adddot}}, + fromspanish = {{з іспанської}{з\addabbrvspace ісп\adddot}}, + fromswedish = {{з шведської}{з\addabbrvspace швед\adddot}}, + fromukrainian = {{з української}{з\addabbrvspace укр\adddot}}, + countryde = {{Німеччина}{Німеччина}}, + countryeu = {{Європейський Союз}{ЄС}}, + countryep = {{Європейський Союз}{ЄС}}, + countryfr = {{Франція}{Франція}}, + countryuk = {{Великобританія}{Великобританія}}, + countryus = {{Сполучені Штати Америки}{США}}, + patent = {{патент}{пат\adddot}}, + patentde = {{патент Німеччини}{пат\adddotspace Німеччини}}, + patenteu = {{патент Європи}{пат\adddotspace Європи}}, + patentfr = {{патент Франції}{пат\adddotspace Франції}}, + patentuk = {{патент Великобританії}{пат\adddotspace Великобританії}}, + patentus = {{патент США}{пат\adddotspace США}}, + patreq = {{заявка}{заявка}}, + patreqde = {{заявка на патент Німеччини}{заявка на пат\adddotspace Німеччини}}, + patreqeu = {{заявка на патент Європи}{заявка на пат\adddotspace Європи}}, + patreqfr = {{заявка на патент Франції}{заявка на пат\adddotspace Франції}}, + patrequk = {{заявка на патент Великобританії}{заявка на пат\adddotspace Великобританії}}, + patrequs = {{заявка на патент США}{заявка на пат\adddotspace США}}, + file = {{файл}{файл}}, + library = {{бібліотека}{б-ка}}, + abstract = {{резюме}{рез\adddot}}, + annotation = {{анотація}{анот\adddot}}, + commonera = {{нашої ери}{н\adddotspace е\adddot}}, + beforecommonera = {{до нашої ери}{до н\adddotspace е\adddot}}, + annodomini = {{від Різдва Христового}{від Р\adddotspace Х\adddot}}, + beforechrist = {{до Різдва Христового}{до Р\adddotspace Х\adddot}}, + circa = {{близько}{бл\adddot}}, + spring = {{весна}{весна}}, + summer = {{літо}{літо}}, + autumn = {{осінь}{осінь}}, + winter = {{зима}{зима}}, +% springN = {{}{}},% FIXME: missing +% summerN = {{}{}},% FIXME: missing +% autumnN = {{}{}},% FIXME: missing +% winterN = {{}{}},% FIXME: missing +% springS = {{}{}},% FIXME: missing +% summerS = {{}{}},% FIXME: missing +% autumnS = {{}{}},% FIXME: missing +% winterS = {{}{}},% FIXME: missing +% Q1 = {{}{}},% FIXME: missing +% Q2 = {{}{}},% FIXME: missing +% Q3 = {{}{}},% FIXME: missing +% Q4 = {{}{}},% FIXME: missing +% QD1 = {{}{}},% FIXME: missing +% QD2 = {{}{}},% FIXME: missing +% QD3 = {{}{}},% FIXME: missing +% S1 = {{}{}},% FIXME: missing +% S2 = {{}{}},% FIXME: missing + am = {{ДП}{ДП}}, + pm = {{ПП}{ПП}}, +} + +\protected\gdef\lbx@ru@mkbibdatemonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{datejanuary}% + \or\abx@bibmonth{datefebruary}% + \or\abx@bibmonth{datemarch}% + \or\abx@bibmonth{dateapril}% + \or\abx@bibmonth{datemay}% + \or\abx@bibmonth{datejune}% + \or\abx@bibmonth{datejuly}% + \or\abx@bibmonth{dateaugust}% + \or\abx@bibmonth{dateseptember}% + \or\abx@bibmonth{dateoctober}% + \or\abx@bibmonth{datenovember}% + \or\abx@bibmonth{datedecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\endinput |