summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-12-29 00:12:03 +0000
committerKarl Berry <karl@freefriends.org>2015-12-29 00:12:03 +0000
commit245b33df0527305ada28cd22c7dd33867d48289e (patch)
tree927e5ee87034bf4cd6cc3021ee4ea0f9dcb54546
parent76b8ec2c0d77737e11762ec8ad59e477b509d0a9 (diff)
biblatex (27dec15)
git-svn-id: svn://tug.org/texlive/trunk@39218 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/biblatex/RELEASE20
-rw-r--r--Master/texmf-dist/doc/latex/biblatex/biblatex.pdfbin1163303 -> 1165440 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex/biblatex.tex49
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.def10
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.sty6
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex1.sty5
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex2.sty103
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-natbib.def8
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx2
9 files changed, 161 insertions, 42 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex/RELEASE b/Master/texmf-dist/doc/latex/biblatex/RELEASE
index 011ec39a266..f77b69cc67d 100644
--- a/Master/texmf-dist/doc/latex/biblatex/RELEASE
+++ b/Master/texmf-dist/doc/latex/biblatex/RELEASE
@@ -1,3 +1,14 @@
+RELEASE NOTES FOR VERSION 3.2
+
+* Biber version 2.3 is required for biblatex 3.2
+* New label generation options which allow fine-tuning of how name prefices
+ are handled (see pstrwidth and pcompound options in documentation).
+* Some internals have changed regarding prefix space handling in names.
+ This shouldn't impact normal users but hackers please not that
+ \blx@sf@apo has been renamed to \blx@sf@prefixchar to better suit the new
+ \DeclarePrefChars command. Also note that in the standard name printing
+ macros, \ifpunctmark{'} has been replaced by the more general \ifprefchar.
+
RELEASE NOTES FOR VERSION 3.1
* Biber version 2.2 is required for biblatex 3.1
@@ -15,9 +26,10 @@ RELEASE NOTES FOR VERSION 3.0
\begin{refcontext}\end{refcontext} environment. This allows the sorting
list context wider scope over citations etc. too. For example, some
information in citations like extrayear depends on the sort list order
- but until this version, citation sorting was always determined by the global sort
- list. Therefore it was not too difficult to get into a situation where
- citations were incorrect for a bibliography list with a defined sorting scheme:
+ but until this version, citation sorting was always determined by the
+ global sorting specification. Therefore it was not too difficult to get
+ into a situation where citations were incorrect for a bibliography list
+ with a defined sorting scheme:
\usepackage[sorting=nty]{biblatex}
\cite{test1}
@@ -58,7 +70,7 @@ RELEASE NOTES FOR VERSION 3.0
* When a bibliography field is declared as a "name" field in the data
model, all options and counters to decide whether to use it or not are
automatically created. This effectively extends the existing "useauthor"
- and "useeditor" options to all data mode name fields automatically. These
+ and "useeditor" options to all data model name fields automatically. These
options are now just special cases of the general data model name
handling mechanism.
diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
index 4093e7bd936..1dbd731c296 100644
--- a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
+++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
index e180357653f..2fdbbe39971 100644
--- a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
+++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
@@ -49,8 +49,8 @@
url={\biblatexhome},
author={Philipp Lehman \\(with Philip Kime, Audrey Boruvka and Joseph Wright)},
email={},
- revision={3.1},
- date={21/10/2015}}
+ revision={3.2},
+ date={27/12/2015}}
\hypersetup{%
pdftitle={The \biblatex Package},
@@ -2150,7 +2150,7 @@ If this option is enabled, \biblatex will automatically clear the \bibfield{lang
\optitem[none]{autolang}{\opt{none}, \opt{hyphen}, \opt{other}, \opt{other*}, \opt{langname}}
-This option controls which \sty{babel} language environment\footnote{\sty{polyglossia} understands the \sty{babel} language environments too and so this option controls both the \sty{babel} and \sty{polyglossia} language environments.} is used if the \sty{babel}/\sty{polyglossia} package is loaded and a bibliography entry includes a \bibfield{langid} field (see \secref{bib:fld:spc}). Note that \biblatex automatically adjusts to the main document language if \sty{babel}/\sty{polyglossia} is loaded. In multilingual documents, it will also continually adjust to the current language as far as citations and the default language of the bibliography is concerned. This option is for switching languages on a per"=entry basis within the bibliography. The possible choices are:
+This option controls which \sty{babel} language environment\footnote{\sty{polyglossia} understands the \sty{babel} language environments too and so this option controls both the \sty{babel} and \sty{polyglossia} language environments.} is used if the \sty{babel}/\sty{polyglossia} package is loaded and a bibliography entry includes a \bibfield{langid} field (see \secref{bib:fld:spc}). Note that \biblatex automatically adjusts to the main document language if \sty{babel}/\sty{polyglossia} is loaded. In multilingual documents, it will also continually adjust to the current language as far as citations and the default language of the bibliography is concerned. The effect of language adjustment depends on the language environment selected by this option. The possible choices are:
\begin{valuelist}
@@ -6943,7 +6943,11 @@ Forces the label part derived from the field to lowercase. By default, the case
\intitem[1]{strwidth}
-The number of characters of the \prm{field} to use. For name list fields, if \kvopt{useprefix}{true}, the first character of the name prefix is prepended to the substring.
+The number of characters of the \prm{field} to use.
+
+\intitem[1]{pstrwidth}
+
+For name list fields only, the number of characters of any name prefix to prepend to the label part derived from the last name. Only applies if the \biblatex option \kvopt{useprefix}{true}.
\choitem[left]{strside}{left, right}
@@ -6985,6 +6989,10 @@ When using \texttt{varwidthnorm}, there must be at least \texttt{strfixedcount}
For static (non-varwidth) disambiguation, treat lastname name components separated by whitespace or hyphens (compound last names) as separate names for label generation. This means that when forming a label out of, for example the surname <Ballam Forsyth> with a 1 character, left-side substring, this name would give <BF> with \kvopt{compound}{true} and <B> with \kvopt{compound}{false}. The short form \opt{compound} is equivalent to \kvopt{compound}{true}.
+\boolitem[false]{pcompound}
+
+As \opt{compound} but applies to name prefices. Only applies if the \biblatex option \kvopt{useprefix}{true}.
+
\intitem{ifnames}
Only use this \cmd{field} specification if it is a name list field with \texttt{ifnames} names in it. This allows a \cmd{labelelement} to be conditionalised on name length (see below).
@@ -6993,10 +7001,6 @@ Only use this \cmd{field} specification if it is a name list field with \texttt{
By default, for name list fields, the number of names considered when building the label obeys the \cnt{maxalphanames}\slash \cnt{minalphanames} truncation. This option can be used to override this with an explicit upper limit of how many names to consider. This is useful if you have some very long name lists which might result in a very long label.
-\choitem[original]{form}{original,translated,romanised,uniform}
-
-Specifies the script variant of a field, if the datasource you are using supports this.
-
\choitem[none]{lang}{<language specifier>}
Specifies the \sty{babel}/\sty{polyglossia} language variant of a field if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined.
@@ -7018,8 +7022,8 @@ Here are some examples. The default global \biblatex alphabetic label template i
\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>>}
@@ -8548,7 +8552,7 @@ The \cmd{setunit} command is similar to \cmd{newunit} except that it uses \prm{p
\cmditem{printunit}{punctuation}
\cmditem*{printunit*}{punctuation}
-The \cmd{printunit} command is similar to \cmd{setunit} except that \prm{punctuation} persists in the buffer until the next \cmd{printtext}, \cmd{printfield}, \cmd{printlist}, \cmd{printnames}, or \cmd{bibstring} command.
+The \cmd{printunit} command is similar to \cmd{setunit} except that \prm{punctuation} persists in the buffer. This ensures that \prm{punctuation} is inserted before the next non"=empty field printed by the \cmd{printtext}, \cmd{printfield}, \cmd{printlist}, \cmd{printnames}, or \cmd{bibstring} commands---regardless of any intermediate calls to \cmd{newunit} or \cmd{setunit}.
\cmditem{setpunctfont}{command}
@@ -8579,6 +8583,10 @@ Executes \prm{true} if preceded by a terminal punctuation mark, and \prm{false}
Executes \prm{true} if preceded by the punctuation mark \prm{character}, and \prm{false} otherwise. The \prm{character} may be a comma, a semicolon, a colon, a period, an exclamation mark, a question mark, or an asterisk. Note that a period denotes an end-of"=sentence period. Use the asterisk to test for the dot after an abbreviation. If this command is used in a formatting directive for name lists, \ie in the argument to \cmd{DeclareNameFormat}, the \prm{character} may also be an apostrophe.
+\cmditem{ifprefchar}{true}{false}
+
+Executes \prm{true} if preceded by any prefix character declared by \cmd{DeclarePrefChars}.
+
\end{ltxsyntax}
\subsubsection{Adding Punctuation}
@@ -8695,6 +8703,14 @@ The following commands configure various features related to punctuation and aut
\begin{ltxsyntax}
+\cmditem{DeclarePrefChars}{characters}
+
+This command declares characters that are to be treated specially when testing to see if \cmd{bibnamedelimc} is to be inserted between a name prefix and a lastname. If a character is in the list of \prm{characters}, \cmd{bibnamedelimc} is not inserted. It is used to allow abbreviated name prefices like <d'Argent> where no space should be inserted after the apostrophe. The default setting is:
+
+\begin{lstlisting}[style=latex]{}
+\DeclarePrefChars{'}
+\end{lstlisting}
+
\cmditem{DeclareAutoPunctuation}{characters}
This command defines the punctuation marks to be considered by the citation commands as they scan ahead for punctuation. Note that \prm{characters} is an undelimited list of characters. Valid \prm{characters} are period, comma, semicolon, colon, exclamation and question mark. The default setting is:
@@ -9412,6 +9428,7 @@ Other expressions frequently used in citations:
\item[langgerman] The language <German>.
\item[langgreek] The language <Greek>.
\item[langitalian] The language <Italian>.
+\item[langjapanese] The language <Japanese>.
\item[langlatin] The language <Latin>.
\item[langnorwegian] The language <Norwegian>.
\item[langpolish] The language <Polish>.
@@ -9438,6 +9455,7 @@ The following strings are intended for use in phrases like <translated from [the
\item[fromgerman] The expression <from [the] German>.
\item[fromgreek] The expression <from [the] Greek>.
\item[fromitalian] The expression <from [the] Italian>.
+\item[fromjapanese] The expression <from [the] Japanese>.
\item[fromlatin] The expression <from [the] Latin>.
\item[fromnorwegian] The expression <from [the] Norwegian>.
\item[frompolish] The expression <from [the] Polish>.
@@ -10058,6 +10076,10 @@ Appends the \prm{code} to an internal hook executed at the beginning of every mu
Similar to \cmd{AtEveryCite} but only affecting the next citation command. The internal hook is cleared after being executed once. This command may be used in the document body.
+\cmditem{AtEachCitekey}{code}
+
+Similar to \cmd{AtEveryCitekey} but only affecting the current citation command. This command may be used in the document body. The \prm{code} is appended to the internal hook locally when located in a citation, as determined by \cmd{ifcitation}.
+
\cmditem{AtNextCitekey}{code}
Similar to \cmd{AtEveryCitekey} but only affecting the next entry key. The internal hook is cleared after being executed once. This command may be used in the document body.
@@ -11456,6 +11478,11 @@ This revision history is a list of changes relevant to users of this package. Ch
\begin{changelog}
+\begin{release}{3.2}{}
+\item Added \opt{pstrwidth} and \opt{pcompound} to \cmd{DeclareLabelalphaTemplate}\see{aut:ctm:lab}\BiberOnlyMark
+\item Added \cmd{AtEachCitekey}\see{aut:fmt:hok}
+\end{release}
+
\begin{release}{3.1}{2015-09}
\item Added \cmd{DeclareNolabel}\see{aut:ctm:lab}\BiberOnlyMark
\item Added \cmd{DeclareNolabelwidthcount}\see{aut:ctm:lab}\BiberOnlyMark
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&#1%
\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 @@
% {<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
\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}},