summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/biblatex2.sty')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex2.sty144
1 files changed, 100 insertions, 44 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
index 841261f358a..378a7caf98f 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty
@@ -20,6 +20,7 @@
\RequirePackage{logreq}
\RequirePackage{ifthen}
\RequirePackage{url}
+%\RequirePackage{trace}
\@ifpackagelater{etoolbox}{2010/11/29}
{}
@@ -2967,8 +2968,7 @@
\blx@initunit}
\protected\def\blx@finentry@usedrv{%
- \unspace\blx@initunit
-}
+ \blx@setunit\relax}
\protected\def\blx@finentry@inset{%
\blx@setunit\entrysetpunct
@@ -4214,6 +4214,7 @@
\do{december}%
\do{langamerican}%
\do{langbrazilian}%
+ \do{langcatalan}%
\do{langcroatian}%
\do{langdanish}%
\do{langdutch}%
@@ -4231,6 +4232,7 @@
\do{langswedish}%
\do{fromamerican}%
\do{frombrazilian}%
+ \do{fromcatalan}%
\do{fromcroatian}%
\do{fromdanish}%
\do{fromdutch}%
@@ -5045,7 +5047,7 @@
{\expandonce\NewValue}}}}
-% {<name>}{<itemcount>}{<value>}
+% {<name>}{<itemcount>}{<nameoptions>}{<value>}
\protected\def\blx@bbl@namedef#1#2#3#4{%
\def\NewCount{#2}%
@@ -8613,8 +8615,9 @@
~~~~<bcf:option type="#1">\blx@nl
#2%
~~~~</bcf:option>\blx@nl}
-\xdef\blx@xml@ordered#1#2{%
- ~~~~~~<bcf:value order="#1">#2</bcf:value>\blx@nl}
+\xdef\blx@xml@ordered#1#2#3{%
+ ~~~~~~<bcf:value order="#1"#2%
+ >#3</bcf:value>\blx@nl}
\xdef\blx@xml@sourcemap#1{%
~~<bcf:sourcemap>\blx@nl
@@ -8852,6 +8855,7 @@
\blx@xml@comment{SOURCEMAP}%
\blx@xml@sourcemap{%
\ifcsdef{blx@biber@sourcemap@user}{\csuse{blx@biber@sourcemap@user}}{}%
+ \ifcsdef{blx@biber@sourcemap@user}{\csuse{blx@biber@sourcemap@style}}{}%
\ifcsdef{blx@biber@sourcemap@defaults@bibtex}{\csuse{blx@biber@sourcemap@defaults@bibtex}}{}%
\ifcsdef{blx@biber@sourcemap@defaults@biblatexml}{\csuse{blx@biber@sourcemap@defaults@biblatexml}}{}%
\ifcsdef{blx@biber@sourcemap@defaults@endnotexml}{\csuse{blx@biber@sourcemap@defaults@endnotexml}}{}%
@@ -8977,14 +8981,25 @@
\newrobustcmd*{\DeclareSourcemap}[1]{%
\booltrue{sourcemap}%
\begingroup
- \let\maps\blx@sourcemap@maps
+ \let\maps\blx@usersourcemap@maps
\let\blx@tempa\@empty
#1%
\csxdef{blx@biber@sourcemap@user}{\blx@tempa}%
\endgroup}
\@onlypreamble\DeclareSourcemap
-\newrobustcmd*{\DeclareDefaultSourcemap}[2][]{%
+\newrobustcmd*{\DeclareStyleSourcemap}[1]{%
+ \booltrue{sourcemap}%
+ \begingroup
+ \let\maps\blx@stylesourcemap@maps
+ \let\blx@tempa\@empty
+ #1%
+ \csxdef{blx@biber@sourcemap@style}{\blx@tempa}%
+ \endgroup}
+
+\@onlypreamble\DeclareStyleSourcemap
+
+\newrobustcmd*{\DeclareDriverSourcemap}[2][]{%
\booltrue{sourcemap}%
\begingroup
\let\blx@tempa\@empty
@@ -8994,21 +9009,32 @@
\let\map\blx@sourcemap@map
#2%
\ifblank{#1}
- {\setkeys{blx@sourcemap@maps}{datatype=bibtex, defaults=true}}
- {\setkeys{blx@sourcemap@maps}{#1, defaults=true}}%
+ {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=driver}}
+ {\setkeys{blx@sourcemap@maps}{#1, level=driver}}%
\eappto\blx@tempa{%
\blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}%
\csxdef{blx@biber@sourcemap@defaults@\blx@tempd}{\blx@tempa}%
\endgroup}
-\@onlypreamble\DeclareDefaultSourcemap
+\@onlypreamble\DeclareDriverSourcemap
-\newcommand*{\blx@sourcemap@maps}[2][]{%
+\newcommand*{\blx@usersourcemap@maps}[2][]{%
\let\blx@tempb\@empty
\let\blx@tempc\@empty
\let\map\blx@sourcemap@map
\ifblank{#1}
- {}
- {\setkeys{blx@sourcemap@maps}{#1}}%
+ {\setkeys{blx@sourcemap@maps}{level=user}}
+ {\setkeys{blx@sourcemap@maps}{#1, level=user}}%
+ #2%
+ \eappto\blx@tempa{%
+ \blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}}
+
+\newcommand*{\blx@stylesourcemap@maps}[2][]{%
+ \let\blx@tempb\@empty
+ \let\blx@tempc\@empty
+ \let\map\blx@sourcemap@map
+ \ifblank{#1}
+ {\setkeys{blx@sourcemap@maps}{level=style}}
+ {\setkeys{blx@sourcemap@maps}{#1, level=style}}%
#2%
\eappto\blx@tempa{%
\blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}}
@@ -9020,10 +9046,8 @@
\ifstrequal{#1}{true}
{\appto\blx@tempb{ map\string_overwrite="1"}}
{}}
-\define@key{blx@sourcemap@maps}{defaults}[true]{% true|false
- \ifstrequal{#1}{true}
- {\appto\blx@tempb{ driver\string_defaults="1"}}
- {}}
+\define@key{blx@sourcemap@maps}{level}{% user|style|driver
+ \appto\blx@tempb{ level="#1"}}
\newcommand*{\blx@sourcemap@map}[2][]{%
\let\blx@tempd\@empty
@@ -9126,7 +9150,7 @@
\global\cslet{blx@biber@labelalphatemplate@#2}\blx@tempa}%
\endgroup}
-\newcommand{\blx@latem@element}[1]{%
+\newcommand*{\blx@latem@element}[1]{%
\advance\blx@tempcnta\@ne
\let\blx@tempb\@empty
#1%
@@ -9148,6 +9172,8 @@
% script form - original | translated | romanised | uniform
\define@key{blx@latem@field}{form}{%
\appto\blx@tempc{ form="#1"}}
+\define@key{blx@latem@field}{lang}{%
+ \appto\blx@tempc{ lang="#1"}}
\define@key{blx@latem@field}{uppercase}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ uppercase="1"}}
@@ -9219,7 +9245,7 @@
% {<source>}{<target>}{<options>}
-\newcommand{\blx@inherit@except}[3]{%
+\newcommand*{\blx@inherit@except}[3]{%
\let\blx@tempc\@empty
\ifblank{#3}
{}
@@ -9257,7 +9283,7 @@
% [<options>]{<source>}{<target>}
-\newcommand{\blx@inherit@field}[3][]{%
+\newcommand*{\blx@inherit@field}[3][]{%
\let\blx@tempc\@empty
\ifblank{#1}
{}
@@ -9265,7 +9291,7 @@
\eappto\blx@tempb{%
\blx@xml@inherit@field{#2}{#3}{\blx@tempc}}}
-\newcommand{\blx@inherit@block}[1]{%
+\newcommand*{\blx@inherit@block}[1]{%
\eappto\blx@tempb{\blx@xml@inherit@block{#1}}}
\define@key{blx@inherit@field}{override}[true]{% true|false
@@ -9294,7 +9320,7 @@
\endgroup}
\@onlypreamble\DeclareSortingScheme
-\newcommand{\blx@sortdef@sort}[2][]{%
+\newcommand*{\blx@sortdef@sort}[2][]{%
\advance\blx@tempcnta\@ne
\blx@tempcntb\z@
\let\blx@tempb\@empty
@@ -9336,6 +9362,8 @@
% script form - original | translated | romanised | uniform
\define@key{blx@sortdef@field}{form}{%
\appto\blx@tempd{ form="#1"}}
+\define@key{blx@sortdef@field}{lang}{%
+ \appto\blx@tempd{ lang="#1"}}
\define@key{blx@sortdef@field}{padside}{% left|right
\ifstrequal{#1}{right}
{\eappto\blx@tempd{ pad\string_side="right"}}
@@ -9395,35 +9423,63 @@
% [<type,type,...>]{<field,field,...>}
\newrobustcmd*{\DeclareLabelname}[2][]{%
- \blx@defmvalue{labelnamespec}{#1}{#2}}
+ \begingroup
+ \let\blx@tempa\@empty
+ \def\blx@tempb{labelnamespec}%
+ \let\field\blx@ordered@field
+ \ifblank{#1}
+ {\global\cslet{blx@bcf@labelnamespec}\@empty}
+ {\def\blx@tempa{#1}%
+ \def\do##1{\global\cslet{blx@bcf@labelnamespec@##1}\@empty}%
+ \expandafter\docsvlist\expandafter{#1}}%
+ #2%
+ \endgroup}
\@onlypreamble\DeclareLabelname
\newrobustcmd*{\DeclareLabeltitle}[2][]{%
- \blx@defmvalue{labeltitlespec}{#1}{#2}}
+ \begingroup
+ \let\blx@tempa\@empty
+ \def\blx@tempb{labeltitlespec}%
+ \let\field\blx@ordered@field
+ \ifblank{#1}
+ {\global\cslet{blx@bcf@labeltitlespec}\@empty}
+ {\def\blx@tempa{#1}%
+ \def\do##1{\global\cslet{blx@bcf@labeltitlespec@##1}\@empty}%
+ \expandafter\docsvlist\expandafter{#1}}%
+ #2%
+ \endgroup}
\@onlypreamble\DeclareLabeltitle
\newrobustcmd*{\DeclareLabelyear}[2][]{%
- \blx@defmvalue{labelyearspec}{#1}{#2}}
+ \begingroup
+ \let\blx@tempa\@empty
+ \def\blx@tempb{labelyearspec}%
+ \let\field\blx@ordered@field
+ \ifblank{#1}
+ {\global\cslet{blx@bcf@labelyearspec}\@empty}
+ {\def\blx@tempa{#1}%
+ \def\do##1{\global\cslet{blx@bcf@labelyearspec@##1}\@empty}%
+ \expandafter\docsvlist\expandafter{#1}}%
+ #2%
+ \endgroup}
\@onlypreamble\DeclareLabelyear
-\def\blx@defmvalue#1#2#3{%
- \ifblank{#2}
- {\expandafter\blx@defmvalue@ii\csname blx@bcf@#1\endcsname{#3}}
- {\forcsvlist{\blx@defmvalue@i{#1}{#3}}{#2}}}
-
-\def\blx@defmvalue@i#1#2#3{%
- \blx@addtypeopt{#3}%
- \expandafter\blx@defmvalue@ii\csname blx@bcf@#1@#3\endcsname{#2}}
+\newcommand*{\blx@ordered@field}[2][]{%
+ \let\blx@tempc\@empty
+ \ifblank{#1}
+ {}
+ {\setkeys{blx@ordered@field}{#1}}%
+ \advance\blx@tempcnta\@ne
+ \ifdefempty{\blx@tempa}
+ {\csxappto{blx@bcf@\blx@tempb}{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}}
+ {\def\do##1{\blx@addtypeopt{##1}%
+ \csxappto{blx@bcf@\blx@tempb @##1}{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}}%
+ \expandafter\docsvlist\expandafter{\blx@tempa}}}
-\def\blx@defmvalue@ii#1#2{%
- \begingroup
- \global\let#1\@empty
- \blx@tempcnta\z@
- \def\do##1{%
- \advance\blx@tempcnta\@ne
- \xappto#1{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{##1}}}%
- \docsvlist{#2}%
- \endgroup}
+\define@key{blx@ordered@field}{form}{%
+ \appto\blx@tempc{ form="#1"}}
+\define@key{blx@ordered@field}{lang}{%
+ \appto\blx@tempc{ lang="#1"}}
%% Package options
@@ -9444,8 +9500,8 @@
{\ifdef\blx@opts@type
{\ifinlist{#1}{\blx@opts@type}
{}
- {\listadd\blx@opts@type{#1}}}
- {\listadd\blx@opts@type{#1}}}
+ {\listgadd\blx@opts@type{#1}}}
+ {\listgadd\blx@opts@type{#1}}}
{}}
% load-time only