summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-04-27 21:49:29 +0000
committerKarl Berry <karl@freefriends.org>2015-04-27 21:49:29 +0000
commit7be15899cb52af2136151bc4540f9c83e3032b8d (patch)
tree22ec7c4c9e32f1d9f71441c88533615163f048de /Master/texmf-dist/tex/latex/biblatex
parent08ec1f45ba4d7588654ca79b4f0b2b114db9e2db (diff)
biblatex (26apr15)
git-svn-id: svn://tug.org/texlive/trunk@37083 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.def30
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.sty8
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex1.sty23
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex2.sty698
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-dm.def2
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx310
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx2
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx38
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx12
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx2
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx428
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx2
12 files changed, 895 insertions, 660 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
index 497e26a1827..8537dd72d8a 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
@@ -1906,47 +1906,47 @@
\or % memoir (article)
\ifdef\memUChead{}{\let\memUChead\MakeUppercase}
\defbibheading{bibliography}[\refname]{%
- \section*{#1}%
+ \chapter*{#1}%
\ifmemoirbibintoc
{\phantomsection
- \addcontentsline{toc}{section}{#1}}
+ \addcontentsline{toc}{chapter}{#1}}
{}%
\markboth{\memUChead{#1}}{\memUChead{#1}}}
\defbibheading{biblist}[\biblistname]{%
- \section*{#1}%
+ \chapter*{#1}%
\ifmemoirbibintoc
{\phantomsection
- \addcontentsline{toc}{section}{#1}}
+ \addcontentsline{toc}{chapter}{#1}}
{}%
\markboth{\memUChead{#1}}{\memUChead{#1}}}
\defbibheading{bibintoc}[\refname]{%
- \section*{#1}%
+ \chapter*{#1}%
\phantomsection
- \addcontentsline{toc}{section}{#1}%
+ \addcontentsline{toc}{chapter}{#1}%
\markboth{\memUChead{#1}}{\memUChead{#1}}}
\defbibheading{biblistintoc}[\biblistname]{%
- \section*{#1}%
+ \chapter*{#1}%
\phantomsection
- \addcontentsline{toc}{section}{#1}%
+ \addcontentsline{toc}{chapter}{#1}%
\markboth{\memUChead{#1}}{\memUChead{#1}}}
\defbibheading{bibnumbered}[\refname]{%
- \section{#1}}
+ \chapter{#1}}
\defbibheading{biblistnumbered}[\biblistname]{%
- \section{#1}}
+ \chapter{#1}}
\defbibheading{subbibliography}[\refname]{%
- \subsection*{#1}%
+ \section*{#1}%
\ifmemoirbibintoc
{\phantomsection
- \addcontentsline{toc}{subsection}{#1}}
+ \addcontentsline{toc}{section}{#1}}
{}%
\if@twoside\markright{\memUChead{#1}}\fi}
\defbibheading{subbibintoc}[\refname]{%
- \subsection*{#1}%
+ \section*{#1}%
\phantomsection
- \addcontentsline{toc}{subsection}{#1}%
+ \addcontentsline{toc}{section}{#1}%
\if@twoside\markright{\memUChead{#1}}\fi}
\defbibheading{subbibnumbered}[\refname]{%
- \subsection{#1}}
+ \section{#1}}
\or % memoir (book)
\ifdef\memUChead{}{\let\memUChead\MakeUppercase}
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
index 88cfc21f15b..716340a6fab 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
@@ -3,8 +3,8 @@
%%
% Set up the version strings here, so they are the same for both branches
-\def\abx@date{2014/06/25}
-\def\abx@version{2.9a}
+\def\abx@date{2015/04/19}
+\def\abx@version{3.0}
\def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/JW/AB)}
\def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/JW/AB)}
\def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/JW/AB)}
@@ -12,11 +12,11 @@
% This is not updated by build script as the controlfile version
% does not necessarily change with the package version.
% This is used when writing the .bcf
-\def\blx@bcfversion{2.6}
+\def\blx@bcfversion{2.7}
% This is not updated by build script as the bbl version
% does not necessarily change with the package version.
% This is used when checking the .bbl
-\def\blx@bblversion{2.4}
+\def\blx@bblversion{2.5}
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{biblatex}
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty
index fecfbd515a0..bb303cdfd37 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty
@@ -469,7 +469,7 @@
\newtoggle{blx@setonly}
\newtoggle{blx@dataonly}
\newtoggle{blx@skipbib}
-\newtoggle{blx@skiplos}
+\newtoggle{blx@skipbiblist}
\newtoggle{blx@skiplab}
\newtoggle{blx@citation}
\newtoggle{blx@bibliography}
@@ -5867,7 +5867,7 @@
{\listcsxadd{blx@sort@\the\c@refsection}{\abx@field@entrykey}}
{\global\toggletrue{blx@addset}%
\toggletrue{blx@skipbib}%
- \toggletrue{blx@skiplos}%
+ \toggletrue{blx@skipbiblist}%
\toggletrue{blx@skiplab}}%
\nottoggle{blx@skipbib}
{\listcsxadd{blx@sbib@\the\c@refsection}{\abx@field@entrykey}%
@@ -5876,7 +5876,7 @@
{\listcsxadd{blx@subt@\the\c@refsection @\abx@field@entrysubtype}{\abx@field@entrykey}}
{}}
{}%
- \nottoggle{blx@skiplos}
+ \nottoggle{blx@skipbiblist}
{\blx@bbl@shorthand}
{}%
\nottoggle{blx@skiplab}
@@ -10607,9 +10607,18 @@
\settoggle{blx@skipbib}{#1}}
\DeclareTypeOption{skiplos}[true]{%
- \settoggle{blx@skiplos}{#1}}
+ \settoggle{blx@skipbiblist}{#1}}
\DeclareEntryOption{skiplos}[true]{%
- \settoggle{blx@skiplos}{#1}}
+ \settoggle{blx@skipbiblist}{#1}}
+
+\DeclareTypeOption{skipbiblist}{%
+ \blx@warning@noline{%
+ skipbiblist option is Biber only, use 'skiplos' instead}%
+ \settoggle{blx@skipbiblist}{#1}}
+\DeclareEntryOption{skipbiblist}{%
+ \blx@warning@noline{%
+ skipbiblist option is Biber only, use 'skiplos' instead}%
+ \settoggle{blx@skipbiblist}{#1}}
\DeclareTypeOption{skiplab}[true]{%
\settoggle{blx@skiplab}{#1}}
@@ -10618,11 +10627,11 @@
\DeclareTypeOption{dataonly}[true]{%
\settoggle{blx@skipbib}{#1}%
- \settoggle{blx@skiplos}{#1}%
+ \settoggle{blx@skipbiblist}{#1}%
\settoggle{blx@skiplab}{#1}}
\DeclareEntryOption{dataonly}[true]{%
\settoggle{blx@skipbib}{#1}%
- \settoggle{blx@skiplos}{#1}%
+ \settoggle{blx@skipbiblist}{#1}%
\settoggle{blx@skiplab}{#1}}
% Option processor/scheduler
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
index 41d9068dfb5..61b50df3587 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
@@ -464,9 +464,6 @@
\newtoggle{blx@terseinits}
\newtoggle{blx@firstinits}
\newtoggle{blx@sortfirstinits}
-\newtoggle{blx@useauthor}
-\newtoggle{blx@useeditor}
-\newtoggle{blx@usetranslator}
\newtoggle{blx@useprefix}
\newtoggle{blx@addset}
\newtoggle{blx@setonly}
@@ -476,10 +473,30 @@
\newtoggle{blx@skiplab}
\newtoggle{blx@citation}
\newtoggle{blx@bibliography}
-\newtoggle{blx@reencode}
\newtoggle{blx@citeindex}
\newtoggle{blx@bibindex}
\newtoggle{blx@localnumber}
+\newtoggle{blx@refcontext}
+
+% Special fields which need resolution using the information provided by biber
+\listadd\abx@rfields{labeltitle}
+\def\abx@dorfields{%
+ \dolistcsloop{abx@rfields}%
+}
+% Just in case we ever have lists to instantiate like labelname etc.
+%\listadd\abx@rlists{}
+% \def\abx@dorlists{%
+% \dolistcsloop{abx@rlists}%
+% }
+\listadd\abx@rnames{labelname}
+\def\abx@dornames{%
+ \dolistcsloop{abx@rnames}%
+}
+
+% Option scope trackers for passing to .bcf
+\global\let\blx@globalopts\@empty
+\global\let\blx@typeopts\@empty
+\global\let\blx@entryopts\@empty
% Initialise some lists which track changing citations/sortschemes
% etc. between runs
@@ -509,6 +526,10 @@
\newcommand*{\labelalphaothers}{+}
\newcommand*{\sortalphaothers}{\labelalphaothers}
+\listadd\blx@globalopts{alphaothers}% for passing to the .bcf
+\listadd\blx@typeopts{alphaothers}% for passing to the .bcf
+\listadd\blx@globalopts{sortalphaothers}% for passing to the .bcf
+\listadd\blx@typeopts{sortalphaothers}% for passing to the .bcf
\def\blx@secinit{%
\csgdef{blx@sections@\the\c@refsection}{true}% just to say we have a section for tests later
@@ -732,6 +753,7 @@
\edef\blx@ver@bcf{%
\detokenize{<bcf:controlfile version="}\blx@bcfversion
\detokenize{" xmlns:bcf="https://sourceforge.net/projects/biblatex">}}
+\listadd\blx@globalopts{controlversion}% for passing to the .bcf
% {<true>}{<false>}
\newrobustcmd*{\lbx@ifutfinput}{\ifboolexpr{%
@@ -1665,6 +1687,9 @@
% {<key>}[<value>]{<code>}
\newrobustcmd*{\DeclareBibliographyOption}[1]{%
+ \ifinlist{#1}\blx@globalopts
+ {}
+ {\listadd\blx@globalopts{#1}}%
\@ifnextchar[%]
{\blx@defbibopt{#1}}
{\blx@defbibopt{#1}[]}}
@@ -1680,6 +1705,9 @@
% {<key>}[<value>]{<code>}
\newrobustcmd*{\DeclareTypeOption}[1]{%
+ \ifinlist{#1}\blx@typeopts
+ {}
+ {\listadd\blx@typeopts{#1}}%
\@ifnextchar[%]
{\blx@deftypeopt{#1}}
{\blx@deftypeopt{#1}[]}}
@@ -1693,6 +1721,9 @@
% {<key>}[<value>]{<code>}
\newrobustcmd*{\DeclareEntryOption}[1]{%
+ \ifinlist{#1}\blx@entryopts
+ {}
+ {\listadd\blx@entryopts{#1}}%
\@ifnextchar[%]
{\blx@defentryopt{#1}}
{\blx@defentryopt{#1}[]}}
@@ -2677,49 +2708,60 @@
\setcounter{mincompwidth}{1}
\def\abx@rangeproclimit{100000}
+% {<rangefield>}
+\newcommand*{\frangelen}[1]{%
+ \ifcsdef{abx@range@#1}
+ {\csuse{abx@range@#1}}
+ {}}
+
% {<string>}
% This mustn't be robust as it's likely to be used mainly tests and so
% needs to be expandable
-\newcommand*{\rangelen}[1]{%
- \blx@rangelen@range#1\bibrangedash\bibrangedash&}
+\newcommand*\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--&}
- {\ifblank{#2}
- {0}% n\bibrangedash
- {\ifblank{#1}
- {0}% \bibrangedash n
- {\blx@rangelen@check{#1}{#2}}}}}
-
+ {\blx@rangelen@check{#1}{#2}}%
+}
\def\blx@rangelen@hyphen#1-#2-#3&{%
\ifblank{#3}
- {1}% n
- {\ifblank{#2}
- {\ifblank{#1}
- {\let\blx@tempb\@empty}
- {\def\blx@tempb{#1}}%
- \blx@rangelen@hyphen@i#3&}
- {\ifblank{#1}
- {0}% -n
- {\blx@rangelen@check{#1}{#2}}}}}
-
-\def\blx@rangelen@hyphen@i#1-#2&{%
- \ifblank{#1#2}
- {0}% n-
- {\notblank{#1}
- {\ifdefempty\blx@tempb
- {0}
- {\expandafter\blx@rangelen@check
- \expandafter{\blx@tempb}{#1}}}
- {\blx@rangelen@hyphen@i#2&}}}
-
+ {1}% No range at all: assume one page
+ {\blx@rangelen@check{#1}{#2}}%
+}
\def\blx@rangelen@check#1#2{%
- \blx@imc@ifinteger{#1}
- {\blx@imc@ifinteger{#2}
- {\the\numexpr#2-#1\relax}% n-m
- {0}}
- {0}}
+ \expandafter\blx@rangelen@check@aux
+ \number\numexpr
+ \blx@rangelen@check@int{#2}
+ -
+ \blx@rangelen@check@int{#1}
+ + 1
+ \relax
+ &\stop
+}
+\def\blx@rangelen@check@aux#1&#2\stop{%
+ \ifblank{#2}
+ {#1}
+ {-1}%
+}
+\def\blx@rangelen@check@int#1{%
+ \ifblank{#1}
+ {0&}
+ {%
+ \if\number\numexpr0#1-0#1\relax0
+ #1
+ \else
+ 0&
+ \fi
+ }%
+}
% <*>[<postpro>]{<string>}
@@ -3091,9 +3133,6 @@
\def\ifbibindex{\iftoggle{blx@bibindex}}%
\def\iffootnote{\iftoggle{blx@footnote}}%
\def\ifuseprefix{\iftoggle{blx@useprefix}}%
- \def\ifuseauthor{\iftoggle{blx@useauthor}}%
- \def\ifuseeditor{\iftoggle{blx@useeditor}}%
- \def\ifusetranslator{\iftoggle{blx@usetranslator}}%
\def\ifterseinits{\iftoggle{blx@terseinits}}%
\def\iffirstinits{\iftoggle{blx@firstinits}}%
\def\ifsingletitle{\iftoggle{abx@bool@singletitle}}%
@@ -3519,7 +3558,7 @@
\ifdefvoid\blx@theformat
{\blx@nounit}
{\blx@begunit
- \def\currentfield{#2}%
+ \edef\currentfield{#2}%
\expandafter\expandafter
\expandafter\blx@theformat
\expandafter\expandafter
@@ -3534,7 +3573,7 @@
\ifdefvoid\blx@theformat
{}
{\begingroup
- \def\currentfield{#2}%
+ \edef\currentfield{#2}%
\letcs\blx@tempa{abx@field@#2}%
\expandafter\blx@theformat\expandafter{\blx@tempa}%
\endgroup}}}
@@ -4134,7 +4173,6 @@
\do{translatorsanaf}%
\do{byauthor}%
\do{byeditor}%
- \do{byeditor}%
\do{bycompiler}%
\do{byredactor}%
\do{byreviser}%
@@ -4773,6 +4811,11 @@
\begingroup
\@makeother\#
\gdef\blx@mkautolangbabel{%
+ \ifundef\bbl@main@language
+ {\blx@error
+ {No default babel language defined}
+ {You must define a default language for babel}}
+ {}%
\pretocmd\select@language{\blx@langsetup{#1}}
{\ifdef\blx@thelangenv
{\def\blx@beglang{%
@@ -4803,6 +4846,11 @@
\blx@mknoautolang}}
\gdef\blx@mkautolangpoly{%
+ \ifundef\bbl@main@language
+ {\blx@error
+ {No default polyglossia language defined}
+ {You must define a default language for polyglossia}}
+ {}%
\catcode`\_=11% polyglossia uses "_" as a letter
\pretocmd\select@language{\blx@langsetup{#1}}
{\ifdef\blx@thelangenv
@@ -4905,7 +4953,6 @@
\def\abx@donames{%
\dolistcsloop{blx@biber@datamodel@names}%
- \do{labelname}%
}
\def\abx@dolists{%
@@ -4984,7 +5031,6 @@
\do{fullhash}%
\do{labelalpha}%
\do{labelnumber}%
- \do{labeltitle}%
\do{labeltitleyear}%
\do{labeldate}%
\do{localnumber}%
@@ -4996,13 +5042,46 @@
\def\abx@dobooleans{%
\do{singletitle}}
+
+% 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
+
+% Define name toggles
+\def\do#1{\newtoggle{blx@use#1}\toggletrue{blx@use#1}}
+\dolistcsloop{blx@biber@datamodel@names}
+
+% Define name toggle checking macros
+\let\blx@nametoggles\@empty
+\def\do#1{\gappto\blx@nametoggles{\expandafter\def\csname ifuse#1\endcsname{\iftoggle{blx@use#1}}}}
+\dolistcsloop{blx@biber@datamodel@names}
+\eappto\blx@blxinit{\expandafter\expandonce\noexpand\blx@nametoggles}
+
+% Define ifthen interface name toggle checking macros
+\let\blx@nametogglesit\@empty
+\def\do#1{\gappto\blx@nametogglesit{\expandafter\def\csname ifuse#1\endcsname{\blx@TE{\iftoggle{blx@use#1}}}}}
+\dolistcsloop{blx@biber@datamodel@names}
+\expandafter\def\expandafter\blx@nametogglesite\expandafter{\expandonce\blx@nametogglesit}
+\appto\blx@blxinit{\appto\blx@TE@hook{\blx@nametogglesite}}
+
+% Define \ifuse<name> options scope for biber
+\def\do#1{\listadd\blx@globalopts{use#1}%
+ \listadd\blx@typeopts{use#1}%
+ \listadd\blx@entryopts{use#1}}
+\dolistcsloop{blx@biber@datamodel@names}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\def\do#1{%
\newcounter{#1}%
\newcounter{saved#1}%
\appto\abx@dobooleans{\do{more#1}}}
\abx@donames
+\abx@dornames
\abx@dolists
+%\abx@dorlists
\def\do#1{\newtoggle{abx@bool@#1}}
\abx@dobooleans
@@ -5017,7 +5096,7 @@
\abx@dolists
\let\do\blx@imc@clearfield
\abx@dofields
- \do{options}\do{labeltitle}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}%
+ \do{options}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}%
\abx@dointernalfields
\def\do##1{\togglefalse{abx@bool@##1}}%
\abx@dobooleans
@@ -5039,7 +5118,7 @@
\abx@dolists
\let\do\blx@savefield
\abx@dofields
- \do{options}\do{labeltitle}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}%
+ \do{options}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}%
\abx@dointernalfields
\let\do\blx@savebool
\abx@dobooleans
@@ -5101,10 +5180,15 @@
{\csdef{blx@nih@#1}##1{#2}}}
\@onlypreamble\DeclareNameInputHandler
-% {<entrykey>}{<refsection>}{<field>}{<value>}
-\long\def\blx@bbl@addentryfield#1#2#3#4{%
- \csxappto{blx@data@#2@#1}{%
- \def\expandafter\noexpand\csname abx@field@#3\endcsname{#4}}}
+% {<entrykey>}{<refsection>}{<field>}{<sort context>}{<value>}
+\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}}}
+
+% {<rangefield>}{<value>}
+\protected\def\blx@bbl@rangedef#1#2{%
+ \csxappto\blx@bbl@data{%
+ \def\expandafter\noexpand\csname abx@range@#1\endcsname{#2}}}
% {<field>}{<value>}
\long\def\blx@bbl@addfield#1#2{%
@@ -5238,6 +5322,12 @@
\def\expandafter\noexpand\csname abx@name@#1\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}}%
@@ -5294,11 +5384,32 @@
\unexpanded{#1}\ifblank{#2}{}{=\unexpanded{#2}}}}}
\def\blx@ifdata#1{%
- \ifcsdef{blx@data@\the\c@refsection @#1}}
+ \ifcsdef{blx@data@\the\c@refsection @\blx@refcontext@sorting @#1}}
\let\blx@imc@ifentryinbib\blx@ifdata
\def\blx@getdata#1{%
- \csuse{blx@data@\the\c@refsection @#1}%
+ \csuse{blx@data@\the\c@refsection @\blx@refcontext@sorting @#1}%
+ % Here we resolve label* bib fields to their real fields. Doing this here
+ % dynamically means that we can vary the field chosen depending on the refcontext.
+ % biber used to resolve these and materialise them in the .bbl but this
+ % means a static resolution which is independent of the document context.
+ \def\do##1{%
+ \ifcsdef{abx@field@##1source}
+ {\expandafter\def\csname abx@field@##1\endcsname{\csuse{abx@field@\csuse{abx@field@##1source}}}}%
+ {}}%
+ \dolistloop{\abx@rfields}%
+ % Just in case we ever have lists to instantiate like labelname etc.
+ % \def\do##1{%
+ % \ifcsdef{abx@field@##1source}
+ % {\csletcs{abx@list@##1}{abx@list@\csuse{abx@field@##1source}}}
+ % {}}%
+ % \dolistloop{\abx@rlists}%
+ \def\do##1{%
+ \ifcsdef{abx@field@##1source}
+ {\csletcs{c@##1}{c@\csuse{abx@field@##1source}}%
+ \csletcs{abx@name@##1}{abx@name@\csuse{abx@field@##1source}}}
+ {}}%
+ \dolistloop{\abx@rnames}%
\blx@setcitecounter}
\def\blx@getdata@cite#1{%
@@ -5361,9 +5472,7 @@
{\blx@addset
\global\togglefalse{blx@addset}}
{}%
- \endgroup
- \csnumgdef{blx@labelnumber@\the\c@refsection}{0}%
- \iftoggle{blx@reencode}{\blx@reencode}{}}
+ \endgroup}
% {<entrykey>}
\protected\def\blx@bbl@missing#1{%
@@ -5393,7 +5502,7 @@
\blx@setoptions@type{#2}%
\blx@bbl@options{#3}%
\blx@setoptions@entry
- \edef\blx@bbl@data{blx@data@\the\c@refsection @\abx@field@entrykey}%
+ \edef\blx@bbl@data{blx@data@\the\c@refsection @\blx@slist@scheme @\abx@field@entrykey}%
\csuse\blx@bbl@data
\blx@bbl@addfield{entrykey}{\abx@field@entrykey}%
\blx@bbl@addfield{entrytype}{#2}%
@@ -5445,19 +5554,19 @@
\endgroup}
% This, at the end of the .bbl, puts any set parents into the
-% global sort list of citations as this is needed for the subentry citing
-% when sortcites is enabled as for sortcites, the global sorting list
+% current context sort list of citations 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 global sortlist.
+% available in the current context sortlist.
\def\blx@addset{%
\begingroup
- \letcs\blx@tempa{blx@slists@\the\c@refsection @entry@\blx@sorting}%
- \global\cslet{blx@slists@\the\c@refsection @entry@\blx@sorting}\@empty
+ \letcs\blx@tempa{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}%
+ \global\cslet{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}\@empty
\forlistloop\blx@addset@i\blx@tempa
\endgroup}
\def\blx@addset@i#1{%
- \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@sorting}{#1}%
+ \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}{#1}%
\ifcsdef{blx@setp@\the\c@refsection @#1}
{\expandafter\expandafter\expandafter\forcsvlist
\expandafter\expandafter\expandafter\blx@addset@ii
@@ -5466,7 +5575,7 @@
{}}
\def\blx@addset@ii#1{%
- \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@sorting}{#1}}
+ \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}{#1}}
\def\blx@bbl@labelfields{%
\def\do##1{%
@@ -5480,31 +5589,40 @@
% Used at endentry, when reading .bbl
% only do this for the global sorting list otherwise we increment
% the labelnumbers for each sortlist
- \ifdefstrequal{\blx@slist@scheme}{\blx@sorting}
- {\ifdefempty\abx@field@localnumber
- {}% only if omitnumbers=true
- {\ifundef\abx@field@shorthand
- {\ifdef\abx@field@localnumber
- {}% only if defernumbers=true
- {\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@setlabwidth{\labelnumberwidth}{%
- \csuse{abx@ffd@*@labelnumberwidth}{%
- \ifdef\abx@field@prefixnumber
- {\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}}
- {}%
- \abx@field@localnumber}}}}
- {\csgappto\blx@bbl@data{\let\abx@field@labelnumber\abx@field@shorthand}%
- \iftoggle{blx@skipbib}
- {}
- {\blx@setlabwidth{\labelnumberwidth}{%
- \csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}}
- {}}
+ \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 @\blx@slist@scheme}{%
+ \csuse{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}+1}%
+ \edef\abx@field@localnumber{%
+ \csuse{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}}%
+ \blx@bbl@fieldedef{labelnumber}{\abx@field@localnumber}}%
+ \iftoggle{blx@skipbib}
+ {}
+ {\blx@setlabwidth{\labelnumberwidth}{%
+ \csuse{abx@ffd@*@labelnumberwidth}{%
+ \ifdef\abx@field@prefixnumber
+ {\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}}
+ {}%
+ \abx@field@localnumber}}}}
+ {\csgappto\blx@bbl@data{\let\abx@field@labelnumber\abx@field@shorthand}%
+ \iftoggle{blx@skipbib}
+ {}
+ {\blx@setlabwidth{\labelnumberwidth}{%
+ \csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}}
\def\blx@bbl@prefixnumber{%
\ifdef\abx@field@prefixnumber
@@ -5600,6 +5718,7 @@
\let\name\blx@bbl@namedef
\let\list\blx@bbl@listdef
\let\field\blx@bbl@fielddef
+ \let\range\blx@bbl@rangedef
\let\strng\blx@bbl@stringdef
\let\cnt\blx@bbl@cntdef
\let\true\blx@bbl@booltrue
@@ -5694,14 +5813,14 @@
{}%
\endgroup}
-% {<instcount>}{<entrykey>}{<refsection>}{<labelnumber>}
-\protected\def\blx@aux@number#1#2#3#4{%
- \blx@bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}%
- \blx@bbl@addentryfield{\detokenize{#2}}{#3}{labelnumber}{#4}%
+% {<instcount>}{<entrykey>}{<refsection>}{<sort context>}{<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}%
\global\toggletrue{blx@localnumber}%
- \ifblank{#4}
+ \ifblank{#5}
{}
- {\csgdef{blx@labelnumber@#3}{#4}}}
+ {\csgdef{blx@labelnumber@#3@#4}{#5}}}
% Called as part of bib output for an entry
% Only used when defernumbers=true
@@ -5721,12 +5840,12 @@
test {\ifcsundef{blx@defer@\the\c@refsection @\abx@field@entrykey}} }
{\iftoggle{blx@omitnumbers}
{\let\abx@field@localnumber\@empty}
- {\csnumgdef{blx@labelnumber@\the\c@refsection}{%
- \csuse{blx@labelnumber@\the\c@refsection}+1}%
+ {\csnumgdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{%
+ \csuse{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}+1}%
\edef\abx@field@localnumber{%
- \csuse{blx@labelnumber@\the\c@refsection}}%
+ \csuse{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}}%
\blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}%
- {localnumber}{\abx@field@localnumber}}}
+ {localnumber}{\blx@refcontext@sorting}{\abx@field@localnumber}}}
{}%
% If localnumbers were already in the .aux, add them
% again from the .aux. This prevents some cycling
@@ -5740,6 +5859,7 @@
{\the\c@instcount}%
{\abx@field@entrykey}%
{\the\c@refsection}%
+ {\blx@refcontext@sorting}%
{\abx@field@localnumber}}%
% record that we have already generated and output localnum
% for this key in this refsection
@@ -5757,18 +5877,18 @@
{\edef\abx@field@prefixnumber{\expandonce\blx@prefixnumbers}%
\ifundef\abx@field@prefixnumber
{\blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}%
- {prefixnumber}{\expandonce\abx@field@prefixnumber}}
+ {prefixnumber}{\blx@refcontext@sorting}{\expandonce\abx@field@prefixnumber}}
{}%
\blx@auxwrite\@mainaux{}{%
\string\blx@aux@numprefix{\abx@field@entrykey}%
- {\the\c@refsection}{\expandonce\abx@field@prefixnumber}}}
+ {\the\c@refsection}{\blx@refcontext@sorting}{\expandonce\abx@field@prefixnumber}}}
{}}
{}}
{}}
-% {<entrykey>}{<refsection>}{<numberprefix>}
-\protected\def\blx@aux@numprefix#1#2#3{%
- \blx@bbl@addentryfield{\detokenize{#1}}{#2}{prefixnumber}{#3}}
+% {<entrykey>}{<refsection>}{<sorting context}{<numberprefix>}
+\protected\def\blx@aux@numprefix#1#2#3#4{%
+ \blx@bbl@addentryfield{\detokenize{#1}}{#2}{prefixnumber}{#3}{#4}}
% {<sortlistname>}{<sortlistsortscheme>}
\def\blx@bbl@slist#1#2{%
@@ -5776,7 +5896,9 @@
\def\blx@slist@scheme{#2}%
% This macro (\key) will only be called in sortlists of type "list"
\def\key##1{\listcsxadd{blx@slistsbib@\the\c@refsection @#1@#2}{\detokenize{##1}}}}
-\let\blx@bbl@endslist\endgroup
+\def\blx@bbl@endslist{%
+ \csnumgdef{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}{0}%
+ \endgroup}
\def\blx@addpageref#1{%
\begingroup
@@ -5794,22 +5916,10 @@
\def\blx@bblinput{%
\begingroup
- \iftoggle{blx@reencode}
- {\ifdef\inpenc@prehook
- {\inpenc@prehook{}%
- \inpenc@posthook{}}
- {}%
- \inputencoding\blx@bibencoding}
- {}%
\blx@info@noline{Trying to load bibliographic data..}%
\blx@blxinit
\blx@bblfile@biber
- \endgroup
- \iftoggle{blx@reencode}
- {\ifdef\@enablequotes
- {\@enablequotes}
- {}}
- {}}
+ \endgroup}
\def\blx@bblfile@biber{%
\blx@secinit
@@ -5823,34 +5933,8 @@
{}%
\blx@bblend
\endgroup
- \csnumgdef{blx@labelnumber@\the\c@refsection}{0}}
-
-\def\blx@reencode{%
- \begingroup
- \abx@hook@reencode
- \let\protect\@unexpandable@protect
- \def\do##1{\cslet{abx@name@##1}\relax}%
- \abx@donames
- \def\do##1{\cslet{abx@list@##1}\relax}%
- \abx@dolists
- \def\do##1{\cslet{abx@field@##1}\relax}%
- \abx@dofields
- \do{options}%
- \abx@dointernalfields
- \long\def\abx@field@execute##1{%
- \unexpanded{\abx@field@execute{##1}}}%
- \csuse{abx@preamble}%
- \def\do##1{%
- \csxdef{blx@data@\the\c@refsection @##1}{%
- \csuse{blx@data@\the\c@refsection @##1}}}%
- \dolistcsloop{blx@slists@\the\c@refsection @entry@\blx@sorting}%
- \endgroup}
-
-\def\abx@hook@reencode{%
- \ifdef\@enablequotes{\@enablequotes}{}%
- \def\IeC##1{\unexpanded{\IeC{##1}}}%
- \let~\relax
-}
+ % global sorting as this is called at BeginDocument
+ \csnumgdef{blx@labelnumber@\the\c@refsection @\blx@sorting}{0}}
%% Bibliography
@@ -5963,8 +6047,8 @@
% options
% We need a 2-pass structure for options in \printbibliography and
-% \printbiblist because section and/or sorting have to be set before any
-% other options and these also determine which list to use for later filtering
+% \printbiblist because the section has to be set before any
+% other options and this partly determines which list to use for later filtering
\define@key{blx@bib1}{segment}{}
\define@key{blx@bib1}{type}{}
\define@key{blx@bib1}{nottype}{}
@@ -6009,40 +6093,8 @@
\define@key{blx@biblist2}{sorting}{}
\define@key{blx@bib1}{sorting}{%
- \ifcsundef{blx@biber@sorting@#1}
- {\blx@err@invopt{sorting=#1}{}}%
- {\blx@printbibchecks
- \def\blx@tempc{#1}%
- % Add the sortscheme to the list of sortschemes
- % so we can compare on next run
- \ifinlist{#1}{\blx@sortschemes}
- {}
- {\listgadd\blx@sortschemes{#1}%
- \blx@auxwrite\@mainaux{}{\string\abx@aux@sortscheme{#1}}}%
- \edef\blx@tempd{%
- \blx@xml@sorting{%
- \ifcsdef{blx@sortdef@locale@#1}
- { locale="\csuse{blx@sortdef@locale@#1}"}
- {}}{%
- \csuse{blx@biber@sorting@#1}}}}}
-
-\define@key{blx@biblist1}{sorting}{%
- \ifcsundef{blx@biber@sorting@#1}
- {\blx@err@invopt{sorting=#1}{}}%
- {\blx@printbibchecks
- \def\blx@tempc{#1}%
- % Add the sortscheme to the list of sortschemes for this biblist
- % so we can compare on next run
- \ifinlist{#1}{\blx@biblists}
- {}
- {\listgadd\blx@biblists{#1}%
- \blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{#1}}}%
- \edef\blx@tempd{%
- \blx@xml@sorting{%
- \ifcsdef{blx@sortdef@locale@#1}
- { locale="\csuse{blx@sortdef@locale@#1}"}
- {}}{%
- \csuse{blx@biber@sorting@#1}}}}}
+ \blx@warning@noline{%
+ sorting option to \string\printbibliography\space is no longer supported, use 'sorting' option to \string\newrefcontext}}
\define@key{blx@bib1}{section}{%
\ifcsundef{blx@sections@#1}
@@ -6056,6 +6108,10 @@
{\c@refsection#1\relax
\def\blx@tempe{#1}}}
+\define@key{blx@biblist1}{sorting}{%
+ \blx@warning@noline{%
+ sorting option to \string\printbiblist\space is no longer supported, use 'sorting' option to \string\newrefcontext}}
+
\define@key{blx@bbg}{section}{%
\ifcsundef{blx@sections@#1}
{\blx@err@nosec{#1}}
@@ -6259,10 +6315,10 @@
\define@key{blx@bib2}{resetnumbers}[true]{%
\iftoggle{blx@defernumbers}
{\ifstrequal{#1}{true}
- {\csnumdef{blx@labelnumber@\the\c@refsection}{0}}
+ {\csnumdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{0}}
{\ifstrequal{#1}{false}
{}
- {\csnumdef{blx@labelnumber@\the\c@refsection}{#1-1}}}}
+ {\csnumdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{#1-1}}}}
{\blx@warning{%
Option 'resetnumbers' requires 'defernumbers=true'.\MessageBreak
Ignoring 'resetnumbers=true'}}}
@@ -6279,7 +6335,7 @@
\define@key{blx@bib2}{prefixnumbers}{%
\def\blx@prefixnumbers{#1}%
\iftoggle{blx@defernumbers}
- {\csnumdef{blx@labelnumber@\the\c@refsection}{0}}
+ {\csnumdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{0}}
{\iftoggle{blx@labelnumber}
{\blx@warning{%
Option 'prefixnumbers' requires global\MessageBreak
@@ -6322,20 +6378,31 @@
\let\blx@thetitle\@empty
% defaults
\let\blx@tempa\@empty% before there is a .bbl, this must not be undef
- \let\blx@tempc\blx@sorting% sorting scheme name from "sorting" option
\edef\blx@tempd{%
\blx@xml@sorting{%
- \ifcsdef{blx@sortdef@locale@\blx@sorting}
- { locale="\csuse{blx@sortdef@locale@\blx@sorting}"}
+ \ifcsdef{blx@sortdef@locale@\blx@refcontext@sorting}
+ { locale="\csuse{blx@sortdef@locale@\blx@refcontext@sorting}"}
{}}{%
- \csuse{blx@biber@sorting@\blx@sorting}}}% default to global
+ \csuse{blx@biber@sorting@\blx@refcontext@sorting}}}% default to context
\edef\blx@tempe{\the\c@refsection}% default refsection is current
\blx@safe@actives
- \setkeys{blx@bib1}{#1}% Set sorting and section only, if present ...
+ % Add the sortscheme to the list of sortschemes
+ % so we can compare on next run
+ \xifinlist{\blx@refcontext@sorting}{\blx@sortschemes}
+ {}
+ {\listxadd\blx@sortschemes{\blx@refcontext@sorting}%
+ \blx@auxwrite\@mainaux{}{\string\abx@aux@sortscheme{\blx@refcontext@sorting}}}%
+ \edef\blx@tempd{%
+ \blx@xml@sorting{%
+ \ifcsdef{blx@sortdef@locale@\blx@refcontext@sorting}
+ { locale="\csuse{blx@sortdef@locale@\blx@refcontext@sorting}"}
+ {}}{%
+ \csuse{blx@biber@sorting@\blx@refcontext@sorting}}}%
+ \setkeys{blx@bib1}{#1}% Set section only, if present ...
\blx@rest@actives
- \ifcsvoid{blx@slistsbib@\blx@tempe @entry@\blx@tempc}
+ \ifcsvoid{blx@slistsbib@\blx@tempe @entry@\blx@refcontext@sorting}
{}
- {\letcs\blx@tempa{blx@slistsbib@\blx@tempe @entry@\blx@tempc}}%
+ {\letcs\blx@tempa{blx@slistsbib@\blx@tempe @entry@\blx@refcontext@sorting}}%
{\ifcsvoid{blx@sbib@\blx@tempe}
{}
{\letcs\blx@tempa{blx@sbib@\blx@tempe}}}%
@@ -6347,7 +6414,7 @@
\setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options
\blx@rest@actives
\csxappto{blx@xml@slistsbib}{%
- \blx@xml@slist{\blx@tempc}{entry}{\blx@tempe}{\blx@tempc}{\blx@tempd}{}}%
+ \blx@xml@slist{\blx@refcontext@sorting}{entry}{\blx@tempe}{\blx@refcontext@sorting}{\blx@tempd}{}}%
\ifdefvoid\blx@tempa
{\blx@warn@bibempty\endgroup}
{\blx@bibliography\blx@tempa}}
@@ -6377,11 +6444,11 @@
\blx@refsections}
\def\blx@refsections{%
- \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}
+ \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}
{}
{\toggletrue{blx@tempa}%
\begingroup
- \expandafter\blx@bibliography\csname blx@slistsbib@\the\c@refsection @entry@\blx@sorting\endcsname}%
+ \expandafter\blx@bibliography\csname blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting\endcsname}%
\ifnum\c@refsection<\blx@maxsection
\advance\c@refsection\@ne
\expandafter\blx@refsections
@@ -6420,9 +6487,9 @@
{\toggletrue{blx@tempa}%
\begingroup
\let\blx@tempa\@empty
- \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}
+ \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}
{}
- {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}}%
+ {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}}%
\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
@@ -6465,9 +6532,9 @@
\begingroup
\blx@key@heading{#1}%
\let\blx@tempa\@empty
- \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}
+ \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}
{}
- {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}}%
+ {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}}%
\blx@filter\blx@tempa{blx@catg@#1}%
\blx@bibliography\blx@tempa}}%
@@ -6574,7 +6641,7 @@
\let\blx@bibcheck\relax
\def\blx@initsep{%
- \blx@imc@iffieldundef{bibinitsephash}
+ \blx@imc@iffieldundef{sortinithash}
{}
{\ifnum\c@instcount>\@ne
\blx@imc@iffieldequals{sortinithash}\blx@previnithash
@@ -6688,11 +6755,11 @@
% defaults
\let\blx@tempa\@empty% before there is a .bbl, this must not be undef
% default sorting scheme and scheme name for list is same name as list
- % name, then global if not found
+ % name, then current context if not found
\edef\blx@tempc{%
\ifcsdef{blx@biber@sorting@#2}
{#2}
- {\blx@sorting}}%
+ {\blx@refcontext@sorting}}%
\edef\blx@tempd{%
\blx@xml@sorting
{\ifcsdef{blx@sortdef@locale@#2}
@@ -6700,17 +6767,35 @@
{}}
{\ifcsdef{blx@biber@sorting@#2}
{\csuse{blx@biber@sorting@#2}}
- {\csuse{blx@biber@sorting@\blx@sorting}}}}%
+ {\csuse{blx@biber@sorting@\blx@refcontext@sorting}}}}%
\let\blx@printbibchecks\relax
\edef\blx@tempe{\the\c@refsection}% default refsection is current
\blx@safe@actives
- \setkeys{blx@biblist1}{#1}% Set sorting and section only, if present ...
+ \blx@printbibchecks
+ % Add the sortscheme to the list of sortschemes 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}}}%
+ \edef\blx@tempd{%
+ \blx@xml@sorting{%
+ \ifcsdef{blx@sortdef@locale@\blx@tempc}
+ { locale="\csuse{blx@sortdef@locale@\blx@tempc}"}
+ {}}{%
+ \csuse{blx@biber@sorting@\blx@tempc}}}%
+ \setkeys{blx@biblist1}{#1}% Set section only, if present ...
\blx@rest@actives
\ifcsvoid{blx@slistsbib@\blx@tempe @#2@\blx@tempc}
{}
{\letcs\blx@tempa{blx@slistsbib@\blx@tempe @#2@\blx@tempc}}%
\blx@safe@actives
\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
\csxappto{blx@xml@slistsbib}{%
\blx@xml@slist{#2}{list}{\blx@tempe}{\blx@tempc}{\blx@tempd}{\csuse{blx@biber@biblistfilters@#2}}}%
@@ -6797,8 +6882,29 @@
{\printfield{title}}
{\printfield{shorttitle}}}
-% Reference sections
+% Reference contexts
+\def\newrefcontext{%
+ \endrefcontext
+ \refcontext}
+
+\def\refcontext[#1]{%
+ \iftoggle{blx@refcontext}
+ {\blx@err@nestenv{refcontext}%
+ \endrefcontext}
+ {\toggletrue{blx@refcontext}%
+ \setkeys{blx@refcontext}{#1}%
+ \ifcsundef{blx@biber@sorting@\blx@refcontext@sorting}
+ {\blx@err@invopt{sorting=\blx@refcontext@sorting}{}}
+ {}}}
+
+% Reset to global sorting when we leave a ref context (since they can't be nested)
+\protected\def\endrefcontext{%
+ \togglefalse{blx@refcontext}%
+ \xdef\blx@refcontext@sorting{\blx@sorting}}
+
+\define@key{blx@refcontext}{sorting}{\gdef\blx@refcontext@sorting{#1}}
+% Reference sections
\newrobustcmd*{\newrefsection}{%
\ifnum\c@refsection>\z@
\endrefsection
@@ -6904,6 +7010,7 @@
\fi}
\AtEndDocument{%
+ \endrefcontext
\blx@endrefsection
\def\abx@aux@refsection#1#2{\blx@addchecksum{#1}{#2}}}
@@ -7006,7 +7113,6 @@
\let\blx@categories\@empty
% {<category>}
-
\newrobustcmd*{\DeclareBibliographyCategory}[1]{%
\ifcsundef{blx@catg@#1}
{\global\cslet{blx@catg@#1}\@empty
@@ -7018,7 +7124,6 @@
\@onlypreamble\DeclareBibliographyCategory
% {<category>}{<entrykey>,...}
-
\newrobustcmd*{\addtocategory}[2]{%
\ifcsundef{blx@catg@#1}
{\blx@error
@@ -7028,13 +7133,20 @@
\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}
{}
@@ -7043,7 +7155,6 @@
\AtEndDocument{\let\abx@aux@category\@gobbletwo}
% [<options>]{<resource>,...}
-
\renewrobustcmd*{\bibliography}[1]{%
\begingroup
\def\blx@tempa{file}%
@@ -7066,7 +7177,6 @@
\blx@stripbib@i{#1}
% [<options>]{<resource>,...}
-
\newrobustcmd*{\addbibresource}{%
\blx@addbib\blx@addbib@resource}
\@onlypreamble\addbibresource
@@ -7269,8 +7379,8 @@
{\blx@bibreq{*}%
\global\csletcs
{blx@segm@\the\c@refsection @\the\c@refsegment}
- {blx@slists@\the\c@refsection @entry@\blx@sorting}%
- \ifcsvoid{blx@slists@\the\c@refsection @entry@\blx@sorting}
+ {blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}%
+ \ifcsvoid{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}
{\blx@logreq@active{}}
{}}
{}}
@@ -7338,7 +7448,7 @@
\multicitedelim
\fi
\fi
- \letcs\blx@tempb{blx@slists@\the\c@refsection @entry@\blx@sorting}%
+ \letcs\blx@tempb{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}%
\blx@thecitesort
\edef\blx@tempa{\endgroup
\c@citecount\z@
@@ -7364,7 +7474,6 @@
\let\blx@tempb\blx@tempa}
% {<entrykey>}
-
\def\blx@citeadd#1{%
\ifcsdef{blx@keyalias@\the\c@refsection @#1}
{\edef\blx@realkey{\csuse{blx@keyalias@\the\c@refsection @#1}}}
@@ -7374,11 +7483,10 @@
{\advance\blx@tempcnta\@ne
\listeadd\blx@tempa{\blx@realkey}}
{\ifnum\blx@tempcntb>\z@\multicitedelim\fi
- \expandafter\abx@missing\expandafter{\blx@realkey}
+ \expandafter\abx@missing\expandafter{\blx@realkey}%
\advance\blx@tempcntb\@ne}}
% {<entrykey>}
-
\protected\def\blx@citeprint#1{%
\advance\c@citecount\@ne
\addtocounter{instcount}\@ne
@@ -8478,9 +8586,6 @@
\def\ifbibindex{\blx@TE{\iftoggle{blx@bibindex}}}%
\def\iffootnote{\blx@TE{\iftoggle{blx@footnote}}}%
\def\ifuseprefix{\blx@TE{\iftoggle{blx@useprefix}}}%
- \def\ifuseauthor{\blx@TE{\iftoggle{blx@useauthor}}}%
- \def\ifuseeditor{\blx@TE{\iftoggle{blx@useeditor}}}%
- \def\ifusetranslator{\blx@TE{\iftoggle{blx@usetranslator}}}%
\def\ifterseinits{\blx@TE{\iftoggle{blx@terseinits}}}%
\def\iffirstinits{\blx@TE{\iftoggle{blx@firstinits}}}%
\def\ifsingletitle{\blx@TE{\iftoggle{abx@bool@singletitle}}}%
@@ -8540,6 +8645,7 @@
{\textciquote\endgroup}
{\blx@setpostpunct\textciquote\endgroup}}
+
\def\blx@usqcheck#1#2{%
\def\blx@tempa{#1}%
\def\blx@tempb{#2}%
@@ -8550,22 +8656,22 @@
\blx@usqcheck@i\blx@tempa
\fi
\if\noexpand\@let@token\relax
- \blx@usqcheck@i\blx@tempb
+ \expandafter\blx@usqcheck@iv
\fi
\expandafter\blx@usqcheck@ii\blx@quotepunct\relax&}
\def\blx@usqcheck@i#1#2&{\fi#1}
-
-\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}
-
-\def\blx@usqcheck@iii#1#2{#2#1}
+\def\blx@usqcheck@iv#1&#2{%
+ \begingroup
+ \escapechar=-1 %
+ \edef\blx@tempa{\expandafter\@gobble\string#2}%
+ \expandafter\endgroup
+ \ifx\blx@tempa\@empty
+ \else
+ \blx@usqcheck@i\blx@tempb
+ \fi
+ #1&#2%
+}
\newrobustcmd*{\mkbibemph}{\emph}
\protected\long\def\blx@imc@mkbibemph#1{%
@@ -8871,6 +8977,8 @@
~~~~~~~~<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}
@@ -8975,8 +9083,22 @@
#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{%
+ ~~~~<bcf:option>#1</bcf:option>\blx@nl}
\endgroup
+\def\blx@bcf@options@scope{%
+ \blx@xml@options@scope{GLOBAL}{%
+ \forlistloop\blx@xml@option@scope\blx@globalopts}%
+ \blx@xml@options@scope{PER_TYPE}{%
+ \forlistloop\blx@xml@option@scope\blx@typeopts}%
+ \blx@xml@options@scope{PER_ENTRY}{%
+ \forlistloop\blx@xml@option@scope\blx@entryopts}}
+
\def\blx@bcf@options@global{%
\blx@xml@comment{GLOBAL}%
\blx@xml@options{biblatex}{global}{%
@@ -9002,10 +9124,8 @@
\blx@xml@svalue{sortscheme}{\blx@sorting}%
\blx@xml@svalue{uniquelist}{\blx@uniquelist}%
\blx@xml@svalue{uniquename}{\blx@uniquename}%
- \blx@xml@toggle{useauthor}%
- \blx@xml@toggle{useeditor}%
\blx@xml@toggle{useprefix}%
- \blx@xml@toggle{usetranslator}%
+ \blx@xml@nametoggles
}%
}
@@ -9042,10 +9162,8 @@
\blx@xml@toggle{skipbiblist}%
\blx@xml@svalue{uniquelist}{\blx@uniquelist}%
\blx@xml@svalue{uniquename}{\blx@uniquename}%
- \blx@xml@toggle{useauthor}%
- \blx@xml@toggle{useeditor}%
\blx@xml@toggle{useprefix}%
- \blx@xml@toggle{usetranslator}%
+ \blx@xml@nametoggles
}%
}
@@ -9058,6 +9176,10 @@
\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}}}%
+ \dolistcsloop{blx@biber@datamodel@names}
\edef\blx@tempa{%
\blx@xml@file
\blx@xml@comment{BIBER OPTIONS}%
@@ -9077,6 +9199,10 @@
{\def\do##1{%
\begingroup
\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}}}%
+ \dolistcsloop{blx@biber@datamodel@names}
\begingroup
\let\protect\relax
\blx@checkoptions@type
@@ -9085,6 +9211,10 @@
\endgroup}%
\dolistloop\blx@opts@type}
{}%
+ % options scope
+ \eappto\blx@tempa{%
+ \blx@xml@comment{BIBLATEX OPTION SCOPE}%
+ \blx@bcf@options@scope}
% sourcemap
\ifbool{sourcemap}
{\eappto\blx@tempa{%
@@ -9302,6 +9432,7 @@
\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}
{}
@@ -9323,6 +9454,10 @@
\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
\setkeys{blx@sourcemap@step}{#1}%
@@ -9360,6 +9495,8 @@
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_entry\string_null="1"}}
{}}
+\define@key{blx@sourcemap@step}{entryclone}{% characters
+ \appto\blx@tempf{ map\string_entry\string_clone="#1"}}
\define@key{blx@sourcemap@step}{origfield}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempf{ map\string_origfield="1"}}
@@ -9386,6 +9523,8 @@
{\blx@biber@latem{#2}{global}}
{\forcsvlist{\blx@biber@latem{#2}}{#1}}}
\@onlypreamble\DeclareLabelalphaTemplate
+\listadd\blx@globalopts{labelalphatemplate}% for passing to the .bcf
+\listadd\blx@typeopts{labelalphatemplate}% for passing to the .bcf
\def\blx@biber@latem#1#2{%
\begingroup
@@ -9521,7 +9660,6 @@
\eappto\blx@tempc{ override\string_target="#1"}}
% {<type,type,...>}{<type,type,...>}{<spec>}
-
\newrobustcmd*{\DeclareDataInheritance}[3]{%
\begingroup
\let\blx@tempa\@empty
@@ -9543,8 +9681,9 @@
\def\blx@inherit@ii#1#2{%
\eappto\blx@tempa{\blx@xml@inherit@type{#1}{#2}{}}}
-% [<options>]{<source>}{<target>}
+\listadd\blx@globalopts{inheritance}% for passing to the .bcf
+% [<options>]{<source>}{<target>}
\newcommand*{\blx@inherit@field}[3][]{%
\let\blx@tempc\@empty
\ifblank{#1}
@@ -9616,6 +9755,7 @@
\global\cslet{blx@biber@sorting@#2}\blx@tempa
\endgroup}
\@onlypreamble\DeclareSortingScheme
+\listadd\blx@globalopts{sortscheme}% for passing to the .bcf
\define@key{blx@sortdef@sorting}{locale}{% locale name
\def\blx@templ{#1}}
@@ -9700,6 +9840,9 @@
{\forcsvlist\blx@undefpresort{#1}}}%
\endgroup}
\@onlypreamble\DeclarePresort
+\listadd\blx@globalopts{presort}% for passing to the .bcf
+\listadd\blx@typeopts{presort}% for passing to the .bcf
+\listadd\blx@entryopts{presort}% for passing to the .bcf
\def\blx@defpresort#1#2{%
\csxdef{blx@bcf@presort@#2}{\blx@xml@presort{#2}{#1}}}
@@ -9708,6 +9851,7 @@
\newrobustcmd*{\DeclareSortExclusion}[2]{%
\forcsvlist{\blx@sortexlude{#2}}{#1}}
+\listadd\blx@typeopts{sortexclusion}% for passing to the .bcf
\def\blx@sortexlude#1#2{%
\begingroup
@@ -9737,6 +9881,8 @@
#2%
\endgroup}
\@onlypreamble\DeclareLabelname
+\listadd\blx@globalopts{labelnamespec}% for passing to the .bcf
+\listadd\blx@typeopts{labelnamespec}% for passing to the .bcf
\newrobustcmd*{\DeclareLabeltitle}[2][]{%
\begingroup
@@ -9751,6 +9897,8 @@
#2%
\endgroup}
\@onlypreamble\DeclareLabeltitle
+\listadd\blx@globalopts{labeltitlespec}% for passing to the .bcf
+\listadd\blx@typeopts{labeltitlespec}% for passing to the .bcf
\newrobustcmd*{\DeclareLabelyear}[2][]{%
\blx@warning@noline{%
@@ -9770,6 +9918,8 @@
#2%
\endgroup}
\@onlypreamble\DeclareLabeldate
+\listadd\blx@globalopts{labeldatespec}% for passing to the .bcf
+\listadd\blx@typeopts{labeldatespec}% for passing to the .bcf
\newcommand*{\blx@ordered@field}[2][]{%
\let\blx@tempc\@empty
@@ -9910,13 +10060,15 @@
\newtoggle{blx@safeinputenc}
\DeclareBibliographyOption{sorting}{%
- \def\blx@sorting{#1}}
+ \def\blx@sorting{#1}%
+ \def\blx@refcontext@sorting{#1}}
\AtEndPreamble{%
\ifcsdef{blx@biber@sorting@\blx@sorting}
{}
{\blx@err@invopt{sorting=\blx@sorting}{}%
- \def\blx@sorting{nty}}%
+ \def\blx@sorting{nty}%
+ \def\blx@refcontext@sorting{nty}}%
\listxadd\blx@sortschemes{\blx@sorting}}
\DeclareBibliographyOption{sortcase}[true]{%
@@ -10033,6 +10185,10 @@
\numdef\blx@maxalphanames{#1}}
\DeclareTypeOption{minalphanames}{%
\numdef\blx@minalphanames{#1}}
+\DeclareEntryOption{maxalphanames}{%
+ \numdef\blx@maxalphanames{#1}}
+\DeclareEntryOption{minalphanames}{%
+ \numdef\blx@minalphanames{#1}}
\appto\blx@checkoptions@global{%
\blx@maxmin@num{maxalphanames}{minalphanames}\blx@maxalphanames\blx@minalphanames}
@@ -10594,6 +10750,10 @@
\ifcsdef{blx@opt@uniquelist@#1}
{\letcs\blx@uniquelist{blx@opt@uniquelist@#1}}
{\blx@err@invopt{uniquelist=#1}{}}}
+\DeclareEntryOption{uniquelist}[true]{%
+ \ifcsdef{blx@opt@uniquelist@#1}
+ {\letcs\blx@uniquelist{blx@opt@uniquelist@#1}}
+ {\blx@err@invopt{uniquelist=#1}{}}}
\def\blx@opt@uniquelist@false{0}
\def\blx@opt@uniquelist@true{1}
\def\blx@opt@uniquelist@minyear{2}
@@ -10606,6 +10766,10 @@
\ifcsdef{blx@opt@uniquename@#1}
{\letcs\blx@uniquename{blx@opt@uniquename@#1}}
{\blx@err@invopt{uniquename=#1}{}}}
+\DeclareEntryOption{uniquename}[true]{%
+ \ifcsdef{blx@opt@uniquename@#1}
+ {\letcs\blx@uniquename{blx@opt@uniquename@#1}}
+ {\blx@err@invopt{uniquename=#1}{}}}
\def\blx@opt@uniquename@false{0}
\def\blx@opt@uniquename@init{1}
\def\blx@opt@uniquename@true{2}
@@ -10627,7 +10791,7 @@
\let\blx@thelabelnumber\blx@addlabelnumber
\let\abx@aux@number\blx@aux@number}
{\let\blx@thelabelnumber\relax
- \let\abx@aux@number\@gobblefour}}
+ \let\abx@aux@number\@gobblefive}}
\DeclareBibliographyOption{refsection}{%
\ifcsdef{blx@opt@refsection@#1}
@@ -10710,8 +10874,17 @@
{\let\blx@bbl@thewarn\blx@bbl@warn}
{\let\blx@bbl@thewarn\@gobble}}
-% Entry options
+% Name field options
+\def\do#1{%
+ \DeclareBibliographyOption{use#1}[true]{%
+ \settoggle{blx@use#1}{##1}}
+ \DeclareTypeOption{use#1}[true]{%
+ \settoggle{blx@use#1}{##1}}
+ \DeclareEntryOption{use#1}[true]{%
+ \settoggle{blx@use#1}{##1}}}
+\dolistcsloop{blx@biber@datamodel@names}
+% Entry options
\DeclareBibliographyOption{useprefix}[true]{%
\settoggle{blx@useprefix}{#1}}
\DeclareTypeOption{useprefix}[true]{%
@@ -10719,27 +10892,6 @@
\DeclareEntryOption{useprefix}[true]{%
\settoggle{blx@useprefix}{#1}}
-\DeclareBibliographyOption{useauthor}[true]{%
- \settoggle{blx@useauthor}{#1}}
-\DeclareTypeOption{useauthor}[true]{%
- \settoggle{blx@useauthor}{#1}}
-\DeclareEntryOption{useauthor}[true]{%
- \settoggle{blx@useauthor}{#1}}
-
-\DeclareBibliographyOption{useeditor}[true]{%
- \settoggle{blx@useeditor}{#1}}
-\DeclareTypeOption{useeditor}[true]{%
- \settoggle{blx@useeditor}{#1}}
-\DeclareEntryOption{useeditor}[true]{%
- \settoggle{blx@useeditor}{#1}}
-
-\DeclareBibliographyOption{usetranslator}[true]{%
- \settoggle{blx@usetranslator}{#1}}
-\DeclareTypeOption{usetranslator}[true]{%
- \settoggle{blx@usetranslator}{#1}}
-\DeclareEntryOption{usetranslator}[true]{%
- \settoggle{blx@usetranslator}{#1}}
-
\DeclareTypeOption{skipbib}[true]{%
\settoggle{blx@skipbib}{#1}}
\DeclareEntryOption{skipbib}[true]{%
@@ -10774,7 +10926,6 @@
\settoggle{blx@skiplab}{#1}}
% Option processor/scheduler
-
\DeclareOption*{%
\begingroup
\def\blx@tempa#1=#2&{#1}%
@@ -10910,28 +11061,23 @@
{\ifdefstring\blx@bibencoding{ascii}
{\blx@info@noline{%
Data encoding '\blx@bibencoding' specified.\MessageBreak
- No need to reencode data}%
- \togglefalse{blx@reencode}}
+ 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'}
- \togglefalse{blx@reencode}}
+ Assuming data encoding '\blx@bibencoding'}}
{\ifdefstrequal\blx@bibencoding\blx@texencoding
{\blx@info@noline{%
Data encoding '\blx@bibencoding' specified.\MessageBreak
- No need to reencode data}%
- \togglefalse{blx@reencode}}
+ No need to reencode data}}
{\blx@info@noline{%
Data encoding '\blx@bibencoding' specified.\MessageBreak
- Backend will reencode on the fly}%
- \togglefalse{blx@reencode}}}}}
+ Backend will reencode on the fly}}}}}
{\def\blx@bibencoding{ascii}%
\blx@info@noline{%
Data encoding not specified.\MessageBreak
- Assuming '\blx@bibencoding'}%
- \togglefalse{blx@reencode}}%
+ Assuming '\blx@bibencoding'}}%
\ifboolexpr{%
togl {blx@safeinputenc}
and ( test {\@ifpackageloaded{inputenc}}
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
index 5646a3f55e6..864c5cec58b 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
@@ -3,6 +3,8 @@
\newbool{dmskipout}%
\newbool{dmlabelfield}%
+\listadd\blx@globalopts{datamodel}% for passing to the .bcf
+
% Data model .bcf output macros
\xdef\blx@xml@datamodel#1{%
~~<bcf:datamodel>\blx@nl
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
index 7b99454a729..b0799936d61 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
@@ -49,8 +49,8 @@
redactors = {{redakt\o rer}{red\adddot}},
% reviser = {{}{}},% FIXME: missing
% revisers = {{}{}},% FIXME: missing
-% founder = {{}{}},% FIXME: missing
-% founders = {{}{}},% FIXME: missing
+ founder = {{grundl\ae gger}{grundl\adddot}},
+ founders = {{grundl\ae ggere}{grundl\adddot}},
% continuator = {{}{}},% FIXME: missing
% continuators = {{}{}},% FIXME: missing
% collaborator = {{}{}},% FIXME: missing
@@ -65,96 +65,164 @@
% annotator = {{kommentator}{kommentator}},
% annotators = {{kommentatorer}{kommentatorer}},
commentary = {{kommentar}{komm\adddot}},
- annotations = {{forklaring}{forkl\adddot}},
+ annotations = {{forklaringer}{forkl\adddot}},
% alternative translation:
% annotations = {{fortolkning}{fortolkning}},
introduction = {{indledning}{indl\adddot}},
foreword = {{forord}{forord}},
afterword = {{efterord}{efterord}},
-% 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
+ 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 komm\adddot}},
+ editorsco = {{redakt\o rer og kommentatorer}
+ {red\adddotspace og komm\adddot}},
+ editoran = {{redakt\o r og forklaringer}%
+ {red\adddotspace og forkl\adddot}},
+ editorsan = {{redakt\o rer og forklaringer}%
+ {red\adddotspace og forkl\adddot}},
+ editorin = {{redakt\o r og indledning}%
+ {red\adddotspace og indl\adddot}},
+ editorsin = {{redakt\o rer og indledning}%
+ {red\adddotspace og indl\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 efterord}%
+ {red\adddotspace og efterord}},
+ editorsaf = {{redakt\o rer og efterord}%
+ {red\adddotspace og efterord}},
+ editortrco = {{redakt\o r, overs\ae tter og kommentator}%
+ {red.,\addabbrvspace overs\adddotspace og komm\adddot}},
+ editorstrco = {{redakt\o rer, overs\ae ttere og kommentatorer}%
+ {red.,\addabbrvspace overs\adddotspace og komm\adddot}},
+ editortran = {{redakt\o r, overs\ae tter og forklaringer}%
+ {red.,\addabbrvspace overs\adddotspace og forkl\adddot}},
+ editorstran = {{redakt\o rer, overs\ae ttere og forklaringer}%
+ {red.,\addabbrvspace overs\adddotspace og forkl\adddot}},
+ editortrin = {{redakt\o r, overs\ae tter og indledning}%
+ {red.,\addabbrvspace overs\adddotspace og indl\adddot}},
+ editorstrin = {{redakt\o rer, overs\ae ttere og indledning}%
+ {red.,\addabbrvspace overs\adddotspace og indl\adddot}},
+ editortrfo = {{redakt\o r, overs\ae tter og forord}%
+ {red.,\addabbrvspace overs\adddotspace og forord}},
+ editorstrfo = {{redakt\o rer, overs\ae ttere og forord}%
+ {red.,\addabbrvspace overs\adddotspace og forord}},
+ editortraf = {{redakt\o r, overs\ae tter og efterord}%
+ {red.,\addabbrvspace overs\adddotspace og efterord}},
+ editorstraf = {{redakt\o rer, overs\ae ttere og efterord}%
+ {red.,\addabbrvspace overs\adddotspace og efterord}},
+ editorcoin = {{redakt\o r, kommentator og indledning}%
+ {red.,\addabbrvspace komm\adddotspace og indl\adddot}},
+ editorscoin = {{redakt\o rer, kommentatorer og indledning}%
+ {red.,\addabbrvspace komm\adddotspace og indl\adddot}},
+ editorcofo = {{redakt\o r, kommentator og forord}%
+ {red.,\addabbrvspace komm\adddotspace og forord}},
+ editorscofo = {{redakt\o rer, kommentatorer og forord}%
+ {red.,\addabbrvspace komm\adddotspace og forord}},
+ editorcoaf = {{redakt\o r, kommentator og efterord}%
+ {red.,\addabbrvspace komm\adddotspace og efterord}},
+ editorscoaf = {{redakt\o rer, kommentatorer og efterord}%
+ {red.,\addabbrvspace komm\adddotspace og efterord}},
+ editoranin = {{redakt\o r, forklaringer og indledning}%
+ {red.,\addabbrvspace forkl\adddotspace og indl\adddot}},
+ editorsanin = {{redakt\o rer, forklaringer og indledning}%
+ {red.,\addabbrvspace forkl\adddotspace og indl\adddot}},
+ editoranfo = {{redakt\o r, forklaringer og forord}%
+ {red.,\addabbrvspace forkl\adddotspace og forord}},
+ editorsanfo = {{redakt\o rer, forklaringer og forord}%
+ {red.,\addabbrvspace forkl\adddotspace og forord}},
+ editoranaf = {{redakt\o r, forklaringer og efterord}%
+ {red.,\addabbrvspace forkl\adddotspace og efterord}},
+ editorsanaf = {{redakt\o rer, forklaringer og efterord}%
+ {red.,\addabbrvspace forkl\adddotspace og efterord}},
+ editortrcoin = {{redakt\o r, overs\ae tter, kommentator og indledning}%
+ {red.,\addabbrvspace overs., komm\adddotspace og indl\adddot}},
+ editorstrcoin = {{redakt\o rer, overs\ae ttere, kommentatorer og indledning}%
+ {red.,\addabbrvspace overs., komm\adddotspace og indl\adddot}},
+ editortrcofo = {{redakt\o r, overs\ae tter, kommentator og forord}%
+ {red.,\addabbrvspace overs., komm\adddotspace og forord}},
+ editorstrcofo = {{redakt\o rer, overs\ae ttere, kommentatorer og forord}%
+ {red.,\addabbrvspace overs., komm\adddotspace og forord}},
+ editortrcoaf = {{redakt\o r, overs\ae tter, kommentator og efterord}%
+ {red.,\addabbrvspace overs., komm\adddotspace og efterord}},
+ editorstrcoaf = {{redakt\o rer, overs\ae ttere, kommentatorer og efterord}%
+ {red.,\addabbrvspace overs., komm\adddotspace og efterord}},
+ editortranin = {{redakt\o r, overs\ae tter, forklaringer og indledning}%
+ {red.,\addabbrvspace overs., forkl\adddotspace og indl\adddot}},
+ editorstranin = {{redakt\o rer, overs\ae ttere, forklaringer og indledning}%
+ {red.,\addabbrvspace overs., forkl\adddotspace og indl\adddot}},
+ editortranfo = {{redakt\o r, overs\ae tter, forklaringer og forord}%
+ {red.,\addabbrvspace overs., forkl\adddotspace og forord}},
+ editorstranfo = {{redakt\o rer, overs\ae ttere, forklaringer og forord}%
+ {red.,\addabbrvspace overs., forkl\adddotspace og forord}},
+ editortranaf = {{redakt\o r, overs\ae tter, forklaringer og efterord}%
+ {red.,\addabbrvspace overs., forkl\adddotspace og efterord}},
+ editorstranaf = {{redakt\o rer, overs\ae ttere, forklaringer og efterord}%
+ {red.,\addabbrvspace overs., forkl\adddotspace og efterord}},
+ translatorco = {{overs\ae tter og kommentator}%
+ {overs\adddotspace og komm\adddot}},
+ translatorsco = {{overs\ae ttere og kommentatorer}%
+ {overs\adddotspace og komm\adddot}},
+ translatoran = {{overs\ae tter og forklaringer}%
+ {overs\adddotspace og forkl\adddot}},
+ translatorsan = {{overs\ae ttere og forklaringer}%
+ {overs\adddotspace og forkl\adddot}},
+ translatorin = {{overs\ae tter og indledning}%
+ {overs\adddotspace og indl\adddot}},
+ translatorsin = {{overs\ae ttere og indledning}%
+ {overs\adddotspace og indl\adddot}},
+ translatorfo = {{overs\ae tter og forord}%
+ {overs\adddotspace og forord}},
+ translatorsfo = {{overs\ae ttere og forord}%
+ {overs\adddotspace og forord}},
+ translatoraf = {{overs\ae tter og efterord}%
+ {overs\adddotspace og efterord}},
+ translatorsaf = {{overs\ae ttere og efterord}%
+ {overs\adddotspace og efterord}},
+ translatorcoin = {{overs\ae tter, kommentarer og indledning}%
+ {overs., komm\adddotspace og indl\adddot}},
+ translatorscoin = {{overs\ae ttere, kommentarer og indledning}%
+ {overs., komm\adddotspace og indl\adddot}},
+ translatorcofo = {{overs\ae tter, kommentarer og forord}%
+ {overs., komm\adddotspace og forord}},
+ translatorscofo = {{overs\ae ttere, kommentarer og forord}%
+ {overs., komm\adddotspace og forord}},
+ translatorcoaf = {{overs\ae tter, kommentarer og efterord}%
+ {overs., komm\adddotspace og efterord}},
+ translatorscoaf = {{overs\ae ttere, kommentarer og efterord}%
+ {overs., komm\adddotspace og efterord}},
+ translatoranin = {{overs\ae tter, forklaringer og indledning}%
+ {overs., forkl\adddotspace og indl\adddot}},
+ translatorsanin = {{overs\ae ttere, forklaringer og indledning}%
+ {overs., forkl\adddotspace og indl\adddot}},
+ translatoranfo = {{overs\ae tter, forklaringer og forord}%
+ {overs., forkl\adddotspace og forord}},
+ translatorsanfo = {{overs\ae ttere, forklaringer og forord}%
+ {overs., forkl\adddotspace og forord}},
+ translatoranaf = {{overs\ae tter, forklaringer og efterord}%
+ {overs., forkl\adddotspace og efterord}},
+ translatorsanaf = {{overs\ae ttere, forklaringer og efterord}%
+ {overs., forkl\adddotspace og efterord}},
byauthor = {{af}{af}},
byeditor = {{udgivet af}{udg\adddotspace af}},
bycompiler = {{kompileret af}{komp\adddotspace af}},
byredactor = {{bearbejdet af}{bearb\adddotspace af}},
-% byreviser = {{}{}},% FIXME: missing
-% byreviewer = {{}{}},% FIXME: missing
-% byfounder = {{}{}},% FIXME: missing
-% bycontinuator = {{}{}},% FIXME: missing
-% bycollaborator = {{}{}},% FIXME: missing
+ byreviser = {{revideret af}{rev\adddotspace af}},
+ byreviewer = {{bed\o mt af}{bed\adddotspace af}},
+ byfounder = {{grundlagt af}{grundl\adddotspace af}},
+ bycontinuator = {{videref\o rt af}{videref\adddotspace af}},
+ bycollaborator = {{i samarbejde med}{i samarb\adddotspace med}},
bytranslator = {{oversat \lbx@lfromlang\ af}{oversat \lbx@sfromlang\ af}},
bycommentator = {{kommenteret af}{komm\adddot\ af}},
byannotator = {{forklaret af}{forkl\adddot\ af}},
% alternative translation
% byannotator = {{fortolket af}{fortolket af}},
withcommentator = {{med en kommentar af}{med en komm\adddot\ af}},
- withannotator = {{med en forklaring af}{med en forkl\adddot\ af}},
+ withannotator = {{med forklaringer af}{med forkl\adddot\ af}},
withintroduction = {{med en indledning af}{med en indl\adddot\ af}},
withforeword = {{med et forord af}{med et forord af}},
withafterword = {{med et efterord af}{med et efterord af}},
@@ -234,9 +302,9 @@
involumes = {{i}{i}},
jourvol = {{\aa rgang}{\aa g\adddot}},
jourser = {{serie}{ser\adddot}},
-% book = {{}{}},% FIXME: missing
-% part = {{}{}},% FIXME: missing
-% issue = {{}{}},% FIXME: missing
+ book = {{bog}{bog}},
+ part = {{del}{del}},
+ issue = {{oplag}{opl\adddot}},
newseries = {{ny serie}{n.s\adddot}},% FIXME: spacing after abbreviation dot?
oldseries = {{gammel serie}{g.s\adddot}},% FIXME: spacing after abbreviation dot?
edition = {{udgave}{udg\adddot}},
@@ -252,8 +320,8 @@
translationof = {{overs\ae ttelse af}{overs\ae ttelse af}},% FIXME: check
translationas = {{oversat som}{oversat som}},% FIXME: check
translationfrom = {{oversat fra}{oversat fra}},% FIXME: check
-% reviewof = {{}{}},% FIXME: missing
- origpubas = {{oprindelig udgivet som}{oprindelig udgivet som}},% FIXME: check
+ reviewof = {{bed\o mmelse af}{bed\adddotspace af}},
+ origpubas = {{oprindeligt udgivet som}{oprindelig udgivet som}},% FIXME: check
origpubin = {{oprindeligt udgivet i}{oprindeligt udgivet i}},% FIXME: check
astitle = {{i}{i}},% FIXME: check
bypublisher = {{af}{af}},% FIXME: check
@@ -288,15 +356,15 @@
audiocd = {{lyd-cd}{lyd-cd}},
version = {{version}{vers\adddot}},
url = {{side}{side}},
-% urlfrom = {{}{}},% FIXME: missing
+ urlfrom = {{tilg\ae ngelig fra}{tilg\adddotspace fra}},
urlseen = {{sidst set}{sidst set}},
-% inpreparation = {{}{}},% FIXME: missing
-% submitted = {{}{}},% FIXME: missing
-% forthcoming = {{}{}},% FIXME: missing
-% inpress = {{}{}},% FIXME: missing
-% prepublished = {{}{}},% FIXME: missing
+ inpreparation = {{under udarbejdelse}{under udarb\adddot}},
+ submitted = {{indsendt}{indsendt}},
+ forthcoming = {{under udgivelse}{under udgiv\adddot}},
+ inpress = {{i trykken}{i trykken}},
+ prepublished = {{pre-publiceret}{pre-publ\adddot}},
citedas = {{herefter citeret som}{herefter cit\adddot\ som}},
-% thiscite = {{}{}},% FIXME: missing
+ thiscite = {{her}{her}},
seenote = {{se note}{se note}},
% alternative translation:
% seenote = {{se anm\ae rkning}{se anm\adddot}},
@@ -312,7 +380,7 @@
ibidem = {{ibidem}{ibid\adddot}},
opcit = {{op.\adddotspace cit\adddot}{op.\adddotspace cit\adddot}},% FIXME: spacing after abbreviation dot?
loccit = {{loc.\adddotspace cit\adddot}{loc.\adddotspace cit\adddot}},% FIXME: spacing after abbreviation dot?
- confer = {{sammenlign}{smlg\adddot}},
+ confer = {{j\ae vnf\o r}{jf\adddot}},
sequens = {{sq\adddot}{sq\adddot}},
sequentes = {{sqq\adddot}{sqq\adddot}},
passim = {{passim}{pass\adddot}},
@@ -332,48 +400,48 @@
october = {{oktober}{okt\adddot}},
november = {{november}{nov\adddot}},
december = {{december}{dec\adddot}},
- langamerican = {{amerikansk}{amerikansk}},
-% langbrazilian = {{}{}},% FIXME: missing
-% langcatalan = {{}{}},% FIXME: missing
-% langcroatian = {{}{}},% FIXME: missing
-% langczech = {{}{}},% FIXME: missing
-% langdanish = {{}{}},% FIXME: missing
-% langdutch = {{}{}},% FIXME: missing
+ langamerican = {{amerikansk-engelsk}{amerikansk-engelsk}},
+ langbrazilian = {{brasiliansk-portugisisk}{brasiliansk-portugisisk}},
+ langcatalan = {{catalansk}{catalansk}},
+ langcroatian = {{kroatisk}{kroatisk}},
+ langczech = {{tjekkisk}{tjekkisk}},
+ langdanish = {{dansk}{dansk}},
+ langdutch = {{nederlandsk}{nederlandsk}},
langenglish = {{engelsk}{engelsk}},
-% langfinnish = {{}{}},% FIXME: missing
+ langfinnish = {{finsk}{finsk}},
langfrench = {{fransk}{fransk}},
langgerman = {{tysk}{tysk}},
langgreek = {{gr\ae sk}{gr\ae sk}},
langitalian = {{italiensk}{italiensk}},
langlatin = {{latin}{latin}},
langnorwegian = {{norsk}{norsk}},
-% langpolish = {{}{}},% FIXME: missing
-% langportuguese = {{}{}},% FIXME: missing
-% langrussian = {{}{}},% FIXME: missing
-% langslovene = {{}{}},% FIXME: missing
+ langpolish = {{polsk}{polsk}},
+ langportuguese = {{portugisisk}{portugisisk}},% FIXME: missing
+ langrussian = {{russisk}{russisk}},
+ langslovene = {{slovensk}{slovensk}},
langspanish = {{spansk}{spansk}},
-% langswedish = {{}{}},% FIXME: missing
- fromamerican = {{fra amerikansk}{fra amerikansk}},
-% frombrazilian = {{}{}},% FIXME: missing
-% fromcatalan = {{}{}},% FIXME: missing
-% fromcroatian = {{}{}},% FIXME: missing
-% fromczech = {{}{}},% FIXME: missing
-% fromdanish = {{}{}},% FIXME: missing
-% fromdutch = {{}{}},% FIXME: missing
+ langswedish = {{svensk}{svensk}},
+ fromamerican = {{fra amerikansk-engelsk}{fra amerikansk-engelsk}},
+ frombrazilian = {{fra brasiliansk-portugisisk}{fra brasiliansk-portugisisk}},
+ fromcatalan = {{fra catalansk}{fra catalansk}},
+ 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}},
-% fromfinnish = {{}{}},% FIXME: missing
+ fromfinnish = {{fra finsk}{fra finsk}},
fromfrench = {{fra fransk}{fra fransk}},
fromgerman = {{fra tysk}{fra tysk}},
fromgreek = {{fra gr\ae sk}{fra gr\ae sk}},
fromitalian = {{fra italiensk}{fra italiensk}},
fromlatin = {{fra latin}{fra latin}},
fromnorwegian = {{fra norsk}{fra norsk}},
-% frompolish = {{}{}},% FIXME: missing
-% fromportuguese = {{}{}},% FIXME: missing
-% fromrussian = {{}{}},% FIXME: missing
-% fromslovene = {{}{}},% FIXME: missing
+ frompolish = {{fra polsk}{fra polsk}},
+ fromportuguese = {{fra portugisisk}{fra portugisisk}},
+ fromrussian = {{fra russisk}{fra russisk}},
+ fromslovene = {{fra slovensk}{fra slovensk}},
fromspanish = {{fra spansk}{fra spansk}},
-% fromswedish = {{}{}},% FIXME: missing
+ fromswedish = {{fra svensk}{fra svensk}},
countryde = {{Tyskland}{DE}},
countryeu = {{Europ\ae iske Union}{EU}},
countryep = {{Europ\ae iske Union}{EP}},
@@ -392,10 +460,12 @@
patreqfr = {{ans\o gning om fransk patent}{fra\adddot\ pat\adddot\ ans\o gn\adddot}},
patrequk = {{ans\o gning om britisk patent}{britisk pat\adddot\ ans\o gn\adddot}},
patrequs = {{ans\o gning om amerikansk patent}{am\adddot pat\adddot\ ans\o gn\adddot}},
-% file = {{}{}},% FIXME: missing
-% library = {{}{}},% FIXME: missing
-% abstract = {{}{}},% FIXME: missing
-% annotation = {{}{}},% FIXME: missing
+ file = {{fil}{fil}},
+ library = {{bibliotek}{bibliotek}},
+ abstract = {{resum\'{e}}{resum\'{e}}},
+% alternative translation:
+% abstract = {{abstract}{abstract}},
+ annotation = {{forklaring}{forklaring}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
index b795becbc5b..0dee39d8496 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
@@ -328,7 +328,7 @@
translationof = {{vertaling van}{vert\adddotspace van}},
translationas = {{vertaald als}{vert\adddotspace als}},
translationfrom = {{vertaald van}{vert\adddotspace van}},
- reviewof = {{bespreking van}{bespr\addotspace van}},
+ reviewof = {{bespreking van}{bespr\adddotspace van}},
origpubas = {{oorspronkelijk gepubliceerd als}{oorspr\addotspace gep\addotspace als}},
origpubin = {{oorspronkelijk gepubliceerd in}{oorspr\addotspace gep\addotspace in}},
astitle = {{als}{als}},% FIXME: check
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
index 73b5108ba31..74336b003a9 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
@@ -509,7 +509,7 @@
\begingroup
\def\forceD##1{a\relax}%
\def\forceDE##1{x\relax}%
- \def\do##1{\let##1\@empty}%
+ \def\do##1{\let##1\@firstofone}%
\abx@dosingleaccents
\abx@dodoubleaccents
\def\i{i}\def\j{j}%
@@ -526,7 +526,7 @@
\let~\@empty
\fi
\let\protect\noexpand
- \lowercase{\edef\lbx@tempa{#1}}%
+ \edef\lbx@tempa{#1}%
\expandafter\futurelet
\expandafter\lbx@tempa
\expandafter\lbx@fr@smartof@ii
@@ -537,23 +537,31 @@
\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\if a\noexpand\lbx@tempa
- \let\lbx@tempa\lbx@fr@smartof@d
- \else\if e\noexpand\lbx@tempa
- \let\lbx@tempa\lbx@fr@smartof@d
- \else\if i\noexpand\lbx@tempa
- \let\lbx@tempa\lbx@fr@smartof@d
- \else\if o\noexpand\lbx@tempa
- \let\lbx@tempa\lbx@fr@smartof@d
- \else\if u\noexpand\lbx@tempa
- \let\lbx@tempa\lbx@fr@smartof@d
- \else\if y\noexpand\lbx@tempa
+ \else
+ \ifnum 0%
+ \if a\noexpand\lbx@tempa 1\fi
+ \if e\noexpand\lbx@tempa 1\fi
+ \if i\noexpand\lbx@tempa 1\fi
+ \if o\noexpand\lbx@tempa 1\fi
+ \if u\noexpand\lbx@tempa 1\fi
+ \if y\noexpand\lbx@tempa 1\fi
+ \if A\noexpand\lbx@tempa 1\fi
+ \if E\noexpand\lbx@tempa 1\fi
+ \if I\noexpand\lbx@tempa 1\fi
+ \if O\noexpand\lbx@tempa 1\fi
+ \if U\noexpand\lbx@tempa 1\fi
+ \if Y\noexpand\lbx@tempa 1\fi
+ >0 %
\let\lbx@tempa\lbx@fr@smartof@d
- \else\if h\noexpand\lbx@tempa
+ \else
+ \ifnum 0%
+ \if h\noexpand\lbx@tempa 1\fi
+ \if H\noexpand\lbx@tempa 1\fi
+ >0 %
\def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii}%
\else
\let\lbx@tempa\lbx@fr@smartof@de
- \fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi
\lbx@tempa}
\gdef\lbx@fr@smartof@d#1&{\endgroup d'}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
index 16a89071084..bb47c740d58 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
@@ -255,17 +255,17 @@
{μτφρ., επισημ\adddot\ και επίλ\adddot}},
byauthor = {{υπό}{υπό}},
byeditor = {{επιμέλεια υπό}{επιμέλεια υπό}},
- bycompiler = {{σύνταξη υπό}{σύνταξη υπό}}
+ bycompiler = {{σύνταξη υπό}{σύνταξη υπό}},
byredactor = {{σύνταξη υπό}{σύναταξη υπό}},
% byreviser = {{}{}},% FIXME: missing
% byreviewer = {{}{}},% FIXME: missing
- byfounder = {{αρχική δημιουργία από}{αρχική δημιουργία από}}
- bycontinuator = {{συνέχεια από}{συνέχεια από}}
- bycollaborator = {{συνεργασία από}{συνεργασία από}}
+ byfounder = {{αρχική δημιουργία από}{αρχική δημιουργία από}},
+ bycontinuator = {{συνέχεια από}{συνέχεια από}},
+ bycollaborator = {{συνεργασία από}{συνεργασία από}},
bytranslator = {{μετάφραση \lbx@lfromlang\ υπό}{μετάφραση \lbx@sfromlang\ υπό}},
bycommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}},
byannotator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}},
- withcommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}
+ withcommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}},
withannotator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}},
withintroduction = {{εισαγωγή υπό}{εισαγωγή υπό}},
withforeword = {{πρόλογος υπό}{πρόλογος υπό}},
@@ -425,7 +425,7 @@
dateoctober = {{Οκτωβρίου}{Οκτ\adddot}},
datenovember = {{Νοεμβρίου}{Νοέ\adddot}},
datedecember = {{Δεκεμβρίου}{Δεκ\adddot}},
- langamerican = {{Αγγλικά}{Αγγλικά}}
+ langamerican = {{Αγγλικά}{Αγγλικά}},
langbrazilian = {{Βραζιλιάνικα}{Βραζιλιάνικα}},
% langcatalan = {{}{}},% FIXME: missing
% langcroatian = {{}{}},% FIXME: missing
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
index 5ec05897c76..8058bcf86e7 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
@@ -361,7 +361,7 @@
% inpreparation = {{}{}},% FIXME: missing
submitted = {{submetido}{subm\adddot}},
% forthcoming = {{}{}},% FIXME: missing
- inpress = {{na imprensa}{na imp\addot}},
+ inpress = {{na imprensa}{na imp\adddot}},
% prepublished = {{}{}},% FIXME: missing
citedas = {{doravante citado como}{doravante citado como}},
seenote = {{ver nota}{ver nota}},
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
index 20cf7a699cd..600160692a5 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
@@ -63,249 +63,249 @@
bibliography = {{Bibliograf\'{\i}a}{Bibliograf\'{\i}a}},
references = {{Referencias}{Referencias}},
shorthands = {{Lista de abreviaturas}{Abreviaturas}},
- editor = {{editor}{ed\adddot}},
- editors = {{editores}{eds\adddot}},
-% compiler = {{}{}},% FIXME: missing
-% compilers = {{}{}},% FIXME: missing
- redactor = {{revisor}{rev\adddot}},
- redactors = {{revisores}{revs\adddot}},
- reviser = {{revisor}{rev\adddot}},
- revisers = {{revisores}{revs\adddot}},
-% founder = {{}{}},% FIXME: missing
-% founders = {{}{}},% FIXME: missing
-% continuator = {{}{}},% FIXME: missing
-% continuators = {{}{}},% FIXME: missing
-% collaborator = {{}{}},% FIXME: missing
-% collaborators = {{}{}},% FIXME: missing
- translator = {{traductor}{trad\adddot}},
- translators = {{traductores}{trads\adddot}},
-% commentator = {{}{}},% FIXME: missing
-% commentators = {{}{}},% FIXME: missing
-% annotator = {{}{}},% FIXME: missing
-% annotators = {{}{}},% FIXME: missing
+ editor = {{edic\'{\i}on}{ed\adddot}}, %% {edic'{\i}on} instead of {editor} or {editora}
+ editors = {{edic\'{\i}on}{eds\adddot}}, %% {edic'{\i}on} instead of {editores} or {editoras}
+ 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\adddot \lbx@sfromlang}}, %% {traducci\'{o}n} instead of {traductor} or {traductora}
+ translators = {{traducci\'{o}n \lbx@sfromlang}{trads\adddot \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 = {{introduci\'on}{introd\adddot}},
+ introduction = {{introduci\'on}{intr\adddot}},
foreword = {{pr\'ologo}{pr\'ol\adddot}},
afterword = {{ep\'{\i}logo}{ep\'{\i}l\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
+ editortr = {{edici\'{o}n y traducc'{\i}on \lbx@sfromlang}{ed\adddotspace y trad\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducc'{\i}on} instead of {editor y traductor} or {editora y traductora}
+ editorstr = {{edici\'{o}n y traducc'{\i}on \lbx@sfromlang}{eds\adddotspace y trads\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducc'{\i}on} instead of {editores y traductores} or {editoras y traductoras}
+ 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, traducc\'{\i}on \lbx@sfromlang y comentario}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y com\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y comentarios} instead of {editor, traductor y comentarios} or {editora, traductora y comentarios}
+ editorstrco = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y comentarios}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y coms\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y comentarios} instead of {editores, traductores y comentarios} or {editoras, traductoras y comentarios}
+ editortran = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y anot\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y notas} instead of {editor, traductor y notas} or {editora, traductora y notas}
+ editorstran = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y anot\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y notas} instead of {editores, traductores y notas} or {editoras, traductoras y notas}
+ editortrin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang e intr\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {editor, traductor e introducci\'{o}n} or {editora, traductora e introducci\'{o}n}
+ editorstrin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang e intr\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {editores, traductores e introducci\'{o}n} or {editoras, traductoras e introducci\'{o}n}
+ editortrfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {editor, traductor y prologuista} or {editora, traductora y prologuista}
+ editorstrfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {editores, traductores y prologuista} or {editoras, traductoras y prologuistas}
+ editortraf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {editor, traductor y ep\'{\i}logo} or {editora, traductora y ep\'{\i}logo}
+ editorstraf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {editores, traductores y ep\'{\i}logo} or {editoras, traductoras y ep\'{\i}logo}
+ editorcoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{ed.,\addabbrvspace com\adddot e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editor, comentador e introducci\'{o}n} or {editora, comentadora e introducci\'{o}n}
+ editorscoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{eds.,\addabbrvspace coms\adddot e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editores, comentadores e introducci\'{o}n} or {editoras, comentadoras e introducci\'{o}n}
+ editorcofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{ed.,\addabbrvspace com\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editor, comentador y pr\'{o}logo} or {editora, comentadora y pr\'{o}logo}
+ editorscofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{eds.,\addabbrvspace coms\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editores, comentadores y pr\'{o}logo} or {editoras, comentadoras y pr\'{o}logo}
+ editorcoaf = {{edici\'{o}n, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace com\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{\i}logo} instead of {editor, comentador y ep\'{\i}logo} or {editora, comentadora y ep\'{\i}logo}
+ editorscoaf = {{edici\'{o}n, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace coms\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{\i}logo} instead of {editores, comentadores y ep\'{\i}logo} or {editoras, comentadoras y ep\'{\i}logo}
+ editoranin = {{edici\'{o}n, notas e introducci\'{o}n}{ed.,\addabbrvspace anot\adddot e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n}
+ editorsanin = {{edici\'{o}n, notas e introducci\'{o}n}{eds.,\addabbrvspace anot\adddot e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n}
+ editoranfo = {{edici\'{o}n, notas y pr\'{o}logo}{ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editor, notas y pr\'{o}logo} or {editora, notas y pr\'{o}logo}
+ editorsanfo = {{edici\'{o}n, notas y pr\'{o}logo}{eds.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editores, notas y pr\'{o}logo} or {editoras, notas y pr\'{o}logo}
+ editoranaf = {{edici\'{o}n, notas y ep\'{\i}logo}{ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{\i}logo} instead of {editor, notas y ep\'{\i}logo} or {editora, notas y ep\'{\i}logo}
+ editorsanaf = {{edici\'{o}n, notas y ep\'{\i}logo}{eds.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{\i}logo} instead of {editores, notas y ep\'{\i}logo} or {editoras, notas y ep\'{\i}logo}
+ editortrcoin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot e intr\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}
+ editorstrcoin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot e intr\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editores, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} or {editoras, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}
+ editortrcofo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}
+ editorstrcofo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editores, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} or {editoras, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}
+ editortrcoaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}
+ editorstrcoaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}
+ editortranin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, intr\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editor, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} or {{editora, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}
+ editorstranin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, intr\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editores, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} or {{editoras, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}
+ editortranfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {editor, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} or {editora, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}
+ editorstranfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {editores, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} or {editoras, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}
+ editortranaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {editor, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} or {editora, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}
+ editorstranaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {editores, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} or {editoras, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}
+ translatorco = {{traducc\'{\i}on \lbx@sfromlang y comentario}{trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y comentario} instead of {traductor y comentador} or {traductora y comentadora}
+ translatorsco = {{traducc\'{\i}on \lbx@sfromlang y comentario}{trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y comentario} instead of {traductores y comentadores} or {traductoras y comentadoras}
+ translatoran = {{traducc\'{\i}on \lbx@sfromlang y notas}{trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y notas} instead of {traductor y anotador} or {traductora y anotadora}
+ translatorsan = {{traducc\'{\i}on \lbx@sfromlang y notas}{trads\adddotspace \lbx@sfromlang\ y anots\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y notas} instead of {traductores y anotadores} or {traductoras y anotadoras}
+ translatorin = {{traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {traductor \lbx@sfromlang e introducci\'{o}n} {traductora \lbx@sfromlang e introducci\'{o}n}
+ translatorsin = {{traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {traductores \lbx@sfromlang e introducci\'{o}n} {traductoras \lbx@sfromlang e introducci\'{o}n}
+ translatorfo = {{traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {traductor \lbx@sfromlang y prologuista} or {traductora \lbx@sfromlang y prologuista}
+ translatorsfo = {{traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {traductores \lbx@sfromlang y prologuistas} or {traductoras \lbx@sfromlang y prologuistas}
+ translatoraf = {{traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {traductor \lbx@sfromlang y epiloguista} or {traductora \lbx@sfromlang y epiloguista}
+ translatorsaf = {{traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {traductores \lbx@sfromlang y epiloguistas} or {traductoras \lbx@sfromlang y epiloguistas}
+ translatorcoin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario}{trad\adddotspace \lbx@sfromlang, intr\addot y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, introducci\'{o}n y comentario} or {traductora \lbx@sfromlang, introducci\'{o}n y comentario}
+ translatorscoin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios}{trads\adddotspace \lbx@sfromlang, intr\addot y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, introducci\'{o}n y comentarios} or {traductoras \lbx@sfromlang, introducci\'{o}n y comentarios}
+ translatorcofo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y comentario}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\addot y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, pr\'{o}logo y comentario} or {traductora \lbx@sfromlang, pr\'{o}logo y comentario}
+ translatorscofo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y comentarios}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\addot y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, pr\'{o}logo y comentarios} or {traductoras \lbx@sfromlang, pr\'{o}logo y comentarios}
+ translatorcoaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y comentario}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductor \lbx@sfromlang, ep\'{\i}logo y comentario} or {traductora \lbx@sfromlang, ep\'{\i}logo y comentario}
+ translatorscoaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y comentarios}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, ep\'{\i}logo y comentarios} or {traductoras \lbx@sfromlang, ep\'{\i}logo y comentarios}
+ translatoranin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{trad\adddotspace \lbx@sfromlang, intr\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductor \lbx@sfromlang, introducci\'{o}n y notas} or {traductora \lbx@sfromlang, introducci\'{o}n y notas}
+ translatorsanin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{trads\adddotspace \lbx@sfromlang, intr\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductores \lbx@sfromlang, introducci\'{o}n y notas} or {traductoras \lbx@sfromlang, introducci\'{o}n y notas}
+ translatoranfo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductor \lbx@sfromlang, pr\'{o}logo y notas} or {traductora \lbx@sfromlang, pr\'{o}logo y notas}
+ translatorsanfo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductores \lbx@sfromlang, pr\'{o}logo y notas} or {traductoras \lbx@sfromlang, pr\'{o}logo y notas}
+ translatoranaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {traductor \lbx@sfromlang, ep\'{\i}logo y notas} or {traductora \lbx@sfromlang, ep\'{\i}logo y notas}
+ translatorsanaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {traductores \lbx@sfromlang, ep\'{\i}logo y notas} or {traductora \lbx@sfromlang, ep\'{\i}logo y notas}
byauthor = {{de}{de}},
byeditor = {{editado por}{ed\adddotspace por}},
-% bycompiler = {{}{}},% FIXME: missing
- byredactor = {{revisado por}{rev\adddotspace por}},
- byreviser = {{revisado por}{rev\adddotspace por}},
-% byreviewer = {{}{}},% FIXME: missing
-% byfounder = {{}{}},% FIXME: missing
-% bycontinuator = {{}{}},% FIXME: missing
-% bycollaborator = {{}{}},% FIXME: missing
- bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot\ \lbx@sfromlang\ por}},
- bycommentator = {{comentado por}{com\adddot\ por}},
- byannotator = {{anotado por}{anot\adddot\ por}},
- withcommentator = {{con comentario de}{con com\adddot\ de}},
+ bycompiler = {{compilado por}{comp\adddotspace por}},
+ byredactor = {{redacción de}{red\adddotspace de}},
+ byreviser = {{revisado por}{rev\adddotspace por}},% FIXME: unsure
+ byreviewer = {{rese\~{nado por}}{res\adddotspace por}},% FIXME: unsure
+ byfounder = {{fundado por}{fund\adddotspace por}},
+ bycontinuator = {{continuado por}{cont\adddotspace por}},
+ bycollaborator = {{colaboraci\'{o}n de}{col\adddotspace de}},% FIXME: unsure
+ bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot \lbx@sfromlang\ por}},
+ bycommentator = {{comentado por}{com\adddot por}},
+ byannotator = {{anotado por}{anot\adddot por}},
+ withcommentator = {{con comentario de}{con com\adddot de}},
withannotator = {{con notas de}{con notas de}},
- withintroduction = {{con introduci\'on de}{con introd\adddot\ de}},
- withforeword = {{con pr\'ologo de}{con pr\'ol\adddot\ de}},
- withafterword = {{con ep\'{\i}logo de}{con ep\'{\i}l\adddot\ de}},
+ withintroduction = {{con introduci\'on de}{con intr\adddot de}},
+ withforeword = {{con pr\'ologo de}{con pr\'ol\adddot de}},
+ withafterword = {{con ep\'{\i}logo de}{con ep\'{\i}l\adddot de}},
byeditortr = {{editado y traducido \lbx@lfromlang\ por}%
- {ed\adddotspace y trad\adddot\ \lbx@sfromlang\ por}},
+ {ed\adddotspace y trad\adddot \lbx@sfromlang\ por}},
byeditorco = {{editado y comentado por}%
- {ed\adddotspace y com\adddot\ por}},
+ {ed\adddotspace y com\adddot por}},
byeditoran = {{editado y anotado por}%
- {ed\adddotspace y anot\adddot\ por}},
+ {ed\adddotspace y anot\adddot por}},
byeditorin = {{editado e introducido por}%
- {ed\adddotspace e introd\adddot\ por}},
+ {ed\adddotspace e intr\adddot por}},
byeditorfo = {{editado y prologado por}%
- {ed\adddotspace y pr\'ol\adddot\ por}},
+ {ed\adddotspace y pr\'ol\adddot por}},
byeditoraf = {{editado y epilogado por}%
- {ed\adddotspace y epil\adddot\ por}},
+ {ed\adddotspace y ep\'{\i}l\adddot por}},
byeditortrco = {{editado, traducido \lbx@lfromlang\ y comentado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y com\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y com\adddot por}},
byeditortran = {{editado, traducido \lbx@lfromlang\ y anotado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y anot\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y anot\adddot por}},
byeditortrin = {{editado, traducido \lbx@lfromlang\ e introducido por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ e intr\adddot por}},
byeditortrfo = {{editado, traducido \lbx@lfromlang\ y prologado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y pr\'ol\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y pr\'ol\adddot por}},
byeditortraf = {{editado, traducido \lbx@lfromlang\ y epilogado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y epil\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y ep\'{\i}l\adddot por}},
byeditorcoin = {{editado, comentado e introducido por}%
- {ed.,\addabbrvspace com\adddot\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace com\adddot e intr\adddot por}},
byeditorcofo = {{editado, comentado y prologado por}%
- {ed.,\addabbrvspace com\adddot\ y pr\'ol\adddot\ por}},
+ {ed.,\addabbrvspace com\adddot y pr\'ol\adddot por}},
byeditorcoaf = {{editado, comentado y epilogado por}%
- {ed.,\addabbrvspace com\adddot\ y epil\adddot\ por}},
+ {ed.,\addabbrvspace com\adddot y ep\'{\i}l\adddot por}},
byeditoranin = {{editado, anotado e introducido por}%
- {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace anot\adddot e intr\adddot por}},
byeditoranfo = {{editado, anotado y prologado por}%
- {ed.,\addabbrvspace anot\adddot\ y pr\'ol\adddot\ por}},
+ {ed.,\addabbrvspace anot\adddot y pr\'ol\adddot por}},
byeditoranaf = {{editado, anotado y epilogado por}%
- {ed.,\addabbrvspace anot\adddot\ y epil\adddot\ por}},
+ {ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot por}},
byeditortrcoin = {{editado, traducido \lbx@lfromlang, comentado e introducido por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot e intr\adddot por}},
byeditortrcofo = {{editado, traducido \lbx@lfromlang, comentado y prologado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ y pr\'ol\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot y pr\'ol\adddot por}},
byeditortrcoaf = {{editado, traducido \lbx@lfromlang, comentado y epilogado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ y epil\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot por}},
byeditortranin = {{editado, traducido \lbx@lfromlang, anotado e introducido por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot e intr\adddot por}},
byeditortranfo = {{editado, traducido \lbx@lfromlang, anotado y prologado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ y pr\'ol\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot y pr\'ol\adddot por}},
byeditortranaf = {{editado, traducido \lbx@lfromlang, anotado y epilogado por}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ y epil\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot y ep\'{\i}l\adddot por}},
bytranslatorco = {{traducido \lbx@lfromlang\ y comentado por}%
- {trad\adddot\ \lbx@sfromlang\ y com\adddot\ por}},
+ {trad\adddot \lbx@sfromlang\ y com\adddot por}},
bytranslatoran = {{traducido \lbx@lfromlang\ y anotado por}%
- {trad\adddot\ \lbx@sfromlang\ y anot\adddot\ por}},
+ {trad\adddot \lbx@sfromlang\ y anot\adddot por}},
bytranslatorin = {{traducido \lbx@lfromlang\ e introducido por}%
- {trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}},
+ {trad\adddot \lbx@sfromlang\ e introd\adddot por}},
bytranslatorfo = {{traducido \lbx@lfromlang\ y prologado por}%
- {trad\adddot\ \lbx@sfromlang\ y pr\'ol\adddot\ por}},
+ {trad\adddot \lbx@sfromlang\ y pr\'ol\adddot por}},
bytranslatoraf = {{traducido \lbx@lfromlang\ y epilogado por}%
- {trad\adddot\ \lbx@sfromlang\ y epil\adddot\ por}},
+ {trad\adddot \lbx@sfromlang\ y ep\'{\i}l\adddot por}},
bytranslatorcoin = {{traducido \lbx@lfromlang, comentado e introducido por}%
- {trad\adddot\ \lbx@sfromlang, com\adddot\ e introd\adddot\ por}},
+ {trad\adddot \lbx@sfromlang, com\adddot e intr\adddot por}},
bytranslatorcofo = {{traducido \lbx@lfromlang, comentado y prologado por}%
- {trad\adddot\ \lbx@sfromlang, com\adddot\ y pr\'ol\adddot\ por}},
+ {trad\adddot \lbx@sfromlang, com\adddot y pr\'ol\adddot por}},
bytranslatorcoaf = {{traducido \lbx@lfromlang, comentado y epilogado por}%
- {trad\adddot\ \lbx@sfromlang, com\adddot\ y epil\adddot\ por}},
+ {trad\adddot \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot por}},
bytranslatoranin = {{traducido \lbx@lfromlang, anotado e introducido por}%
- {trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}},
+ {trad\adddot \lbx@sfromlang, anot\adddot e intr\adddot por}},
bytranslatoranfo = {{traducido \lbx@lfromlang, anotado y prologado por}%
- {trad\adddot\ \lbx@sfromlang, anot\adddot\ y pr\'ol\adddot\ por}},
+ {trad\adddot \lbx@sfromlang, anot\adddot y pr\'ol\adddot por}},
bytranslatoranaf = {{traducido \lbx@lfromlang, anotado y epilogado por}%
- {trad\adddot\ \lbx@sfromlang, anot\adddot\ y epil\adddot\ por}},
+ {trad\adddot \lbx@sfromlang, anot\adddot y ep\'{\i}l\adddot por}},
and = {{y}{y}},
andothers = {{y~col\adddot}{y~col\adddot}},
-% andmore = {{}{}},% FIXME: missing
+ 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 = {{}{}},% FIXME: missing
-% part = {{}{}},% FIXME: missing
-% issue = {{}{}},% FIXME: missing
- newseries = {{nueva \'epoca}{n\adddotspace\'ep\adddot}},
- oldseries = {{antigua \'epoca}{ant\adddotspace\'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 = {{}{}},% FIXME: missing
-% reprintof = {{}{}},% FIXME: missing
-% reprintas = {{}{}},% FIXME: missing
-% reprintfrom = {{}{}},% FIXME: missing
-% reviewof = {{}{}},% FIXME: missing
-% translationof = {{}{}},% FIXME: missing
-% translationas = {{}{}},% FIXME: missing
-% translationfrom = {{}{}},% FIXME: missing
- origpubas = {{originalmente publicado como}{orig\adddotspace pub\adddotspace como}},% FIXME: check
- origpubin = {{publicado originalmente en}{pub\adddot\ orig\adddot\ en}},% FIXME: check
-% astitle = {{}{}},% FIXME: missing
-% bypublisher = {{}{}},% FIXME: missing
+ reprint = {{reimpresi\'{o}}{reimp\adddot}},
+ reprintof = {{reimpresi\'{o} de}{reimp\adddot de}},
+ reprintas = {{reimpreso como}{reimp\adddot 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}},
page = {{p\'agina}{p\'ag\adddot}},
pages = {{p\'aginas}{p\'ags\adddot}},
column = {{columna}{col\adddot}},
columns = {{columnas}{cols\adddot}},
- line = {{l\'inea}{lin\adddot}},% FIXME: abbrev. unsure
- lines = {{l\'ineas}{lins\adddot}},% FIXME: abbrev. unsure
- nodate = {{sin\space fecha}{{}s\adddot f\adddot}},
- verse = {{verso}{ver\adddot}},% FIXME: abbrev. unsure
- verses = {{versos}{vers\adddot}},% FIXME: abbrev. unsure
-% section = {{}{\S}},% FIXME: missing
-% sections = {{}{\S\S}},% FIXME: missing
-% paragraph = {{}{}},% FIXME: missing
-% paragraphs = {{}{}},% FIXME: missing
+ 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
+ nodate = {{sin fecha}{{}s\adddot f\adddot}},
+ verse = {{verso}{v\adddot}},
+ verses = {{versos}{vv\adddot}},
+ section = {{secci\'{o}}{sec\adddot}},
+ sections = {{secciones}{secs\adddot}},
+ paragraph = {{p\'{a}rrafo}{p\'{a}rr\adddot}},
+ paragraphs = {{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}},
- mathesis = {{Tesis de licenciatura}{Tesis de lic\adddot}},
+ mathesis = {{Tesis de maestr\'{\i}a}{Tesis de mtr\'{\i}a\adddot}},
phdthesis = {{Tesis doctoral}{Tesis doct\adddot}},
-% candthesis = {{}{}},% FIXME: missing
-% resreport = {{}{}},% FIXME: missing
+ 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 = {{}{}},% FIXME: missing
-% datacd = {{}{}},% FIXME: missing
-% audiocd = {{}{}},% FIXME: missing
- version = {{versi\'on}{versi\'on}},
+ 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 = {{}{}},% FIXME: missing
+ urlfrom = {{disponible desde}{disp\adddot desde}},% FIXME: unsure
urlseen = {{visitado}{visitado}},
-% inpreparation = {{}{}},% FIXME: missing
-% submitted = {{}{}},% FIXME: missing
-% forthcoming = {{}{}},% FIXME: missing
-% inpress = {{}{}},% FIXME: missing
-% prepublished = {{}{}},% FIXME: missing
+ inpreparation = {{en preparaci\'{o}}{en prep\adddot}},
+ submitted = {{enviado}{enviado}},
+ forthcoming = {{próximamente}{prox\adddot}},
+ inpress = {{en prensa}{en prensa}},
+ prepublished = {{previamente publicado}{prepublicado}},
citedas = {{citado en adelante como}{cit\adddotspace en adelante como}},
-% thiscite = {{}{}},% FIXME: missing
-% seenote = {{}{}},% FIXME: missing
-% quotedin = {{}{}},% FIXME: missing
+ 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}},
@@ -315,8 +315,8 @@
idempn = {{\'{\i}dem}{\'{\i}d\adddot}},
idempp = {{\'{\i}dem}{\'{\i}d\adddot}},
ibidem = {{ib\'{\i}dem}{ib\'{\i}d\adddot}},
- opcit = {{\'op\adddotspace cit\adddot}{\'op\adddotspace cit\adddot}},
- loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\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}},
@@ -337,46 +337,46 @@
october = {{octubre}{oct\adddot}},
november = {{noviembre}{nov\adddot}},
december = {{diciembre}{dic\adddot}},
- langamerican = {{americano}{americano}},
+ langamerican = {{ingl\'{e}s americano}{ingl\'{e}s americano}},
langbrazilian = {{brasile\~no}{brasile\~no}},
-% langcatalan = {{}{}},% FIXME: missing
-% langcroatian = {{}{}},% FIXME: missing
-% langczech = {{}{}},% FIXME: missing
+ 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}},
-% langfinnish = {{}{}},% FIXME: missing
+ langfinnish = {{fin\'{e}s}{fin\'{e}s}},
langfrench = {{franc\'es}{franc\'es}},
langgerman = {{alem\'an}{alem\'an}},
langgreek = {{griego}{griego}},
langitalian = {{italiano}{italiano}},
langlatin = {{lat\'{\i}n}{lat\'{\i}n}},
langnorwegian = {{noruego}{noruego}},
-% langpolish = {{}{}},% FIXME: missing
+ langpolish = {{polaco}{polaco}},
langportuguese = {{portugu\'es}{portugu\'es}},
-% langrussian = {{}{}},% FIXME: missing
-% langslovene = {{}{}},% FIXME: missing
+ langrussian = {{ruso}{ruso}},
+% langslovene = {{esloveno}{esloveno}}, %%FIXME: not defined?
langspanish = {{espa\~nol}{espa\~nol}},
langswedish = {{sueco}{sueco}},
- fromamerican = {{del americano}{del americano}},
+ fromamerican = {{del ingl\'{e}s americano}{del ingl\'{e}s americano}},
frombrazilian = {{del brasile\~no}{del brasile\~no}},
-% fromcatalan = {{}{}},% FIXME: missing
-% fromcroatian = {{}{}},% FIXME: missing
-% fromczech = {{}{}},% FIXME: missing
+ 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}},
-% fromfinnish = {{}{}},% FIXME: missing
+ fromfinnish = {{del fin\'{e}s}{del fin\'{e}s}},
fromfrench = {{del franc\'es}{del franc\'es}},
fromgerman = {{del alem\'an}{del alem\'an}},
fromgreek = {{del griego}{del griego}},
fromitalian = {{del italiano}{del italiano}},
fromlatin = {{del lat\'{\i}n}{del lat\'{\i}n}},
fromnorwegian = {{del noruego}{del noruego}},
-% frompolish = {{}{}},% FIXME: missing
+ frompolish = {{del polaco}{del polaco}},
fromportuguese = {{del portugu\'es}{del portugu\'es}},
-% fromrussian = {{}{}},% FIXME: missing
-% fromslovene = {{}{}},% FIXME: missing
+ fromrussian = {{del ruso}{del ruso}},
+% fromslovene = {{del esloveno}{del esloveno}}, %%FIXME: not defined?
fromspanish = {{del espa\~nol}{del espa\~nol}},
fromswedish = {{del sueco}{del sueco}},
countryde = {{Alemania}{DE}},
@@ -384,23 +384,23 @@
countryep = {{Uni\'on Europea}{EP}},
countryfr = {{Francia}{FR}},
countryuk = {{Reino Unido}{GB}},% FIXME: "Reino Unido" or "Gran Breta\~na"?
- countryus = {{Estados Unidos de Am\'erica}{US}},% FIXME: "Estados Unidos" only?
+ countryus = {{Estados Unidos}{US}},% FIXME: "Estados Unidos de Am\'erica"?
patent = {{patente}{pat\adddot}},
- patentde = {{patente alemana}{pat\adddot\ alemana}},
- patenteu = {{patente europea}{pat\adddot\ europea}},
- patentfr = {{patente francesa}{pat\adddot\ francesa}},
- patentuk = {{patente brit\'anica}{pat\adddot\ brit\'anica}},
- patentus = {{patente americana}{pat\adddot\ americana}},
- patreq = {{solicitud de patente}{solicitud de pat\adddot}},
- patreqde = {{solicitud de patente alemana}{solicitud de pat\adddot\ alemana}},
- patreqeu = {{solicitud de patente europea}{solicitud de pat\adddot\ europea}},
- patreqfr = {{solicitud de patente francesa}{solicitud de pat\adddot\ francesa}},
- patrequk = {{solicitud de patente brit\'anica}{solicitud de pat\adddot\ brit\'anica}},
- patrequs = {{solicitud de patente americana}{solicitud de pat\adddot\ americana}},
-% file = {{}{}},% FIXME: missing
-% library = {{}{}},% FIXME: missing
-% abstract = {{}{}},% FIXME: missing
-% annotation = {{}{}},% FIXME: missing
+ patentde = {{patente alemana}{pat\adddot alemana}},
+ patenteu = {{patente europea}{pat\adddot europea}},
+ patentfr = {{patente francesa}{pat\adddot francesa}},
+ patentuk = {{patente brit\'anica}{pat\adddot brit\'anica}},
+ patentus = {{patente estadounidense}{pat\adddot estadounidense}},
+ patreq = {{solicitud de patente}{sol\adddot de pat\adddot}},
+ patreqde = {{solicitud de patente alemana}{sol\adddot de pat\adddot alemana}},
+ patreqeu = {{solicitud de patente europea}{sol\adddot de pat\adddot europea}},
+ patreqfr = {{solicitud de patente francesa}{sol\adddot de pat\adddot francesa}},
+ patrequk = {{solicitud de patente brit\'anica}{sol\adddot de pat\adddot brit\'anica}},
+ patrequs = {{solicitud de patente estadounidense}{sol\adddot de pat\adddot estadounidense}},
+ file = {{archivo}{archivo}},
+ library = {{biblioteca}{bibl\adddot}},
+ abstract = {{resumen}{resumen}},
+ annotation = {{anotaci\'{o}n}{anot\adddot}},
}
\protected\gdef\lbx@es@smartand{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
index 65efafba26e..7b9ee1fbdfe 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
@@ -391,7 +391,7 @@
langswedish = {{svenska}{svenska}},
fromamerican = {{fr\aa n amerikanska}{fr\aa n amerikanska}},
% frombrazilian = {{}{}},% FIXME: missing
- fromcatalan = {{fr\aan katalanska}{fr\aan katalanska}},
+ 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}},