diff options
author | Karl Berry <karl@freefriends.org> | 2013-07-11 23:36:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-07-11 23:36:27 +0000 |
commit | 275a02abde664ff395868e975c7c06d89276ac0b (patch) | |
tree | c315179a8d6f30c65f89152a70176afa828cc7e7 /Master/texmf-dist/tex/latex/biblatex/biblatex2.sty | |
parent | 40e239851e66f62ec8d3092c746e61151b445b6f (diff) |
biblatex (10jul13)
git-svn-id: svn://tug.org/texlive/trunk@31176 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/biblatex2.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/biblatex2.sty | 235 |
1 files changed, 168 insertions, 67 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty index 1a9542da6c6..fd4576f2653 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty @@ -65,7 +65,11 @@ amsrefs,apacite,babelbib,backref,bibtopic,bibunits,chapterbib, cite,citeref,drftcite,footbib,inlinebib,jurabib,mcite,mciteplus, mlbib,multibbl,multibib,natbib,opcit,overcite,splitbib,ucs}% - \@ifpackageloaded{babel} + \ifboolexpr{ + test {\@ifpackageloaded{babel}} + and + not test {\@ifpackageloaded{polyglossia}} + } {\iftoggle{blx@autolang} {\blx@mkbabel} {\blx@mknobabel}} @@ -368,8 +372,6 @@ \newcount\blx@parenlevel@foot \expandafter\newcount\csname blx@sectionciteorder@0\endcsname - - \def\blx@uniquename{0} \def\blx@uniquelist{0} \def\blx@maxbibnames{0} @@ -2155,6 +2157,19 @@ \expandafter\@secondoftwo \fi}}} +% {<true>}{<false>} + +\def\blx@imc@iffirstcitekey{% + \ifboolexpr{ ( test {\ifnumequal\c@multicitetotal\z@} + and test {\ifnumequal\c@citecount\@ne} ) + or ( test {\ifnumgreater\c@multicitetotal\z@} + and test {\ifnumequal\c@multicitecount\@ne} + and test {\ifnumequal\c@citecount\@ne} ) }} + +\def\blx@imc@iflastcitekey{% + \ifboolexpr{ test {\ifnumequal\c@citecount\c@citetotal} + and test {\ifnumequal\c@multicitecount\c@multicitetotal} }} + % {<category>}{<true>}{<false>} \protected\def\blx@imc@ifcategory{% @@ -2203,6 +2218,12 @@ \expandafter{\abx@field@entrykey}} {\@secondoftwo}} +\protected\def\blx@ifciteseen@context{% + \ifdef\abx@field@entrykey + {\expandafter\blx@ifseen@context + \expandafter{\abx@field@entrykey}} + {\@secondoftwo}} + % {<entrykey>}{<true>}{<false>} \protected\def\blx@ifentryseen@global{% @@ -2817,7 +2838,8 @@ \else \numdef\blx@tempc\blx@tempd \fi - \edef\blx@tempb{\blx@range@out@value{\blx@tempb\noexpand\bibrangedash\blx@tempc}}% + \edef\blx@tempb{% + \blx@range@out@value{\blx@tempb\noexpand\bibrangedash\blx@tempc}}% \blx@tempb} \def\blx@comprange@comp@div{% @@ -3046,11 +3068,12 @@ \ifdriver \thefield \strfield \csfield \usefield \thelist \thename \clearfield \clearlist \clearname \restorefield \restorelist \restorename \ifcategory \ifentrycategory \ifkeyword \ifentrykeyword - \ifciteseen \ifentryseen \ifciteibid \ifciteidem \ifopcit \ifloccit + \ifciteseen \ifentryseen \ifentryinbib \ifciteibid \ifciteidem \ifopcit \ifloccit \ifcurrentfield \ifcurrentlist \ifcurrentname \ifentrytype \iffieldequalcs \iffieldequals \iffieldequalstr \iffieldsequal \ifbibmacroundef \iffieldundef \iffieldxref \iflistequalcs \iflistequals - \iflistsequal \iflistundef \iflistxref \ifmorenames \ifmoreitems + \iflistsequal \iflistundef \iflistxref + \ifmorenames \ifmoreitems \iffirstcitekey \iflastcitekey \ifnameequalcs \ifnameequals \ifnamesequal \ifnameundef \ifnamexref \iffirstonpage \ifsamepage \savefield \savefieldcs \savelist \savelistcs \savename \savenamecs \usedriver @@ -4310,6 +4333,7 @@ \do{langitalian}% \do{langlatin}% \do{langnorwegian}% + \do{langpolish}% \do{langportuguese}% \do{langrussian}% \do{langspanish}% @@ -4329,6 +4353,7 @@ \do{fromitalian}% \do{fromlatin}% \do{fromnorwegian}% + \do{frompolish}% \do{fromportuguese}% \do{fromrussian}% \do{fromspanish}% @@ -4685,6 +4710,7 @@ \newrobustcmd*{\bibrangessep}{,\space} \newrobustcmd*{\bibdatedash}{\bibrangedash} \newrobustcmd*{\finalandcomma}{} +\newrobustcmd*{\finalandsemicolon}{} \newrobustcmd*{\mkbibordinal}[1]{#1} \newrobustcmd*{\mkbibmascord}{\mkbibordinal} \newrobustcmd*{\mkbibfemord}{\mkbibordinal} @@ -5109,7 +5135,7 @@ % {<counter>}{<value>} -\protected\long\def\blx@bbl@countdef#1#2{% +\protected\long\def\blx@bbl@cntdef#1#2{% \csxappto\blx@bbl@data{% \csname c@#1\endcsname#2\relax}} @@ -5262,6 +5288,7 @@ \def\blx@ifdata#1{% \ifcsdef{blx@data@\the\c@refsection @#1}} +\let\blx@imc@ifentryinbib\blx@ifdata \def\blx@getdata#1{% \csuse{blx@data@\the\c@refsection @#1}% @@ -5564,7 +5591,7 @@ \let\list\blx@bbl@listdef \let\field\blx@bbl@fielddef \let\strng\blx@bbl@stringdef - \let\count\blx@bbl@countdef + \let\cnt\blx@bbl@cntdef \let\true\blx@bbl@booltrue \let\false\blx@bbl@boolfalse \let\verb\blx@bbl@verbdef @@ -5637,19 +5664,19 @@ {} {\blx@logreq@active{}}} {}% - % Test to see if we removed any mention of a sorting scheme since last run. + % Test if we removed any mention of a sorting scheme since last run. % If we did, we need to re-run biber \def\do#1{\ifinlist{#1}{\blx@sortschemes}{}{\blx@logreq@active{}}\relax}% \dolistloop\blx@lastsortschemes - % Test to see if we added any mention of a sorting scheme since last run + % Test if we added any mention of a sorting scheme since last run % If we did, we need to re-run biber \def\do#1{\ifinlist{#1}{\blx@lastsortschemes}{}{\blx@logreq@active{}}\relax}% \dolistloop\blx@sortschemes - % Test to see if we removed any mention of a shorthand sorting scheme since last run. + % Test if we removed any mention of a shorthand sorting scheme since last run. % If we did, we need to re-run biber \def\do#1{\ifinlist{#1}{\blx@sortschemeslos}{}{\blx@logreq@active{}}\relax}% \dolistloop\blx@lastsortschemeslos - % Test to see if we added any mention of a shorthand sorting scheme since last run + % Test to see if we added any mention of a shorthand sorting scheme since last run. % If we did, we need to re-run biber \def\do#1{\ifinlist{#1}{\blx@lastsortschemeslos}{}{\blx@logreq@active{}}\relax}% \dolistloop\blx@sortschemeslos @@ -5679,17 +5706,28 @@ {\let\abx@field@localnumber\@empty} {\csnumgdef{blx@labelnumber@\the\c@refsection}{% \csuse{blx@labelnumber@\the\c@refsection}+1}% - \edef\abx@field@localnumber{\csuse{blx@labelnumber@\the\c@refsection}}% + \edef\abx@field@localnumber{% + \csuse{blx@labelnumber@\the\c@refsection}}% \blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}% {localnumber}{\abx@field@localnumber}}% - \listxadd\blx@localnumaux{\string\abx@aux@number{\the\c@instcount}{\abx@field@entrykey}{\the\c@refsection}{\abx@field@localnumber}}} + \listxadd\blx@localnumaux{% + \string\abx@aux@number + {\the\c@instcount} + {\abx@field@entrykey} + {\the\c@refsection} + {\abx@field@localnumber}}} % If localnumbers were already in the .aux, add them % again from the .aux. This prevents some cycling % problems where pagebreaks change after localnumber % settles down and then we need another run which then % regenerates localnumber requiring another run but then % the pagebreaks change back again ... etc. - {\listxadd\blx@localnumaux{\string\abx@aux@number{\the\c@instcount}{\abx@field@entrykey}{\the\c@refsection}{\abx@field@localnumber}}}} + {\listxadd\blx@localnumaux{% + \string\abx@aux@number + {\the\c@instcount} + {\abx@field@entrykey} + {\the\c@refsection} + {\abx@field@localnumber}}}} {}}% {}} {}% @@ -6284,7 +6322,8 @@ \togglefalse{blx@omitnumbers}% \setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options \blx@rest@actives - \csxappto{blx@xml@slistsbib}{\blx@xml@slist{entry}{\blx@tempe}{\blx@tempc}{\blx@tempd}}% + \csxappto{blx@xml@slistsbib}{% + \blx@xml@slist{entry}{\blx@tempe}{\blx@tempc}{\blx@tempd}}% \ifdefvoid\blx@tempa {\blx@warn@bibempty\endgroup} {\blx@bibliography\blx@tempa}} @@ -6536,6 +6575,10 @@ \@onlypreamble\AtBeginBibliography \@onlypreamble\AtEveryBibitem +\def\blx@imc@UseBibitemHook{\csuse{blx@hook@bibitem}} + +\blx@regimcs{\UseBibitemHook} + \newrobustcmd*{\AtNextBibliography}{% \ifundef\blx@hook@bibinit@next {\gdef\blx@hook@bibinit@next{\global\undef\blx@hook@bibinit@next}} @@ -6637,7 +6680,8 @@ \blx@safe@actives \setkeys{blx@los2}{#1}% ... now we have correct \blx@tempa, set rest of options \blx@rest@actives - \csxappto{blx@xml@slistsbib}{\blx@xml@slistlos{shorthand}{\blx@tempe}{\blx@tempc}{\blx@tempd}}% + \csxappto{blx@xml@slistsbib}{% + \blx@xml@slistlos{shorthand}{\blx@tempe}{\blx@tempc}{\blx@tempd}}% \ifdefvoid\blx@tempa {\blx@warn@losempty\endgroup} {\blx@shorthands\blx@tempa}} @@ -6756,8 +6800,9 @@ \ifblank{#1} {} {\let\blx@bibfiles\@empty - \blx@xsanitizeafter{\forcsvlist\blx@refsection@addfile}{#1}% + % globals should be first as it might contain macros needed for others \forlistloop{\listadd\blx@bibfiles}\blx@bibfiles@global}% + \blx@xsanitizeafter{\forcsvlist\blx@refsection@addfile}{#1}% \blx@refsection@biber \fi \blx@info{Setting label 'refsection:\the\c@refsection'}% @@ -7057,8 +7102,14 @@ \newrobustcmd*{\AtEveryCite}{\gappto\blx@hook@cite} \newrobustcmd*{\AtEveryCitekey}{\gappto\blx@hook@citekey} +\newrobustcmd*{\AtEveryMultiCite}{\gappto\blx@hook@mcite} \@onlypreamble\AtEveryCite \@onlypreamble\AtEveryCitekey +\@onlypreamble\AtEveryMultiCite + +\def\blx@imc@UseEveryCiteHook{\csuse{blx@hook@cite}} +\def\blx@imc@UseEveryCitekeyHook{\csuse{blx@hook@citekey}} +\def\blx@imc@UseEveryMultiCiteHook{\csuse{blx@hook@mcite}} \newrobustcmd*{\AtNextCite}{% \ifundef\blx@hook@cite@next @@ -7072,7 +7123,24 @@ {}% \gappto\blx@hook@citekey@next} -% {<style>] +\newrobustcmd*{\AtNextMultiCite}{% + \ifundef\blx@hook@mcite@next + {\gdef\blx@hook@mcite@next{\global\undef\blx@hook@mcite@next}} + {}% + \gappto\blx@hook@mcite@next} + +\def\blx@imc@UseNextCiteHook{\csuse{blx@hook@cite@next}} +\def\blx@imc@UseNextCitekeyHook{\csuse{blx@hook@citekey@next}} +\def\blx@imc@UseNextMultiCiteHook{\csuse{blx@hook@mcite@next}} + +\def\blx@imc@DeferNextCitekeyHook{\undef\blx@hook@citekey@next} + +\blx@regimcs{% + \UseEveryCiteHook \UseEveryCitekeyHook \UseEveryMultiCiteHook + \UseNextCiteHook \UseNextCitekeyHook \UseNextMultiCiteHook + \DeferNextCitekeyHook} + +% {<style>} \newrobustcmd*{\RequireCitationStyle}[1]{% \blx@inputonce{#1.cbx}{citation style '#1'}{}{}{} @@ -7877,8 +7945,10 @@ \fi \blx@checkpunct@ii} \def\blx@checkpunct@iii#1\blx@checkpunct@ii{% + \global\undef\abx@field@postpunct \blx@tempa{\blx@postpunct}} \def\blx@checkpunct@iv#1\blx@checkpunct@ii#2{% + \gdef\abx@field@postpunct{#3}% \edef\blx@tempa{% \expandonce\blx@tempa{% \ifcsdef{blx@pm@\detokenize{#3}} @@ -8009,6 +8079,8 @@ \ifnum\c@multicitetotal>\@ne \let\blx@ifcitesingle\@secondoftwo \fi + \csuse{blx@hook@mcite}% + \csuse{blx@hook@mcite@next}% \ifblank{#2}% {} {\def\abx@field@multiprenote{#2}}% @@ -8062,6 +8134,7 @@ \def\blx@multicite#1#2#3#4{% \begingroup + \csuse{blx@hook@mcite@before}% \def\blx@tempa{#1}% \def\blx@tempb{#2}% \def\blx@tempc{#3}% @@ -8322,8 +8395,11 @@ \def\ifhyperref{\blx@TE\blx@imc@ifhyperref}% \def\ifmorenames{\blx@TE\blx@imc@ifmorenames}% \def\ifmoreitems{\blx@TE\blx@imc@ifmoreitems}% + \def\iffirstcitekey{\blx@TE\blx@imc@iffirstcitekey}% + \def\iflastcitekey{\blx@TE\blx@imc@iflastcitekey}% \def\ifciteseen{\blx@TE\blx@imc@ifciteseen}% \def\ifentryseen{\blx@TE\blx@imc@ifentryseen}% + \def\ifentryinbib{\blx@TE\blx@imc@ifentryinbib}% \def\ifciteibid{\blx@TE\blx@imc@ifciteibid}% \def\ifciteidem{\blx@TE\blx@imc@ifciteidem}% \def\ifopcit{\blx@TE\blx@imc@ifopcit}% @@ -8338,6 +8414,7 @@ \def\iffieldequals#1#2{\blx@TE{\blx@imc@iffieldequals{#1}{#2}}}% \def\iffieldequalstr#1#2{\blx@TE{\blx@imc@iffieldequalstr{#1}{#2}}}% \def\iffieldsequal#1#2{\blx@TE{\blx@imc@iffieldsequal{#1}{#2}}}% + \def\ifbibmacroundef#1{\blx@TE{\blx@imc@ifbibmacroundef{#1}}}% \def\iffieldundef#1{\blx@TE{\blx@imc@iffieldundef{#1}}}% \def\ifnameequalcs#1#2{\blx@TE{\blx@imc@ifnameequalcs{#1}{#2}}}% \def\ifnameequals#1#2{\blx@TE{\blx@imc@ifnameequals{#1}{#2}}}% @@ -8672,35 +8749,36 @@ n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\else \blx@warning@entry{Value out of range}\number#1\fi} -\newrobustcmd*{\volcitecmd}[1]{% - \begingroup - \def\blx@tempa{\endgroup#1}% - \@ifstar - {\appto\blx@tempa{*}% - \blx@volcitecmd@i} - {\blx@volcitecmd@i}} +% {<macro>}[<pre>]{<vol>}[<post>] => <macro>{<pre>}{{<vol>}{<post>}} + +\newrobustcmd*{\volcitecmd}{% + \AtNextCite{\DeclareFieldAlias{postnote}{volcitenote}}% + \begingroup\let\blx@citeargs\blx@volciteargs} -\def\blx@volcitecmd@i{% +\protected\def\blx@volciteargs#1{% + \endgroup \@ifnextchar[%] - {\blx@volcitecmd@ii} - {\blx@volcitecmd@ii[]}} + {\blx@volciteargs@i{#1}} + {\blx@volciteargs@i{#1}[]}} -\def\blx@volcitecmd@ii[#1]#2{% - \appto\blx@tempa{[#1]}% - \blx@getformat\blx@tempb{ffd}{}{volcitevolume}% +\long\def\blx@volciteargs@i#1[#2]#3{% \@ifnextchar[%] - {\blx@volcitecmd@iii{#2}} - {\edef\blx@tempa{\expandonce\blx@tempa[{% - \expandonce{\blx@tempb{#2}}}]}% - \blx@tempa}} + {\blx@volciteargs@ii{#1}{#2}{#3}} + {\blx@citeargs@iii{#1{#2}{{#3}{}}}}} -\def\blx@volcitecmd@iii#1[#2]{% - \blx@getformat\blx@tempc{ffd}{}{volcitepages}% - \edef\blx@tempa{\expandonce\blx@tempa[{% - \expandonce{\blx@tempb{#1}}% - \noexpand\volcitedelim - \expandonce{\blx@tempc{#2}}}]}% - \blx@tempa} +\long\def\blx@volciteargs@ii#1#2#3[#4]{% + \blx@citeargs@iii{#1{#2}{{#3}{#4}}}} + +\newrobustcmd*{\multivolcitecmd}{% + \AtNextCite{\DeclareFieldAlias{postnote}{volcitenote}}% + \def\blx@hook@mcite@before{% + \global\undef\blx@hook@mcite@before + \let\blx@citeargs\blx@volmciteargs}} + +\protected\def\blx@volmciteargs#1{% + \@ifnextchar[%] + {\blx@volciteargs@i{#1}} + {\blx@volciteargs@i{#1}[]}} %% Control file @@ -8750,11 +8828,11 @@ #2% ~~~~~~</bcf:map>\blx@nl} \xdef\blx@xml@sourcemap@perdatasource#1{% - ~~~~~~~~<bcf:per_datasource>#1</bcf:per_datasource>\blx@nl} + ~~~~~~~~<bcf:per\string_datasource>#1</bcf:per\string_datasource>\blx@nl} \xdef\blx@xml@sourcemap@pertype#1{% - ~~~~~~~~<bcf:per_type>#1</bcf:per_type>\blx@nl} + ~~~~~~~~<bcf:per\string_type>#1</bcf:per\string_type>\blx@nl} \xdef\blx@xml@sourcemap@step#1{% - ~~~~~~~~<bcf:map_step#1/>\blx@nl} + ~~~~~~~~<bcf:map\string_step#1/>\blx@nl} \xdef\blx@xml@labelalphatemplate#1#2{% ~~<bcf:labelalphatemplate type="#1">\blx@nl @@ -8972,15 +9050,27 @@ {\eappto\blx@tempa{% \blx@xml@comment{SOURCEMAP}% \blx@xml@sourcemap{% - \ifcsdef{blx@biber@sourcemap@user}{\csuse{blx@biber@sourcemap@user}}{}% - \ifcsdef{blx@biber@sourcemap@style}{\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}}{}% - \ifcsdef{blx@biber@sourcemap@defaults@ris}{\csuse{blx@biber@sourcemap@defaults@ris}}{}% - \ifcsdef{blx@biber@sourcemap@defaults@zoterordfxml}{\csuse{blx@biber@sourcemap@defaults@zoterordfxml}}{}% - }% - }} + \ifcsdef{blx@biber@sourcemap@user} + {\csuse{blx@biber@sourcemap@user}} + {}% + \ifcsdef{blx@biber@sourcemap@style} + {\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}} + {}% + \ifcsdef{blx@biber@sourcemap@defaults@ris} + {\csuse{blx@biber@sourcemap@defaults@ris}} + {}% + \ifcsdef{blx@biber@sourcemap@defaults@zoterordfxml} + {\csuse{blx@biber@sourcemap@defaults@zoterordfxml}} + {}}}} {}% % labelalpha template \eappto\blx@tempa{% @@ -9168,7 +9258,7 @@ \appto\blx@tempb{ level="#1"}} \newcommand*{\blx@sourcemap@map}[2][]{% - \let\blx@tempd\@empty + \let\blx@tempm\@empty \let\blx@tempe\@empty \let\perdatasource\blx@sourcemap@perdatasource \let\pertype\blx@sourcemap@pertype @@ -9178,11 +9268,11 @@ {\setkeys{blx@sourcemap@map}{#1}}% #2% \eappto\blx@tempc{% - \blx@xml@sourcemap@map{\blx@tempd}{\blx@tempe}}} + \blx@xml@sourcemap@map{\blx@tempm}{\blx@tempe}}} \define@key{blx@sourcemap@map}{overwrite}[true]{% true|false \ifstrequal{#1}{true} - {\appto\blx@tempd{ map\string_overwrite="1"}} + {\appto\blx@tempm{ map\string_overwrite="1"}} {}} \newcommand*{\blx@sourcemap@perdatasource}[1]{% @@ -9244,6 +9334,8 @@ {}} \define@key{blx@sourcemap@step}{match}{% characters \appto\blx@tempf{ map\string_match="#1"}} +\define@key{blx@sourcemap@step}{notmatch}{% characters + \appto\blx@tempf{ map\string_notmatch="#1"}} \define@key{blx@sourcemap@step}{replace}{% characters \eappto\blx@tempf{ map\string_replace="#1"}} @@ -9606,9 +9698,12 @@ {\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}}}% + {\csxappto{blx@bcf@\blx@tempb}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}} + {\def\do##1{% + \blx@addtypeopt{##1}% + \csxappto{blx@bcf@\blx@tempb @##1}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}}% \expandafter\docsvlist\expandafter{\blx@tempa}}} \newcommand*{\blx@orderedld@field}[2][]{% @@ -9618,17 +9713,23 @@ {\setkeys{blx@ordered@field}{#1}}% \advance\blx@tempcnta\@ne \ifdefempty{\blx@tempa} - {\csxappto{blx@bcf@\blx@tempb}{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="field"\blx@tempc}{#2}}} - {\def\do##1{\blx@addtypeopt{##1}% - \csxappto{blx@bcf@\blx@tempb @##1}{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}}% + {\csxappto{blx@bcf@\blx@tempb}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="field"\blx@tempc}{#2}}} + {\def\do##1{% + \blx@addtypeopt{##1}% + \csxappto{blx@bcf@\blx@tempb @##1}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{\blx@tempc}{#2}}}% \expandafter\docsvlist\expandafter{\blx@tempa}}} \newcommand*{\blx@orderedld@literal}[1]{% \advance\blx@tempcnta\@ne \ifdefempty{\blx@tempa} - {\csxappto{blx@bcf@\blx@tempb}{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="string"}{#1}}} - {\def\do##1{\blx@addtypeopt{##1}% - \csxappto{blx@bcf@\blx@tempb @##1}{\noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="string"}{#1}}}% + {\csxappto{blx@bcf@\blx@tempb}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="string"}{#1}}} + {\def\do##1{% + \blx@addtypeopt{##1}% + \csxappto{blx@bcf@\blx@tempb @##1}{% + \noexpand\blx@xml@ordered{\the\blx@tempcnta}{ type="string"}{#1}}}% \expandafter\docsvlist\expandafter{\blx@tempa}}} \define@key{blx@ordered@field}{form}{% |