diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/biblatex2.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/biblatex2.sty | 144 |
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 |