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.sty327
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