diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/biblatex2.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/biblatex2.sty | 327 |
1 files changed, 217 insertions, 110 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty index cb3b9ccd304..841261f358a 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty @@ -150,6 +150,7 @@ {}}% \docsvlist{% \@footnotetext,% patch twice + \H@@footnotetext,% patch twice \@plainfootnotetext}} {}% \iftoggle{blx@tempa} @@ -448,6 +449,17 @@ \newtoggle{blx@reencode} \newtoggle{blx@citeindex} \newtoggle{blx@bibindex} +\newtoggle{blx@localnumber} + +% Initialise some lists which track changing citations/sortschemes +% etc. between runs +\global\let\blx@cites\@empty +\global\let\blx@sortschemes\@empty +\global\let\blx@lastsortschemes\@empty +\global\let\blx@sortschemeslos\@empty +\global\let\blx@lastsortschemeslos\@empty +\global\let\blx@lastcites\@empty +\global\let\blx@localnumaux\@empty \newread\blx@bcfin \newwrite\blx@bcfout @@ -1754,12 +1766,25 @@ % {<name>} -\newrobustcmd*{\usebibmacro}[1]{% - \ifcsundef{abx@macro@\detokenize{#1}} +\newrobustcmd*{\usebibmacro}{% + \@ifstar + {\blx@usebibmacro@i} + {\blx@usebibmacro}} + +\def\blx@usebibmacro#1{% + \blx@usebibmacro@i{\detokenize{#1}}} + +\def\blx@usebibmacro@i#1{% + \ifcsundef{abx@macro@#1} {\blx@error - {Bibliography macro '\detokenize{#1}' undefined} + {Bibliography macro '#1' undefined} {Use '\string\newbibmacro' to define this macro}} - {\csuse{abx@macro@\detokenize{#1}}}} + {\csuse{abx@macro@#1}}} + +% {<name>}{<true>}{<false>} + +\def\blx@imc@ifbibmacroundef#1{% + \ifcsundef{abx@macro@#1}} % {<field>} @@ -1771,6 +1796,14 @@ {\csname abx@field@#1\endcsname}} {}} +\def\blx@imc@csfield#1{\usefield{\unexpanded}{#1}} + +% {<command>}{<field>} + +\def\blx@imc@usefield#1#2{% + \expandafter\expandafter\expandafter#1% + \expandafter\expandafter\expandafter{\csname abx@field@#2\endcsname}} + % {<plainlist>} \def\blx@imc@thelist#1{\csuse{abx@list@#1}} @@ -2942,13 +2975,13 @@ \global\toggletrue{blx@block}} \blx@regimcs{% - \ifdriver \thefield \strfield \thelist \thename \clearfield \clearlist - \clearname \restorefield \restorelist \restorename + \ifdriver \thefield \strfield \csfield \usefield \thelist \thename + \clearfield \clearlist \clearname \restorefield \restorelist \restorename \ifcategory \ifentrycategory \ifkeyword \ifentrykeyword \ifciteseen \ifentryseen \ifciteibid \ifciteidem \ifopcit \ifloccit \ifcurrentfield \ifcurrentlist \ifcurrentname \ifentrytype \iffieldequalcs \iffieldequals \iffieldequalstr \iffieldsequal - \iffieldundef \iffieldxref \iflistequalcs \iflistequals + \ifbibmacroundef \iffieldundef \iffieldxref \iflistequalcs \iflistequals \iflistsequal \iflistundef \iflistxref \ifmorenames \ifmoreitems \ifnameequalcs \ifnameequals \ifnamesequal \ifnameundef \ifnamexref \iffirstonpage \ifsamepage \savefield \savefieldcs \savelist @@ -2978,7 +3011,7 @@ \let\nopp\relax \protected\def\psq{\sqspace\bibstring{sequens}}% \protected\def\psqq{\sqspace\bibstring{sequentes}}} - + % Make sure that commands which might pop up inside an \edef will be defined % as something. If they are taken \AtBeginDocument then we assume that all will % be well. If not, then provide a definition which will give an error outside @@ -3368,6 +3401,12 @@ \newrobustcmd*{\restorelistformat}[2][*]{\blx@restore{abx@lfd@#1@#2}} \newrobustcmd*{\restorenameformat}[2][*]{\blx@restore{abx@nfd@#1@#2}} +% [<entrytype>]{<name>}{<true>}{<false>} + +\newrobustcmd*{\iffieldformatundef}[2][*]{\ifcsundef{abx@ffd@#1@#2}} +\newrobustcmd*{\iflistformatundef}[2][*]{\ifcsundef{abx@lfd@#1@#2}} +\newrobustcmd*{\ifnameformatundef}[2][*]{\ifcsundef{abx@nfd@#1@#2}} + % [<entrytype>]{<alias>}[<entrytype>]{<name>} \newrobustcmd*{\DeclareNameAlias}{\blx@defalias{nfd}} @@ -3854,7 +3893,7 @@ {\@firstoftwo}}} \blx@regimcs{% - \bibstring \biblstring \bibsstring + \bibstring \biblstring \bibsstring \bibxstring \bibxlstring \bibxsstring \bibcpstring \bibcplstring \bibcpsstring \biblcstring \biblclstring \biblcsstring @@ -4133,6 +4172,7 @@ \do{inpreparation}% \do{submitted}% \do{inpress}% + \do{prepublished}% \do{forthcoming}% \do{library}% \do{abstract}% @@ -4790,12 +4830,11 @@ \do{localnumber}% \do{namehash}% \do{prefixnumber}% - \do{sortinit}% -} + \do{sortinit}} \def\abx@dobooleans{% - \do{singletitle}% -} + \do{singletitle}} + \def\do#1{% \newcounter{#1}% \newcounter{saved#1}% @@ -5226,7 +5265,6 @@ \blx@setoptions@entry \edef\blx@bbl@data{blx@data@\the\c@refsection @\abx@field@entrykey}% \csuse\blx@bbl@data - \cslet\blx@bbl@data\@empty \blx@bbl@addfield{entrykey}{\abx@field@entrykey}% \blx@bbl@addfield{entrytype}{#2}% \blx@imc@iffieldundef{options} @@ -5256,21 +5294,21 @@ {}% \nottoggle{blx@skiplab} {\iftoggle{blx@labelnumber} - {\blx@bbl@labelnumber} - {}% - \iftoggle{blx@labelalpha} - {\blx@bbl@labelalpha} - {}% - \iftoggle{blx@labeltitle} - {\blx@bbl@labeltitle} - {}% - \iftoggle{blx@labeltitleyear} - {\blx@bbl@labeltitleyear} - {}% - \iftoggle{blx@labelyear} - {\blx@bbl@labelyear} - {}% - \blx@bbl@prefixnumber} + {\blx@bbl@labelnumber} + {}% + \iftoggle{blx@labelalpha} + {\blx@bbl@labelalpha} + {}% + \iftoggle{blx@labeltitle} + {\blx@bbl@labeltitle} + {}% + \iftoggle{blx@labeltitleyear} + {\blx@bbl@labeltitleyear} + {}% + \iftoggle{blx@labelyear} + {\blx@bbl@labelyear} + {}% + \blx@bbl@prefixnumber} {}% \blx@bbl@titles \blx@bbl@hooks @@ -5307,30 +5345,35 @@ \csuse{abx@ffd@*@shorthandwidth}{\abx@field@shorthand}}}} \def\blx@bbl@labelnumber{% - \ifdefempty\abx@field@localnumber - {} - {\ifundef\abx@field@shorthand - {\ifdef\abx@field@localnumber - {} + % Used at endentry + % only do this for the global sorting list otherwise we increment + % the labelnumbers for each sortlist + \ifdefstrequal{\blx@slist@name}{\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} + \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} + \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}}}}}} + \csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}} + {}} \def\blx@bbl@prefixnumber{% \ifdef\abx@field@prefixnumber @@ -5436,14 +5479,29 @@ \def\blx@bblend{% } +% {<entrykey>} +% Get the saved information on which citations were mentioned last run +\protected\def\abx@aux@cite#1{% + \listxadd{\blx@lastcites}{\detokenize{#1}}} + +% {<sortschemename>} +% Get the saved information on which sorting schemes were mentioned last run +\protected\def\abx@aux@sortscheme#1{% + \listgadd{\blx@lastsortschemes}{#1}} + +% {<sortschemename>} +% Get the saved information on which shorthand sorting schemes were mentioned last run +\protected\def\abx@aux@sortschemelos#1{% + \listgadd{\blx@lastsortschemeslos}{#1}} + % {<instcount>}{<entrykey>}{<refsection>}{<labelnumber>} \protected\def\blx@aux@number#1#2#3#4{% \blx@bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}% + \global\toggletrue{blx@localnumber}% \ifblank{#4} {} - {\csgdef{blx@labelnumber@#3}{#4}% - \blx@addchecksum{#1}{#4}}} + {\csgdef{blx@labelnumber@#3}{#4}}} \AtEndDocument{% \def\abx@aux@number#1#2#3#4{% @@ -5451,22 +5509,79 @@ {} {\blx@addchecksum{#1}{#4}}}} +\AtEndDocument{% + % Here we run some tests to decide if we need to issue re-run + % messages in certain circumstances. In general, if we add/remove + % any citations or add/remove any sorting schemes, we need to re-run + % biber. Also, if we have to re-run biber, we need to defer writing + % the defernumbers .aux information because it will not yet be correct. + + % Test to see if we *removed* any citations since last run + % (adding citations is dealt with naturally in \blx@citation@entry) + % If so, give a rerun biber message. This also sets the + % rerun biber toggle so defernums doesn't consume the localnumbers + % in the .aux but instead, re-writes them, which is what we need. + \begingroup + \def\do#1{\ifinlist{#1}{\blx@cites}{}{\blx@logreq@active{}}\relax}% + \dolistloop\blx@lastcites + % Special case - if we are using sortscheme "none" anywhere, then changes + % in citation order matter and we need to re-run biber. So a special test + % to see if the cites from last run are identical in order. We have + % already tested for more or less cites between runs by now, we are + % testing here for exactly the same cites by treating the cite and + % lastcite lists as strings and comparing them. This doesn't apply + % to shorthand sortschemes as nobody wants to sort shorthands with + % "none" anyway, it makes no sense + \ifinlist{none}{\blx@sortschemes} + {\ifdefstrequal{\blx@cites}{\blx@lastcites} + {} + {\blx@logreq@active{}}} + {}% + % Test to see 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 + % 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. + % 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 + % If we did, we need to re-run biber + \def\do#1{\ifinlist{#1}{\blx@lastsortschemeslos}{}{\blx@logreq@active{}}\relax}% + \dolistloop\blx@sortschemeslos + % If we have to run biber or latex again and we are using defernumbers, + % don't write the localnumber information to the .aux file yet as we will + % potentially have to regenerate sorting order first in biber + \iftoggle{blx@defernumbers} + {\iftoggle{blx@runbiber} + {} + {\def\do#1{\blx@auxwrite\@mainaux{}{#1}} + \dolistloop\blx@localnumaux}} + {}% + \endgroup} + +% Only used when defernumbers=true \def\blx@addlabelnumber{% \begingroup \nottoggle{blx@skiplab} {\iftoggle{blx@labelnumber} {\ifundef\abx@field@shorthand - {\ifundef\abx@field@localnumber - {\iftoggle{blx@omitnumbers} - {\let\abx@field@localnumber\@empty} - {\csnumgdef{blx@labelnumber@\the\c@refsection}{% - \csuse{blx@labelnumber@\the\c@refsection}+1}% + % Need to know if we set any localnumber from .aux file, not + % just current item. Otherwise, we may just write new + % localnumbers but not existing ones + {\nottoggle{blx@localnumber} + {\iftoggle{blx@omitnumbers} + {\let\abx@field@localnumber\@empty} + {\csnumgdef{blx@labelnumber@\the\c@refsection}{% + \csuse{blx@labelnumber@\the\c@refsection}+1}% \edef\abx@field@localnumber{\csuse{blx@labelnumber@\the\c@refsection}}% \blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}% {localnumber}{\abx@field@localnumber}}% - \blx@auxwrite\@mainaux{}{% - \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}}} {}} {}}% {}} @@ -5495,7 +5610,6 @@ \blx@bbl@addentryfield{\detokenize{#1}}{#2}{prefixnumber}{#3}} \def\blx@bbl@slist#1#2{% - \csnumgdef{blx@labelnumber@\the\c@refsection}{0}% \begingroup \def\blx@slist@name{#2}% % This macro (\key) will only be called in shorthand lists @@ -5740,15 +5854,27 @@ {\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{% \csuse{blx@biber@sorting@#1}}}}} - + \define@key{blx@los1}{sorting}{% \ifcsundef{blx@biber@sorting@#1} {\blx@err@invopt{sorting=#1}{}}% {\blx@printbibchecks \def\blx@tempc{#1}% + % Add the sortscheme to the list of shorthand sortschemes + % so we can compare on next run + \ifinlist{#1}{\blx@sortschemeslos} + {} + {\listgadd\blx@sortschemeslos{#1}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@sortschemelos{#1}}}% \edef\blx@tempd{% \blx@xml@sorting{% \csuse{blx@biber@sorting@#1}}}}} @@ -6243,7 +6369,8 @@ \csuse{blx@bibsetup}} % {<entrykey>} - +% output a bib item, this is why \blx@thelabelnumber is here so that +% labelnumber is deferred if defernumbers=true \def\blx@bibitem#1{% \blx@ifdata{#1} {\begingroup @@ -6377,10 +6504,10 @@ \let\blx@thetitle\@empty % defaults \let\blx@tempa\@empty% before there is a .bbl, this must not be undef - \def\blx@tempc{shorthand}% sorting scheme name from "sorting" option + \def\blx@tempc{shorthand}% default sorting scheme for shorthands \edef\blx@tempd{% \blx@xml@sorting{% - \csuse{blx@biber@sorting@shorthand}}}% sorting scheme from "sorting" option + \csuse{blx@biber@sorting@shorthand}}}% default sorting scheme for shorthands \let\blx@printbibchecks\relax \edef\blx@tempe{\the\c@refsection}% default refsection is current \blx@safe@actives @@ -6854,7 +6981,7 @@ \blx@loccitreset} % {<entrykey>}{<message>} - +% Just a wrapper to suppress citation tracking in toc/lof etc. \def\blx@citation#1#2{% \ifbool{citerequest} {\blx@citation@entry{#1}{#2}} @@ -6862,6 +6989,10 @@ \def\blx@citation@entry#1#2{% \blx@bibreq{#1}% + \ifinlist{#1}{\blx@cites} + {} + {\listgadd{\blx@cites}{#1}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@cite{#1}}}% \ifinlistcs{#1}{blx@segm@\the\c@refsection @\the\c@refsegment} {} {\listcsgadd{blx@segm@\the\c@refsection @\the\c@refsegment}{#1}}% @@ -6907,7 +7038,7 @@ \protected\def\blx@bibreq#1{% \begingroup \blx@xmlsanitizeafter{\def\blx@tempa}{#1}% - % citeall is always order "0" - this make no real difference as biber + % citeall is always order "0" - this makes no real difference as biber % ignores all other citekeys in the section if citeall is present \ifstrequal{*}{#1} {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{0}}} @@ -6930,7 +7061,7 @@ {} {\blx@error {Conflicting definitions of '\blx@tempa'} - {The entry set '\blx@tempa' been defined before.\MessageBreak + {The entry set '\blx@tempa' been defined before.\MessageBreak old: \blx@tempa\space = % \csuse{blx@set@\the\c@refsection @\blx@tempa}\MessageBreak new: \blx@tempa\space = \blx@tempb\MessageBreak @@ -8504,19 +8635,6 @@ \xdef\blx@xml@sourcemap@step#1{% ~~~~~~~~<bcf:map_step#1/>\blx@nl} -\xdef\blx@xml@displaymodes#1#2{% - ~~<bcf:displaymodes type="#1">\blx@nl - #2% - ~~</bcf:displaymodes>\blx@nl} -\xdef\blx@xml@displaymode#1{% - ~~~~<bcf:displaymode>\blx@nl - #1% - ~~~~</bcf:displaymode>\blx@nl} -\xdef\blx@xml@dtarget#1{% - ~~~~~~<bcf:dtarget>#1</bcf:dtarget>\blx@nl} -\xdef\blx@xml@dmode#1#2{% - ~~~~~~<bcf:dmode order="#1">#2</bcf:dmode>\blx@nl} - \xdef\blx@xml@labelalphatemplate#1#2{% ~~<bcf:labelalphatemplate type="#1">\blx@nl #2% @@ -8728,13 +8846,6 @@ \endgroup}% \dolistloop\blx@opts@type} {}% - % displaymode - \eappto\blx@tempa{% - \blx@xml@comment{DISPLAYMODES}% - \blx@xml@displaymodes{global}{% - \csuse{blx@biber@displaymodes@global}% - }% - }% % sourcemap \ifbool{sourcemap} {\eappto\blx@tempa{% @@ -8960,8 +9071,15 @@ \eappto\blx@tempf{ map\string_field\string_target="#1"}} \define@key{blx@sourcemap@step}{fieldset}{% characters \eappto\blx@tempf{ map\string_field\string_set="#1"}} +% We are sanitising the XML here as it's the value of an attribute which +% might contain quotes or ampersands (URLs, for example) \define@key{blx@sourcemap@step}{fieldvalue}{% characters - \eappto\blx@tempf{ map\string_field\string_value="#1"}} + \blx@xmlsanitizeafter{\def\blx@temps}{#1}% + \eappto\blx@tempf{ map\string_field\string_value="\blx@temps"}} +\define@key{blx@sourcemap@step}{append}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_append="1"}} + {}} \define@key{blx@sourcemap@step}{null}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_null="1"}} @@ -9027,6 +9145,9 @@ \eappto\blx@tempb{% \blx@xml@labelalpha@part{\blx@tempc}{#2}}} +% script form - original | translated | romanised | uniform +\define@key{blx@latem@field}{form}{% + \appto\blx@tempc{ form="#1"}} \define@key{blx@latem@field}{uppercase}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ uppercase="1"}} @@ -9212,6 +9333,9 @@ \eappto\blx@tempb{% \blx@xml@sortitem{\blx@tempd}{#2}}} +% script form - original | translated | romanised | uniform +\define@key{blx@sortdef@field}{form}{% + \appto\blx@tempd{ form="#1"}} \define@key{blx@sortdef@field}{padside}{% left|right \ifstrequal{#1}{right} {\eappto\blx@tempd{ pad\string_side="right"}} @@ -9301,25 +9425,6 @@ \docsvlist{#2}% \endgroup} -% experimental - -\newrobustcmd*{\DeclareDisplaymode}[2][global]{% - \begingroup - \blx@tempcnta\z@ - \def\blx@tempa{\blx@xml@dtarget{*}}% - \forcsvlist\blx@defdisplaymode{#2}% - \csxdef{blx@biber@displaymodes@#1}{% - \blx@xml@displaymode{\blx@tempa}}% - \endgroup} - -\def\blx@defdisplaymode#1{% - \advance\blx@tempcnta\@ne - \edef\blx@tempa{% - \blx@tempa - \blx@xml@dmode{\the\blx@tempcnta}{#1}}} - -\DeclareDisplaymode{original,romanised,uniform,translated} - %% Package options % [<entrytype,entrytype,...>]{<options>} @@ -9419,7 +9524,8 @@ \ifcsdef{blx@biber@sorting@\blx@sorting} {} {\blx@err@invopt{sorting=\blx@sorting}{}% - \def\blx@sorting{nty}}} + \def\blx@sorting{nty}}% + \listxadd\blx@sortschemes{\blx@sorting}} \DeclareBibliographyOption{sortcase}[true]{% \settoggle{blx@sortcase}{#1}} @@ -9481,14 +9587,14 @@ \DeclareBibliographyOption{maxcitenames}{% \numdef\blx@maxcitenames{#1}} \DeclareBibliographyOption{mincitenames}{% - \numdef\blx@minbibnames{#1}} + \numdef\blx@mincitenames{#1}} \DeclareTypeOption{maxcitenames}{% \numdef\blx@maxcitenames@type{#1}% \iftoggle{blx@bibliography} {} {\c@maxnames#1\relax}} \DeclareTypeOption{mincitenames}{% - \numdef\blx@minbibnames@type{#1}% + \numdef\blx@mincitenames@type{#1}% \iftoggle{blx@bibliography} {} {\c@minnames#1\relax}} @@ -9584,7 +9690,7 @@ \renewrobustcmd*{\bibinitperiod}{\adddot} \renewrobustcmd*{\bibinitdelim}{\addnbspace} \renewrobustcmd*{\bibinithyphendelim}{\adddot\mbox{-}}}} - + \DeclareBibliographyOption{firstinits}[true]{% \settoggle{blx@firstinits}{#1}} @@ -10389,6 +10495,7 @@ % Deferred last minute setup \AtBeginDocument{% + \blx@auxwrite\@mainaux{}{\string\abx@aux@sortscheme{\blx@sorting}}% \blx@checkencoding \if@filesw \blx@ctrlwrite@biber |