From 275a02abde664ff395868e975c7c06d89276ac0b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 11 Jul 2013 23:36:27 +0000 Subject: biblatex (10jul13) git-svn-id: svn://tug.org/texlive/trunk@31176 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/biblatex/bbx/standard.bbx | 2 + Master/texmf-dist/tex/latex/biblatex/biblatex.def | 240 +++-- Master/texmf-dist/tex/latex/biblatex/biblatex.sty | 6 +- Master/texmf-dist/tex/latex/biblatex/biblatex1.sty | 581 ++++++------ Master/texmf-dist/tex/latex/biblatex/biblatex2.sty | 235 +++-- Master/texmf-dist/tex/latex/biblatex/blx-dm.def | 33 +- .../tex/latex/biblatex/cbx/alphabetic-verb.cbx | 18 +- .../tex/latex/biblatex/cbx/alphabetic.cbx | 88 +- .../tex/latex/biblatex/cbx/authortitle-comp.cbx | 57 +- .../tex/latex/biblatex/cbx/authortitle-ibid.cbx | 21 +- .../tex/latex/biblatex/cbx/authortitle-icomp.cbx | 57 +- .../tex/latex/biblatex/cbx/authortitle-tcomp.cbx | 8 +- .../tex/latex/biblatex/cbx/authortitle-ticomp.cbx | 8 +- .../tex/latex/biblatex/cbx/authortitle.cbx | 12 +- .../tex/latex/biblatex/cbx/authoryear-comp.cbx | 60 +- .../tex/latex/biblatex/cbx/authoryear-ibid.cbx | 38 +- .../tex/latex/biblatex/cbx/authoryear-icomp.cbx | 67 +- .../tex/latex/biblatex/cbx/authoryear.cbx | 26 +- .../tex/latex/biblatex/cbx/numeric-comp.cbx | 101 ++- .../tex/latex/biblatex/cbx/numeric-verb.cbx | 14 +- .../texmf-dist/tex/latex/biblatex/cbx/numeric.cbx | 93 +- .../tex/latex/biblatex/cbx/verbose-ibid.cbx | 89 +- .../tex/latex/biblatex/cbx/verbose-inote.cbx | 93 +- .../tex/latex/biblatex/cbx/verbose-note.cbx | 92 +- .../tex/latex/biblatex/cbx/verbose-trad1.cbx | 91 +- .../tex/latex/biblatex/cbx/verbose-trad2.cbx | 91 +- .../tex/latex/biblatex/cbx/verbose-trad3.cbx | 93 +- .../texmf-dist/tex/latex/biblatex/cbx/verbose.cbx | 96 +- .../tex/latex/biblatex/lbx/brazilian.lbx | 5 +- .../texmf-dist/tex/latex/biblatex/lbx/catalan.lbx | 5 +- .../texmf-dist/tex/latex/biblatex/lbx/croatian.lbx | 3 + Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/danish.lbx | 3 + Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/english.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/finnish.lbx | 5 +- .../texmf-dist/tex/latex/biblatex/lbx/french.lbx | 17 +- .../texmf-dist/tex/latex/biblatex/lbx/german.lbx | 3 + Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx | 3 + .../tex/latex/biblatex/lbx/icelandic.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/italian.lbx | 3 + .../tex/latex/biblatex/lbx/norwegian.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx | 1 + .../texmf-dist/tex/latex/biblatex/lbx/polish.lbx | 997 +++++++++++---------- .../tex/latex/biblatex/lbx/portuguese.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/russian.lbx | 492 +++++----- .../texmf-dist/tex/latex/biblatex/lbx/spanish.lbx | 3 + .../texmf-dist/tex/latex/biblatex/lbx/swedish.lbx | 3 + 48 files changed, 2555 insertions(+), 1416 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx index 7af574d54c9..2751b61e6c1 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx @@ -793,6 +793,8 @@ \newbibmacro*{event+venue+date}{% \printfield{eventtitle}% + \newunit + \printfield{eventtitleaddon}% \ifboolexpr{ test {\iffieldundef{venue}} and diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def index 49a025842ee..304d1b58b6f 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def @@ -41,6 +41,39 @@ \newcommand*{\nametitledelim}{\addcomma\space} \newcommand*{\nameyeardelim}{\addspace} \newcommand*{\volcitedelim}{\addcomma\space} +\newcommand*{\textcitedelim}{% + \iffinalcitedelim + {\iftextcitepunct + {\finalandsemicolon} + {\ifnumgreater{\value{textcitetotal}}{2}{\finalandcomma}{}}% + \addspace\bibstring{and}} + {\iftextcitepunct{\addsemicolon}{\addcomma}}% + \space} + +% This is a provisional definition for \iffinalcitedelim{}{}, a +% test that should expand if the next non-compact citation delimiter +% is the last one in the citation list printed by \textcite or \textcites. +\newcommand*{\iffinalcitedelim}{\@secondoftwo} + +% Expand if the citation labels in the citation list printed by \textcite +% or \textcites contains the serial comma \finalandcomma +\newcommand*{\iftextcitepunct}{% + \ifboolexpr{ not test {\ifdefempty{\finalandsemicolon}} + and test {\ifnumgreater{\value{textcitemaxnames}}{2}} }} + +% Counters for the number of citation labels separated by non-compact delimiters +% in the citation list printed by \textcite or \textcites. Counter values should +% be managed by the citation style. +\newcounter{textcitecount} +\newcounter{textcitetotal} +\setcounter{textcitecount}{0} +\setcounter{textcitetotal}{0} + +% Counters for the maximum number of names among citation labels in the citation +% list printed by \textcite or \textcites. Counter value should be managed by +% the citation style. +\newcounter{textcitemaxnames} +\setcounter{textcitemaxnames}{0} % Used in the bibliography and the list of shorthands @@ -59,7 +92,7 @@ {\makebox[\leftmargin][l]{% \ifdimless{\leftmargin}{1.25em} {\textendash} - {\textemdash}}}} + {\textemdash}}}} \newcommand*{\relatedpunct}{\addspace} \newcommand*{\relateddelim}{\adddot\par\nobreak} \newcommand{\mkrelatedstring}{\mainlang} @@ -242,7 +275,7 @@ {Option 'backrefstyle=#1' invalid} {The option you have supplied is invalid.\MessageBreak See the biblatex manual for valid option keys - and possible values}}} + and possible values}}} \newcommand*{\abx@pagerefstyle}{1} \csdef{abx@opt@pagerefstyle@none}{-1} \csdef{abx@opt@pagerefstyle@two}{0} @@ -299,6 +332,11 @@ \DeclareFieldFormat{postnote}{\mkpageprefix[pagination]{#1}} \DeclareFieldFormat{volcitevolume}{\bibstring{volume}\ppspace#1} \DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination]{#1}} +\DeclareFieldFormat{volcitenote}{\mkvolcitenote#1} +\newrobustcmd*{\mkvolcitenote}[2]{% + \printtext[volcitevolume]{#1}% + \ifblank{#2}{}{\volcitedelim\printtext[volcitepages]{#2}}} + % multicite commands \DeclareFieldFormat{multiprenote}{#1\isdot} \DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination]{#1}} @@ -341,8 +379,8 @@ {\href{http://arxiv.org/\abx@arxivpath/#1}{% \nolinkurl{#1}% \iffieldundef{eprintclass} - {} - {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} + {} + {\addspace\texttt{\mkbibbrackets{\thefield{eprintclass}}}}}} {\nolinkurl{#1} \iffieldundef{eprintclass} {} @@ -538,23 +576,23 @@ {\ifrmnum{#1} {\numdef\abx@range@num{\rmntonum{#1}}% \def\abx@range@this{2}% - \ifnumequal{\abx@range@this}{\abx@range@last} - {} - {\def\abx@range@prev{-1}}} + \ifnumequal{\abx@range@this}{\abx@range@last} + {} + {\def\abx@range@prev{-1}}} {\undef\abx@range@num \def\abx@range@this{0}% - \def\abx@range@prev{-1}}}% + \def\abx@range@prev{-1}}}% \ifdef\abx@range@num {\ifnumequal{\abx@range@num}{\abx@range@prev} {\def\abx@range@hold{#1}% \numdef\abx@range@diff{\abx@range@diff+1}} {\usebibmacro{pageref:dump}% - \ifnumgreater{\abx@range@last}{-1} - {\multilistdelim} - {}% - \ifhyperref - {\hyperlink{page.#1}{#1}} - {#1}}% + \ifnumgreater{\abx@range@last}{-1} + {\multilistdelim} + {}% + \ifhyperref + {\hyperlink{page.#1}{#1}} + {#1}}% \edef\abx@range@prev{\abx@range@num}} {\usebibmacro{pageref:dump}% \ifnumgreater{\abx@range@last}{-1} @@ -571,50 +609,50 @@ {\ifcase\abx@pagerefstyle\relax % two \bibrangedash \ifhyperref - {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} - {\abx@range@hold}% + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}% \or % three \ifnumless{\abx@range@diff}{2} - {\multilistdelim} - {\bibrangedash}% + {\multilistdelim} + {\bibrangedash}% \ifhyperref - {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} - {\abx@range@hold}% + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}% \or % two+ \ifnumless{\abx@range@diff}{2} - {\sqspace - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} - {\bibstring{sequens}}} - {\bibrangedash - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} - {\abx@range@hold}}% + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} + {\bibstring{sequens}}} + {\bibrangedash + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}}% \or % three+ \ifnumless{\abx@range@diff}{2} - {\sqspace - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} - {\bibstring{sequens}}} - {\ifnumless{\abx@range@diff}{3} - {\sqspace - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}} - {\bibstring{sequentes}}} - {\bibrangedash - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} - {\abx@range@hold}}}% + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} + {\bibstring{sequens}}} + {\ifnumless{\abx@range@diff}{3} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}} + {\bibstring{sequentes}}} + {\bibrangedash + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\abx@range@hold}} + {\abx@range@hold}}}% \else % all+ \ifnumless{\abx@range@diff}{2} - {\sqspace - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} - {\bibstring{sequens}}} - {\sqspace - \ifhyperref - {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}} - {\bibstring{sequentes}}}% + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequens}}} + {\bibstring{sequens}}} + {\sqspace + \ifhyperref + {\hyperlink{page.\abx@range@hold}{\bibstring{sequentes}}} + {\bibstring{sequentes}}}% \fi \def\abx@range@diff{0}} {}} @@ -753,7 +791,7 @@ \ifblank{#3}{}{% \ifcapital {\mkbibnameprefix{\MakeCapital{#3}}\isdot} - {\mkbibnameprefix{#3}\isdot}% + {\mkbibnameprefix{#3}\isdot}% \ifpunctmark{'}{}{\bibnamedelimc}}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% @@ -1264,9 +1302,12 @@ \step[fieldsource=dc:publisher, fieldtarget=BIBERCUSTOMpublisher] \step[fieldsource=dc:presentedAt, fieldtarget=BIBERCUSTOMpresentedat] \step[fieldsource=dc:subject, fieldtarget=BIBERCUSTOMsubject] - \step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:Journal}, fieldtarget={dcterms:BIBERCUSTOMpartof/periodical}] - \step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:Book}, fieldtarget={dcterms:BIBERCUSTOMpartof/book}] - \step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:ConferenceProceedings}, fieldtarget={dcterms:BIBERCUSTOMpartof/proceedings}] + \step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:Journal}, + fieldtarget={dcterms:BIBERCUSTOMpartof/periodical}] + \step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:Book}, + fieldtarget={dcterms:BIBERCUSTOMpartof/book}] + \step[fieldsource={dcterms:BIBERCUSTOMpartof/bib:ConferenceProceedings}, + fieldtarget={dcterms:BIBERCUSTOMpartof/proceedings}] } } @@ -1622,6 +1663,7 @@ } \DeclareDataInheritance{*}{*}{% + \noinherit{ids} \noinherit{crossref} \noinherit{xref} \noinherit{entryset} @@ -1721,8 +1763,8 @@ {\def\abx@classtype{3}} {\@ifclassloaded{memoir} {\ifbool{artopt} - {\def\abx@classtype{4}} - {\def\abx@classtype{5}}} + {\def\abx@classtype{4}} + {\def\abx@classtype{5}}} {\ifundef\chapter {} {\def\abx@classtype{1}}}}}}}}} @@ -2087,13 +2129,22 @@ \newrobustcmd*{\tvolcite}{\volcitecmd\textcite} \newrobustcmd*{\avolcite}{\volcitecmd\autocite} +\newrobustcmd*{\volcites}{\multivolcitecmd\cites} +\newrobustcmd*{\pvolcites}{\multivolcitecmd\parencites} +\newrobustcmd*{\fvolcites}{\multivolcitecmd\footcites} +\newrobustcmd*{\ftvolcites}{\multivolcitecmd\footcitetexts} +\newrobustcmd*{\svolcites}{\multivolcitecmd\smartcites} +\newrobustcmd*{\tvolcites}{\multivolcitecmd\textcites} +\newrobustcmd*{\avolcites}{\multivolcitecmd\autocites} + \newrobustcmd*{\Cite}{\bibsentence\cite} \newrobustcmd*{\Parencite}{\bibsentence\parencite} \newrobustcmd*{\Footcite}{\footcite} \newrobustcmd*{\Footcitetext}{\footcitetext} \newrobustcmd*{\Smartcite}{\bibsentence\smartcite} \newrobustcmd*{\Textcite}{\bibsentence\textcite} -\newrobustcmd*{\Citeauthor}{\@ifstar{\bibsentence\citeauthor*}{\bibsentence\citeauthor}} +\newrobustcmd*{\Citeauthor}{% + \@ifstar{\bibsentence\citeauthor*}{\bibsentence\citeauthor}} \newrobustcmd*{\Citetitle}{\bibsentence\citetitle} \newrobustcmd*{\Volcite}{\volcitecmd\Cite} @@ -2104,6 +2155,14 @@ \newrobustcmd*{\Tvolcite}{\volcitecmd\Textcite} \newrobustcmd*{\Avolcite}{\volcitecmd\Autocite} +\newrobustcmd*{\Volcites}{\multivolcitecmd\Cites} +\newrobustcmd*{\Pvolcites}{\multivolcitecmd\Parencites} +\newrobustcmd*{\Fvolcites}{\multivolcitecmd\Footcites} +\newrobustcmd*{\Ftvolcites}{\multivolcitecmd\Footcitetext} +\newrobustcmd*{\Svolcites}{\multivolcitecmd\Smartcites} +\newrobustcmd*{\Tvolcites}{\multivolcitecmd\Textcites} +\newrobustcmd*{\Avolcites}{\multivolcitecmd\Autocites} + \newrobustcmd*{\Notecite}{\bibsentence\notecite} \newrobustcmd*{\Pnotecite}{\bibsentence\pnotecite} \newrobustcmd*{\Fnotecite}{\fnotecite} @@ -2111,9 +2170,12 @@ \DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim} \DeclareMultiCiteCommand{\parencites}[\mkbibparens]{\parencite}{\multicitedelim} \DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}{\multicitedelim} -\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext]{\footcitetext}{\multicitedelim} -\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote]{\smartcite}{\multicitedelim} -\DeclareMultiCiteCommand{\supercites}[\mkbibsuperscript]{\supercite}{\supercitedelim} +\DeclareMultiCiteCommand{\footcitetexts}[\mkbibfootnotetext] + {\footcitetext}{\multicitedelim} +\DeclareMultiCiteCommand{\smartcites}[\iffootnote\mkbibparens\mkbibfootnote] + {\smartcite}{\multicitedelim} +\DeclareMultiCiteCommand{\supercites}[\mkbibsuperscript] + {\supercite}{\supercitedelim} \DeclareMultiCiteCommand{\textcites}{\textcite}{\multicitedelim} \newrobustcmd*{\Cites}{\bibsentence\cites} @@ -2267,7 +2329,7 @@ \iffieldundef{authortype} {} {\setunit{\addcomma\space}% - \usebibmacro{authorstrg}}} + \usebibmacro{authorstrg}}} {}} \newbibmacro*{editor}{% @@ -2323,34 +2385,34 @@ {} {\printtext[authortype]{% \ifbibxstring{\thefield{authortype}} - {\ifboolexpr{ - test {\ifnumgreater{\value{author}}{1}} - or - test {\ifandothers{author}} - } - {\bibstring{\thefield{authortype}s}} - {\bibstring{\thefield{authortype}}}} - {\thefield{authortype}}}}} + {\ifboolexpr{ + test {\ifnumgreater{\value{author}}{1}} + or + test {\ifandothers{author}} + } + {\bibstring{\thefield{authortype}s}} + {\bibstring{\thefield{authortype}}}} + {\thefield{authortype}}}}} \newbibmacro*{editorstrg}{% \printtext[editortype]{% \iffieldundef{editortype} {\ifboolexpr{ - test {\ifnumgreater{\value{editor}}{1}} - or - test {\ifandothers{editor}} + test {\ifnumgreater{\value{editor}}{1}} + or + test {\ifandothers{editor}} } - {\bibstring{editors}} - {\bibstring{editor}}} + {\bibstring{editors}} + {\bibstring{editor}}} {\ifbibxstring{\thefield{editortype}} - {\ifboolexpr{ - test {\ifnumgreater{\value{editor}}{1}} - or - test {\ifandothers{editor}} - } - {\bibstring{\thefield{editortype}s}} - {\bibstring{\thefield{editortype}}}} - {\thefield{editortype}}}}} + {\ifboolexpr{ + test {\ifnumgreater{\value{editor}}{1}} + or + test {\ifandothers{editor}} + } + {\bibstring{\thefield{editortype}s}} + {\bibstring{\thefield{editortype}}}} + {\thefield{editortype}}}}} \newbibmacro*{editor+othersstrg}{% \iffieldundef{editortype} @@ -2378,14 +2440,14 @@ \appto\abx@tempb{\clearname{commentator}}} {\ifnamesequal{editor}{annotator} {\appto\abx@tempa{an}% - \appto\abx@tempb{\clearname{annotator}}} + \appto\abx@tempb{\clearname{annotator}}} {}}% \ifnamesequal{editor}{introduction} {\appto\abx@tempa{in}% \appto\abx@tempb{\clearname{introduction}}} {\ifnamesequal{editor}{foreword} {\appto\abx@tempa{fo}% - \appto\abx@tempb{\clearname{foreword}}} + \appto\abx@tempb{\clearname{foreword}}} {\ifnamesequal{editor}{afterword} {\appto\abx@tempa{af}% \appto\abx@tempb{\clearname{afterword}}} @@ -2416,14 +2478,14 @@ \clearname{commentator}} {\ifnamesequal{translator}{annotator} {\appto\abx@tempa{an}% - \clearname{annotator}} + \clearname{annotator}} {}}% \ifnamesequal{translator}{introduction} {\appto\abx@tempa{in}% \clearname{introduction}} {\ifnamesequal{translator}{foreword} {\appto\abx@tempa{fo}% - \clearname{foreword}} + \clearname{foreword}} {\ifnamesequal{translator}{afterword} {\appto\abx@tempa{af}% \clearname{afterword}} @@ -2550,14 +2612,14 @@ \clearname{commentator}} {\ifnamesequal{translator}{annotator} {\appto\abx@tempa{an}% - \clearname{annotator}} + \clearname{annotator}} {}}% \ifnamesequal{translator}{introduction} {\appto\abx@tempa{in}% \clearname{introduction}} {\ifnamesequal{translator}{foreword} {\appto\abx@tempa{fo}% - \clearname{foreword}} + \clearname{foreword}} {\ifnamesequal{translator}{afterword} {\appto\abx@tempa{af}% \clearname{afterword}} @@ -2700,7 +2762,7 @@ {\printtext[parens]{% \ifnumgreater{\value{pageref}}{1} {\bibstring{backrefpages}\ppspace} - {\bibstring{backrefpage}\ppspace}% + {\bibstring{backrefpage}\ppspace}% \printlist[pageref][-\value{listtotal}]{pageref}}}} \newbibmacro*{setpageref}{% @@ -2709,7 +2771,7 @@ {\printtext{% \ifnumgreater{\value{pageref}}{1} {\bibstring{backrefpages}\ppspace} - {\bibstring{backrefpage}\ppspace}% + {\bibstring{backrefpage}\ppspace}% \printlist[pageref][-\value{listtotal}]{pageref}}}} \newbibmacro*{eprint}{% diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index a08ff30bc76..8ff6e0ffc9d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty @@ -3,8 +3,8 @@ %% % Set up the version strings here, so they are the same for both branches -\def\abx@date{2013/05/01} -\def\abx@version{2.6} +\def\abx@date{2013/07/08} +\def\abx@version{2.7} \def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/JW/AB)} \def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/JW/AB)} \def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/JW/AB)} @@ -12,7 +12,7 @@ % This is not updated by build script as the controlfile version % does not necessarily change with the package version. % This is used when writing the .bcf -\def\blx@bcfversion{2.4} +\def\blx@bcfversion{2.5} % This is not updated by build script as the bbl version % does not necessarily change with the package version. % This is used when checking the .bbl diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty index 8cdc5134eff..1a33fa547ed 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty @@ -69,7 +69,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}} @@ -137,10 +141,10 @@ \@ifclassloaded{memoir} {\def\do#1{% \patchcmd#1% - {\color@begingroup} - {\color@begingroup\toggletrue{blx@footnote}} - {} - {}}% + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {} + {}}% \docsvlist{% \m@mold@footnotetext,% \@plainfootnotetext,% @@ -149,10 +153,10 @@ \@parafootnotetext}% \def\do#1{% \patchcmd#1% - {\color@begingroup\@makefntext} - {\color@begingroup\toggletrue{blx@footnote}\@makefntext} - {} - {}}% + {\color@begingroup\@makefntext} + {\color@begingroup\toggletrue{blx@footnote}\@makefntext} + {} + {}}% \docsvlist{% \@footnotetext,% patch twice \H@@footnotetext,% patch twice @@ -847,7 +851,7 @@ {Argument '#1' invalid} {\ifblank{#2} {The argument you have supplied is invalid.\MessageBreak - See the biblatex manual for details} + See the biblatex manual for details} {#2}}} \def\blx@err@invopt#1#2{% @@ -855,8 +859,8 @@ {Option '#1' invalid} {\ifblank{#2} {The option you have supplied is invalid.\MessageBreak - See the biblatex manual for valid option keys and - possible values} + See the biblatex manual for valid option keys and + possible values} {#2}}} \def\blx@err@confopt#1#2{% @@ -864,7 +868,7 @@ {Conflicting options\ifblank{#1}{}{ (#1)}} {\ifblank{#2} {The option you have supplied conflicts with another one.\MessageBreak - See the biblatex manual for valid option keys and possible values} + See the biblatex manual for valid option keys and possible values} {#2}}} \def\blx@err@optdef#1{% @@ -1001,20 +1005,20 @@ \or \blx@warning@noline{% backend=biber required by #1.\MessageBreak - Some features may not work properly}% + Some features may not work properly}% \else \blx@error {backend=biber required by #1} - {The selected style or one of the .bib files - requires backend=biber.\MessageBreak It will - not work at all with any other backend}% + {The selected style or one of the .bib files + requires backend=biber.\MessageBreak It will + not work at all with any other backend}% \fi}} -% \blx@list@active active aux files (basename) +% \blx@list@active active aux files (basename) % [internal list] -% \blx@list@inactive inactive aux files (basename) +% \blx@list@inactive inactive aux files (basename) % [internal list] -% \blx@list@bibfiles@ aux file -> bib file mapping (refsections) +% \blx@list@bibfiles@ aux file -> bib file mapping (refsections) % aux file (basename) -> bib files (full) % [internal list] @@ -1042,7 +1046,7 @@ \ifnum\blx@backend=\blx@backend@biber \ltxrequest{biblatex}{{\iftoggle{blx@runltx}{1}{0}}}{% \provides[type=dynamic]{ - \file{\jobname.bcf} + \file{\jobname.bcf} } \requires[type=dynamic]{ \file{\jobname.bbl} @@ -1050,65 +1054,65 @@ \ifdef\blx@list@req@edit {\requires[type=editable]{ \forlistloop\file\blx@list@req@edit - }} - {} + }} + {} \ifdef\blx@list@req@stat {\requires[type=static]{ \forlistloop\file\blx@list@req@stat - }} - {} + }} + {} }% \logrequest[package=biblatex,priority=5,active={{\iftoggle{blx@runbtx}{1}{0}}}]{% \generic{biber} \cmdline{ - \binary{biber} - \infile{\jobname} + \binary{biber} + \infile{\jobname} } \input{ - \file{\jobname.bcf} + \file{\jobname.bcf} } \output{ - \file{\jobname.bbl} + \file{\jobname.bbl} } \provides[type=dynamic]{ - \file{\jobname.bbl} + \file{\jobname.bbl} } \requires[type=dynamic]{ - \file{\jobname.bcf} + \file{\jobname.bcf} } \ifcsdef{blx@list@bibfiles@\jobname} - {\requires[type=editable]{ - \def\do{\file} - \dolistcsloop{blx@list@bibfiles@\jobname} - }} - {} + {\requires[type=editable]{ + \def\do{\file} + \dolistcsloop{blx@list@bibfiles@\jobname} + }} + {} }% \else \ltxrequest{biblatex}{{\iftoggle{blx@runltx}{1}{0}}}{% \provides[type=dynamic]{ - \def\do##1{\file{##1.aux}} - \dolistloop\blx@list@inactive - \file{\blx@ctrlfile@bibtex\blxauxsuffix.bib} + \def\do##1{\file{##1.aux}} + \dolistloop\blx@list@inactive + \file{\blx@ctrlfile@bibtex\blxauxsuffix.bib} } \requires[type=dynamic]{ - \def\do##1{\file{##1.bbl}} - \dolistloop\blx@list@inactive + \def\do##1{\file{##1.bbl}} + \dolistloop\blx@list@inactive } \ifdef\blx@list@req@edit {\requires[type=editable]{ \forlistloop\file\blx@list@req@edit - }} - {} + }} + {} \ifdef\blx@list@req@stat {\requires[type=static]{ \forlistloop\file\blx@list@req@stat - }} - {} + }} + {} }% \def\do##1{% \ifinlist{##1}{\blx@list@active} {\blx@logreq@bibtex{1}{##1}} - {\blx@logreq@bibtex{0}{##1}}}% + {\blx@logreq@bibtex{0}{##1}}}% \dolistloop\blx@list@inactive \fi \endgroup} @@ -1119,14 +1123,14 @@ \cmdline{% \ifcase\blx@backend \binary{bibtex} - \option{-min-crossrefs \blx@mincrossrefs} + \option{-min-crossrefs \blx@mincrossrefs} \or \binary{bibtex8} \option{--wolfgang} \option{--min\string_crossrefs \blx@mincrossrefs} - \ifdef\blx@csfencoding - {\option{--csfile \blx@csfencoding.csf}} - {}% + \ifdef\blx@csfencoding + {\option{--csfile \blx@csfencoding.csf}} + {}% \or \binary{bibtexu} \option{--wolfgang} @@ -1145,21 +1149,21 @@ } \requires[type=dynamic]{ \file{#2.aux} - \file{\blx@ctrlfile@bibtex\blxauxsuffix.bib} + \file{\blx@ctrlfile@bibtex\blxauxsuffix.bib} } \requires[type=editable]{ - \ifcsdef{blx@list@bibfiles@#2} - {\def\do{\file} - \dolistcsloop{blx@list@bibfiles@#2}} - {} + \ifcsdef{blx@list@bibfiles@#2} + {\def\do{\file} + \dolistcsloop{blx@list@bibfiles@#2}} + {} } \requires[type=static]{ \file{biblatex.bst} - \ifnum\blx@backend=\blx@backend@bibtexe - \ifdef\blx@csfencoding - {\file{\blx@csfencoding.csf}} - {}% - \fi + \ifnum\blx@backend=\blx@backend@bibtexe + \ifdef\blx@csfencoding + {\file{\blx@csfencoding.csf}} + {}% + \fi } }% } @@ -1223,7 +1227,7 @@ {\ifx\blx@checksum@old\blx@checksum@new \ifx\blx@pagesum@old\blx@pagesum@new \else - \blx@tempcnta\@ne + \blx@tempcnta\@ne \fi \else \blx@tempcnta\@ne @@ -1666,8 +1670,8 @@ {\ifdimgreater\lastskip\z@ {\unskip\unspace} {\ifnumgreater\lastpenalty\z@ - {\unpenalty\unspace} - {}}} + {\unpenalty\unspace} + {}}} {}} \newrobustcmd*{\bibsentence}{% @@ -1800,13 +1804,13 @@ {\ifcsdef{blx@bbx@*} {\blx@warning{% No driver for entry type '#1'.\MessageBreak - Using fallback driver}% + Using fallback driver}% \csuse{blx@bbx@*}} {\blx@error {No driver found} - {I can't find a driver for the entry type - '\abx@field@entrytype'\MessageBreak - and there is no fallback driver either}}}} + {I can't find a driver for the entry type + '\abx@field@entrytype'\MessageBreak + and there is no fallback driver either}}}} % {}{}{} @@ -2324,6 +2328,19 @@ \expandafter\@secondoftwo \fi}}} +% {}{} + +\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} }} + % {}{}{} \protected\def\blx@imc@ifcategory{% @@ -2455,10 +2472,10 @@ {\blx@imc@iffieldundef{namehash} {\@secondoftwo} {\iftoggle{blx@footnote} - {\blx@ifmpfncheck + {\blx@ifmpfncheck {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@foot@\abx@field@namehash}} {\@secondoftwo}} - {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@text@\abx@field@namehash}}}} + {\blx@imc@iffieldequalcs{entrykey}{blx@lastkey@text@\abx@field@namehash}}}} {\@secondoftwo}}% % {}{} @@ -2780,8 +2797,8 @@ {\iffieldequalstr{#1}{none} {\def\blx@tempa{\blx@mkpageprefix@i}} {\iffieldbibstring{#1} - {\edef\blx@tempa{\blx@mkpageprefix{\thefield{#1}}}} - {\blx@warning@entry{% + {\edef\blx@tempa{\blx@mkpageprefix{\thefield{#1}}}} + {\blx@warning@entry{% Unknown pagination type '\strfield{#1}'}}}}% \@ifnextchar[%] {\blx@tempa} @@ -2808,8 +2825,8 @@ {\iffieldequalstr{#1}{none} {\def\blx@tempa{\blx@mkpagetotal@i}} {\iffieldbibstring{#1} - {\edef\blx@tempa{\blx@mkpagetotal{\thefield{#1}}}} - {\blx@warning@entry{% + {\edef\blx@tempa{\blx@mkpagetotal{\thefield{#1}}}} + {\blx@warning@entry{% Unknown pagination type '\strfield{#1}'}}}}% \@ifnextchar[%] {\blx@tempa} @@ -2925,8 +2942,8 @@ {\ifblank{#2} {\blx@range@out@value{#1\bibrangedash}} {\ifblank{#1} - {\blx@range@out@value{\bibrangedash#2}} - {\blx@comprange@check{#1}{#2}}}}} + {\blx@range@out@value{\bibrangedash#2}} + {\blx@comprange@check{#1}{#2}}}}} \def\blx@comprange@hyphen#1-#2-#3&{% \ifblank{#3} @@ -2934,11 +2951,11 @@ {\ifblank{#2} {\ifblank{#1} {\let\blx@tempb\@empty} - {\def\blx@tempb{#1}}% + {\def\blx@tempb{#1}}% \blx@comprange@hyphen@i#3&} {\ifblank{#1} {\blx@range@out@value{\bibrangedash#2}} - {\blx@comprange@check{#1}{#2}}}}} + {\blx@comprange@check{#1}{#2}}}}} \def\blx@comprange@hyphen@i#1-#2&{% \ifblank{#1#2} @@ -2947,7 +2964,7 @@ {\notblank{#1} {\ifdefempty\blx@tempb {\blx@range@out@value{\bibrangedash#1}} - {\expandafter\blx@comprange@check + {\expandafter\blx@comprange@check \expandafter{\blx@tempb}{#1}}} {\blx@comprange@hyphen@i#2&}}} @@ -3077,7 +3094,7 @@ {\ifblank{#1} {\ifblank{#2} {\blx@firstpage@hyphen@i#3&} - {\blx@range@out@value{\bibrangedash#2}}} + {\blx@range@out@value{\bibrangedash#2}}} {\blx@range@out@value{#1}}}} \def\blx@firstpage@hyphen@i#1-#2&{% @@ -3224,11 +3241,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 @@ -3772,7 +3790,7 @@ \ifnum\c@liststop>\c@maxnames \c@liststop\c@minnames \ifnum\c@uniquelist>\c@liststop - \c@liststop\c@uniquelist + \c@liststop\c@uniquelist \fi \fi} {\ifnum#2>\c@listtotal @@ -3828,7 +3846,7 @@ {} {\begingroup \blx@namesetup{#2}{#3}{#4}% - \blx@indexnamesetup + \blx@indexnamesetup \expandafter\blx@nameparser\blx@thedata{}&% \endgroup}}} @@ -4151,7 +4169,7 @@ {\@secondoftwo} {\ifcsundef{\abx@str @\detokenize\expandafter \expandafter\expandafter{% - \csname abx@field@#1\endcsname}} + \csname abx@field@#1\endcsname}} {\@secondoftwo} {\@firstoftwo}}} @@ -4491,6 +4509,7 @@ \do{langitalian}% \do{langlatin}% \do{langnorwegian}% + \do{langpolish}% \do{langportuguese}% \do{langrussian}% \do{langspanish}% @@ -4510,6 +4529,7 @@ \do{fromitalian}% \do{fromlatin}% \do{fromnorwegian}% + \do{frompolish}% \do{fromportuguese}% \do{fromrussian}% \do{fromspanish}% @@ -4777,63 +4797,63 @@ {\printtext[#2date]{% \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% \iffieldundef{#2endyear} - {} - {\iffieldequalstr{#2endyear}{} + {} + {\iffieldequalstr{#2endyear}{} {\mbox{\bibdatedash}} - {\bibdatedash - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + {\bibdatedash + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} \newrobustcmd*{\mkbibrangetrunc}[2]{% \iffieldundef{#2year} {} {\printtext[#2date]{% \iffieldsequal{#2year}{#2endyear} - {\iffieldsequal{#2month}{#2endmonth} + {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{}{}{#2day}} - {\csuse{mkbibdate#1}{}{#2month}{#2day}}} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% + {\csuse{mkbibdate#1}{}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% \iffieldundef{#2endyear} - {} - {\iffieldequalstr{#2endyear}{} + {} + {\iffieldequalstr{#2endyear}{} {\mbox{\bibdatedash}} - {\bibdatedash - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} + {\bibdatedash + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}} \newrobustcmd*{\mkbibrangefullextra}[2]{% \iffieldundef{#2year} {} {\printtext[#2date]{% \printtext{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% + \csuse{mkbibdate#1}{#2year}{#2month}{#2day}}% \iffieldundef{#2endyear} - {\printfield{extrayear}} - {\iffieldequalstr{#2endyear}{} - {\printfield{extrayear}% - \printtext{\mbox{\bibdatedash}}} - {\printtext{% - \bibdatedash - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% - \printfield{extrayear}}}}}}} + {\printfield{extrayear}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extrayear}% + \printtext{\mbox{\bibdatedash}}} + {\printtext{% + \bibdatedash + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + \printfield{extrayear}}}}}}} \newrobustcmd*{\mkbibrangetruncextra}[2]{% \iffieldundef{#2year} {} {\printtext[#2date]{% \printtext{% - \iffieldsequal{#2year}{#2endyear} - {\iffieldsequal{#2month}{#2endmonth} + \iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} {\csuse{mkbibdate#1}{}{}{#2day}} - {\csuse{mkbibdate#1}{}{#2month}{#2day}}} - {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}% + {\csuse{mkbibdate#1}{}{#2month}{#2day}}} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}% \iffieldundef{#2endyear} - {\printfield{extrayear}} - {\iffieldequalstr{#2endyear}{} - {\printfield{extrayear}% - \printtext{\mbox{\bibdatedash}}} - {\printtext{% - \bibdatedash - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% - \printfield{extrayear}}}}}}} + {\printfield{extrayear}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extrayear}% + \printtext{\mbox{\bibdatedash}}} + {\printtext{% + \bibdatedash + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + \printfield{extrayear}}}}}}} \expandafter\newrobustcmd \expandafter*\csname mkbibrangeiso8601\endcsname[1]{% @@ -4842,8 +4862,8 @@ {\printtext[#1date]{% \blx@isodate{#1year}{#1month}{#1day}% \iffieldundef{#1endyear} - {} - {\addslash\blx@isodate{#1endyear}{#1endmonth}{#1endday}}}}} + {} + {\addslash\blx@isodate{#1endyear}{#1endmonth}{#1endday}}}}} \expandafter\newrobustcmd \expandafter*\csname mkbibrangeiso8601extra\endcsname[1]{% @@ -4852,8 +4872,8 @@ {\printtext[#1date]{% \blx@isodate[extrayear]{#1year}{#1month}{#1day}% \iffieldundef{#1endyear} - {} - {\addslash\blx@isodate{#1endyear}{#1endmonth}{#1endday}}}}} + {} + {\addslash\blx@isodate{#1endyear}{#1endmonth}{#1endday}}}}} \newrobustcmd*{\blx@isodate}[4][]{% \thefield{#2}\ifblank{#1}{}{\printfield{#1}}% @@ -4865,6 +4885,7 @@ \newrobustcmd*{\bibrangedash}{\textendash} \newrobustcmd*{\bibdatedash}{\bibrangedash} \newrobustcmd*{\finalandcomma}{} +\newrobustcmd*{\finalandsemicolon}{} \newrobustcmd*{\mkbibordinal}[1]{#1} \newrobustcmd*{\mkbibmascord}{\mkbibordinal} \newrobustcmd*{\mkbibfemord}{\mkbibordinal} @@ -4963,7 +4984,7 @@ \csname end\blx@thelangenv\endcsname \endgroup}% \csname\blx@thelangenv\expandafter\endcsname - \expandafter{\abx@field@hyphenation}}}}}% + \expandafter{\abx@field@hyphenation}}}}} {}% \def\blx@imc@mainlang{\select@language{\bbl@main@language}}% \blx@langsetup\bbl@main@language} @@ -5421,7 +5442,7 @@ % {}{} -\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}} @@ -5446,9 +5467,9 @@ {\@secondoftwo} {} {\csxappto\blx@bbl@data{% - \csname c@#1\endcsname\NewCount\relax - \def\expandafter\noexpand\csname abx@list@#1\endcsname - {\expandonce\NewValue}}}} + \csname c@#1\endcsname\NewCount\relax + \def\expandafter\noexpand\csname abx@list@#1\endcsname + {\expandonce\NewValue}}}} % {}{}{} @@ -5463,9 +5484,9 @@ {\@secondoftwo} {} {\csxappto\blx@bbl@data{% - \csname c@#1\endcsname\NewCount\relax - \def\expandafter\noexpand\csname abx@name@#1\endcsname - {{\expandonce\NewOption}{\expandonce\NewValue}}}}} + \csname c@#1\endcsname\NewCount\relax + \def\expandafter\noexpand\csname abx@name@#1\endcsname + {{\expandonce\NewOption}{\expandonce\NewValue}}}}} % {,...} @@ -5582,16 +5603,17 @@ % key -> pages [internal list] % \blx@refs@
xref hash, temporary % section -> parents [internal list] -% (BibTeX only) +% (BibTeX only) % \blx@refp@
@ parent -> child mapping (xrefs), temporary % key -> keys [internal list] -% (BibTeX only) +% (BibTeX only) % \blx@refc@
@ child -> parent mapping (xrefs) % key -> key [internal list] -% (BibTeX only) +% (BibTeX only) \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}% @@ -5605,10 +5627,10 @@ \blx@ifdata{#1} {\def\abx@field@childentrykey{#1}% \begingroup - \blx@getdata{#1}% - \edef\blx@tempa{\endgroup - \def\noexpand\abx@field@childentrytype{\abx@field@entrytype}}% - \blx@tempa} + \blx@getdata{#1}% + \edef\blx@tempa{\endgroup + \def\noexpand\abx@field@childentrytype{\abx@field@entrytype}}% + \blx@tempa} {}} {\blx@getdata{#1}}% \ifcsdef{blx@seti@\the\c@refsection @#1} @@ -5759,25 +5781,25 @@ {} {\ifundef\abx@field@shorthand {\ifdef\abx@field@localnumber - {} - {\csnumgdef{blx@labelnumber@\the\c@refsection}{% + {} + {\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} - {} - {\blx@setlabwidth{\labelnumberwidth}{% + \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}}}} + \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}{% + \let\abx@field@labelnumber\abx@field@shorthand}% + \iftoggle{blx@skipbib} + {} + {\blx@setlabwidth{\labelnumberwidth}{% \csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}} \def\blx@bbl@prefixnumber{% @@ -5798,9 +5820,9 @@ {} {\blx@setlabwidth{\labelalphawidth}{% \csuse{abx@ffd@*@labelalphawidth}{% - \ifdef\abx@field@prefixnumber - {\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}} - {}% + \ifdef\abx@field@prefixnumber + {\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}} + {}% \csuse{abx@ffd@*@labelalpha}{\abx@field@labelalpha}% \ifundef\abx@field@extraalpha {} @@ -5928,7 +5950,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 @@ -5967,19 +5989,19 @@ \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}% - \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}}} - {}} - {}}% + {\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}% + \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}}} + {}} + {}}% {}} {}% \endgroup} @@ -5988,15 +6010,15 @@ \nottoggle{blx@skiplab} {\ifdef\blx@prefixnumbers {\ifundef\abx@field@shorthand - {\edef\abx@field@prefixnumber{\expandonce\blx@prefixnumbers}% - \ifundef\abx@field@prefixnumber + {\edef\abx@field@prefixnumber{\expandonce\blx@prefixnumbers}% + \ifundef\abx@field@prefixnumber {\blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}% - {prefixnumber}{\expandonce\abx@field@prefixnumber}} - {}% - \blx@auxwrite\@mainaux{}{% - \string\blx@aux@numprefix{\abx@field@entrykey}% - {\the\c@refsection}{\expandonce\abx@field@prefixnumber}}} - {}} + {prefixnumber}{\expandonce\abx@field@prefixnumber}} + {}% + \blx@auxwrite\@mainaux{}{% + \string\blx@aux@numprefix{\abx@field@entrykey}% + {\the\c@refsection}{\expandonce\abx@field@prefixnumber}}} + {}} {}} {}} @@ -6196,7 +6218,7 @@ {} {\ifcsdef{blx@flt@#1} {\csname blx@flt@#1\endcsname} - {\blx@flt@error}}} + {\blx@flt@error}}} {\ifcsdef{blx@flt@#1} {\csname blx@flt@#1\endcsname{\detokenize{#2}}} {\blx@flt@error}}} @@ -6280,9 +6302,9 @@ \blx@error {'type' used multiple times} {When passing multiple filter options, each entry\MessageBreak - must satisfy all conditions (AND conjunction),\MessageBreak - hence some options may not be used twice.\MessageBreak - Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} + must satisfy all conditions (AND conjunction),\MessageBreak + hence some options may not be used twice.\MessageBreak + Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} \define@key{blx@bib}{nottype}{\blx@key@nottype{#1}} \define@key{blx@los}{nottype}{\blx@key@nottype{#1}} @@ -6308,9 +6330,9 @@ \blx@error {'subtype' used multiple times} {When passing multiple filter options, each entry\MessageBreak - must satisfy all conditions (AND conjunction),\MessageBreak - hence some options may not be used twice.\MessageBreak - Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} + must satisfy all conditions (AND conjunction),\MessageBreak + hence some options may not be used twice.\MessageBreak + Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} \define@key{blx@bib}{notsubtype}{\blx@key@notsubtype{#1}} \define@key{blx@los}{notsubtype}{\blx@key@notsubtype{#1}} @@ -6395,7 +6417,7 @@ {\blx@error {Heading '#1' not found} {The heading '#1' could not be found.\MessageBreak - Use \string\defbibheading\space to define it}} + Use \string\defbibheading\space to define it}} {\def\blx@theheading{#1}}} \define@key{blx@bib}{env}{\blx@key@env{#1}} @@ -6409,7 +6431,7 @@ {\blx@error {Environment '#1' not found} {The environment '#1' could not be found.\MessageBreak - Use \string\defbibenvironment\space to define it}} + Use \string\defbibenvironment\space to define it}} {\def\blx@theenv{#1}}} \define@key{blx@bhd}{title}{\def\blx@thetitle{#1}} @@ -6426,7 +6448,7 @@ {\blx@error {Note '#1' not found} {The note '#1' could not be found.\MessageBreak - Use \string\defbibnote\space to define it}} + Use \string\defbibnote\space to define it}} {\def\blx@theprenote{#1}}} \define@key{blx@bib}{postnote}{\blx@key@postnote{#1}} @@ -6440,7 +6462,7 @@ {\blx@error {Note '#1' not found} {The note '#1' could not be found.\MessageBreak - Use \string\defbibnote\space to define it}} + Use \string\defbibnote\space to define it}} {\def\blx@thepostnote{#1}}} \define@key{blx@bib}{resetnumbers}[true]{% @@ -6737,8 +6759,8 @@ {} {\ifnum\c@instcount>\@ne \blx@imc@iffieldequals{sortinit}\blx@previnit - {} - {\addvspace{\bibinitsep}}% + {} + {\addvspace{\bibinitsep}}% \fi \global\let\blx@previnit\abx@field@sortinit}} @@ -6755,6 +6777,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}} @@ -7083,15 +7109,15 @@ {\toggletrue{blx@tempa}% \def\do##1{% \pretocmd##1{#1} - {\togglefalse{blx@tempa}\listbreak} - {}}% + {\togglefalse{blx@tempa}\listbreak} + {}}% \docsvlist{% - \H@old@part,% hyperref - \NR@part,% nameref - \@part}% latex/koma-script/memoir + \H@old@part,% hyperref + \NR@part,% nameref + \@part}% latex/koma-script/memoir \iftoggle{blx@tempa} - {\blx@err@patch{\string\@part}} - {}% + {\blx@err@patch{\string\@part}} + {}% \let\do\noexpand}} \def\blx@refpatch@chapter#1{% @@ -7242,10 +7268,10 @@ \define@key{blx@addbib}{location}{\def\blx@tempc{#1}} \define@key{blx@addbib}{label}{\edef\blx@tempd{\detokenize{#1}}} -% \blx@res@type@ resource -> type -% \blx@res@data@ resource -> datatype -% \blx@res@loca@ resource -> datatype -% \blx@res@labl@ label -> resource +% \blx@res@type@ resource -> type +% \blx@res@data@ resource -> datatype +% \blx@res@loca@ resource -> datatype +% \blx@res@labl@ label -> resource \def\blx@addbib@register#1{% \csxdef{blx@res@type@#1}{\blx@tempa}% @@ -7275,19 +7301,25 @@ \eappto#1{% \blx@xml@datasource {\ifcsdef{blx@res@type@#2} - {\csuse{blx@res@type@#2}} - {file}} + {\csuse{blx@res@type@#2}} + {file}} {\ifcsdef{blx@res@data@#2} - {\csuse{blx@res@data@#2}} - {bibtex}} + {\csuse{blx@res@data@#2}} + {bibtex}} {#3}}} %% Citations \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 @@ -7301,7 +7333,24 @@ {}% \gappto\blx@hook@citekey@next} -% {