From 245b33df0527305ada28cd22c7dd33867d48289e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 29 Dec 2015 00:12:03 +0000 Subject: biblatex (27dec15) git-svn-id: svn://tug.org/texlive/trunk@39218 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/biblatex/biblatex.def | 10 +- Master/texmf-dist/tex/latex/biblatex/biblatex.sty | 6 +- Master/texmf-dist/tex/latex/biblatex/biblatex1.sty | 5 + Master/texmf-dist/tex/latex/biblatex/biblatex2.sty | 103 ++++++++++++++++++--- .../texmf-dist/tex/latex/biblatex/blx-natbib.def | 8 +- .../texmf-dist/tex/latex/biblatex/lbx/german.lbx | 2 +- 6 files changed, 107 insertions(+), 27 deletions(-) (limited to 'Master/texmf-dist/tex/latex/biblatex') diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def index 7021402bb80..51414258a7d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def @@ -767,7 +767,7 @@ {\ifcapital {\mkbibnameprefix{\MakeCapital{#3}}\isdot} {\mkbibnameprefix{#3}\isdot}% - \ifpunctmark{'}{}{\bibnamedelimc}}} + \ifprefchar{}{\bibnamedelimc}}} {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}}% \mkbibnamelast{#1}\isdot}% @@ -778,7 +778,7 @@ \ifblank{#2}{}{\mkbibnamefirst{#2}\isdot\bibnamedelimd}% \ifblank{#3}{}{% \mkbibnameprefix{#3}\isdot - \ifpunctmark{'} + \ifprefchar{} {} {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}% \mkbibnamelast{#1}\isdot @@ -792,7 +792,7 @@ \ifcapital {\mkbibnameprefix{\MakeCapital{#3}}\isdot} {\mkbibnameprefix{#3}\isdot}% - \ifpunctmark{'}{}{\bibnamedelimc}}% + \ifprefchar{}{\bibnamedelimc}}% \mkbibnamelast{#1}\isdot \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}% \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{#2}\isdot}} @@ -1348,8 +1348,8 @@ \labelelement{ \field[final]{shorthand} \field{label} - \field[strwidth=3,strside=left,ifnames=1]{labelname} - \field[strwidth=1,strside=left]{labelname} + \field[strwidth=3,strside=left,ifnames=1,pcompound=true]{labelname} + \field[strwidth=1,strside=left,pcompound=true]{labelname} } \labelelement{ \field[strwidth=2,strside=right]{year} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index 5594129e4e3..2effcae5d26 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{2015/10/21} -\def\abx@version{3.1} +\def\abx@date{2015/12/22} +\def\abx@version{3.2} \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.8} +\def\blx@bcfversion{2.9} % 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 6a51f2872c3..6f25355af52 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty @@ -4576,6 +4576,7 @@ \do{langgerman}% \do{langgreek}% \do{langitalian}% + \do{langjapanese}% \do{langlatin}% \do{langnorwegian}% \do{langpolish}% @@ -4597,6 +4598,7 @@ \do{fromgerman}% \do{fromgreek}% \do{fromitalian}% + \do{fromjapanese}% \do{fromlatin}% \do{fromnorwegian}% \do{frompolish}% @@ -7467,6 +7469,9 @@ \@onlypreamble\AtEveryCitekey \@onlypreamble\AtEveryMultiCite +\newrobustcmd*{\AtEachCitekey}{% + \iftoggle{blx@citation}{\appto\blx@hook@citekey}{\@gobble}} + \def\blx@imc@UseEveryCiteHook{\csuse{blx@hook@cite}} \def\blx@imc@UseEveryCitekeyHook{\csuse{blx@hook@citekey}} \def\blx@imc@UseEveryMultiCiteHook{\csuse{blx@hook@mcite}} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty index 19f1cf302e6..75d6b1a3372 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty @@ -73,14 +73,27 @@ {\def\blx@sortlocale{english}}} {}% \@ifpackageloaded{polyglossia} - {\ifboolexpr{ + {% This is required for languages which are never explicitly selected + % This check because \xpg@loaded is not defined in polyglossia <= v1.42.0 + \ifundef\xpg@loaded + {\let\xpg@loaded\@empty + \let\xpg@vloaded\@empty + \PackageWarningNoLine{biblatex}{Upgrade package 'polyglossia' to >v1.42.0 recommended}} + {}% + \def\do#1{\blx@langsetup{#1}}% + \expandafter\docsvlist\expandafter{\xpg@loaded}% + \expandafter\docsvlist\expandafter{\xpg@vloaded}% + \ifboolexpr{ not test {\iftoggle{blx@autolangbib}} and not test {\iftoggle{blx@autolangcite}}} {\blx@mknoautolang} {\blx@mkautolangpoly}} {\@ifpackageloaded{babel} - {\ifboolexpr{ + {% This is required for languages which are never explicitly selected + \def\do#1{\blx@langsetup{#1}}% + \expandafter\docsvlist\expandafter{\bbl@loaded}% + \ifboolexpr{ not test {\iftoggle{blx@autolangbib}} and not test {\iftoggle{blx@autolangcite}}} @@ -1142,7 +1155,7 @@ %% Punctuation and capitalization -% 1001 apostrophe (\printnames only) +% 1001 prefix sep for names (e.g. d'Argent ... \printnames only) % 1002 abbreviation period (dot) % 1003/1250 comma % 1004/1500 semicolon @@ -1153,7 +1166,7 @@ % 1009 suppress punctuation % 1010 new paragaph -\mathchardef\blx@sf@apo=1001 +\mathchardef\blx@sf@prefixchar=1001% e.g. apostrophe or equivalent for prefix handling \mathchardef\blx@sf@dot=1002 \mathchardef\blx@sf@comma=1003 \mathchardef\blx@sf@semicolon=1004 @@ -1219,12 +1232,52 @@ \sfcode`\?=3002 } +% Defining characters that count as prefices in names like d'Argent +% Code from moewe +\let\blx@prefchars\@empty + +\def\blx@defprefchars@loop#1{% + \ifx#1\relax + \else + \listadd{\blx@prefchars}{#1}% + \expandafter\blx@defprefchars@loop + \fi} + +\def\blx@defprefchars#1{% + \expandafter\blx@defprefchars@loop\detokenize{#1}\relax} + +\newrobustcmd*{\DeclarePrefChars}{% + \@ifstar + {\blx@defprefchars} + {\let\blx@prefchars\@empty + \blx@defprefchars}} +\DeclarePrefChars{'} + +\protected\def\blx@imc@ifprefchar{% + \ifhmode + \begingroup + \ifnum\spacefactor=\blx@sf@prefixchar + \endgroup + \expandafter\expandafter + \expandafter\@firstoftwo + \else + \endgroup + \expandafter\expandafter + \expandafter\@secondoftwo + \fi + \else + \expandafter\@secondoftwo + \fi} + +\blx@regimcs{\ifprefchar} + \def\blx@namecodes{% \ifnum\sfcode`\A=\@m \else \blx@setazcodes \fi - \sfcode`\'=\blx@sf@apo + \def\do##1{\sfcode`##1=\blx@sf@prefixchar}% + \dolistloop\blx@prefchars } \begingroup @@ -1367,7 +1420,7 @@ \newrobustcmd*{\DeclarePunctuationPairs}[2]{% \ifcsdef{blx@sf@\detokenize{#1}} - {\ifnum\csname blx@sf@\detokenize{#1}\endcsname>\blx@sf@apo + {\ifnum\csname blx@sf@\detokenize{#1}\endcsname>\blx@sf@prefixchar \ifnum\csname blx@sf@\detokenize{#1}\endcsname<\blx@sf@nopunct \expandafter\blx@defpunctpairs \expandafter{\the\csname blx@sf@\detokenize{#1}\endcsname}{#2}% @@ -1400,7 +1453,7 @@ \def\blx@defpair#1{% \ifx% \else - \ifnum\the\sfcode`#1>\blx@sf@apo + \ifnum\the\sfcode`#1>\blx@sf@prefixchar \ifnum\the\sfcode`#1<\blx@sf@nopunct \eappto\blx@tempb{% \cslet{blx@pp@\blx@tempa @\the\sfcode`#1}\noexpand\@empty}% @@ -4338,6 +4391,7 @@ \do{langgerman}% \do{langgreek}% \do{langitalian}% + \do{langjapanese}% \do{langlatin}% \do{langnorwegian}% \do{langpolish}% @@ -4359,6 +4413,7 @@ \do{fromgerman}% \do{fromgreek}% \do{fromitalian}% + \do{fromjapanese}% \do{fromlatin}% \do{fromnorwegian}% \do{frompolish}% @@ -4889,10 +4944,10 @@ {}}} {}% % polyglossia needs this - it doesn't get the - % strings by automatically set for some reason + % strings automatically set for some reason \def\blx@langstrings{% \csuse{abx@extras@\languagename}% - \csuse{abx@strings@\languagename}} + \csuse{abx@strings@\languagename}}% \def\blx@imc@mainlang{% \select@language{\bbl@main@language}% % These lines are equal to \blx@maplang @@ -7008,7 +7063,8 @@ % and biblatex will report a missing citekey \def\do##1{% % Make sure this counter exists. Sometimes it might not when using, e.g: - % refsection=chapter and \includeonly to put in the chapters. + % 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 @@ -7284,6 +7340,9 @@ \@onlypreamble\AtEveryCitekey \@onlypreamble\AtEveryMultiCite +\newrobustcmd*{\AtEachCitekey}{% + \iftoggle{blx@citation}{\appto\blx@hook@citekey}{\@gobble}} + \def\blx@imc@UseEveryCiteHook{\csuse{blx@hook@cite}} \def\blx@imc@UseEveryCitekeyHook{\csuse{blx@hook@citekey}} \def\blx@imc@UseEveryMultiCiteHook{\csuse{blx@hook@mcite}} @@ -7450,6 +7509,12 @@ % {,...} \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 \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne \blx@tempcnta\z@ \blx@tempcntb\z@ @@ -8049,6 +8114,12 @@ \@esphack} \def\blx@nocite@do#1{% + % 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@citation{#1}\blx@msg@cundef} @@ -8132,6 +8203,7 @@ {} {\toggletrue{blx@citation}}% \blx@blxinit + \blx@langstrings \citesetup \blx@setsfcodes \blx@postpunct@agroup @@ -9648,9 +9720,6 @@ \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}{lang}{% \appto\blx@tempc{ lang="#1"}} \define@key{blx@latem@field}{uppercase}[true]{% true|false @@ -9667,6 +9736,8 @@ {}} \define@key{blx@latem@field}{strwidth}{% integer \eappto\blx@tempc{ substring\string_width="#1"}} +\define@key{blx@latem@field}{pstrwidth}{% integer + \eappto\blx@tempc{ substring\string_pwidth="#1"}} \define@key{blx@latem@field}{varwidth}[true]{% "v" \ifstrequal{#1}{true} {\appto\blx@tempc{ substring\string_width="v"}} @@ -9687,10 +9758,14 @@ \ifstrequal{#1}{right} {\eappto\blx@tempc{ substring\string_side="right"}} {\eappto\blx@tempc{ substring\string_side="left"}}} -\define@key{blx@latem@field}{compound}[false]{% true|false +\define@key{blx@latem@field}{compound}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ substring\string_compound="1"}} {}} +\define@key{blx@latem@field}{pcompound}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempc{ substring\string_pcompound="1"}} + {}} \define@key{blx@latem@field}{ifnames}{% \eappto\blx@tempc{ ifnamecount="#1"}} \define@key{blx@latem@field}{names}{% diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def b/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def index bb002ab5077..c929febb9f1 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-natbib.def @@ -5,13 +5,13 @@ \newrobustcmd*{\citet}{% \@ifstar - {\AtNextCite{\defcounter{maxnames}{999}}% + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% \textcite} {\textcite}} \newrobustcmd*{\citep}{% \@ifstar - {\AtNextCite{\defcounter{maxnames}{999}}% + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% \parencite} {\parencite}} @@ -19,14 +19,14 @@ \@ifstar {\AtNextCite{% \def\nameyeardelim{\addspace}% - \defcounter{maxnames}{999}}% + \AtEachCitekey{\defcounter{maxnames}{999}}}% \cite} {\AtNextCite{\def\nameyeardelim{\addspace}}% \cite}} \newrobustcmd*{\citealp}{% \@ifstar - {\AtNextCite{\defcounter{maxnames}{999}}% + {\AtNextCite{\AtEachCitekey{\defcounter{maxnames}{999}}}% \cite} {\cite}} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx index 73b2a3bd3a1..c5abfb2baba 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx @@ -364,7 +364,7 @@ forthcoming = {{im Erscheinen}{im Erscheinen}}, inpress = {{im Druck}{im Druck}}, prepublished = {{Vorver\"offentlichung}{Vorver\"offentlichung}}, - citedas = {{im folgenden zitiert als}{im folgenden zit\adddotspace als}}, + citedas = {{im Folgenden zitiert als}{im Folgenden zit\adddotspace als}}, thiscite = {{hier}{hier}}, seenote = {{siehe Anmerkung}{s\adddotspace Anm\adddot}}, quotedin = {{zitiert nach}{zit\adddotspace nach}}, -- cgit v1.2.3