diff options
author | Karl Berry <karl@freefriends.org> | 2016-12-11 22:31:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-12-11 22:31:44 +0000 |
commit | 72b09a95e33b49273735d86bd57a872cb6b77c92 (patch) | |
tree | 680667548afea02806b30f7fc4c925b65023d94a /Master/texmf-dist/tex/latex/biblatex/biblatex.sty | |
parent | 64f881b450c082430ef002e49f064817de27288a (diff) |
biblatex (11dec16)
git-svn-id: svn://tug.org/texlive/trunk@42680 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/biblatex.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/biblatex.sty | 114 |
1 files changed, 81 insertions, 33 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index c1afccda49b..8cac4f17a05 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty @@ -11,8 +11,8 @@ % particular purpose. % Set up the version strings here -\def\abx@date{2016/09/17} -\def\abx@version{3.6} +\def\abx@date{2016/12/05} +\def\abx@version{3.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)} @@ -21,7 +21,7 @@ % This is not updated by build script as the control file version % does not necessarily change with the package version. % This is used when writing the .bcf -\def\blx@bcfversion{3.2} +\def\blx@bcfversion{3.3} % This is not updated by build script as the bbl version % does not necessarily change with the package version. @@ -5007,8 +5007,10 @@ \newrobustcmd*{\mkdaterangeyear}[1]{% \blx@imc@clearfield{#1month}% \blx@imc@clearfield{#1day}% + \blx@imc@clearfield{#1season}% \blx@imc@clearfield{#1endmonth}% \blx@imc@clearfield{#1endday}% + \blx@imc@clearfield{#1endseason}% \iffieldsequal{#1year}{#1endyear} {\blx@imc@clearfield{#1endyear}} {}% @@ -5085,8 +5087,10 @@ \newrobustcmd*{\mkdaterangeyearextra}[1]{% \blx@imc@clearfield{#1month}% \blx@imc@clearfield{#1day}% + \blx@imc@clearfield{#1season}% \blx@imc@clearfield{#1endmonth}% \blx@imc@clearfield{#1endday}% + \blx@imc@clearfield{#1endseason}% \iffieldsequal{#1year}{#1endyear} {\blx@imc@clearfield{#1endyear}} {}% @@ -5198,7 +5202,8 @@ \newrobustcmd*{\bibtzminsep}{\bibtimesep} % dates \newrobustcmd*{\bibdateuncertain}{?} -\newrobustcmd*{\bibdateeraprefix}{\textminus} +% \textminus is only guaranteed for non-PDFTeX +\newrobustcmd*{\bibdateeraprefix}{\ifdef\textminus\textminus\textendash} \newrobustcmd*{\bibdateeraendprefix}{\,\bibdateeraprefix} \newrobustcmd*{\bibdatesep}{\hyphen} \newrobustcmd*{\bibdaterangesep}{\bibrangedash} @@ -5868,10 +5873,11 @@ {\StrCut{#1}{year}\blx@datetype\blx@tempnull}% \csuse{if\blx@datetype\blx@tempa dateera}{bce} {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto - \printtext{\printdelim{dateeradelim}\bibstring{\blx@dateera@bce}}\relax + % \midsentence is to suppress automatic capitalisation + \printtext{\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@bce}}\relax \fi} {\ifnumless{\thefield{#1}}\blx@dateeraauto - {\printtext{\printdelim{dateeradelim}\bibstring{\blx@dateera@ce}}} + {\printtext{\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@ce}}} {}}% \endgroup} {}}}% @@ -5965,8 +5971,7 @@ \appto\blx@TE@hook{% \csdef{if#1inits}{\blx@TE{\iftoggle{abx@bool@#1inits}}}}}% \DeclareBibliographyOption[boolean]{#1inits}[true]{% - \toggletrue{abx@bool@#1inits}% - \toggletrue{abx@bool@xinits}}} + \settoggle{abx@bool@#1inits}{##1}}} \abx@donameparts %LEGACY(<3.3) legacy name for \ifgiveninits which is autogenerated now @@ -6129,7 +6134,7 @@ {\csdef{blx@nih@#1}##1{#2}}} \@onlypreamble\DeclareNameInputHandler -% {<entrykey>}{<refsection>}{<field>}{<sort context>}{<value>} +% {<entrykey>}{<refsection>}{<field>}{<refcontext>}{<value>} \long\def\blx@bbl@addentryfield#1#2#3#4#5{% \csxappto{blx@data@#2@#4@#1}{% \def\expandafter\noexpand\csname abx@field@#3\endcsname{#5}}} @@ -7770,7 +7775,7 @@ % This sets and saves to the .aux the default refcontext for an entry. The % default refcontext for an entry is the refcontext of the last -% bibliography in the refsection in which it is actually printed . This +% bibliography in the refsection in which it is actually printed. This % allows citations to default to selecting data from the correct % bibliography list in standard cases where entries are not listed in % multiple bibliographies @@ -7975,7 +7980,7 @@ \iftoggle{blx@defernumbers} {\global\let\blx@printbibchecks\relax} {\iftoggle{blx@labelnumber} - {\blx@warning@noline{Setting 'defernumbers=true' recommended}} + {} {\global\let\blx@printbibchecks\relax}}} % {<entrykey>,...} @@ -8351,7 +8356,10 @@ {\blx@err@nodocdiv{chapter}} {\pretocmd\@makechapterhead{#1} {} - {\blx@err@patch{\string\@makechapterhead}}}} + {\blx@err@patch{\string\@makechapterhead}} + \pretocmd\@makeschapterhead{#1} + {} + {\blx@err@patch{\string\@makeschapterhead}}}} \def\blx@refpatch@sect#1{% \ifcsundef{#1} @@ -8377,7 +8385,7 @@ \H@old@sect,% hyperref \NR@sect,% nameref \scr@sect,% koma-script 3.x - \@sect}% latex + \@startsection}% latex \iftoggle{blx@tempa} {\blx@err@patch{\string\@sect}} {}% @@ -8719,12 +8727,12 @@ % {<entrykey>,...} \protected\def\blx@citeloop#1{% \begingroup - % Make sure this counter exists. Sometimes it might not when using, e.g: - % refsection=chapter and \includeonly to put in the chapters or when - % inserting citations into table of contents - \ifcsname blx@sectionciteorder@\the\c@refsection\endcsname\else - \expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname - \fi + % Make sure this counter exists. Sometimes it might not when using, e.g: + % refsection=chapter and \includeonly to put in the chapters or when + % inserting citations into table of contents + \ifcsname blx@sectionciteorder@\the\c@refsection\endcsname\else + \expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname + \fi \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne \blx@tempcnta\z@ \blx@tempcntb\z@ @@ -8828,15 +8836,19 @@ {}% % assignment via entrykeys % weak version - \ifboolexpr{test {\ifcsdef{blx@assignedrefcontextkeys*@\the\c@refsection @#1}} - and - not togl {blx@refcontext}}% inside explicit non-global refcontext - {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys*@\the\c@refsection @#1}} + \nottoggle{blx@refcontext} + {\ifcsdef{blx@assignedrefcontextkeys*@\the\c@refsection @*} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys*@\the\c@refsection @*}} + {\ifcsdef{blx@assignedrefcontextkeys*@\the\c@refsection @#1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys*@\the\c@refsection @#1}} + {}}} {}% % strong version - \ifcsdef{blx@assignedrefcontextkeys@\the\c@refsection @#1} - {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys@\the\c@refsection @#1}} - {}} + \ifcsdef{blx@assignedrefcontextkeys@\the\c@refsection @*} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys@\the\c@refsection @*}} + {\ifcsdef{blx@assignedrefcontextkeys@\the\c@refsection @#1} + {\letcs\blx@refcontext@context{blx@assignedrefcontextkeys@\the\c@refsection @#1}} + {}}} % {<entrykey>} \protected\def\blx@citeprint#1{% @@ -10466,6 +10478,12 @@ ~~~~</bcf:sortexclusion>\blx@nl} \xdef\blx@xml@exclude#1{% ~~~~~~<bcf:exclusion>#1</bcf:exclusion>\blx@nl} +\xdef\blx@xml@sortinclude#1#2{% + ~~~~<bcf:sortinclusion\noexpand\ifblank{#1}{}{ type="#1"}>\blx@nl + #2% + ~~~~</bcf:sortinclusion>\blx@nl} +\xdef\blx@xml@include#1{% + ~~~~~~<bcf:inclusion>#1</bcf:inclusion>\blx@nl} \xdef\blx@xml@sort#1#2{% ~~~~<bcf:sort #1>\blx@nl #2% @@ -10794,13 +10812,16 @@ % sorting \def\do##1{% \eappto\blx@bcf@presort{\csuse{blx@bcf@presort@##1}}% - \eappto\blx@bcf@exclude{\csuse{blx@bcf@exclude@##1}}}% + \eappto\blx@bcf@exclude{\csuse{blx@bcf@exclude@##1}}% + \eappto\blx@bcf@include{\csuse{blx@bcf@include@##1}}}% \abx@doentrytypes + \do{*}% entrytype wildcard \eappto\blx@tempa{% \blx@xml@comment{SORTING}% \blx@xml@sorting{}{% \blx@bcf@presort \blx@bcf@exclude + \blx@bcf@include \csuse{blx@sorting@\blx@sorting}% }% }% @@ -11129,8 +11150,8 @@ % [<entrytype>]{<spec>} \newrobustcmd*{\DeclareLabelalphaNameTemplate}[2][]{% \ifblank{#1} - {\blx@lantem{#2}{global}} - {\forcsvlist{\blx@lantem{#2}}{#1}}} + {\blx@lantem{#2}{global}} + {\forcsvlist{\blx@lantem{#2}}{#1}}} \@onlypreamble\DeclareLabelalphaNameTemplate \blx@collectopts{xml}{blx@globalopts}{labelalphanametemplate}% for passing to the .bcf \blx@collectopts{xml}{blx@typeopts}{labelalphanametemplate}% for passing to the .bcf @@ -11655,23 +11676,44 @@ \def\blx@undefpresort#1{% \global\csundef{blx@bcf@presort@#1}} +% {<entrytype,...>}{<field,...>} \newrobustcmd*{\DeclareSortExclusion}[2]{% - \forcsvlist{\blx@sortexlude{#2}}{#1}} + \forcsvlist{\blx@sortexclude{#2}}{#1}} \blx@collectopts{xml}{blx@typeopts}{sortexclusion}% for passing to the .bcf -\def\blx@sortexlude#1#2{% +% {<field>}{<entrytype>} +\def\blx@sortexclude#1#2{% \begingroup \ifblank{#1} {\global\csundef{blx@bcf@exclude@#2}} {\let\blx@tempa\@empty - \forcsvlist\blx@sortexlude@i{#1}% + \forcsvlist\blx@sortexclude@i{#1}% \csxdef{blx@bcf@exclude@#2}{% \blx@xml@sortexclude{#2}{\blx@tempa}}} \endgroup} -\def\blx@sortexlude@i#1{% +\def\blx@sortexclude@i#1{% \appto\blx@tempa{\blx@xml@exclude{#1}}} +% {<entrytype,...>}{<field,...>} +\newrobustcmd*{\DeclareSortInclusion}[2]{% + \forcsvlist{\blx@sortinclude{#2}}{#1}} +\blx@collectopts{xml}{blx@typeopts}{sortinclusion}% for passing to the .bcf + +% {<field>}{<entrytype>} +\def\blx@sortinclude#1#2{% + \begingroup + \ifblank{#1} + {\global\csundef{blx@bcf@include@#2}} + {\let\blx@tempa\@empty + \forcsvlist\blx@sortinclude@i{#1}% + \csxdef{blx@bcf@include@#2}{% + \blx@xml@sortinclude{#2}{\blx@tempa}}} + \endgroup} + +\def\blx@sortinclude@i#1{% + \appto\blx@tempa{\blx@xml@include{#1}}} + % [<type,type,...>]{<field,field,...>} \newrobustcmd*{\DeclareLabelname}[2][]{% \begingroup @@ -12605,6 +12647,9 @@ {\blx@err@invopt{#1time=##1}{}}}% % Default for new time fields is "24h" \setkeys{blx@opt@pre}{#1time=24h}% + % Boolean for unknown dates + \newtoggle{abx@bool@#1dateunknown}% + \newtoggle{abx@bool@end#1dateunknown}% % Boolean to determine if times are printed with dates \newtoggle{blx@#1dateusetime}% \DeclareBibliographyOption[boolean]{#1dateusetime}{% @@ -13014,6 +13059,9 @@ \c@minnames\blx@mincitenames\relax \c@maxitems\blx@maxitems\relax \c@minitems\blx@minitems\relax + \togglefalse{abx@bool@xinits} + \def\do#1{\iftoggle{abx@bool@#1inits}{\toggletrue{abx@bool@xinits}}{}} + \abx@donameparts \iftoggle{abx@bool@xinits} {\ifnumequal\blx@uniquename\blx@opt@uniquename@full {\blx@warn@conflopt{% |